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

#contents_wrap { overflow: hidden; }

/* ---------------------------------------------------
	main_img
------------------------------------------------------ */
#main_img .slick-slide div { vertical-align: bottom; }
#main_img .slick .slick-slide img { width: 100%; height: 100vh; transform: scale(1); transition: transform 7s linear; }
#main_img .slick .slick-slide.active img { transform: scale(1.05);}

#main_img .main_txt { font-size: 35px; text-align: center; color: #fff; position: absolute; top: calc(50% + 100px); left: 50%; transform: translate(-50%, -50%); filter: drop-shadow(3px 3px 5px #000); font-weight: 500; }
#main_img .main_txt::before { content: ''; position: absolute; top: -15px; left: -40px; width: 46px; height: 39px; background: url(../../img/main_txt_img.svg) no-repeat center center/contain; }

#main_img .main_move { position: absolute; bottom: 30px;right: 30px; filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.4)); }
#main_img .main_move a { display: block; position: relative; border: 4px solid #fff; }
#main_img .main_move::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #000; z-index: 0;  }
#main_img .main_move a img { position: relative; opacity: .7; }
#main_img .main_move .txt { position: absolute; top: 50%; left: 80%; transform: translate(-50%, -50%); color: #fff; font-size: 15px; line-height: 1;}
#main_img .main_move .arrow { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transition: opacity .5s; display: block; width: 65px; height: 65px; background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23ffffff" d="M256,0C114.62,0,0,114.62,0,256s114.62,256,256,256,256-114.63,256-256S397.37,0,256,0ZM351.06,258.9l-144,85.95c-1.03.63-2.34.66-3.41.03-1.03-.59-1.69-1.7-1.69-2.94v-171.89c0-1.22.66-2.34,1.69-2.94,1.06-.61,2.38-.58,3.41.03l144,85.96c1.03.59,1.64,1.72,1.64,2.89s-.61,2.31-1.64,2.91Z"/></svg>') no-repeat center center/contain; }
#movie_area { display: none; width:100%; height: 100%; position: fixed; z-index: 10000; text-align: center; background: #000; overflow: hidden;}
#movie { position: static; top: 0; left: 0; width: 100% !important; height: 100%; margin: 0;overflow: hidden;}
#movie_close { position: fixed; top: 70px; right: 20px;}
#movie_close img { width: 50px;}

@media screen and (min-width: 601px) {
}
@media screen and (max-width: 600px) {
	#main_img .slick .slick-slide img { height: calc(100svh - (60px + env(safe-area-inset-bottom)));}
	#main_img .main_txt { font-size: min(26px, 5vw); top: calc(50% + 50px); width: fit-content; white-space: nowrap; }
	#main_img .main_txt::before { top: -7%; left: 8%; width: min(32px, 6vw); height: min(26px, 5vw); }

	#main_img .main_move { bottom: 20px; right: 4vw; width: min(185px, 45vw); }
	#main_img .main_move a { border: 2px solid #fff; }
	#main_img .main_move .txt { font-size: min(12px, 3vw); }
	#main_img .main_move .arrow { width: min(49px, 12vw); height: min(49px, 12vw);}
	#movie_close { top: 70px; right: 20px;}
	#movie_close img { width: 50px;}
}

/* ---------------------------------------------------
	Search_col
------------------------------------------------------ */
#reserve_col { padding: 95px 0; background: url(../img/bg_illust01.webp) no-repeat -440px -265px/1150px; position: relative; }

#reserve_col .caution_col { border-radius: 20px; overflow: hidden; border: 1px solid var(--color05); text-align: center; background: #fff; margin-bottom: 35px; }
#reserve_col .caution_col dt { padding: 5px 0; background: var(--color05); color: #fff; font-size: 18px; display: flex; align-items: center; justify-content: center; }
#reserve_col .caution_col dt::before { content: ''; width: 24px; height: 24px; display: block; margin-right: 10px; background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23ffffff" d="M437.01,74.98C390.77,28.7,326.61-.01,256,0,185.39-.01,121.22,28.7,74.98,74.98,28.7,121.22-.01,185.39,0,256c-.01,70.61,28.7,134.78,74.98,181.02,46.25,46.28,110.42,74.99,181.02,74.98,70.61.02,134.77-28.7,181.01-74.98,46.29-46.24,75-110.41,74.99-181.02.01-70.61-28.7-134.78-74.99-181.02ZM399.47,112.53c36.76,36.8,59.41,87.36,59.43,143.47-.02,56.12-22.67,106.67-59.43,143.47-36.81,36.76-87.36,59.42-143.47,59.43-56.12-.01-106.67-22.67-143.47-59.43-36.76-36.8-59.42-87.36-59.43-143.47.01-56.12,22.67-106.67,59.43-143.47,36.8-36.76,87.36-59.42,143.47-59.43,56.11.02,106.67,22.67,143.48,59.43Z"/><path fill="%23ffffff" d="M246.68,303.59c.31,2.08,1.35,4.07,3.1,5.99,1.75,1.91,3.82,2.87,6.21,2.87,5.57,0,8.68-2.95,9.31-8.85l18.64-143.21c.31-2.53.47-6.13.47-10.75,0-7.17-2.47-13.69-7.4-19.59-4.94-5.89-11.95-8.84-21.03-8.84s-16.5,3.02-21.27,9.07c-4.78,5.9-7.17,12.36-7.17,19.36,0,4.31.16,7.89.47,10.75l18.64,143.21Z"/><path fill="%23ffffff" d="M256,390.79c8.12,0,14.96-2.78,20.55-8.36,5.57-5.56,8.36-12.42,8.36-20.54s-2.79-14.98-8.36-20.56c-5.41-5.42-12.27-8.13-20.55-8.13s-14.97,2.8-20.56,8.36c-5.58,5.58-8.36,12.35-8.36,20.32s2.78,14.41,8.36,20.3c5.59,5.74,12.44,8.6,20.56,8.6Z"/></svg>') no-repeat center center/contain; }
#reserve_col .caution_col dd { padding: 10px 2%;}
#reserve_col .caution_col dd .tel-link { font-size: 23px; line-height: 1.5; }

