body {
      font-family: "Noto Sans JP", sans-serif;
      background: #f9f9f9;
      position: relative;
    }

    img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    object-fit: cover;
    }

    .wrapper {
        max-width: 1440px;
        margin: 0 auto;
        padding: 0px 20px;
    }

    .intro {
      padding:160px 0px 80px 0px;
      text-align-last: left;
    }

    .intro__title {
        font-family: "Oxanium", sans-serif;
        font-size: 7vw;
    }

    .intro__text {
      font-weight: 300;
      padding-left: 1.4em;
    }

    .container {
      max-width: 640px;
      margin: 0 auto;
      background: #fefefe;
      padding: 32px;
      /* border-radius: 8px;
      box-shadow: 0 0 8px rgba(0,0,0,0.05); */
    }

    h2 {
      font-size: 2em;
      margin-bottom: 24px;
      text-align: center;
      font-family: "VT323", monospace;
      font-weight: normal;
      letter-spacing: 4px;
    }

    label {
      display: block;
      margin-top: 16px;
      font-weight: bold;
      font-size: 0.95em;
    }
    .required {
        display: inline-block;
        background-color: #ff6600; /* 赤系（例：LINE風） */
        color: white;
        font-size: 0.75em;
        padding: 2px 6px;
        margin-left: 8px;
        /* border-radius: 4px; */
        /* vertical-align: middle; */
    }
    .unrequired {
        display: inline-block;
        background-color: #999; /* 赤系（例：LINE風） */
        color: white;
        font-size: 0.75em;
        padding: 2px 6px;
        margin-left: 8px;
        /* border-radius: 4px; */
        /* vertical-align: middle; */
    }

    input, textarea, select {
      width: 100%;
      padding: 10px;
      margin-top: 6px;
      border: 1px solid #ccc;
      /* border-radius: 4px; */
      font-size: 1em;
      box-sizing: border-box;
      background: #fefefe;
    }

    textarea {
      resize: vertical;
      min-height: 100px;
    }

    .checkbox {
      margin-top: 16px;
    }

    .checkbox label {
      font-weight: normal;
      display: flex;
      align-items: center;
    }

    .checkbox input[type="checkbox"] {
      margin-right: 8px;
      margin-top: 2px;
      width: 12px;
    }

    button {
      display: block;
      width: 100%;
      background: #ff6600;
      color: white;
      padding: 12px;
      margin-top: 24px;
      border: none;
      /* border-radius: 4px; */
      font-size: 1em;
      cursor: pointer;
      transition: background 0.3s;
    }

    button:hover {
      background: #e25500;
    }

    .policy-container {
      margin-top: 64px;
    }
    .policy-container h2 {
      font-size: 20px;
    }

    .policy-scroll {
      max-height: 240px;
      overflow-y: auto;
      padding: 16px;
      border: 1px solid #ccc;
      border-radius: 4px;
      background: #fafafa;
      font-size: 0.9em;
      line-height: 1.6;
    }

    .policy-scroll h3 {
      margin-top: 1em;
      font-size: 1em;
    }

    .policy-scroll ul {
      padding-left: 20px;
    }


    @media (max-width: 767px) {
      .intro {
        padding-top: 120px;
      }
      .intro__text {
        font-size: 14px;
        padding: 0;
      }
      input::placeholder,
      textarea::placeholder {
        font-size: 14px;
      }
      select option {
        font-size: 14px;
      }
    }

    @media (max-width: 429px) {
      .intro__title {
        font-size: 32px;
      }
      .checkbox label {
        font-size: 14px;
    }
      .policy-container h2 {
      font-size: 16px;
    }
    input, textarea, select {
      padding: 4px 8px;
    }
    }