/**
 * Contact Form 7 表示時の上書き（納品の style.css は差し替えない）
 * cf7-html-form が <ul> を .lp-recruit-form__cf7-checkbox-wrap に置き換えたブロック向け
 *
 * 納品 HTML: input + .lp-recruit-form__checkbox-custom + .lp-recruit-form__checkbox-text
 * CF7: label 内に input + .wpcf7-list-item-label → 疑似要素で円・チェック印を再現
 *
 * フォーム関連の見た目調整はこのファイルに集約（style.css はマージ負荷回避のため触らない）
 */

/* ---- CF7 フィールド下のインライン検証メッセージ ---- */
.lp-recruit .wpcf7-not-valid-tip {
  display: none !important;
}

/* =====================================================================
 * CF7 の <p> / .wpcf7-form-control-wrap を「無いとき」と同じ見た目に近づける
 * - 納品の .lp-recruit p { max(14px,1em) } が効くと input の 1.125em の基準が変わる
 * - field-wrap > input 前提の flex が、直下が <p> だと効かない
 * ===================================================================== */

/*
 * 外側の <p>（wpautop）が .field-wrap の親だと、field-wrap はすでに 14px を継承している。
 * 内側の p に font-size:inherit だけでは 14px→1.125em=15.75px のまま。
 *
 * 納品 style.css の .lp-recruit と同じ式を field-wrap に直指定し、
 * 「p が無いとき」と同じ px 基準に戻す（style.css は触らないため式をここに複製）。
 */
.lp-recruit
  .lp-recruit-form
  form.wpcf7-form
  .lp-recruit-form__body
  .lp-recruit-form__field-wrap,
.lp-recruit
  .lp-recruit-form
  form.wpcf7-form
  .lp-recruit-form__body
  .lp-recruit-form__field,
.lp-recruit
  form.wpcf7-form
  .lp-recruit-form__body
  .lp-recruit-form__field-wrap,
.lp-recruit
  form.wpcf7-form
  .lp-recruit-form__body
  .lp-recruit-form__field {
  font-size: clamp(10px, 1.1594vw, 17px);
}

@media screen and (max-width: 767px) {
  .lp-recruit
    .lp-recruit-form
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field-wrap,
  .lp-recruit
    .lp-recruit-form
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field-wrap,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field {
    font-size: 100%;
  }
}

@media (max-width: 375px) {
  .lp-recruit
    .lp-recruit-form
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field-wrap,
  .lp-recruit
    .lp-recruit-form
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field-wrap,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field {
    font-size: 4.2666666667vw;
  }
}

/*
 * CF7 が残す <p> は style.css の .lp-recruit p:not(...) { max(14px,1em) } と詳細度が拮抗しうる。
 * inherit だけでは後読み込みに負けるため、.lp-recruit と同じスケールを !important で固定する。
 */
.lp-recruit
  .lp-recruit-form
  form.wpcf7-form
  .lp-recruit-form__body
  .lp-recruit-form__field-wrap
  p,
.lp-recruit
  .lp-recruit-form
  form.wpcf7-form
  .lp-recruit-form__body
  .lp-recruit-form__field
  p,
.lp-recruit
  form.wpcf7-form
  .lp-recruit-form__body
  .lp-recruit-form__field-wrap
  p,
.lp-recruit
  form.wpcf7-form
  .lp-recruit-form__body
  .lp-recruit-form__field
  p {
  font-size: clamp(10px, 1.1594vw, 17px) !important;
  line-height: normal;
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 767px) {
  .lp-recruit
    .lp-recruit-form
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field-wrap
    p,
  .lp-recruit
    .lp-recruit-form
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field
    p,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field-wrap
    p,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field
    p {
    font-size: 100% !important;
  }
}

@media (max-width: 375px) {
  .lp-recruit
    .lp-recruit-form
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field-wrap
    p,
  .lp-recruit
    .lp-recruit-form
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field
    p,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field-wrap
    p,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field
    p {
    font-size: 4.2666666667vw !important;
  }
}

