/**
 * 会社レイアウト（#main-content.main-content.company）内のフォーム周り。
 * tmp-cf7.php（CF7 用テンプレート）で読み込む。旧 company_pages.css のうち
 * 当該ページで使うルールもここに集約する。
 *
 * Contact Form 7（.wpcf7）向け。MW WP Form 等は必要に応じて追記する。
 * 配置: titleist_theme/css/company-forms.css
 *
 * ---------------------------------------------------------------------------
 * 運用（固定ページ本文・CF7 フォームに style を書かない）
 * ---------------------------------------------------------------------------
 * - 見た目の調整はすべてこのファイルに書く（インライン style や <style> は使わない）。
 * - 固定ページの本文には原則「ショートコードのみ」。説明文を本文に置く場合も、
 *   マークアップはクラス＋意味のあるタグに限定する。
 * - フォーム直前の案内・注意書き・囲みは CF7 の「HTML 形式」ブロックに
 *   <div class="company-form-…">…</div> で記述する（下記クラス一覧）。
 * - 各フィールドにクラスを付けるときは CF7 の class: オプションを使う。
 *   例: [text* your-name class:company-form-input-wide]
 * ---------------------------------------------------------------------------
 * よく使うクラス（このファイルで定義）
 * ---------------------------------------------------------------------------
 * company-form-intro      …フォーム前のリード文（.mb30 / ul.notes 相当）
 * company-form-notes      …注意書き・補足（小さめの字色）
 * company-form-note       …注意書き（単数形・CF7 HTML 用）
 * company-form-notes ul   …箇条書き注意（インデント）
 * company-form-callout       …囲み（グレー枠の強調ブロック）
 * company-form-callout-alert …囲み（赤枠・最大幅1180px・中央寄せ）
 * company-form-callout-alert-center …休業告知など中央寄せ段落
 * company-form-underline     …下線付き強調（span 等）
 * company-form-img-calendar  …休業カレンダー画像（PC/SP 切替）
 * company-form-muted         …インラインの補足（span 等）
 * h2.underline               …セクション見出し下線（旧 company_pages）
 * ---------------------------------------------------------------------------
 * 目次（検索用アンカーは各セクション見出し）
 * ---------------------------------------------------------------------------
 * 0. デザイントークン（--company-form-*）
 * 1. 会社コンテンツ枠（旧 company_pages.css）
 * 2. フォーム周辺ブロック（company-form-*）
 * 3. Contact Form 7 — ベース・CF7 用 <p> 調整
 * 4. CF7 — wrap / list-item / 必須 / 汎用入力
 * 5. CF7 — 日付 / select / file
 * 6. CF7 — 送信・レスポンス・バリデーション
 * 7. cp-form_* レイアウト（fieldset / 行ラベル / col-70）
 * 9a. fieldset 入力・textarea（.cp-form_col-70）
 * 9b. col-70 共通（wrap 等）
 * 8. 会員チェック — cp-form 例外（9b の直後）
 * 9c. 送信・radio・レイアウト
 * 10. 確認画面（将来用）
 * ---------------------------------------------------------------------------
 */

/* ----- 0. デザイントークン ----- */

#main-content.main-content.company {
  /* 色 */
  --company-form-color-text: #4c4c4c;
  --company-form-color-text-muted: #767676;
  --company-form-color-placeholder: #d6d6d6;
  --company-form-color-accent: #e31837;
  --company-form-color-alert: #ff0000;
  --company-form-color-required-bg: #b3b3b3;
  --company-form-color-border: #dfdfdf;
  --company-form-color-border-light: #d6d6d6;
  --company-form-color-callout-bg: #fafafa;
  --company-form-color-input-shadow: #eaeaea;
  --company-form-color-file: #020202;
  --company-form-color-select-disabled: #a3a3a3;
  /* タイポ（px は実測メモ用。宣言では -rem を優先） */
  --company-form-font-label: 14px;
  --company-form-font-label-rem: 0.875rem;
  --company-form-line-label: 21px;
  --company-form-line-label-ratio: 1.5;
  --company-form-font-notes: 12px;
  --company-form-font-notes-rem: 0.75rem;
  --company-form-weight-row-label: 700;
  --company-form-weight-inline-label: 400;
  /* 会員 checkbox（□ と横ラベルの間） */
  --company-form-checkbox-gap: 8px;
  --company-form-submit-width: 120px;
  --company-form-spacing-submit-block: 30px;
  /* 都道府県・カテゴリ .col.mid-w-30（titleist grid 相当） */
  --company-form-col-select-width: 30%;
  /* old-content.css: select 矢印重なり回避（旧実測 304px ≒ 親幅 + 12px） */
  --company-form-select-width-offset: 12px;
  /* old-content.css: select 背景矢印（right 8px center） */
  --company-form-select-arrow: url(../../../../assets/images/icons/arrow-drop-down-48dp.svg);
}

/* ----- 1. 会社コンテンツ枠（旧 company_pages.css から移管） ----- */

#main-content.main-content.company * {
  word-break: break-all;
}

#main-content.main-content.company div,
#main-content.main-content.company fieldset,
#main-content.main-content.company form.wpcf7-form {
  -ms-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/*
 * 会社ページ h1：旧お問合せ（company_pages 36px + jpn_localized 800/uppercase）に合わせる。
 * font-size のみ company_pages 由来。太さ・大文字は jpn_localized .m-section h1 相当。
 * line-height 1.2 … 旧ページ実測 43.2px（36×1.2）。1.25 だと 45px になるため指定しない。
 */
#main-content.main-content.company .m-section h1 {
  margin: 0 0 40px;
  padding-bottom: 0;
  font-size: 36px;
  font-size: 2.25rem;
  line-height: 1.2;
}

#main-content.main-content.company h2 {
  margin: 40px 0 20px 0;
  font-size: 16px;
}

#main-content.main-content.company h2.underline {
  margin-bottom: 0;
  padding-bottom: 1em;
  border-bottom: 1px solid var(--company-form-color-border-light);
}

