:root{--black:#0c0c0c;--ink:#171717;--muted:#5c564e;--concrete:#d4cdc2;--sheet:#f6f3ec;--line:#17171729;--paper:#f3efe6;--bar:4.35rem;--gutter:clamp(1.15rem, 3.2vw, 2.4rem);--sans:"Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;--serif:"Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:auto;overflow-x:clip}body{background:var(--concrete);color:var(--ink);font-family:var(--sans);letter-spacing:.06em;font-synthesis:none;margin:0;font-size:1rem;font-weight:400;line-height:1.85}body.is-locked{overflow:hidden}img{max-width:100%;height:auto}h1,h2,h3,p,ul,ol,dl,figure,address{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}address{font-style:normal}::selection{background:var(--black);color:var(--sheet)}:focus-visible{outline-offset:3px;outline:2px solid #fff}.skip{left:var(--gutter);z-index:80;color:var(--black);background:#fff;padding:.7rem 1rem;text-decoration:none;position:absolute;top:.75rem;transform:translateY(-160%)}.skip:focus{transform:none}section[id]{scroll-margin-top:calc(var(--bar) + .5rem)}.signbar{z-index:50;min-height:var(--bar);padding-inline:var(--gutter);color:#f3efe6;background:#000;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:0}.signbar.is-open{background:#000}.brand{z-index:51;align-items:flex-end;gap:.7rem;text-decoration:none;display:flex;position:relative}.brand__mark{width:min(168px,46vw);height:auto;display:block}.brand__yomi{letter-spacing:.28em;color:#b7b1a6;padding-bottom:.28rem;font-size:.62rem}.nav-toggle{z-index:51;width:2.75rem;height:2.75rem;position:relative}@media (width>=900px){.nav-toggle{display:none}}.nav-toggle__bar{transform-origin:50%;background:currentColor;width:1.35rem;height:1px;transition:transform .4s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;left:.7rem}.nav-toggle__bar:nth-child(2){transform:translateY(-4px)}.nav-toggle__bar:last-child{transform:translateY(4px)}.signbar.is-open .nav-toggle__bar:nth-child(2){transform:rotate(45deg)}.signbar.is-open .nav-toggle__bar:last-child{transform:rotate(-45deg)}.nav{align-items:center;gap:1.55rem;display:flex}.nav a{letter-spacing:.18em;opacity:.72;font-size:.74rem;text-decoration:none;transition:opacity .3s}.nav a:hover,.nav a.is-current{opacity:1}.nav a.is-current{box-shadow:inset 0 -1px #f3efe6}.nav a.nav__phone{font-variant-numeric:tabular-nums;letter-spacing:.08em;opacity:1;border:1px solid #f3efe659;padding:.38rem .75rem}@media (width<=899px){.nav{z-index:40;padding:0 var(--gutter) 2.5rem;color:#f3efe6;visibility:hidden;background:#000;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:.2rem;transition:transform .45s cubic-bezier(.16,1,.3,1),visibility .45s;position:fixed;inset:0;transform:translateY(-102%)}.nav a{letter-spacing:.14em;opacity:1;box-shadow:none;font-size:clamp(1.8rem,7vw,2.4rem);line-height:1.5}.signbar.is-open .nav{visibility:visible;transform:none}.nav__phone{letter-spacing:.08em;margin-top:1.4rem;font-size:1rem}}.door{background:#000;position:relative}.door__photo{height:calc(100svh - var(--bar));min-height:28rem;overflow:hidden}.door__photo img{object-fit:cover;object-position:center 58%;width:100%;max-width:none;height:100%;display:block}.door__plate{z-index:1;padding:5.5rem var(--gutter) 1.5rem;color:#f6f3ec;background:linear-gradient(#0000,#0000008c 42%,#000000d1);align-items:end;gap:.4rem 2rem;display:grid;position:absolute;bottom:0;left:0;right:0}.door__plate h1{max-width:10.5em;font-family:var(--serif);letter-spacing:.12em;font-size:clamp(1.7rem,3.4vw,2.7rem);font-weight:500;line-height:1.4}@media (width>=800px){.door__plate{padding:7rem var(--gutter) 1.8rem;grid-template-columns:1fr auto}}.door__place{letter-spacing:.22em;color:#f6f3ecc7;font-size:.68rem}@media (width>=800px){.door__place{grid-column:1/-1}}.door__call{font-family:var(--serif);letter-spacing:.12em;border-bottom:1px solid #f6f3ec8c;justify-self:start;padding-bottom:.15rem;font-size:clamp(1.15rem,2vw,1.45rem);text-decoration:none}@media (width>=800px){.door__call{justify-self:end}}.board{background:var(--concrete)}.board__sign{margin:1.35rem var(--gutter) 0;aspect-ratio:3.18;background:#111;overflow:hidden}.board__sign img{width:195%;max-width:none;height:auto;display:block;transform:translate(-3%,-30.5%)}.board__sheet{background:var(--sheet);color:var(--ink);margin-top:1.35rem}@media (width>=900px){.board__sheet{margin-inline:var(--gutter);grid-template-columns:minmax(17.5rem,22rem) minmax(0,1fr);align-items:start;display:grid}}.board__head p,.bench__head p,.depth__label p,.visit__card header p{letter-spacing:.24em;color:var(--muted);align-items:center;gap:.75rem;font-size:.68rem;display:flex}.board__head p:before,.bench__head p:before,.depth__label p:before,.visit__card header p:before{content:"";background:currentColor;width:1.6rem;height:1px}.board__head h2,.bench__head h2,.depth__label h2,.visit__card header h2{font-family:var(--serif);letter-spacing:.16em;margin-top:.45rem;font-size:clamp(1.7rem,3.2vw,2.45rem);font-weight:500;line-height:1.35}.board__head{padding:2.2rem var(--gutter) .6rem}@media (width>=900px){.board__head{padding:1.85rem 1.75rem 1.5rem 1.7rem}.board__head p{letter-spacing:.12em}}.board__grid{border-top:1px solid var(--line);display:grid}@media (width>=720px){.board__grid{grid-template-columns:1fr 1fr;column-gap:2.5rem}}@media (width>=900px){.board__grid{border-top:0}}.board__grid li{padding:1.35rem var(--gutter) 1.45rem;border-bottom:1px solid var(--line)}@media (width>=900px){.board__grid li{padding-inline:1.5rem 1.75rem}}.board__grid h3{font-family:var(--serif);letter-spacing:.1em;font-size:clamp(1.12rem,1.6vw,1.35rem);font-weight:500}.board__grid p{color:#4a453e;letter-spacing:.06em;margin-top:.4rem;font-size:.84rem}.bench{color:#f3efe6;background:#1a1816}@media (width>=960px){.bench{grid-template-columns:minmax(15rem,19rem) minmax(0,1fr);display:grid}}.bench__photo{height:min(72vh,760px);position:relative;overflow:hidden}@media (width>=960px){.bench__photo{grid-area:1/2;height:min(68vh,680px)}}.bench__photo img{object-fit:cover;object-position:center 62%;width:100%;max-width:none;height:100%;display:block}.bench__cap{color:#f6f3ec;letter-spacing:.22em;background:#0c0c0c73;margin:0;padding:.28rem .55rem;font-size:.68rem;position:absolute;top:.9rem;left:.9rem}.bench__head{padding:2.2rem var(--gutter) 1.5rem}.bench__head p{color:#f3efe6c7}@media (width>=960px){.bench__head{padding:2rem 1.6rem 6.5rem var(--gutter);grid-area:1/1;align-self:end}}.slips{z-index:1;padding:0 var(--gutter);gap:.55rem;margin-top:-2.6rem;display:grid;position:relative}@media (width>=860px){.slips{grid-template-columns:repeat(5,1fr)}}@media (width>=960px){.slips{grid-column:1/-1;margin-top:-3.6rem}}.slip{background:var(--paper);color:var(--ink);padding:1.15rem .95rem 1.25rem}.slip__shoe{font-family:var(--serif);letter-spacing:.08em;font-size:1rem}.slip__work{color:var(--muted);letter-spacing:.16em;margin-top:.35rem;font-size:.72rem}.bench__note{padding:.9rem var(--gutter) 1.6rem;color:#f3efe69e;letter-spacing:.08em;font-size:.8rem}@media (width>=960px){.bench__note{grid-column:1/-1}}.depth{background:var(--concrete);color:var(--ink);overflow:hidden}@media (width>=960px){.depth__pin{height:100vh;padding-top:calc(var(--bar) + 1rem);flex-direction:column;justify-content:space-between;padding-bottom:1.4rem;display:flex;overflow:hidden}}.depth__label{padding:1.6rem var(--gutter) .9rem}.depth__track{min-width:0;max-width:100%;padding:.4rem var(--gutter) 1.4rem;scroll-snap-type:x mandatory;gap:.9rem;display:flex;overflow-x:auto}.depth__track figure{scroll-snap-align:start;flex:0 0 78vw}.depth__track figcaption{letter-spacing:.18em;color:var(--muted);align-items:center;gap:.55rem;margin-top:.55rem;font-size:.68rem;display:flex}.depth__track figcaption:before{content:"";background:currentColor;width:.9rem;height:1px}@media (width>=960px){.depth__track{scroll-snap-type:none;align-items:flex-end;width:max-content;max-width:none;padding-bottom:0;overflow:visible}.depth__track figure{flex:none;width:auto}.depth__track figure:nth-child(2n) .shot{height:min(40vh,390px)}}.shot{background:#b7b0a4;height:62vw;overflow:hidden}.shot img{object-fit:cover;width:100%;max-width:none;height:100%;display:block}@media (width>=960px){.shot{width:auto;height:min(54vh,520px)}.shot img{width:auto;height:100%}}.visit{background:var(--concrete);padding-bottom:1.25rem;display:grid}@media (width>=900px){.visit{grid-template-columns:.9fr 1.1fr;align-items:stretch;min-height:78vh;padding-bottom:0}}.visit__door{background:#c8c1b6;min-height:70vw;overflow:hidden}.visit__door img{object-fit:cover;object-position:center 20%;width:100%;max-width:none;height:100%;display:block}@media (width>=900px){.visit__door{min-height:100%}}.visit__card{margin:.85rem var(--gutter) 0;background:var(--sheet);padding:clamp(1.7rem,4vw,3.2rem) clamp(1.2rem,3vw,2.4rem)}@media (width>=900px){.visit__card{z-index:1;margin:2.6rem 2.4rem 2.6rem -5.5rem;position:relative}}.visit__tel{font-family:var(--serif);letter-spacing:.1em;border-bottom:1px solid #17171759;margin-top:1.5rem;padding-bottom:.15rem;font-size:clamp(1.55rem,3vw,2.15rem);text-decoration:none;display:inline-block}.visit__ask{margin-top:.7rem;font-size:.92rem}.hours{margin-top:1.2rem}.hours div{border-top:1px solid #1717172e;grid-template-columns:4.5rem 1fr;gap:.8rem;padding:.7rem 0;display:grid}.hours div:last-child{border-bottom:1px solid #1717172e}.hours dt{color:var(--muted)}.hours dd{margin:0}.visit__card address{margin-top:1rem;line-height:1.9}.map{background:var(--concrete);min-height:16rem;margin-top:1.2rem;position:relative}.map iframe{filter:grayscale()contrast(1.05);border:0;width:100%;height:16rem;display:block}.map a{background:var(--sheet);letter-spacing:.16em;padding:.4rem .7rem;font-size:.68rem;text-decoration:none;position:absolute;bottom:.75rem;left:.75rem}.foot{padding:1.35rem var(--gutter) 1.5rem;color:#b7b1a6;letter-spacing:.14em;background:#000;flex-wrap:wrap;justify-content:space-between;gap:.4rem 1.4rem;font-size:.72rem;display:flex}.foot a{color:#f3efe6;text-decoration:none}.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}@media (prefers-reduced-motion:no-preference){.js .door__plate,.js [data-reveal],.js [data-reveal-stagger]>*{opacity:0}}@media (prefers-reduced-motion:reduce){.nav,.nav-toggle__bar{transition:none}}@media (width>=960px) and (prefers-reduced-motion:no-preference){.depth__track{will-change:transform}}
