.main{
    background-color: #fafafa;
    position: relative;
}
.main .center2{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    gap: 1.5vw 0;
}
.main .video_box{
    font-size: 0;
}
.main .video_box img{
    width: 100%;
}
.scroll_down {
  position: absolute;
  right: 5%;
  bottom: 10%;
  gap: 1.5vw 0;
}
.scroll_down p{
    transform: rotate(90deg);
}
.scroll_down span {
  display: block;
  width: 1px;
  height: 80px;
  background-color: #ffffff;
  box-sizing: border-box;
  border-radius: 30px;
  margin-top: 15px;
  position: relative;
}
.scroll_down span:after {
  content: " ";
  width: 11px;
  height: 11px;
  border-radius: 5px;
  background-color: #fff;
  position: absolute;
  left: 50%;
  top: 10%;
  transform: translateX(-50%);
  animation: scroll_down infinite 1.5s ease-in-out;
}
@keyframes scroll_down {
  100% {
    top: 85%;
  }
}

/* main_section1 */
.main_section1{
    padding: 165px 0 160px;
    background-color: #fafafa;
}
.ms1_title{
    gap: 1vw 0;
}
.ms1_con{
    margin-top: 70px;
}
.ms1_con li{
    padding: 70px 0 60px;
    background-color: #fff;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
    width: 31%;
    gap: 40px 0;
    transition: all .5s;
}
.ms1_con li:hover{
    background-color: #2e1032;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
}
.ms1_con li:first-child{
    border-top-left-radius: 100px;
}
.ms1_con li:last-child{
    border-bottom-right-radius: 100px;
}
.ms1_con .txts{
    gap: 10px 0;
}
.ms1_con .txts p{
    color: #222;
}
.ms1_con li:hover .txts p{
    color: #fff;
}
.ms1_con .icons {
}
.ms1_con .icons img {
}
.ms1_con .wt_icon {
    display: none;
    opacity: 0;
    visibility: hidden;
}
.ms1_con .bk_icon {
    opacity: 1;
    visibility: visible;
    display: block;
}
.ms1_con li:hover .wt_icon {
    opacity: 1;
    visibility: visible;
    display: block;
}
.ms1_con li:hover .bk_icon {
    opacity: 0;
    visibility: hidden;
    display: none;
}
.ms1_con .btns p{
    color: #959595;
    border: 1px solid #c2c2c2;
    padding: 7.5px 29px;
    border-radius: 50px;
}
.ms1_con li:hover .btns p{
    color: #fff;
    border: 1px solid #fff;
}

/* main_section2 */
.main_section2{
    background-color: #fafafa;
    position: relative;
}
.ms2_img {
    position: absolute;
    bottom: 7%;
    left: 0;
}
.ms2_img img{
    width: 100%;
}
.ms2_wrap{
    padding: 155px 0 140px;
    background-color: #fff;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
    border-top-left-radius: 200px;
}
.ms2_con{
    justify-content: flex-end;
}
.ms2_con ul{
    width: 55%;
}
.ms2_con li{
    padding-bottom: 90px;
    gap: 10px 0;
    width: 50%;
}
.ms2_con .list1{
    padding-bottom: 20px;
    width: 100%;
}
.ms2_con .pp_cc{
    position: relative;
}
.ms2_con .pp_cc::after{
    position: absolute;
    content: "";
    border-radius: 50%;
    width: 14px;
    height: 14px;
    background-color: #2e1032
}

/* main_section3 */
.main_section3{
    background-color: #879199;
}
.ms3_wrap{
    padding: 155px 0 195px;
    background-color: #fafafa;
    border-bottom-left-radius: 200px;
}
.ms3_wrap .center1{
    position: relative;
}
.ms3_title{
    gap: 80px 0;
    align-items: flex-start;
}
.ms3_title .btns{
    gap: 0 1vw;
}
.ms3_title .imgs{
    position: relative;
}
.ms3_title .imgs img{
    position: relative;
    z-index: 2;
}
.ms3_title .circle{
    position: absolute;
    width: 60px;
    height: 60px;
    background-color: #fff;
    border-radius: 50%;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
    right: -110%;
    top: 45%;
    transform: translate(-50%,-50%);
    z-index: 1;
}
.ms3_container {
  position: relative;
    width: 90%;
    right: -40%;
}
.myTeamSwiper .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
}
.myTeamSwiper img {
    width: 100%;
}
.ms3_con li{
    border-radius: 10px;
    transition: all .5s;
}
.ms3_con li .imgs{
    width: 100%;
    height: 30vw;
}
.ms3_con li .imgs img{
    height: 100%;
    object-fit: cover;
}
.ms3_con .txt_box{
    background-color: rgba(0,0,0,0.5);
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 15px;
    display: none;
}
.ms3_con li:hover .txt_box{
    display: block;
}
.ms3_con .txt_box i{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}
.ms3_con .txts{
    position: absolute;
    bottom: 5%;
    width: 100%;
    gap: 20px 0;
}
.ms3_con .txts .line{
    width: 100%;
    height: 1px;
    background-color: #fff;
}
.custom-nav {
    margin-top: 30px;
    display: flex;
    align-items: center;
    gap: 20px 0;
    position: relative;
    left: 0;
}
.custom-prev,
.custom-next {
  font-size: 20px;
  color: #959595;
  cursor: pointer;
  padding: 5px 10px;
  user-select: none;
}
.custom-line {
  width: 1px;
  height: 14px;
  background-color: #959595;
}




.ms3_con .swiper-slide img {
    width: 100%;
    height: auto; /* 이미지의 종횡비를 유지하게 합니다. */
    display: block; /* 이미지 하단에 생기는 알 수 없는 여백을 제거 */
    border-radius: 20px;
}