#main-content.main-content.company p {
  margin-bottom: 2em;
}

#main-content.main-content.company p.sub {
  margin-top: -40px;
  margin-bottom: 40px;
}

#main-content.main-content.company table {
  min-width: inherit;
}

#main-content.main-content.company tbody tr:nth-child(even) {
  background: none;
}

#main-content.main-content.company td {
  vertical-align: top;
}

#main-content.main-content.company td:first-child {
  font-weight: bold;
  font-size: 16px;
  white-space: nowrap;
}

#main-content.main-content.company td h3 {
  margin-top: 1em;
  padding-top: 1em;
  font-size: 14px;
}

#main-content.main-content.company td h3:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

#main-content.main-content.company dt,
#main-content.main-content.company dd {
  margin: 0;
  padding: 0;
}

#main-content.main-content.company dt {
  font-size: 14px;
  font-weight: bold;
}

#main-content.main-content.company dd {
  font-size: 14px;
  margin-bottom: 1em;
}

#main-content.main-content.company a {
  display: inline-block;
}

#main-content.main-content.company .m-section.m-add-gap {
  margin: 50px 15px;
}

@media screen and (max-width: 800px) {
  #main-content.main-content.company table {
    margin-bottom: 60px;
  }

  #main-content.main-content.company table td {
    display: block;
    border: none;
  }

  #main-content.main-content.company table td:first-child {
    padding-bottom: 0;
  }

  /* fieldset 横 padding が SP ではみ出しの一因になるため縮小 */
  #main-content.main-content.company .wpcf7 .cp-form_outer .cp-form_container fieldset,
  #main-content.main-content.company .wpcf7 .cp-form_outer .cp-form_container fieldset.fieldset {
    padding-left: 0;
    padding-right: 0;
  }
}

/* ----- 2. フォーム周辺ブロック（本文・CF7 HTML に style を書かずクラスで統一） ----- */

/* 旧固定ページ ul.notes / .mb30 / .mb0 相当 */
#main-content.main-content.company .company-form-intro {
  margin: 0 0 30px;
}

#main-content.main-content.company .company-form-intro p {
  margin-bottom: 0 !important;
}

#main-content.main-content.company .company-form-intro ul {
  margin: 0;
  padding-left: 0;
}

#main-content.main-content.company .company-form-intro ul li {
  color: var(--company-form-color-accent);
  list-style: none;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 0.775rem;
}

#main-content.main-content.company .company-form-notes,
#main-content.main-content.company .company-form-note {
  margin: 0 0 1.25em;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  font-size: var(--company-form-font-notes);
  font-size: var(--company-form-font-notes-rem);
  line-height: 1.6;
  color: var(--company-form-color-text);
  overflow-wrap: anywhere;
}

#main-content.main-content.company .company-form-notes p,
#main-content.main-content.company .company-form-note p {
  margin-bottom: 0.6em;
}

#main-content.main-content.company .company-form-notes p:last-child,
#main-content.main-content.company .company-form-note p:last-child {
  margin-bottom: 0;
}

#main-content.main-content.company .company-form-notes ul,
#main-content.main-content.company .company-form-notes ol,
#main-content.main-content.company .company-form-note ul,
#main-content.main-content.company .company-form-note ol {
  margin: 0.35em 0 0;
  padding-left: 1.25em;
}

#main-content.main-content.company .company-form-notes li,
#main-content.main-content.company .company-form-note li {
  margin-bottom: 0.35em;
}

/* 完了画面の注意事項（旧インライン style の移行先） */
#main-content.main-content.company .pm_mw_description .notice,
#main-content.main-content.company p.notice {
  font-size: var(--company-form-font-label-rem);
  color: #a30000;
  padding: 0.75rem;
}

#main-content.main-content.company .company-form-callout {
  margin: 0 0 1.25em;
  padding: 12px 14px;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.55;
  border: 1px solid var(--company-form-color-border-light);
  border-radius: 2px;
  background: var(--company-form-color-callout-bg);
  box-sizing: border-box;
}

#main-content.main-content.company .company-form-callout p,
#main-content.main-content.company .company-form-callout-alert p {
  margin-bottom: 0.6em;
}

#main-content.main-content.company .company-form-callout p:last-child,
#main-content.main-content.company .company-form-callout-alert p:last-child {
  margin-bottom: 0;
}

#main-content.main-content.company .company-form-callout-alert {
  margin: 2em auto 30px;
  padding: 20px 30px 20px;
  max-width: 1180px;
  width: 100%;
  box-sizing: border-box;
  border: 2px solid var(--company-form-color-alert);
  border-radius: 2px;
  background: #fff;
}

#main-content.main-content.company .company-form-callout-alert h3 {
  margin: 0 0 1.5rem;
  color: var(--company-form-color-alert);
  text-align: center;
  font-size: 1rem;
  font-weight: 700;
}

#main-content.main-content.company .company-form-callout-alert-center {
  text-align: center;
  margin: 1em auto;
}

#main-content.main-content.company .company-form-underline {
  text-decoration: underline;
}

#main-content.main-content.company .company-form-img-calendar {
  margin-bottom: 1em;
}

#main-content.main-content.company .company-form-img-calendar img {
  width: 100%;
}

#main-content.main-content.company .company-form-img-calendar .pc {
  display: none;
}

@media screen and (min-width: 800px) {
  #main-content.main-content.company .company-form-img-calendar .sp {
    display: none;
  }

  #main-content.main-content.company .company-form-img-calendar .pc {
    display: block;
  }
}

#main-content.main-content.company .company-form-muted {
  font-size: var(--company-form-font-notes);
  font-size: var(--company-form-font-notes-rem);
  color: var(--company-form-color-text-muted);
}

/* ----- 3. Contact Form 7 — ベース・CF7 用 <p> 調整 ----- */

/* CF7 は各ブロックを <p> で包むため、リード／注意も p になり得る */
/* タイポは .company-form-intro / .company-form-notes に任せ、CF7 用は padding のみ */
#main-content.main-content.company .wpcf7-form > p.company-form-intro,
#main-content.main-content.company .wpcf7-form > p.company-form-notes {
  padding-top: 0;
}