/*
 * 親 <p> が残っても em 基準を .lp-recruit の clamp に固定（1024 以下・SP は style.css に合わせる）
 */
@media screen and (min-width: 1025px) {
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field-wrap input.wpcf7-form-control.lp-recruit-form__input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field input.wpcf7-form-control.lp-recruit-form__input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field-wrap input.wpcf7-form-control.lp-recruit-datepicker-full,
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field input.wpcf7-form-control.lp-recruit-datepicker-full,
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field-wrap select.wpcf7-form-control.lp-recruit-form__select,
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field select.wpcf7-form-control.lp-recruit-form__select,
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field-wrap select.wpcf7-form-control.lp-recruit-form__input--time,
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field select.wpcf7-form-control.lp-recruit-form__input--time {
    font-size: calc(1.125 * clamp(10px, 1.1594vw, 17px)) !important;
  }
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field-wrap input.wpcf7-form-control.lp-recruit-form__input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field input.wpcf7-form-control.lp-recruit-form__input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field-wrap input.wpcf7-form-control.lp-recruit-datepicker-full,
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field input.wpcf7-form-control.lp-recruit-datepicker-full,
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field-wrap select.wpcf7-form-control.lp-recruit-form__select,
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field select.wpcf7-form-control.lp-recruit-form__select,
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field-wrap select.wpcf7-form-control.lp-recruit-form__input--time,
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field select.wpcf7-form-control.lp-recruit-form__input--time {
    font-size: 14px !important;
  }
}

@media screen and (max-width: 767px) {
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field-wrap input.wpcf7-form-control.lp-recruit-form__input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field input.wpcf7-form-control.lp-recruit-form__input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field-wrap input.wpcf7-form-control.lp-recruit-datepicker-full,
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field input.wpcf7-form-control.lp-recruit-datepicker-full,
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field-wrap select.wpcf7-form-control.lp-recruit-form__select,
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field select.wpcf7-form-control.lp-recruit-form__select,
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field-wrap select.wpcf7-form-control.lp-recruit-form__input--time,
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field select.wpcf7-form-control.lp-recruit-form__input--time {
    font-size: 1em !important;
  }
}

.lp-recruit
  .lp-recruit-form
  form.wpcf7-form
  .lp-recruit-form__body
  .lp-recruit-form__field-wrap
  .wpcf7-form-control-wrap,
.lp-recruit
  .lp-recruit-form
  form.wpcf7-form
  .lp-recruit-form__body
  .lp-recruit-form__field
  .wpcf7-form-control-wrap,
.lp-recruit
  form.wpcf7-form
  .lp-recruit-form__body
  .lp-recruit-form__field-wrap
  .wpcf7-form-control-wrap,
.lp-recruit
  form.wpcf7-form
  .lp-recruit-form__body
  .lp-recruit-form__field
  .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

/*
 * 希望日時: form.wpcf7-form 配下の .wpcf7-form-control-wrap{width:100%} の詳細度が
 * .lp-recruit-form__datetime だけの上書きより高く、日付ラッパーが行全体を取って時間が右端に寄る。
 * 納品 style.css と同じ横並び（gap・各子の幅）に揃える。
 */
.lp-recruit
  .lp-recruit-form
  form.wpcf7-form
  .lp-recruit-form__body
  .lp-recruit-form__datetime
  .wpcf7-form-control-wrap,
.lp-recruit
  form.wpcf7-form
  .lp-recruit-form__body
  .lp-recruit-form__datetime
  .wpcf7-form-control-wrap {
  display: block;
  width: auto !important;
  max-width: none;
  flex: 0 0 auto !important;
  min-width: 0;
}

.lp-recruit
  .lp-recruit-form
  form.wpcf7-form
  .lp-recruit-form__body
  .lp-recruit-form__datetime,
.lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__datetime {
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
}

.lp-recruit
  .lp-recruit-form
  form.wpcf7-form
  .lp-recruit-form__body
  .lp-recruit-form__datetime
  .lp-recruit-form__select-wrapper,
.lp-recruit
  form.wpcf7-form
  .lp-recruit-form__body
  .lp-recruit-form__datetime
  .lp-recruit-form__select-wrapper {
  margin-left: 0 !important;
  margin-inline-start: 0 !important;
  flex: 0 0 auto;
}

/* PC / タブレット: 納品 style の datetime 内セレクト幅を CF7 でも固定（flex:1 親の中で右に流れないようにする） */
@media screen and (min-width: 1025px) {
  .lp-recruit
    .lp-recruit-form
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__datetime
    .lp-recruit-form__select-wrapper,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__datetime
    .lp-recruit-form__select-wrapper {
    width: 13.5em;
    flex: 0 0 13.5em;
    max-width: 13.5em;
  }
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
  .lp-recruit
    .lp-recruit-form
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__datetime
    .lp-recruit-form__select-wrapper,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__datetime
    .lp-recruit-form__select-wrapper {
    width: 18em;
    flex: 0 0 18em;
    max-width: 18em;
  }
}

@media screen and (max-width: 767px) {
  .lp-recruit
    .lp-recruit-form
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__datetime
    .wpcf7-form-control-wrap,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__datetime
    .wpcf7-form-control-wrap {
    width: calc(48.93% - 3.92px) !important;
    flex: 0 0 calc(48.93% - 3.92px) !important;
    max-width: none;
  }

  .lp-recruit .lp-recruit-form__datetime .wpcf7-form-control-wrap .wpcf7-form-control.lp-recruit-datepicker-full,
  .lp-recruit .lp-recruit-form__datetime .wpcf7-form-control-wrap input[type="date"].wpcf7-form-control {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  /*
   * CF7 のみ: 767px で見出し（ラベル）と入力の間を納品に近づける
   */
  .lp-recruit
    .lp-recruit-form
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field-wrap
    > .lp-recruit-form__field-label,
  .lp-recruit
    .lp-recruit-form
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field
    > .lp-recruit-form__field-label,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field-wrap
    > .lp-recruit-form__field-label,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field
    > .lp-recruit-form__field-label {
    margin-bottom: 0.24em;
  }

  /*
   * CF7 のみ: 767px で field-wrap が縦積みのとき、ラベル〜入力の段間を納品に近づける
   * （p が挟まる場合もあるため、datetime は子孫セレクタにする）
   */
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field-wrap > .lp-recruit-form__field-label + p {
    margin-top: 0;
    margin-bottom: 0.75em;
  }

  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field-wrap .lp-recruit-form__datetime {
    margin-top: 0;
  }

  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field-wrap .lp-recruit-form__input-group {
    margin-top: 0.75em;
  }

  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__field-wrap .lp-recruit-form__cf7-checkbox-wrap {
    margin-top: 0.75em;
  }
}

@media screen and (max-width: 1024px) {
  .lp-recruit
    .lp-recruit-form
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field-wrap
    > p,
  .lp-recruit
    .lp-recruit-form
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field
    > p,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field-wrap
    > p,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field
    > p,
  .lp-recruit
    .lp-recruit-form
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field-wrap
    > div:has(.wpcf7-form-control-wrap),
  .lp-recruit
    .lp-recruit-form
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field
    > div:has(.wpcf7-form-control-wrap),
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field-wrap
    > div:has(.wpcf7-form-control-wrap),
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__field
    > div:has(.wpcf7-form-control-wrap) {
    flex: 1;
    min-width: 0;
  }
}

/* ---- select（CF7）未選択時は placeholder 相当色 + WebKit ---- */

.lp-recruit .lp-recruit-form__body .wpcf7-form-control-wrap select.wpcf7-form-control:invalid,
.lp-recruit .lp-recruit-form__body .wpcf7-form-control-wrap select.wpcf7-form-control:has(option[value=""]:checked),
.lp-recruit .lp-recruit-form__body .wpcf7-form-control-wrap select.wpcf7-form-control option[value=""] {
  color: rgba(0, 0, 0, 0.2);
  -webkit-text-fill-color: rgba(0, 0, 0, 0.2);
}

.lp-recruit .lp-recruit-form__body .wpcf7-form-control-wrap select.wpcf7-form-control option:not([value=""]) {
  color: #333;
  -webkit-text-fill-color: #333;
}

/* 時間セレクト（納品 style の :invalid 付帯プロパティを CF7 でも再現） */
.lp-recruit .lp-recruit-form__body .wpcf7-form-control-wrap select.wpcf7-form-control.lp-recruit-form__input--time:invalid,
.lp-recruit .lp-recruit-form__body .wpcf7-form-control-wrap select.wpcf7-form-control.lp-recruit-form__input--time:has(option[value=""]:checked) {
  color: rgba(0, 0, 0, 0.2);
  -webkit-text-fill-color: rgba(0, 0, 0, 0.2);
  font-size: 1.125em;
  letter-spacing: 0.08em;
  line-height: 1.6;
}

.lp-recruit .lp-recruit-form__body .wpcf7-form-control-wrap select.wpcf7-form-control.lp-recruit-form__input--time option[value=""] {
  color: rgba(0, 0, 0, 0.2);
  -webkit-text-fill-color: rgba(0, 0, 0, 0.2);
}

@media screen and (max-width: 767px) {
  .lp-recruit .lp-recruit-form__body .wpcf7-form-control-wrap select.wpcf7-form-control.lp-recruit-form__input--time:invalid,
  .lp-recruit .lp-recruit-form__body .wpcf7-form-control-wrap select.wpcf7-form-control.lp-recruit-form__input--time:has(option[value=""]:checked) {
    font-size: 0.875em;
    line-height: 1.1;
    height: 100%;
    margin: 0;
  }

  /*
   * 希望日時の時間セレクト: 上記は「現在のご状況」等フル幅セレクト向け。
   * datetime 内は納品の .lp-recruit-form__input（48px・1em・padding）に合わせ、文字が上に寄るのを防ぐ。
   */
  .lp-recruit
    .lp-recruit-form
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__datetime
    .lp-recruit-form__select-wrapper
    select.wpcf7-form-control.lp-recruit-form__input--time,
  .lp-recruit
    .lp-recruit-form
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__datetime
    .wpcf7-form-control-wrap
    select.wpcf7-form-control.lp-recruit-form__input--time,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__datetime
    .lp-recruit-form__select-wrapper
    select.wpcf7-form-control.lp-recruit-form__input--time,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__datetime
    .wpcf7-form-control-wrap
    select.wpcf7-form-control.lp-recruit-form__input--time {
    font-size: 1em !important;
    line-height: normal !important;
    height: 100% !important;
    min-height: 48px;
    margin: 0 !important;
    padding: 0 2em 0 0.875em !important;
    box-sizing: border-box;
  }

  .lp-recruit
    .lp-recruit-form
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__datetime
    .lp-recruit-form__select-wrapper,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__datetime
    .lp-recruit-form__select-wrapper {
    display: flex;
    align-items: stretch;
    /* 行の残り幅をすべて使う（プレースホルダが切れないように） */
    flex: 1 1 0% !important;
    min-width: 0;
    width: auto !important;
    max-width: none !important;
  }

  .lp-recruit
    .lp-recruit-form
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__datetime
    .lp-recruit-form__select-wrapper
    .wpcf7-form-control-wrap,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__datetime
    .lp-recruit-form__select-wrapper
    .wpcf7-form-control-wrap {
    width: 100% !important;
    flex: 1 1 auto !important;
    min-width: 0;
    max-width: none;
  }
}

.lp-recruit .lp-recruit-form__body .wpcf7-form-control-wrap select.wpcf7-form-control.lp-recruit-form__input--time option {
  color: #333;
  -webkit-text-fill-color: #333;
  background-color: #fff;
}

/* 希望日時ブロック内の時間セレクト: 納品の日付（.lp-recruit-datepicker-full の 0.4）に合わせる */
.lp-recruit .lp-recruit-form__datetime .lp-recruit-form__select-wrapper select.lp-recruit-form__input--time:invalid,
.lp-recruit
  .lp-recruit-form__datetime
  .lp-recruit-form__select-wrapper
  select.lp-recruit-form__input--time:has(option[value=""]:checked),
.lp-recruit
  .lp-recruit-form__datetime
  .wpcf7-form-control-wrap
  select.wpcf7-form-control.lp-recruit-form__input--time:invalid,
.lp-recruit
  .lp-recruit-form__datetime
  .wpcf7-form-control-wrap
  select.wpcf7-form-control.lp-recruit-form__input--time:has(option[value=""]:checked) {
  color: rgba(0, 0, 0, 0.4);
  -webkit-text-fill-color: rgba(0, 0, 0, 0.4);
}

/* ---- date（CF7）placeholder 色・:valid 空欄・focus 時の style.css 上書き ---- */

.lp-recruit .lp-recruit-form__body .wpcf7-form-control-wrap input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full {
  letter-spacing: normal;
  line-height: 3.375em;
}

@media screen and (max-width: 767px) {
  .lp-recruit .lp-recruit-form__body .wpcf7-form-control-wrap input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full {
    line-height: 3em;
  }
}

.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full:not([value]),
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value=""] {
  color: rgba(0, 0, 0, 0.4);
  -webkit-text-fill-color: rgba(0, 0, 0, 0.4);
}

