@charset "utf-8";

.ctm_pageTtl.hc03{color:#d54242;}
@media (min-width: 740px) {
	.ctm_pageTtl.hc03 .ttlLv1 .heading{
		font-size: 3rem;
	}
}
.hokkaido_map1{
    background-repeat:no-repeat;
    position: relative;
    width:965px;
}
.tohoku_map1{
background-repeat:no-repeat;
position: relative;
width:930px;
}
.hokkaido_map1 {
 background-image: url("/content/dam/sites/wwwjalcojp/jp/ja/domtour/jaldp/skisp/fy23/hok/img_sites/map_hokkaido1.jpg");
 height:665px;
}
.tohoku_map1 {
background-image: url("/content/dam/sites/wwwjalcojp/jp/ja/domtour/jaldp/skisp/fy24/thu/img_sites/pic_map_tohoku_pc.jpg");
height:628px;
}
@media (max-width: 739px) {
	.hokkaido_map1,
	.tohoku_map1{
		width: 100%;
		height: auto;
		background-image: none;
	}
}
@media (max-width: 739px) {
	.linkList{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
}
.map_area {
 position: absolute;
	box-sizing: border-box;
	min-width: 144px;
}
@media (max-width: 739px) {
	.map_area{
		position: static;
		min-width: none;
		width: calc(50% - 5px);
	}
	.map_area:nth-of-type(n+3){
		margin-top: 10px;
	}
}
.map_area a {
box-sizing: border-box;
position: relative;
color: #fff;
display: block;
background-color: #d54242;
border-radius: 4px;
padding: 5px 25px 3px 25px;
text-align: center;
text-decoration: none;
border:solid 2px #d54242;
font-weight: bold;
font-size: 15px;
}
.map_area a:hover {
box-sizing: border-box;
color: #d54242;
background-color: #fff;
border:solid 2px #d54242;
}
.map_area a::after {
position: absolute;
content: "";
height: 0;
width: 0;
border: 5px solid transparent;
border-left-color: #fff;
top: calc(50% - 5px);
right: 6px;
}
.map_area a:hover::after {
border-left-color: #d54242;
}
.hokkaido_map1 .map_area_01 {
	top: 276px;
	left: 2px;
}
.hokkaido_map1 .map_area_02 {
	top: 458px;
	left: 2px;
}
.hokkaido_map1 .map_area_03 {
	top: 367px;
	left: 2px;
}
.hokkaido_map1 .map_area_04 {
	top: 478px;
	left: 289px;
}
.hokkaido_map1 .map_area_05 {
	top: 491px;
	left: 46px;
}
.hokkaido_map1 .map_area_06 {
	top: 232px;
	left: 84px;
}
.hokkaido_map1 .map_area_07 {
	top: 460px;
	left: 475px;
}
.hokkaido_map1 .map_area_08 {
	top: 333px;
	left: 475px;
}
.hokkaido_map1 .map_area_09 {
	top: 240px;
	left: 475px;
}
.hokkaido_map1 .map_area_10 {
	top: 185px;
	left: 2px;
}
.hokkaido_map1 .map_area_11 {
	top: 147px;
	left: 155px;
}
.hokkaido_map1 .map_area_12 {
	top: 147px;
	left: 387px;
}
.hokkaido_map1 .map_area_13 {
	top: 490px;
	left: 226px;
}
.hokkaido_map1 .map_area_21 {
	top: 221px;
	left: 260px;
}
.hokkaido_map1 .map_area_22 {
	top: 329px;
	left: 168px;
}
.hokkaido_map1 .map_area_23 {top: 377px;left: 100px;}
.hokkaido_map1 .map_area_99 {right: 0;	top: 40px;}
.tohoku_map1 .map_area_03 {
	top: 117px;
	left: 130px;
}
.tohoku_map1 .map_area_04 {
	top: 256px;
	left: 495px;
}
.tohoku_map1 .map_area_02 {
	top: 101px;
	left: 495px;
}
.tohoku_map1 .map_area_01 {
	top: 502px;
	left: 130px;
}
/* map非活性 */
.map_area.inactive a {
    background-color: #aaa;
    color: #fff;
    line-height: 1.1;
    padding: 3px 10px 2px;
    border-color: #aaa;
    pointer-events: none;
    cursor: auto;
}
.map_area.inactive a::after{
    display: none;
}
@media (min-width: 740px){
    .map_area.inactive a{
        padding-left: 20px;
        padding-right: 20px;
    }
	.hokkaido_map1 .map_area_09 {
		width: 170px;
	}
}
.map_area.inactive.map_area_10{
    top: 270px;
}
.map_area.inactive.map_area_11{
    top: 220px;
    left: 145px;
}
.map_area.inactive.map_area_12{
    top: 210px;
}
/* mapIcon */
.mapIconList{
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	position: absolute;
	top: 486px;
	right: 30px;
}
.tohoku_map1 .mapIconList{
	right: 60px;
}
.mapIconList p:not(:first-child){
	margin-top: 15px;
}
.linkList .mapIconList{
	align-items: center;
	flex-direction: row;
	top: -29px;
	right: auto;
}
.linkList .mapIconList p:not(:first-child){
	margin-top: 0;
	margin-left: 3px;
}
.mapIconList p span,
.mapIconList [class*="icon"]{
	display: inline-block;
	vertical-align: middle;
}
.mapIconList p span{
	margin-left: 12px;
	font-weight: bold;
}
.mapIconList .iconFullPlan{
	width: 32px;
	height: 20px;
}
.mapIconList .iconBus{
	width: 32px;
	height: 18px;
}
.mapIconList .iconCoupon{
	width: 35px;
	height: 16px;
}
.mapIconList .iconSki{
	width: 22px;
	height: 24px;
}
.mapIconList .iconMeal{
	width: 36px;
	height: 23px;
}
@media (max-width: 739px){
	.mapIconList{
		display: none;
	}
}
.bg-yellow {
 background-color:#fffddd;
 padding:10px;
}
.bg_red{
    background-color: #fde8e8;
}
.anchor_up .txtLink.iconDown::before {
	transform: rotate(-180deg);
	margin-top: -5px;
}
.fs28{font-size:2.8rem !important}

.maxTxtcp-top{
	background: #ff9800;
    border-radius: 5px 5px 0 0;
    font-size: 25px;
    font-weight: bold;
    color: #fff;
    padding: 5px 0 3px;
}
.maxTxtcp-btm{
	background: #ffbf60;
    padding: 10px;
    border-radius: 0 0 5px 5px;
    color: #fff;
    border-right: 3px solid #ff9800;
    border-bottom: 3px solid #ff9800;
    border-left: 3px solid #ff9800;
}
.maxTxtcp-btm span {
	font-weight: bold;
    font-size: 20px;
    color: #cc0000;
}
.bg-content {
	background: #e7e7e7;
    padding: 5px 10px;
}
.txtttl {
	font-size: 15px;
	font-weight: bold;
}
.ctm_pageTtl.app_page_ttl {
	background-color:#c41419;
	color:#fff;
}
[class*="logo_hayagime"] {
	position: relative;
}
[class*="logo_hayagime"]::after {
	content: "";
	background: url("/domtour/jaldp/commony18/img_sites/logo_hayagime45_small.gif") no-repeat center / cover;
	width: 81px;
	height: 48px;
	position: absolute;
}
.logo_hayagime--top::after {
	top: 10px;
	right: 10px;
}
.logo_hayagime--mdl::after {
	top: 40%;
	right: 10px;
}

/*===== FY22 =====*/
/* TOP */
.teaser{
    border: 2px solid #cc0000;
    padding: 15px 10px;
}
.teaser .text p {
    font-size: 1.6rem;
}
@media (min-width: 740px) {
    .teaser{
        border: 2px solid #cc0000;
        padding: 30px 10px;
    }
    .teaser .text p {
        font-size: 3rem;
    }    
}
/* area */
.ctm_pageTtl.hc01.areaTtl{
	background-color:#d54242;color:#fff;
}
.title .hayagime{
    width: 26%;
    position: relative;
    left: 20px;
    bottom: 35px;
}
.mbm h2{
    margin-bottom: -30px;
}
.hotelUnit{
    padding: 0 15px 15px;
    border: 1px solid #ccc;
}
@media (min-width: 740px){
    .hotelUnit{
        padding: 0 20px 15px;
    }
}
.hotelUnit .inner_ttl .heading,
.ctm_bdrColumn .inner_ttl .heading{
    position: relative;
    display: inline-block;
    padding-right: 40px;
}
@media (min-width: 740px){
	.inner_ttl .ttlHtl .heading{
		font-size: 1.8rem;
	}
}
.inner_ttl [class^="icon-bath"]{
    position: absolute;
    text-align: center;
    font-size: 10px;
    top: -1.2em;
    right: 10px;
    display: block;
    line-height: 1;
}
.inner_ttl [class^="icon-bath"][class*="--none"]{
    display: none;
}
.inner_ttl [class^="icon-bath"] i {
    display: block;
    font-size: 12px;
    color: #ffffff;
    font-weight: 700;
    border-radius: 50%;
    width: 2em;
    height: 2em;
    padding: 4px 0;
    background-color: #ff66b8;
    line-height: 1.5;
}
.addIcon{
	position: relative;
}
.addIcon .iconHayagime{
	width: 81px;
	height: 48px;
	position: absolute;
	top: 10px;
	right: 10px;
}
.addIcon .iconAward2021{
	width: calc(88 / 480 * 100vw);
	max-width: 88px;
	height: 104px;
	position: absolute;
	top: 10px;
	left: 10px;
}

.ctm_bdrColumn[class*="bc"].areaClm .col{
	position: relative;
	padding-top: 25px;
}
.ctm_bdrColumn[class*="bc"].areaClm .col [class*="icon_"]{
	display: inline-block;
	background-color: #cc0000;
	padding: 5px 10px;
	position: absolute;
	top: 0;
	left: 0;
	font-size: 1.4rem;
	color: #fff;
	font-weight: normal;
}
/* family&student */
.areaClm.withImage .colWrap .col:first-child{
    border: none;
    display: flex;
    align-items: flex-end;
}
.areaClm.withImage .colWrap .col:first-child .imgParts figcaption{
    text-align: right;
}

/* イベントリンク */
.eventLink-wrap .eventLink-lead{color:#c00;text-align: center;font-size: 16px;}
.eventLink-wrap .eventLink-group{display:flex;justify-content:center;flex-wrap:wrap;}
.eventLink-wrap .eventLink-group .eventLink-txt{font-size: 16px;position: relative;margin-left: 20px;}
.eventLink-wrap .eventLink-group .eventLink-txt:before{content: "|";position:absolute;left:-13px;}
.eventLink-wrap .eventLink-group .eventLink-txt:first-of-type{margin: 0;}
.eventLink-wrap .eventLink-group .eventLink-txt:first-of-type:before{content: "";}
.eventLink-wrap .eventLink-group .eventLink-txt a{color: #0f0f69;}

/* ---------------------------------
News topics
--------------------------------- */
.newsTopics .ctm_pageTtl.hc01{
	background-color: transparent;
	color: #333;
}
.newsTopics .ctm_pageTtl .ttlLv1 .heading{
	font-size: 2.4rem;
}
.newsTopics .ctm_pageTtl .ttlLv1 .heading .sub{
	font-size: 1.8rem;
	display: block;
}
.newsTopics .topicList div{
    display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	border-bottom: 1px dashed #aaa;
	padding-bottom: 8px;
}
.newsTopics .topicList .date{
	width: 10em;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.newsTopics .topicList .topicIcon{
	width: 4em;
	display: inline-block;
	text-align: center;
	padding: 3px;
	background-color: #cc0000;
	color: #fff;
	font-weight: bold;
}
.newsTopics .topicList .detail{
	width: 100%;
	margin-top: 10px;
}
@media (min-width: 740px){
	.newsTopics .topicList .detail{
		width: calc(100% - 11em);
		margin-top: 0;
	}
	.newsTopics .ctm_pageTtl .ttlLv1 .heading{
		font-size: 3rem;
	}
	.newsTopics .ctm_pageTtl .ttlLv1 .heading .sub{
		font-size: 2.4rem;
	}
}
.areaSelect{
	position: relative;
}
.areaSelect .heading{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
.areaSelect .selectLabel{
	display: inline-block;
    padding: 5px 10px;
    background-color: #c04000;
    color: #fff;
    font-size: 1.6rem;
    vertical-align: middle;
	position: absolute;
	top: 0;
	right: 10px;
}
.addAnnotation{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	position: absolute;
	top: -6px;
	right: 0;
}
.addAnnotation .annotation{
	font-size: 1.2rem;
	padding-top: 3px;
}
.addAnnotation .selectLabel{
	position: static;
}
.areaSelect.gray .selectLabel{
	background-color: #EFEFEF;
	color: #c00;
}
@media (min-width: 740px){
	.areaSelect .selectLabel{
		position: static;
		line-height: 2;
		margin-left: 1em;
	}
	.inner_ttl + .inner_ttl .areaSelect .ttlLv2,
	.inner_ttl + .inner_ttl .areaSelect .ttlLv3{
		padding-top: 20px;
	}
	[class*="ttlLv"] .heading .selectLabel{
		font-size: 2rem;
	}
	.addAnnotation{
		position: static;
	}
	.addAnnotation .annotation{
		line-height: 1.5;
	}
}
@media (max-width: 739px) {
	.areaSelect .ttlLv2,
	.areaSelect .ttlLv3,
	.areaSelect .ttlLv4,
	.areaSelect .ttlLv5{
		margin-top: 20px;
		padding-top: 45px;
	}
	.inner_ttl + .inner_ttl .areaSelect .ttlLv2,
	.inner_ttl + .inner_ttl .areaSelect .ttlLv3{
		margin-top: 0;
	}
	.areaSelect .ttlLv2 .selectLabel,
	.areaSelect .ttlLv3 .selectLabel,
	.areaSelect .ttlLv4 .selectLabel,
	.areaSelect .ttlLv5 .selectLabel{
		top: 10px;
		right: 0;
	}
}
/* indentList */
.indentList .text:first-child p::after{
	content: '：';
}
.indentList02 .text p {
	display: flex;
}
.indentList02 .text p > b{
	white-space: nowrap;
}
@media (min-width:740px){
	/* .indentList{
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
	} */
	.indentList .text{
		width: auto !important;
	}
}
/* 専用ダイヤルアンカー */
.tourDialAnchor {
	background-color: #fde8e8;
	border:2px solid #cc0000;
	padding: 18px;
}
/* 専用ダイヤル */
.tourDial .contactBlock{
	background-color: #fde8e8;
}
.tourDial .contactBlock .attention{
	background-color: #eaf4ff;
	padding: 3px;
	font-weight: bold;
}
.tourDial .contactBlock .attention02{
	background-color: #fff9ea;
	padding: 3px;
	font-weight: bold;
    margin-bottom: 4px;
}
/* ---------------------------------
area_Wrap
--------------------------------- */

.c-areaBlock {
	display: flex;
	padding-bottom: 20px;
	margin-bottom: 5px;
	border-bottom: 1px solid #ccc;
  }
  .c-areaBlock {
	display: flex;
  }
  dt.c-areaBox {
	margin-right: 50px;
	margin-top: 15px;
	width: 80px;
  }
  dt.c-areaBox a {
	text-decoration: underline;
  }
  dd.c-areaBox {
	width: 100%;
  }
  dd.c-areaBox .c-areaItemBox {
	display: flex;
	flex-wrap: wrap;
	font-size: 14px;
  }
  dd.c-areaBox .c-areaItemBox li {
	margin-right: 40px;
	margin-top: 15px;
  }
  dd.c-areaBox .c-areaItemBox a {
	text-decoration: underline;
	text-decoration-color: #333333;
  }
  
  .c-area_Wrap .c-linkBtn {
	margin-top: 40px;
  }
  
  .c-area_Wrap .c-linkBtn a {
	width: 258px;
	margin: 0 auto;
	display: block;
  }
  
  .c-area_Wrap .c-linkBtn.-top a {
	margin: 0 0 0 auto;
  }
  
  @media screen and (max-width:480px) {
	dt.c-areaBox {
	  margin-right: 40px;
	  margin-left: 10px;
	  font-size: 14px;
	}
	.c-area_Wrap .c-linkBtn a {
	  width: 70%;
	}
  }
  /* リンク矢印 */
  .c-linkTxt {
	position: relative;
  }
  .c-linkTxt::after {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border-top: 1.5px solid #cc0000;
	border-right: 1.5px solid #cc0000;
	position: absolute;
	top: 50%;
	right: -15px;
	transform: translateY(-50%) rotate(45deg);
	translate: .4s;
  }
  .c-linkTxt.-adjustment01::after {
	right: -35px;
  }
  .c-linkTxt.-adjustment02::after {
	right: -50px;
  }
  /* テキストリンク非活性 */
  a.c-linkTxt.disabled {
	text-decoration: none !important;
	cursor: auto;
    color: #95979b;
  }
  a.c-linkTxt.disabled:hover {
	opacity: 1;
	pointer-events: none;
	cursor: auto;
  }
  a.c-linkTxt.disabled::after {
	content: none;
  }

/* inactive button */
.inactive .btn:hover{
	cursor: auto;
	text-decoration: none;
}
.inactive .btn .altIcon,
.inactive .btn::after{
	display: none;
}

/* tripAdvisor */
.tripBox180{
	margin: auto;
}

.ctm_contentsFull{
	background-color:#f0f8ff;
	padding:20px;
	/* padding: 20px 0; */
}
.ctm_contentsFull.bg_attention{
	background-color:#fde8e8;
}
.ctm_contentsFull .areaSelect{
	padding-top: 2.8em;
}
.ctm_contentsFull .areaSelect.addTxt{
	padding-top: 3.5em;
}
.ctm_contentsFull .areaSelect .addAnnotation{
	text-align: right;
}
@media (min-width: 740px){
	.ctm_contentsFull .areaSelect{
		padding-bottom: 0;
	}
	.ctm_contentsFull .areaSelect .selectLabel{
		position: absolute;
		top: 30%;
		bottom: auto;
		transform: translateY(-50%);
	}
	.ctm_contentsFull .areaSelect .addAnnotation {
		text-align: right;
		position: absolute;
	}
	.ctm_contentsFull .areaSelect .addAnnotation .selectLabel{
		position: static;
		transform: translateY(0);
	}
}
/* 追従リンク */
.fixedAnchror{
    width: 100%;
    position: fixed;
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    z-index: 99;
}
@media (min-width: 739px){
    .fixedAnchror{
		width: 110px;
        bottom: 70px;
        right: 0.82vw;
		margin: 0 0 0 auto;
    }
}
@media (min-width: 1330px) {
    .fixedAnchror {
        right: 4.2vw;
		bottom: 20px;
    }
}

/* pointBox */
.pointBox{
	border: 1px solid #ccc;
	padding: 10px;
}
/* font-size custom */
.fsCustom strong,
.fsCustom b {
	font-size: 2rem;
}
.fsCustom02 strong,
.fsCustom02 b {
	font-size: 1.8rem;
}
@media (min-width: 740px){
	.fsCustom strong,
	.fsCustom b {
		font-size: 1.8rem;
	}
	.fsCustom02 strong,
	.fsCustom02 b {
		font-size: 1.6rem;
	}
}

/* 「ゆ」マーク */
.springMarkArea {margin: 20px 0;padding: 8px 12px 12px;border: 1px solid #ccc;}
.springMark {text-align:center;}
.springMark [class^="iconBath"]{text-align: center; font-size: 10px; font-weight: bold; color: #002060;}
.springMark [class^="iconBath"] i {display: block;font-size: 12px;color: #ffffff;font-weight: 700;border-radius: 50%;width: 2em;height: 2em;padding: 4px 0;margin: 0 auto;}
.springMark [class^="iconBath"][class*="Free"] i{background-color: #ff66b8;}
.springMark [class^="iconBath"][class*="Paid"] i{background-color: #ff66b8;}
.periodtext_02 {
    background-color: #7d0000;
    padding: 10px;
}
.periodtext_03 {
    background-color: #fff;
    padding: 20px;
}

@media (max-width: 739px){
    .springMarkArea {padding: 10px 12px 14px 2px;}
}

/*other*/
.taR{
    text-align: right
}

/* 「ゲレンデ満喫3日間」コースには、2つのポイントが付いておトク！～ */
.mankitsuPriceExampleArea{
    border: 2px solid #CC0000;
    padding: 20px;
}
@media (max-width: 739px) {
	.mankitsuPriceExampleArea{
		padding: 15px;
	}
}
.mankitsuPriceExampleArea .ctm_iconTxt_ski-PLANS,
.mankitsuPriceExampleArea .ctm_iconTxt_ski-DP_PRICE,
.mankitsuPriceExampleArea .ctm_iconTxt_ski-MANKITSU_PRICE{
    display: inline-block;
    font-size: clamp(2.2rem, calc(2rem + 1vw), 3rem);
}
.mankitsuPriceExampleArea .ctm_iconTxt_ski-DP_PRICE,
.mankitsuPriceExampleArea .ctm_iconTxt_ski-MANKITSU_PRICE{
    font-size: clamp(3rem, calc(2.8rem + 1vw), 3.8rem);
}
.mankitsuPriceExampleArea .ctm_iconTxt_ski-PLANS{
    color: #cb7b13;
}
.mankitsuPriceExampleArea .ctm_iconTxt_ski-DP_PRICE{
    color: #0091D5;
}
.mankitsuPriceExampleArea .ctm_iconTxt_ski-MANKITSU_PRICE{
    color: #CC0000;
}
.mankitsuPriceExampleArea .mankitsuPriceExample .m-p-e-icons{
    display: flex;
	flex-wrap: wrap;
    align-items: center;
	margin-left: 15px;
}
@media (max-width: 739px) {
	.mankitsuPriceExampleArea .mankitsuPriceExample .m-p-e-icons{
		margin-top: 18px;
		margin-left: 25px;
	}
}
.mankitsuPriceExampleArea .mankitsuPriceExample .m-p-e-icons .m-p-e-symbol{
    font-size: clamp(2.2rem, calc(2rem + 1vw), 3rem);
}
.mankitsuPriceExampleArea .mankitsuPriceExample .m-p-e-icons .text{
    width: unset;
}
@media (max-width: 500px) {
	.mankitsuPriceExampleArea .mankitsuPriceExample .m-p-e-icons .text{
		width: 45%;
	}
	.mankitsuPriceExampleArea .mankitsuPriceExample .m-p-e-icons .text:nth-last-child(2){
		margin-left: 10px;
	}
	.mankitsuPriceExampleArea .mankitsuPriceExample .m-p-e-icons .text:nth-last-child(3){
		width: 100%;
	}
	.mankitsuPriceExampleArea .mankitsuPriceExample .m-p-e-icons .text:last-child{
		width: unset;
	}
}
.mankitsuPriceExampleArea .mankitsuPriceExample .m-p-e-icons .text:has(> .m-p-e-symbol){
    width: 50px;
    text-align: center;
}
.mankitsuPriceExample .m-p-e-title span.fs3L {
    background: linear-gradient(transparent 44%, #ffff00 0%);
    padding: 0 5px;
}
.mankitsuPriceExample .m-p-e-icons .ctm_iconTxt_ski-MANKITSU_PRICE {
    background: linear-gradient(transparent 44%, #ffff00 0%);
    padding: 0 10px;
}

/* 旅行代金 */
.travelCostArea{
	border: 2px solid #CC0000;
	padding: 20px 0;
}
.travelCostArea .travelCostExample{
	background-color: #ddebf7;
	padding: 15px 10px;
}
.travelCostArea .travelCostExample .m-p-e-icons{
	display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
}
@media (max-width:500px) {
	.travelCostArea .travelCostExample .m-p-e-icons{
		justify-content: flex-start;
		flex-direction: row;
		margin-left: 15px;
	}
}
.travelCostArea .travelCostExample .m-p-e-icons .text{
    width: unset;
	margin-right: 15px;
}
@media (max-width:500px) {
	.travelCostArea .travelCostExample .m-p-e-icons .text{
		width: 45%;
	}
	.travelCostArea .travelCostExample .m-p-e-icons .text:first-child{
		width: calc(100% - 30px);
		margin-bottom: 10px;
		border-bottom: 1px solid rgba(0, 0, 0, 0.8);
	}
	.travelCostArea .travelCostExample .m-p-e-icons .text:nth-child(2){
		display: none;
	}
}
.travelCostArea .travelCostExample .m-p-e-icons .text:last-child{
    margin-right: 0;
}
.travelCostArea .travelCostExample .ctm_iconTxt_ski-TRAVEL_PRICE{
	color: #000;
}
.travelCostArea .travelCostExample .ctm_iconTxt_ski-TRAVEL_PLANS{
	color: #cb7b13;
}
.travelCostArea .travelCostExample .ctm_iconTxt_ski-TRAVEL_PRICE,
.travelCostArea .travelCostExample .ctm_iconTxt_ski-TRAVEL_PLANS{
    display: inline-block;
    font-size: clamp(2.2rem, calc(2rem + 1vw), 3rem);
}
.travelCostArea .travelCostExample .m-p-e-icons .m-p-e-symbol{
    font-size: clamp(2.2rem, calc(2rem + 1vw), 3rem);
}
.travelCostArea .travelCostExample .m-p-e-texts .text p{
	font-size: clamp(1.3rem, calc(1.1rem + 1vw), 1.8rem);
}

/* 60th Anniversary */
.borderBox{
	border: #E70012 solid 6px;
	border-radius:10px;
	padding: 7px;
}
@media (min-width: 740px) {
    .borderBox{
		padding: 20px;
	}
}
.anniversary--otokuTitle{
	position: relative;
	display: inline-block;
}
.anniversary--otokuTitle p{
	display: inline-block;
}
.anniversary--otokuTitle::before,
.anniversary--otokuTitle::after{
	content: "";
	position: absolute;
	top: 2px;
	border-right: 2px solid #CC0000;
	height: 22px;
}
.anniversary--otokuTitle::before{
	left: -10px;
	transform: rotate(-24deg);
}
.anniversary--otokuTitle::after{
	right: -10px;
	transform: rotate(24deg);
}
@media (max-width: 739px) {
	.borderBox{
		padding: 10px;
	}
	.anniversary--otokuTitle{
		margin-top: 15px;
	}
	.borderBox .text:has(.anniversary--otokuTitle){
		text-align: center;
	}
}

/* 画像、注釈右寄せ */
.--imgNoteList-right{
	display: flex;
	justify-content: flex-end;
}

/* ゆ マークについて 右寄せ */
.--imgNoteList-right .textlink.textlinkbox{
	display: flex;
    justify-content: flex-end;
}

/* TOP アプリアイコン */
.--top-spAppIcons-wrap {
    display: flex;
}
.--top-spAppIcons-wrap .img:has(> .--top-spAppIcons-icon){
	width: 150px;
}
.responsivegrid .--top-spAppIcons-wrap .img:has(> .--top-spAppIcons-icon) {
    width: 150px;
}
.responsivegrid .--top-spAppIcons-wrap .img:has(> .--top-spAppIcons-icon):first-child {
    margin-right: 20px;
}

/* 温泉アイコン説明 */
.icon-bath-wrap {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-content: flex-end;
}
.i-b-w-fp {
    display: flex;
    flex-direction: column;
}
.i-b-w-fp:not(:first-child) {
    margin-top: 5px;
}
span.i-b-w-text {
    display: inline-block;
    font-weight: bold;
    font-size: 1rem;
    padding-left: 2px;
}
.i-b-w-icons {
    display: flex;
    flex-direction: row;
}
.icon-bath-wrap i {
    background-color: #ff66b8;
    display: block;
    font-size: 12px;
    color: #ffffff;
    font-weight: bold;
    border-radius: 50%;
    width: 2em;
    height: 2em;
    padding-top: 4px;
    text-align: center;
}
.i-b-w-icons span {
    padding: 2px 0 0 5px;
}
@media (max-width: 739px) {
    span.i-b-w-text{
        padding-left: 1px;
    }
    .i-b-w-icons span{
        font-size: 1.4rem;
    }
}

/* タブ切り替え下、見出しタイトル */
.ctm_pageTtl .ttlLv2 .heading .ttlLv2-plus{
	font-size: 3.8rem;
}
@media (max-width: 739px) {
	.ctm_pageTtl .ttlLv2 .heading .ttlLv2-plus{
		font-size: 3rem;
	}
}

/* 満喫コース料金一例 */
[class^="--planPrice-"]{
    text-align: center;
}
.--planPrice-normal .imgParts img{
    width: 72%;
}
.--planPrice-normal-3Item .imgParts img{
    width: 77%;
}
.--planPrice-full-4Item .imgParts img{
    width: 90%;
}
.--planPrice-full-5Item .imgParts img{
    width: 100%;
}
@media (min-width: 740px) {
    .--planPrice-normal .imgParts img{
        width: 54%;
    }
	.--planPrice-normal-3Item .imgParts img{
        width: 66%;
    }
    .--planPrice-full-4Item .imgParts img{
        width: 83%;
    }
	.--planPrice-full-5Item .imgParts img{
		width: 96%;
	}
}

/* recommendBox の上余白統一 */
@media (max-width: 739px) {
	.clm_1_2col.colWrap .col:nth-of-type(n+2):has(.pointTtl){
		margin-top: 24px;
	}
}

/* FAQ リンクボタン */
.btnBox > div.--faqBtn{
	display: flex;
}


/* OnTripJAL */
.--onTripJAL-wrap {
    background-color: #fff0f1;
}
.--onTripJAL-ttl .ttlLv1 .heading {
    font-size: 2.4rem;
}
.--onTripJAL-wrap .ctm_pageTtl .ttlLv2 {
    margin: 30px auto 0;
	padding: 0 10px 0;
    color: #cc0000;
}
.--onTripJAL-wrap .ctm_pageTtl .ttlLv2 .heading {
    font-size: 3rem;
}
.--onTripJAL-linkWrap {
    width: 100%;
    padding: 24px 30px 15px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}
.--onTripJAL-linkWrap .--onTripJAL-freehtml {
    width: unset;
    margin: 0 15px 15px 0;
    position: relative;
}
.--onTripJAL-linkWrap .--onTripJAL-link-a {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    border: 1px solid #ab0000;
    border-radius: 50px;
    padding: 10px 24px 10px 12px;
    background-color: #fff;
}
.--onTripJAL-linkWrap .--onTripJAL-link-a::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 14px;
    width: 6px;
    height: 6px;
    border-top: 1px solid #ab0000;
    border-right: 1px solid #ab0000;
    -webkit-transform: rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
}
.--onTripJAL-linkWrap .--onTripJAL-link-a div {
    font-size: 1.2rem;
    font-weight: bold;
}
@media (max-width: 739px) {
	.--onTripJAL-ttl .ttlLv1 .heading {
		font-size: 2.0rem;
	}
	.--onTripJAL-wrap .ctm_pageTtl .ttlLv2 .heading {
		font-size: 2.4rem;
	}
	.--onTripJAL-linkWrap {
		padding: 24px 20px 15px;
	}
	.--onTripJAL-linkWrap .--onTripJAL-freehtml {
		margin: 0 0 15px 0;
	}
}
/* アンダーライン */
.textLine {
    text-decoration-line: underline;
    text-decoration-color: #ffff00;
    text-decoration-thickness: 5px;
}

/* 画像ホバー時のカラー変更 */
.areaImg {
  transition: filter 0.3s ease; 
}

.areaImg:hover {
  filter: brightness(1.1); 
}

/* 旅行代金 */
.responsivegrid > .areaColor {
  background-color: #e7f3ff;
  padding: 20px 10px 20px 10px;
}
.responsivegrid > .areaColor .fcRD .fs2L {
  text-decoration: underline 2px #ffff00;
  text-underline-offset: 0.4em;
}
.ski-price .fcWT{
  background-color: #cc0000;
  margin-right: 20px;
  padding: 4px 15px 2px 15px;
  border-radius: 5px;
}
@media (max-width: 739px) {
	.cstmMgt {
		margin-top: 5px;
	}
	}
	
/* 旅行代金部分のアイコンタグ */
.icon_position {
  display: flex;
  flex-direction: column;
}

.icon-text-container {
    display: flex;
    align-items: center;
    border-radius: 5px;
}
.icon-hotel {
    background-image: url("/content/dam/sites/wwwjalcojp/jp/ja/domtour/jaldp/skisp/fy25/common/img_sites/pic_icon_hotel.png");
    background-repeat: no-repeat;
    background-size: 28%;
    border: 1.5px solid #005A9C;
    color: #005A9C;
    margin-right: 23px;
    padding-left: 27px;
}
.icon-food {
    background-image: url("/content/dam/sites/wwwjalcojp/jp/ja/domtour/jaldp/skisp/fy25/common/img_sites/pic_icon_meal.png");
    background-repeat: no-repeat;
    background-size: 24%;
    border: 1.5px solid #cc0000;
    color: #cc0000;
    margin-right: 17px;
    padding-left: 25px;
    margin-top: 11px;
}
.icon-meal02{
    background-image: url("/content/dam/sites/wwwjalcojp/jp/ja/domtour/jaldp/skisp/fy25/common/img_sites/pic_icon_meal.png");
    background-repeat: no-repeat;
    background-size: 23%;
    border: 1.5px solid #cc0000;
    color: #cc0000;
    margin-right: 10px;
    padding-left: 21px;
    margin-top: 10px;   
}

@media (max-width: 739px) {
  .icon-hotel{
    margin-right: -20px;
  }
  .icon-food{
    margin-right: -30px;
    padding-left: 25px;
  }
  .icon-meal02{
    margin-right: -47px;
    padding-left: 25px;
  }
}


/* 3カラム調整 */
@media (min-width: 740px) {
.cstmClm02 .clm_1_3col.colWrap .col {
	width: 286px;
}
}

/* アイコン クリック 01 */
span.icon-click-01 {
    display: inline-block;
    position: relative;
    content: url(/content/dam/sites/wwwjalcojp/jp/ja/domtour/jaldp/skisp/fy25/common/img_sites/parts_click-01.png);
    height: 30px;
    width: auto;
    margin-left: 6px;
    top: 2px;
}
@media (min-width: 740px) {
	span.icon-click-01 {
		height: 45px;
        margin-left: 10px;
        top: 2px;
	}
}

/* ボタン類 中央寄せ */
.linkbtn.btnBox > .btn-position-center {
    display: block;
    width: fit-content;
    margin: 0 auto;
}

/* 「ゲレンデ満喫3日間」コースには、3つのポイントが付いておトク！ */
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl {
    width: calc(100% + 20px);
	margin-left: -10px;
    border: 4px solid transparent;
    padding: 5px 10px 10px;
	background-color: #ededed;
}
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl.--mankitsu {
	border: 4px solid #CC0000;
    background-color: #FFF2F2;
}
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .ctm_pageTtl > .ttlLv2 {
	padding-top: 0;
    padding-bottom: 0;
    margin-top: 10px;
    margin-bottom: 0;
}
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .ctm_pageTtl > .ttlLv2 > .heading {
	font-size: 2.4rem;
}
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .ctm_pageTtl > .ttlLv3 {
	padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
    margin-top: 10px;
    margin-bottom: 0;
}
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .ctm_pageTtl > .ttlLv3 > .heading {
	font-size: 1.6rem;
    padding-right: 0;
    padding-left: 0;
}
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .gm-items {
	margin-top: 15px;
	padding: 20px 15px;
	background-color: #fff;
}
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .gm-items .gm-items-img img {
	object-fit: contain;
    height: 120px;
}
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .gm-items .gm-items-plans {
	margin-top: 20px;
}
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .gm-items .gm-items-plans .gm-i-p-labels {
	gap: 6px;
	flex-wrap: wrap;
    justify-content: center;
}
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .gm-items .gm-items-plans .gm-i-p-labels > .text {
	width: fit-content;
	font-size: 1.4rem;
}
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .gm-items .gm-items-plans .gm-i-p-labels > .text .gm-i-p-labels-01,
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .gm-items .gm-items-plans .gm-i-p-labels > .text .gm-i-p-labels-02 {
	position: relative;
	border-radius: 3px;
	padding: 1px 10px 0px 28px;
	font-weight: bold;
}
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .gm-items .gm-items-plans .gm-i-p-labels > .text .gm-i-p-labels-01 {
    border: 2px solid #003B76;
    background-color: #E7F3FF;
    color: #003B76;
}
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .gm-items .gm-items-plans .gm-i-p-labels > .text .gm-i-p-labels-02 {
    border: 2px solid #CC0000;
    background-color: #FFE7E7;
    color: #CC0000;
}
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .gm-items .gm-items-plans .gm-i-p-labels > .text .gm-i-p-labels-01::before,
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .gm-items .gm-items-plans .gm-i-p-labels > .text .gm-i-p-labels-02::before {
	content: "";
	background-size: contain;
	background-repeat: no-repeat;
	display: block;
	position: absolute;
	left: 0;
	top: 1px;
	width: 22px;
	height: 22px;
}
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .gm-items .gm-items-plans .gm-i-p-labels > .text .gm-i-p-labels-01::before {
    background-image: url(/content/dam/sites/wwwjalcojp/jp/ja/domtour/jaldp/skisp/fy25/common/img_sites/pic_icon_hotel.png);
}
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .gm-items .gm-items-plans .gm-i-p-labels > .text .gm-i-p-labels-02::before {
    background-image: url(/content/dam/sites/wwwjalcojp/jp/ja/domtour/jaldp/skisp/fy25/common/img_sites/pic_icon_meal.png);
}
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .gm-items .gm-items-plans .gm-i-p-amounts {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
}
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .gm-items .gm-items-plans .gm-i-p-amounts > .text {
	width: fit-content;
}
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .gm-items .gm-items-plans .gm-i-p-amounts > .text .gm-i-p-a-amount {
	margin-left: 15px;
    background: linear-gradient(transparent 88%, #f0f000 0%);
    line-height: 1.1;
}
.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .gm-items .gm-items-plans .gm-i-p-amounts > .text .gm-i-p-a-amount .fs3L {
	font-size: 2.8rem !important;
}
@media (min-width: 740px) {
	.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl {
		margin-left: unset;
		width: 100%;
		padding: 10px 15px 15px;
	}
	.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .gm-items .gm-items-img img {
		height: 80px;
	}
	.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .gm-items .gm-items-plans .gm-i-p-labels {
		margin-left: 20px;
		column-gap: unset;
		flex-wrap: unset;
		justify-content: unset;
	}
	.gelendeMankitsu-wrap .gelendeMankitsu-colWrap .gelendeMankitsu-skispl .gm-items .gm-items-plans .gm-i-p-amounts > .text .gm-i-p-a-amount .fs3L {
		font-size: 3.0rem !important;
	}
}

/* リンク付き画像 ピクト ホバー */
.img--hover {
    transition: all 0.3s;
}
.img--hover:hover {
    opacity: 0.6;
}
[class*="img--arrow-"] { position: relative; }
.img--arrow-S { --size: 10px; }
.img--arrow-M { --size: 15px; }
.img--arrow-L { --size: 20px; }
@media (min-widht: 740px) {
	.img--arrow-S { --size: 12px; }
	.img--arrow-M { --size: 18px; }
	.img--arrow-L { --size: 24px; }
}
[class*="img--arrow-"].arrowPosition--top::before { --position: 18%; }
[class*="img--arrow-"].arrowPosition--center::before { --position: 50%; }
[class*="img--arrow-"].arrowPosition--bottom::before { --position: 86%; }
[class*="img--arrow-"]::before {
	content: "";
	display: inline-block;
	position: absolute;
	right: 5%;
	border-right: 2px solid #efefef;
	border-bottom: 2px solid #efefef;
	transform: rotate(-45deg);
	filter: drop-shadow(0px 0px 3px #333);
}
@media (min-width: 740px) {
	[class*="img--arrow-"]::before {
		border-right: 3px solid #efefef;
		border-bottom: 3px solid #efefef;
	}
}
[class*="img--arrow-"]::before {
    top: calc(var(--position) - var(--size) / 2);
    width: var(--size);
    height: var(--size);
}

/* 汎用 -> grid */
.--grid {
    display: grid;
}
.--grid::before,
.--grid::after {
    display: none;
}
.--grid.--g-ji-c {
    justify-items: center;
}
.--grid.--gtc-1col {
    grid-template-columns: 1fr;
}
.--grid.--gtc-2col {
    grid-template-columns: repeat(2, 1fr);
}
.--grid.--gtc-3col {
    grid-template-columns: repeat(3, 1fr);
}
.--grid.--gtc-4col {
    grid-template-columns: repeat(4, 1fr);
}
.--grid.--gtc-1to2 {
    grid-template-columns: 1fr 2fr;
}
.--grid.--ai-center {
	align-items: center;
}
.--grid.--ai-start {
	align-items: start;
}
.--grid.--ai-end {
	align-items: end;
}
.--grid.--ai-stretch {
	align-items: stretch;
}
.--grid.--gap-10 {
    gap: 10px;
}
.--grid.--gap-15 {
    gap: 15px;
}
.--grid.--gap-20 {
    gap: 20px;
}
.--grid.--gap-30 {
    gap: 30px;
}
.--grid.--gap-50 {
    gap: 50px;
}
@media (max-width: 739px) {
    .--grid.--flex-forSP {
        display: flex;
    }
	.--grid.--gap-10-forSP {
		gap: 10px;
	}
	.--grid.--gap-15-forSP {
		gap: 15px;
	}
	.--grid.--gap-20-forSP {
		gap: 20px;
	}
	.--grid.--gap-30-forSP {
		gap: 30px;
	}
	.--grid.--gap-50-forSP {
		gap: 50px;
	}
}
@media (min-width: 740px) {
    .--grid.--gtc-1col-forPC {
        grid-template-columns: 1fr;
    }
    .--grid.--gtc-2col-forPC {
        grid-template-columns: repeat(2, 1fr);
    }
    .--grid.--gtc-3col-forPC {
        grid-template-columns: repeat(3, 1fr);
    }
    .--grid.--gtc-4col-forPC {
        grid-template-columns: repeat(4, 1fr);
    }
	.--grid.--gtc-1to2-forPC {
		grid-template-columns: 1fr 2fr;
	}
}

/* リスト注釈中央寄せ */
.noteList--center ul{
	display: inline-block;
}

@media (max-width: 739px) {
  .noteList--center .noteList > li{
	padding: 0 0 0 1.5em !important;
  }
}

/* タイトル フォントサイズ */
.gerende_ttl .heading{
	font-size: 2rem !important;
}

.ctm_pageTtl.plan_ttl {
    font-size: 2.4rem !important;;
}

.ctm_pageTtl.hc02.planTtl_day5 {
    font-size: 2rem !important;;
}

@media (max-width: 739px) {
    .ctm_pageTtl.plan_ttl {
        font-size: 2rem !important;;
    }
}

/* オプショナルプラン背景 */
.Bg_OptionalPlan {
    background-image: url(/content/dam/sites/wwwjalcojp/jp/ja/domtour/jaldp/skisp/fy25/common/img_sites/pic_optional_plan_pc.jpg);
    background-size: cover;
    background-repeat: no-repeat;
}
@media (max-width: 739px) {
    .Bg_OptionalPlan {
        background-image: url(/content/dam/sites/wwwjalcojp/jp/ja/domtour/jaldp/skisp/fy25/common/img_sites/pic_optional_plan_sp.jpg);
    }
    .otokuText {
        margin-top: 20px;
    }
}