@charset "utf-8";

/*  発地切り替え（海外）
============================================================================= */
.deptchange-ALL, .deptchange-SPK, .deptchange-SDJ, .deptchange-TYO, .deptchange-NRT, .deptchange-NGO, .deptchange-OSA, .deptchange-FUK, .deptchange-OTH{
	display: none;
}
.deptchange-bd-SPK .deptchange-SPK, .deptchange-bd-SDJ .deptchange-SDJ, .deptchange-bd-TYO .deptchange-TYO, .deptchange-bd-NRT .deptchange-NRT, .deptchange-bd-NGO .deptchange-NGO, .deptchange-bd-OSA .deptchange-OSA, .deptchange-bd-FUK .deptchange-FUK, .deptchange-bd-OTH .deptchange-OTH{
	display: block;
}


/*  タイトル
============================================================================= */
/* メインタイトル */
.ttl-main:before{
	padding-top: calc(148 / 328 * 40%);
	background: url("/gakusei/kaigai/_images/ttl_img01.png") center / 100% auto no-repeat;
}
.ttl-main:after{
	padding-top: calc(148 / 336 * 40%);
	background: url("/gakusei/kaigai/_images/ttl_img02.png") center / 100% auto no-repeat;
}
.ttl-main em{
    color: #00afc4;
}
@media screen and (min-width: 760px){
	.ttl-main:before{
		width: 328px;
		height: 148px;
	}
	.ttl-main:after{
		width: 336px;
		height: 148px;
	}
}


/*  ボタン
============================================================================= */
.fbtn a{
	color: #00afc4;
}




/*  キービジュアル
============================================================================= */
.mv, .mv-inner, .mv-img{
	height: 300px;
}
.mv{
	position: relative;
}
.mv-cont{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.mv-cont .inner{
	position: relative;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.mv-img{
	z-index: -1;
	width: 100%;
}
.mv-img.js-Slide-MV{
	opacity: 0;
}
.mv-img.slick-initialized{
	opacity: 1;
}

.mv-img_item{
	position: relative;
	overflow: hidden;
	height: 100%;
}
.mv-img_item img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    vertical-align: bottom;
	transform: scale(1.05);
	image-rendering: -webkit-optimize-contrast;
}
.mv-img_item.slick-active img{
	animation: mvimg 6s linear 0s;
}
.mv-img_caption{
    position: absolute;
    left: 0;
    bottom: 3px;
    z-index: 1;
    padding: 0 5px;
    width: 100%;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.3;
    text-align: right;
    text-shadow: 0 0 0.2em rgb(0 0 0 / 80%);
}

@media screen and (min-width: 760px) {
	.mv-img_caption{
		right: 0;
		top: 5px;
	}
	.mv-cont .inner {
       max-width: 1450px!important;
    }
}


.mv-box{
	margin-top: 20px;
	width: 100%;
}

@media print, screen and (max-width: 759px) {
	.mv-ttl{
		overflow: hidden;
		position: relative;
		margin: 0 auto;
		width: 100%;
		padding: 30px 20px;
		border-radius: 10px;
		background: url("/gakusei/kaigai/_images/mv_bg.png") repeat;

	}
	.mv-ttl:before, .mv-ttl:after{
		position: absolute;
		bottom: 0;
		content: "";
		display: inline-block;
	}
	.mv-ttl:before{
		left: 0;
		width: 40%;
		height: 0;
		padding-top: calc(83 / 271 * 40%);
		background: url("/gakusei/kaigai/_images/mv_img01.png") center / 100% auto no-repeat;
	}
	.mv-ttl:after{
		right: 0;
		width: 40%;
		height: 0;
		padding-top: calc(87 / 256 * 40%);
		background: url("/gakusei/kaigai/_images/mv_img02.png") center / 100% auto no-repeat;
	}
}
.mv-ttl_txt{
	position: relative;
	z-index: 1;
	color: #fff;
	text-align: center;
	line-height: 1.1;
	font-size: 2.6rem;
	font-weight: bold;
	text-shadow: 0 0 10px rgb(0 0 0 / 80%);
}
.mv-ttl span{
	font-size: 2.0rem;
	font-weight: bold;
}
.mv-bt{
	margin-top: 15px;
	padding-top: 10px;
	text-align: center;
	border-top: dashed 1px #c8f6fc;
}
.mv-bt .m-ico{
	margin-left: 5px;
}
@media screen and (max-width: 759px) {
	.mv-bt{
		margin-top: 6px;
	    padding-top: 5px;
	}
	.mv-bt a{
	color: #fff!important;
	font-size: 1.3rem;
    }
}
@media screen and (min-width: 760px) {
	.mv, .mv-inner, .mv-img{
		height: 500px;
	}
	.mv-box{
		margin-top: 0;
	}
	.mv-ttl_txt{
		overflow: hidden;
		margin: 0 auto 30px;
		width: 100%;
		max-width: 880px;
		padding: 40px 20px;
		letter-spacing: .2em;
		font-size: 6.0rem;
		border-radius: 10px;
		background: url("/gakusei/kaigai/_images/mv_bg.png") repeat;

	}
	.mv-ttl span{
		font-size: 3.0rem;
		letter-spacing: .1em;
	}
	.mv-ttl_txt:before, .mv-ttl_txt:after{
		position: absolute;
		bottom: 0;
		content: "";
		display: inline-block;
	}
	.mv-ttl_txt:before{
		left: 0;
		width: 263px;
		height: 97px;
		background: url("/gakusei/kaigai/_images/mv_img01.png") center / 100% auto no-repeat;
	}
	.mv-ttl_txt:after{
		right: 0;
		width: 263px;
		height: 97px;
		background: url("/gakusei/kaigai/_images/mv_img02.png") center / 100% auto no-repeat;
	}
	.mv-bt{
        position: absolute;
        border-top: none;
        right: 0;
	}
	.bt-top{
        bottom: 115px;
	}
	.mv-bt a{
		
		display: inline-block;
		padding: 10px 20px 10px 30px;
		font-size: 2.0rem;
		border-radius: 50vw;
		background: #fff;
		transition: background-color 0.4s ease;
		
	}
	.mv-bt a:hover{
		opacity: 1;
		background-color: #fff1f6;
	}
}

@keyframes mvimg{
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.05);
	}
}


