@charset "utf-8";
/* ===================================================
	Home CSS
====================================================== */

.cmn_layout02 .flex_box { flex-direction: row; gap: 18px; }
.cmn_layout02 .flex_box + .flex_box { margin-top: clamp(65px, 11.364vw, 125px); }
.cmn_layout02 .flex_box .tit_block { width: 17px; flex-direction: column; }
.cmn_layout02 .flex_box .tit_block::before { content: ''; width: 1px; height: 30px; background: #7f7f7f; }
.cmn_layout02 .flex_box .content_block { width: calc(100% - 35px); }

@media screen and (min-width: 651px) {
	.cmn_layout02 .flex_box .content_block { width: calc(100% - 50px); }
}


#main_movie { display: flex; align-items: center; justify-content: center; overflow: hidden; font-size: 0; line-height: 0; width: 100%; aspect-ratio: 9 / 16; max-height: 100svh; padding-right: 0; position: relative;}
#main_movie::before { position: absolute; top: 0; left: 0; z-index: 5; width: 100%; content: ""; height: 30%; background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 100%); }
#main_movie video { width: 100%; height: 100%; object-fit: cover; }
@media screen and (min-width: 651px) {
	#main_movie { padding-right: 100px; height: 100vh; aspect-ratio: auto; max-height: none; }
}
@media screen and (min-width: 1001px) {
	.flexbox:has(#contents_wrap) { display: flex; }
}

/* ---------------------------------------------------
	main_img
------------------------------------------------------ */
#main_img { display: none; }
#main_img .main_cap .cap_home_txt { font-size: 20px; line-height: 1.5; letter-spacing: 0.06em; }
#main_img .main_cap .cap_home_en { font-size: 8px; letter-spacing: 0.28em; margin-top: 25px; padding-top: 10px; border-top: 1px solid rgba(255, 255, 255, 0.6); }

#bnr_ai { position: fixed; bottom: 20px; left: 20px; z-index: 99; width: 60px; aspect-ratio: 1 / 1; border: 1px #eee solid; border-radius: 50%; }

@media screen and (min-width: 651px) {
	#main_img .main_cap .cap_home_txt { font-size: 25px; }
	#main_img .main_cap .cap_home_en { font-size: 10px; letter-spacing: 0.28em; margin-top: 35px; padding-top: 15px; }
}
@media screen and (min-width: 1001px) {
	#main_img { display: block; position: sticky; }
	.pos_fix #main_img { position: fixed; }
	#main_img .main_cap {
		flex-direction: column;
		align-items: center;
	}
	#bnr_ai { width: 110px; }
}

.ui-widget.ui-widget-content { z-index: 10!important; }


/* ---------------------------------------------------
	lead_col
------------------------------------------------------ */
#lead_col { display: flex; padding: 0 0 clamp(55px, 9.545vw, 105px); }
#lead_col p { font-size: 22px; margin: 0 auto; display: flex; align-items: center; gap: 30px; }
#lead_col p::before { content: ''; background: url(../img/icon_illust01.svg) no-repeat center/contain; width: 60px; height: 35px; display: block; }

@media screen and (hover: hover) and (min-width: 651px) {
}
@media screen and (min-width: 651px) {
	#lead_col p { font-size: 26px; gap: 45px; }
	#lead_col p::before { width: 68px; height: 39px; }
}


/* ---------------------------------------------------
	sec_contents
------------------------------------------------------ */
#sec_contents { padding-bottom: clamp(70px, 11.818vw, 135px); }
#sec_contents .cmn_link_arrow { margin: 15px 0 0 auto; }
#sec_contents .cmn_link_arrow::before { transform: rotate(90deg);}

@media screen and (hover: hover) and (min-width: 651px) {
}
@media screen and (min-width: 651px) {
	#sec_contents .cmn_link_arrow { margin: 20px 0 0 auto; }
}


/* ---------------------------------------------------
	sec_bestrate
------------------------------------------------------ */
#sec_bestrate { padding: clamp(45px, 7.727vw, 80px) 0 clamp(55px, 9.545vw, 105px); background: #000; color: #fff; }
#sec_bestrate h2 { text-align: center; font-size: 20px; line-height: 1.6; letter-spacing: 0.08em; margin-bottom: clamp(30px, 5vw, 55px); }
#sec_bestrate h2 .lg_txt { font-size: 26px; margin: 0 0 0 5px;  }
#sec_bestrate h2 span:not(.lg_txt) { display: inline-block;}
#sec_bestrate .detail_col { display: flex; flex-direction: column; align-items: center; gap: 5px; }
#sec_bestrate .detail_col:after { content: '+'; order: 1; font-size: 50px; color: rgba(255, 255, 255, 0.6); line-height: 1; padding-bottom: 5px; }
#sec_bestrate .detail_col dl { text-align: center; width: 100%; padding: 15px 4%; min-height: 125px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; }
#sec_bestrate .detail_col dl dd {line-height: 1.6;}
#sec_bestrate .detail_col dl dd span { display: inline-block; }
#sec_bestrate .detail_col dl:nth-child(1) { background: #6d6235; color: #fff;}
#sec_bestrate .detail_col dl:nth-child(1) dt { font-size: 24px; display: flex; align-items: center; justify-content: center; gap: 10px; }
#sec_bestrate .detail_col dl:nth-child(1) dt span { width: 50px; height: 50px; font-size: 11px; align-content: center; font-weight: bold; line-height: 1.2; border-radius: 100%; background: rgba(255, 255, 255, 0.15); color: rgba(255, 255, 255, 0.4); }
#sec_bestrate .detail_col dl:nth-child(2) { order: 2; background: #2b4862; gap: 0; padding: 20px 6%; }
#sec_bestrate .detail_col dl:nth-child(2) dt { font-size: 26px; margin-bottom: 5px; padding-bottom: 5px; width: 100%; line-height: 1; border-bottom: 1px solid rgba(255, 255, 255, 0.6); }
#sec_bestrate .detail_col dl:nth-child(2) dd { text-align: left; font-size: 16px; line-height: 1.6; padding-top: 0.2em; }
#sec_bestrate .detail_col dl:nth-child(2) dd p { text-indent: -1em; padding-left: 1em;  }
#sec_bestrate .detail_col dl:nth-child(2) dd .bestrate_link { display: block; margin: clamp(10px, 2.273vw, 25px) auto 0; width: fit-content; text-align: center; color: #fff; font-size: 16px; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px;  }

#bestrate_detail .tit01 { font-size: 22px; text-align: center; color: #6d6235;  }
#bestrate_detail .tit01 + p { margin-top: clamp(20px, 4.091vw, 45px); }
#bestrate_detail .bestrate_list { margin-top: clamp(15px, 3.182vw, 35px); }
#bestrate_detail .bestrate_list li + li { margin-top: clamp(35px, 6.364vw, 70px);}
#bestrate_detail .bestrate_list dl dt { background: #6d6235; color: #fff; text-align: center; font-size: 17px; padding: 10px 5px; line-height: 1.5; }
#bestrate_detail .bestrate_list dl dd { margin-top: clamp(10px, 2.273vw, 25px); }
#bestrate_detail .bestrate_list dl dd p + p { margin-top: 1em; }
#bestrate_detail .btn { margin-top: clamp(25px, 3.636vw, 40px); }
#bestrate_detail .btn a { display: flex; align-items: center; justify-content: center; min-height: 60px; }
#bestrate_detail .caution { margin-top: clamp(10px, 2.273vw, 25px); }
#bestrate_detail .caution li { padding-top: 0.3em; text-indent: -1em; padding-left: 1em; line-height: 1.5em; }
#bestrate_detail .caution li::before { content: '※'; }

@media screen and (hover: hover) and (min-width: 651px) {
}
@media screen and (min-width: 651px) {
	#sec_bestrate h2 { font-size: 26px; }
	#sec_bestrate h2 span { font-size: 36px; }
	#sec_bestrate .detail_col:after { font-size: 62px; }
	#sec_bestrate .detail_col dl { padding: 15px 10px; min-height: 145px; }
	#sec_bestrate .detail_col dl:nth-child(1) dt { font-size: 34px; gap: 25px; }
	#sec_bestrate .detail_col dl:nth-child(1) dt span { width: 72px; height: 72px; font-size: 14px; }
	#sec_bestrate .detail_col dl:nth-child(2) { padding: 25px 6%;}
	#sec_bestrate .detail_col dl:nth-child(2) dt { font-size: 34px; padding-bottom: 10px; margin-bottom: 10px; }
	#sec_bestrate .detail_col dl:nth-child(2) dd { font-size: 18px; }
	#sec_bestrate .detail_col dl:nth-child(2) dd .bestrate_link { font-size: 18px;}
	#bestrate_detail .tit01 { font-size: 40px; }
	#bestrate_detail .bestrate_list dl dt { font-size: 22px; padding: 15px 10px; }
	#bestrate_detail .bestrate_list dl dd p + p { margin-top: 1.5em; }
	#bestrate_detail .btn a { min-height: 85px; }


}



/* ---------------------------------------------------
search_col
------------------------------------------------------ */
#sec_search { padding: clamp(35px, 6.364vw, 70px) 0 clamp(50px, 8.182vw, 90px); }
#sec_search .cmn_tit02 { margin-bottom: clamp(20px, 3.182vw, 35px); }

#sec_search .tabs .tab_link { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; margin-bottom: 15px; }
#sec_search .tabs .tab_link li { width: calc(50% - 5px); }
#sec_search .tabs .tab_link li a { display: block; position: relative; text-align: center; align-content: center; font-size: min(3.3vw, 14px); padding: 10px 4vw 10px 9.5vw; background: #fff; color: #767676; border: 1px solid #ccc0ac; line-height: 1.2; transition: color 0.5s, background 0.5s, border 0.5s; }
#sec_search .tabs .tab_link li a .icon { position: absolute; top: 50%; transform: translateY(-50%); left: 4vw; line-height: 1; font-size: 0; line-height: 0; width: 9.3.5vw; height: 2vw; }
#sec_search .tabs .tab_link li a .icon svg { width: 100%; height: 100%; object-fit: contain; fill: currentColor; opacity: 0.6; }
#sec_search .tabs .tab_link li a.active { color: #fff; background: var(--color01); border-color: var(--color01); pointer-events: none; }
#sec_search .panel:not(:first-of-type) { display: none; }
#sec_search .panel { padding: 25px 6% 35px; background: #e9ecef; }

#sec_search .panel form { width: 100%; display: flex; flex-wrap: wrap; gap: 10px; }
#sec_search .panel form :where(input[type="text"], select, button[name="searchButton489ban"], input[type="submit"]) { appearance: none; background: none; border: none; border-radius: 0; box-sizing: border-box; font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif; font-size: 16px; color: #000; }
#sec_search .panel form dt { font-size: 13px; }

#sec_search #panel_reserve { padding-inline: 6%;}
#sec_search #panel_reserve #search_489ban .date_489ban { width: calc(68% - 10px); }
#sec_search #panel_reserve #search_489ban .date_489ban dd {display: flex; flex-direction: column; text-align: left;}
#sec_search #panel_reserve #search_489ban .date_489ban dd input[type="text"] { width: 100%; height: 40px; padding: 0 calc(6% + 14px) 0 6%; background: url(../../img/ico_calendar.svg) no-repeat center right 6%/14px, #fff; box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1); }
#sec_search #panel_reserve #search_489ban .date_489ban dd > label { display:flex; align-items: center; font-size: 14px; white-space: nowrap; letter-spacing: 0; margin-top: 5px; }
#sec_search #panel_reserve #search_489ban .date_489ban input[type="text"]:disabled,
#sec_search #panel_reserve #search_489ban .date_489ban:has(dd input[type="text"]:disabled) + .inbox_489ban #stay_label { color: #7c7c7c; opacity: 1; }
#sec_search #panel_reserve #search_489ban .inbox_489ban { width: 32%; }
#sec_search #panel_reserve #search_489ban .stay_489ban select { width: 100%; height: 40px; padding: 0 17px 0 15px; position: relative; background: url(../../img/ico_search_arrow.svg) no-repeat center right 10px/5px, #fff; box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1); }
#sec_search #panel_reserve #search_489ban .stay_489ban select:disabled { cursor: not-allowed;}
#sec_search #panel_reserve #search_489ban button[name="searchButton489ban"] { width: 100%; height: 45px; color: #fff; font-size: 15px; text-align: center; background: var(--color01); display: flex; justify-content: center; align-items: center; cursor: pointer; transition: background .5s; }

#sec_search #panel_airplane form { flex-direction: column; }
#sec_search #panel_airplane form > dl { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; }
#sec_search #panel_airplane form dl > div { flex-grow: 1; }
#sec_search #panel_airplane form > dl .airport { width: 100%; }
#sec_search #panel_airplane form > dl .date_airplane { width: 100%; }
#sec_search #panel_airplane form > dl input[type="text"] { width: 100%; height: 40px; padding: 0 calc(6% + 14px) 0 6%; color: #000; background: url(../../img/ico_calendar.svg) no-repeat center right 6%/14px, #fff; box-shadow: 2px 2px 1px rgba(0, 0, 0, 0.1); }
#sec_search #panel_airplane form > dl select { width: 100%; height: 40px; padding: 0 17px 0 15px; position: relative; background: url(../../img/ico_search_arrow.svg) no-repeat center right 10px/5px, #fff; box-shadow: 2px 2px 1px rgba(0, 0, 0, 0.1); }
#sec_search #panel_airplane form .btn_submit { width: 100%; margin-top: 10px; }
#sec_search #panel_airplane form .btn_submit input { width: 100%; height: 40px; color: #fff; font-size: 15px; text-align: center; background: var(--color01); display: flex; justify-content: center; align-items: center; cursor: pointer; transition: background .5s; }

#sec_search .panel .cmn_btn_reserve { display: block; margin: 15px 0 0; min-height: 45px; text-align: center; align-content: center; }
#sec_search .panel .links { margin: 15px 0 0; }
#sec_search .panel .links li + li { margin-top: 5px; }
#sec_search .panel .links li a { margin: 0 auto;}

@media screen and (hover: hover) and (min-width: 651px) {
	#sec_search .tabs .tab_link li a:hover { opacity: 1; background: #eee; }
	#sec_search #panel_reserve #search_489ban button[name="searchButton489ban"]:hover,
	#sec_search #panel_airplane form .btn_submit input:hover { opacity: 1; background: var(--color01-hover); }
}
@media screen and (min-width: 451px) {
	#sec_search #panel_airplane form > dl .date_airplane { width: 42%; }
}
@media screen and (min-width: 651px) {
	#sec_search .tabs .tab_link { gap: 20px; margin-bottom: 20px; }
	#sec_search .tabs .tab_link li { width: calc(50% - 10px); }
	#sec_search .tabs .tab_link li a { font-size: 17px; padding: 15px 13% 15px 25%;  }
	#sec_search .tabs .tab_link li a .icon { left: 9%; width: 9.5%; height: 28%; }
	#sec_search .panel { padding: 35px 10% 55px; }

	#sec_search .panel form { gap: 20px; }
	#sec_search .panel form :where(input[type="text"], select, button[name="searchButton489ban"]) { font-size: 18px; }
	#sec_search .panel form dt { font-size: 15px; margin-bottom: 5px; }

	#sec_search #panel_reserve { padding-inline: 45px;}
	#sec_search #panel_reserve #search_489ban .date_489ban { width: calc(62% - 20px); }
	#sec_search #panel_reserve #search_489ban .date_489ban dd input[type="text"] { height: 60px; padding: 0 34% 0 30px; background: url(../../img/ico_calendar.svg) no-repeat center right calc(34% - 16px)/16px, #fff; box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1); }
	#sec_search #panel_reserve #search_489ban .date_489ban dd > label { font-size: 16px; }
	#sec_search #panel_reserve #search_489ban .inbox_489ban { width: 38%; }
	#sec_search #panel_reserve #search_489ban .stay_489ban select { height: 60px; padding: 0 17px 0 15px; background: url(../../img/ico_search_arrow.svg) no-repeat center right 35px/7px, #fff; box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1); }
	#sec_search #panel_reserve #search_489ban button[name="searchButton489ban"] { height: 52px; font-size: 16px;}

	#sec_search #panel_airplane form > dl { gap: 10px 20px; }
	#sec_search #panel_airplane form > dl .date_airplane { width: 47%; }
	#sec_search #panel_airplane form > dl input[type="text"] { height: 60px; padding: 0 26px 0 30px; background: url(../../img/ico_calendar.svg) no-repeat center right 10px/16px, #fff; box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1); }
	#sec_search #panel_airplane form > dl select { height: 60px; padding: 0 17px 0 15px; background: url(../../img/ico_search_arrow.svg) no-repeat center right 10px/7px, #fff; box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1); }
	#sec_search #panel_airplane form .btn_submit input { height: 52px; font-size: 16px; }

	#sec_search .panel .cmn_btn_reserve { margin: 20px 0 0; min-height: 60px; }
	#sec_search .panel .links { margin: 20px 0 0; }

}


/* ---------------------------------------------------
	sec_recommend
------------------------------------------------------ */
#sec_recommend { padding: clamp(50px, 8.182vw, 90px) 0 clamp(75px, 12.727vw, 140px); }
#sec_recommend .cmn_tit02 { margin-bottom: clamp(25px, 4.091vw, 45px); }
#sec_recommend #recommend_489ban .PlanView { background: #fff; display: flex; box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1); transition: opacity 0.5s; }
#sec_recommend #recommend_489ban .PlanView + .PlanView { margin-top: clamp(20px, 3.636vw, 40px);}
#sec_recommend #recommend_489ban .PlanView .comment { display: none; }
#sec_recommend #recommend_489ban .PlanView .picture { width: 44%; display: flex; }
#sec_recommend #recommend_489ban .PlanView .picture img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 68 / 45; }
#sec_recommend #recommend_489ban .PlanView .explan { width: 56%; align-content: center; padding: 15px 4%; font-size: 13px; }
#sec_recommend #recommend_489ban .PlanView .explan .plan a { display: -webkit-box;  -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 4;  }
#sec_recommend #recommend_489ban .PlanView .explan .planlist a { display: block; margin: 10px 0 0 auto; width: fit-content; font-size: 13px; text-align: center; padding: 0 25px; background: #978b58; color: #fff; border-radius: 100px; }

@media screen and (hover: hover) and (min-width: 651px) {
	#sec_recommend #recommend_489ban .PlanView a:hover { opacity: 1; }
	#sec_recommend #recommend_489ban .PlanView:has(a:hover) { opacity: 0.7; }
}
@media screen and (min-width: 651px) {
	#sec_recommend #recommend_489ban .PlanView { box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1); }
	#sec_recommend #recommend_489ban .PlanView .explan { padding: 20px 25px; font-size: 15px; }
	#sec_recommend #recommend_489ban .PlanView .explan .planlist a { margin: 20px 0 0 auto; font-size: 15px;  padding: 5px 35px; }
}



/* ---------------------------------------------------
	sec_location
------------------------------------------------------ */
#sec_location { padding-bottom: clamp(80px, 13.636vw, 150px); }
#sec_location .cmn_layout02 { padding-top: clamp(80px, 13.636vw, 150px); }

@media screen and (hover: hover) and (min-width: 651px) {
}
@media screen and (min-width: 651px) {

}



/* ---------------------------------------------------
	sec_room
------------------------------------------------------ */
#sec_room { padding-bottom: clamp(105px, 18.182vw, 200px); }
#sec_room .cmn_layout02 { padding-top: clamp(75px, 12.273vw, 135px); }
#sec_room .cmn_layout02 .photo { position: relative; }
#sec_room .cmn_layout02 .photo::before { content: ''; position: absolute; z-index: 1; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0, transparent 50%); }
#sec_room .cmn_layout02 .photo p { position: absolute; width: 90%; bottom: clamp(12px, 1.818vw, 20px); left: 5%; color: #fff; letter-spacing: 0.02em; text-align: center; line-height: 1; z-index: 2; }
#sec_room .cmn_layout02 .photo p .ja { display: block; width: fit-content; font-size: 17px; border-bottom: 1px solid rgba(255, 255, 255, 0.3); padding: 0 5px 5px; margin: 0 auto 5px; }
#sec_room .cmn_layout02 .photo p .ja span { font-size: 14px; }
#sec_room .cmn_layout02 .photo p .en { display: block; font-size: 10px; }
#sec_room .cmn_layout02 .cap { text-align: center; }
#sec_room .btn_col { margin-top: clamp(35px, 7.273vw, 80px); }

@media screen and (hover: hover) and (min-width: 651px) {
}
@media screen and (min-width: 651px) {
	#sec_room .cmn_layout02 .photo p .ja { font-size: 20px; }
	#sec_room .cmn_layout02 .photo p .ja span { font-size: 17px; }
	#sec_room .cmn_layout02 .photo p .en { font-size: 12px; }

}



/* ---------------------------------------------------
	sec_hotspring
------------------------------------------------------ */
#sec_hotspring { padding-bottom: clamp(105px, 18.182vw, 200px); }
#sec_hotspring .cmn_btn { margin-top: clamp(30px, 5.455vw, 60px); }

@media screen and (hover: hover) and (min-width: 651px) {
}
@media screen and (min-width: 651px) {

}


/* ---------------------------------------------------
	sec_cuisine
------------------------------------------------------ */
#sec_cuisine { padding-bottom: clamp(105px, 18.182vw, 200px); }
#sec_cuisine .cmn_btn { margin-top: clamp(30px, 5.455vw, 60px); }

@media screen and (hover: hover) and (min-width: 651px) {
}
@media screen and (min-width: 651px) {

}



/* ---------------------------------------------------
	sec_news
------------------------------------------------------ */
#sec_news { padding: clamp(55px, 9.091vw, 100px) 0; }
#sec_news .cmn_tit02 { margin-bottom: clamp(20px, 3.182vw, 35px); }
#sec_news .list li { border-bottom: 1px solid rgba(0, 0, 0, 0.15);}
#sec_news .list li:first-child { border-top: 1px solid rgba(0, 0, 0, 0.15); }
#sec_news .list li a { display: block; padding: 10px 0;}
#sec_news .list li .date { color: rgba(0, 0, 0, 0.6); font-size: 13px; }
#sec_news .list li .tit { font-size: 13px; }
#sec_news .cmn_link_arrow { margin: 10px 0 0 auto; }

@media screen and (hover: hover) and (min-width: 651px) {
}
@media screen and (min-width: 651px) {
	#sec_news .list li a { padding: 15px 0;}
	#sec_news .list li .tit { font-size: 15px; }

}



/* ---------------------------------------------------
	sec_info
------------------------------------------------------ */
#sec_info { padding: clamp(60px, 10.455vw, 115px) 0; }
#sec_info .cmn_tit02 { margin-bottom: clamp(30px, 5.455vw, 60px); }
#sec_info .bnr_col li { text-align: center; }
#sec_info .bnr_col li + li { margin-top: clamp(20px, 3.636vw, 40px); }

@media screen and (hover: hover) and (min-width: 651px) {
}
@media screen and (min-width: 651px) {

}
