.sec {
	margin-top: 100px;
}
.tab {
	gap: 30px;
	padding: 30px 0;
	margin: 100px 0 -100px;
}
.tab button {
	font-size: 32px;
	padding: 20px 40px;
	background: #FFFFFF;
	border: 1px solid #000000;
	border-radius: 50px;
	box-sizing: border-box;
}
.tab button.active {
	background: #000;
	color: #fff;
}
.tab_cont > div {
	height: 0;
	overflow: hidden;
	z-index: -1;
	visibility: hidden;
}
.tab_cont > div.on {
	height: auto;
	z-index: 1;
	visibility: visible;
}

.t_scroll {
	overflow-x: auto;
}
.t_scroll > table {
    min-width: 1030px;
}


.sec > h3 {
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 30px;
}
.sec .form table tfoot td {
	padding: 0;
}
.sec .form table tfoot .flex > div {
	flex: 1;
	text-align: center;
	padding: 23px 0;
}
.sec .form table tfoot .flex > div.th {
	background: #F9F9F9;
	font-size: 20px;
	font-weight: 500;
}
.sec .form table tfoot .flex > div.td {
	font-size: 24px;
	font-weight: 700;
}
.sec .form table td input[type=text],
.sec .form table td input[type=password] {
	display: block;
    width: 100%;
	font-size: 20px;
}
.sec .form table td .check > div {
	margin-right: 20px;
}
.sec .form table td .check > div input[type=radio] + label {
	font-size: 20px;
}
.sec .form table td .check > div input[type=radio] + label:before {
	top: 3px;
}


.hg_sec .form table thead th {
	padding: 26px 0;
}
.hg_sec .form table tbody {
	position: relative;
}
.hg_sec .form table tr td.bl {
	border-left: 1px dashed #000;
	font-size: 20px;
	font-weight: 500;
	text-align: center;
}
.hg_sec .form table tr td input[type=radio] + label:before {
	top: 3px;
}
.hg_sec .form input[type=checkbox] {
	display: none;
}
.hg_sec .form input[type=checkbox] + label {
	position: relative;
}
.hg_sec .form input[type=checkbox] + label span {
	display: block;
}
.hg_sec .form input[type=checkbox] + label:before {
	content: '';
	display: inline-block;
	vertical-align: -5px;
	background: #FFF;
	border: 1px solid #777;
	width: 24px;
	height: 24px;
	border-radius: 2px;
	margin-right: 6px;
	box-sizing: border-box;
}
.hg_sec .form input[type=checkbox]:checked + label:before {
	border: 1px solid #6F00A3;
}
.hg_sec .form input[type=checkbox]:checked + label:before {
	background: #6F00A3 url("../images/check.svg")no-repeat 50% 50% / 16px;
}
.hg_sec .form input[type=checkbox]:disabled + label,
.hg_sec .form input[type=radio]:disabled + label {
	color: #777;
	pointer-events: none;
}
.hg_sec .form label {
	width: 100%;
	font-size: 20px;
	box-sizing: border-box;
}
.hg_sec .form label .flex {
	align-items: center;
	justify-content: space-between;
	font-size: 20px;
}
.hg_sec .form label .flex strong {
	font-weight: 500;
}
.hg_sec .form label .flex em {
	position: relative;
	background: #FF4D00;
	color: #fff;
	font-weight: 700;
	padding: 4px 15px 4px 5px;
	margin-left: 18px;
	font-size: 16px;
}
.hg_sec .form label .flex em:before {
    content: '';
    position: absolute;
    top: 0;
    left: -22px;
    display: block;
    width: 0;
    height: 0;
    border-bottom: 14px solid transparent;
    border-top: 14px solid transparent;
    border-left: 14px solid transparent;
    border-right: 8px solid #FF4D00;
}
.hg_sec .form label .flex em:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0px;
    display: block;
    width: 0;
    height: 0;
    border-bottom: 14px solid transparent;
    border-top: 14px solid transparent;
    border-left: 14px solid transparent;
    border-right: 8px solid #fff;
}
.hg_sec .form label .flex .txt_o {
	font-weight: 700;
}
.hg_sec .form label .flex .flex {
	flex: 1;
    justify-content: flex-start;
}
.hg_sec .form label .flex .flex > div {
	margin-right: 20px;
}
.hg_sec .form .calendar > div {
	flex: 1;
	max-width: 260px;
}
.hg_sec .form .calendar > div span {
	font-size: 20px;
	margin-right: 10px;
}
.hg_sec .form .calendar > div input {
	flex: 1;
	font-size: 20px;
	color: #A4A4A4;
}
.hg_sec .form .calendar > div input.active {
	color: #000;
}
.hg_sec .form .calendar > div:first-child input {
    background: url("../images/ico-calendar.svg")no-repeat 0 50% / auto 100%;
    padding-left: 35px;
}
.hg_sec .form .calendar > strong {
	font-size: 20px;
	padding: 0 30px;
	font-weight: 500;
}