#reserve_col .search_col { background: var(--color03); display: flex; justify-content: space-between; border-radius: 20px; overflow: hidden; border: 1px solid var(--color01);}
#reserve_col .search_col .tit { width: 235px; padding: 23px 2%; display: flex; flex-direction: column; justify-content: center; align-items: center; line-height: 1; flex-shrink: 0; background: var(--color01); color: #fff; box-sizing: border-box; }
#reserve_col .search_col .tit .jp { font-size: 25px; margin-bottom: 30px; }
#reserve_col .search_col .tit::before { content: ''; display: block; width: 23px; height: 23px; margin: 0 auto 20px; background: url(../../img/icon_search.svg)no-repeat center/cover; }
#reserve_col .search_col .tit + div { flex-grow: 1; display: flex; flex-direction: column; justify-content: center; padding: 20px 45px 15px 40px; }
/* form */
.ui-widget.ui-widget-content { z-index: 10!important; }
#search_489ban form { display: flex; }
#search_489ban input[type="text"],
#search_489ban select {
	margin: 0; padding: 0 20px 0 0; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; border-radius: 0; -webkit-box-shadow: none; box-shadow: none; -webkit-box-sizing: border-box; box-sizing: border-box; font-size: 26px; line-height: 70px; letter-spacing: 0.05em; outline: none; font-family: 'Zen Maru Gothic', sans-serif; color: #000; border-radius: 10px; }
#search_489ban input[type="text"]:disabled,
#search_489ban select:disabled { color: #888; opacity: 1; -webkit-text-fill-color: #888;}
#search_489ban .date_489ban:has(input[type="text"]:disabled) + .inbox_489ban .stay_489ban #stay_label { color: #888; }
#search_489ban .date_489ban:has(input[type="text"]:disabled) + .inbox_489ban .stay_489ban select { pointer-events: none; }
#search_489ban .date_489ban,
#search_489ban .inbox_489ban { position: relative; box-sizing: border-box; background: #fff; border-radius: 10px; }
#search_489ban .date_489ban { width: 34%; margin-right: 17.7%; }
#search_489ban .inbox_489ban { width: 17.5%; }
#search_489ban .date_489ban,
#search_489ban .inbox_489ban .stay_489ban { display: flex;  }
#search_489ban .date_489ban dt,
#search_489ban .inbox_489ban dt { font-size: 15px; letter-spacing: 0; line-height: 1; text-align: left; padding: 10px 0 0 10px; flex-shrink: 0; }
#search_489ban .date_489ban dt { width: 20%; }
#search_489ban .inbox_489ban dt { width: 35%; }
#search_489ban .date_489ban dd { display: flex; flex-grow: 1; height: 70px; font-size: 16px; }
#search_489ban .date_489ban dd label { display: flex; align-items: center; position: absolute; top: 50%; right: calc(-29% + -34px); transform: translateY(-50%); }
#search_489ban .date_489ban input[type="checkbox"]:checked { background: #000; }
#search_489ban .date_489ban input[type="checkbox"]:checked::after {
	position: absolute; top: -2px; left: 1px; display: block; width: 4px; height: 7px;
	content: ""; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(40deg);
}
#search_489ban .date_489ban input[type="checkbox"] {
	position: relative; width: 10px; height: 10px; margin: 0 10px 0 0; vertical-align: text-bottom;
	appearance: none; background: #fff; border: 1px solid #000; border-radius: 0;
}
#search_489ban input[name="date"] { width: 100%; padding: 0 0 0 8%; background: url(../../img/icon_calendar.svg) no-repeat right 10% center/16px, #fff; }
#search_489ban .inbox_489ban { display: flex; align-items: center; justify-content: space-between; }
#search_489ban button { flex-grow: 1; width: 22.5%; outline: none; height: 70px; margin-left: 35px; padding: 0; font-size: 20px; border: 0; color: #fff; background: var(--color01); font-family: 'Zen Maru Gothic', sans-serif; border-radius: 10px; transition: background .5s; cursor: pointer; }
#search_489ban .stay_489ban dd { position: relative; flex-grow: 1; flex-shrink: 0; }
#search_489ban .inbox_489ban .stay_489ban { flex-grow: 1; }
#search_489ban .stay_489ban select { position: absolute; left: 0; top: 0; width: 100%; height: 100%; font-size: 16px; opacity: 0; }
#search_489ban .stay_489ban select option { background: #1c1c1c; color: #fff; }
#stay_label { display: flex; align-items: center; justify-content: flex-start; height: 70px; padding-right: 30px; font-size: 26px; background: url(../../img/icon-stay_arrow.svg)no-repeat right 15px center/9px, #fff; letter-spacing: 0; color: #000; border-radius: 10px;}

