:root{--paper:#f3eee4;--paper-deep:#efe4d4;--cream:#faf6ef;--ink:#2c221c;--ink-soft:#5c4a40;--line:#2c221c1f;--brown:#4a3128;--brown-deep:#342119;--red:#bc1217;--leaf:#5d7048;--blush:#f3d9c8;--leaf-soft:#dce7d0;--header-h:4.6rem;--serif:"Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;--sans:"Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:calc(var(--header-h) + .5rem)}body{background:radial-gradient(900px 420px at 0% -10%, #fffaf4e6, transparent 55%), radial-gradient(700px 380px at 100% 8%, #ecd6be73, transparent 50%), var(--paper);color:var(--ink);font-family:var(--sans);line-break:strict;word-break:auto-phrase;text-rendering:optimizelegibility;margin:0;font-size:1.02rem;font-weight:400;line-height:1.8}body.nav-open{overflow:hidden}h1,h2,h3,p,ul,ol,dl,figure,blockquote{margin:0}ul,ol{padding:0;list-style:none}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}::selection{color:var(--ink);background:#f0c8c0}:focus-visible{outline:2px solid var(--red);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-link{z-index:80;background:var(--brown);color:var(--cream);border-radius:999px;padding:.6rem 1rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:.8rem}.container{width:min(1120px,100% - 2.5rem);margin-inline:auto}.icon{flex:none;width:1.25rem;height:1.25rem}.js [data-hero],.js [data-reveal]{opacity:0;transform:translateY(22px)}.js .hero-photo{will-change:transform;transform:scale(1.06)}.loader{z-index:70;background:radial-gradient(900px 420px at 0% -10%, #fffaf4e6, transparent 55%), radial-gradient(700px 380px at 100% 8%, #ecd6be73, transparent 50%), var(--paper);pointer-events:auto;place-items:center;animation:.55s 7s forwards loader-dismiss;display:grid;position:fixed;inset:0}.loader.is-held{animation:none}.loader-mark{text-align:center;justify-items:center;width:min(72vw,22rem);display:grid}.loader-kicker,.loader-place{font-family:var(--serif);letter-spacing:.22em;color:var(--ink-soft);margin:0}.loader-kicker{margin-bottom:.9rem;font-size:.78rem}.loader-logo{width:100%;height:auto}.loader-line{background:var(--red);width:3.4rem;height:2px;box-shadow:0 6px 0 var(--red);transform-origin:50%;margin-top:1.15rem;display:block}.loader-place{margin-top:1.05rem;font-size:.72rem}.js .loader-logo,.js .loader-place{opacity:0}.js .loader-line{transform:scaleX(0)}html.is-loading{animation:0s linear 7.2s forwards loader-unlock;overflow:hidden}@keyframes loader-dismiss{to{opacity:0;visibility:hidden;pointer-events:none}}@keyframes loader-unlock{to{overflow:visible}}.site-header{z-index:40;min-height:var(--header-h);backdrop-filter:blur(16px);background:#f3eee4e0;border-bottom:1px solid #0000;position:sticky;top:0}.site-header.is-scrolled{border-bottom-color:var(--line);box-shadow:0 12px 30px #2c221c0d}.header-bar,.footer-bar{justify-content:space-between;align-items:center;gap:1.25rem;display:flex}.header-bar{min-height:var(--header-h)}.brand{flex:none;display:block}.brand img,.footer-bar .brand img{width:auto;height:30px}.site-nav{align-items:center;gap:1.45rem;display:flex}.site-nav a{letter-spacing:.06em;color:var(--ink-soft);font-size:.92rem}.site-nav a[aria-current=location]{color:var(--red)}.nav-ig{place-items:center;display:grid}.nav-tel{background:var(--brown);letter-spacing:.03em;border-radius:999px;align-items:center;gap:.4rem;min-height:2.5rem;padding:0 .95rem;display:inline-flex;color:var(--cream)!important}.nav-toggle{place-items:center;width:2.75rem;height:2.75rem;display:none}.nav-toggle-bars{background:var(--ink);width:1.2rem;height:1px;position:relative}.nav-toggle-bars:before,.nav-toggle-bars:after{content:"";background:var(--ink);width:100%;height:1px;position:absolute;left:0}.nav-toggle-bars:before{top:-6px}.nav-toggle-bars:after{top:6px}.nav-toggle[aria-expanded=true] .nav-toggle-bars{background:0 0}.nav-toggle[aria-expanded=true] .nav-toggle-bars:before{top:0;transform:rotate(40deg)}.nav-toggle[aria-expanded=true] .nav-toggle-bars:after{top:0;transform:rotate(-40deg)}.hero{padding-bottom:clamp(1.5rem,4vw,3rem)}.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(1.5rem,4vw,4rem);padding-block:clamp(2rem,5vw,3.6rem);display:grid}.hero-place{letter-spacing:.2em;color:var(--ink-soft);margin-bottom:.8rem;font-size:.78rem}.hero-kicker,.hero-sub{letter-spacing:.14em;color:var(--ink-soft);font-size:.92rem}.hero-logo-wrap{margin:.85rem 0 .55rem}.hero-logo-wrap img{width:min(100%,34rem);height:auto}.hero-lead{font-family:var(--serif);letter-spacing:.04em;font-feature-settings:"palt";margin-top:1.6rem;font-size:clamp(1.35rem,2.2vw,1.85rem);font-weight:600;line-height:1.7}.hero-desc{color:var(--ink-soft);margin-top:.55rem}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.7rem;display:flex}.hero-frame{aspect-ratio:750/716;border-radius:1.4rem;margin:0;position:relative;overflow:hidden;box-shadow:0 24px 50px #2c221c1a}.hero-frame img{object-fit:cover;object-position:center;width:100%;height:100%}.btn{letter-spacing:.06em;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-height:3.05rem;padding:.7rem 1.35rem;line-height:1;display:inline-flex}.btn-primary{background:var(--brown);color:var(--cream)}.btn-line{color:var(--ink);border-color:#2c221c47}.btn-light{color:var(--cream);background:0 0;border-color:#faf6ef66}.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.facts li{color:var(--ink-soft);grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:.1rem .7rem;padding:1.15rem 1rem 1.15rem 0;display:grid}.facts li+li{border-left:1px solid var(--line);padding-left:1rem}.facts .icon{color:var(--leaf);grid-row:1/span 2}.facts span{letter-spacing:.14em;font-size:.75rem}.facts strong{color:var(--ink);letter-spacing:.02em;font-weight:500}.section{padding-block:clamp(4.5rem,9vw,7.25rem)}.section-warm{background:linear-gradient(180deg, #fffaf459, var(--paper-deep) 12% 88%, #f3eee433)}.section-head{gap:.45rem;margin-bottom:1.15rem;display:grid}.section-index{font-family:var(--serif);color:var(--red);letter-spacing:.14em;font-size:.92rem}.section-kicker{color:var(--ink-soft);letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:.7rem;font-size:.72rem;display:flex}.section-kicker:before{content:"";background:linear-gradient(var(--red), var(--red)) 0 0/100% 2px no-repeat, linear-gradient(var(--red), var(--red)) 0 100%/100% 2px no-repeat;width:1.35rem;height:.42rem}.section-kicker-light{color:#faf6efb8}.section-kicker-light:before{background:linear-gradient(#f0c3bf,#f0c3bf) 0 0/100% 2px no-repeat,linear-gradient(#f0c3bf,#f0c3bf) 0 100%/100% 2px no-repeat}h2{font-family:var(--serif);letter-spacing:.05em;font-feature-settings:"palt";font-size:clamp(1.85rem,3.5vw,2.85rem);font-weight:600;line-height:1.45}.lead{max-width:38rem;color:var(--ink-soft);line-height:2}.about-layout{grid-template-columns:minmax(180px,250px) minmax(0,40rem);justify-content:start;align-items:end;gap:clamp(1.5rem,5vw,4.5rem);display:grid}.portrait{place-items:end center;min-height:300px;margin:0;display:grid;position:relative}.portrait:before{content:"";background:var(--blush);border-radius:50% 50% 46% 46%;width:82%;height:70%;position:absolute;bottom:2%;left:9%}.portrait-leaf:before{background:var(--leaf-soft)}.portrait img{z-index:1;filter:drop-shadow(0 16px 18px #2c221c14);width:min(230px,68vw);height:auto;position:relative}.story{max-width:38rem}.story p{color:var(--ink-soft);line-height:2.05}.story p+p{margin-top:1.3rem}.sign{color:var(--ink);font-family:var(--serif);letter-spacing:.08em;flex-direction:column;gap:.15rem;margin-top:1.8rem;font-size:1.35rem;display:flex}.sign span{font-family:var(--sans);letter-spacing:.18em;color:var(--ink-soft);font-size:.75rem}.hair-figure{border-radius:1.25rem;margin:1.8rem 0 2.4rem;overflow:hidden;box-shadow:0 18px 40px #2c221c14}.hair-figure img{object-fit:cover;object-position:18% center;width:100%;height:min(52vw,440px)}.cafe-intro{grid-template-columns:minmax(0,1fr) 230px;align-items:end;gap:1rem 2rem;margin-bottom:2.2rem;display:grid}.cafe-intro .section-head{margin-bottom:.8rem}.menu-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4rem 4rem;display:grid}.cafe .menu-board{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-group h3{font-family:var(--serif);letter-spacing:.08em;border-bottom:1px solid #2c221c38;padding-bottom:.7rem;font-size:1.2rem;font-weight:600}.menu-group li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;padding:.82rem 0;display:flex}.menu-name{line-height:1.65}.menu-price{font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:.02em;font-weight:500}.yen{margin-left:.12em;font-size:.78em;font-weight:400}.menu-notes{color:var(--ink-soft);background:#faf6ef9e;border-radius:.9rem;margin-top:1.6rem;padding:1rem 1.15rem;font-size:.92rem}.menu-notes li{padding-left:.95rem;line-height:1.8;position:relative}.menu-notes li:before{content:"";background:var(--red);border-radius:50%;width:4px;height:4px;position:absolute;top:.72em;left:0}.band{height:min(62vh,560px);min-height:260px;margin:0;position:relative;overflow:hidden}.band img{object-fit:cover;object-position:center 18%;will-change:transform;width:100%;max-width:none;height:124%;position:absolute;inset:-12% 0 auto}.band:after{content:"";pointer-events:none;background:linear-gradient(#0000,#24161080);height:42%;position:absolute;inset:auto 0 0}.band figcaption{z-index:1;color:#f7f2ea;letter-spacing:.16em;background:#2416107a;border-radius:999px;padding:.4rem .8rem;font-size:.75rem;position:absolute;bottom:1.3rem;left:max(1.25rem,50% - 560px)}.access-layout{grid-template-columns:minmax(240px,380px) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,5vw,4.5rem);display:grid}.access-map{background:var(--cream);border-radius:1.2rem;margin:0;overflow:hidden;box-shadow:0 18px 40px #2c221c14}.access-map img{width:100%;height:auto}.access-list{margin-top:1.5rem}.access-list div{border-bottom:1px solid var(--line);grid-template-columns:6.2rem minmax(0,1fr);gap:.75rem 1rem;padding:.95rem 0;display:grid}.access-list dt{color:var(--ink-soft);letter-spacing:.12em;padding-top:.2rem;font-size:.82rem}.access-list dd{margin:0;line-height:1.85}.access-list a{text-underline-offset:.22em;text-decoration:underline}.text-link{color:var(--ink);letter-spacing:.06em;border-bottom:1px solid #2c221c59;align-items:center;gap:.45rem;margin-top:1.3rem;padding-bottom:.15rem;display:inline-flex}.reserve{background:radial-gradient(500px 240px at 12% 0%, #bc12172e, transparent 60%), var(--brown-deep);color:var(--cream);padding-block:clamp(4.5rem,9vw,6.5rem)}.reserve-grid{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}.reserve h2{margin:.7rem 0 .4rem}.reserve-tel{font-family:var(--serif);letter-spacing:.04em;margin:.4rem 0 1rem;font-size:clamp(2.4rem,6vw,4.15rem);font-weight:600;line-height:1.1;display:inline-block}.reserve-note{color:#faf6efc7;max-width:36rem;margin-bottom:1.5rem;line-height:2}.qr-card{color:var(--ink);text-align:center;background:#fff;border-radius:1.1rem;margin:0;padding:.85rem .85rem .7rem}.qr-card img{width:158px;height:auto;margin-inline:auto}.site-footer{padding:2.2rem 0 1.6rem}.footer-bar{align-items:center;height:auto}.footer-meta{color:var(--ink-soft);font-size:.88rem;line-height:1.7}.footer-meta a{text-underline-offset:.2em;text-decoration:underline}.footer-mark{width:56px;height:auto}.copyright{border-top:1px solid var(--line);width:min(1120px,100% - 2.5rem);color:var(--ink-soft);letter-spacing:.08em;margin:1.4rem auto 0;padding-top:1rem;font-size:.8rem}@media (hover:hover) and (prefers-reduced-motion:no-preference){.btn,.nav-tel,.site-nav a,.text-link,.menu-name{transition:background-color .3s,color .3s,border-color .3s,transform .3s}.nav-toggle-bars,.nav-toggle-bars:before,.nav-toggle-bars:after{transition:transform .3s,top .3s,background-color .3s}.btn-primary:hover,.nav-tel:hover{background:var(--brown-deep)}.btn-line:hover{border-color:var(--ink);background:#fffaf4b3}.btn-light:hover{background:#faf6ef14}.menu-group li:hover .menu-name{color:var(--red)}.site-nav a:hover{color:var(--ink)}}@media (width<=879px){.header-bar{flex-wrap:wrap;height:auto;padding-block:.7rem}.site-nav{flex-wrap:wrap;gap:.7rem 1.1rem;width:100%}.js .nav-toggle{display:grid}.js .site-nav{top:var(--header-h);height:calc(100dvh - var(--header-h));z-index:30;opacity:0;visibility:hidden;background:#f3eee4;flex-flow:column;justify-content:center;align-items:flex-start;gap:1.35rem;width:auto;padding:2rem 1.5rem 4rem;position:fixed;left:0;right:0;transform:translateY(-8px)}.site-nav.is-open{opacity:1;visibility:visible;transform:none}.js .site-nav a{font-family:var(--serif);letter-spacing:.08em;color:var(--ink);font-size:1.7rem}.nav-tel{font-family:var(--sans);margin-top:.6rem;font-size:1rem}.hero-grid,.about-layout,.cafe-intro,.access-layout,.reserve-grid{grid-template-columns:1fr}.facts{grid-template-columns:1fr 1fr}.hero-grid{min-height:0;padding-top:1.4rem}.facts li,.facts li+li{border-left:0;border-top:1px solid var(--line);padding:.95rem .75rem .95rem 0}.facts li:nth-child(-n+2){border-top:0}.facts li:nth-child(2n){border-left:1px solid var(--line);padding-left:.85rem}.cafe-intro .portrait{order:-1;justify-self:start;min-height:220px}.access-list div{grid-template-columns:1fr;gap:.15rem}.footer-bar{flex-wrap:wrap}}@media (width<=720px){.menu-board,.cafe .menu-board,.facts{grid-template-columns:1fr}.facts li,.facts li+li,.facts li:nth-child(2n){border-left:0;border-top:1px solid var(--line);padding-left:0}.facts li:first-child{border-top:0}.hero-actions{display:grid}}@media (width<=1024px){.reserve-grid{grid-template-columns:1fr}.qr-card{justify-self:center;width:max-content;max-width:100%}.reserve-ig{width:max-content;margin-inline:auto;display:flex}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.loader{display:none}html.is-loading{animation:none;overflow:visible}.js [data-hero],.js [data-reveal],.js .hero-photo{opacity:1;transform:none}}
