/* ==========================================================
   TRESOR：Snow Monkey Forms を MW WP Form のときと同じ見た目にする
   （テーマ eyelash の style.css の #form_area table・input・.submit・.backbtn を前提にする）
   PC：表の形（左に項目名 200px・太字、右に入力欄） / スマホ：縦に並べる
   ========================================================== */

#form_area .smf-form .smf-note {
	margin: 0 0 20px;
}
#form_area .snow-monkey-form {
	max-width: none;
}

/* ---------- 項目（table の th / td と同じ） ---------- */
#form_area .smf-form .smf-item {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	border: none;
}
/* table の下の 30px（最後の項目の下） */
#form_area .smf-form .smf-item:not(:has(~ .smf-item)) {
	margin-bottom: 30px;
}
#form_area .smf-form .smf-item__col {
	margin: 0;
	max-width: none;
}
#form_area .smf-form .smf-item__col--label {
	flex: 0 0 100%;
	width: 100%;
	padding: .7em .5em .4em; /* th */
	font-weight: 700;
}
#form_area .smf-form .smf-item__col--controls {
	flex: 0 0 100%;
	width: 100%;
	padding: .4em .5em; /* td */
}
#form_area .smf-form .smf-item__label {
	display: block;
	margin: 0;
	font-size: inherit;
	font-weight: 700;
	line-height: inherit;
	text-align: left;
}
#form_area .smf-form .smf-item__label label {
	font-weight: 700;
	margin: 0;
}
/* 必須（.att：項目名のすぐ後ろに「*」） */
#form_area .smf-form .smf-item.is-required .smf-item__label::after {
	content: "*";
}

/* ---------- 入力欄（テーマの #form_area input と同じ） ---------- */
#form_area .smf-form .smf-text-control,
#form_area .smf-form .smf-textarea-control {
	display: block;
	width: 100%;
}
#form_area .smf-form .smf-text-control__control,
#form_area .smf-form .smf-textarea-control__control {
	display: inline-block;
	border-radius: 0;
	box-shadow: none;
	font-family: sans-serif;
	font-size: inherit;
	line-height: 1.15;
	color: #000;
	background-color: #fefefe;
	vertical-align: baseline;
}
#form_area .smf-form .smf-text-control__control:focus,
#form_area .smf-form .smf-textarea-control__control:focus {
	border-color: #e7e7e7;
	box-shadow: none;
	background-color: #fff;
}

/* 電話番号（3つの欄を「-」でつなぐ。MW WP Form の .mwform-tel-field） */
#form_area .smf-form .smf-item.is-tel .smf-placeholder,
#form_area .smf-form .smf-item.is-tel .smf-text-control {
	display: inline;
	width: auto;
}
#form_area .smf-form .smf-item.is-tel .smf-text-control__control {
	width: auto;
	margin: 0 !important;
}

/* ---------- 入力エラー ---------- */
#form_area .smf-error-messages {
	margin: 0 0 5px;
	color: #c00;
	font-size: 13px;
}

/* ---------- ボタン（灰色の「送信内容を確認」「送信」、白に灰色の枠の「戻る」） ---------- */
#form_area .smf-action {
	display: block;
	margin: 0 0 20px;
}
#form_area .smf-action .smf-button-control {
	display: block;
	margin: 0;
}
#form_area .smf-action .smf-button-control__control {
	display: block;
	width: 200px;
	height: 50px; /* テーマの .btn の高さ */
	margin: 0 auto;
	padding: .8em 0;
	border: 1px solid #a0a0a0;
	border-radius: 0;
	background: #a0a0a0;
	box-shadow: none;
	color: #fff;
	font-family: sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	cursor: pointer;
	transition: .3s;
}
#form_area .smf-action .smf-button-control__control:hover {
	color: #a0a0a0;
	background: #fff;
}
#form_area .smf-action [data-action="back"] {
	height: auto;
	margin: 0 auto 15px; /* 11/10 ユーザー指示で「送信」と同じく中央に（Ashanty と同じ。MW WP Form のときは左寄せ・間 37px） */
	padding: .4em 0;
	line-height: 1.15;
	background: #fff;
	color: #a0a0a0;
}
#form_area .smf-action [data-action="back"]:hover {
	color: #fff;
	background: #a0a0a0;
}