#reserve_col .search_col .reserve_links { margin-top: 20px; padding-top: 15px; border-top: 1px solid #969696; display: flex; align-items: center; gap: 50px; line-height: 1; }
#reserve_col .search_col .reserve_links a { font-size: 14px; position: relative; display: flex; align-items: center; }
#reserve_col .search_col .reserve_links a::before { content: '>'; margin-right: 0.5em; }

#reserve_col .circle_bg { width: min(713px, 48%); left: 50%; bottom: 0; }
#reserve_col .circle_bg::before { right: 0; bottom: 35px; }
#reserve_col .circle_bg::after { right: 90px; bottom: -60px; }

@media screen and (hover: hover) {
	#search_489ban input[type="text" i]:hover { cursor: default; }
	#search_489ban button:hover { background: #3b742c; opacity: 1; }
	#reserve_col .search_col .reserve_links a:hover { opacity: .5; }
}

@media screen and (max-width: 600px) {
	#reserve_col { padding: 60px 0 calc(30px + 18vw); background: url(../img/bg_illust01_sp02.png) no-repeat 0 0/55vw; }

	#reserve_col .caution_col { border-radius: 15px; margin-bottom: 30px; }
	#reserve_col .caution_col dt { font-size: 17px; }
	#reserve_col .caution_col dt::before { width: 20px; height: 20px; margin-right: 7px; }
	#reserve_col .caution_col dd { padding: 15px 6%; text-align: left; }
	#reserve_col .caution_col dd .tel-link { font-size: 22px; }

	#reserve_col .search_col { flex-direction: column; align-items: center; }

	#reserve_col .search_col .tit { width: 100%; flex-direction: row; flex-wrap: wrap; padding: 20px 0; position: relative; }
	#reserve_col .search_col .tit .jp { margin: 0; font-size: 20px; }
	#reserve_col .search_col .tit .en { width: 100%; text-align: center; margin-top: 10px; }
	#reserve_col .search_col .tit::before { margin: 0 0.5em 0 0; width: 20px; height: 20px; }
	#reserve_col .search_col .tit + div { width: 100%; padding: 30px 6% 40px; box-sizing: border-box; }

	#search_489ban form { flex-wrap: wrap; align-items: stretch; justify-content: space-between; }
	#search_489ban input[type="text"],
	#search_489ban select { font-size: 22px; }
	#search_489ban .date_489ban,
	#search_489ban .inbox_489ban { display: flex; }
	#search_489ban .date_489ban dt,
	#search_489ban .inbox_489ban dt { flex-shrink: 0; font-size: 10px; padding: 10px 0 0 10px; text-align: left; box-sizing: border-box; }
	#search_489ban .date_489ban { width: calc(100% - 85px); margin-right: 85px; }
	#search_489ban .date_489ban dd { width: 100%; height: 50px; }
	#search_489ban .date_489ban dd label { font-size: 12px; width: auto; right: -85px; }
	#search_489ban input[name="date"] { padding: 0 0 0 4%;}
	#search_489ban .inbox_489ban { width: max(125px, 40%); height: auto; margin: 10px 0 0; }
	#stay_label { width: 100%; font-size: 20px; height: 50px; justify-content: center; padding-right: 20px; background-position: right 9px center; background-size: 7px; }
	#search_489ban .stay_489ban select { padding: 0; }
	#search_489ban .date_489ban input[type="checkbox"] { margin: 0 5px 0 0;}
	#search_489ban button { height: auto; margin: 10px 0 0; font-size: 15px; width: min(calc(100% - 135px), 55%); flex: none; }

	#reserve_col .search_col .reserve_links { margin-top: 25px; padding-top: 20px; flex-wrap: wrap; justify-content: flex-start;  gap: 15px 50px; }
	#reserve_col .search_col .reserve_links a { font-size: 14px; }

	#reserve_col .circle_bg { width: 53%; }
	#reserve_col .circle_bg::before { right: 0; bottom: 60px; }
	#reserve_col .circle_bg::after { right: 30px; bottom: 20px; }
}

@media screen and (max-width: 370px) {
	#search_489ban .date_489ban { width: 100%; margin: 0 0 25px; }
	#search_489ban .date_489ban dd label { bottom: -25px; top: auto; right: 0; margin: 0; transform: none; }
}

