@charset "UTF-8";:root{--color-primary:#A88B5B;--color-secondary:#F7F5F1;--color-accent:#2A2A2A;--color-bg:#FAF9F7;--color-text:#444444;--color-line:#DAD5CC;--color-primary-deep:#8D7350;--font-en:"Cormorant Garamond","Playfair Display",serif;--font-jp:"Noto Serif JP","游明朝","YuMincho",serif;--font-label:"Noto Sans JP",sans-serif;--ease-slow:1.2s ease;--ease-med:.6s ease;--gutter:clamp(24px,6vw,96px)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-jp);font-size:16px;line-height:1.9;letter-spacing:.04em;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}*,*::before,*::after{border-radius:0 !important}::selection{background:var(--color-primary);color:#fff}.eyebrow{font-family:var(--font-label);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--color-primary-deep)}.display{font-family:var(--font-en);font-weight:500}h1,h2,h3{font-family:var(--font-jp);font-weight:500;letter-spacing:.06em;color:var(--color-accent)}.section-title{font-size:clamp(28px,4vw,44px);line-height:1.5}.section-title .en{display:block;font-family:var(--font-en);font-size:.42em;letter-spacing:.3em;color:var(--color-primary-deep);margin-bottom:.6em;text-transform:uppercase}.wrap{max-width:1200px;margin:0 auto;padding:0 var(--gutter)}.section{padding:clamp(72px,12vh,160px) 0}.section--tight{padding:clamp(48px,8vh,96px) 0}.section--dark{background:var(--color-accent);color:#D9D4C8}.section--dark h1,.section--dark h2,.section--dark h3{color:var(--color-secondary)}.divider{width:1px;height:64px;background:var(--color-primary);margin:0 auto 40px;transform-origin:top;transform:scaleY(0);transition:transform 1.4s cubic-bezier(.16,.8,.2,1)}.divider.is-visible{transform:scaleY(1)}.rule{border:none;border-top:1px solid var(--color-line)}.btn{display:inline-flex;align-items:center;gap:14px;padding:16px 38px;font-family:var(--font-label);font-size:12px;letter-spacing:.24em;text-transform:uppercase;border:1px solid var(--color-primary);background:transparent;color:var(--color-accent);transition:background var(--ease-med),color var(--ease-med),border-color var(--ease-med);cursor:pointer}.btn:hover{background:var(--color-primary);color:#fff}.btn--solid{background:var(--color-primary);color:#fff}.btn--solid:hover{background:var(--color-primary-deep);border-color:var(--color-primary-deep)}.btn--light{border-color:var(--color-secondary);color:var(--color-secondary)}.btn--light:hover{background:var(--color-secondary);color:var(--color-accent)}.btn .arrow{transition:transform var(--ease-med)}.btn:hover .arrow{transform:translateX(6px)}.site-header{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);height:92px;background:rgba(250,249,247,0);transition:background var(--ease-med),height var(--ease-med),border-color var(--ease-med);border-bottom:1px solid rgba(168,139,91,0)}.site-header.is-scrolled{background:rgba(250,249,247,.96);height:76px;border-bottom:1px solid var(--color-line);backdrop-filter:blur(6px)}.logo{font-family:var(--font-en);font-size:22px;letter-spacing:.18em;color:var(--color-accent);display:flex;align-items:baseline;gap:10px}.logo .mark{color:var(--color-primary);font-size:20px;font-family:var(--font-jp)}.logo .sub{font-family:var(--font-label);font-size:9px;letter-spacing:.3em;color:var(--color-primary-deep);text-transform:uppercase}.global-nav{display:flex;align-items:center;gap:clamp(20px,3vw,48px)}.global-nav a{position:relative;font-family:var(--font-label);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);padding:6px 0}.global-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--color-primary);transform:scaleX(0);transform-origin:left;transition:transform var(--ease-med)}.global-nav a:hover::after,.global-nav a.is-active::after{transform:scaleX(1)}.global-nav a.is-active{color:var(--color-primary-deep)}.book-link--mobile{display:none}.nav-toggle{display:none;width:32px;height:24px;position:relative;cursor:pointer;background:none;border:none;z-index:210}.nav-toggle span{position:absolute;left:0;right:0;height:1px;background:var(--color-accent);transition:transform var(--ease-med),opacity var(--ease-med)}.nav-toggle span:nth-child(1){top:2px}.nav-toggle span:nth-child(2){top:11px}.nav-toggle span:nth-child(3){top:20px}.nav-toggle.is-active{z-index:220}.nav-toggle.is-active span:nth-child(1){top:11px;transform:rotate(45deg)}.nav-toggle.is-active span:nth-child(2){opacity:0}.nav-toggle.is-active span:nth-child(3){top:11px;transform:rotate(-45deg)}.book-link{font-family:var(--font-label);font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:12px 26px;border:1px solid var(--color-accent);color:var(--color-accent);transition:var(--ease-med)}.book-link:hover{background:var(--color-accent);color:var(--color-secondary)}@media (max-width:880px){.global-nav{position:fixed;inset:0;background:var(--color-bg);flex-direction:column;justify-content:center;gap:36px;transform:translateY(-100%);opacity:0;transition:transform .5s ease,opacity .4s ease;pointer-events:none}.global-nav.is-open{transform:translateY(0);opacity:1;pointer-events:auto}.global-nav a{font-size:16px}.nav-toggle{display:block}.book-link{display:none}.global-nav .book-link--mobile{display:inline-flex}body.nav-open{overflow:hidden}}.hero{position:relative;height:100vh;min-height:560px;display:flex;align-items:flex-end;overflow:hidden;background:var(--color-accent)}.hero__media{position:absolute;inset:0;z-index:0}.hero__media img{width:100%;height:100%;object-fit:cover;filter:brightness(.78);transform:scale(1.06);animation:heroZoom 14s ease forwards}@keyframes heroZoom{to{transform:scale(1)}}.hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,18,15,.18) 0%,rgba(20,18,15,.08) 40%,rgba(20,18,15,.55) 100%)}.hero__content{position:relative;z-index:1;width:100%;padding:0 var(--gutter) 88px;color:#fff}.hero__eyebrow{font-family:var(--font-label);font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:#E7DCC4;margin-bottom:28px;opacity:0;animation:fadeUp 1.2s ease .3s forwards}.hero__title{font-family:var(--font-jp);font-weight:500;font-size:clamp(34px,5.4vw,64px);line-height:1.5;letter-spacing:.04em;color:#fff;opacity:0;animation:fadeUp 1.2s ease .55s forwards}.hero__title .en{display:block;font-family:var(--font-en);font-size:.38em;letter-spacing:.3em;color:var(--color-primary);margin-top:22px;text-transform:uppercase}.hero__scroll{position:absolute;right:var(--gutter);bottom:40px;z-index:1;display:flex;flex-direction:column;align-items:center;gap:14px;color:#fff;opacity:0;animation:fadeUp 1.2s ease 1s forwards}.hero__scroll span{writing-mode:vertical-rl;font-family:var(--font-label);font-size:10px;letter-spacing:.3em}.hero__scroll .line{width:1px;height:48px;background:rgba(255,255,255,.5);position:relative;overflow:hidden}.hero__scroll .line::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;background:var(--color-primary);animation:scrollLine 2.4s ease-in-out infinite}@keyframes scrollLine{0%{top:-100%}60%{top:100%}100%{top:100%}}@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.page-banner{position:relative;height:52vh;min-height:360px;display:flex;align-items:flex-end;overflow:hidden;background:var(--color-accent);margin-top:0}.page-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.7)}.page-banner__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,18,15,.2),rgba(20,18,15,.55))}.page-banner__content{position:relative;z-index:1;padding:0 var(--gutter) 56px;color:#fff}.page-banner__eyebrow{font-family:var(--font-en);font-size:13px;letter-spacing:.35em;text-transform:uppercase;color:var(--color-primary);margin-bottom:18px}.page-banner__title{font-size:clamp(28px,4vw,46px);color:#fff}.reveal{opacity:0;transform:translateY(28px);transition:opacity var(--ease-slow),transform var(--ease-slow)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.12s}.reveal-delay-2{transition-delay:.24s}.reveal-delay-3{transition-delay:.36s}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}.split--reverse .split__media{order:2}@media (max-width:880px){.split{grid-template-columns:1fr;gap:40px}.split--reverse .split__media{order:0}}.split__media img{width:100%;aspect-ratio:4/5;object-fit:cover}.split__eyebrow{margin-bottom:22px}.split__body{margin-top:24px;max-width:480px}.split__body p + p{margin-top:1.2em}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--color-line);border:1px solid var(--color-line)}@media (max-width:880px){.feature-grid{grid-template-columns:1fr}}.feature-card{background:var(--color-bg);padding:56px 40px;text-align:center}.feature-card .num{font-family:var(--font-en);font-size:13px;letter-spacing:.3em;color:var(--color-primary);display:block;margin-bottom:28px}.feature-card h3{font-size:19px;margin-bottom:18px}.feature-card p{font-size:14px;line-height:1.9}.keyword-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:0;border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}.keyword-strip span{font-family:var(--font-jp);font-size:clamp(18px,2.6vw,28px);padding:28px clamp(18px,3vw,40px);border-right:1px solid rgba(255,255,255,.15);color:var(--color-secondary)}.keyword-strip span:last-child{border-right:none}.keyword-strip span .en{display:block;font-family:var(--font-en);font-size:10px;letter-spacing:.25em;color:var(--color-primary);margin-top:10px;text-transform:uppercase}.cta-band{background:var(--color-secondary);text-align:center;padding:clamp(64px,10vh,120px) var(--gutter)}.cta-band h2{margin-bottom:26px}.cta-band p{max-width:520px;margin:0 auto 40px}.menu-banner-list{display:flex;flex-direction:column}.menu-category{border-top:1px solid var(--color-line)}.menu-category:last-child{border-bottom:1px solid var(--color-line)}.menu-category__head{display:flex;align-items:baseline;justify-content:space-between;padding:36px 0 18px;cursor:default}.menu-category__head h3{font-size:22px;display:flex;align-items:baseline;gap:16px}.menu-category__head .en{font-family:var(--font-en);font-size:13px;letter-spacing:.25em;color:var(--color-primary-deep);text-transform:uppercase}.menu-category__note{font-size:13px;color:var(--color-primary-deep)}.menu-row{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:18px 0;border-top:1px dotted var(--color-line)}.menu-row__name{font-size:15px}.menu-row__desc{display:block;font-family:var(--font-label);font-size:12px;color:#8a8a8a;letter-spacing:.02em;margin-top:6px}.menu-row__price{font-family:var(--font-en);font-size:18px;letter-spacing:.04em;color:var(--color-accent);white-space:nowrap}.menu-category__body{padding-bottom:12px}.menu-feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,72px);align-items:center;margin-bottom:96px}@media (max-width:880px){.menu-feature{grid-template-columns:1fr}}.menu-feature img{width:100%;aspect-ratio:6/5;object-fit:cover}.menu-note-box{border:1px solid var(--color-line);padding:36px 40px;margin-top:48px}.menu-note-box h4{font-size:14px;letter-spacing:.12em;margin-bottom:16px;color:var(--color-primary-deep)}.menu-note-box ul{font-size:13px;line-height:2}.menu-note-box li::before{content:"・";color:var(--color-primary)}.staff-row{display:grid;grid-template-columns:360px 1fr;gap:clamp(32px,6vw,88px);align-items:center;padding:clamp(48px,7vh,88px) 0;border-bottom:1px solid var(--color-line)}.staff-row:first-of-type{border-top:1px solid var(--color-line)}.staff-row--reverse .staff-row__media{order:2}@media (max-width:880px){.staff-row{grid-template-columns:1fr;gap:32px}.staff-row--reverse .staff-row__media{order:0}}.staff-row__media img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(.08)}.staff-row__name{font-size:clamp(24px,3vw,32px);margin-top:14px;display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.staff-row__name-en{font-family:var(--font-en);font-size:.5em;letter-spacing:.18em;color:var(--color-primary-deep)}.staff-row__role{font-family:var(--font-label);font-size:12px;letter-spacing:.14em;color:var(--color-primary);margin-top:10px;text-transform:uppercase}.staff-row__text{margin-top:22px;max-width:520px;font-size:15px}.staff-row__tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.staff-row__tags li{font-family:var(--font-label);font-size:11px;letter-spacing:.1em;padding:8px 18px;border:1px solid var(--color-line);color:var(--color-primary-deep)}.gallery-filter{display:flex;flex-wrap:wrap;gap:12px}.gallery-filter li{font-family:var(--font-label);font-size:12px;letter-spacing:.12em;padding:12px 24px;border:1px solid var(--color-line);color:var(--color-primary-deep);cursor:default}.gallery-filter li.is-active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-secondary)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:2px}.gallery-item{position:relative;overflow:hidden;grid-row:span 1}.gallery-item--tall{grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease,filter 1.2s ease}.gallery-item:hover img{transform:scale(1.03);filter:brightness(.85)}.gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 20px;background:linear-gradient(180deg,rgba(20,18,15,0),rgba(20,18,15,.72));color:#fff;font-size:13px;letter-spacing:.04em;opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease}.gallery-item:hover figcaption{opacity:1;transform:translateY(0)}.gallery-item figcaption .cat{display:block;font-family:var(--font-en);font-size:10px;letter-spacing:.25em;color:var(--color-primary);margin-bottom:6px;text-transform:uppercase}@media (max-width:880px){.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}.gallery-item figcaption{opacity:1;transform:none;background:linear-gradient(180deg,rgba(20,18,15,0) 40%,rgba(20,18,15,.72))}}.booking-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--color-line);border:1px solid var(--color-line)}@media (max-width:880px){.booking-grid{grid-template-columns:1fr}}.booking-card{background:var(--color-bg);padding:48px 40px}.booking-card__label{font-family:var(--font-en);font-size:13px;letter-spacing:.3em;color:var(--color-primary);display:block;margin-bottom:22px}.booking-card h3{font-size:20px;margin-bottom:16px}.booking-card p{font-size:14px}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,88px);align-items:stretch}@media (max-width:880px){.access-grid{grid-template-columns:1fr}}.access-map{min-height:360px;border:1px solid var(--color-line)}.access-map iframe{width:100%;height:100%;min-height:360px;filter:saturate(.85)}.info-list div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:18px 0;border-top:1px solid var(--color-line);font-size:14px}.info-list div:last-child{border-bottom:1px solid var(--color-line)}.info-list dt{font-family:var(--font-label);font-size:11px;letter-spacing:.1em;color:var(--color-primary-deep);text-transform:uppercase;padding-top:2px}.info-list dd{line-height:1.8}.site-footer{background:var(--color-accent);color:#C9C3B5;padding:88px 0 0}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;padding-bottom:64px;border-bottom:1px solid rgba(255,255,255,.12)}@media (max-width:880px){.footer-grid{grid-template-columns:1fr;gap:40px}}.footer-grid h4{color:var(--color-secondary);font-family:var(--font-label);font-size:11px;letter-spacing:.25em;text-transform:uppercase;margin-bottom:24px}.footer-logo{font-family:var(--font-en);font-size:24px;letter-spacing:.15em;color:var(--color-secondary);margin-bottom:18px}.footer-grid p,.footer-grid address{font-size:13px;line-height:2;font-style:normal}.footer-nav li{margin-bottom:12px;font-size:13px}.footer-nav a:hover{color:var(--color-primary)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:28px 0;font-size:11px;letter-spacing:.08em;color:#8d8775}.center{text-align:center}.mt-xxl{margin-top:clamp(48px,8vh,96px)}@media (max-width:880px){.global-nav{position:fixed;top:0;left:0;width:100%;height:100vh;overflow-y:auto;z-index:205;-webkit-overflow-scrolling:touch}.nav-toggle{z-index:220}}