
:root{--ink:#172033;--muted:#647086;--line:#e2e8f0;--bg:#f7f9fc;--brand:#2457d6;--brand2:#173f9b;--soft:#edf3ff;--ok:#16794a;--warn:#b8610a;--max:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.8}a{color:var(--brand);text-decoration-thickness:1px;text-underline-offset:3px}img{max-width:100%;height:auto}.wrap{width:min(var(--max),calc(100% - 32px));margin:auto}.site-header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:30}.header-inner{display:flex;align-items:center;gap:20px;min-height:70px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:800;white-space:nowrap}.brand img{width:42px;height:42px;object-fit:contain;border-radius:10px}.nav{display:flex;gap:18px;margin-left:auto;font-size:14px}.nav a{color:#344054;text-decoration:none;font-weight:650}.nav a:hover{color:var(--brand)}.hero{background:linear-gradient(180deg,#f3f7ff 0,#fff 100%);padding:60px 0 40px}.hero-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:42px;align-items:center}.eyebrow{display:inline-block;color:var(--brand);font-weight:800;letter-spacing:.04em;font-size:13px;background:var(--soft);padding:6px 10px;border-radius:999px}.hero h1{font-size:clamp(32px,5vw,54px);line-height:1.22;margin:18px 0}.lead{font-size:18px;color:#46536a}.hero-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 14px 40px rgba(24,47,95,.08)}.hero-card img{display:block;margin:auto;max-height:220px;object-fit:contain}.trust{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.chip{font-size:13px;border:1px solid #cfd9ef;background:#fff;padding:5px 10px;border-radius:999px}.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:10px;text-decoration:none;font-weight:800;border:1px solid var(--brand)}.btn-primary{background:var(--brand);color:#fff}.btn-secondary{background:#fff;color:var(--brand)}.section{padding:46px 0}.section.alt{background:var(--bg)}.section h2{font-size:28px;line-height:1.35;margin:0 0 22px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:22px}.card h3{margin:0 0 8px;line-height:1.45}.card p{color:#566176}.card-link{display:block;text-decoration:none;color:inherit}.card-link:hover{border-color:#b9c8e8;box-shadow:0 10px 25px rgba(27,57,118,.06)}.callout{border-left:4px solid var(--brand);background:#f5f8ff;padding:15px 18px;border-radius:0 10px 10px 0}.article-shell{display:grid;grid-template-columns:minmax(0,760px) 280px;gap:42px;align-items:start;padding:42px 0 60px}.content h1{font-size:clamp(28px,4vw,40px);line-height:1.35;margin:0 0 20px}.content h2{font-size:26px;margin-top:2.1em;border-bottom:1px solid var(--line);padding-bottom:8px}.content h3{font-size:20px;margin-top:1.8em}.content p,.content li{font-size:16px}.content blockquote{margin:24px 0;border-left:4px solid var(--brand);background:#f7f9ff;padding:12px 18px;color:#43506a}.content pre{overflow:auto;background:#0f172a;color:#e2e8f0;padding:16px;border-radius:10px}.content table{border-collapse:collapse;width:100%}.content th,.content td{border:1px solid var(--line);padding:9px;text-align:left}.tocbox,.sidebox{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff}.sidebar{position:sticky;top:92px}.sidebox h3{margin-top:0}.sidebox a{display:block;margin:8px 0;text-decoration:none}.crumb{font-size:13px;color:var(--muted);margin-bottom:16px}.notice{font-size:14px;color:#596579;border:1px solid var(--line);border-radius:12px;background:#fafbfc;padding:13px 15px}.article-index{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.article-index a{border:1px solid var(--line);border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--ink);background:#fff}.article-index a:hover{border-color:#b7c7ea}.site-footer{border-top:1px solid var(--line);background:#f8fafc;padding:35px 0;color:#5b6577}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:28px}.footer-links a{display:block;color:#4c576b;text-decoration:none;margin:6px 0}.small{font-size:13px;color:var(--muted)}.pr-note{font-size:13px;background:#fff8e8;border:1px solid #f2d690;padding:9px 12px;border-radius:9px}.short-hub{max-width:620px;margin:40px auto 70px}.choice{display:block;border:1px solid var(--line);border-radius:16px;padding:18px;margin:12px 0;text-decoration:none;color:var(--ink);background:#fff}.choice strong{display:block;font-size:18px}.choice span{color:var(--muted);font-size:14px}.contact-box{border:1px solid var(--line);background:#fafbfc;border-radius:14px;padding:20px}.status-pill{display:inline-block;font-size:12px;color:#365; background:#eaf7ef;padding:4px 8px;border-radius:999px;font-weight:700}
@media(max-width:900px){.hero-grid,.article-shell,.footer-grid{grid-template-columns:1fr}.sidebar{position:static}.nav{display:none}.grid{grid-template-columns:1fr 1fr}.hero{padding-top:38px}.article-index{grid-template-columns:1fr}}
@media(max-width:620px){.wrap{width:min(100% - 24px,var(--max))}.grid{grid-template-columns:1fr}.hero h1{font-size:34px}.btns{display:grid}.btn{width:100%}.site-header{position:static}.section{padding:34px 0}.content h2{font-size:23px}.header-inner{min-height:62px}.brand img{width:36px;height:36px}}


/* Editorial illustrations */
.content-figure{margin:22px 0 30px}
.content-figure img{display:block;width:100%;height:auto;border-radius:16px;border:1px solid #e5edf5;background:#fff}
.content-figure figcaption{margin-top:8px;color:#607080;font-size:.88rem;line-height:1.6}
.hero-card .hero-visual{width:100%;height:auto;border-radius:14px;margin-bottom:14px}
.checker-explain-figure{margin:18px 0 26px}
.checker-explain-figure img{display:block;width:100%;height:auto;border-radius:16px;border:1px solid #e5edf5}
@media (max-width:720px){
  .content-figure{margin:18px 0 24px}
  .content-figure img,.checker-explain-figure img{border-radius:12px}
}


/* Visual summary blocks for long-form articles */
.visual-summary{
  margin:24px 0 32px;
  padding:20px;
  border:1px solid #dce9f4;
  border-radius:18px;
  background:linear-gradient(180deg,#f8fcff 0%,#ffffff 100%);
  box-shadow:0 8px 22px rgba(25,75,120,.06);
}
.visual-summary h2,.visual-summary h3{margin-top:0}
.vs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.vs-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.vs-card{
  padding:16px;
  border-radius:14px;
  background:#fff;
  border:1px solid #e3edf5;
  min-height:118px;
}
.vs-card strong{display:block;color:#123b63;font-size:1.05rem;margin-bottom:7px}
.vs-icon{
  display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;
  border-radius:12px;background:#eaf6ff;font-size:1.35rem;margin-bottom:10px
}
.vs-step{display:flex;gap:10px;align-items:flex-start;margin:10px 0}
.vs-num{
  flex:0 0 30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:#147bd1;color:#fff;font-weight:700
}
.vs-arrow{text-align:center;font-weight:700;color:#4c89b8;padding:2px}
.vs-good{border-left:5px solid #1aa981}
.vs-warn{border-left:5px solid #e0a227}
.vs-ng{border-left:5px solid #d85b5b}
.vs-note{margin-top:14px;padding:12px 14px;border-radius:12px;background:#eef8f5;color:#22594d}
.vs-mini{font-size:.9rem;color:#596b7c;line-height:1.65}
@media(max-width:760px){
  .vs-grid,.vs-grid.two{grid-template-columns:1fr}
  .visual-summary{padding:16px;margin:20px 0 26px}
  .vs-card{min-height:auto}
}
