*{outline: 0}



.eng{
  font-family: "Outfit", serif;
  font-weight: 400;
  font-style: normal;
}

*{ margin: 0; padding: 0; }
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary, button,
time, mark, audio, video, a, textarea, input{;margin:0;  padding:0;  border:0; font-size:100%; vertical-align:baseline; background:transparent; -webkit-text-size-adjust:none; box-sizing:border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; font-family: 'Pretendard Variable', Pretendard, sans-serif; font-style: normal; }
html{ -ms-touch-action:auto;}
html,body, section{width:100%;}

img{}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav, section{}
legend, caption{width:0;height:0;visibility:hidden;font-size:0;line-height:0;}
button{cursor:pointer; border:none; padding:0; }
button::-moz-focus-inner, input::-moz-focus-inner {border:0; padding:0;}
li,dd{list-style:none;}
blockquote, q {quotes:none;}
address, caption, em, cite, i, a {font-weight:normal; font-style:normal; text-decoration: none;color: #333}
table {border-collapse:collapse; border-spacing:0; table-layout:fixed;}
iframe{width:100%;vertical-align:middle;}
caption{display:none;}
figcaption{display:block;}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {-webkit-appearance:none;  margin:0; }

strong {font-weight: bold }

input[type="text"], input[type="number"],input[type="email"], input[type="search"],
input[type="password"], input[type="date"], input[type="tel"], select{display:table-cell; vertical-align:middle; padding:  0 0 0 7px; height: 40px; line-height: 1; box-sizing: border-box; background:#fff; border:1px solid #cccccc;
  border-radius:0; color:#999; font-size:12px;font-family: 'Pretendard', sans-serif;}

input[type="search"] {border-radius:0; -webkit-border-radius:0; -webkit-appearance:textfield;}
input[type="search"]::-webkit-search-results-decoration {-webkit-appearance:none;}

input[type='checkbox'],input[type='radio'] {vertical-align:middle; margin-top:0;  cursor : pointer;}

input.disabled {background:#fff;}

input[type=date]::-webkit-clear-button,
input[type=date]::-webkit-inner-spin-button,
input[type=date]::-webkit-calendar-picker-indicator {
    display: none;
}


select::-ms-expand{display:none; }
select{ cursor: pointer; outline :none; overflow :hidden; color:#999; width:100%;;  }
textarea{width:100%;height:100px; resize:none; border:1px solid #cccccc;   padding:10px; color:#999;}


.blind{position:absolute; top:-999999px; width:0; height:0; font-size:0; overflow:hidden;}
.clear:after{content:""; display: table; clear: both;}
.clearfix{overflow:hidden;}
.clearfix:after{clear:both; display:table; content:'';}
.center{text-align:center; display:block; float:none !important;}
.accessibility{display: none}
.hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    border: none;
    clip: rect(0,0,0,0);
    overflow: hidden;
}




/* 헤더 공통 */
#header{ position: fixed; width: 100%; left: 0; top: 0; z-index: 9999; height: 110px; transition: background .3s; background-color: transparent; padding: 0 80px; }
#header .wrap{ width: 100%; margin: 0 auto; position: relative; height: 100%; max-width: 1920px; }
#header h1{ position: absolute; left: 0; top: 50%; transform: translate(0,-50%); z-index: 10; height: 100%; }
#header h1 a{ display:flex; align-items: center; width: 100%; height: 100%; position: relative; }

#header .bg{ display: block; width: 200vw; height: 540px; position: fixed; left: 50%; top: 110px; background-color: #fff; border-top: 1px solid rgba(255,255,255,0); z-index: -1; transition: clip-path .5s; clip-path: polygon(0 0, 100% 0, 100% 0, 0 0); transform: translate(-50%,0)}
#header.ons .bg{ clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); border-top: 1px solid #DDE5EC; }

#header.ons .gnb > ul{ gap: 120px; }
#header.ons .gnb > ul > li:nth-child(3){ margin-right: 60px; }

#header .gnb{ position: absolute; left: 0; top: 50%; transform: translate(0,-50%); padding-left: 270px; }
#header .gnb > ul{ display:flex; gap: 60px; transition: gap .3s; }
#header .gnb > ul > li{ position: relative; transition: margin .3s; }
#header .gnb > ul > li > a{ font-size: 17px; font-weight: 500; color: #fff; line-height: 110px; display: block; text-align: center; transition: color 0.3s; position: relative;  }
#header .gnb > ul > li > a:after{ content:""; display: block; width: 0; height: 2px; background-color: #205FCC; position: absolute; left: 50%; bottom: 0; transform: translate(-50%,0); transition: width .5s; }
#header .gnb > ul > li:hover > a:after{ width: 100%; }
#header .gnb > ul > li > ul{ display: none; width: 120%; position: absolute; left: 0; top: 100%; padding-top: 38px; }
#header .gnb > ul > li > ul:after{ content:""; display: block; width: 100%; height: 10px; transform: translateY(-10px); position: absolute; left: 0; top: 0; }
#header .gnb > ul > li > ul > li > a{ font-size: 16px; font-weight: 500; color:#464646;  transition: color 0.3s; white-space: nowrap; }
#header .gnb > ul > li > ul > li > .sub_n2 { display:flex; gap: 18px; flex-flow: column; margin-top: 20px; }
#header .gnb > ul > li > ul > li > .sub_n2 > li{ white-space: nowrap; }
#header .gnb > ul > li > ul > li > .sub_n2 > li > a{ font-size: 15px; color:#888888; transition: color .3s; }
#header .gnb > ul > li > ul > li > .sub_n2 > li > a:hover{ color:#205FCC; }
#header .gnb > ul > li:hover > a{ color: #205FCC; }

#header .gnb > ul > li > ul.on{ display: flex; flex-flow: column; gap: 20px;  }

#header .gnb > ul > li > ul > li:hover > a{ color: #205FCC; }


#header .gnb > ul > li:nth-child(4) > ul{ left: auto; right: 0;  }


#header .right_btn{ display:flex; gap: 20px; align-items: center; position: absolute; right: 0; top: 50%; transform: translate(0,-50%); }

#header .right_btn .login a{ height: 40px; padding: 0 26px; display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 500; color: #fff; border: 1px solid #fff; border-radius: 60px; }

#header.ac{ background-color: #fff; }
#header.ac h1 svg #YEL{ fill: #F0B41B }
#header.ac h1 svg #RED{ fill: #DD1E30 }
#header.ac h1 svg #BLUE path{ fill: #014DA1 }
#header.ac .gnb > ul > li > a{ color: #222222; }
#header.ac .gnb > ul > li:hover > a { color: #205FCC; }
#header.ac .right_btn .login a{ border-color: #C1CBD6; color: #4E5B67; }


#header .all_menu_b{ width: 40px; height: 10px; position: absolute; right: 80px; top: 50%; transform: translate(0,-50%); cursor: pointer; display: none; }
#header .all_menu_b span{ display: block; width: 100%; height: 1px; background-color: #231815; position: absolute; }
#header .all_menu_b span:nth-child(1){ left: 0; top: 0; }
#header .all_menu_b span:nth-child(2){ right: 0; bottom: 0; width: 24px; }


#header .all_menu{ position: fixed; right: 0; top: 0; height: 100%; width: 80%; max-width: 320px; background-color: #fff; padding-top: 110px; padding-bottom: 60px; padding-left: 50px; z-index: 999;
  transform: translate(100%,0); transition: transform .8s; overflow-y: scroll;
}
#header .all_menu.on{ transform: translate(0,0); box-shadow: 0px 30px 0px 0px rgb(69 80 95 / 12%); }



#header .all_menu .close_b{ width: 28px; height: 28px; position: absolute; right: 20px; top: 20px; background-color: transparent; transform: rotate(45deg);}
#header .all_menu .close_b span:nth-child(1){ width: 100%; height: 2px; background-color: #5b606a; display: block; position: absolute; left: 0; top: 13px; }
#header .all_menu .close_b span:nth-child(2){ width: 2px; height: 100%; background-color: #5b606a; display: block; position: absolute; left: 13px; top: 0; }
#header .all_menu > ul > li{ margin-bottom: 30px; }
#header .all_menu > ul > li:last-child{ margin-bottom: 0; }
#header .all_menu > ul > li > a{ font-size: 16px; font-weight: 500; color:#313741; letter-spacing: -0.5px; display: block; position: relative; }
#header .all_menu > ul > li > a:after{ content:""; display: block; width: 0; height: 2px; background-color: #0D54A1; position: absolute; left: -50px; top: 50%; transform: translate(0,-50%);}
#header .all_menu > ul > li:hover > a{ color: #0D54A1; }
#header .all_menu > ul > li:hover > a:after{ width: 30px; transition: width .5s; }

#header .all_menu > ul > li > ul{ margin-top: 20px; display: none; }
#header .all_menu > ul > li > ul.on{ display: block; }
#header .all_menu > ul > li > ul > li > a{ font-size: 16px; font-weight: 500; color:#494d54; opacity: .6; letter-spacing: -0.5px; display: block; transition: opacity .4s; }
#header .all_menu > ul > li > ul > li:hover > a{ opacity: 1; }
#header .all_menu > ul > li > ul > li{ margin-bottom: 12px; }
#header .all_menu > ul > li > ul > li:last-child{ margin-bottom: 0; }
#header .all_menu .sub_b{ margin-top: 10px; display: none; }
#header .all_menu .sub_b li a{ font-size: 14px; color: #666; line-height: 24px; opacity: .4; transition: opacity.3s; }
#header .all_menu .sub_b li a:hover{ opacity: 1; }

#header .all_menu > ul > li > ul > li > ul{ display:flex; flex-flow: column; gap: 6px; margin-top: 10px;  }
#header .all_menu > ul > li > ul > li > ul > li > a{ font-size: 14px; color: #494d54; opacity: .5; }
#header .all_menu > ul > li > ul > li > ul > li > a:hover{ color: #222; opacity: 1; }

#footer{ padding-top: 80px; padding-bottom: 80px; overflow: hidden}
#footer .inner{ position: relative; display: flex; flex-flow: column; gap: 80px; }

#footer .copy{ font-size: 16px; color: #BAC0C6; }
#footer .copy a{ color: inherit; text-decoration: underline; }

#footer .sns_list ul{ display:flex; gap: 10px; }
#footer .sns_list ul li a svg path{ transition: fill .3s; }
#footer .sns_list ul li:nth-child(1) a:hover svg path{ fill: #FE0000; }
#footer .sns_list ul li:nth-child(2) a:hover svg path{ fill: #00C300; }

#footer .right_t{ position: absolute; right: 0; top: 0; display:flex; align-items: center; gap: 40px; }
#footer .right_t .family{position: relative}
#footer .right_t .family button{ width: 198px; padding-left: 20px; display:flex; align-items: center; justify-content: space-between; padding-right: 20px; font-size: 18px; font-weight: 500; color:#545E6A; border-radius: 8px; background-color: #EEF2F6; height: 54px; }
#footer .right_t .family ul{ width: 100%;padding: 20px; font-size: 18px; font-weight: 500; color:#545E6A; border-radius: 8px; background-color: #EEF2F6;; position: absolute;display: none}
#footer .right_t .family ul li a{line-height: 2;transition: color 0.5s}
#footer .right_t .family ul li:hover a{color: #1E6FC9;font-weight: 600}
#footer .f_m{display:flex; }
#footer .f_m > div{ border-right: 1px solid #DDE5EC; }
#footer .f_m > div:last-child{ border-right: none; }
#footer .f_m .f_info{ padding-right: 40px; width: 50%; }
#footer .f_m .f_nav{ width: 25%; padding-left: 40px; }
#footer .f_m .number{ width: 25%; padding-left: 40px; }


#footer .f_m .f_nav ul{ display:flex; flex-flow: column; gap: 20px; }
#footer .f_m .f_nav ul li a{ font-size: 18px; font-weight: 700; color:#545E6A; }
#footer .f_m .f_nav ul li:nth-child(1) a{ color: #1E6FC9; }

#footer .f_m .number{ display:flex; flex-flow: column; gap: 70px; }
#footer .f_m .number dl{ display:flex; flex-flow: column; gap: 10px; }
#footer .f_m .number dl dt{ font-size: 18px; font-weight: 700; color:#545E6A; }
#footer .f_m .number dl dd p{ font-size: 16px; color:#757E88; margin-bottom: 8px; }
#footer .f_m .number dl dd strong{ font-size: 40px; color:#545E6A; font-weight: 600; }

#footer .f_m .f_info{ display:flex; flex-flow: column; gap: 40px; }
#footer .f_m .f_info ul{ display:flex; gap: 60px; }
#footer .f_m .f_info ul li dl{ display:flex; gap: 10px; flex-flow: column; }
#footer .f_m .f_info ul li dl dt{ font-size: 16px; color:#545E6A; font-weight: 600; }
#footer .f_m .f_info ul li dl dd{ font-size: 16px; color:#757E88; font-weight: 400; }

#footer .f_slide{ padding: 28px 0; border-top: 1px solid #DDE5EC; border-bottom: 1px solid #dde5ec; margin-top: 150px; margin-bottom: 50px; }
#footer .f_slide ul{ height: 90px; display:flex; animation: fs 40s linear infinite; }
#footer .f_slide ul li img{ height: 90px; }
.scroll_t{ position: fixed; right: 40px; bottom: 40px; z-index: 20; opacity: 0; transition: opacity .5s; }
.scroll_t button{ position: relative; }
.scroll_t button:after{ content:""; display: block; width: 100%; height: 100%; border-radius: 12px; background-color: #3575BB; position: absolute; left: 0; top: 0; transition: transform .3s, background .3s; }
.scroll_t.on{ opacity: 1; }
.scroll_t svg{ position: relative; z-index: 1; }
.scroll_t button:hover:after{ background-color: #0D54A1; transform: scale(.8); }

#sub.gal_list #footer .list ul li{width: 100%;}


#quick{ position: fixed; right: 40px; bottom: 40px; z-index: 100; display:flex; flex-flow: column; gap: 22px; }
#quick .contact{ position: relative; }
#quick .contact button{ width :85px; height: 85px; display:flex; align-items: center; justify-content: center; text-align: center; background: #29C7EF;
background: linear-gradient(135deg, rgba(41, 199, 239, 1) 0%, rgba(41, 147, 239, 1) 100%); border-radius: 50%; flex-flow: column; }
#quick .contact button p{ font-size: 16px; font-weight: 500;color:#FFFFFF; margin-top: -2px; }


#quick .contact .close_b{ position: absolute; left: 0; top: 0; z-index: 1; display: none; }
#quick .contact .contact_box{ position: absolute; right: 0; top: -10px; transform: translateY(-100%); display: none; }
#quick .contact .contact_box .wraps{ display:flex; flex-flow: column; gap: 10px; }
#quick .contact .contact_box .wraps > div{ width: 320px; padding: 30px; border-radius: 8px; background-color: #fff; border: 1px solid #C8CDD2; }
#quick .contact .contact_box .wraps > div > strong{ font-size: 18px; font-weight: 700; color:#545E6A; display: block; margin-bottom: 8px; }
#quick .contact .contact_box .wraps > div > p{ font-size: 16px; color:#757E88; }
#quick .contact .contact_box .wraps > div > em{ font-size: 30px; font-weight: 600; color: #1E6FC9; letter-spacing: -0.025em; display: block; margin-top: 10px; }


#quick .contact .contact_box .wraps > div:nth-child(1) { background-color: #2971EF; border-color:#2971EF; }
#quick .contact .contact_box .wraps > div:nth-child(1) > strong{ color: #fff; }
#quick .contact .contact_box .wraps > div:nth-child(1) > p{ color: #BFD6FF; }
#quick .contact .contact_box .wraps > div:nth-child(1) > em{ color: #fff; }

#quick .join{ position: relative; }
#quick .join a{ width :85px; height: 85px; display:flex; align-items: center; justify-content: center; text-align: center; background: #29C7EF;
background: linear-gradient(135deg, rgba(41, 199, 239, 1) 0%, rgba(41, 147, 239, 1) 100%); border-radius: 50%; flex-flow: column; }
#quick .join a p{ font-size: 16px; font-weight: 500;color:#FFFFFF; margin-top: -2px; }
#quick .join a i{ display: block; margin-top: -2px; }


#quick .top_btn{ position: relative; }
#quick .top_btn a{ width :85px; height: 85px; display:flex; align-items: center; justify-content: center; text-align: center; border-radius: 50%; flex-flow: column; gap: 3px; }
#quick .top_btn a:after{ content:""; display: block; width: 100%; height: 100%; background-color: #2971ef; position: absolute; left: 0; top: 0; border-radius: 50%; transition: background .3s, transform .3s;  }
#quick .top_btn a:hover:after{ background-color: #2993EF; transform: scale(.9); }

#quick .top_btn a p{ font-size: 16px; font-weight: 500;color:#FFFFFF; margin-top: -2px; position: relative; z-index: 1; }
#quick .top_btn a i{ display: block; width: 20px; height :20px; overflow: hidden; position: relative; z-index: 1; }
#quick .top_btn a i img{ display: block; transition: transform .3s; }
#quick .top_btn a:hover i img{ transform: translateY(-50%); }





@keyframes fs{
	0%{
		transform: translateX(0);
	}
	100%{
		transform: translateX(-100%);
	}
}



/*
@media (max-width: 1640px){
	#header h1{ left: 40px; }
	#header .all_menu_b{ right: 40px; }
}


@media (max-width: 1416px){
  	#header h1{ left: 20px; }
	#header .all_menu_b{ right: 20px; }
	#header{ height: 80px; }
	#header .gnb > ul > li > a{line-height: 80px; }
}

@media (max-width: 1300px){

}


@media (max-width: 980px){
    #header .gnb{ display: none; }

}

@media (max-width: 800px){
	.scroll_t{ right: 20px; bottom: 20px; }
	.scroll_t button svg{ width: 50px; height: auto; }
}

@media (max-width: 414px){

}
*/
