@charset "UTF-8";

.wpcf7-not-valid-tip,
.font-mincho {
  font-family: 'Mincho', 'Noto-Serif-JP', 'Hiragino Mincho ProN', serif;
}
/* ==================================================
訪問歯科診療 お申し込みフォーム
================================================== */
/* ==================================================
フォーム全体
================================================== */
#application_form_wrapper .p-form .p-form-frame {
  overflow: visible;
  margin-bottom: 100px;
  background: none;
  border: 0;
  border-radius: 0;
}

/* ==================================================
セクション
================================================== */

#application_form_wrapper .p-form .p-form-section {
  margin-bottom: 80px;
}
#application_form_wrapper .p-form .p-form-section:last-child {
  margin-bottom: 0;
}
#application_form_wrapper .p-form .p-form-section__title {
  font-family: 'Mincho', 'Noto-Serif-JP', 'Hiragino Mincho ProN', serif;
  margin: 0 0 30px;
  padding: 14px 28px;
  font-size: 2rem;
  font-weight: 400;
  color: #fff;
  line-height: 1.5;
  background-color: #968719;
  border-radius: 4px;
}
#application_form_wrapper .p-form .p-form-section__description {
  margin-bottom: 30px;
}
#application_form_wrapper .p-form .p-form-section__description p {
  margin: 0;
}
#application_form_wrapper .p-form .p-form-section__description p + p {
  margin-top: 10px;
}
#application_form_wrapper .p-form .p-form-section__attention {
  color: #ef4b4b;
}

/* ==================================================
基本入力欄
================================================== */
#application_form_wrapper
  .p-form
  .p-form-frame
  input:not([type='radio']):not([type='checkbox']):not([type='file']):not([type='submit']):not([type='reset']):not(
    [type='range']
  ):not([type='color']),
#application_form_wrapper .p-form .p-form-frame select,
#application_form_wrapper .p-form .p-form-frame textarea {
  padding: 15px;
}

#application_form_wrapper .p-form .p-form-frame select {
  padding-right: 36px;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23333' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px 8px;
}
/* ==================================================
フォーム項目
================================================== */
#application_form_wrapper .p-form .p-formset {
  display: block;
  margin-bottom: 50px;
  border-bottom: 0;
}
#application_form_wrapper .p-form .p-formset__header {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 100%;
  padding: 0 0 10px;
  background-color: transparent;
  border: none;
}

#application_form_wrapper .p-form .p-formset-label {
  font-family: 'Mincho', 'Noto-Serif-JP', 'Hiragino Mincho ProN', serif;
  display: block;
  width: auto;
  font-size: 1.8rem;
  line-height: 1.5;
}

#application_form_wrapper .p-form .p-formset-label__note {
  display: inline-block;
  margin-left: 10px;
  font-size: 1.5rem;
  font-weight: 400;
}

#application_form_wrapper .p-form .p-formset__content {
  width: 100%;
  padding: 0;
}

#application_form_wrapper .p-form .p-formset__contentInner {
  width: 100%;
}

#application_form_wrapper .p-form .p-formset-note {
  margin: 8px 0 0;
  font-size: 1.3rem;
  line-height: 1.6;
}

/* ==================================================
必須・任意
================================================== */

#application_form_wrapper .p-form .p-formset-status {
  display: inline-flex;
  flex: 0 0 40px;
  align-items: center;
  justify-content: center;
  width: 40px;
  margin: 0 10px 0 0;
  padding: 5px;
  font-size: 1.3rem;
  line-height: 1;
  color: #fff;
  border-radius: 3px;
}

#application_form_wrapper .p-form .p-formset-status--required {
  background-color: #ef4b4b;
}

#application_form_wrapper .p-form .p-formset-status--optional {
  background-color: #ccc;
  color: #333;
}

/* ==================================================
ラジオ・チェックボックス
================================================== */

#application_form_wrapper .p-form .p-form-lists .wpcf7-form-control {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 10px;
  width: 100%;
}

#application_form_wrapper .p-form .p-form-lists .wpcf7-list-item {
  display: flex;
  width: auto;
  margin: 0;
}

#application_form_wrapper .p-form .p-form-lists .wpcf7-list-item label {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 54px;
  padding: 10px;
  background-color: #f5f5f5;
  border-radius: 8px;
}
#application_form_wrapper .p-form .p-form-frame .p-form-lists input + span:before {
  border: none;
}

/* checkbox / radio 本体 */

