div.wideS {
	width: 90%;
	max-width: 980px;
	/* margin: auto; */
}

ul#mfp_phase_stat {
	padding: 10px;
}

ul#mfp_phase_stat li {
	float: left;
	padding: 8px 15px;
	margin: 5px;
	list-style: none;
	font-size: 14px;
}

ul#mfp_phase_stat li.mfp_active_phase {
	background-color: #E8EEF9;
}

ul#mfp_phase_stat li.mfp_phase_arrow {
	box-shadow: none;
	padding: 8px 5px;
}

ul#mfp_phase_stat li.mfp_inactive_phase {
	background-color: #CCC;
	color: #666;
}

div#mfp_phase_confirm {
	clear: both;
}

form#mailformpro dl dt {
	float: left;
	width: 300px;
	clear: both;
	font-size: 14px;
	padding: 13px 5px 10px 10px;
	text-align: left;
	border-top: solid 1px #CCC;
	margin: 0px;
	background-color: #F6F7F9;
	color: #000;
}

.mailform dt {
	float: left;
	width: 300px;
	border-top: 1px solid #dbdcdc;
	padding: 13px 0;
	position: relative;
	font-size: 1.3rem;
}

.mailform dt .must {
	position: absolute;
	right: 0px;
	top: 13px;
	display: inline-block;
	background: #e7380d;
	color: #fff;
	line-height: 1;
	padding: 3px 5px;
	border-radius: 5px;
}

.must {
	display: block;
	background-color: #EA5614;
	padding: 4px 5px;
	font-size: 10px;
	color: #FFF;
	float: right;
	margin: 0px 5px;
}

form#mailformpro input,
form#mailformpro textarea {
	padding: 3px;
	font-size: 14px;
	vertical-align: middle;
	color: #000 !important;
	box-sizing: border-box;
	border: 1px solid #ccc;
	outline: none;
	border-radius: 2px;
}

form#mailformpro input:focus,
form#mailformpro textarea:focus {
	border: 1px solid #0088cc;
	outline: none;
}

#id_address_mansion,
#id_address_house,
#id_message,
#id_findout_other {
	width: 40em;
	max-width: 40em;
	box-sizing: border-box;
}

#id_message {
	min-height: 6em;
	resize: vertical;
}

form#mailformpro input[type="radio"] {
	width: 0.9em;
	height: 0.9em;
	margin: 0;
	margin-right: 0.5em;
	vertical-align: middle;
	transform: scale(0.7);
	border: none;
}

/* お電話での連絡を：文言・ラジオ・ラベルを縦中央揃え */
#id_call > p:first-child {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 1.25rem;
	margin: 0;
	line-height: 1.5;
}

form#mailformpro input[type="radio"][name="call"],
form#mailformpro input[name="call"] {
	width: 1em !important;
	height: 1em !important;
	min-width: 1em;
	min-height: 1em;
	margin: 0 0.35em 0 0 !important;
	padding: 0 !important;
	transform: none !important;
	vertical-align: middle;
	flex-shrink: 0;
	align-self: center;
}

form#mailformpro .mailform dd label:has(input[name="call"]) {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	margin: 0 !important;
	gap: 0.25em;
	flex-wrap: nowrap;
	white-space: nowrap;
	line-height: 1.5;
}

form#mailformpro .mailform dd label:has(input[name="call"]) input[name="call"] {
	margin: 0 !important;
	flex-shrink: 0;
}

form#mailformpro input[type="checkbox"] {
	width: 1em;
	height: 1em;
	margin: 0;
	margin-right: 0.5em;
	vertical-align: middle;
	border: none;
}

#id_familyname,
#id_firstname,
#id_familyname_kana,
#id_firstname_kana {
	width: 15em;
	max-width: 15em;
}

#id_firstname,
#id_firstname_kana {
	margin-left: 1rem;
}

.mailform {
	border-bottom: 1px solid #dbdcdc;
	margin-bottom: 0;
}

.mailform dd {
	padding-left: 330px !important;
}

/* exValidation: dd 直後に挿入されるエラーは padding 外に出るため、入力欄列に揃える */
.mailform-row > .formError {
	margin-left: 330px;
	clear: both;
	max-width: calc(100% - 330px);
	box-sizing: border-box;
}

/* お名前・ふりがな: エラーは行の下に1つだけ（姓・名の間に挟まない） */
#id_name + .formError,
#id_kana + .formError {
	margin-top: 0.35em;
	margin-bottom: 0.25em;
}

/* 電話・e-mail: input 直後のエラーと入力欄の間に隙間 */
#id_tel + .formError,
#id_femail + .formError {
	margin-top: 0.5em;
	margin-bottom: 0.25em;
	display: block;
}

