  #reservation-form.form_sanka {
    font-size: 16px;
    color: #626262;
    font-family: "Noto Sans JP", sans-serif !important;
    margin: 0 auto;
    padding: 40px 20px;
    background: #fff;
    width: 100%;
    max-width: 1182px;
    box-sizing: border-box;
    line-height: 1.8 !important;
  }

  /* プレースホルダーの文字サイズを小さくする */
  #reservation-form.form_sanka input::placeholder,
  #reservation-form.form_sanka textarea::placeholder {
    font-size: 16px !important;
    font-weight: normal;
    color: #cbcbcb;
  }

  #reservation-form.form_sanka input::-webkit-input-placeholder,
  #reservation-form.form_sanka textarea::-webkit-input-placeholder {
    font-size: 16px !important;
    font-weight: normal;
    color: #cbcbcb;
  }
  #reservation-form.form_sanka input:-ms-input-placeholder,
  #reservation-form.form_sanka textarea:-ms-input-placeholder {
    font-size: 16px !important;
    font-weight: normal;
    color: #cbcbcb;
  }

  /* フォーム内のすべての入力要素・ボタンにフォントとサイズを一律適用 */
  #reservation-form.form_sanka input,
  #reservation-form.form_sanka select,
  #reservation-form.form_sanka textarea,
  #reservation-form.form_sanka button,
  #reservation-form.form_sanka label {
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 16px !important;
    color: #626262;
  }

  #reservation-form.form_sanka .red{
    color: #FF3100;
  }
  #reservation-form.form_sanka .mr20 {
    margin-right: 20px;
  }
  #reservation-form.form_sanka .mb30 {
    margin-bottom: 30px;
  }
  #reservation-form.form_sanka .mb15 {
    margin-bottom: 15px;
  }
  #reservation-form.form_sanka .center{
    text-align: center;
  }

  /* 共通パーツ */
  #reservation-form.form_sanka .req {
    background: #FF3100;
    color: #fff;
    font-size: 12px;
    padding: 2px 6px;
    margin-left: 8px;
    vertical-align: middle;
  }

  /* ステップナビ */
  #reservation-form.form_sanka .step_list {
    display: flex;
    justify-content: center;
    margin-bottom: 30px;
    list-style: none;
    padding: 0;
  }
  #reservation-form.form_sanka .step_list li {
    background: #e0e0e0;
    color: #777;
    padding: 9px 40px 13px;
    text-align: center;
    width: 200px;
        margin: 0;
  }
  #reservation-form.form_sanka .step_list li.active {
    background: #00A8AD;
    color: #fff;
  }
  #reservation-form.form_sanka .step_list li span{
    display: block;
    font-size: 12px;
    margin: -6px;
    font-weight: 300;
    color: #00000040;
  }
  #reservation-form.form_sanka .step_list li.active span{
    color: #ffffff8f;
  }
  #reservation-form.form_sanka .step_list li:first-child{
    clip-path: polygon(0 0, calc(100% - 15px) 0, 100% 50%, calc(100% - 15px) 100%, 0 100%);
    padding-right: 40px;
    padding-left: 25px;
  }

  /* インフォボックス */
  #reservation-form.form_sanka .info_box {
    border-left: 3px solid #00A8AD;
    background: #f0fbfc;
    padding: 20px;
    margin-bottom: 40px;
  }
  #reservation-form.form_sanka .info_box strong{
    color: #00A8AD;
  }
  #reservation-form.form_sanka .info_box_title {
    color: #00A8AD;
    font-weight: bold;
    margin-bottom: 10px;
  }

  /* フォームテーブル */
  #reservation-form.form_sanka .form_table {
    width: 100%;
    border-collapse: collapse;
  }
  #reservation-form.form_sanka .form_table th,
  #reservation-form.form_sanka .form_table td {
    padding: 23px 10px;
    border-bottom: 1px solid #cbcbcb;
    text-align: left;
    vertical-align: middle;
    box-sizing: border-box;
  }
  #reservation-form.form_sanka .form_table th {
    width: 250px;
    font-weight: normal;
  }

  /* フォームパーツ */
  #reservation-form.form_sanka input[type="text"],
  #reservation-form.form_sanka input[type="email"],
  #reservation-form.form_sanka input[type="tel"],
  #reservation-form.form_sanka select,
  #reservation-form.form_sanka textarea {
    border: 1px solid #cbcbcb;
    padding: 13px;
    font-size: 16px;
    border-radius: 4px;
    box-sizing: border-box;
  }
  #reservation-form.form_sanka input[type="text"],
  #reservation-form.form_sanka input[type="email"],
  #reservation-form.form_sanka input[type="tel"] {
    width: 100%;
  }
