@charset "UTF-8";
/* =============================================================================
 * 記事連動型CTA + お問い合わせフォーム（MW WP Form key=5435）
 * 対象: 通常投稿の個別記事すべて（functions.php の iekobo_cta_is_target_post() で条件付き読み込み）
 *
 * すべてのセレクタを .iekobo-article-cta 配下に限定。
 * 既存 wordpress.css / MW WP Form プラグイン CSS の余白・!important を上書きする箇所も
 * .iekobo-article-cta 配下に限定しており、サイト全体の他フォームには影響しない。
 *
 * ブレークポイント: 599px 以下を SP（既存テーマに準拠）。基準は PC、SP は @media で組み替え。
 *
 * 方針（目標デザイン references/cta-design-pc.png / cta-design-sp.png への再現）:
 *  - 目標画像の「情報設計・配置・視認性・比率」を優先。高さの圧縮は最優先ではない。
 *  - PC: 上部緑エリアは「人物写真／相談コピー／電話番号」の3カラム、約200px 前後の高さ。
 *        フォームは各行「アイコン＋ラベル＋必須 | 入力欄」の CSS Grid 2カラム。
 *        入力欄の左端・右端をすべて揃える。行ごとに薄い区切り線。
 *        最下部に赤い CTA 領域（同意チェック＋送信ボタン）。
 *  - SP: PC の縮小版にしない。画面幅をしっかり使い、太い緑背景・大きな見出し・
 *        大きな電話カード・大きな白カードのフォーム。縦に長くてよい。
 *
 * MW WP Form 5435 本文の実マークアップ（2026-09 実機確認）:
 *   div.iekobo-cta-form
 *     div.iekobo-cta-form__heading      … <span.js-estimate-service-name>◯◯</span>の無料お見積<br><strong>簡単<span>30秒</span>入力！</strong>
 *     div.iekobo-cta-form__fields
 *       div.iekobo-cta-form__field × 5  … <label>ラベル<span.iekobo-cta-form__required|__optional>必須|任意</span></label> + input/select
 *       div.iekobo-cta-form__privacy    … 同意チェックボックス（MW の必須バリデーションを維持）
 *       div.iekobo-cta-form__submit     … <input type="submit">
 *   ※ wpautop により各所へ <br> と末尾 <p></p> が挿入される。CTA 配下限定でこれを打ち消す。
 * ========================================================================== */

.iekobo-article-cta,
.iekobo-article-cta *,
.iekobo-article-cta *::before,
.iekobo-article-cta *::after {
	box-sizing: border-box;
}

.iekobo-article-cta {
	--iekobo-green: #087A25;
	--iekobo-green-grad-top: #0a8129;
	--iekobo-green-grad-bottom: #056b1f;
	--iekobo-red: #C90016;
	--iekobo-red-panel: #E00016;
	--iekobo-red-shadow: #9c0011;
	--iekobo-cream: #FAF7EF;
	--iekobo-ink: #2b2b2b;
	--iekobo-line: #e2ddca;

	width: 100%;
	max-width: 100%; /* 記事本文カラム（.article-footer）の幅いっぱい。親要素が最大幅を決める */
	margin: 0 0 32px;
	border: 3px solid var(--iekobo-green);
	border-radius: 16px;
	overflow: hidden;
	background: var(--iekobo-cream);
	color: var(--iekobo-ink);
	font-family: inherit;
	font-size: 15px;
	line-height: 1.6;
	-webkit-text-size-adjust: 100%;
}

.iekobo-article-cta img,
.iekobo-article-cta svg {
	max-width: 100%;
}
.iekobo-article-cta a {
	text-decoration: none;
}

/* =============================================================================
 * 上部：電話相談エリア（深緑）
 * PC = [人物写真 | 相談コピー | 電話番号] の3カラム Grid
 * ========================================================================== */
.iekobo-article-cta__phone {
	position: relative;
	display: grid;
	grid-template-columns: 144px minmax(0, 1fr) max-content;
	align-items: stretch;
	background: linear-gradient(180deg, var(--iekobo-green-grad-top) 0%, var(--iekobo-green-grad-bottom) 100%);
	color: #fff;
}

/* --- 人物写真（assets/images/cta-staff.jpg）--- */
.iekobo-article-cta__person {
	align-self: stretch;
	min-height: 200px;
	overflow: hidden;
	background: #0b6b25;
}
.iekobo-article-cta__person img,
.iekobo-article-cta__person-ph {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 200px;
	object-fit: cover;
	object-position: 28% 18%;
}
.iekobo-article-cta__person-ph {
	object-position: center top;
}

/* --- 中央：相談コピー --- */
.iekobo-article-cta__phone-main {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 18px 14px;
}
.iekobo-article-cta__house {
	display: none; /* PC 非表示。SP のみ「家＋工具」アイコンを表示 */
}
.iekobo-article-cta__phone-copy {
	margin: 0;
	font-size: 23px;
	font-weight: 700;
	line-height: 1.42;
	letter-spacing: 0.01em;
}
.iekobo-article-cta__phone-sub {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 10px 0 0;
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}
.iekobo-article-cta__phone-sub::before,
.iekobo-article-cta__phone-sub::after {
	content: "";
	width: 28px;
	flex: 0 0 auto;
	border-top: 2px dotted rgba(255, 255, 255, 0.7);
}

/* --- 右：電話番号ブロック --- */
.iekobo-article-cta__phone-action {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 16px 18px 16px 20px;
	border-left: 1px solid rgba(255, 255, 255, 0.35);
}
.iekobo-article-cta__badge {
	margin: 0;
}
.iekobo-article-cta__badge span {
	display: inline-block;
	padding: 6px 16px;
	border-radius: 8px;
	background: var(--iekobo-red);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.04em;
}
.iekobo-article-cta__tel-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
}
.iekobo-article-cta__tel-circle {
	display: none; /* PC 非表示。SP のみ丸枠アイコン */
}
.iekobo-article-cta__tel-label {
	display: none; /* PC 非表示。SP のみ「電話で相談する」 */
}
.iekobo-article-cta__tel {
	margin: 0;
}
.iekobo-article-cta__tel a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #fff;
	font-size: 31px;
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: 0.01em;
	white-space: nowrap;
}
.iekobo-article-cta__tel a:hover {
	opacity: 0.92;
}
.iekobo-article-cta__tel-icon svg {
	display: block;
	width: 0.62em;
	height: 0.62em;
}
.iekobo-article-cta__hours {
	margin: 2px 0 0;
	padding: 5px 16px;
	background: #fff;
	color: var(--iekobo-green);
	font-size: 13px;
	font-weight: 700;
	border-radius: 6px;
	white-space: nowrap;
}

