/* ==========================================================
   ノアAGA：Snow Monkey Forms を MW WP Form のときと同じ見た目にする（テーマ noa_aga）
   ・本サイトの2つ（780・781）：table.contact_table 型（スマホでも同じ縦並び）
     項目名は水色の帯（太字）、その下に白地で入力欄
   ・LP の無料カウンセリング（783）：LP のテンプレートの table.contact_table（左に項目名・右に入力欄、ブラウザ標準に近い入力欄）
   ・LP の来院のご予約（782）：#form_area の表の形
   （LP の2つは後半）
   入力欄の色・余白は、テーマの input / select / textarea の指定がそのまま効く
   ========================================================== */

:is(#snow-monkey-form-780, #snow-monkey-form-781) {
	max-width: none;
}
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-intro,
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-after {
	margin: 0 0 24px;
}

/* ---------- 項目（th：水色の帯／td：白地） ---------- */
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-item {
	display: block;
	margin: 0;
	padding: 0;
	border: none;
}
/* table の下の 30px（最後の項目の下） */
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-item:not(:has(~ .smf-item)) {
	margin-bottom: 30px;
}
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-item__col {
	display: block;
	width: auto;
	max-width: none;
	margin: 0;
}
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-item__col--label {
	padding: 5px 15px;
	background-color: #e5f7f6;
	color: #383838;
	font-weight: 700;
}
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-item__col--controls {
	padding: 15px;
	background-color: #fff;
}
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-item__label {
	display: block;
	margin: 0;
	font-size: inherit;
	font-weight: 700;
	line-height: inherit;
}
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-item__label label {
	font-weight: 700;
	margin: 0;
}
/* 必須（.red：オレンジの「*」） */
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-item.is-required .smf-item__label::after {
	content: "*";
	color: #ff6633;
}
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .red {
	color: #ff6633;
}

/* ---------- 入力欄（テーマの input と同じ。Snow Monkey Forms の上書きを戻す） ---------- */
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-text-control,
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-textarea-control {
	display: block;
	width: 100%;
}
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-text-control__control,
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-textarea-control__control {
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0;
	padding: 6px;
	border: 1px solid rgba(51, 51, 51, .1);
	border-radius: 0;
	box-shadow: none;
	background-color: #f7f7f7;
	color: rgba(51, 51, 51, .7);
	font-family: inherit;
	font-size: 16px;
	line-height: normal;
}
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-textarea-control__control {
	padding: 5px;
}

/* ご予約希望日時：「第一希望*」、日付（幅 540px）＋「時間」＋時間のセレクト（幅 150px） */
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-wish {
	margin: 0;
}
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-item.is-wish .smf-placeholder {
	display: inline-block;
}
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-item.is-wish .smf-placeholder[data-name^="day"],
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-item.is-wish .smf-placeholder[data-name^="day"] .smf-text-control {
	display: inline-block;
	width: auto;
}
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-item.is-wish .smf-text-control__control {
	width: 540px;
	max-width: 100%;
	margin: 0 10px 10px 0;
}

/* セレクト（ブラウザ標準の見た目） */
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-select-control {
	display: inline-block;
	width: auto;
}
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-select-control__toggle {
	display: none;
}
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-select-control__control {
	-webkit-appearance: auto;
	appearance: auto;
	display: inline-block;
	width: 150px;
	height: auto;
	margin: 0 0 0 10px;
	padding: 0;
	border: 1px solid #767676;
	border-radius: 0;
	box-shadow: none;
	background-color: #f7f7f7;
	color: #000;
	font-family: inherit;
	font-size: 16px;
	line-height: normal;
}

/* ラジオ・チェックボックス（ブラウザ標準） */
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form :is(.smf-radio-buttons-control__control, .smf-checkboxes-control__control) {
	display: block;
}
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form :is(.smf-radio-buttons-control__control, .smf-checkboxes-control__control) > .smf-label {
	display: inline-block;
	margin: 0;
	line-height: 25.6px;
	vertical-align: baseline;
}
/* 2つ目からは左に 10px＋空白 */
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form :is(.smf-radio-buttons-control__control, .smf-checkboxes-control__control) > .smf-label + .smf-label {
	margin-left: 16px;
}
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form :is(.smf-radio-button-control, .smf-checkbox-control) {
	display: inline;
	margin: 0;
}
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form :is(.smf-radio-button-control__control, .smf-checkbox-control__control) {
	-webkit-appearance: auto;
	appearance: auto;
	width: 13px;
	height: 13px;
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	box-shadow: none;
	vertical-align: baseline;
}
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form :is(.smf-radio-button-control__control, .smf-checkbox-control__control)::before {
	display: none;
}
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form :is(.smf-radio-button-control__label, .smf-checkbox-control__label) {
	margin: 0 30px 0 0;
	padding-left: 5px;
}