#id_tel + .formError .formErrorContent,
#id_femail + .formError .formErrorContent {
	margin-top: 0;
}

.mailform-row:has(#id_email) dd {
	border-bottom: 1px solid #dbdcdc;
}

.mailform dt.no-border-top {
	border-top: none !important;
	padding-top: 0 !important;
}

.mailform dd.no-border-top {
	border-top: none !important;
	padding-top: 0 !important;
	margin-top: 0 !important;
}

form#mailformpro dl dd.no-border-top {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

.mailform dd p:first-child {
margin-top: 0;
}

.mailform dd p {
margin-top: 0.5rem;
margin-bottom: 0.5rem;
}

.cred {
	color: #cc0000;
}

form#mailformpro .mailform dd label {
display: inline-block !important;
margin-right: 1.5rem;
}

form#mailformpro .mailform dd label:has(input[name="assessment"]) {
display: block !important;
margin-right: 0;
margin-bottom: 0.5rem;
}

form#mailformpro .mailform dd label .exp {
display: block;
font-size: 0.9em;
color: #666;
margin-left: 1.5em;
margin-top: 0.3em;
}

form#mailformpro .mailform dd label:has(input[value="その他"]) {
display: inline-block !important;
width: 100%;
margin-top: 0.5rem;
margin-right: 0;
}

form#mailformpro .mailform dd label:has(input[name="findout[]"][value="その他"]) {
display: inline-block !important;
width: auto;
margin-top: 0.5rem;
margin-right: 1.5rem;
white-space: nowrap;
}

form#mailformpro input[name="times_other01"],
form#mailformpro input[name="times_other02"],
form#mailformpro input[name="times_other03"],
form#mailformpro input[name="times_other04"] {
width: 3em;
max-width: 3em;
padding: 2px;
font-size: 12px;
margin-left: 0.2em;
margin-right: 0.2em;
}

.form-notice-text {
	font-size: 13px;
	margin-top: 15px;
	margin-bottom: 0;
	padding-left: 12px;
	width: 100%;
	box-sizing: border-box;
	display: block;
	margin-left: 0;
	margin-right: 0;
	text-align: left;
}

.form-notice-text:last-of-type {
	margin-bottom: 36px;
}

.title_bgblue_form {
	background-color: #3c5690;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	padding: 10px 15px;
	margin: 20px 0 15px 0;
	border-radius: 4px;
	text-align: center;
}

.mailform-with-border {
	border-bottom: 1px solid #dbdcdc;
}

/* 「無料査定フォーム」を改行しないように（PC・スマホ共通） */
h3.category_ttl .jpn, #page_ttl .txtArea .jpn { white-space: nowrap !important; }

