.elementor-5959 .elementor-element.elementor-element-f357d13{--display:flex;}:root{--page-title-display:none;}/* Start custom CSS for shortcode, class: .elementor-element-03ec3dc *//* ==========================================================
   東今宿モデルハウス 見学申込フォーム（Contact Form 7）用CSS
   テーマに依存せず単体で動くよう、すべて .p-form__wrap 配下に限定
   貼り付け先：外観 → カスタマイズ → 追加CSS
   ========================================================== */

.p-form__wrap {
	--mf-brand: #004471;
	--mf-button: #557592;
	--mf-button-hover: #3f586e;
	--mf-required: #c16b70;
	--mf-border: #e0e0e0;
	--mf-bg: #e6eaef;
	--mf-text: #111;
	box-sizing: border-box;
	padding: clamp(2.5rem, 1.8rem + 3.5vw, 4.5rem) 16px;
	background: var(--mf-bg);
	color: var(--mf-text);
	font-family: "Shippori Mincho B1", "Yu Mincho", "Hiragino Mincho ProN", serif;
	line-height: 1.8;
	letter-spacing: .02em;
}
.p-form__wrap *,
.p-form__wrap *::before,
.p-form__wrap *::after { box-sizing: border-box; }
.p-form__wrap p { margin: 0; }
.p-form__wrap ul { margin: 0; padding: 0; list-style: none; }
.p-form__wrap h3,
.p-form__wrap h4 { margin: 0; color: inherit; font-family: inherit; letter-spacing: inherit; }

/* 見出し（Mail Form／見学のお申し込み） */
.p-form__wrap .p-form__title {
	display: grid;
	gap: clamp(.625rem, .446rem + .893vw, 1.25rem);
	margin: 0 0 clamp(1.875rem, 1.696rem + .893vw, 2.5rem);
	padding: 0;
	color: var(--mf-text);
	font-family: inherit;
	font-weight: 400;
	line-height: 1.5;
	text-align: center;
}
.p-form__wrap .p-form__title-en {
	display: block;
	width: fit-content;
	margin: auto;
	padding: 5px 20px;
	background: var(--mf-button);
	color: #fff;
	font-size: clamp(.938rem, .83rem + .536vw, 1.313rem);
}
.p-form__wrap .p-form__title-jp { display: block; font-size: clamp(1.625rem, 1.411rem + 1.071vw, 2.375rem); }

/* レイアウト */
.p-form__wrap .p-contact { max-width: 960px; margin: 0 auto; }
.p-form__wrap .p-contact__cell { display: grid; gap: clamp(1.25rem, 1.071rem + .893vw, 1.875rem); }
.p-form__wrap .p-contact__row { display: grid; gap: 10px; }
.p-form__wrap .p-contact__name { font-weight: 500; font-size: clamp(.875rem, .839rem + .179vw, 1rem); }
.p-form__wrap .p-contact__required {
	display: inline-block;
	margin-left: 10px;
	padding: 2px 8px;
	background: var(--mf-required);
	color: #fff;
	font-size: clamp(.563rem, .545rem + .089vw, .625rem);
	line-height: 1.1;
	vertical-align: middle;
}
.p-form__wrap .wpcf7-form-control-wrap { display: block; }

