:root{--paper:#fbf7f0;--paper-2:#f4eee4;--white:#fffdf9;--ink:#2c241c;--muted:#6d6256;--gold:#9a7844;--gold-deep:#7c6238;--line:#9a784447;--header-h:72px;--ease:cubic-bezier(.22, 1, .36, 1);--font-display:"Cormorant Garamond", "Times New Roman", serif;--font-serif:"Shippori Mincho", "Yu Mincho", serif;--font-sans:"Zen Kaku Gothic New", "Hiragino Sans", sans-serif;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:var(--header-h)}html,body{margin:0;overflow-x:clip}html.is-locked,html.is-locked body{overflow:hidden}body{font-family:var(--font-sans);letter-spacing:.04em;color:var(--ink);background:var(--paper);text-rendering:optimizelegibility;font-size:1rem;line-height:1.9}img{width:100%;max-width:100%;height:auto;display:block}h1,h2,h3,p,ul,ol,figure,dl,dd{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}::selection{color:#fbf7f0;background:#2c241c}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--gold);color:#fffaf3;padding:.6rem 1rem;position:absolute;top:-4rem;left:1rem}.skip:focus{top:.8rem}.icon{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.05rem;height:1.05rem}.progress{z-index:80;background:var(--gold);transform-origin:0;pointer-events:none;width:100%;height:2px;position:fixed;top:0;left:0;transform:scaleX(0)}.btn{letter-spacing:.16em;min-height:46px;transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:.55rem;padding:0 1.25rem;font-size:.75rem;font-weight:500;line-height:1;display:inline-flex}.btn--gold{background:var(--gold);color:#fffaf3}.btn--gold:hover{background:var(--gold-deep)}.btn--line{color:var(--ink);background:0 0;border-color:#9a78448c}.btn--line:hover{background:#9a784414}.logo{color:inherit;align-items:center;gap:.55rem;display:inline-flex}.logo__mark{fill:none;stroke:currentColor;stroke-width:1.15px;stroke-linecap:round;stroke-linejoin:round;width:32px;height:32px}.logo__name{font-family:var(--font-display);letter-spacing:.16em;font-size:1.15rem;font-weight:600}.header{z-index:60;height:var(--header-h);color:var(--ink);transition:background .35s var(--ease), border-color .35s var(--ease);background:#fbf7f08c;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:1rem;padding:0 clamp(1rem,3vw,2rem);display:flex;position:fixed;inset:0 0 auto}.header.is-scrolled,.header.is-menu{background:var(--paper);border-bottom-color:var(--line)}.header__tools{z-index:70;align-items:center;gap:.65rem;display:flex;position:relative}.header__call{border:1px solid var(--line);border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.header__call:hover{background:#9a784414}.nav{display:none}.nav-toggle{justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.nav-toggle__lines{gap:7px;width:18px;display:grid}.nav-toggle__lines span{height:1px;transition:transform .35s var(--ease);background:currentColor;display:block}.header.is-menu .nav-toggle__lines span:first-child{transform:translateY(4px)rotate(40deg)}.header.is-menu .nav-toggle__lines span:last-child{transform:translateY(-4px)rotate(-40deg)}.section{z-index:1;background:var(--paper);padding:clamp(4.2rem,8vw,7rem) clamp(1.15rem,4vw,3rem);position:relative}.wrap{width:min(1040px,100%);margin-inline:auto}.wrap--narrow{width:min(880px,100%)}.sec-head{text-align:center;margin-bottom:clamp(1.8rem,4vw,2.8rem)}.sec-en{font-family:var(--font-display);letter-spacing:.34em;text-transform:uppercase;color:var(--gold);font-size:.95rem;font-weight:500}.sec-head h2,.reserve h2{font-family:var(--font-serif);letter-spacing:.12em;margin-top:.45rem;font-size:clamp(1.65rem,3.2vw,2.35rem);font-weight:500;line-height:1.5}.ornament{background:linear-gradient(90deg, transparent, var(--gold), transparent);width:7.5rem;height:1px;margin:1.15rem auto 0;display:block;position:relative}.ornament:after{content:"";border:1px solid var(--gold);background:var(--paper);width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.hero-stage{z-index:1;min-height:100svh;position:relative}.hero-fixed{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.hero-fixed picture{width:100%;height:100%;display:block}.hero-fixed__img{object-fit:cover;object-position:center 32%;will-change:transform;width:100%;height:100%}@media (width>=700px){.hero-fixed__img{object-position:center 38%}}@media (width>=1100px){.hero-fixed__img{object-position:center 42%}}.hero{z-index:1;min-height:100svh;padding:calc(var(--header-h) + 1rem) 1rem 1.4rem;background:0 0;justify-content:center;align-items:flex-end;display:flex;position:relative}.hero__panel{text-align:center;background:#fbf7f0e0;border:1px solid #9a784447;width:min(640px,100%);padding:1rem 1rem 1.05rem}.hero__lead{font-family:var(--font-serif);letter-spacing:.16em;font-size:clamp(1.15rem,2.4vw,1.55rem);font-weight:500}.hero__sub{color:var(--muted);letter-spacing:.06em;margin-top:.35rem;font-size:.82rem}.hero__actions{flex-wrap:wrap;justify-content:center;gap:.65rem;margin-top:.9rem;display:flex}.strip{z-index:1;background:var(--paper);border-top:1px solid var(--line);grid-template-columns:1fr 1fr;width:100%;margin:0;padding-inline:max(0px,50% - 520px);display:grid;position:relative}.strip li{border-bottom:1px solid var(--line);gap:.15rem;padding:1rem .6rem 1.05rem;display:grid}.strip li:nth-child(odd){border-right:1px solid var(--line)}.strip span{letter-spacing:.22em;color:var(--gold);font-size:.68rem}.strip strong{font-family:var(--font-serif);letter-spacing:.08em;font-size:.95rem;font-weight:500}.strip a{transition:background-size .35s var(--ease);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px}.strip a:hover{background-size:100% 1px}.concept__copy{text-align:center;max-width:38rem;color:var(--muted);gap:1rem;margin-inline:auto;display:grid}.concept__lead{font-family:var(--font-serif);letter-spacing:.08em;color:var(--ink);font-size:clamp(1.12rem,2vw,1.35rem);line-height:2}.pillars{gap:1.3rem;margin-top:clamp(2rem,4vw,3rem);display:grid}.pillars li{border-top:1px solid var(--line);text-align:left;padding-top:.9rem}.pillars h3{font-family:var(--font-serif);letter-spacing:.12em;font-size:1.08rem;font-weight:500}.pillars p{color:var(--muted);margin-top:.35rem;font-size:.92rem}.bleed{width:min(1100px,100%);margin:clamp(2.4rem,5vw,3.6rem) auto 0}.course,.course .ornament:after{background:var(--paper-2)}.menu{border-top:1px solid var(--line)}.menu__item{border-bottom:1px solid var(--line);grid-template-columns:5.2rem 1fr;align-items:start;gap:.35rem 1.2rem;padding:1.45rem 0;display:grid}.menu__item--signature{background:var(--white);box-shadow:inset 2px 0 0 var(--gold);margin-inline:-.8rem;padding-inline:.8rem}.menu__time{font-family:var(--font-serif);letter-spacing:.06em;color:var(--gold-deep);padding-top:.35rem;font-size:.85rem}.menu__time span{font-size:2.5rem;font-weight:500;line-height:.85;display:block}.menu__head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.menu__head h3{font-family:var(--font-serif);letter-spacing:.08em;font-size:clamp(1.05rem,2vw,1.25rem);font-weight:500;line-height:1.6}.menu__head em{font-family:var(--font-display);letter-spacing:.08em;color:var(--gold);margin-left:.7rem;font-size:.95rem;font-style:italic;display:inline-block}.menu__price{font-family:var(--font-serif);letter-spacing:.04em;flex:none;font-size:clamp(1.05rem,1.8vw,1.25rem);font-weight:500}.menu__text{color:var(--muted);margin-top:.35rem;font-size:.9rem}.note,.muted{color:var(--muted);font-size:.82rem}.note{text-align:center;margin-top:1.2rem}.promise{z-index:1;background:var(--white);padding:clamp(3rem,7vw,5.5rem) clamp(1rem,4vw,3rem);position:relative}.promise__figure{width:min(880px,100%);margin-inline:auto}.space__lead{text-align:center;max-width:40rem;color:var(--muted);margin:-.4rem auto 1.8rem}.album{gap:1.3rem;display:grid}.album__pair{grid-template-columns:1fr 1fr;gap:.8rem 1rem;display:grid}.album__shot{background:#e7dfd2;position:relative;overflow:hidden}.album__plain{width:100%;height:auto}.album__pair .album__shot{aspect-ratio:3/4}.album__img{object-fit:cover;will-change:transform;width:100%;height:116%;position:absolute;inset:-8% 0}.album__img--oil{object-position:40% 55%}.album__img--plant{object-position:center 32%}.album figcaption{font-family:var(--font-serif);letter-spacing:.16em;color:var(--muted);margin-top:.5rem;font-size:.86rem}.info-grid{grid-template-columns:1fr;gap:1.15rem 2rem;display:grid}.info-grid dt{letter-spacing:.22em;color:var(--gold);font-size:.7rem}.info-grid dd{letter-spacing:.05em;margin-top:.2rem}.info-grid a{transition:background-size .35s var(--ease);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px}.info-grid a:hover{background-size:100% 1px}.map{border:1px solid var(--line);background:#e7dfd2;min-height:320px;margin-top:1.8rem}.map iframe{border:0;width:100%;height:360px;display:block}.lenis.lenis-smooth .map iframe{pointer-events:auto}.reserve__panel{text-align:center;background:var(--white);border:1px solid var(--line);max-width:760px;margin-inline:auto;padding:clamp(2.2rem,5vw,3.6rem) clamp(1.1rem,3vw,2.4rem)}.reserve__panel .ornament,.reserve .sec-en{margin-inline:auto}.reserve__lead{color:var(--muted);margin-top:.9rem}.reserve__tel{font-family:var(--font-serif);letter-spacing:.08em;color:var(--gold-deep);margin-top:1.1rem;font-size:clamp(1.7rem,5.4vw,2.6rem);font-weight:500;line-height:1.2;display:inline-block}.reserve__tel:hover{color:var(--ink)}.reserve__hours{letter-spacing:.06em;color:var(--muted);flex-wrap:wrap;justify-content:center;gap:.3rem 1rem;margin-top:.85rem;font-size:.82rem;display:flex}.reserve__hours span{white-space:nowrap}.reserve__actions{flex-wrap:wrap;justify-content:center;gap:.65rem;margin-top:1.6rem;display:flex}.reserve__note{max-width:34rem;color:var(--muted);margin:1.3rem auto 0;font-size:.78rem;line-height:1.85}.footer{z-index:1;background:var(--paper);text-align:center;border-top:1px solid var(--line);color:var(--muted);letter-spacing:.08em;justify-items:center;gap:.55rem;padding:2.2rem 1.2rem 1.8rem;font-size:.78rem;display:grid;position:relative}.footer__name{font-family:var(--font-display);letter-spacing:.18em;color:var(--ink);font-size:1.15rem}.footer__links{flex-wrap:wrap;justify-content:center;gap:.35rem 1.2rem;margin-top:.3rem;display:flex}.footer__links a{transition:background-size .35s var(--ease);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px}.footer__links a:hover{background-size:100% 1px}@media (width>=720px){.pillars{grid-template-columns:repeat(3,1fr);gap:1.5rem}.info-grid{grid-template-columns:1fr 1fr}.hero__sub{letter-spacing:.08em;font-size:.9rem}}@media (width>=860px){.strip{grid-template-columns:repeat(4,1fr)}.strip li,.strip li:nth-child(odd){border-right:1px solid var(--line);border-bottom:0}.strip li:last-child{border-right:0}}@media (width>=980px){.header{grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.header__tools{justify-self:end}.nav{justify-self:start;align-items:center;gap:1.35rem;display:flex}.nav__link{letter-spacing:.14em;font-size:.75rem;position:relative}.nav__link:after{content:"";transform-origin:0;width:100%;height:1px;transition:transform .35s var(--ease);background:currentColor;position:absolute;bottom:-.3rem;left:0;transform:scaleX(0)}.nav__link:hover:after{transform:scaleX(1)}.nav__contact,.nav-toggle{display:none}}@media (width<=979px){.header__reserve{display:none}.nav{z-index:50;padding:calc(var(--header-h) + 1rem) 2rem 2.5rem;background:var(--paper);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s var(--ease), visibility .35s var(--ease);flex-direction:column;justify-content:center;gap:.9rem;display:flex;position:fixed;inset:0}.nav.is-open{opacity:1;visibility:visible;pointer-events:auto}.nav__link{font-family:var(--font-serif);letter-spacing:.14em;font-size:clamp(1.45rem,5vw,1.9rem)}.nav__contact{border-top:1px solid var(--line);color:var(--gold-deep);letter-spacing:.06em;gap:.3rem;margin-top:.8rem;padding-top:1rem;display:grid}}@media (prefers-reduced-motion:no-preference){.js [data-hero=fade]{opacity:0}.js .hero-fixed__img{transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.hero-fixed{position:absolute}[data-hero]{opacity:1!important;transform:none!important}}