/* ---------------------------------------------------
	rec_col
------------------------------------------------------ */
#rec_col { padding: 100px 0 120px; background: var(--color03); position: relative; }
#rec_col .bg_illust01 { top: -50px; width: min(600px, 46%); text-align: right; }
#rec_col .bg_illust02 { bottom: -35px; transform: translateX(-100%); width: 800px; }

#rec_col .slick_rec { margin: 0 -15px;}
#rec_col .slick_rec .slick-slide { margin: 0 15px 10px;}
#rec_col .slick_rec .slick-next { right: -15px; }
#rec_col .slick_rec .slick-prev { left: -15px; }
#rec_col .slick_rec .slick-slide .PlanView { font-size: 18px; line-height: 1.8; border-radius: 20px; overflow: hidden; background: #fff; display: flex!important; flex-direction: column; height: 100%; box-shadow: 10px 10px 0 0 #afc2a3; }
#rec_col .slick_rec .slick-slide .PlanView .picture img { aspect-ratio: 3 / 2; object-fit: cover; }
#rec_col .slick_rec .slick-slide .PlanView .explan { flex-grow: 1; padding: 25px; display: flex; flex-direction: column; }
#rec_col .slick_rec .slick-slide .PlanView .explan .plan { margin: 0 0 auto; overflow: hidden; display: -webkit-box; text-overflow: ellipsis; -webkit-box-orient: vertical; -webkit-line-clamp: 3;}
#rec_col .slick_rec .slick-slide .PlanView .explan .planlist a { display: block; width: fit-content; margin: 30px 0 0 auto; }
#rec_col .cmn_btn01 { margin: 65px auto 0; position: relative; z-index: 1; }

@media screen and (hover: hover) {
}
@media screen and (min-width: 601px) {
}
@media screen and (max-width: 600px) {
	#rec_col { padding: 16vw 0 calc(23vw + 5px); }
	#rec_col .bg_illust01 { top: -18vw; width: 44%; height: 34vw; }
	#rec_col .bg_illust02 { bottom: -15px; width: 54%; height: 23vw; }

	#rec_col .slick_rec { margin: 0 -12vw;}
	#rec_col .slick_rec .slick-slide { margin: 0 14vw 10px;}
	#rec_col .slick_rec .slick-next { right: 9vw; }
	#rec_col .slick_rec .slick-prev { left: 9vw; }
	#rec_col .slick_rec .slick-slide .PlanView { font-size: 16px; border-radius: 15px; box-shadow: 8px 8px 0 0 #afc2a3; }
	#rec_col .slick_rec .slick-slide .PlanView .explan { padding: 20px 6vw; }
	#rec_col .slick_rec .slick-slide .PlanView .explan .planlist a { margin: 15px 0 0 auto; }
	#rec_col .cmn_btn01 { margin: 25px auto 0; }
}


/* ---------------------------------------------------
	lead_col
------------------------------------------------------ */
#lead_col { padding: 115px 0 max(465px, 29vw); background: url(../../img/lead_bg.webp) no-repeat center bottom/contain; background-size: max(1600px, 100%); }
#lead_col h2 { text-align: center; font-size: 30px; display: flex; flex-direction: column; line-height: 1; font-weight: 500; margin-bottom: 50px; }
#lead_col h2 .arch_txt { position: relative; font-size: 35px; margin-bottom: 55px; }
#lead_col h2 .arch_txt > span > span { display: inline-block; --degree: calc((var(--index) - ((var(--length) - 1) / 2)) * 6deg); rotate: calc(var(--degree) / 4); translate: 0 calc((1 - cos(var(--degree))) * 200%); letter-spacing: -8px; }
#lead_col h2 .arch_txt .clr01 { color: var(--color05); }
#lead_col h2 .arch_txt .clr02 { color: var(--color04);}
#lead_col h2 .arch_txt .clr03 { color: var(--color06); }
#lead_col h2 + p { text-align: center; font-size: 18px; }

@media screen and (hover: hover) {
}
@media screen and (min-width: 601px) {
}
@media screen and (max-width: 600px) {
	#lead_col { padding: 60px 6vw 50vw; background-size: 190%; }
	#lead_col h2 { font-size: 18px; margin-bottom: 30px; }
	#lead_col h2 .arch_txt { font-size: 25px; margin-bottom: 25px; }
	#lead_col h2 .arch_txt > span > span { --degree: calc((var(--index) - ((var(--sp_length01) - 1) / 2)) * 6deg); letter-spacing: -4px; }
	#lead_col h2 .arch_txt > .clr03 { display: block; margin-top: 10px; }
	#lead_col h2 .arch_txt > .clr03 > span { --degree: calc((var(--sp_index) - ((var(--sp_length02) - 1) / 2)) * 6deg); letter-spacing: -4px; }
	#lead_col h2 + p { text-align: left; font-size: 16px; }
}

@media screen and (max-width: 385px) {
	#lead_col h2 .arch_txt { font-size: 21.5px; }
}


