/* コラム共通：2段組（本文＋サイドバー）、誘導バナー、関連カード、スマホの追従ボタン、読了バー */
@media (min-width:1081px){.art .toc{display:none}}
.hd .in{max-width:1160px!important}
.layout{max-width:1160px;margin:0 auto;padding:0 var(--pad);display:grid;grid-template-columns:minmax(0,760px) 300px;gap:56px;justify-content:center;align-items:start}
.layout>.art{max-width:none;padding:0;margin:0;min-width:0}
.side{position:sticky;top:88px;margin-top:36px;display:flex;flex-direction:column;gap:20px}
.sbox{border:1px solid var(--line);border-radius:12px;padding:20px 20px 18px;background:#fff}
.sbox h3{margin:0 0 10px;font-family:var(--en);font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--ai)}
.stoc ol{list-style:none;margin:0;padding:0;counter-reset:t}
.stoc li{counter-increment:t}
.stoc a{display:grid;grid-template-columns:26px 1fr;padding:7px 0;font-size:13px;line-height:1.6;color:var(--sub);text-decoration:none;border-left:2px solid transparent;margin-left:-20px;padding-left:18px;transition:color .25s,border-color .25s}
.stoc a::before{content:counter(t,decimal-leading-zero);font-family:var(--en);font-weight:800;font-size:11px;color:var(--mute);padding-top:2px}
.stoc a:hover{color:var(--ink)}
.stoc a.on{color:var(--ink);font-weight:700;border-left-color:var(--ai)}
.stoc a.on::before{color:var(--ai)}
.scta{position:relative;overflow:hidden;border-radius:12px;padding:24px 22px;color:#EDF0F4;background:linear-gradient(160deg,#1E2733 0%,#141A22 60%,#10151C 100%)}
.scta::before{content:"";position:absolute;right:-90px;top:-90px;width:240px;height:240px;border-radius:50%;background:radial-gradient(closest-side,rgba(111,143,196,.25),rgba(111,143,196,0))}
.scta>*{position:relative}
.scta small{font-family:var(--en);font-size:10.5px;font-weight:700;letter-spacing:.2em;color:#A3BCE3}
.scta p{margin:8px 0 0;font-size:16px;font-weight:700;line-height:1.65}
.scta span{display:block;margin-top:6px;font-size:12.5px;color:#A9B2BE;line-height:1.8}
.scta a{display:flex;justify-content:center;align-items:center;height:44px;margin-top:14px;border-radius:999px;background:#EDF0F4;color:var(--ink);font-size:13.5px;font-weight:700;text-decoration:none}
.scta a+a{margin-top:8px;background:transparent;border:1px solid rgba(237,240,244,.4);color:#EDF0F4}
.sdoc{display:block;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;transition:border-color .25s}
.sdoc:hover{border-color:var(--ink)}
.sdoc{display:grid!important;grid-template-columns:104px 1fr;align-items:center}
.sdoc img{display:block;width:104px;height:100%;min-height:96px;object-fit:cover;object-position:0 50%;border-right:1px solid var(--line)}
.sdoc div{padding:12px 14px}
.sdoc p{font-size:13px!important}
.sdoc small{font-family:var(--en);font-size:10.5px;font-weight:700;letter-spacing:.2em;color:var(--ai)}
.sdoc p{margin:4px 0 0;font-size:14px;font-weight:700;line-height:1.6}
.sdoc span{display:block;margin-top:4px;font-size:12px;color:var(--sub)}
.sau{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center}
.sau img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.sau b{display:block;font-size:14px}
.sau span{font-size:11.5px;color:var(--sub);line-height:1.6}
/* 本文中の誘導バナー */
.bn{margin:48px 0 0;display:grid;grid-template-columns:200px 1fr;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;text-decoration:none;color:var(--ink);transition:border-color .25s}
.bn:hover{border-color:var(--ink)}
.bn img{width:100%;height:100%;object-fit:cover;display:block;border-right:1px solid var(--line);background:#fff}
.bn div{padding:20px 24px}
.bn small{font-family:var(--en);font-size:10.5px;font-weight:700;letter-spacing:.2em;color:var(--ai)}
.bn p{margin:6px 0 0;font-size:16px;font-weight:700;line-height:1.6}
.bn span{display:block;margin-top:6px;font-size:13px;color:var(--sub);line-height:1.8}
.bn em{display:inline-block;margin-top:10px;font-style:normal;font-size:13px;font-weight:700;color:var(--ai)}
/* 関連カード */
.rel{max-width:1160px;margin:96px auto 0;padding:0 var(--pad)}
.rel h2{margin:0;padding:0;border:0;display:flex;align-items:baseline;gap:14px;font-size:20px}
.rel h2 small{font-family:var(--en);font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--ai)}
.rel ul{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rel a{display:block;height:100%;border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none;color:var(--ink);background:#fff;transition:border-color .25s,transform .35s}
.rel a:hover{border-color:var(--ink);transform:translateY(-2px)}
.rel img{display:block;width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;border-bottom:1px solid var(--line);background:#F6F6F3}
.rel div{padding:16px 18px 18px}
.rel small{font-family:var(--en);font-size:10.5px;font-weight:700;letter-spacing:.2em;color:var(--ai)}
.rel p{margin:4px 0 0;font-size:15px;font-weight:700;line-height:1.6}
.rel span{display:block;margin-top:6px;font-size:12.5px;color:var(--sub);line-height:1.8}
/* 読了バー・スマホの追従ボタン */
.prog{position:fixed;left:0;top:0;height:3px;width:0;background:var(--ai);z-index:20}
.mcta{display:none}
@media (max-width:1080px){
  .layout{grid-template-columns:minmax(0,760px)}
  .side{display:none}
  .mcta{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:30;gap:8px;padding:6px;border-radius:999px;background:rgba(255,255,255,.96);border:1px solid var(--line);box-shadow:0 6px 24px rgba(20,26,34,.08);transform:translateY(140%);transition:transform .45s}
  .mcta.show{transform:none}
  .mcta a{flex:1;display:flex;justify-content:center;align-items:center;height:44px;border-radius:999px;font-size:13.5px;font-weight:700;text-decoration:none}
  .mcta a:first-child{border:1px solid var(--line);color:var(--ink)}
  .mcta a:last-child{background:var(--ink);color:#fff}
}
@media (max-width:720px){
  .bn{grid-template-columns:1fr}.bn img{height:auto;aspect-ratio:2/1;border-right:0;border-bottom:1px solid var(--line)}
  .rel ul{grid-template-columns:1fr}
}