.list_form .form > div {
	background: #F9F9F9;
    font-size: 20px;
    font-weight: 500;
    padding: 20px;
	border-bottom: 1px dashed #000;
	margin-bottom: 0!important;
}
.list_form .form > div:first-child {
	border-top: 1px solid #000;
}
.list_form .form > div:last-child {
	border-bottom: 1px solid #000;
}



.sec4 .form table td {
	border-right: 1px dashed #000;
	font-size: 20px;
	text-align: center;
	padding: 20px 5px;
	word-break: keep-all;
}
.sec4 .form table td.bl_none {
	border-right: 0;
}
.sec4 .form table .disabled {
	opacity: .5;
}
.sec4 .form table .disabled input[type=checkbox],
.sec4 .form table .disabled input[type=checkbox] + label {
	pointer-events: none;
}
.sec4 .form table td .time {
	display: none;
}
.sec4 .form table td.gx_payment {
	width: 85px;
}
.sec4 .form table td.gx_price strong {
	display: block;
	font-weight: 500;
}
.sec4 .form table td.gx_price p {
	margin-top: 10px;
	font-size: 14px;
}
.sec4 .form table td.gx_price p.hidden {
	display: none;
}
.sec4 .form table .physical input[type=checkbox] + label span {
	display: inline-block;
}
.sec4 .form table .physical input[type=checkbox] + label span.mobile {
	display: none;
}



.sec5 .form > div {
	margin-bottom: 30px;
}
.sec5 .form > div:last-child {
	margin-bottom: 50px;
}
.sec5 .form input[type=checkbox]:disabled + label, 
.sec5 .form input[type=radio]:disabled + label {
	color: #000;
	pointer-events: none;
	cursor: text;
} 
.sec5 .form input[type=radio] + label:before,
.sec5 .form input[type=radio] + label:after {
	display: none;
}
.sec5 .form input[type=checkbox] + label:before {
	display: none;
}
.sec5 .form input[type=radio] + label {
	padding-left: 0;
}
.sec5 .form select {
	pointer-events: none;
}
.sec5 .form table tr td.bl,
.sec5 .form .gx_table td.gx_payment {
	width: 270px;
	text-align: center;
}
.sec5 .form .gx_table .time {
	display: none;
}
.sec5 .form .gx_table td {
    border-right: 1px dashed #000;
    font-size: 20px;
    text-align: center;
    padding: 20px;
    word-break: keep-all;
}
.sec5 .form .gx_table td:last-child {
	border-right: 0;
}
.sec5 .form .gx_table td.gx_price strong {
    display: block;
    font-weight: 500;
}
.sec5 .form .gx_table td.gx_price p {
    margin-top: 10px;
    font-size: 14px;
}
.sec5 .form .gx_table tfoot td {
	padding: 0;
}

