@charset "utf-8";

#wrap {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif;
	color: #333;
	font-size: 3.6vw;
	line-height: 1.5;
}
.nosp {
    display: none;
}

/*-----------------------------------------
共通見出し
-----------------------------------------*/
#tourWrap h2,#specialWrap h2,#airhotelWrap h2,#airWrap h2,#digitalWrap h2 {
	font-size: 5vw;
	font-weight: bold;
	color: #333;
	text-align: center;
	margin-bottom: 5vw;
}
#tourWrap h2:before,#specialWrap h2:before,#airhotelWrap h2:before,#airWrap h2:before,#digitalWrap h2:before, #specialWrap h2:before {
	content: "";
	display: inline-block;
	width: 10vw;
	height: 1px;
	background-color: #603f8a;
	vertical-align: middle;
	margin-right: 2vw;
}
#tourWrap h2:after,#specialWrap h2:after,#airhotelWrap h2:after,#airWrap h2:after,#digitalWrap h2:after {
	content: "";
	display: inline-block;
	width: 10vw;
	height: 1px;
	background-color: #603f8a;
	vertical-align: middle;
	margin-left: 2vw;
}
.main .alpha {
    display: none;
}

/*-----------------------------------------
上部ページナビ
-----------------------------------------*/
#pageNavi {
	width: 100%;
	background-color: #f9f4ff;
	padding: 1vw 0;
    & p {
        text-align: center;
        color: #603f8a;
        border-bottom: dotted 1px #d7c8e9;
        & span {
            &:nth-child(1) {font-size: 4.0vw;font-weight: bold;}
            &:nth-child(2) {font-size: 3.0vw;margin-left: 2vw;}
        }
    }
    & a {
        color: inherit;
        text-decoration: none;
    }
}

#pageNavi .navi-list {
	width: 100%;
	height: 12vw;
	display: flex;
	justify-content: center;
    position: relative;
    & > li {
        width: 100%;
        height: 100%;
        text-align: center;
        border-right: dotted 1px #d7c8e9;
        &:last-child {
            border-right: none;
        }
        & > a {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
            height: 100%;
            color: #3b1515;
            font-size: 2.9vw;
            line-height: 1.1em;
            font-weight: bold;
            text-decoration: none;
            position: relative;
            padding-top: 2vw;
            .country & {
                pointer-events: none;
            }
            &::before {
                position: absolute;
                top: 0.5vw;
                left: 0;
                right: 0;
                margin: auto;
                content: "";
                display: inline-block;
                width: 3.4vw;
                height: 3.4vw;
            }
            &::after {
                position: absolute;
                bottom: 0;
                left: 0;
                right: 0;
                margin: auto;
                font-family: FontAwesome;
                content: "\f107";
                color: #603f8a;
            }
        }
        &.map a:before {background: url("/kaigai/kansai/common/img/icon/purple/navi-map.svg") center center / contain no-repeat;}
        &.tour a:before {background: url("/kaigai/kansai/common/img/icon/purple/navi-tour.svg") center center / contain no-repeat;}
        &.special a:before {background: url("/kaigai/kansai/common/img/icon/purple/navi-special.svg") center center / contain no-repeat;}
        &.airhotel a:before {background: url("/kaigai/kansai/common/img/icon/purple/navi-airhotel.svg") center center / contain no-repeat;}
        &.air a:before {background: url("/kaigai/kansai/common/img/icon/purple/navi-air.svg") center center / contain no-repeat;}
        &.imp a:before {background: url("/kaigai/kansai/common/img/icon/purple/navi-imp.svg") center center / contain no-repeat;}
        &.country a:before {background: url("/kaigai/kansai/common/img/icon/purple/navi-country.svg") center center / contain no-repeat;}
    }
}

