:root{--navy:#0b3158;--blue:#0d66a5;--ink:#17324d;--muted:#607387;--line:#dce5ec;--paper:#f5f8fb;--white:#fff}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);font-family:"Noto Sans JP",sans-serif;background:var(--white)}
a{color:inherit}
.site-header{min-height:76px;display:flex;align-items:center;gap:30px;padding:12px max(5vw,28px);border-bottom:1px solid var(--line);background:#fff}
.brand{margin-right:auto}.brand img{display:block;width:auto;height:44px;max-width:45vw;object-fit:contain}
.site-header nav{display:flex;align-items:center;gap:24px}.site-header nav a{text-decoration:none;font-size:14px;font-weight:700}
.header-cta{padding:11px 20px;border-radius:999px;background:var(--blue);color:#fff}
.hero{padding:86px max(6vw,28px);background:linear-gradient(135deg,#edf7fb 0%,#fff 62%);border-bottom:1px solid var(--line)}
.hero>div,.topics{width:min(1040px,100%);margin:auto}
.eyebrow{margin:0 0 14px;color:var(--blue);font-size:13px;font-weight:800;letter-spacing:.18em}
h1{margin:0 0 18px;font-size:clamp(2.8rem,7vw,5.2rem);line-height:1.05;letter-spacing:-.04em}
.hero p:last-child{max-width:680px;margin:0;color:var(--muted);font-size:18px;line-height:1.9}
.topics{padding:82px 24px 100px}.topics h2{margin:0 0 34px;font-size:32px}
.topics article{display:grid;grid-template-columns:120px 82px 1fr;gap:14px 24px;padding:30px 0;border-top:1px solid var(--line)}
.topics article:last-child{border-bottom:1px solid var(--line)}
.topics time{color:var(--muted);font-weight:700}.topics article>span{align-self:start;padding:4px 10px;border-radius:999px;color:var(--blue);background:#e8f4fb;text-align:center;font-size:12px;font-weight:800}
.topics h3{margin:0;font-size:21px}.topics article p{grid-column:3;margin:0;color:var(--muted);line-height:1.85}
footer{display:grid;grid-template-columns:1fr auto;gap:28px;padding:50px max(6vw,28px);background:var(--navy);color:#fff}
footer img{width:auto;height:40px;max-width:330px;filter:brightness(0) invert(1);object-fit:contain}
footer p,footer a{color:#bed0df;font-size:13px;line-height:1.8}footer nav{display:flex;gap:20px;align-items:start}footer nav a{text-decoration:none}.copyright{grid-column:1/-1;margin:0;padding-top:20px;border-top:1px solid rgba(255,255,255,.14)}
@media(max-width:720px){.site-header nav>a:not(.header-cta){display:none}.brand img{height:36px}.hero{padding:64px 22px}.topics{padding:60px 22px 80px}.topics article{grid-template-columns:1fr 74px}.topics h3,.topics article p{grid-column:1/-1}footer{grid-template-columns:1fr}footer nav{flex-direction:column;gap:4px}}