/* ---------- PC ---------- */
@media print, screen and (min-width: 768px) {
	#form_area .smf-form .smf-item {
		flex-wrap: nowrap;
	}
	#form_area .smf-form .smf-item__col--label {
		flex: 0 0 200px;
		width: 200px;
		align-self: flex-start; /* th は上寄せ */
	}
	#form_area .smf-form .smf-item__col--controls {
		flex: 1 1 auto;
		width: auto;
		align-self: center; /* td は上下中央 */
	}
	#form_area .smf-form .smf-text-control__control,
	#form_area .smf-form .smf-textarea-control__control {
		margin-bottom: 10px;
	}
}

/* 確認画面の電話番号：今のフォームと同じく「080-3574-1357」と詰めて出す。入力がなければ「-」も出さない */
#form_area .snow-monkey-form[data-screen="confirm"] .smf-item.is-tel .smf-item__controls {
	display: flex;
	flex-wrap: wrap;
}
#form_area .snow-monkey-form[data-screen="confirm"] .smf-item.is-tel:has(input[name="tel1"][value=""]) .smf-tel-sep {
	display: none;
}

/* ==========================================================
   ここから TRESOR の分（Ashanty と同じテーマ eyelash。予約フォームの項目が多い）
   ========================================================== */

/* 必須の「*」は赤（今のフォームは style="color: #b01f24"） */
#form_area .smf-form .smf-item.is-required .smf-item__label::after,
#form_area .smf-form .att {
	color: #b01f24;
}
/* ご希望日時の項目名の下の案内（太字にしない） */
#form_area .smf-form .smf-label-note {
	font-weight: normal;
}

/* 入力画面は、ボタンの前に改行（br）が1つあった（「戻る」は入力画面では出ない） */
#form_area .snow-monkey-form[data-screen="input"] .smf-action {
	padding-top: 22.4px;
}
/* 予約の「送信内容を確認」「送信」は .btn が付いていない（高さ 40px） */
#form_area #snow-monkey-form-3392 .smf-action .smf-button-control__control:not([data-action="back"]) {
	height: auto;
	line-height: 1.15;
}

/* セレクト（ブラウザ標準の見た目。テーマの #form_area select と同じ） */
#form_area .smf-form .smf-select-control {
	display: block;
	width: auto;
}
#form_area .smf-form .smf-select-control__toggle {
	display: none;
}
#form_area .smf-form .smf-select-control__control {
	-webkit-appearance: auto;
	appearance: auto;
	display: block;
	width: auto;
	max-width: 100%;
	height: 33px;
	margin: 0 0 5px; /* スマホは下 5px、PC は 0 */
	padding: .4em 0 .3em .5em;
	border: 1px solid #e7e7e7;
	border-radius: 0;
	box-shadow: none;
	background: #fff;
	color: #000;
	font-family: sans-serif;
	font-size: 14px;
	line-height: normal;
}
/* ご希望コース：p の中にあった（下に 10px） */
#form_area .smf-form .smf-placeholder[data-name="cause"] {
	margin-bottom: 10px;
}

/* ご希望日時：「第一希望*」の下に日付（幅いっぱい・高さ 44px）、その下に時間 */
#form_area .smf-form .smf-wish {
	margin: 0;
	line-height: 22.4px;
}
#form_area .smf-form .smf-item.is-wish .smf-text-control__control {
	padding: .8em .5em;
	margin: 0;
}

/* 年齢（.short：幅 200px）と「歳」 */
#form_area .smf-form .smf-item.is-age .smf-placeholder,
#form_area .smf-form .smf-item.is-age .smf-text-control {
	display: inline;
	width: auto;
}
#form_area .smf-form .smf-item.is-age .smf-text-control__control {
	width: 200px;
	margin: 0;
}
#form_area .smf-form .smf-unit {
	margin-left: .3em;
}

