
/*헤더*/
.m_menu_wrap { width: 280px; height: 100%; position: fixed; top: 0px; right: -280px; bottom: 0; z-index: 9999; background-color: #222; }
.m_menu_wrap a { display: block; color: #fff; }
.m_menu_wrap .menu_a { height: 50px; margin: 0; padding: 0 0 0 20px; border-bottom: #333 1px solid; border-top: #555 1px solid; text-align: left; cursor: pointer; line-height: 50px; font-size: 14px; position: relative; top: 0px; left: 0px; }
.m_menu_wrap .menu_a:after { content: ""; width: 10px; height: 10px; border-left: 1px solid #fff; border-bottom: 1px solid #fff; display: block; position: absolute; top: 50%; right: 10px; transform: rotate(225deg); transition: all .3s ease; margin-top: -5px}
.m_menu_wrap .menu_a.void_link:after { content: ""; width: 10px; height: 10px; border-left: 1px solid #fff; border-bottom: 1px solid #fff; display: block; position: absolute; top: 50%; right: 10px; transform: rotate(-45deg); transition: all .3s ease; margin-top: -5px}
.m_menu_wrap .menu_a.void_link.menu_on:after { transform: rotate(-225deg); }
.m_menu_wrap .menu_a:first-child {
}
.m_menu_wrap .sub_menu_wrap { display: none; background-color: #444; width: 100%!important}
.m_menu_wrap .sub_menu_wrap .sub_menu_a { height: 38px; line-height: 38px; padding-left: 30px; border-bottom: 1px solid #666; }
.m_menu_wrap .sub_menu_wrap .sub_menu_a:first-child { border-top: none; }
.m_menu_wrap .menu_a:hover { background-color: #3f4296; border-color: #3f4296; color: #fff; }
.m_menu_wrap .sub_menu_wrap .sub_menu_a:hover { background-color: #777; border-color: #777; color: #fff; }
.m_menu_wrap .menu_a.menu_on { background-color: #3f4296; border-color: #3f4296; color: #fff; }
.m_menu_wrap .thd_menu_wrap { background-color: #888; display: none; }
.m_menu_wrap .thd_menu_wrap .thd_menu_a { height: 38px; line-height: 38px; padding-left: 30px; border-bottom: 1px solid #666; }
.m_menu_wrap .thd_menu_wrap .thd_menu_a:first-child { border-top: none; }
.m_menu_wrap .thd_menu_wrap .thd_menu_a:hover { background-color: #777; border-color: #777; color: #fff; }
.all_bg { background-color: #000; opacity: 0.5; position: fixed; top: 0px; left: 0px; width: 100%!important; height: 100%!important; bottom: 0px; right: 0px; display: none; z-index: 1004; }
.m_all_bg { background-color: #000; opacity: 0.5; position: fixed; top: 0px; left: 0px; width: 100%!important; height: 100%!important; bottom: 0px; right: 0px; display: none; z-index: 1005; }
.header_all_wrap { width: 100%; position: fixed; top: 0px; left: 0px; z-index: 1005; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
.header_all_wrap:before { content: ""; position: absolute; top: 80px; width: 0px; height: 1px; background-color: #fff; transform: translateX(-50%); left: 50%; animation-delay: 0.5s; animation-duration: 3s; animation-name: line; animation-fill-mode: forwards; display: none; }
@keyframes line {
	from { width: 0px; opacity: 0 }
	to { width: 100%; opacity: 0.4 }
}
.header_wrap * { z-index: 1004; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; text-decoration: none; }
.header_wrap a { display: block; }
.header_wrap { width: 100%; position: relative; top: 0px; left: 0px; z-index: 1004; }
.header_top_wrap { width: 100%; display: none; }
.header_top { width: 100%; max-width: 1540px; margin: 0 auto; position: relative; top: 0px; left: 0px; }
.header_top:after { content: ""; display: block; height: 0; clear: both; visibility: hidden; }
.header_top_box { float: left; margin-right: 30px; }
.header_top_box_in { position: relative; top: 0px; left: 0px; padding-left: 30px; background-image: url(../images/common/header_top_box.png); background-repeat: no-repeat; background-position: 0 center }
.header_top_box_in span { height: 70px; line-height: 70px; color: #fff; font-size: 16px; }
.header_mid_wrap { width: 100%; }
.header_mid { width: 100%; margin: 0 auto; position: relative; top: 0px; left: 0px; padding: 0px 5%; }
.header_mid:before { content: ""; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: -1; }
.open .header_mid:before { background-color: #fff; backdrop-filter: none; -webkit-backdrop-filter: none; }
.header_mid:after { content: ""; display: block; height: 0; clear: both; visibility: hidden; }
.header_bottom_wrap { width: 100%; margin: 0 auto; position: relative; top: 0px; left: 0px; }
.header_bottom { width: 1540px; margin: 0 auto; }
.logo_wrap { position: absolute; top: 20px; left: 5%; z-index: 2}
.logo_wrap svg { width: 100px; }
.header_wrap a.logo { vertical-align: middle; display: inline-block; font-size: 16px; line-height: 1; width: 100%; text-align: center; }
.logo_off { display: none; }
.logo_long { display: none!important; }
.m_menu_btn_wrap { position: absolute; top: 24px; right: 5%; height: 50px; width: 40px; z-index: 3}
.header_wrap .m_menu_btn_wrap .m_menu_btn { width: 100%; height: 30px; position: absolute; top: 50%; left: 0px; margin-top: -15px; }
.m_menu_btn span { display: block; height: 3px; background-color: #fff; position: absolute; top: 50%; margin-top: -2px; left: 0px; right: 0px; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
.m_menu_btn:before { content: ""; position: absolute; top: 0px; left: 0px; right: 0px; height: 3px; background-color: #fff; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
.m_menu_btn:after { content: ""; position: absolute; bottom: 0px; left: 0px; right: 0px; height: 3px; background-color: #fff; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
.m_menu_btn_wrap:hover .m_menu_btn span { background-color: #3f4296; right: 0px; }
.m_menu_btn_wrap:hover .m_menu_btn:before { background-color: #3f4296; right: 0px; }
.m_menu_btn_wrap:hover .m_menu_btn:after { background-color: #3f4296; right: 0px; }
.m_close_wrap { position: relative; top: 0px; left: 0px; padding: 20px; }
.m_close_btn { width: 40px; height: 30px; position: relative; top: 0px; left: 0px; }
.m_close_btn:before, .m_close_btn:after { content: ""; display: block; position: absolute; width: 35px; height: 3px; background: #fff; top: 0; right: 0; bottom: 0; left: 0; margin: auto}
.m_close_btn:before { transform: rotate(-45deg); transition: all .3s ease}
.m_close_btn:after { transform: rotate(45deg); transition: all .3s ease .15s}
.logo_off { display: inline-block; }
.logo_off svg .logo_navy { fill: #fff; }
.logo_on { display: none; }
.lang_all_wrap { position: absolute; top: 30px; right: 8%; height: 50px; z-index: 3; height: 36px; }
.lang_box { border: 1px solid transparent; border-radius: 100px; }
.lang_sub_wrap { display: none; border-top: 1px solid #ddd; }
.lang_box .lang_box_a { font-size: 16px; padding: 0px 40px 0 20px; height: 36px; line-height: 36px; color: #fff; position: relative; top: 0px; left: 0px; }
.lang_box .lang_box_a:after { content: ""; position: absolute; right: 15px; top: 12px; width: 8px; height: 8px; border-left: 1px solid #fff; border-bottom: 1px solid #fff; transform: rotate(-45deg); transition: all .3s ease}
.lang_box:hover { border-radius: 5px; background-color: #fff; border-color: #3f4296}
.lang_box:hover .lang_box_a { background-color: #3f4296; color: #fff!important; }
.lang_box:hover .lang_box_a:after { transform: rotate(135deg); top: 16px; border-color: #fff!important; }
.lang_box:hover .lang_sub_wrap { display: block; }
.lang_sub_box a { font-size: 14px; color: #333; padding: 0 20px; height: 30px; line-height: 30px; }
.lang_sub_box a:hover { color: #3f4296}
/*메뉴*/




.top_nav .sub_menu_wrap {
    display: none;
}






.top_nav { position: relative; top: 0px; left: 0px; font-size: 0px; text-align: center; z-index: 1; padding-top: 0px; overflow: hidden; }
/* .top_nav .menu { text-transform: uppercase; } */
.top_nav:after { content: ""; display: block; height: 0; clear: both; visibility: hidden; }
.top_nav .menu { width: 130px; position: relative; top: 0px; left: 0px; display: inline-block; vertical-align: top; }
.top_nav .menu_08  { width: 160px; position: relative; top: 0px; left: 0px; display: inline-block; vertical-align: top; }
.top_nav .menu_a { padding: 0px; font-size: 18px; color: #fff; height: 100px; padding: 0 5px; font-weight: 400; }
.top_nav .menu_a:before { content: ''; display: inline-block; height: 100%; vertical-align: middle; margin-right: -0.25em; font-size: large; }
.top_nav .menu_a span { vertical-align: middle; display: inline-block; line-height: 1.6; text-align: center; max-width: 100%; position: relative; top: 0px; left: 0px; font-weight: 700;}
.top_nav .sub_menu_a { line-height: 1.6; font-size: 16px; color: #333; text-align: center; border-bottom: none; padding: 4px 0; -webkit-transition: none; transition: none; font-weight: 300; }
.top_nav .sub_menu_wrap { width: 100%!important; position: relative; top: 100%; left: 0px; -webkit-transition: none; transition: none; text-decoration: none; display: none; padding:0 0 30px 0; }
.top_nav .sub_menu_wrap > div:hover .sub_menu_a, .top_nav .sub_menu_wrap > div.active .sub_menu_a { color: #3f4296; -webkit-transition: none; transition: none; font-weight: 500; }
/* .top_nav .menu:hover .menu_a span:after { width: 100%; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter: alpha(opacity=100); opacity: 1; }
.top_nav .menu.active .menu_a span:after { width: 100%; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter: alpha(opacity=100); opacity: 1; }
.top_nav .sub_menu_wrap:before { content: ""; position: absolute; top: 0px; left: 50%; width: 3000px; margin-left: -1500px; border-top: 1px solid rgba(0, 0, 0, 0.01)}
.top_nav .sub_menu_wrap:after { content: ""; position: absolute; top: 0px; left: 0px; right: 0px; height: 1000px; z-index: -1; } */

div[class^="gsap-marker"] { z-index: 9999999!important}
.top_nav .thd_menu_a { line-height: 1.6; font-size: 14px; color: #999; text-align: center; border-bottom: none; padding: 5px 0; -webkit-transition: none; transition: none; font-weight: 300; }
.top_nav .thd_menu_wrap { padding: 5px 0; border-top: 1px solid rgba(0, 0, 0, 0.05); border-bottom: 1px solid rgba(0, 0, 0, 0.05); background-color: rgba(0, 0, 0, 0.01) }
.top_nav .thd_menu_a.active { color: #000}

.menu_08 span{padding: 6px 16px  ; border-radius: 50px; border: 1px solid #fff;}

.scroll .header_all_wrap { background: #fff}
.scroll .top_nav .menu_a { color: #000; }
.scroll .lang_box .lang_box_a { color: #000; }
.scroll .lang_box .lang_box_a:after { border-left: 1px solid #000; border-bottom: 1px solid #000; }
.scroll .m_menu_btn span { background-color: #000; }
.scroll .m_menu_btn:before { background-color: #000; }
.scroll .m_menu_btn::after { background-color: #000; }
.scroll .logo_off { display: none; }
.scroll .logo_on { display: inline-block; }
.scroll .menu_08 span{padding: 10px 16px  ; border-radius: 50px; border: 1px solid #555;}


.w_tp .header_all_wrap { background: #fff}
.w_tp .top_nav .menu_a { color: #000; }
.w_tp .lang_box .lang_box_a { color: #000; }
.w_tp .lang_box .lang_box_a:after { border-left: 1px solid #000; border-bottom: 1px solid #000; }
.w_tp .m_menu_btn span { background-color: #000; }
.w_tp .m_menu_btn:before { background-color: #000; }
.w_tp .m_menu_btn::after { background-color: #000; }
.w_tp .logo_off { display: none; }
.w_tp .logo_on { display: inline-block; }
.w_tp .menu_08 span{padding: 10px 16px  ; border-radius: 50px; border: 1px solid #555;}


.open .header_all_wrap { background: #fff}
.open .top_nav .menu_a { color: #000; }
.open .lang_box .lang_box_a { color: #000; }
.open .lang_box .lang_box_a:after { border-left: 1px solid #000; border-bottom: 1px solid #000; }
.open .m_menu_btn span { background-color: #000; }
.open .m_menu_btn:before { background-color: #000; }
.open .m_menu_btn::after { background-color: #000; }
.open .logo_off { display: none; }
.open .logo_on { display: inline-block; }
.open .menu_08 span{padding: 10px 16px  ; border-radius: 50px; border: 1px solid #555;}

/* =========================
   Footer (min-height 제거, padding 기반)
========================= */
.ksys_footer { width: 100%; background: #111; color: #fff; }
.ksys_footer_in { width: 100%; }
/* min-height 제거 */
.ksys_footer_top { display: grid; grid-template-columns: 1fr 1.25fr; }
.ksys_footer_left { padding: 70px 70px 60px; border-right: 1px solid rgba(255,255,255,.12); display: flex; flex-direction: column; gap: 60px; }
.ksys_f_logo { display: inline-flex; align-items: center; }
.ksys_f_logo svg { width: 200px; display: block; }
.ksys_f_logo svg .logo_navy { fill: #fff; }
.ksys_f_info { display: flex; flex-direction: column; gap: 8px; }
.ksys_f_dl { display: grid; grid-template-columns: 120px 1fr; gap: 18px; align-items: start; font-size: 14px; line-height: 1.6; }
.ksys_f_dl dt { color: rgba(255,255,255,.45); font-weight: 500; margin: 0; }
.ksys_f_dl dd { color: rgba(255,255,255,.86); font-weight: 500; margin: 0; word-break: keep-all; }
.ksys_f_dl_wide dt { color: rgba(255,255,255,.35); }
.ksys_f_dl_wide dd { color: rgba(255,255,255,.75); }
.ksys_f_gap { padding-top: 18px; }
/* height 대신 padding */
.ksys_f_copy { margin-top: auto; font-size: 13px; color: rgba(255,255,255,.35); }
.ksys_footer_right { padding: 70px 70px 60px; display: flex; flex-direction: column; }
.ksys_footer_sitemap { width: 100%; display: flex; gap: 10px; }
/* mega_nav footer override */
.ksys_footer_sitemap .menu { background: transparent; color: #fff; }
.ksys_footer_sitemap .menu { width: 100%; display: flex; flex-direction: column; gap: 0px; }
.ksys_footer_sitemap .menu_a { font-size: 18px; font-weight: 700; padding: 0 0 20px; color: #fff; }
.ksys_footer_sitemap .sub_menu_wrap { display: flex; flex-direction: column; gap: 10px; }
.ksys_footer_sitemap .sub_menu a { font-size: 15px; margin: 0 0 10px 0; font-weight: 500; color: rgba(255,255,255,.45); }
.ksys_footer_sitemap .sub_menu a:hover { color: rgba(255,255,255,.85); }
.ksys_footer_line { margin-top: 54px; width: 100%; border-top: 1px solid rgba(255,255,255,.14); }
.ksys_footer_slogan { margin-top: 54px; display: flex; flex-direction: column; gap: 40px; }
.ksys_footer_slogan_txt { font-size: 36px; font-weight: 700; line-height: 1.25; color: #fff; letter-spacing: -0.02em; }
.ksys_footer_lang { display: flex; align-items: center; gap: 18px; font-size: 18px; font-weight: 700; }
.ksys_footer_lang_a { color: rgba(255,255,255,.6); text-decoration: none; transition: color .18s ease, opacity .18s ease; }
.ksys_footer_lang_a:hover { color: #fff; }
.ksys_footer_lang_a.on { color: #fff; }
.ksys_footer_lang_bar { color: rgba(255,255,255,.25); }
.ksys_footer_sitemap .menu_08 span{padding: 0px  ; border-radius: 0px; border: none;}

/* responsive */


@media (max-width:1800px) {
	.top_nav .menu { width: 110px; }
	.top_nav .menu_08 { width: 200px; }
}
@media (max-width:1500px) {
	.ksys_footer_top { grid-template-columns: 1fr; }
	.ksys_footer_left { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
	.ksys_footer_sitemap .mega_nav_wrap { grid-template-columns: repeat(4, minmax(0,1fr)); row-gap: 36px; }
}
@media screen and (max-width:1400px) {
	.logo_wrap { position: relative; padding-top: 20px; FONT-WEIGHT: 200; top: auto; }
	.header_mid { padding: 0; width: 100%; display: flex; justify-content: space-between; top: 0; }
	.top_nav { display: none }
	.top_nav_wrap { border: inherit; background: transparent; }
	.scroll .top_nav_wrap { background: transparent; border: inherit; }
	.lang_all_wrap { top: 28px; right: calc(5% + 70px); }
	.header_top_box_ico { top: 22px}
	.header_wrap { padding: 0 0 36px 0; }
	.m_menu_btn_wrap { margin-top: auto; }
	.open .header_mid { padding: 0 220px 80px }
	.header_show .sub_menu_wrap { padding-left: 140px; }
	.header_show .menu_a { width: 120px; }
	.header_show .sub_menu { min-height: inherit; }
}
@media (max-width:820px) {
	.ksys_footer_left, .ksys_footer_right { padding: 40px 5%; }
	.ksys_f_dl { display: flex; flex-direction: column; gap: 4px; margin-bottom: 16px; width: 100%; }
	.ksys_footer_sitemap .mega_nav_wrap { grid-template-columns: repeat(2, minmax(0,1fr)); column-gap: 32px; }
	.ksys_footer_slogan_txt { font-size: 28px; }
	.ksys_footer_sitemap{ display: none; }
    .ksys_footer_line { display: none; }
    .ksys_f_logo svg {
    width: 120px;
    display: block;
}


}
@media (max-width:420px) {
	.ksys_footer_sitemap .mega_nav_wrap { grid-template-columns: 1fr; }
	.ksys_footer_lang { font-size: 16px; }

}