#main-content.main-content.company .wpcf7 {
  font-size: var(--company-form-font-label);
  font-size: var(--company-form-font-label-rem);
}

#main-content.main-content.company .wpcf7-form > p {
  margin: 0 0 1em;
  padding: 10px 0 0 0;
  border: 0;
}

/* ----- 4. CF7 — wrap / list-item / 必須 / 汎用入力 ----- */

#main-content.main-content.company .wpcf7-form .wpcf7-form-control-wrap {
  display: block;
  margin-top: 0.25em;
}

/* cp-form 内は旧MW同様、ラベル直下の余白は input/select の margin のみ */
#main-content.main-content.company .wpcf7-form .cp-form_outer .wpcf7-form-control-wrap {
  margin-top: 0;
}

#main-content.main-content.company .wpcf7-form .wpcf7-list-item {
  margin: 0 1em 0 0;
}

/* チェックボックス横ラベル（行見出しの label 700 とは別） */
#main-content.main-content.company .wpcf7-form .wpcf7-list-item label {
  display: inline-block;
  width: auto;
  margin: 0 1em 0 0;
  padding: 0;
  font-weight: var(--company-form-weight-inline-label);
  font-size: var(--company-form-font-label-rem);
  color: var(--company-form-color-text);
  cursor: pointer;
}

/* 必須バッジ（MW の span.require に相当） */
#main-content.main-content.company .wpcf7-form label .required,
#main-content.main-content.company .wpcf7-form .required {
  display: inline-block;
  margin: 0 0 0 10px;
  padding: 3px 10px 4px;
  vertical-align: top;
  color: #fff;
  text-decoration: none;
  line-height: 1;
  font-size: var(--company-form-font-notes);
  font-size: var(--company-form-font-notes-rem);
  background: var(--company-form-color-required-bg);
  border-bottom: 0;
}

#main-content.main-content.company .wpcf7-form input[type="text"],
#main-content.main-content.company .wpcf7-form input[type="email"],
#main-content.main-content.company .wpcf7-form input[type="url"],
#main-content.main-content.company .wpcf7-form input[type="tel"],
#main-content.main-content.company .wpcf7-form input[type="number"],
#main-content.main-content.company .wpcf7-form input[type="date"] {
  max-width: 100%;
  box-sizing: border-box;
}

/* ----- 5. CF7 — 日付 / select / file ----- */

/*
 * 日付（jQuery UI datepicker 適用後）。
 * トリガー画像は wrap 内右端に絶対配置し、入力枠の内側に収める。
 */
#main-content.main-content.company .wpcf7-form .wpcf7-form-control-wrap:has(input.wpcf7-date),
#main-content.main-content.company .wpcf7-form .wpcf7-form-control-wrap:has(input.wpcf7-validates-as-date) {
  position: relative;
  display: inline-block;
  max-width: 100%;
  vertical-align: top;
}

#main-content.main-content.company .wpcf7-form input.wpcf7-date.hasDatepicker {
  display: block;
  width: 100%;
  min-width: 12em;
  max-width: 280px;
  box-sizing: border-box;
  margin: 0.5em 0;
  padding: 0.5em 2.75em 0.5em 1em;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.15;
  border: 1px solid var(--company-form-color-border);
  border-radius: 2em;
  background: #fff;
  box-shadow: none;
}

/* .m-section img { width:100% } の影響を datepicker トリガーから除外 */
#main-content.main-content.company .m-section img.ui-datepicker-trigger,
#main-content.main-content.company .wpcf7-form .wpcf7-form-control-wrap:has(input.wpcf7-date) img.ui-datepicker-trigger,
#main-content.main-content.company .wpcf7-form .wpcf7-form-control-wrap:has(input.wpcf7-validates-as-date) img.ui-datepicker-trigger {
  position: absolute;
  top: 50%;
  right: 0.75em;
  z-index: 1;
  display: block;
  width: 22px;
  height: 22px;
  max-width: none;
  margin: 0;
  padding: 0;
  transform: translateY(-50%);
  cursor: pointer;
}

#ui-datepicker-div {
  z-index: 100001 !important;
  width: 300px;
  max-width: calc(100vw - 24px);
}

/*
 * 都道府県・カテゴリ span.select-menu: inline.css 相当（丸角 2em）
 * titleist.css の .select-menu { height:41px } / select { height:42px } は打ち消す。
 * ラベル直下の空きは select の margin-top のみ（ラッパーに高さ・余白を持たせない）。
 */
#main-content.main-content.company .wpcf7 span.select-menu,
#main-content.main-content.company .wpcf7 .cp-form_container fieldset .col > span.select-menu {
  width: 100%;
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  height: auto;
  min-height: 0;
  max-height: none;
  font-size: var(--company-form-font-label);
  font-size: var(--company-form-font-label-rem);
  line-height: 0;
  color: inherit;
  box-sizing: border-box;
  overflow: visible;
  vertical-align: top;
}

/*
 * お問合せの select は .col 内のみ。矢印は select 背景 1 本（旧 inline.css）。
 * ラッパー・CF7 wrap の ::after（titleist GIF 等）を出さない（二重矢印防止）。
 */
#main-content.main-content.company .wpcf7 span.select-menu::after,
#main-content.main-content.company .wpcf7 span.select-menu .wpcf7-form-control-wrap::after {
  content: none;
  display: none;
}

#main-content.main-content.company .wpcf7 span.select-menu .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  position: static;
  max-width: none;
  vertical-align: baseline;
}

/* .wpcf7-select の有無に依存しない（#prefecture / #inquiry_category 直指定も可） */
#main-content.main-content.company .wpcf7 span.select-menu select {
  display: block;
  width: 100%;
  margin: 0.5em 0;
  padding: 0.5em 2.5em 0.5em 1em;
  /* 旧MW: inline.css .select-menu select は 0.875rem（テキスト入力の 16px とは別） */
  font-size: var(--company-form-font-label);
  font-size: var(--company-form-font-label-rem);
  line-height: 1.15;
  color: inherit;
  background-color: #fff;
  background-image: none;
  border: 1px solid var(--company-form-color-border);
  border-radius: 2em;
  box-shadow: none;
  outline: none;
  height: auto;
  min-height: 0;
  max-height: none;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  position: relative;
  z-index: 1;
}

