/* 団体予約フォーム (page-group.php)
-------------------------------------------------------- */
.group_form .g_hide {
	display: none !important;
}
.group_form .g_guide_lead {
	font-size: 1.8rem;
	line-height: 1.6;
	margin-bottom: 32px;
	padding: 16px 20px;
	border: solid 2px #BA1700;
}
.group_form .g_guide_lead a {
	text-decoration: underline;
}
.group_form .g_guide {
	margin-bottom: 32px;
}
.group_form .g_guide_title {
	font-size: 2rem;
	margin-bottom: 12px;
}
.group_form .g_guide_list > li {
	padding-left: 1em;
	text-indent: -1em;
	line-height: 1.8;
}
.group_form .g_guide_sub {
	margin-top: 4px;
	padding-left: 1em;
}
.group_form .g_guide_note {
	margin-top: 8px;
	line-height: 1.8;
}
.group_form .contact_wrap .num_wrap + .num_wrap {
	margin-top: 8px;
}

#mailformpro .g_sec_title {
	font-size: 2.4rem;
	margin: 56px 0 16px;
	padding-left: 12px;
	border-left: solid 6px #BA1700;
	line-height: 1.4;
}
#mailformpro > .g_sec_title:first-child {
	margin-top: 0;
}
#mailformpro .g_sec_lead {
	margin: -4px 0 16px;
	line-height: 1.8;
}
#mailformpro .g_note {
	font-size: 1.4rem;
	color: #bdbdbd;
	margin-top: 8px;
	line-height: 1.6;
}

/* ラジオ・チェックボックス */
#mailformpro .g_choices {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
}
#mailformpro .g_choices_col {
	flex-direction: column;
	padding-top: 12px;
}
#mailformpro label.g_check,
#mailformpro label.g_check.mfp_checked,
#mailformpro label.g_check.mfp_not_checked {
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background: none;
	box-shadow: none;
	white-space: normal;
	cursor: pointer;
}
#mailformpro .g_check input:checked ~ .radio::before,
#mailformpro .g_check input:checked ~ .checkbox::before {
	opacity: 1;
}
#mailformpro .g_check input:disabled ~ .radio,
#mailformpro .g_check input:disabled ~ .checkbox {
	opacity: .4;
	cursor: default;
}
#mailformpro .g_check input[name="旅行会社担当者"]:disabled ~ .radio {
	opacity: 1;
	cursor: pointer;
}
/* クーポン精算の旅行会社選択は、ラジオボタンの下に表示 */
#mailformpro .g_coupon {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}
#mailformpro .g_coupon select {
	margin-left: 22px;
}
#mailformpro .g_coupon select:disabled {
	background-color: #ededed;
	opacity: .6;
	cursor: default;
}
#mailformpro .g_other {
	margin-top: 12px;
}

/* 横並びの入力 */
#mailformpro .g_inline {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 12px;
}
#mailformpro .g_inline + input {
	margin-top: 12px;
}
#mailformpro select.g_select_s {
	width: auto !important;
	min-width: 110px;
}
#mailformpro .g_time_name {
	margin-bottom: 8px;
}

/* 人数 */
#mailformpro .g_counts {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 12px 24px;
}
#mailformpro .g_counts li {
	display: flex;
	align-items: center;
	gap: 8px;
}
#mailformpro .g_count_label {
	flex: 1;
	font-size: 1.4rem;
}
#mailformpro input[data-g-number] {
	text-align: center;
	color: #535353;
	font-size: 14px;
	width: 80px !important;
	background: #ededed;
	border: solid 1px #949494;
	border-radius: 7px;
	padding: 8px 10px;
	flex: 0 0 80px;
	-moz-appearance: textfield;
}
#mailformpro .g_count_group {
	margin: 16px 0 8px;
}
#mailformpro .g_count_group:first-child {
	margin-top: 0;
}

