@charset "UTF-8";
/*
 * manual_patch.css — SCSS ビルドを経由しない暫定パッチの置き場。
 *
 * style.css は assets/_sass/ から生成されるため、このリポジトリ/サーバー上では
 * 直接編集しない。ビルド環境が手元に無い状況で CSS を当てる必要があるとき、
 * ここに追記して style.css の後に読み込ませる。
 *
 * 運用:
 *   1. ここに修正を追記する (どの SCSS のどこに入れるべきかをコメントで必ず残す)。
 *   2. まとめてデザイナーへ渡し、_sass へマージ・ビルド・デプロイしてもらう。
 *   3. style.css に反映されたことを確認したら、該当ブロックをここから削除する。
 *      このファイルが空になったら functions/theme-setup.php の
 *      enqueue_manual_patch_style() ごと外す。
 *
 * 読み込み: functions/theme-setup.php の enqueue_manual_patch_style()
 *           (全ページ、style.css の後)
 */

/* ---------------------------------------------------------------------------
 * 2026-09-22 ログイン画面のパスワード入力欄が素のまま表示される
 *
 * 対象: /login/ (page-login.php の <input type="password">)
 * 原因: 入力欄の共通スタイルのセレクタに password が含まれておらず、
 *       メールアドレス欄と並んだときに幅・高さ・枠線・余白が当たらない。
 *
 * マージ先: assets/_sass/object/project/_form.scss:381
 *   - input[type="text"],input[type="email"],input[type="tel"],select,textarea {
 *   + input[type="text"],input[type="email"],input[type="tel"],input[type="password"],select,textarea {
 *
 * ※ 下記は style.css:6801 の生成結果に合わせた password 単体の指定。
 *   SCSS 側はセレクタを 1 つ足すだけでよく、このブロックは不要になる。
 * ------------------------------------------------------------------------ */
.form__control input[type=password] {
  display: block;
  width: 100%;
  margin-top: 5px;
  margin-bottom: 15px;
  padding: 0.5em 1em;
  min-height: 40px;
  border-radius: 12px;
  border: solid 1px #BEC9C7;
  box-sizing: border-box;
}

/* ---------------------------------------------------------------------------
 * 2026-09-22 エラーメッセージがフォーム冒頭では素のまま表示される
 *
 * 対象: /registration/preview/ のフォーム冒頭の総括メッセージなど、
 *       .form__control の外に置かれた .error-text 全般。
 * 原因: .error-text の指定が .form__control 配下に限定されているため、
 *       フォーム直下に置くと赤字にもブロック表示にもならない。
 *
 * マージ先: assets/_sass/object/project/_form.scss
 *   .form__control 内にある .error-text / .wpcf7-not-valid-tip の指定を
 *   .form__control の外（ベース）へ出す。.form__control 配下は
 *   セレクタの詳細度が上なので、そのまま残しても競合しない。
 * ------------------------------------------------------------------------ */
.error-text {
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: clamp(13px, 12.3333333333px + 0.2083333333vw, 15px);
  color: #dc3232;
}

/* ---------------------------------------------------------------------------
 * 2026-09-22 Turnstile のタイルを中央寄せにする
 *
 * 対象: Turnstile を出している全画面
 *       (/registration/preview/, /login/, /pass-reminder/)
 * Turnstile が出力する .cf-turnstile は中に固定幅の iframe を持つため、
 * text-align では動かない。
 *
 * マージ先: assets/_sass/object/project/_form.scss
 *   スコープを絞らず .cf-turnstile として追加する。
 * ------------------------------------------------------------------------ */
.cf-turnstile {
  display: flex;
  justify-content: center;
}

/* ---------------------------------------------------------------------------
 * 2026-09-22 横並びボタンがスマホで画面幅を超える
 *
 * 対象: .form__footer__btn.--wrap を使っている全画面
 *       (/registration/complete/ と /registration/preview/)
 * 原因: --wrap は flex-direction: row 固定で、.btn が min-width: 240px、
 *       gap が 20px あるため、2つ並べると 500px を要する。
 *
 * マージ先: assets/_sass/object/project/_form.scss
 *   .form__footer__btn の .--wrap に max-width: 767.98px のメディアクエリを
 *   足し、既定の column へ戻す。
 * ------------------------------------------------------------------------ */
@media (max-width: 767.98px) {
  .form__footer__btn.--wrap {
    flex-direction: column;
  }
}

/* ---------------------------------------------------------------------------
 * 2026-09-22 マイページのお知らせ先頭に出す未確認メールの注意書き
 *
 * 対象: /mypage/ (page-mypage.php)
 * .error-text は display:block と上下マージンを持つため、
 * grid で日付と並ぶ .mypage-news-list__item の中では行がずれる。
 * 色だけを合わせた修飾子を用意する。
 *
 * マージ先: assets/_sass/object/project/ のマイページ用パーシャル
 *   .mypage-news-list__title の修飾子 .--error として追加する。
 * ------------------------------------------------------------------------ */
.mypage-news-list__title.--error {
  color: #dc3232;
}

