*{box-sizing:border-box}body{margin:0;color:#172638;font:16px/1.9 system-ui,-apple-system,"Yu Gothic",Meiryo,sans-serif;background:#f5f8fc}a{color:#075f9b}a:hover{text-decoration:none}.wrap{max-width:1060px;margin:auto;padding:0 22px}.mast{background:#113b60;color:#fff}.mast a{color:white}.top{display:flex;gap:22px;justify-content:space-between;align-items:center;padding:18px 0}.brand{font-weight:800;font-size:1.13rem}.nav{display:flex;gap:16px;flex-wrap:wrap;font-size:.9rem}.hero{background:linear-gradient(118deg,#143d5b,#156f92);color:white;padding:36px 0 48px}.hero h1{max-width:950px;line-height:1.5;font-size:clamp(1.5rem,3vw,2.4rem)}.hero p{max-width:850px}.crumb{font-size:.85rem;opacity:.9}.layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:35px;padding-top:32px;padding-bottom:55px}.article,.sidebar>section,.cards a{background:white;border:1px solid #d7e3ed;border-radius:12px}.article{padding:clamp(18px,3vw,35px)}h2{line-height:1.55;color:#164b70;margin-top:40px;padding-bottom:7px;border-bottom:2px solid #dae7f0}h3{color:#21577a;line-height:1.5}p,li{overflow-wrap:anywhere}.lede{font-size:1.07rem}.toc{background:#f1f7fb;border:1px solid #d7e7f0;border-radius:10px;padding:12px 20px}.toc ol{margin-bottom:8px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.tag{background:#eaf3fa;color:#134f75;border-radius:50px;font-size:.85rem;padding:2px 11px}.sidebar{display:flex;flex-direction:column;gap:18px}.sidebar section{padding:18px}.sidebar h2{font-size:1.05rem;margin:0 0 10px}.sidebar a{display:block;margin:9px 0}.cta{background:#eaf5fc;border:1px solid #b2d5e9;padding:22px;border-radius:12px;margin-top:35px}.btn{background:#076a9e;color:#fff!important;padding:12px 22px;border-radius:8px;display:inline-block;font-weight:700}.small{font-size:.88rem;color:#486376}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cards a{text-decoration:none;padding:12px}.cards a:hover{border-color:#1e7eb0}footer{background:#123a57;color:white;padding:28px 0}footer a{color:#fff}@media(max-width:760px){.layout{grid-template-columns:1fr}.top{display:block}.nav{margin-top:12px}.cards{grid-template-columns:1fr}}