@charset "utf-8";

/* header MASK */

header.mask{
  box-shadow: 0px 0.5px 15px rgba(0, 0, 0, 0.1);
  background-color: rgb(255, 255, 255, 0.8);
}


header.mask .header-area .logo{
  animation-duration: 0.3s;
  animation-delay: 0s;
  animation-fill-mode: forwards;

  animation-name: headerLogo-Mask;

}

@keyframes headerLogo-Mask{

  0%{
      background: url(../../images/common/logo_w.png) no-repeat;
      background-size: 100% 100%;
  }
  100%{
      background: url(../../images/common/logo_b.png) no-repeat;
      background-size: 100% 100%;
  }

}


header.mask .top-menu-wrapper ul li a{

  animation-duration: 0.3s;
  animation-delay: 0s;
  animation-fill-mode: forwards;

  animation-name: headerTxt-Mask;
}


@keyframes headerTxt-Mask{

  0%{
      color: #fff;
  }
  100%{
      color: #000;
  }

}



header.mask button.btn-totalmenu span{


  animation-duration: 0.3s;
  animation-delay: 0s;
  animation-fill-mode: forwards;

  animation-name: headerMenuBtn-Mask;
}



@keyframes headerBtn-Mask{

  0%{
      background: url(../../images/common/logo_w.png);
      background-size: 100% 100%;
  }
  100%{
      background: url(../../images/common/logo_b.png);
      background-size: 100% 100%;
  }

  }


@keyframes headerMenuBtn-Mask{

  0%{
      background-color: #fff;

  }
  100%{
      background-color: #000;
  }

  }



  /* HEADER */

  header{
    background: transparent;
     position: fixed;
     width: 100%;
     z-index: 99;
     transition: all 0.5s;
 }

 header .bg{
     width: 100%;
     height: 100vh;
     position: fixed;
     left: 0;
     top: 100px;
     background-color: rgba(0, 0, 0, 0.4);

     display: none;
 }

 .header-area{
     color: #fff;

     width: 100%;
     z-index: 99;
 }

 .header-box{
     max-width: 1600px;
     margin: 0 auto;
     padding: 38px 0px 34px 0px;
     vertical-align: middle;
     position: relative;
 }


 /* .header-area h1, */
 .header-area .top-menu-wrapper,
 .header-area .right-btns-wrapper{
     float: left;
 }

 .header-area h1 {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
 }

 .header-area h1 a{
     position: relative;
     display: inline-block;
     overflow: hidden;
 }

 .header-area .logo{
     width: 150px;
     height: 42px;
     background-position: center;
     background: url(../../images/common/logo_w.png) no-repeat;
     background-size: contain;
 }

 .header-area .top-menu-wrapper{
  width: 100%;
  float: none;
  display: flex;
  justify-content: flex-end;
 }

 .top-menu-wrapper{
    /*  margin-left: 90px; */
     z-index: 99;
 }


 .top-menu-wrapper ul::after{
     content: '';
     display: block;
     clear: both;
 }

 .top-menu-wrapper ul{
  width: 70%;
 }

 .top-menu-wrapper ul li{
     float: left;
     /* margin-right: 50px; */
     width: 20%;
 }

 .top-menu-wrapper ul li a{
     position: relative;
     display: block;
     font-size: 20px;
     font-weight: 600;
     color: #fff;
     line-height: 26px;
     text-align: center;
 }

 .top-menu-wrapper ul li a:before {
     position: absolute;
     bottom: -36px;
     left: 50%;
     content: "";
     width: 0;
     height: 4px;
     background-color: #0b56a7;
     transition: 0.2s ease-in-out;
 }

 .top-menu-wrapper ul li a:hover:before {
     left: 0;
     width: 100%;
 }

 header .right-btns-wrapper{
     position: absolute;
     top: 38px;
     right: 20px;

     display: flex;
 }




 header .right-btns-wrapper button{
     width: 25px;
     height: 25px;
     position: relative;
     overflow: hidden;
     display: none;
 }


