/* ════════════════════════════════════
   セミナーページ固有スタイル
════════════════════════════════════ */
.compare-table { width: 100%; border-collapse: collapse; }
.compare-table th, .compare-table td { padding: .9rem 1.1rem; border: 1px solid var(--gray-200); font-size: .9rem; text-align: center; }
.compare-table thead th { background: var(--teal); color: var(--white); font-weight: 700; }
.compare-table thead th:first-child { background: var(--gray-900); }
.compare-table tbody td:first-child { font-weight: 600; text-align: left; background: var(--gray-50); }
.compare-table tbody tr:nth-child(even) td { background: rgba(0,0,0,.02); }
.compare-table tbody tr:nth-child(even) td:first-child { background: var(--gray-100); }
.val-yes { color: #059669; font-weight: 700; }
.val-no  { color: #dc2626; font-weight: 700; }
.val-paid { color: var(--teal-dark); font-weight: 600; }

.seminar-card { background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--r-lg); overflow: hidden; transition: all .3s; }
.seminar-card:hover { border-color: var(--teal); box-shadow: var(--shadow); transform: translateY(-3px); }
.seminar-card-head { padding: 1.5rem 1.75rem; background: var(--navy); border-bottom: 1px solid var(--gray-200); }
.seminar-card-body { padding: 1.5rem 1.75rem; }
.seminar-date { font-size: .78rem; font-weight: 700; color: var(--teal); letter-spacing: .06em; margin-bottom: .4rem; }
.seminar-title { font-size: 1.05rem; font-weight: 700; color: var(--text); }
.seminar-meta { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 1rem; font-size: .8rem; color: var(--text-muted); }
.seminar-tag { background: rgba(88,195,232,.1); color: var(--teal-dark); padding: .2rem .65rem; border-radius: 100px; font-weight: 600; }

/* ── カード説明文・料金ブロック ── */
.seminar-card-desc { font-size: .875rem; color: var(--text-muted); line-height: 1.75; margin-bottom: 1rem; }
.seminar-plan-title { font-size: 1.1rem; font-weight: 700; color: var(--text); margin-bottom: 1rem; }
.seminar-price { font-size: 2rem; font-weight: 900; color: var(--teal); }
.seminar-price-sub { font-size: .9rem; font-weight: 400; color: var(--text-muted); }
.seminar-price-note { font-size: .78rem; color: var(--text-muted); margin: .35rem 0 1.5rem; display: block; }
.seminar-btn { margin-top: 1.5rem; display: inline-flex; }

/* ── 個人プラングリッド ── */
.seminar-ind-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-bottom: 3rem; }
@media (max-width: 700px) { .seminar-ind-grid { grid-template-columns: 1fr; } }

/* ── フロー（4列）── */
.flow-steps-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; margin-top: 1.5rem; }
.flow-steps-4 .flow-step { background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--r-lg); padding: 1.5rem; }
.sec-sub-heading { font-size: 1rem; font-weight: 700; color: var(--text); margin: 2.5rem 0 1.25rem; }
@media (max-width: 900px) { .flow-steps-4 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .flow-steps-4 { grid-template-columns: 1fr; } }

/* ── スケジュール ── */
.schedule-list { display: flex; flex-direction: column; gap: 1.5rem; }
.schedule-item { background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--r-lg); padding: 1.75rem; display: flex; gap: 2rem; align-items: flex-start; }
.schedule-month { flex-shrink: 0; width: 48px; font-size: 1.1rem; font-weight: 900; color: var(--teal); }
.schedule-sessions { flex: 1; display: flex; flex-direction: column; gap: .75rem; }
.schedule-session { display: flex; gap: 1.5rem; font-size: .9rem; }
.schedule-date { flex-shrink: 0; font-weight: 700; color: var(--text-muted); min-width: 3rem; }
.schedule-topic { color: var(--text); }
@media (max-width: 600px) {
  .schedule-item { flex-direction: column; gap: .75rem; }
  .schedule-session { flex-direction: column; gap: .2rem; }
}