/* テキスト・メール・電話・日付・テキストエリア */
.p-form__wrap .p-contact .wpcf7-form-control.u-flat {
	display: block;
	width: 100%;
	max-width: none;
	height: auto;
	margin: 0;
	padding: clamp(.938rem, .759rem + .893vw, 1.563rem);
	border: 1px solid var(--mf-border);
	border-radius: 2px;
	outline: none;
	background: #fff;
	box-shadow: none;
	color: #000;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.5;
	transition: background-color .4s ease-out;
}
.p-form__wrap .p-contact .wpcf7-form-control.u-flat:focus { background: #f5f5f5; }
.p-form__wrap .p-contact .wpcf7-form-control.u-flat::placeholder { color: #aaa; opacity: 1; }
.p-form__wrap .p-contact textarea.wpcf7-form-control.u-flat { min-height: 10em; resize: vertical; }

/* セレクト */
.p-form__wrap .p-contact .arrow-down { position: relative; display: block; margin: 0; }
.p-form__wrap .p-contact .arrow-down::before {
	position: absolute;
	z-index: 10;
	top: calc(50% - 5px);
	right: 20px;
	width: 8px;
	height: 8px;
	transform: rotate(135deg);
	border-top: 2px solid var(--mf-brand);
	border-right: 2px solid var(--mf-brand);
	content: "";
	pointer-events: none;
}
.p-form__wrap .p-contact .arrow-down select.wpcf7-form-control {
	display: block;
	width: 100%;
	max-width: none;
	height: auto;
	margin: 0;
	padding: clamp(.938rem, .759rem + .893vw, 1.563rem) 42px clamp(.938rem, .759rem + .893vw, 1.563rem) 15px;
	border: 1px solid var(--mf-border);
	border-radius: 2px;
	outline: none;
	background: #fff;
	box-shadow: none;
	color: #000;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.5;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}

/* 個人情報の取り扱い */
.p-form__wrap .p-policy {
	margin-top: 40px;
	border: 1px solid var(--mf-border);
	background: #fff;
	font-size: clamp(.75rem, .732rem + .089vw, .813rem);
	line-height: 1.8;
}
.p-form__wrap .p-policy__scroll { max-height: 200px; padding: 40px 20px; overflow-y: auto; }
.p-form__wrap .p-policy__title { font-weight: 500; font-size: clamp(.875rem, .839rem + .179vw, 1rem); }
.p-form__wrap .p-policy__block { margin-top: 40px; }
.p-form__wrap .p-policy__block-title {
	padding-bottom: 20px;
	border-bottom: 1px solid var(--mf-border);
	font-weight: 500;
	font-size: clamp(.813rem, .795rem + .089vw, .875rem);
}
.p-form__wrap .p-policy__block-title + .p-policy__list { margin-top: 20px; }
.p-form__wrap .p-policy__txt { margin-top: 20px; }
.p-form__wrap .p-policy__txt + .p-policy__list { margin-top: 10px; }
.p-form__wrap .p-policy__item { padding-left: 2.5em; text-indent: -2.5em; }

/* 同意チェック */
.p-form__wrap .p-contact__agree { margin-top: 30px; }
.p-form__wrap .p-contact__agree .wpcf7-list-item { display: block; width: fit-content; margin: auto; }
.p-form__wrap .p-contact__agree .wpcf7-not-valid-tip { text-align: center; }
.p-form__wrap .p-contact input[type="checkbox"] { position: absolute; opacity: 0; width: 1px; height: 1px; }
.p-form__wrap .p-contact input[type="checkbox"] + span { display: flex; align-items: center; line-height: 1; cursor: pointer; }
.p-form__wrap .p-contact input[type="checkbox"] + span::before {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	margin-right: 10px;
	border: 1px solid #d8d8d8;
	border-radius: 2px;
	background: #fff;
	content: "";
	transition: .1s ease-out;
}
.p-form__wrap .p-contact input[type="checkbox"]:checked + span::before {
	background: var(--mf-brand);
	box-shadow: inset 0 0 0 5px #fff;
}
.p-form__wrap .p-contact input[type="checkbox"]:focus-visible + span::before { outline: 2px solid var(--mf-brand); outline-offset: 2px; }

/* 送信ボタン */
.p-form__wrap .p-contact input.wpcf7-submit.p-contact__button {
	display: block;
	width: 100%;
	max-width: 400px;
	height: auto;
	margin: 40px auto 0;
	padding: 1.875rem 1.25rem;
	border: none;
	border-radius: 2px;
	outline: none;
	background: var(--mf-button);
	color: #fff;
	font-family: inherit;
	font-size: clamp(1rem, .964rem + .179vw, 1.125rem);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: inherit;
	text-align: center;
	cursor: pointer;
	transition: background-color .3s ease-out;
}
.p-form__wrap .p-contact input.wpcf7-submit.p-contact__button:hover,
.p-form__wrap .p-contact input.wpcf7-submit.p-contact__button:focus { background: var(--mf-button-hover); }
.p-form__wrap .wpcf7-spinner { display: block; margin: 10px auto 0; }

/* エラー表示 */
.p-form__wrap span.wpcf7-not-valid-tip {
	display: block;
	margin-top: 10px;
	padding: 2px 10px;
	background: #d00;
	color: #fff;
	font-size: clamp(.75rem, .732rem + .089vw, .813rem);
}

/* PC表示（768px以上）：項目名と入力欄を横並び */
@media screen and (min-width: 768px) {
	.p-form__wrap .p-contact__row { grid-template-columns: 270px 1fr; align-items: center; }
	.p-form__wrap .p-contact__agree { margin-top: 40px; }
	.p-form__wrap .p-contact input[type="checkbox"] + span::before { width: 26px; height: 26px; }
	.p-form__wrap .p-policy__scroll { padding: 40px; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f357d13 *//* ==========================================================
   東今宿モデルハウス 見学申込フォーム（Contact Form 7）用CSS
   テーマに依存せず単体で動くよう、すべて .p-form__wrap 配下に限定
   貼り付け先：外観 → カスタマイズ → 追加CSS
   ========================================================== */

.p-form__wrap {
	--mf-brand: #004471;
	--mf-button: #557592;
	--mf-button-hover: #3f586e;
	--mf-required: #c16b70;
	--mf-border: #e0e0e0;
	--mf-bg: #e6eaef;
	--mf-text: #111;
	box-sizing: border-box;
	padding: clamp(2.5rem, 1.8rem + 3.5vw, 4.5rem) 16px;
	background: var(--mf-bg);
	color: var(--mf-text);
	font-family: "Shippori Mincho B1", "Yu Mincho", "Hiragino Mincho ProN", serif;
	line-height: 1.8;
	letter-spacing: .02em;
}
.p-form__wrap *,
.p-form__wrap *::before,
.p-form__wrap *::after { box-sizing: border-box; }
.p-form__wrap p { margin: 0; }
.p-form__wrap ul { margin: 0; padding: 0; list-style: none; }
.p-form__wrap h3,
.p-form__wrap h4 { margin: 0; color: inherit; font-family: inherit; letter-spacing: inherit; }

/* 見出し（Mail Form／見学のお申し込み） */
.p-form__wrap .p-form__title {
	display: grid;
	gap: clamp(.625rem, .446rem + .893vw, 1.25rem);
	margin: 0 0 clamp(1.875rem, 1.696rem + .893vw, 2.5rem);
	padding: 0;
	color: var(--mf-text);
	font-family: inherit;
	font-weight: 400;
	line-height: 1.5;
	text-align: center;
}
.p-form__wrap .p-form__title-en {
	display: block;
	width: fit-content;
	margin: auto;
	padding: 5px 20px;
	background: var(--mf-button);
	color: #fff;
	font-size: clamp(.938rem, .83rem + .536vw, 1.313rem);
}
.p-form__wrap .p-form__title-jp { display: block; font-size: clamp(1.625rem, 1.411rem + 1.071vw, 2.375rem); }

/* レイアウト */
.p-form__wrap .p-contact { max-width: 960px; margin: 0 auto; }
.p-form__wrap .p-contact__cell { display: grid; gap: clamp(1.25rem, 1.071rem + .893vw, 1.875rem); }
.p-form__wrap .p-contact__row { display: grid; gap: 10px; }
.p-form__wrap .p-contact__name { font-weight: 500; font-size: clamp(.875rem, .839rem + .179vw, 1rem); }
.p-form__wrap .p-contact__required {
	display: inline-block;
	margin-left: 10px;
	padding: 2px 8px;
	background: var(--mf-required);
	color: #fff;
	font-size: clamp(.563rem, .545rem + .089vw, .625rem);
	line-height: 1.1;
	vertical-align: middle;
}
.p-form__wrap .wpcf7-form-control-wrap { display: block; }

/* テキスト・メール・電話・日付・テキストエリア */
.p-form__wrap .p-contact .wpcf7-form-control.u-flat {
	display: block;
	width: 100%;
	max-width: none;
	height: auto;
	margin: 0;
	padding: clamp(.938rem, .759rem + .893vw, 1.563rem);
	border: 1px solid var(--mf-border);
	border-radius: 2px;
	outline: none;
	background: #fff;
	box-shadow: none;
	color: #000;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.5;
	transition: background-color .4s ease-out;
}
.p-form__wrap .p-contact .wpcf7-form-control.u-flat:focus { background: #f5f5f5; }
.p-form__wrap .p-contact .wpcf7-form-control.u-flat::placeholder { color: #aaa; opacity: 1; }
.p-form__wrap .p-contact textarea.wpcf7-form-control.u-flat { min-height: 10em; resize: vertical; }

/* セレクト */
.p-form__wrap .p-contact .arrow-down { position: relative; display: block; margin: 0; }
.p-form__wrap .p-contact .arrow-down::before {
	position: absolute;
	z-index: 10;
	top: calc(50% - 5px);
	right: 20px;
	width: 8px;
	height: 8px;
	transform: rotate(135deg);
	border-top: 2px solid var(--mf-brand);
	border-right: 2px solid var(--mf-brand);
	content: "";
	pointer-events: none;
}
.p-form__wrap .p-contact .arrow-down select.wpcf7-form-control {
	display: block;
	width: 100%;
	max-width: none;
	height: auto;
	margin: 0;
	padding: clamp(.938rem, .759rem + .893vw, 1.563rem) 42px clamp(.938rem, .759rem + .893vw, 1.563rem) 15px;
	border: 1px solid var(--mf-border);
	border-radius: 2px;
	outline: none;
	background: #fff;
	box-shadow: none;
	color: #000;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.5;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}

/* 個人情報の取り扱い */
.p-form__wrap .p-policy {
	margin-top: 40px;
	border: 1px solid var(--mf-border);
	background: #fff;
	font-size: clamp(.75rem, .732rem + .089vw, .813rem);
	line-height: 1.8;
}
.p-form__wrap .p-policy__scroll { max-height: 200px; padding: 40px 20px; overflow-y: auto; }
.p-form__wrap .p-policy__title { font-weight: 500; font-size: clamp(.875rem, .839rem + .179vw, 1rem); }
.p-form__wrap .p-policy__block { margin-top: 40px; }
.p-form__wrap .p-policy__block-title {
	padding-bottom: 20px;
	border-bottom: 1px solid var(--mf-border);
	font-weight: 500;
	font-size: clamp(.813rem, .795rem + .089vw, .875rem);
}
.p-form__wrap .p-policy__block-title + .p-policy__list { margin-top: 20px; }
.p-form__wrap .p-policy__txt { margin-top: 20px; }
.p-form__wrap .p-policy__txt + .p-policy__list { margin-top: 10px; }
.p-form__wrap .p-policy__item { padding-left: 2.5em; text-indent: -2.5em; }

/* 同意チェック */
.p-form__wrap .p-contact__agree { margin-top: 30px; }
.p-form__wrap .p-contact__agree .wpcf7-list-item { display: block; width: fit-content; margin: auto; }
.p-form__wrap .p-contact__agree .wpcf7-not-valid-tip { text-align: center; }
.p-form__wrap .p-contact input[type="checkbox"] { position: absolute; opacity: 0; width: 1px; height: 1px; }
.p-form__wrap .p-contact input[type="checkbox"] + span { display: flex; align-items: center; line-height: 1; cursor: pointer; }
.p-form__wrap .p-contact input[type="checkbox"] + span::before {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	margin-right: 10px;
	border: 1px solid #d8d8d8;
	border-radius: 2px;
	background: #fff;
	content: "";
	transition: .1s ease-out;
}
.p-form__wrap .p-contact input[type="checkbox"]:checked + span::before {
	background: var(--mf-brand);
	box-shadow: inset 0 0 0 5px #fff;
}
.p-form__wrap .p-contact input[type="checkbox"]:focus-visible + span::before { outline: 2px solid var(--mf-brand); outline-offset: 2px; }

/* 送信ボタン */
.p-form__wrap .p-contact input.wpcf7-submit.p-contact__button {
	display: block;
	width: 100%;
	max-width: 400px;
	height: auto;
	margin: 40px auto 0;
	padding: 1.875rem 1.25rem;
	border: none;
	border-radius: 2px;
	outline: none;
	background: var(--mf-button);
	color: #fff;
	font-family: inherit;
	font-size: clamp(1rem, .964rem + .179vw, 1.125rem);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: inherit;
	text-align: center;
	cursor: pointer;
	transition: background-color .3s ease-out;
}
.p-form__wrap .p-contact input.wpcf7-submit.p-contact__button:hover,
.p-form__wrap .p-contact input.wpcf7-submit.p-contact__button:focus { background: var(--mf-button-hover); }
.p-form__wrap .wpcf7-spinner { display: block; margin: 10px auto 0; }

/* エラー表示 */
.p-form__wrap span.wpcf7-not-valid-tip {
	display: block;
	margin-top: 10px;
	padding: 2px 10px;
	background: #d00;
	color: #fff;
	font-size: clamp(.75rem, .732rem + .089vw, .813rem);
}

/* PC表示（768px以上）：項目名と入力欄を横並び */
@media screen and (min-width: 768px) {
	.p-form__wrap .p-contact__row { grid-template-columns: 270px 1fr; align-items: center; }
	.p-form__wrap .p-contact__agree { margin-top: 40px; }
	.p-form__wrap .p-contact input[type="checkbox"] + span::before { width: 26px; height: 26px; }
	.p-form__wrap .p-policy__scroll { padding: 40px; }
}/* End custom CSS */