/* =============================================================================
 * 下部：フォームエリア（生成り）
 * ========================================================================== */
.iekobo-article-cta__form {
	padding: clamp(18px, 3vw, 34px) clamp(16px, 3.4vw, 36px) clamp(22px, 3vw, 34px);
	background: var(--iekobo-cream);
}
.iekobo-article-cta__form-card {
	background: transparent;
}
.iekobo-article-cta__or {
	display: none; /* PC 非表示。SP のみ「または」 */
}

/* -----------------------------------------------------------------------------
 * フォーム見出し
 * 「正」は MW WP Form 5435 本文内の .iekobo-cta-form__heading。
 * .iekobo-article-cta__heading は、フォーム側に見出しが無い場合の
 * part-ctamain.php フォールバック（入力画面のみ）。両者に同じ見た目を当てる。
 * -------------------------------------------------------------------------- */
.iekobo-article-cta__heading,
.iekobo-article-cta .iekobo-cta-form__heading {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px 12px;
	margin: 0 0 6px;
	padding: 0;
	font-size: clamp(19px, 2.3vw, 26px);
	font-weight: 700;
	line-height: 1.35;
	color: var(--iekobo-ink);
	text-align: center;
}
.iekobo-article-cta__heading::before,
.iekobo-article-cta__heading::after,
.iekobo-article-cta .iekobo-cta-form__heading::before,
.iekobo-article-cta .iekobo-cta-form__heading::after {
	content: "";
	width: 26px;
	height: 2px;
	flex: 0 0 auto;
	background: var(--iekobo-green);
}

/* サービス名のピル。フォールバックは専用クラス、MW側は .js-estimate-service-name を直接ピル化 */
.iekobo-article-cta__heading-pill,
.iekobo-article-cta .iekobo-cta-form__heading .js-estimate-service-name {
	display: inline-block;
	padding: 6px 24px;
	background: var(--iekobo-green);
	color: #fff;
	font-size: 0.9em;
	line-height: 1.5;
	border-radius: 999px;
}

/* 「簡単30秒入力！」— 30秒 のみ赤 */
.iekobo-article-cta__heading-sub,
.iekobo-article-cta .iekobo-cta-form__heading strong {
	font-weight: 700;
	font-style: normal;
	color: var(--iekobo-ink);
	white-space: nowrap;
}
.iekobo-article-cta__accent,
.iekobo-article-cta .iekobo-cta-form__heading strong span,
.iekobo-article-cta .iekobo-cta-form__heading .iekobo-cta-form__accent {
	color: var(--iekobo-red);
	font-style: normal;
}

/* 見出し直下の補足文（part-ctamain.php が出力。フォーム本文側にもクラス互換を用意） */
.iekobo-article-cta__note,
.iekobo-article-cta .iekobo-cta-form__note {
	margin: 0 auto 16px;
	font-size: clamp(12px, 1.4vw, 14px);
	font-weight: 700;
	color: var(--iekobo-green);
	text-align: center;
}

/* 見出しの改行制御: PC は1行、SP は2行（<br> を活かす） */
@media screen and (min-width: 600px) {
	.iekobo-article-cta .iekobo-cta-form__heading br {
		display: none;
	}
}

/* 確認画面／完了画面用の見出し（part-ctamain.php が出力） */
.iekobo-article-cta__form-status {
	margin: 0 0 14px;
	font-size: clamp(16px, 2vw, 20px);
	font-weight: 700;
	color: var(--iekobo-green);
	text-align: center;
}

/* 確認・完了画面では営業見出し（簡単30秒入力！）と補足文を出さない */
.iekobo-article-cta[data-mw-screen="confirm"] .iekobo-cta-form__heading,
.iekobo-article-cta[data-mw-screen="complete"] .iekobo-cta-form__heading,
.iekobo-article-cta[data-mw-screen="confirm"] .iekobo-cta-form__note,
.iekobo-article-cta[data-mw-screen="complete"] .iekobo-cta-form__note,
.iekobo-article-cta .mw_wp_form_confirm .iekobo-cta-form__heading,
.iekobo-article-cta .mw_wp_form_complete .iekobo-cta-form__heading {
	display: none !important;
}
.iekobo-article-cta[data-mw-screen="complete"] .iekobo-article-cta__form-body {
	text-align: center;
}
.iekobo-article-cta[data-mw-screen="complete"] .iekobo-article-cta__form-body .mw_wp_form {
	margin: 0;
}

/* 安心文言 */
.iekobo-article-cta__assurance {
	margin: 18px 0 0;
	padding-top: 14px;
	border-top: 2px dotted var(--iekobo-line);
	font-size: clamp(12px, 1.4vw, 14px);
	font-weight: 700;
	color: var(--iekobo-green);
	text-align: center;
}
.iekobo-article-cta__lock {
	display: inline-flex;
	margin-right: 5px;
	vertical-align: -3px;
}
.iekobo-article-cta__lock svg {
	width: 15px;
	height: 15px;
}

/* =============================================================================
 * MW WP Form (key=5435) の余白リセット＆体裁 — .iekobo-article-cta 配下限定
 * ========================================================================== */
.iekobo-article-cta .mw_wp_form,
.iekobo-article-cta .mw_wp_form * {
	line-height: 1.55;
}
.iekobo-article-cta .mw_wp_form {
	margin: 0;
	font-size: 15px;
}
.iekobo-article-cta .mw_wp_form form {
	margin: 0;
}

/* wpautop が挿入する <br> / 空 <p> を CTA 内だけ打ち消す */
.iekobo-article-cta .iekobo-cta-form__fields br {
	display: none;
}
.iekobo-article-cta .mw_wp_form p:empty,
.iekobo-article-cta .iekobo-cta-form__fields > p:empty {
	display: none;
	margin: 0;
}
.iekobo-article-cta .mw_wp_form > p,
.iekobo-article-cta .mw_wp_form form > p {
	margin: 0;
	padding: 0;
}

/* --- フォーム本文ラッパー --- */
.iekobo-article-cta .iekobo-cta-form {
	width: 100%;
}
.iekobo-article-cta .iekobo-cta-form__fields {
	display: block;
}

/* --- 1行（フィールド） --- */
.iekobo-article-cta .iekobo-cta-form__field {
	margin: 0;
}
.iekobo-article-cta .iekobo-cta-form__field > label {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	color: var(--iekobo-ink);
}