#reservation-form.form_sanka textarea{
  width: 100%;
}
  #reservation-form.form_sanka .flex_row {
    display: flex;
    gap: 10px;
  }

  /* 送信ボタン */
  #reservation-form.form_sanka .btn_area {
    text-align: center;
    margin-top: 40px;
  }
  #reservation-form.form_sanka .btn_submit {
    background: #00A8AD;
    color: #fff;
    border: 2px solid #00A8AD;
    padding: 18px 120px;
    font-size: 18px !important;
    font-weight: bold;
    cursor: pointer;
    border-radius: 4px;
    transition: background 0.3s, color 0.3s;
  }
  #reservation-form.form_sanka .btn_submit:hover {
    background: #fff;
    color: #00A8AD;
  }

  /* 初診受診希望日エリアのスタイル */
  #reservation-form.form_sanka .pref_row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
  }
  #reservation-form.form_sanka .pref_row:last-of-type {
    margin-bottom: 0;
  }
  #reservation-form.form_sanka .pref_badge {
    padding: 4px 17px;
    font-size: 13px !important;
    white-space: nowrap;
    color: #716e67;
    border: 1px solid #cbcbcb;
    background: #f7f7f8;
  }
  #reservation-form.form_sanka .pref_badge.active {
    background: #f6fbfb;
    border: 1px solid #00A8AD;
    color: #00A8AD;
  }
  #reservation-form.form_sanka .pref_date {
    width: 250px !important;
  }
  #reservation-form.form_sanka .pref_time {
    width: 150px !important;
  }
  #reservation-form.form_sanka .caption {
    font-size: 13px !important;
    color: #9b9b9b;
    margin-top: 10px;
    line-height: 1.5;
  }
  #reservation-form.form_sanka .small_ttl_in{
    margin-right: 10px;
  }

  /* ボタン風ラジオグループのレイアウト */
  #reservation-form.form_sanka .radio_group {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
  }
  #reservation-form.form_sanka .radio_btn {
    display: inline-block;
    border: 1px solid #cbcbcb;
    padding: 10px 24px;
    cursor: pointer;
    text-align: center;
    background: #fff;
    transition: all 0.2s ease;
    border-radius: 4px;
  }
/* ラジオボタンとチェックボックスの両方を非表示にする */
#reservation-form.form_sanka .radio_btn input[type="radio"],
#reservation-form.form_sanka .radio_btn input[type="checkbox"] {
  display: none;
}

/* チェックされたときに文字色を白にする */
#reservation-form.form_sanka .radio_btn input[type="radio"]:checked + span,
#reservation-form.form_sanka .radio_btn input[type="checkbox"]:checked + span {
  color: #fff;
}

/* チェックされたときの背景色とボーダーの色を変更する */
#reservation-form.form_sanka .radio_btn:has(input[type="radio"]:checked),
#reservation-form.form_sanka .radio_btn:has(input[type="checkbox"]:checked) {
  background: #00A8AD;
  border-color: #00A8AD;
}