/*  header .right-btns-wrapper .global-menu{
     margin-right: 30px;
 } */

 header button.btn-mtotalmenu{
    display: none;
 }

 header button.btn-totalmenu span{
    width: 100%;
    height: 3px;
    display: block;
    background-color: #fff;
    position: absolute;
 }

 header button.btn-totalmenu span:nth-child(1){top: 0; right:0; width: 70%;}
 header button.btn-totalmenu span:nth-child(2){top: 50%; right:0; transform: translateY(-50%); width: 90%;}
 header button.btn-totalmenu span:nth-child(3){bottom: 0;}


 header.on{
     background-color: #fff;
 }

 header.on .header-area{
     border-bottom: 1px solid #e9e9e9;
 }

 header.on .header-area ul a{
     color: #000;
 }

 header.on .logo{
     background: url(../../images/common/logo_b.png) no-repeat;
    background-size: contain;
    background-position: center;

 }





 header.on .btn-totalmenu span{
     background-color: #000;
 }

 /* top-submenu >  header-slider*/

 .mtotal-menu-wrapper{
    display: none;
 }


 .top-submenu-wrapper{
     position:absolute;
     background-color: #fff;
     width: 100%;
     padding: 10px 0 40px 0;
     overflow: hidden;

     display: none;

     z-index: 99;
 }

 .top-submenu-area{
     max-width: 1600px;
     width: 100%;
     margin: 0 auto;
     position: relative;
     display: flex;
     justify-content: flex-end;
 }

 

 /* top-submenu */

 header.menunum4 .top-submenu-box{
    float: left;
    /* margin-left: 10px; */
     width: 70%;
 }

 header.menunum4 .top-submenu-box>li{
     float: left;
     width: 20%;
 }

 /* 상단 메뉴 5개일 경우 */

 header.menunum5 .top-submenu-box{
     float: left;
      margin-left: 140px;
      width: calc(100% - 600px);
  }
 header.menunum5 .top-submenu-box>li{
     float: left;
     width: 18%;
 }

 /* //상단 메뉴 5개일 경우 */

 /* 상단 메뉴 6개일 경우 */

 header.menunum6 .top-submenu-box{
     float: left;
      margin-left: 0px;
      width: calc(100% - 350px);
     }

 header.menunum6 .top-submenu-box>li{
         float: left;
         width: 15%;
 }


 header.menunum6 .header-slider-wrapper{
     width: 300px;
     float: right;
 }


 header.menunum6 .header-slider .swiper-wrapper{
     width: 300px;
 }

 header.menunum6 .header-slider .swiper-slide{
     width: 100%;
 }

 /* //상단 메뉴 6개일 경우 */

 .top-submenu-box>li:not(:last-child){
     /* margin-right: 1%; */
 }

 .top-submenu-box h2{
    font-size: 18px;
    line-height: 24px;
    color: #000;
    font-weight: 600;
    text-align: center;
    display: none;
 }

 .top-submenu-box ul{
     /* margin-top: 14px; */
 }

 .top-submenu-box ul li a{
     display: block;
     color: #666666;
     font-size: 15px;
     line-height: 28px;
     text-align: center;

 }

 .top-submenu-box>li.on h2{
     color: #0b56a7;
 }

 .top-submenu-box>li ul li{
  display: flex;
  align-items: center;
  justify-content: center;
 }

 .top-submenu-box>li ul li a{
     position: relative;
     background-color: #fff;
 }

 .top-submenu-box>li ul li:hover a{
     color: #0b56a7;
 }

 .top-submenu-box>li ul li.on a{
     color: #0b56a7;
     overflow: unset;
 }

 .top-submenu-box>li ul li.on a::before{
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    background-color: #0b56a7;
    border-radius: 100%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);

    animation-duration: 0.3s;
    animation-delay: 0s;
    animation-fill-mode: forwards;

    animation-name: menuOn;

 }

 @keyframes menuOn{

     0%{opacity: 0; left: 0%;}
     100%{opacity: 1; left: -15px;}

 }



 @media only all and (max-width: 1023px) {




  /* header MASK */
  
  .header-area h1{
    position: static;
    transform: none;
  }

  header.mask .header-area .logo{
      width: 120px;
       height: 27px;
  }
  
  
  header.mask button.btn-mtotalmenu span{
      animation-duration: 0.3s;
      animation-delay: 0s;
      animation-fill-mode: forwards;
      animation-name: headerMenuBtn-Mask;
   }
  
  
      /* HEADER */
  
      .header-box{
           padding: 19px 20px;
           display: flex;
           align-items: center;
      }
  
      header .header-box .top-menu-wrapper,
      header .header-wrapper .top-submenu-wrapper{
          display: none;
      }
  
      .header-area .logo{
          width: 120px;
          height: 27px;
          background-size: 100% 100%;
      }
  
  
      header .right-btns-wrapper{
       top: 45%;
       right: 20px;
       transform: translateY(-50%);
      }
  
      .right-btns-wrapper .global-menu:before {
         display: none;
      }
  
  
    
  
      header .right-btns-wrapper button{
       width: 20px;
       height: 20px;
       display: block;
      }
  
  
  
      header .right-btns-wrapper button:not(:last-child){
          margin-right: -10px;
      }
  
      header button.btn-totalmenu{
          display: none;
       }
  
      header button.btn-mtotalmenu{
          display: block;
       }
  
       header button.btn-mtotalmenu span{
          width: 100%;
          height: 2px;
          display: block;
          background-color: #fff;
          position: absolute;
       }
  
      header button.btn-mtotalmenu span:nth-child(1){top: 0; right:0; width: 70%;}
      header button.btn-mtotalmenu span:nth-child(2){top: 50%; right:0; transform: translateY(-50%); width: 90%;}
      header button.btn-mtotalmenu span:nth-child(3){bottom: 0;}
  
      header button.btn-mtotalmenu.on span{
          background-color: #000;
      }
  
      .mtotal-menu-bg{
          display: none;
          position: fixed;
          background-color: rgba(0, 0, 0, 0.6);
          top: 0;
          left: 0;
          height: 100vh;
          width: 100%;
          z-index: 998;
      }
  
      .mtotal-menu-wrapper{
          /* display: none; */
          display: block;
          position: fixed;
          top: 0;
          /* right: 0%; */
          right: -100%;
  
          background-color: #fff;
          height: 100vh;
          /* width: 86.1%; */
          width: 76%;
          padding: 30px 5%;
  
          z-index: 999;
      }
  
      /* mtotal-menu CSS */
  
      .mtotal-menu-title{
          display: flex;
          flex-wrap: nowrap;
          align-items: center;
          justify-content: space-between;
      }
  
      .mtotal-menu-tit-left{
          display: flex;
      }
  
      .mtotal-icon{
          width: 28px;
          height: 28px;
  
          /*
          width: 20px;
          height: 20px; */
  
          display: block;
  
      }
  
      /* .mtotal-menu-title .menu-lang{
          display: flex;
          flex-wrap: nowrap;
      }
  
      .mtotal-menu-title .menu-lang button{
          margin-left: 8px;
          padding: 0px 4px;
      }
  
      .mtotal-menu-title .menu-lang button span{
          vertical-align: top;
          line-height: 18px;
          font-family: 'Pretendard';
          font-weight: 600;
          color: #bbbbbb;
          border: none;
          font-size: 16px;
      }
  
      .mtotal-menu-title .menu-lang button.active span{
          color: #111111;
          border-bottom: 1px solid #111;
      } */
  
  
      .mtotal-menu-title .btn-close{
          text-indent: -9999px;
          margin-right: 0px;
          display: block;
  
          /* width: 20px;
          height: 20px; */
  
          width: 28px;
          height: 28px;
  
          background-size: 100% 100%;
          background: url(../../images/common/btn_close_b.svg) no-repeat center center;
      }
  
  
      .mtotal-menu-list{
          margin-top: 70px;
      }
  
      .mtotal-menu-list .topmenu:not(:first-child){
          margin-top: 40px;
      }

      .mtotal-menu-list ul .topmenu{
        padding-bottom: 10px;
        border-bottom: 1px solid #ddd;

      }
  
      .mtotal-menu-list ul h2{
          position: relative;
  
          font-size: 18px;
          /* font-size: 19px; */
          line-height: 126%;
          color: #111;
          font-weight: 700;
          text-align: left;
          cursor: pointer;

      }
  
      .mtotal-menu-list ul h2::after{
          content: '';
          display: block;
  
          position: absolute;
          top: 50%;
          right: 16px;
          transform: translateY(-50%);
  
          width: 12px;
          height: 7px;
          background: url(../../images/common/arrow_down_b.svg) center center no-repeat;
          background-size: contain;
  
          transition: all 0.5s;
      }
  
      /* activeClass */
      .topmenu.active h2::after{
          transform: translateY(-50%) rotate(180deg);
      }
  
      .m-submenu{
          display: none;
          margin-top: 20px;
      }

  
      .m-submenu li a{
        display: block;
        text-align: left;
        color: #333;
        font-size: 16px;
        /* font-size: 16.5px; */
        line-height: 100%;
        /* line-height: 20px; */
        padding-left: 10px;
        padding-top: 4px;
        padding-bottom: 4px;
      }
  
      .m-submenu li:not(:last-child){
          margin-bottom: 14px;
      }
  
      /* mtotal menu 끝 */
      
      
      
      


    }
      
      

    /*--------------------------------------------------------------------------
| Footer
|--------------------------------------------------------------------------*/

