/* 2026-10-20 確認用修正。元版のスタイルはこの複製内に保持。 */
.hero-kicker { font-size: 15px; line-height: 1.8; }
.hero-lead { font-size: 16px; white-space: normal; text-wrap: pretty; }
.round-badge { width: 170px; height: 170px; }
.round-badge strong { font-size: 32px; }
.round-badge strong small { font-size: 16px; }
.round-badge span { font-size: 14px; line-height: 1.7; }
.sub-link, .text-link { font-size: 15px; }
.eyebrow, .gift-kicker, .gift-note, .project-overview-kicker, .character-label { font-size: 15px; }
.problem-grid { grid-template-columns: 1.15fr 1fr 1fr; align-items: end; }
.problem-copy h2 { font-size: clamp(22px, 2.1vw, 28px); line-height: 1.85; }
.speech-card { width: 100%; padding: 22px; }
.speech-card .speech-body, .speech-card strong { font-size: 16px; line-height: 1.9; }
.problem-visual, .problem-visual.after { padding-top: 0; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.problem-visual .situation-bubble, .problem-visual.after .situation-bubble { position: static; width: 88%; max-width: 300px; margin: 0 auto; padding: 8px; border-radius: 0; background: transparent; mix-blend-mode: normal; filter: none; }
.problem-visual figcaption { align-self: flex-end; }
.how .section-title { line-height: 1.6; }
.how .section-title::before, .how .section-title::after { display: none; }
.step { min-width: 0; grid-template-columns: 74px minmax(0,1fr); gap: 16px; padding: 25px; }
.step h3 { white-space: normal; font-size: 20px; }
.step-content > p, .mission-copy p, .character-block div > p:not(.character-label), .message-card blockquote, .support-comment blockquote { font-size: 16px; }
.voice-card > span, .voice-card figcaption, .message-card > div > p span, .support-comment p span { font-size: 14px; }
.about-stats p, .timeline p, .timeline a, details p { font-size: 15px; }
.about-stats strong small { font-size: 16px; }
.project-nav a { font-size: 16px; }
.history-lead { white-space: normal; max-width: none; font-size: 16px; }
.footer { padding-bottom: 75px; }
.footer nav a, .copyright, .problem-visual figcaption { font-size: 13px; }
@media (max-width: 980px) {
  .problem-grid { grid-template-columns: 1fr 1fr; }
  .problem-copy { grid-column: 1 / -1; }
  .speech-card { max-width: 520px; }
}
@media (max-width: 700px) {
  .hero-kicker { font-size: 14px; padding-inline: 0; }
  .hero h1 { font-size: clamp(28px, 8.5vw, 42px); }
  .hero-lead { font-size: 16px; margin-top: 16px; }
  .hero-badges { gap: 10px; }
  .round-badge { width: clamp(136px, 42vw, 170px); height: clamp(136px, 42vw, 170px); }
  .round-badge strong { font-size: 28px; }
  .round-badge strong small { font-size: 14px; }
  .round-badge span { font-size: 13px; }
  .problem-grid { display: flex; gap: 32px; }
  .problem-copy h2 { font-size: clamp(19px, 5.3vw, 25px); }
  .speech-card .speech-body br { display: none; }
  .speech-card strong { font-size: 16px; }
  .problem-visual, .problem-visual.after { width: min(100%, 350px); padding-top: 0; }
  .problem-visual .situation-bubble, .problem-visual.after .situation-bubble { width: 86%; }
  .gift-kicker { font-size: 14px; }
  .gift-copy h2 { font-size: 27px; }
  .gift-copy > p:not(.gift-kicker, .gift-note) { font-size: 16px; }
  .gift-note { font-size: 14px; }
  .step { display: block; padding: 22px 19px; }
  .step h3 { font-size: 19px; }
  .project-nav a { font-size: 14px; }
  .about-lead, .history-lead, .mission-copy p, .message-card blockquote, .support-comment blockquote { font-size: 16px; }
  .about-stats p, .timeline p, details p { font-size: 15px; }
}