/* ---------------------------------------------------------------------------
 * 2026-09-22 参考写真のファイル選択を自前の表示に置き換える
 *
 * 対象: /consultation/ (page-consultation.php)
 * 確認画面から戻るとブラウザはファイル選択を空に戻すため、一時保存済みの
 * 写真があっても「選択されていません」と出てしまい、その下に「現在：○○.jpg」
 * が並んで矛盾して見えた。ネイティブの文言は変更できないので、input を
 * 隠してラベルと自前のファイル名表示に置き換える。
 *
 * マージ先: assets/_sass/object/project/_form.scss
 *   .form__control .file の配下に .file__input / .file__button / .file__name
 *   として追加する。既存の ::file-selector-button の指定は、input を隠す
 *   ことで効かなくなるため .file__button に引き継いでいる。
 * ------------------------------------------------------------------------ */
.form__control .file__item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

/* フォーカスは残したまま見た目だけ隠す */
.form__control .file__input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.form__control .file__button {
  padding: 0.5em 1em;
  border: 1px solid #BEC9C7;
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
}

.form__control .file__input:focus-visible + .file__button {
  outline: 2px solid #85CBBF;
  outline-offset: 2px;
}

.form__control .file__name {
  font-size: clamp(13px, 12.3333333333px + 0.2083333333vw, 15px);
  word-break: break-all;
}

/* 参考写真の選択解除ボタン（上のブロックと同じ .file__item 内） */
.form__control .file__clear {
  flex: none;
  /* ×の字形は前後の余白が不揃いで、そのままだと左に寄って見える。
     flexで中央に置き、左に少しだけ余白を足して見た目を合わせる。 */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.8em;
  height: 1.8em;
  padding: 0 0 0 0.1em;
  border: 1px solid #BEC9C7;
  border-radius: 50%;
  background: #fff;
  line-height: 1;
  cursor: pointer;
}

.form__control .file__clear:hover {
  opacity: 0.7;
}

/* 参考写真の欄に画像をドラッグしているとき（ドロップで選べることを示す）。
   枠線（border）だと常に場所を取ってレイアウトがずれるため、outline で囲む */
.form__control .file__item.is-dragover {
  outline: 2px dashed #85CBBF;
  outline-offset: 4px;
  border-radius: 12px;
  background-color: rgba(133, 203, 191, 0.12);
}

/* ---------------------------------------------------------------------------
 * 2026-09-23 フォーム冒頭の注意書きの行間とリンクの見た目
 *
 * 対象: /consultation/ など .form__caution__text を続けて並べる画面
 * 1) .form__caution__text は margin-top: 20px を持つため、注意書きを2行
 *    並べると間が空きすぎて別々の塊に見える。続く行だけ詰める。
 * 2) 素の a は color: inherit / text-decoration: none（style.css の a）の
 *    ため、注意書きの中のリンクが本文と区別できない。リード文のリンク
 *    (.form__content__lead a) と同じ配色・下線に揃える。
 *
 * マージ先: assets/_sass/object/project/_form.scss
 *   .form__caution__text の指定に隣接セレクタと a の指定を足す。
 *   色 #006A67 は .form__content__lead a と同じ値。
 * ------------------------------------------------------------------------ */
.form__caution__text + .form__caution__text {
  margin-top: 4px;
}

.form__caution__text a {
  color: #006A67;
  text-decoration: underline;
}

.form__caution__text a:hover {
  text-decoration: none;
}

/* ---------------------------------------------------------------------------
 * 2026-09-23 会員登録の4つのメリット: 画像なしのカードで行が余る
 *
 * 対象: /registration-guide/ (page-registration-guide.php)
 * 画像がダミーのため .registration-guide__merit__ph をコメントアウトした。
 * .registration-guide__merit は subgrid で 3 行（画像・見出し・本文）を
 * 占有する前提のため、画像が無いと空の行が残り、親の row-gap (20px) が
 * 余分に入って 2 列・1 列表示でカードの縦の間隔が広がる。
 * 画像の無いカードだけ 2 行（見出し・本文）にする。
 * 画像を戻せば :has() が外れて元の 3 行に戻るので、テンプレートだけ戻せばよい。
 *
 * マージ先: assets/_sass/ の registration-guide のパーシャル
 *   画像を戻す予定なら、マージせずこのブロックごと削除でよい。
 * ------------------------------------------------------------------------ */
.registration-guide__merit:not(:has(.registration-guide__merit__ph)) {
  grid-row: span 2;
}

/* ---------------------------------------------------------------------------
 * 2026-09-24 拠点ページの「リフォーム事例」の下に「事例一覧」ボタン
 *
 * 対象: /company/locations/{拠点}/ (single-location.php の .company-reform-btn)
 *       管理画面の拠点の「事例一覧URL」に入力がある場合だけ出る。
 * 見た目: 補助金ページ（/knowledge/price/）の「事例一覧」ボタン（.price-btn）と同じ。
 *
 * マージ先: assets/_sass の会社案内（.company-*）の並び。
 *   中身は .price-btn（style.css:8388 付近）と同じなので、共通のクラスにまとめてもよい。
 * ------------------------------------------------------------------------ */
.company-reform-btn {
  display: flex;
  justify-content: center;
}

.company-reform-btn .btn {
  margin-block-start: 3em;
}
