/* volunteer — 生成元: 実装/volunteer.dc.html */
a { color: #E24369; }
    a:hover { color: #C63056; }

    /* カード内は border-box（.hr-root 非使用ページのため。membership と同様の対処） */
    .vl-form-card, .vl-form-card *,
    .vl-card, .vl-card * { box-sizing: border-box; }

    /* ===== SP (≤768px) — PC版(769px以上)は一切変更しない ===== */
    @media (max-width: 768px) {
      .vl-sec-h2 { font-size: 23px !important; letter-spacing: 0.08em !important; }
      .vl-lead { padding: 52px 20px 12px !important; }
      .vl-lead p { font-size: 14.5px !important; line-height: 2.1 !important; }

      .vl-sec { padding: 42px 20px 12px !important; }
      .vl-card { padding: 26px 20px !important; }
      .vl-card p, .vl-card li { font-size: 14px !important; line-height: 2 !important; }
      .vl-dl { display: block !important; }
      .vl-dl dt { font-size: 13px !important; }
      .vl-dl dd { font-size: 14.5px !important; margin: 4px 0 16px !important; line-height: 1.9 !important; }
      .vl-rule-links { grid-template-columns: 1fr !important; gap: 12px !important; }

      /* flow (sponsor-style STEP rows) */
      .vl-flow h2 { font-size: 22px !important; letter-spacing: 0.08em !important; }
      .vl-flow h3 { font-size: 16px !important; line-height: 1.6 !important; }

      .vl-award { padding: 72px 20px 78px !important; }
      .vl-award h2 { font-size: 22px !important; letter-spacing: 0.06em !important; }
      .vl-award-grid { grid-template-columns: 1fr !important; gap: 16px !important; margin-top: 34px !important; }

      .vl-form-card { padding: 30px 20px !important; }
      .vl-apply-box { padding: 20px 16px !important; font-size: 13px !important; }
    }
