/* header start */
header{
    width:100%;
    height:80px;
    min-width:1320px;
    z-index: 99999;
    position: absolute;
    background-color:#fff;
    border-bottom:1px solid #ccc;
}

header.on{
  position: fixed;
  width:100%;
  min-width:1320px;
  top:0;
  left:0;
  background-color:#fff;
}

header .logo{
  position: absolute;
  width:200px;
  top:20px;
  left:0;
  z-index: 9999;
}
.consulting{
  position: absolute;
  top:15px;
  right:0;
  z-index: 9999;
}
.consulting a{
  display:block;
  width:220px;
  font-size:16px;
  color: #fff !important;
  height:50px;
  line-height: 50px;
  background-color: #101e38;
  text-align: center;
  border-radius: 10px;
  transition: all .3s ease-in-out;
  position: relative;
}
.consulting a img{
  width:40px;
  vertical-align: middle;
}
.consulting a:hover{color:#fff;}
.consulting a:hover .box{width:80%; transition: all .3s ease-in-out;}
.box{
  width:0;
  height:2px;
  background-color: #fff;
  position: absolute;
  left:15px;
  bottom:5px;
  transition:all 0.3s ease-out;
}

nav{
    width:100%;
    max-width:1300px;
    min-width:1300px;
    margin:0 auto;
    z-index: 999;
}

.gnb{
    font-size:0;
    width:100%;
    text-align: center;
}
.gnb > li{
    display:inline-block;
    width:120px;
    transition: all .2s ease-in-out;
}

.gnb > li > a:hover:before,
.gnb > li > a:hover:after{width:100%;}
.gnb > li > a{
    color:#101e38;
    font-size:16px;
    text-align: center;
    height:80px;
    line-height: 80px;
    position: relative;
}
.gnb > li > a:before{content:'';
    display:block;
    width:0;
    height:2px;
    position: absolute;
    bottom:-10px;
    left:50%;
    transform: translateX(-50%);
    background-color: #101e38;
    transition: all .3s ease-in-out;
}
.gnb > li > a:after{content:'';
    display:block;
    width:0;
    height:2px;
    position: absolute;
    bottom:-10px;
    right:50%;
    transform: translateX(50%);
    background-color: #101e38;
    transition: all .3s ease-in-out;
}

.sub_menu{
    font-size:0;
    display:none;
    position: absolute;
    z-index:9;
}

.sub_menu a{
    font-size:15px;
    color:#101e38;
    line-height: 50px;
    text-align: left;
    display: block;
    background-color: #fff;
    text-align: center;
    width:120px;
    transition: all .2s ease-in-out;
}
.sub_menu a:hover{background-color: #101e38; color:#fff; transition: all .2s ease-in-out;}

/* header menu active */
/* #top.ac1 .gnb > li:first-child > a,
#top.ac2 .gnb > li:nth-child(2) > a,
#top.ac3 .gnb > li:nth-child(3) > a,
#top.ac4 .gnb > li:nth-child(4) > a{
  color: #101e38;
}
#top.ac1 .gnb > li:first-child > a::after,
#top.ac2 .gnb > li:nth-child(2) > a::after,
#top.ac3 .gnb > li:nth-child(3) > a::after,
#top.ac4 .gnb > li:nth-child(4) > a::after{
  width:100%;
} */

/* header end */

/* visual swiper start */
.visual{
    width:100%;
    height:100%;
    min-width:1320px;
    padding-top:80px;
}
.visual .typo_wrap{
  width:1300px;
  height:640px;
  margin:0 auto;
  position: absolute;
  z-index: 99;
}
.typo{
    position: absolute;
    top:50%;
    left:50%;
    transform: translate(-50%, -50%);
    text-align: left;
    width:100%;
    font-family: 'GmarketSansBold';
    z-index: 99999;
}

.typo > span.up{opacity:1; transform:translate(0,0);}

.typo span{
    color:#fff;
    display:block;
    opacity:0;
    transform:translate(0,100%);
    transition:all 1s ease-in-out;
    font-family:'GmarketSansMedium';
}

.typo span:first-child{
    font-size:40px;
    transition-delay:0s;
}
.typo span:nth-child(2){
    font-size:50px;
    transition-delay:0.5s;
    font-family: 'GmarketSansBold';
}
.typo span:last-child{
    font-size:30px;
    transition-delay:1s;
}
.visual .swiper-slide > img{width:100%; transform:scale(1.1); transition:all 5s ease;}
.visual .swiper-slide.swiper-slide-active > img.zoom{transform:scale(1);}

.visual .mySwiper .swiper-wrapper .swiper-slide.swiper-slide-active span:first-child{animation:text 1s .2s both;}
.visual .mySwiper .swiper-wrapper .swiper-slide.swiper-slide-active span:nth-child(2){animation:text 1s .3s both;}
.visual .mySwiper .swiper-wrapper .swiper-slide.swiper-slide-active span:last-child{animation:text 1s .4s both;}

@keyframes text{
    0%{opacity: 0; transform:translateX(-1920px);}
    100%{opacity: 1; transform: translateX(0);}
}

.visual .swiper {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.visual .swiper-slide {
  width:100%;
  height:100%;
  text-align: center;
  font-size: 18px;
  background: #fff;
  overflow: hidden;
  position: relative;

  /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}
.visual .swiper-slide::before{
  position: absolute;
  content: '';
  width:100%;
  height:100%;
  background-color: rgba(0, 0, 0, .3);
  z-index: 1;
}
.visual .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.visual .swiper .swiper-pagination span{margin:0 3px;}

.visual .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    border:1px solid #fff;
    background: none;
    border-radius: 100%;
}

.visual .swiper-pagination-bullet-active {
    opacity: 1;
    background: #101e38;
}
.visual .swiper .swiper-pagination {
    position: absolute;
    text-align: center;
    -webkit-transition: .3s opacity;
    -o-transition: .3s opacity;
    transition: .3s opacity;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    z-index: 10;
    left:50%;
    bottom:50px;
    transform: translate(-50%, 100%);
}
.visual .swiper-button-prev,
.visual .swiper-container-rtl .swiper-button-next {
    background-image: url("../img/swiper_prev.png");
    left: 10px;
    right: auto;
    width:20px;
}
.visual .swiper-button-next,
.visual .swiper-container-rtl .swiper-button-prev {
    background-image: url("../img/swiper_next.png");
    right: 10px;
    left: auto;
    width:20px;
}
.visual .swiper-button-next,
.visual .swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 40px;
    height: 60px;
    margin-top: -22px;
    z-index: 10;
    cursor: pointer;
    background-size: 40px 60px;
    background-position: center;
    background-repeat: no-repeat
}
/* visual swiper end */

/* section */
.info_box{padding:30px 0; overflow: hidden;}
.info_box li{
  border:2px solid #ccc;
  border-radius: 10px;
  padding:20px 40px;
  height:235px;
  position: relative;
  transition: all .2s ease-in-out;
}
.info_box li p img{width:180px;}
.info_box h3{
  font-size:32px;
  color:#fe494a;
  padding:10px 0;
}
.info_box li p{
  font-size:18px;
  color:#333;
  line-height: 36px;
}
.info_box li:nth-child(2) p:nth-of-type(3){
  margin-top:30px;
  font-size:20px;
  color:#192f59;
}
.info_box li:nth-child(3) p:nth-of-type(3){
  margin-top:30px;
  font-size:20px;
  color:#192f59;
}

.info_box li:hover .info_icon_b{display: none;}
.info_box li:hover .info_icon_w{display: block;}
.info_box li:hover{background-color: #101e38;}
.info_box li:hover p,
.info_box li:hover h3{color:#fff;}
.info_box li:hover p:nth-of-type(3){color:#fff;}

.info_icon_b{
  position: absolute;
  top:30px;
  right:20px;
}
.info_icon_w{
  position: absolute;
  top:30px;
  right:20px;
  display: none;
}
.info_icon_b img{width:100px;}
.info_icon_w img{width:100px;}
/* section */

/* footer */
.footer{
  padding:30px 0;
  background-color: #313639;
}
.footer p{
  font-size:13px;
  color:#ccc;
}
/* footer */

 /* kakao_btn */
.kakaobtn{
  position: fixed;
  bottom:120px;
  right:60px;
  z-index:9999999999999;
  width:50px;
  height:50px;
  border-radius: 40px;
  transition: all 0.5s ease;
  opacity: 0;
}
.kakaobtn.on{opacity: 1;}

.kakaobtn img{
  position: absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
  width:50px;
}


 /* top_btn */
.topbtn{
  position: fixed;
  bottom:60px;
  right:60px;
  z-index:9999999999999;
  width:50px;
  height:50px;
  border-radius: 40px;
  background-color:  #101e38;
  transition: all 0.5s ease;
  opacity: 0;
}
.topbtn.on{opacity: 1;}

.topbtn img{
  position: absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
  width:30px;
}

.topbtn:hover{
  transition: all 0.5s ease;
  background-color: #c9273c;
}
/* top_btn */