#application_form_wrapper .p-form .p-form-frame .p-form-lists input[type='checkbox'],
#application_form_wrapper .p-form .p-form-frame .p-form-lists input[type='radio'] {
  position: relative;
  z-index: 2;
  flex: 0 0 2.4rem;
  width: 2.4rem;
  height: 2.4rem;
  margin: 0 10px 0 0;
  border: 1px solid #ccc;
  background-color: #eee;
}

/* radio */

#application_form_wrapper .p-form .p-form-frame .p-form-lists input[type='radio'] {
  border-radius: 50%;
  box-shadow: inset 0 0 0 0.5rem #eee;
}

#application_form_wrapper .p-form .p-form-frame .p-form-lists input[type='radio']:checked {
  background-color: #168eff;
}

/* checkbox */

#application_form_wrapper .p-form .p-form-frame .p-form-lists input[type='checkbox'] {
  border-radius: 3px;
}

/* テキスト */

#application_form_wrapper .p-form .p-form-lists input[type='checkbox'] + span,
#application_form_wrapper .p-form .p-form-lists input[type='radio'] + span {
  position: relative;
  z-index: 2;
}

/* 選択肢全体の枠 */

#application_form_wrapper .p-form .p-form-lists input + span::before {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: '';
  pointer-events: none;
  border: 1px solid #ccc;
  border-radius: 8px;
}

/* ==================================================
縦並びのラジオ・チェックボックス
================================================== */

#application_form_wrapper .p-form .p-form-lists--vertical .wpcf7-form-control {
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

#application_form_wrapper .p-form .p-form-lists--vertical .wpcf7-list-item {
  width: 400px;
  max-width: 100%;
  margin: 0;
}

#application_form_wrapper .p-form .p-form-lists--vertical .wpcf7-list-item label {
  width: 100%;
  font-size: 15px;
}

/* ==================================================
選択肢 + 入力欄
================================================== */

#application_form_wrapper .p-form .p-form-list-with-input {
  display: flex;
  align-items: stretch;
  gap: 10px;
  width: 100%;
  margin: 0;
}

#application_form_wrapper .p-form .p-form-list-with-input > .wpcf7-list-item {
  flex: 0 0 auto;
}

#application_form_wrapper .p-form .p-form-list-with-input > .wpcf7-list-item label {
  height: 100%;
}

#application_form_wrapper .p-form .p-form-list-with-input > input,
#application_form_wrapper .p-form .p-form-list-with-input > select {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
}

/* ==================================================
メールの確認
================================================== */

#application_form_wrapper .p-form #email-copy {
  color: #313131;
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 0.8rem;
  margin-left: 2rem;
  margin-top: 1rem;
}

/* ==================================================
生年月日
================================================== */

#application_form_wrapper .p-form .p-form-date {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: 10px;
  width: 100%;
}

#application_form_wrapper .p-form .p-form-date select {
  width: auto;
  min-width: 0;
  margin: 0;
}

#application_form_wrapper .p-form .p-form-date .p-form-date__year {
  flex: 0 0 160px;
  width: 160px;
}

#application_form_wrapper .p-form .p-form-date .p-form-date__month,
#application_form_wrapper .p-form .p-form-date .p-form-date__day {
  flex: 0 0 120px;
  width: 120px;
}

#application_form_wrapper .p-form .p-form-date__unit {
  flex: 0 0 auto;
  white-space: nowrap;
}
#application_form_wrapper .p-form .p-form-date .wpcf7-form-control-wrap {
  width: auto;
}

/* ==================================================
住所
================================================== */

#application_form_wrapper .p-form .p-form-address {
  display: flex;
  flex-direction: column;
  gap: 15px;
  width: 100%;
}

#application_form_wrapper .p-form .p-form-address__row {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  width: 100%;
}

#application_form_wrapper .p-form .p-form-address__label {
  display: block;
  width: auto;
  white-space: nowrap;
}

#application_form_wrapper .p-form .p-form-address__row > input {
  width: 100% !important;
  min-width: 0;
  margin: 0;
}

/* 郵便番号 */

#application_form_wrapper .p-form .p-form-address__row--postal {
  grid-template-columns: 30px 185px minmax(0, 1fr);
}

#application_form_wrapper .p-form .p-form-address__row--postal .your-postal-code {
  width: 185px !important;
}

#application_form_wrapper .p-form .p-form-address__note {
  min-width: 0;
  font-size: 1.3rem;
  line-height: 1.5;
}

/* ==================================================
6. 病歴
================================================== */

