:root{--bg:oklch(95.3% .013 85);--bg-2:oklch(92.7% .016 80);--paper:oklch(97.5% .01 88);--ink:oklch(25.5% .012 62);--ink-2:oklch(41.5% .012 62);--ink-3:oklch(56% .01 62);--dark:#403124;--on-dark:oklch(93% .012 84);--accent:oklch(58.5% .075 70);--accent-d:oklch(48.5% .072 68);--accent-soft:color-mix(in oklch, var(--accent) 14%, transparent);--line:color-mix(in oklch, var(--ink) 16%, transparent);--line-soft:color-mix(in oklch, var(--ink) 9%, transparent);--line-dark:color-mix(in oklch, var(--on-dark) 22%, transparent);--maxw:1240px;--gutter:clamp(22px, 5vw, 80px);--pc-zoom:.84;--serif:"Shippori Mincho", "Noto Serif JP", serif;--sans:"Noto Sans JP", system-ui, sans-serif;--latin:"Cormorant Garamond", serif;--mono:ui-monospace, "SFMono-Regular", Menlo, monospace;--ease:cubic-bezier(.22, 1, .36, 1)}[data-scheme=ai]{--accent:oklch(52% .078 255);--accent-d:oklch(43% .074 255)}[data-scheme=koke]{--accent:oklch(52% .066 150);--accent-d:oklch(43% .062 150)}[data-scheme=shu]{--accent:oklch(56% .115 33);--accent-d:oklch(47% .11 33)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);letter-spacing:.02em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-weight:300;line-height:1.9}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--serif);letter-spacing:.04em;margin:0;font-weight:500;line-height:1.4}p{text-wrap:pretty;margin:0}@media (width>=761px){body{zoom:var(--pc-zoom)}}.wrap{max-width:var(--maxw);padding-inline:var(--gutter);margin:0 auto}.eyebrow{font-family:var(--latin);letter-spacing:.06em;color:var(--accent-d);align-items:center;gap:16px;font-size:16px;font-style:italic;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);width:46px;height:1px}.section-title{color:var(--ink);margin-top:18px;font-size:clamp(28px,3.4vw,36px)}section.page-hero{min-height:100svh}@media (width>=761px){section.page-hero,section.hero{min-height:calc(100svh / var(--pc-zoom))}}section.page-hero .page-hero__title{letter-spacing:.14em;white-space:nowrap;max-width:none;font-size:clamp(22px,2.6vw,27px)}.section-title:first-child,.concept__title:first-child,.onsen-intro__title:first-child,.access-head__title:first-child,.plan-intro__title:first-child,.features-head__title:first-child,.meal-head__title:first-child,.craft__title:first-child,.fac-sec__title:first-child,.room__title:first-child,.modal__title:first-child,.faq-intro__lead:first-child,.access-intro__lead:first-child{margin-top:0!important}.section-lead,.section-title,.concept__title,.concept__lead,.faq-intro__lead,.access-intro__lead,.plan-intro__lead,.plan-intro__title,.onsen-intro__lead,.onsen-intro__title,.access-head__title,.rooms__intro,.rooms__title,.area__lead,.area__title,.venue__lead,.venue__name,.craft__title,.craft__text,.dine-link__title,.dine-link__desc,.meal-head__title,.fac-sec__title,.rel-card__title,.feature-list__title,.nrow__title,.faq-q__text,.faq-a__text,.faq__q-text,.faq__a-text{text-wrap:balance;line-break:strict;word-break:normal;overflow-wrap:anywhere}@media (width<=760px){body .section-lead,body .concept__lead,body .faq-intro__lead,body .plan-intro__lead,body .onsen-intro__lead,body .craft__text{text-wrap:wrap}}body .faq-a__text,body .faq__a-text{text-wrap:wrap}.section-lead{max-width:56ch;color:var(--ink-2);margin-top:21px;font-size:15px;line-height:2}.jp-flow{word-break:keep-all;overflow-wrap:anywhere;text-wrap:pretty}.jp-flow--balance{text-wrap:balance}.bun{display:inline-block}.section{padding-block:clamp(86px,12vw,120px)}#plans{padding-bottom:clamp(118px,16vw,154px)}.section--alt{background:var(--bg-2)}.rule{background:var(--line);border:0;height:1px;margin:0}.btn{--b:var(--accent);white-space:nowrap;font-family:var(--sans);letter-spacing:.14em;border:1px solid var(--b);color:var(--b);cursor:pointer;transition:background .5s var(--ease), color .5s var(--ease), border-color .5s var(--ease);background:0 0;align-items:center;gap:12px;padding:15px 30px;font-size:14px;font-weight:400;display:inline-flex}.btn .arw{transition:transform .5s var(--ease)}.btn:hover{background:var(--b);color:var(--paper)}.btn:hover .arw{transform:translate(5px)}.btn--solid{background:var(--accent);color:var(--paper)}.btn--solid:hover{background:var(--accent-d);border-color:var(--accent-d)}.btn--ghost-dark{--b:var(--on-dark)}.ph{background-color:oklch(88.5% .018 78);background-image:repeating-linear-gradient(135deg, color-mix(in oklch, var(--ink) 7%, transparent) 0 1px, transparent 1px 11px);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.ph:after{content:attr(data-label);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:color-mix(in oklch, var(--ink) 52%, transparent);background:color-mix(in oklch, var(--paper) 72%, transparent);border:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;max-width:86%;padding:7px 12px;font-size:11px;overflow:hidden}.ph>img{object-fit:cover;z-index:1;width:100%;height:100%;position:absolute;inset:0}.ph:has(img):after{display:none}@media (width<=760px){.venue__media .ph img{object-position:25% 50%}.hero__media .ph img{object-position:36% 50%}}.ph--dark{background-color:oklch(30% .014 60)}.ph--dark:after{color:color-mix(in oklch, var(--on-dark) 70%, transparent);background:color-mix(in oklch, var(--dark) 64%, transparent);border-color:var(--line-dark)}.venue__media[data-venue-slider]{position:relative;overflow:hidden}.vslider{position:absolute;inset:0}.vslide{opacity:0;visibility:hidden;transition:opacity .7s var(--ease), visibility .7s var(--ease);position:absolute;inset:0}.vslide.is-active{opacity:1;visibility:visible}.vslide .ph{width:100%;height:100%;position:absolute;inset:0}.vslider__arrow{z-index:3;background:color-mix(in oklch, var(--dark) 42%, transparent);width:42px;height:42px;color:var(--on-dark);border:1px solid color-mix(in oklch, var(--paper) 40%, transparent);cursor:pointer;transition:background .25s var(--ease);backdrop-filter:blur(2px);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.vslider__arrow:hover{background:color-mix(in oklch, var(--dark) 70%, transparent)}.vslider__arrow--prev{left:16px}.vslider__arrow--next{right:16px}.vslider__dots{z-index:3;justify-content:center;gap:8px;display:flex;position:absolute;bottom:16px;left:0;right:0}.vslider__dots button{cursor:pointer;border:1px solid var(--on-dark);width:8px;height:8px;transition:background .25s var(--ease);background:0 0;border-radius:50%;padding:0}.vslider__dots button[aria-current=true]{background:var(--on-dark)}.vslide__note{z-index:2;font-family:var(--sans,var(--mono));letter-spacing:.04em;color:var(--on-dark);background:color-mix(in oklch, var(--dark) 62%, transparent);backdrop-filter:blur(2px);border-radius:3px;padding:5px 10px;font-size:13px;position:absolute;bottom:14px;right:14px}@media (width<=760px){.venue__media[data-venue-slider] .vslider{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x pan-y;display:flex;overflow:auto hidden}.venue__media[data-venue-slider] .vslider::-webkit-scrollbar{display:none}.venue__media[data-venue-slider] .vslide{opacity:1;visibility:visible;scroll-snap-align:center;flex:0 0 100%;width:100%;transition:none;position:relative;inset:auto}}.vslider__hint{display:none}@media (width<=760px){.vslider__hint{white-space:nowrap;letter-spacing:.08em;color:var(--ink-3);pointer-events:none;max-height:40px;transition:opacity .5s var(--ease), max-height .5s var(--ease), margin-top .5s var(--ease);justify-content:center;align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex;overflow:hidden}.vslider__hint.is-gone{opacity:0;max-height:0;margin-top:0}.vslider__hint-hand{color:var(--accent-d);animation:vsliderHand 1.9s var(--ease) infinite;display:inline-flex}.vslider__hint-hand svg{width:36px;height:36px;display:block}}@keyframes vsliderHand{0%{opacity:.4;transform:translate(6px)}20%{opacity:1;transform:translate(6px)}60%{opacity:1;transform:translate(-10px)}to{opacity:.4;transform:translate(-10px)}}@media (prefers-reduced-motion:reduce){.vslider__hint-hand{animation:none}}.swipe-hint-pill,[data-clone] .swipe-hint-pill{display:none}@media (width<=760px){.swipe-hint-pill{z-index:4;white-space:nowrap;background:color-mix(in oklch, var(--dark) 62%, transparent);max-width:calc(100% - 24px);color:var(--paper);letter-spacing:.08em;pointer-events:none;transition:opacity .6s var(--ease);border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:12px;display:inline-flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.swipe-hint-pill.is-gone{opacity:0}.swipe-hint-pill .sh-text{text-overflow:ellipsis;min-width:0;overflow:hidden}.swipe-hint-pill .sh-hand{color:var(--accent);animation:vsliderHand 1.9s var(--ease) infinite;display:inline-flex}.swipe-hint-pill .sh-hand svg{width:26px;height:26px;display:block}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reveal{opacity:0;transition:opacity 1s var(--ease), transform 1s var(--ease);transform:translateY(26px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}*,:after{animation:none!important}}.nav{z-index:60;transition:background .5s var(--ease), backdrop-filter .5s var(--ease), border-color .5s var(--ease), padding .5s var(--ease), transform .5s var(--ease), opacity .5s var(--ease);background:linear-gradient(#403124f5 0%,#403124db 42%,#40312499 72%,#0000 100%);border-bottom:1px solid #0000;position:fixed;inset:0 0 auto}[data-nav-hero-hide] .nav.is-hero-hidden{opacity:0;pointer-events:none;transform:translateY(-100%)}.nav__inner{max-width:var(--maxw);padding:26px var(--gutter);transition:padding .5s var(--ease);grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin:0 auto;display:grid}.nav__brand{text-align:center;flex-direction:column;justify-self:center;align-items:center;line-height:1.25;display:flex}.nav__brand .b-sub{display:none}.nav__brand .b-main{font-family:var(--serif);letter-spacing:.12em;white-space:nowrap;color:var(--on-dark);transition:color .5s var(--ease);font-size:20px;font-weight:600}.nav__menu{display:none}.nav__menu a{letter-spacing:.1em;white-space:nowrap;color:var(--on-dark);transition:color .5s var(--ease), opacity .3s;padding-block:6px;font-size:14px;position:relative}.nav__menu a:after{content:"";transform-origin:0;width:100%;height:1px;transition:transform .45s var(--ease);background:currentColor;position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav__menu a:hover:after{transform:scaleX(1)}.nav__right{justify-self:end;align-items:center;gap:10px;display:flex}.nav__right .nav__tel{display:none}.nav__tel{color:var(--on-dark);transition:color .5s var(--ease);flex-direction:column;align-items:flex-end;line-height:1.2;display:flex}.nav__tel .t-label{font-family:var(--latin);letter-spacing:.14em;opacity:.82;font-size:11px;font-style:italic}.nav__tel .t-num{font-family:var(--serif);letter-spacing:.06em;white-space:nowrap;font-size:19px}.nav.is-stuck{background:linear-gradient(to bottom, var(--dark) 0%, var(--dark) 100%);border-bottom-color:var(--line-dark)}.nav.is-stuck .nav__inner{padding-block:16px}.nav.is-stuck .btn--ghost-dark{--b:var(--on-dark)}.nav__right .btn--ghost-dark,.nav.is-stuck .nav__right .btn--ghost-dark{--b:var(--accent);isolation:isolate;background:var(--accent);border-color:var(--accent);color:var(--paper);letter-spacing:.14em;justify-content:center;gap:10px;min-width:142px;padding:10px 18px;font-size:12px;font-weight:500;position:relative;overflow:hidden}.nav__right .btn--ghost-dark:before{content:"";z-index:-1;background:var(--accent-d);transform-origin:0;transition:transform .55s var(--ease);position:absolute;inset:0;transform:scaleX(0)}.nav__right .btn--ghost-dark:hover,.nav.is-stuck .nav__right .btn--ghost-dark:hover{background:var(--accent);border-color:var(--accent-d);color:var(--paper)}.nav__right .btn--ghost-dark:hover:before,.nav.is-stuck .nav__right .btn--ghost-dark:hover:before{transform:scaleX(1)}.nav__right .btn--ghost-dark .arw{border-left:1px solid color-mix(in oklch, var(--paper) 42%, transparent);padding-left:10px}.nav__burger{border:1px solid var(--line-dark);width:46px;height:46px;color:var(--on-dark);cursor:pointer;transition:color .5s var(--ease), border-color .5s var(--ease), background .3s var(--ease);background:0 0;flex:none;justify-content:center;align-items:center;display:inline-flex}.nav__burger:hover{background:color-mix(in srgb, var(--on-dark) 10%, transparent)}.nav__lang{justify-self:start;position:relative}.nav__lang-btn{cursor:pointer;font-family:var(--serif);letter-spacing:.07em;color:var(--on-dark);transition:color .5s var(--ease), opacity .3s;background:0 0;border:0;align-items:center;gap:9px;padding:8px 2px;font-size:15px;display:inline-flex}.nav__lang-btn:hover{opacity:.72}.nav__lang-chev{transition:transform .35s var(--ease);flex:none}.nav__lang.is-open .nav__lang-chev{transform:rotate(180deg)}.nav__lang-list{background:var(--bg);border:1px solid var(--line);opacity:0;visibility:hidden;min-width:150px;transition:opacity .28s var(--ease), transform .28s var(--ease), visibility .28s;z-index:60;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 12px);left:0;transform:translateY(-6px);box-shadow:0 22px 48px -24px #281e128c}.nav__lang.is-open .nav__lang-list{opacity:1;visibility:visible;transform:none}.nav__lang-opt{text-align:left;cursor:pointer;width:100%;font-family:var(--serif);letter-spacing:.05em;color:var(--ink);background:0 0;border:0;padding:11px 14px;font-size:15px;transition:background .2s,color .2s;display:block}.nav__lang-opt:hover{background:var(--line-soft);color:var(--accent-d)}.nav__lang-opt.is-current{color:var(--accent-d)}.nav__drawer{z-index:70;background:var(--dark);opacity:0;visibility:hidden;transition:opacity .45s var(--ease), visibility .45s;grid-template-columns:1fr 1fr;display:grid;position:fixed;inset:0}.nav.is-menu-open .nav__drawer{opacity:1;visibility:visible}.nav__drawer-panel{min-height:100%;color:var(--ink);background:#f2efeb;flex-direction:column;padding:clamp(30px,4.4vh,60px) clamp(30px,5vw,96px);display:flex;position:relative;overflow-y:auto}.nav__drawer-top{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.nav__drawer-brand{line-height:1.4;display:block}.nav__drawer-brand .b-sub{font-family:var(--latin);letter-spacing:.2em;opacity:.68;margin-bottom:8px;font-size:12px;font-style:italic;display:block}.nav__drawer-brand .b-main{font-family:var(--serif);letter-spacing:.12em;color:var(--ink);font-size:clamp(20px,1.55vw,26px);font-weight:600}.nav__drawer-close{cursor:pointer;color:var(--ink);font-family:var(--latin);letter-spacing:.14em;opacity:.9;transition:opacity .3s var(--ease);background:0 0;border:0;align-items:center;gap:11px;font-size:17px;display:inline-flex}.nav__drawer-close:hover{opacity:.55}.nav__drawer-close .x{font-size:21px;line-height:1}.nav__drawer-menu{grid-template-rows:repeat(5,auto);grid-auto-columns:max-content;grid-auto-flow:column;align-content:start;justify-items:start;gap:clamp(16px,2.6vh,32px) clamp(28px,3.5vw,64px);margin:clamp(40px,7vh,96px) 0 auto;display:grid}.nav__drawer-link{font-family:var(--serif);letter-spacing:.06em;color:var(--ink);white-space:nowrap;opacity:.92;transition:color .3s var(--ease), opacity .3s var(--ease);padding:4px 0;font-size:clamp(16px,1.35vw,21px)}.nav__drawer-link:hover{color:var(--accent-d);opacity:1}.nav__drawer-link[aria-current=page],.nav__drawer-link.is-active{color:var(--accent-d)}.nav__drawer-item--cuisine{z-index:1;flex-direction:column;display:inline-flex;position:relative}.nav__drawer-parent-row{align-items:center;gap:6px;display:inline-flex}.nav__drawer-link--parent{align-items:center;display:inline-flex}.nav__drawer-subtoggle{appearance:none;cursor:pointer;width:40px;height:40px;color:inherit;background:0 0;border:0;justify-content:center;align-items:center;margin:-8px -6px;padding:0;display:inline-flex}.nav__drawer-caret{opacity:.45;transition:transform .35s var(--ease), opacity .3s var(--ease), color .3s var(--ease);font-size:11px;line-height:1}.nav__drawer-item--cuisine.is-sub-open{z-index:30}.nav__drawer-item--cuisine.is-sub-open .nav__drawer-caret{opacity:1;color:var(--accent-d);transform:rotate(180deg)}@media (hover:hover){.nav__drawer-item--cuisine:hover,.nav__drawer-item--cuisine:focus-within{z-index:30}.nav__drawer-item--cuisine:hover .nav__drawer-caret,.nav__drawer-item--cuisine:focus-within .nav__drawer-caret{opacity:1;color:var(--accent-d);transform:rotate(180deg)}}.cuisine-flyout{border:1px solid var(--line);opacity:0;visibility:hidden;min-width:216px;transition:opacity .32s var(--ease), transform .32s var(--ease), visibility .32s;z-index:6;background:#fbfaf7;flex-direction:column;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);left:-8px;transform:translateY(8px);box-shadow:0 28px 54px -28px #281e1280}.cuisine-flyout:before{content:"";height:12px;position:absolute;top:-12px;left:0;right:0}.nav__drawer-item--cuisine.is-sub-open .cuisine-flyout{opacity:1;visibility:visible;transform:none}@media (hover:hover){.nav__drawer-item--cuisine:hover .cuisine-flyout,.nav__drawer-item--cuisine:focus-within .cuisine-flyout{opacity:1;visibility:visible;transform:none}}.cuisine-flyout a{font-family:var(--serif);letter-spacing:.04em;color:var(--ink);white-space:nowrap;transition:color .25s var(--ease), background .25s var(--ease);align-items:center;gap:12px;padding:11px 16px;font-size:clamp(15px,1.1vw,17px);display:flex}.cuisine-flyout a:before{content:"";opacity:.35;width:14px;height:1px;transition:width .3s var(--ease), opacity .3s var(--ease);background:currentColor}.cuisine-flyout a:hover,.cuisine-flyout a[aria-current=page]{color:var(--accent-d);background:#f1ede7}.cuisine-flyout a:hover:before{opacity:1;width:24px}.nav__drawer-foot{flex-wrap:wrap;align-items:center;gap:26px;margin-top:clamp(40px,6vh,72px);display:flex}.nav__drawer-tel{color:var(--ink);flex-direction:column;display:inline-flex}.nav__drawer-tel .t-label{font-family:var(--serif);white-space:nowrap;letter-spacing:.12em;opacity:.7;font-size:12px;font-style:normal}.nav__drawer-tel .t-num{font-family:var(--serif);letter-spacing:.06em;font-size:21px}.nav__drawer-resv{background:var(--accent);border-color:var(--accent);color:var(--paper);letter-spacing:.18em;justify-content:center;gap:13px;min-width:205px;padding:14px 26px;font-size:13px}.nav__drawer-resv:hover{background:var(--accent-d);border-color:var(--accent-d);color:var(--paper)}.nav__drawer-resv .arw{border-left:1px solid color-mix(in oklch, var(--paper) 42%, transparent);padding-left:13px}.nav__drawer-media{background:var(--dark);position:relative;overflow:hidden}.nav__drawer-media .ph{width:100%;height:100%;position:absolute;inset:0}@media (width<=1100px){.nav__drawer{grid-template-columns:1fr}.nav__drawer-media{display:none}}@media (width<=560px){.nav__drawer-menu{column-gap:clamp(24px,8vw,60px)}}.footer{background:var(--dark);color:var(--on-dark);padding-block:clamp(64px,8vw,110px)}.footer a:hover{color:var(--accent)}.footer__top{grid-template-columns:1.1fr 2fr 1fr;gap:48px;display:grid}.footer__brand .f-sub{font-family:var(--latin);letter-spacing:.16em;opacity:.8;font-style:italic}.footer__brand .f-main{font-family:var(--serif);letter-spacing:.1em;margin-top:8px;font-size:26px;font-weight:600}.footer__brand p{color:color-mix(in oklch, var(--on-dark) 75%, transparent);max-width:34ch;margin-top:24px;font-size:14px;line-height:2.1}.footer__col h4{font-family:var(--latin);letter-spacing:.08em;color:var(--accent);margin-bottom:22px;font-size:16px;font-style:italic;font-weight:500}.footer__col ul{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.footer__menu ul{grid-template-columns:repeat(2,max-content);gap:16px 56px;display:grid}.footer__col a{color:color-mix(in oklch, var(--on-dark) 82%, transparent);transition:color .4s var(--ease);font-size:14px}.footer__tel .t-num{font-family:var(--serif);letter-spacing:.06em;font-size:24px}.footer__tel .t-caption{letter-spacing:.1em;color:var(--accent);margin-bottom:6px;font-size:12px}.footer__tel .t-hours{color:color-mix(in oklch, var(--on-dark) 65%, transparent);margin-top:6px;font-size:13px}.footer__bottom{border-top:1px solid var(--line-dark);letter-spacing:.08em;color:color-mix(in oklch, var(--on-dark) 60%, transparent);flex-wrap:wrap;justify-content:space-between;gap:20px;margin-top:clamp(48px,6vw,80px);padding-top:28px;font-size:12px;display:flex}@media (width<=820px){.footer__top{grid-template-columns:1fr 1fr}.footer__brand,.footer__menu{grid-column:1/-1}.footer__menu ul{grid-template-columns:repeat(2,max-content)}}@media (width<=520px){.footer__menu ul{grid-template-columns:repeat(2,max-content);gap:14px 36px}.footer__tel .t-num{font-size:19px}}@media (width<=920px){.nav__inner{gap:12px}.nav__brand .b-main{letter-spacing:.08em;font-size:17px}.nav__burger{width:44px;height:44px}}@media (width<=560px){.nav__brand .b-main{letter-spacing:.04em;font-size:16px}.nav__lang-cur{font-size:13px}}.mbar{display:none}@media (width<=760px){.nav__right .btn--ghost-dark{display:none}.nav__inner{gap:10px;padding-block:18px}.mbar{z-index:50;background:var(--bg);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);grid-template-columns:1.1fr 1fr;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 34px -20px #281e1273}.mbar__item{min-height:54px;font-family:var(--serif);letter-spacing:.08em;color:var(--ink);cursor:pointer;transition:color .3s var(--ease), background .3s var(--ease);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:7px 6px;font-size:12px;display:flex;position:relative}.mbar__item svg{width:22px;height:22px;display:block}.mbar__item+.mbar__item:before{content:"";background:var(--line);width:1px;position:absolute;top:24%;bottom:24%;left:0}.mbar__item--cta{background:var(--accent);color:var(--paper);letter-spacing:.12em}.mbar__item--cta+.mbar__item:before{display:none}.mbar__item:not(.mbar__item--cta):active{background:var(--line-soft)}body{padding-bottom:calc(54px + env(safe-area-inset-bottom,0px))}}.resv-sheet,.resv-sheet-overlay{display:none}@media (width<=760px){.resv-sheet-overlay:not([hidden]){z-index:61;background:color-mix(in oklch, var(--dark) 42%, transparent);opacity:0;transition:opacity .3s var(--ease);display:block;position:fixed;inset:0}.resv-sheet-overlay.is-open{opacity:1}.resv-sheet-overlay.is-closing{opacity:0}.resv-sheet:not([hidden]){z-index:62;display:block;position:fixed;bottom:0;left:0;right:0}.resv-sheet__panel{background:var(--paper);border-top:1px solid var(--line);padding:14px var(--gutter) calc(18px + env(safe-area-inset-bottom,0px));transition:transform .32s var(--ease);transform:translateY(100%);box-shadow:0 -18px 44px -26px #281e1280}.resv-sheet.is-open .resv-sheet__panel{transform:none}.resv-sheet__grip{background:var(--line);border-radius:2px;width:38px;height:3px;margin:0 auto 16px;display:block}.resv-sheet__title{text-align:center;font-family:var(--serif);letter-spacing:.06em;color:var(--ink-2);margin:0 0 14px;font-size:14px}.resv-sheet__opt{border:1px solid var(--accent);color:var(--accent-d);transition:background .3s var(--ease), color .3s var(--ease);justify-content:space-between;align-items:center;gap:14px;padding:13px 18px;text-decoration:none;display:flex}.resv-sheet__opt+.resv-sheet__opt{margin-top:10px}.resv-sheet__opt--primary{background:var(--accent);border-color:var(--accent);color:var(--paper)}.resv-sheet__opt--primary:active{background:var(--accent-d)}.resv-sheet__opt:not(.resv-sheet__opt--primary):active{background:var(--accent-soft)}.resv-sheet__opt-text{flex-direction:column;gap:4px;min-width:0;display:flex}.resv-sheet__opt-label{font-family:var(--serif);letter-spacing:.08em;font-size:15px}.resv-sheet__opt-note{letter-spacing:.04em;color:var(--ink-3);font-size:11px}.resv-sheet__opt--primary .resv-sheet__opt-note{color:color-mix(in oklch, var(--paper) 78%, transparent)}.resv-sheet__opt .arw{flex:none}.resv-sheet__close{width:100%;font-family:var(--serif);letter-spacing:.1em;color:var(--ink-3);cursor:pointer;background:0 0;border:0;margin-top:14px;padding:10px;font-size:13px;display:block}}@media (prefers-reduced-motion:reduce){.resv-sheet__panel{transition:none;transform:none}.resv-sheet-overlay{transition:none}}.booking{z-index:20;margin-top:-54px;position:relative}.booking__card{background:var(--paper);border:1px solid var(--line);grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:clamp(20px,2.5vw,38px);padding:clamp(24px,3vw,38px) clamp(24px,3vw,44px);display:grid;box-shadow:0 30px 70px -50px oklch(20% .02 60/.5)}.booking__badge{background:var(--accent);color:var(--paper);letter-spacing:.1em;align-items:center;gap:9px;padding:8px 18px;font-size:12px;font-weight:400;display:inline-flex;position:absolute;top:-15px;left:clamp(24px,3vw,44px)}.booking__badge .dot{background:var(--paper);border-radius:50%;width:6px;height:6px}.field{flex-direction:column;gap:10px;min-width:0;display:flex}.field>label{font-family:var(--latin);letter-spacing:.05em;color:var(--accent-d);font-size:14px;font-style:italic}.field .ja-label{font-family:var(--serif);letter-spacing:.08em;color:var(--ink-3);margin-left:2px;font-size:13px}.field input,.field select,.field .field__control-display{text-align:left;width:100%;min-width:0;font-family:var(--serif);color:var(--ink);border:0;border-bottom:1px solid var(--line);letter-spacing:.04em;appearance:none;cursor:pointer;background:0 0;padding:8px 2px;font-size:17px}.field input:focus,.field select:focus,.field .field__control-display:focus{border-bottom-color:var(--accent);outline:none}.field--select{position:relative}.field--select:after{content:"";border-right:1px solid var(--ink-2);border-bottom:1px solid var(--ink-2);pointer-events:none;width:7px;height:7px;position:absolute;bottom:16px;right:4px;transform:rotate(45deg)}.booking__submit{align-items:flex-end;height:100%;display:flex}.booking__submit .btn{white-space:nowrap;justify-content:center;width:100%;padding-block:17px}.booking__note{color:var(--ink-3);letter-spacing:.04em;align-items:center;gap:12px;margin-top:24px;font-size:14px;display:flex}.booking__note .mono{font-family:var(--mono);font-size:11px}.field--dates{position:relative}[data-cal-enhanced] .field>label,[data-cal-enhanced] .field>input,[data-cal-enhanced] .field>select,[data-cal-enhanced] .field>.field__control-display,[data-cal-enhanced] .booking__submit .btn{transition:opacity .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease)}.field.is-cal-active>input,.field.is-cal-active>select,.field.is-cal-active>.field__control-display{border-bottom-color:var(--accent)}.field.is-cal-dim>label,.field.is-cal-dim>input,.field.is-cal-dim>select,.field.is-cal-dim>.field__control-display{opacity:.5;color:var(--ink-3)}.field--select.is-cal-dim:after{opacity:.5}.booking__submit.is-cal-dim .btn{opacity:.6}[data-cal-enhanced] input[type=date]::-webkit-calendar-picker-indicator{display:none}[data-cal-enhanced] .field>input,[data-cal-enhanced] .field>label{pointer-events:none}[data-cal-enhanced] .field--dates,[data-cal-enhanced] .field:has(>input){cursor:pointer}.cal{z-index:30;background:var(--paper);border:1px solid var(--line);width:max-content;padding:20px 22px 14px;position:absolute;top:calc(100% + 14px);left:-1px;box-shadow:0 30px 70px -40px oklch(20% .02 60/.55)}.cal__nav{border:1px solid var(--line);width:32px;height:32px;color:var(--ink-2);cursor:pointer;transition:color .3s var(--ease), border-color .3s var(--ease);background:0 0;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:16px}.cal__nav--prev{left:22px}.cal__nav--next{right:22px}.cal__nav:hover:not(:disabled){color:var(--accent-d);border-color:var(--accent)}.cal__nav:disabled{opacity:.3;cursor:default}.cal__months{gap:26px;display:flex}.cal__month{width:238px}.cal__title{font-family:var(--serif);letter-spacing:.08em;text-align:center;margin-bottom:10px;font-size:14px;line-height:32px}.cal__grid{grid-template-columns:repeat(7,34px);justify-content:center;display:grid}.cal__dow{letter-spacing:.08em;color:var(--ink-3);text-align:center;padding-block:6px;font-size:11px}.cal__day{z-index:0;height:34px;font-family:var(--serif);letter-spacing:.02em;color:var(--ink);cursor:pointer;background:0 0;border:0;font-size:13px;position:relative}.cal__day:disabled{color:color-mix(in oklch, var(--ink) 28%, transparent);cursor:default}.cal__day.is-today{color:var(--accent-d);font-weight:500}.cal__day:not(:disabled):after{content:"";transition:border-color .25s var(--ease);border:1px solid #0000;border-radius:50%;position:absolute;inset:2px}.cal__day:not(:disabled):hover:after{border-color:var(--accent)}.cal__day.is-start,.cal__day.is-end{color:var(--paper);font-weight:400}.cal__day.is-start:before,.cal__day.is-end:before{content:"";background:var(--ink);z-index:-1;border-radius:50%;position:absolute;inset:2px}.cal__day.is-in-range{background:var(--accent-soft)}.cal__day.is-start.has-end{background:linear-gradient(to right, transparent 50%, var(--accent-soft) 50%)}.cal__day.is-end{background:linear-gradient(to right, var(--accent-soft) 50%, transparent 50%)}.cal__foot{border-top:1px solid var(--line-soft);align-items:center;gap:4px;margin-top:12px;padding-top:10px;display:flex}.cal__status{font-family:var(--serif);letter-spacing:.06em;color:var(--ink-2);margin-right:auto;font-size:12px}.cal__status strong{color:var(--ink);font-size:16px;font-weight:500}.cal__action{font-family:var(--sans);letter-spacing:.08em;color:var(--ink-3);cursor:pointer;transition:color .3s var(--ease);background:0 0;border:0;padding:8px 10px;font-size:12px}.cal__action:hover{color:var(--accent-d)}.cal__action--close{border:1px solid var(--line);color:var(--ink-2);padding-inline:14px}.cal__action--close:hover{border-color:var(--accent)}[data-cal-enhanced] .field--select{cursor:pointer;position:relative}[data-cal-enhanced] .field--select>select{pointer-events:none;display:none}.gsel{z-index:30;background:var(--paper);border:1px solid var(--line);width:316px;padding:8px 18px;position:absolute;top:calc(100% + 14px);left:-1px;box-shadow:0 30px 70px -40px oklch(20% .02 60/.55)}.gsel__row{justify-content:space-between;align-items:center;gap:18px;padding:13px 0;display:flex}.gsel__row+.gsel__row{border-top:1px solid var(--line-soft)}.gsel__name{font-family:var(--serif);letter-spacing:.06em;color:var(--ink);font-size:14px;display:block}.gsel__note{letter-spacing:.03em;color:var(--ink-3);max-width:21ch;margin-top:3px;font-size:11px;line-height:1.7;display:block}.gsel__ctrl{flex:none;align-items:center;gap:12px;display:inline-flex}.gsel__foot{border-top:1px solid var(--line-soft);justify-content:flex-end;margin-top:4px;padding:10px 0 4px;display:flex}.gsel__btn{border:1px solid var(--line);width:30px;height:30px;color:var(--ink-2);cursor:pointer;transition:border-color .25s var(--ease), color .25s var(--ease), background .25s var(--ease);background:0 0;justify-content:center;align-items:center;font-size:15px;line-height:1;display:inline-flex}.gsel__btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-d);background:var(--accent-soft)}.gsel__btn:disabled{opacity:.3;cursor:default}.gsel__count{text-align:center;min-width:2ch;font-family:var(--serif);color:var(--ink);font-size:15px}.booking-overlay{display:none}@media (width<=760px){.booking.is-pop-open{z-index:65}.booking-overlay:not([hidden]){z-index:64;background:color-mix(in oklch, var(--dark) 42%, transparent);transition:opacity .25s var(--ease);display:block;position:fixed;inset:0}.booking-overlay.is-closing{opacity:0}.gsel,.cal{overscroll-behavior:contain;z-index:65;height:fit-content;max-height:calc(100% - 140px);margin:auto;position:fixed;inset:0;overflow-y:auto}.gsel{width:min(100vw - 28px,340px)}.cal{width:min(100vw - 28px,348px)}.cal__month+.cal__month{display:none}.cal__month{width:100%}.cal__grid{grid-template-columns:repeat(7,1fr)}}.reserve{background:linear-gradient(to bottom, var(--bg) 0%, var(--bg-2) 100%);border-top:1px solid var(--line-soft);padding-block:clamp(40px,5vw,64px)}.reserve__inner{position:relative}.reserve__widget,.reserve .booking{margin-top:0}@media (width<=1040px){.booking__card{grid-template-columns:1fr 1fr}.booking__submit{grid-column:1/-1}}@media (width<=560px){.booking__card{grid-template-columns:1fr}}@media (width<=760px){.field input[type=date]::-webkit-date-and-time-value{text-align:left}}