.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full:not([value])::-webkit-datetime-edit,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full:not([value])::-webkit-datetime-edit-fields-wrapper,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full:not([value])::-webkit-datetime-edit-year-field,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full:not([value])::-webkit-datetime-edit-month-field,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full:not([value])::-webkit-datetime-edit-day-field,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full:not([value])::-webkit-datetime-edit-text,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value=""]::-webkit-datetime-edit,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value=""]::-webkit-datetime-edit-fields-wrapper,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value=""]::-webkit-datetime-edit-year-field,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value=""]::-webkit-datetime-edit-month-field,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value=""]::-webkit-datetime-edit-day-field,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value=""]::-webkit-datetime-edit-text {
  color: rgba(0, 0, 0, 0.4);
  -webkit-text-fill-color: rgba(0, 0, 0, 0.4);
}

/* 納品 style の :focus で空欄が #333 になるのを防ぐ */
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full:not([value]):focus,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value=""]:focus {
  color: rgba(0, 0, 0, 0.4);
  -webkit-text-fill-color: rgba(0, 0, 0, 0.4);
}

.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full:not([value]):focus::-webkit-datetime-edit,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full:not([value]):focus::-webkit-datetime-edit-fields-wrapper,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full:not([value]):focus::-webkit-datetime-edit-year-field,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full:not([value]):focus::-webkit-datetime-edit-month-field,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full:not([value]):focus::-webkit-datetime-edit-day-field,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full:not([value]):focus::-webkit-datetime-edit-text,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value=""]:focus::-webkit-datetime-edit,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value=""]:focus::-webkit-datetime-edit-fields-wrapper,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value=""]:focus::-webkit-datetime-edit-year-field,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value=""]:focus::-webkit-datetime-edit-month-field,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value=""]:focus::-webkit-datetime-edit-day-field,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value=""]:focus::-webkit-datetime-edit-text {
  color: rgba(0, 0, 0, 0.4);
  -webkit-text-fill-color: rgba(0, 0, 0, 0.4);
}