/*国別サブメニュー*/
#pageNavi .country-list {
    display: none;
    width: 100%;
    position: absolute;
    right: 0;
    top: 12.5vw;
    z-index: 100;
    background-color: #e7dbf5;
    &::before {
        content: "";
        border-left: 5vw solid transparent;
        border-right: 5vw solid transparent;
        border-bottom: 5vw solid #e7dbf5;
        position: absolute;
        top: -4vw;
        left: 33vw;
    }
    & ul {
        padding: 2vw;
        display: flex;
        flex-wrap: wrap;
        font-size: 3.2vw;
        text-align: left;
        gap: 1vw;
        & li {
            width: calc(94vw / 3);
            background-color: #fff;
            & a {
                display: block;
                text-decoration: none;
                color: inherit;
                padding: 2vw 0 2vw 8vw;
                background-color: #fff;
                background-repeat: no-repeat;
                background-position: left 1vw center;
                background-size: 6vw;
            }
            &.GBR a {background-image: url("/kaigai/europe/feature/kansai/united_kingdom/img/icon-flag.png");}
            &.FRA a {background-image: url("/kaigai/europe/feature/kansai/france/img/icon-flag.png");}
            &.ESP a {background-image: url("/kaigai/europe/feature/kansai/spain/img/icon-flag.png");}
            &.ITA a {background-image: url("/kaigai/europe/feature/kansai/italy/img/icon-flag.png");}
            &.NLD a {background-image: url("/kaigai/europe/feature/kansai/netherland/img/icon-flag.png");}
            &.BEL a {background-image: url("/kaigai/europe/feature/kansai/belgium/img/icon-flag.png");}
            &.DEU a {background-image: url("/kaigai/europe/feature/kansai/germany/img/icon-flag.png");}
            &.FIN a {background-image: url("/kaigai/europe/feature/kansai/finland/img/icon-flag.png");}
            &.CHE a {background-image: url("/kaigai/europe/feature/kansai/switzerland/img/icon-flag.png");}
            &.HRV a {background-image: url("/kaigai/europe/feature/kansai/croatia/img/icon-flag.png");}
            &.AUT a {background-image: url("/kaigai/europe/feature/kansai/austria/img/icon-flag.png");}
            &.GRC a {background-image: url("/kaigai/europe/feature/kansai/greece/img/icon-flag.png");}
            &.TUR a {background-image: url("/kaigai/europe/feature/kansai/turkey/img/icon-flag.png");}
            &.ARE a {background-image: url("/kaigai/europe/feature/kansai/dubai/img/icon-flag.png");}
        }
    }
}

/*---------------------------------------------
       おすすめツアー
---------------------------------------------*/
#tourWrap {
	width: 100%;
	padding: 8vw 0;
    & .inner > h3,.tour-box-wrap h3 {
        color: #603f8a;
        background-color: #f9f4ff;
        font-size: 3.7vw;
        font-weight: bold;
        padding: 2vw 3vw;;
        margin-bottom: 3vw;
        border-left: 2vw solid #603f8a;
    }
    & .no-product {
        font-size: 3.5vw;
        text-align: center;
        margin: 7vw 0;
    }
    & .tour-box-wrap {
        margin-bottom: 8vw;
    }
    /*商品がなくなったらタイトル帯を非表示*/
    & .tour-box-wrap:has(>.tour-box>li:nth-child(1):empty):has(>.tour-box>li:nth-child(2):empty):has(>.tour-box>li:nth-child(3):empty):has(>.tour-box>li:nth-child(4):empty) {
        display: none;
    }
}

