﻿@charset "UTF-8";
:root {
    --font-mincho: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "HGS明朝E", serif;
}
.area {
    margin-bottom: 50px;
}
.contentinner {
    width: 1240px;
    margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.contentinner {
		width: 100%;
		padding: 0 20px;
	}
    .area .contentinner {
        padding: 0 10px;
    }
}
@media screen and (max-width: 768px) {
	.tour {
		display: none;
	}
}
@media screen and (max-width: 768px) {
	.about_overlay {
		z-index: 0;
	}
}
/**************************
タイトル
***************************/
.main_ttl {
    font-family: var(--font-mincho);
    color: #ffffff;
    text-align: center;
    font-size: 57px;
    font-weight: 600;
    margin: 0;
    padding: 50px 0;
}
.main_ttl span {
    font-size: 33px;
}
@media screen and (max-width: 768px) {
    .main_ttl {
        font-size: 30px;
    }
    .main_ttl span {
        font-size: 22px;
    }
}
/**************************
開閉ギミック
***************************/
.js-airportTabs{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.airportTab,
.mapAirportBtn{
    cursor:pointer;
}

.airportTab.is-active {
    background:#0a2d6f;
    color:#fff;
}
/**************************
ボタン
***************************/
.tourMap-map-content {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.js-mapButtons {
    position: relative;
    width: 100%;
    height: 100%;
}

.mapAirportBtn {
    pointer-events: auto;
}
.mapAirportBtn {
    position: absolute;
    /* transform: translate(-50%, -50%); */
    border: 0;
    background: none;
    padding: 0;
    cursor: pointer;
    width: 242px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* 緑帯 */
.mapAirportBtn_status {
    position: relative;
    height: 44px;
    padding: 0 10px 0 16px;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    background: #6cb783;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    line-height: 1;
    top: 10px;
    z-index: 1;
}

.mapAirportBtn_status::after {
    content: "";
    position: absolute;
    top: 0;
    right: -37.5px;
    width: 38px;
    height: 100%;
    background: #6cb783;
    clip-path: polygon(
        0 0,
        100% 0,
        0 100%
    );
}

.mapAirportBtn_count {
    color: #fff23b;
    font-size: 17px;
    font-weight: 700;
}

/* 青ボックス */
.mapAirportBtn_name {
    position: relative;
    width: 100%;
    min-height: 73px;
    display: flex;
    align-items: center;
    padding: 0 90px 0 28px;
    background: linear-gradient(
        90deg,
        #18286d 0%,
        #3d6d97 100%
    );
    border-radius: 0 8px 8px 8px;
    color: #fff;
    font-family: var(--font-mincho);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
}

/* 丸矢印 */
.mapAirportBtn_arrow {
    position: absolute;
    right: 18px;
    top: 50%;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background: #fff;
    transform: translateY(-50%);
}

.mapAirportBtn_arrow::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 42%;
    width: 14px;
    height: 14px;
    border-right: 3px solid #1e3799;
    border-bottom: 3px solid #1e3799;
    transform: translate(-50%, -50%) rotate(45deg);
}

/* 選択状態 */
.mapAirportBtn.is-active .mapAirportBtn_arrow {
    background: #003093;
}

.mapAirportBtn.is-active .mapAirportBtn_name {
    background: #ffffff;
    color: #003093;
}

.mapAirportBtn.is-active .mapAirportBtn_arrow::before {
    border-color: #FFFFFF;
}

/**************************
タブ
***************************/
.airport_tab-wrapper {
	position: relative;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    width: 1230px;
    margin: 0 auto 50px;
}
@media screen and (max-width: 768px) {
    .airport_tab-wrapper {
        width: 100%;
        padding: 0 10px;
    }
}
.airport_tab {
  display: flex;
  gap: 10px;
  scrollbar-width: none;
  display: flex;
  width: max-content;
}
@media screen and (max-width: 768px) {
    .airport_tab {
        gap: 20px;
    }
}
.airport_tab::-webkit-scrollbar {
  display: none;
}

.custom-scrollbar-track {
  margin-top: 25px;
  position: sticky;
  bottom: 0;
  left: 0;
  width: calc(100% - 0px);
  height: 4px;
  background-color: #D3E2E8;
  border-radius: 5px;
}

.custom-scrollbar-thumb {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: linear-gradient(90deg, #091c55 0%, #0b7a95 100%);
  border-radius: 5px;
}

.airport_tab-wrapper {
    cursor: grab;
}

.airport_tab-wrapper.is-dragging {
    cursor: grabbing;
}

.airport_tabBtn {
    flex-shrink: 0;
    width: 300px;
    min-height: 64px;

    border: none;
    border-radius: 100vw;

    background: linear-gradient(
        90deg,
        #091c55 0%,
        #0b7a95 100%
    );

    color: #fff;
    font-family: var(--font-mincho);
    font-size: 20px;
    font-weight: 700;
    cursor: pointer;

    transition: .3s;
}
@media screen and (max-width: 768px) {
    .airport_tabBtn {
        width: 150px;
        min-height: 40px;
        font-size: 14px;
    }
}
.airport_tabBtn.is-active {
    background: #fff;
    color: #003093;
}

/* =====================================
   コンテンツスライダー
===================================== */

.airportContentSlider {
    position: relative;
    padding-bottom: 80px;
}

/* slick化前 */
.airportContentSlider:not(.slick-initialized) {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}

.airportContentSlider:not(.slick-initialized) .tourCard {
    width: calc((100% - 30px) / 2);
    flex-shrink: 0;
}
@media screen and (max-width: 768px) {
    .airportContentSlider:not(.slick-initialized) .tourCard {
        width: 100%;
    }
}
/* slick化後 */
.airportContentSlider > .slick-list {
    margin: 0 -15px;
}
.airportContentSlider .slick-slide.tourCard {
    margin: 0 15px;
    position: relative;
}
@media screen and (max-width: 768px) {
    .airportContentSlider > .slick-list {
        margin: 0 -15px;
    }
    .airportContentSlider .slick-slide.tourCard {
        margin: 0 15px;
    }
}
.airportContentSlider:has(.error) {
    display: block;
    padding: 40px 0;
}
.airportContentSlider .error {
    color: #ffffff;
    text-align: center;
}
/* =====================================
   ドット
===================================== */
.airportContentSlider .slick-dots {
    position: absolute;
    left: 50%;
    bottom: 26px;

    transform: translateX(-50%);
	justify-content: center;
    display: flex;
    align-items: center;
    gap: 5px;
}
@media screen and (max-width: 768px) {
    .airportContentSlider .slick-dots {
        flex-wrap: wrap;
        padding: 0 calc((45px / 375px) * 100vw);
        bottom: 7vw;
    }
}
.airportContentSlider .slick-dots li button:before {
	display: none;
}
.airportContentSlider .slick-dots li {
    line-height: 0;
}

.airportContentSlider .slick-dots button {
    width: 18px;
    height: 18px;

    padding: 0;

    border: 2px solid #fff;
    border-radius: 50%;

    background: transparent;
    font-size: 0;

    cursor: pointer;
}

.airportContentSlider .slick-dots .slick-active button {
    background: #8eb5c7;
}

/* =====================================
   矢印
===================================== */

.airportContentSlider .slick-arrow {
    position: absolute;
    bottom: -22px;

    width: 40px;
    height: 40px;

    border: none;
    border-radius: 50%;

    background: #fff;

    font-size: 0;
    cursor: pointer;

    z-index: 10;
}

/* ドット中央を基準に左右配置 */

.airportContentSlider .slick-prev {
    left: calc(50% - 300px);
	bottom: 0;
    top: auto;
}
@media screen and (max-width: 768px) {
    .airportContentSlider .slick-prev {
        left: 0;
    }
}
.airportContentSlider .slick-next {
    right: calc(50% - 300px);
	bottom: 0;
    top: auto;
}
@media screen and (max-width: 768px) {
    .airportContentSlider .slick-next {
        right: 0;
    }
}
.airportContentSlider .slick-arrow::before {
    content: "";

    position: absolute;
    top: 50%;
    left: 50%;

    width: 14px;
    height: 14px;

    border-top: 4px solid #5b89a8;
    border-right: 4px solid #5b89a8;
}

.airportContentSlider .slick-prev::before {
    transform: translate(-30%, -50%) rotate(-135deg);
}

.airportContentSlider .slick-next::before {
    transform: translate(-70%, -50%) rotate(45deg);
}

/* =====================================
   disabled
===================================== */
.airportContentSlider .slick-disabled {
    opacity: .4;
    pointer-events: none;
}


/* 案件 */
.tourCard {
	padding: 24px;
	background: #fff;
	border: 4px solid #76acc7;
}

@media screen and (max-width: 768px) {
	.tourCard {
		padding: 10px 15px;
	}
}
.tourCard_head {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}

.tourCard_season {
    font-size: 20px;
    /* color: #2f5b90; */
    background: linear-gradient(0deg, #2A87A6 0%, #2A87A6 30%, #003093 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    font-weight: bold;
}
@media screen and (max-width: 768px) {
    .tourCard_season {
	    font-size: 18px;    
    }
}
.tourCard_title {
	margin-top: 8px;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.4;
	color: #1f3559;
}
@media screen and (max-width: 768px) {
    .tourCard_title {
	    font-size: 20px;    
    }
}
.tourCard_status {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #57a66b;
	font-weight: 700;
}
@media screen and (max-width: 768px) {
    .tourCard_status {
        position: absolute;
        right: 20px;
    }
}
.tourCard_status.end {
    color: #A00000;
}
.tourCard_status span {
	position: relative;
	width: 18px;
	height: 18px;
	border: 2px solid #57a66b;
	border-radius: 50%;
	flex-shrink: 0;
}
.tourCard_status.end span {
    border: 2px solid #A00000;
}
.tourCard_status span::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	border: 2px solid #57a66b;
	border-radius: 50%;
	transform: translate(-50%, -50%);
    background-color: #57a66b;
}
.tourCard_status.end span::before {
    border: 2px solid #A00000;
    background-color: #A00000;
}
.tourCard_period {
	/* margin-top: 16px; */
	font-size: 13px;
	color: #4f86ba;
	position: absolute;
	z-index: 10;
	background-color: #ffffff;
	padding: 10px 6px;
	border-radius: 0 0 10px 0;
}
@media screen and (max-width: 768px) {
    .tourCard_period {
        font-size: 11px;
    }
}
.tourCard_period span {
	font-size: 17px;
}
@media screen and (max-width: 768px) {
    .tourCard_period span {
        font-size: 14px;
    }
}
.tourCard_slider {
	border-radius: 12px;
	overflow: hidden;
}
.slick-dotted.slick-slider {
    margin-bottom: 0;
}
.tourCard_slide img {
	display: block;
	width: 100%;
	height: 366px;
    object-fit: contain;
}
@media screen and (max-width: 768px) {
.tourCard_slide img {
    height: 58vw;
}
}

.tourCard_content {
	display: grid;
	grid-template-columns: 1fr 150px;
	gap: 24px;
	margin-top: 20px;
}
@media screen and (max-width: 768px) {
    .tourCard_content {
        grid-template-columns: 1fr 100px;
        gap: 10px;
    }
}
.tourCard_name {
	margin-bottom: 15px;
	font-weight: 700;
    min-height: 21px;
}

.tourCard_list {
	font-size: 15px;
	line-height: 1.8;
}
@media screen and (max-width: 768px) {
    .tourCard_list {
        font-size: 12px;
    }
}
.tourCard_highlight {
	position: relative;
	text-align: center;
}

.tourCard_highlightTitle {
	margin-bottom: 10px;
	font-size: 14px;
}
@media screen and (max-width: 768px) {
    .tourCard_highlightTitle {
        font-size: 11px;
    }
}
.tourCard_avatar {
	width: 90px;
	height: 90px;
	margin: 0 auto;
	border-radius: 50%;
	overflow: hidden;
}
@media screen and (max-width: 768px) {
    .tourCard_avatar {
	    width: 77px;
	    height: 77px;
    }
}
.tourCard_avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tourCard_modalBtn {
    position: absolute;
    top: 26px;
    right: 10px;
    width: 24px;
    height: 24px;
    border: 1px solid #4f86ba;
    border-radius: 50%;
    background: #fff;
    color: #4f86ba;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    padding-left: 4px;
    padding-left: 4px;
    font-weight: bold;
    padding-bottom: 2px;
}
@media screen and (max-width: 768px) {
    .tourCard_modalBtn {
	    right: 5px;
    }
}
.tourCard_deadline {
	margin-top: 20px;
	text-align: center;
	font-weight: 700;
	color: #1f3559;
    font-size: 16px;
}
@media screen and (max-width: 768px) {
    .tourCard_deadline {
	    margin-top: 10px;
    }
}
.tourCard_footer {
	display: flex;
	align-items: center;
	gap: 0px;
	margin-top: 10px;
}

.tourCard_stock {
    font-size: 16px;
    font-weight: 700;
    color: #f5f5f5;
    height: 56px;
    display: block;
    background-color: #F5F5F5;
    display: flex;
    align-items: center;
    padding: 10px 90px 10px 40px;
    border-radius: 100vw 0 0 100vw;
}
@media screen and (max-width: 768px) {
    .tourCard_stock {
	    font-size: 14px;
        padding: 10px 50px 10px 50px;
        flex: 1;
        height: 40px;
    }
}
.stock-circle {
    color: #f5f5f5;
}
.stock-triangle {
    color: #D6A600;
}
.stock-cross {
    color: #A00000;
}
.tourCard_detail {
	width: 275px;
    margin-left: -40px;
}
@media screen and (max-width: 768px) {
    .tourCard_detail {
        width: 187px;
        margin-left: -50px;
    }
}
.tourCard_btn {
    font-family: var(--font-mincho);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
	height: 56px;
	border-radius: 999px;
	background: linear-gradient(90deg, #091c55 0%, #0b7a95 100%);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
    font-size: 16px;
}
@media screen and (max-width: 768px) {
    .tourCard_btn {
	    font-size: 14px;
        height: 40px;
    }
}
.tourCard_btn::after {
	content: "";
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}

/* スライダーのドット */
.tourCard_slider .slick-dots {
	bottom: 15px;
	display: flex !important;
	justify-content: flex-end;
	padding-right: 20px;
    z-index: 10;
}
@media screen and (max-width: 768px) {
    .tourCard_slider .slick-dots {
        padding-right: 10px;
        bottom: 10px;
    }
}
.tourCard_slider .slick-dots li {
	width: 16px;
	height: 16px;
	margin: 0 6px;
}
@media screen and (max-width: 768px) {
    .tourCard_slider .slick-dots li {
        margin: 0 3px;
    }
}
.tourCard_slider .slick-dots li button {
	width: 16px;
	height: 16px;
	padding: 0;
	border-radius: 50%;
	background: #b7b7b7;
	border: 2px solid #fff;
}

.tourCard_slider .slick-dots li button:before {
	display: none;
}

.tourCard_slider .slick-dots li.slick-active button {
	background: #5e9fc6;
	border-color: #fff;
}

.tourCard_highlight {
	position: relative;
}
/* モーダル */
.tourCard_modal {
	display: none;
	position: absolute;
	right: 100%;
	top: 50%;
	transform: translateY(-50%);
	width: 280px;
	margin-right: 0px;
	z-index: 10;
}
@media screen and (max-width: 768px) {
    .tourCard_modal {
        width: 200px;
    }
}
.tourCard_modalInner {
    position: relative;
    background-color: #E1FBFF;
    padding: 20px 20px;
    border-radius: 20px;
    text-align: left;
}
@media screen and (max-width: 768px) {
    .tourCard_modalInner {
        padding: 10px 10px;
    }
}
.tourCard_modalInner::after {
    content: "";
    position: absolute;
    background-image: url(/cms/feature/grandhandlingtour/img/fukidashi.png);
    width: 19px;
    height: 32px;
    right: -18px;
    bottom: 10px;
    background-size: contain;
    background-repeat: no-repeat;
}
.tourCard_modalBody {
	position: relative;
	padding: 22px 20px;
	background: #e5f4fb;
	border-radius: 12px;
	line-height: 1.8;
	font-size: 14px;
}

.tourCard_modalBody::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 100%;
	transform: translateY(-50%);
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
	border-left: 16px solid #e5f4fb;
}

.tourCard_modalClose {
	position: absolute;
	top: -12px;
	left: -6px;
	z-index: 2;
	width: 24px;
	height: 24px;
	border: 2px solid #4f86ba;
	border-radius: 50%;
	background: #fff;
	color: #4f86ba;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
    padding: 0;
}
@media screen and (max-width: 768px) {
    .tourCard_modalClose {
        padding: 0;
    }
}
.tour_btn a {
    background-color: #ffffff;
    color: #003093;
    font-size: 20px;
    text-align: center;
    width: 400px;
    display: block;
    height: 74px;
    display: flex;
    align-items: center;
    border-radius: 100vw;
    padding: 10px 10px 10px 10px;
    margin: 0 auto;
    font-family: var(--font-mincho);
    position: relative;
    justify-content: center;
}
@media screen and (max-width: 768px) {
    .tour_btn {
        margin: 0px 10px;
    }    
    .tour_btn a {
        width: 100%;
        height: 45px;
        padding: 10px 10px 10px 10px;
        font-size: 14px;
        justify-content: center;
    }
}
.tour_btn a::after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid #003093;
    border-right: 2px solid #003093;
    transform: rotate(45deg);
    margin-left: 30px;
}
/* =====================================
   終了したツアー
===================================== */
@media screen and (max-width: 768px) {
    .second-tour-header {
        margin: 0;
    }
}
@media screen and (max-width: 768px) {
    .content-ttl {
        font-size: calc((30 / 390) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .common-item-imgs .slick-dots {
        bottom: calc((10 / 390) * 100vw);
    }
}
/* =====================================
   地図
===================================== */
.tour-map:has(.js-mappins .tourMap-item[data-pref="愛知県"]) #map-aichi { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="秋田県"]) #map-akita { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="青森県"]) #map-aomori { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="千葉県"]) #map-chiba { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="愛媛県"]) #map-ehime { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="福井県"]) #map-fukui { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="福岡県"]) #map-fukuoka { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="福島県"]) #map-fukushima { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="岐阜県"]) #map-gifu { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="群馬県"]) #map-gunma { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="広島県"]) #map-hiroshima { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="北海道"]) #map-hokkaido { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="兵庫県"]) #map-hyogo { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="茨城県"]) #map-ibaraki { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="石川県"]) #map-ishikawa { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="岩手県"]) #map-iwate { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="香川県"]) #map-kagawa { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="鹿児島県"]) #map-kagoshima { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="神奈川県"]) #map-kanagawa { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="高知県"]) #map-kochi { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="熊本県"]) #map-kumamoto { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="京都府"]) #map-kyoto { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="三重県"]) #map-mie { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="宮城県"]) #map-miyagi { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="宮崎県"]) #map-miyazaki { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="長野県"]) #map-nagano { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="長崎県"]) #map-nagasaki { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="奈良県"]) #map-nara { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="新潟県"]) #map-niigata { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="大分県"]) #map-oita { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="岡山県"]) #map-okayama { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="沖縄県"]) #map-okinawa { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="大阪府"]) #map-osaka { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="佐賀県"]) #map-saga { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="埼玉県"]) #map-saitama { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="滋賀県"]) #map-shiga { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="島根県"]) #map-shimane { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="静岡県"]) #map-shizuoka { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="栃木県"]) #map-tochigi { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="徳島県"]) #map-tokushima { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="東京都"]) #map-tokyo { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="鳥取県"]) #map-tottori { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="富山県"]) #map-toyama { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="和歌山県"]) #map-wakayama { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="山形県"]) #map-yamagata { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="山口県"]) #map-yamaguchi { fill: rgba(255,255,255,0.3); }
.tour-map:has(.js-mappins .tourMap-item[data-pref="山梨県"]) #map-yamanashi { fill: rgba(255,255,255,0.3); }

.tourMap-item.is-active .tourMap-pin {
    background: url(/cms/feature/grandhandlingtour/img/icon_map-pin-blue.png) no-repeat;
    transform: translateY(-5px);
    z-index: 2;
}
