/* membership — 生成元: 実装/membership.dc.html */
a { color: #E24369; }
    a:hover { color: #C63056; }
    .hr-form-section, .hr-form-section * { box-sizing: border-box; }
    .plan-card, .plan-card * { box-sizing: border-box; }

    /* ===== SP (≤768px) — PC版(769px以上)は一切変更しない ===== */
    @media (max-width: 768px) {
      .sp-msg { padding: 52px 20px 24px !important; }
      .sp-msg h2 { font-size: 22px !important; letter-spacing: 0.06em !important; }
      .sp-msg p { font-size: 14px !important; line-height: 2 !important; }

      .sp-plans { padding: 32px 20px 72px !important; gap: 36px !important; }
      .plan-card__head { padding: 16px 20px !important; gap: 12px !important; }
      .plan-card__num { font-size: 15px !important; }
      .plan-card__name { font-size: 17px !important; letter-spacing: 0.04em !important; }
      .plan-card__body { padding: 24px 20px 28px !important; }
      .plan-card__body p, .plan-card__body li { font-size: 14px !important; line-height: 2 !important; }
      .plan-fee__head { display: none !important; }
      .plan-fee__row { display: block !important; padding: 14px 16px !important; }
      .plan-fee__cell { display: block !important; padding: 2px 0 !important; }
      .plan-fee__lbl { display: inline-block !important; width: 56px !important; font-size: 12px !important; color: #9C9088 !important; }
      .plan-fee__val { font-size: 15px !important; }
      .plan-meta { display: block !important; }
      .plan-meta__dt { font-size: 12.5px !important; }
      .plan-meta__dd { font-size: 14px !important; margin: 4px 0 14px !important; }

      .sp-flow h2 { font-size: 22px !important; letter-spacing: 0.08em !important; }
      .sp-flow h3 { font-size: 16px !important; line-height: 1.6 !important; }

      .sp-faq { padding: 46px 20px 64px !important; }
      .sp-faq h2 { font-size: 22px !important; letter-spacing: 0.08em !important; }
    }

