@charset "utf-8";
/* CSS Document */
/*フォームパーツのみのcss*/
.hiss {
	color: #c40500;
}
input[type=text], input[type=number], input[type=email], input[type=tel], input[type=mail], input[type=password], input[type=date], input[type=time] {
	padding: 4px;
	border-radius: 0;
	outline: none;
	-moz-appearance: none;
	appearance: none;
	-webkit-appearance: none;
	border: solid 1px #cccccc;
	/* width: 100%;*/
	box-sizing: border-box;
	font-size: 1.6rem;
	background: #fff;
}
/*textarea*/
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	border-radius: 0;
	border: solid 1px #cccccc;
	padding: 4px;
	width: 100%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 1.6rem;
	height: 10em;
	/*resize:none; エリアの拡大禁止*/
	max-width: 100%;
	resize: vertical;
	max-height: 300px;
}
/*サイズ*/
.size_20 {
	width: 20%;
}
.size_30 {
	width: 30%;
}
.size_40 {
	width: 40%;
}
.size_50 {
	width: 50%;
}
.size_60 {
	width: 60%;
}
.size_70 {
	width: 70%;
}
.size_80 {
	width: 80%;
}
.size_80 {
	width: 80%;
}
.size_90 {
	width: 90%;
}
.size_100 {
	width: 100%;
}
.size_50_sp100 {
	width: 50%;
}
.size_60_sp100 {
	width: 60%;
}
.size_70_sp100 {
	width: 70%;
}
.size_80_sp100 {
	width: 80%;
}
.size_90_sp100 {
	width: 90%;
}
@media screen and (max-width: 960px) {
	.size_50_sp100 {
		width: 100%;
	}
	.size_60_sp100 {
		width: 100%;
	}
	.size_70_sp100 {
		width: 100%;
	}
	.size_80_sp100 {
		width: 100%;
	}
	.size_90_sp100 {
		width: 100%;
	}
}
/*ボタン*/
.fom_btn_area {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 40px;
}

/* 送信ボタン */
.fom_btn_submit,
.fom_btn_back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 200px;
	padding: 14px 32px;
	border: none;
	cursor: pointer;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	transition: background-color 0.2s, color 0.2s;
}
.fom_btn_submit {
	background-color: var(--col_main);
	color: #fff;
}
.fom_btn_submit:hover {
	background-color: var(--col_main_dark);
}
.fom_btn_back {
	background-color: var(--col_btn_back);
	color: #fff;
}
.fom_btn_back:hover {
	opacity: 0.8;
}

/* フォームテーブル */
.form_table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 16px;
}
.form_table th,
.form_table td {
	padding: 20px 16px;
	border-bottom: 1px solid #e0e0e0;
	vertical-align: middle;
	text-align: left;
	font-size: 1.5rem;
	line-height: 1.6;
}
.form_table th {
	width: 220px;
	font-weight: 700;
	background: var(--bg_gray_light);
	white-space: nowrap;
}
.form_table td input[type=text],
.form_table td input[type=email],
.form_table td input[type=tel] {
	padding: 8px 10px;
	width: 80%;
}
.form_table .hiss {
	font-size: 1.2rem;
	margin-left: 6px;
	font-weight: 700;
}

/* 確認テーブル（入力値の表示） */
.form_confirm_table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 16px;
}
.form_confirm_table th,
.form_confirm_table td {
	padding: 20px 16px;
	border-bottom: 1px solid #e0e0e0;
	vertical-align: middle;
	text-align: left;
	font-size: 1.5rem;
	line-height: 1.8;
}
.form_confirm_table th {
	width: 220px;
	font-weight: 700;
	background: var(--bg_gray_light);
	white-space: nowrap;
}

/* フォームエラー */
.form_error_box {
	background: #fff0f0;
	border: 1px solid #c40500;
	padding: 16px 20px;
	margin-bottom: 24px;
}
.form_error_box p {
	color: #c40500;
	font-size: 1.4rem;
	margin-bottom: 4px;
}
.form_error_box p:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 680px) {
	.form_table th,
	.form_table td,
	.form_confirm_table th,
	.form_confirm_table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	.form_table th,
	.form_confirm_table th {
		padding-bottom: 8px;
		border-bottom: none;
	}
	.form_table td input[type=text],
	.form_table td input[type=email],
	.form_table td input[type=tel] {
		width: 100%;
	}
	.fom_btn_submit,
	.fom_btn_back {
		width: 100%;
	}
}