form{
	margin: 6.25rem auto 0;
}
form .ipt_group{
	margin: 0 auto;
}
form .ipt_wrap{
	display: flex;
	justify-content: space-between;
}
form .ipt_col{
	display: flex;
	align-items: center;
	align-items: flex-start;
	position : relative;
	margin-bottom: 3.125rem;
	height: max-content;
}
form .label{
	display : inline-block;
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--black2);
	min-width :5.625rem;
	text-align: right;
	margin-right : 2.5rem;
	font-family: "GmarketSans";
	padding-top: 0.875rem;
}
form .label.ta_center{
	text-align: center;
	padding-top: 0;
}

/* INPUT */
.wv_ipt{
	background-color: transparent;
	font-size: 1.5rem;
	border: none;
	outline: none;
	border-radius: 0;
	outline: 1px solid var(--black2);
	padding: 0 1.875rem;
	width : 21.875rem;
	height: 3.625rem;
	color: var(--black2);
	transition: outline 0.1s ease-in-out;
}
.wv_ipt::placeholder{
	color: var(--black2);
	opacity: 0.3;
}
.wv_ipt:hover,
.wv_ipt:focus{
	outline: 2px solid var(--point);
}
/* INPUT END */

/* SELECT */
.wv_select{
	position: relative;
	width: 100%;
	max-width: 30rem;
}
.wv_select .wv_select_btn{
	position: relative;
	width : 21.875rem;
	height: 3.625rem;
	cursor: pointer;
	padding: 0.75rem 3.25rem 0.75rem 1.875rem;
	border: 1px solid var(--black2);
	font-size: 1.5rem;
	text-align: left;
	transition: border 0.1s ease-in-out;
}
.wv_select .wv_select_btn:focus,
.wv_select .wv_select_btn:hover{
	border: 2px solid var(--point);
}
.wv_select .wv_select_btn::after{
	display: flex;
	justify-content: center;
	align-items: center;
	content: "";
	position: absolute;
	right: 1.625rem; top: 50%;
	transform: translateY(-50%) rotate(180deg);
	width: 1.125rem;
	height: 1.125rem;
	background: url("../images/icons/ico_select_arrow.svg") no-repeat center / cover;
	transition: transform 0.2s ease-in-out;
}
.wv_select.show .wv_select_btn::after{
	transform: translateY(-50%) rotate(0);
}
.wv_select .wv_select_btn:focus::after,
.wv_select .wv_select_btn:hover::after{
	background: url("../images/icons/ico_selected.svg") no-repeat center / cover;
}
.wv_select .wv_select_btn .selected_value{
	opacity: 0.3;
}
.wv_select.val .wv_select_btn .selected_value{
	display : inline-block;
	opacity: 1;
	width : max-content;
}
.wv_select .wv_option_list{
	position: absolute;
	top: 100%; left: 0;
	width: 100%;
	background-color: #fff;
	border: 1px solid rgba(11, 11, 11, 0);
	padding: 0;
	color: #000;
	max-height: 0;
	transform-origin: top;
	transition: max-height 0.3s ease-in-out,
	padding 0.3s ease-in-out,
	border-color 0.3s ease-in-out;
	border-top: none;
	overflow: hidden;
	overflow-y: scroll;
}
.wv_select .wv_option_list::-webkit-scrollbar {width: 3px;}

.wv_select.show .wv_option_list{
	max-height: 30rem;
	padding: 0.938rem 0 1.188rem;
	border-color: rgba(11, 11, 11, 1);;
}
.wv_select .wv_option_list li{
	transition: background-color 0.2s ease-in-out,
	color 0.2s ease-in-out;
	font-size: 1.5rem;
}
.wv_select .wv_option_list li:hover{
	color: var(--point);
}
.wv_select .wv_option_list label{
	display: block;
	width: 100%;
	height: 100%;
	line-height: 2.25rem;
	padding: 0.313rem 1.875rem;
}
.wv_select .wv_option_list input{
	width: 0;
	height: 0;
	position: absolute;
}
.wv_select .wv_option_list input:checked + label{
	color: var(--point);
}
/* SELECT END */