/* 必須 / 任意 バッジ */
.iekobo-article-cta .iekobo-cta-form__required,
.iekobo-article-cta .mw_wp_form [class*="required"] {
	display: inline-block;
	padding: 2px 8px;
	background: var(--iekobo-red);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.5;
	border-radius: 4px;
	vertical-align: middle;
}
.iekobo-article-cta .iekobo-cta-form__optional,
.iekobo-article-cta .mw_wp_form [class*="optional"] {
	display: inline-block;
	padding: 2px 8px;
	background: #6b6b6b;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.5;
	border-radius: 4px;
	vertical-align: middle;
}

/* --- 入力欄（共通） --- */
.iekobo-article-cta .mw_wp_form input[type="text"],
.iekobo-article-cta .mw_wp_form input[type="email"],
.iekobo-article-cta .mw_wp_form input[type="tel"],
.iekobo-article-cta .mw_wp_form input[type="url"],
.iekobo-article-cta .mw_wp_form input[type="number"],
.iekobo-article-cta .mw_wp_form input[type="password"],
.iekobo-article-cta .mw_wp_form textarea,
.iekobo-article-cta .mw_wp_form select {
	display: block;
	width: 100% !important;
	max-width: 100%;
	min-height: 54px;
	margin: 0;
	padding: 12px 14px !important;
	font-size: 16px !important; /* iOS の自動ズーム防止 */
	line-height: 1.4;
	color: var(--iekobo-ink);
	background-color: #fff;
	border: 1px solid #c7c0aa !important;
	border-radius: 9px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.iekobo-article-cta .mw_wp_form textarea {
	min-height: 100px;
}
.iekobo-article-cta .mw_wp_form select {
	height: auto !important;
	padding-right: 40px !important;
	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 fill='%23087A25' d='M6 8 0 2 1.4.6 6 5.2 10.6.6 12 2z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
}
.iekobo-article-cta .mw_wp_form input::placeholder,
.iekobo-article-cta .mw_wp_form textarea::placeholder {
	color: #9b9482;
}
.iekobo-article-cta .mw_wp_form input:focus,
.iekobo-article-cta .mw_wp_form textarea:focus,
.iekobo-article-cta .mw_wp_form select:focus {
	outline: 2px solid var(--iekobo-green);
	outline-offset: 1px;
	border-color: var(--iekobo-green) !important;
}

/* ラジオ・チェックボックス（汎用） */
.iekobo-article-cta .mw_wp_form input[type="radio"],
.iekobo-article-cta .mw_wp_form input[type="checkbox"] {
	width: auto !important;
	min-height: 0;
	margin: 0 6px 0 0;
	padding: 0 !important;
	vertical-align: middle;
}

/* 電話番号：1本の入力欄（管理画面で class="iekobo-tel-input"）。3分割時のフォールバックも維持 */
.iekobo-article-cta .mw_wp_form input.iekobo-tel-input {
	width: 100% !important;
	text-align: left;
}
.iekobo-article-cta .mw_wp_form .mwform-tel-field {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: nowrap;
}
.iekobo-article-cta .mw_wp_form .mwform-tel-field input {
	width: auto !important;
	flex: 1 1 33%;
	min-width: 0;
	text-align: center;
	padding-left: 6px !important;
	padding-right: 6px !important;
}

/* バリデーションエラー（色だけに依存しない） */
.iekobo-article-cta .mw_wp_form .error,
.iekobo-article-cta .mw_wp_form .mwform-error,
.iekobo-article-cta .mw_wp_form .mw_wp_form_error {
	display: block;
	margin-top: 4px;
	color: var(--iekobo-red);
	font-size: 13px;
	font-weight: 700;
}
.iekobo-article-cta .mw_wp_form .error::before,
.iekobo-article-cta .mw_wp_form .mwform-error::before {
	content: "\26A0\FE0E ";
}

/* -----------------------------------------------------------------------------
 * 送信・確認ボタン（ベース = 赤ソリッド。入力画面のみ後段で白ボタン＋赤帯に上書き）
 * -------------------------------------------------------------------------- */
.iekobo-article-cta .mw_wp_form input[type="submit"],
.iekobo-article-cta .mw_wp_form button[type="submit"],
.iekobo-article-cta .mw_wp_form input[name="submitConfirm"],
.iekobo-article-cta .mw_wp_form input[name="submit"] {
	display: block;
	width: 100% !important;
	max-width: 520px !important;
	min-height: 56px;
	margin: 16px auto 0 !important;
	padding: 12px 24px !important;
	font-size: 17px !important;
	font-weight: 700;
	line-height: 1.4;
	color: #fff;
	background: var(--iekobo-red);
	border: none;
	border-radius: 10px;
	box-shadow: 0 5px 0 var(--iekobo-red-shadow);
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: transform 0.12s ease, box-shadow 0.12s ease, opacity 0.12s ease;
}
.iekobo-article-cta .mw_wp_form input[type="submit"]:hover,
.iekobo-article-cta .mw_wp_form button[type="submit"]:hover,
.iekobo-article-cta .mw_wp_form input[name="submitConfirm"]:hover,
.iekobo-article-cta .mw_wp_form input[name="submit"]:hover {
	opacity: 0.92;
}
.iekobo-article-cta .mw_wp_form input[type="submit"]:active,
.iekobo-article-cta .mw_wp_form button[type="submit"]:active,
.iekobo-article-cta .mw_wp_form input[name="submitConfirm"]:active,
.iekobo-article-cta .mw_wp_form input[name="submit"]:active {
	transform: translateY(2px);
	box-shadow: 0 3px 0 var(--iekobo-red-shadow);
}
.iekobo-article-cta .mw_wp_form input[type="submit"]:focus-visible,
.iekobo-article-cta .mw_wp_form button[type="submit"]:focus-visible,
.iekobo-article-cta .mw_wp_form input[name="submitConfirm"]:focus-visible,
.iekobo-article-cta .mw_wp_form input[name="submit"]:focus-visible {
	outline: 3px solid #062;
	outline-offset: 2px;
}
/* 確認画面の「入力内容を修正する」（MW WP Form 標準の [mwform_backButton]、name="submitBack"）。
 * 送信ボタンより控えめな白地＋枠線。フォーム本文で送信ボタンの直前に置き、上に表示する
 * （ボタンは確認画面でしか出力されない）。2026-10-06 グレー塗りから変更。 */
.iekobo-article-cta .mw_wp_form input[name="submitBack"] {
	display: block;
	width: 100% !important;
	max-width: 320px !important;
	min-height: 46px;
	margin: 16px auto 0 !important;
	padding: 10px 20px !important;
	font-size: 14px !important;
	font-weight: 700;
	line-height: 1.4;
	color: var(--iekobo-ink);
	background: #fff;
	border: 1px solid #b9b4a2;
	border-radius: 8px;
	box-shadow: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}
.iekobo-article-cta .mw_wp_form input[name="submitBack"]:hover {
	opacity: 1;
	background: #f6f4ec;
}
.iekobo-article-cta .mw_wp_form input[name="submitBack"]:active {
	transform: none;
	box-shadow: none;
	background: #ece9dd;
}
.iekobo-article-cta .mw_wp_form input[name="submitBack"]:focus-visible {
	outline: 3px solid #062;
	outline-offset: 2px;
}

/* 確認画面：ラベル＋入力値を読みやすく */
.iekobo-article-cta[data-mw-screen="confirm"] .iekobo-cta-form__field {
	padding: 12px 0;
	border-bottom: 1px solid var(--iekobo-line);
	font-size: 16px;
	font-weight: 700;
	color: var(--iekobo-ink);
}
.iekobo-article-cta[data-mw-screen="confirm"] .iekobo-cta-form__field > label {
	display: block;
	margin: 0 0 3px;
	font-size: 13px;
	font-weight: 700;
	color: var(--iekobo-green);
}
.iekobo-article-cta[data-mw-screen="confirm"] .iekobo-cta-form__privacy {
	margin: 12px 0 0;
	font-weight: 700;
	color: var(--iekobo-ink);
}

/* =============================================================================
 * PC（600px 以上）
 *  - フォーム各行を Grid 2カラム化: [アイコン] [ラベル・必須] | [入力欄]
 *  - :has() に依存しない。実マークアップ（.iekobo-cta-form__field 直下に label と
 *    input/select が1つずつ）に合わせて grid-column を明示指定する。
 *  - 入力画面のみ適用（確認画面は安全なブロック積みへフォールバック）。
 * ========================================================================== */
@media screen and (min-width: 600px) {

	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field {
		display: grid;
		grid-template-columns: 30px 184px minmax(0, 1fr);
		align-items: center;
		column-gap: 14px;
		padding: 15px 2px;
		border-bottom: 1px solid var(--iekobo-line);
	}
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__fields > .iekobo-cta-form__field:nth-child(1) {
		border-top: 1px solid var(--iekobo-line);
	}

	/* アイコン（Grid 第1列 = 疑似要素）。装飾のみ・SVG は data URI */
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field::before {
		content: "";
		grid-column: 1;
		width: 26px;
		height: 26px;
		align-self: center;
		background: 50% / contain no-repeat;
	}
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field:nth-child(1)::before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23087A25' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M9 13h6M9 17h6'/%3E%3C/svg%3E");
	}
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field:nth-child(2)::before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23087A25' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'/%3E%3C/svg%3E");
	}
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field:nth-child(3)::before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23087A25'%3E%3Cpath d='M6.6 10.8a15.5 15.5 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.24 11 11 0 0 0 3.5.56 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1 11 11 0 0 0 .56 3.5 1 1 0 0 1-.24 1z'/%3E%3C/svg%3E");
	}
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field:nth-child(4)::before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23087A25' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
	}
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field:nth-child(5)::before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23087A25' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
	}

	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field > label {
		grid-column: 2;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 6px 8px;
		margin: 0;
		font-size: 16px;
	}
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field > input,
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field > select {
		grid-column: 3;
		margin: 0;
	}

	/* 赤い CTA 領域: 同意チェック（.iekobo-cta-form__privacy）＋ 送信ボタン（.iekobo-cta-form__submit）
	 * を隙間なくつなげて1枚のパネルに見せる。チェックは可視のまま維持（MW の必須バリデーション不変）。*/
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__privacy {
		margin: 24px 0 0;
		padding: 18px 18px 10px;
		background: var(--iekobo-red-panel);
		border-radius: 14px 14px 0 0;
		text-align: center;
	}
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__submit {
		margin: 0;
		padding: 4px 18px 20px;
		background: var(--iekobo-red-panel);
		border-radius: 0 0 14px 14px;
		text-align: center;
	}
}