/* ---------- 入力エラー ---------- */
.snow-monkey-form .smf-error-messages {
	margin: 5px 0 0;
	color: #ed3f3f;
	font-size: 14px;
}

/* ---------- ボタン（オレンジの枠と文字。「戻る」も同じ形で「送信する」の上） ---------- */
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-action {
	display: block;
	margin: 0;
}
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-action .smf-button-control {
	display: block;
	margin: 0;
}
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-action .smf-button-control__control {
	display: block;
	width: 255px;
	height: 36px;
	margin: 40px auto 30px;
	padding: 5px 2px;
	border: 1px solid #ff6633;
	border-radius: 0;
	background: url("../../themes/noa_aga/images/yazirusi_orange.png") no-repeat center right 3% / 3%; /* テーマの .link_f の右の矢印 */
	box-shadow: none;
	color: #ff6633;
	font-family: inherit;
	font-size: 16px;
	font-weight: 100;
	line-height: normal;
	text-align: center;
	cursor: pointer;
}
/* テーマの label { margin-bottom: 5px } を外す（MW WP Form のラジオ・チェックボックスは 0） */
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-label > label {
	margin: 0;
}

/* スマホ：今のフォームは th・td が表の幅より 15px はみ出していた（中の入力欄も幅 100%） */
@media screen and (max-width: 767px) {
	:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-item__col {
		width: calc(100% + 15px);
	}
	:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-item.is-wish .smf-placeholder[data-name^="day"],
	:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-item.is-wish .smf-placeholder[data-name^="day"] .smf-text-control {
		display: block;
		width: 100%;
	}
	:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-item.is-wish .smf-text-control__control {
		width: 100%;
	}	/* 時間のセレクトの下に 20px（今のフォームのスマホと同じ） */
	:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-form .smf-item.is-wish .smf-placeholder[data-name^="time"] {
		margin-bottom: 20px;
	}
	/* ボタンは th と同じ幅いっぱい */
	:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-action .smf-button-control__control {
		width: calc(100% + 15px);
		margin-left: 0;
		margin-right: 0;
	}
}

/* ==========================================================
   LP の2つ（782 来院のご予約・783 無料カウンセリング）：LP のテンプレート（幅 970px 固定）の table.contact_table
   左に項目名（幅 291px・右 33px あけ・上下 25px）、右に入力欄（上下中央）。入力欄はブラウザ標準に近い
   ボタンはページの <style> の .submit（赤 #ED3F3F、232×60）
   ========================================================== */
