@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap";:root{--ink:#17201f;--ink-strong:#101716;--muted:#566361;--muted-light:#76827f;--accent:#08736b;--accent-dark:#05584f;--line:#dbe2df;--line-dark:#c5d0cb;--soft:#f3f6f4;--paper:#ffffff;--inverse:#162b28;--bg:#ffffff;color-scheme:light;font-family:Inter,Noto Sans JP,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;min-width:320px;font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none;transition:color .16s ease,border-color .16s ease,background-color .16s ease}a:hover{color:var(--accent)}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{font:inherit}::selection{background:#c7e5dd;color:#112c28}.container{width:min(1160px,calc(100% - 64px));margin-inline:auto}.skip{position:absolute;left:-9999px;top:auto}.skip:focus{position:fixed;left:14px;top:14px;z-index:9;background:var(--paper);border:2px solid var(--accent);padding:10px 16px}.eyebrow,.micro-label{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.15em;line-height:1.6;text-transform:uppercase;color:var(--accent)}h1,h2,h3{font-weight:800;letter-spacing:-.045em;line-height:1.46;overflow-wrap:anywhere}h1{font-size:clamp(32px,4.5vw,58px);margin:20px 0}h2{font-size:clamp(25px,3vw,37px)}h3{font-size:20px}p{margin:0 0 1.2em}.eyeline{background:var(--ink-strong);color:#d9e5e0;border-bottom:1px solid #31423f}.eyeline-inner{min-height:31px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:10px;font-weight:700;letter-spacing:.115em;line-height:1.4}.eyeline-inner span{color:#9db1aa}.site-header{background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{min-height:78px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:inline-flex;align-items:center;gap:11px;line-height:1.15;flex-shrink:0}.brand:hover{color:var(--ink)}.brand-icon{display:grid;place-items:center;background:var(--ink-strong);color:#fff;width:43px;height:43px;border-radius:3px;font:800 15px/1 Inter,sans-serif;letter-spacing:-.08em;position:relative}.brand-icon:after{content:"";width:5px;height:5px;background:#77d2bf;position:absolute;bottom:5px;right:5px}.brand-name{font-size:18px;font-weight:800;letter-spacing:-.045em;white-space:nowrap}.brand small{display:block;color:var(--muted-light);font-size:10px;font-weight:700;letter-spacing:.15em;margin-top:5px}.site-header nav{display:flex;align-items:center;gap:28px;font-size:12px;font-weight:700;white-space:nowrap}.site-header nav a{padding:8px 0;border-bottom:2px solid transparent}.site-header nav a:hover{border-color:var(--accent)}.site-header nav a.nav-feature{background:var(--ink-strong);color:#fff;border:1px solid var(--ink-strong);padding:11px 16px;border-radius:3px}.site-header nav a.nav-feature:hover{background:var(--accent-dark);color:#fff;border-color:var(--accent-dark)}.hero{background:var(--soft);border-bottom:1px solid var(--line);padding:76px 0 65px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(28px,5vw,76px);align-items:center}.hero-content{min-width:0}.hero .hero-eyebrow{display:flex;align-items:center;gap:12px}.hero .hero-eyebrow:before{content:"";width:25px;height:2px;background:var(--accent)}.hero h1{font-size:clamp(38px,4.35vw,59px);line-height:1.42;letter-spacing:-.065em;margin:24px 0 22px;max-width:710px}.hero .lead{font-size:15px;line-height:2;max-width:570px;color:#485853}.hero-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;margin-top:23px;padding:12px 19px;min-height:49px;background:var(--ink-strong);color:#fff;border-radius:3px;font-size:12px;font-weight:800;letter-spacing:.015em}.hero-cta:hover{background:var(--accent-dark);color:#fff}.hero-cta span{font-size:19px;line-height:1}.hero-panel{background:var(--inverse);color:#fff;border-radius:4px;border-top:3px solid #2fb5a4;padding:26px 27px 10px;box-shadow:10px 12px #dce5e1}.hero-panel-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.hero-panel .micro-label{color:#9fd5c9}.hero-panel-note{font-size:10px;color:#a7bfb6}.hero-panel h2{font-size:20px;margin:4px 0 12px;letter-spacing:-.04em;color:#fff}.hero-panel-list{list-style:none;padding:0;margin:0}.hero-panel-list li{border-top:1px solid #47605a}.hero-panel-list a{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;gap:8px;align-items:center;padding:15px 0;color:#f4faf7}.hero-panel-list a:hover{color:#9de3d2}.hero-panel-list .number{font-size:11px;color:#90b6ab;font-weight:800;font-variant-numeric:tabular-nums}.hero-panel-list .label{font-size:13px;font-weight:700;line-height:1.6}.hero-panel-list .arrow{text-align:right;font-size:18px;line-height:1}.topic-strip{display:flex;gap:20px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:17px 0}.topic-strip strong{font-size:10px;letter-spacing:.12em;white-space:nowrap}.topic-strip a{font-size:12px;font-weight:700;padding:4px 0;border-bottom:1px solid var(--line-dark)}.topic-strip a:hover{border-color:var(--accent)}.section{padding:73px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:28px}.section-heading h2{font-size:clamp(27px,3.05vw,37px);margin:10px 0 0}.section-heading a{font-size:12px;font-weight:800;border-bottom:1px solid var(--accent);padding-bottom:4px;white-space:nowrap}.section-intro,.category-intro{font-size:14px;color:var(--muted);line-height:2;max-width:790px;margin:-9px 0 26px}.feature-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:16px}.feature-primary{display:flex;flex-direction:column;position:relative;min-height:370px;padding:33px 35px;color:#fff;background:var(--inverse);border:1px solid var(--inverse);border-radius:4px}.feature-primary:hover{background:#1e4540;color:#fff}.feature-primary:before{content:"01";position:absolute;right:24px;top:14px;font-size:93px;font-weight:800;letter-spacing:-.1em;line-height:1;color:#ffffff0b;pointer-events:none}.feature-primary .tag{color:#a5e2d2}.feature-primary h3{font-size:clamp(24px,2.9vw,35px);line-height:1.55;margin:40px 0 20px;max-width:460px}.feature-primary p{font-size:13px;color:#c9d9d2;max-width:440px}.feature-primary .more{margin-top:auto;color:#fff;border-top:1px solid #507069;display:flex;justify-content:space-between;align-items:center;padding-top:17px}.feature-stack{display:grid;grid-template-rows:1fr 1fr;gap:16px;min-width:0}.feature-secondary{display:flex;flex-direction:column;padding:25px 29px;background:var(--paper);border:1px solid var(--line);border-radius:4px;min-height:170px}.feature-secondary:hover,.guide-row:hover,.article-row:hover{background:#f2f8f5;border-color:#8aa89e;color:var(--ink)}.feature-secondary h3{font-size:18px;line-height:1.6;margin:12px 0;max-width:460px}.feature-secondary p{font-size:12px;color:var(--muted);margin:0 0 12px}.feature-secondary .more{font-size:12px;margin-top:auto}.tag{font-size:10px;letter-spacing:.08em;font-weight:800;color:var(--accent)}.more{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;font-weight:800;color:var(--accent)}.more .arrow{font-size:18px;line-height:1}.foundation-section{background:#f8faf9;border-top:1px solid var(--line)}.article-rows{border-top:1px solid var(--line-dark)}.article-row{display:grid;grid-template-columns:42px 118px minmax(0,1fr) 22px;align-items:start;gap:14px;padding:23px 18px;border-bottom:1px solid var(--line);border-left:2px solid transparent}.article-row:hover{border-left-color:var(--accent)}.article-row .index{font:700 11px/1.8 Inter,sans-serif;color:var(--muted-light);font-variant-numeric:tabular-nums}.article-row .category{font-size:11px;color:var(--accent);font-weight:800;padding-top:2px}.article-row h3{font-size:17px;line-height:1.55;margin:0 0 7px}.article-row p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.article-row .arrow{font-size:19px;line-height:1.5;text-align:right}.info-band{background:var(--ink-strong);color:#fff;padding:66px 0}.info-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:65px;align-items:start}.info-band .eyebrow{color:#8cd9c6}.info-band h2{font-size:clamp(26px,3vw,37px);margin:12px 0 18px}.info-band p{color:#c4d0cb;font-size:13px;line-height:2;max-width:510px}.info-points{list-style:none;margin:0;padding:0}.info-points li{border-top:1px solid #3b4a45;padding:17px 0;display:grid;grid-template-columns:24px 1fr;gap:14px;font-size:13px;font-weight:700}.info-points .index{color:#7ac9b5;font-size:11px}.text-link{display:inline-flex;gap:8px;font-weight:800;font-size:13px;text-decoration:underline;text-underline-offset:4px;color:var(--accent)}.info-band .text-link{color:#8cd9c6}.pagehead{border-bottom:1px solid var(--line);background:var(--soft);padding:58px 0 49px}.pagehead h1{font-size:clamp(32px,4vw,49px);margin:14px 0;max-width:960px}.pagehead p{font-size:14px;color:var(--muted);max-width:790px;line-height:1.9;margin:0}.breadcrumb{font-size:11px;color:var(--muted);font-weight:700;display:flex;gap:11px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.guide-directory{padding:38px 0 74px}.directory-title{font-size:26px;border-bottom:1px solid var(--line);padding:18px 0;margin:0}.directory-note{color:var(--muted);font-size:13px;margin:17px 0 25px}.guide-rows{border-top:1px solid var(--line-dark);margin-top:18px}.guide-row{display:grid;grid-template-columns:32px minmax(0,1fr) 24px;gap:17px;padding:24px 12px;border-bottom:1px solid var(--line);border-left:2px solid transparent}.guide-row:hover{border-left-color:var(--accent)}.guide-row .index{font-size:11px;font-weight:800;color:var(--muted-light);font-variant-numeric:tabular-nums;padding-top:3px}.guide-row h3{font-size:19px;margin:8px 0}.guide-row p{font-size:13px;color:var(--muted);margin:0}.guide-row .arrow{font-size:19px}.article-layout{display:grid;grid-template-columns:minmax(0,740px) minmax(200px,1fr);gap:54px;align-items:start;padding:43px 0 95px}.article{min-width:0;padding:0 0 15px}.article .intro{font-size:17px;line-height:2.05;font-weight:700;margin-bottom:24px}.article h2{font-size:25px;line-height:1.6;letter-spacing:-.045em;margin:46px 0 19px;padding-top:17px;border-top:1px solid var(--line)}.article p{font-size:14px;line-height:2.1;margin:0 0 18px}.article section{scroll-margin-top:24px}.section-counter{font-size:11px;color:var(--accent);font-weight:800;letter-spacing:.1em;margin-right:14px}.notice{background:var(--soft);border-left:3px solid var(--accent);padding:18px 21px;font-size:12px;line-height:1.9;margin:30px 0}.article-aside{border:1px solid var(--line);background:var(--soft);position:sticky;top:27px;align-self:start;padding:24px 25px;border-radius:3px}.article-aside strong{font-size:12px}.article-aside ol{padding-left:23px;font-size:12px;color:var(--muted);margin:12px 0 0}.article-aside li{padding:9px 0;border-bottom:1px solid var(--line);line-height:1.6}.article-aside li:last-child{border:0}.sources{margin:53px 0 34px;padding:22px 24px;background:var(--soft);border:1px solid var(--line);border-radius:3px}.sources h2{border:0;margin:0 0 12px;padding:0;font-size:18px}.sources ul{padding-left:20px;margin:0}.sources li{font-size:13px;line-height:1.8;overflow-wrap:anywhere;margin:8px 0}.sources a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.next-reading{border-top:1px solid var(--line);margin-top:42px;padding-top:28px}.next-reading .links{display:grid;gap:9px}.next-reading a{font-size:13px;font-weight:700;border-bottom:1px solid var(--line);padding:11px 0;display:flex;justify-content:space-between;gap:12px}.pagehead+.article-layout{margin-top:0}.article-layout .article>h2:first-child{margin-top:0;border:0;padding:0}.article-layout .article a.text-link{margin-top:12px}.site-footer{background:var(--ink-strong);color:#eef4f1;padding:54px 0 18px;border-top:3px solid var(--accent)}.footer-grid{display:grid;grid-template-columns:1.5fr .8fr 1fr;gap:55px}.footer-grid strong{font-size:18px}.footer-grid p{font-size:12px;color:#acbcb5;margin-top:12px}.footer-grid nav{display:flex;flex-direction:column;gap:12px;font-size:12px;font-weight:700}.footer-note{font-size:12px;color:#acbcb5;line-height:2}.copyright{margin-top:42px;padding-top:15px;border-top:1px solid #354640;color:#92a59b;font-size:11px}@media(max-width:1040px){.container{width:min(100% - 48px,1160px)}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.85fr);gap:26px}.hero h1{font-size:clamp(35px,4.3vw,52px)}.feature-primary{padding:29px}.article-layout{gap:30px;grid-template-columns:minmax(0,1fr) 230px}}@media(max-width:760px){.container{width:min(100% - 34px,1160px)}.eyeline-inner{font-size:9px}.eyeline-inner span{display:none}.header-inner{min-height:70px;gap:12px}.brand-icon{width:36px;height:36px;font-size:13px}.brand-name{font-size:15px}.brand small{font-size:8px}.site-header nav{gap:12px;font-size:11px}.site-header nav a.nav-feature{padding:8px 11px}.site-header nav a.nav-about{display:none}.hero{padding:49px 0 56px}.hero-grid{grid-template-columns:1fr;gap:34px}.hero h1{font-size:clamp(34px,7vw,48px)}.hero .lead{font-size:14px}.hero-panel{box-shadow:6px 7px #dce5e1}.topic-strip{gap:11px 17px}.section{padding:54px 0}.section-heading{align-items:end}.feature-grid{grid-template-columns:1fr}.feature-primary{min-height:315px}.feature-primary h3{font-size:clamp(24px,6vw,32px);margin-top:31px}.feature-stack{grid-template-rows:auto}.feature-secondary{min-height:160px}.article-row{grid-template-columns:30px minmax(0,1fr) 17px;padding:20px 6px;gap:10px}.article-row .category{grid-column:2;grid-row:1;font-size:10px}.article-row .index{grid-column:1;grid-row:1/3}.article-row .row-body{grid-column:2;grid-row:2}.article-row .arrow{grid-column:3;grid-row:2}.info-layout{grid-template-columns:1fr;gap:18px}.pagehead{padding:42px 0 38px}.pagehead h1{font-size:clamp(31px,6.2vw,42px)}.article-layout{display:flex;flex-direction:column;gap:24px;padding:26px 0 65px}.article-aside{position:static;width:100%;order:-1}.article{width:100%}.article .intro{font-size:16px}.article h2{font-size:23px}.guide-directory{padding:28px 0 64px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-note{grid-column:1/-1}}@media(max-width:390px){.header-inner{gap:8px}.brand-name{font-size:14px}.site-header nav{font-size:10px;gap:9px}.hero h1{font-size:33px}.section-heading h2{font-size:26px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a{transition:none}}.brand-name{font-family:Inter,Noto Sans JP,sans-serif;letter-spacing:-.035em}.brand small{letter-spacing:.015em;font-family:Noto Sans JP,sans-serif;font-size:10px;white-space:normal;line-height:1.4}.hero h1.hero-site-title{font-family:Inter,Noto Sans JP,sans-serif;font-size:clamp(35px,4.1vw,55px);letter-spacing:-.06em;line-height:1.13;margin:23px 0 20px;overflow-wrap:normal;word-break:normal}.hero-statement{font-family:Noto Sans JP,sans-serif;font-size:clamp(23px,2.2vw,31px);font-weight:700;line-height:1.58;letter-spacing:-.055em;margin:0 0 18px;color:var(--ink-strong)}@media(max-width:760px){.hero h1.hero-site-title{font-size:clamp(31px,7.2vw,46px);letter-spacing:-.06em;line-height:1.16}.hero-statement{font-size:clamp(21px,5.2vw,27px)}.brand small{font-size:9px;letter-spacing:-.04em}.brand-name{font-size:14px}.site-header nav a.nav-feature{display:none}}