/* --- 赤い CTA 領域の中身（PC/SP 共通、入力画面のみ） --- */
.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__privacy .horizontal-item,
.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__privacy .mwform-checkbox-field {
	display: inline-block;
	margin: 0;
}
.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__privacy label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	cursor: pointer;
	color: #fff;
	font-size: clamp(14px, 1.6vw, 16px);
	font-weight: 700;
	line-height: 1.45;
}
.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__privacy input[type="checkbox"] {
	width: 22px !important;
	height: 22px;
	min-height: 0;
	margin: 0;
	flex: 0 0 auto;
	accent-color: #fff;
}
.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__privacy .mwform-checkbox-field-text {
	color: #fff;
}
.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__submit input[type="submit"] {
	max-width: 560px !important;
	min-height: 62px;
	margin: 0 auto !important;
	padding: 12px 24px 12px 56px !important;
	color: var(--iekobo-red);
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C90016' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E") no-repeat 22px center;
	background-size: auto, 24px;
	border: 2px solid #fff;
	border-radius: 11px;
	box-shadow: 0 5px 0 rgba(0, 0, 0, 0.18);
	font-size: clamp(15px, 1.9vw, 20px) !important;
}

/* =============================================================================
 * 中間幅（PC だが本文カラムが狭い / タブレット 600–899px）
 * ========================================================================== */
@media screen and (min-width: 600px) and (max-width: 980px) {
	.iekobo-article-cta__phone {
		grid-template-columns: 120px minmax(0, 1fr) max-content;
	}
	.iekobo-article-cta__person,
	.iekobo-article-cta__person img,
	.iekobo-article-cta__person-ph {
		min-height: 178px;
	}
	.iekobo-article-cta__phone-copy {
		font-size: 20px;
	}
	.iekobo-article-cta__tel a {
		font-size: 27px;
	}
	.iekobo-article-cta__phone-action {
		padding-left: 14px;
	}
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field {
		grid-template-columns: 24px 150px minmax(0, 1fr);
		column-gap: 10px;
	}
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field > label {
		font-size: 15px;
	}
}

/* =============================================================================
 * SP（599px 以下）— PC の縮小版にしない。専用レイアウトで組み直す。
 *  順序: 家＋工具アイコン／相談コピー／見積無料ピル／電話カード → または → フォームカード
 * ========================================================================== */
