@charset "utf-8";

.main_visual {
  position: relative;
  height: 100vh;
  overflow: hidden;
}

.main_vis img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.txt_main {
  position: absolute;
  z-index: 10;
  top: 32vh;
}

/* 슬라이드 이미지 확대/축소 애니메이션 */
.main_vis img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 5s ease;
  transform: scale(1);
}

.main_visual .swiper-slide-active img {
  transform: scale(1.1);
  animation: zoomOut 5s forwards;
}

@keyframes zoomOut {
  0% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}

.swiper-fade .swiper-slide img {
  transition: opacity 0.8s ease, transform 5s ease;
}

/* 메인비주얼 텍스트 아래서 위로 올라옴 */
.section0_txt {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}

.sec0_txt1,
.sec0_txt2 {
  overflow: hidden;
}

.sec0_txt2 {
  height: 85px;
  display: flex;
  align-items: center;
}

.sec0_txt1 p {
  opacity: 0;
  transform: translateY(50px);
  animation: txt_show 1s ease forwards;
}

.sec0_txt2 p {
  opacity: 0;
  transform: translateY(50px);
  animation: txt_show 1s ease forwards;
}

@keyframes txt_show {
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 화살표 버튼 스타일  */
.main_visual .swiper_page_arrow {
  position: relative;
  z-index: 5;
  width: 77px;

}
.main_visual .swiper_page_arrow .mid {
  position: relative;
  left: 35px;
  bottom: 1px;
  color: #fff;
}

.slide-num-container {
  width: fit-content;
  z-index: 2;
}

.swiper-button-prev,
.swiper-button-next {
  position: static;
  width: 30px;
  height: 30px;
  margin: 0;
  background: transparent;
  cursor: pointer !important;
}

.swiper-button-prev i,
.swiper-button-next i {
  color: #fff;
  font-size: 14px;
}

.swiper-button-prev:after,
.swiper-button-next:after {
  display: none;
}

/* 프로그레스 라인 */
.slide-progress {
  position: relative;
  width: 315px;
  height: 1px;
  background-color: #acacac;
  margin: 0 10px;
  overflow: hidden; /* 추가 */
}

.slide-progress::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #fff;
}

.slide-progress.animate-progress::after {
  animation: progressAnimation 4.3s linear forwards;
}

@keyframes progressAnimation {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

.scroll-down {
  position: absolute; /* 명시적으로 position 설정 */
  z-index: 5; /* 너무 높은 z-index 수정 */
  bottom: 86px;
  left: 50%;
  transform: translateX(-50%);
}

/* 스크롤다운 바운스 애니메이션 */
.scrolldown {
  animation: bounce 2s infinite;
  color: #ffffff84;
  display: inline-block; /* 추가 */
}

@keyframes bounce {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
}

/* Swiper 관련 추가 스타일 */
.mySwiper {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}

.swiper-wrapper {
  width: 100%;
  height: 100%;
}

/* 터치 이벤트 관련 */
.swiper-slide {
  touch-action: pan-y;
  user-select: none;
}

/*************************/
.main_sect1 {
  padding: 120px 0;
}
.ms1_content1 {
  margin-top: 110px;
}
.ms1_box1 {
  width: 24%;
  cursor: pointer;
}
.ms1_box1:hover .ms1_box1 img {
  filter: brightness(0.8);
}

.ms1_box1 {
  width: 24%;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.ms1_box1 {
  width: 24%;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  border-radius: 10px;


}
.ms1_box1 .img_wrap{
  background-color: #fff;
  transition: all 0.3s ease;
}
.hover_text:hover{
  font-weight: bolder;
  transform: scale(1.03);
}
/* 전체 박스에 어두워지는 오버레이 */
.ms1_box1 .img_wrap::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
width:100%;
height:80%;
  border-radius: 10px;
  background-color: rgba(0, 0, 0, 0.3);

  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 2;
  pointer-events: none;
}

/* 호버 시 오버레이 표시 */
.ms1_box1 .img_wrap:hover::after {
  opacity: 1;
}

.ms1_box1:hover .ms1_box1_img img {
  transform: scale(1.05);
}

/* + 아이콘 표시 */
.ms1_box1::after {
  content: '';
  position: absolute;
  top: 45%;
  left: 50%;
  width: 60px;
  height: 60px;
  background: url('../img/ms1_box_hover.png') no-repeat center center;
  background-size: contain;
  transform: translate(-50%, -50%) scale(0);
  opacity: 0;
  transition: all 0.3s ease;
  z-index: 3; 
  pointer-events: none; 
}

/* 호버 시 + 아이콘 표시 */
.ms1_box1:hover::after {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}

/* 이미지 컨테이너 스타일 */
.ms1_box1_img {
  width: 100%;
  overflow: hidden;
}

.ms1_box1_img img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease;
}

