    body {
      margin: 0;
      font-family: sans-serif;
      background: #f4f7f4;
      color: #1f2937;
    }

    .wrap {
      max-width: 860px;
      margin: 40px auto;
      padding: 0 20px;
    }

    .card {
      background: #fff;
      border-radius: 20px;
      padding: 32px;
      box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    }

    h1 {
      margin: 0 0 10px;
      font-size: 1.8rem;
      color: #14532d;
    }

    .subtitle {
      margin: 0 0 24px;
      color: #4b5563;
    }

    .notice {
      background: #f0fdf4;
      border: 1px solid #bbf7d0;
      border-radius: 14px;
      padding: 14px 16px;
      margin-bottom: 24px;
      color: #166534;
      line-height: 1.7;
    }

    .summary-box {
      background: #f9fafb;
      border: 1px solid #e5e7eb;
      border-radius: 14px;
      padding: 18px;
      margin-bottom: 20px;
      line-height: 1.8;
    }

    .section {
      margin-top: 24px;
    }

    .section h2 {
      margin: 0 0 10px;
      font-size: 1.08rem;
    }

    .section p,
    .section li {
      line-height: 1.8;
    }

    ol,
    ul {
      padding-left: 1.4em;
    }

    .detail-toggle {
      margin-top: 18px;
      border: 1px solid #dfe6df;
      border-radius: 14px;
      background: #fcfcfc;
      overflow: hidden;
    }

    .detail-toggle summary {
      cursor: pointer;
      list-style: none;
      padding: 16px 18px;
      font-weight: 700;
      background: #f7faf7;
    }

    .detail-toggle summary::-webkit-details-marker {
      display: none;
    }

    .detail-inner {
      padding: 6px 18px 20px;
    }

    .consent-box {
      margin-top: 24px;
      padding: 18px;
      background: #f9fafb;
      border: 1px solid #e5e7eb;
      border-radius: 14px;
    }

    .checkbox-line {
      display: flex;
      gap: 10px;
      align-items: flex-start;
      line-height: 1.8;
    }

    .checkbox-line input {
      margin-top: 0.35em;
    }

    .actions {
      display: flex;
      gap: 14px;
      margin-top: 28px;
      flex-wrap: wrap;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 52px;
      padding: 0 22px;
      border-radius: 14px;
      text-decoration: none;
      font-weight: 700;
      cursor: pointer;
      border: none;
      font-size: 1rem;
    }

    .btn-primary {
      background: #2f8f3a;
      color: #fff;
    }

    .btn-secondary {
      background: #fff;
      color: #374151;
      border: 1px solid #d1d5db;
    }

    @media (max-width: 640px) {
      .card {
        padding: 24px 18px;
      }

      .actions {
        flex-direction: column;
      }

      .btn {
        width: 100%;
      }
    }