@charset "utf-8";
html { height: 100%; background: #fff; }
body { height: 100%; color: #777; font-style: normal; font-size: 15px; letter-spacing: -0.5px; background: transparent; 
-webkit-text-size-adjust:  none; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; box-sizing: border-box; }
label, input[type="button"], input[type="submit"] { cursor: pointer; letter-spacing: -0.5px; }
a { color: #777; }
a, button { transition: .2s; }
a i, button i { transition: .1s; }

* { box-sizing: border-box; }


/* align */
.tal { text-align: left; }
.tac { text-align: center; }
.tar { text-align: right; }

/* font color */
/*.pink { color: #fb4087; }*/
/*.blue { color: #2780fe; }*/
/*.orange { color: #ff800f; }*/
/*.green { color: #01ba8e; }*/
.white { color: #fff; }
.grey { color: #777; }
.lgrey { color: #aaa; }
.dgrey { color: #333; }
.black { color: #111; }


/* padding */
.pd20 { padding: 20px; }
.pd24 { padding: 24px; }
.pd30 { padding: 30px; }

.pt3 { padding-top: 3px; }
.pt5 { padding-top: 5px; }
.pt6 { padding-top: 6px; }
.pt10 { padding-top: 10px; }
.pt15 { padding-top: 15px; }
.pt20 { padding-top: 20px; }
.pt30 { padding-top: 30px; }
.pt40 { padding-top: 40px; }
.pt50 { padding-top: 50px; }
.pt60 { padding-top: 60px; }
.pt80 { padding-top: 80px; }
.pt100 { padding-top: 100px; }

.pr5 { padding-right: 5px; }
.pr10 { padding-right: 10px; }
.pr15 { padding-right: 15px; }
.pr20 { padding-right: 20px; }
.pr30 { padding-right: 30px; }
.pr40 { padding-right: 40px; }
.pr50 { padding-right: 50px; }

.pl5 { padding-left: 5px; }
.pl10 { padding-left: 10px; }
.pl15 { padding-left: 15px; }
.pl20 { padding-left: 20px; }
.pl30 { padding-left: 30px; }
.pl40 { padding-left: 40px; }
.pl50 { padding-left: 50px; }

.pb5 { padding-bottom: 5px; }
.pb10 { padding-bottom: 10px; }
.pb15 { padding-bottom: 15px; }
.pb20 { padding-bottom: 20px; }
.pb30 { padding-bottom: 30px; }
.pb40 { padding-bottom: 40px; }
.pb50 { padding-bottom: 50px; }
.pb80 { padding-bottom: 80px; }



/* margin */
.mg20 { margin: 20px; }

.mt0 {margin-top:0;}
.mt5 { margin-top: 5px; }
.mt8 { margin-top: 8px; }
.mt10 { margin-top: 10px; }
.mt12 { margin-top: 12px; }
.mt15 { margin-top: 15px; }
.mt16 { margin-top: 16px; }
.mt20 { margin-top: 20px; }
.mt24 { margin-top: 24px; }
.mt25 { margin-top: 25px; }
.mt30 { margin-top: 30px; }
.mt35 { margin-top: 35px; }
.mt38 { margin-top: 38px; }
.mt40 { margin-top: 40px; }
.mt50 { margin-top: 50px; }
.mt60 { margin-top: 60px; }
.mt70 { margin-top: 70px; }
.mt80 { margin-top: 80px; }
.mt90 { margin-top: 90px; }
.mt100 { margin-top: 100px; }


.mb0 {margin-bottom:0;}
.mb5 { margin-bottom: 5px; }
.mb8 { margin-bottom: 8px; }
.mb10 { margin-bottom: 10px; }
.mb12 { margin-bottom: 12px; }
.mb15 { margin-bottom: 15px; }
.mb16 { margin-bottom: 16px; }
.mb20 { margin-bottom: 20px; }
.mb25 { margin-bottom: 25px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb50 { margin-bottom: 50px; }
.mb60 { margin-bottom: 60px; } 
.mb70 { margin-bottom: 70px; }
.mb80 { margin-bottom: 80px; }
.mb100 { margin-bottom: 100px; }

.ml0 {margin-left:0;}
.ml3 {margin-left: 3px;}
.ml5 {margin-left:5px;}
.ml8 {margin-left: 8px;}
.ml10 {margin-left:10px;}
.ml12 { margin-left: 12px;}
.ml15 {margin-left:15px;}
.ml16 {margin-left: 16px;}
.ml20 {margin-left:20px;}
.ml25 {margin-left:25px;}
.ml30 {margin-left:30px;}
.ml35 {margin-left:35px;}
.ml40 {margin-left:40px;}
.ml50 {margin-left:50px;}
.ml60 {margin-left:60px;} 
.ml100 {margin-left:100px;}

.mr0 {margin-right:0;}
.mr5 { margin-right: 5px; }
.mr8 { margin-right: 8px; }
.mr10 { margin-right: 10px; }
.mr15 { margin-right: 15px; }
.mr16 { margin-right: 16px; }
.mr20 { margin-right: 20px; }
.mr24 { margin-right: 24px; }
.mr30 { margin-right: 30px; }
.mr35 { margin-right: 35px; }
.mr36 { margin-right: 36px; }
.mr40 { margin-right: 40px; }
.mr50 { margin-right: 50px; }
.mr100 {margin-right: 100px;}


/* width */
.w30 { width: 30px; }
.w50 { width: 50px; }
.w60 { width: 60px; }
.w80 { width: 80px; }
.w100 { width: 100px; }
.w110 { width: 110px; }
.w120 { width: 120px; }
.w130 { width: 130px; }
.w140 { width: 140px; }
.w150 { width: 150px; }
.w200 { width: 200px; }
.w250 { width: 250px; }
.w300 { width: 300px; }
.w400 { width: 400px; }
.w500 { width: 500px; }

.w5p { width: 5%; }
.w6p { width: 6%; }
.w8p { width: 8%; }
.w10p { width: 10%; }
.w11p { width: 11%; }
.w12p { width: 12%; }
.w13p { width: 13%; }
.w14p { width: 14%; }
.w15p { width: 15%; }
.w16p { width: 16%; }
.w17p { width: 17%; }
.w18p { width: 18%; }
.w19p { width: 19%; }
.w20p { width: 20%; }
.w22p { width: 22%; }
.w24p { width: 24%; }
.w25p { width: 25%; }
.w26p { width: 26%; }
.w28p { width: 28%; }
.w30p { width: 30%; }
.w32p { width: 32%; }
.w34p { width: 34%; }
.w36p { width: 36%; }
.w38p { width: 38%; }
.w40p { width: 40%; }
.w42p { width: 42%; }
.w44p { width: 44%; }
.w46p { width: 46%; }
.w48p { width: 48%; }
.w50p { width: 50%; }
.w52p { width: 52%; }
.w54p { width: 54%; }
.w56p { width: 56%; }
.w58p { width: 58%; }
.w60p { width: 60%; }
.w62p { width: 62%; }
.w64p { width: 64%; }
.w66p { width: 66%; }
.w68p { width: 68%; }
.w70p { width: 70%; }
.w72p { width: 72%; }
.w74p { width: 74%; }
.w76p { width: 76%; }
.w78p { width: 78%; }
.w80p { width: 80%; }
.w82p { width: 82%; }
.w84p { width: 84%; }
.w86p { width: 86%; }
.w88p { width: 88%; }
.w90p { width: 90%; }
.w92p { width: 92%; }
.w94p { width: 94%; }
.w96p { width: 96%; }
.w98p { width: 98%; }
.w100p { width: 100%; }

/* height */
.h30 { height: 30px; }
.h50 { height: 50px; }
.h60 { height: 60px; }
.h80 { height: 80px; }
.h100 { height: 100px; }
.h110 { height: 110px; }
.h120 { height: 120px; }
.h130 { height: 130px; }
.h140 { height: 140px; }
.h150 { height: 150px; }
.h200 { height: 200px; }
.h300 { height: 300px; }
.h400 { height: 400px; }
.h500 { height: 500px; }

/* float */
.floatl { float: left; }
.floatc { float: center; }
.floatr { float: right; }
.clear { clear:both; }

/* display */
.disnone { display: none; }
.disblock { display: block; }
.disinline { display: inline; }
.disinblock { display: inline-block; }

/* flex */
.flex_center { display: flex; justify-content: center; align-items: center; }

/* position */
.relative { position: relative; }
.absolute { position: absolute; }

/* vertical-align */
.vat { vertical-align: top; }
.vam { vertical-align: middle; }
.vab { vertical-align: bottom; }

/* font size */
.fs12 { font-size: 12px; }
.fs13 { font-size: 13px; }
.fs14 { font-size: 14px; }
.fs15 { font-size: 15px; }
.fs16 { font-size: 16px; }
.fs18 { font-size: 18px; }
.fs20 { font-size: 20px; }
.fs22 { font-size: 22px; }
.fs24 { font-size: 24px; }
.fs26 { font-size: 26px; }
.fs30 { font-size: 30px; }
.fs32 { font-size: 32px; }
.fs50 { font-size: 50px; }

/* font weight */
.fw300 { font-weight: 300; }
.fw400 { font-weight: 400; }
.fw700 { font-weight: 700; }
.fw800 { font-weight: 800; }





/* font family */
.n_square { font-family: 'NanumSquare'; }
.noto_kr { font-family: 'notokr'; }

/* text-docoration */
.tdunder { text-decoration: underline; }
.tdover { text-decoration: overline; }
.tdline { text-decoration: line-through; }
.tdblink { text-decoration: blink; }


.skip { overflow: hidden; text-indent: -9999px; font-size: 0px; }
.hand { cursor: pointer; }
.cboth { clear: both; }
.noresize { resize: none; }
.overh { overflow: hidden; }



/* input */
input { height: 40px; vertical-align: top; line-height: 38px; padding: 0 8px; background: #fff; font-size: 15px; border-radius: 5px; border: 1px solid #ddd; box-sizing: border-box; }
select { height: 40px; vertical-align: top; line-height: 38px; padding: 0 35px 0 8px; background: #fff url('../images/selet_arrow.png') right 2px center no-repeat; font-size: 15px; border-radius: 5px; border: 1px solid #ddd;  }
textarea { display: inline; vertical-align: top; line-height: 20px; padding: 10px 8px; font-size: 15px; border: 1px solid #ccc; }
input[type="checkbox"],
input[type="radio"] { border: 0; clip: rect(0 0 0 0); height: 0; margin: 0; overflow: hidden; padding: 0; width: 0; } /* position: absolute; - 체크박스 누르면 스크롤 내려가는 문제로 제거해두겠습니다. */
input[type="checkbox"] + label,
input[type="radio"] + label { position: relative; padding-left: 24px; user-select: none; }
input[type="checkbox"] + label::before,
input[type="radio"] + label::before { box-sizing: content-box; content: ''; color: #7c5df5; background: #fff; position: absolute; top: 50%; left: 0; width: 16px; height: 16px; margin-top: -9px; border: 1px solid #ddd; border-radius: 2px; text-align: center; transition: all 0.2s ease; }
input[type="checkbox"] + label::after,
input[type="radio"] + label::after { box-sizing: content-box; content: ''; background-color: #65c1d6; position: absolute; top: 50%; left: 4px; width: 10px; height: 10px; margin-top: -5px; transform: scale(0); transform-origin: 50%; transition: transform 100ms ease-out; }
input[type="checkbox"]:focus + label::before,
input[type="radio"]:focus + label::before,
input[type="checkbox"]:hover + label::before,
input[type="radio"]:hover + label::before { background-color: #f5f6f9; }
input[type="checkbox"]:active + label::before,
input[type="radio"]:active + label::before { transition-duration: 0s; }

input[type="checkbox"] + label::after { background-color: transparent; top: 50%; left: 4px; width: 8px; height: 3px; margin-top: -4px; border-style: solid; border-color: #ffffff; border-width: 0 0 3px 3px; border-image: none; transform: rotate(-45deg) scale(0); }
input[type="checkbox"]:checked + label::before { background: #65c1d6; border-color: #65c1d6; }
input[type="checkbox"]:checked + label::after { content: ''; transform: rotate(-45deg) scale(1); transition: transform 100ms ease-out; }

input[type="radio"] + label::before,
input[type="radio"] + label::after { border-radius: 50%; }
input[type="radio"]:checked + label::before { background-color: #fff; border-color: #65c1d6; }
input[type="radio"]:checked + label::after { transform: scale(1); }


input[type="checkbox"]:disabled + label::before,
input[type="radio"]:disabled + label::before,
input[type="checkbox"]:disabled:checked + label::before,
input[type="radio"]:disabled:checked + label::before { background: #f1f1f1; border-color: #ddd; }
input[type="checkbox"]:disabled:checked + label::after { border-color: #aaa; }
input[type="radio"]:disabled:checked + label::after { background-color: #aaa; }
input[type="checkbox"]:disabled:focus + label::before,
input[type="radio"]:disabled:focus + label::before,
input[type="checkbox"]:disabled:hover + label::before,
input[type="radio"]:disabled:hover + label::before { background-color: #f1f1f1; }


/* input file */
.file_input input[type="file"] { line-height: 40px; background: #f1f1f1; }
.file_input { display: inline-block; }
.file_input label { float:left; position: relative; display: inline-block; height: 38px; line-height: 32px; color: #fff; background: #777; padding: 0 10px; text-align: center; vertical-align: middle; border-radius: 6px; overflow: hidden; cursor: pointer; }
.file_input label input { position: absolute; width: 0; height: 0; overflow: hidden; opacity: 0; }
.file_input input[type="text"] { float:left; display: inline-block; height: 38px; line-height: 38px; vertical-align: middle; font-size: 11px; letter-spacing: 0.5px; }

.file_route { overflow: hidden; display: flex; gap: 8px; width: 60%; margin-bottom: 10px; }
.file_route:last-of-type { margin-bottom: 0; }
.file_route a { width:  60%; }
/*.file_route label { float: left; position: relative; display: inline-block; min-width: 126px; height: 40px; margin-right: 5px; padding: 0 14px; line-height: 38px; color: rgba(255,255,255,.8); background: #a8a8a8; text-align: center; vertical-align: middle; border: 1px solid #a8a8a8; border-radius: 6px; overflow: hidden; cursor: pointer; transition: .2s; }*/
/*.file_route label:hover { color: #fff; background: #8b8b8b; }*/
.file_route label { float: left; position: relative; display: inline-block; min-width: 110px; height: 40px; padding: 0 14px; line-height: 38px; color: #777; background: #e7e7e7; text-align: center; vertical-align: middle; border: 1px solid #e3e3e3; border-radius: 6px; overflow: hidden; cursor: pointer; transition: .2s; }
.file_route label:hover { color: #815a9e; background: #ede3f4; border-color: #e4ddea; }
.file_route label input { position: absolute; width: 0; height: 0; overflow: hidden; opacity: 0; }
.file_route input[type="text"] { float: left; width: 100%; height: 40px; border: 1px solid #ddd; line-height: 40px; letter-spacing: 0.5px; }



/* input readonly */
/*input[readonly="readonly"],*/
/*select[readonly="readonly"] { border-color: #fff; }*/


/* input placeholder */
input::-webkit-input-placeholder { color: #777; }
input:-ms-input-placeholder { color: #777; }
input:-moz-placeholder { color: #777; }


select { -webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
/* IE 10, 11의 네이티브 화살표 숨기기 */
select { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
select::-ms-expand { display: none; }




@media screen and (max-width: 1279px) {
	.file_route { width: 100%; }
}
	/* mobile */
@media screen and (max-width: 480px) {
	input,
	select,
	.file_input label,
	.file_input input[type="text"],
	.file_route label,
	.file_route input[type="text"] { height: 36px; line-height: 34px; }
	.file_route label { min-width: autos; }
	.file_route input[type="text"] { width: calc(100% - 117px); }
}