/* 提供されたCSSをそのまま記述 */
body {
    font-family: sans-serif; /* 基本的なフォント指定 */
  }
  .Form {
    margin-top: 80px;
    margin-left: auto;
    margin-right: auto;
    max-width: 720px;
  }
  @media screen and (max-width: 480px) {
    .Form {
      margin-top: 40px;
    }
  }
  .Form-Item {
    border-top: 1px solid #ddd;
    padding-top: 24px;
    padding-bottom: 24px;
    width: 100%;
    display: flex;
    align-items: center;
  }
  @media screen and (max-width: 480px) {
    .Form-Item {
      padding-left: 14px;
      padding-right: 14px;
      padding-top: 16px;
      padding-bottom: 16px;
      flex-wrap: wrap;
    }
  }
  /* 最後の項目に下線を引くための調整 */
  .Form-Item:last-of-type { /* nth-child(5) から変更 */
     border-bottom: 1px solid #ddd;
  }
  .Form-Item-Label {
    width: 100%;
    max-width: 248px;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 18px;
  }
  @media screen and (max-width: 480px) {
    .Form-Item-Label {
      max-width: inherit;
      display: flex;
      align-items: center;
      font-size: 15px;
    }
  }
  .Form-Item-Label.isMsg {
    margin-top: 8px;
    margin-bottom: auto;
  }
  @media screen and (max-width: 480px) {
    .Form-Item-Label.isMsg {
      margin-top: 0;
    }
  }
  .Form-Item-Label-Required {
    border-radius: 6px;
    margin-right: 8px;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 48px;
    display: inline-block;
    text-align: center;
    background: #5bc8ac; /* 元のデザインの色 */
    color: #fff;
    font-size: 14px;
  }
  /* CF7の *必須 の色に合わせる場合 */
  .Form-Item-Label-Required.cf7-required {
      background: none;
      color: red;
      border: none;
      width: auto;
      padding: 0;
      margin-left: 4px;
      font-size: inherit; /* ラベルと同じサイズに */
  }
  
  @media screen and (max-width: 480px) {
    .Form-Item-Label-Required {
      border-radius: 4px;
      padding-top: 4px;
      padding-bottom: 4px;
      width: 32px;
      font-size: 10px;
    }
    .Form-Item-Label-Required.cf7-required {
       width: auto;
       padding: 0;
       font-size: inherit;
    }
  }
  .Form-Item-Input,
  .Form-Item-Select, /* Select要素用のクラス */
  .Form-Item-Textarea {
    border: 1px solid #ddd;
    border-radius: 6px;
    margin-left: 40px;
    padding-left: 1em;
    padding-right: 1em;
    height: 48px;
    flex: 1;
    width: 100%;
    max-width: 410px;
    background: #eaedf2;
    font-size: 18px;
  }
  .Form-Item-Select { /* Select固有のスタイル調整 */
      background: #eaedf2 url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E') right 1em center no-repeat;
      background-size: .65em auto;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      padding-right: 2.5em; /* 矢印スペース */
  }
  .Form-Item-Textarea {
      height: 216px; /* Textareaの高さ */
  }
  @media screen and (max-width: 480px) {
    .Form-Item-Input,
    .Form-Item-Select,
    .Form-Item-Textarea {
      margin-left: 0;
      margin-top: 18px;
      height: 40px;
      flex: inherit;
      font-size: 15px;
    }
    .Form-Item-Textarea {
      height: 200px;
    }
     .Form-Item-Select {
      padding-right: 2em; /* スマホでの矢印スペース調整 */
    }
  }
  .Form-Item-Checkboxes, /* チェックボックスグループ用 */
  .Form-Item-Radios { /* ラジオボタングループ用 (もしあれば) */
    margin-left: 40px;
    flex: 1;
    width: 100%;
    max-width: 410px;
  }
  .Form-Item-Checkboxes label,
  .Form-Item-Radios label {
    display: block; /* 各項目を縦に並べる */
    margin-bottom: 0.5em;
    font-size: 16px; /* 必要に応じて調整 */
  }
  .Form-Item-Checkboxes label input,
  .Form-Item-Radios label input {
    margin-right: 0.5em;
  }
  @media screen and (max-width: 480px) {
     .Form-Item-Checkboxes,
     .Form-Item-Radios {
        margin-left: 0;
        margin-top: 18px;
        max-width: 100%;
     }
     .Form-Item-Checkboxes label,
     .Form-Item-Radios label {
       font-size: 15px;
     }
  }
  
  .Form-Btn {
    border-radius: 6px;
    margin-top: 32px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 20px;
    padding-bottom: 20px;
    width: 280px;
    display: block;
    letter-spacing: 0.05em;
    background: #5bc8ac; /* 元のデザインの色 */
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    border: none; /* ボタンのデフォルト枠線を消す */
    cursor: pointer; /* クリック可能を示す */
  }
  @media screen and (max-width: 480px) {
    .Form-Btn {
      margin-top: 24px;
      padding-top: 8px;
      padding-bottom: 8px;
      width: 160px;
      font-size: 16px;
    }
  }
  .Form-Description { /* 説明文用のクラス */
      font-size: 14px;
      color: #555;
      margin-top: 8px;
  }
  .Form-Description.alert { /* 注意書きの色 */
      color: #ff0000;
  }
  .Form-Item-Input-Group { /* 時間入力など横並び用 */
      display: flex;
      align-items: center;
      gap: 10px; /* 要素間のスペース */
      margin-left: 40px;
      flex: 1;
      max-width: 410px;
  }
  .Form-Item-Input-Group .Form-Item-Select {
      margin-left: 0; /* 個別のマージンをリセット */
      width: auto; /* 自動幅 */
      flex: none; /* flex:1 を解除 */
      min-width: 80px; /* 最小幅 */
  }
  @media screen and (max-width: 480px) {
     .Form-Item-Input-Group {
         margin-left: 0;
         margin-top: 18px;
         max-width: 100%;
         gap: 8px;
     }
     .Form-Item-Input-Group .Form-Item-Select {
        min-width: 60px;
     }
  }
  .Form-Title { /* フォーム全体のタイトル用 */
      text-align: center;
      font-size: 24px; /* ttl-xl相当 */
      margin-bottom: 40px; /* mb6em相当？調整が必要 */
  }
  .Form-SectionTitle { /* セクションタイトル用 */
     font-size: 20px; /* ttl-l相当 */
     margin-bottom: 1em;
     border-bottom: 1px solid #eee;
     padding-bottom: 0.5em;
  }
  .Form-SubmitMessage { /* 送信ボタン上のメッセージ */
      text-align: center;
      color: red;
      margin-top: 2em;
      margin-bottom: 1em;
      font-weight: bold;
  }