:root{--navy:#0b2440;--navy2:#153a66;--gold:#c9a227;--ink:#1f2933;--mute:#5b6770;--line:#e5e8ec;--bg:#fff;--bg2:#f6f8fb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Meiryo,sans-serif;line-height:1.85}a{color:var(--navy2);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}header.site{border-bottom:1px solid var(--line);z-index:10;background:#fff;position:sticky;top:0}header.site .wrap{justify-content:space-between;align-items:center;height:64px;display:flex}.brand{color:var(--navy);letter-spacing:.02em;align-items:center;gap:10px;font-size:17px;font-weight:700;display:flex}.brand .mark{background:linear-gradient(135deg,var(--navy),var(--navy2));border-radius:6px;width:28px;height:28px;position:relative}.brand .mark:after{content:"";border:1.5px solid var(--gold);border-radius:50%;position:absolute;inset:9px}.brand small{color:var(--mute);font-size:11px;font-weight:500;display:block}nav.main a{color:var(--ink);margin-left:18px;font-size:14px}.hero{background:var(--navy);color:#fff;padding:56px 0 48px;position:relative;overflow:hidden}.hero:before{content:"";opacity:.35;background:url(./thumbs/hero.png) 50%/cover no-repeat;position:absolute;inset:0}.hero .wrap{position:relative}.hero h1{letter-spacing:.02em;margin:0 0 10px;font-size:30px}.hero p{color:#d8dee8;max-width:640px;margin:0}.hero .gold{background:var(--gold);width:56px;height:2px;margin:18px 0 0;display:inline-block}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;margin:32px 0;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:10px;transition:box-shadow .2s;overflow:hidden}.card:hover{box-shadow:0 8px 24px #0b24401a}.card img{aspect-ratio:1200/630;object-fit:cover;background:var(--navy);width:100%;display:block}.card .body{padding:16px 18px 18px}.card .meta{color:var(--mute);align-items:center;gap:10px;font-size:12px;display:flex}.card h3{color:var(--navy);margin:8px 0 6px;font-size:17px;line-height:1.5}.card h3 a{color:inherit}.card p{color:var(--mute);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13.5px;display:-webkit-box;overflow:hidden}.badge{border:1px solid var(--gold);color:var(--navy);background:#fff;border-radius:999px;padding:2px 8px;font-size:11px;display:inline-block}.badge.pillar{background:var(--navy);color:#fff;border-color:var(--navy)}.section-title{color:var(--navy);border-left:4px solid var(--gold);margin:40px 0 8px;padding-left:12px;font-size:20px}article.post{max-width:760px;margin:0 auto;padding:32px 20px 64px}article.post .thumb{aspect-ratio:1200/630;object-fit:cover;background:var(--navy);border-radius:10px;width:100%;display:block}article.post h1{color:var(--navy);margin:20px 0 8px;font-size:28px;line-height:1.45}article.post .meta{color:var(--mute);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;font-size:13px;display:flex}.disclosure{color:var(--mute);background:var(--bg2);border:1px solid var(--line);border-radius:6px;margin:0 0 24px;padding:8px 12px;font-size:12.5px}.prose h2{color:var(--navy);border-bottom:2px solid var(--line);margin:40px 0 12px;padding-bottom:8px;font-size:21px;position:relative}.prose h2:after{content:"";background:var(--gold);width:64px;height:2px;position:absolute;bottom:-2px;left:0}.prose h3{color:var(--navy2);margin:28px 0 8px;font-size:17px}.prose p{margin:0 0 18px}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin:4px 0}.prose table{border-collapse:collapse;width:100%;margin:16px 0 24px;font-size:14px;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 10px}.prose th{background:var(--bg2);color:var(--navy);white-space:nowrap}.prose strong{color:var(--navy)}.prose a.aff{border-bottom:1px dotted var(--gold)}.prose blockquote{border-left:3px solid var(--gold);background:var(--bg2);color:var(--mute);margin:16px 0;padding:8px 16px}.cta{border:1px solid var(--line);border-top:3px solid var(--gold);background:var(--bg2);border-radius:10px;margin:48px 0 0;padding:28px}.cta h2{color:var(--navy);margin:0 0 8px;font-size:18px}.cta p{color:var(--mute);margin:0 0 14px;font-size:14.5px}.btn{background:var(--navy);color:#fff;border-radius:6px;padding:10px 22px;font-size:14px;font-weight:700;display:inline-block}.btn:hover{background:var(--navy2);text-decoration:none}.author{border:1px solid var(--line);border-radius:10px;gap:14px;margin-top:32px;padding:18px;font-size:13.5px;display:flex}.author .av{background:linear-gradient(135deg,var(--navy),var(--navy2));border-radius:50%;flex:none;width:56px;height:56px;position:relative}.author .av:after{content:"";border:1.5px solid var(--gold);border-radius:50%;position:absolute;inset:18px}.author b{color:var(--navy)}footer.site{border-top:1px solid var(--line);color:var(--mute);margin-top:48px;padding:28px 0 40px;font-size:13px}footer.site .wrap{flex-wrap:wrap;justify-content:space-between;gap:12px 24px;display:flex}footer.site a{color:var(--mute)}.cats{flex-wrap:wrap;gap:8px;margin:20px 0 0;display:flex}.cats a{border:1px solid var(--line);color:var(--navy);border-radius:999px;padding:5px 12px;font-size:13px}.cats a.on{background:var(--navy);color:#fff;border-color:var(--navy)}@media (width<=640px){header.site .wrap{height:56px}.brand{font-size:15px}nav.main a{margin-left:12px;font-size:13px}.hero{padding:36px 0 32px}.hero h1,article.post h1{font-size:22px}.prose h2{font-size:19px}}