/*
 * 都道府県・カテゴリ select（#prefecture / #inquiry_category）:
 * 旧 old-content.css … width: calc(100% + 12px)、矢印は select 背景 right 8px center（.select-menu::after は無効）。
 */
#main-content.main-content.company .wpcf7 .cp-form_container fieldset .col > span.select-menu select,
#main-content.main-content.company .wpcf7 .cp-form_container fieldset .col select#prefecture,
#main-content.main-content.company .wpcf7 .cp-form_container fieldset .col select#inquiry_category {
  width: calc(100% + var(--company-form-select-width-offset));
  max-width: none;
  margin-bottom: 0;
  background-color: #fff;
  background-image: var(--company-form-select-arrow);
  background-position: right 8px center;
  background-size: 24px 24px;
  background-repeat: no-repeat;
}

#main-content.main-content.company .wpcf7 span.select-menu select::-ms-expand {
  display: none;
}

#main-content.main-content.company .wpcf7 span.select-menu select:focus {
  border-color: var(--company-form-color-text);
  outline: 0;
}

#main-content.main-content.company .wpcf7 span.select-menu select[disabled] {
  color: var(--company-form-color-select-disabled);
  cursor: default;
}

/* ファイル: ブラウザ標準の file input 表示を利用する（テキスト入力と同じ 1rem）。 */
#main-content.main-content.company .wpcf7-form .cp-form_col-70 .wpcf7-form-control-wrap input[type="file"].wpcf7-form-control {
  width: auto;
  max-width: 100%;
  margin: 0.5em 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 16px;
  font-size: 1rem;
  font-family: inherit;
  line-height: 1.15;
  box-shadow: none;
  cursor: pointer;
  box-sizing: border-box;
}

#main-content.main-content.company .wpcf7-form .cp-form_col-70 .wpcf7-form-control-wrap input[type="file"].wpcf7-form-control::file-selector-button {
  font-size: 16px;
  font-size: 1rem;
  font-family: inherit;
}

#main-content.main-content.company .wpcf7-form .cp-form_col-70 .wpcf7-form-control-wrap input[type="file"].wpcf7-form-control::-webkit-file-upload-button {
  font-size: 16px;
  font-size: 1rem;
  font-family: inherit;
}

/* ----- 6. CF7 — 送信・レスポンス・バリデーション ----- */

/*
 * 送信ブロック: 旧お問合せMWにはボタン上の border-top はない（.action-buttons 相当も未使用）。
 * cp-form 外に submit だけ置いた旧CF7テンプレ用に clear のみ。
 */
#main-content.main-content.company .wpcf7-form > p:has(input.wpcf7-submit),
#main-content.main-content.company .wpcf7-form > .wpcf7-form-control-wrap:has(input.wpcf7-submit) {
  clear: both;
  margin: 0 0 var(--company-form-spacing-submit-block);
  padding: 0;
  border: 0;
}

/*
 * Cloudflare Turnstile（CF7 [turnstile]）。フォーム・環境により未出力のこともある。
 * 空 div のときは余白を付けない（:not(:empty)）。表示時は送信ボタン直上を fieldset 間隔（1em）に合わせる。
 */
#main-content.main-content.company .wpcf7 .cp-form_outer > .wpcf7-turnstile:not(:empty),
#main-content.main-content.company .wpcf7 .cp-form_outer > .cf-turnstile:not(:empty),
#main-content.main-content.company .wpcf7-form > .wpcf7-turnstile:not(:empty),
#main-content.main-content.company .wpcf7-form > .cf-turnstile:not(:empty) {
  clear: both;
  max-width: 100%;
  margin: 0 0 1em;
  box-sizing: border-box;
}

#main-content.main-content.company .wpcf7 form .wpcf7-response-output {
  margin: 1em 0 0;
  clear: both;
}

/* 送信成功時の緑枠メッセージ（リダイレクト前の一瞬も含め非表示） */
#main-content.main-content.company .wpcf7 form.sent .wpcf7-response-output {
  display: none !important;
  margin: 0;
  padding: 0;
  border: 0;
  clip: auto;
  height: 0;
  overflow: hidden;
}

#main-content.main-content.company .wpcf7 form .wpcf7-not-valid-tip {
  margin-top: 0.35em;
}

/* ----- 7. cp-form_* レイアウト（MW お問合せフォーム DOM 互換） ----- */

/*
 * .cp-form_container には pm_mw_wp_form 相当の余白を付けない（旧MWは fieldset / inline.css に任せる）。
 */
#main-content.main-content.company .wpcf7 .cp-form_outer {
  clear: both;
}

#main-content.main-content.company .wpcf7 .cp-form_container,
#main-content.main-content.company .wpcf7 .section.cp-form_container {
  margin: 0;
  padding: 0;
  border: 0;
}

/*
 * fieldset: 旧MW は UA normalize の padding: .35em .75em .625em（詳細度 0,0,1）。
 * titleist.css の fieldset { padding: 10px 0 0 } を打ち消す。
 * .wpcf7 の 0.875rem で em が縮まないよう fieldset は 1rem 基準（旧ページ body 16px 相当）。
 */
#main-content.main-content.company .wpcf7 .cp-form_outer .cp-form_container fieldset,
#main-content.main-content.company .wpcf7 .cp-form_outer .cp-form_container fieldset.fieldset {
  margin: 0 0 1em;
  padding: 0.35em 0.75em 0.625em;
  border: 0;
  font-size: 1rem;
  min-width: 0;
  max-width: 100%;
}