/* ---------------------------------------------------
	Ticker_col
------------------------------------------------------ */
#ticker_col { padding: 30px 0 40px; position: relative; }
#ticker_col > p { font-size: 110px; line-height: 1; position: absolute; bottom: 0; right: 50px; }
#ticker_col .ticker,
#ticker_col .ticker ul { display: flex; }
#ticker_col .ticker { width: 100%; position: relative; z-index: 0; overflow: hidden; }
#ticker_col .ticker ul { animation: loop 140s -70s linear infinite; backface-visibility: hidden; will-change: transform; }
#ticker_col .ticker ul + ul { animation: loop2 140s -140s linear infinite; }
#ticker_col .ticker li { width: 344px; position: relative; z-index: 0; margin: 0 30px 0 0; border-radius: 20px; overflow: hidden; }
#ticker_col .ticker li .ofi { width: 100%; }

@keyframes loop {
	0% {
		-webkit-transform: translateX(100%);
		-ms-transform: translateX(100%);
		transform: translateX(100%);
	}
	100% {
		-webkit-transform: translateX(-100%);
		-ms-transform: translateX(-100%);
		transform: translateX(-100%);
	}
}
@keyframes loop2 {
	0% {
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
		transform: translateX(0);
	}
	100% {
		-webkit-transform: translateX(-200%);
		-ms-transform: translateX(-200%);
		transform: translateX(-200%);
	}
}

@media screen and (hover: hover) and (min-width: 601px) {
	#ticker_col .box .txt .link:hover {
		border-bottom: none;
	}
}
@media screen and (max-width: 600px) {
	#ticker_col { padding: 20px 0; }
	#ticker_col > p { font-size: 12vw; right: 0; }
	#ticker_col .ticker li { width: 45vw; margin: 0 15px 0 0; border-radius: 10px; }
}


/* ---------------------------------------------------
	sec_news
------------------------------------------------------ */
#sec_news { padding: 115px 0 200px; position: relative; }
#sec_news .cmn_tit01 { margin-bottom: 20px;}
#sec_news .cmn_tit01 .en { font-size: 40px; }
#sec_news .blog .list li > a { display: flex; align-items: center; padding: 15px 30px; border-bottom: 1px solid #bebebe; font-size: 18px; }
#sec_news .blog .list li > a .date { width: calc(6em * 1.05); flex-shrink: 0; }
#sec_news .blog .list li > a .cat { flex-shrink: 0; color: #fff; background: var(--color01); margin: 0 1em 0 0; padding: 3px 12px 4px; font-size: 16px; line-height: 1; border-radius: 50px; }
#sec_news .blog .list li > a .tit { text-overflow: ellipsis; overflow: hidden; white-space: nowrap;}
#sec_news .blog .list + .cmn_btn01 { margin: 45px auto 0; position: relative; z-index: 1; }
#sec_news .blog .notxt { text-align: center; padding: 15px 30px; border-bottom: 1px solid #bebebe; font-size: 18px; }
#sec_news .bnr_col { margin-top: 95px; }

#sec_news .bg_illust01 { top: -120px; width: min(670px, 47%); transform: translateX(-100%); text-align: left; left: 50%; }
#sec_news .bg_illust02 { bottom: 0; width: min(660px, 46.8%); text-align: right; }
#sec_news .circle_bg { width: min(720px, 48%); left: 50%; top: 0; }
#sec_news .circle_bg::before { display: none;; }
#sec_news .circle_bg::after { right: 0; top: -135px; width: 275px; height: 265px; }

@media screen and (hover: hover) {
}
@media screen and (min-width: 601px) {
}
@media screen and (max-width: 600px) {
	#sec_news { padding: 70px 0 100px; }
	#sec_news .cmn_tit01 { margin-bottom: 20px;}
	#sec_news .cmn_tit01 .en { font-size: 24px; }
	#sec_news .blog .list li > a { flex-wrap: wrap; padding: 15px 6vw; font-size: 16px; }
	#sec_news .blog .list li > a .date { width: calc(6em * 1.05); flex-shrink: 0; }
	#sec_news .blog .list li > a .cat {  margin: 0 0 0 0.5em; padding: 3px 8px 4px; font-size: 14px; }
	#sec_news .blog .list li > a .tit { width: 100%; display: -webkit-box; white-space: wrap; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-height: 1.4; margin: 0.4em 0;}
	#sec_news .blog .notxt { text-align: left; padding: 15px 6vw; font-size: 15px; }
	#sec_news .blog .list + .cmn_btn01 { margin: 30px auto 0; }
	#sec_news .bnr_col { margin-top: 50px; }

	#sec_news .bg_illust01 { display: none; }
	#sec_news .bg_illust02 { bottom: 0; width: 44%; height: 90px; }
	#sec_news .circle_bg { width: 53%; }
	#sec_news .circle_bg::after { right: 0; top: -50px; width: 25vw; height: 25vw; }
}




