/* =============================================
  共通
============================================= */
:root {
	/* font-weight */
	--thin: 100;
	--extralight: 200;
	--light: 300;
	--regular: 400;
	--medium: 500;
	--semibold: 600;
	--bold: 700;
	--extrabold: 800;
	--black: 900;
}

img {
	object-fit: cover;
	vertical-align: bottom;
}

.page_wrapper {
	padding-block: 0 9.5rem;
}

.contact_confirm_page {
  width: 94.5rem;
  margin: 0 6rem 0 27.5rem;
  padding: 3.5rem 0 5rem 3.5rem;
	background-color: #ECE6D8;
}

.page_title_ja {
  width: fit-content;
  font-family: var(--NotoSans);
  font-size: 2.5rem;
  font-weight: var(--bold);
  color: #1E1E1E;
}

.page_title_en {
  width: fit-content;
  font-family: var(--NotoSans);
  font-size: 1.3rem;
  font-weight: var(--regular);
  color: #1E1E1E;
}

.form_wrapper {
	width: 100%;
  padding-inline: 6.7rem 6.3rem;
  margin-top: 4rem;
}

.attention_area {
	width: 100%;
}

.attention_area p {
	font-family: var(--NotoSans);
	font-size: 1.7rem;
	font-weight: var(--medium);
	color: #1E1E1E;
}

.attention_area p:nth-of-type(2) {
	margin-top: 3rem;
}

/* form */
.contact_confirm {
	width: 100%;
	margin-top: 4rem;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.output_component {
	width: fit-content;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.label_wrapper {
	width: fit-content;
	display: flex;
	align-items: center;
	gap: 1rem;
}

.label {
	font-family: var(--NotoSans);
	font-size: 1.9rem;
	font-weight: var(--medium);
	color: #1E1E1E;
}

.required_label {
	width: 5rem;
	height: 2.1rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #950F1E;
	border-radius: 1.1rem;
	font-family: var(--NotoSans);
	font-size: 1.3rem;
	font-weight: var(--regular);
	color: #FFFFFF;
}

.output {
	width: 66.3rem;
	height: 5.3rem;
	padding: 1.4rem 3.5rem;
	font-family: var(--NotoSans);
	font-size: 1.7rem;
	font-weight: var(--medium);
	border-radius: 2.7rem;
	color: #1E1E1E;
}

.output_content {
	width: 66.3rem;
	height: 23.3rem;
	padding: 3.2rem 3.4rem;
	font-family: var(--NotoSans);
	font-size: 1.7rem;
	font-weight: var(--medium);
	border-radius: 2.7rem;
	color: #1E1E1E;
	resize: vertical;
}

.button_wrapper {
  display: flex;
  width: fit-content;
  gap: 9rem;
	margin: 3.5rem auto 0;	/* 本来5remだが、gapの1.5remがあるので足して5remになるように設定 */
}

.wpcf7-spinner {
	display: none;
}

.prev_button {
	width: 18rem;
	height: 5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #950F1E;
	font-family: var(--NotoSans);
	font-size: 1.7rem;
	font-weight: var(--medium);
	background-color: #FFFFFF;
	cursor: pointer;
  border: .1rem solid #950F1E;
}

.submit_button {
	width: 18rem;
	height: 5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #950F1E;
	font-family: var(--NotoSans);
	font-size: 1.7rem;
	font-weight: var(--medium);
	color: #FFFFFF;
	cursor: pointer;
}

@media screen and (max-width: 699.98px) {
	.page_wrapper {
    padding-block: 0 5.1rem;
  }
	
	.contact_confirm_page {
		width: 100%;
    margin: 0;
    padding: 3rem 1.5rem;
	}

	.form_wrapper {
		width: 100%;
		padding-inline: 0;
		margin-top: 2.5rem;
	}

	.attention_area p {
		font-weight: var(--regular);
	}

	.attention_area p:nth-of-type(2) {
		margin-top: 2rem;
	}

	/* form */
	.contact_confirm {
		margin-top: 2.5rem;
		gap: 2rem;
	}

	.output_component {
		width: 100%;
	}

	.output {
		width: 100%;
		height: 4.5rem;
		padding: 1.2rem 2rem;
		font-size: 1.5rem;
	}

	.output_content {
		width: 100%;
		height: 15rem;
		padding: 2rem;
		font-size: 1.5rem;
	}

  .button_wrapper {
    width: 32rem;
    margin: 2.5rem auto 0;	/* 本4remだが、gapの1.5remがあるので足して4remになるように設定 */
		gap: 2rem;
  }

  .prev_button,
	.submit_button {
    width: 15rem;
	}
}
