@charset "utf-8";

section.ind { margin-top: 60px; }
.form_ttl {
    width: 100%;
    font-size: 1.5em;
    margin-bottom: 0.7em;
    border-bottom: solid 2px #cfa759;
}
.content { display: block; }
.s_menu_ttl { width: auto; }

/*予約フォーム -----------------------------------------------------------------*/
.reserve_form {
width: 80%;
max-width: 800px;
margin: 0 auto;
padding: 2em 3em 1em;
background: #fff;
border: solid 1px #d8c89e;
box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.08);
}
/*フォーム項目*/
.form_item{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 1.5em;
	padding-bottom: 1.5em;
	border-bottom: solid 1px #ddd;
}
.form_item > label{
	width: 25%;
	display: flex;
	align-items: center;
}
.form_label{
	font-weight: bold;
	font-size: 1.05em;
}
/*必須*/
.required{
	background: #c10034;
	color: #fff;
	font-size: 12px;
	line-height: 1;
	padding: 0.3em 0.5em;
	margin-left: 0.6em;
}
/*入力欄*/
.form_item > input,.form_item > textarea,
.form_item > .input_with_text{ width: 75%; }
.reserve_form textarea[type="note"],
.reserve_form input[type="text"],
.reserve_form input[type="tel"],
.reserve_form input[type="email"],
.reserve_form input[type="date"],
.reserve_form input[type="time"],
.reserve_form input[type="number"]{
	display: block;
	width: 100%;
	height: 48px;
	padding: 0.5em 0.8em;
	background: #fff;
	border: solid 1px #bbb;
	border-radius: 2px;
	font-family: inherit;
	font-size: 16px;
	color: #333;
}
.reserve_form textarea[type="note"]{
	height: 150px;
}
.reserve_form input:focus{
	outline: none;
	border-color: #cfa759;
	box-shadow: 0 0 0 2px rgba(207,167,89,0.15);
}
.reserve_form select{
	display: block;
	width: 100%;
	height: 48px;
	padding: 0.5em 0.8em;
	background: #fff;
	border: solid 1px #bbb;
	border-radius: 2px;
	font-family: inherit;
	font-size: 16px;
	color: #333;
}
.reserve_form select:focus{
	outline: none;
	border-color: #cfa759;
	box-shadow: 0 0 0 2px rgba(207,167,89,0.15);
}

/*プレースホルダー*/
.reserve_form input::placeholder{ color: #aaa; }
/*日付・時間・人数など*/
.input_with_text{ display: flex; align-items: center; gap: 0.6em; }
.input_with_text input{ flex: 1; }
.input_with_text span{ white-space: nowrap; }
/*人数*/
#people{ max-width: 180px; }
/*送信ボタン*/
.form_btn{ width: 60%; margin: 2.5em auto 1em; }
.form_btn button{
	display: block;
	width: 100%;
	padding: 0.9em 1em 0.8em;
	border: solid 3px #c10034;
	border-radius: 50px;
	background: #c10034;
	color: #fff;
	font-family: inherit;
	font-size: 1.2em;
	font-weight: bold;
	cursor: pointer;
	box-shadow: 0px 5px 5px rgba(0,0,0,0.15);
	transition: all 0.3s;
}
.form_btn button:hover{ background: #fff; color: #c10034; }

/* 確認画面 */
.confirm_form {
width: 80%;
max-width: 800px;
margin: 0 auto;
padding: 2em 3em 1em;
background: #fff;
border: solid 1px #d8c89e;
box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.08);
}
.confirm_value {
width: 75%;
padding: 15px 20px;
background: #f7f7f7;
border-radius: 4px;
min-height: 20px;
line-height: 1.7;
}
.confirm_form .form_item > label{ padding-left: 3em; }
.confirm_note { white-space: normal; }
/* 戻るボタン */
.form_btn_back { margin-top: 15px; }
.form_btn_back button { background: #fff; color: #333; border: 1px solid #ccc; }

/* 送信完了画面 */
.thanks_btn{
	margin: 3em auto 0;
	text-align: center;
}
/*スマホ -----------------------------------------------------------------*/
@media screen and (max-width:768px){
	section.ind { margin-top: 51px; }
	.reserve_form{ width: 100%; padding: 1.5em 1em 0.5em; }
	.form_item{ display: block; margin-bottom: 1.2em; padding-bottom: 1.2em; }
	.form_item > label{ width: 100%; margin-bottom: 0.5em; }
	.form_item > input,
	.form_item > .input_with_text{ width: 100%; }
	.reserve_form input[type="text"],
	.reserve_form input[type="tel"],
	.reserve_form input[type="email"],
	.reserve_form input[type="date"],
	.reserve_form input[type="time"],
	.reserve_form input[type="number"]{ height: 46px; font-size: 16px; }
	.reserve_form select{ height: 46px; font-size: 16px; }
	.form_note{ width: 100%; margin: 0.4em 0 0; font-size: 0.8em; }
	#people{ max-width: 150px; }
	.form_btn{ width: 90%; margin: 2em auto 1em; }
	.form_btn button{ font-size: 1.05em; padding: 0.9em 0.5em; }
	.confirm_form { width: 100%; padding: 1em; }
	.confirm_form .form_item > label { padding-left: 0; }
	.confirm_value { width: 100%; }
}