/* ---------------------------------------------------
	sec_style共通
------------------------------------------------------ */
.sec_style { position: relative; }
.sec_style .inner_md { display: flex; flex-wrap: wrap; }
.sec_style .l_box { width: 32.92%; flex-shrink: 0; }
.sec_style .r_box { flex-grow: 1; width: 67.08%;}
.sec_style .l_box .tit_col { margin: -95px 0 30px; }
.sec_style .l_box .tit_col h2 { font-size: 110px; line-height: 1; position: relative; white-space: nowrap; width: fit-content; }
.sec_style .l_box .tit_col h2::before { content: ''; background: url(../../img/tit_img.svg) no-repeat center center/contain; width: 107px; height: 76px; position: absolute; top: -45px; left: -73px; }
.sec_style .l_box .tit_col h2 span { font-size: 140px; }
.sec_style .l_box .tit_col h2 + p { font-size: 25px; font-weight: 500; color: var(--color01); display: flex; align-items: center; gap: 0.5em; margin-top: 70px; }
.sec_style .l_box .tit_col h2 + p::before,
.sec_style .l_box .tit_col h2 + p::after { content: 'ー'; }
.sec_style .l_box > p { font-size: 18px; }
.sec_style .l_box > p + a { margin-top: 35px; }

.sec_style:nth-of-type(2n) .inner_md { flex-direction: row-reverse;}
.sec_style:nth-of-type(2n) .l_box .tit_col h2 { margin: 0 0 0 auto; }

@media screen and (hover: hover) {
}
@media screen and (min-width: 601px) {
}
@media screen and (max-width: 1400px) {
	.sec_style:nth-of-type(2n+1) .l_box .tit_col h2::before { left: -45px;}
}

@media screen and (max-width: 600px) {
	.sec_style .inner_md { flex-direction: column; }
	.sec_style .main_img { height: 70vw; }
	.sec_style .l_box { width: 100%; }
	.sec_style .r_box { width: 100%;}
	.sec_style .l_box .tit_col { margin: -40px 0 15px; }
	.sec_style .l_box .tit_col h2 { font-size: 50px; margin-left: 10px; }
	.sec_style .l_box .tit_col h2::before { width: 38px; height: 38px; top: -20px; left: -20px; }
	.sec_style .l_box .tit_col h2 span { font-size: 60px; }
	.sec_style .l_box .tit_col h2 + p { font-size: 20px; margin-top: 15px; }
	.sec_style .l_box > p { font-size: 16px; }
	.sec_style .l_box > p + a { margin: 20px auto 0; }

	.sec_style:nth-of-type(2n) .inner_md { flex-direction: column; }
	.sec_style:nth-of-type(2n) .l_box .tit_col h2 { margin: 0; }
	.sec_style:nth-of-type(2n+1) .l_box .tit_col h2::before { left: -20px;}
}


/* ---------------------------------------------------
	sec_lodge
------------------------------------------------------ */
#sec_lodge { padding-bottom: 90px; background: url(../img/bg_illust01.webp) no-repeat bottom 0 right -470px/1185px;}
#sec_lodge .r_box .sub_img { margin-top: -105px; }
#sec_lodge .r_box .img { margin: -90px 0 0 -135px; }
#sec_lodge .bg_illust01 { bottom: 75px; width: min(675px, 46.5%); text-align: right; }
#sec_lodge .circle_bg { z-index: -1; width: min(698px, 49%); left:50%; transform: translateX(-100%); top: max(808px, calc(43.8vw + 240px)); }
#sec_lodge .circle_bg.dots::after { left: 80px; top: 63px; }

@media screen and (hover: hover) {
}
@media screen and (min-width: 601px) {
}
@media screen and (max-width: 600px) {
	#sec_lodge { padding-bottom: 80px; background: url(../img/bg_illust01_sp.png) no-repeat top 70vw right 0/55vw;}
	#sec_lodge .r_box .sub_img { margin: 30px 0 0 auto; width: 87%; }
	#sec_lodge .r_box .img { margin: -10% 0 0 0; width: 50%; }
	#sec_lodge .bg_illust01 { bottom: 50px; width: 48%; height: 39vw; }
	#sec_lodge .circle_bg { width: 55%; top: calc(70vw + 100px); }
	#sec_lodge .circle_bg.dots::after { left: 20%; top: 10vw; }
}


/* ---------------------------------------------------
	sec_eat
------------------------------------------------------ */
#sec_eat { padding-bottom: 100px; background: url(../img/bg_illust01.webp) no-repeat bottom 0 left -505px/1150px;}
#sec_eat .r_box { position: relative; padding-right: 30px; }
#sec_eat .r_box .sub_img { margin-top: -85px; }
#sec_eat .r_box .img { position: absolute; top: 55px; left: -35px; }
#sec_eat .bg_illust01 { bottom: 110px; width: min(624px, 46.5%); text-align: right;}
#sec_eat .circle_bg { z-index: -1; width: min(695px, 49.5%); left:50%; top: max(893px, calc(43.8vw + 325px)); }
#sec_eat .circle_bg.stripe::after { right: 0; top: 0; }
#sec_eat .circle_bg::before { right: 155px; top: -72px; }