.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value]:not([value=""]) {
  color: #333;
  -webkit-text-fill-color: #333;
}

.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value]:not([value=""])::-webkit-datetime-edit,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value]:not([value=""])::-webkit-datetime-edit-fields-wrapper,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value]:not([value=""])::-webkit-datetime-edit-year-field,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value]:not([value=""])::-webkit-datetime-edit-month-field,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value]:not([value=""])::-webkit-datetime-edit-day-field,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value]:not([value=""])::-webkit-datetime-edit-text,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value]:not([value=""]):focus::-webkit-datetime-edit,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value]:not([value=""]):focus::-webkit-datetime-edit-fields-wrapper,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value]:not([value=""]):focus::-webkit-datetime-edit-year-field,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value]:not([value=""]):focus::-webkit-datetime-edit-month-field,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value]:not([value=""]):focus::-webkit-datetime-edit-day-field,
.lp-recruit
  .lp-recruit-form__body
  .wpcf7-form-control-wrap
  input[type="date"].wpcf7-form-control.lp-recruit-datepicker-full[value]:not([value=""]):focus::-webkit-datetime-edit-text {
  color: #333;
  -webkit-text-fill-color: #333;
}

/* ---- チェックボックス群の縦並び（納品 ul と同じ gap）---- */

.lp-recruit .lp-recruit-form__cf7-checkbox-wrap .wpcf7-checkbox {
  display: flex;
  flex-direction: column;
  margin: 0;
}

