/* ════════════════════════════════════
   法人向けサービスページ固有スタイル
════════════════════════════════════ */
.benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.benefit-card { background: var(--white); border: 1px solid var(--gray-100); border-radius: var(--r-lg); padding: 2rem; box-shadow: var(--shadow-sm); transition: all .3s; }
.benefit-card:hover { border-color: var(--teal); box-shadow: var(--shadow); transform: translateY(-4px); }
.benefit-icon { width: 52px; height: 52px; border-radius: 14px; background: rgba(88,195,232,.1); display: flex; align-items: center; justify-content: center; margin-bottom: 1.25rem; }
.benefit-icon svg { width: 24px; height: 24px; color: var(--teal); }
.benefit-card h3 { font-size: 1.05rem; font-weight: 700; color: var(--text); margin-bottom: .75rem; }
.benefit-card p { font-size: .875rem; color: var(--text-muted); line-height: 1.8; }

.corp-plan-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.corp-plan { background: var(--white); border: 2px solid var(--gray-200); border-radius: var(--r-lg); padding: 2rem; display: flex; flex-direction: column; transition: all .3s; }
.corp-plan:hover { border-color: var(--teal); box-shadow: 0 12px 40px rgba(88,195,232,.15); transform: translateY(-4px); }
.corp-plan.featured { border-color: var(--teal); background: var(--navy); }
.corp-plan-name { font-size: .78rem; font-weight: 800; letter-spacing: .12em; color: var(--teal); text-transform: uppercase; margin-bottom: .5rem; }
.corp-plan-title { font-size: 1.15rem; font-weight: 800; color: var(--text); margin-bottom: 1rem; }
.corp-plan-price { font-size: 1.6rem; font-weight: 900; color: var(--teal); margin-bottom: .3rem; }
.corp-plan-note { font-size: .78rem; color: var(--text-muted); margin-bottom: 1.5rem; }
.corp-plan-features { display: flex; flex-direction: column; gap: .6rem; flex: 1; margin-bottom: 1.5rem; font-size: .875rem; color: var(--text); }
.corp-plan-feat { display: flex; align-items: center; gap: .6rem; }
.corp-feat-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--teal); flex-shrink: 0; }

.hospital-logos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.hospital-logo-item { background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--r); padding: 1.25rem; display: flex; align-items: center; justify-content: center; text-align: center; font-size: .875rem; color: var(--text); font-weight: 600; min-height: 70px; }

@media (max-width: 900px) {
  .benefit-grid { grid-template-columns: 1fr; }
  .corp-plan-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
  .hospital-logos { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .hospital-logos { grid-template-columns: 1fr; }
}

/* ── ボタン・ロゴアイテム ── */
.btn-block { display: block; text-align: center; }
.hospital-logo-item--muted { background: var(--gray-50); color: var(--text-muted); }

/* ── 導入フロー ── */
.flow-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.flow-step { background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--r-lg); padding: 1.75rem; }
.flow-num { font-size: .7rem; font-weight: 800; letter-spacing: .15em; color: var(--teal); margin-bottom: .75rem; }
.flow-content h4 { font-size: .975rem; font-weight: 700; color: var(--text); margin-bottom: .5rem; }
.flow-content p { font-size: .85rem; color: var(--text-muted); line-height: 1.7; }
@media (max-width: 900px) { .flow-steps { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .flow-steps { grid-template-columns: 1fr; } }

/* ── 事例 ── */
.corp-case-title { font-size: 1.05rem; font-weight: 700; color: var(--text); margin-bottom: 1rem; }
.corp-case-body { font-size: .875rem; color: var(--text-muted); line-height: 1.8; }
