@charset "utf-8";

.ctm_pageTtl.hc03{color:#d54242;}
@media (min-width: 740px) {
	.ctm_pageTtl.hc03 .ttlLv1 .heading{
		font-size: 3rem;
	}
}
.hokkaido_map1,
.tohoku_map1{
background-repeat:no-repeat;
position: relative;
width:950px;
}
.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-top-color: #fff;
top: 40%;
right: 6px;
}
.map_area a:hover::after {
border-top-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;
}
.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: 740px){
    .fixedAnchror{
        width: 950px;
        bottom: 30px;
    }
    .fixedAnchror .imgParts{
        width: 110px;
        height: 110px;
        margin-left: auto;
        margin-right: 0;
    }
}
/* 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
}