@media screen and (max-width: 599px) {
	.iekobo-article-cta {
		margin-bottom: 26px;
		border: none;
		border-radius: 16px;
		background: var(--iekobo-green);
	}

	/* --- 上部（緑地・べた） --- */
	.iekobo-article-cta__phone {
		display: block;
		padding: 22px 15px 6px;
		background: none;
		text-align: center;
	}
	.iekobo-article-cta__person {
		display: none; /* SP は人物写真非表示 */
	}
	.iekobo-article-cta__phone-main {
		display: block;
		padding: 0;
	}
	.iekobo-article-cta__house {
		display: block;
		width: clamp(56px, 17vw, 68px);
		height: clamp(56px, 17vw, 68px);
		margin: 0 auto 8px;
		color: #fff;
	}
	.iekobo-article-cta__house svg {
		display: block;
		width: 100%;
		height: 100%;
	}
	.iekobo-article-cta__phone-copy {
		font-size: clamp(21px, 6.2vw, 26px);
		line-height: 1.42;
	}
	.iekobo-article-cta__phone-sub {
		display: none;
	}

	.iekobo-article-cta__phone-action {
		display: block;
		margin: 14px 0 0;
		padding: 0;
		border-left: none;
	}
	.iekobo-article-cta__badge {
		margin: 0 0 14px;
	}
	.iekobo-article-cta__badge span {
		padding: 9px 30px;
		border-radius: 9px;
		font-size: clamp(16px, 4.6vw, 19px);
		letter-spacing: 0.06em;
	}

	/* 電話カード（白）: 丸枠アイコン + テキスト（受付時間まで縦積み）の横並び */
	.iekobo-article-cta__tel-card {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
		column-gap: 10px;
		row-gap: 1px;
		padding: 14px 12px 15px;
		background: #fff;
		border-radius: 16px;
		text-align: left;
	}
	.iekobo-article-cta__tel-circle {
		display: flex;
		align-items: center;
		justify-content: center;
		grid-column: 1;
		grid-row: 1 / span 3;
		width: clamp(52px, 15vw, 62px);
		height: clamp(52px, 15vw, 62px);
		border: 3px solid var(--iekobo-green);
		border-radius: 50%;
		color: var(--iekobo-green);
	}
	.iekobo-article-cta__tel-circle svg {
		width: 50%;
		height: 50%;
	}
	.iekobo-article-cta__tel-label {
		display: block;
		grid-column: 2;
		grid-row: 1;
		margin: 0;
		color: var(--iekobo-green);
		font-size: clamp(14px, 3.9vw, 17px);
		font-weight: 700;
	}
	.iekobo-article-cta__tel {
		grid-column: 2;
		grid-row: 2;
		margin: 0;
		min-width: 0;
	}
	.iekobo-article-cta__tel a {
		color: var(--iekobo-green);
		font-size: clamp(24px, 7.6vw, 33px);
		letter-spacing: -0.01em;
		white-space: nowrap;
	}
	.iekobo-article-cta__tel-icon {
		display: none; /* SP は丸枠アイコンを使う */
	}
	.iekobo-article-cta__hours {
		grid-column: 2;
		grid-row: 3;
		margin: 1px 0 0;
		padding: 0;
		background: none;
		color: var(--iekobo-ink);
		font-size: clamp(12px, 3.4vw, 14px);
		white-space: nowrap;
	}

	/* --- または --- */
	.iekobo-article-cta__form {
		padding: 2px 12px 14px;
		background: transparent;
	}
	.iekobo-article-cta__or {
		display: block;
		margin: 0;
		padding: 16px 6px 18px;
		text-align: center;
	}
	.iekobo-article-cta__or span {
		display: inline-flex;
		align-items: center;
		gap: 12px;
		color: #fff;
		font-size: clamp(16px, 4.6vw, 19px);
		font-weight: 700;
	}
	.iekobo-article-cta__or span::before,
	.iekobo-article-cta__or span::after {
		content: "";
		width: clamp(46px, 14vw, 74px);
		border-top: 2px dotted rgba(255, 255, 255, 0.75);
	}

	/* --- フォームカード（白〜生成り） --- */
	.iekobo-article-cta__form-card {
		padding: 20px 15px 22px;
		background: var(--iekobo-cream);
		border-radius: 16px;
	}
	/* SP 見出し: フレックスをやめてブロック中央寄せ。<br> を活かして
	 * 「◯◯の無料お見積」/「簡単30秒入力！」の2行に分ける（サービス名が長い場合は1行目が折返す）。*/
	.iekobo-article-cta .iekobo-cta-form__heading,
	.iekobo-article-cta__heading {
		display: block;
		font-size: clamp(19px, 5.3vw, 24px);
		line-height: 1.5;
	}
	.iekobo-article-cta .iekobo-cta-form__heading::before,
	.iekobo-article-cta .iekobo-cta-form__heading::after,
	.iekobo-article-cta__heading::before,
	.iekobo-article-cta__heading::after {
		display: none;
	}
	.iekobo-article-cta .iekobo-cta-form__heading .js-estimate-service-name,
	.iekobo-article-cta__heading-pill {
		display: inline-block;
		margin-bottom: 2px;
		padding: 5px 18px;
	}
	.iekobo-article-cta .iekobo-cta-form__heading strong,
	.iekobo-article-cta__heading-sub {
		display: inline-block;
	}
	.iekobo-article-cta__note,
	.iekobo-article-cta .iekobo-cta-form__note {
		margin-bottom: 14px;
		font-size: 13px;
	}

	/* SP フォーム行: アイコン無しの縦積み（ラベル→入力欄） */
	.iekobo-article-cta .iekobo-cta-form__field {
		display: block;
		padding: 0 0 13px;
		border: none;
	}
	.iekobo-article-cta .iekobo-cta-form__field > label {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 6px 8px;
		margin: 0 0 6px;
		font-size: 16px;
	}
	.iekobo-article-cta .mw_wp_form input[type="text"],
	.iekobo-article-cta .mw_wp_form input[type="email"],
	.iekobo-article-cta .mw_wp_form input[type="tel"],
	.iekobo-article-cta .mw_wp_form input[type="url"],
	.iekobo-article-cta .mw_wp_form input[type="number"],
	.iekobo-article-cta .mw_wp_form input[type="password"],
	.iekobo-article-cta .mw_wp_form textarea,
	.iekobo-article-cta .mw_wp_form select {
		min-height: 56px;
		font-size: 16px !important;
	}

	/* SP 赤い CTA 領域 */
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__privacy {
		margin: 20px 0 0;
		padding: 16px 14px 10px;
		background: var(--iekobo-red-panel);
		border-radius: 14px 14px 0 0;
		text-align: center;
	}
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__submit {
		margin: 0;
		padding: 4px 12px 18px;
		background: var(--iekobo-red-panel);
		border-radius: 0 0 14px 14px;
	}
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__submit input[type="submit"] {
		min-height: 62px;
		max-width: 100% !important;
		padding-left: 52px !important;
		font-size: 16px !important;
	}
	.iekobo-article-cta .mw_wp_form input[name="submit"],
	.iekobo-article-cta .mw_wp_form input[name="submitConfirm"] {
		max-width: 100% !important;
	}
}