.sec5 .form .del_btn {
	position: absolute;
    top: 50%;
    right: 40px;
    transform: translateY(-50%);
	display: block;
	width: 21px;
	height: 21px;
	background: url("../images/del_btn.svg")no-repeat 50% 50% / 100%;
}
.sec5 .total_price {
	border-top: 2px solid #6F00A3;
	border-bottom: 2px solid #6F00A3;
}
.sec5 .total_price > div {
	flex: 1;
	text-align: center;
	font-size: 24px;
	font-weight: 700;
	padding: 24px 0;
}
.sec5 .total_price > div.th {
	background: #F9F9F9;
	font-weight: 500;
	font-size: 20px;
}





.agree_form {
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
}
.agree_form .title {
	background: #F9F9F9;
	font-size: 32px;
	font-weight: 700;
	padding: 30px;
}
.agree_form .box {
	padding: 40px;
	border-bottom: 1px dashed #000000;
}
.agree_form .box:last-child {
	border-bottom: 0;
}
.agree_form .box1 > div:nth-child(4) ~ div {
	display: none;
}
.agree_form .box1.open > div:nth-child(4) ~ div {
	display: block;
}
.agree_form .box1 .more_btn {
	display: block;
    width: 210px;
    height: 45px;
    border-radius: 10px;
    margin: 0 auto;
}
.agree_form .box1 .more_btn:after {
	content: '더보기';
}
.agree_form .box1.open .more_btn:after {
	content: '접기';
}
.agree_form .box > div {
	margin-bottom: 30px;
}
.agree_form .box > div:last-child {
	margin-bottom: 0px;
}
.agree_form .box > div h3 {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 16px;
}
.agree_form .box > div p {
	font-size: 20px;
	line-height: 1.5;
}
.agree_form .box > div ul {
	font-size: 20px;
	line-height: 1.5;
	padding: 20px 0;
}
.agree {
	margin: 30px 0;
	background: rgba(249, 249, 249, 0.7);
	border-top: 1px dashed #000;
	border-bottom: 1px dashed #000;
	justify-content: center;
	align-items: center;
	padding: 40px 0;
	font-size: 20px;
}
.agree .check input {
	position: absolute;
	display: block;
	width: 1px;
	height: 1px;
	opacity: 0;
	visibility: hidden;
}
.agree .check input + label {
	position: relative;
}
.agree .check input + label:before {
	content: '';
	display: inline-block;
	vertical-align: -5px;
	background: #FFF;
	border: 1px solid #777;
	width: 24px;
	height: 24px;
	border-radius: 2px;
	margin-right: 6px;
	box-sizing: border-box;
}
.agree .check input:checked + label:before {
	border: 1px solid #6F00A3;
	background: #6F00A3 url("../images/check.svg")no-repeat 50% 50% / 16px;
}
.agree span {
	margin-left: 80px;
}

.taC button {
	display: block;
	width: 310px;
	height: 65px;
	border-radius: 3px;
	font-size: 20px;
	font-weight: 600;
	margin: 0 auto;
}