#main-content.main-content.company .wpcf7 .cp-form_outer p,
#main-content.main-content.company .wpcf7 .cp-form_box p,
#main-content.main-content.company .wpcf7 .cp-form_col-70 > p,
#main-content.main-content.company .wpcf7 .cp-form_container fieldset .col > p {
  margin: 0 !important;
  padding: 0 !important;
  border: 0;
  max-width: 100%;
  min-width: 0;
  /* titleist.css の p { line-height:1.9 } で col-70 内ブロックが縦に伸びるのを防ぐ */
  line-height: 1;
}

/* CF7 が <p><label>…</label></p> で包む行。注意書きは line-height を戻す */
#main-content.main-content.company .wpcf7 .cp-form_box .company-form-note p,
#main-content.main-content.company .wpcf7 .cp-form_box .company-form-notes p {
  line-height: 1.6;
  overflow-wrap: anywhere;
}

/*
 * フリガナ等の補足文（※全角カタカナで入力。など）
 * CF7 出力では <p> が挟まるため、cp-form の p リセット（margin:0）を局所的に戻す。
 */
#main-content.main-content.company .wpcf7 .cp-form_row--kana p:not(:has(label)) {
  margin-top: 0.5em !important;
  line-height: 1.6;
  font-size: var(--company-form-font-notes-rem);
  color: var(--company-form-color-text-muted);
}

/* CF7 が挿入する <br>（都道府県・カテゴリ .col 内） */
#main-content.main-content.company .wpcf7 .cp-form_container fieldset .col br {
  display: none;
}

/*
 * 都道府県・カテゴリ: 旧MW .col.sm-w-100.mid-w-30（titleist.css grid）。
 * .m-section .col { float:left } と併用。select-menu は col 幅いっぱい（100%）。
 */
#main-content.main-content.company .wpcf7 .cp-form_container fieldset .col {
  display: inline-block;
  vertical-align: top;
  float: left;
  width: 100%;
  max-width: 100%;
  margin: 0 0 1em;
  box-sizing: border-box;
}

@media screen and (min-width: 800px) {
  #main-content.main-content.company .wpcf7 .cp-form_container fieldset .col.mid-w-30 {
    width: var(--company-form-col-select-width);
  }
}

#main-content.main-content.company .wpcf7 .cp-form_row {
  margin-bottom: 0;
}

/*
 * 行ラベル: inline.css / old-content.css 相当（旧MW）
 * label { display:block; font-weight:700; padding:0; font-size:.875rem; margin:0; color:#4c4c4c }
 * line-height は titleist.css の label { line-height:1.5 } に合わせる（14px×1.5=21px）
 * titleist.css の label { font-weight:400; margin-bottom:.6em } より優先する。
 */
#main-content.main-content.company .wpcf7 .cp-form_row > label,
#main-content.main-content.company .wpcf7 .cp-form_row > p > label,
#main-content.main-content.company .wpcf7 .cp-form_container fieldset .col > label,
#main-content.main-content.company .wpcf7 .cp-form-field-label {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  font-weight: var(--company-form-weight-row-label);
  font-size: var(--company-form-font-label-rem);
  color: var(--company-form-color-text);
  line-height: var(--company-form-line-label-ratio);
  overflow-wrap: anywhere;
  cursor: pointer;
}

#main-content.main-content.company .wpcf7 .cp-form_row > label .required,
#main-content.main-content.company .wpcf7 .cp-form_row > p > label .required,
#main-content.main-content.company .wpcf7 .cp-form_container fieldset .col > label .required {
  font-weight: var(--company-form-weight-inline-label);
}

/* 旧MW: inline.css の fieldset 入力は width:100%（cp-form_col-70 は幅のクラス名のみ） */
#main-content.main-content.company .wpcf7 .cp-form_col-70 {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/*
 * ._sp-flex: ラベル上・入力下の縦並び（旧MWの入力画面に合わせる）。
 */
#main-content.main-content.company .wpcf7 .cp-form_row._sp-flex {
  display: block;
}

#main-content.main-content.company .wpcf7 .cp-form_row._sp-flex > label,
#main-content.main-content.company .wpcf7 .cp-form_row._sp-flex > .cp-form-field-label {
  margin-bottom: 0;
}

#main-content.main-content.company .wpcf7 .cp-form_row._sp-flex > .cp-form_col-70 {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-top: 0;
}

/* ----- 9a. fieldset 入力・textarea（.cp-form_col-70） ----- */

/*
 * 入力: inline.css / old-content.css（丸角 2em）+ jpn_localized201707（16px）
 * textarea 高さ 200px 含め一本化（旧 L432-434 / L844-853 の重複を解消）
 */
#main-content.main-content.company .wpcf7 fieldset .cp-form_col-70 input[type="text"],
#main-content.main-content.company .wpcf7 fieldset .cp-form_col-70 input[type="email"],
#main-content.main-content.company .wpcf7 fieldset .cp-form_col-70 textarea.wpcf7-textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0.5em 0;
  padding: 0.5em 1em;
  font-size: 16px;
  font-size: 1rem;
  font-family: inherit;
  line-height: 1.15;
  background: #fff;
  border: 1px solid var(--company-form-color-border);
  border-radius: 2em;
  box-shadow: none;
  box-sizing: border-box;
  outline: none;
  text-transform: none;
}

#main-content.main-content.company .wpcf7 fieldset .cp-form_col-70 input[type="text"],
#main-content.main-content.company .wpcf7 fieldset .cp-form_col-70 input[type="email"] {
  height: auto;
}

#main-content.main-content.company .wpcf7 fieldset .cp-form_col-70 textarea.wpcf7-textarea {
  height: 200px;
  min-height: 200px;
  resize: vertical;
  field-sizing: normal;
}

/* プレースホルダー（jpn_localized #ccc / titleist #b2b2b2 より薄く） */
#main-content.main-content.company .wpcf7 input[type="text"]::placeholder,
#main-content.main-content.company .wpcf7 input[type="email"]::placeholder,
#main-content.main-content.company .wpcf7 input[type="tel"]::placeholder,
#main-content.main-content.company .wpcf7 textarea::placeholder {
  color: var(--company-form-color-placeholder);
  opacity: 1;
  font-style: normal;
}

