.hero-medical {
      background-image: url('https://images.unsplash.com/photo-1519494026892-80bbd2d6fd0d?w=1400&q=80');
    }

    /* ─── リード ─── */
    .medical-lead-section {
      padding: 64px 64px 48px;
      background: var(--color-bg);
    }
    .medical-lead-inner {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 64px;
      align-items: center;
    }
    .medical-lead-text h2 {
      font-family: var(--font-serif);
      font-size: 26px;
      font-weight: 700;
      color: var(--color-primary);
      letter-spacing: 0.06em;
      margin-bottom: 20px;
      line-height: 1.5;
    }
    .medical-lead-text p {
      font-size: 14px;
      color: var(--color-text-light);
      line-height: 1.95;
    }
    .medical-lead-img {
      border-radius: var(--radius-md);
      overflow: hidden;
      aspect-ratio: 4/3;
    }
    .medical-lead-img img { width:100%; height:100%; object-fit:cover; }

    /* ─── 2カラム支援セクション ─── */
    .support-section { padding: 72px 64px; background: var(--color-bg-light); }
    .support-grid {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 40px;
    }
    .support-card {
      background: white;
      border-radius: var(--radius-md);
      overflow: hidden;
      box-shadow: var(--shadow-sm);
      border: 1px solid var(--color-border);
    }
    .support-card-img {
      aspect-ratio: 16/9;
      overflow: hidden;
      background: var(--color-bg-light);
    }
    .support-card-img img { width:100%; height:100%; object-fit:cover; }
    .support-card-body { padding: 32px; }
    .support-card-label {
      font-family: var(--font-en);
      font-size: 10px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--color-gold);
      display: block;
      margin-bottom: 10px;
    }
    .support-card-title {
      font-family: var(--font-serif);
      font-size: 20px;
      font-weight: 700;
      color: var(--color-primary);
      letter-spacing: 0.04em;
      margin-bottom: 16px;
    }
    .support-card-lead {
      font-size: 13.5px;
      color: var(--color-text-light);
      line-height: 1.9;
      margin-bottom: 20px;
    }
    .support-list { display: flex; flex-direction: column; gap: 10px; }
    .support-list li {
      font-size: 13px;
      color: var(--color-text);
      line-height: 1.75;
      display: flex;
      align-items: flex-start;
      gap: 10px;
      padding: 10px 14px;
      background: var(--color-bg-light);
      border-radius: var(--radius-sm);
      border-left: 3px solid var(--color-primary);
    }
    .support-list li::before {
      content: '●';
      color: var(--color-gold);
      font-size: 8px;
      margin-top: 5px;
      flex-shrink: 0;
    }

    /* ─── TKCシステム紹介 ─── */
    .tkc-db-section { background: var(--color-primary); padding: 72px 64px; }
    .tkc-db-inner { max-width: 1200px; margin: 0 auto; }
    .tkc-db-title {
      font-family: var(--font-serif);
      font-size: 24px;
      font-weight: 700;
      color: white;
      letter-spacing: 0.06em;
      margin-bottom: 8px;
    }
    .tkc-db-sub {
      font-size: 13px;
      color: rgba(255,255,255,0.6);
      margin-bottom: 40px;
      font-family: var(--font-en);
      letter-spacing: 0.1em;
    }
    .tkc-db-points {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 16px;
      margin-bottom: 48px;
    }
    .tkc-db-point {
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: var(--radius-md);
      padding: 24px 18px;
      text-align: center;
    }
    .tkc-db-point-num {
      font-family: var(--font-en);
      font-size: 32px;
      font-weight: 600;
      color: var(--color-gold);
      line-height: 1;
      display: block;
      margin-bottom: 12px;
    }
    .tkc-db-point-text {
      font-size: 12px;
      color: rgba(255,255,255,0.85);
      line-height: 1.7;
      letter-spacing: 0.03em;
    }
    .tkc-db-cert {
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: var(--radius-md);
      padding: 28px 32px;
      display: flex;
      align-items: center;
      gap: 32px;
    }
    .tkc-db-cert-badge {
      flex-shrink: 0;
      width: 80px;
      height: 80px;
      background: rgba(255,255,255,0.1);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 36px;
    }
    .tkc-db-cert-text h4 {
      font-family: var(--font-serif);
      font-size: 15px;
      font-weight: 700;
      color: var(--color-gold);
      margin-bottom: 8px;
      letter-spacing: 0.04em;
    }
    .tkc-db-cert-text p {
      font-size: 13px;
      color: rgba(255,255,255,0.75);
      line-height: 1.85;
    }
    .tkc-db-img-wrap {
      margin-top: 40px;
      border-radius: var(--radius-md);
      overflow: hidden;
      border: 1px solid rgba(255,255,255,0.1);
    }
    .tkc-db-img-wrap img { width:100%; display:block; }

    /* ─── M-BAST ─── */
    .mbast-section { padding: 72px 64px; background: var(--color-bg); }
    .mbast-inner { max-width: 1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
    .mbast-text .section-lead { max-width: 100%; }
    .mbast-visual {
      background: var(--color-bg-light);
      border-radius: var(--radius-md);
      border: 1px solid var(--color-border);
      padding: 36px;
    }
    .mbast-visual-title {
      font-family: var(--font-serif);
      font-size: 15px;
      font-weight: 700;
      color: var(--color-primary);
      margin-bottom: 20px;
      letter-spacing: 0.04em;
      border-bottom: 2px solid var(--color-gold);
      padding-bottom: 12px;
    }
    .mbast-items { display:flex; flex-direction:column; gap:12px; }
    .mbast-item {
      display:flex; align-items:center; gap:14px;
      padding: 14px 16px;
      background: white;
      border-radius: var(--radius-sm);
      border: 1px solid var(--color-border-light);
    }
    .mbast-item-icon {
      width:40px; height:40px;
      background: var(--color-primary);
      border-radius: var(--radius-sm);
      display:flex; align-items:center; justify-content:center;
      font-size:18px; flex-shrink:0;
    }
    .mbast-item-text { font-size:13px; color:var(--color-text); line-height:1.6; font-weight:500; }

@media (max-width: 900px) {
  .medical-lead-section { padding: 48px 24px 36px; }
  .medical-lead-inner { grid-template-columns: 1fr; gap: 36px; }
  .support-section,
  .tkc-db-section,
  .mbast-section { padding: 48px 24px; }
  .support-grid { grid-template-columns: 1fr; }
  .tkc-db-points { grid-template-columns: repeat(3, 1fr); }
  .mbast-inner { grid-template-columns: 1fr; gap: 40px; }
  .tkc-db-cert { flex-direction: column; align-items: flex-start; gap: 20px; }
}

@media (max-width: 640px) {
  .tkc-db-points { grid-template-columns: repeat(2, 1fr); }
  .support-card-body { padding: 24px 20px; }
}

@media (max-width: 480px) {
  .tkc-db-points { grid-template-columns: 1fr; }
}