/*  pagenav
============================================================================= */
.pagenav{
	width: 100%;
	transition: background .3s ease-in-out;
}
.pagenav-wrap{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.pagenavlist{
	display: flex;
	width: calc(100% + 10px);
}
.pagenavlist_item{
	position: relative;
	width: 100%;
	cursor: pointer;
}
.pagenavlist_item a{
	pointer-events: none;
	display: flex;
	flex-flow: column;
	height: 100%;
	padding: 5px 5px 0;
	text-align: center;
	color: #00afc4;
	font-weight: bold;
	border: solid 2px #00afc4;
	background-color: #fff;
	transition: background-color 0.4s ease;
}
.pagenavlist_item-box{
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	font-size: 1.1rem;
}
.pagenavlist_item-txt{
	line-height: 1.3;
	font-weight: bold;
}
.pagenavlist_item-txt span,
.pagenavlist_item-txt em{
	font-weight: bold;
}
.pagenavlist_item a > .m-ico{
	align-self: center;
	font-size: 2.5rem;
	line-height: 1;
}
.pagenavlist_item .m-ico.-search{
	position: relative;
	top: 2px;
	margin-right: 5px;
	font-size: 2.5rem;
	line-height: 1;
}
.fixed .pagenav{
	position: fixed;
	left: 0;
	top: 0;
	z-index: 10;
}
.fixed .pagenavlist_item a{
	color: #fff;
	background-color: #00afc4;
}
@media screen and (max-width: 759px) {
	.pagenav{
		padding: 1px;
		background: #00afc4;
	}	
	.pagenav .inner{
		padding: 0;
	}
	.pagenavlist_item-txt span{
		display: none;
	}
	.pagenavlist_item a > .m-ico{
		margin: -3px 0;
	}
	.fixed .pagenavlist_item:not(:first-child):before{
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		content: "";
		display: inline-block;
		width: 1px;
		height: 60%;
		background: #a4dae1;
	}
}
@media screen and (min-width: 760px) {
	.pagenav{
		margin-top: -30px;
	}
	.pagenavlist{
		margin-left: -10px;
	}
	.pagenavlist_item{
		margin-left: 10px;
		width: calc(100% - 10px);
	}
	.pagenavlist_item a{
		padding: 10px 10px 0;
		min-height: 107px;
		border-radius: 8px;
	}
	.pagenavlist_item:hover a{
		opacity: 1;
		background: #eef7f8;
	}
	.pagenavlist_item-box{
		font-size: 1.6rem;
	}
	.pagenavlist_item-txt em{
		display: inline-block;
		padding: 10px 0;
		font-size: 2.0rem;
	}
	.pagenavlist_item .m-ico.-search{
		font-size: 3.5rem;
	}
	.fixed .pagenav{
		margin-top: 0;
		width: 100%;
		background: #00afc4;
	}
	.fixed .pagenavlist{
		width: calc(100% - 230px);
	}
	.fixed .pagenavlist_item{
		margin-left: 0;
		width: 100%;
		border-radius: 0;
	}
	.fixed .pagenavlist_item a{
		min-height: 70px;
	}
	.fixed .pagenavlist_item:not(:first-child):before{
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		content: "";
		display: inline-block;
		width: 1px;
		height: 60%;
		background: #a4dae1;
	}
	
	.fixed .pagenavlist_item a{
		padding: 5px;
		color: #fff;
		border-radius: 0;
		background-color: #00afc4;
	}
	.fixed .pagenavlist_item:hover a{
		background: #66cfdc;
	}
	
	.fixed .pagenavlist_item-txt em{
		padding: 0;
		font-size: 1.6rem;
	}
}

.pagenav-dept{
	display: none;
	width: 200px;
}

/* pulldown */
.form-select{
	position: relative;
	display: inline-block;
	width: 100%;
}
.form-dropdown_title{
	cursor: pointer;
	white-space: nowrap;
	overflow: hidden;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 13px 10px;
	width: 100%;
	height: 48px;
	min-height: calc(1em + 31px);
	text-align: left;
	text-overflow: ellipsis;
	line-height: 1;
	color: #00AEC3!important;
	border: 2px solid #00AEC3;
	outline: 0;
	background: #fff;
	border-radius: 5px;
}
.fixed .pagenav-dept{
	display: block;
}
.form-dropdown_title .m-ico{
	color: #00AEC3;
	transition: .2s;
	transform: rotateZ(0) scale(1.5);
}
.form-dropdown_title[aria-expanded=true] .m-ico{
	transform: rotateZ(180deg) scale(1.5);
}
.form-dropdown_list{
	position: absolute;
	z-index: 10;
	width: 100%;
	height: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	list-style: none;
	opacity: 0;
	border-bottom: 1px solid #bcbdc2;
	transition: opacity .3s ease-in-out;
}
.form-dropdown_list[aria-hidden=false]{
	display: block;
	height: auto;
	background: #fff;
	opacity: 1;
}
.pagenav-dept{
	display: none;
}
.pagenav-dept .deptchange-list{
	display: none;
}
.pagenav-dept .deptchange-list{
	position: absolute;
	z-index: 10;
	width: 100%;
	height: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	list-style: none;
	opacity: 0;
	border-radius: 5px;
	border-top: 1px solid #00AEC3;
	border-bottom: 1px solid #00AEC3;
	transition: opacity .3s ease-in-out;
}
.pagenav-dept .deptchange-list[aria-hidden=false]{
	display: block;
	height: auto;
	background: #fff;
	opacity: 1;
}
.pagenav-dept .deptchange-item{
	padding: 13px 10px;
	line-height: 1.4;
	border-right: 1px solid #00AEC3;
	border-left: 1px solid #00AEC3;
	background: #fff;
}
.pagenav-dept .deptchange-item:not(.is-active) {
    cursor: pointer;
}
.pagenav-dept .deptchange-item.is-active, .pagenav-dept .deptchange-item:not(.is-active):hover{
	background: #e0fcff;
}
@media screen and (max-width: 759px) {
	.pagenav-dept{
		position: absolute;
		right: 5px;
		top: 70px;
		font-size: 1.4rem;
		width: 120px;
	}
	.fixed .pagenav-dept{
		display: block;
	}
}
@media screen and (min-width: 760px) {
	.pagenav-dept{
		width: 200px;
	}
	.form-dropdown_title{
		padding: 13px 20px;
		color: #323743!important;
	}
	.pagenav-dept .deptchange-item{
		padding: 13px 17px;
	}
}

/*  キービジュアル下バナー
============================================================================= */
.head-bn{
	padding: 20px 10px 0;
	text-align: center;
}
.head-bn_txt{
	margin-bottom: 10px;
}
.head-bn img{
	width: inherit;;
	max-width: 100%;
}
.head-bn a{
	transition: opacity 0.2s ease;
}

@media print, screen and (max-width: 759px) {
	.head-bn_pc{
		display: none;
	}
}

@media print, screen and (min-width: 760px) {
	.head-bn{
		padding: 50px 0 0;
	}
	.head-bn_sp{
		display: none;
	}
	.head-bn a:hover{
		opacity: .6;
	}
}




/*  費用から探す
============================================================================= */

.sect.-cost .sect-sub.-dotline{
	margin-top: 16px;
	padding-top: 30px;
	border-top: dotted 2px #eee;
}
@media screen and (min-width: 760px) {
	.sect.-cost .sect-sub.-dotline{
		margin-top: 50px;
		padding-top: 50px;
	}
}

.sect.-cost .inner{
	position: relative;
}
.sect.-cost .inner:before{
	position: absolute;
	left: 0;
	top: -20px;
	z-index: -1;
	content: "";
	display: inline-block;
	width: 70%;
	height: 0;
	padding-top: calc(77 / 734 * 70%);
	background: url("/gakusei/kaigai/_images/h2_checkourtour.svg") center / 100% auto no-repeat;
}




/* 発地切り替えボタン */
div:not(.pagenav-dept) > .deptchange{
	/*display: none;*/
	margin-top: 30px;
}
div:not(.pagenav-dept) > .deptchange .deptchange-list{
	display: flex;
	flex-wrap: wrap;
	margin: -5px 0 0 -5px;
}
div:not(.pagenav-dept) > .deptchange .deptchange-item{
	display: flex;
	justify-content: center;
	align-items: center;
	
	margin: 5px 0 0 5px;
	padding: 5px;
	width: calc(100% / 3 - 5px);
	color: #00afc4;
	border-radius: 50vw;
	border: solid 1px #777;
	background: #fff;
	transition: background-color 0.4s ease;
}
div:not(.pagenav-dept) > .deptchange .deptchange-item:not(.is-active){
	cursor: pointer;
}
div:not(.pagenav-dept) > .deptchange .deptchange-item.is-active{
	color: #fff;
	border-color: #00AEC3;
	background: #00AEC3;
}
div:not(.pagenav-dept) > .deptchange .deptchange-box{
	display: flex;
	flex-direction: column;
	text-align: center;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.3;
}
div:not(.pagenav-dept) > .deptchange .deptchange-box:before{
	font-size: 1.3rem;
	font-weight: normal;
}
div:not(.pagenav-dept) > .deptchange .deptchange-item[data-dept="SPK"] .deptchange-box:before{ content: "Hokkaido"; }
div:not(.pagenav-dept) > .deptchange .deptchange-item[data-dept="SDJ"] .deptchange-box:before{ content: "Tohoku"; }
div:not(.pagenav-dept) > .deptchange .deptchange-item[data-dept="TYO"] .deptchange-box:before{ content: "Tokyo"; }
div:not(.pagenav-dept) > .deptchange .deptchange-item[data-dept="NGO"] .deptchange-box:before{ content: "Chubu"; }
div:not(.pagenav-dept) > .deptchange .deptchange-item[data-dept="OSA"] .deptchange-box:before{ content: "Kansai"; }
div:not(.pagenav-dept) > .deptchange .deptchange-item[data-dept="FUK"] .deptchange-box:before{ content: "Kyushu"; }

div:not(.pagenav-dept) > .deptchange .deptchange-box span{
	font-weight: bold;
}


.cost-ttl em{
	display: inline-block;
	margin-top: 5px;
	color: #00afc4;
	font-size: 2.4rem;
	font-weight: bold;
}
.cost-ttl_sub{
	position: relative;
	display: flex;
	justify-content: center;
	font-size: 1.6rem;
	font-weight: bold;
}
.cost-ttl_sub:before, .cost-ttl_sub:after{
	position: relative;
	content: "";
	display: block;
	width: 3px;
	border-radius: 3px;
	background: #323743;
}
.cost-ttl_sub:before{
	margin-right: 20px;
	transform:rotate(-20deg);
}
.cost-ttl_sub:after{
	margin-left: 20px;
	transform:rotate(20deg);
}


@media screen and (max-width: 759px){
	.sect-sub.-tour{
		margin-top: 30px;
	}
}


@media screen and (max-width: 759px) {
	.sect-sub.-landcrouse .ttl_main{
		display: inline-flex;
		flex-direction: column-reverse;
	}
	.sect-sub.-landcrouse .ttl_sub{
		margin-bottom: 10px;
	}
}

@media screen and (min-width: 760px) {
	.sect.-cost .inner:before{
		top: -65px;
		width: 734px;
		height: 77px;
		padding-top: 0;
	}

	.sect.-cost .sect-sub{
		margin-top: 50px;
		padding-top: 50px;
	}

	/* 発地切り替えボタン */
	div:not(.pagenav-dept) > .deptchange{
		display: block;
	}
	div:not(.pagenav-dept) > .deptchange .deptchange-list{
		flex-wrap: nowrap;
		margin: 0 0 0 -10px;
	}
	div:not(.pagenav-dept) > .deptchange .deptchange-item{
		margin: 0 0 0 10px;
		padding: 10px;
		width: 100%;
	}
	div:not(.pagenav-dept) > .deptchange .deptchange-item:not(.is-active):hover{
		background-color: #e0fcff;
	}
	div:not(.pagenav-dept) > .deptchange .deptchange-box{
		font-size: 2.0rem;
	}

	.cost-ttl em{
		font-size: 4.5rem;
	}
	.cost-ttl_sub{
		font-size: 2.2rem;
	}
}


/*  商品の特徴
============================================================================= */
.about-head{
	margin: 30px auto 0;
	width: 100%;
	max-width: 1100px;
}
.about-headlist{
	display: flex;
	flex-wrap: wrap;
	margin: -5px 0 0 -5px;
}
.about-headlist_item{
	position: relative;
	display: flex;
	align-items: center;
	flex-direction: row-reverse;
	margin: 5px 0 0 5px;
	padding: 10px;
	width: calc(100% / 2 - 5px);
	min-height: 50px;
	line-height: 1.4;
	border: solid 1px #ccc;
	background: #fff;
}
@media screen and (max-width: 999px) {
	.about-headlist_item{
		font-size: 1.4rem;
	}
	.about-headlist_item br{
		display: none;
	}
	.about-headlist.-hotel .about-headlist_item:last-child{
		width: calc(100% - 5px);
	}
}
.about-head_box{
	flex: 1;
}
.about-headlist .m-ico{
	margin-right: 10px;
	font-size: 2.0rem;
	color: #888;
}
.about-headbt{
	margin-top: 15px;
	text-align: center;
}
.about-headbt a{
	color: #3498DB;
	font-weight: bold;
}
.about-headbt span{
	position: relative;
	line-height: 1;
	font-weight: bold;
}
@media screen and (min-width: 1000px){
	.about-head{
		margin: 50px auto 0;
	}
	.about-headlist{
		flex-wrap: nowrap;
		margin: 0 0 0 -20px;
	}
	.about-headlist li{
		margin: 0 0 0 40px;
		width: 100%;
		min-height: 75px;
		border-radius: 5px;
		border: solid 1px #ccc;
	}
	.about-headlist.-ovsdp li:nth-child(-n+2){
		width: calc(45% / 2 - 40px);
	}
	.about-headlist.-ovsdp li:nth-child(n+3){
		width: calc(55% / 2 - 40px);
	}
	.about-headlist.-hotel li:nth-child(-n+2){
		width: calc(50% / 2 - 40px);
	}
	.about-headlist.-hotel li:nth-child(n+3){
		width: calc(50% - 40px);
	}
	.about-headlist li:not(:first-child):after{
		position: absolute;
		right: calc(100% + 7px);
		top: 50%;
		transform: translateY(-50%);
		content: "\e145";
		font-family: 'Material Icons Round';
		font-size: 2.6rem;
	}
	.about-headlist .m-ico{
		font-size: 2.6rem;
	}
	.about-headbt{
		margin-top: 30px;
	}
}


/*  ランドクルーズ
============================================================================= */
.landcrouse-head{
	margin-top: 20px;
}
.landcrouse-headlist{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 0 0 -5px;
}
.landcrouse-headlist_item{
	position: relative;
    display: flex;
	justify-content: center;
    align-items: center;
    flex-direction: row-reverse;
	
	margin: 5px 0 0 5px;
	padding: 5px;
	width: calc(100% / 2 - 5px);
	font-size: 1.4rem;
    border-radius: 5px;
	border: solid 1px #ddd;
}
.landcrouse-headlist_item .m-ico{
	margin-right: 5px;
    font-size: 2.6rem;
	color: #888;
}
.landcrouse-head_link{
	margin-top: 20px;
	text-align: center;
}
.landcrouse-head_link a{
	text-decoration: none;
	font-weight: bold;
}

@media screen and (max-width: 759px) {
	.landcrouse-head_box{
		flex: 1;
	}
	.landcrouse-head_box span{
		display: inline-block;
		font-size: 1.2rem;
		line-height: 1.3;
	}
}

@media screen and (min-width: 760px) {
	.landcrouse-head{
		margin-top: 30px;
	}
	.landcrouse-headlist{
		flex-wrap: nowrap;
		margin: 0 0 0 -40px;
	}
	.landcrouse-headlist_item{
		margin: 0 0 0 40px;
		padding: 10px;
		width: inherit;
		min-width: 150px;
		min-height: 75px;
		font-size: 100%;
	}
	.landcrouse-headlist_item:not(:first-child):after {
		position: absolute;
		right: calc(100% + 7px);
		top: 50%;
		transform: translateY(-50%);
		content: "\e145";
		font-family: 'Material Icons Round';
		font-size: 2.6rem;
	}
	.landcrouse-headlist_item .m-ico {
		margin-right: 10px;
	}
	.landcrouse-head_link{
		margin-top: 30px;
	}
}


/*  費用から探す カセット
============================================================================= */
.costCassette{
	margin-top: 20px;
}
.costCassette_item{
	position: relative;
	margin-top: 15px;
}
.costCassette_item a{
	position: relative;
	z-index: 1;
	display: block;
	padding-bottom: 20px;
	border: solid 1px #777;
	border-radius: 5px;
	border-right: solid 3px #777;
	border-bottom: solid 3px #777;
	transition: opacity 0.2s;
	overflow: hidden;
	width:100%;
}

.costCassette-ttl{
	padding: 15px;
	font-weight: bold;
	/*background: #fcebf1;*/
	/*background: repeating-linear-gradient(-45deg, rgba(127, 214, 225, 90%), rgba(127, 214, 225, 90%) 2px, rgba(127, 214, 225, 100%) 2px, rgba(127, 214, 225, 100%) 4px);*/
}
/*.sect-sub.-supportplan .costCassette-ttl{ background: repeating-linear-gradient(-45deg, rgba(248, 226, 78, 90%), rgba(248, 226, 78, 90%) 2px, rgba(248, 226, 78, 100%) 2px, rgba(248, 226, 78, 100%) 4px); }
.sect-sub.-tour .costCassette-ttl{ background: repeating-linear-gradient(-45deg, rgba(127, 218, 244, 90%), rgba(127, 218, 244, 90%) 2px, rgba(127, 218, 244, 100%) 2px, rgba(127, 218, 244, 100%) 4px); }
.sect-sub.-escort .costCassette-ttl{ background: repeating-linear-gradient(-45deg, rgba(196, 163, 246, 80%), rgba(196, 163, 246, 80%) 2px, rgba(196, 163, 246, 90%) 2px, rgba(196, 163, 246, 90%) 4px); }
.sect-sub.-landcrouse .costCassette-ttl{ background: repeating-linear-gradient(-45deg, rgba(243, 151, 160, 90%), rgba(243, 151, 160, 90%) 2px, rgba(243, 151, 160, 100%) 2px, rgba(243, 151, 160, 100%) 4px); }*/

.costCassette-ttl span{
	font-weight: bold;
	font-size: larger;
}
.costCassette-ttl span.logo {
    display: inline-flex;
    align-items: center;
    /*height: 100%;*/
    margin-right: 5px;
}

.costCassette-body{
	padding: 15px;
}
.costCassette-icon{
	display: flex;
	margin-left: -5px;
}
.costCassette-icon_item{
	margin-left: 5px;
	padding: 4px 10px;
	color: #00AEC3;
	font-size: 1.2rem;
	line-height: 1;
	border-radius: 50vw;
	border: solid 1px #00AEC3;
	background: #fff;
}
.costCassette-detailslist{
	margin-top: 10px;
	font-size: 1.4rem;
}
.costCassette-detailslist_item{
	display: flex;
	align-items: flex-start;
}

.costCassette-detailslist_item .m-ico{
	position: relative;
	top: -3px;
	margin-right: .4em;
	color: #6B6E71;
	font-size: 1.8rem;
}
.costCassette-detailstxt{
	margin-top: 5px;
	font-size: 1.4rem;
}
.costCassette-price{
	margin: 0 15px;
	padding-top: 5px;
	font-size: 1.2rem;
	line-height: 1.3;
	border-top: solid 1px #777;
	text-align: center;
}
.costCassette-price_txt{
	color: #ff001a;
	font-size: 1.6rem;
	font-weight: bold;
}
.costCassette-price_num{
	font-size: 3.0rem;
	font-weight: bold;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.costCassette-conditions{
	margin: 10px 15px 0;
}

.costCassette-conditions li{
	display: flex;
	font-size: 1.2rem;
}
.costCassette-conditions li:before{
	content: "※";
	margin-right: .2em;
}
.costCassette-bt{
	position: relative;
	margin: 15px auto 0;
	padding: 10px;
	max-width: 250px;
	color: #00afc4;
	text-align: center;
	font-weight: bold;
	border-radius: 50vw;
	border: solid 2px #00afc4;
	background: #fff;
}
.costCassette-bt .m-ico{
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	justify-content: center;
	align-items: center;
	margin-left: 5px;
	width: 1em;
	height: 1em;
	color: #fff;
	font-size: 2.0rem;
	line-height: 1;
	border-radius: 50vw;
	background: #00afc4;
}
.costCassette-bt .m-ico:before{
	top: 0;
}

.costCassette.-supportplan .costCassette-price{
	border-top: none;
}
.costCassette.-supportplan .costCassette-conditions{
	margin-top: 0;
}
.costCassette-other{
	margin: 10px 20px 0;
	padding-top: 10px;
	border-top: solid 1px #ccc;
}
.costCassette-other_txt{
	color: #00AEC3;
	font-size: 1.4rem;
}

@media screen and (min-width: 760px) {
	.costCassette{
		display: flex;
		flex-wrap: wrap;
		margin: 15px 0 0 -25px;
	}
	.costCassette_item{
		margin: 25px 0 0 25px;
		width: calc(100% / 3 - 25px);
	}
	.costCassette_item a:hover{
	}

	.costCassette-detailslist_item:not(:first-child){
		margin-top: 5px;
	}
	.costCassette-bt{
		padding: 15px;
	}
}

/*  ベストシーズン
============================================================================= */
.seasonList{
	display: flex;
	flex-wrap: wrap;
	margin-top: 10px
}
.seasonList_item{
	margin: 5px 0 0 5px;
	width: calc(100% / 4 - 5px);
}
.seasonList_item a{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 10px 5px;
	text-align: center;
	font-size: 2.5rem;
	font-weight: bold;
	border-radius: 20px;
	border: solid 3px #000;
	background: #fff;
	transition: opacity 0.3s ease;
}
.seasonList_item span{
	color: #999;
	font-size: 1.2rem;
	line-height: 1.3;
}
.seasonList_item.-spring a{ border-color: #ff99ac; }
.seasonList_item.-summer a{ border-color: #fedd00; }
.seasonList_item.-autumn a{ border-color: #f07206; }
.seasonList_item.-winter a{ border-color: #78def8; }

@media print, screen and (min-width: 760px) {
	.seasonList{
		flex-wrap: nowrap;
		margin: 40px 0 0 -10px;
	}
	.seasonList_item{
		margin: 10px 0 0 10px;
		width: calc(100% / 12 - 10px);
	}
	.seasonList_item a{
		padding: 20px 5px;
		border-width: 4px;
	}
	.seasonList_item a:hover{
		opacity: .6;
	}
}

































/*  クーポン
============================================================================= */
.-gakuseisupport{
	margin-top: 30px;
	padding: 30px 0;
	background-color: #f3fcfa;
	background-image: linear-gradient(#e9f5f9 2px, transparent 2px), linear-gradient(to right, #e9f5f9 2px, #f5fbfd 2px);
	background-size: 4px 4px;
}
.-gakuseisupport .sect-sub{
    margin-top: 30px;
}
.-gakuseisupport .sect-sub:first-child{
    margin-top: 30px;
}
.-gakuseisupport .kome{
	justify-content: center;
	margin-top: 10px;
}

.-coupon .ttl{
	display: flex;
	align-items: center;
	font-weight: bold;
    color: rgba(0, 0, 0, 0);
	font-size: 2.2rem;
    text-shadow: 1px 2px 0 #ffb1cd;
    -webkit-text-stroke: 1px #888;
    text-stroke: 1px #888;
}
.-coupon .ttl:before, .-coupon .ttl:after{
	content: "";
	flex: 1;
	border-top: dotted 5px #ffb1cd;
}
.-coupon .ttl:before{
	margin-right: 10px;
}
.-coupon .ttl:after{
	margin-left: 10px;
}

.couponCassette{
	margin-top: 10px;
}
.couponCassette_item{
	position: relative;
	margin-top: 15px;
	display: inline-flex;
	width: calc(100% / 2 - 3px );
}
.couponCassette_item a{
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	padding-bottom: 20px;
	border: solid 1px #777;
	border-radius: 5px;
	border-right: solid 3px #777;
	border-bottom: solid 3px #777;
	background: #fff;
	transition: opacity 0.2s;
	overflow: hidden;
}
.couponCassette_head{
	position: relative;
	order: -1;
	padding: 10px;
	font-weight: bold;
	/*background: #fcebf1;*/
	background: repeating-linear-gradient(-45deg, rgba(255, 217, 230, 85%), rgba(255, 217, 230, 85%) 2px, rgba(255, 217, 230, 100%) 2px, rgba(255, 217, 230, 100%) 4px);
	border-bottom: dashed 1px #eab0c5;
}
.couponCassette_head .m-ico{
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: 5px;
    transform: translateY(-50%);
	color: #facbdc;
    font-size: 8.0rem;
    font-weight: normal;
    line-height: 1;
}
	
.couponCassette_iconlist{
	position: relative;
	z-index: 1;
	display: flex;
	margin: -3px 0 0 -3px;
}
.couponCassette_iconlist_item{
	margin: 3px 0 0 3px;
	padding: 5px 10px;
	line-height: 1;
	font-size: 1.4rem;
	border-radius: 50vw;
	background: #fff;
}
.couponCassette_txt{
	position: relative;
	z-index: 1;
	margin-top: 5px;
	font-size: 1.4rem;
	text-align: center;
}
.couponCassette_txt em{
	font-size: 3.0rem;
	font-weight: bold;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.couponCassette_ttl{
	margin: 10px 15px 0;
	/*font-weight: bold;*/
}
.couponCassette_datelist{
	margin: 10px 15px 0;
	font-size: 1.4rem;
}
.couponCassette_datelist dt{
	margin-top: 5px;
}
.couponCassette_datelist dt:after{
	content: "：";
	margin-left: 5px;
}
.couponCassette_datelist dd{
	margin-left: 0em;
}

@media screen and (min-width: 760px) {
.couponCassette_datelist dd{
	margin-left: 1em;
}}

.-coupon .fbtn{
	margin-top: 10px;
}
.-coupon .fbtn a{
	color: #f498b9;
	border-color: #f498b9;
	border-bottom-width: 3px;
	border-right-width: 3px;
}

@media screen and (min-width: 760px) {
	.-gakuseisupport{
		margin-top: 50px;
		padding: 50px 0;
	}
	.-gakuseisupport .sect-sub{
		margin-top: 50px;
	}
	.-gakuseisupport .kome{
		margin-top: 30px;
	}
	.-coupon .ttl{
		font-size: 4.0rem;
	}
	.-coupon .ttl:before{
		margin-right: 30px;
	}
	.-coupon .ttl:after{
		margin-left: 30px;
	}

	.couponCassette{
		display: flex;
		flex-wrap: wrap;
		margin: 10px 0 0 -10px;
	}
	.couponCassette_item{
		margin: 10px 0 0 10px;
		width: calc(100% / 4 - 10px);
	}
	.couponCassette_head .m-ico{
		right: inherit;
		left: 50%;
		top: 50%;
		margin-top: 10px;
		transform: translate(-50%, -50%);
		font-size: 8.0rem;
	}
	.couponCassette_item a{
		height: 100%;
	}
	.couponCassette_item a:hover{
	}
	.couponCassette_head{
		padding: 10px 15px;
	}

	.couponCassette-bt{
		padding: 15px;
	}
	.couponCassette_ttl{
		flex: 1;
		font-size: 14px;
	}
	.-coupon .fbtn{
		margin-top: 10px;
	}
}


/*  キャンペーン
============================================================================= */
.-campaign .ttl{
	display: flex;
	align-items: center;
	font-weight: bold;
    color: rgba(0, 0, 0, 0);
	font-size: 2.2rem;
    text-shadow: 1px 2px 0 #a3c51f;
    -webkit-text-stroke: 1px #888;
    text-stroke: 1px #888;
}
.-campaign .ttl:before, .-campaign .ttl:after{
	content: "";
	flex: 1;
	border-top: dotted 5px #a3c51f;
}
.-campaign .ttl:before{
	margin-right: 10px;
}
.-campaign .ttl:after{
	margin-left: 10px;
}
.campaignCassette{
	margin-top: 10px;
}
.campaignCassette_item{
	position: relative;
	margin-top: 25px;
	padding: 30px 20px 20px;
	border-radius: 5px;
	background: #fff;
}
.campaignCassette_fuki{
	position: absolute;
	top: 0;
	display: flex;
	justify-content: center;
	font-size: 1.4rem;
	width: calc(100% - 40px);
	transform: translateY(-50%);
}
.campaignCassette_box{
	display: flex;
	flex-direction: row-reverse;
}
.campaignCassette_fuki span{
	padding: 5px 20px;
	color: #fff;
	font-weight: bold;
	border-radius: 50vw;
	background: #a3c51f;
}
.campaignCassette_txt{
	flex: 1;
	margin-left: 15px;
	font-size: 1.4rem;
}
.campaignCassette_icon{
	margin-top: -10px;
	width: 30px;
}
.-campaign .fbtn{
	margin-top: 10px;
}
.-campaign .fbtn a{
	color: #a3c51f;
	border-color: #a3c51f;
	border-bottom-width: 3px;
	border-right-width: 3px;
}


@media screen and (min-width: 760px) {
	.-campaign .ttl{
		font-size: 4.0rem;
	}
	.-campaign .ttl:before{
		margin-right: 30px;
	}
	.-campaign .ttl:after{
		margin-left: 30px;
	}

	.campaignCassette{
		display: flex;
		flex-wrap: wrap;
		margin: 40px 0 0 -10px;
	}
	.campaignCassette_item{
		margin: 10px 0 0 10px;
		width: calc(100% / 3 - 10px);
	}
	.campaignCassette_fuki,
	.campaignCassette_txt{
		font-size: 100%;
	}
	.campaignCassette_icon{
		margin-top: 0;
		width: 50px;
	}
	.-campaign .fbtn{
		margin-top: 10px;
	}
}


/*  パンフレット
============================================================================= */
.sect.-pamphlet .ttl-main em{
	display: flex;
	justify-content: center;
	align-items: center;
}
.sect.-pamphlet .ttl-main em img{
	position: relative;
	top: -2px;
	margin-right: 10px;
	width: 50px;
	vertical-align: bottom;
}

.pamphletCassette{
	margin-top: 10px;
}
.pamphletCassette_item{
	position: relative;
	margin-top: 15px;
}
.pamphletCassette_item a{
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 1;
	padding: 15px;
	height: 100%;
	border: solid 1px #777;
	border-radius: 5px;
	border-right: solid 3px #777;
	border-bottom: solid 3px #777;
	background: #fff;
	transition: opacity 0.2s;
	overflow: hidden;
}
.pamphletCassette_box{
	display: flex;
	flex-direction: row-reverse;
	flex: 1;
}
.pamphletCassette_body{
	flex: 1;
	margin-left: 20px;
}
.pamphletCassette_img{
	width: 80px;
}
.pamphletCassette_ttl{
	font-size: 1.4rem;
}
.pamphletCassette_ttl em{
	display: inline-block;
	margin-top: 5px;
	font-size: 1.8rem;
	font-weight: bold;
}
.pamphletCassette_txt{
	margin-top: 20px;
	font-size: 1.4rem;
}
.pamphletCassette-bt{
	position: relative;
    margin: 15px auto 0;
    padding: 10px;
	width: 100%;
    max-width: 300px;
    color: #00afc4;
    text-align: center;
    font-weight: bold;
    border-radius: 50vw;
    border: solid 2px #00afc4;
    background: #fff;
}
.pamphletCassette-bt .m-ico {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin-left: 5px;
    width: 1em;
    height: 1em;
    color: #fff;
    font-size: 2.0rem;
    line-height: 1;
    border-radius: 50vw;
    background: #00afc4;
}

@media screen and (min-width: 760px) {
	.pamphletCassette{
		display: flex;
		flex-wrap: wrap;
		margin: 40px 0 0 -10px;
	}
	.pamphletCassette_item{
		margin: 25px 0 0 25px;
		width: calc(100% / 2 - 25px);
	}
	.pamphletCassette_item a{
		padding: 20px;
	}
	.pamphletCassette_img{
		width: 150px;
	}
	.pamphletCassette_ttl{
		text-align: center;
		font-size: 100%;
	}
	.pamphletCassette_ttl em{
		font-size: 2.2rem;
	}
	.pamphletCassette_txt{
		font-size: 100%;
	}

	.pamphletCassette-bt{
		padding: 15px;
	}

}




/*  検索
============================================================================= */
.sect.-search{
	background: #e0fcff;
}
.search-wrap{
	margin-top: 30px;
}
.search-tab{
	display: flex;
	margin-left: -5px;
	padding: 0 10px;
}
.search-tab_item{
	margin-left: 5px;
}
.search-tab_item-box{
	display: flex;
	align-items: center;
	padding: 5px 10px;
	height: 100%;
	min-height: 50px;
	font-weight: bold;
	border-radius: 4px 4px 0 0;
}
@media print, screen and (max-width: 759px) {
	.search-tab_item-box{
		font-size: 1.4rem;
	}
}
.is-active .search-tab_item-box{
	border-top: solid 1px #ccc;
	border-left: solid 1px #ccc;
	border-right: solid 1px #ccc;
	background-color: rgba(255,255,255,.95);
}
.search-tab_item:not(.is-active) .search-tab_item-box{
	color: #fff;
	background: #999;
}


.js-tab_search .mva-search_tabitem{
	display: none;
}
.js-tab_search .search-tab_item .search-tab_item-box{
	transition: background 0.3s;
}

@media print, screen and (min-width: 760px) {
	.search-wrap{
		margin-top: 30px;
	}

	.area-search{
		padding-top: 50px;
	}
	.search-tab{
		padding: 0;
	}
	.search-tab_item-box{
		padding: 5px 30px;
	}
	.is-active .search-tab_item-box{
		border: none;
	}
	.js-tab_search .search-tab_item:not(.is-active) .search-tab_item-box{
		cursor: pointer;
	}
	.js-tab_search .search-tab_item:not(.is-active):hover .search-tab_item-box{
		background: #afafaf;
	}
	
}

/* 海外DP */
.searchtour .main-content{
	padding: 11px 20px 20px;
	border-radius: 0 4px 4px 4px;
    background-color: rgba(255,255,255,.95);
}
@media print, screen and (max-width: 759px) {
	.searchtour .main-content{
		margin-top: -1px;
		padding: 15px;
		border-radius: 0;
		border-top: solid 1px #ccc;
	}
}

/* 海外添乗員同行 */
.searchescort .main-content{
	padding: 11px 20px 20px;
	border-radius: 0 4px 4px 4px;
    background-color: rgba(255,255,255,.95);
}
.searchescort .main-content *:before,.searchescort .main-content *:after{
	box-sizing: border-box;
}
.jtb__device--sp #kaigai_search_area, .jtb__device--sp #kaigai_search_escort{
	padding: 20px 10px;
}
.T-un_topTourSearch .JTB-el_input__body{
	background: #fff;
}

@media print, screen and (max-width: 759px) {
	.searchescort .main-content{
		margin-top: -1px;
		padding: 15px;
		border-radius: 0;
		border-top: solid 1px #ccc;
	}
}




/*  他商材への導線
============================================================================= */
.sect.-other{
	background: #e0fcff;
}
.other-list{
	margin-top: 30px;
}
.other-list_item{
	margin-top: 10px;
}
.other-list_item a{
	position: relative;
	z-index: 1;
	display: block;
	padding: 15px 20px;
	text-align: center;
	color: #00afc4;
	font-weight: bold;
	border-radius: 50vw;
	border: solid 1px #777;
	background: #fff;
}
.other-list_item a .m-ico{
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 3.0rem;
	line-height: 1;
}

@media screen and (min-width: 760px) {
	.other-list{
		display: flex;
		flex-wrap: wrap;
		margin: 30px 0 0 -30px;
	}
	.other-list_item{
		margin: 30px 0 0 30px;
		width: calc(100% / 3 - 30px);
	}
	.other-list_item a{
		font-size: 2.0rem;
	}
	.other-list_item a:hover{
		opacity: .6;
	}
}


/*画像高さ調整*/
.costCassette_item figure img{
	/*object-fit: cover;*/
	width: 100%;
    height: auto;
}
@media print, screen and (max-width: 759px){
.costCassette_item figure img{
    height: auto;
}
}



/*CMSボックス高さ調整*/
.-tour .costCassette_item{display:flex;}


/*追加　20240912*/

/*キーワード*/
.c-keyword__list { 
	display: flex; 
	flex-wrap: wrap; 
	margin-top: 1em; 
	/*justify-content: center;*/
	 }
.c-keyword__list .c-word { 
	align-items: center; 
	background-color: #fff; 
	border: 2px solid #00aec3; 
	border-radius: 100vh; 
	display: inline-flex; 
	height: 3.5em; 
	justify-content: center; 
	margin: .5em .25em; 
	padding: 0 1.75em; 
	color: #00aec3;
	}
.c-keyword__list .c-word span { font-weight: 700; }
/*.c-keyword__list .c-word span::before { content: "＃" !important; padding-right: .25em; }*/
.c-word:hover { background-color: #00aec3 !important; color:#fff !important; }

.keyword_ttl{
	font-weight: bold;
    text-align: center;
    font-size: 3.2rem;
    padding: 50px 20px 20px 20px;
    color: #00aec3;
    }

.sma{display: none;}

  
@media screen and (max-width: 759px) {

.keyword_ttl {
    font-size: 2.0rem;
}

    .c-keyword__list .c-word {
        border: 1px solid;
        height: 2.75em;
        margin: 0 .25em .25em 0;
        padding: 0 1em;
    }

}

/*パンフレット*/
.pamph_ttl{
	font-weight: bold;
    text-align: center;
    font-size: 3.2rem;
    padding: 30px 20px 20px 20px;
    color: #00aec3;
    }

.pamph_box{
	padding: 40px;
    display: inline-flex;
    width: 100%;
    border: solid 1px #00aec3;
    border-radius: 10px;
    background: #eafafb;
    }
.pamph_img{text-align:center;}
.pamph_txt{font-size: 1.5em; padding: 10px 50px;}
.pamph_txt_ttl{font-weight: bold; font-size: 2.4rem; padding: 10px 0 20px;}
.pamph_txt span{font-weight: bold;font-size:100%;}
.pamph_txt ul li { text-indent:-1em; padding-left:1em;font-size: 70%;}

@media screen and (max-width: 759px) {
.pamph_img img {width: 60%; height: auto;}
.pamph_box {display: block; padding: 20px;}
.pamph_ttl{font-size: 2.0rem; padding: 20px;}
.pamph_txt{font-size: 1.0em; padding: 0;}
.pamph_txt_ttl {font-size: 1.8rem;}
.pamph_txt ul li,.pamph_txt span { font-size: 14px;}
}





/*ウィンターSP*/
p.kome {text-indent: 0;}

/*エスコート　パンフレット*/
.esc .pamph_ttl{
    color: #b68cf5;
    }

.esc .pamph_box{
    border: solid 1px #b68cf5;
	background: #e9defa40;
    }
.esc_link{max-width: 600px;}

.recpamph-sect__bookbt{width: 100%;}

.esc .pamph_box .file img {
        width: 60%;
        height: auto;
    }


@media screen and (max-width: 759px) {
.esc_link a {padding: 15px 30px;}
.recpamph-sect__bookbt {width: 60%;}

}



.swiper-slide {
    flex-shrink: 0;
    height: auto !important;
    position: relative;
    transition-property: transform;
    display: block;
    width: 394.667px;
    margin-right: 8px;
}

@media screen and (max-width: 959px) {
    .mv-caption {
        font-size: 0.9rem;
        top: 57%;
    }
}

@media screen and (max-width: 759px) {
    .pagenav .inner {
        padding: 0!important;
    }
}

@media screen and (max-width: 759px) {
.ttl-main {
    position: relative;
    text-align: center;
    margin-top: 10px!important;
}}

/*記事*/
@media print, screen and (min-width: 960px) {
    .tipsCassette_itemTtl {
        font-size: 1.4rem!important;
        text-align: left;
    }
}