@media screen and (max-width: 835px) {
	/* mailform-rowを横幅いっぱいに統一 */
	.mailform-row { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; clear: both !important; overflow: visible !important; display: block !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }

	/* dl.mailformと#mailfieldも横幅いっぱいに */
	dl.mailform, #mailfield { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }

	.mailform dt.mfpz, .mailform dt.mfp { float: none !important; width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; padding-bottom: 5px !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }

	.mailform dd.mfp, .mailform dd.mfpz { padding-left: 0 !important; border-top: none !important; padding-top: 0 !important; clear: both !important; display: block !important; width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; margin-left: 0 !important; margin-right: 0 !important; padding-right: 0 !important; }

	/* バリデーションエラー：左にはみ出さない（exValidation の text-indent 対策） */
	form#mailformpro .formError,
	.mailform-row > .formError,
	#id_tel + .formError,
	#id_femail + .formError,
	#id_name + .formError,
	#id_kana + .formError {
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
		box-sizing: border-box !important;
		left: auto !important;
		right: auto !important;
	}

	form#mailformpro .formError .formErrorContent {
		width: auto !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		word-wrap: break-word;
		overflow-wrap: break-word;
	}

	form#mailformpro .formError .errMsg {
		text-indent: 0 !important;
		margin-left: 0 !important;
		padding-left: 0 !important;
	}

	.mailform dd.mfp.no-border-top, form#mailformpro dl dd.mfp.no-border-top, form#mailformpro .mailform dd.mfp.no-border-top { margin-top: 0 !important; padding-top: 0 !important; }
	
	.mailform dd.mfp span[style*="margin-left"], .mailform dd.mfpz span[style*="margin-left"], #id_name span[style*="margin-left"], #id_kana span[style*="margin-left"] { display: inline-block !important; margin-left: 0 !important; margin-top: 0 !important; vertical-align: middle !important; }

	/* 「ご質問等がございましたら、ご記載ください」を改行しないように */
	#id_message_label span { white-space: nowrap !important; }

	#id_firstname, #id_firstname_kana { margin-left: 0 !important; margin-right: 0 !important; margin-top: 4px !important; width: auto !important; max-width: none !important; text-align: left !important; vertical-align: middle !important; }

	#id_familyname, #id_familyname_kana { width: 100% !important; max-width: 100% !important; margin-top: 4px !important; }

	/* 「希望する」「希望しない」のラジオボタンが折りたたまれないように - 超強固な設定 */
	form#mailformpro .mailform dd p:has(label:has(input[name="call"])),
	#id_call > p:first-child { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 0 1rem !important; margin: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; margin-left: 0 !important; margin-right: 0 !important; padding: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; padding-left: 0 !important; padding-right: 0 !important; white-space: normal !important; line-height: 1.5 !important; word-spacing: 0 !important; letter-spacing: 0 !important; text-indent: 0 !important; }

	/* pタグ内のテキストノードとラベルの間隔を制御 */
	form#mailformpro .mailform dd p:has(label:has(input[name="call"])) > *:not(label) { margin-right: 0.5em !important; margin-left: 0 !important; word-spacing: 0 !important; letter-spacing: 0 !important; }

	form#mailformpro .mailform dd label:has(input[name="call"]) { display: inline-flex !important; align-items: center !important; justify-content: flex-start !important; white-space: nowrap !important; margin: 0 !important; margin-right: 1.25rem !important; gap: 0.25em !important; flex-wrap: nowrap !important; flex-shrink: 0 !important; line-height: 1.5 !important; font-size: 1rem !important; }

	/* ラベル内のinputの後に来るテキストを確実に制御 */
	form#mailformpro .mailform dd label:has(input[name="call"]) input[name="call"] + *, form#mailformpro .mailform dd label:has(input[name="call"]) input[name="call"] ~ * { font-size: 1rem !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; word-spacing: 0 !important; letter-spacing: 0 !important; white-space: normal !important; }

	form#mailformpro .mailform dd label:has(input[name="call"]) input[name="call"] { margin: 0 !important; flex-shrink: 0 !important; width: 1em !important; height: 1em !important; transform: none !important; vertical-align: middle !important; line-height: 1.5 !important; }

	/* ラベル内のテキストノードも確実に密着 */
	form#mailformpro .mailform dd label:has(input[name="call"])::after { content: "" !important; display: none !important; }

	form#mailformpro .mailform dd label:has(input[name="call"]) * { margin-left: 0 !important; margin-right: 0 !important; word-spacing: 0 !important; letter-spacing: 0 !important; }

	/* ラジオボタン全般のスタイルを上書きして確実に制御 */
	form#mailformpro input[type="radio"][name="call"] { margin: 0 0.35em 0 0 !important; padding: 0 !important; width: 1em !important; height: 1em !important; min-width: 1em !important; min-height: 1em !important; flex-shrink: 0 !important; vertical-align: middle !important; transform: none !important; line-height: 1.5 !important; align-self: center !important; }

	/* 「その他」のチェックボックスとテキストが切り離されないように */
	form#mailformpro .mailform dd label:has(input[value="その他"]) { display: inline-flex !important; width: auto !important; align-items: center !important; white-space: nowrap !important; }

	/* 査定内容のチェックボックスとテキストが切り離されないように */
	form#mailformpro .mailform dd label:has(input[name="assessment"]) { display: inline-flex !important; flex-wrap: wrap !important; align-items: flex-start !important; margin-bottom: 0.5rem !important; white-space: nowrap !important; }

	form#mailformpro .mailform dd label:has(input[name="assessment"]) input[type="checkbox"] { margin-right: 0.5em !important; flex-shrink: 0 !important; width: 1em !important; height: 1em !important; margin-top: 0.2em !important; }

	form#mailformpro .mailform dd label:has(input[name="assessment"]) span.exp { white-space: normal !important; display: block !important; width: 100% !important; margin-left: 1.5em !important; margin-top: 0.2em !important; word-wrap: break-word !important; overflow-wrap: break-word !important; }

	/* times[]のチェックボックスとテキストが離れないように - 「希望する・しない」と同じ強固な設定 */
	#times_section p:has(label:has(input[name="times[]"])) { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 0 !important; column-gap: 0 !important; row-gap: 0 !important; margin: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; margin-left: 0 !important; margin-right: 0 !important; padding: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; padding-left: 0 !important; padding-right: 0 !important; white-space: normal !important; line-height: 1.5 !important; word-spacing: 0 !important; letter-spacing: 0 !important; text-indent: 0 !important; text-align: left !important; }

	/* pタグ内のテキストノードとラベルの間隔を制御 */
	#times_section p:has(label:has(input[name="times[]"])) > *:not(label) { margin-right: 0.5em !important; margin-left: 0 !important; word-spacing: 0 !important; letter-spacing: 0 !important; }

	/* すべてのtimes[]ラベルに統一的なスタイル */
	#times_section p label:has(input[name="times[]"]) { display: inline-flex !important; align-items: center !important; justify-content: flex-start !important; white-space: nowrap !important; margin: 0 !important; margin-right: 1.5rem !important; margin-left: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; padding: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; padding-left: 0 !important; padding-right: 0 !important; gap: 0 !important; column-gap: 0 !important; row-gap: 0 !important; flex-wrap: nowrap !important; flex-shrink: 0 !important; line-height: 1 !important; word-spacing: 0 !important; letter-spacing: 0 !important; vertical-align: middle !important; position: relative !important; font-size: 1rem !important; text-indent: 0 !important; }

	/* 「すぐに連絡が欲しい」と「その他」は特別な配置 */
	#times_section p label:has(input[name="times[]"][value="すぐに連絡が欲しい"]) { width: 100% !important; margin-left: 4px !important; margin-bottom: 0.5rem !important; }

	/* 「その他」のチェックボタンも左端に配置 */
	#times_section p label:has(input[name="times[]"][value="その他"]) { width: 100% !important; margin-left: 4px !important; margin-top: 0.5rem !important; }

	/* その他のtimes[]ラベル */
	#times_section p label:has(input[name="times[]"]):not(:has(input[value="すぐに連絡が欲しい"])):not(:has(input[value="その他"])) { margin-left: 1rem !important; }

	/* ラベル内のinputの後に来るテキストを確実に制御 */
	#times_section p label:has(input[name="times[]"]) input[name="times[]"] + *, #times_section p label:has(input[name="times[]"]) input[name="times[]"] ~ * { font-size: 1rem !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; word-spacing: 0 !important; letter-spacing: 0 !important; white-space: normal !important; }

	/* times[]のチェックボックス全般のスタイル */
	#times_section p label:has(input[name="times[]"]) input[type="checkbox"] { margin: 0 !important; margin-right: 0.25em !important; margin-left: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; padding: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; padding-left: 0 !important; padding-right: 0 !important; flex-shrink: 0 !important; flex-grow: 0 !important; vertical-align: middle !important; position: relative !important; top: 0 !important; left: 0 !important; right: auto !important; bottom: auto !important; display: inline-block !important; width: 1em !important; height: 1em !important; min-width: 0 !important; min-height: 0 !important; max-width: none !important; max-height: none !important; line-height: 1 !important; border: none !important; box-sizing: border-box !important; outline: none !important; appearance: checkbox !important; -webkit-appearance: checkbox !important; -moz-appearance: checkbox !important; text-indent: 0 !important; word-spacing: 0 !important; letter-spacing: 0 !important; }

	/* ラベル内のテキストノードも確実に密着 */
	#times_section p label:has(input[name="times[]"])::after { content: "" !important; display: none !important; }

	#times_section p label:has(input[name="times[]"]) * { margin-left: 0 !important; margin-right: 0 !important; word-spacing: 0 !important; letter-spacing: 0 !important; }

	/* 「本ページをどちらでお知りになられましたか？」のチェックボックスとテキストが改行されないように */
	form#mailformpro .mailform dd p:has(label:has(input[name="findout[]"])) { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 0 !important; margin: 0 !important; padding: 0 !important; line-height: 1.5 !important; }

	form#mailformpro .mailform dd label:has(input[name="findout[]"]) { display: inline-flex !important; align-items: center !important; justify-content: flex-start !important; margin-right: 1.5rem !important; white-space: nowrap !important; vertical-align: middle !important; margin-top: 0 !important; margin-bottom: 0 !important; padding: 0 !important; line-height: 1 !important; }

	form#mailformpro .mailform dd label:has(input[name="findout[]"]) input[type="checkbox"] { margin: 0 !important; margin-right: 0.5em !important; flex-shrink: 0 !important; flex-grow: 0 !important; width: 1em !important; height: 1em !important; vertical-align: middle !important; position: relative !important; top: 0 !important; padding: 0 !important; }

	/* 「無料査定フォーム」を改行しないように */
	h3.category_ttl .jpn, #page_ttl .txtArea .jpn { white-space: nowrap !important; }
}