  :root {
    --pink:        #D4637E;
    --pink-dark:   #B84A66;
    --green:       #1A9D57;
    --green-light: #ECF7F1;
    --ink:         #243040;
    --sub:         #4A5568;
    --bg:          #ffffff;
    --bg-soft:     #F7F8FA;
    --line:        #E8ECF0;
    --fs-body:     16px;
    --fs-note:     14px;
    --fs-tag:      12px;
    --maxw:        1200px;
  }
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  :focus-visible { outline: 2px solid var(--pink); outline-offset: 3px; }
  body { font-family: 'Noto Sans JP', 'Hiragino Sans', sans-serif; color: var(--ink); background: var(--bg); line-height: 1.8; font-weight: 400; text-wrap: wrap; word-break: normal; }
  html { scroll-behavior: smooth; }

  .wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 40px; }

  /* THANKS */
  .thanks-section { min-height: 64vh; display: flex; align-items: center; justify-content: center; padding: 120px 0; }
  .thanks-card { max-width: 560px; margin: 0 auto; text-align: center; }
  .thanks-icon { width: 84px; height: 84px; border-radius: 9999px; background: var(--green-light); color: var(--green); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 28px; }
  .thanks-icon svg { width: 40px; height: 40px; }
  .thanks-eyebrow { font-size: 11px; font-weight: 700; color: var(--pink-dark); letter-spacing: .25em; text-transform: uppercase; margin-bottom: 18px; }
  .thanks-card h1 { font-size: 30px; font-weight: 700; line-height: 1.4; letter-spacing: -.02em; margin-bottom: 18px; }
  .thanks-card p { font-size: var(--fs-body); color: var(--sub); line-height: 1.9; }
  .thanks-card p strong { color: var(--ink); font-weight: 700; }
  .thanks-note { font-size: var(--fs-note); margin-top: 14px; }
  .thanks-actions { margin-top: 36px; display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

  /* BUTTON */
  .btn { display: inline-block; padding: 18px 40px; border-radius: 9999px; font-size: 15px; font-weight: 500; text-decoration: none; letter-spacing: .02em; transition: all .35s cubic-bezier(.4,0,.2,1); }
  .btn-primary { background: var(--pink); color: #fff; border: 1px solid transparent; box-shadow: 0 4px 16px rgba(212,99,126,.2); }
  .btn-primary:hover { background: var(--pink-dark); transform: translateY(-2px); box-shadow: 0 8px 28px rgba(212,99,126,.3); }

  /* RESPONSIVE */
  @media (max-width: 768px) {
    .wrap { padding: 0 20px; }
    .thanks-section { padding: 72px 0; min-height: 56vh; }
    .thanks-card h1 { font-size: 24px; }
  }