/* CHECKBOX */
input[type=checkbox]{
	width : 0;
	height: 0;
	position: absolute;
	opacity: 0;
	visibility : hidden;
}
.checkbox_wrap{
	border: 1px solid #D4D4D4;
	padding: 3.5rem 3.5rem;
}
.wv_checkbox_all{
	display: flex;
	align-items: center;
	gap: 1rem;
}
.wv_checkbox_all i{
	width : 1.875rem;
	height: 1.875rem;
	border: 2px solid #0B0B0B33;
	background: url("../images/icons/ico_check.svg") no-repeat center / 1.25rem 0.875rem;
}
.wv_checkbox{
	display: flex;
	align-items: center;
	gap: 1rem;
}
.wv_checkbox div{
	display: flex;
	align-items: center;
	gap: 1.25rem;
}
.wv_checkbox i{
	min-width : 1.875rem;
	min-height: 1.875rem;
	background: url("../images/icons/ico_check.svg") no-repeat center / 1.25rem 0.875rem;
}
.checkbox_wrap > div:not(.allCheck_wrap) input:checked + .wv_checkbox i{
	background-image: url("../images/icons/ico_checked.svg");
}
.checkbox_wrap > div.allCheck_wrap input:checked + .wv_checkbox_all i{
	background-image: url("../images/icons/ico_checked.svg");
	border: 2px solid var(--point);
}
.checkbox_wrap .wv_checkbox button{
	border-bottom: 2px solid var(--black1);
}
.checkbox_wrap .sub_check{
	padding-left: 2.875rem;
	gap: 1.625rem;
	display : none;
}
.checkbox_wrap .sub_check.show{
	display : flex;
}
/* CHECKBOX END */

/* BUTTON */
.wv_btn{
	width : 15.625rem;
	height: 4.5rem;
}
/* BUTTON END*/

/* FORM HINT */
.wv_form_hint{
	position : absolute;
	left: 8.125rem;
	bottom: -1.5rem;
	font-size: 0.875rem;
	color: red;
	visibility: hidden;
}
.wv_form_hint.show{
	visibility: visible;
}
.checkbox_wrap .wv_form_hint{
	position : static;
}
/* FORM HINT END */

/* Modal */
.wv_modal{
	position: fixed;
	top: 50%; left: 50%;
	z-index: 1000000;
	transform: translate(-50%, -50%);
	padding: 3.75rem 3.75rem 4.375rem;
	background-color: var(--black2);
	border: 1px solid var(--gray1);
	width: calc(100% - 2.5rem);
	color: var(--white1);
}
.wv_modal.big_modal{
	max-width: 51.625rem;
}
.wv_modal.sm_modal{
	max-width : 38.875rem;
}
.wv_modal p{
	line-height: 1.875rem;
}
.wv_modal p span{
	border-bottom: 2px solid var(--white1);
}
.wv_modal .info_txt{
	opacity: 0.6;
}
.wv_modal .wv_modal_btn{
	display: block;
	width : 9.25rem;
	height: 3.875rem;
	border: 2px solid var(--point);
	color: var(--white1);
	margin: 0 auto;
}
.wv_modal#marketingCheckModal .wv_modal_btn.close_modal{
	width : 1.5rem;
	height: 1.5rem;
	position : absolute;
	right: 1.25rem; top: 1.25rem;
	border: none;
	outline: none;
	background: url("../images/icons/ico_close.svg") no-repeat center / cover;
}
.wv_modal .btn_group .wv_modal_btn{
	margin: 0;
}
.wv_modal .scr_wrap{
	max-height: 19.875rem;
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 3.125rem;
}
.wv_modal .scr_wrap + .btn_wrap{
	padding-right : 3.125rem;
}

.wv_modal#privacyModal,
.wv_modal#marketingModal{
	padding: 3.75rem 0.625rem 4.375rem 3.75rem;
}
.wv_modal#privacyModal h3,
.wv_modal#marketingModal h3{
	padding-right : 3.125rem;
}
.wv_modal .scr_wrap::-webkit-scrollbar {width: 3px;}
.scrollbar_custom::-webkit-scrollbar-thumb {background-color: var(--black4); border-radius: 4px; }
/* Modal END */

/* DIM */
.dim{
	display: none;
	position: fixed;
	left: 0; top: 0;
	z-index: 100000;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.4);
}
/* DIM END */