/*---------------------------------------------
       おすすめツアー（商品設定）
---------------------------------------------*/
.tour-box {
	width: 94vw;
	margin: 0 auto;
    & > li {
        background-color: #fff;
        margin-bottom: 2vw;
        & a {
            display: block;
            border: 1px solid #eaeaea;
            width: 100%;
            height: 100%;
            color: inherit;
            text-decoration: none;
            padding: 2vw;
            position: relative;
        }
    }
}
.tour-box {
	& .item_icon {
		& .item_icon01 {
			display: inline-block;
			background-color: #875c0b;
			padding: 1vw 2vw;
			font-size: 2.8vw;
			color: #fff;
			margin-bottom: 1.5vw;
		}
	}
	& .tour-img {
		position: absolute;
		width: 34vw;
		& img {
			width: 100%;
			height: 100%;
		}
	}
	& .icon-area {
		padding: 0 0 0 36vw;
		margin-bottom: 1vw;
		& ul {
			display: flex;
			flex-wrap: wrap;
			& li{
				padding: 1vw 1vw 0.5vw;
				margin: 0 1vw 0.5vw 0;
				color: #fff;
				font-size: 2.8vw;
				line-height: 1.0;
				&.icon-myeong{background-color: #7532e0;}
				&.icon-dlx{background-color: #e04b32;}
				&.icon-ss{background-color: #3ca1a3;}
				&.icon-meal{background-color: #f79739;}
				&.icon-tokuten{background-color: #d15796;}
				&.icon-free{background-color: #6dac4f;}
			}
		}
	}
	& .tour-title {
		font-size: 3.6vw;
		line-height: 1.3;
		font-weight: bold;
		color: #235BC0;
		padding: 0 0 0 36vw;
		margin-bottom: 1vw;
	}
	& .tour-text {
		font-size: 3.0vw;
		line-height: 1.4;
		padding: 0 0 0 36vw;
		margin-bottom: 2vw;
	}
	& .info-area {
		padding: 0 0 0 36vw;
		margin-bottom: 2vw;
		& ul {
			background-color: #f2f2f2;
			padding: 1vw;
			font-size: 2.6vw;
			line-height: 1.4;
			& li {
				margin-bottom: 0.5vw;
				padding-left: 4vw;
				&.hotel{background: url(/kaigai/kansai/common/img/icon/icon_hotel01.png) no-repeat left top / 3vw;}
				&.lank{background: url(/kaigai/kansai/common/img/icon/icon_recom03.png) no-repeat left top / 3vw;}
				&.airline{background: url(/kaigai/kansai/common/img/icon/icon_air04.png) no-repeat left top / 3vw;}
				&.ship{background: url(../img/icon/cruse.png) no-repeat left top / 3vw;}
				&.time{background: url(/kaigai/kansai/common/img/icon/icon_time01.png) no-repeat left top / 3vw;}
			}
		}
	}
	& .item-ship{
		background: url(/kaigai/kansai/common/img/icon/cruse.png) no-repeat left top;
		background-size: 3vw;
	}
	& .tour-price{
		font-size: 4.0vw;
		font-weight: bold;
		text-align: right;
		color: #FF3C3C;
		padding: 0 2vw;
	}
	& .tour-nenyu{
		font-size: 2.8vw;
		line-height: 1.3;
		color: #FF3C3C;
		text-align: right;
		margin-bottom: 1vw;
		padding: 0 2vw;
	}
	& .tour-dep{
		text-align: right;
		font-size: 2.8vw;
		line-height: 1.3;
		padding: 0 2vw;
	}
}

/*空のとき*/
.tour-box > li:empty,
.tour-box .item_icon span:empty,
.tour-box .icon-area li:empty,
.tour-box .info-area li:empty {
	display: none;
}

/*---------------------------------------------
  航空券+ホテル
---------------------------------------------*/
#airhotelWrap {
	width: 100%;
	padding: 8vw 0;
}

/*---------------------------------------------
航空券+ホテル（商品設定）
---------------------------------------------*/
.airhotel-box {
	width: 94%;
	margin: 0 auto 8vw;
}


/*---------------------------------------------
  航空券
---------------------------------------------*/
#airWrap {
	width: 100%;
	padding: 8vw 0;
}
.air-box {
	width: 94%;
	margin: 0 auto 8vw;
}

/*---------------------------------------------
       もっと見るボタン
---------------------------------------------*/
#tourWrap .btn-more,
#airhotelWrap .btn-more,
#airWrap .btn-more,
#specialWrap .btn-more{
	width: 80vw;
	margin: 0 auto;
	background-color: #603f8a;
	font-size: 3.5vw;
    padding: 3vw 0;
	text-align: center;
	border-radius: 10vw;
}
#tourWrap .btn-more a,
#airhotelWrap .btn-more a,
#airWrap .btn-more a,
#specialWrap .btn-more a{
	color: #fff;
	display: block;
	text-decoration: none;
}
#tourWrap .btn-more a:after,
#airhotelWrap .btn-more a:after,
#airWrap .btn-more a:after,
#specialWrap .btn-more a:after{
    content: "\f105";
    font-family: FontAwesome;
    padding-left: 2vw;
}

/*---------------------------------------------
      サイドナビ
---------------------------------------------*/
#sideNavi {
	display: none;
}

/*---------------------------------------------
   FIT新スタイル
---------------------------------------------*/