@media screen and (hover: hover) {
}
@media screen and (min-width: 601px) {
}
@media screen and (max-width: 600px) {
	#sec_eat { padding-bottom: 50px; background: url(../img/bg_illust01_sp02.png) no-repeat top 70vw left 0/55vw;}
	#sec_eat .r_box { padding-right: 0; }
	#sec_eat .r_box .sub_img { margin-top: 50px; }
	#sec_eat .r_box .img { width: 25%; top: 30px; left: 0; }
	#sec_eat .bg_illust01 { bottom: calc(50px + 75vw); width: 46%; height: 23vw; }
	#sec_eat .circle_bg { width: 55%; top: calc(70vw + 250px); }
	#sec_eat .circle_bg::before { right: 30%; top: -12vw; }
}


/* ---------------------------------------------------
	sec_activities
------------------------------------------------------ */
#sec_activities { padding-bottom: 90px; }
#sec_activities .l_box { width: 35%; }
#sec_activities .r_box { width: 65%; position: relative; padding-left: 20px; }
#sec_activities .r_box .sub_img { margin-top: -35px; }
#sec_activities .r_box .img { position: absolute; top: -40px; right: 277px; }
#sec_activities .r_box .txt_img { position: absolute; bottom: -45px; right: -5px; width: 203px; height: 164px; font-weight: 500; color: #fff; background: url(../../img/activities_img04.png) no-repeat center center/contain; padding: 40px 0 0 27px; }
#sec_activities .bg_illust01 { bottom: 65px; width: min(670px, 46.2%); transform: translateX(-100%); }
#sec_activities .circle_bg { z-index: -1; width: min(685px, 48%); left:50%; transform: translateX(-100%); top: max(818px, calc(43.8vw + 250px)); }
#sec_activities .circle_bg.dots::after { left: 88px; top: 68px; }

@media screen and (hover: hover) {
}
@media screen and (min-width: 601px) {
}
@media screen and (max-width: 600px) {
	#sec_activities { padding-bottom: 50px; }
	#sec_activities .l_box { width: 100%; }
	#sec_activities .r_box { width: 100%; padding-left: 0; }
	#sec_activities .r_box .sub_img { margin-top: 20vw; }
	#sec_activities .r_box .img { top: 12vw; right: 32vw; width: 25%; }
	#sec_activities .r_box .txt_img { position: static; margin: -10% 0 0 auto; width: min(200px, 56%); height: min(170px, 39vw); padding: min(12%, 50px) 0 0 min(5.5%, 23px); font-size: min(16px, 4vw); }
	#sec_activities .bg_illust01 { bottom: calc(50px + 88vw); width: 44%; height: 30vw; }
	#sec_activities .circle_bg { width: 55%; top: calc(70vw + 150px); }
	#sec_activities .circle_bg.dots::after { left: 27%; top: 8vw; }

}


/* ---------------------------------------------------
	sec_shop
------------------------------------------------------ */
#sec_shop { padding-bottom: 90px; }
#sec_shop .l_box { width: 35%; }
#sec_shop .r_box { width: 65%; position: relative; padding-right: 40px; }
#sec_shop .r_box .sub_img { margin-top: -90px; }
#sec_shop .circle_bg { z-index: -1; width: min(660px, 48%); left:50%; top: max(918px, calc(43.8vw + 350px)); }
#sec_shop .circle_bg.stripe::after { right: 0; top: 0; }
#sec_shop .circle_bg::before { right: 110px; top: -60px; }

#sec_shop .list { padding-top: 50px; width: 100%; display: flex; justify-content: space-between; align-items: center; }
#sec_shop .list li { position: relative; display: flex; align-items: center; justify-content: center; box-sizing: border-box; }
#sec_shop .list li > div { position: relative; }
#sec_shop .list li img { filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.15)); }
#sec_shop .list li p { position: absolute; top: 0; right: 0; writing-mode: vertical-rl; color: #fff; background: var(--color01); padding: 12px 5px; font-size: 14px; }
#sec_shop .list li p::before { content: ''; width: 1px; height: 45px; position: absolute; bottom: 2px; left: -13px; background: var(--color01); transform: rotate(45deg);}
#sec_shop .list li:nth-child(1) { width: 366px; padding: 0 0 60px; background: url(../../img/shop_img02_bg.png) no-repeat center/contain; }
#sec_shop .list li:nth-child(1) p { right: -55px; top: -20px; }
#sec_shop .list li:nth-child(2) { width: 303px; padding: 40px 0 65px; background: url(../../img/shop_img03_bg.png) no-repeat center/contain; }
#sec_shop .list li:nth-child(2) p { right: -30px; top: -30px; }
#sec_shop .list li:nth-child(3) { width: 400px; padding: 39px 40px 69px 0; background: url(../../img/shop_img04_bg.png) no-repeat center/contain; margin-right: -10px; }
#sec_shop .list li:nth-child(3) p { right: -10px; top: -55px; }

