:root{--ivory:#f7f3ec;--ivory-2:#eee9e1;--ivory-3:#e2ddd5;--ink:#16100e;--ink-2:#48403e;--ink-3:#817875;--rule:#cac2bd;--rule-2:#aaa39d;--bronze:#9a633b;--bronze-soft:#bc957b;--f-serif:var(--font-cormorant), "Cormorant Garamond", "Noto Serif JP", Georgia, serif;--f-jp:var(--font-noto-sans-jp), "Noto Sans JP", "Hiragino Sans", system-ui, sans-serif;--f-mono:var(--font-jetbrains), "JetBrains Mono", ui-monospace, Menlo, monospace;--edge:clamp(20px, 5vw, 88px)}@supports (color:lab(0% 0 0)){:root{--ivory:lab(95.9686% .580341 3.77278);--ivory-2:lab(92.4939% .705034 4.5331);--ivory-3:lab(88.4338% .706792 4.53427);--ink:lab(5.20766% 2.47986 2.10228);--ink-2:lab(28.0028% 3.13324 3.00279);--ink-3:lab(51.2037% 3.1158 2.9893);--rule:lab(79.0975% 2.03419 4.00186);--rule-2:lab(67.4972% 2.04015 4.00586);--bronze:lab(47.385% 20.0959 31.7282);--bronze-soft:lab(64.9716% 12.5444 19.7238)}}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--ivory);color:var(--ink);font-family:var(--f-jp);font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px;font-weight:300;line-height:1.8}a{color:inherit}.nav{z-index:40;padding:18px var(--edge);background:color-mix(in oklab, var(--ivory) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid color-mix(in oklab, var(--rule) 60%, transparent);grid-template-columns:auto 1fr auto;align-items:center;gap:24px;display:grid;position:sticky;top:0}.nav .brand{font-family:var(--f-serif);letter-spacing:.08em;color:var(--ink);align-items:baseline;gap:8px;font-size:26px;font-weight:500;text-decoration:none;display:flex}.nav .brand small{font-family:var(--f-mono);letter-spacing:.3em;color:var(--ink-2);text-transform:uppercase;font-size:9px;font-weight:400}.nav ul{justify-content:center;gap:28px;margin:0;padding:0;list-style:none;display:flex}.nav ul a{font-family:var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);font-size:11px;text-decoration:none;transition:color .2s}.nav ul a:hover{color:var(--ink)}.nav .right{font-family:var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);align-items:center;gap:16px;font-size:11px;display:flex}.nav .lang{gap:6px;display:flex}.nav .lang span.on{color:var(--ink);font-weight:500}.nav .contact-btn{border:1px solid var(--ink);color:var(--ink);border-radius:999px;padding:8px 16px;text-decoration:none;transition:background .2s,color .2s}.nav .contact-btn:hover{background:var(--ink);color:var(--ivory)}@media (max-width:1000px){.nav ul{display:none}}@media (max-width:640px){.nav .right .lang,.nav .right .sep{display:none}}section.block{padding:clamp(60px, 9vw, 140px) var(--edge);border-top:1px solid color-mix(in oklab, var(--rule) 50%, transparent)}section.block:first-of-type{border-top:none}.eyebrow{font-family:var(--f-mono);letter-spacing:.3em;color:var(--bronze);text-transform:uppercase;align-items:center;gap:10px;font-size:11px;display:inline-flex}.eyebrow:before{content:"";background:var(--bronze);width:28px;height:1px}h2.title{font-family:var(--f-serif);letter-spacing:-.01em;color:var(--ink);margin:16px 0 0;font-size:clamp(36px,5vw,64px);font-weight:400;line-height:1.1}h2.title .jp{font-family:var(--f-jp);letter-spacing:.08em;color:var(--ink-2);margin-top:8px;font-size:.52em;font-weight:300;display:block}.btn{font-family:var(--f-mono);letter-spacing:.25em;text-transform:uppercase;border:1px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;align-items:center;gap:14px;padding:14px 26px;font-size:11px;text-decoration:none;transition:background .3s,color .3s,transform .15s;display:inline-flex}.btn:hover,.btn-dark{background:var(--ink);color:var(--ivory)}.btn-dark:hover{background:var(--bronze);border-color:var(--bronze);color:var(--ivory)}.btn-ghost{border-color:var(--rule-2);color:var(--ink-2)}.btn-ghost:hover{color:var(--ink);border-color:var(--ink);background:0 0}.btn .arr{font-family:var(--f-mono);letter-spacing:0}.ct-form{box-sizing:border-box;width:100%;max-width:100%}.ct-form .field{min-width:0}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field>label{font-family:var(--f-mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-2);justify-content:space-between;align-items:baseline;gap:12px;font-size:10px;display:flex}.field>label .err{color:#cc272e;color:lab(45.7636% 63.3818 40.1799);text-transform:none;letter-spacing:0;font-size:11px}.field input,.field textarea,.field select{box-sizing:border-box;width:100%;font-family:var(--f-jp);border:1px solid var(--rule-2);background:var(--ivory);color:var(--ink);border-radius:0;outline:none;padding:14px 16px;font-size:15px;font-weight:400;line-height:1.6;transition:border-color .2s;display:block}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--ink)}.field.err input,.field.err textarea{border-color:#cc272e;border-color:lab(45.7636% 63.3818 40.1799)}.field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink-2) 50%), linear-gradient(135deg, var(--ink-2) 50%, transparent 50%);background-position:calc(100% - 18px),calc(100% - 12px);background-repeat:no-repeat;background-size:6px 6px;padding-right:40px}.field textarea{resize:vertical;min-height:160px}dl.info{grid-template-columns:180px 1fr;gap:0;margin:0;display:grid}dl.info dt,dl.info dd{border-bottom:1px solid var(--rule);margin:0;padding:18px 0}dl.info dt{font-family:var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);padding-right:20px;font-size:11px}dl.info dd{font-family:var(--f-jp);color:var(--ink);font-weight:400}@media (max-width:720px){dl.info{grid-template-columns:1fr}dl.info dt{border-bottom:none;padding:16px 0 4px}dl.info dd{padding-top:0}}.ph{background:repeating-linear-gradient(135deg, color-mix(in oklab, var(--ivory-3) 60%, transparent) 0 1px, transparent 1px 10px), linear-gradient(180deg, var(--ivory-2), var(--ivory-3));border:1px solid var(--rule);color:var(--ink-3);font-family:var(--f-mono);letter-spacing:.3em;text-transform:uppercase;place-items:center;font-size:10px;display:grid;position:relative}.ph:before,.ph:after{content:"";border:1px solid var(--ink-3);width:18px;height:18px;position:absolute}.ph:before{border-bottom:none;border-right:none;top:10px;left:10px}.ph:after{border-top:none;border-left:none;bottom:10px;right:10px}.ser-num{font-family:var(--f-serif);letter-spacing:.05em;color:var(--bronze);font-size:11px;font-style:italic;font-weight:400}footer.foot{background:var(--ink);color:var(--ivory);padding:clamp(50px, 6vw, 88px) var(--edge) 28px}footer.foot a{color:var(--ivory);text-decoration:none}footer.foot .row{border-bottom:1px solid color-mix(in oklab, var(--ivory) 20%, transparent);grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;display:grid}footer.foot h5{font-family:var(--f-mono);letter-spacing:.3em;text-transform:uppercase;color:color-mix(in oklab, var(--ivory) 65%, transparent);margin:0 0 18px;font-size:10px}footer.foot ul{margin:0;padding:0;list-style:none}footer.foot li{padding:5px 0;font-size:13px}footer.foot .base{font-family:var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:color-mix(in oklab, var(--ivory) 60%, transparent);justify-content:space-between;align-items:center;margin-top:24px;font-size:10px;display:flex}@media (max-width:900px){footer.foot .row{grid-template-columns:1fr 1fr}}@media (max-width:540px){footer.foot .row{grid-template-columns:1fr}footer.foot .base{flex-direction:column;align-items:flex-start;gap:12px}}.cap-serif{font-family:var(--f-serif);letter-spacing:-.005em;color:var(--ink);font-size:clamp(28px,3.4vw,44px);font-weight:400;line-height:1.3}.lede{color:var(--ink-2);max-width:62ch;font-size:clamp(15px,1.15vw,17px);line-height:2}.hr{background:var(--rule);border:0;height:1px;margin:48px 0}.reveal{opacity:0;transition:opacity .9s,transform .9s;transform:translateY(16px)}.reveal.in{opacity:1;transform:none}
