/* === from line 54-486 === */
    /* ===== 内科診療セクション（砂川内科風レイアウト） ===== */
    .topMedical-section {
      background: #f1f8e9;
      padding: 60px 0;
      overflow: hidden;
    }
    .topMedical-section--cards {
      background: #ffffff;
      padding: 60px 0;
    }
    .topMedical-inner {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 20px;
    }
    .topMedical-tabs .med-link {
      display: flex;
      align-items: center;
      justify-content: center;
      background: #a5d68a;
      color: #333333;
      text-align: center;
      min-height: 56px;
      padding: 8px 10px;
      font-size: 14px;
      font-weight: bold;
      text-decoration: none;
      position: relative;
      border: none;
      transition: background 0.3s, color 0.3s, opacity 0.3s;
      line-height: 1.4;
    }
    .topMedical-tabs .med-link:hover,
    .topMedical-tabs .med-link.active-med-link {
      background: #aed581;
      color: #fff;
    }
    .topMedical-links a:hover,
    .topMedical-links a.active-med-link {
      background: #aed581;
      color: #fff;
      opacity: 1;
    }

    /* --- カードグリッド + 右バナー ラッパー --- */
    .topMedical-cards-wrap {
      display: flex;
      gap: 40px;
      align-items: stretch;
      width: 100%;
    }
    .topMedical-cards-wrap > .topMedical-cards {
      flex: 1 1 0;
      min-width: 0;
      margin: 0;
    }
    .topMedical-banner {
      flex: 0 0 320px;
      display: flex;
      align-items: stretch;
    }
    .topMedical-banner img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      border-radius: 12px;
    }

    /* --- 下段: カードグリッド（2列×2段） --- */
    .topMedical-cards {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 32px 40px;
      width: 100%;
      max-width: 880px;
      margin: 0 auto;
    }
    .topMedical-card {
      text-align: center;
      text-decoration: none;
      color: #333333;
      overflow: hidden;
      transition: opacity 0.3s;
    }
    .topMedical-card:hover {
      opacity: 0.85;
    }
    .topMedical-card-img {
      width: 100%;
      overflow: hidden;
      line-height: 0;
    }
    .topMedical-card-img img {
      width: 100%;
      height: auto;
      display: block;
      object-fit: cover;
      aspect-ratio: 2 / 1;
    }
    .topMedical-card-label {
      font-family: "Lato", sans-serif;
      font-size: 13px;
      font-weight: 700;
      color: #8bc34a;
      margin-top: 12px;
      margin-bottom: 5px;
      letter-spacing: 0.03em;
      display: block;
    }
    .topMedical-card-title {
      font-size: 16px;
      font-weight: bold;
      color: #333333;
      margin: 0 0 10px;
    }

    /* --- レスポンシブ --- */
    @media (max-width: 900px) {
      .topMedical-tabs .med-link {
        font-size: 13px;
        min-height: 50px;
        padding: 6px 8px;
      }
    }
    @media (max-width: 767px) {
      .topMedical-section {
        padding: 40px 0;
      }
      .topMedical-cards {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 16px;
      }
      .topMedical-cards-wrap {
        flex-direction: column;
        gap: 24px;
      }
      .topMedical-banner {
        display: none;
      }
    }

    @media (min-width: 768px) and (max-width: 1023px) {
      .topMedical-cards {
        gap: 24px 28px;
      }
    }

    /* LINE QRコード クリック領域 */
    .iine-ba-wrap{ position:relative; }
    .iine-qr-link{
      position:absolute;
      top:18%;
      right:5.5%;
      width:19%;
      aspect-ratio:1/1;
      display:block;
      border-radius:8px;
      z-index:2;
      transition:background .2s ease, box-shadow .2s ease;
    }
    .iine-qr-link:hover{
      background:rgba(139,195,74,0.12);
      box-shadow:0 0 0 3px rgba(139,195,74,0.4);
    }

    /* マイナ保険証バナー（画像全体クリック） */
    .maina-link{
      display:block;
      transition:opacity .25s ease, transform .25s ease;
    }
    .maina-link:hover{
      opacity:0.92;
      transform:translateY(-2px);
    }

/* === from line 676-715 === */
      .hifuka-banner{
        position:absolute;
        left:24px;
        bottom:32px;
        z-index:10;
        display:block;
        width:240px;
        border-radius:12px;
        overflow:hidden;
        box-shadow:0 8px 24px rgba(0,0,0,0.22);
        transition:transform .3s cubic-bezier(.23,1,.32,1), box-shadow .3s ease;
        background:#fff;
      }
      .hifuka-banner:hover{
        transform:translateY(-3px);
        box-shadow:0 14px 32px rgba(0,0,0,0.28);
      }
      .hifuka-banner img{
        width:100%;
        height:auto;
        display:block;
      }
      @media (max-width: 1023px){
        .hifuka-banner{
          left:12px;
          right:auto;
          bottom:60px;
          width:min(56vw, 220px);
          border-radius:10px;
        }
      }
      @media (max-width: 480px){
        .hifuka-banner{
          width:min(52vw, 190px);
          bottom:48px;
          left:10px;
        }
      }

/* === ヒーロー上のキャッチコピー（PC: 円画像内 + 横書き）=== */
.hero-catch-pc{
  position:absolute; top:65%; right:5%;
  transform:translateY(-50%);
  max-width:25%; z-index:5; pointer-events:none;
}
.hero-catch-pc-wrap{
  position:relative; width:100%;
}
.hero-catch-pc-img{
  width:100%; height:auto; display:block;
}
.hero-catch-pc-text{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:74%; margin:0;
  color:#313131; font-size:13px; line-height:2;
  font-weight:600; text-align:center; letter-spacing:0.05em;
}
.hero-catch-accent{ color:#558b2f; font-size:15px; }
.hero-catch-divider{
  display:inline-block; width:32px; height:1px;
  background:#aed581; vertical-align:middle; margin:0 6px;
}

/* === ヒーロー上のキャッチコピー（SP: 縦書き）=== */
.hero-catch-sp{
  position:absolute; top:50%; right:18%;
  transform:translateY(-50%);
  z-index:5; pointer-events:none;
}
.hero-catch-sp-text{
  margin:0; color:#313131;
  font-size:13px; line-height:2;
  font-weight:700; letter-spacing:0.15em;
  writing-mode:vertical-rl;
  -webkit-writing-mode:vertical-rl;
  max-height:70vh;
  text-shadow:0 1px 4px rgba(255,255,255,0.95), 0 0 10px rgba(255,255,255,0.85);
}

/* === 09. SYMPTOM セクション背景 === */
#topSymptom{ background:#f1f8e9; }

/* 文字サイズ切替（大中小）は css/services-mega.css に集約（全ページ統一・sd-font-* 使用） */
