:root{--ink:#20242a;--muted:#66717d;--line:#dfe5eb;--soft:#f6f8fb;--blue:#1e4f8f;--blue-dark:#12355f;--blue-soft:#edf4fb;--green:#16704e;--green-soft:#edf8f3;--orange:#a85615;--orange-soft:#fff5eb;--red:#a53b3b;--red-soft:#fff0f0;--site:1120px;--article:860px}
#summary > .related-grid[hidden],#summary > h3[hidden]{display:none!important}
.nav-prototype-header{background:#fff;border-bottom:1px solid #c8d9e8;color:#12355f}.nav-brand{max-width:1240px;margin:auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.nav-brand a{font-size:25px;font-weight:800;text-decoration:none;color:#12355f}.nav-brand a span{display:block;font-size:12px;font-weight:500}.nav-brand small{font-size:13px}.nav-prototype-header nav{display:flex;justify-content:center;background:#f4f8fc;gap:20px;padding:0 16px}.nav-prototype-header nav a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:7px 20px;font-weight:700;text-decoration:none;color:#12355f;border-bottom:3px solid transparent}.nav-prototype-header nav a[aria-current]{border-color:#1e4f8f}.prototype-notice{font-size:12px;background:#fff8e9;color:#645238;padding:8px 20px;text-align:center}.nav-page-layout{width:min(1240px,100%);max-width:1240px!important;margin:auto!important;display:grid;grid-template-columns:minmax(0,1fr) 278px;gap:32px;padding:24px!important}.nav-page-layout>.article{width:100%!important;max-width:none!important;margin:0!important;min-width:0;padding:0!important}.nav-side{padding-top:30px;min-width:0}.nav-side section{padding:18px;background:#f7fafd;border:1px solid #dce6ef;border-radius:14px;margin-bottom:22px}.nav-side h2{font-size:18px;margin:4px 0 15px;padding:0;border:0;line-height:1.5;color:#12355f}.nav-eyebrow{font-size:12px;color:#52718c;letter-spacing:.06em;font-weight:700;margin:0 0 4px}.nav-story{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:start;text-decoration:none!important;color:#12355f!important;padding:12px 0;border-bottom:1px solid #dce6ef;min-height:72px}.nav-story:last-of-type{border-bottom:0}.nav-story strong{display:block;font-size:14px;line-height:1.5}.nav-story small{display:block;font-size:12px;line-height:1.6;color:#526a7e;margin-top:4px}.nav-thumb{display:block;width:100%;aspect-ratio:16/9;height:auto;overflow:hidden;border-radius:8px}.nav-side-note{font-size:11px;line-height:1.7;color:#627589;margin:14px 0 0}.nav-next{margin:36px 0 8px;padding:24px;background:#edf4fb;border:1px solid #c8d9e8;border-radius:16px}.nav-next h2{font-size:23px;color:#12355f;margin:4px 0 8px;border:0;padding:0}.nav-next>p:not(.nav-eyebrow){font-size:14px;margin:8px 0 12px}.nav-next>.nav-story{grid-template-columns:152px minmax(0,1fr);padding:18px;background:#fff;border:1px solid #c8d9e8;border-radius:12px}.nav-next>.nav-story strong{font-size:18px}.nav-next-secondary{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:12px}.nav-next-secondary .nav-story{grid-template-columns:74px minmax(0,1fr);border:0}.nav-prototype-header a:focus-visible,.nav-story:focus-visible{outline:3px solid #edb848;outline-offset:3px}.nav-story:hover strong{text-decoration:underline}.nav-side .nav-story{grid-template-columns:80px minmax(0,1fr)}
@media(max-width:1059px){.nav-page-layout{display:block;max-width:820px!important;padding:20px!important}.nav-side{display:none}}
@media(max-width:600px){.nav-brand{padding:10px 16px}.nav-brand a{font-size:21px}.nav-brand small{display:none}.nav-prototype-header nav{gap:0;padding:0 8px}.nav-prototype-header nav a{flex:1;min-width:0;padding:8px 3px;font-size:13px;white-space:normal;min-height:44px}.prototype-notice{font-size:10px;padding:6px 12px;text-align:left}.nav-page-layout{padding:14px!important}.nav-next{padding:16px;margin-top:26px}.nav-next h2{font-size:21px}.nav-next>.nav-story{grid-template-columns:84px minmax(0,1fr);padding:12px;gap:10px}.nav-next>.nav-story strong{font-size:16px}.nav-next-secondary{grid-template-columns:1fr;gap:0}.nav-next-secondary .nav-story{grid-template-columns:74px minmax(0,1fr)} }

*{box-sizing:border-box}.skip{position:absolute;left:12px;top:-60px;padding:8px 14px;background:white;z-index:10}.skip:focus{top:8px}html{color-scheme:only light;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:#20242a;background:#fff;line-height:1.82}body{margin:0;background:#fff;color:#20242a;color-scheme:only light}main,.hero,.section,.category-intro{background:#fff;color:#20242a}a{color:#1e4f8f}a:focus-visible{outline:3px solid #b77b00;outline-offset:4px}main{max-width:1120px;margin:auto;padding:30px 24px 54px}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:34px;line-height:1.45;margin:12px 0}h2{font-size:25px;line-height:1.5;margin:0 0 14px}h3{font-size:18px;line-height:1.65;margin:0 0 10px}.eyebrow{font-size:13px;color:#66717d;margin:0 0 4px}.hero{max-width:760px;margin:8px 0 26px}.hero p{font-size:16px;margin:10px 0}.hero h1 em{font-style:normal;color:#1e4f8f}.purpose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0 34px}.purpose{display:block;border:1px solid #dfe5eb;border-radius:14px;padding:19px;text-decoration:none;background:#edf4fb;color:#12355f}.purpose strong{font-size:21px;display:block}.purpose span{display:block;font-size:14px;margin:6px 0}.purpose b{font-size:13px}.section{margin-top:34px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.section-note{font-size:13px;color:#66717d;margin:0 0 18px}.article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.article-card{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:start;padding:14px;gap:14px;text-decoration:none;border:1px solid #dfe5eb;border-radius:13px;overflow:hidden;background:white;color:#20242a;min-width:0}.article-card:hover h3{text-decoration:underline}.article-card .nav-thumb{width:100%;aspect-ratio:16/9;border-radius:8px}.card-copy{padding:0;display:flex;flex-direction:column;flex:1}.card-copy h3{font-size:18px;line-height:1.55;margin:0 0 6px}.card-copy p{font-size:14px;color:#66717d;margin:0 0 7px}.card-copy .card-kicker{font-size:12px;font-weight:700;color:#365e80;margin:0 0 7px}.read-label{margin-top:auto;font-size:13px;font-weight:700}.about-box,.tool-box{padding:22px;background:#edf4fb;border-radius:14px;margin-top:30px;border:1px solid #dfe5eb}.about-box p,.tool-box p{margin:8px 0}.breadcrumb{font-size:13px;color:#66717d}.category-intro{max-width:800px;margin:16px 0 26px}.minor-topics{margin:26px 0;font-size:14px;border-left:3px solid #b8cee1;padding:0 15px}.minor-topics h2{font-size:18px;margin:0}.site-footer{padding:32px 24px;background:#fbfcfd;border-top:1px solid #dfe5eb}.footer-inner{max-width:1072px;margin:auto}.footer-grid{display:block}.footer-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:18px 0}.footer-links a{font-size:13px}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700}.logo small{display:block;font-weight:400;font-size:12px}.logo-mark{padding:4px 10px;border-radius:8px;color:white;background:#12355f}.footer-note{font-size:12px;color:#66717d;max-width:900px}.preview-note{padding:8px 20px;background:#fff6e5;font-size:12px;color:#655132}.nav-brand a{text-decoration:none}.nav-brand{max-width:1120px}.category-anchor{scroll-margin-top:20px}
@media(max-width:850px){.article-grid{grid-template-columns:1fr}.purpose strong{font-size:18px}.purpose{padding:15px}}
@media(max-width:600px){main{padding:20px 16px 36px}h1{font-size:27px}h2{font-size:22px}.hero{margin:0 0 18px}.hero p{font-size:15px}.purpose-grid{grid-template-columns:1fr;gap:9px;margin:18px 0 26px}.purpose{padding:12px 14px;display:grid;grid-template-columns:116px minmax(0,1fr);gap:0 10px;align-items:center}.purpose strong{font-size:17px;grid-row:1/3}.purpose span{font-size:13px;margin:0}.purpose b{font-size:12px}.article-grid{grid-template-columns:1fr;gap:13px}.article-card{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:start;padding:11px;gap:11px}.article-card .nav-thumb{border-radius:8px}.card-copy{padding:0}.card-copy h3{font-size:16px;line-height:1.65;margin-bottom:6px}.card-copy p{font-size:13px;margin-bottom:7px}.card-copy .card-kicker{font-size:11px;margin-bottom:4px}.section{margin-top:28px}.section-head{display:block}.about-box,.tool-box{padding:17px}.preview-note{font-size:11px}.footer-links{gap:10px 18px}}
@media(max-width:359px){.article-card{grid-template-columns:80px minmax(0,1fr);gap:10px}.purpose{grid-template-columns:103px minmax(0,1fr)}}

h1{font-size:clamp(30px,5vw,44px);line-height:1.35;letter-spacing:-.02em;color:var(--ink)}
.hero h1{font-size:clamp(34px,5vw,58px);line-height:1.28;letter-spacing:-.035em}
h2{font-size:clamp(23px,3vw,31px);line-height:1.45;padding-bottom:.38em;border-bottom:3px solid var(--blue);color:var(--ink)}
.eyebrow{display:inline-block;font-size:.82rem;font-weight:900;letter-spacing:.08em;color:var(--blue);background:var(--blue-soft);padding:6px 10px;border-radius:999px}
.hero p{color:#44515e}.purpose{color:var(--ink);border-color:var(--line)}.purpose b,.read-label{color:var(--blue);font-weight:900}
.article-card{border-radius:12px;border-color:var(--line);color:var(--ink)}.article-card h3{font-weight:700}.card-copy p{color:var(--muted)}
.nav-prototype-header{border-color:var(--line)}.nav-prototype-header nav{background:var(--blue-soft)}.nav-brand a{color:var(--ink);font-weight:900}.nav-brand a span{color:var(--muted);font-weight:700}
.logo{color:var(--ink);font-weight:900;font-size:1.2rem}.logo-mark{width:36px;height:36px;border-radius:10px;background:var(--blue);display:grid;place-items:center;font-size:19px;padding:0}.logo small{color:var(--muted);font-size:.66rem;font-weight:700;line-height:1.2}
.nav-brand a.logo{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:900;font-size:1.2rem;line-height:1.82}.nav-brand a.logo>span{display:block;font-size:inherit;font-weight:inherit;color:inherit}.nav-brand a.logo .logo-mark{width:36px;height:36px;flex:0 0 36px;border-radius:10px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:19px;padding:0}.nav-brand a.logo small{display:block;color:var(--muted);font-size:.66rem;font-weight:700;line-height:1.2}
.site-footer{background:#fbfcfd;border-color:var(--line)}.footer-links a{color:#56616d;text-decoration:none}.footer-note{color:var(--muted)}

/* Isolate directory design from legacy generic hero/section rules. */
.nav-directory-page .hero{padding:0;background:none}.nav-directory-page .section{padding:0}.nav-directory-page .article-card h3{border:0;padding:0}
