
form { margin:0; }
p { margin-top: 0px; margin-bottom: 0px }
td,table {font-size:1rem; color: var(--basic); line-height: 150%;}

select {font-size:1rem; color:var(--basic); -webkit-appearance: none; -webkit-border-radius: 0; border:0; padding:0 10px; box-sizing:border-box; width: 100%; height: 30px !important; line-height:30px !important; outline:none; background-position: right center !important;}
.input {font-size:1rem; color:var(--basic); -webkit-appearance: none; -webkit-border-radius: 0; border:0; padding:0 10px; box-sizing:border-box; width: 100%; height: 30px !important; line-height:30px !important; outline:none;}
.input.input_l{width: 100%;}
.textarea {font-size:1rem; color:var(--basic); border:0; padding:10px; box-sizing:border-box; width: 100%; height: 130px; outline:none; -webkit-appearance: none; -webkit-border-radius: 0;}
.textarea::placeholder{color:rgba(42,38,35,.3);}


/* 첨부파일 */
.filebox {display:flex; position:relative; width:50%; box-sizing:border-box;}
.filebox input[type="file"] {position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0;}
.filebox label {display:inline-block; flex-shrink:0; width:100px; height:45px !important; color:var(--white); background:var(--black); cursor:pointer; font-size:0.889rem; line-height:45px !important; font-weight:500; box-sizing:border-box; transition:background 0.3s linear; text-align:center; letter-spacing:var(--letter-spacing-button); padding:0;}
.filebox label:hover {background:var(--main);}
.filebox .upload-name {width:calc(100% - 100px); height:45px; box-sizing:border-box; padding:0 15px; font-size:0.889rem; line-height:43px; color:var(--basic); display:block; border:1px solid var(--border); border-left:0; text-overflow:ellipsis; overflow:hidden; white-space:nowrap;}




/* 입력항목 */
.form_table{width:100%; text-align:left; display: flex; flex-direction: column; gap: 4px;}
.form_table dl{background:var(--white); border-radius: var(--borderR5); display: flex; gap: 30px; box-sizing: border-box; padding:16px 20px;}
.form_table dl dt{display: flex; flex-direction: column; justify-content: center; width: 130px;}
.form_table dl dt p{font-weight: 600; color:var(--black); }
.form_table dl dt span{color: var(--main);}
.form_table dl dd{flex: 1; display: flex; flex-wrap: wrap;}
.form_table .hipen{display: inline-block; width: 20px; text-align: center;}
.form_table .input_email{width: calc((100% - 20px)/3);}
.form_table .select_email{border-left: 1px solid var(--border); width: calc((100% - 20px)/3);}
.form_table .norobot_img{padding: 0;}
.form_table .vcode{width: calc(100% - 80px);}
.form_table .sub_txt{font-size:0.889rem; padding: 5px 0 0; letter-spacing: var(--letter-spacing-default); line-height: 150%;}
.form_table .sub_txt a{display: inline-block; letter-spacing: inherit; line-height: inherit; transition: all .3s;}
.form_table .sub_txt a:hover{color: var(--black);}

.spam_check{margin-top: 20px;}

/* 동의 · 버튼 */
.form_b{display:flex; align-items:center; justify-content:space-between; gap:20px; position:relative; margin-top:30px;}
.agree_con{flex:1; min-width:0;}
.privacy_head{display:flex; align-items:center; gap:6px; flex-wrap:wrap;}
.privacy_head .agree_checkbox{appearance:none; -webkit-appearance:none; -moz-appearance:none; width:24px; height:24px; margin:0 2px 0 0; border:1px solid #bbb; border-radius:var(--borderR5); background:var(--white); box-sizing:border-box; cursor:pointer; flex-shrink:0; vertical-align:middle;}
.privacy_head .agree_checkbox:checked{border-color:var(--main); background-color:var(--main); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); background-size:16px 16px; background-position:center; background-repeat:no-repeat;}
.privacy_head .checkbox_wrap{font-size:1rem; font-weight:400; line-height:166.67%; letter-spacing:var(--letter-spacing-default); color:var(--black); opacity:0.7; cursor:pointer;}
.privacy_head .option{font-size:1rem; font-weight:600; line-height:166.67%; letter-spacing:var(--letter-spacing-default); color:var(--black); text-decoration:underline; text-underline-position:from-font; cursor:pointer;}
.formBtn{flex-shrink:0;}
.formBtn .btn_confirm{position:relative; display:inline-flex; align-items:center; justify-content:center; width:163px; height:58px; padding:0; border:0; border-radius:500px; background:var(--main); color:var(--white); font-size:0.8889rem; font-weight:600; line-height:175%; letter-spacing:var(--letter-spacing-default); cursor:pointer; box-sizing:border-box; overflow:hidden; transition:color 0.45s ease;}
.formBtn .btn_confirm::before{content:''; position:absolute; left:50%; bottom:0; width:16px; height:16px; border-radius:50%; background:var(--white); transform:translate(-50%, 50%) scale(0); transition:transform 0.55s cubic-bezier(0.4, 0, 0.2, 1); z-index:0; pointer-events:none;}
.formBtn .btn_confirm span{position:relative; z-index:1;}
.formBtn .btn_confirm:hover{color:var(--main);}
.formBtn .btn_confirm:hover::before{transform:translate(-50%, 50%) scale(20);}