/* ホバー時のデザイン */
#reservation-form.form_sanka .radio_btn:hover {
  border-color: #00A8AD;
}

  #reservation-form.form_sanka .calendar{
    position: relative;
  }
  #reservation-form.form_sanka .calendar:before{
    position: absolute;
    background-image: url(/wp-content/uploads/2026/09/fm26_calendar.png);
    width: 20px;
    height: 21px;
    background-repeat: no-repeat;
    content: "";
    left: 10px;
    top: 18px;
  }
  #reservation-form.form_sanka .calendar input[type="text"]{
    padding-left: 31px;
  }

  /* プライバシーポリシーエリア */
  #reservation-form.form_sanka .privacy_section {
    margin: 40px 0 20px;
  }
  #reservation-form.form_sanka .privacy_box {
    border: 1px solid #cbcbcb;
    background: #f7f7f8;
    padding: 30px;
    height: 150px;
    overflow-y: scroll;
    margin-top: 10px;
  }
  #reservation-form.form_sanka h3{
    font-size: 16px;
    border-bottom: 1px solid #cbcbcb;
    color: #00a8ad;
    padding-bottom: 6px;
    font-weight: 600;
  }
  #reservation-form.form_sanka .privacy_box strong{
    color: #00a8ad;
    font-size: 20px;
    font-weight: normal;
    margin-bottom: 0;
    display: block;
  }
  #reservation-form.form_sanka .privacy_box p{
    margin-bottom: 10px;
  }

  /* 同意エリア全体のレイアウト */
  #reservation-form.form_sanka .privacy_check_area {
    text-align: center;
    margin: 30px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
  #reservation-form.form_sanka .check_item {
    font-size: 16px;
    cursor: pointer;
  }
  #reservation-form.form_sanka .check_item input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin-right: 8px;
    vertical-align: middle;
    cursor: pointer;
  }
  #reservation-form.form_sanka .check_item.is-large {
    font-size: 18px;
    font-weight: bold;
  }
  #reservation-form.form_sanka .check_item.is-large input[type="checkbox"] {
    width: 20px;
    height: 20px;
    transform: scale(1.1); 
  }
  /* ==========================
      レスポンシブ設定 (950px以下)
  ============================== */
  @media screen and (max-width: 950px) {
    #reservation-form.form_sanka {
      width: 100% !important;
      padding: 20px;
      box-sizing: border-box;
    }

    #reservation-form.form_sanka .form_table,
    #reservation-form.form_sanka .form_table tbody,
    #reservation-form.form_sanka .form_table tr,
    #reservation-form.form_sanka .form_table th,
    #reservation-form.form_sanka .form_table td {
      display: block;
      width: 100% !important;
      box-sizing: border-box;
    }

    #reservation-form.form_sanka .form_table tr {
      margin-bottom: 20px;
      border-bottom: 1px solid #cbcbcb;
      padding-bottom: 10px;
    }

    #reservation-form.form_sanka .form_table th {
      padding: 10px 0 5px;
      border-bottom: none;
      font-weight: bold;
    }

    #reservation-form.form_sanka .form_table td {
      padding: 5px 0 10px;
      border-bottom: none;
    }

    #reservation-form.form_sanka .flex_row {
      flex-direction: column;
      gap: 10px;
    }

    #reservation-form.form_sanka .step_list {
        flex-direction: column;
        gap: 5px;
        margin: 0 0 20px 0;
    }
    #reservation-form.form_sanka .step_list li {
        width: 100%;
        padding: 10px;
        clip-path: none !important;
        box-sizing: border-box;
    }

    #reservation-form.form_sanka .btn_submit {
      width: 100%;
      padding: 15px 20px;
    }

    #reservation-form.form_sanka .pref_row {
      flex-direction: column;
      align-items: stretch;
    }
    #reservation-form.form_sanka .pref_date,
    #reservation-form.form_sanka .pref_time {
      width: 100% !important;
    }

    /* スマホでボタン風ラジオを横並びまたは縦並びにし、はみ出さないように調整 */
    #reservation-form.form_sanka .radio_group {
      flex-direction: column;
      gap: 8px;
    }
    #reservation-form.form_sanka .radio_btn {
      display: block;
      width: 100%;
      box-sizing: border-box;
    }
  }