.ms1_box1 p {
  position: relative;
  z-index: 1;
}

/*************************/
.main_sect2 {
  background-image: url('../img/ms2_bg.webp');
  height: 562px;
  background-size: cover;
  background-repeat: no-repeat;
}


/* 프로그레스 바 CSS 변수 사용 방식으로 변경 */
.progress-bar2 {
  display: inline-block;
  width: 100px;
  height: 1px;
  background: #ffffff86;
  margin: 0 10px;
  position: relative;
  vertical-align: middle;
}

.progress-bar2-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;
  background: #ffffff;
  transition: width 0.3s ease;
}

/* 슬라이더 컨테이너 스타일 */
.ms2_pagination {
  width: 30%;
  bottom: -60px;
  position: relative;
}

.ms2_partners {
  overflow: hidden;
  width:68%;
  position: relative;
  top: -67px;
}

.partner-cards {
  width: 100%;
}

.partner-card {
  margin: 0 10px
}

.partners-arrow {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: 1px solid #ddd;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  transition: all 0.3s ease;
  color: #fff;
}

.partners-arrow:hover {
  background-color: #f5f5f5;
  color:#000 
}

/* 슬릭 기본 스타일 오버라이드 */
.slick-list {
  overflow: hidden;
}

.slick-track {
  display: flex !important;
}

.slick-slide {
  height: inherit !important;
}





/*************************/
.main_sect3 {
  background-image: url('../img/ms3_bg.webp');
  background-repeat: no-repeat;
  background-size: cover;
  height: 468px;
}
.ms3_left {
  margin: auto 0;
}

.ms3_right {
  /*width: 875px;*/
}

.ms3_right.bd-left-d7,
.ms3_right.bd-right-d7,
.ms3_right .bd-left-d7,
.ms3_right .bd-right-d7 {
  border-color: #ffffff5f !important;
}
.ms3_rightbox {
  width: calc(100% / 3);
}

.ms3_icon img {
}

.ms3_icon {
  margin-right: auto;
  padding-left: 50px;
  height: 70px;
}

.ms3_rightbox p {
  width: 70%;
}

/*************************/
.main_sect4 {
  padding: 100px 0;
}
.ms4_left_box {
  background-color: #0b2065;
  padding: 45px;
  height: 175px;
  border-radius: 20px;
}
.ms4_right_box {
  border-radius: 20px;
  padding: 45px;
  position: relative;
  height: 175px;
  overflow: hidden;
  z-index: 1;
}

.ms4_right_box::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/ms4_right_bg.webp);
  background-size: cover;
  background-repeat: no-repeat;
  z-index: -1;
  transition: transform 0.5s ease;
  transform-origin: center center;
}

.ms4_right_box:hover::before {
  transform: scale(1.2);
}

.fixed_icon {
  bottom: 50px;
  right: 100px;
  z-index: 999999;
}

.call_icon {
  border: 1px solid #fff;
  background-color: #0b2065;
  padding: 10px 20px;
  min-height: 83px;
  border-radius: 20px;
}

.call_icon a {
  padding: 10px 20px;
  border-radius: 16px;
  background-color: white;
}