.lp-recruit .lp-recruit-form__checkbox-list.lp-recruit-form__cf7-checkbox-wrap .wpcf7-checkbox {
  gap: 0.625em;
}

.lp-recruit .lp-recruit-form__qualification-list.lp-recruit-form__cf7-checkbox-wrap .wpcf7-checkbox {
  gap: 0.875em;
}

.lp-recruit .lp-recruit-form__cf7-checkbox-wrap .wpcf7-form-control-wrap {
  margin: 0;
}

.lp-recruit .lp-recruit-form__cf7-checkbox-wrap .wpcf7-list-item {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}

.lp-recruit .lp-recruit-form__cf7-checkbox-wrap .wpcf7-list-item label {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.875em;
  margin: 0;
  cursor: pointer;
  position: relative;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

/* 納品の .lp-recruit-form__checkbox と同じ（label クリックでトグル） */
.lp-recruit .lp-recruit-form__cf7-checkbox-wrap input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  margin: 0;
}

/* 納品 .lp-recruit-form__checkbox-custom 相当（白い円） */
.lp-recruit .lp-recruit-form__cf7-checkbox-wrap .wpcf7-list-item label::before {
  content: "";
  width: 2em;
  height: 2em;
  border-radius: 50%;
  flex-shrink: 0;
  position: relative;
  background-color: #fff;
  box-sizing: border-box;
  border: none;
}

@media screen and (max-width: 767px) {
  .lp-recruit .lp-recruit-form__cf7-checkbox-wrap .wpcf7-list-item label::before {
    width: 1.6875em;
    height: 1.6875em;
  }
}

/* 納品 .lp-recruit-form__checkbox-custom::after 相当（内側の緑丸） */
.lp-recruit .lp-recruit-form__cf7-checkbox-wrap .wpcf7-list-item label:has(input:checked)::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(1em - 0.5em);
  transform: translateY(-50%);
  width: 1em;
  height: 1em;
  border-radius: 50%;
  background-color: #419d27;
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  .lp-recruit .lp-recruit-form__cf7-checkbox-wrap .wpcf7-list-item label:has(input:checked)::after {
    left: calc(1.6875em / 2 - 0.5em);
  }
}

/* 納品 .lp-recruit-form__checkbox-text 相当 */
.lp-recruit .lp-recruit-form__cf7-checkbox-wrap .wpcf7-list-item-label {
  font-size: 1.125em;
  color: #333;
  letter-spacing: 0.08em;
  line-height: 1.6;
}

