/* /donate/ 賛助会員・寄付。部品は site.css。ここは足りない分だけ（頭文字 dn-） */
.dn-read { max-width: 720px; margin: 24px auto 0; }
.dn-read p + p { margin-top: 12px; }
.dn-read--c { text-align: center; }
.dn-small { font-size: 13px; margin-top: 6px; }
.dn-dots { display: grid; gap: 6px; margin: 8px 0 16px; }
.dn-dots li { padding-left: 18px; position: relative; }
.dn-dots li::before { content: ""; position: absolute; left: 0; top: .78em; width: 8px; height: 8px; background: var(--teal); }

/* 1. はじめ */
.dn-hero { padding-top: 72px; }

/* 2. 使い道：左に見出し、右に並べる */
.dn-use { display: grid; grid-template-columns: 300px 1fr; gap: 24px 56px; align-items: start; }
.dn-use__list { grid-template-columns: 1fr; margin: 0; gap: 14px; max-width: none; }
.dn-use h2 { margin-bottom: 8px; }

/* 3. 賛助会員 */
.dn-member { display: grid; grid-template-columns: 280px 1fr; gap: 32px 56px; max-width: 900px; margin: 32px auto 0; padding: 44px 48px; }
.dn-member__label { font-family: var(--head); font-weight: 800; color: var(--teal); font-size: 15px; letter-spacing: .06em; }
.dn-member__label--2 { margin-top: 24px; }
.dn-member__big { font-family: var(--head); font-weight: 800; color: var(--ink); font-size: 24px; line-height: 1.1; }
.dn-member__big em { font-style: normal; font-family: "Quicksand", var(--head); font-weight: 700; color: var(--orange); font-size: 72px; margin: 0 2px; }
.dn-member h3 { color: var(--ink) !important; font-size: 18px; margin-top: 18px; }
.dn-member .btns { margin-top: 20px; }

/* 4. 寄付：金額を大きく、線も箱も使わない */
.dn-ex__h { text-align: center; margin-top: 64px; }
.dn-ex { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 28px 32px; margin: 32px 0 28px; }
.dn-ex dt { font-family: var(--head); font-weight: 800; color: var(--ink); font-size: 20px; line-height: 1.1; }
.dn-ex dt em { font-style: normal; font-family: "Quicksand", var(--head); font-weight: 700; color: var(--teal); font-size: 52px; margin-right: 2px; }
.dn-ex dd { margin: 8px 0 0; }
.dn-give { margin-top: 24px; }
.dn-notes { max-width: 720px; margin: 32px auto 0; font-size: 13px; }
.dn-notes p + p { margin-top: 4px; }

/* 5. よくある質問 */
.dn-faq { display: grid; grid-template-columns: 1fr 1fr; gap: 32px 56px; margin-top: 40px; }
.dn-faq dt { font-family: var(--head); font-weight: 800; color: var(--ink); font-size: 18px; line-height: 1.5; margin-bottom: 6px; }
.dn-faq dd { margin: 0; }
.dn-faq a { color: var(--teal); word-break: break-all; }

/* 6. 正会員・お問い合わせ */
.dn-last { padding: 56px 0; }
.dn-last__row { display: grid; grid-template-columns: 1fr 1fr; gap: 32px 56px; }
.dn-last__txt { font-weight: 500; margin-bottom: 16px; }

@media (max-width: 860px) {
  .dn-hero { padding-top: 48px; }
  .dn-read--c { text-align: left; }
  .dn-use, .dn-member, .dn-faq, .dn-last__row { grid-template-columns: 1fr; }
  .dn-member { padding: 32px 24px; }
  .dn-ex { grid-template-columns: 1fr 1fr; }
  .dn-ex dt em { font-size: 40px; }
}
