@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap');:root{--navy:#102f48;--mint:#17a68d;--pale:#eaf8f3;--text:#203443;--muted:#617789}*{box-sizing:border-box}body{margin:0;font-family:'Noto Sans JP',system-ui,sans-serif;color:var(--text);line-height:1.9;background:#f8fbfc}a{color:#087b72}img{max-width:100%;display:block}header{background:#fff;border-bottom:1px solid #e5edf0;position:sticky;top:0;z-index:5}header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}.brand{font-weight:800;color:var(--navy);text-decoration:none;font-size:20px}nav{display:flex;gap:19px;flex-wrap:wrap}nav a{font-size:13px;text-decoration:none;color:#25465a}nav a:hover{color:var(--mint)}.wrap{max-width:1120px;margin:auto;padding:0 24px}.hero{background:linear-gradient(115deg,#e7f7f1,#fff);padding:65px 0}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.hero h1{font-size:clamp(31px,3.4vw,49px);line-height:1.42;color:var(--navy);margin:10px 0 20px}.eyebrow{font-size:13px;letter-spacing:.08em;color:#098b7a;font-weight:800}.hero p{font-size:16px}.hero img{border-radius:22px;box-shadow:0 16px 40px #16465a1a;aspect-ratio:16/10;object-fit:cover;object-position:right}.btn{display:inline-block;background:#087d71;color:white;text-decoration:none;border-radius:100px;padding:12px 26px;font-weight:700;margin-top:15px}.btn:hover{background:#075f57}.section{padding:58px 0}.section h2,.article h2{font-size:27px;color:var(--navy);line-height:1.5;border-left:5px solid var(--mint);padding-left:15px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:white;border:1px solid #e3eaee;border-radius:17px;overflow:hidden;box-shadow:0 6px 20px #12314c09}.card img{width:100%;aspect-ratio:720/440;object-fit:cover}.card .inner{padding:20px}.card h3{margin:0 0 10px;font-size:19px;line-height:1.5}.card h3 a{color:var(--navy);text-decoration:none}.card p{font-size:14px;color:#506575}.tag{font-size:12px;color:#087d71;font-weight:800}.intro{background:#edf7f5;padding:24px;border-radius:14px}.article-shell{display:grid;grid-template-columns:minmax(0,760px) 260px;gap:42px;align-items:start;padding-top:48px;padding-bottom:80px}.article{background:white;border:1px solid #e6edf0;border-radius:18px;padding:38px}.article h1{font-size:clamp(26px,3vw,37px);line-height:1.55;color:var(--navy);margin:10px 0 18px}.article h2{font-size:23px;margin-top:48px}.article p{font-size:15px}.article .cover{border-radius:14px;width:100%;margin:25px 0}.toc{background:#f1f8f7;padding:20px 25px;border-radius:14px}.toc a{display:block;margin:6px 0}.note{background:#fff8e9;border-left:4px solid #d6a34b;padding:15px;margin:20px 0;font-size:14px}.side{position:sticky;top:95px}.sidebox{background:white;border:1px solid #e3eaee;border-radius:14px;padding:22px;margin-bottom:18px}.sidebox a{display:block;margin:10px 0;font-size:14px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px;background:white}th,td{border:1px solid #dbe6e8;padding:13px;text-align:left;vertical-align:top}th{background:#e7f4f1;color:var(--navy)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step{padding:24px;border-radius:14px;background:white;border:1px solid #dce8e8}.step strong{font-size:26px;color:#078d7c}footer{background:#102f48;color:#d6e8eb;padding:42px 0;font-size:13px}footer a{color:#d6e8eb;margin-right:14px}.small{font-size:12px;color:var(--muted)}.source{font-size:13px;border-top:1px solid #e4eaed;padding-top:20px;margin-top:38px}.related{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.related a{background:#edf7f5;padding:15px;border-radius:12px;text-decoration:none;font-weight:700}details{padding:15px 0;border-bottom:1px solid #e1e8ea}summary{font-weight:700;cursor:pointer}@media(max-width:850px){.hero-grid,.article-shell{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}.side{position:static}header .wrap{display:block}nav{margin-top:9px;gap:12px}.article{padding:24px}}@media(max-width:560px){.grid,.steps,.related{grid-template-columns:1fr}.hero{padding:38px 0}.wrap{padding:0 16px}.section{padding:35px 0}.article-shell{padding-top:20px}.article{padding:20px}.hero h1{font-size:30px}nav a{font-size:12px}}