/* ==========================================================
   ウインドローズ：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・TRESOR と同じ。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。予約フォームの項目が多い）
   ========================================================== */

/* 必須の「*」は赤（テーマの .att） */
#form_area .smf-form .smf-item.is-required .smf-item__label::after,
#form_area .smf-form .att {
	color: #df2142;
}
/* ご希望日時の項目名の下の案内（太字にしない） */
#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-205 .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: 60px; /* 今のフォームは数字の入力欄（input[type=number].short） */
}
#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;
}

/* ==========================================================
   ここからウインドローズの分（テーマ wr。表のセルの間が 2px あき、ボタンは赤）
   ========================================================== */
#form_area .smf-form .smf-note {
	margin-bottom: 27px; /* 25px＋表の上の 2px（余白は重なるので足しておく） */
}
/* table の border-spacing: 2px（行の上下・セルの左右に 2px） */
#form_area .smf-form .smf-item {
	margin: 0 2px 2px;
}
#form_area .smf-form .smf-item:not(:has(~ .smf-item)) {
	margin-bottom: 32px; /* 2px＋table の下の 30px */
}
#form_area .smf-form .smf-item__col--label {
	color: #222;
}
@media print, screen and (min-width: 768px) {
	#form_area .smf-form .smf-item__col--label {
		margin-right: 2px;
	}
}
/* ボタン（赤 #b32142） */
#form_area .smf-action .smf-button-control__control {
	height: auto;
	line-height: 1.15;
	border-color: #b32142;
	background: #b32142;
	font-weight: 400;
}
#form_area .smf-action .smf-button-control__control:hover {
	color: #b32142;
	background: #fff;
}
#form_area .smf-action [data-action="back"] {
	border-color: #b32142;
	background: #fff;
	color: #b32142;
}
#form_area .smf-action [data-action="back"]:hover {
	color: #fff;
	background: #b32142;
}

/* 生年月日・卒業年（.inline_wrap：セレクトを横に並べ、間に「年」「月」「日」） */
#form_area .smf-form .smf-item.is-birth .smf-placeholder,
#form_area .smf-form .smf-item.is-birth .smf-select-control,
#form_area .smf-form .smf-item.is-academic .smf-placeholder[data-name="year"],
#form_area .smf-form .smf-item.is-academic .smf-placeholder[data-name="year"] .smf-select-control {
	display: inline-block;
}
#form_area .smf-form .smf-item.is-birth .smf-select-control__control,
#form_area .smf-form .smf-item.is-academic .smf-select-control__control {
	display: inline-block;
	margin: 0;
}
#form_area .smf-form .smf-item.is-birth .smf-unit,
#form_area .smf-form .smf-item.is-academic .smf-unit {
	margin: 0; /* 前後の空白だけ（今の「 年 」と同じ） */
}
/* 生年月日は3つで1項目なので、エラーは並びの下に1つだけ */
#form_area .smf-form .smf-item.is-birth .smf-placeholder .smf-error-messages {
	display: none;
}
#form_area .smf-form .smf-item.is-birth:has(.smf-placeholder .smf-error-messages) .smf-item__controls::after {
	content: "選択してください。";
	display: block;
	margin: 5px 0;
	color: #c00;
	font-size: 13px;
}

/* 最終学歴：「学校名 / 学部名 / 学科名」、学校名の欄（p の中にあった）、卒業年、卒業・卒業見込み…（.radio_wrap：上 10px） */
#form_area .smf-form .smf-academic-note {
	margin: 0 0 10px;
}
#form_area .smf-form .smf-placeholder[data-name="academic"] {
	margin-bottom: 10px;
}
#form_area .smf-form .smf-placeholder[data-name="ptn"] {
	margin-top: 10px;
}

/* 個人情報の取扱いへの同意（今のフォームにはなかったので、ほかのチェックボックスと同じ見た目で） */
#form_area .smf-form .smf-agree-note {
	margin: 0 0 5px;
}
#form_area .smf-form .smf-agree-note a {
	text-decoration: underline;
}

/* 年齢の行：今のフォームは数字の入力欄と「歳」が行の中にあり、行の下が 7px 高い */
#form_area .snow-monkey-form:not([data-screen="confirm"]) .smf-item.is-age .smf-item__controls {
	padding-bottom: 7px;
}
@media screen and (max-width: 767px) {
	#form_area .smf-form .smf-item.is-age .smf-item__controls {
		padding-bottom: 0;
	}
}
