/* ============ FDE解説動画ページ ============ */
.dg{max-width:1060px;margin:0 auto;padding:26px 20px 10px;}
.dg-sec{margin:44px 0 0;}
.dg-kicker{display:flex;align-items:center;gap:8px;font:800 12px/1 Inter,sans-serif;letter-spacing:.14em;color:var(--accent,#0891B2);text-transform:uppercase;margin:0 0 10px;}
.dg-kicker .material-symbols-rounded{font-size:18px;}
.dg-h2{font-size:clamp(21px,3.4vw,30px);font-weight:900;line-height:1.35;margin:0 0 14px;color:var(--ink,#0f172a);}
.dg-lead{font-size:15px;line-height:1.9;color:var(--ink-2,#334155);margin:0 0 18px;max-width:640px;}

/* --- facadeプレーヤー共通 --- */
.dg-yt{position:relative;display:block;width:100%;border:0;padding:0;cursor:pointer;border-radius:16px;overflow:hidden;background:#0f172a;aspect-ratio:16/9;}
.dg-yt img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease,opacity .35s ease;}
.dg-yt:hover img{transform:scale(1.03);opacity:.92;}
.dg-yt--v{aspect-ratio:9/16;}
.dg-play{position:absolute;inset:0;display:grid;place-items:center;}
.dg-play .material-symbols-rounded{font-size:34px;color:#fff;background:rgba(8,145,178,.92);border-radius:999px;padding:14px;box-shadow:0 10px 30px rgba(2,6,23,.35);transition:transform .2s ease;}
.dg-yt:hover .dg-play .material-symbols-rounded{transform:scale(1.08);}
.dg-frame{width:100%;aspect-ratio:16/9;border:0;border-radius:16px;display:block;background:#000;}
.dg-frame--v{aspect-ratio:9/16;}

/* --- 本編 --- */
.dg-main{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:26px;align-items:start;}
.dg-main-txt p{font-size:15px;line-height:1.95;color:var(--ink-2,#334155);margin:2px 0 14px;}
.dg-topics{list-style:none;margin:0 0 18px;padding:14px 16px;background:rgba(8,145,178,.06);border:1px solid rgba(8,145,178,.18);border-radius:14px;}
.dg-topics li{position:relative;padding:5px 0 5px 22px;font-size:13.5px;line-height:1.7;color:var(--ink,#0f172a);}
.dg-topics li::before{content:"";position:absolute;left:4px;top:13px;width:8px;height:8px;border-radius:999px;background:var(--accent,#0891B2);}
.dg-out{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--accent,#0891B2);text-decoration:none;}
.dg-out .material-symbols-rounded{font-size:17px;transition:transform .2s ease;}
.dg-out:hover .material-symbols-rounded{transform:translateX(3px);}

/* --- ショート3本 --- */
.dg-shorts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:6px 0 14px;}
.dg-short{margin:0;}
.dg-short figcaption{padding:12px 4px 0;}
.dg-short i{display:block;font:800 11px/1 Inter,sans-serif;font-style:normal;letter-spacing:.12em;color:var(--accent,#0891B2);margin-bottom:6px;}
.dg-short b{display:block;font-size:15px;font-weight:800;line-height:1.5;color:var(--ink,#0f172a);}
.dg-short small{display:block;font-size:12.5px;line-height:1.75;color:var(--ink-3,#64748b);margin-top:6px;}
.dg-note{font-size:13px;color:var(--ink-3,#64748b);}
.dg-note a{color:var(--accent,#0891B2);font-weight:700;}

/* --- アウトロ --- */
.dg-outro{margin:52px 0 30px;background:#0e1a2b;border-radius:20px;padding:34px 26px;text-align:center;}
.dg-outro-in p{color:#e2e8f0;font-size:15.5px;line-height:1.9;margin:0 0 18px;}
.dg-outro-in b{color:#fff;}
.dg-outro-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.dg-btn{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:800;text-decoration:none;border-radius:999px;padding:13px 22px;}
.dg-btn .material-symbols-rounded{font-size:19px;}
.dg-btn--yt{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25);}
.dg-btn--yt:hover{background:rgba(255,255,255,.18);}
.dg-btn--primary{background:var(--accent,#0891B2);color:#fff;}
.dg-btn--primary:hover{filter:brightness(1.08);}

/* --- モバイル（390px実測前提） --- */
@media (max-width:820px){
  .dg{padding:18px 16px 6px;}
  .dg-sec{margin:36px 0 0;}
  .dg-main{grid-template-columns:1fr;gap:16px;}
  .dg-shorts{grid-template-columns:1fr;gap:26px;max-width:340px;margin-left:auto;margin-right:auto;}
  .dg-outro{padding:28px 18px;}
  .dg-btn{width:100%;justify-content:center;}
}

/* 解説動画一覧（yt-data.js自動描画） */
.dg-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:6px 0 8px;}
.dg-item{margin:0;}
.dg-item figcaption{padding:12px 4px 0;}
.dg-item b{display:block;font-size:15.5px;font-weight:800;line-height:1.55;color:var(--ink,#0f172a);}
.dg-item small{display:block;font-size:12.5px;line-height:1.7;color:var(--ink-3,#64748b);margin-top:6px;}
@media(max-width:760px){.dg-list{grid-template-columns:1fr;gap:26px;}}