/*
PC

[ チェック項目             ] [ 詳細項目              ]
[ 特になし                 ]
[ 脳血管のご病気           ] [ 120 / 80 mmHg          ]
[ 心臓のご病気             ] [ ペースメーカーの有無   ]
[ 糖尿病                   ] [ HbA1c                  ]
[ 認知症                   ]
[ 骨粗鬆症                 ]
[ 肝炎・HIVなど            ]
[ その他                   ] [ 自由記入               ]

チェックは1つの [checkbox*] なので、CF7は選択肢をまとめて出力する。
包み要素を display:contents にして、各選択肢と詳細ブロックを同じグリッドの行に置く。
行番号は選択肢の並び順に依存する。
*/

#application_form_wrapper .p-form .p-form-lists--split {
  display: grid;
  grid-template-columns: 420px minmax(0, 1fr);
  align-items: stretch;
  column-gap: 15px;
  row-gap: 10px;
  width: 100%;
}

#application_form_wrapper .p-form .p-form-lists--split > .wpcf7-form-control-wrap,
#application_form_wrapper .p-form .p-form-lists--split > .wpcf7-form-control-wrap > .wpcf7-checkbox {
  display: contents;
}

#application_form_wrapper .p-form .p-form-lists--split .wpcf7-list-item {
  grid-column: 1;
  width: 100%;
  max-width: none;
  height: 100%;
}

#application_form_wrapper .p-form .p-form-lists--medical .wpcf7-list-item:nth-child(1) {
  grid-row: 1;
}
#application_form_wrapper .p-form .p-form-lists--medical .wpcf7-list-item:nth-child(2) {
  grid-row: 2;
}
#application_form_wrapper .p-form .p-form-lists--medical .wpcf7-list-item:nth-child(3) {
  grid-row: 3;
}
#application_form_wrapper .p-form .p-form-lists--medical .wpcf7-list-item:nth-child(4) {
  grid-row: 4;
}
#application_form_wrapper .p-form .p-form-lists--medical .wpcf7-list-item:nth-child(5) {
  grid-row: 5;
}
#application_form_wrapper .p-form .p-form-lists--medical .wpcf7-list-item:nth-child(6) {
  grid-row: 6;
}
#application_form_wrapper .p-form .p-form-lists--medical .wpcf7-list-item:nth-child(7) {
  grid-row: 7;
}
#application_form_wrapper .p-form .p-form-lists--medical .wpcf7-list-item:nth-child(8) {
  grid-row: 8;
}

#application_form_wrapper .p-form .p-form-lists--split .wpcf7-list-item label {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
}

#application_form_wrapper .p-form .p-form-lists--medical > .wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
  grid-column: 1 / -1;
  grid-row: 9;
  font-family: 'Mincho', 'Noto-Serif-JP', 'Hiragino Mincho ProN', serif;
}

#application_form_wrapper .p-form .p-form-medical-detail--brain {
  grid-column: 2;
  grid-row: 2;
}

#application_form_wrapper .p-form .p-form-medical-detail--heart {
  grid-column: 2;
  grid-row: 3;
}

#application_form_wrapper .p-form .p-form-medical-detail--diabetes {
  grid-column: 2;
  grid-row: 4;
}

#application_form_wrapper .p-form .p-form-medical-detail--other {
  grid-column: 2;
  grid-row: 8;
}

#application_form_wrapper .p-form .p-form-lists--visit-reason .p-form-list-other {
  grid-column: 2;
  grid-row: 5;
}

#application_form_wrapper .p-form .p-form-lists--visit-reason > .wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
  grid-column: 1 / -1;
  grid-row: 6;
}

#application_form_wrapper .p-form .p-form-lists--dental-request .p-form-list-other {
  grid-column: 2;
  grid-row: 7;
}

#application_form_wrapper .p-form .p-form-lists--dental-request > .wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
  grid-column: 1 / -1;
  grid-row: 8;
}

/* ==================================================
病歴 詳細項目
================================================== */

/*
表示・非表示は Conditional Fields の [group] が行う。
詳細グループ自身が display:flex のため、
プラグインの非表示指定より優先されないよう、hidden のときだけ display:none にする。
*/

#application_form_wrapper .p-form .p-form-medical-detail {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
}

#application_form_wrapper .p-form .p-form-medical-detail.wpcf7cf-hidden {
  display: none;
}

#application_form_wrapper .p-form .p-form-medical-detail > .wpcf7-form-control-wrap {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
}

