.UnderlinePageTitle_page_title {
	text-align: center;
	font-size: 40px;
	font-weight: 300;
	line-height: 1.25;
	color: #000;
	white-space: pre-wrap;
}

@media screen and (max-width: 767px) {
	.UnderlinePageTitle_page_title {
		font-size: 28px;
	}
}

.UnderlinePageTitle_page_title:after {
	content: '';
	width: 56px;
	height: 4px;
	background-color: #ff7800;
	display: block;
	margin-top: 8px;
	margin-left: auto;
	margin-right: auto;
}

.SingleColumnLayout_single_column_layout {
	overflow: hidden;
	padding-left: 16px;
	padding-right: 16px;
}

@media screen and (min-width: 768px) {
	.SingleColumnLayout_single_column_layout {
		padding-left: 48px;
		padding-right: 48px;
	}
}

@media screen and (min-width: 1396px) {
	.SingleColumnLayout_single_column_layout {
		padding-left: unset;
		padding-right: unset;
	}
}

.SingleColumnLayout_contents_area {
	max-width: 1300px;
	margin-left: auto;
	margin-right: auto;
}

.CallToActionButton_call_to_action_button {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 34px;
	text-decoration: none;
	overflow: hidden;
}

.CallToActionButton_call_to_action_button.CallToActionButton_disabled {
	pointer-events: none;
	background-color: #ddd;
	border: 1px solid #ddd;
	color: #999;
}

.CallToActionButton_call_to_action_button:hover {
	cursor: pointer;
}

.CallToActionButton_content {
	width: 100%;
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-template-areas: 'icon_left text icon_right';
	align-items: center;
	grid-column-gap: 8px;
	column-gap: 8px;
	padding-left: 16px;
	padding-right: 16px;
}

.CallToActionButton_content.CallToActionButton_center {
	justify-content: center;
}

.CallToActionButton_text_block {
	grid-area: text;
}

.CallToActionButton_main_text {
	display: flex;
	justify-content: center;
	align-items: baseline;
	white-space: nowrap;
	font-weight: 700;
	line-height: 1.25;
}

.CallToActionButton_large {
	height: 56px;
}

.CallToActionButton_large .CallToActionButton_main_text {
	font-size: 18px;
}