@media screen and (max-width: 1024px) {
  .lp-recruit .lp-recruit-form__cf7-checkbox-wrap .wpcf7-list-item-label {
    font-size: 1.4em;
    line-height: 1.4;
  }
}

@media screen and (max-width: 767px) {
  .lp-recruit .lp-recruit-form__cf7-checkbox-wrap .wpcf7-list-item-label {
    font-size: 0.875em;
    line-height: 1.4;
  }
}

/*
 * 応募資格チェック（CF7）: 各行に [必須]
 * - label::after はチェック印用のため、文言側 .wpcf7-list-item-label に付与
 * - 納品では .lp-recruit-form__required は .lp-recruit 基準の 0.75em。文言は 1.125em / 1.4em / 0.875em のため
 *   ::after の em は「文言サイズに対する 0.75 / 文言の em 倍率」に合わせる
 */
.lp-recruit
  .lp-recruit-form__qualification-list.lp-recruit-form__cf7-checkbox-wrap
  .wpcf7-list-item-label {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  column-gap: 0.35em;
  row-gap: 0.15em;
  flex: 1;
  min-width: 0;
}

.lp-recruit
  .lp-recruit-form__qualification-list.lp-recruit-form__cf7-checkbox-wrap
  .wpcf7-list-item-label::after {
  content: "[必須]";
  flex-shrink: 0;
  font-weight: 700;
  line-height: 1;
  /* 0.75（必須）÷ 1.125（文言） */
  font-size: 0.6666666667em;
  color: #d13f3f;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 1024px) {
  .lp-recruit
    .lp-recruit-form__qualification-list.lp-recruit-form__cf7-checkbox-wrap
    .wpcf7-list-item-label::after {
    /* 0.75 ÷ 1.4 */
    font-size: 0.5357142857em;
  }
}

@media screen and (max-width: 767px) {
  .lp-recruit
    .lp-recruit-form__qualification-list.lp-recruit-form__cf7-checkbox-wrap
    .wpcf7-list-item-label::after {
    /* 0.75 ÷ 0.875 */
    font-size: 0.8571428571em;
  }
}

/* 静的 HTML: 円と「文言+[必須]」の2ブロックにし、納品と同じ字揃え */
.lp-recruit .lp-recruit-form__qualification-item .lp-recruit-form__qualification-label-text {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  column-gap: 0.35em;
  row-gap: 0.15em;
  flex: 1;
  min-width: 0;
}

/* 資格チェックのカスタムエラー文言（リストとの間を広げる） */
.lp-recruit .lp-recruit-form__qualification-error:not([hidden]) {
  margin-top: 2.5em !important;
  padding-top: 0.5em;
}

/* ---- 送信 SP: style.css は触らず、CF7 表示時のみ余白・幅・高さを補正 ---- */
@media screen and (max-width: 767px) {
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__cta-wrap {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0;
    align-items: stretch;
    justify-content: center;
  }

  /* wpautop / CF7 で cta 内が p や control-wrap になると幅が本文より狭くなるのを防ぐ */
  .lp-recruit form.wpcf7-form .lp-recruit-form__body .lp-recruit-form__cta-wrap > p,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__cta-wrap
    .wpcf7-form-control-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    display: block !important;
  }

  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__cta-wrap
    .lp-recruit-btn,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__cta-wrap
    button.lp-recruit-btn,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__cta-wrap
    input.wpcf7-form-control.wpcf7-submit.lp-recruit-btn,
  .lp-recruit
    form.wpcf7-form
    .lp-recruit-form__body
    .lp-recruit-form__cta-wrap
    input[type="submit"].lp-recruit-btn {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 3.125em !important;
    height: auto !important;
    padding: 0.75em 1.25em !important;
    font-size: 0.8125em !important;
    border-radius: 1.84375em !important;
    margin-inline: 0 !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
  }
}