:is(#snow-monkey-form-782, #snow-monkey-form-783) {
	max-width: none;
	font-size: 18px;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-intro,
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-after {
	margin: 0 0 10px;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-item {
	display: flex;
	margin: 0;
	padding: 0;
	border: none;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-intro + .smf-item {
	margin-top: 25px; /* table の上の 25px */
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-item:not(:has(~ .smf-item)) {
	margin-bottom: 25px;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-item__col {
	margin: 0;
	max-width: none;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-item__col--label {
	flex: 0 0 291px;
	width: 291px;
	padding: 25px 33px 25px 0;
	align-self: flex-start;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-item__col--controls {
	flex: 1 1 auto;
	width: auto;
	padding: 0;
	align-self: center;
	font-weight: 700;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-item__label {
	display: block;
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	line-height: normal;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-item__label label {
	font-weight: 700;
	margin: 0;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-item.is-required .smf-item__label::after {
	content: "*";
	color: #ed3f3f;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .red {
	color: #ed3f3f;
}
/* 入力欄（ブラウザ標準：内側にへこんだ枠・Arial） */
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-text-control {
	display: inline-block;
	width: auto;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-text-control__control {
	width: auto;
	max-width: 100%;
	height: 34px;
	margin: 0;
	padding: 5px;
	border: 2px inset #767676;
	border-radius: 0;
	box-shadow: none;
	background: #fff;
	color: #000;
	font-family: Arial, sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: normal;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-textarea-control__control {
	width: 672px;
	max-width: 100%;
	height: 104px;
	margin: 0;
	padding: 5px;
	border: 1px solid #767676;
	border-radius: 0;
	box-shadow: none;
	background: #fff;
	color: #000;
	font-family: monospace;
	font-size: 18px;
	font-weight: 400;
	line-height: normal;
	display: inline-block;
	vertical-align: baseline; /* 行の中に置かれていたときと同じ下のすき間 */
}
/* ご予約希望日時：「第一希望*」の下に、日付と時間を半分ずつ（ページの <style> の .cf） */
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-wish {
	margin: 0 0 10px;
	font-weight: 700;
	line-height: normal; /* 「第一希望*」は p ではなく td の文字（下の 10px は空の p の余白） */
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-item.is-wish .smf-item__controls {
	display: flex;
	flex-wrap: wrap;
	column-gap: 5px;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-item.is-wish .smf-wish {
	flex: 0 0 100%;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-item.is-wish .smf-placeholder {
	flex: 1 1 0;
	min-width: 0;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-item.is-wish .smf-text-control,
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-item.is-wish .smf-text-control__control,
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-item.is-wish .smf-select-control,
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-item.is-wish .smf-select-control__control {
	display: block;
	width: 100%;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-item.is-wish .smf-text-control__control {
	height: 32px;
	font-size: 16px;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-select-control__toggle {
	display: none;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-select-control__control {
	-webkit-appearance: auto;
	appearance: auto;
	height: 32px;
	margin: 0;
	padding: 5px;
	border: 1px solid #767676;
	border-radius: 0;
	box-shadow: none;
	background: #fff;
	color: #000;
	font-family: Arial, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: normal;
}
/* 「第二希望*」は p（行の高さ 30.6px・下 10px） */
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-item.is-wish .smf-placeholder + .smf-wish {
	line-height: 30.6px;
}
/* ラジオ（ブラウザ標準） */
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-radio-buttons-control__control {
	display: block;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-radio-buttons-control__control > .smf-label {
	display: inline;
	margin: 0;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-radio-buttons-control__control > .smf-label + .smf-label {
	margin-left: 10px;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-radio-button-control {
	display: inline;
	margin: 0;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-radio-button-control__control {
	-webkit-appearance: auto;
	appearance: auto;
	width: 13px;
	height: 13px;
	margin: 0 5px 0 0;
	padding: 0;
	border: none;
	background: none;
	box-shadow: none;
	vertical-align: baseline;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-radio-button-control__control::before {
	display: none;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-radio-button-control__label {
	margin: 0;
	font-weight: 400;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-form .smf-label > label {
	margin: 0;
}
/* ボタン（赤 #ED3F3F、232×60） */
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-action {
	display: block;
	margin: 0 0 10px;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-action .smf-button-control {
	display: block;
	margin: 0;
}
:is(#snow-monkey-form-782, #snow-monkey-form-783) .smf-action .smf-button-control__control {
	display: block;
	width: 232px;
	height: 60px;
	margin: 0 auto 10px;
	padding: 0;
	border: none;
	border-radius: 0;
	background: #ed3f3f;
	box-shadow: none;
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 60px;
	text-align: center;
	cursor: pointer;
}

/* ---------- LP の来院のご予約（782）だけの違い ---------- */
/* 「*は必須項目です。」は #form_area の文字（26px）。その下の表は上 25px */
#snow-monkey-form-782 {
	font-size: 26px;
}
#snow-monkey-form-782 .smf-form .smf-note {
	margin: 0;
	line-height: normal;
}
#snow-monkey-form-782 .smf-form .smf-note + .smf-item {
	margin-top: 25px;
}
/* 項目の文字は 18px（#form_area は 26px） */
#snow-monkey-form-782 .smf-form .smf-item {
	font-size: 18px;
}
#snow-monkey-form-782 .smf-form .smf-note {
	line-height: 38px;
}
/* 診療希望日：案内の文と「第一希望*」（下は空の p の 10px）、その下に日付と時間（ページの <style> の .cf：半分ずつ・間 5px・下 20px） */
#snow-monkey-form-782 .smf-form .smf-wish-note {
	flex: 0 0 100%;
	margin: 0 0 10px;
	font-weight: 700;
	line-height: normal;
}
#snow-monkey-form-782 .smf-form .smf-item.is-wish .smf-placeholder {
	margin-bottom: 20px;
}
#snow-monkey-form-782 .smf-form .smf-item.is-wish .smf-placeholder + .smf-wish {
	margin: 0 0 10px;
	line-height: 30.6px;
}
/* 年齢（.w3：幅 80px）と「歳」 */
#snow-monkey-form-782 .smf-form .smf-item.is-age .smf-text-control__control {
	width: 80px;
}
#snow-monkey-form-782 .smf-form .smf-unit {
	font-weight: 700;
}
/* 連絡方法・連絡可能時間のセレクト（ブラウザ標準の文字の大きさ、幅 672px） */
#snow-monkey-form-782 .smf-form .smf-item:not(.is-wish) .smf-select-control,
#snow-monkey-form-782 .smf-form .smf-item:not(.is-wish) .smf-select-control__control {
	display: inline-block;
	width: 672px;
	max-width: 100%;
}
#snow-monkey-form-782 .smf-form .smf-item:not(.is-wish) .smf-select-control__control {
	height: auto;
	font-size: 13.3333px;
}
/* 来院のきっかけ（ブラウザ標準のチェックボックス、横並び） */
#snow-monkey-form-782 .smf-form .smf-checkboxes-control__control {
	display: block;
}
#snow-monkey-form-782 .smf-form .smf-checkboxes-control__control > .smf-label {
	display: inline;
	margin: 0;
}
#snow-monkey-form-782 .smf-form .smf-checkbox-control {
	display: inline;
	margin: 0;
}
#snow-monkey-form-782 .smf-form .smf-checkbox-control__control {
	-webkit-appearance: auto;
	appearance: auto;
	width: 13px;
	height: 13px;
	margin: 0 5px 0 0;
	padding: 0;
	border: none;
	background: none;
	box-shadow: none;
	vertical-align: baseline;
}
#snow-monkey-form-782 .smf-form .smf-checkbox-control__control::before {
	display: none;
}
#snow-monkey-form-782 .smf-form .smf-checkbox-control__label {
	margin: 0;
	font-weight: 400;
}
#snow-monkey-form-782 .smf-form .smf-checkboxes-control__control > .smf-label + .smf-label {
	margin-left: 10px;
}
/* 年齢の欄と「歳」は同じ行に */
#snow-monkey-form-782 .smf-form .smf-item.is-age .smf-placeholder {
	display: inline-block;
}

/* ==========================================================
   ボタンの続き（4つ共通）
   ・「確認」「送信する」に乗せたときは、テーマの .link_f と同じくオレンジ地に白（本サイトの2つ）
   ・確認画面は、今のフォームと同じく「送信する」の下に「戻る」（テーマの .link_f2：緑の枠・左に矢印）。どちらも中央
   ========================================================== */
:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-action .smf-button-control__control:not([data-action="back"]):hover {
	color: #fff;
	background: #ff6633 url("../../themes/noa_aga/images/yazirusi_white.png") no-repeat center right 3% / 3%;
}
.snow-monkey-form:is(#snow-monkey-form-780, #snow-monkey-form-781, #snow-monkey-form-782, #snow-monkey-form-783) .smf-action {
	display: flex;
	flex-direction: column;
}
.snow-monkey-form:is(#snow-monkey-form-780, #snow-monkey-form-781, #snow-monkey-form-782, #snow-monkey-form-783) .smf-action .smf-button-control:has([data-action="back"]) {
	order: 2;
}
.snow-monkey-form:is(#snow-monkey-form-780, #snow-monkey-form-781, #snow-monkey-form-782, #snow-monkey-form-783) .smf-action [data-action="back"] {
	display: block;
	width: 255px;
	max-width: 100%;
	height: auto;
	margin: 30px auto;
	padding: 5px 2px;
	border: 1px solid #00ada7;
	border-radius: 0;
	background: url("../../themes/noa_aga/images/yazirusi2.png") no-repeat center left;
	box-shadow: none;
	color: #333;
	font-family: inherit;
	font-size: 16px;
	font-weight: 100;
	line-height: normal;
	text-align: center;
}
.snow-monkey-form:is(#snow-monkey-form-780, #snow-monkey-form-781, #snow-monkey-form-782, #snow-monkey-form-783) .smf-action [data-action="back"]:hover {
	color: #00ada7;
}
@media screen and (max-width: 679px) {
	.snow-monkey-form:is(#snow-monkey-form-780, #snow-monkey-form-781) .smf-action [data-action="back"] {
		width: calc(100% + 15px);
		max-width: none;
		margin-left: 0;
		margin-right: 0;
	}
}