#application_form_wrapper .p-form .p-form-medical-detail select,
#application_form_wrapper .p-form .p-form-medical-detail input[type='text'] {
  width: 100%;
  min-width: 0;
  margin: 0;
}

/* ==================================================
数値 + 単位
================================================== */

#application_form_wrapper .p-form .p-form-unit {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
}

#application_form_wrapper .p-form .p-form-unit > .wpcf7-form-control-wrap {
  flex: 1 1 0;
  min-width: 0;
}

#application_form_wrapper .p-form .p-form-unit input {
  width: 100%;
  min-width: 0;
}

/* 血圧 */

#application_form_wrapper .p-form .p-form-unit--blood-pressure input {
  width: 100% !important;
  min-width: 0;
}

/* HbA1c */

#application_form_wrapper .p-form .p-form-unit--hba1c > .wpcf7-form-control-wrap {
  flex: 1 1 auto;
}

#application_form_wrapper .p-form .p-form-unit--hba1c input {
  width: 100% !important;
  min-width: 0;
}

#application_form_wrapper .p-form .p-form-unit__separator,
#application_form_wrapper .p-form .p-form-unit__text {
  flex: 0 0 auto;
  white-space: nowrap;
}

/* ==================================================
ファイル
================================================== */

#application_form_wrapper .p-form .p-form-frame input[type='file'] {
  width: 100%;
  font-size: 1.3rem;
}

/* ==================================================
個人情報
================================================== */

#application_form_wrapper .p-form .p-form-privacy {
  margin-top: 50px;
}

#application_form_wrapper .p-form .p-form-privacy__text {
  margin: 0 0 20px;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
}

#application_form_wrapper .p-form .p-form-privacy__text a {
  text-decoration: underline;
}

#application_form_wrapper .p-form .p-form-acceptance .wpcf7-form-control {
  justify-content: flex-start;
}

#application_form_wrapper .p-form .p-form-acceptance .wpcf7-form-control .wpcf7-list-item label,
#application_form_wrapper .p-form .p-form-acceptance .wpcf7-form-control .wpcf7-list-item .wpcf7-list-item-label {
  background-color: #fff6f6;
  color: #222;
  font-size: 1.3rem;
}

/* ==================================================
送信
================================================== */

#application_form_wrapper .p-form .p-form-submit {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 50px;
}

#application_form_wrapper .p-form .p-form-submit__text {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2;
}
#application_form_wrapper .p-form .wpcf7 form .wpcf7-response-output {
  margin: 0;
}

#application_form_wrapper .p-form .p-form-submit .wpcf7-submit {
  font-family: 'Mincho', 'Noto-Serif-JP', 'Hiragino Mincho ProN', serif;
  width: 375px;
  height: 80px;
  margin: 0 auto;
  background-color: #928322;
  color: #fff;
  font-size: 2rem;
  border-radius: 0;
}
#application_form_wrapper .p-form .p-form-submit.is-desabled .wpcf7-submit,
#application_form_wrapper .p-form .p-form-submit .wpcf7-submit:disabled {
  pointer-events: none;
  background-color: #ccc;
  box-shadow: none;
  border: none;
}

/* ==================================================
SP
================================================== */