#main-content.main-content.company .wpcf7 input[type="text"]::-webkit-input-placeholder,
#main-content.main-content.company .wpcf7 input[type="email"]::-webkit-input-placeholder,
#main-content.main-content.company .wpcf7 input[type="tel"]::-webkit-input-placeholder,
#main-content.main-content.company .wpcf7 textarea::-webkit-input-placeholder {
  color: var(--company-form-color-placeholder);
  opacity: 1;
  font-style: normal;
}

#main-content.main-content.company .wpcf7 input[type="text"]::-moz-placeholder,
#main-content.main-content.company .wpcf7 input[type="email"]::-moz-placeholder,
#main-content.main-content.company .wpcf7 input[type="tel"]::-moz-placeholder,
#main-content.main-content.company .wpcf7 textarea::-moz-placeholder {
  color: var(--company-form-color-placeholder);
  opacity: 1;
  font-style: normal;
}

#main-content.main-content.company .wpcf7 input[type="text"]:-ms-input-placeholder,
#main-content.main-content.company .wpcf7 input[type="email"]:-ms-input-placeholder,
#main-content.main-content.company .wpcf7 input[type="tel"]:-ms-input-placeholder,
#main-content.main-content.company .wpcf7 textarea:-ms-input-placeholder {
  color: var(--company-form-color-placeholder);
  font-style: normal;
}

/* ----- 9b. col-70 共通（会員行の例外より前） ----- */

/*
 * 生年月日（CF7 実出力）:
 * .row-field > p 内に wrap + br + 「年/月/日」テキストが交互に並ぶ。
 * [birth_year select] 年 [birth_month select] 月 [birth_day select] 日 を横並びにする。
 */
#main-content.main-content.company .wpcf7
  :is(.cp-form_row--birthdate, .cp-form_row--birth)
  :is(.cp-form_col-70, .row-field)
  > p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: flex-start;
  column-gap: 0.35em;
  row-gap: 0.25em;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.15;
  word-break: keep-all;
}

#main-content.main-content.company .wpcf7
  :is(.cp-form_row--birthdate, .cp-form_row--birth)
  :is(.cp-form_col-70, .row-field)
  > p
  > br {
  display: none !important;
}

/* 旧MW .ib + .select-menu パターン（別フォーム用フォールバック） */
#main-content.main-content.company .wpcf7
  :is(.cp-form_row--birthdate, .cp-form_row--birth)
  .ib {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  max-width: 100%;
  white-space: nowrap;
  word-break: keep-all;
}

#main-content.main-content.company .wpcf7
  :is(.cp-form_row--birthdate, .cp-form_row--birth)
  span.select-menu {
  width: auto;
  display: inline-block;
  flex: 0 0 auto;
  vertical-align: middle;
  margin: 0.5em 0;
}

#main-content.main-content.company .wpcf7
  :is(.cp-form_row--birthdate, .cp-form_row--birth)
  span.select-menu.em4,
#main-content.main-content.company .wpcf7
  :is(.cp-form_row--birthdate, .cp-form_row--birth)
  span.select-menu:not(.em2):first-of-type {
  width: calc(35px + 4em);
  max-width: 100%;
}

#main-content.main-content.company .wpcf7
  :is(.cp-form_row--birthdate, .cp-form_row--birth)
  span.select-menu.em2,
#main-content.main-content.company .wpcf7
  :is(.cp-form_row--birthdate, .cp-form_row--birth)
  span.select-menu:not(.em4):not(.em2):nth-of-type(n + 2) {
  width: calc(35px + 2em);
  max-width: 100%;
}

#main-content.main-content.company .wpcf7
  :is(.cp-form_row--birthdate, .cp-form_row--birth)
  span.select-menu
  select {
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
}

@media screen and (min-width: 800px) {
  /*
   * 2入力行（PC: 横並び / SP: 縦並び）
   *
   * 前提（実出力）:
   * - 対象行（例: `.cp-form_row--name` / `.cp-form_row--kana`）
   *   内に `.row-field` があり、その直下に `<p>` が挟まる
   * - `<p>` 内に `.wpcf7-form-control-wrap` が2つ並び、間に `<br>` が入る
   */
  #main-content.main-content.company .wpcf7
    :is(.cp-form_row--name, .cp-form_row--kana)
    .row-field
    > p {
    display: flex;
    flex-wrap: nowrap;
    column-gap: 12px;
    align-items: flex-start;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1;
  }

  #main-content.main-content.company .wpcf7
    :is(.cp-form_row--name, .cp-form_row--kana)
    .row-field
    > p
    > br {
    display: none !important;
  }

  #main-content.main-content.company .wpcf7
    :is(.cp-form_row--name, .cp-form_row--kana)
    .row-field
    > p
    > .wpcf7-form-control-wrap {
    flex: 1 1 0;
    min-width: 0;
  }

  /* 既存の input margin（0.5em 0）が横並び時に上下余白になるため調整 */
  #main-content.main-content.company .wpcf7
    :is(.cp-form_row--name, .cp-form_row--kana)
    .row-field
    input[type="text"] {
    margin-top: 0.5em;
    margin-bottom: 0;
  }
}

/*
 * 郵便番号（1フィールド・000-0000）
 * CF7 出力: .cp-form_col-70 > p > .wpcf7-form-control-wrap > input#zipcode
 */
#main-content.main-content.company .wpcf7 .cp-form_row--zip .cp-form_col-70 > p {
  display: flex;
  flex-wrap: wrap;
  column-gap: 8px;
  align-items: flex-start;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1;
}

#main-content.main-content.company .wpcf7 .cp-form_row--zip .cp-form_col-70 > p::before {
  content: "〒";
  flex: 0 0 auto;
  margin-top: 0.5em;
  color: var(--company-form-color-text);
  font-weight: var(--company-form-weight-row-label);
  line-height: 1.15;
  pointer-events: none;
}

