﻿:root{
  --bg:#ffffff; --fg:#0f172a; --muted:#475569; --line:#e2e8f0; --card:#ffffff;
  --accent:#111827; --link:#2563eb; --radius:16px; --shadow:0 1px 2px rgba(0,0,0,.05), 0 8px 24px rgba(0,0,0,.08);
}

body{margin:0;background:var(--bg);color:var(--fg);
.small{font-size:12px}
.container{max-width:900px;margin:0 auto;padding:0 20px}
.link{color:var(--link);text-underline-offset:3px}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:12px;border:1px solid var(--line);padding:8px 12px;background:var(--card);box-shadow:var(--shadow);text-decoration:none;color:inherit}
.btn.cta{background:var(--accent);color:#fff;border-color:transparent}

/* ===== ヘッダー ===== */
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in oklab, var(--bg) 82%, transparent);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.brand .en{font-size:12px;color:var(--muted)}
.brand .ja{font-weight:800}
.nav-links{display:flex;gap:20px;flex-wrap:wrap}
.nav-links a{color:inherit;text-decoration:none}


/* ===== フッター ===== */
.site-footer{border-top:1px solid var(--line);padding:24px 0;color:var(--muted);font-size:14px}
.footer-inner{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between}