:root{--ink:#0b0b0c;--ink2:#1a1a1d;--bg:#fff;--bg2:#f7f7f8;--border:#eaeaea;--muted:#6b6b70;--accent:#1e3a70;--accent-soft:#eef2fb;--radius:14px;--max:760px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.9}a{color:var(--accent)}a:hover{text-decoration:underline}img{display:block;max-width:100%;height:auto;border-radius:10px}.nav{position:sticky;top:0;z-index:10;background:#ffffffe6;backdrop-filter:blur(12px);border-bottom:1px solid var(--border);height:64px;display:flex;align-items:center}.w{max-width:var(--max);margin:0 auto;padding:0 24px;width:100%}.nav .w{display:flex;align-items:center;justify-content:space-between;max-width:960px}.nav-brand img{height:38px;width:auto}.nav-links{display:flex;gap:20px;font-size:13px;font-weight:700}main{padding:48px 0 72px}.crumbs{font-size:12.5px;color:var(--muted);margin-bottom:20px}.crumbs a{color:var(--muted)}.sec-label{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}.sec-label:before{content:"";width:24px;height:1.5px;background:var(--accent);display:inline-block}h1{font-size:clamp(24px,4vw,34px);font-weight:900;letter-spacing:-.01em;line-height:1.35}.meta{font-size:13px;color:var(--muted);margin-top:14px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.tag{font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:3px 10px;border-radius:999px}.prose{margin-top:34px;font-size:16px;line-height:2;color:#26262b}.prose>p:first-of-type{font-size:16.5px;color:var(--ink2)}.prose h2{position:relative;font-size:clamp(20px,3vw,23px);font-weight:900;margin:48px 0 16px;line-height:1.5;padding-left:16px;letter-spacing:-.01em}.prose h2:before{content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:5px;border-radius:3px;background:linear-gradient(180deg,#1e3a70,#3b5ba5)}.prose h3{font-size:17.5px;font-weight:900;margin:32px 0 10px;color:var(--accent)}.prose p{margin:16px 0}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.prose strong{font-weight:700;color:var(--ink)}.prose ul{list-style:none;padding-left:0;margin:16px 0}.prose ul li{position:relative;padding-left:1.5em;margin:9px 0}.prose ul li:before{content:"";position:absolute;left:.25em;top:.85em;width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,#1e3a70,#3b5ba5)}.prose ol{margin:16px 0 16px 1.3em}.prose ol li{margin:9px 0;padding-left:.3em}.prose ol li::marker{color:var(--accent);font-weight:800}.prose blockquote{border-left:4px solid var(--accent);background:var(--accent-soft);padding:14px 20px;margin:22px 0;border-radius:0 12px 12px 0;color:var(--ink2)}.prose blockquote p{margin:6px 0}.prose code{background:var(--bg2);padding:2px 7px;border-radius:6px;font-size:14px;font-family:SFMono-Regular,Consolas,monospace;color:var(--accent2,#14264d)}.prose .table-wrap{margin:26px 0;border:1px solid var(--border);border-radius:14px;overflow:auto;-webkit-overflow-scrolling:touch;box-shadow:0 4px 14px #0000000a}.prose .table-wrap table{width:100%;border-collapse:collapse;margin:0;font-size:14.5px;min-width:min(520px,100%)}.prose thead th{background:linear-gradient(135deg,#1e3a70,#3b5ba5);color:#fff;font-weight:700;text-align:left;padding:14px 18px;white-space:nowrap;font-size:13.5px;letter-spacing:.02em}.prose tbody td{padding:13px 18px;border-top:1px solid var(--border);vertical-align:top;line-height:1.75}.prose tbody tr:nth-child(2n){background:var(--bg2)}.prose tbody tr:hover{background:var(--accent-soft)}.prose img{margin:24px auto;border:1px solid var(--border)}.prose hr{border:none;border-top:1px solid var(--border);margin:36px 0}.cta{margin:40px 0 8px;padding:24px;background:var(--accent-soft);border:1px solid rgba(30,58,112,.15);border-radius:var(--radius);text-align:center}.cta p{margin:0 0 14px;font-weight:700}.btn{display:inline-flex;align-items:center;gap:6px;font-weight:800;padding:13px 28px;border-radius:100px;background:linear-gradient(135deg,#1e3a70,#3b5ba5);color:#fff;font-size:15px}footer{border-top:1px solid var(--border);padding:28px 0;text-align:center;font-size:12.5px;color:var(--muted)}footer a{margin:0 10px;font-weight:600}@media(max-width:600px){.nav-links{display:none}main{padding:32px 0 56px}}
