/* 헤더 */
#header
{position:static; left:0; top:0; width:100%; height:var(--header-height); background:#fff; z-index:9999; ; border-bottom:1px solid #eee; transition:all 0.25s ease;}
#header.header_scroll
{position:fixed; background:#fff;}
#header .header-inner
{padding:0 20px; height:100%;}
#header .header-wrap
{display:flex; justify-content:space-between; align-items:center; max-width:1600px; margin:0 auto; height:100%;}
#logo a
{display:inline-block; padding:12px 0;  z-index:999; position:relative;}
#logo a img
{display:inline-block; vertical-align:middle;}
/* NAVI :: 공통 */
.menu-area {
    max-width:1240px;
    margin:0 auto;
}

@media screen and (max-width: 1400px) {
  #header .header-wrap { max-width: 100%; }
}


/* NAVI :: 스타일1 (단독 메뉴 스타일 / Each Menu Style) */

/* #nav.each-menu-style03 > ul:before 
{content:''; position:absolute; left:0; width:100%; background:#fff; height:300px; opacity:0; visibility:hidden; transition:all 0.3s ease;}
#nav.each-menu-style03.over > ul:before 
{opacity:1; visibility:visible;} */


#nav.each-menu-style03 > ul > li
{float:left;}
#nav.each-menu-style03 > ul > li > a
{position:relative; display:block; padding:0 55px; height:80px; line-height:80px; font-size:19px; color:#000; font-weight:500; transition:all 0.25s ease;}
#nav.each-menu-style03 > ul > li > a:after
{opacity:0; visibility:hidden; content:''; width:100%; height:1px; background:#ddd; position:absolute; bottom:0; left:0; transition:all 0.25s ease;}
#nav.each-menu-style03 > ul > li .submenu
{ display:none; position:absolute; left:0; width:100%; top:var(--header-height);  padding:2rem 0; background:#fff; z-index:9999; box-shadow:2px 2px 7px rgba(0,0,0,0.1);}
#nav.each-menu-style03 > ul > li .submenu.active
{display:block; }
#nav.each-menu-style03 > ul > li .submenu > ul 
{display:flex; width:100%; height:100%; max-width:var(--full-container); margin:0 auto; flex-wrap:wrap; justify-content: center;}
#nav.each-menu-style03 > ul > li .submenu > ul > li
{display:flex; align-items:start;}
#nav.each-menu-style03 > ul > li .submenu > ul > li.submenu01 
{width:100%}
#nav.each-menu-style03 > ul > li .submenu > ul > li.submenu02 
{width:60%}
#nav.each-menu-style03 > ul > li .submenu > ul > li.submenu03
{width:35%}
#nav.each-menu-style03 > ul > li .submenu > ul > li.submenu04 
{width:40%}
#nav.each-menu-style03 > ul > li .submenu > ul > li:last-child
{border-bottom:0;}
#nav.each-menu-style03 > ul > li .submenu > ul > li > a
{display:block;  font-size:1.9rem;font-weight:300; color:#000; transition:all 0.25s ease; max-width:16rem; margin-right:9rem;}
#nav.each-menu-style03 > ul > li .submenu > ul > li > a:hover 
{font-weight:600;}
/* 사업분야 쪽만 */
#nav.each-menu-style03 > ul > li.gnb2 .submenu > ul 
{justify-content:space-between;}
#nav.each-menu-style03 > ul > li.gnb2 .submenu > ul > li > a
{font-size:2.1rem; font-weight:700; color:#000; max-width:none; margin-right:3rem; border-right:1px solid #ddd; position:relative; width:20rem; }
#nav.each-menu-style03 > ul > li.gnb2 .submenu > ul > li.active > a 
{color:var(--main-color)}
/* 3차 카테고리 */
#nav.each-menu-style03 > ul > li .submenu-3dep
{width:calc(100% - 20rem); text-align:left; display:flex;}
#nav.each-menu-style03 > ul > li .submenu-3dep > li 
{flex-grow:1; margin:0 2rem 5rem 0;}
#nav.each-menu-style03 > ul > li .submenu-3dep > li > a 
{font-size:1.8rem; color:#093d21; font-weight:700; margin-bottom:2rem; display:block;}
#nav.each-menu-style03 > ul > li .submenu-3dep > li.active > a 
{color:var(--main-color)}
/* 4차 카테고리 */
#nav.each-menu-style03 > ul > li .submenu-4dep li 
{margin-bottom:1rem;}
#nav.each-menu-style03 > ul > li .submenu-4dep li a 
{font-size:1.7rem; color:#4e4e4e; font-weight:400;}
#nav.each-menu-style03 > ul > li .submenu-4dep li a:hover 
{color:var(--main-color); font-weight:400;}
#nav.each-menu-style03 > ul > li:hover > a:after
{opacity:1; visibility: visible;;}

#header.header_scroll 
{height:var(--header-fixed-height)}
#header.header_scroll #nav.each-menu-style03 > ul > li > a 
{height:60px; line-height:60px;}
#header.header_scroll #nav.each-menu-style03 > ul > li .submenu
{top:var(--header-fixed-height)}


/* 유틸박스 */
#util-wrap 
{display:flex; align-items:center;}
#util-wrap .language
{margin-right:30px; position:relative;}
#util-wrap .language .cur 
{font-size:17px; font-weight:500; color:#222; padding-bottom:10px; cursor:pointer; }
#util-wrap .language .cur:after
{content:'\f078'; font-family:'Font Awesome 5 Free'; font-weight:900; margin-left:10px; display:inline-block; transition:all 0.3s ease;}
#util-wrap .language .dropdown-list 
{opacity:0; visibility:hidden; position:absolute; border:1px solid #ddd; border-radius:10px; top:30px;  width:100%; z-index:999; transition: all 0.3s ease;}
#util-wrap .language .dropdown-list li 
{text-align:center; background:#fff; }
#util-wrap .language .dropdown-list li:first-child 
{border-radius:10px 10px 0 0;}
#util-wrap .language .dropdown-list li:last-child 
{border-radius:0 0 10px 10px;}
#util-wrap .language .dropdown-list li a 
{display:inline-block; padding:8px 0; text-align:Center; width:100%; font-size:14px; color:#000}
#util-wrap .language .dropdown-list li:hover
{background:#f4f4f4;}

#util-wrap .language.active .dropdown-list 
{opacity:1; visibility:visible;}
#util-wrap .language.active .cur:after 
{transform:rotate(180deg);}

#util-wrap .sitemap-open-btn
{display:block; cursor:pointer}
#util-wrap .sitemap-open-btn .row
{width:25px; height:3px; border-radius:15px; display:block; background:#222; margin:5px 0px; position:relative; z-index:99; text-align:right;}
#util-wrap .sitemap-open-btn .row:first-child 
{width:20px; margin:5px 0px 5px 5px}
#header.on #util-wrap .sitemap-open-btn .row
{background:#222;}
#header.header_scroll #util-wrap .sitemap-open-btn .row
{background:#222;}
#util-wrap .nav-open-btn
{display:none; top:24px; right:15px; z-index:99999999;}
#util-wrap .nav-open-btn .line
{width:25px; height:3px; background:#333; border-radius:15px; display:block; margin:5px 0; transition:all 0.25s ease;}
#util-wrap .nav-open-btn.active .line
{background:#000;}
#util-wrap .nav-open-btn.active .line1
{transform:translateY(5px) rotate(45deg);}
#util-wrap .nav-open-btn.active .line3
{transform:translateY(-11px) rotate(-45deg)}
#util-wrap .nav-open-btn.active .line2
{opacity:0;}
#header.header_scroll #util-wrap .nav-open-btn .line
{background:#000;}


@media screen and (max-width:1300px){
    #nav > ul > li > a
    {font-size:16px; padding:0 30px;}
}
@media screen and (max-width:1023px){
    /* 메뉴, 사이트맵 숨김 */
    #nav
    {display:none;}
    #util-wrap .sitemap-open-btn
    {display:none;}
    #util-wrap .nav-open-btn
    {display:block;}
}


/* SITE MAP :: 공통 (삭제 X) */

/**********************
    *** SITE MAP ***
    스타일  :: Half Style 
    방향    :: 세로 Style 03
***********************/
.siteMap_style03_full
{position:fixed; max-width:900px; width:100%; height:100%;  background-color:#fff; background-position:center; background-size:cover; top:0; right:-600px; z-index:999999; visibility:hidden; opacity:0; transition:all 0.3s}
.siteMap_style03_full .sitemap-area .sitemap-wrap .sitemap-inner
{padding:70px 0px 140px; vertical-align:middle;}
.siteMap_style03_full .sitemap-con .sitemap-tit
{position:relative; margin:0 20px;}
.siteMap_style03_full .sitemap-con .sitemap-tit h1
{font-size:52px; color:#000; font-weight:800;}
.siteMap_style03_full .sitemap-con .sitemap-box
{margin-top:60px;}
.siteMap_style03_full .sitemap-con .sitemap-box > ul
{width: 100%;}
.siteMap_style03_full .sitemap-con .sitemap-box > ul > li
{display:flex; align-items:center; padding:40px 20px; width:100%; border-bottom:1px solid #ddd;}
.siteMap_style03_full .sitemap-con .sitemap-box > ul > li h2
{width:25%; font-size:20px; font-weight:800; color:#000; padding:0 10px 0px 0; line-height:1; transition:all 0.3s ease;}
.siteMap_style03_full .sitemap-con .sitemap-box > ul > li .sitemap-2dep
{display:flex; flex-wrap:wrap; width:75%; /*padding-left:40px;*/}
.siteMap_style03_full .sitemap-con .sitemap-box > ul > li .sitemap-2dep li
{margin:10px 25px 10px 0;}
.siteMap_style03_full .sitemap-con .sitemap-box > ul > li .sitemap-2dep li a
{display:block; color:#888; font-size:17px; font-weight:500;}
.siteMap_style03_full .sitemap-con .sitemap-box > ul > li .sitemap-2dep li a:hover
{color:#000;}
.siteMap_style03_full .sitemap-con .sitemap-box > ul > li:hover h2
{}
.siteMap_style03_full .sitemap-close-btn
{position:absolute; top:7px; right:0; width:40px; height:40px; background:#fff; z-index:9999; transition:all 0.3s; border-radius:50%;}
.siteMap_style03_full .sitemap-close-btn span
{width:25px; height:4px; background:#000; display:block; margin:5px auto; border-radius:5px; transition:all 0.3s;}
.siteMap_style03_full .sitemap-close-btn span.line1
{transform:translateY(3px) rotate(45deg)}
.siteMap_style03_full .sitemap-close-btn span.line2
{transform:translateY(-6px) rotate(-45deg)}
.siteMap_style03_full.open
{visibility:visible; opacity:1; right:0;}
.siteMap_style03_full.open .sitemap-area
{visibility:visible; opacity:1;}
.dimmed_bg
{width:100%; height:100%; background:rgba(0,0,0,0.8); position:fixed; left:0; top:0; right:0; bottom:0; display:none; z-index:9999;}
.dimmed_bg.open {
  display:block;
}
/* GNB MOBILE :: 스타일1 (기본 스타일 / Basic Style) */
.overlay
{display:none; position:fixed; width:100%; height:100%; background:rgba(0,0,0,0.5); left:0; top:0; z-index:999}
.gnb_style_basic
{display:none; position:fixed; right:-280px; width:280px; top:0; background:#fff; height:100%; z-index:999999; transition:0.4s ease;;}
.gnb_style_basic .gnb-mobile-wrapper
{width:100%; height:100%; position:relative; padding:75px 0px;}
.gnb_style_basic .gnb-mobile-wrapper .gnb-mobile-inner
{ width:100%; height:100%;}
.gnb_style_basic #mobile-nav
{width:100%; height:100%;}
.gnb_style_basic #mobile-nav > li
{position:relative; border-bottom:1px solid #ddd;}
.gnb_style_basic #mobile-nav > li > a
{font-size:16px; font-weight:600; color:#222; display:block; height:55px; line-height:55px; padding:0 20px}
.gnb_style_basic #mobile-nav > li > i
{position:absolute; left:0; top:0; width:100%; height:55px; transition:0.4s ease;}
.gnb_style_basic #mobile-nav > li > i:after
{position:absolute; right:10%; top:35%; content:'\f078'; font-family:'Font Awesome 5 Free'; font-weight:900;}
.gnb_style_basic #mobile-nav > li.open i:after
{content:'\f077'}
.gnb_style_basic #mobile-nav .submenu
{display:none;}
.gnb_style_basic #mobile-nav .submenu ul li
{border-top:1px solid #ddd;}
.gnb_style_basic #mobile-nav .submenu ul li a
{display:block; padding:10px 20px; font-size:15px; transition:0.4s ease;}
.gnb_style_basic #mobile-nav > li.open > a
{background:#f4f4f4}
.gnb_style_basic.open
{right:0px;}
@media screen and (max-width:1023px){
    .gnb_style_basic
    {display:block;}
}
.sub-menu-location 
{position:absolute; bottom:0; width:100%; z-index:999;}
.sub-menu-location ul 
{display:inline-flex; background:rgba(0,0,0,0.5);}
.sub-menu-location ul li 
{text-align:center; min-width:15rem;}
.sub-menu-location ul li a 
{display:inline-block; padding:2.5rem 5rem; font-size:1.9rem; color:#fff; font-weight:200; min-width:20rem;}
.sub-menu-location ul li a.on 
{background:var(--main-color); font-weight:500;}


/* 3차 카테고리 */
.sub-menu-location2 
{border-bottom:1px solid #eee;}
.sub-menu-location2 .sub-menu-list .snb li a 
{padding:3rem 2rem;}
.sub-menu-location2 .sub-menu-list .snb li a.on
{color:var(--main-color); font-weight:700;}
.sub-menu-location2 .sub-menu-list .snb li a:hover 
{color:var(--main-color)}
/* 4차 카테고리 */
.sub-menu-location3
{padding:1rem 0;}
.sub-menu-location3 .sub-menu-list .snb li a 
{padding:1.5rem 2rem; margin:0 1rem; min-width:12rem; text-align:center;}
.sub-menu-location3 .sub-menu-list .snb li a.on,
.sub-menu-location3 .sub-menu-list .snb li a:hover
{background:var(--sub-color); color:#fff; border-radius:50px; font-weight:300;}


.sub-menu-list .snb 
{display:flex; justify-content:center;}
.sub-menu-list .snb li a 
{display:inline-block; font-size:1.8rem; color:#333; font-weight:500;}

.sub-menu-con.fixed
{position:fixed; top:var(--header-fixed-height); width:100%; left:0; background:#fff; z-index:9998;}
.sub-menu-con.fixed .sub-menu-location2 .sub-menu-list .snb li a
{padding:1.5rem 2rem; font-size:1.6rem; }
.sub-menu-con.fixed .sub-menu-location3 
{border-bottom:1px solid #eee;}
.sub-menu-con.fixed .sub-menu-location3 .sub-menu-list .snb li a
{font-size:1.6rem; padding:1rem 2rem;}


/* lnb 반응형 */
@media screen and (max-width: 1400px) {
  .sub-menu-list.container { padding: 0 !important; }
  .sub-menu-location { left: 0; }
  .sub-menu-location ul { display: flex; }
  .sub-menu-location ul li { min-width: auto; width: 100%; }
  .sub-menu-location ul li + li { border-left: 1px solid rgba(255, 255, 255, 0.15); }
  .sub-menu-location ul li a { display: block; min-width: auto; padding: 20px 0; font-size: 1.5rem; }
}
@media screen and (max-width: 768px) {
  #subVisual .sub-visual-txt-con h2 { text-align: center; font-size: 3rem !important; }
  #subVisual .sub-visual-txt-con p { text-align: center; font-size: 16px !important; }
  .sub-menu-location3 { padding: 0; }
  .sub-menu-location ul,
  .sub-menu-location2 ul,
  .sub-menu-location3 ul { display: flex; flex-wrap: wrap; }
  .sub-menu-location ul li { min-width: 125px; flex-basis: 160px; }
  .sub-menu-location2 ul li { min-width: 230px; flex-basis: 230px; }
  .sub-menu-location ul li,
  .sub-menu-location2 ul li,
  .sub-menu-location3 ul li { flex-grow: 1; box-sizing: border-box; border-top: 1px solid rgba(255, 255, 255, 0.15); }
  .sub-menu-location ul li + li { border-left: 1px solid rgba(255, 255, 255, 0.15); }
  .sub-menu-location ul li a { padding: 9px 0; }
  .sub-menu-location2 .sub-menu-list .snb li a,
  .sub-menu-location3 .sub-menu-list .snb li a { font-size: 15px; }
  .sub-menu-location3 .sub-menu-list .snb li a { border-radius: 50px; border: 1px solid #ddd; }

  .sub-menu-location2 .sub-menu-list .snb li { border-bottom: 1px solid #ddd; }
  .sub-menu-location2 .sub-menu-list .snb li + li { border-left: 1px solid #ddd; }

  .sub-menu-location2 .sub-menu-list .snb li a { padding: 9px 2rem; width: 100%; text-align: center; }
  .sub-menu-con .sub-menu-location2 .sub-menu-list .snb li a { display: flex; justify-content: center; align-items: center; height: 100%; padding: 7px 2rem; font-size: 1.4rem; }

  .sub-menu-con .sub-menu-location2 .sub-menu-list .snb li a,
  .sub-menu-con.fixed .sub-menu-location2 .sub-menu-list .snb li a { height: 100%; padding: 9px 2rem; font-size: 1.3rem; }
  .sub-menu-con .sub-menu-location3 .sub-menu-list .snb li a,
  .sub-menu-con.fixed .sub-menu-location3 .sub-menu-list .snb li a { font-size: 1.3rem; padding: 9px 5px; line-height: 19px; }

  .sub-menu-con .sub-menu-location3 .snb { flex-wrap: nowrap; }
  .sub-menu-con .sub-menu-location3 .snb li { width: calc(100% / 3) !important;  }
  .sub-menu-con .sub-menu-location3 .sub-menu-list .snb li a { display: flex; align-items: center; justify-content: center; height: 100%; min-width: 100%; border-radius: 0 !important; margin: 0; }
  .sub-menu-location3 .sub-menu-list .snb li a { border-top: none; background-color: #f2f2f2; }
}

@media screen and (max-width: 400px) {
  .sub-menu-con .sub-menu-location3 .sub-menu-list .snb li a { font-size: 1.3rem; }

  .sub-menu-location2 .sub-menu-list .snb li { flex-grow: unset; flex-basis: unset; width: 50% !important; min-width: auto !important; }
  .sub-menu-location2 .sub-menu-list .snb li:last-child { width: 100% !important; }
  .sub-menu-location2 .sub-menu-list .snb li.sub-lnb-full { width: 50% !important; }
  .sub-menu-location2 .sub-menu-list .snb li.sub-lnb-half { width: 100% !important; }
}


/* SUB MOBILE :: 스타일2 (1DEP / 2DEP) */
#sub_m_menu_style_02
{display:none; position:relative; z-index:9; margin:-35px 20px 0 20px;}
#sub_m_menu_style_02 .sub-menu-inner
{height:100%;}
#sub_m_menu_style_02 .sub-menu-inner .dropdown-menu
{height:100%; border-radius:50px; background:#f4f4f4; position:relative; }
#sub_m_menu_style_02 .sub-menu-inner .dropdown-menu.location1 
{background:#00a0e8; margin-bottom:15px;}
#sub_m_menu_style_02 .sub-menu-inner .dropdown-menu .cur-location
{display:block; width:100%; height:100%; text-align:left; color:#222; font-size:17px; font-weight:400; padding:0 40px; position:relative; z-index:9;}
#sub_m_menu_style_02 .sub-menu-inner .dropdown-menu.location1 .dropdown-list li a 
{color:#fff;}
#sub_m_menu_style_02 .sub-menu-inner .dropdown-menu .cur-location span 
{position:relative; line-height:65px; display:block; font-size:19px;}
#sub_m_menu_style_02 .sub-menu-inner .dropdown-menu .cur-location i
{position:absolute; right:20px; top:0; font-size:19px; line-height:65px; transition:all .25s ease;}
#sub_m_menu_style_02 .sub-menu-inner .dropdown-menu.location1 .cur-location span 
{color:#fff;}
#sub_m_menu_style_02 .sub-menu-inner .dropdown-menu.location1 .cur-location i
{color:#fff;}
#sub_m_menu_style_02 .sub-menu-inner .dropdown-menu .dropdown-list
{display:none; position:absolute; top:calc(100% - 30px); width:100%; padding-top:2em; padding-bottom:10px;  border-radius:0 0 50px 50px;  background:#f4f4f4}
#sub_m_menu_style_02 .sub-menu-inner .dropdown-menu.location1 .dropdown-list
{background:#00a0e8;}
#sub_m_menu_style_02 .sub-menu-inner .dropdown-menu .dropdown-list li a
{display:block; padding:9px 40px 15px; font-size:16px; color:#333;;}
#sub_m_menu_style_02 .sub-menu-inner .dropdown-menu.open .cur-location
{z-index:9999;}
#sub_m_menu_style_02 .sub-menu-inner .dropdown-menu.open .dropdown-list 
{z-index:99;}
#sub_m_menu_style_02 .sub-menu-inner .dropdown-menu.open .cur-location i
{transform:rotate(180deg);}

@media screen and (max-width:800px){
    #sub_m_menu_style_02
    {display:block;}
}



#footer .footer-police-con {
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
  padding: 2rem 0;
}
#footer .police-con {
  display: flex;
}
#footer .police-con a {
  font-size: 16px;
  color: #0c0c0c;
  font-weight: 600;
  padding-right: 5rem;
  transition: all 0.3s ease;
}
#footer .police-con a:hover {
  color:var(--main-color)
}
#footer .footer-info-con {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 3rem 0;
}
#footer .footer-info-con .footer-left-con {
  width: 70%;
}
#footer .footer-info-con strong {
  font-size: 18px;
  color: #0c0c0c;
  font-weight: 700;
}
#footer .footer-info-con .info-list {
  margin-top: 2rem;
}
#footer .footer-info-con .info-list li {
  margin: 1rem 0;
}
#footer .footer-info-con .info-list span {
  font-size: 16px;
  font-weight: 500;
  color: #393939;
  padding-right: 1.5rem;
}
#footer .footer-info-con .footer-right-con {
  width: 30%;
  text-align: right;
}
#footer .footer-info-con .footer-right-con p {
  font-size: 16px;
  color: #797979;
  font-weight: 500;
}

@media screen and (max-width: 1400px) {
  .footer-info-con.container { padding: 3rem 10px !important; }

}
@media screen and (max-width: 1024px) {
  #footer .footer-info-con { flex-direction: column; align-items: center; gap: 10px; }
  #footer .footer-info-con .footer-left-con,
  #footer .footer-info-con .footer-right-con { width: 100%; }
}
@media screen and (max-width: 1024px) {
  #footer .footer-info-con strong { display: block; text-align: center; }
  #footer .footer-info-con .info-list li { display: flex; justify-content: center; }
  .footer-right-con { display: flex; flex-direction: column; align-items: center; }
  #footer .police-con { justify-content: center; gap: 20px; }
  #footer .police-con a { padding: 0; }
}

@media screen and (max-width: 768px) {
  #footer .footer-info-con .info-list li {
    flex-wrap: wrap;
    gap: 11px; }
  #footer .footer-info-con .info-list span { padding-right: 0; text-align: center; }
}

@media screen and (max-width: 500px) {
  #footer .police-con { flex-wrap: wrap; gap: 10px; }
  #footer .police-con li { display: flex; justify-content: center; width: calc((100% - 10px) / 2); }
  #footer .police-con a { font-size: 15px; }
}

@media screen and (max-width: 400px) {
  #logo a img { width: 80%; }
  #footer .footer-info-con .info-list span { font-size: 15px; }
}