@charset "utf-8";

/* ===== 団体予約申し込みフォーム 専用スタイル ===== */

.form_intro {
	margin-bottom: 1.5rem;
	line-height: 1.9;
}
.form_intro .note {
	color: #802341;
	font-size: 0.9rem;
}

.form_table {
	width: 100%;
	border-collapse: collapse;
	margin: 1rem 0 2rem;
}
.form_table tr {
	line-height: 2;
	border-bottom: 1px solid #e3d3d8;
}
.form_table th,
.form_table td {
	padding: 1rem .75rem;
	text-align: left;
	vertical-align: top;
}
.form_table th {
	width: 30%;
	background-color: #faf3f5;
	font-weight: 500;
}
.form_table td {
	width: 70%;
}
.form_table .sub_head {
	background-color: #F7E2E6;
	padding: 0 1rem;
	line-height: 3rem;
	font-weight: 700;
}

.must {
	color: #fff;
	background-color: #802341;
	display: inline-block;
	padding: 0 .8rem;
	border-radius: 100vh;
	font-size: 80%;
	margin-left: .4rem;
	vertical-align: middle;
}
.any {
	color: #555;
	background-color: #ddd;
	display: inline-block;
	padding: 0 .8rem;
	border-radius: 100vh;
	font-size: 80%;
	margin-left: .4rem;
	vertical-align: middle;
}

/* 入力欄サイズ */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="date"],
input[type="time"],
select,
textarea {
	font-family: inherit;
	font-size: 1rem;
	padding: .5rem;
	border: 1px solid #bbb;
	border-radius: 4px;
	box-sizing: border-box;
	max-width: 100%;
}
select {
	background-color: #fff;
}
input:focus,
select:focus,
textarea:focus {
	outline: 2px solid #b86b81;
}
input::placeholder,
textarea::placeholder {
	color: #b3b3b3;
}
.txt_l { width: 100%; }
.txt_m { width: 60%; }
.txt_s { width: 40%; }
.txt_ss { width: 5rem; }

textarea.txt_l {
	width: 100%;
	line-height: 1.6;
}

/* ラジオ・チェック */
.radio_group label {
	display: inline-block;
	margin: .2rem 1.5rem .2rem 0;
	cursor: pointer;
}
.radio_group input {
	margin-right: .3rem;
}
.radio_block label {
	display: block;
	margin: .4rem 0;
	cursor: pointer;
}

/* 余白ユーティリティ */
.m_t5  { margin-top: .5rem; }
.m_t10 { margin-top: 1rem; }
.m_b10 { margin-bottom: 1rem; }
.m_l20 { margin-left: 1.5rem; }

/* 条件表示ブロック */
.cond_block {
	margin-top: .8rem;
	padding: .8rem 1rem;
	background-color: #f5f8fa;
	border-left: 4px solid #b86b81;
}
.is_hidden { display: none; }

.help_txt {
	font-size: 0.85rem;
	color: #666;
	margin-top: .3rem;
}

/* ボタン */
.btn_area {
	text-align: center;
	margin: 2.5rem 0;
}
.btn_submit,
.btn_back {
	font-family: inherit;
	font-size: 1.05rem;
	padding: .9rem 3rem;
	border: none;
	border-radius: 100vh;
	cursor: pointer;
	margin: .5rem;
	transition: opacity .2s;
}
.btn_submit {
	color: #fff;
	background-color: #802341;
}
.btn_back {
	color: #333;
	background-color: #ddd;
}
.btn_submit:hover,
.btn_back:hover {
	opacity: .8;
}

/* 確認画面 */
.confirm_table td {
	background-color: #fff;
	white-space: pre-wrap;
}
.confirm_lead {
	text-align: center;
	margin: 1rem 0 2rem;
	line-height: 1.9;
}

/* エラー表示 */
.error_box {
	background-color: #fdeef0;
	border: 1px solid #802341;
	color: #802341;
	padding: 1rem 1.5rem;
	margin: 1rem 0 2rem;
	border-radius: 4px;
}
.error_box ul {
	margin: .5rem 0 0;
	padding-left: 1.2rem;
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
	.form_table,
	.form_table tbody,
	.form_table tr,
	.form_table th,
	.form_table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	.form_table th {
		border-bottom: none;
		padding-bottom: .2rem;
	}
	.form_table td {
		padding-top: .3rem;
	}
	.txt_m,
	.txt_s {
		width: 100%;
	}
	.btn_submit,
	.btn_back {
		display: block;
		width: 100%;
		margin: .6rem 0;
	}
}
