
    /* PC のみ：外来担当医カードの短径フォト（access.html arch-photo 風） */
    @media (min-width: 768px) {
      .outpatient-card { display: grid; grid-template-columns: 5fr 7fr; gap: 32px; align-items: center; padding: 32px; }
      .outpatient-card .op-photo-wrap { position: relative; }
      .outpatient-card .op-photo {
        width: 100%;
        aspect-ratio: 4 / 5.3;
        border-radius: 999px 999px 0 0;
        overflow: hidden;
        background: rgba(124,179,66,0.08);
      }
      .outpatient-card .op-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
      .outpatient-card .op-accent {
        position: absolute;
        bottom: -10px; right: -10px;
        width: 28%; aspect-ratio: 1;
        background: #7cb342;
        border-radius: 8px;
        z-index: -1;
      }
      .outpatient-card .op-info { padding: 0; }
      .outpatient-card .op-badge-wrap { margin-bottom: 16px; }
    }

    /* ===== 初診ページ：2カラム（左右交互あしらい） ===== */
    .first-row { position: relative; margin-bottom: 80px; }
    .first-row .first-main { max-width: 720px; margin: 0 auto; }
    /* SP: あしらい画像を半分サイズで左右交互に配置 */
    .first-row .first-arch {
      width: 55%;
      margin-bottom: 28px;
    }
    .first-row.is-left .first-arch { margin-right: auto; margin-left: 0; }
    .first-row.is-right .first-arch { margin-left: auto; margin-right: 0; }
    .first-row .arch-photo-wrap { position: relative; width: 100%; }
    .first-row .arch-photo {
      width: 100%;
      aspect-ratio: 4 / 5.3;
      border-radius: 999px 999px 0 0;
      overflow: hidden;
      background: rgba(124,179,66,0.08);
    }
    .first-row .arch-photo.arch-inverted {
      border-radius: 0 0 999px 999px;
    }
    .first-row .arch-photo img {
      width: 100%; height: 100%;
      object-fit: cover; display: block;
    }
    .first-row .arch-accent {
      position: absolute;
      bottom: -10px; right: -10px;
      width: 24%; aspect-ratio: 1;
      background: #7cb342;
      border-radius: 8px;
      z-index: -1;
    }
    .first-row .arch-accent-top {
      bottom: auto; right: auto;
      top: -10px; left: -10px;
    }
    @media (min-width: 1024px) {
      .first-row {
        display: grid;
        gap: 80px;
        max-width: 1200px;
        margin: 0 auto 120px;
        padding: 0 24px;
        align-items: center;
      }
      /* 左にあしらい + 右に本文 */
      .first-row.is-left {
        grid-template-columns: minmax(240px, 1fr) minmax(0, 720px);
      }
      .first-row.is-left .first-arch { grid-column: 1; }
      .first-row.is-left .first-main { grid-column: 2; max-width: none; }
      /* 右にあしらい + 左に本文 */
      .first-row.is-right {
        grid-template-columns: minmax(0, 720px) minmax(240px, 1fr);
      }
      .first-row.is-right .first-main { grid-column: 1; max-width: none; }
      .first-row.is-right .first-arch { grid-column: 2; }

      .first-row .first-arch {
        width: auto;
        margin: 0;
        align-self: center;
      }
      .first-row .arch-photo { aspect-ratio: 4 / 6; }
      .first-row .arch-accent {
        bottom: -14px; right: -14px;
        width: 28%;
        border-radius: 10px;
      }
      .first-row .arch-accent-top {
        bottom: auto; right: auto;
        top: -14px; left: -14px;
      }
    }

    /* ===== マイナ手順アンカーリンク ===== */
    .myna-acc-btn-link {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 16px 20px;
      background: #f1f8e9;
      border: 1px solid rgba(124,179,66,0.25);
      border-radius: 12px;
      text-decoration: none;
      transition: background .2s ease, transform .2s ease;
    }
    .myna-acc-btn-link:hover {
      background: #e8f5e0;
      transform: translateY(-1px);
    }
    .myna-acc-label {
      font-weight: 700;
      color: #4a8a3e;
      font-size: 15px;
      line-height: 1.5;
    }
    @media (min-width: 768px){
      .myna-acc-label { font-size: 16px; }
    }
    .myna-acc-arrow {
      flex-shrink: 0;
      color: #4a8a3e;
      width: 20px;
      height: 20px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .myna-acc-arrow svg { width: 100%; height: 100%; }

    /* ===== マイナ手順イントロ（テキスト + QR） ===== */
    .myna-intro {
      display: flex;
      flex-direction: column;
      gap: 20px;
      margin-bottom: 24px;
    }
    .myna-intro-qr {
      margin: 0;
      align-self: center;
      text-align: center;
    }
    .myna-intro-qr img {
      width: 140px;
      height: auto;
      display: block;
      margin: 0 auto 8px;
      border: 1px solid rgba(0,0,0,0.08);
      border-radius: 6px;
    }
    .myna-intro-qr figcaption {
      font-size: 12px;
      color: #5a6b6a;
      letter-spacing: 0.05em;
    }
    @media (min-width: 768px){
      .myna-intro {
        flex-direction: row;
        align-items: flex-start;
        gap: 28px;
      }
      .myna-intro-text { flex: 1; min-width: 0; }
      .myna-intro-qr { flex-shrink: 0; align-self: flex-start; }
      .myna-intro-qr img { width: 130px; }
    }

    /* ===== 04 マイナオンライン診療ラッパー ===== */
    .myna-online-wrap {
      margin-bottom: 80px;
    }

    /* ===== 05 マイナ手順フローグリッド ===== */
    .myna-procedure-wrap {
      margin-bottom: 80px;
    }
    .myna-flow-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 24px;
    }
    @media (min-width: 640px){
      .myna-flow-grid { grid-template-columns: repeat(2, 1fr); gap: 28px; }
    }
    @media (min-width: 1024px){
      .myna-flow-grid { grid-template-columns: repeat(3, 1fr); gap: 32px; }
    }
    .myna-flow-card {
      display: flex;
      flex-direction: column;
    }
    .myna-flow-title {
      font-size: 14px;
      font-weight: 700;
      color: #333;
      line-height: 1.7;
      margin: 0 0 12px;
      text-align: left;
      display: flex;
      gap: 10px;
      align-items: flex-start;
    }
    @media (min-width: 768px){
      .myna-flow-title { font-size: 14.5px; }
    }
    .myna-step-num {
      flex-shrink: 0;
      width: 32px;
      height: 32px;
      border-radius: 50%;
      background: linear-gradient(135deg, #7cb342 0%, #4a8a3e 100%);
      color: #fff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-family: 'Lato', 'Inter', sans-serif;
      font-weight: 700;
      font-size: 15px;
      line-height: 1;
    }
    .myna-flow-note {
      font-size: 12.5px;
      color: #4a8a3e;
      font-weight: 700;
      margin: 0 0 12px 42px;
      line-height: 1.6;
    }
    .myna-flow-img {
      width: 100%;
      max-width: 200px;
      height: auto;
      display: block;
      margin: 0 auto;
      border-radius: 8px;
      border: 1px solid rgba(0,0,0,0.08);
      background: #f8faf2;
    }
    @media (min-width: 1024px){
      .myna-flow-img { max-width: 180px; }
    }
    /* SPでセクション/カードの左右paddingを縮小して本文を広く */
    @media (max-width: 640px) {
      #first.px-6 { padding-left: 12px !important; padding-right: 12px !important; }
      #first .bg-white.rounded-\[24px\].p-6 { padding-left: 16px !important; padding-right: 16px !important; }
      #first .bg-white.rounded-\[24px\].p-8 { padding-left: 16px !important; padding-right: 16px !important; }
      /* マイナ保険証セクション以下も縮小 */
      .myna-online-wrap > .max-w-6xl,
      .myna-procedure-wrap > .max-w-6xl { padding-left: 4px !important; padding-right: 4px !important; }
      .myna-online-wrap .bg-white.rounded-\[24px\] { padding-left: 16px !important; padding-right: 16px !important; }
      .myna-procedure-wrap .bg-white.rounded-\[24px\] { padding-left: 16px !important; padding-right: 16px !important; }
    }

/* === 受診の流れ ステップ番号バッジ === */
.flow-step-num{
  flex-shrink:0;
  width:36px; height:36px;
  border-radius:9999px;
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-weight:700; font-size:14px;
  font-family:'Noto Serif JP',serif;
  background:linear-gradient(135deg,#7cb342 0%,#4a8a3e 100%);
}

/* === 持ち物リスト 緑ドット === */
.item-dot{
  flex-shrink:0;
  margin-top:0.375rem;
  width:0.5rem; height:0.5rem;
  border-radius:9999px;
  background:#7cb342;
}
