/* 信原ゼミ 参加者ページ（/seminar/）用の追加スタイル。基本は /projects/projects.css */
.sem-zoom { margin-top:48px; background:var(--ink); color:#fff; padding:28px 22px 30px; }
.sem-zoom .tag { display:inline-block; font-size:12px; font-weight:800; letter-spacing:.2em; color:var(--ink); background:var(--mint); padding:2px 10px; }
.sem-zoom .msg { margin-top:14px; font-size:clamp(24px,6.4vw,36px); font-weight:800; line-height:1.4; }
.sem-zoom .when { margin-top:10px; font-size:15.5px; line-height:1.85; color:rgba(255,255,255,.88); }
.sem-zoom .when b { color:#fff; }
.sem-zoom .btn { margin-top:22px; }
.sem-zoom dl { margin-top:24px; padding-top:18px; border-top:1px solid rgba(255,255,255,.22); display:grid; grid-template-columns:1fr; gap:12px; font-size:14.5px; line-height:1.7; }
.sem-zoom dt { font-size:11px; letter-spacing:.16em; color:rgba(255,255,255,.62); }
.sem-zoom dd { font-weight:700; }
.sem-zoom dd a { color:var(--mint); border-bottom:1px solid var(--mint); overflow-wrap:anywhere; word-break:break-all; font-weight:600; }
.sem-zoom dd .mid { font-size:20px; letter-spacing:.08em; font-variant-numeric:tabular-nums; }
.sem-desc { font-size:14.5px; color:var(--ink-soft); line-height:1.85; margin-bottom:16px; }
.sem-note { margin-top:20px; padding:16px 18px; background:var(--card); border-left:4px solid var(--mint); font-size:14.5px; line-height:1.85; }
.sem-note a { border-bottom:1.5px solid var(--mint); }
table.sched td.n { width:2.6em; }
table.sched td.d { width:7.6em; font-variant-numeric:tabular-nums; }
table.sched td.t { font-weight:600; }
table.sched td.a { white-space:nowrap; }
table.sched td.a a { font-weight:800; border-bottom:2px solid var(--mint); }
table.sched td.a .soon { color:#a9a79c; }
table.sched tr.next td { background:#fff; }
table.sched tr.next td.t::after { content:"次回"; display:inline-block; margin-left:8px; font-size:11px; font-weight:800; letter-spacing:.12em; background:var(--mint); color:var(--ink); padding:0 8px; vertical-align:2px; }
@media (max-width:640px) {
  table.sched thead { display:none; }
  table.sched, table.sched tbody { display:block; }
  table.sched tr { display:grid; grid-template-columns:auto 1fr; column-gap:12px; row-gap:2px; padding:12px 4px; border-bottom:1px solid var(--line); }
  table.sched tr.next { background:#fff; }
  table.sched td { padding:0; border-bottom:none; width:auto !important; }
  table.sched td.n { grid-column:1; }
  table.sched td.d { grid-column:2; }
  table.sched td.t { grid-column:1 / -1; font-size:15.5px; line-height:1.6; }
  table.sched td.a { grid-column:1 / -1; white-space:normal; font-size:14px; }
}
.video-embed { position:relative; width:100%; aspect-ratio:16/9; margin-top:6px; background:#000; overflow:hidden; }
.video-embed iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.video-caption { font-size:13.5px; color:var(--ink-soft); margin-top:10px; line-height:1.8; }
.report h3 .trange { display:inline-block; margin-left:10px; font-size:12px; font-weight:700; color:var(--moss); letter-spacing:.06em; font-variant-numeric:tabular-nums; }
@media (min-width:720px) {
  .sem-zoom { padding:40px 48px 44px; }
  .sem-zoom dl { grid-template-columns:1fr 1fr; gap:14px 32px; }
  .sem-zoom dl .wide { grid-column:1 / -1; }
}
