:root{--bg:#090a0c;--bg-elevated:#111318;--bg-card:#161920;--bg-header:#090a0cb8;--platinum:#d8dbe2;--platinum-soft:#a7adb8;--line:#d8dbe224;--line-strong:#d8dbe247;--bronze:#c4a06a;--bronze-soft:#d8be93;--text:#f3f4f7;--text-muted:#9aa1ae;--danger:#e8e8ea;--shadow:0 24px 60px #00000059;--radius:2px;--header-h:76px;--pad:clamp(1.25rem, 4vw, 4.5rem);--max:1180px;--font-sans:"Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;--font-serif-en:"Cormorant Garamond", "Times New Roman", serif;--font-serif-ja:"Noto Serif JP", "Yu Mincho", serif;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--bg);color:var(--text);scroll-behavior:auto}body{font-family:var(--font-sans);letter-spacing:.02em;background:var(--bg);min-height:100%;font-size:16px;font-weight:400;line-height:1.8}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}address{font-style:normal}:focus-visible{outline:1px solid var(--bronze);outline-offset:3px}.skip-link{z-index:80;background:var(--platinum);color:var(--bg);padding:.6rem .9rem;font-size:.8rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.display{letter-spacing:.02em;margin:0;font-weight:500;line-height:1.35}html[data-lang=ja] .display{font-family:var(--font-serif-ja);line-break:strict;word-break:keep-all;overflow-wrap:normal;font-weight:500}html[data-lang=en] .display{font-family:var(--font-serif-en);letter-spacing:.01em;word-break:normal;font-weight:500;line-height:1.2}.eyebrow{color:var(--bronze-soft);letter-spacing:.28em;text-transform:uppercase;align-items:center;gap:.85rem;margin:0 0 1rem;font-size:.72rem;display:inline-flex}.eyebrow:before{content:"";background:var(--bronze);width:28px;height:1px}.lead{color:var(--text-muted);max-width:38rem;margin:1.25rem 0 0}.section{padding:clamp(5rem, 10vw, 8.5rem) var(--pad)}.section-head{gap:.35rem;margin-bottom:clamp(2.5rem,5vw,4rem);display:grid}.section-index{color:var(--platinum-soft);letter-spacing:.32em;margin:0 0 .6rem;font-size:.72rem}.section-title{white-space:pre-line;max-width:18rem;font-size:clamp(1.7rem,3.4vw,2.75rem)}.wrap{width:min(100%, var(--max));margin-inline:auto}.icon{flex-shrink:0;width:1.15rem;height:1.15rem}.icon-lg{width:1.45rem;height:1.45rem}.site-header{z-index:40;height:var(--header-h);padding:0 var(--pad);transition:background .35s var(--ease), border-color .35s var(--ease), backdrop-filter .35s var(--ease);border-bottom:1px solid #0000;align-items:center;display:flex;position:fixed;inset:0 0 auto}.site-header.is-scrolled,.site-header.is-open{background:var(--bg-header);border-bottom-color:var(--line);backdrop-filter:blur(16px)}.header-inner{justify-content:space-between;align-items:center;gap:1.5rem;width:min(100%,1320px);margin-inline:auto;display:flex}.logo{z-index:2;white-space:nowrap;flex-shrink:0;align-items:baseline;gap:.65rem;display:flex}.logo-mark{font-family:var(--font-serif-en);letter-spacing:.08em;font-size:1.35rem}.logo-sub{color:var(--text-muted);letter-spacing:.22em;text-transform:uppercase;font-size:.62rem}.nav{align-items:center;gap:2rem;display:flex}.nav a{letter-spacing:.16em;color:var(--platinum-soft);font-size:.78rem;transition:color .25s}.nav a:hover{color:var(--text)}.header-actions{z-index:2;align-items:center;gap:.85rem;display:flex}.lang-switch{border:1px solid var(--line-strong);border-radius:var(--radius);display:flex;overflow:hidden}.lang-switch button{letter-spacing:.12em;color:var(--text-muted);white-space:nowrap;padding:.35rem .6rem;font-size:.68rem;line-height:1}.lang-switch button.is-active{background:var(--platinum);color:var(--bg)}.header-phone{border:1px solid var(--line-strong);letter-spacing:.08em;align-items:center;gap:.45rem;padding:.45rem .85rem;font-size:.78rem;transition:background .25s,color .25s,border-color .25s;display:inline-flex}.header-phone:hover{background:var(--platinum);color:var(--bg);border-color:var(--platinum)}.menu-toggle{border:1px solid var(--line-strong);place-items:center;width:42px;height:42px;display:none}.btn{border:1px solid var(--platinum);letter-spacing:.16em;min-height:48px;transition:background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);justify-content:center;align-items:center;gap:.55rem;padding:.7rem 1.25rem;font-size:.78rem;display:inline-flex}.btn-solid{background:var(--platinum);color:var(--bg)}.btn-solid:hover{background:#fff;border-color:#fff}.btn-ghost{color:var(--text);background:0 0}.btn-ghost:hover{background:#d8dbe214}.btn-bronze{background:var(--bronze);border-color:var(--bronze);color:#1a140c}.btn-bronze:hover{background:var(--bronze-soft);border-color:var(--bronze-soft)}.hero{min-height:100svh;padding:calc(var(--header-h) + 3rem) var(--pad) 0;align-items:flex-end;display:flex;position:relative;overflow:hidden}.hero-media{position:absolute;inset:0}.hero-media picture,.about-visual picture,.inv-card picture{width:100%;height:100%;display:block}.hero-media img{object-fit:cover;object-position:center 45%;width:100%;height:100%}.hero-shade{background:linear-gradient(#090a0c2e 0%,#090a0c14 32%,#090a0cb8 100%),linear-gradient(90deg,#090a0c61 0%,#090a0c0f 62%);position:absolute;inset:0}.hero-content{z-index:1;width:min(100%,1320px);margin-inline:auto;padding-bottom:2.5rem;position:relative}.hero-title{white-space:pre-line;max-width:min(100%,12.5em);font-size:clamp(1.85rem,6.2vw,4.4rem)}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.hero-facts{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:0;margin-top:3.5rem;display:grid}.hero-facts li{border-right:1px solid var(--line);color:var(--platinum-soft);letter-spacing:.08em;padding:1.15rem 1.25rem 1.15rem 0;font-size:.78rem;list-style:none}.hero-facts li:last-child{border-right:0}.hero-facts{margin-left:0;padding:0}.about-grid{grid-template-columns:1fr 1.05fr;align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.about-visual{aspect-ratio:4/5;position:relative;overflow:hidden}.about-visual picture,.about-visual img{width:100%;height:100%;position:absolute;inset:0}.about-visual img{object-fit:cover}.about-caption{letter-spacing:.16em;text-transform:uppercase;color:var(--platinum);background:#090a0cb3;padding:.45rem .7rem;font-size:.68rem;position:absolute;bottom:1rem;left:1rem}.about-note{border-top:1px solid var(--line);color:var(--platinum-soft);margin-top:1.5rem;padding-top:1.5rem;font-size:.92rem}.stats{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.25rem;display:grid}.stat{border-top:1px solid var(--line);padding:1rem 0 0}.stat-value{font-family:var(--font-serif-en);letter-spacing:.04em;font-size:2rem;line-height:1}.stat-label{color:var(--text-muted);letter-spacing:.08em;margin-top:.45rem;font-size:.75rem;display:block}.service-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.service-card{background:var(--bg);min-height:100%;padding:1.75rem 1.4rem 1.9rem}.service-icon{border:1px solid var(--line-strong);width:42px;height:42px;color:var(--bronze-soft);place-items:center;margin-bottom:1.4rem;display:grid}.service-card h3{letter-spacing:.08em;margin:0 0 .7rem;font-size:1.05rem;font-weight:500}.service-card p{color:var(--text-muted);margin:0;font-size:.9rem}.inventory-grid{grid-template-columns:repeat(12,1fr);gap:.7rem;display:grid}.inv-card{background:var(--bg-card);aspect-ratio:4/3;grid-column:span 4;position:relative;overflow:hidden}.inv-card.is-wide{aspect-ratio:16/10;grid-column:span 8}.inv-card.is-tall{aspect-ratio:3/4;grid-row:span 2;min-height:0}.inv-card picture,.inv-card img{width:100%;height:100%;position:absolute;inset:0}.inv-card img{object-fit:cover;transition:transform .9s var(--ease)}.inv-card:hover img{transform:scale(1.05)}.inv-meta{background:linear-gradient(#0000,#090a0ce6);justify-content:space-between;align-items:flex-end;gap:.75rem;padding:2.4rem 1rem 1rem;display:flex;position:absolute;inset:auto 0 0}.inv-name{letter-spacing:.06em;margin:0;font-size:.92rem}.inv-tag{color:var(--bronze-soft);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;font-size:.68rem}.access-grid{grid-template-columns:1.15fr .85fr;align-items:stretch;gap:1.5rem;display:grid}.map-frame{border:1px solid var(--line);background:var(--bg-elevated);min-height:460px;overflow:hidden}.map-frame iframe{filter:grayscale(.35)contrast(1.05);border:0;width:100%;height:100%;min-height:460px}.access-panel{border:1px solid var(--line);background:var(--bg-elevated);flex-direction:column;display:flex}.access-row{border-bottom:1px solid var(--line);color:var(--platinum-soft);grid-template-columns:28px 1fr;gap:.9rem;padding:1.15rem 1.25rem;display:grid}.access-row:last-child{border-bottom:0}.access-row .icon{color:var(--bronze-soft);margin-top:.3rem}.access-row dt{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.68rem}.access-row dd{color:var(--text);margin:.2rem 0 0;font-size:.98rem}.access-row a:hover{color:var(--bronze-soft)}.contact-band{padding:clamp(4rem, 8vw, 6.5rem) var(--pad);border-top:1px solid var(--line);background:radial-gradient(ellipse at 20% 0%, #c4a06a14, transparent 45%), var(--bg-elevated)}.contact-inner{width:min(100%, var(--max));justify-content:space-between;align-items:flex-end;gap:2rem;margin-inline:auto;display:flex}.contact-title{white-space:pre-line;max-width:18rem;font-size:clamp(1.7rem,3.4vw,2.75rem)}.contact-actions{flex-wrap:wrap;gap:.7rem;display:flex}.sns-link{border:1px solid var(--line-strong);letter-spacing:.14em;align-items:center;gap:.5rem;min-height:48px;padding:0 1rem;font-size:.75rem;display:inline-flex}.sns-link:hover{border-color:var(--platinum)}.site-footer{padding:2.5rem var(--pad) 7rem;border-top:1px solid var(--line)}.footer-inner{width:min(100%, var(--max));grid-template-columns:1.4fr 1fr 1fr;gap:2rem;margin-inline:auto;display:grid}.footer-col h2{letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .9rem;font-size:.68rem;font-weight:500}.footer-col ul,.footer-col p{color:var(--platinum-soft);margin:0;padding:0;font-size:.88rem;list-style:none}.footer-col a:hover{color:var(--text)}.footer-copy{border-top:1px solid var(--line);color:var(--text-muted);letter-spacing:.08em;margin-top:2.2rem;padding-top:1.2rem;font-size:.75rem}.sticky-phone{display:none}[data-reveal]{will-change:transform, opacity}@media (width<=1080px){.service-grid{grid-template-columns:1fr 1fr}.inv-card,.inv-card.is-wide,.inv-card.is-tall{aspect-ratio:4/3;grid-area:auto/span 6;min-height:0}.footer-inner{grid-template-columns:1fr 1fr}}@media (width<=880px){.menu-toggle{display:grid}.header-phone span,.logo-sub{display:none}.logo-mark{font-size:1.12rem}.nav{z-index:1;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s var(--ease), visibility .3s var(--ease);background:#090a0c;flex-direction:column;justify-content:center;gap:1.6rem;position:fixed;inset:0}.site-header.is-open .nav{opacity:1;visibility:visible;pointer-events:auto}.nav a{letter-spacing:.2em;font-size:1.15rem}.about-grid,.access-grid,.contact-inner{grid-template-columns:1fr;display:grid}.hero-facts{grid-template-columns:1fr}.hero-facts li{border-right:0;border-bottom:1px solid var(--line);padding:.85rem 0}.hero-facts li:last-child{border-bottom:0}.about-visual{aspect-ratio:16/11}.stats{grid-template-columns:1fr}.sticky-phone{z-index:35;background:var(--platinum);min-height:56px;color:var(--bg);letter-spacing:.16em;justify-content:center;align-items:center;gap:.5rem;font-size:.82rem;display:flex;position:fixed;bottom:0;left:0;right:0}.site-footer{padding-bottom:6.5rem}}@media (width<=640px){.service-grid,.inventory-grid{grid-template-columns:1fr}.inv-card,.inv-card.is-wide,.inv-card.is-tall{aspect-ratio:5/4;grid-column:auto;min-height:0}.footer-inner{grid-template-columns:1fr}.hero-title,.section-title,.contact-title{max-width:100%;font-size:clamp(1.65rem,7.2vw,2.15rem)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.inv-card:hover img{transform:none}}
