:root{--c-black:#141110;--c-ink:#0c0a09;--c-wine:#5a1b24;--c-wine-deep:#3f141b;--c-ivory:#f2ece0;--c-greige:#b3a999;--c-gold:#a98c56;--c-text:#e7e0d4;--c-text-dim:#a89f90;--c-bg:var(--c-black);--f-en:"Cormorant Garamond", "Noto Serif JP", "Times New Roman", serif;--f-jp-serif:"Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "MS PMincho", serif;--f-sans:"Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", system-ui, sans-serif;--content-max:1120px;--content-narrow:760px;--gutter:1.25rem;--header-h:60px;--line:#a98c5673;--line-soft:#b3a99938;--ease:cubic-bezier(.22, 1, .36, 1)}@media (width>=768px){:root{--gutter:2rem;--header-h:68px}}@media (width>=1120px){:root{--gutter:2.5rem;--header-h:76px}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--f-sans);color:var(--c-text);background-color:var(--c-bg);letter-spacing:.02em;font-feature-settings:"palt";-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.9;overflow-x:hidden}img,iframe{max-width:100%;display:block}img{height:auto}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}h1,h2,h3{letter-spacing:.04em;font-weight:500;line-height:1.4}ul,ol{padding:0;list-style:none}dl{margin:0}:focus-visible{outline:2px solid var(--c-gold);outline-offset:3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.container{width:100%;max-width:var(--content-max);padding-inline:var(--gutter);margin-inline:auto}.skip-link{z-index:200;background:var(--c-ivory);color:var(--c-ink);padding:.6rem 1.2rem;font-size:.85rem;position:absolute;top:0;left:50%;transform:translate(-50%,-120%)}.skip-link:focus{transform:translate(-50%)translate(0,0)}.eyebrow{font-family:var(--f-en);letter-spacing:.42em;text-transform:uppercase;color:var(--c-gold);margin-bottom:1.1rem;font-size:clamp(.8rem,1.6vw,.95rem)}.eyebrow:before{content:"";background:var(--c-gold);vertical-align:middle;transform-origin:0;width:2.4rem;height:1px;margin-right:.9rem;display:inline-block}.section__title{font-family:var(--f-jp-serif);color:var(--c-ivory);letter-spacing:.08em;font-size:clamp(1.6rem,4.4vw,2.5rem);font-weight:500}.section__head{margin-bottom:clamp(2.5rem,6vw,4.5rem)}.text-link{font-family:var(--f-en);letter-spacing:.22em;text-transform:uppercase;color:var(--c-ivory);border-bottom:1px solid var(--line);transition:color .4s var(--ease), border-color .4s var(--ease);padding-bottom:.3rem;font-size:.9rem;display:inline-block}.text-link:hover{color:var(--c-gold);border-color:var(--c-gold)}.button-link{border:1px solid var(--c-greige);min-height:56px;color:var(--c-ivory);letter-spacing:.14em;transition:background-color .4s var(--ease), border-color .4s var(--ease), color .4s var(--ease);justify-content:center;align-items:center;padding:0 2.4rem;font-size:1rem;display:inline-flex}.button-link:hover{background-color:var(--c-wine);border-color:var(--c-wine);color:var(--c-ivory)}.section{padding-block:clamp(4.5rem,12vw,9rem);position:relative;overflow:hidden}.section__bg{z-index:0;position:absolute;inset:0}.section>.container{z-index:1;position:relative}.section--about{background-color:var(--c-black)}.section--about .section__bg{background:radial-gradient(120% 80% at 15% 0,#5a1b2440,#0000 60%)}.section--enjoy{background-color:#100d0c}.section--system{background-color:var(--c-wine-deep)}.section--system .section__bg{background:linear-gradient(#0c0a098c,#0c0a0900)}.section--menu{background-color:var(--c-black)}.section--gallery{background-color:#0f0c0b}.section--space{background-color:var(--c-black)}.section--space .section__bg{background:radial-gradient(120% 90% at 100% 100%,#5a1b2438,#0000 55%)}.section--access{background-color:#100d0c}.section--reservation{background-color:var(--c-wine-deep);text-align:center}.section--reservation .section__bg{background:radial-gradient(100% 100% at 50% 0,#0c0a0980,#0000 70%)}[id]{scroll-margin-top:calc(var(--header-h) + 1.25rem)}.site-header{z-index:100;height:var(--header-h);transition:background-color .45s var(--ease), backdrop-filter .45s var(--ease), border-color .45s var(--ease);border-bottom:1px solid #0000;position:fixed;inset:0 0 auto}.site-header[data-state=scrolled]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom-color:var(--line-soft);background-color:#0f0c0bd1}.site-header__inner{max-width:var(--content-max);height:100%;padding-inline:var(--gutter);align-items:center;gap:1.25rem;margin-inline:auto;display:flex}.brand__mark{font-family:var(--f-jp-serif);letter-spacing:.12em;color:var(--c-ivory);font-size:1.4rem}.global-nav{margin-left:auto}.global-nav__list{gap:clamp(1rem,2.2vw,2.1rem);display:flex}.global-nav__list a{font-family:var(--f-en);letter-spacing:.16em;text-transform:uppercase;color:var(--c-text-dim);transition:color .35s var(--ease);padding:.4rem 0;font-size:.9rem;position:relative}.global-nav__list a:after{content:"";background:var(--c-gold);transform-origin:0;width:100%;height:1px;transition:transform .4s var(--ease);position:absolute;bottom:0;left:0;transform:scaleX(0)}.global-nav__list a:hover,.global-nav__list a[aria-current=true]{color:var(--c-ivory)}.global-nav__list a[aria-current=true]:after,.global-nav__list a:hover:after{transform:scaleX(1)}.header-actions{align-items:center;display:flex}.lang{position:relative}.lang__toggle{font-family:var(--f-en);letter-spacing:.18em;text-transform:uppercase;color:var(--c-text-dim);min-height:44px;transition:color .35s var(--ease);padding:.5rem .2rem;font-size:.85rem}.lang__toggle:hover,.lang__toggle[aria-expanded=true]{color:var(--c-ivory)}.lang__menu{border:1px solid var(--line-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c0a09f5;min-width:190px;padding:.6rem 0;position:absolute;top:calc(100% + .6rem);right:0}.lang__item{color:var(--c-text-dim);transition:color .3s var(--ease), background-color .3s var(--ease);justify-content:space-between;align-items:center;gap:.8rem;padding:.55rem 1.1rem;font-size:.9rem;display:flex}a.lang__item:hover,a.lang__item:focus-visible{color:var(--c-ivory);background-color:#f2ece00d}.lang__item--current{color:var(--c-ivory)}.lang__badge{font-family:var(--f-en);letter-spacing:.16em;text-transform:uppercase;color:var(--c-gold);border:1px solid var(--line);padding:.1rem .4rem;font-size:.62rem}.nav-toggle{width:44px;height:44px;margin-right:-10px;padding:10px;display:none}.nav-toggle__bars{width:24px;height:14px;display:block;position:relative}.nav-toggle__bars span{background:var(--c-ivory);width:100%;height:1px;transition:transform .4s var(--ease), opacity .3s var(--ease);position:absolute;left:0}.nav-toggle__bars span:first-child{top:0}.nav-toggle__bars span:nth-child(2){top:50%;transform:translateY(-50%)}.nav-toggle__bars span:nth-child(3){bottom:0}.nav-toggle[aria-expanded=true] .nav-toggle__bars span:first-child{top:50%;transform:translateY(-50%)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle__bars span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle__bars span:nth-child(3){bottom:50%;transform:translateY(50%)rotate(-45deg)}.mobile-nav{z-index:90;opacity:0;visibility:hidden;transition:opacity .4s var(--ease), visibility .4s var(--ease);background:#0a0807fa;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.mobile-nav[data-open=true]{opacity:1;visibility:visible}.mobile-nav__inner ul{text-align:center;flex-direction:column;gap:1.6rem;display:flex}.mobile-nav__inner a{font-family:var(--f-en);letter-spacing:.22em;text-transform:uppercase;color:var(--c-text-dim);padding:.4rem 1rem;font-size:1.35rem}.mobile-nav__inner a[aria-current=true],.mobile-nav__inner a:hover{color:var(--c-ivory)}body[data-scroll-lock=true]{overflow:hidden}.hero{--hero-pos:50% 45%;justify-content:center;align-items:center;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero__slides{z-index:0;position:absolute;inset:0}.hero__slide{opacity:0;transition:opacity 1.6s var(--ease);position:absolute;inset:0}.hero__slide.is-active{opacity:1}.hero__slide img{object-fit:cover;object-position:var(--hero-pos);width:100%;height:100%}.hero__overlay{z-index:1;background:linear-gradient(#0a080780 0%,#0a080747 35%,#0a080766 70%,#0a0807a8 100%);position:absolute;inset:0}.hero__content{z-index:2;text-align:center;padding:6rem var(--gutter);max-width:90vw;position:relative}.hero__heading{flex-direction:column;align-items:center;gap:clamp(1rem,3vw,1.8rem);display:flex}.hero__shopname{font-family:var(--f-en);letter-spacing:.34em;text-transform:uppercase;color:var(--c-greige);font-size:clamp(.85rem,2.4vw,1.1rem)}.hero__catch{font-family:var(--f-jp-serif);letter-spacing:.1em;color:var(--c-ivory);text-shadow:0 2px 24px #0006;font-size:clamp(2.1rem,8vw,4rem);font-weight:500;line-height:1.5}.hero__sub{letter-spacing:.08em;color:var(--c-text);margin-top:clamp(1.6rem,4vw,2.4rem);font-size:clamp(.9rem,2.6vw,1.05rem);line-height:2.1}.hero__nav{z-index:3;gap:.75rem;display:flex;position:absolute;bottom:clamp(3.5rem,8vh,5.5rem);left:50%;transform:translate(-50%)}.hero__nav button{place-items:center;width:30px;height:30px;display:grid}.hero__nav button:after{content:"";width:26px;height:1px;transition:background-color .4s var(--ease);background:#f2ece059}.hero__nav button[aria-current=true]:after{background:var(--c-gold)}.hero__scroll{z-index:3;font-family:var(--f-en);letter-spacing:.3em;text-transform:uppercase;color:var(--c-text-dim);writing-mode:vertical-rl;padding:.5rem;font-size:.7rem;position:absolute;bottom:1.4rem;left:50%;transform:translate(-50%)}.hero__scroll span{padding-bottom:2.5rem;display:block;position:relative}.hero__scroll span:after{content:"";background:linear-gradient(var(--c-gold), transparent);width:1px;height:2rem;animation:scroll-cue 2.4s var(--ease) infinite;position:absolute;bottom:0;left:50%}@keyframes scroll-cue{0%{transform-origin:top;transform:scaleY(0)}40%{transform-origin:top;transform:scaleY(1)}60%{transform-origin:bottom;transform:scaleY(1)}to{transform-origin:bottom;transform:scaleY(0)}}@media (width>=768px){.hero{--hero-pos:50% 42%}}@media (width>=1120px){.hero{--hero-pos:50% 38%}}.about__layout{gap:clamp(2.5rem,6vw,4rem);display:grid}.about__lead{color:var(--c-text);max-width:34em;margin-top:.5rem;font-size:clamp(.95rem,2.4vw,1.05rem);line-height:2.2}.about__media{gap:1.25rem;display:grid}.about__photo{overflow:hidden}.about__photo img{object-fit:cover;width:100%;height:100%}@media (width>=768px){.about__media{grid-template-columns:1.4fr 1fr;align-items:end}.about__photo--main{aspect-ratio:4/3}.about__photo--sub{aspect-ratio:3/4;margin-bottom:2.5rem}}@media (width>=1120px){.about__layout{grid-template-columns:.9fr 1.1fr;align-items:center;gap:5rem}.about__media{grid-template-columns:1.5fr 1fr}.about__photo--sub{margin-bottom:3.5rem}}.enjoy__list{counter-reset:enjoy;gap:clamp(2.5rem,6vw,4.5rem);display:grid}.enjoy__item{border-top:1px solid var(--line);gap:1.25rem;padding-top:2rem;display:grid}.enjoy__num{font-family:var(--f-en);letter-spacing:.1em;color:var(--c-gold);font-size:clamp(1.8rem,5vw,2.6rem)}.enjoy__name{font-family:var(--f-jp-serif);color:var(--c-ivory);margin-bottom:.6rem;font-size:clamp(1.15rem,3.2vw,1.5rem)}.enjoy__desc{color:var(--c-text-dim);max-width:30em}.enjoy__photo{aspect-ratio:16/10;overflow:hidden}.enjoy__photo img{object-fit:cover;width:100%;height:100%}@media (width>=768px){.enjoy__item{grid-template-columns:5rem 1fr 15rem;align-items:start;gap:2rem}.enjoy__photo{aspect-ratio:3/4}}@media (width>=1120px){.enjoy__item{grid-template-columns:7rem 1fr 22rem;gap:3rem}.enjoy__item:nth-child(2n){grid-template-columns:22rem 1fr 7rem}.enjoy__item:nth-child(2n) .enjoy__num{text-align:right;order:3}.enjoy__item:nth-child(2n) .enjoy__photo{order:1}}.system__grid{border-top:1px solid var(--line);gap:0;display:grid}.price-row{border-bottom:1px solid var(--line-soft);padding:clamp(1.4rem,3.5vw,2.1rem) 0}.price-row__head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.price-row__name{font-family:var(--f-jp-serif);color:var(--c-ivory);font-size:clamp(1rem,2.8vw,1.25rem);font-weight:500}.price-row__value{font-family:var(--f-en);letter-spacing:.02em;color:var(--c-ivory);white-space:nowrap;font-size:clamp(1.6rem,5vw,2.6rem)}.price-row__value .yen{font-family:var(--f-sans);letter-spacing:.05em;color:var(--c-text-dim);margin-left:.3em;font-size:.42em}.price-row--feature .price-row__value{color:var(--c-gold)}.price-row__note{color:var(--c-text-dim);margin-top:.7rem;font-size:.9rem}@media (width>=768px){.system__grid{grid-template-columns:1fr 1fr;column-gap:4rem}.price-row--feature{grid-column:1/-1}.price-row--feature .price-row__head{align-items:baseline}}.menu__primary,.menu__extra{gap:clamp(2rem,5vw,3.5rem) clamp(2rem,5vw,4rem);display:grid}.menu-group__title{font-family:var(--f-jp-serif);color:var(--c-ivory);border-bottom:1px solid var(--line);letter-spacing:.08em;margin-bottom:.9rem;padding-bottom:.8rem;font-size:clamp(1.05rem,3vw,1.3rem)}.menu-list__row{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:baseline;gap:.75rem;padding:.55rem 0;display:flex}.menu-list__row dt{color:var(--c-text);font-size:.95rem}.menu-list__row dd{font-family:var(--f-en);letter-spacing:.03em;color:var(--c-text-dim);white-space:nowrap;font-size:1.05rem}.menu__more{border-top:1px solid var(--line-soft);margin-top:clamp(2rem,5vw,3.5rem)}.menu__more>summary{cursor:pointer;font-family:var(--f-en);letter-spacing:.22em;text-transform:uppercase;color:var(--c-ivory);align-items:center;gap:.8rem;padding:1.4rem 0;font-size:.9rem;list-style:none;display:inline-flex}.menu__more>summary::-webkit-details-marker{display:none}.menu__more>summary:after{content:"＋";color:var(--c-gold);font-size:1rem}.menu__more[open]>summary:after{content:"−"}.menu__extra{padding-top:1rem;padding-bottom:.5rem}.menu__food{border-top:1px solid var(--line);color:var(--c-text-dim);margin-top:clamp(2.5rem,6vw,4rem);padding-top:2rem;font-size:.95rem}@media (width>=768px){.menu__primary,.menu__extra{grid-template-columns:repeat(2,1fr)}}@media (width>=1120px){.menu__primary{grid-template-columns:repeat(2,1fr)}.menu__extra{grid-template-columns:repeat(3,1fr)}}.gallery__grid{grid-template-columns:1fr;grid-auto-rows:1fr;gap:.75rem;display:grid}.gallery__item{aspect-ratio:4/3;overflow:hidden}.gallery__item--tall{aspect-ratio:3/4}.gallery__item img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s var(--ease)}.gallery__item:hover img{transform:scale(1.04)}@media (width>=600px){.gallery__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1120px){.gallery__grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:1rem}.gallery__item{aspect-ratio:auto;grid-row:span 2}.gallery__item--wide{grid-column:span 2}.gallery__item--tall{grid-row:span 3}}@media (width<=767px){.section--gallery .container{padding-inline:12px}.gallery__grid{column-count:2;grid-auto-rows:auto;column-gap:8px;display:block}.gallery__item{aspect-ratio:auto;break-inside:avoid;margin:0 0 8px}.gallery__item img{width:100%;height:auto}}.space__layout{gap:clamp(2.5rem,6vw,3.5rem);display:grid}.space__lead{color:var(--c-text);max-width:34em;margin-top:.5rem}.space__specs{border-top:1px solid var(--line);gap:0;display:grid}.space__spec{border-bottom:1px solid var(--line-soft);gap:1.5rem;padding:1.1rem 0;display:flex}.space__spec dt{font-family:var(--f-jp-serif);color:var(--c-gold);flex:0 0 7rem;font-size:.95rem}.space__spec dd{color:var(--c-text)}.space__payment{border-top:1px solid var(--line);padding-top:2rem}.space__payment-title{font-family:var(--f-jp-serif);color:var(--c-ivory);margin-bottom:.8rem;font-size:1.05rem}.space__payment p{color:var(--c-text-dim);font-size:.95rem}@media (width>=1120px){.space__layout{grid-template-columns:.85fr 1.15fr;align-items:start;gap:5rem}.space__intro{grid-row:span 2}}.access__layout{gap:clamp(2.5rem,6vw,4rem);display:grid}.access__list{border-top:1px solid var(--line);margin:1.5rem 0 2rem}.access__row{border-bottom:1px solid var(--line-soft);gap:1.5rem;padding:1rem 0;display:flex}.access__row dt{font-family:var(--f-jp-serif);color:var(--c-gold);flex:0 0 5.5rem;font-size:.9rem}.access__row dd{color:var(--c-text)}.access__row a{border-bottom:1px solid var(--line)}.access__map{aspect-ratio:4/3;border:1px solid var(--line-soft);width:100%;position:relative}.access__map iframe{filter:grayscale(.35)contrast(1.05);border:0;width:100%;height:100%}@media (width>=1120px){.access__layout{grid-template-columns:1fr 1.1fr;align-items:stretch;gap:4rem}.access__map{aspect-ratio:auto;min-height:460px}}.reservation__inner{max-width:var(--content-narrow)}.section--reservation .eyebrow:before{display:none}.reservation__copy{font-family:var(--f-jp-serif);color:var(--c-ivory);letter-spacing:.08em;margin-top:1.5rem;font-size:clamp(1.3rem,4.5vw,2rem)}.reservation__lead{max-width:32em;color:var(--c-text);margin:1.5rem auto 0}.reservation__actions{flex-direction:column;align-items:center;gap:1rem;margin-top:clamp(2rem,5vw,3rem);display:flex}@media (width>=600px){.reservation__actions{flex-direction:row;justify-content:center}}.site-footer{background-color:var(--c-ink);border-top:1px solid var(--line-soft);padding-block:clamp(3.5rem,8vw,5rem)}.site-footer__inner{gap:2.5rem;display:grid}.site-footer__name{font-family:var(--f-jp-serif);color:var(--c-ivory);letter-spacing:.1em;margin-bottom:.8rem;font-size:1.2rem}.site-footer__addr{color:var(--c-text-dim);font-size:.9rem}.site-footer__meta{gap:.6rem;display:grid}.site-footer__meta>div{gap:1rem;font-size:.9rem;display:flex}.site-footer__meta dt{color:var(--c-gold);font-family:var(--f-jp-serif);flex:0 0 5rem}.site-footer__meta dd{color:var(--c-text-dim)}.site-footer__meta a{border-bottom:1px solid var(--line)}.site-footer__lang-title{font-family:var(--f-en);letter-spacing:.24em;color:var(--c-gold);margin-bottom:.9rem;font-size:.8rem}.site-footer__lang ul{color:var(--c-text-dim);gap:.5rem;font-size:.9rem;display:grid}.site-footer__lang a{color:var(--c-text-dim);border-bottom:1px solid var(--line-soft);transition:color .3s var(--ease), border-color .3s var(--ease);padding-bottom:.15rem}.site-footer__lang a:hover{color:var(--c-ivory);border-bottom-color:var(--c-gold)}.site-footer__lang [aria-current=page]{color:var(--c-ivory)}.site-footer__bottom{border-top:1px solid var(--line-soft);flex-direction:column;gap:1.25rem;padding-top:2rem;display:flex}.site-footer__copy{font-family:var(--f-en);letter-spacing:.12em;color:var(--c-text-dim);font-size:.8rem}@media (width>=768px){.site-footer__inner{grid-template-columns:1.4fr 1fr 1fr;gap:3rem}.site-footer__brand{grid-column:1/-1}.site-footer__bottom{flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center}}@media (width>=1120px){.site-footer__inner{grid-template-columns:2fr 1fr 1fr}.site-footer__brand{grid-column:auto}}.reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}@media (width<=1023px){.global-nav{display:none}.site-header__inner{justify-content:space-between;gap:0;padding-inline:clamp(1rem,4vw,1.5rem)}.header-actions{gap:.625rem}.nav-toggle{place-items:center;display:grid}}@media (width>=1024px){.mobile-nav{display:none}}html[lang=en]{--f-jp-serif:"Cormorant Garamond", "Noto Serif JP", "Times New Roman", serif}html[lang=ko]{--f-jp-serif:"Noto Serif KR", "Noto Serif JP", "Nanum Myeongjo", serif;--f-sans:"Noto Sans KR", "Noto Sans JP", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif}html[lang=zh-CN]{--f-jp-serif:"Noto Serif SC", "Noto Serif JP", "Songti SC", serif;--f-sans:"Noto Sans SC", "Noto Sans JP", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif}html[lang=ko] .global-nav__list a,html[lang=zh-CN] .global-nav__list a,html[lang=ko] .mobile-nav__inner a,html[lang=zh-CN] .mobile-nav__inner a{font-family:var(--f-sans);text-transform:none;letter-spacing:.06em}html[lang=ko] .global-nav__list,html[lang=zh-CN] .global-nav__list{gap:clamp(.75rem,1.7vw,1.5rem)}html[lang=ko] .global-nav__list a,html[lang=zh-CN] .global-nav__list a{font-size:.86rem}html[lang=ko] .section__title,html[lang=zh-CN] .section__title{letter-spacing:.04em}html[lang=zh-CN] .hero__catch,html[lang=ko] .hero__catch{letter-spacing:.06em;font-size:clamp(2rem,7vw,3.4rem)}.price-row__value .yen:first-child{margin-left:0;margin-right:.14em}