@media screen and (max-width: 1600px){
	table colgroup {
		display: none;
	}
	table tbody th:first-child {
		width: 120px;
	}
	
	.tab {
		gap: 20px;
		margin: 70px 0 -80px;
	}
	.tab button {
		font-size: 26px;
	}
	
}
@media screen and (max-width: 1280px){
	.sec {
		margin-top: 80px;
	}
	.tab button {
		font-size: 22px;
		padding: 15px 30px;
	}
	
	.hg_sec .form .calendar > div span {
		font-size: 18px;
	}
	.sec .form table td select,
	.sec .form table td input[type=text], 
	.sec .form table td input[type=password] {
		font-size: 18px;
	}
	
	.agree_form .title {
		font-size: 28px;
	}
	.agree_form .box > div h3 {
		font-size: 22px;
	}
	.agree_form .box > div p {
		font-size: 18px;
	}
	.agree_form .box > div ul {
		font-size: 18px;
	}
	.agree {
		font-size: 18px;
	}
}
@media screen and (max-width: 1024px){
	.sec {
		margin-top: 60px;
	}
	.sec > h3 {
		font-size: 24px;
		margin-bottom: 20px;
	}
	.tab {
		gap: 10px;
		padding: 20px 0;
		margin: 20px 0 -50px;
	}
	.tab button {
		font-size: 16px;
		padding: 10px 24px;
	}
	
	.t_scroll > table {
		min-width: 840px;
	}
	
	.sec .form table td .check > div input[type=radio] + label {
		font-size: 16px;
	}
	.sec .form table td .check > div input[type=radio] + label:before {
		top: 0px;
	}
	.sec .form table td input[type=text], 
	.sec .form table td input[type=password] {
		font-size: 16px;
	}
	.sec .form table tfoot .flex > div.th {
		font-size: 16px;
	}
	.sec .form table tfoot .flex > div.td {
		font-size: 18px;
	}
	
	
	
	.hg_sec .form table td {
		padding: 15px;
	}
	.hg_sec .form table tbody th:first-child {
		width: 100px;
	}
	.hg_sec .form label,
	.hg_sec .form label .flex {
		font-size: 16px;
	}
	.hg_sec .form label .flex em {
		font-size: 14px;
	}
	.hg_sec .form label .flex em:before {
		border-bottom: 13px solid transparent;
		border-top: 13px solid transparent;
		border-left: 13px solid transparent;
		border-right: 9px solid #FF4D00;
	}
	.hg_sec .form label .flex em:after {
		border-bottom: 13px solid transparent;
		border-top: 13px solid transparent;
		border-left: 13px solid transparent;
		border-right: 9px solid #fff;
	}
	.hg_sec .form table tr td.bl {
		font-size: 16px;
	}
	.hg_sec .form table tr td input[type=radio] + label:before {
		top: 0px;
	}
	.hg_sec .form table td select {
		font-size: 16px;
	}
	.list_form .form > div {
		font-size: 16px;
	}
	.hg_sec .form .calendar > div span {
		font-size: 16px;
	}
	.hg_sec .form .calendar > strong {
		font-size: 16px;
		padding: 0 15px;
	}
	.hg_sec .form .calendar > div:first-child input {
		padding-left: 27px;
	}
	
	
	.sec1 .form table td:after {
		width: 70px;
	}
	
	
	.sec4 .form table td {
		font-size: 16px;
	}
	
	
	.sec5 .form table tr td.bl, 
	.sec5 .form table tr td.bl, .sec5 .form .gx_table td.gx_payment {
		width: 90px;
		font-size: 16px;
	}

	.sec5 .form .gx_table td {
		font-size: 16px;
	}
	.sec5 .form .del_btn {
		width: 17px;
		height: 17px;
		right: 10px;
	}
	
	
	.sec5 .total_price > div.th {
		font-size: 18px;
	}
	.sec5 .total_price > div {
		font-size: 20px;
	}
	
	
	.agree_form .title {
		font-size: 24px;
		padding: 20px;
	}
	.agree_form .box {
		padding: 30px;
	}
	.agree_form .box1 .more_btn {
		width: 160px;
		height: 40px;
		font-size: 16px;
	}
	.agree_form .box > div {
		margin-bottom: 20px;
	}
	.agree_form .box > div h3 {
		font-size: 18px;
		margin-bottom: 10px;
	}
	.agree_form .box > div p {
		font-size: 16px;
	}
	.agree_form .box > div ul {
		font-size: 16px;
	}
	.agree {
		font-size: 16px;
	}
	.agree span {
		margin-left: 0;
		width: 100%;
		text-align: center;
		margin-top: 10px;
	}
}
@media screen and (max-width: 768px){
	.hg_sec .form table tbody th:first-child {
		width: 50px;
		word-break: keep-all;
	}
	
	.hg_sec .form .calendar > strong {
		width: 100%;
		padding: 5px 0;
		text-align: center;
	}
	
	
	.taC button {
		width: 240px;
		height: 50px;
		font-size: 18px;
	}
}
@media screen and (max-width: 480px){
	.tab {
		margin: 20px 0 -30px;
	}
	.tab button {
		font-size: 14px;
		padding: 8px 0;
		width: calc(50% - 5px);
		text-align: center;
	}
	
	.hg_sec .form label .flex em {
		padding: 4px 13px 4px 0px;
		margin-left: 10px;
		font-size: 12px;
	}
	.hg_sec .form label .flex em:before {
		left: -11px;
		border-bottom: 12px solid transparent;
		border-top: 12px solid transparent;
		border-left: 2px solid transparent;
	}
	.hg_sec .form label .flex em:after {
		border-bottom: 12px solid transparent;
		border-top: 12px solid transparent;
		border-left: 2px solid transparent;
	}
	.hg_sec .form label .flex > div {
		width: 100%;
	}
	.hg_sec .form label .flex .flex {
		flex: none;
	}
	.hg_sec .form table td select {
		height: 35px;
		margin: 8px 0;
	}
	
	
	.sec5 .form table tbody th:first-child {
		width: 90px;
		padding: 0 5px;
	}
	.sec5 .form .gx_table td {
		padding: 20px 5px;
	}
}
@media screen and (max-width: 380px){
	.sec {
		margin-top: 40px;
	}
	.sec > h3 {
		font-size: 20px;
	}
	
	.sec .form table td .check > div input[type=radio] + label {
		font-size: 14px;
	}
	.sec .form table td .check > div input[type=radio] + label:before {
		top: -1px;
	}
	.sec .form table td input[type=text], 
	.sec .form table td input[type=password] {
		font-size: 14px;
	}
	.sec .form table tfoot .flex > div {
		padding: 18px 0;
	}
	.sec .form table tfoot .flex > div.th {
		font-size: 14px;
	}
	.sec .form table tfoot .flex > div.td {
		font-size: 16px;
	}
	
	
	.hg_sec .form table thead th {
		padding: 20px 0;
		font-size: 14px;
	}
	.hg_sec .form table tbody th:first-child {
		width: 40px;
		font-size: 14px;
		padding: 0 5px;
	}
	.hg_sec .form table td {
		padding: 10px;
		font-size: 14px;
	}
	.hg_sec .form label,
	.hg_sec .form label .flex {
		font-size: 14px;
	}
	.hg_sec .form label .flex em {
		margin-left: 0;
		display: block;
	}
	.hg_sec .form table td select {
		font-size: 14px;
	}
	.hg_sec .form .calendar > strong {
		font-size: 12px;
	}
	.hg_sec .form table tr td.bl {
		width: 50px;
		font-size: 14px;
	}
	.list_form .form > div {
		font-size: 14px;
	}
	.hg_sec .form .calendar > div span {
		font-size: 14px;
	}
	.hg_sec .form .calendar > strong {
		font-size: 14px;
	}
	.t_scroll > table {
		min-width: 750px;
	}
	
	
	.sec1 .form table td:before {
		width: 95px;
	}
	.sec1 .form table td:after {
		font-size: 14px;
	}
	
	
	
	
	
	.sec4 .form table thead th:before,
	.sec4 .form table thead th:after {
		font-size: 14px!important;
	}
	.sec4 .form table td {
		font-size: 14px;
	}
	.sec4 .form table tbody th:first-child input[type=checkbox] + label {
		font-size: 14px;
	}
	.sec4 .form table td.gx_price strong {
		font-size: 16px;
	}
	.sec4 .form table td.gx_price p {
		font-size: 12px;
	}
	.sec4 .form table td.count em {
		display: none;
	}
	.sec4 .form input[type=checkbox] + label:before {
		display: block;
		margin: 0 auto 5px;
	}
	
	
	.agree_form .title {
		font-size: 20px;
		padding: 20px 15px;
	}
	.agree_form .box {
		padding: 15px;
	}
	.agree_form .box > div h3 {
		font-size: 16px;
	}
	.agree_form .box > div p {
		font-size: 14px;
	}
	.agree_form .box > div ul {
		font-size: 14px;
	}
	.agree {
		font-size: 14px;
	}
	.agree .check input + label {
		display: block;
		width: 75%;
		margin: 0 auto;
		padding-left: 32px;
	}
	.agree .check input + label:before {
		position: absolute;
		top: 2px;
		left: 0;
	}
}