/* ラジオ（テーマの丸いボタン 24px、選ぶと青い点） */
#form_area .smf-form .smf-radio-buttons-control__control,
#form_area .smf-form .smf-checkboxes-control__control {
	display: block;
}
#form_area .smf-form .smf-radio-buttons-control__control > .smf-label {
	display: block;
	margin: 0 0 15px;
}
#form_area .smf-form .smf-radio-button-control {
	display: inline;
	margin: 0;
}
#form_area .smf-form .smf-radio-button-control__control {
	position: relative;
	-webkit-appearance: button;
	appearance: button;
	box-sizing: border-box;
	width: 24px;
	height: 24px;
	margin: 0;
	padding: 0;
	border: 1px solid #999;
	border-radius: 24px;
	background-color: #fff;
	box-shadow: inset 4px 4px 10px rgba(0, 0, 0, .2);
	vertical-align: middle;
	cursor: pointer;
}
#form_area .smf-form .smf-radio-button-control__control::before {
	display: none;
}
#form_area .smf-form .smf-radio-button-control__label {
	margin: 0 0 0 10px;
}

/* チェックボックス（テーマの四角 26px、選ぶと黒地に白いチェック） */
#form_area .smf-form .smf-checkboxes-control__control > .smf-label {
	display: block;
	margin: 0 0 10px;
}
#form_area .smf-form .smf-checkbox-control {
	display: inline;
	margin: 0;
}
#form_area .smf-form .smf-checkbox-control__control {
	position: relative;
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	width: 26px;
	height: 26px;
	margin: 0 5px 0 0;
	padding: 0;
	border: 1px solid #aaa;
	border-radius: 3px;
	background: linear-gradient(to bottom, #fff 0%, #e2e2e2 100%);
	box-shadow: none;
	vertical-align: -8px;
	cursor: pointer;
}
#form_area .smf-form .smf-checkbox-control__control:checked {
	background: #000;
	border-color: #000;
}
#form_area .smf-form .smf-checkbox-control__label {
	margin: 0;
}

/* スマホの項目名は幅 290px（テーマの .PostPage table tr th） */
@media screen and (max-width: 767px) {
	#form_area .smf-form .smf-item__col--label {
		flex: 0 0 290px;
		width: 290px;
	}
	#form_area .smf-form .smf-item__col--controls {
		flex: 0 0 100%;
	}
}
@media print, screen and (min-width: 768px) {
	#form_area .smf-form .smf-item.is-wish .smf-text-control__control {
		margin-bottom: 10px;
	}
	#form_area .smf-form .smf-select-control__control {
		margin-bottom: 0;
	}
	#form_area .smf-form .smf-radio-buttons-control__control > .smf-label {
		display: inline;
		margin: 0 15px 15px 0;
	}
	#form_area .smf-form .smf-radio-button-control__label {
		margin-right: 15px;
	}
	#form_area .smf-form .smf-checkboxes-control__control > .smf-label {
		display: inline-block;
		margin: 10px 19.75px 10px 0; /* 15px＋項目の間の空白 */
	}
}

/* 確認画面のご希望日時：今のフォームと同じく「第一希望*」の下に「日付 時間」を1行で */
#form_area .snow-monkey-form[data-screen="confirm"] .smf-item.is-wish .smf-placeholder,
#form_area .snow-monkey-form[data-screen="confirm"] .smf-item.is-wish .smf-placeholder > div {
	display: inline;
}
#form_area .snow-monkey-form[data-screen="confirm"] .smf-item.is-wish .smf-placeholder[data-name^="day"] + .smf-placeholder {
	margin-left: .3em;
}
#form_area .snow-monkey-form[data-screen="confirm"] .smf-item.is-wish .smf-placeholder[data-name^="time"]::after {
	content: "";
	display: block;
}

/* 電話番号は3つの欄で1項目なので、未入力のエラーは欄ごとに出さず、並びの下に1つだけ */
#form_area .smf-form .smf-item.is-tel .smf-placeholder .smf-error-messages {
	display: none;
}
#form_area .smf-form .smf-item.is-tel:has(.smf-placeholder .smf-error-messages) .smf-item__controls::after {
	content: "入力してください。";
	display: block;
	margin: 0 0 5px;
	color: #c00;
	font-size: 13px;
}