#main-content.main-content.company .wpcf7 .cp-form_row--zip .cp-form_col-70 > p > .wpcf7-form-control-wrap {
  flex: 0 1 auto;
  width: auto;
  max-width: 100%;
  margin-top: 0;
}

#main-content.main-content.company .wpcf7 .cp-form_row--zip .cp-form_col-70 > p > .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  flex-basis: 100%;
  width: 100%;
  margin-top: 0.35em;
}

#main-content.main-content.company .wpcf7 .cp-form_row--zip .wpcf7-form-control-wrap[data-name="zipcode"] input[type="text"] {
  width: 9em;
  max-width: 100%;
}


#main-content.main-content.company .wpcf7 .cp-form_col-70 .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
  margin: 0;
}

/*
 * 生年月日: col-70 の wrap 全幅指定を打ち消し、menu-year / menu-mmdd で幅を分ける。
 * .cp-form_col-70 .wpcf7-form-control-wrap より後に置く。
 */
#main-content.main-content.company .wpcf7
  :is(.cp-form_row--birthdate, .cp-form_row--birth)
  :is(.cp-form_col-70, .row-field)
  > p
  > .wpcf7-form-control-wrap {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
  margin: 0;
}

#main-content.main-content.company .wpcf7
  :is(.cp-form_row--birthdate, .cp-form_row--birth)
  :is(.cp-form_col-70, .row-field)
  > p
  > .wpcf7-form-control-wrap[data-name="birth_year"] {
  width: calc(35px + 4em);
  max-width: 100%;
}

#main-content.main-content.company .wpcf7
  :is(.cp-form_row--birthdate, .cp-form_row--birth)
  :is(.cp-form_col-70, .row-field)
  > p
  > .wpcf7-form-control-wrap[data-name="birth_month"],
#main-content.main-content.company .wpcf7
  :is(.cp-form_row--birthdate, .cp-form_row--birth)
  :is(.cp-form_col-70, .row-field)
  > p
  > .wpcf7-form-control-wrap[data-name="birth_day"] {
  width: calc(35px + 2em);
  max-width: 100%;
}

#main-content.main-content.company .wpcf7
  :is(.cp-form_row--birthdate, .cp-form_row--birth)
  select.menu-year,
#main-content.main-content.company .wpcf7
  :is(.cp-form_row--birthdate, .cp-form_row--birth)
  select.menu-mmdd {
  display: block;
  width: 100%;
  margin: 0.5em 0;
  padding: 0.5em 2.5em 0.5em 1em;
  font-size: var(--company-form-font-label);
  font-size: var(--company-form-font-label-rem);
  line-height: 1.15;
  color: inherit;
  background-color: #fff;
  background-image: var(--company-form-select-arrow);
  background-position: right 8px center;
  background-size: 24px 24px;
  background-repeat: no-repeat;
  border: 1px solid var(--company-form-color-border);
  border-radius: 2em;
  box-shadow: none;
  outline: none;
  height: auto;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}

#main-content.main-content.company .wpcf7
  :is(.cp-form_row--birthdate, .cp-form_row--birth)
  select.menu-year:focus,
#main-content.main-content.company .wpcf7
  :is(.cp-form_row--birthdate, .cp-form_row--birth)
  select.menu-mmdd:focus {
  border-color: var(--company-form-color-text);
  outline: 0;
}

#main-content.main-content.company .wpcf7
  :is(.cp-form_row--birthdate, .cp-form_row--birth)
  select.menu-year::-ms-expand,
#main-content.main-content.company .wpcf7
  :is(.cp-form_row--birthdate, .cp-form_row--birth)
  select.menu-mmdd::-ms-expand {
  display: none;
}

/* 郵便番号: col-70 の wrap 全幅指定より後に置き、〒＋入力幅を維持する */
#main-content.main-content.company .wpcf7 .cp-form_row--zip .cp-form_col-70 > p > .wpcf7-form-control-wrap {
  display: block;
  width: auto;
  max-width: 100%;
}

/* 会員行（.cp-form_row--member）以外の col-70 内 checkbox */
#main-content.main-content.company .wpcf7 .cp-form_col-70 .wpcf7-checkbox .wpcf7-list-item {
  margin: 0 1em 0 0;
}

/* ----- 8. 会員チェック — cp-form 例外（9b の直後。一般 col-70 より詳細度を上げる） ----- */

/*
 * 旧MW: span.mwform-checkbox-field.horizontal-item > label > input + .mwform-checkbox-field-text
 * - 行見出し label: titleist.css margin-bottom 0.6em
 * - □: margin-right 0.5em のみ（サイズ・vertical-align はブラウザ既定）
 * - 内側 label: inline-block（MW が titleist の label{display:block} を上書き）
 */
#main-content.main-content.company .wpcf7 .cp-form_row.cp-form_row--member > label {
  margin-bottom: 0.6em;
  cursor: default;
}

#main-content.main-content.company .wpcf7 .cp-form_row.cp-form_row--member > .cp-form_col-70 {
  margin-top: 0;
  padding-top: 0;
}

#main-content.main-content.company .wpcf7 .cp-form_row.cp-form_row--member .cp-form_col-70 > p {
  margin: 0;
  padding: 0;
  font-size: var(--company-form-font-label-rem);
  line-height: 1;
  height: auto;
  min-height: 0;
  max-height: none;
}

#main-content.main-content.company .wpcf7 .cp-form_row.cp-form_row--member .cp-form_col-70 .wpcf7-form-control-wrap,
#main-content.main-content.company .wpcf7 .cp-form_row.cp-form_row--member .cp-form_col-70 .wpcf7-checkbox {
  display: inline;
  width: auto;
  margin: 0;
  padding: 0;
}

/* .mwform-checkbox-field.horizontal-item 相当 */
#main-content.main-content.company .wpcf7 .cp-form_row.cp-form_row--member .cp-form_col-70 .wpcf7-list-item {
  display: inline-block;
  width: auto;
  margin: 0;
  padding: 0;
  font-size: var(--company-form-font-label-rem);
}