@media screen and (max-width: 767px) {
  /* ----------------------------------------------
  フォーム
---------------------------------------------- */

  #application_form_wrapper .p-form .p-form-frame {
    margin-bottom: 60px;
  }

  /* ----------------------------------------------
  セクション
---------------------------------------------- */

  #application_form_wrapper .p-form .p-form-section {
    margin-bottom: 50px;
  }

  #application_form_wrapper .p-form .p-form-section__title {
    margin-bottom: 25px;
    padding: 12px 15px;
    font-size: 1.7rem;
  }

  /* ----------------------------------------------
  項目
---------------------------------------------- */

  #application_form_wrapper .p-form .p-formset {
    margin-bottom: 35px;
  }

  #application_form_wrapper .p-form .p-formset__header {
    align-items: flex-start;
  }

  #application_form_wrapper .p-form .p-formset-label {
    font-size: 1.6rem;
  }

  #application_form_wrapper .p-form .p-formset-label__note {
    display: block;
    margin: 4px 0 0;
    font-size: 1.3rem;
  }

  /* ----------------------------------------------
  必須・任意
---------------------------------------------- */

  #application_form_wrapper .p-form .p-formset-status {
    flex: 0 0 40px;
    width: 40px;
  }

  /* ----------------------------------------------
  ラジオ・チェック
---------------------------------------------- */

  #application_form_wrapper .p-form .p-form-lists .wpcf7-form-control {
    gap: 8px;
  }

  #application_form_wrapper .p-form .p-form-lists .wpcf7-list-item label {
    min-height: 50px;
    padding: 8px;
  }

  /* ----------------------------------------------
  縦並び
---------------------------------------------- */

  #application_form_wrapper .p-form .p-form-lists--vertical .wpcf7-form-control {
    align-items: stretch;
  }

  #application_form_wrapper .p-form .p-form-lists--vertical .wpcf7-list-item {
    width: 100%;
  }

  #application_form_wrapper .p-form .p-form-lists--vertical .wpcf7-list-item label {
    width: 100%;
  }

  /* ----------------------------------------------
  選択肢 + 入力欄
---------------------------------------------- */

  #application_form_wrapper .p-form .p-form-list-with-input {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  #application_form_wrapper .p-form .p-form-list-with-input > .wpcf7-list-item {
    width: 100%;
  }

  #application_form_wrapper .p-form .p-form-list-with-input > .wpcf7-list-item label {
    width: 100%;
  }

  #application_form_wrapper .p-form .p-form-list-with-input > input,
  #application_form_wrapper .p-form .p-form-list-with-input > select {
    width: 100%;
  }

  /* ----------------------------------------------
  生年月日

  SPでも1行
---------------------------------------------- */

  #application_form_wrapper .p-form .p-form-date {
    display: grid;
    grid-template-columns:
      minmax(0, 1fr) auto
      minmax(0, 1fr) auto
      minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px;
    width: 100%;
  }

  #application_form_wrapper .p-form .p-form-date .p-form-date__year,
  #application_form_wrapper .p-form .p-form-date .p-form-date__month,
  #application_form_wrapper .p-form .p-form-date .p-form-date__day {
    width: 100%;
    min-width: 0;
  }

  /* ----------------------------------------------
  住所
---------------------------------------------- */

  #application_form_wrapper .p-form .p-form-address {
    gap: 20px;
  }

  #application_form_wrapper .p-form .p-form-address__row {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  #application_form_wrapper .p-form .p-form-address__label {
    width: 100%;
  }

  /* 郵便番号 */

  #application_form_wrapper .p-form .p-form-address__row--postal {
    grid-template-columns: 25px minmax(0, 185px);
  }

  #application_form_wrapper .p-form .p-form-address__row--postal #application_form_wrapper .p-form-address__label {
    width: auto;
  }

  #application_form_wrapper .p-form .p-form-address__row--postal .your-postal-code {
    width: 100% !important;
  }

  #application_form_wrapper .p-form .p-form-address__row--postal #application_form_wrapper .p-form-address__note {
    grid-column: 1 / -1;
    padding-left: 35px;
  }

  /* ----------------------------------------------
  6. 病歴

  SPでは
  チェック項目
      ↓
  詳細項目
---------------------------------------------- */

  #application_form_wrapper .p-form .p-form-lists--split {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 10px;
  }

  #application_form_wrapper .p-form .p-form-lists--split .wpcf7-list-item {
    grid-column: 1;
    width: 100%;
  }

  #application_form_wrapper .p-form .p-form-lists--medical .wpcf7-list-item:nth-child(1) {
    grid-row: 1;
  }
  #application_form_wrapper .p-form .p-form-lists--medical .wpcf7-list-item:nth-child(2) {
    grid-row: 2;
  }
  #application_form_wrapper .p-form .p-form-lists--medical .wpcf7-list-item:nth-child(3) {
    grid-row: 4;
  }
  #application_form_wrapper .p-form .p-form-lists--medical .wpcf7-list-item:nth-child(4) {
    grid-row: 6;
  }
  #application_form_wrapper .p-form .p-form-lists--medical .wpcf7-list-item:nth-child(5) {
    grid-row: 8;
  }
  #application_form_wrapper .p-form .p-form-lists--medical .wpcf7-list-item:nth-child(6) {
    grid-row: 9;
  }
  #application_form_wrapper .p-form .p-form-lists--medical .wpcf7-list-item:nth-child(7) {
    grid-row: 10;
  }
  #application_form_wrapper .p-form .p-form-lists--medical .wpcf7-list-item:nth-child(8) {
    grid-row: 11;
  }

  #application_form_wrapper .p-form .p-form-lists--medical > .wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
    grid-column: 1;
    grid-row: 13;
  }

  /*
  非表示の詳細は行を潰す。チェックの行番号は固定し、詳細と重ならないようにする。
  特になし、脳血管、血圧、心臓、ペースメーカー、糖尿病、HbA1c、
  認知症、骨粗鬆症、肝炎、その他、自由記入
  */

  #application_form_wrapper .p-form .p-form-medical-detail--brain {
    grid-column: 1;
    grid-row: 3;
  }

  #application_form_wrapper .p-form .p-form-medical-detail--heart {
    grid-column: 1;
    grid-row: 5;
  }

  #application_form_wrapper .p-form .p-form-medical-detail--diabetes {
    grid-column: 1;
    grid-row: 7;
  }

  #application_form_wrapper .p-form .p-form-medical-detail--other {
    grid-column: 1;
    grid-row: 12;
  }

  #application_form_wrapper .p-form .p-form-lists--visit-reason .p-form-list-other {
    grid-column: 1;
    grid-row: 6;
  }

  #application_form_wrapper .p-form .p-form-lists--visit-reason > .wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
    grid-column: 1;
    grid-row: 7;
  }

  #application_form_wrapper .p-form .p-form-lists--dental-request .p-form-list-other {
    grid-column: 1;
    grid-row: 8;
  }

  #application_form_wrapper .p-form .p-form-lists--dental-request > .wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
    grid-column: 1;
    grid-row: 9;
  }

  /* 詳細欄 */

  #application_form_wrapper .p-form .p-form-medical-detail {
    display: flex;
    width: 100%;
  }

  /* ----------------------------------------------
  血圧

  [120] / [80] mmHg
---------------------------------------------- */

  #application_form_wrapper .p-form .p-form-unit--blood-pressure {
    display: grid;
    grid-template-columns:
      minmax(0, 1fr)
      auto
      minmax(0, 1fr)
      auto;
    align-items: center;
    gap: 6px;
  }

  #application_form_wrapper .p-form .p-form-unit--blood-pressure input {
    width: 100% !important;
    min-width: 0;
  }

  /* ----------------------------------------------
  HbA1c

  [数値] %
---------------------------------------------- */

  #application_form_wrapper .p-form .p-form-unit--hba1c {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
  }

  #application_form_wrapper .p-form .p-form-unit--hba1c input {
    width: 100% !important;
  }

  /* ----------------------------------------------
  個人情報
---------------------------------------------- */

  #application_form_wrapper .p-form .p-form-privacy {
    margin-top: 40px;
  }

  #application_form_wrapper .p-form .p-form-privacy__text {
    font-size: 1.6rem;
  }

  /* ----------------------------------------------
  送信
---------------------------------------------- */

  #application_form_wrapper .p-form .p-form-submit {
    margin-top: 20px;
  }

  #application_form_wrapper .p-form .p-form-submit__text {
    margin-top: 35px;
    margin-bottom: 35px;
    font-size: 1.3rem;
  }
}

