:root{--accent:#d17c2b;--ink:#080f17;--line:#dedede;--soft:#f5f6f7;--ja:'Noto Sans JP',Meiryo,sans-serif;--en:Lato,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--ja);font-weight:400}h1,h2,h3,p,ul{margin:0;padding:0;font-weight:400}ul{list-style:none}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;object-fit:cover}button{font:inherit;background:none;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}section{scroll-margin-top:121px}.outline-button{display:flex;align-items:center;justify-content:center;border:.8px solid currentColor;border-radius:0;height:48px;padding:0 22px;font-size:14px;white-space:nowrap}.text-button{display:table;border-bottom:.8px solid currentColor;padding:0 0 6px;font-size:14px;line-height:24px}.block-title{}.block-title .english{display:block;margin-bottom:5px}.small-english{font-family:var(--en);font-size:12px;letter-spacing:.1em;line-height:30px}
#site-header{position:fixed;z-index:20;inset:0 0 auto;height:121px;padding:0 6.0753%;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.94)}#site-header .brand{width:140px;flex-shrink:0}#site-header .brand img{width:140px;height:auto;object-fit:contain}#navigation{display:flex;align-items:center;gap:22px}.nav-link{font-size:12px;white-space:nowrap;letter-spacing:.06em}.menu-toggle{display:none}
#hero{position:relative;height:100vh;min-height:700px;overflow:hidden;background:var(--soft)}.hero-image{width:100%;height:100%;object-fit:cover}.hero-copy{position:absolute;left:6.0753%;top:38%;width:480px}.hero-copy h1{font-size:32px;line-height:1.8;letter-spacing:.06em}.hero-copy p{margin-top:28px;font-size:14px;line-height:2;letter-spacing:.02em}.hero-scroll{position:absolute;right:6.0753%;bottom:32px;font:12px/30px var(--en);letter-spacing:.1em}
.prologue{text-align:center;padding:130px 24px 150px}.prologue h2{font-size:18px;line-height:30px;margin:30px 0}.prologue p{max-width:570px;margin:auto;font-size:13px;line-height:32.5px;letter-spacing:.12em}.prologue .text-button{margin:40px auto 0}
.menus{display:grid;grid-template-columns:15.8867vw 1fr;gap:3vw;padding:158.125px 0 130px 6.0753%;overflow:hidden}.menu-heading .text-button{margin-top:35px}.menu-right{min-width:0}.menu-gallery{display:flex;gap:31.765625px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;padding-right:6.0753vw}.menu-gallery::-webkit-scrollbar{display:none}.menu-gallery>a{flex:0 0 434.03125px;scroll-snap-align:start}.menu-gallery img{width:434.03125px;height:434.03125px}.menu-gallery a:nth-child(2) img{object-position:right center}.menu-gallery a:nth-child(3) img{object-position:65% center}.menu-gallery h3{font-size:15.8126px;line-height:29.5168px;margin-top:27.4085px}.price-condition{font-size:12px;line-height:24px;color:#555}.slider-controls{display:flex;align-items:center;gap:10.5417px;margin:50px 6.0753vw 50px 0}.slider-line{height:1px;background:var(--line);flex:1;margin-right:26px}.slider-controls button{border:1px solid var(--line);border-radius:50%;width:52.703px;height:52.703px;font-size:14px;flex-shrink:0}.slider-controls button:disabled{opacity:.3;cursor:default}.menu-list{margin-right:6.0753vw;border-top:1px solid var(--line)}.menu-list a{display:grid;grid-template-columns:110px 1fr 20px;gap:20px;align-items:center;min-height:70px;border-bottom:1px solid var(--line);font-size:15px;line-height:26px}.menu-kind{font-size:11px;color:#666;letter-spacing:.06em}
.visit img{width:100%;height:500px;object-fit:cover}.visit>div{padding:85px 24px 95px;text-align:center}.visit p{max-width:760px;margin:30px auto;font-size:15.8126px;line-height:29.5168px}.visit .text-button{margin:auto}
.concept{position:relative;padding:100px 10% 150px;isolation:isolate}.concept:before{content:'';position:absolute;z-index:-1;inset:200px 0 0;background:var(--accent);opacity:.12}.section-kicker{position:absolute;top:43px;left:10%;font:10px/20px var(--en);letter-spacing:.22em;color:#777}.concept-images{display:grid;grid-template-columns:30% 1fr;gap:10px;height:533.71875px}.concept-images img{width:100%;height:100%}.concept-portrait{object-fit:cover;background:white}.concept-copy{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:100px}.concept-copy h2{font-size:18px;line-height:30px;text-align:center}.concept-copy p{font-size:13px;line-height:30px;letter-spacing:.06em}.concept-copy .text-button{margin-top:40px}
.topics{display:grid;grid-template-columns:21.96% 1fr;gap:55px 6.93%;padding:150px 6.0753%}.topics .text-button{margin-top:35px}.article-row{display:grid;grid-template-columns:90px 1fr 20px;gap:24px;align-items:center;min-height:100px;padding:20px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:27px}.article-row:first-child{border-top:1px solid var(--line)}.article-row time{font-size:12px;color:#666}.faq-heading{margin-top:55px}.faq-heading .english{font-size:30px;letter-spacing:1.6px}.faq-list{margin-top:55px}.faq-list details{border-bottom:1px solid var(--line);padding:24px 0}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{cursor:pointer;font-size:15px;line-height:27px}.faq-list details p{font-size:13px;line-height:28px;margin-top:15px;max-width:650px}
.access{display:grid;grid-template-columns:21.96% 1fr;gap:60px 6.93%;padding:120px 6.0753%;background:#f8f8f8}.access p{font-size:14px;line-height:30px;margin-bottom:25px}.access .text-button{margin:25px 0}.telephone{display:block;font:20px/30px var(--en);letter-spacing:.07em}.line-invitation{grid-column:2}.line-invitation h3{font-size:18px;line-height:30px;margin-bottom:20px}.booking-buttons{display:flex;gap:16px}.booking-buttons .outline-button{min-width:185px}
#footer{padding:100px 6.0753% 55px;border-top:1px solid var(--line)}#footer>.brand{width:150px;height:auto;object-fit:contain;margin-bottom:60px}.footer-nav{display:grid;grid-template-columns:2fr 1fr 1fr;gap:55px}.footer-nav h2{font-size:14px;font-weight:500;margin-bottom:30px}.footer-nav a{font-size:13px;line-height:24px;display:block;margin-bottom:20px}.footer-services{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.footer-bottom{display:flex;justify-content:space-between;gap:40px;margin-top:70px;font-size:12px;line-height:24px}.footer-bottom>div{display:flex;flex-direction:column;gap:15px}.mobile-booking{display:none}
@media(max-width:1100px) and (min-width:768px){#site-header{padding:0 30px}#navigation{gap:12px}.nav-link{font-size:11px}.outline-button{padding:0 12px}#site-header .brand,#site-header .brand img{width:110px}}
@media(max-width:767px){body{padding-bottom:78px}section{scroll-margin-top:70px}#site-header{height:70px;padding:0 20px;background:rgba(255,255,255,.96)}#site-header .brand,#site-header .brand img{width:90px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:8px;width:44px;height:44px;border:0;padding:7px}.menu-toggle span{height:1px;width:30px;background:#080f17}#navigation{display:none;position:absolute;top:70px;left:0;right:0;padding:25px 20px 35px;background:white;max-height:calc(100svh - 148px);overflow:auto}#navigation.is-open{display:grid;gap:20px}.nav-link{font-size:14px;padding:7px 0}#hero{height:844px;min-height:0}.hero-image{height:550px}.hero-copy{left:20px;right:20px;top:570px;width:auto}.hero-copy h1{font-size:22px;line-height:1.65;letter-spacing:.02em}.hero-copy p{margin-top:18px;font-size:12px;line-height:1.9;letter-spacing:normal}.hero-scroll{right:20px;bottom:12px}.prologue{padding:100px 25px 110px}.prologue h2{font-size:17px;margin:25px 0}.prologue p{font-size:13px;line-height:32.5px;letter-spacing:.06em}.block-title{text-align:center}.block-title .english{}.menus{display:block;padding:100px 0 100px}.menu-heading .text-button{margin:25px auto 45px}.menu-gallery{gap:17.546875px;padding:0 58.221427px;scroll-padding-left:58.221427px}.menu-gallery>a{flex-basis:273.546875px}.menu-gallery img{width:273.546875px;height:273.546875px}.menu-gallery h3{font-size:15px;line-height:28px;margin-top:25px}.price-condition{font-size:11px}.slider-controls{margin:35px 20px}.slider-controls button{width:44px;height:44px}.menu-list{margin:45px 20px 0}.menu-list a{grid-template-columns:70px 1fr 16px;gap:12px;min-height:76px;font-size:13px;line-height:24px}.menu-kind{font-size:10px;letter-spacing:0}.visit img{height:300px}.visit>div{padding:70px 25px 80px}.visit p{font-size:13px;line-height:27px;text-align:left;margin:25px auto}.concept{padding:65px 8.33333% 65px}.concept:before{inset:169px 0 0}.section-kicker{top:20px;left:8.33333%}.concept-images{height:169.296875px;grid-template-columns:30% 1fr;gap:4px}.concept-copy{display:block;margin-top:65px}.concept-copy h2{text-align:left;font-size:18px;margin-bottom:25px}.concept-copy p{font-size:13px;line-height:30px;letter-spacing:.02em}.concept-copy .text-button{margin-top:30px}.topics{display:block;padding:100px 20px}.topics .text-button{margin:25px auto 45px}.article-row{grid-template-columns:1fr 18px;gap:10px;font-size:13px;line-height:26px;padding:20px 0}.article-row time{grid-column:1/-1}.faq-heading{margin-top:90px}.faq-heading .english{font-size:30px}.faq-list{margin-top:35px}.faq-list summary{font-size:14px}.faq-list details p{font-size:13px}.access{display:block;padding:90px 25px}.access>.block-title{margin-bottom:40px}.access p{font-size:13px;line-height:28px}.line-invitation{margin-top:65px}.line-invitation h3{font-size:17px}.booking-buttons{gap:10px}.booking-buttons .outline-button{min-width:0;flex:1;font-size:12px;padding:0 10px}#footer{padding:70px 25px 50px}#footer>.brand{width:130px;margin-bottom:45px}.footer-nav{grid-template-columns:1fr;gap:30px}.footer-nav a{font-size:12px}.footer-bottom{display:block;margin-top:40px}.footer-bottom>div{margin-top:25px}.mobile-booking{display:flex;position:fixed;z-index:25;bottom:0;left:0;right:0;background:rgba(255,255,255,.98);border-top:1px solid var(--line);padding:12px 15px calc(12px + env(safe-area-inset-bottom));gap:10px}.mobile-booking .outline-button{flex:1;min-width:0;height:44px;font-size:12px;padding:0 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.image-note{font-size:10px;line-height:20px;color:#666;letter-spacing:.03em}

/* Element-list revision: measured reference components, independent implementation. */
.hero-copy h1{font-size:27px;line-height:1.85;font-weight:400}.hero-copy p{font-size:13px;line-height:2.1}
#navigation .outline-button{width:127px;height:46px;padding:0 8px}.nav-link{font-size:14px}#navigation{gap:16px}
.first-visit{display:grid;grid-template-columns:21.96% 1fr;gap:6.93%;padding:152px 6.0753%}.first-visit .text-button{margin-top:35px}.first-card{max-width:650px}.first-card img{width:100%;height:434px;object-fit:cover}.first-card h3{font-size:15px;line-height:28px;margin-top:25px}
.prologue{padding-top:152px;padding-bottom:152px}.menus{padding-top:152px;padding-bottom:152px}
.menu-catch{font-size:18px;line-height:1.8;letter-spacing:.12em;margin-top:26px}.menu-gallery h3{font:12px/25px var(--ja);color:#666;letter-spacing:.08em;margin-top:12px}.menu-price{font:18px/30px var(--en);margin-top:12px}.menu-price span{font:11px/24px var(--ja);display:block;color:#666}.details-button{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border:.8px solid currentColor;border-radius:50%;font:11px/1 var(--en);letter-spacing:.16em;margin-top:24px}.image-note{margin-top:12px}
.visit>img{height:381px}.visit>div{padding:90px 24px 152px}.visit .english{font-size:26px;line-height:36px}.visit p{font-size:14px;line-height:28px}.access-band .text-button{margin-left:auto;margin-right:auto}.access-band .telephone{margin-top:28px}.access-band .line-invitation{max-width:700px;margin:70px auto 0}.access-band .booking-buttons{justify-content:center}.access-band-copy>p{margin:25px auto;max-width:760px}
.concept-images .concept-portrait{object-position:62% center}.concept-images .concept-landscape{object-position:center}.concept .image-note{text-align:right}.concept:before{background:rgba(209,124,43,.12);opacity:1}.section-kicker{letter-spacing:.2em}
.topics{background:rgba(240,238,233,.5);padding-top:152px;padding-bottom:152px}.news-tabs{display:flex;flex-wrap:wrap;gap:25px;margin-top:45px}.news-tabs button{border:0;padding:5px 0;font-size:15px;color:#777}.news-tabs [aria-selected=true]{color:#080f17;border-bottom:.8px solid currentColor}.article-row{grid-template-columns:90px 80px 1fr 20px;gap:20px}.article-category{font-size:12px;color:#666}.news-empty{font-size:13px;line-height:28px}
#footer{background:#f0eee9;color:#080f17;border:0;padding-top:152px}#footer>.brand{filter:none;background:transparent;padding:0;box-sizing:border-box}#footer a{color:#080f17}
.reveal-ready [data-block]:not([data-block=header]):not([data-block=hero]):not([data-block=footer]){opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.reveal-ready [data-block].is-visible{opacity:1!important;transform:none!important}
@media(max-width:1100px) and (min-width:768px){.nav-link{font-size:11px}#navigation{gap:10px}#navigation .outline-button{width:114px}}
@media(max-width:767px){.hero-copy h1{font-size:20px;line-height:1.7}.hero-copy p{font-size:12px;line-height:1.9}.prologue{padding:100px 25px 110px}.first-visit{display:block;padding:100px 20px}.first-visit .text-button{margin:25px auto 40px}.first-card{display:block}.first-card img{height:280px}.first-card h3{font-size:14px}.menus{padding-top:100px;padding-bottom:100px}.menu-catch{font-size:16px;letter-spacing:.08em}.menu-gallery h3{font-size:12px}.visit>img{height:260px}.visit>div{padding:65px 25px 100px}.visit .english{font-size:26px}.visit p{font-size:13px;line-height:27px}.access-band-copy>p{text-align:center}.access-band .line-invitation{margin-top:55px}.access-band .booking-buttons{gap:10px}.access-band .booking-buttons .outline-button{width:auto}.concept-images{height:240px}.concept-images .concept-portrait{object-position:65% center}.concept:before{top:175px}.topics{padding:100px 20px}.news-tabs{justify-content:center;margin-top:30px;margin-bottom:30px}.article-row{grid-template-columns:1fr 18px;gap:10px}.article-row time{grid-column:auto}.article-category{grid-column:2;font-size:10px;white-space:nowrap;justify-self:end}.article-row>span:not(.article-category):not([aria-hidden]){grid-column:1}.article-row>span[aria-hidden]{grid-column:2}#footer{padding-top:90px}}
@media(prefers-reduced-motion:reduce){.reveal-ready [data-block]{opacity:1!important;transform:none!important;transition:none!important}}

[hidden]{display:none!important}
#site-header{background:transparent;transition:background .25s ease}
#site-header.is-scrolled{background:rgba(255,255,255,.97)}
.slider-line{position:relative}.slider-line:after{content:'';position:absolute;left:0;top:0;width:var(--progress,30%);height:1px;background:#080f17;transition:width .2s}
@media(max-width:767px){#site-header{background:rgba(255,255,255,.96)}}

@media(max-width:767px){.concept-images{height:169.296875px}}

/* Review corrections: preserve text and keep Japanese phrase boundaries. */
.phrase{display:inline-block;white-space:nowrap}
.prologue h2,.prologue p,.visit p,.concept-copy p,.line-invitation p{word-break:auto-phrase;text-wrap:pretty;overflow-wrap:normal}
.prologue p{max-width:650px;letter-spacing:.06em}.prologue h2{max-width:700px;margin-left:auto;margin-right:auto}
.visit p[data-measure]{max-width:650px}
#site-header:not(.is-scrolled){background:linear-gradient(to bottom,rgba(255,255,255,.98),rgba(255,255,255,.88) 75%,rgba(255,255,255,.68))}
.concept-images{align-items:start;height:613.71875px}.concept-images .concept-portrait{height:533.71875px;margin-top:80px}.concept-images .concept-landscape{height:533.71875px;margin-top:0}.concept:before{inset:180px 0 205px}.concept-copy{margin-top:70px}
@media(max-width:767px){.prologue h2{font-size:16px}.prologue p{letter-spacing:0}.visit p[data-measure]{max-width:340px;text-align:center}.concept-images{height:209.296875px}.concept-images .concept-portrait{height:169.296875px;margin-top:40px}.concept-images .concept-landscape{height:169.296875px}.concept:before{inset:120px 0 120px}.concept-copy{margin-top:50px}.line-invitation p{text-align:left}}

.concept:before{inset:180px 0 auto;height:480px}@media(max-width:767px){.concept:before{inset:105px 0 auto;height:140px}}

/* Hero photograph slideshow; copy stays fixed. */
.hero-visual{position:absolute;inset:0;overflow:hidden}
.hero-visual>.hero-image{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.2s ease;object-fit:cover}
.hero-visual>.is-active{opacity:1}
.hero-slide[data-slide="0"]{object-position:50% 50%}
.hero-slide[data-slide="1"]{object-position:50% 45%}
.hero-slide[data-slide="2"]{object-position:50% 40%}
.hero-copy,.hero-scroll{z-index:2}
.hero-controls{position:absolute;z-index:3;left:6.0753%;bottom:30px;display:flex;align-items:center;gap:14px}
.hero-dot{padding:0;width:12px;height:12px;border:.8px solid white;border-radius:50%;background:transparent;box-shadow:0 0 1px rgba(0,0,0,.3)}
.hero-dot[aria-pressed=true]{background:white}
.hero-pause{display:flex;align-items:center;justify-content:center;gap:4px;width:28px;height:28px;padding:0;border:0}
.hero-pause span{width:2px;height:10px;background:white}
.hero-pause[aria-pressed=true] span:first-child{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid white;background:none}
.hero-pause[aria-pressed=true] span:last-child{display:none}
@media(max-width:767px){.hero-visual{inset:0 0 auto;height:550px}.hero-visual>.hero-image{height:550px}.hero-slide[data-slide="0"]{object-position:50% 50%}.hero-slide[data-slide="1"]{object-position:80% 50%}.hero-slide[data-slide="2"]{object-position:85% 40%}.hero-controls{left:20px;bottom:20px;gap:16px}}
@media(prefers-reduced-motion:reduce){.hero-visual>.hero-image{transition:none}.hero-controls{display:none}}

.hero-visual>.hero-slide[data-slide="1"],.hero-visual>.hero-slide[data-slide="2"]{top:121px;height:calc(100% - 121px);object-position:50% 0}.hero-visual{background:#f0f1f1}@media(max-width:767px){.hero-visual>.hero-slide[data-slide="1"],.hero-visual>.hero-slide[data-slide="2"]{top:70px;height:480px}.hero-visual>.hero-slide[data-slide="1"]{object-position:80% 0}.hero-visual>.hero-slide[data-slide="2"]{object-position:85% 0}.hero-scroll{top:500px;bottom:auto;color:white;text-shadow:0 0 2px #777}}
#hero .generated-note{position:absolute;bottom:78px;right:6.04vw;z-index:3;font-size:10px;line-height:1.5;letter-spacing:.06em;color:#080f17;display:none}
#hero[data-active-slide="1"] .generated-note,#hero[data-active-slide="2"] .generated-note{display:block}