/* =============================================================================
 * モーション配慮
 * ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	.iekobo-article-cta *,
	.iekobo-article-cta *::before,
	.iekobo-article-cta *::after {
		transition: none !important;
		animation: none !important;
	}
}

/* =============================================================================
 * フォーム見出しが固定ヘッダーに隠れないようにする（固定CTA・アンカーリンクの移動先）
 *   固定ヘッダー #header の実高: PC/タブレット（600px 以上）約 161px（#cont padding-top: 161px）
 *                                SP（599px 以下）60px（#header-in height: 60px）
 * ========================================================================== */
#iekobo-estimate-form {
	scroll-margin-top: 176px;
}
#iekobo-estimate-form:focus {
	outline: none; /* tabindex="-1"（固定CTAからのフォーカス移動用）。Tab 順には入らない */
}
@media screen and (max-width: 599px) {
	#iekobo-estimate-form {
		scroll-margin-top: 76px;
	}
}

/* =============================================================================
 * 固定お見積りCTA（part-ctasticky.php）
 *   SP（599px 以下）限定。通常投稿の個別記事のみ footer.php から出力される。
 *
 *   構成: 中央揃えの 2 行
 *     1 行目 「〇〇の無料お見積はこちら↓」… 長いサービス名は「〇〇の」「無料お見積はこちら↓」で折り返し（最大 2 行想定）
 *     2 行目 「簡単30秒入力！」            … 必ず独立した行（display:block）
 *   配置: 画面下部。左 16px、右は「ページ上部へ戻る」ボタン
 *         （#btn-pagetop: right 6.25vw / width 60px / bottom 6.25vw）の左側で止め、縦中心を揃える。
 *   z-index: 9989 … #btn-pagetop(9990)・SPメニュー #overlay(9991) / #nav(9997)・#header(9999) より下。
 * ========================================================================== */
.iekobo-estimate-sticky {
	display: none;
}

@media screen and (max-width: 599px) {
	.iekobo-estimate-sticky {
		--iekobo-green: #087A25;
		--iekobo-green-grad-top: #0a8129;
		--iekobo-green-grad-bottom: #056b1f;
		--iekobo-green-shadow: #04531a;
		--iekobo-red: #C90016;
		--iekobo-kinari: #FFF1C9;
		--iekobo-yellow: #FFE14D;

		display: block;
		position: fixed;
		z-index: 9989;
		left: 0;
		right: calc(6.25vw + 60px + 10px); /* 戻るボタン幅 60px ＋ 間隔 10px */
		bottom: 0;
		box-sizing: border-box;
		/* 戻るボタン（高さ 60px）と縦中心を揃える ＋ iPhone セーフエリア */
		padding: 0 0 calc(6.25vw - 8px + env(safe-area-inset-bottom, 0px)) 16px;
		pointer-events: none; /* ラッパーの余白部分はタップを通す */
	}

	.iekobo-estimate-sticky *,
	.iekobo-estimate-sticky *::before,
	.iekobo-estimate-sticky *::after {
		box-sizing: border-box;
	}

	.iekobo-estimate-sticky__link {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 100%;
		max-width: 400px;
		min-height: 74px;
		margin: 0;
		padding: 8px 10px;
		border: 2px solid #fff;
		border-radius: 12px;
		background: linear-gradient(180deg, var(--iekobo-green-grad-top) 0%, var(--iekobo-green-grad-bottom) 100%);
		box-shadow: 0 3px 0 var(--iekobo-green-shadow), 0 4px 12px rgba(0, 0, 0, 0.22);
		color: #fff !important;
		text-align: center;
		text-decoration: none !important;
		-webkit-tap-highlight-color: transparent;
		pointer-events: auto;

		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0s;
	}
	.iekobo-estimate-sticky__link:hover,
	.iekobo-estimate-sticky__link:active {
		color: #fff !important;
		opacity: 1;
	}
	.iekobo-estimate-sticky__link:active {
		transform: translateY(2px);
		box-shadow: 0 1px 0 var(--iekobo-green-shadow), 0 3px 8px rgba(0, 0, 0, 0.2);
	}
	.iekobo-estimate-sticky__link:focus {
		outline: 3px solid #111;
		outline-offset: 2px;
	}
	.iekobo-estimate-sticky__link:focus:not(:focus-visible) {
		outline: none;
	}

	/* 非表示状態（article-cta.js が付与）。透明な要素がタップを妨げないよう pointer-events も切る */
	.iekobo-estimate-sticky.is-hidden .iekobo-estimate-sticky__link {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(calc(100% + 24px));
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s;
	}

	/* 1 行目「〇〇の無料お見積はこちら↓」 */
	.iekobo-estimate-sticky__main {
		display: block;
		max-width: 100%;
		font-size: clamp(14px, 3.9vw, 16px);
		font-weight: 700;
		line-height: 1.3;
		letter-spacing: 0.01em;
		color: #fff;
		overflow-wrap: anywhere;
	}
	.iekobo-estimate-sticky__link.is-long .iekobo-estimate-sticky__main {
		font-size: clamp(13px, 3.5vw, 15px);
	}
	.iekobo-estimate-sticky__link.is-xlong .iekobo-estimate-sticky__main {
		font-size: 12px;
	}
	.iekobo-estimate-sticky__service {
		color: var(--iekobo-kinari);
		word-break: keep-all;      /* 単語の途中で改行しない（改行位置は「・」の後ろの <wbr>） */
		overflow-wrap: anywhere;   /* それでも収まらない場合のみ任意位置で改行（はみ出し防止） */
	}
	/* 折り返すときは「〇〇の」の後ろで改行し、「無料お見積はこちら↓」は分割しない */
	.iekobo-estimate-sticky__main-rest {
		display: inline-block;
		white-space: nowrap;
	}
	.iekobo-estimate-sticky__arrow {
		display: inline-block;
		margin-left: 2px;
		font-weight: 700;
	}

	/* 2 行目「簡単30秒入力！」（必ず独立した行） */
	.iekobo-estimate-sticky__sub {
		display: block;
		margin-top: 3px;
		font-size: 14px;
		font-weight: 700;
		line-height: 1.3;
		white-space: nowrap;
		color: #fff;
	}
	.iekobo-estimate-sticky__accent {
		display: inline-block;
		margin: 0 3px;
		padding: 0 5px;
		border-radius: 4px;
		background: var(--iekobo-yellow);
		color: var(--iekobo-red);
		font-weight: 700;
		line-height: 1.35;
	}
}