/* mobile */
@media screen and (max-width: 766px) {
.img_wrap {
  overflow:hidden
}
.img_wrap  img{
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
}

  .slick-slide img {
   display: block;
   width: 100%  !important;
   height: 100% !important;
 }

  .slide-progress {
    width: 246px;
  }
  .fixed_icon {
    bottom: 10px;
    right: 15px;
    z-index: 999999;
  }
  .call_icon {
    border: 1px solid #fff;
    background-color: #0b2065;
    padding: 10px 9px;
    min-height: 66px;
    border-radius: 12px;
  }

.main_sect1 {
  padding: 55px 0;
}

.ms1_box1{
  width: 49%;
  margin-bottom: 20px;
}
  .ms2_partners {
    overflow: hidden;
    width: 100%;
    position: relative;
    top: 48px;
  }
  .ms2_pagination {
    top: 52px;
    /*display: flex !important;*/
    align-items:center;
    width: 100%;
    bottom: unset;
    /* width: 30%; */
    /* bottom: -60px; */
    /* position: relative; */
  }
  .partners-arrow {
    width: 35px;
    height: 35px;
    margin: 20px 0;
  }

  .swiper_page_arrow{
    width:fit-content
  }

  .partner-card{
    width: 150px;
  }
.ms3_right{
  padding-bottom:30px
}
  .ms3_icon {
    margin-right: unset;
    padding-left: unset;
    height: 70px;
  }
  .ms3_icon img{
    transform:scale(0.6);
  }
  .ms3_rightbox p {
    width: 90%;
  }
  .ms3_rightbox br{
    display:none;
  }
  .ms3_rightbox{
    justify-content: start !important;

  }
  .main_sect3 {
    height: 351px;
  }
  .main_sect4 {
    padding: 50px 0;
  }
  .ms4_left_box {
    background-color: #0b2065;
    padding: 20px;
    height: 136px;
    border-radius: 20px;
  }
.ms4_right_box {
  border-radius: 20px;
  padding: 19px;
  position: relative;
  height: 139px;
  overflow: hidden;
  z-index: 1;
}
.ms4_left_icon1,
.ms4_left_icon2,
.ms4_right_icon1,
.ms4_right_icon2{
  transform: scale(0.6);
}


}

/* tablet 세로기준 */
@media screen and (min-width: 767px) and (max-width: 1023px) {
  .img_wrap {
    overflow:hidden
  }
  .img_wrap  img{
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
  }

  .slick-slide img {
    display: block;
    width: 100%  !important;
    height: 100% !important;
  }
    .main_sect2 {
      height: 809px;
    padding: 10px 0
  }
  .ms2_partners {
    top: -6px;
  }
  .ms2_pagination {
    bottom: -128px;
  }
  .partners-arrow {
    width: 40px;
    height: 40px;
  }

  .ms2_partners {
    overflow: hidden;
    width: 100%;
    position: relative;
    top: 48px;
  }
  .ms2_pagination {
    top: 52px;
    /*display: flex !important;*/
    align-items:center;
    width: 100%;
    bottom: unset;
    /* width: 30%; */
    /* bottom: -60px; */
    /* position: relative; */
  }
  .partners-arrow {
    width: 35px;
    height: 35px;
    margin: 20px 0;
  }

  .swiper_page_arrow{
    width:fit-content
  }

  .partner-card{
    width: 150px;
  }


  .ms3_right{
    padding-bottom:30px
  }
  .ms3_icon {
    margin-right: unset;
    padding-left: unset;
    height: 70px;
  }
  .ms3_icon img{
    transform:scale(0.6);
  }
  .ms3_rightbox p {
    width: 90%;
  }
  .ms3_rightbox br{
    display:none;
  }
  .ms3_rightbox{
    justify-content: start !important;

  }
  .main_sect3 {
    height: 443px;
  }

}

/* 태블릿 아이패드미니 가로부터 ~ , 노트북 : 11인치  ~ 15인치 */
@media screen and (min-width: 1024px) and (max-width: 1440px) {
  .ms3_right {
    width: 61%;
  }
  .ms2_partners {
    overflow: hidden;
    width: 68%;
    position: relative;
    top: 20px;
  }
  .slick-slide img {
    display: block;
    width: 242px !important;
  }
  .ms3_right {
    width: 61%;
  }
  .fixed_icon {
    bottom: 25px;
    right: 38px;
    z-index: 999999;
  }

  .none1{
    display: none;
  };
}