/*
 * 旧MW: .mwform-checkbox-field label { font-weight: normal; margin-bottom: 0 }
 * titleist の label { display:block; width:100% } を打ち消す。
 */
#main-content.main-content.company .wpcf7 .cp-form_row.cp-form_row--member .wpcf7-list-item label {
  display: inline-block;
  width: auto;
  height: auto;
  margin: 0;
  margin-bottom: 0;
  padding: 0;
  font-weight: normal;
  font-size: var(--company-form-font-label-rem);
  color: var(--company-form-color-text);
  text-transform: none;
  cursor: pointer;
  box-sizing: border-box;
}

/* .mwform-checkbox-field-text 相当（位置指定は付けない） */
#main-content.main-content.company .wpcf7 .cp-form_row.cp-form_row--member .wpcf7-list-item-label {
  font-size: var(--company-form-font-label-rem);
  text-transform: none;
}

/* 公開同意行はチェック文言を太字にする */
#main-content.main-content.company .wpcf7 .cp-form_row.cp-form_row--agree .wpcf7-list-item label,
#main-content.main-content.company .wpcf7 .cp-form_row.cp-form_row--agree .wpcf7-list-item-label {
  font-weight: var(--company-form-weight-row-label);
}

/* 旧: input[type=checkbox] { margin-right: .5em; padding: 0 } + box-sizing のみ */
#main-content.main-content.company .wpcf7 .cp-form_row.cp-form_row--member input[type="checkbox"] {
  width: auto;
  height: auto;
  margin: 0 var(--company-form-checkbox-gap) 0 0;
  padding: 0;
  box-sizing: border-box;
}

/* ----- 9c. 送信・radio・レイアウト ----- */

/* 送信行: 最後の .cp-form_container または .cp-form_outer 外の .cp-form_submit（旧テンプレ用） */
#main-content.main-content.company .wpcf7 .cp-form_outer > .cp-form_container:last-child,
#main-content.main-content.company .wpcf7 .cp-form_submit {
  clear: both;
  margin: 0 0 var(--company-form-spacing-submit-block);
  padding: 0;
  border: 0;
}

#main-content.main-content.company .wpcf7 .cp-form_box_center,
#main-content.main-content.company .wpcf7 .cp-form_box_center.gutter {
  margin-left: 20px;
}

#main-content.main-content.company .wpcf7 .cp-form_box_center.gutter p,
#main-content.main-content.company .wpcf7 .cp-form_submit p {
  margin: 0;
  padding: 0;
  border: 0;
}

#main-content.main-content.company .wpcf7 .radio-box {
  display: flex;
}

/*
 * 送信「確認する」: 旧MW .cp-form_container .button { width:120px } のみ。
 * width は content-box（padding/border は titleist.css）。外側 ≈158.8px は 16px 基準の 1.15em 左右 padding。
 * .wpcf7 の 0.875rem だと padding が縮むため submit は 1rem に合わせる。
 */
#main-content.main-content.company .wpcf7 .cp-form_container .button,
#main-content.main-content.company .wpcf7 .cp-form_container input.wpcf7-submit,
#main-content.main-content.company .wpcf7 .cp-form_container input.wpcf7-submit.button,
#main-content.main-content.company .wpcf7 .cp-form_outer .cp-form_box_center input.wpcf7-submit,
#main-content.main-content.company .wpcf7 .cp-form_outer .cp-form_container input.wpcf7-submit,
#main-content.main-content.company .wpcf7 .cp-form_submit input.wpcf7-submit {
  display: inline-block;
  width: var(--company-form-submit-width);
  margin-top: 0;
  margin-bottom: 0;
  box-sizing: content-box;
  font-size: 1rem;
}

/* 戻る（将来の確認画面）: 旧MW .cp-form_container .back */
#main-content.main-content.company .wpcf7 .cp-form_outer .cp-form_container input.wpcf7-submit.back,
#main-content.main-content.company .wpcf7 .cp-form_outer .cp-form_container .back {
  background: #000;
  border: 1px solid #000;
  border-bottom-width: 1px;
  color: #fff;
}

#main-content.main-content.company .wpcf7 .cp-form_outer .cp-form_container input.wpcf7-submit.back:hover,
#main-content.main-content.company .wpcf7 .cp-form_outer .cp-form_container input.wpcf7-submit.back:focus,
#main-content.main-content.company .wpcf7 .cp-form_outer .cp-form_container .back:hover,
#main-content.main-content.company .wpcf7 .cp-form_outer .cp-form_container .back:focus {
  background: #666;
  border-color: #666;
  color: #fff;
}

/* ----- 10. 確認画面（将来用） ----- */

/*
 * MW .mw_wp_form_confirm 相当。CF7 確認ステップ実装時は親に class="company-form-confirm" を付与。
 */

#main-content.main-content.company .mw_wp_form_confirm .input-show,
#main-content.main-content.company .company-form-confirm .input-show {
  display: none;
}

#main-content.main-content.company .mw_wp_form_confirm .cp-form_row,
#main-content.main-content.company .company-form-confirm .cp-form_row {
  flex-wrap: wrap;
}

#main-content.main-content.company .mw_wp_form_confirm .cp-form_col,
#main-content.main-content.company .company-form-confirm .cp-form_col {
  width: 100%;
}

#main-content.main-content.company .mw_wp_form_confirm .cp-form_col-70,
#main-content.main-content.company .company-form-confirm .cp-form_col-70 {
  width: 70%;
}

#main-content.main-content.company .mw_wp_form_confirm .cp-form_col-40,
#main-content.main-content.company .company-form-confirm .cp-form_col-40 {
  width: 40%;
}

#main-content.main-content.company .mw_wp_form_confirm .cp-form_col-30,
#main-content.main-content.company .company-form-confirm .cp-form_col-30 {
  width: 30%;
}

#main-content.main-content.company .mw_wp_form_confirm .select-menu,
#main-content.main-content.company .company-form-confirm .select-menu {
  height: 0;
  margin-bottom: 0;
  overflow: hidden;
  border: 0;
  min-height: 0;
}
