@charset "utf-8";

/* コンテンツ幅 フル */
.contentsInr { width: auto; padding: 0px; }

.gw .ctm_contentsFull { margin-top: 0; }
@media all and (min-width: 740px){
	.gw .ctm_contentsFull { margin-top: 0; }
}

/* コンテンツ幅 950px */
.contentsInr .contentsUnit,
.contentsInr .module { padding: 0 10px; margin: 0 auto; }

@media all and (min-width: 740px){
	.contentsInr .contentsUnit,
	.contentsInr .module { width: 950px !important; padding: 0px; margin: 0 auto; }
	.contentsInr .module { float: none !important; }
}

/* font */
.gw .ctm_pageTtl .ttlLv1 h2,
.gw .ctm_pageTtl .ttlLv2 h3 {}
#Lead .pointBlock .ttlLv3 h4 sup {}
#Hotel .txtGrade .ttlLv4 h5 strong {}

/* icon */
.gw .material-symbols-outlined { font-variation-settings: 'wght' 400; vertical-align: middle; }

/* iconTxt */
.gw [class^="ctm_iconTxt_br"] { display: inline-block; padding: 3px 1.0rem 1px; color: #fff; border-radius: 4px; letter-spacing: 0.1rem; }
.gw .ctm_iconTxt_br_W { display: inline-block; color: #333; background: #fff; }

/* list */
.fsS li { font-size: 1.4rem; }
.fsL li { font-size: 1.8rem; }
@media all and (min-width: 740px){
	.fsS li { font-size: 1.2rem; }
	.fsL li { font-size: 1.6rem; }
}

/* ctm_pageTtl */
.gw .ctm_pageTtl.hc01 {}
.gw .ctm_pageTtl.hc01 .ttlLv1 { position: relative; margin: 30px 0 30px 0; padding: 1.5rem 0 1.0rem; color: #fff; background: #4099e9; border-radius: 100vh; }
.gw .ctm_pageTtl.hc01 .ttlLv1:after { content: ""; position: absolute; display: inline-block; width: 100%; height: 130px; background: url(/content/dam/sites/wwwjalcojp/jp/ja/intltour/hwi/gw/img_sites/heading_bg01_sp.png?v=1) no-repeat; background-size: 100%; top: 0; left: 0; }
@media all and (min-width: 740px){
	.gw .ctm_pageTtl.hc01 .ttlLv1:after { background: url(/content/dam/sites/wwwjalcojp/jp/ja/intltour/hwi/gw/img_sites/heading_bg01_pc.png?v=1) no-repeat; background-size: 100%; top: 0; }
}

.gw .ctm_pageTtl .ttlLv1 h2 { letter-spacing: 0.1rem; }

.gw .ctm_pageTtl.hc02 .ttlLv2 { margin-top: 10px; }
.gw .ctm_pageTtl.hc02 .ttlLv2 h3 { display: flex; justify-content: center; align-items: center; color: #875901; }
.gw .ctm_pageTtl.hc02 .ttlLv2 h3:before,
.gw .ctm_pageTtl.hc02 .ttlLv2 h3:after  { content: ''; width: 3px; height: 1.8em; background: #10c5af; }
.gw .ctm_pageTtl.hc02 .ttlLv2 h3:before { margin-right: 1.2em; transform: rotate(-35deg); }
.gw .ctm_pageTtl.hc02 .ttlLv2 h3:after  { margin-left:  1.2em; transform: rotate(35deg); }
@media all and (min-width:740px){
	.gw .ctm_pageTtl.hc02 .ttlLv2 h3 { font-size: 2.8rem !important; }
	.gw .ctm_pageTtl.hc02 .ttlLv2 h3:before { margin-right: 1.8em; }
	.gw .ctm_pageTtl.hc02 .ttlLv2 h3:after  { margin-left:  1.8em; }
}
.gw .ctm_pageTtl.hc02 .ttlLv2 h3 strong { color: #ec3a79; }

.ctm_pageTtl.hc03 { background-color: #DC6D1E; color: #fff; }
.ctm_pageTtl.hc03 .ttlLv2 { margin-bottom: 0; }
@media all and (min-width: 740px){
	.ctm_pageTtl.hc03 .ttlLv2 h3 { font-size: 2.6rem; }	
}

@media all and (max-width: 739px){
	.gw .ctm_pageTtl .ttlLv1 h2 { font-size: 2.6rem; }
}

/* column */
.gw .ctm_bdrColumn .colWrap .col { background: #fff; }

/* list */
@media all and (min-width: 740px){
	.gw .listSide ul { display: flex; justify-content: center; }
	.gw .listSide ul > li + li { margin: 0 0 0 2.0rem; }
}

/* table */
@media all and (min-width: 740px){
	.gw .clm_1_3col .table_typeA th,
	.gw .clm_1_3col .table_typeA td { padding: 10px; }
	.gw .clm_1_3col .table_typeA th { font-size: 1.4rem; }
}

/* Botton type horizon */
.gw .ctm_btnList_horizon .btnBox { display: block; width: 100%; height: 100%; }
.gw .ctm_btnList_horizon .col > div { height: 100%; }
.gw .ctm_btnList_horizon .col .btn { display: table; width: 100%; height: 100%; padding-top: 10px; padding-bottom: 10px; margin-top: 0px; }
.gw .ctm_btnList_horizon .col .btnInr { display: table-cell; vertical-align: middle; width: 100%; height: 100%; }

/* anchorList */
.gw .anchorList .btnBK .btn { background: #9a9236; }
@media all and (max-width: 739px){
	.gw .anchorList .btn { margin-top: 0; }
}



/* Lead */
#Lead.ctm_contentsFull { padding-top: 20px; background: #ade6fb; }

#Lead .contentsUnit { background: url(/content/dam/sites/wwwjalcojp/jp/ja/intltour/hwi/gw/img_sites/lead_bg01_sp.png?v=4) no-repeat; background-size: 96%; background-position: 50% 50px; }
@media all and (min-width:740px){
	#Lead .contentsUnit { background: url(/content/dam/sites/wwwjalcojp/jp/ja/intltour/hwi/gw/img_sites/lead_bg01_pc.png?v=1) no-repeat; background-size: 100%; background-position: 50% 135px; }
}

#Lead .ctm_pageTtl .ttlLv1 { margin-top: 0; }
#Lead .ctm_pageTtl .ttlLv1 h2 { color: #875901; }
#Lead .ctm_pageTtl .ttlLv1 h2 span { font-size: 1.6rem; }
#Lead .ctm_pageTtl .ttlLv1 h2 span strong { font-size: 2.2rem; color: #ec3a79; }
@media all and (max-width: 739px){
}
@media all and (min-width:740px){
	#Lead .ctm_pageTtl .ttlLv1 h2 span { font-size: 1.8rem; }
	#Lead .ctm_pageTtl .ttlLv1 h2 span strong { font-size: 2.4rem; }
}

#Lead .ctm_iconTxt_br_W { padding: 1.0rem 2.0rem 0.8rem; border-radius: 100vh; background: #fe649a; color: #fff; }
#Lead .ctm_iconTxt_br_W .ttlLv4 { margin: 0; padding: 0; }
#Lead .ctm_iconTxt_br_W .ttlLv4 h5 { font-size: 1.6rem }
#Lead .ctm_iconTxt_br_W strong { color: #f5fc8c; }

#Lead .ctm_pageTtl .ttlLv2 { margin: 20px 0; }
#Lead .ctm_pageTtl h3 { display: flex; justify-content: center; align-items: center; font-size: 2.2rem; color: #fe649a; }
#Lead .ctm_pageTtl h3:before,
#Lead .ctm_pageTtl h3:after  { content: ''; width: 3px; height: 1.8em; background: #fff; }
#Lead .ctm_pageTtl h3:before { margin-right: 1.2em; transform: rotate(-35deg); }
#Lead .ctm_pageTtl h3:after  { margin-left:  1.2em; transform: rotate(35deg); }
@media all and (min-width:740px){
	#Lead .ctm_pageTtl h3 { font-size: 2.8rem !important; }
	#Lead .ctm_pageTtl h3:before { margin-right: 1.8em; }
	#Lead .ctm_pageTtl h3:after  { margin-left:  1.8em; }
}

#Lead .pointBlock .clm_1_3col .col,
#Lead .pointBlock .clm_1_4col .col { border-radius: 20px; border: none; }
#Lead .pointBlock .clm_1_3col .col { padding: 18px; }
#Lead .pointBlock .clm_1_4col .col { padding: 14px; }

#Lead .pointBlock .ttlLv3 { position: relative; margin: 0 0 5px; }
#Lead .pointBlock .ttlLv3 h4 { padding: 44px 0 0; color: #875901; font-size: 1.8rem; }
#Lead .pointBlock .ttlLv3 h4 sup { position: absolute; color: #10c5af; font-size: 4.4rem; top: -12px; right: 0; left: 0; }
@media all and (min-width:740px){
	#Lead .pointBlock .ttlLv3 h4 sup { }
}

#Lead .pointBlock .imgParts img { display: block; margin: auto; width: 60%;  }
@media all and (min-width:740px){
	#Lead .pointBlock .clm_1_4col .imgParts img { width: 85%; }
}



/* Hotel */
#Hotel.ctm_contentsFull { background: #fff; }

#Hotel .hotelListBlock {}

@media all and (max-width: 739px){
	#Hotel .hotelListBlock .clm_1_2col.colWrap .col:nth-of-type(n+2),
	#Hotel .hotelListBlock .clm_1_3col.colWrap .col:nth-of-type(n+2) { margin-top: 24px; }
}

#Hotel .hotelListBlock .headingWrap { position: relative; }
#Hotel .hotelListBlock .headingWrap .ttlLv2 { margin-top: 10px; }
#Hotel .hotelListBlock .headingWrap .ttlLv2 h3 { font-size: 2.3rem; }
@media all and (min-width: 740px){
	#Hotel .hotelListBlock .clm_1_3col .headingWrap .ttlLv2 { margin-bottom: 10px; }
	#Hotel .hotelListBlock .headingWrap .ttlLv2 h3 { font-size: 2.8rem; }
	#Hotel .hotelListBlock .clm_1_3col .headingWrap .ttlLv2 h3 { font-size: 2.1rem; }
}

#Hotel .hotelListBlock .headingWrap .ttlLv3 { position: relative; margin: 10px auto 0; width: 100%; }
#Hotel .hotelListBlock .headingWrap .ttlLv3:after { content: ''; position: absolute; display: inline-block; 
width: 40%; height: 40%; bottom: -10px; right: 0; left: 0; margin: 0 auto;
background: url(/content/dam/sites/wwwjalcojp/jp/ja/intltour/hwi/gw/img_sites/hotel_heading_bg01.png?v=1) no-repeat; background-size: contain; }
#Hotel .hotelListBlock .headingWrap .ttlLv3 h4 { font-size: 1.8rem; font-weight: bold; color: #10c5af; }
@media all and (min-width: 740px){
	#Hotel .hotelListBlock .headingWrap .ttlLv3:after { width: 30%; height: 30%; bottom: -5px; }
	#Hotel .hotelListBlock .clm_1_3col .headingWrap .ttlLv3:after { width: 35%; height: 35%; bottom: -7px; }
	#Hotel .hotelListBlock .headingWrap .ttlLv3 h4 { font-size: 2.2rem; }
	#Hotel .hotelListBlock .clm_1_3col .headingWrap .ttlLv3 h4 { font-size: 1.8rem; }
}

#Hotel .hotelListBlock .headingWrap .txtGrade .ttlLv4 { position: absolute; display: inline-block; top: -16px; left: 5px; margin: 0; padding: 10px 0 7px; z-index: 2; width: 90px; text-align: center; background: #f3f89d; border-radius: 2px 0 0 0; }
#Hotel .hotelListBlock .headingWrap .txtGrade .ttlLv4:before { content: ''; position: absolute; top: 0; right: -5px; border: none; border-bottom: solid 6px #f3f89d; border-right: solid 5px transparent; }
#Hotel .hotelListBlock .headingWrap .txtGrade .ttlLv4:after { content: ''; position: absolute; left: 0; top: 100%; height: 0; width: 0; border-left: 45px solid transparent; border-right: 45px solid transparent; border-top: 20px solid #f3f89d; }

#Hotel .hotelListBlock .headingWrap .txtGrade .ttlLv4 h5 { font-size: 1.3rem; color: #875901; }
#Hotel .hotelListBlock .headingWrap .txtGrade .ttlLv4 h5 strong { font-size: 2.2rem; font-weight: bold; color: #875901; padding-right: 0.2rem; }
@media all and (min-width: 740px){
	#Hotel .hotelListBlock .headingWrap .txtGrade .ttlLv4 { left: 20px; width: 90px; }
	#Hotel .hotelListBlock .headingWrap .txtGrade .ttlLv4:after { border-left: 45px solid transparent; border-right: 45px solid transparent; }
	#Hotel .hotelListBlock .headingWrap .txtGrade .ttlLv4 h5 strong { font-size: 2.6rem; }
	
	#Hotel .hotelListBlock .clm_1_3col .headingWrap .txtGrade .ttlLv4 { left: 5px; width: 80px; }
	#Hotel .hotelListBlock .clm_1_3col .headingWrap .txtGrade .ttlLv4:after { border-left: 40px solid transparent; border-right: 40px solid transparent; }
	#Hotel .hotelListBlock .clm_1_3col .headingWrap .txtGrade .ttlLv4 h5 { font-size: 1.2rem; }
	#Hotel .hotelListBlock .clm_1_3col .headingWrap .txtGrade .ttlLv4 h5 strong { font-size: 2.2rem; }
}

#Hotel .hotelListBlock .priceWrap .ttlLv4 { position: relative; margin-top: 42px; }
#Hotel .hotelListBlock .priceWrap .ttlLv4:before { font-family: "Material Symbols Outlined"; content: "\e69c"; position: absolute; top: -45px; left: 0; right: 0; margin: 0 auto; font-size: 4.2rem; color: #f96297; }
#Hotel .hotelListBlock .priceWrap .ttlLv4 h5 { display: inline-block; padding: 1.0rem 1.5rem 0.5rem; font-size: 1.8rem; color: #fff; background: #f96297 !important; border-radius: 100vh; }



/* Wi-Fi */
#Wi-Fi.ctm_contentsFull { background-image: linear-gradient(180deg, rgba(173, 230, 251, 1) 5%, rgba(244, 247, 193, 1) 90%); }

#Wi-Fi .ctm_pageTtl .ttlLv1 h2 { font-size: 2.4rem; }
@media all and (min-width: 740px){
	#Wi-Fi .ctm_pageTtl .ttlLv1 h2 { font-size: 3.6rem; }
}

#Wi-Fi .wifiBlock { padding: 20px; background: #fff; border-radius: 20px; border: 2px solid #4099e9; }
@media all and (min-width: 740px){
	#Wi-Fi .wifiBlock { padding: 30px; }
}

#Wi-Fi .wifiBlock .listSide ul > li { font-size: 2.0rem; }
@media all and (min-width: 740px){
	#Wi-Fi .wifiBlock .listSide ul > li + li { margin: 0 0 0 4.5rem; }
}
#Wi-Fi .wifiBlock .txtListBox li em { color: #ec3a79; }
#Wi-Fi .wifiBlock .txtList > li:before { content: '\e2e6'; font-family: 'Material Symbols Outlined'; font-size: 2.8rem; color: #4099e9; background-color: transparent; top: -0.1rem; left: 0.5rem; }
@media all and (min-width: 740px){
	#Wi-Fi .wifiBlock .txtList > li:before { top: -0.5rem; left: -1.9rem; }
}

#Wi-Fi .wifiBlock .ttlLv2 { padding-top: 30px; margin-bottom: 10px; }
#Wi-Fi .wifiBlock .ttlLv2 h3 { border-left: 5px solid #ade6fb; font-size: 1.7rem; }

#Wi-Fi .wifiBlock .ttlLv3 { padding-top: 30px; }



/* Option */
#Option.ctm_contentsFull { background-image: linear-gradient(180deg, rgba(244, 247, 193, 1) 5%, rgba(254, 229, 224, 1) 90%); }

#Option .ctm_pageTtl.hc01 .ttlLv1 { margin-top: 0; }

#Option .optionBlock img { border-radius: 20px; }

#Option .optionListBlock .headingWrap { position: relative; }

#Option .optionListBlock .headingWrap .ttlLv2 { margin: 30px 0 10px; }
#Option .optionListBlock .headingWrap .ttlLv2 h3 { font-size: 2.1rem; }

#Option .optionListBlock .headingWrap .ttlLv3 { position: absolute; top: -31px; left: 50%; transform: translateX(-50%); padding: 6px 5px 4px; color: #fff; background: #10c5af; border-radius: 0 0 7px 7px; }
#Option .optionListBlock .headingWrap .ttlLv3 h4 { font-size: 1.6rem; }
@media all and (min-width: 740px){
	#Option .optionListBlock .headingWrap .ttlLv3 { top: -51px; }
}

#Option .optionListBlock .ttlLv4 { margin-top: 20px; padding: 0; border-top: 1px solid #875901; }
#Option .optionListBlock .ttlLv4 h5 { display: inline-block; padding: 0.2em 0.5em 0.1em 0.5em; color: #fff; background: #875901 !important; }

#Option .optionListBlock .headingWrap .txtLimited { position: absolute; top: -10px; left: -15px;
transform: rotate(-12deg); padding: 0.2em 0.5em 0.1em 0.5em; font-weight: bold; color: #ec3a79; background: #fff; border: 2px solid #ec3a79; }
@media all and (min-width: 740px){
	#Option .optionListBlock .headingWrap .txtLimited { top: 6px; left: -32px; }
}



/* FAQ */
#FAQ .acodBlock > .heading .inr { padding-left: 0; }
#FAQ .acodBlock > .content { padding: 10px 17px; }

#FAQ .acodBlock .txtQ { position: relative; display: block; padding-left: 4.0rem; }
#FAQ .acodBlock .txtQ:before { content: "Q"; position: absolute; display: inline-block; top: 0; left: 0;
width: 2.0em; height: 2.0em; line-height: 2.0em; text-align: center; font-weight: bold; color: #c00; background: #fff; border-radius: 50%; }
@media all and (max-width: 739px){
	#FAQ .acodBlock > .heading { min-height: 58px; }
}
@media all and (min-width: 740px){
	#FAQ .acodBlock .txtQ { line-height: 2.0; }
}

#FAQ .acodBlock .txtA { position: relative; padding-left: 3.4rem; min-height: 3.0rem; }
#FAQ .acodBlock .txtA:before { content: "A"; position: absolute; display: inline-block; top: 0; left: -0.6rem;
width: 2.0em; height: 2.0em; line-height: 2.0em; text-align: center; font-weight: bold; color: #fff; background: #c00; border-radius: 50%; }



@media all and (max-width: 739px){
	.gw .js-eqHeightCols .js-eqHeightCols-item,
	.gw .js-eqHeightCols .js-eqHeightCols-item-2,
	.gw .js-eqHeightCols .js-eqHeightCols-item-3,
	.gw .js-eqHeightCols .js-eqHeightCols-item-4 { height: auto!important; }
}

@media all and (max-width: 739px){
}
@media all and (min-width: 740px){
}