/* 개인정보 동의 레이어 */
.privacy-agree-layer{position:fixed; left:0; top:0; z-index:9999999998; display:none; width:100%; height:100%;}
.privacy-agree-layer.is-open{display:block;}
.privacy-agree-dim{position:absolute; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.5);}
.privacy-agree-pop{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:90%; max-width:560px; max-height:calc(100vh - 80px); padding:40px 30px 30px; box-sizing:border-box; background:var(--white); border-radius:var(--borderR20); overflow:hidden; display:flex; flex-direction:column;}
.privacy-agree-close{position:absolute; right:15px; top:15px; width:30px; height:30px; padding:0; border:0; background:transparent; cursor:pointer; font-size:0; line-height:0; color:transparent; z-index:2;}
.privacy-agree-close::before{content:"\e5cd"; display:block; width:100%; height:100%; line-height:30px; font-size:24px; font-family:var(--icon); text-align:center; color:var(--black); font-weight:400;}
.privacy-agree-tit{margin:0 0 20px; font-weight:600; color:var(--black);}
.privacy_agree{flex:1; min-height:0; overflow:auto;}
.privacy_agree .textarea{height:280px; font-size: 0.889rem; border:1px solid var(--border); border-radius:var(--borderR5); background:var(--grayBg);}


/*******************************************************************************
	@media ~680px
*******************************************************************************/
@media all and (max-width:680px){

select{ height: 40px !important; line-height: 40px !important; background-position: right 10px center !important;}	

/* 첨부파일 */
.filebox{width:100%;}
.filebox label{width:80px; height:40px !important; line-height:40px !important; font-size:0.7778rem;}
.filebox .upload-name{width:calc(100% - 80px); height:40px; line-height:38px; padding:0 10px; font-size:0.7778rem;}

/* 입력항목 */
.form_table dl{flex-direction:column; gap:8px; padding:14px 16px;}
.form_table dl dt{width:100%;}
.form_table .input_email{width:calc((100% - 20px)/2);}
.form_table .select_email{width:100%; border-left:0; border-top: 1px solid var(--border);}

.spam_check{margin-top: 10px;}


/* 동의 · 버튼 */
.form_b{flex-direction:column; align-items:stretch; gap:16px; margin-top:20px;}
.privacy_head{gap:4px;}
.privacy_head .agree_checkbox{width:18px; height:18px;}
.privacy_head .agree_checkbox:checked{background-size:14px 14px;}
.privacy_head .checkbox_wrap{font-size:0.8889rem; line-height:150%;}
.privacy_head .option{font-size:0.8889rem; line-height:150%;}
.formBtn{width:100%;}
.formBtn .btn_confirm{width:100%; height:45px;}

/* 개인정보 동의 레이어 */
.privacy-agree-pop{width:calc(100% - 32px); padding:30px 20px 20px; max-height:calc(100vh - 40px);}
.privacy-agree-close{right:10px; top:10px; width:28px; height:28px;}
.privacy-agree-close::before{line-height:28px; font-size:22px;}
.privacy-agree-tit{margin:0 0 10px;}
.privacy_agree .textarea{height:220px;}

}