@media print {
	.iekobo-estimate-sticky {
		display: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.iekobo-estimate-sticky__link,
	.iekobo-estimate-sticky.is-hidden .iekobo-estimate-sticky__link {
		transition: none !important;
	}
}

/* =============================================================================
 * 読みやすさ調整（2026-09-24）: お見積りフォームの小さい文字を拡大
 *   高齢の読者向け。レイアウトは変えず文字サイズのみ上書き（元の値はコメント）。
 * ========================================================================== */
.iekobo-article-cta__phone-sub { font-size: 14px; }                                   /* 元 12px */
.iekobo-article-cta__hours { font-size: 15px; }                                       /* 元 13px */
.iekobo-article-cta .iekobo-cta-form__note,
.iekobo-article-cta__assurance { font-size: 15px; }                                   /* 元 12〜14px */
.iekobo-article-cta .mw_wp_form [class*="required"],
.iekobo-article-cta .mw_wp_form [class*="optional"] { font-size: 13px; }              /* 元 11px */
.iekobo-article-cta .iekobo-cta-form__field > label,
.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field > label { font-size: 17px; } /* 元 16px */
.iekobo-article-cta .mw_wp_form input[type="text"],
.iekobo-article-cta .mw_wp_form input[type="email"],
.iekobo-article-cta .mw_wp_form input[type="tel"],
.iekobo-article-cta .mw_wp_form input[type="url"],
.iekobo-article-cta .mw_wp_form input[type="number"],
.iekobo-article-cta .mw_wp_form input[type="password"],
.iekobo-article-cta .mw_wp_form textarea,
.iekobo-article-cta .mw_wp_form select { font-size: 18px !important; }                /* 元 16px */
.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__privacy label { font-size: 17px; } /* 元 14〜16px */
.iekobo-article-cta .mw_wp_form .mw_wp_form_error { font-size: 15px; }                /* 元 13px */
.iekobo-article-cta .mw_wp_form input[name="submitBack"] { font-size: 16px !important; } /* 元 14px */
.iekobo-article-cta[data-mw-screen="confirm"] .iekobo-cta-form__field { font-size: 18px; }           /* 元 16px */
.iekobo-article-cta[data-mw-screen="confirm"] .iekobo-cta-form__field > label { font-size: 15px; }   /* 元 13px */
.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__submit input[type="submit"] {
	font-size: clamp(17px, 1.9vw, 20px) !important;                                   /* 元 clamp(15px, 1.9vw, 20px) */
	background-size: 26px;  /* 元 "auto, 24px"（背景 1 枚に 2 値のため auto 扱いになり、封筒アイコンが大きく文字に重なっていた） */
}

@media screen and (min-width: 600px) and (max-width: 980px) {
	/* ラベル列（元 150px）を広げ「メールアドレス 必須」が 1 行に収まるように */
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field {
		grid-template-columns: 24px 176px minmax(0, 1fr);
	}
}

@media screen and (max-width: 599px) {
	.iekobo-article-cta__hours { font-size: 15px; }                                   /* 元 clamp(12px, 3.4vw, 14px) */
	.iekobo-article-cta .iekobo-cta-form__note { font-size: 15px; }                   /* 元 13px */
	.iekobo-article-cta .iekobo-cta-form__field > label,
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field > label { font-size: 18px; } /* 元 16px */
	.iekobo-article-cta .mw_wp_form input[type="text"],
	.iekobo-article-cta .mw_wp_form input[type="email"],
	.iekobo-article-cta .mw_wp_form input[type="tel"],
	.iekobo-article-cta .mw_wp_form input[type="url"],
	.iekobo-article-cta .mw_wp_form input[type="number"],
	.iekobo-article-cta .mw_wp_form input[type="password"],
	.iekobo-article-cta .mw_wp_form textarea,
	.iekobo-article-cta .mw_wp_form select { font-size: 18px !important; }            /* 元 16px */
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__submit input[type="submit"] {
		font-size: 18px !important;                                                   /* 元 16px */
	}
}

/* 送信完了 → 完了ページ（本体サイト）への遷移案内（2026-10-06 追加） */
.iekobo-article-cta__thanks-link {
	margin: 0 0 14px;
	font-size: 14px;
	text-align: center;
}
.iekobo-article-cta__thanks-link a {
	color: var(--iekobo-green);
	text-decoration: underline;
}

/* =============================================================================
 * 確認画面の操作部分（2026-10-06 追加）
 *   同意表示 → 「入力内容を修正する」 → 「無料相談を送信する」 を中央にまとめる。
 *   対象はフォーム 5435（#mw_wp_form_mw-wp-form-5435）の CTA 内・確認画面のみ。
 *   入力画面（同意チェック・確認ボタンの赤帯デザイン）には影響しない。
 *   見出し中央寄せ・確認内容左寄せは既存ルールのまま。
 * ========================================================================== */
.iekobo-article-cta[data-mw-screen="confirm"] #mw_wp_form_mw-wp-form-5435 .iekobo-cta-form__privacy {
	margin: 20px 0 0;
	text-align: center;
	overflow-wrap: anywhere;
}
/* フォーム本文の送信ボタン枠に入っている全角スペース・改行が空行（約 23px）にならないよう、
 * 枠自体の文字サイズを 0 にする（ボタンは個別に font-size を指定済み）。
 * 縦並びの flex にして、フォーム本文で戻るボタンを送信ボタンの前後どちらに置いても
 * 「戻る → 送信」の順で表示する（2026-10-16）。 */
