/* ════════════════════════════════════
   D-Style シミュレーションページ固有スタイル
════════════════════════════════════ */
.dstyle-hero-badge { display: inline-flex; align-items: center; gap: .75rem; background: rgba(88,195,232,.15); border: 1px solid rgba(88,195,232,.3); padding: .5rem 1.25rem; border-radius: 100px; margin-bottom: 1.25rem; }
.dstyle-logo { font-size: 1.3rem; font-weight: 900; color: var(--teal); letter-spacing: -.01em; }

.feature-list { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.feature-item { background: var(--navy); border-radius: var(--r-lg); padding: 1.75rem; text-align: center; }
.feature-icon { font-size: 1.8rem; margin-bottom: .5rem; }
.feature-label { font-size: .85rem; font-weight: 700; color: var(--text); }

.schedule-card { background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--r-lg); padding: 1.75rem; display: flex; gap: 1.5rem; align-items: flex-start; transition: all .3s; }
.schedule-card:hover { border-color: var(--teal); box-shadow: var(--shadow); }
.schedule-date { flex-shrink: 0; text-align: center; background: var(--navy); border-radius: var(--r); padding: 1rem 1.25rem; min-width: 80px; }
.schedule-month { font-size: .7rem; font-weight: 700; color: var(--teal); letter-spacing: .1em; text-transform: uppercase; }
.schedule-day { font-size: 2rem; font-weight: 900; color: var(--text); line-height: 1; }
.schedule-info h4 { font-size: 1rem; font-weight: 700; color: var(--text); margin-bottom: .4rem; }
.schedule-info p { font-size: .875rem; color: var(--text-muted); line-height: 1.7; }
.schedule-tags { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .75rem; }
.page-hero .dstyle-hero-badge span { color: rgba(255,255,255,.85); }

/* ── 紹介グリッド・スケジュール・料金 ── */
.sim-intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.dstyle-hero-sub { font-size: .75rem; }
.schedule-list { display: flex; flex-direction: column; gap: 1rem; max-width: 760px; margin: 0 auto; }
.schedule-price { font-size: .8rem; color: var(--text-muted); }
.sim-price-title { font-size: 1rem; font-weight: 700; color: var(--text); margin-bottom: .75rem; }
.sim-price-amount { font-size: 1.9rem; font-weight: 900; color: var(--teal); }
.sim-price-note { font-size: .78rem; color: var(--text-muted); margin: .3rem 0 1rem; display: block; }
.sim-price-desc { font-size: .875rem; color: var(--text-muted); line-height: 1.75; }
.body-muted { color: var(--text-muted); line-height: 1.9; }
.body-muted--intro { margin: 1.25rem 0 1.5rem; }
.body-muted--outro { margin-bottom: 2rem; }

@media (max-width: 900px) {
  .sim-intro-grid { grid-template-columns: 1fr; gap: 3rem; }
}