@media screen and (min-width: 951px) {
    #reservation-form.form_sanka .mini_cl3{
      width: 14%;
    }
    #reservation-form.form_sanka .privacy_check_area {
      display: block;
      flex-direction: unset;
      flex-wrap: wrap;
      text-align: left;
      width: 300px;
      margin: 0 auto;
    }
    #reservation-form.form_sanka .privacy_check_area .check_item:first-child{
      margin-bottom: 10px;
      display: block;
    }
  }

/* CF7 markup adaptations: preserve the static sample's dimensions. */
#reservation-form.form_sanka *::before, #reservation-form.form_sanka *::after { box-sizing: border-box; }
#reservation-form.form_sanka .wpcf7-form-control-wrap { display: block; min-width: 0; }
#reservation-form.form_sanka .flex_row > .wpcf7-form-control-wrap { flex: 1 1 0; }
#reservation-form.form_sanka .flex_row:has(select[name="birth_year"]) > .wpcf7-form-control-wrap { flex: 0 1 14%; }
#reservation-form.form_sanka .flex_row .mini_cl3 { width: 100%; }
#reservation-form.form_sanka .wpcf7-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
#reservation-form.form_sanka .wpcf7-form select, #reservation-form.form_sanka .wpcf7-form textarea {
 background: #fff; color: #626262; font-family: inherit; line-height: 1.5; margin: 0;
 border: 1px solid #cbcbcb; border-radius: 4px; padding: 13px; min-height: 50px; max-width: 100%;
}
#reservation-form.form_sanka .wpcf7-form input[name="zip"], #reservation-form.form_sanka .wpcf7-form select[name="pref"] { width: 200px; }
#reservation-form.form_sanka .wpcf7-form input[name="tel"] { width: 300px; }
#reservation-form.form_sanka .wpcf7-form textarea { min-height: 150px; resize: vertical; }
#reservation-form.form_sanka .calendar::before { pointer-events: none; z-index: 1; }
#reservation-form.form_sanka .wpcf7-form .calendar input[type="date"] { padding-left: 38px; width: 250px; }
#reservation-form.form_sanka .wpcf7-form input:focus-visible, #reservation-form.form_sanka .wpcf7-form select:focus-visible,
#reservation-form.form_sanka .wpcf7-form textarea:focus-visible { outline: 2px solid #00a8ad; outline-offset: 2px; }
#reservation-form.form_sanka .wpcf7-list-item { margin: 0; }
#reservation-form.form_sanka .radio_group { align-items: center; }
#reservation-form.form_sanka .radio_group .wpcf7-radio, #reservation-form.form_sanka .radio_group .wpcf7-checkbox {
 display: flex; flex-wrap: wrap; gap: 15px;
}
#reservation-form.form_sanka .radio_group .wpcf7-list-item label {
 display: block; position: relative; border: 1px solid #cbcbcb; padding: 10px 24px;
 border-radius: 4px; background: #fff; cursor: pointer; text-align: center;
}
/* Keep controls focusable for keyboard users. */
#reservation-form.form_sanka .radio_group input[type="radio"], #reservation-form.form_sanka .radio_group input[type="checkbox"] {
 position: absolute; width: 1px; height: 1px; opacity: 0; padding: 0; margin: 0;
}
#reservation-form.form_sanka .radio_group label:has(input:checked) { background: #00a8ad; border-color: #00a8ad; color: #fff; }
#reservation-form.form_sanka .radio_group input:checked + .wpcf7-list-item-label { color: #fff; }
#reservation-form.form_sanka .radio_group label:hover { border-color: #00a8ad; }
#reservation-form.form_sanka .radio_group label:has(input:focus-visible) { outline: 2px solid #00a8ad; outline-offset: 3px; }
#reservation-form.form_sanka .privacy_check_area .wpcf7-acceptance label { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
#reservation-form.form_sanka input[type="checkbox"], #reservation-form.form_sanka input[type="radio"] { accent-color: #00a8ad; width: 18px; height: 18px; }
#reservation-form.form_sanka .privacy_check_area .req { margin-left: 0; white-space: nowrap; }
#reservation-form.form_sanka .btn_area .btn_submit { color: #fff; background: #00a8ad; line-height: 1.5; height: auto; }
#reservation-form.form_sanka .btn_area .btn_submit:hover { background: #fff; color: #00a8ad; }
#reservation-form.form_sanka .btn_submit:disabled { opacity: .55; cursor: not-allowed; }
#reservation-form.form_sanka .wpcf7-not-valid-tip { display: block; color: #c83224; font-size: 13px; margin-top: 6px; }
#reservation-form.form_sanka .wpcf7-form [aria-invalid="true"] { border-color: #c83224; }
#reservation-form.form_sanka .wpcf7-response-output { border: 2px solid #c83224; padding: 15px; margin: 20px 0; line-height: 1.6; }
#reservation-form.form_sanka .wpcf7-form.init .wpcf7-response-output,
#reservation-form.form_sanka .wpcf7-form.resetting .wpcf7-response-output,
#reservation-form.form_sanka .wpcf7-form.submitting .wpcf7-response-output { display: none; }
#reservation-form.form_sanka .wpcf7-form.sent .wpcf7-response-output { border-color: #00a8ad; }
#reservation-form.form_sanka .wpcf7-form.invalid .wpcf7-response-output,
#reservation-form.form_sanka .wpcf7-form.unaccepted .wpcf7-response-output { border-color: #d99800; }
#reservation-form.form_sanka .wpcf7-spinner { display: none; width: 22px; height: 22px; border: 3px solid #ddd; border-top-color: #00a8ad; border-radius: 50%; margin: 12px; vertical-align: middle; }
#reservation-form.form_sanka .submitting .wpcf7-spinner { display: inline-block; animation: cf7-sanka-spin 1s linear infinite; }
#reservation-form.form_sanka .screen-reader-response { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@keyframes cf7-sanka-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { #reservation-form.form_sanka .submitting .wpcf7-spinner { animation: none; } }
@media (max-width: 950px) {
 #reservation-form.form_sanka .flex_row:has(select[name="birth_year"]) > .wpcf7-form-control-wrap { flex: auto; width: 100%; }
 #reservation-form.form_sanka .calendar, #reservation-form.form_sanka .pref_row > .wpcf7-form-control-wrap { width: 100%; }
 #reservation-form.form_sanka .wpcf7-form .calendar input[type="date"], #reservation-form.form_sanka .wpcf7-form select[name="pref"] { width: 100%; }
 #reservation-form.form_sanka .radio_group .wpcf7-radio, #reservation-form.form_sanka .radio_group .wpcf7-checkbox { flex-direction: column; gap: 8px; width: 100%; }
 #reservation-form.form_sanka .privacy_box { padding: 20px; }
 #reservation-form.form_sanka .privacy_check_area > p { margin: 0; }
}

