:root{--paper:#fff;--ink:#17140f;--ink-soft:#57503f;--green:#1f3b2c;--green-deep:#12261b;--green-tint:#1f3b2c14;--green-panel:#172e22;--gold:#8c6d2b;--hairline:#1f3b2c2e;--shadow:#17140f24;--wrap:1180px;--ease:cubic-bezier(.22,.61,.36,1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0}.page{background:var(--paper);color:var(--ink);font-family:var(--font-mincho);-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.85;overflow-x:clip}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3{text-wrap:balance;margin:0;font-weight:400}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(20px,5vw,56px)}:focus-visible{outline:2px solid var(--green);outline-offset:3px}.eyebrow{font-family:var(--font-mincho);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);align-items:center;gap:.6em;font-size:.82rem;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--gold);width:22px;height:1px}.heading-jp{font-family:var(--font-mincho);color:var(--ink);text-wrap:balance;font-weight:600;line-height:1.5}.section-heading{margin-top:.6em;font-size:clamp(1.7rem,3.2vw,2.5rem)}.section-head{margin-bottom:clamp(2.2rem,5vw,3.6rem)}.num{font-family:var(--font-cormorant);font-variant-numeric:tabular-nums}.reveal{opacity:0;transition:opacity .8s var(--ease),transform .8s var(--ease);transform:translateY(18px)}.reveal.is-in{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.site-header{z-index:90;background:0 0;position:absolute;top:0;left:0;right:0}.site-header__inner{justify-content:space-between;align-items:center;height:76px;display:flex}.site-header__mark{font-family:var(--font-mincho);color:#f4f1e6;align-items:baseline;gap:.35em;font-size:1.05rem;font-weight:600;display:flex}.site-header__mark .rom{font-family:var(--font-cormorant);font-size:1.15em;font-weight:600}.site-header__logo{--logo-h:44px;width:calc(var(--logo-h) * 115 / 128);height:var(--logo-h);background-color:currentColor;flex:none;align-self:center;margin-right:.5em;-webkit-mask:url(/logo-mark.png) 50%/contain no-repeat;mask:url(/logo-mark.png) 50%/contain no-repeat}@media (width<=900px){.site-header__logo{--logo-h:34px;margin-right:.35em}}@media (width<=780px){.site-header__logo{--logo-h:38px}}.site-header__nav{gap:clamp(16px,2.4vw,34px);display:flex}.site-header__nav a{letter-spacing:.03em;color:#f4f1e6e0;padding-block:.3em;font-size:.82rem;position:relative}.site-header__nav a:after{content:"";transform-origin:100%;height:1px;transition:transform .35s var(--ease);background:#f4f1e6;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.site-header__nav a:hover{color:#f4f1e6}.site-header__nav a:hover:after{transform-origin:0;transform:scaleX(1)}@media (width<=900px){.site-header__nav{gap:clamp(12px,1.7vw,20px)}.site-header__nav a{font-size:.76rem}}@media (width<=780px){.site-header__nav{display:none}}.site-header--plain .site-header__mark{color:var(--ink)}.site-header--plain .site-header__nav a{color:var(--ink-soft)}.site-header--plain .site-header__nav a:after{background:var(--green)}.site-header--plain .site-header__nav a:hover{color:var(--green)}.site-header--plain .nav-toggle{color:var(--ink)}.site-header--plain .nav-toggle[aria-expanded=true]{color:#f4f1e6}.nav-toggle{z-index:80;color:#f4f1e6;cursor:pointer;background:0 0;border:0;width:44px;height:44px;margin-right:-10px;padding:0;display:none;position:relative}.nav-toggle__bars{width:24px;height:14px;margin:0 auto;display:block;position:relative}.nav-toggle__bars i{height:1px;transition:transform .3s var(--ease), opacity .2s linear;background:currentColor;position:absolute;left:0;right:0}.nav-toggle__bars i:first-child{top:0}.nav-toggle__bars i:nth-child(2){top:50%;transform:translateY(-50%)}.nav-toggle__bars i:nth-child(3){bottom:0}.nav-toggle[aria-expanded=true] .nav-toggle__bars i:first-child{top:50%;transform:translateY(-50%)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle__bars i:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle__bars i:nth-child(3){bottom:50%;transform:translateY(50%)rotate(-45deg)}.mobile-nav{z-index:70;background:var(--green-panel);opacity:0;transition:opacity .35s var(--ease);padding:96px 24px max(24px, env(safe-area-inset-bottom));justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.mobile-nav[hidden]{display:none}.mobile-nav.is-open{opacity:1}.mobile-nav__inner{flex-direction:column;align-items:center;gap:4px;width:100%;max-width:320px;display:flex}.mobile-nav__link{text-align:center;width:100%;font-family:var(--font-mincho);letter-spacing:.06em;color:#f4f1e6;opacity:0;transition:opacity .4s var(--ease), transform .4s var(--ease);border-bottom:1px solid #f4f1e629;padding:16px 8px;font-size:1.05rem;text-decoration:none;transform:translateY(10px)}.mobile-nav.is-open .mobile-nav__link{opacity:1;transform:none}.mobile-nav__link:first-child{transition-delay:60ms}.mobile-nav__link:nth-child(2){transition-delay:.1s}.mobile-nav__link:nth-child(3){transition-delay:.14s}.mobile-nav__link:nth-child(4){transition-delay:.18s}.mobile-nav__link:nth-child(5){transition-delay:.22s}.mobile-nav__link:nth-child(6){transition-delay:.26s}.mobile-nav__link:nth-child(7){transition-delay:.3s}.mobile-nav__link:nth-child(8){transition-delay:.34s}.mobile-nav__link--home{color:#f4f1e6a8;border-bottom:0;margin-top:8px;font-size:.9rem}body.nav-open{overflow:hidden}body.nav-open .nav-toggle{margin-right:0;position:fixed;top:16px;right:clamp(10px,5vw,46px)}@media (width<=780px){.nav-toggle{display:block}}@media (prefers-reduced-motion:reduce){.mobile-nav,.mobile-nav__link,.nav-toggle__bars i{transition:none}}.hero{color:#f4f1e6;min-height:min(97vh,960px);position:relative;overflow:hidden}.hero__media{z-index:0;position:absolute;inset:0}.slideshow{width:100%;height:100%;position:relative}.slideshow__slide{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 1.4s var(--ease);animation:18s ease-in-out infinite alternate kenburns-loop;position:absolute;inset:0}.slideshow__slide.is-active{opacity:1}@keyframes kenburns-loop{0%{transform:scale(1)}to{transform:scale(1.07)}}.hero__scrim{z-index:1;background:linear-gradient(#090c0980 0%,#090c0914 20%,#090c0900 42%),linear-gradient(100deg,#090c096b 0%,#090c091f 38%,#090c0900 62%);position:absolute;inset:0}.hero__stage{z-index:2;height:100%;min-height:min(97vh,960px);position:relative}.hero__mark-wrap{flex-direction:column;align-items:center;display:flex;position:absolute;top:30%;left:clamp(20px,7.6vw,7.2rem)}.hero__mark{align-items:baseline;gap:.4em;line-height:1;display:flex}.hero__motto{font-family:var(--font-cormorant);letter-spacing:.06em;color:#f4f1e6d9;text-align:center;margin-top:.65em;font-size:1.15rem;font-weight:600;line-height:1}.hero__mark .rom{font-family:var(--font-cormorant);letter-spacing:.005em;font-size:clamp(2.1rem,6.2vw,4.1rem);font-weight:500;line-height:.88}.hero__mark .jp{font-family:var(--font-mincho);font-size:clamp(2.1rem,6.2vw,4.1rem);font-weight:600}.hero__sub{color:#f0ede1;max-width:20em;font-size:clamp(.9rem,1.3vw,1.02rem);font-weight:400;line-height:1.95;position:absolute;bottom:9%;left:clamp(24px,8vw,7.5rem)}.section{padding-block:clamp(4.2rem,8.4vw,7.6rem)}.section+.section{border-top:1px solid var(--hairline)}.section__lede{max-width:38em;color:var(--ink-soft);margin-top:1.1em;font-size:.92rem}.no-orphan{text-wrap:pretty;word-break:auto-phrase;line-break:strict}@media (width>=821px){#services .section__lede{max-width:none}}.full-bleed{width:auto;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:0;padding-right:0}.feature-rows{flex-direction:column;margin-top:clamp(2.2rem,4.4vw,3.4rem);display:flex}.feature-row{border-top:1px solid var(--hairline);grid-template-columns:3fr 2fr;min-height:clamp(360px,44vw,620px);display:grid}.feature-row__media{grid-area:1/1;height:100%;position:relative;overflow:hidden}.feature-row__panel{flex-direction:column;grid-area:1/2;justify-content:center;gap:.85em;padding:clamp(28px,5vw,88px);display:flex}.feature-row[data-side=right]{grid-template-columns:2fr 3fr}.feature-row[data-side=right] .feature-row__media{grid-column:2}.feature-row[data-side=right] .feature-row__panel{grid-column:1}.feature-row__title{font-family:var(--font-mincho);font-size:clamp(1.4rem,2.3vw,1.9rem);font-weight:600}.feature-row__desc{color:var(--ink-soft);max-width:26em;font-size:.88rem}.br-sp{display:none}.feature-row .text-link{margin-top:.3em}.feature-row--dark .feature-row__panel{background:var(--green-panel)}.feature-row--dark .eyebrow{color:#cbab68}.feature-row--dark .eyebrow:before{background:#cbab68}.feature-row--dark .feature-row__title{color:#f4f1e6}.feature-row--dark .feature-row__desc{color:#f4f1e6d1}.feature-row--dark .text-link{color:#cbab68}.feature-row--quiet{opacity:.9}.feature-row--quiet .feature-row__media{background:var(--green-tint);align-items:flex-end;padding:28px;display:flex}.pill{letter-spacing:.08em;border:1px solid var(--hairline);color:var(--ink-soft);background:var(--paper);border-radius:999px;padding:.35em .8em;font-size:.68rem;font-weight:600}@media (width<=820px){.feature-row,.feature-row[data-side=right]{grid-template-columns:1fr;min-height:0}.feature-row__media,.feature-row[data-side=right] .feature-row__media{aspect-ratio:4/3;grid-area:1/1;height:auto}.feature-row__panel,.feature-row[data-side=right] .feature-row__panel{grid-area:2/1;gap:1.5em;padding:32px clamp(28px,7vw,40px) 150px}.feature-row .text-link{margin-top:.8em}.br-sp{display:inline}.feature-rows{margin-top:60px}}.events-grid{grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,22px);display:grid}.event-card{border:1px solid var(--hairline);flex-direction:column;display:flex}.event-card__media-wrap{aspect-ratio:16/9;background:var(--green-tint);width:100%;position:relative;overflow:hidden}.event-card__media{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.event-card__media--placeholder{border-bottom:1px dashed var(--hairline);align-items:flex-end;padding:12px;display:flex}.event-card__body{flex-direction:column;flex:1;gap:.45em;padding:clamp(14px,1.8vw,20px);display:flex}.badge{letter-spacing:.04em;color:var(--green);border:1px solid var(--green);border-radius:999px;align-self:flex-start;padding:.28em .65em;font-size:.64rem;font-weight:600}.badge--muted{color:var(--ink-soft);border-color:var(--hairline)}.event-card__title{font-family:var(--font-mincho);font-size:1.02rem;font-weight:600}.event-card__meta{color:var(--ink-soft);flex-wrap:wrap;align-items:baseline;gap:.15em .8em;margin-top:.15em;display:flex}.event-card__date{font-size:1.05rem}a.event-card{transition:border-color .3s var(--ease),transform .3s var(--ease)}a.event-card:hover{border-color:var(--green);transform:translateY(-3px)}a.event-card .event-card__media{transition:transform .6s var(--ease)}a.event-card:hover .event-card__media{transform:scale(1.04)}.events-archive{justify-content:flex-end;margin-top:clamp(1.8rem,3vw,2.6rem);display:flex}.text-link{font-family:var(--font-cormorant);letter-spacing:.16em;text-transform:lowercase;color:var(--gold);flex-direction:column;align-items:stretch;gap:.15em;width:150px;max-width:100%;font-size:1.05rem;font-weight:500;display:inline-flex}.text-link .arrow{background:currentColor;width:100%;height:1px;font-size:0;line-height:0;display:block;position:relative}.text-link.is-leaving .arrow{opacity:0;transition:transform .3s var(--ease),opacity .3s var(--ease);transform:translate(30px)}.text-link .arrow:after{content:"";transform-origin:100% 100%;background:currentColor;width:11px;height:1px;position:absolute;bottom:0;right:0;transform:rotate(32deg)}.text-link--back .arrow:after{transform-origin:0 100%;left:0;right:auto;transform:rotate(-32deg)}.text-link--back{text-align:right;width:170px}.text-link--back.is-leaving .arrow{transform:translate(-30px)}@media (width<=900px){.events-grid{grid-template-columns:repeat(2,1fr)}}.cafe-grid{grid-template-columns:7fr 5fr;align-items:center;gap:clamp(20px,3vw,40px);display:grid}.cafe__media{aspect-ratio:5/4;border:1px solid var(--hairline);position:relative;overflow:hidden}.cafe__meta{gap:clamp(28px,4vw,48px);margin-top:1.6em;display:flex}.cafe__meta dt{letter-spacing:.1em;color:var(--ink-soft);text-transform:uppercase;font-size:.72rem}.cafe__meta dd{font-family:var(--font-mincho);margin:.35em 0 0;font-size:1.05rem}.info-grid{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:0 clamp(2em,4vw,3.5em);max-width:60em;margin:0;display:grid}.info-item{border-bottom:1px solid var(--hairline);padding:1.1em 0}.info-item--wide{grid-column:1/-1}.info-item__label{letter-spacing:.1em;color:var(--ink-soft);font-size:.72rem}.info-item__value{margin:.45em 0 0;font-size:.98rem;line-height:1.9}.info-item__sub{color:var(--ink-soft);white-space:nowrap;font-size:.86em}.text-link-inline{color:var(--green);border-bottom:1px solid var(--green);padding-bottom:.1em}.text-link-inline:hover{opacity:.7}.cafe__meta .info-item__sub{margin-top:.15em;display:block}.chip-row{flex-wrap:wrap;gap:.6em;margin-top:1.7em;display:flex}.chip{border:1px solid var(--hairline);color:var(--ink-soft);border-radius:999px;padding:.5em 1em;font-size:.8rem}@media (width<=820px){.cafe-grid{grid-template-columns:1fr;row-gap:24px}.cafe__meta{margin-top:3.2em}}.news-list{border-top:1px solid var(--hairline)}.news-row{border-bottom:1px solid var(--hairline);grid-template-columns:9em 1fr;align-items:baseline;gap:1.4em;padding-block:1.15em;display:grid}.news-row__date{color:var(--green);font-size:1.05rem}.news-row__title{font-size:.98rem}@media (width<=560px){.news-row{grid-template-columns:1fr;gap:.3em}}.site-footer{border-top:1px solid var(--hairline);padding-block:clamp(2.6rem,5vw,3.6rem)}.site-footer__info{border-bottom:1px solid var(--hairline);margin-bottom:1.6rem;padding-bottom:1.8rem}.site-footer__mark{font-family:var(--font-mincho);align-items:baseline;gap:.3em;margin-bottom:1em;font-size:1.3rem;font-weight:600;display:flex}.site-footer__mark .rom{font-family:var(--font-cormorant)}.site-footer__logo{--logo-h:32px;width:calc(var(--logo-h) * 115 / 128);height:var(--logo-h);background-color:currentColor;flex:none;align-self:center;margin-right:.15em;-webkit-mask:url(/logo-mark.png) 50%/contain no-repeat;mask:url(/logo-mark.png) 50%/contain no-repeat}@media (width<=560px){.site-footer__logo{--logo-h:27px}}.site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(1.6em,3vw,2.6em);max-width:none}@media (width<=640px){.site-footer__grid{grid-template-columns:1fr}}.site-footer__grid .info-item{padding:.85em 0}.site-footer__grid .info-item__value{margin-top:.35em;font-size:.9rem}.site-footer__nav{flex-wrap:wrap;align-items:center;gap:.5em 1.6em;margin-bottom:1.6rem;display:flex}.site-footer__nav a{color:var(--ink-soft);font-size:.86rem}.site-footer__nav a:hover{color:var(--green)}.site-footer__nav-icon{align-items:center;padding:.2em;display:inline-flex}.site-footer__social{flex-wrap:wrap;gap:.4em 1.4em;margin-top:1.3em;padding:0;list-style:none;display:flex}.site-footer__social a{color:var(--ink-soft);align-items:center;gap:.45em;font-size:.88rem;display:inline-flex}.site-footer__social a:hover{color:var(--green)}.social-icon{flex:none}.site-footer__bottom{color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;gap:.8em;font-size:.76rem;display:flex}@media (width>=821px){.section__lede--oneline{max-width:none}}.booking{flex-direction:column;gap:clamp(2rem,4vw,3rem);max-width:720px;display:flex}.booking [hidden]{display:none!important}.booking__trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.booking__group{border:none;flex-direction:column;gap:1.1rem;margin:0;padding:0;display:flex}.booking__legend{font-family:var(--font-mincho);border-bottom:1px solid var(--hairline);width:100%;margin-bottom:.3em;padding:0 0 .7em;font-size:1.08rem;font-weight:600}.booking__row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.booking__field{flex-direction:column;gap:.45em;min-width:0;display:flex}.booking__label{color:var(--ink-soft);align-items:center;gap:.6em;font-size:.85rem;display:flex}.booking__req{color:var(--green);border:1px solid var(--green);white-space:nowrap;border-radius:999px;padding:.15em .6em;font-size:.66rem}.booking input[type=text],.booking input[type=email],.booking input[type=tel],.booking input[type=date],.booking input[type=number],.booking select,.booking textarea{color:var(--ink);background:var(--paper);border:1px solid var(--hairline);width:100%;transition:border-color .25s var(--ease);padding:.7em .85em;font-family:inherit;font-size:.95rem}.booking input:focus,.booking select:focus,.booking textarea:focus{border-color:var(--green);outline:none}.booking textarea{resize:vertical;line-height:1.8}.booking__field--check{flex-direction:row;align-items:flex-start;gap:.7em;font-size:.9rem;line-height:1.7}.booking__field--check input{flex-shrink:0;margin-top:.35em}.booking__field--check small{color:var(--ink-soft);font-size:.78rem}.booking__hint{color:var(--ink-soft);font-size:.8rem;line-height:1.8}.booking__field-note{color:var(--green);font-size:.76rem;line-height:1.7}.booking__payment-note{border-left:2px solid var(--green);background:var(--green-tint);color:var(--ink-soft);flex-direction:column;gap:.8em;padding:1.1em 1.3em;font-size:.85rem;line-height:1.95;display:flex}.booking__payment-note strong{color:var(--ink);font-weight:600}.booking__agree{border:1px solid var(--green);background:var(--paper);padding:1.1em 1.3em}.booking__agree-label{cursor:pointer;align-items:flex-start;gap:.7em;font-size:.92rem;line-height:1.8;display:flex}.booking__agree-label input{width:1.05em;height:1.05em;accent-color:var(--green);flex-shrink:0;margin-top:.35em}.booking__stack{flex-direction:column;gap:1.1rem;display:flex}.booking__inline-choices{flex-wrap:wrap;gap:.5em 1.4em;display:flex}.booking__inline-choice{cursor:pointer;align-items:center;gap:.5em;font-size:.9rem;display:inline-flex}.booking__subgroup{border:1px solid var(--hairline);margin:0;padding:1rem 1.2rem 1.2rem}.booking__sublegend{color:var(--ink-soft);padding:0 .5em;font-size:.82rem}.booking__checks{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6em 1.2em;display:grid}.booking__check{cursor:pointer;align-items:flex-start;gap:.5em;font-size:.86rem;line-height:1.6;display:inline-flex}.booking__check input{flex-shrink:0;margin-top:.25em}.booking__check-price{color:var(--green);font-size:.74rem;display:block}.booking__schedule{border:1px solid var(--hairline);background:var(--green-tint);padding:1em 1.2em}.booking__schedule-empty{color:var(--ink-soft);font-size:.85rem}.booking__schedule-range{font-family:var(--font-mincho);color:var(--green);border-bottom:1px solid var(--hairline);margin-bottom:.7em;padding-bottom:.6em;font-size:1rem;font-weight:600}.booking__schedule-list{flex-direction:column;gap:.5em;font-size:.85rem;line-height:1.7;display:flex}.booking__schedule-key{min-width:3.4em;color:var(--green);border:1px solid var(--green);text-align:center;border-radius:999px;margin-right:.7em;padding:.1em .6em;font-size:.74rem;display:inline-block}.booking__schedule-list small{color:var(--ink-soft);font-size:.78rem}.booking__schedule-closed{color:var(--ink-soft);border-top:1px dashed var(--hairline);padding-top:.5em;font-size:.78rem}.booking__note-inline{color:var(--ink-soft);border-left:2px solid var(--green);background:var(--green-tint);padding:.6em .9em;font-size:.82rem;line-height:1.7}.booking__note-inline strong{color:var(--green);font-weight:600}.booking__details{border:1px solid var(--hairline)}.booking__details[open]{padding-bottom:1.2rem}.booking__details-summary{cursor:pointer;transition:background .25s var(--ease);flex-wrap:wrap;align-items:baseline;gap:.4em .9em;padding:.9em 1.1em .9em 2.6em;font-size:.92rem;list-style:none;display:flex;position:relative}.booking__details-summary::-webkit-details-marker{display:none}.booking__details-summary:before{content:"+";width:1.15em;height:1.15em;color:var(--green);border:1px solid var(--green);border-radius:50%;justify-content:center;align-items:center;font-size:.95em;line-height:1;display:flex;position:absolute;top:50%;left:1.1em;transform:translateY(-50%)}.booking__details[open]>.booking__details-summary:before{content:"−"}.booking__details-summary:hover{background:var(--green-tint)}.booking__details[open]>.booking__details-summary{border-bottom:1px solid var(--hairline);margin-bottom:1rem}.booking__details-hint{color:var(--ink-soft);font-size:.76rem}.booking__details .booking__checks{padding:0 1.1em}.booking__equips{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.2em 1.6em;padding:0 1.1em;display:grid}.booking__equip{border-bottom:1px dashed var(--hairline);justify-content:space-between;align-items:flex-start;gap:.9em;padding:.6em 0;display:flex}.booking__equip-check{flex:auto;min-width:0}.booking__equip-qty{flex:none}.booking .booking__equip-qty select{width:auto;min-width:5.2em;padding:.35em .5em;font-size:.85rem}.booking .booking__equip-qty select:disabled{opacity:.35;cursor:not-allowed}.booking__equip-note{padding:1em 1.1em 0}.booking__choices{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem;display:grid}.booking__choice{border:1px solid var(--hairline);cursor:pointer;transition:border-color .25s var(--ease), background .25s var(--ease);align-items:flex-start;gap:.7em;padding:1em;display:flex}.booking__choice:hover{border-color:var(--green)}.booking__choice:has(input:checked){border-color:var(--green);background:var(--green-tint)}.booking__choice input{flex-shrink:0;margin-top:.25em}.booking__choice-body{flex-direction:column;gap:.3em;min-width:0;display:flex}.booking__choice-title{font-family:var(--font-mincho);font-size:.95rem;font-weight:600}.booking__choice-note{color:var(--ink-soft);font-size:.76rem}.booking__rooms{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.6rem;display:grid}.booking__room{border:1px solid var(--hairline);cursor:pointer;transition:border-color .25s var(--ease), background .25s var(--ease);align-items:flex-start;gap:.7em;padding:.85em 1em;display:flex}.booking__room:hover{border-color:var(--green)}.booking__room:has(input:checked){border-color:var(--green);background:var(--green-tint)}.booking__room input{flex-shrink:0;margin-top:.3em}.booking__room-body{flex-direction:column;gap:.25em;min-width:0;display:flex}.booking__room-name{font-family:var(--font-mincho);font-size:.92rem;font-weight:600}.booking__room--stopped{opacity:.55;cursor:not-allowed}.booking__room--stopped:hover{border-color:var(--hairline)}.booking__room-stop{letter-spacing:.06em;white-space:nowrap;border:1px solid;border-radius:999px;margin-left:.6em;padding:.15em .7em;font-size:.68rem}.booking__room-stop-note{font-size:.74rem;line-height:1.7}.booking__room-note,.booking__room-price{color:var(--ink-soft);font-size:.74rem}.booking__quote{border:1px solid var(--green);background:var(--green-tint);flex-direction:column;gap:.9rem;padding:clamp(1.2rem,2.5vw,1.8rem);display:flex}.booking__quote-title{font-family:var(--font-mincho);font-size:1.02rem;font-weight:600}.booking__quote-choices{border-bottom:1px dashed var(--hairline);flex-direction:column;gap:.5em;padding-bottom:.8em;display:flex}.booking__quote-choices[hidden]{display:none}.booking__quote-choice{align-items:baseline;gap:.8em;font-size:.88rem;display:flex}.booking__quote-choice dt{min-width:8.5em;color:var(--ink-soft);flex:none;font-size:.78rem}.booking__quote-choice dd{min-width:0;margin:0}.booking__quote-list{flex-direction:column;gap:.6em;display:flex}.booking__quote-row{justify-content:space-between;align-items:baseline;gap:1em;font-size:.9rem;display:flex}.booking__quote-label{flex-direction:column;gap:.15em;min-width:0;display:flex}.booking__quote-label small{color:var(--ink-soft);font-size:.74rem}.booking__quote-amount{font-family:var(--font-cormorant);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1rem}.booking__quote-total{border-top:1px solid var(--hairline);justify-content:space-between;align-items:baseline;gap:1em;padding-top:.8em;font-size:.92rem;display:flex}.booking__quote-total strong{font-family:var(--font-cormorant);font-variant-numeric:tabular-nums;color:var(--green);font-size:1.3rem;font-weight:600}.booking__quote-notes{color:var(--ink-soft);flex-direction:column;gap:.4em;font-size:.78rem;line-height:1.7;display:flex}.booking__quote-notes li:before{content:"・"}.booking__quote-caution{color:var(--ink-soft);border-top:1px dashed var(--hairline);padding-top:.5em;font-size:.78rem}.booking__errors{color:#7d3123;background:#a3402f0f;border:1px solid #a3402f;padding:1.1rem 1.3rem;font-size:.88rem;line-height:1.8}.booking__errors-title{margin-bottom:.4em;font-weight:600}.booking__errors ul{flex-direction:column;gap:.25em;display:flex}.booking__errors li:before{content:"・"}.booking__submit-row{flex-direction:column;align-items:center;gap:1rem;display:flex}.booking__submit{font-family:var(--font-mincho);color:#f4f1e6;background:var(--green);border:1px solid var(--green);cursor:pointer;transition:opacity .25s var(--ease);padding:1em 3.5em;font-size:1rem;font-weight:600}.booking__submit:hover:not(:disabled){opacity:.85}.booking__submit:disabled{opacity:.5;cursor:default}.booking__submit-note{color:var(--ink-soft);text-align:center;font-size:.8rem;line-height:1.8}.booking__done{border:1px solid var(--green);text-align:center;flex-direction:column;gap:.8rem;padding:clamp(1.6rem,3vw,2.4rem);display:flex}.booking__done-title{font-family:var(--font-mincho);color:var(--green);font-size:1.15rem;font-weight:600}.booking__done-text{font-size:.92rem;line-height:1.9}.apply-receipt{text-align:left;border:1px solid var(--hairline);background:var(--green-tint);flex-direction:column;gap:.7rem;margin-top:.6rem;padding:clamp(1rem,2.5vw,1.4rem);display:flex}.apply-receipt__title{font-family:var(--font-mincho);color:var(--green);letter-spacing:.04em;font-size:.95rem}.apply-receipt__list{grid-template-columns:minmax(6.5em,auto) minmax(0,1fr);gap:.35rem 1rem;margin:0;font-size:.86rem;line-height:1.8;display:grid}.apply-receipt__list dt{color:var(--ink-soft)}.apply-receipt__list dd{overflow-wrap:anywhere;margin:0}.apply-receipt__total{border-top:1px solid var(--hairline);padding-top:.6rem;font-size:.9rem;font-weight:600}.apply-receipt__time{color:var(--ink-soft);font-size:.78rem}.apply-receipt__save{color:var(--green);font-size:.86rem;line-height:1.9}@media (width<=30rem){.apply-receipt__list{grid-template-columns:minmax(0,1fr);gap:.1rem}.apply-receipt__list dt{font-size:.78rem}.apply-receipt__list dd:not(:last-child){margin-bottom:.5rem}}.booking__done--page{gap:1.1rem;max-width:38em;margin-inline:auto;padding-block:clamp(2rem,4vw,3rem)}.booking__done--page .booking__done-text{text-align:left}.booking__done-lead{font-family:var(--font-mincho);border-bottom:1px solid var(--hairline);padding-bottom:1rem;font-size:1rem;line-height:1.9}.booking__done-foot{padding-top:.6rem}@media (width<=560px){.booking__submit{width:100%;padding:1em}}.booking__event-head{border-top:1px solid var(--green);flex-direction:column;gap:.9rem;margin-bottom:2rem;padding-top:1.4rem;display:flex}.booking__event-title{font-family:var(--font-mincho);font-size:clamp(1.15rem,2.4vw,1.45rem);font-weight:600;line-height:1.6}.booking__event-meta{flex-wrap:wrap;gap:.4em 2em;font-size:.86rem;display:flex}.booking__event-meta li{gap:.8em;display:flex}.booking__event-meta span{color:var(--ink-soft)}.booking__notice{border:1px solid var(--hairline);background:var(--green-tint);margin-bottom:1.6rem;padding:1em 1.2em;font-size:.9rem;line-height:1.8}.booking__tickets{flex-direction:column;padding:0 1.1em;display:flex}.booking__ticket{border-bottom:1px dashed var(--hairline);justify-content:space-between;align-items:center;gap:1em;padding:.75em 0;display:flex}.booking__ticket:last-child{border-bottom:none}.booking__ticket-body{flex-direction:column;gap:.2em;min-width:0;display:flex}.booking__ticket-label{font-family:var(--font-mincho);font-size:.95rem;font-weight:600}.booking__ticket-price{color:var(--ink-soft);font-size:.78rem}.booking__ticket-qty{flex:none}.booking .booking__ticket-qty select{width:auto;min-width:5.4em;padding:.4em .6em;font-size:.88rem}.booking__choice-price{color:var(--green);font-size:.82rem}.booking__quote-empty{color:var(--ink-soft);font-size:.84rem;line-height:1.8}.booking__picker{border-top:1px solid var(--hairline);padding-top:1.6rem}.booking__picker-title{font-family:var(--font-mincho);margin-bottom:1.2rem;font-size:1.05rem;font-weight:600}.booking__picker-list{flex-direction:column;display:flex}.booking__picker-link{border-bottom:1px solid var(--hairline);transition:color .25s var(--ease);align-items:baseline;gap:1em;padding:1.1em .2em;display:flex}.booking__picker-link:hover{color:var(--green)}.booking__picker-name{font-family:var(--font-mincho);flex:auto;font-size:.98rem;font-weight:600}.booking__picker-when{color:var(--ink-soft);white-space:nowrap;font-size:.82rem}@media (width<=560px){.booking__picker-link{flex-wrap:wrap;gap:.3em 1em}.booking__picker-name{flex:100%}}.booking__slot-day+.booking__slot-day{margin-top:1.4rem}.booking__slot-date{font-family:var(--font-mincho);margin-bottom:.6em;padding-left:.1em;font-size:.92rem;font-weight:600}.booking__second{max-width:34em;margin-top:1.4rem}.booking__choices--plans{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.booking__costumes{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.9rem;display:grid}.booking__costume{border:1px solid var(--hairline);cursor:pointer;transition:border-color .25s var(--ease), background .25s var(--ease);flex-direction:column;gap:.55em;padding:.7em;display:flex}.booking__costume:hover{border-color:var(--green)}.booking__costume:has(input:checked){border-color:var(--green);background:var(--green-tint)}.booking__costume input{align-self:flex-start}.booking__costume-figure{aspect-ratio:3/4;background:var(--green-tint);display:block;overflow:hidden}.booking__costume-figure img{object-fit:cover;width:100%;height:100%;display:block}.booking__costume-body{flex-direction:column;gap:.25em;display:flex}.booking__costume-name{font-family:var(--font-mincho);font-size:.9rem;font-weight:600}.booking__costume-note{color:var(--ink-soft);font-size:.74rem;line-height:1.7}
