:root{--bg: #05070f;--ink: #e8ecf6;--ink-dim: rgba(232, 236, 246, .62);--accent: #6f8cff;--accent-2: #9fd6ff;--line: rgba(232, 236, 246, .14);--font-en: "Outfit", "Helvetica Neue", Arial, sans-serif;--font-ja: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-ja);font-feature-settings:"palt";line-height:1.9;-webkit-font-smoothing:antialiased;overflow-x:hidden}#gl{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0;opacity:0;transition:opacity 1.4s ease}#gl.ready{opacity:1}.veil{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,#05070f00 40%,#05070fbf)}.header{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(20px,4vw,48px);mix-blend-mode:screen}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-family:var(--font-en);font-weight:600;letter-spacing:.18em}.brand img{filter:invert(1);opacity:.9}.nav{display:flex;gap:clamp(16px,2.4vw,36px)}.nav a{color:var(--ink-dim);text-decoration:none;font-family:var(--font-en);font-size:12px;letter-spacing:.22em;transition:color .3s}.nav a:hover{color:var(--ink)}main{position:relative;z-index:2}.sec{min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:120px clamp(20px,6vw,96px);position:relative}.inner{width:100%;max-width:1200px;margin:0 auto}.inner.right{display:flex;justify-content:flex-end}.inner.left>*{max-width:520px}.inner.center{text-align:center;max-width:640px}.inner.right,.inner.left{flex-wrap:wrap}.inner.right{flex-direction:column;align-items:flex-end}.inner.right>*{width:min(520px,100%)}.inner.left>*{width:min(520px,100%)}.shoulder,.eyebrow{font-family:var(--font-en);font-size:12px;letter-spacing:.3em;color:var(--accent);margin:0 0 18px}.title{font-family:var(--font-en);font-weight:300;font-size:clamp(56px,11vw,148px);line-height:.95;letter-spacing:-.01em;margin:0 0 28px;display:flex;flex-direction:column}.title span:nth-child(2){font-size:.42em;letter-spacing:.32em;color:var(--ink-dim);padding:.35em 0 .2em .1em}.lead-ja{font-size:clamp(18px,2.2vw,24px);font-weight:700;margin:0 0 12px}.read{color:var(--ink-dim);font-size:15px;max-width:520px;margin:0}.phrase{font-family:var(--font-en);font-weight:300;font-size:clamp(38px,5.4vw,72px);line-height:1.05;margin:0 0 16px}.phrase-ja{font-weight:700;font-size:18px;margin:0 0 16px}.h2-ja{font-size:clamp(28px,3.6vw,40px);font-weight:700;margin:0 0 36px}.hero .inner{max-width:1200px}.scroll-cue{position:absolute;left:clamp(20px,6vw,96px);bottom:36px;font-family:var(--font-en);font-size:11px;letter-spacing:.3em;color:var(--ink-dim);display:flex;align-items:center;gap:12px}.scroll-cue span{display:block;width:48px;height:1px;background:var(--ink-dim);transform-origin:left;animation:cue 2.2s ease-in-out infinite}@keyframes cue{0%{transform:scaleX(0);opacity:0}40%{transform:scaleX(1);opacity:1}to{transform:scaleX(1) translate(24px);opacity:0}}.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.card{background:#05070f8c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:32px 28px 36px;display:flex;flex-direction:column;gap:8px}.card .num{font-family:var(--font-en);font-size:12px;letter-spacing:.3em;color:var(--accent);margin:0 0 20px}.card h3{font-family:var(--font-en);font-weight:500;font-size:24px;margin:0}.card .tag{font-weight:700;margin:0}.card .desc{color:var(--ink-dim);font-size:14px;margin:0;flex:1}.card .more{font-family:var(--font-en);font-size:13px;letter-spacing:.12em;color:var(--accent-2);text-decoration:none;margin-top:16px}.table{margin:0;border-top:1px solid var(--line)}.table>div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}.table dt{color:var(--ink-dim)}.table dd{margin:0}.btn{display:inline-block;margin-top:36px;padding:18px 44px;border:1px solid rgba(232,236,246,.4);color:var(--ink);text-decoration:none;font-family:var(--font-en);font-size:13px;letter-spacing:.3em;transition:background .3s,color .3s}.btn:hover{background:var(--ink);color:var(--bg)}.contact{flex-direction:column;justify-content:center}.contact .inner.center{padding-top:30vh}.contact .inner.center>*{text-shadow:0 2px 28px rgba(5,7,15,.95),0 0 6px rgba(5,7,15,.8)}.footer{position:absolute;left:clamp(20px,6vw,96px);right:clamp(20px,6vw,96px);bottom:28px;display:flex;justify-content:space-between;font-family:var(--font-en);font-size:11px;letter-spacing:.24em;color:var(--ink-dim)}.footer p{margin:0}.inner>*{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s ease}.sec.in .inner>*{opacity:1;transform:none}.sec.in .inner>*:nth-child(2){transition-delay:.08s}.sec.in .inner>*:nth-child(3){transition-delay:.16s}.sec.in .inner>*:nth-child(4){transition-delay:.24s}.sec.in .inner>*:nth-child(5){transition-delay:.32s}@media (max-width: 720px){.header{padding:16px 20px}.brand span{display:none}.nav{gap:14px}.nav a{font-size:10px;letter-spacing:.16em}.hero{align-items:flex-end}.hero .title{font-size:clamp(52px,17vw,72px)}.scroll-cue{display:none}.sec{padding:100px 20px;align-items:flex-end}.inner.right{align-items:stretch}.footer{flex-direction:column;gap:4px;bottom:16px}.contact .inner.center{padding-top:36vh;padding-bottom:60px}.company .inner{padding-top:30vh}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.scroll-cue span{animation:none}.inner>*{transition:none;opacity:1;transform:none}}