.iekobo-article-cta[data-mw-screen="confirm"] #mw_wp_form_mw-wp-form-5435 .iekobo-cta-form__submit {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 14px 0 0;
	font-size: 0;
	line-height: 0;
}
/* 戻る・送信の幅を統一して中央配置（戻る = 白地＋細枠、送信 = 既存の赤のまま） */
.iekobo-article-cta[data-mw-screen="confirm"] #mw_wp_form_mw-wp-form-5435 .iekobo-cta-form__submit input[type="submit"] {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 360px !important;
	margin: 0 auto !important;
	line-height: 1.4;
	white-space: normal;
}
.iekobo-article-cta[data-mw-screen="confirm"] #mw_wp_form_mw-wp-form-5435 .iekobo-cta-form__submit input[name="submitBack"] {
	order: -1;
	margin-bottom: 12px !important;
}
/* 念のため：戻るボタンが重複して出力されても 1 つだけ表示する */
.iekobo-article-cta[data-mw-screen="confirm"] #mw_wp_form_mw-wp-form-5435 input[name="submitBack"] ~ input[name="submitBack"] {
	display: none !important;
}

/* =============================================================================
 * 住所欄（郵便番号・自動入力ボタン・都道府県・住所）2026-11-13 追加
 *   MW WP Form 5435 本文の 3 行:
 *     div.iekobo-cta-form__field.iekobo-cta-form__field--zip  … customer_zip（＋ JS が追加する
 *        div.iekobo-cta-form__zip-row / button.iekobo-cta-form__zip-btn / p.iekobo-cta-form__zip-status）
 *     div.iekobo-cta-form__field.iekobo-cta-form__field--pref … customer_pref
 *     div.iekobo-cta-form__field.iekobo-cta-form__field--addr … customer_addr
 *   メールアドレスの後・希望連絡時間の前に置く。すべて .iekobo-article-cta 配下限定。
 * ========================================================================== */

/* 郵便番号欄＋「自動入力」ボタンの横並び */
.iekobo-article-cta .iekobo-cta-form__zip-row {
	display: flex;
	align-items: stretch;
	gap: 10px;
	min-width: 0;
}
.iekobo-article-cta .mw_wp_form .iekobo-cta-form__zip-row input[type="text"] {
	flex: 1 1 auto;
	width: auto !important;
	min-width: 0;
	max-width: 240px;
}
.iekobo-article-cta .iekobo-cta-form__zip-btn {
	flex: 0 0 auto;
	min-height: 54px;
	margin: 0;
	padding: 0 18px;
	border: none;
	border-radius: 9px;
	background: var(--iekobo-green);
	box-shadow: 0 3px 0 #04531a;
	color: #fff;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: opacity 0.12s ease, transform 0.12s ease, box-shadow 0.12s ease;
}
.iekobo-article-cta .iekobo-cta-form__zip-btn:hover {
	opacity: 0.9;
}
.iekobo-article-cta .iekobo-cta-form__zip-btn:active {
	transform: translateY(2px);
	box-shadow: 0 1px 0 #04531a;
}
.iekobo-article-cta .iekobo-cta-form__zip-btn:focus-visible {
	outline: 3px solid #062;
	outline-offset: 2px;
}
.iekobo-article-cta .iekobo-cta-form__zip-btn[disabled] {
	opacity: 0.6;
	cursor: wait;
	transform: none;
}
/* 自動入力ボタンは入力画面でのみ使う（JS も入力画面以外では追加しない） */
.iekobo-article-cta:not([data-mw-screen="input"]) .iekobo-cta-form__zip-btn,
.iekobo-article-cta:not([data-mw-screen="input"]) .iekobo-cta-form__zip-status {
	display: none !important;
}

/* 「市区郡／町村番地／建物名」は語の途中（建／物名）で折り返さず「／」の後ろで折り返す */
.iekobo-article-cta .iekobo-cta-form__field--addr > label {
	word-break: keep-all;
	overflow-wrap: anywhere;
}

/* 自動入力のお知らせ（検索中・完了・エラー）。色だけに依存しないよう記号も付ける */
.iekobo-article-cta .iekobo-cta-form__zip-status {
	margin: 6px 0 0;
	padding: 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--iekobo-ink);
}
.iekobo-article-cta .iekobo-cta-form__zip-status:empty {
	display: none;
}
.iekobo-article-cta .iekobo-cta-form__zip-status.is-success {
	color: var(--iekobo-green);
}
.iekobo-article-cta .iekobo-cta-form__zip-status.is-success::before {
	content: "\2713\FE0E ";
}
.iekobo-article-cta .iekobo-cta-form__zip-status.is-error {
	color: var(--iekobo-red);
}
.iekobo-article-cta .iekobo-cta-form__zip-status.is-error::before {
	content: "\26A0\FE0E ";
}
.iekobo-article-cta .iekobo-cta-form__zip-status.is-loading {
	color: #6b6b6b;
}

/* PC / タブレット（600px 以上）の入力画面: 既存の 3 列 Grid の入力欄列（第3列）にそろえる */
@media screen and (min-width: 600px) {
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field > .iekobo-cta-form__zip-row,
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field--zip > .iekobo-cta-form__zip-status,
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field--zip > .error,
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field--pref > .error,
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field--addr > .error {
		grid-column: 3;
		margin-top: 0;
	}
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field--zip > .iekobo-cta-form__zip-status {
		margin-top: 6px;
	}

	/* 住所の 3 行は 1 つのまとまりに見せる（行間の区切り線を省き、余白を詰める） */
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field.iekobo-cta-form__field--zip {
		padding-bottom: 8px;
		border-bottom: none;
	}
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field.iekobo-cta-form__field--pref {
		padding-top: 8px;
		padding-bottom: 8px;
		border-bottom: none;
	}
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field.iekobo-cta-form__field--addr {
		padding-top: 8px;
	}

	/* アイコン: 郵便番号行に地図ピン。都道府県・住所行はアイコンなし（まとまりを示す） */
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field.iekobo-cta-form__field--zip::before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23087A25' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E");
	}
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field.iekobo-cta-form__field--pref::before,
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field.iekobo-cta-form__field--addr::before {
		background-image: none;
	}
	/* 住所欄の後ろ（＝希望連絡時間）は、行の順番がずれても時計アイコンを維持する */
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field--addr ~ .iekobo-cta-form__field::before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23087A25' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
	}
}

/* SP（599px 以下）: ラベル → 入力欄の縦積み。郵便番号欄とボタンは横並びのまま */
@media screen and (max-width: 599px) {
	.iekobo-article-cta .mw_wp_form .iekobo-cta-form__zip-row input[type="text"] {
		max-width: none;
	}
	.iekobo-article-cta .iekobo-cta-form__zip-btn {
		min-height: 56px;
		padding: 0 16px;
	}
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field--zip,
	.iekobo-article-cta[data-mw-screen="input"] .iekobo-cta-form__field--pref {
		padding-bottom: 10px;
	}
}
