:root{
  --bg:#0b1020;--card:#0f172a;--text:#e5e7eb;--muted:#9ca3af;--primary:#0ea5e9;
  --ring:rgba(14,165,233,.35);--radius:14px;--shadow:0 8px 24px rgba(0,0,0,.35);
  --maxw:1080px;
}
*,*::before,*::after{box-sizing:border-box;}
html,body{height:100%;}
body{
  margin:0;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic UI","Meiryo",sans-serif;
  line-height:1.7;color:var(--text);
  background:radial-gradient(1200px 600px at 10% -10%,rgba(14,165,233,.12),transparent 60%),
             radial-gradient(1000px 700px at 110% 0%,rgba(99,102,241,.12),transparent 60%),
             var(--bg);
}
a{color:var(--primary);text-decoration:none;}
a:hover{text-decoration:underline;}
.container{width:min(100% - 32px,var(--maxw));margin-inline:auto;}
header{position:sticky;top:0;z-index:50;backdrop-filter:blur(8px);
  background:color-mix(in oklab,var(--bg) 80%,transparent);
  border-bottom:1px solid rgba(255,255,255,.06);}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.04em;}
.brand-mark{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--primary),#60a5fa);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.22);}
.nav a{color:var(--text);opacity:.9;}
.links{display:flex;gap:18px;flex-wrap:wrap;}
.hero{padding:72px 0 36px;text-align:center;}
.hero h1{font-size:clamp(28px,5vw,44px);margin:0 0 12px;}
.hero p{color:var(--muted);margin:0 auto;max-width:60ch;}
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:var(--radius);
  background:color-mix(in oklab,var(--primary) 85%,#fff 0%);color:#001018;font-weight:700;
  border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow);}
.btn.secondary{background:transparent;color:var(--text);border:1px solid rgba(255,255,255,.18);}
section{padding:48px 0;}
h2{font-size:clamp(22px,3.5vw,30px);margin:0 0 18px;}
.lead{color:var(--muted);margin-top:-6px;}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;}
.card{grid-column:span 12;background:color-mix(in oklab,var(--card) 92%,transparent);
  border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);}
@media(min-width:700px){.card.s6{grid-column:span 6;}.card.s4{grid-column:span 4;}}
footer{border-top:1px solid rgba(255,255,255,.08);padding:28px 0 56px;color:var(--muted);font-size:.95rem;}
.notice{margin:12px 0;padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,.16);
  background:color-mix(in oklab,var(--card) 85%,transparent)}
input,textarea{background:#0b1228;color:var(--text);}