@media screen and (hover: hover) {
}
@media screen and (min-width: 601px) {
}
@media screen and (max-width: 600px) {
	#sec_shop { padding-bottom: 50px; }
	#sec_shop .l_box { width: 100%; }
	#sec_shop .r_box { width: 100%; padding-right: 0; }
	#sec_shop .r_box .sub_img { margin-top: 30px; }
	#sec_shop .circle_bg { width: 55%; top: calc(70vw + 250px); }
	#sec_shop .circle_bg::before { right: 29%; top: -14vw; }

	#sec_shop .list { padding: 50px 10% 0; flex-direction: column; box-sizing: border-box; }
	#sec_shop .list li + li { margin-top: 20px;}
	#sec_shop .list li p { padding: 8px 3px; font-size: 2.7vw; }
	#sec_shop .list li p::before { height: 10vw; left: -1vw; }
	#sec_shop .list li > div img { width: 100%; height: auto; object-fit: contain;}
	#sec_shop .list li:nth-child(1) { width: 100%; padding: 0 0 14%; }
	#sec_shop .list li:nth-child(1) > div { width: 25%;}
	#sec_shop .list li:nth-child(1) p { right: -50%; top: -4%; }
	#sec_shop .list li:nth-child(2) { width: 100%; padding: 10% 5% 14.5%; }
	#sec_shop .list li:nth-child(2) > div { width: 71.4%;}
	#sec_shop .list li:nth-child(2) p { right: -10%; top: -5%; }
	#sec_shop .list li:nth-child(3) { width: 100%; padding: 7% 7% 12% 5%; margin: 20px 0 0; }
	#sec_shop .list li:nth-child(2) > div { width: 84%;}
	#sec_shop .list li:nth-child(3) p { right: -2%; top: -20%; }
}



/* ---------------------------------------------------
	sec_hour
------------------------------------------------------ */
#sec_hour { padding: 80px 0 130px; position: relative; background: var(--color03); }
#sec_hour .cmn_tit01 .jp span { display: block; line-height: 1.8; font-size: 16px; margin-top: 5px; letter-spacing: 0; }
#sec_hour .list { display: flex; justify-content: flex-start; flex-wrap: wrap; gap: 50px 1.25%; }
#sec_hour .list li { width: 32.5%;}
#sec_hour .list li .photo { position: relative; overflow: hidden; border-radius: 20px; }
#sec_hour .list li .photo p { position: absolute; top: 0; left: 0; width: 100%; font-size: 20px; padding: 7px 0px; text-align: center; color: #fff; background: var(--color05); box-sizing: border-box; }
#sec_hour .list li:nth-child(3n+2) .photo p { background: var(--color04); }
#sec_hour .list li:nth-child(3n+3) .photo p { background: var(--color06); }
#sec_hour .list li .txt { text-align: center; font-size: 18px; margin-top: 25px; }
#sec_hour .list li .txt span { font-size: 14px; letter-spacing: 0; }

@media screen and (hover: hover) {
}
@media screen and (min-width: 601px) {
}
@media screen and (max-width: 600px) {
	#sec_hour { padding: 60px 0 80px; }
	#sec_hour .cmn_tit01 .jp span { font-size: 12px;  }
	#sec_hour .list { flex-direction: column; gap: 40px; }
	#sec_hour .list li { width: 100%;}
	#sec_hour .list li .photo { border-radius: 10px; }
	#sec_hour .list li .photo p { font-size: 18px; padding: 8px 2%; line-height: 1.4; }
	#sec_hour .list li .txt { font-size: 16px; margin-top: 10px; }
	#sec_hour .list li .txt span { font-size: 13px;}
}




/* ---------------------------------------------------
	sec_access
------------------------------------------------------ */
#sec_access { padding: 105px 0 165px; position: relative; }
#sec_access > div { position: relative; }
#sec_access .cmn_tit01 { margin: 0; }
#sec_access .cmn_tit01 .en { font-size: 40px; }
#sec_access .cmn_tit01 .jp { font-size: 18px; margin-top: 20px; letter-spacing: 0; }
#sec_access .txt_col { position: absolute; top: 30px; left: 0; font-size: 18px; }
#sec_access .txt_col ul li { text-indent: -1em; padding-left: 1em; line-height: 1.4; margin-top: 0.4em; }
#sec_access .txt_col ul li::before { content: '・';}
#sec_access .txt_col a { margin-top: 20px; }
#sec_access .map { width: 1153px; margin: 0 0 0 auto;}

@media screen and (hover: hover) {
}
@media screen and (min-width: 601px) {
}
@media screen and (max-width: 600px) {
	#sec_access { padding: 60px 0 100px; }
	#sec_access .cmn_tit01 .en { font-size: 24px; }
	#sec_access .cmn_tit01 .jp { font-size: 17px; margin-top: 10px; }
	#sec_access .txt_col { position: static; margin-top: 30px; font-size: 16px;}
	#sec_access .txt_col a { margin: 20px auto 0; }
	#sec_access .map { width: 107vw; margin: 30px -6vw 0 -11vw; }
}