.post .FormSectionTitle_form_section_title {
	padding: 10px 15px;
	background-color: #f5f2ee;
	text-align: center;
	font-size: 16px;
	color: #333;
	font-weight: 300;
	line-height: 1.25;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

@media screen and (min-width: 768px) {
	.post .FormSectionTitle_form_section_title {
		padding: 8px 15px;
		font-size: 20px;
	}
}

.Pulldown_pull_down_wrap {
	position: relative;
	display: flex;
	align-items: center;
}

.Pulldown_triangle:after {
	content: url(/assets/stinger8/img/common/triangle.65d8a53e.svg);
	width: 10px;
	position: absolute;
	right: 8px;
	pointer-events: none;
	font-size: 10px;
}

.Pulldown_triangle:has(+ .InputFormArea_form_overlay_icon):after {
	display: none;
}

:has(+ .InputFormArea_form_overlay_icon) select {
	color: #333;
}

.Pulldown_pull_down {
	border-radius: 8px;
	font-weight: 300;
	line-height: 1.25;
	color: #333;
	text-overflow: ellipsis;
	background-color: #fff;
}

.Pulldown_pull_down.Pulldown_default {
	border: 1px solid #aaa;
}

.Pulldown_pull_down.Pulldown_default:focus {
	outline: none;
	border: 1px solid #ff7800;
}

.Pulldown_pull_down.Pulldown_large {
	height: 52px;
	font-size: 16px;
	padding-left: 8px;
	padding-right: 26px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.Pulldown_placeholder {
	color: #ccc;
}

.Pulldown_placeholder option {
	color: #000;
}

.Pulldown_placeholder option:first-child {
	color: #ccc;
}

.KonohoRadioButton_label {
	display: inline-flex;
	width: 100%;
	background-color: #fff;
}

.KonohoRadioButton_label .KonohoRadioButton_radio {
	display: none;
}

.KonohoRadioButton_radio_item {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	cursor: pointer;
	overflow: hidden;
	width: 100%;
	font-weight: 300;
	line-height: 1.25;
	color: #333;
}

.KonohoRadioButton_radio_item .KonohoRadioButton_radio_text {
	margin-left: 8px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.KonohoRadioButton_radio_item .KonohoRadioButton_radio_text.KonohoRadioButton_large {
	font-size: 16px;
}

.RadioButton_radio_button {
	display: flex;
	column-gap: 15px;
	row-gap: 15px;
	width: 100%;
	flex-direction: column;
}

@media screen and (min-width: 768px) {
	.RadioButton_radio_button {
		flex-direction: row;
	}
}

.RadioButton_radio_button .RadioButton_radio_item {
	width: 100%;
	display: flex;
	align-items: center;
	border-radius: 8px;
	border: 1px solid #aaa;
	background-color: #fff;
	padding-left: 8px;
	padding-right: 8px;
	overflow: hidden;
	column-gap: 8px;
}

.RadioButton_radio_button .RadioButton_radio_item:hover {
	outline: none;
	border: 1px solid #ff7800;
	cursor: pointer;
}

.RadioButton_radio_button.RadioButton_default.RadioButton_large .RadioButton_radio_item {
	height: 52px;
}

.InputFormMainCaption_caption {
	display: flex;
	column-gap: 8px;
	position: relative;
}

.InputFormMainCaption_caption .InputFormMainCaption_label {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	color: #333;
}

@media screen and (min-width: 768px) {
	.InputFormMainCaption_caption .InputFormMainCaption_label {
		font-size: 18px;
	}
}

.InputFormMainCaption_caption .InputFormMainCaption_chip {
	width: 34px;
	height: 19px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
	color: #fff;
	background-color: #f64;
}

.InputText_input_text .InputText_input {
	width: 100%;
	height: 52px;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.25;
	padding: 16px 40px 16px 15px;
	border-radius: 8px;
	border: 1px solid #aaa;
}

.InputText_input_text .InputText_input:focus,
.InputText_input_text .InputText_input:focus-visible {
	outline: none;
	border: 1px solid #ff7800;
}

.InputText_input_text input::placeholder {
	color: #ccc;
}

.InputText_input_text .InputText_overlay_container {
	position: relative;
}

.InputMailText_input_mail_text .InputMailText_input_block {
	margin-top: 16px;
	display: grid;
	grid-template-columns: 1fr;
}

@media screen and (min-width: 768px) {
	.InputMailText_input_mail_text .InputMailText_input_block {
		max-width: 480px;
	}
}

@media screen and (min-width: 1396px) {
	.InputMailText_input_mail_text .InputMailText_input_block {
		max-width: 600px;
	}
}

.InputMailText_input_mail_text .InputMailText_mail_attention {
	margin-top: 8px;
	font-size: 12px;
	color: #666;
	font-weight: 300;
	line-height: 1.25;
}

@media screen and (min-width: 768px) {
	.InputMailText_input_mail_text .InputMailText_mail_attention {
		font-size: 14px;
	}
}

.InputFormArea_form_body {
	margin-top: 24px;
}

@media screen and (min-width: 768px) {
	.InputFormArea_form_body {
		margin-top: 40px;
	}
}

@media screen and (min-width: 1024px) {
	.InputFormArea_form_body {
		margin-inline: 50px;
		padding-bottom: 40px;
		background-color: #fff;
	}
}

.InputFormArea_form_body .InputFormArea_form_section {
	padding-block: 28px;
	display: flex;
	flex-direction: column;
	row-gap: 28px;
}

@media screen and (min-width: 768px) {
	.InputFormArea_form_body .InputFormArea_form_section {
		padding-block: 40px;
	}
}

@media screen and (min-width: 1024px) {
	.InputFormArea_form_body .InputFormArea_form_section {
		padding-inline: 50px;
	}
}

.InputFormArea_input_block {
	margin-top: 16px;
	display: grid;
	grid-template-columns: 1fr;
	grid-row-gap: 16px;
	row-gap: 16px;
}

@media screen and (min-width: 768px) {
	.InputFormArea_input_block:not(.InputFormArea_full_width, .InputFormArea_wide) {
		grid-template-columns: 1fr 1fr;
		column-gap: 25px;
	}

	.InputFormArea_wide {
		max-width: 66.6%;
	}
}

.InputFormArea_input_radio_block {
	margin-top: 16px;
	display: grid;
	grid-template-columns: 1fr;
	grid-row-gap: 16px;
	row-gap: 16px;
}

@media screen and (min-width: 768px) {
	.InputFormArea_input_radio_block {
		column-gap: 25px;
	}
}

.InputFormArea_caption {
	display: flex;
	column-gap: 10px;
}

.InputFormArea_caption .InputFormArea_label {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	color: #333;
}

@media screen and (min-width: 768px) {
	.InputFormArea_caption .InputFormArea_label {
		font-size: 18px;
	}
}

.InputFormArea_sub_text {
	margin-top: 8px;
	font-size: 12px;
	color: #333;
	font-weight: 300;
	line-height: 1.25;
}

@media screen and (min-width: 1024px) {
	.InputFormArea_sub_text {
		font-size: 14px;
	}
}

.InputFormArea_chip {
	width: 34px;
	height: 19px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
}

.InputFormArea_required {
	color: #fff;
	background-color: #f64;
}

.InputFormArea_optional {
	border: 1px solid #aaa;
	color: #999;
	background-color: #fff;
}

.InputFormArea_overlay_container {
	position: relative;
}

.InputFormArea_form_overlay_icon {
	width: 20px;
	height: 20px;
	position: absolute;
	top: calc(50% - 10px);
	right: 15px;
	pointer-events: none;
}

.InputFormArea_input_area .InputFormArea_label {
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.25;
	color: #333;
}

@media screen and (min-width: 768px) {
	.InputFormArea_input_area .InputFormArea_label {
		font-size: 16px;
	}
}

.InputFormArea_input_area .InputFormArea_input {
	width: 100%;
	height: 52px;
	padding-block: 16px;
	padding-left: 15px;
	padding-right: 40px;
	border-radius: 8px;
	border: 1px solid #aaa;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.25;
}

.InputFormArea_input_area .InputFormArea_input:focus {
	border-color: #ff7800;
	outline: none;
	border: 1px solid #ff7800;
}

.InputFormArea_input_area input::placeholder {
	color: #ccc;
}

.InputFormArea_input_text_area {
	width: 100%;
	padding-block: 16px;
	padding-inline: 15px;
	border-radius: 8px;
	border: 1px solid #aaa;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.25;
	outline: none;
	resize: vertical;
}

.InputFormArea_input_text_area:focus,
.InputFormArea_input_text_area:focus-visible {
	outline: none;
	border-color: #ff7800;
	border: 1px solid #ff7800;
}

.InputFormArea_footer_area {
	display: flex;
	align-items: center;
	flex-direction: column;
	row-gap: 24px;
}

@media screen and (min-width: 768px) {
	.InputFormArea_footer_area {
		row-gap: 40px;
	}
}

.InputFormArea_footer_area .InputFormArea_submit_button {
	width: 100%;
	max-width: 345px;
}

.InputFormArea_date_picker_container {
	width: 100%;
}

.InputFormArea_date_picker_wrapper {
	width: 100%;
	border-width: 2px;
	border-color: #f64;
}

.InputFormArea_date_picker {
	cursor: pointer;
	width: 100%;
	height: 52px;
	padding-block: 16px;
	padding-inline: 15px;
	border-radius: 8px !important;
	border: 1px solid #aaa;
	font-weight: 300;
	line-height: 1.25;
	font-size: 16px;
}

.InputFormArea_date_picker:focus-visible {
	outline: none;
	border: 1px solid #ff7800;
}

.InputFormArea_date_picker:focus {
	border-color: #ff7800;
}

.InputFormArea_date_picker .InputFormArea_placeholder {
	color: #ccc;
}

.ThreeStepBar_three_step {
	display: flex;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ThreeStepBar_three_step .ThreeStepBar_step_box {
	display: block;
	position: relative;
	width: 100%;
	height: 56px;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	background-color: #f5f2ee;
	text-align: center;
}

/* 外枠カードのスタイル定義 */
.RadioButton_radio_item {
	width: 100%;
	display: flex;
	align-items: center;
	border-radius: 8px;
	border: 1px solid #aaa;
	background-color: #fff;
	overflow: hidden;
	padding: 0 !important; /* 内側のpaddingをlabel側に移すため0に */
}

/* ラベル自体をカード枠全体に広げる */
.KonohoRadioButton_label {
	display: flex !important;
	align-items: center;
	width: 100% !important;
	height: 100% !important;
	min-height: 52px;
	padding: 0 12px;
	cursor: pointer !important;
}

/* ラベル内部のレイアウト */
.KonohoRadioButton_radio_item {
	display: flex;
	align-items: center;
	width: 100%;
	pointer-events: none; /* クリックイベントを外側のlabelに透過させる */
}

@media screen and (max-width: 767px) {
	.ThreeStepBar_three_step .ThreeStepBar_step_box {
		height: 40px;
	}
}

.ThreeStepBar_three_step .ThreeStepBar_step_box:first-child {
	border-left: 1px solid #ddd;
}

.ThreeStepBar_three_step .ThreeStepBar_step_box:nth-child(2) {
	padding-left: 5px;
}

.ThreeStepBar_three_step .ThreeStepBar_step_box:last-child {
	border-right: 1px solid #ddd;
	padding-left: 2px;
}

.ThreeStepBar_three_step .ThreeStepBar_step_box .ThreeStepBar_main_text {
	margin-top: 7px;
	font-weight: 300;
	line-height: 1.25;
	font-size: 16px;
	color: #666;
}

@media screen and (max-width: 767px) {
	.ThreeStepBar_three_step .ThreeStepBar_step_box .ThreeStepBar_main_text {
		margin-top: 4px;
		font-size: 14px;
	}
}

.ThreeStepBar_three_step .ThreeStepBar_step_box .ThreeStepBar_step_text {
	margin-top: 4px;
	font-weight: 300;
	line-height: 1.25;
	font-size: 14px;
	color: #666;
}

@media screen and (max-width: 767px) {
	.ThreeStepBar_three_step .ThreeStepBar_step_box .ThreeStepBar_step_text {
		margin-top: 0;
		font-size: 11px;
	}
}

.ThreeStepBar_three_step .ThreeStepBar_step_box:not(:last-child):after {
	content: '';
	position: absolute;
	width: 39.5979954929px;
	height: 39.5979954929px;
	border-top: 1px solid #ddd;
	border-right: 1px solid #ddd;
	top: 50%;
	right: 0;
	transform: translateY(-50%) translateX(50%) scaleX(0.7) rotate(45deg);
	background-color: #f5f2ee;
	z-index: 1;
}

@media screen and (max-width: 767px) {
	.ThreeStepBar_three_step .ThreeStepBar_step_box:not(:last-child):after {
		width: 28.2842824949px;
		height: 28.2842824949px;
	}
}

.ThreeStepBar_three_step .ThreeStepBar_step_box.ThreeStepBar_active {
	border-color: #ff7800;
	background-color: #ff7800;
}

.ThreeStepBar_three_step .ThreeStepBar_step_box.ThreeStepBar_active .ThreeStepBar_main_text,
.ThreeStepBar_three_step .ThreeStepBar_step_box.ThreeStepBar_active .ThreeStepBar_step_text {
	font-weight: 700;
	line-height: 1.25;
	color: #fff;
}

.ThreeStepBar_three_step .ThreeStepBar_step_box.ThreeStepBar_active:after {
	border: none;
	background-color: #ff7800;
}

.ConsultReservationInputPage_consult_reservation {
	background-color: #fff;
	padding-block: 28px;
}

@media screen and (min-width: 768px) {
	.ConsultReservationInputPage_consult_reservation {
		padding-block: 40px;
	}
}

@media screen and (min-width: 1024px) {
	.ConsultReservationInputPage_consult_reservation {
		background-color: #fff;
	}
}

.ConsultReservationInputPage_consult_reservation .ConsultReservationInputPage_three_step_wrap {
	margin-top: 48px;
}

@media screen and (min-width: 768px) {
	.ConsultReservationInputPage_consult_reservation .ConsultReservationInputPage_three_step_wrap {
		margin-top: 40px;
	}
}

/* 送信ボタンホバー */
button.CallToActionButton_call_to_action_button.CallToActionButton_large.send_form[style*='background-color: rgb(255, 120, 0)']:hover,
button.CallToActionButton_call_to_action_button.CallToActionButton_large.confirm_form[style*='background-color: rgb(255, 120, 0)']:hover {
	background-color: #fff !important;
	color: rgb(255, 120, 0) !important;
	border: 2px solid rgb(255, 120, 0) !important;
	transition: 0.5s;
}

/****
err words
/****
/* エラー時の入力枠・背景（赤枠・薄赤背景） */
.InputFormArea_overlay_container input.InputFormArea_error_input,
.InputText_input_text .InputText_overlay_container input.InputText_error_input,
.InputFormArea_date_picker.InputFormArea_error_input,
.Pulldown_pull_down.Pulldown_default.Pulldown_error,
.InputFormArea_input_text_area.InputFormArea_error_input,
.InputFormArea_error_input + input.InputFormArea_date_picker.form-control.input {
	border-width: 2px !important;
	border-color: #f64 !important;
	background-color: #fee !important;
}

.InputFormArea_overlay_container input.InputFormArea_error_input:focus,
.InputText_input_text .InputText_overlay_container input.InputText_error_input:focus {
	background-color: #fafafa !important;
}

/* エラーメッセージテキスト全体枠 */
.InputFormArea_error_msg {
	width: 100%;
	margin-top: 8px;
	font-size: 12px;
	font-weight: 300;
	line-height: 1.25;
	color: #f64;
	display: none;
}

@media screen and (min-width: 768px) {
	.InputFormArea_error_msg {
		font-size: 14px;
	}
}

/* エラーアクティブ時のフレックス表示 */
.InputFormArea_error_msg.InputFormArea_active {
	display: flex !important;
	gap: 5px;
	align-items: center;
}

/* エラーメッセージ横のビックリマークアイコン */
.InputFormArea_icon {
	width: 15px;
	height: 15px;
	margin-top: 1px;
	flex-shrink: 0;
}

/*日付カレンダーアイコン制御 */
img.InputFormArea_form_calendar:has(+ noscript + .icon_done_generated) {
	display: none;
}

/* エラーメッセージリストボックス（画面下部）*/
.InputFormArea_error_list {
	margin-bottom: 16px;
}

@media screen and (min-width: 1024px) {
	.InputFormArea_error_list {
		padding-inline: 50px;
	}
}

.InputFormArea_error_list .InputFormArea_error_title {
	margin-bottom: 16px;
	width: 100%;
	display: flex;
	column-gap: 5px;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.25;
	color: #f64;
}

.InputFormArea_error_list .InputFormArea_error_detail {
	padding-inline: 9.5px;
	color: #f64;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.25;
}

@media screen and (min-width: 768px) {
	.InputFormArea_error_list .InputFormArea_error_detail {
		padding-inline: unset;
	}
}

section.InputFormArea_form_body > section:last-of-type {
	margin-bottom: 0;
}

/* ====================================================
   確認画面（ConfirmArea）用 CSS
==================================================== */

/* 確認エリア全体枠 */
.ConfirmArea_confirm_area {
	margin-top: 24px;
	background: #fff;
}

@media screen and (min-width: 1024px) {
	.ConfirmArea_confirm_area {
		margin-top: 40px;
		margin-inline: 50px;
	}
}

/* 確認テーブル枠 */
table.ConfirmArea_confirm_table {
	border-top: none;
	border-right: none;
}

.ConfirmArea_confirm_table {
	width: 100%;
}

@media screen and (min-width: 1024px) {
	.ConfirmArea_confirm_table {
		padding-inline: 100px;
	}
}

/* テーブル行 */
.ConfirmArea_confirm_table .ConfirmArea_row {
	text-align: left;
	display: block;
	margin-top: 24px;
}

@media screen and (min-width: 1024px) {
	.ConfirmArea_confirm_table .ConfirmArea_row {
		margin-top: 28px;
	}
}

/* 項目名（caption）および 入力値テキスト（input_value） */
.ConfirmArea_confirm_table .ConfirmArea_caption,
.ConfirmArea_confirm_table .ConfirmArea_input_value {
	display: block;
	font-size: 16px;
	color: #333;
	font-weight: 300;
	line-height: 1.25;
	background-color: #fff;
	border-left: none;
	text-align: left;
	padding: 0;
}

.ConfirmArea_confirm_table .ConfirmArea_caption {
	border-bottom: none;
}

.ConfirmArea_confirm_table .ConfirmArea_input_value {
	display: block;
	word-break: break-all;
	white-space: pre-wrap;
	width: 100%;
	margin-top: 8px;
	padding-inline: 15px;
	padding-bottom: 4px;
	border-bottom: 1px solid #aaa;
}

/* プライバシーポリシーチェックボックスエリア */
.ConfirmArea_privacy_policy_area {
	display: flex;
	justify-content: center;
	margin-top: 24px;
	margin-bottom: 24px;
}

input#privacy_agree:checked + .PrivacyPolicyAgreementCheckbox_visible_wrapper > label > svg > rect {
	fill: #00aa00;
	stroke: #00aa00;
}

input#privacy_agree:checked + .PrivacyPolicyAgreementCheckbox_visible_wrapper > label > svg > path {
	fill: #fff;
}

@media screen and (min-width: 768px) {
	.ConfirmArea_privacy_policy_area {
		margin-top: 40px;
		margin-bottom: 40px;
	}
}

.PrivacyPolicyAgreementCheckbox_privacy_policy_agreement_checkbox {
	width: -moz-fit-content;
	width: fit-content;
}

.PrivacyPolicyAgreementCheckbox_privacy_policy_agreement_checkbox
	.PrivacyPolicyAgreementCheckbox_visually_hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	white-space: nowrap;
}

.PrivacyPolicyAgreementCheckbox_privacy_policy_agreement_checkbox
	.PrivacyPolicyAgreementCheckbox_visually_hidden:focus-visible
	+ .PrivacyPolicyAgreementCheckbox_visible_wrapper
	.PrivacyPolicyAgreementCheckbox_checkbox_wrapper
	SVG
	rect {
	stroke: #ff7800;
}

.PrivacyPolicyAgreementCheckbox_privacy_policy_agreement_checkbox
	.PrivacyPolicyAgreementCheckbox_visible_wrapper {
	display: grid;
	grid-template-columns: max-content auto;
	grid-column-gap: 12px;
	column-gap: 12px;
	align-items: start;
}

.PrivacyPolicyAgreementCheckbox_privacy_policy_agreement_checkbox
	.PrivacyPolicyAgreementCheckbox_visible_wrapper
	.PrivacyPolicyAgreementCheckbox_checkbox_wrapper {
	display: inline-grid;
	grid-template-rows: 24px;
	align-items: center;
	cursor: pointer;
}

.PrivacyPolicyAgreementCheckbox_privacy_policy_agreement_checkbox
	.PrivacyPolicyAgreementCheckbox_visible_wrapper
	.PrivacyPolicyAgreementCheckbox_text_wrapper {
	display: inline;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.5;
	cursor: pointer;
}

.PrivacyPolicyAgreementCheckbox_privacy_policy_agreement_checkbox
	.PrivacyPolicyAgreementCheckbox_visible_wrapper
	.PrivacyPolicyAgreementCheckbox_text_wrapper
	.PrivacyPolicyAgreementCheckbox_text {
	margin-left: 4px;
	color: #333;
}

.PrivacyPolicyLinkText_privacy_policy_link_text {
	font-size: 16px;
	font-weight: 300;
	line-height: 1.5;
	color: #ff7800;
	text-decoration: none;
}

.PrivacyPolicyLinkText_privacy_policy_link_text .PrivacyPolicyLinkText_text {
	display: inline;
	margin-right: 4px;
}

.PrivacyPolicyLinkText_privacy_policy_link_text svg {
	vertical-align: text-top;
}

/* 送信ボタン枠 */
.ConfirmArea_send_button_wrap {
	text-align: center;
	width: 100%;
}

@media screen and (min-width: 768px) {
	.ConfirmArea_send_button_wrap {
		width: 480px;
		margin-left: auto;
		margin-right: auto;
	}
}

/* 戻るボタン枠 */
.ConfirmArea_back_button_wrap {
	width: 150px;
	margin-top: 20px;
	margin-inline: auto;
	text-align: center;
}

@media screen and (min-width: 1024px) {
	.ConfirmArea_back_button_wrap {
		padding-bottom: 40px;
	}
}

/* 四角い戻るボタンパーツ */
.SquareBackButton_square_back_button {
	width: 100%;
	min-height: 44px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-radius: 8px;
	cursor: pointer;
	padding: 12px 15px;
}

.SquareBackButton_square_back_button.SquareBackButton_primary {
	border: 1px solid #ff7800;
	background-color: #ff7800;
	color: #fff;
}

.SquareBackButton_square_back_button.SquareBackButton_secondary {
	border: 1px solid #ddd;
	background-color: #fff;
	color: #333;
}

.SquareBackButton_square_back_button .SquareBackButton_icon {
	width: 16px;
	height: 16px;
	visibility: hidden;
}

.SquareBackButton_square_back_button .SquareBackButton_icon.SquareBackButton_display {
	visibility: visible;
}

.SquareBackButton_square_back_button .SquareBackButton_text {
	margin-inline: 15px;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.25;
}

.SquareBackButton_square_back_button .SquareBackButton_text.SquareBackButton_no_margin {
	margin-inline: 0;
}

/* 矢印アイコンの回転 */
.ArrowIcon_up {
	transform: rotate(90deg);
}

.ArrowIcon_right {
	transform: rotate(180deg);
}

.ArrowIcon_down {
	transform: rotate(270deg);
}

.ArrowIcon_left {
	transform: rotate(0deg);
}

/* flatpickr デザイン*/
.flatpickr-calendar {
	border-radius: 8px !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
	font-family: inherit !important;
}

.flatpickr-day.flatpickr-disabled {
	color: rgba(57, 57, 57, 0.1) !important;
}

.flatpickr-current-month {
	font-size: 14px !important;
	font-weight: 700 !important;
}

input.numInput.cur-year,
select.flatpickr-monthDropdown-months {
	font-weight: 700 !important;
}

span.flatpickr-weekday {
	color: #333 !important;
	font-weight: 300 !important;
}

.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
	display: none;
}

.flatpickr-months,
.flatpickr-weekdays {
	background-color: #fff1ea !important;
}
span.flatpickr-weekday:nth-child(1) {
	color: #e35 !important;
} /* 日曜日 */
span.flatpickr-weekday:nth-child(7) {
	color: #15b !important;
} /* 土曜日 */

.flatpickr-day {
	border-radius: 50% !important; /* 丸型選択枠 */
	color: #333 !important;
}

.flatpickr-day.selected {
	background: #ff7800 !important;
	border-color: #ff7800 !important;
	color: #fff !important;
}

.flatpickr-footer {
	text-align: center;
	padding: 8px 0 12px;
	border-top: 1px solid #eee;
}

.flatpickr-clear-btn {
	background: none;
	border: none;
	color: #ff7800;
	font-size: 14px;
	text-decoration: underline;
	cursor: pointer;
}

.flatpickr-clear-btn:hover {
	text-decoration: none;
}