/* 入力補助ボタン */
#mailformpro .g_copy {
	display: inline-block;
	margin-top: 10px;
	padding: 6px 14px;
	font-size: 1.3rem;
	color: #fff;
	background: transparent;
	border: solid 1px #fff;
	border-radius: 4px;
}
#mailformpro .g_copy:hover {
	opacity: .8;
}

/* ステップ表示 */
.group_form .g_steps {
	display: flex;
	margin-bottom: 40px;
	counter-reset: g_step;
}
.group_form .g_steps li {
	flex: 1;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	color: #8a8a8a;
	padding: 10px 4px 10px 14px;
	background: #2a2a2a;
	position: relative;
	line-height: 1.4;
	display: flex;
	align-items: center;
	justify-content: center;
	counter-increment: g_step;
	clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%, 12px 50%);
}
.group_form .g_steps li:first-child {
	clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%);
	padding-left: 4px;
}
.group_form .g_steps li + li {
	margin-left: -10px;
}
.group_form .g_steps li::before {
	content: counter(g_step) ".";
	margin-right: 4px;
}
.group_form .g_steps li.is_done {
	color: #fff;
	background: #5a1a12;
}
.group_form .g_steps li.is_current {
	color: #fff;
	background: #BA1700;
}

/* メールフォームプロのCSS (mailformpro.css) のボタンの影を打ち消す */
#mailformpro button,
#mailformpro button:hover,
.group_form div.mfp_buttons button,
.group_form div.mfp_buttons button:hover {
	text-shadow: none;
	box-shadow: none;
}

/* 確認画面 */
.group_form div#mfp_phase_confirm h4 {
	font-size: 2.4rem;
	text-align: left;
	margin-bottom: 16px;
	padding: 0 0 0 12px;
	border-left: solid 6px #BA1700;
}
.group_form table#mfp_confirm_table {
	border-top: solid 4px #111;
}
.group_form table#mfp_confirm_table tr.mfp_colored,
.group_form table#mfp_confirm_table tr.mfp_achroma {
	background: transparent;
}
.group_form table#mfp_confirm_table tr th,
.group_form table#mfp_confirm_table tr td {
	font-size: 1.5rem;
	border-top: none;
	border-bottom: solid 2px #111;
	padding: 14px 0;
	vertical-align: top;
}
.group_form table#mfp_confirm_table tr th {
	width: 280px;
	white-space: normal;
	padding-right: 24px;
}
.group_form div.mfp_buttons {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: 16px 24px;
	margin-top: 40px;
	font-size: 0;
}
.group_form div.mfp_buttons button {
	font-size: 1.6rem;
	font-weight: bold;
	color: #fff;
	text-shadow: none;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
	cursor: pointer;
}
.group_form div.mfp_buttons button#mfp_button_send {
	width: 100%;
	max-width: 374px;
	height: 74px;
	font-size: 1.8rem;
	border: solid 4px #BA1700;
}
.group_form div.mfp_buttons button#mfp_button_send:hover {
	background: #BA1700;
}
.group_form div.mfp_buttons button#mfp_button_cancel {
	padding: 12px 24px;
	border: solid 1px #949494;
}
.group_form div.mfp_buttons button#mfp_button_cancel:hover {
	opacity: .7;
}

@media screen and (max-width: 768px) {
	.group_form .g_steps {
		margin-bottom: 24px;
	}
	.group_form .g_steps li {
		font-size: 1.3rem;
	}
	.group_form div.mfp_buttons {
		flex-direction: column;
	}
	.group_form table#mfp_confirm_table tr th,
	.group_form table#mfp_confirm_table tr td {
		display: block;
		width: 100%;
	}
	.group_form table#mfp_confirm_table tr th {
		border-bottom: none;
		padding: 12px 0 0;
	}
	.group_form table#mfp_confirm_table tr td {
		padding: 4px 0 12px;
	}
	#mailformpro .g_sec_title {
		font-size: 2rem;
		margin-top: 40px;
	}
	#mailformpro .g_choices {
		flex-direction: column;
	}
	#mailformpro .g_counts {
		grid-template-columns: 1fr;
	}
}