#airhotelWrap,#airWrap {

	& .product__list {
		display: grid;
		/*gap: calc(30vw / 7.5) 0;*/
		gap: 2vw 0;
		font-size: calc(24vw / 7.5);
	}
	& .product__list--item {
		letter-spacing: .5px;
		list-style: none;
	}
	& .product__list--item, .media {
		 padding:0; 
	}
	& .product__list--item:not(:last-child), & .media:not(:last-child) {
		border-bottom: none!important;
	}
	& .product__list--data {
		height: 100%;
		display: flex;
		flex-direction: column;
	}
	& .media .js-search, & .product__list--inner {
		border: calc(2vw / 7.5) solid #c4c4c4;
	}
	& .media .js-search, & .product__list--inner {
		justify-content: space-between;
		padding: calc(15vw / 7.5) calc(10vw / 7.5);
		flex-wrap: wrap;
		border: calc(2vw / 7.5) solid #c1c0bc;
		font-size: calc(20vw / 7.5);
	}
	& .product__list--inner {
		position: relative;
	    box-shadow: none;
	}
	& .media .js-search, & .product__list--inner {
		background: #fff;
		color: inherit;
		text-decoration: none;
		display: flex;
	}
	& .product__list--label:not(:empty) {
		margin-bottom: calc(5vw / 7.5);
	}
	& .product__list--label {
		width: 100%!important;
	}
	& .product__list--label {
		display: flex;
		flex-wrap: wrap;
	}
	& .product__list--label > [class*="product__list--label--"]:empty {
		display: none;
	}
	& .product__list--label > [class*="product__list--label--"] {
		margin-bottom: calc(10vw / 7.5);
	}
	& .product__list--label > [class*="product__list--label--"] {
		min-width: calc(180vw / 7.5);
		height: calc(50vw / 7.5);
		margin-right: calc(10vw / 7.5);
		padding: .25em .5em;
	}
	& .product__list--label > [class*="product__list--label--"] {
		width: 24vw;
		font-size: calc(23vw / 7.5);
		padding: 0.25em!important;
	}
	[class*="product__list--label--"] {
		background: var(--cassette-label-bg);
	}
	& .product__list--image-wrapper, & .is-koukoku .product__list--image, & .media .phArea, .media-pic {
		width: calc(260vw / 7.5)!important;
	}
	& .media .phArea, & .product__list--image, & .media-img {
		width: 100%;
		height: calc(175vw / 7.5);
	}
	& img.product__list--image {
		width: 100%;
		object-fit: cover;
	}
	& .is-pc .media .tour_img, & .media .phArea, & .product__list--image {
		background: #f2f2f2 no-repeat center center / cover;
	}
	& .product__list--type.is-color-black, & .is-oe .product__list--type, & .is-activities .product__list--type {
		background: #000;
		text-align: center;
	}
	& .product__list--type {
		padding: calc(6vw / 7.5) 0 calc(8vw / 7.5);
		text-align: center;
		font-size: calc(20vw / 7.5);
		display: none;
	}
	& .product__list--type {
		color: #fff;
	}
	& .media .topArea, & .media .bottomArea, & .media-text-wrap, & .product__list--text-wrapper {
		/*width: calc(417vw / 7.5)!important;*/
		width: calc(406vw / 7.5)!important;
		flex-grow: 0;
	}
	& .product__list--texts {
		display: flex;
		flex-direction: column;
	}
	& .product__list--texts > [class*="product__list--"]:not(.product__list--type) {
		order: 1;
	}
	& .product__list--label:empty {
		display: none;
	}
	& .product__list--texts > .product__list--label {
		display: flex;
		flex-wrap: wrap;
		position: static;
		width: auto;
		flex-direction: initial;
	}
	& .product__list--texts > [class*="product__list--"]:not(.product__list--type) {
		order: 1;
	}
	& .product__list--texts > .product__list--label + .product__list--title {
		margin-top: 0;
	}
	& .media-des, .product__list--title {
		/*font-size: calc(28vw / 7.5);
		margin-bottom: calc(15vw / 7.5);*/
		line-height: 1.3em;
		font-weight: bold;
		font-size: calc(27vw / 7.5);
		margin-bottom: calc(15vw / 7.5);
	}
	& .is-pc .media .tour_ttl, & .media-des, & .product__list--title {
		font-weight: bold;
	}
	& .product__list--title > [class*="product__list--"] {
		display: block;
	}
	& .product__list--title > [class*="product__list--"] {
		display: block;
	}
	& .product__list--texts > [class*="product__list--"]:not(.product__list--type) {
		order: 1;
	}
	& .product__list--more, & .media-summary {
		margin-top: calc(10vw / 7.5);
	}
	& .product__list--more, & .media-summary {
		display: flex;
		align-items: baseline;
	}
	& .product__list--more--title, & .media-summary dt {
		padding: calc(4vw / 7.5) 0 calc(6vw / 7.5);
		width: calc(130vw / 7.5);
		margin-right: calc(5vw / 7.5);
	}
	& .product__list--more--title, & .media-summary dt {
		display: inline-block;
		line-height: 1.2;
		background: #7d7d7d;
		color: #fff;
		text-align: center;
	}
	& .product__list--more--text, & .media-summary dd {
		width: calc(100% - (130vw / 7.5) - (5vw / 7.5));
	}
	& .product__list--more--text, & .media-summary dd {
		line-height: 1.3;
	}
	& .product__list--texts > [class*="product__list--"]:not(.product__list--type) {
		order: 1;
	}
	& .product__list--more + .product__list--more, & .media-summary dt:not(:first-child) {
		margin-top: 1px;
	}
	& .product__list--more, & .media-summary {
		display: flex;
		align-items: baseline;
	}
	& .product__list--more--title, & .media-summary dt {
		padding: calc(4vw / 7.5) 0 calc(6vw / 7.5);
		width: calc(130vw / 7.5);
		margin-right: calc(5vw / 7.5);
	}
	& .product__list--more--title, & .media-summary dt {
		display: inline-block;
		line-height: 1.2;
		background: #7d7d7d;
		color: #fff;
		text-align: center;
	}
	& .product__list--more--text, & .media-summary dd {
		line-height: 1.3;
	}
	& .product__list--texts > [class*="product__list--"]:not(.product__list--type) {
		order: 1;
	}
	& .product__list--more + .product__list--more, & .media-summary dt:not(:first-child) {
		margin-top: 1px;
	}
	& .product__list--more, & .media-summary {
		display: flex;
		align-items: baseline;
		color: #000000;
	}
	& .product__list--more--title, & .media-summary dt {
		padding: calc(4vw / 7.5) 0 calc(6vw / 7.5);
		width: calc(130vw / 7.5);
		margin-right: calc(5vw / 7.5);
	}
	& .product__list--more--title, & .media-summary dt {
		display: inline-block;
		line-height: 1.2;
		background: #7d7d7d;
		color: #fff;
		text-align: center;
	}
	& .product__list--more--text, & .media-summary dd {
		width: calc(100% - (130vw / 7.5) - (5vw / 7.5));
	}
	& .product__list--more--text, & .media-summary dd {
		line-height: 1.3;
	}
	& .product__list--tokuten:has(.product__list--tokuten--item:empty) {
		display: none;
	}
	& .product__list--texts > [class*="product__list--"]:not(.product__list--type) {
		order: 1;
	}
	& .product__list--tokuten {
		border-top: none;
	}
	& .media-addList, & .product__list--tokuten {
		color: #666;
		/*border-top: calc(1vw / 7.5) dashed;*/
		padding: .6em 0 0 !important;
		margin-top: 1em;
	}
	& .product__list--tokuten--item:empty {
		display: none;
	}
	& .product__list--tokuten--item {
		border-top: calc(1vw / 7.5) dashed;
		padding-top: 2vw;
	}
	& .product__list--tokuten--item {
		text-indent: -1.25em;
		padding-left: 1.25em;
	}
	& .product__list--price {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		align-items: baseline;
	}
	& .media .bottomArea, .product__list--price {
		margin-top: calc(30vw / 7.5);
		text-align: right;
		color: #FF3C3C;
	}
	& .product__list--point:empty {
		display: none;
	}
	& .product__list--point, & .media-badge, & .media .labelText,　& .media-label {
		padding: calc(5vw / 7.5) 0;
		margin-bottom: calc(5vw / 7.5);
		font-weight: bold;
		width: 100%;
		display: none;
	}
	& .product__list--point, & .media .labelText, & .media-label {
		background: var(--default-color-red);
		color: #fff;
		text-align: center;
		font-weight: normal;
	}
	& .media .priceText, & .product__list--minmax {
		/*font-size: calc(30vw / 7.5);*/
		line-height: 1.5;
	}
	& .media-price, & .media .priceText, & .media .tour_gross, & .product__list--minmax {
		color: #FF3C3C;
		font-weight: bold;
		/*font-size: calc(30vw / 7.5);*/
		font-size: calc(27vw / 7.5);
	}
	/*.product__list--minmax :where(.is-en, .is-kara) {
		font-size: .7em;
	}*/
	& .product__list--dep, .product__list--notes {
		width: 100%;
	}

}