/* ==================================================
小さいスマートフォン
================================================== */

@media screen and (max-width: 480px) {
  #application_form_wrapper .p-form .p-form-unit--blood-pressure {
    gap: 5px;
  }

  #application_form_wrapper .p-form .p-form-unit--blood-pressure input {
    min-width: 0;
  }
}
/* ========================================
   CF7 ファイルアップロード
======================================== */

.p-file-upload {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 10px;
  flex-direction: row;
}
@media screen and (max-width: 768px) {
  .p-file-upload {
    flex-direction: column;
  }
}

/* CF7のファイル入力欄 */
.p-file-upload .wpcf7-form-control-wrap {
  max-width: 100%;
  min-width: 0;
}

.p-file-upload input[type='file'] {
  max-width: 100%;
}

/* 削除ボタン：初期状態は非表示 */
.p-file-upload .js-file-clear {
  display: none;
  padding: 6px 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #fff;
  color: #333;
  width: 60px;
  font-size: 14px;
  line-height: 1.5;
  cursor: pointer;
  transition:
    background-color 0.2s,
    border-color 0.2s;
}

/* ファイル選択時に表示 */
.p-file-upload .js-file-clear.is-visible {
  display: inline-block;
}

/* ホバー */
.p-file-upload .js-file-clear:hover {
  background-color: #f5f5f5;
  border-color: #999;
}

/* キーボード操作時 */
.p-file-upload .js-file-clear:focus-visible {
  outline: 2px solid #333;
  outline-offset: 2px;
}

/* スマートフォン */
@media screen and (max-width: 767px) {
  .p-file-upload {
    align-items: flex-start;
  }

  .p-file-upload .wpcf7-form-control-wrap {
    width: 100%;
  }
}
