:root{--bg:#d6d9e0;--fg:#15171c;--muted:#5b5f6b;--line:#15171c29;--line-strong:#15171c5c;--panel:#15171c;--panel-fg:#f4f5f8;--paper:#ffffff8c;--font-en:var(--font-inter), -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-jp:var(--font-zen-kaku), "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;--font-mono:var(--font-plex-mono), ui-monospace, SFMono-Regular, Menlo, monospace;--text-eyebrow:12px;--text-small:13px;--text-body:16px;--text-lead:clamp(17px, 1.3vw, 20px);--text-h3:clamp(20px, 1.7vw, 26px);--text-h2:clamp(36px, 5.6vw, 84px);--text-hero:clamp(32px, 4.4vw, 68px);--text-display-en:clamp(44px, 7vw, 116px);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--section:clamp(96px, 11vw, 176px);--page-max:1400px;--gutter:clamp(20px, 4vw, 72px);--header-h:88px;--radius:28px;--radius-sm:12px;--ease-out:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color:var(--fg);font-family:var(--font-en), var(--font-jp);-webkit-font-smoothing:antialiased;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{font-size:var(--text-body);letter-spacing:.005em;font-feature-settings:"palt";margin:0;font-weight:400;line-height:1.8;overflow-x:hidden}h1,h2,h3,p,dl,dd,ul,figure{margin:0}ul{padding:0;list-style:none}a{color:inherit}::selection{background:var(--fg);color:var(--bg)}:focus-visible{outline:2px solid var(--fg);outline-offset:3px;border-radius:4px}:lang(ja){font-family:var(--font-jp)}.en{font-family:var(--font-en)}.t-eyebrow{font-family:var(--font-en);font-size:var(--text-eyebrow);letter-spacing:.1em;text-transform:uppercase;color:var(--fg);font-weight:600;line-height:1.5}.t-mono{font-family:var(--font-mono);font-size:var(--text-eyebrow);letter-spacing:.04em;color:var(--muted)}.t-small{font-size:var(--text-small);line-height:1.7}.t-caps{font-family:var(--font-en);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:500;line-height:1.6}.t-body{font-size:var(--text-body);line-height:1.8}.t-lead{font-size:var(--text-lead);line-height:1.7}.t-h3{font-size:var(--text-h3);font-weight:700;line-height:1.4}.t-h2{font-size:var(--text-h2);letter-spacing:-.03em;font-weight:700;line-height:1.02}.t-hero{font-size:var(--text-hero);letter-spacing:-.02em;font-weight:700;line-height:1.12}.t-display-en{font-family:var(--font-en);font-size:var(--text-display-en);letter-spacing:-.045em;font-weight:700;line-height:.98}.muted{color:var(--muted)}.container{width:100%;max-width:var(--page-max);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section)}.hairline-top{border-top:1px solid var(--line)}.grid{column-gap:var(--space-6);row-gap:var(--space-8);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.center{text-align:center;margin-inline:auto}.panel{background:var(--panel);color:var(--panel-fg);border-radius:var(--radius)}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .35s var(--ease-out), transform .35s var(--ease-out);position:relative}@media (hover:hover){.card:hover{border-color:var(--line-strong);transform:translateY(-2px)}}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:48px;padding:0 var(--space-6);letter-spacing:.01em;white-space:nowrap;transition:background .25s var(--ease-out), border-color .25s var(--ease-out), color .25s var(--ease-out), transform .25s var(--ease-out);border-radius:999px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--fg);color:#fff}.btn-primary:hover{background:#2a2a30}.btn-ghost{border:1px solid var(--line-strong);color:var(--fg)}.btn-ghost:hover{border-color:var(--fg)}.btn-sm{height:40px;padding:0 var(--space-4);font-size:13px}.link{color:var(--fg);align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.link:after{content:"→";font-family:var(--font-en);transition:transform .3s var(--ease-out)}.link:hover:after{transform:translate(4px)}.link-muted{color:var(--muted);font-weight:400}.link-muted:hover{color:var(--fg)}.rows{border-top:1px solid var(--line)}.row{column-gap:var(--space-6);row-gap:var(--space-3);padding-block:var(--space-8);border-bottom:1px solid var(--line);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.row-services{margin:var(--space-4) 0 0;flex-wrap:wrap;gap:.25em .6em;padding:0;list-style:none;display:flex}.row-services li+li:before{content:"/";color:var(--muted);margin-right:.6em}.row-num[id]{scroll-margin-top:calc(var(--header-h) + var(--space-6,24px))}.row-num,.row-title{grid-column:span 12}.row-body{grid-column:span 12;max-width:34em}@media (min-width:900px){.row-num{grid-column:span 1;padding-top:.6em}.row-title{grid-column:span 6}.row-body{grid-column:8/span 5;padding-top:.4em}}.head{gap:var(--space-6);grid-template-columns:minmax(0,1fr);align-items:end;display:grid}@media (min-width:900px){.head{grid-template-columns:minmax(0,9fr) minmax(0,3fr)}.head>:last-child{justify-self:end;max-width:24em}}.page-head{padding-top:calc(var(--header-h) + var(--section) * .6)}.nowrap{white-space:normal}@media (min-width:900px){.nowrap{white-space:nowrap}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}main,footer{z-index:1;position:relative}.hud{z-index:30;pointer-events:none;padding:var(--gutter);grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}.hud>*{justify-content:space-between;align-items:end;gap:var(--space-4);display:flex}.hud>:first-child{align-items:start}.sound{pointer-events:auto;border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);height:36px;color:var(--fg);font-family:var(--font-en);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#ffffff59;border-radius:999px;align-items:center;gap:10px;padding:0 14px;font-size:11px;display:inline-flex}.sound-bars{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.sound-bars i{background:currentColor;border-radius:1px;width:2px;height:4px;display:block}.sound-bars[data-on=true] i{animation:.9s ease-in-out infinite bars}.sound-bars[data-on=true] i:nth-child(2){animation-delay:.15s}.sound-bars[data-on=true] i:nth-child(3){animation-delay:.3s}.sound-bars[data-on=true] i:nth-child(4){animation-delay:.45s}@keyframes bars{0%,to{height:4px}50%{height:12px}}