/* Live CF7 markup: remove theme container styles and account for autop wrappers. */
#reservation-form .wpcf7 { width:100%; margin:0!important; padding:0; border:0; background:transparent; font-size:inherit; }
#reservation-form .wpcf7 form { margin:0; padding:0; }
#reservation-form .wpcf7 p { margin:0; font-size:inherit; line-height:inherit; }
#reservation-form .wpcf7 .caption { margin-top:10px; font-size:13px!important; line-height:1.5; }
#reservation-form .wpcf7 .privacy_box p { margin-bottom:10px; }
#reservation-form .wpcf7 .form_table { margin:0; border:0; table-layout:auto; }
#reservation-form .wpcf7 .form_table th, #reservation-form .wpcf7 .form_table td { border:0; border-bottom:1px solid #cbcbcb; background:transparent; padding:23px 10px; }
#reservation-form .wpcf7 .form_table th { width:250px; font-weight:normal; }
/* CF7 puts both name inputs in one p, and each birth select in its own p. */
#reservation-form .flex_row > p { display:contents; }
#reservation-form .flex_row > p > br { display:none; }
#reservation-form .flex_row .wpcf7-form-control-wrap { flex:1 1 0; min-width:0; }
#reservation-form .flex_row .wpcf7-form-control-wrap[data-name="birth_year"],
#reservation-form .flex_row .wpcf7-form-control-wrap[data-name="birth_month"],
#reservation-form .flex_row .wpcf7-form-control-wrap[data-name="birth_day"] { flex:0 0 14%; }
#reservation-form .wpcf7 .flex_row select { width:100%!important; }
#reservation-form .wpcf7 input[type="text"], #reservation-form .wpcf7 input[type="email"],
#reservation-form .wpcf7 input[type="tel"], #reservation-form .wpcf7 input[type="date"],
#reservation-form .wpcf7 select, #reservation-form .wpcf7 textarea {
 box-sizing:border-box; padding:13px; border:1px solid #cbcbcb; border-radius:4px;
 background:#fff; color:#626262; font-size:16px; line-height:1.5; max-width:100%;
}
#reservation-form .wpcf7 input[type="text"], #reservation-form .wpcf7 input[type="email"],
#reservation-form .wpcf7 input[type="tel"] { width:100%; }
#reservation-form .wpcf7 input[name="zip"], #reservation-form .wpcf7 select[name="pref"] { width:200px; }
#reservation-form .wpcf7 input[name="tel"] { width:300px; }
#reservation-form .mb15 > p:has(input[name="zip"]),
#reservation-form .mb15 > p:has(select[name="pref"]) { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
#reservation-form .mb15 .small_ttl_in { margin-right:0; }
#reservation-form .calendar::before, #reservation-form .calendar::after { content:none!important; display:none!important; }
#reservation-form .wpcf7 .calendar input[type="date"] { padding-left:13px; width:250px!important; }
#reservation-form .pref_row > p { flex:0 0 auto; }
#reservation-form .pref_row .pref_badge { display:inline-block; }
#reservation-form .wpcf7 .pref_time { width:150px!important; }
#reservation-form .radio_group > p { margin:0; }
#reservation-form .wpcf7 .wpcf7-list-item { display:inline-block; margin:0; }
#reservation-form .wpcf7 .wpcf7-list-item-label { font-size:inherit; line-height:1.5; }
#reservation-form .radio_group .wpcf7-radio, #reservation-form .radio_group .wpcf7-checkbox { gap:15px; }
#reservation-form .wpcf7 input[type="checkbox"], #reservation-form .wpcf7 input[type="radio"] { padding:0; width:18px; height:18px; margin:0; }
#reservation-form .radio_group input[type="checkbox"], #reservation-form .radio_group input[type="radio"] { width:1px; height:1px; }
#reservation-form .wpcf7 textarea { height:150px; min-height:150px; }
#reservation-form .wpcf7-form-control-wrap[data-name="doctor_pref"] { margin-top:10px; }
#reservation-form .wpcf7-form-control-wrap[data-name="doctor_pref"] label { display:inline-flex; align-items:center; gap:8px; }
#reservation-form .privacy_check_area { width:300px; max-width:100%; margin:30px auto; }
#reservation-form .privacy_check_area > p + p { margin-top:12px; }
#reservation-form .privacy_check_area .wpcf7-acceptance label { font-size:16px!important; }
#reservation-form .privacy_check_area > p:first-child label { font-size:18px!important; font-weight:bold; }
#reservation-form .privacy_check_area > p:first-child input { width:20px; height:20px; }
#reservation-form .wpcf7 input.wpcf7-submit {
 display:inline-block; position:relative; width:auto; height:auto; margin:0; padding:18px 120px;
 border:2px solid #00a8ad!important; border-radius:4px; background:#00a8ad; color:#fff;
 font-size:18px!important; font-weight:bold; line-height:1.5; max-width:100%;
}
#reservation-form .wpcf7 input.wpcf7-submit:hover { background:#fff; color:#00a8ad; }
#reservation-form .wpcf7 form .wpcf7-response-output { margin:20px 0; padding:15px; border:2px solid #c83224; text-align:left; }
#reservation-form .wpcf7 form.sent .wpcf7-response-output { border-color:#00a8ad; }
#reservation-form .wpcf7 input:focus-visible, #reservation-form .wpcf7 select:focus-visible,
#reservation-form .wpcf7 textarea:focus-visible { outline:2px solid #00a8ad; outline-offset:2px; }
@media(max-width:950px) {
 #reservation-form .wpcf7 .form_table th, #reservation-form .wpcf7 .form_table td { width:100%; border:0; }
 #reservation-form .wpcf7 .form_table th { padding:10px 0 5px; font-weight:bold; }
 #reservation-form .wpcf7 .form_table td { padding:5px 0 10px; }
 #reservation-form .flex_row .wpcf7-form-control-wrap[data-name] { flex:auto; width:100%; }
 #reservation-form .wpcf7 .calendar input[type="date"], #reservation-form .wpcf7 .pref_time,
 #reservation-form .wpcf7 select[name="pref"] { width:100%!important; }
 #reservation-form .radio_group > p { width:100%; }
 #reservation-form .radio_group .wpcf7-radio, #reservation-form .radio_group .wpcf7-checkbox { gap:8px; }
 #reservation-form .wpcf7 input.wpcf7-submit { width:100%; padding:15px 20px; }
}
/* PC：住所のラベルと入力欄を横並び */
@media screen and (min-width: 951px) {
  #reservation-form .form_table .mb15:has(input[name="zip"]),
  #reservation-form .form_table .mb15:has(select[name="pref"]) {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
  }

  #reservation-form .form_table .mb15 .small_ttl_in {
    flex: 0 0 80px;
    margin: 0;
  }

  #reservation-form .form_table .mb15
  > .wpcf7-form-control-wrap[data-name="zip"],
  #reservation-form .form_table .mb15
  > .wpcf7-form-control-wrap[data-name="pref"] {
    flex: 0 0 200px;
    width: 200px;
  }
  .grecaptcha-badge{
    bottom: 120px !important;
  }
}

.form_sanka .complete_message {
  padding: 20px 0;
  text-align: center;
  line-height: 1.8;
}

.form_sanka .complete_message h2 {
  margin: 0 0 30px;
  padding: 0;
  border: none;
  background: none;
  color: #00a8ad;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
}

.form_sanka .complete_message > p {
  margin: 0 0 25px;
}

.form_sanka .complete_message .info_box {
  margin: 30px 0;
}

.form_sanka .complete_message .info_box p {
  margin: 0;
}

.form_sanka .complete_note {
  font-size: 14px;
}

.form_sanka .complete_contact a {
  color: #00a8ad;
  text-decoration: underline;
}

.form_sanka .complete_back {
  display: inline-block;
  max-width: 100%;
  padding: 16px 40px;
  border: 2px solid #00a8ad;
  border-radius: 4px;
  background: #00a8ad;
  color: #fff;
  font-size: 16px;
  text-decoration: none;
  transition: background .3s, color .3s;
}

.form_sanka .complete_back:hover {
  background: #fff;
  color: #00a8ad;
}

@media screen and (max-width: 950px) {
  .form_sanka .complete_message h2 {
    font-size: 20px;
  }

  .form_sanka .complete_back {
    display: block;
    padding: 15px 20px;
  }
}