/* 개별 슬라이드 아이템의 기본 너비/최대 너비 설정 */
.ms3_con .swiper-slide {
    flex-shrink: 0; /* flex 컨테이너 안에서 줄어들지 않도록 */
    
    /* PC/태블릿에서 슬라이더 비활성화 시 (1-2개일 때) 적용될 최대 너비 */
    /* JS에서 slide.style.maxWidth = '350px' 와 일치시켜야 합니다. */
    width: 350px; /* 슬라이더 비활성화 시 명확한 기본 너비 제공 */
}


/* main_section4 */
.main_section4{
    background-image: url(../img/ms4_bg.webp);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 173.5px 0;
}
.ms4_con{
    gap: 25px 0;
}
.ms4_con .line{
    width: 34px;
    height: 2px;
    background-color: #fff;
}
.ms4_con .btns p{
    margin-top: 25px;
    padding: 9.5px 29px;
    background-color: #ffffff;
    border: 1px solid #c2c2c2;
    box-sizing: border-box;
    border-radius: 50px;
}

/* mobile */
@media screen and (max-width: 767px){ 

    /* main */
    .main .video_box{
        height: 800px;
    }
    .main .video_box img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .main .center2{
        gap: 20px 0;
    }
    .scroll_down{
        gap: 10px 0;
    }
    .scroll_down span{
        height: 50px;
    }
    .scroll_down span:after{
        width: 8px;
        height: 8px;
    }

    /* main_section1 */
    .main_section1{
        padding: 80px 0 100px;
    }
    .ms1_con {
        margin-top: 40px;
        flex-direction: column;
        gap: 20px 0;
    }
    .ms1_con li{
        padding: 50px 0 40px;
        width: 100%;
        gap: 20px 0;
    }
    .ms1_con .icons{
        width: 50px;
    }
    .ms1_con .icons img{
        width: 100%;
    }
    .ms1_con .btns p{
        padding: 7.5px 22px;
    }

    /* main_section2 */
    .ms2_wrap{
        padding: 100px 0;
        border-top-left-radius: 100px;
    }
    .ms2_con{
        margin-top: 30px;
        justify-content: flex-start;
    }
    .ms2_con ul {
        width: 100%;
    }
    .ms2_con li {
        padding-bottom: 50px;
    }
    .ms3_con li .imgs{
        height: 115vw;
    }
    .ms2_con .pp_cc::after{
        width: 9px;
        height: 9px;
    }

    /* main_section3 */
    .ms3_wrap{
        padding: 100px 0;
        border-bottom-left-radius: 100px;
    }
    .ms3_title{
        gap: 30px 0;
    }
    .ms3_container{
        margin-top: 40px;
        position: unset;
        width: 100%;
    }
    .ms3_title .circle{
        width: 30px;
        height: 30px;
        right: -50%;
    }
    .custom-nav {
        margin-top: 15px;
    }
    .custom-line{
        height: 10px;
    }
    
    .ms3_con .swiper-slide {
        /* JS의 slidesPerView: 1 에 맞춰 너비 조절 */
        width: 100%; /* 모바일에서는 부모 너비에 꽉 차게 */
        margin: 0 auto; /* 중앙 정렬 (필요시) */
    }

    /* main_section4 */
    .main_section4{
        padding: 100px 0;
    }
    .ms4_con{
        gap: 15px 0;
    }
    .ms4_con .btns p {
        margin-top: 15px;
        padding: 9.5px 22px;
    }
}

/* tablet */
@media screen and (min-width: 768px) and (max-width: 1024px){
    /* main */
    .main .video_box{
        height: 800px;
    }
    .main .video_box img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .main .center2{
        gap: 25px 0;
    }
    .scroll_down{
        gap: 15px 0;
    }
    .scroll_down span{
        height: 55px;
    }
    .scroll_down span:after{
        width: 10px;
        height: 10px;
    }

    /* main_section1 */
    .main_section1{
        padding: 100px 0 120px;
    }
    .ms1_con {
        margin-top: 45px;
    }
    .ms1_con li{
        padding: 60px 0 50px;
        gap: 25px 0;
    }
    .ms1_con .icons{
        width: 50px;
    }
    .ms1_con .icons img{
        width: 100%;
    }
    .ms1_con .btns p{
        padding: 7.5px 25px;
    }

    /* main_section2 */
    .ms2_wrap{
        padding: 100px 0 120px;
        border-top-left-radius: 150px;
    }
    .ms2_con{
        margin-top: 35px;
        justify-content: flex-start;
    }
    .ms2_con ul {
        width: 100%;
    }
    .ms2_con li {
        padding-bottom: 55px;
    }
    .ms3_con li .imgs{
        height: 35vw;
    }
    .ms2_con .pp_cc::after{
        width: 11px;
        height: 11px;
    }

    /* main_section3 */
    .ms3_wrap{
        padding: 100px 0 120px;
        border-bottom-left-radius: 150px;
    }
    .ms3_title{
        gap: 35px 0;
    }
    .ms3_container{
        margin-top: 45px;
        position: unset;
        width: 100%;
    }
    .ms3_title .circle{
        width: 35px;
        height: 35px;
        right: -50%;
    }
    .custom-nav {
        margin-top: 20px;
    }
    .custom-line{
        height: 15px;
    }

    /* main_section4 */
    .main_section4{
        padding: 100px 0 120px;
    }
    .ms4_con{
        gap: 20px 0;
    }
    .ms4_con .btns p {
        margin-top: 20px;
        padding: 9.5px 25px;
    }
}