.ku-root{--paper: #F4ECDC;--paper-2: #ECE1C8;--ink: #2A211B;--ink-soft: #4a3d33;--azuki: #9C4A3C;--kuromitsu: #5A3A28;--f-mincho: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;--f-maru: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", system-ui, sans-serif;--f-latin: "DM Serif Display", "Shippori Mincho B1", serif;--sumi: var(--ink);--plaster: var(--paper);--concrete: var(--paper-2);--uni: var(--azuki);--mincho: var(--f-mincho);--gothic: var(--f-maru);background:var(--paper);color:var(--ink);font-family:var(--f-maru);font-size:1.05rem;line-height:1.8;font-weight:400;position:relative;overflow-x:hidden;min-height:100vh}.ku-root *{box-sizing:border-box}.ku-root p{margin:0 0 1em}.ku-root strong{color:var(--azuki);font-weight:500}.ku-root em{font-family:var(--f-latin);font-style:italic;color:var(--kuromitsu)}.ku-top{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#f4ecdcdb;backdrop-filter:blur(6px);border-bottom:1px solid rgba(90,58,40,.18);font-family:var(--f-maru)}.ku-top .ku-mark{font-family:var(--f-mincho);font-weight:800;font-size:1.1rem;letter-spacing:.12em;color:var(--ink);text-decoration:none}.ku-top nav{display:flex;gap:1.1rem;align-items:center}.ku-top nav a{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none}.ku-top nav a.active{color:var(--azuki)}.ku-top .ku-locales{display:flex;gap:.55rem;margin-left:1rem;padding-left:1rem;border-left:1px solid rgba(90,58,40,.3)}.ku-top .ku-locales a{opacity:.55}.ku-top .ku-locales a.on{opacity:1;color:var(--azuki)}@media(max-width:720px){.ku-top nav{gap:.7rem}.ku-top nav a{font-size:.68rem;letter-spacing:.06em}.ku-top .ku-mark{font-size:.95rem}}.ku-grain{position:fixed;inset:0;pointer-events:none;z-index:1;background-image:radial-gradient(circle at 20% 30%,rgba(90,58,40,.06) 0,transparent 40%),radial-gradient(circle at 80% 70%,rgba(156,74,60,.05) 0,transparent 45%),repeating-radial-gradient(circle at 50% 50%,rgba(42,33,27,.025) 0,rgba(42,33,27,.025) 1px,transparent 1px,transparent 3px);mix-blend-mode:multiply}.ku-root main{position:relative;z-index:2}.ku-hero{padding:2.25rem 1.5rem 2rem;border-bottom:1px solid rgba(90,58,40,.2)}.ku-hero-inner{max-width:880px;margin:0 auto;text-align:center;border:1px double rgba(90,58,40,.35);padding:2rem 1.5rem 2.25rem;position:relative;background:linear-gradient(180deg,transparent 0%,rgba(90,58,40,.03) 100%)}.ku-hero-inner:before,.ku-hero-inner:after{content:"";position:absolute;width:18px;height:18px;border:1px solid var(--kuromitsu);opacity:.5}.ku-hero-inner:before{top:8px;left:8px;border-right:0;border-bottom:0}.ku-hero-inner:after{bottom:8px;right:8px;border-left:0;border-top:0}.ku-imprint{font-family:var(--f-latin);letter-spacing:.35em;text-transform:uppercase;font-size:.78rem;color:var(--kuromitsu);margin:0 0 1rem;font-style:italic}.ku-masthead{margin:0;display:flex;flex-direction:column;gap:.5rem;align-items:center}.ku-mast-jp{font-family:var(--f-mincho);font-weight:800;font-size:clamp(3rem,9vw,7rem);line-height:1;letter-spacing:.08em;color:var(--ink);text-shadow:0 1px 0 rgba(244,236,220,.8),1px 2px 0 rgba(90,58,40,.08);animation:ku-pour 1.6s ease-out both}.ku-mast-en{font-family:var(--f-latin);font-style:italic;font-size:clamp(.95rem,1.6vw,1.25rem);letter-spacing:.25em;text-transform:uppercase;color:var(--azuki);margin-top:.25rem}.ku-tag{font-family:var(--f-mincho);font-weight:700;font-size:clamp(1.05rem,1.6vw,1.25rem);margin:1rem auto 1.5rem;max-width:32em;color:var(--ink-soft)}.ku-hero-photo{margin:0}.ku-hero-photo figcaption{font-family:var(--f-latin);font-style:italic;color:var(--kuromitsu);font-size:.9rem;letter-spacing:.12em;margin-top:1rem}.ku-photo{width:100%;height:clamp(380px,58vh,720px);border-radius:0;border:1px solid rgba(90,58,40,.3);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.ku-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.ku-section{max-width:760px;margin:0 auto;padding:4rem 1.5rem}.ku-section-head{text-align:center;margin-bottom:2.5rem}.ku-kicker{display:inline-block;font-family:var(--f-mincho);font-weight:700;font-size:.9rem;color:var(--azuki);letter-spacing:.4em;padding-bottom:.5rem}.ku-h2{font-family:var(--f-mincho);font-weight:800;font-size:clamp(1.75rem,4vw,2.6rem);letter-spacing:.12em;margin:0;display:inline-block;position:relative;padding-bottom:.6rem}.ku-h2:after{content:"";position:absolute;left:50%;bottom:0;width:0;height:1px;background:var(--kuromitsu);transform:translate(-50%);animation:ku-underline 1.4s ease-out .3s forwards}.ku-sub{font-family:var(--f-latin);font-style:italic;color:var(--kuromitsu);font-size:.9rem;letter-spacing:.2em;margin-top:.5rem}.ku-h3{font-family:var(--f-mincho);font-weight:700;font-size:1.15rem;letter-spacing:.15em;color:var(--azuki);margin:0 0 .6rem}.ku-prose p{max-width:38em;margin-left:auto;margin-right:auto}.ku-ledger{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:1rem 0;margin:0 auto;max-width:620px;background:repeating-linear-gradient(180deg,transparent 0,transparent 39px,rgba(90,58,40,.08) 39px,rgba(90,58,40,.08) 40px)}.ku-row{display:flex;align-items:baseline;gap:.75rem;padding:.55rem .25rem;min-height:44px}.ku-row-name{display:flex;flex-direction:column;line-height:1.2}.ku-row-jp{font-family:var(--f-mincho);font-weight:700;font-size:1.15rem;letter-spacing:.08em}.ku-row-en{font-family:var(--f-latin);font-style:italic;font-size:.82rem;letter-spacing:.15em;color:var(--kuromitsu);margin-top:2px}.ku-row-leader{flex:1;border-bottom:1.5px dotted rgba(90,58,40,.55);transform:translateY(-4px)}.ku-row-price{font-family:var(--f-mincho);font-weight:700;font-size:1.25rem;color:var(--azuki);letter-spacing:.04em}.ku-row-muted .ku-row-price{color:var(--kuromitsu);font-size:1rem;font-style:italic;font-family:var(--f-latin)}.ku-note{text-align:center;font-size:.85rem;color:var(--kuromitsu);margin-top:1.5rem}.ku-band{background:var(--kuromitsu);color:var(--paper);padding:3rem 1.5rem;margin:2rem 0;position:relative;overflow:hidden}.ku-band-inner{max-width:880px;margin:0 auto;text-align:center;position:relative}.ku-band-jp{font-family:var(--f-mincho);font-weight:800;font-size:clamp(1.1rem,2.4vw,1.55rem);letter-spacing:.18em;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:1rem}.ku-band-dot{opacity:.5}.ku-band-en{font-family:var(--f-latin);font-style:italic;font-size:.9rem;letter-spacing:.15em;color:#f4ecdcbf;margin:0}.ku-heritage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem 2.5rem;max-width:640px;margin:0 auto}.ku-heritage-grid article{border-top:1px solid rgba(90,58,40,.3);padding-top:1rem}.ku-access-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.ku-addr{font-family:var(--f-mincho);font-weight:700;font-size:1.05rem;letter-spacing:.1em;line-height:1.7}.ku-addr-en{font-family:var(--f-latin);font-style:italic;font-size:.88rem;color:var(--kuromitsu);margin-top:.5rem}.ku-muted{color:var(--kuromitsu);opacity:.85}.ku-small{font-size:.82rem}.ku-hours{display:flex;align-items:baseline;gap:.5rem;font-family:var(--f-mincho);font-weight:700;margin-bottom:.35em}.ku-hours-dots{flex:1;border-bottom:1.5px dotted rgba(90,58,40,.5);transform:translateY(-4px)}.ku-map-wrap{max-width:880px;margin:3rem auto 0;padding:0 1.5rem}.ku-footer{background:var(--paper-2);padding:3rem 1.5rem 4rem;border-top:1px solid rgba(90,58,40,.25);text-align:center}.ku-foot-mast{font-family:var(--f-mincho);font-weight:800;font-size:2rem;letter-spacing:.15em;margin:0 0 .5rem}.ku-foot-line{font-family:var(--f-latin);font-style:italic;font-size:.9rem;letter-spacing:.15em;color:var(--kuromitsu);margin:.2em 0}.ku-demo-note{max-width:60ch;margin:1.2rem auto 0;font-family:var(--f-maru);font-style:normal;font-size:.72rem;line-height:1.7;letter-spacing:.02em;color:var(--kuromitsu);opacity:.7}@keyframes ku-underline{0%{width:0}to{width:2.4em}}@keyframes ku-pour{0%{opacity:0;transform:translateY(-8px);letter-spacing:.25em}to{opacity:1;transform:translateY(0);letter-spacing:.08em}}@keyframes ku-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.ku-mast-jp{animation:none}.ku-h2:after{animation:none;width:2.4em}}@media(max-width:720px){.ku-root{font-size:1rem;line-height:1.75}.ku-hero{padding:2.5rem 1rem 1.5rem}.ku-hero-inner{padding:2rem 1rem}.ku-mast-jp{font-size:clamp(2.4rem,12vw,5rem);letter-spacing:.06em}.ku-section{padding:2.5rem 1.25rem}.ku-band{padding:2rem 1rem;margin:1rem 0}.ku-heritage-grid{grid-template-columns:1fr;gap:1.25rem}.ku-access-grid{grid-template-columns:1fr;gap:1.75rem}.ku-row{padding:.65rem .25rem;min-height:48px}.ku-band-jp{gap:.4rem;font-size:1rem}.ku-band-dot{display:none}}@media(min-width:1024px){.ku-section{padding:7rem 1.5rem}.ku-hero{padding:7rem 1.5rem 3rem}}.pr{display:none}@media(max-width:767.98px){.pr{display:block;margin:0;padding:0;--pr-gut:var(--gut,1.25rem);--pr-edge:.75rem;--pr-gap:12px;--pr-card:70vw}.pr__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:0 var(--pr-gut) .7rem}.pr__h{margin:0;font-size:1rem;font-weight:800;letter-spacing:.08em;line-height:1.3;color:var(--ink,#f2ead8)}.pr__count{font-size:1rem;line-height:1.3;color:var(--ink-muted,#a2988a);font-variant-numeric:tabular-nums;white-space:nowrap}.pr__track{list-style:none;margin:0;padding:0 var(--pr-edge);display:flex;gap:var(--pr-gap);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pr-edge);-webkit-overflow-scrolling:touch;scrollbar-width:none}.pr__track::-webkit-scrollbar{display:none}.pr__track:focus-visible{outline:2px solid var(--accent,#e2502a);outline-offset:-2px}.pr__item{flex:0 0 var(--pr-card);scroll-snap-align:start;min-width:0}.pr__card{margin:0;display:flex;flex-direction:column;height:100%;background:var(--base-2,#171310);border:1px solid var(--line,rgba(242,234,216,.14))}.pr__card picture{display:block}.pr__img{display:block;width:100%;height:auto;aspect-ratio:var(--pr-ratio);-o-object-fit:cover;object-fit:cover;background:var(--base-2,#171310)}.pr__cap{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .75rem;padding:.7rem .85rem .8rem}.pr__kick{flex:0 0 100%;font-size:1rem;line-height:1.35;color:var(--ink-muted,#a2988a)}.pr__name{flex:1 1 auto;min-width:0;font-size:1rem;line-height:1.4;font-weight:700;color:var(--ink,#f2ead8)}.pr__price{flex:0 0 auto;font-size:1rem;line-height:1.4;font-weight:700;color:var(--accent,#e2502a)}.pr__more{display:inline-flex;align-items:center;min-height:44px;margin:.55rem var(--pr-gut) 0;font-size:1rem;color:var(--ink,#f2ead8);text-decoration:underline;text-underline-offset:.3em}.pr__more--a,html[data-layout=a] .pr__count{display:none}html[data-layout=a] .pr__track{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--pr-gap);overflow:visible;scroll-snap-type:none}html[data-layout=a] .pr__item{flex:none}html[data-layout=a] .pr[data-a="3"] .pr__item:nth-child(n+4),html[data-layout=a] .pr[data-a="4"] .pr__item:nth-child(n+5){display:none}html[data-layout=a] .pr__more--a{display:inline-flex}}@media(prefers-reduced-motion:reduce){.pr__track{scroll-behavior:auto}}@media(max-width:767.98px){body{padding-bottom:calc(3.5rem + env(safe-area-inset-bottom))}}.ps{display:none;--ps-g:var(--base,#0e0c0a);--ps-i:var(--ink,#f2ead8);--ps-m:var(--ink-muted,#a2988a);--ps-a:var(--accent,#e2502a);--ps-bb:var(--ps-bar-bg,var(--base-2,var(--base,#141210)));--ps-bi:var(--ps-bar-ink,var(--ink,#f2ead8))}.ps-desk{display:contents}@media(max-width:767.98px){body:has(.ps) .ps-desk{display:none}.ps{display:block;--ps-gut:var(--gut,1.25rem);padding-top:var(--ps-head-h,0px);color:var(--ink,#f2ead8);background:var(--base,#0e0c0a)}body:has(.ps){padding-bottom:calc(3.5rem + env(safe-area-inset-bottom))}body:has(.ps) .mobile-cta-bar:not(.ps-bar .mobile-cta-bar){display:none!important}.ps-bar .mobile-cta-bar{position:fixed!important;left:0;right:0;bottom:0;z-index:60;height:auto!important;box-sizing:border-box;background:var(--ps-bar-bg,var(--base-2,var(--base,#141210)))!important;color:var(--ps-bar-ink,var(--ink,#f2ead8))!important;border-top:1px solid var(--line,rgba(242,234,216,.2))!important}.ps-bar .mobile-cta-bar a{font-size:1rem!important;text-transform:none!important;letter-spacing:.1em!important;color:inherit!important;min-height:48px}.ps-hero{position:relative;width:100%;aspect-ratio:var(--ps-hr,3 / 2);max-height:42svh;overflow:hidden;background:var(--base-2,#171310)}.ps-hero picture{display:block;width:100%;height:100%}.ps-hero img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 45%;object-position:50% 45%}.ps-id{padding:1rem var(--ps-gut) 1.1rem}.ps-name{margin:0;font-family:var(--display-ja,var(--f-disp,inherit));font-weight:800;font-size:1.4rem;line-height:1.3;letter-spacing:.05em;color:var(--ink,#f2ead8)}.ps-latin{margin:.15rem 0 0;font-size:1rem;line-height:1.4;letter-spacing:.08em;color:var(--ink-muted,#a2988a)}.ps-facts{margin:.55rem 0 0;display:flex;flex-wrap:wrap;gap:.1rem 1.1rem;font-size:1rem;line-height:1.55;color:var(--ink,#f2ead8)}.ps-facts[hidden],.ps-fact[hidden]{display:none}.ps-fact{display:block;min-width:0;overflow-wrap:anywhere;text-wrap:balance}.ps-facts .ps-fact[hidden]{display:none}.ps-rows{padding-bottom:1.2rem}.ps-rows .pr{margin-top:.2rem}.ps-rows .pr+.pr,.ps-rows .ps-list+.pr{margin-top:1.8rem}.ps-h{margin:0;font-size:1rem;font-weight:800;letter-spacing:.08em;line-height:1.3;color:var(--ink,#f2ead8)}.ps-list{padding:.2rem var(--ps-gut) 0}.ps-list ul{list-style:none;margin:.7rem 0 0;padding:0}.ps-list li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;min-height:48px;padding:.6rem 0;border-bottom:1px solid var(--line,rgba(242,234,216,.14));font-size:1rem;line-height:1.5}.ps-list__n{font-weight:700;min-width:0}.ps-list__p{flex:0 0 auto;font-weight:700;color:var(--ps-at,var(--accent,#e2502a))}.ps-more{display:inline-flex;align-items:center;min-height:44px;margin:.55rem 0 0;font-size:1rem;color:var(--ink,#f2ead8);text-decoration:underline;text-underline-offset:.3em}.ps-story{margin:0;padding:1.2rem var(--ps-gut) 1.6rem;font-size:1.04rem;line-height:1.85;color:var(--ink,#f2ead8);word-break:normal;line-break:strict;overflow-wrap:break-word;text-wrap:pretty}.ps-visit{padding:1.2rem var(--ps-gut) 1.6rem}.ps-dl{margin:.8rem 0 1.2rem}.ps-visit .mapsec .eyebrow{letter-spacing:.08em!important;text-transform:none!important;opacity:1!important;margin-bottom:.8rem!important;color:var(--ink,#f2ead8)!important}.ps-visit .links .ll{color:var(--ink,#f2ead8)!important;opacity:1!important}.ps .ps-visit .mapsec{--mp-ink:var(--ink,#f2ead8);--mp-base:var(--base,#0e0c0a)}.ps-dl dt{margin:.9rem 0 .15rem;font-size:1rem;line-height:1.4;font-weight:700;color:var(--ink,#f2ead8)}.ps-dl dd{margin:0;font-size:1rem;line-height:1.6;color:var(--ink,#f2ead8);overflow-wrap:anywhere}.ps-hours{list-style:none;margin:0;padding:0}.ps-hours li{margin:0 0 .2rem}.ps-tel{display:inline-flex;align-items:center;min-height:44px;color:var(--ink,#f2ead8);text-decoration:underline;text-underline-offset:.3em}.ps-visit .mapsec .eyebrow,.ps-visit .mappanel .ml,.ps-visit .mappanel .chip,.ps-visit .mappanel .chip *,.ps-visit .links .ll,.ps-visit .links .note,.ps-visit .mappanel .addr,.ps-visit .links .lk,.ps-visit .links .lk *{font-size:1rem!important}.ps-visit .links a,.ps-visit .mappanel{min-height:44px}.ps-visit .links a{display:inline-flex;align-items:center}.ps-faq{padding:.4rem var(--ps-gut) 1.8rem}.ps-faq .ps-h{padding:.6rem 0 .5rem;letter-spacing:.08em;color:var(--ink,#f2ead8)}.ps-q{border-bottom:1px solid var(--line,rgba(242,234,216,.14))}.ps-q summary{display:flex;align-items:center;min-height:56px;padding:.6rem 0;cursor:pointer;font-size:1rem;line-height:1.5;font-weight:700;color:var(--ink,#f2ead8);list-style:none;word-break:normal;line-break:strict;overflow-wrap:break-word;text-wrap:pretty}.ps-nw{white-space:nowrap}.ps-qt{flex:1 1 auto;min-width:0}.ps :is(.ps-q summary,.ps-q p,.ps-story,.ps-h,.ps-facts,.pr__name):lang(ja){word-break:auto-phrase;text-wrap:pretty}.ps-q summary::-webkit-details-marker{display:none}.ps-q summary:after{content:"+";margin-left:auto;padding-left:1rem;color:var(--ps-at,var(--accent,#e2502a));font-size:1.3rem}.ps-q[open] summary:after{content:"−"}.ps-q p{margin:0;padding:0 0 1rem;font-size:1rem;line-height:1.85;color:var(--ink,#f2ead8)}}