/* Footer */
.footer{position:relative;padding:60px 0 70px;background-color:#f5f5f5}
.footer .inner {max-width:1840px;}
.footer__branding {width:200px;}
.footer__branding img{max-width:100%; opacity:1;}
.footer__content{display:flex; align-items:flex-end; justify-content:space-between;}
.footer__left{display:flex; align-items:center;}
.footer__addr{max-width:410px; margin-left:45px;}
.footer__addr-list {display:flex; flex-wrap:wrap; margin:-5px -15px;}
.footer__addr-item{padding:5px 15px; font-size:15px; font-weight:500; color:#333;}
.footer__addr-link {color:#333; line-height:1;}

.footer__bottom {display:flex; align-items:center; justify-content:space-between; padding-top:25px; margin-top:25px; border-top:1px solid #3e3e3e;}
.footer__menu {display:flex;}
.footer__menu-item {}
.footer__menu-item:not(:last-child) {position:relative; padding-right:21px; margin-right:20px;}
.footer__menu-item:not(:last-child)::after {content:""; position:absolute; top:50%; right:0; width:1px; height:10px;background-color:#474747; transform:translateY(-50%);}
.footer__menu-link {font-size:15px; font-weight:500; color:#454545;}
.footer__menu-item.policy .footer__menu-link {color:#111;}
.footer__copyright{font-size:15px; font-weight:500; color:#333;}

/* Footer : Desktop To Top Button */
.btn-desktop-top{position:fixed;bottom:-100px;right:20px;width:60px;height:60px;overflow:hidden;opacity:0;color:#fff;border:0;background-color:#00a651;box-shadow:2px 2px 7px rgba(0,0,0,0.07);transition:background-color .4s, bottom .4s ease-in-out, opacity .4s ease-in-out, transform .4s ease-in-out;z-index:1000;border-radius:3px;transform:scale(0)}
.btn-desktop-top.show{bottom:20px;opacity:1;transform:scale(1)}
.btn-desktop-top__icon{font-size:30px}
.btn-desktop-top__txt{display:inline-block; width:0; height:0; overflow:hidden; font-size:10px; color:transparent;line-height:1; text-indent:-99px}

/* @media (max-width:1280px) {
	.footer {margin-top:20px;}
} */
@media (min-width:1025px) {

	.btn-desktop-top:hover{background-color:#0179d5}
}
@media (max-width:1024px) {
	.footer__left {flex-direction:column; align-items:flex-start;}
	.footer__addr {margin:20px 0 0;}

	.btn-desktop-top {width:50px; height:50px}
}
@media (max-width:768px) {
	.footer {padding:50px 0 60px;}
	.footer__content {flex-direction:column; align-items:flex-start;}
	.footer__addr {margin:20px 0 0;}
	
	.footer__bottom {flex-direction:column; align-items:flex-start;}
	.footer__copyright {margin-top:15px;}
}
@media (max-width:640px) {
    .footer__menu-link{
        font-size: 12px;
    }
	.footer__menu-item:not(:last-child) {padding-right:11px; margin-right:10px;;}
	.footer__copyright {font-size:12px;}
	.btn-desktop-top {width:40px; height:40px;}
}