@charset "utf-8";
/* ===================================================
room css
====================================================== */
/* ---------------------------------------------------
	page common
------------------------------------------------------ */
#contents_wrap {
	overflow: clip;
}
/* 食事エリア */
.p_meal { container-type: inline-size; }
.p_meal .inner_md { max-width: 1050px; }
.p_meal .cmn_slick { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 27px 55px; margin: 63px calc(50% - 50cqi) 0; }
.p_meal .cmn_slick .slick-list { order: 0; padding-inline: calc(260 / 1500 * 100vw)!important; }
.p_meal .cmn_slick .slick-slide { opacity: .3; transition: opacity .2s; }
.p_meal .cmn_slick .slick-slide.slick-center, .p_meal .cmn_slick .slick-slide.is-center { opacity: 1; }
.p_meal .cmn_slick .slick-slide > div { margin-inline: calc(15 / 1500 * 100vw)!important; }
.p_meal .cmn_slick .slick-prev { order: 1; scale: -1 1; }
.p_meal .cmn_slick .slick-next { order: 3; }
.p_meal .cmn_slick .slick-arrow { position: static; transform: none; }
.p_meal .cmn_slick .slick-dots { order: 2; position: static; width: auto; }
.p_meal .cmn_slick .slick-dots button { background-color: var(--black-20); }
.p_meal .cmn_slick .slick-dots .slick-active button { background-color: var(--black-50); }
.p_meal_dlist { margin: 54px auto 0; width: fit-content; }
.p_meal_dlist_item { display: grid; align-items: flex-start; grid-template-columns: 70px 1fr; gap: 10px 20px; }
.p_meal_dlist_item:nth-child(n+2) { margin-top: 11px; }
.p_meal_dlist_theme { font-weight: 500; font-size: 14px; line-height: calc(32 / 14); letter-spacing: .1em; text-align: center; background-color: var(--light-gray); }
.p_meal_dlist_txt { font-weight: 500; font-size: 16px; line-height: calc(32 / 16); letter-spacing: .1em; }
.p_meal_movie { margin: 100px auto 0; width: 750px; aspect-ratio: 750 / 480; overflow: hidden; }
.p_meal_acc_list { counter-reset: number 0; margin-top: 118px; }
.p_meal_acc_list_item { border-bottom: 1px solid rgba(25,19,12,.15); }
.p_meal_acc_list_item:first-child { border-top: 1px solid rgba(25,19,12,.15); }
.p_meal_acc_list_trigger { position: relative; padding-inline: 47px 83px; }
.p_meal_acc_list_trigger::before,.p_meal_acc_list_trigger::after { content:""; position: absolute; top: 50%; right: 50px; translate: 0 -50%; width: 16px; height: 1px; background-color: rgba(25,19,12,.3); transition: rotate .3s ease-out, opacity .3s ease-out; }
.p_meal_acc_list_trigger::before { rotate: 90deg; }
.p_meal_acc_list_trigger.active::before { rotate: 0deg; }
.p_meal_acc_list_trigger.active::after { rotate: -90deg; opacity: 0; }
.p_meal_acc_list_trigger_label { font-weight: 500; font-size: 14px; line-height: 1; letter-spacing: .1em; color: rgba(0,0,0,.45); text-align: center; display: grid; align-content: center; padding: 5px 16px; width: fit-content; border: 1px solid var(--light-gray); border-radius: calc(1px / 0); background-color: var(--light-gray); }
.p_meal_acc_list_trigger_label._white { border-color: rgba(0,0,0,.15); background-color: var(--white); }
.p_meal_acc_list_trigger_ttl { font-feature-settings: "palt"; font-weight: 500; font-size: 28px; line-height: calc(32 / 28);color: var(--black-70); position: relative; padding-left: 42px; }
.p_meal_acc_list_trigger_ttl::before { font-feature-settings: "palt"; font-weight: 500; font-size: 16px; line-height: calc(32 / 16); letter-spacing: .1em; color: rgba(0,0,0,.45); content: counter(number, decimal-leading-zero) "."; counter-increment: number 1; position: absolute; top: 50%; left: 8px; translate: 0 -50%; }
.p_meal_acc_list_trigger_group .p_meal_acc_list_trigger_ttl { margin-top: 17px; }
.p_meal_acc_list_trigger_txt { font-weight: 500; font-size: 16px; line-height: calc(32 / 16); letter-spacing: .1em; color: rgba(0,0,0,.45); }
.p_meal_acc_list_content { overflow: hidden; }
.p_meal_acc_list_content.acc_contents { display: none; }
.p_meal_acc_list_content_inner { padding: 0 67px 52px 47px; }
.p_meal_acc_list_img { display: block; }
.p_meal_acc_list_txt { font-weight: 500; font-size: 16px; line-height: calc(32 / 16); letter-spacing: .1em; }
.p_meal_acc_list_disc_item { font-weight: 500; font-size: 16px; line-height: calc(32 / 16); letter-spacing: .1em; position: relative; padding-left: 1em; }
.p_meal_acc_list_disc_item::before { content:"\30FB"; position: absolute; top: 0; left: 0; }
.p_meal_acc_list_btn { margin-top: 34px; }
.p_meal_acc_list_btn_link { font-weight: 500; font-size: 15px; line-height: calc(25 / 15); letter-spacing: .1em; color: var(--white); text-align: center; display: grid; place-content: center; width: 290px; height: 52px; background-color: #5c5c5c; }
.p_meal_block { position: relative; margin-top: 144px; padding: 160px 114px 140px; background-color: var(--light-gray); }
.p_meal_block:has(.p_meal_block_notes) { padding-bottom: 80px; }
.p_meal_block + .p_meal_block { margin-top: 44px; }
.p_meal_block .cmn_tit01 .tit01 {font-size: 28px; color: var(--black-70); }
.p_meal_block_list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; margin-top: 55px; }
.p_meal_block_list:has(.p_meal_block_list_hgroup) { row-gap: 75px; }
.p_meal_block_disc { margin-top: 42px; }
.p_meal_block_disc_item { font-weight: 500; font-size: 16px; line-height: calc(32 / 16); letter-spacing: .1em; position: relative; padding-left: 1em; }
.p_meal_block_disc_item::before { content:"\30FB"; position: absolute; top: 0; left: 0; }
.p_meal_block_btn { text-align: right; margin-top: 48px; }
.p_meal_block_list_hgroup { text-align: center; margin-top: 25px; }
.p_meal_block_list_hgroup_ttl { font-weight: 500; font-size: 20px; line-height: calc(32 / 20); letter-spacing: .1em; }
.p_meal_block_list_hgroup_txt { font-weight: 500; font-size: 16px; line-height: calc(23 / 16); letter-spacing: .1em; color: rgba(0,0,0,.45); margin-top: 6px; }
.p_meal_block_list_hgroup_txt_link { font: inherit; color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color .5s; }
.p_meal_block_list_txt { font-weight: 500; font-size: 14px; line-height: calc(23 / 14); letter-spacing: .1em; color: var(--black-60); margin-top: 22px; padding-inline: 20px; }
.p_meal_block_notes { margin-top: 82px; }
.p_meal_block_notes_item { font-weight: 500; font-size: 16px; line-height: calc(25 / 16); letter-spacing: .1em; color: rgba(0,0,0,.45); position: relative; padding-left: 1em; }
.p_meal_block_notes_item::before { content:"\203B"; position: absolute; top: 0; left: 0; }
.p_meal_block_deco { position: absolute; left: -273px; bottom: -111px; width: 254px; }
.p_meal_btn { margin-top: 52px; }
.p_meal_btn_link { font-weight: 500; font-size: 15px; line-height: calc(25 / 15); letter-spacing: .1em; color: var(--white); text-align: center; display: grid; place-content: center; margin-inline: auto; width: 290px; height: 52px; background-color: #5c5c5c; }
.p_meal_block_box { margin-top: 40px; padding: 48px 38px 50px; background-color: rgba(0,0,0,.05); }
.p_meal_block_box + .p_meal_block_notes { margin-top: 50px; }
.p_meal_block_box_hgroup_ttl { font-weight: 500; font-size: 20px; line-height: calc(32 / 20); letter-spacing: .1em; }
.p_meal_block_box_hgroup_txt { font-weight: 500; font-size: 16px; line-height: calc(23 / 16); letter-spacing: .1em; color: rgba(0,0,0,.45); margin-top: 4px; }
.p_meal_block_box_txt { font-weight: 500; font-size: 14px; line-height: calc(23 / 14); letter-spacing: .1em; color: var(--black-60); margin-top: 21px; }
@media (any-hover: hover) {
	.p_meal_acc_list_btn_link:hover,
	.p_meal_btn_link:hover {
		color: var(--white);
	}
}
@media screen and (min-width: 601px) {
	.p_meal_acc_list_trigger { display: grid; align-items: center; grid-template-columns: 1fr auto; min-height: 120px; }
	.p_meal_acc_list_trigger:has(.p_meal_acc_list_trigger_group) { min-height: 140px; }
	.p_meal_acc_list_content_inner { display: grid; grid-template-columns: 440px 1fr; column-gap: 48px; }
}
@media screen and (max-width: 600px) {
	.p_meal .cmn_slick { gap: 20px 30px; margin-top: 30px; }
	.p_meal .cmn_slick .slick-list { padding-inline: calc(25 / 375 * 100vw)!important; }
	.p_meal .cmn_slick .slick-slide > div { margin-inline: calc(5 / 375 * 100vw)!important; }
	.p_meal_dlist { margin-top: 40px; width: 100%; }
	.p_meal_dlist_item { gap: 10px; }
	.p_meal_dlist_theme { font-size: 13px; line-height: calc(23 / 13); }
	.p_meal_dlist_txt { font-size: 13px; line-height: calc(23 / 13); }
	.p_meal_movie { margin-top: 40px; width: 100%; }
	.p_meal_acc_list { margin-top: 50px; }
	.p_meal_acc_list_trigger { display: block; padding: 20px 30px 20px 0; }
	.p_meal_acc_list_trigger::before,.p_meal_acc_list_trigger::after { right: 0; }
	.p_meal_acc_list_trigger_label {font-size: 12px; padding: 5px 12px; }
	.p_meal_acc_list_trigger_ttl { font-size: 20px; padding-left: 30px; }
	.p_meal_acc_list_trigger_ttl::before { font-size: 13px; left: 4px; }
	.p_meal_acc_list_trigger_group .p_meal_acc_list_trigger_ttl { margin-top: 10px; }
	.p_meal_acc_list_trigger_txt { font-size: 12px; margin-top: 5px; }
	.p_meal_acc_list_content_inner { padding: 0 0 40px; }
	.p_meal_acc_list_box { margin-top: 20px; }
	.p_meal_acc_list_txt { font-size: 13px; }
	.p_meal_acc_list_disc_item { font-size: 13px; }
	.p_meal_acc_list_btn { margin-top: 30px; }
	.p_meal_acc_list_btn_link { font-size: 14px; margin-inline: auto; width: 100%; max-width: 290px; height: 40px; }
	.p_meal_block { margin-top: 50px; padding: 50px 8%; background-color: var(--light-gray); }
	.p_meal_block:has(.p_meal_block_notes) { padding-bottom: 50px; }
	.p_meal_block + .p_meal_block { margin-top: 30px; }
	.p_meal_block .cmn_tit01 .tit01 {font-size: 18px; }
	.p_meal_block_list { grid-template-columns: 1fr; gap: 10px; margin-top: 30px; }
	.p_meal_block_list:has(.p_meal_block_list_hgroup) { row-gap: 30px; }
	.p_meal_block_disc { margin-top: 20px; }
	.p_meal_block_disc_item { font-size: 13px; }
	.p_meal_block_btn { margin-top: 30px; }
	.p_meal_block_list_hgroup { margin-top: 20px; }
	.p_meal_block_list_hgroup_ttl { font-size: 16px; }
	.p_meal_block_list_hgroup_txt { font-size: 13px; }
	.p_meal_block_list_txt { font-size: 12px; margin-top: 10px; padding-inline: 2%; }
	.p_meal_block_notes { margin-top: 30px; }
	.p_meal_block_notes_item { font-size: 13px; }
	.p_meal_block_deco { left: -70px; bottom: -50px; width: 100px; }
	.p_meal_btn { margin-top: 30px; }
	.p_meal_btn_link { font-size: 14px; margin-inline: auto; width: 100%; max-width: 290px; height: 40px; }
	.p_meal_block_box { margin-top: 30px; padding: 20px 8%; }
	.p_meal_block_box + .p_meal_block_notes { margin-top: 30px; }
	.p_meal_block_box_hgroup_ttl { font-size: 16px; }
	.p_meal_block_box_hgroup_txt { font-size: 13px; }
	.p_meal_block_box_txt { font-size: 12px; margin-top: 10px; }
}

/* ---------------------------------------------------
	cmn_lead
------------------------------------------------------ */
.cmn_lead { padding-top: 122px; background-color: var(--white); container-type: inline-size; isolation: isolate; }
.cmn_lead .inner_md { max-width: 1050px; }
.cmn_lead .box { margin-top: 95px; padding: 24px; }
.cmn_lead .box_txt { font-weight: 500; font-size: 16px; line-height: calc(32 / 16); letter-spacing: .1em; text-align: center; }
.cmn_lead .box_txt_link { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.cmn_lead .marukyo_cuisine { margin: 136px calc(50% - 50cqi) 0; }
.cmn_lead .marukyo_cuisine_inner { position: relative; margin-inline: auto; padding: 168px 133px 168px 0; max-width: 1500px; isolation: isolate; }
.cmn_lead .marukyo_cuisine_inner::after { content:""; position: absolute; inset: 0 calc(50% - 50cqi) 0 calc(377 / 1367 * 100%);	z-index: -1; background: url(../img/cmn_illust04_light_gray.webp) right bottom / 330px auto no-repeat var(--light-gray) }
.cmn_lead .marukyo_cuisine_fig { width: calc(730 / 1367 * 100%); }
.cmn_lead .marukyo_cuisine_fig_img { display: block; }
.cmn_lead .marukyo_cuisine_fig_img img { width: 100%; }
.cmn_lead .marukyo_cuisine_box { padding-block: 64px 79px; width: calc(529 / 1367 * 100%); }
.cmn_lead .marukyo_cuisine .cmn_tit01 { text-align: left; }
.cmn_lead .marukyo_cuisine .cmn_tit01 .tit02 { color: var(--black-40); }
.cmn_lead .marukyo_cuisine_txt { font-weight: 500; font-size: 15px; line-height: calc(29 / 15); letter-spacing: .1em; color: var(--black-60); margin-top: 50px; }
.cmn_lead .marukyo_cuisine_txt + .marukyo_cuisine_txt { margin-top: 1lh; }
.cmn_lead .c_anchor { margin-top: 168px; }
@media screen and (min-width: 601px) {
	.cmn_lead .marukyo_cuisine_inner { display: flex; justify-content: space-between; }
	.cmn_lead .marukyo_cuisine_fig_img { position: sticky; top: 0; }
}
@media screen and (max-width: 600px) {
	.cmn_lead { padding-top: 65px; }
	.cmn_lead .box { margin-top: 40px; padding: 20px 2%; }
	.cmn_lead .box_txt { font-size: 13px; }
	.cmn_lead .marukyo_cuisine { margin: 65px 0 0; }
	.cmn_lead .marukyo_cuisine_inner { padding: 0; }
	.cmn_lead .marukyo_cuisine_inner::after { inset: calc(334 / 750 * 100vw) calc(50% - 50cqi) 0; background-size: calc(200 / 375 * 100%) auto;) }
	.cmn_lead .marukyo_cuisine_fig { margin-inline: auto; width: calc(520 / 660 * 100%); }
	.cmn_lead .marukyo_cuisine_box { display: grid; grid-template-rows: 320px; position: relative; padding-block: 35px 80px; width: 100%; }
	.cmn_lead .marukyo_cuisine_box::after { content:""; position: absolute; left: calc(50% - 50cqi); bottom: 0; width: 100cqi; height: 130px; background-image: linear-gradient(0deg, var(--light-gray), var(--light-gray) 85%, transparent); }
	.cmn_lead .marukyo_cuisine_box.is_open { grid-template-rows: 1fr; }
	.cmn_lead .marukyo_cuisine_box.is_open::after { display: none; }
	.cmn_lead .marukyo_cuisine_box.is_open .js_more_btn { bottom: 30px; }
	.cmn_lead .marukyo_cuisine_box.is_open .js_more_btn::after { top: calc(50% + 2px); rotate: 225deg; }
	.cmn_lead .marukyo_cuisine_box_inner { overflow: hidden; }
	.cmn_lead .js_more_btn { font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3","Hiragino Kaku GothicPro","Osaka","Verdana","Helvetica","Arial","ＭＳ Ｐゴシック", sans-serif; font-feature-settings: "palt"; font-weight: 500; font-size: 11px; line-height: calc(22 / 11); letter-spacing: .1em; color: var(--black-60); position: absolute; left: 50%; bottom: 80px; z-index: 2; translate: -50% 0; width: max-content; appearance: none; -webkit-appearance: none; margin: 0; padding: 0 0 0 36px; border: none; border-radius: 0; background: none; cursor: pointer; }
	.cmn_lead .js_more_btn::before,.js_more_btn::after { content:""; position: absolute; translate: 0 -50%; }
	.cmn_lead .js_more_btn::before { top: 50%; left: 0; width: 23px; height: 23px; border-radius: 50%; background-color: rgba(0,0,0,.1); }
	.cmn_lead .js_more_btn::after { top: calc(50% - 1px); left: 7.5px; width: 8px; height: 8px; border-right: 1px solid var(--black-60); border-bottom: 1px solid var(--black-60); rotate: 45deg;  }
	.cmn_lead .marukyo_cuisine .cmn_tit01 { text-align: center; }
	.cmn_lead .marukyo_cuisine_txt { font-size: 12px; line-height: calc(24 / 12); margin-top: 27px; }
	.cmn_lead .c_anchor { margin-top: 65px; }
}
/* ---------------------------------------------------
	sec01
------------------------------------------------------ */
#sec01 { padding-top: 168px; }
@media screen and (min-width: 601px) {
}
@media screen and (max-width: 600px) {
	#sec01 { padding-top: 65px; }
}

/* ---------------------------------------------------
	sec02
------------------------------------------------------ */
#sec02 { padding-block: 193px 212px; }
@media screen and (min-width: 601px) {
}
@media screen and (max-width: 600px) {
	#sec02 { padding-block: 65px; }
}

/* ---------------------------------------------------
	sec03
------------------------------------------------------ */
#sec03 { padding-block: 200px 165px; }
#sec03 .inner_md { max-width: 1050px; }
#sec03 .list { margin-top: 64px; }
#sec03 .list_item {	min-width: 0;}
#sec03 .cmn_slick { margin-bottom: 0!important; }
#sec03 .cmn_slick .slick-dots { justify-content: flex-end; gap: 16px; bottom: -27px; }
#sec03 .cmn_slick .slick-dots li { margin: 0; }
#sec03 .cmn_slick .slick-dots button { background-color: var(--black-20); }
#sec03 .cmn_slick .slick-dots .slick-active button { background-color: var(--black-50); }
#sec03 .list_ttl { font-feature-settings: "palt"; font-weight: 500; font-size: 26px; line-height: calc(36 / 26); letter-spacing: .1em; color: rgba(0,0,0,.45); margin-top: 31px; }
#sec03 .list_txt { font-weight: 500; font-size: 16px; line-height: calc(32 / 16); letter-spacing: .1em; margin-top: 12px; }
@media screen and (min-width: 601px) {
	#sec03 .list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; }
}
@media screen and (max-width: 600px) {
	#sec03 { padding-block: 65px; }
	#sec03 .list { margin-top: 30px; }
	#sec03 .list_item:nth-child(n+2) { margin-top: 30px; }
	#sec03 .cmn_slick .slick-dots { bottom: -15px; }
	#sec03 .list_ttl { font-size: 18px; margin-top: 20px; }
	#sec03 .list_txt { font-size: 13px; margin-top: 10px; }
}

/* ---------------------------------------------------
	sec04
------------------------------------------------------ */
#sec04 { padding-block: 180px 198px; }
#sec04 .inner_md { max-width: 1050px; }
#sec04 .cmn_tit01 + .txt { text-align: center; margin-top: 52px; }
#sec04 .list { display: grid; justify-content: center; grid-template-columns: repeat(auto-fit, minmax(0,80px)); gap: 13px 26px; margin-top: 23px; }
#sec04 .list .txt { text-align: center; margin-top: 6px; }
#sec04 .txt { font-weight: 500; font-size: 16px; line-height: calc(32 / 16); letter-spacing: .1em; margin-top: 55px; }
#sec04 .list_num { margin-top: 30px; padding-left: 2em; font-size: 16px; list-style-type: decimal; letter-spacing: .1em; line-height: calc(32 / 16); }
#sec04 .list_num + .txt { margin-top: 30px; }
@media screen and (max-width: 600px) {
	#sec04 { padding-block: 65px; }
	#sec04 .cmn_tit01 + .txt { margin-top: 30px; }
	#sec04 .list { display: flex; flex-wrap: wrap; gap: 10px 4%; margin: 20px auto 0; max-width: 350px; }
	#sec04 .list_item { width: 60px; }
	#sec04 .list .txt { margin-top: 6px; }
	#sec04 .txt { font-size: 13px; margin-top: 30px; }
	#sec04 .list_num { margin-top: 15px; font-size: 13px; }
	#sec04 .list_num + .txt { margin-top: 15px; }
}
