@charset "utf-8";
/* =========================================================
   HEADER LAYOUT
========================================================= */
.header_all_wrap { width: 100%; position: absolute; top: 0px; left: 0px; z-index: 1004; background-color: #fff; position: fixed; }
.header_all_wrap a { display: block; }
.header_wrap { width: 100%; padding: 0 50px; position: relative; top: 0px; left: 0px; z-index: 5; transition: 0.5s; }
.header_mid { position: relative; top: 0px; left: 0px; padding: 0 250px; }
/* =========================================================
   LOGO
========================================================= */
.logo_wrap { position: absolute; left: 0px; width: 100%; max-width: 145px; top: 20px; }
.logo { position: relative; top: 0px; left: 0px; width: 100%; }
/* =========================================================
   LANGUAGE SWITCHER
========================================================= */
.lang_all_wrap { display: inline-block; vertical-align: middle; padding: 0 10px 0 0; text-align: left; position: fixed; margin-top: 19px; right: 130px; z-index: 9999; }
.lang_box { border-radius: 100px; position: relative; top: 0px; left: 0px; background-color: #f6f6f6 }
.lang_box .lang_box_a { font-size: 14px; padding: 0px 40px 0 20px; height: 36px; line-height: 36px; color: #000; position: relative; top: 0px; left: 0px; }
.lang_box .lang_box_a:after { content: ""; position: absolute; right: 15px; top: 6px; width: 0px; height: 0px; border-left: 5px solid transparent; border-right: 5px solid transparent; border-bottom: 5px solid #000; transform: rotate(180deg); transition: all .3s ease }
.lang_sub_wrap { display: none; border: 1px solid #83c01d; position: absolute; top: 100%; left: 0px; width: 100%; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; background-color: #fff }
.lang_sub_box a { font-size: 13px; color: #333; padding: 0 20px; height: 30px; line-height: 30px; }
.lang_sub_box a:hover { color: #83c01d }
.lang_wrap:hover .lang_box { background-color: #83c01d; border-radius: 5px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; }
.lang_wrap:hover .lang_box_a:after { transform: rotate(0deg); border-bottom: 5px solid #fff; }
.lang_wrap:hover .lang_box_a { color: #fff }
.lang_wrap:hover .lang_sub_wrap { display: block; }
/* =========================================================
   TOP NAV (DESKTOP)
========================================================= */
.top_nav { position: relative; top: 0px; left: 0px; font-size: 0px; text-align: center; z-index: 1; padding-top: 0px; padding-left: 60px; }
.top_nav:after { content: ""; display: block; height: 0; clear: both; visibility: hidden; }
.top_nav .menu { width: 200px; position: relative; top: 0px; left: 0px; display: inline-block; vertical-align: top; height: 100%; }
.top_nav .menu_a { padding: 0px; font-size: 18px; color: #000; height: 80px; padding: 0 5px; font-weight: 400; display: flex; flex-direction: row; align-content: center; justify-content: flex-start; align-items: center; }
.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: left; max-width: 100%; position: relative; top: 0px; left: 0px; }
.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 40px 0 !important; white-space: nowrap; min-height: 250px; }
.top_nav .sub_menu_a { line-height: 1.4; font-size: 15px; color: #aaa; text-align: left; border-bottom: none; padding: 10px 0; -webkit-transition: none; transition: none; font-weight: 300; }
.top_nav .sub_menu_wrap > div:hover .sub_menu_a, .top_nav .sub_menu_wrap > div.active .sub_menu_a { color: #83c01e; font-weight: 500; -webkit-transition: none; transition: none; }
.top_nav .menu:hover .menu_a, .top_nav .menu.active .menu_a span { color: #83c01e; font-weight: 900; }
.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 .menu:hover > .sub_menu_wrap { display: block; }
.top_nav .menu:focus-within > .sub_menu_wrap { display: block; }
.top_nav .menu.active > .sub_menu_wrap { display: block; }
.header_show_wrap { display: none; }
.top_nav:hover .sub_menu_wrap { display: none !important; }
.top_nav .menu:hover > .sub_menu_wrap, .top_nav .menu:focus-within > .sub_menu_wrap { display: block !important; }


/* =========================================================
   SUB PANEL: 선택한 메뉴만 내려오게 (전체 배경 내려오는 현상 방지)
========================================================= */

/* (1) 메뉴를 기준점으로 */
.top_nav .menu { position: relative; }

/* (2) 서브메뉴를 레이아웃에서 분리: header를 밀지 않게 */
.top_nav .sub_menu_wrap {
    position: absolute !important;
    top: 80px;              /* .menu_a height가 80px이라서 그 아래로 */
    left: 0;
    width: 200px !important; /* menu 폭(200px)만큼만 패널 */
    min-height: auto;        /* 필요하면 제거/조정 */
    padding: 18px 0 18px 0 !important;
    background: #fff;        /* "해당 메뉴만" 배경 */
  
    display: none;
    z-index: 1006;
}

/* (3) 전체 hover 시 전부 닫고, 해당 메뉴만 열기 */
.top_nav:hover .sub_menu_wrap { display: none !important; }
.top_nav .menu:hover > .sub_menu_wrap,
.top_nav .menu:focus-within > .sub_menu_wrap,
/* .top_nav .menu.active > .sub_menu_wrap { display: block !important; } */

/* (4) 서브 항목 레이아웃 정리 (세로 리스트) */
.top_nav .sub_menu_wrap > div { display: block; }
.top_nav .sub_menu_a { padding: 10px 0; }

/* =========================================================
   HEADER MEGA (DESKTOP EXPANDED)
========================================================= */
.header_show_wrap { border-top: 1px solid #eee; position: relative; top: 0px; left: 0px; z-index: 3; display: none; width: 100%!important; height: auto!important; }
.header_show .menu { position: relative; top: 0px; left: 0px; }
.header_show .menu_a { font-size: 30px; color: #000; position: absolute; top: 26px; left: 0px; font-weight: 700; opacity: 0.05; width: 220px; text-align: right; }
.header_show .sub_menu_wrap { padding-left: 250px; }
.header_show .sub_menu_wrap { display: flex; flex-direction: row; flex-wrap: nowrap; }
.header_show .sub_menu { padding: 30px 35px 30px; text-align: center; /* border-left: 1px solid #eee; */-webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
.header_show .sub_menu_a { font-size: 18px; color: #000; font-weight: 600; }
.header_show .thd_menu { padding-bottom: 10px; }
.header_show .thd_menu_a { font-size: 15px; color: #666; font-weight: 400; line-height: 1.4; }
.header_show .top_nav .thd_menu_a:hover { color: #83c01d; }
.header_show .sub_menu:hover { background-color: #fafafa }
.header_all_wrap:hover .header_show_wrap { display: none; }
/* =========================================================
   MOBILE MENU BUTTON
========================================================= */
.m_menu_btn_wrap { display: inline-block; padding: 0; text-align: center; }
.m_menu_btn_wrap { position: absolute; top: 15px; right: 30px; 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 { display: block; padding: 5px 15px; }
.m_menu_btn { display: flex; align-items: center; }
.m_menu_btn span { display: inline-block; position: relative; top: 0px; left: 0px; }
.hd_menu { width: 30px; height: 10px; border-top: 2px solid #000000; border-bottom: 2px solid #000000; }
.hd_search svg { width: 20px; fill: #000000; }
/* =========================================================
   MOBILE MENU WRAP
========================================================= */
.m_menu_wrap { width: 100%; height: 100%; position: fixed; top: 0px; left: 9999px; bottom: 0; z-index: 9999; background-color: #222; }
.m_menu_wrap a { display: block; color: #fff; }
.m_menu_inner { transform: translateY(-50%); position: relative; top: 45%; }
.m_menu_wrap .menu_a.void_link.menu_on:after { transform: rotate(-225deg); }
.m_menu_wrap .sub_menu_wrap { display: none; width: 100%!important; font-size: 24px; text-align: left; height: auto !important; }
.m_menu_wrap .sub_menu_wrap .sub_menu_a:first-child { border-top: none; }
.m_menu_wrap .menu_a:hover { color: #83c01e; }
.m_menu_wrap .sub_menu_wrap .sub_menu_a:hover { color: #fff; }
.m_menu_wrap .menu_a.menu_on { color: #83c01e; }
/* close */
.m_close_wrap { position: relative; top: 0px; left: 0px; padding: 20px; text-align: center; }
.m_close_btn { width: 40px; height: 30px; position: relative; top: 0px; left: 0px; display: inline-block!important; }
.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 }
/* menu list */
.m_menu { padding: 20px 5% }
.m_menu { display: grid; row-gap: 20px; column-gap: 0px; grid-template-columns: repeat(1, 1fr); align-items: stretch; }
.m_menu .menu { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: flex-start; justify-content: space-between; border-bottom: 1px solid rgba(255, 255, 255, 0.1); padding-bottom: 20px; gap: 20px; position: relative; }
.m_menu .menu_a { display: flex; flex-wrap: nowrap; align-items: center; font-size: 18px; font-weight: 800; width: 210px; white-space: nowrap; }
.m_menu .sub_menu_wrap { width: 100%!important; display: none; }
.m_menu .sub_menu { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: flex-start; justify-content: space-between; gap: 50px; padding-bottom: 15px; }
.m_menu .sub_menu:last-child { padding-bottom: 0; }
.m_menu .sub_menu_a { display: flex; flex-wrap: nowrap; align-items: center; font-size: 18px; font-weight: 600; line-height: 1.4; white-space: nowrap; padding: 0; }
.m_menu .thd_menu_wrap { display: flex; width: 100%; row-gap: 20px; column-gap: 50px; flex-wrap: wrap; }
.m_menu .thd_menu_a { height: 100%; width: 100%; display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 300; line-height: 1.4; opacity: 0.8; }
.m_menu .menu:hover .menu_a span { color: #83c01e; }
.m_menu .sub_menu:hover .sub_menu_a span { color: #83c01e; }
.m_menu .thd_menu_a:hover { opacity: 1 }
.m_menu .thd_menu_a:hover span { color: #ffb300; }
/* =========================================================
   SUB NAV (CONTEXT NAV)
========================================================= */
.sub_menu_a { display: block; }
.sub_nav_wrap .menu { display: none; }
.sub_nav_wrap .menu.active { display: block; }
.sub_nav_wrap .menu_a { display: none; }
.sub_nav_wrap .sub_menu { display: none; }
.sub_nav_wrap .sub_menu_a { display: none; }
.sub_nav_wrap .sub_menu.active { display: block; }
.sub_nav_wrap .thd_menu_wrap { font-size: 0px; }
.sub_nav_wrap .thd_menu { display: inline-block; padding: 5px }
.sub_nav_wrap .thd_menu_a { padding: 0px; font-size: 16px; color: #fff; padding: 5px 15px; font-weight: 400; display: block; border: 1px solid rgba(255, 255, 255, 0.5); text-align: center; border-radius: 100px; }
.sub_nav_wrap .thd_menu_a:before { content: ''; display: inline-block; height: 100%; vertical-align: middle; margin-right: -0.27em; font-size: large; display: none; }
.sub_nav_wrap .thd_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; min-width: 90px; }
.sub_nav_wrap .thd_menu_a:hover { background-color: #fff; color: #222; }
.sub_nav_wrap .thd_menu.active .thd_menu_a { background-color: #fff; border-color: #fff; color: #222 }
.sub_nav_wrap .sub_menu_02 .thd_menu_04 .thd_menu_a { background-color: #1361ac; border-color: #1361ac; color: #fff }
/* =========================================================
   HEADER STATES
========================================================= */
.sub .header_bar { display: none; }
.sub .m_menu_btn span { color: #83c01e; }
.sub .hd_search svg { fill: #000; }
.sub .hd_menu { border-top: 2px solid #000; border-bottom: 2px solid #000; }
.open .header_all_wrap { background-color: #fff; }
.open .logo svg .cls-1 { fill: #fff }
.open .top_nav .menu_a span { color: #fff; }
.open .header_bar { display: block; }
.open .header_wrap { background:  rgb(123,190,64); }
.open .header_wrap * { color: #fff; }
.open .active .active span { color: #fff ; font-weight: 900; }
.open .top_nav .menu:hover .menu_a, .open .top_nav .menu.active .menu_a span { color: #fff; }
.open .logo_wrap svg * { fill: #fff; }
.open .m_menu_btn span { color: #83c01e; }
.open .hd_menu { width: 30px; height: 10px; border-top: 2px solid #fff!important; border-bottom: 2px solid #fff!important; }
.sub_open .hd_menu { border-top: 2px solid #000; border-bottom: 2px solid #000; }
.sub_open .m_menu_btn span { color: #83c01e; }
.scroll .header_all_wrap { background-color: #fff; }
.scroll .logo svg .cls-1 { fill: #83c01d }
.scroll .header_bar { display: block; }
.scroll .open .top_nav .menu_a span { color: #fff; }
.scroll .m_menu_btn span { color: #83c01e; }
.scroll .hd_menu { border-top: 2px solid #000; border-bottom: 2px solid #000; }
.w_tp .logo_on { display: inline-block; }
.w_tp .logo_off { display: none; }
.w_tp .m_menu_btn:before { background-color: #222; }
.w_tp .m_menu_btn:after { background-color: #222; }
.w_tp .m_menu_wrap .lang_box .lang_box_a:after { border-color: #fff !important; }
/* =========================================================
   FOOTER BASE
========================================================= */
.footer_all_wrap { width: 100%; background: #000!important; color: #fff; }
.footer_wrap { width: 100%; display: grid; grid-template-columns: 2fr 3fr; }
.footer_left_wrap { display: flex; flex-direction: column; padding: 50px 100px; }
.footer_left_wrap .footer_left_logo_wrap { height: 130px; }
.footer_left_wrap .footer_left_office_wrap { line-height: 1.5; margin-bottom: 38px; }
.footer_left_wrap .footer_left_office_wrap p { font-size: 16px; color: rgb(123,190,64) }
.footer_left_wrap span { font-size: 16px; color: rgba(255, 255, 255, 0.502); }
.footer_left_wrap .footer_left_info_wrap { line-height: 1.5; padding: 50px 0 0px; }
.footer_left_wrap .footer_left_info_wrap b { font-size: 16px; color: rgb(123,190,64); margin-right: 15px; }
.footer_right_wrap { width: 100%; border-left: 1px solid #333; }
.footer_right_upper_wrap { display: grid; padding: 50px 100px 200px 50px; grid-template-columns: 1fr 1.2fr 1fr 1fr 1fr; }
.footer_right_upper_wrap .menu { width: 175px; margin-right: 25px; }
.footer_right_upper_wrap .menu_a { display: block; font-size: 18px; line-height: 2.0; color: #fff; padding-bottom: 10px; }
.footer_right_upper_wrap .thd_menu_wrap { display: none; }
.footer_right_upper_wrap .sub_menu_a { display: block; margin-bottom: 20px; }
.footer_right_upper_wrap .sub_menu_a span { color: rgba(255, 255, 255, 0.502); font-size: 18px; line-height: 1.5; margin: 20px 0; }
.footer_right_under_wrap { padding: 50px 5% 120px 50px; border-top: 1px solid #333; }
.footer_right_under_wrap2 { display: flex; justify-content: space-between; }
.footer_right_under_wrap h2 { font-size: 30px; line-height: 1.2; font-weight: 700; }
.footer_right_inquiry_wrap { display: flex; flex-direction: column-reverse; }
.footer_right_under_wrap .footer_right_under_lang { margin-top: 120px; }
.footer_right_under_wrap .footer_right_under_lang .on { color: #fff; }
.footer_right_under_wrap .footer_right_under_lang span { color: rgba(255, 255, 255, 0.502); }
.footer_right_under_wrap .footer_right_under_lang .binder { margin: 0 15px; }
/* =========================================================
   FOOTER MID NAV (LEGACY)
========================================================= */
.footer_mid_wrap { width: 100%; margin: 0 auto; position: relative; top: 0px; left: 0px; padding-bottom: 50px; }
.footer_mid:after { content: ""; display: block; height: 0; clear: both; visibility: hidden; }
.footer_mid_left { float: left; width: auto; text-align: left; }
.footer_mid_copy { font-size: 14px; color: #fff; line-height: 1.6; font-weight: 300; }
.footer_mid_right { float: right; width: auto; display: inline-block; padding: 0; font-size: 0px; text-align: right; display: flex; }
.footer_mid_right * { color: #fff; }
.footer_mid_right .menu { float: left; padding: 0 10px; width: auto; text-align: center; /* border-left: 1px solid rgba(255, 255, 255, 0.2); */ }
.footer_mid_right .menu:first-child { border-left: none; }
.footer_mid_right .menu_a { font-size: 18px; }
.footer_mid_right .sub_menu_wrap { display: none; padding-top: 10px; font-size: 16px; }
.footer_mid_right .sub_menu { padding: 0 0 20px 0; }
.footer_mid_right .sub_menu_wrap a { font-weight: 300; opacity: 0.7 }
.footer_mid_right .menu.menu_02 .sub_menu { padding: 0 }
.footer_mid_right .menu.menu_02 .sub_menu_a { display: none; }
.footer_mid_right .thd_menu { padding: 6px 0 }
.footer_mid_list li a:hover { color: #fff; }
.footer_mid_tit { font-size: 16px; font-weight: 600; }
.footer_mid_list { padding-top: 20px }
.footer_mid_nav { float: left; padding: 20px 30px 0; }
.footer_mid_nav a { font-size: 14px; line-height: 2; font-weight: 300; color: #aaa; }
.footer_mid_nav:last-child { padding-right: 0; }
.footer_info { color: rgba(255, 255, 255, 0.6); padding-bottom: 5px; }
.footer_info b { color: #fff; padding-right: 10px; }
.footer_info_h { color: #fff; }
.footer_info_flx { display: flex; gap: 15px; }
.footer_ft_box_wrap { display: flex; align-items: flex-end; }
.footer_ft_box_in { position: relative; }
.footer_ft_box_in .lang_box .lang_box_a:after { border-color: #fff!important; }
.footer_safty { color: #888; }
.footer_safty_main_on { display: none; }
.footer_logo_wrap svg { width: 100%; max-width: 200px; }
.footer_logo_wrap svg .st0 { fill: #fff }
.footer_logo_wrap svg .st1 { fill: #001533 }
.footer_label_txt { font-size: 32px; line-height: 1.4; color: #fff; font-weight: 600; }
.footer_label_txt_kr { font-size: 14px; line-height: 1.4; color: #fff; font-weight: 400; opacity: 0.7 }
.footer_ft_all_wrap { padding-top: 50px; line-height: 1.4; }
.footer_ft_box { float: left; width: 50%; }
.footer_lang_sub_wrap { display: flex; gap: 20px; }
.footer_lang_sub_wrap .footer_lang_sub_box.on a { color: #83c01e!important; font-weight: 700!important; }
.footer_lang_sub_box a { color: #999; }


/* =========================================================
   FIX: TOP NAV 서브메뉴가 전체 배경 밀고 내려오는 현상 해결
   목적: "호버한 메뉴의 서브만" 작은 패널로 내려오게
========================================================= */

/* 0) 헤더가 서브를 가리지 않게 */
.header_all_wrap,
.header_wrap,
.header_mid,
.top_nav { overflow: visible !important; }

/* 1) 기본값: 모든 서브는 무조건 닫기 */
.top_nav .sub_menu_wrap { display: none !important; }

/* 2) 메뉴가 기준점 */
.top_nav .menu {
    position: relative !important;
    padding: 0 20px;
}

/* 3) 서브 패널을 레이아웃에서 분리해서 (absolute) 헤더가 밀리지 않게 */
.top_nav .menu > .sub_menu_wrap{
    position: absolute !important;
    top: 80px !important;         /* .menu_a 높이가 80이면 그대로, 다르면 조정 */
    left: 0 !important;

    width: 200px !important;      /* menu 폭만큼만 */
    min-height: auto !important;

    background:  rgb(123,190,64) !important;
   

    padding: 20px !important;
    white-space: nowrap !important;
border-radius: 0 0 8px 8px;
    z-index: 2000 !important;
}

/* 4) 호버한 메뉴만 열기 */
.top_nav .menu:hover > .sub_menu_wrap,
.top_nav .menu:focus-within > .sub_menu_wrap{
    display: block !important;
}

/* 5) 서브 항목 정리 */
.top_nav .menu > .sub_menu_wrap > div{ display: block !important; }
.top_nav .sub_menu_a{ display: block; }

/* 6) 혹시 기존에 전체폭으로 강제하는 규칙들 무력화 */
.top_nav .sub_menu_wrap{
    height: auto !important;
    text-decoration: none !important;
}
