.column-intro{padding:88px 0;background:#fff}
.column-intro-grid{display:grid;grid-template-columns:.36fr 1fr;gap:72px}
.column-intro h2{font-size:clamp(32px,4.5vw,54px);line-height:1.4;margin:0 0 22px}
.column-intro p{max-width:760px;margin:0;color:#425d70}
.article-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.article-card{display:flex;flex-direction:column;min-height:330px;padding:30px;background:#fff;border:1px solid var(--line);transition:.25s}
.article-card:hover{transform:translateY(-3px);border-color:#7896aa;box-shadow:0 18px 38px rgba(16,38,58,.08)}
.article-card .category{font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:800;color:#6f8ca1}
.article-card h2,.article-card h3{font-size:24px;line-height:1.55;margin:18px 0 15px;color:#173d5c}
.article-card p{margin:0;color:#526979;font-size:14px}
.article-card .meta{margin-top:auto;padding-top:24px;font-size:11px;color:#78909f}
.article-card .read{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;font-weight:700;color:#173d5c}
.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.policy-item{background:#fff;padding:30px}
.policy-item b{display:block;font-family:Georgia,"Yu Mincho",serif;font-size:21px;font-weight:500;color:#173d5c;margin-bottom:10px}
.policy-item p{font-size:13px;color:#526979;margin:0}
.article-hero{padding-bottom:72px}
.article-hero h1{font-size:clamp(36px,5.7vw,66px);line-height:1.35;max-width:1020px}
.article-meta{display:flex;gap:14px 28px;flex-wrap:wrap;margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);font-size:12px;color:#a9becb}
.article-layout{display:grid;grid-template-columns:minmax(0,760px) 260px;gap:72px;align-items:start;padding:88px 0}
.article-body{font-size:16px;color:#314b60}
.article-body .lead{font-size:18px;line-height:2;color:#243f53;margin:0 0 34px}
.article-body h2{font-size:32px;line-height:1.5;color:#173d5c;margin:62px 0 20px;padding-top:4px}
.article-body h3{font-size:22px;line-height:1.55;color:#173d5c;margin:38px 0 14px}
.article-body p{margin:0 0 20px}
.article-body ul,.article-body ol{margin:0 0 24px;padding-left:1.4em}
.article-body li{margin:8px 0}
.summary-box,.notice-box,.source-box{padding:26px 28px;margin:30px 0;background:#e8eef2;border-left:3px solid #6d8ca1}
.summary-box b,.notice-box b,.source-box b{display:block;color:#173d5c;margin-bottom:9px}
.summary-box ul,.notice-box p,.source-box ul{margin-bottom:0}
.check-table{width:100%;border-collapse:collapse;margin:26px 0 34px;background:#fff;font-size:14px}
.check-table th,.check-table td{padding:15px 16px;border:1px solid var(--line);text-align:left;vertical-align:top}
.check-table th{width:31%;background:#e8eef2;color:#173d5c}
.source-box{font-size:13px;background:#f7f9fa;border-left-color:#9d895e}
.source-box a{text-decoration:underline;text-underline-offset:3px}
.article-side{position:sticky;top:104px}
.side-box{padding:24px;background:#e8eef2;border:1px solid var(--line);margin-bottom:16px}
.side-box .label{font-size:9px;letter-spacing:.2em;text-transform:uppercase;font-weight:800;color:#6f8ca1;margin-bottom:13px}
.side-box p{font-size:13px;color:#526979;margin:0}
.side-links{border-top:1px solid var(--line)}
.side-links a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;color:#173d5c}
.article-footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:54px;padding-top:28px;border-top:1px solid var(--line)}
.article-footer-nav a{display:flex;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--line);background:#fff;font-size:13px;color:#173d5c}
@media(max-width:900px){.article-list,.policy-grid{grid-template-columns:1fr}.article-layout{grid-template-columns:1fr}.article-side{position:static}.column-intro-grid{grid-template-columns:1fr;gap:24px}}
@media(max-width:620px){.column-intro,.article-layout{padding:68px 0}.article-card{min-height:0}.article-body{font-size:15px}.article-body .lead{font-size:16px}.article-body h2{font-size:27px;margin-top:48px}.article-body h3{font-size:20px}.summary-box,.notice-box,.source-box{padding:21px}.check-table,.check-table tbody,.check-table tr,.check-table th,.check-table td{display:block;width:100%}.check-table th{border-bottom:0}.article-footer-nav{grid-template-columns:1fr}}