/* Tab */
.tab_content_wrap{
	position: relative;
	width: 100%;
}
.tab_content_wrap .tab_content{
	display: none;
	/* position: absolute; */
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.tab_content_wrap .tab_content.active{
	display: block;
}
/* Tab END */


@media all and (max-width: 1024px){
	.wv_select .wv_select_btn,
	.wv_ipt{
		width : 206px;
	}
	.checkbox_wrap{
		padding: 20px;
	}
	.wv_checkbox{
		align-items: flex-start;
	}
	.wv_checkbox div{
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
	}
	.wv_checkbox i{
		margin-top: 4px;
	}
	.checkbox_wrap .sub_check .wv_checkbox i{
		margin-top: 0;
	}
}

@media all and (max-width: 768px){
	form{
		margin-top: 46px;
	}
	form .ipt_wrap{
		flex-direction: column;
	}
	form .ipt_group{
		max-width : 100%;
	}
	form .label{
		font-size: 20px;
		line-height: 30px;
		min-width : 58px;
		margin-right : 16px;
		padding-top: 5px;
	}
	.wv_ipt{
		width : calc(100% - 74px);
	}
	.wv_select{
		max-width : calc(100% - 74px);
	}
	.wv_select .wv_select_btn{
		width : 100%;
		height: 36px;
		padding: 0 15px;
		font-size: 16px;
	}
	.wv_select .wv_select_btn::after{
		right : 15px;
		width : 11px;
		height: 11px;
	}
	.wv_select.show .wv_option_list{
		padding: 7px 0 12px;
	}
	.wv_select .wv_option_list label{
		padding: 3px 15px;
		font-size: 16px;
		line-height: 24px;
	}
	.wv_ipt{
		font-size: 16px;
		padding: 0 15px;
		height: 36px;
	}
	form .ipt_col{
		margin-bottom: 27px;
	}
	form .ipt_wrap:last-child .ipt_col:last-child{
		margin-bottom: 0;
		width : 100%;
	}
	form .ipt_wrap:last-child .ipt_col:last-child div{
		width : 100%;
		max-width : 100%;
	}
	.wv_form_hint{
		left: 74px;
		bottom: -19px;
		font-size: 12px;
	}
	.tractor_select ~ .wv_form_hint{
		bottom: 0;
	}
	.tractor_select.active ~ .wv_form_hint{
		bottom: -19px;
	}
	.checkbox_wrap{
		margin-top: 66px;
		padding: 30px 18px 42px;
	}
	.wv_checkbox_all{
		gap: 8px;
	}
	.wv_checkbox_all i{
		width : 20px; height: 20px;
		background-size: 19px 9px;
		margin-top: -5px;
	}
	.wv_checkbox{
		line-height: 24px;
		gap: 8px;
	}
	.wv_checkbox i{
		margin-top : 0px;
		min-width : 20px; min-height: 20px;
		background-size: 19px 9px;
	}
	.wv_btn{
		width : 166px;
		height: 44px;
	}

	.wv_modal{
		width : calc(100% - 40px);
		padding: 40px 20px;
	}
	.wv_modal#privacyModal,
	.wv_modal#marketingModal{
		padding: 40px 10px 50px 20px;
	}
	.wv_modal#privacyModal h3,
	.wv_modal#marketingModal h3,
	.wv_modal .scr_wrap + .btn_wrap,
	.wv_modal .scr_wrap{
		padding-right : 10px;
	}
	.wv_modal .scr_wrap{
		max-height: 320px;
	}
	.wv_modal .wv_modal_btn{
		width : 95px;
		height: 45px;
	}
	.wv_modal h3{
		line-height: 20px;
	}
	.wv_modal p{
		line-height: 22px;
	}
	.wv_modal .info_txt{
		line-height: 18px;
	}

	.checkbox_wrap .sub_check{
		padding-left: 28px;
		display: grid;
		grid-template-columns: repeat(2, max-content);
		column-gap: 20px;
		row-gap: 8px;
	}
	.checkbox_wrap .sub_check .wv_checkbox{
		align-items: center;
	}
	.checkbox_wrap .sub_check.show{
		display : grid;
	}

	.wv_modal table th, .wv_modal table td{
		height: 44px;
		padding: 6px;
	}

	.wv_modal#marketingCheckModal .wv_modal_btn.close_modal{
		width : 18px;
		height: 18px;
		position : absolute;
		right: 10px; top: 10px;
	}
}