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

    .ac-drow, .ac-drow * { box-sizing: border-box; }
    .ac-h3 { margin: 0; font-size: 24px; font-weight: 700; letter-spacing: 0.08em; display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
    .ac-logo { display: block; height: 38px; width: auto; }
    .ac-sub { margin: 20px 0 0; font-size: 16.5px; font-weight: 700; letter-spacing: 0.04em; color: #E24369; line-height: 1.7; }
    .ac-body { margin: 16px 0 0; font-size: 15px; line-height: 2.2; letter-spacing: 0.03em; }

    /* ページ内リンク */
    .ac-jump { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 40px; }
    #activities, #reports, #press, #event-calendar { scroll-margin-top: 24px; }

    /* 活動報告・イベントスケジュール・プレスリリースのセクション */
    .ac-sec { padding: 90px 20px; }
    .ac-sec--cream { background: #F5F0E9; }
    .ac-sec__inner { max-width: 1040px; margin: 0 auto; }
    .ac-sec__label { margin: 0; font-size: 13px; color: #E24369; letter-spacing: 0.12em; text-align: center; }
    .ac-sec__h2 { margin: 14px 0 0; font-size: 30px; font-weight: 700; letter-spacing: 0.14em; text-align: center; }
    .ac-sec__lead { margin: 22px 0 0; font-size: 15px; line-height: 2.1; letter-spacing: 0.03em; text-align: center; }
    .ac-sec__more { margin: 48px 0 0; text-align: center; }
    .ac-cards { grid-template-columns: repeat(4, 1fr); gap: 24px 20px; margin-top: 48px; }
    .ac-cards .hr-card__meta { flex-wrap: wrap; gap: 6px 10px; }
    .ac-cards .hr-card__cat, .ac-cards .hr-card__date { white-space: nowrap; }
    .ac-cards .hr-card__title { margin-bottom: 20px; font-size: 14.5px; }
    .ac-cal { margin-top: 44px; }
    .ac-press { margin-top: 44px; background: #FFFFFF; border-radius: 12px; padding: 0 24px; }
    .ac-press .hr-dl__row:last-child { border-bottom: 0; }
    .ac-press .hr-dl__dt { width: 150px; color: #E24369; font-weight: 500; font-size: 14px; }
    @media (max-width: 1000px) { .ac-cards { grid-template-columns: repeat(2, 1fr); } }

    /* ===== SP (≤768px) — PC版(769px以上)は一切変更しない ===== */
    @media (max-width: 768px) {
      .ac-sec-h2 { font-size: 23px !important; letter-spacing: 0.08em !important; }
      .ac-drow { gap: 28px !important; margin-top: 44px !important; }
      .ac-h3 { font-size: 20px !important; gap: 10px !important; }
      .ac-logo { height: 28px !important; }
      .ac-sub { font-size: 15px !important; margin-top: 16px !important; }
      .ac-body { font-size: 14.5px !important; line-height: 2 !important; }
      .ac-jump { gap: 8px !important; margin-top: 30px !important; }
      .ac-sec { padding: 60px 16px !important; }
      .ac-sec__h2 { font-size: 23px !important; letter-spacing: 0.08em !important; }
      .ac-sec__lead { font-size: 14px !important; text-align: left !important; }
      .ac-cards { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; margin-top: 32px !important; }
      .ac-cards .hr-card__meta { flex-wrap: wrap; gap: 6px; padding: 12px 12px 0; }
      .ac-cards .hr-card__title { margin: 8px 12px 14px; font-size: 13px; line-height: 1.6; }
      .ac-cal, .ac-press { margin-top: 30px !important; }
      .ac-press { padding: 0 14px !important; }
      .ac-press .hr-dl__row { flex-wrap: wrap; gap: 4px 10px; padding: 14px 4px; }
      .ac-press .hr-dl__dt { flex: 0 0 100%; width: auto; font-size: 12.5px; }
      .ac-press .hr-dl__dd { flex: 1 1 0; min-width: 0; margin: 0; font-size: 14px; line-height: 1.7; }
      .ac-press .hr-dl__arrow { flex: none; }
      .ac-sec__more { margin-top: 32px !important; }
    }
