/************************************************************
お問い合わせ・応募フォーム 3ステップ化(入力→確認→完了)
js/form-confirm.js が生成するマークアップ用のスタイル。
対象: #mail_form の中にある Contact Form 7 フォーム。
色・ボタンの見た目は既存の #mail_form input[type="submit"]
(page.css)に合わせている。
************************************************************/

/* ---- 進捗バー ---- */
.form-steps {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	list-style: none;
	margin: 0 0 50px;
	padding: 0;
}
.form-steps-item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 160px;
	text-align: center;
}
.form-steps-item:not(:last-child):after {
	content: '';
	position: absolute;
	top: 18px;
	left: 50%;
	width: 100%;
	height: 2px;
	background: #ddd;
	z-index: 0;
}
.form-steps-item.is-done:not(:last-child):after,
.form-steps-item.is-current:not(:last-child):after {
	background: #2FB6C7;
}
.form-steps-num {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid #ddd;
	color: #999;
	font-weight: 700;
	font-size: 15px;
	margin-bottom: 8px;
	transition: all .2s;
}
.form-steps-item.is-current .form-steps-num {
	border-color: #2FB6C7;
	background: #2FB6C7;
	color: #fff;
}
.form-steps-item.is-done .form-steps-num {
	border-color: #2FB6C7;
	background: #fff;
	color: #2FB6C7;
}
.form-steps-label {
	font-size: 13px;
	color: #999;
	letter-spacing: .05em;
}
.form-steps-item.is-current .form-steps-label,
.form-steps-item.is-done .form-steps-label {
	color: #222;
	font-weight: 600;
}

@media (max-width: 767px) {
	.form-steps {
		margin-bottom: 30px;
	}
	.form-steps-item {
		width: 100px;
	}
	.form-steps-num {
		width: 30px;
		height: 30px;
		font-size: 13px;
	}
	.form-steps-label {
		font-size: 11px;
	}
}

/* ---- 確認画面 ---- */
.form-confirm-list {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
}
.form-confirm-list dt {
	width: 250px;
	padding: 18px 15px;
	font-weight: 500;
	border-bottom: 1px solid #eee;
	box-sizing: border-box;
}
.form-confirm-list dd {
	width: calc(100% - 250px);
	padding: 18px 10px;
	margin: 0;
	border-bottom: 1px solid #eee;
	box-sizing: border-box;
	word-break: break-all;
}
.form-confirm-actions {
	margin: 40px 0 0;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}
.form-confirm-back,
.form-confirm-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 260px;
	height: 54px;
	border-radius: 27px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.1em;
	cursor: pointer;
	transition: all .2s;
	font-family: inherit;
}
.form-confirm-submit {
	background: #2FB6C7;
	border: 2px solid #2FB6C7;
	color: #fff;
}
.form-confirm-back {
	background: #fff;
	border: 2px solid #ccc;
	color: #666;
}
.form-confirm-submit:disabled {
	opacity: .5;
	cursor: default;
}

@media (min-width: 768px) {
	.form-confirm-submit:hover:not(:disabled) {
		background: #fff;
		color: #2FB6C7;
	}
	.form-confirm-back:hover {
		background: #f5f5f5;
	}
}

@media (max-width: 767px) {
	.form-confirm-list dt,
	.form-confirm-list dd {
		width: 100%;
	}
	.form-confirm-list dt {
		border-bottom: none;
		padding-bottom: 6px;
	}
	.form-confirm-list dd {
		padding-top: 0;
	}
	.form-confirm-back,
	.form-confirm-submit {
		width: 200px;
		height: 50px;
		border-radius: 25px;
	}
}

/* ---- 完了画面 ---- */
.form-complete-screen {
	padding: 60px 20px;
	text-align: center;
}
.form-complete-heading {
	color: #2FB6C7;
	font-size: 22px;
	font-weight: 700;
	margin-bottom: 20px;
}
.form-complete-message {
	font-size: 16px;
	line-height: 1.8;
}

/* ---- 入力画面(ステップ1)を確認画面(ステップ2)で隠す ----
   dl(項目)とp#form_submit(送信ボタン)だけを対象にすることで、
   dlで囲まれていない[hidden ...]タグ由来の非表示inputには影響しない。 */
#mail_form form.wpcf7-form.step-confirm-active > dl,
#mail_form form.wpcf7-form.step-confirm-active > p#form_submit {
	display: none;
}
