/*
----------------------------------------
mailform

efo-form/assets/css/form.css のデザインを、このLPで使用する
確認画面・エラー表示等(#mailformproが自動生成する要素)に合わせて移植・調整したもの。

このLP独自の入力欄(p-form-footer__*)とクラスが重複しないよう、
IDセレクタ・mfp_*クラスなど #mailformpro が自動付与するクラスのみを対象にしている。
このファイルは style.css より先に読み込むこと(同じ詳細度のクラスが重複した場合に
style.css側を優先させるため)。
----------------------------------------
*/

.mfp_element_all {
	max-width: 100%;
}

.mfp_element_text,
.mfp_element_number,
.mfp_element_email,
.mfp_element_tel,
.mfp_element_textarea {
	box-shadow: none;
	margin: 0;
}

.problem {
	border: solid 1px #a00 !important;
}

div.mfp_err {
	background: transparent;
	padding: 0;
	margin: 8px 0 0;
	font-size: 13px;
	color: var(--color-primary);
}

div#mfp_warning {
	text-align: center;
	line-height: 1.8;
	color: #a00;
	background: transparent;
	border-radius: 8px;
	border: solid 1px #a00;
	padding: 15px;
	margin-bottom: 30px;
}

/* 確認画面 */

div#mfp_phase_confirm h4 {
	font-size: 24px;
	font-weight: 700;
	text-align: center;
	padding: 0;
	margin: 0 0 30px;
}

table#mfp_confirm_table {
	width: 100%;
	border-top: dotted 1px #ccc;
	margin: 0 0 40px;
}

table#mfp_confirm_table tr th,
table#mfp_confirm_table tr td {
	font-size: 16px;
	line-height: 1.8;
	font-weight: normal;
	text-align: left;
	padding: 20px;
	border: none;
	border-bottom: dotted 1px #ccc;
}

table#mfp_confirm_table tr th {
	width: 200px;
	background: #fef1f4;
}

div.mfp_buttons {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: 0;
}

button#mfp_button_send {
	display: block;
	width: 300px;
	max-width: 100%;
	margin: 0;
	padding: 14px 10px;
	font-size: 18px;
	font-weight: 700;
	text-shadow: none;
	border-radius: 999px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
	transition: all .2s;
	background: var(--color-primary);
	color: #fff;
	border: solid 2px var(--color-primary);
	cursor: pointer;
}

button#mfp_button_cancel {
	display: inline-block;
	min-width: 90px;
	padding: 10px;
	font-size: 15px;
	text-align: center;
	white-space: nowrap;
	color: #333;
	background: transparent;
	border: none;
	border-bottom: solid 2px #333;
	border-radius: 0;
	cursor: pointer;
	transition: all .2s;
}

@media (min-width: 751px) {

	button#mfp_button_send:hover {
		color: var(--color-primary);
		background: #fff;
	}

	button#mfp_button_cancel:hover {
		opacity: .7;
	}

}

@media (max-width: 750px) {

	div#mfp_phase_confirm h4 {
		font-size: 18px;
		margin-bottom: 20px;
	}

	table#mfp_confirm_table tr {
		display: flex;
		flex-direction: column;
	}

	table#mfp_confirm_table tr th,
	table#mfp_confirm_table tr td {
		width: 100%;
		padding: 12px 16px;
		border: none;
	}

	table#mfp_confirm_table tr th {
		padding-bottom: 4px;
		background: transparent;
		font-weight: 700;
	}

	button#mfp_button_send {
		width: 100%;
	}

}
