/* main */
#main_wrap{
    width: 100%;
}
.main{
    position: relative;
/*
    background-image: url(../img/main_img.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
*/
}
.main_video{
    width: 100%;
    position: relative;
}
.main_video::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.6); /* 반투명 검정 레이어 */
    z-index: 1;
}
.main_video video{
    width: 100%;
} 
.main .center1{
/*    height: 100%;*/
    position: absolute;
    transform: translate(-50%);
    left: 50%;
    top: 35%;
    z-index: 2;
}
.main_txt{
    gap: 30px 0;
}
.main_txt p,
.main_txt span{
    overflow: hidden;
    opacity: 0;
    transform: translateY(50px);
    animation: txt_show 1s ease forwards;
}
.main_txt p{
    animation-delay: 0s;
}
.main_txt span{
    animation-delay: .5s;
}
@keyframes txt_show {
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
.main_txt span:after {
    content: " ";
    width: 0; 
    height: 19px;
    background-color: #ffffff;
    position: absolute;
    bottom: -8px;
    left: 0;
    animation: line 1s .7s ease-in-out forwards;
    animation-delay: 1s;
}
@keyframes line {
    100% {
        width: 100%;
    }
}
.scroll{
    position: absolute;
    right: 5%;
    bottom: 5%;
    align-items: flex-end;
    gap: 20px 0;
    z-index: 2;
}
.scroll .line{
    width: 1px;
    height: 71px;
    background-color: #fff;
}
.scroll .txts{
    position: relative;
    height: 30px; 
}
.scroll .txts p{
    position: absolute;
    top: 0;
    right: 0;
    animation: scroll_down infinite 2s ease-in-out;
}
@keyframes scroll_down {
    0% {
    top: 10%;
  }
  50% {
    top: 85%;
  }
  100% {
    top: 10%;
  }
}

/* main_section1 */
.main_section1 {
    padding: 140px 0 50px;
    background-color: #f9f9f9;
}
.main_section1 .center1 {
    position: relative;
    margin: 0 auto;
}
.ms1_title {
    margin-bottom: 135px;
}
/* 스크롤 트리거 영역 */
.about-motion {
    width: 100%;
    height: 600vh;
    position: relative;
}
/* 고정된 슬라이드 컨테이너 */
.about-con {
    width: 100%;
    height: 100vh;
    position: sticky;
    top: 50px;
}
.about-wrap {
    width: 100%;
    height: 100%;
}
.ms1_con {
    width: 100%;
    height: 90%;
}
/* 왼쪽 텍스트 영역 */
.text-section {
    width: 35%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    position: relative;
}
.slide-content {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
    position: absolute;
    top: 60px;
    left: 60px;
    right: 60px;
    bottom: 120px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.slide-content.active {
    opacity: 1;
    transform: translateY(0);
}
.ms1_txt1 {
    gap: 30px 0;
    margin-bottom: 30px;
}
.ms1_txt2 {
    margin-bottom: 40px;
}
.ms1_num {
    gap: 20px; 
}
.ms1_num p:last-child{
    display: flex;
    align-items: flex-end;
}
/* 오른쪽 이미지 영역 */
.image-section {
    width: 60%;
    height: 100%;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
}
.slide-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.slide-image.active {
    opacity: 1;
}
.slide-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
/* 이미지 오버레이 텍스트 */
.image-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 2;
    color: white;
    opacity: 0;
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
    gap: 20px 0; 
}
.slide-image.active .image-overlay {
    opacity: 1;
}

/* main_section2 */
.main_section2{
    padding: 180px 0 265px;
    overflow: hidden;
    width: 100%;
}
.m_title{
    gap: 20px 0;
}
.ms2_con{
    margin-top: 95px;
    position: relative;
}
.ms2_left{
    padding: 60px 0;
    background-color: #6b6b6b;
    width: 48%;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    gap: 100px 0;
}
.ms2_txt{
    width: 50%;
}
.ms2_txt .title .txt2{
    gap: 0 8px;
}
.ms2_txt .title i{
    border: 1px solid #ffffff;
    border-radius: 5px;
    padding: 2px;
}
.ms2_txt .cont{
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e1e1e1;
    gap: 0 3vw;
}
.ms2_txt .cont p{
    color: #acacac;
}
.ms2_txt .cont p.on{
    color: #ffffff;
}
.ms2_right{
    position: absolute;
    width: 100%;
    right: -40%;
    top: 15%;
}
.ms2_card{
    width: 16vw !important;
    padding: 10px;
}
.ms2_card .imgs{
    height: 14vw;
    width: 100%;
}
.ms2_card .imgs img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
.ms2_card .txts{
    gap: 15px 0;
    padding: 1vw;
    background-color: #fff;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
.ms2_pagination{
    display: none !important;
}

/* main_section3 */
.main_section3 {
    width: 100%;
    overflow: hidden;
}
.ms3_con1{
    font-size: 0;
}
.ms3_con2{
    padding: 180px 0 185px;
    position: relative;
}
.ms3_title{
    position: absolute;
    right: 0;
    background-color: #f9f9f9;
    padding: 90px 0 0 5vw;
    width: 35%;
    border-top-left-radius: 20px;
    height: 110%;
    top: -10%;
    z-index: 1;
}
.ms3_con2_sect{
    gap: 15px 0;   
    position: relative;
    z-index: 2;
}
.ms3_con2_box{
    gap: 0 1%;
}
.ms3_con2_box .box1{
    width: 30%;
    border-radius: 20px;
    padding: 1.5vw;
    justify-content: space-between;
}
.ms3_con2_box .box1 .txt1{
    gap: 10px 0;
}
.ms3_con2_box .box1 .txt2{
    gap: 0 10px;
    justify-content: flex-end;
}
.ms3_con2_box .box1_1{
    background-color: #e4d7b9;
}
.ms3_con2_box .box1_2{
    background-color: #ededed;
}
.ms3_con2_box .box2{
    width: 20%;
    aspect-ratio: 1 / 1;
}
.ms3_con2_box .box2 img{
    border-radius: 20px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* mobile */ 
@media screen and (max-width: 767px){ 
    #main_wrap{
        overflow: hidden;
    }
    .main{
        height: 800px;
    }
    .main_video{
        height: 100%;
    }
    .main_video video{
        height: 100%;
        object-fit: cover;
    }

    /* main_section1 */
    .main_section1 {
        padding: 100px 0;
    }
    .ms1_title {
        margin-bottom: 65px;
    }
    .about-motion{
        height: 100%;
    }
    .about-con{
        position: unset;
    }
    .ms1_con{
        flex-direction: column;
        gap: 30px 0;
    }
    .text-section{
        width: 100%;
        height: 100%;
    }
    .ms1_txt1 {
        gap: 15px 0;
        margin-bottom: 15px;
    }
    .image-section{
        width: 100%;
    }
    .slash{
        width: 30%;
    }
    .slash img{
        width: 100%;
    }
    .ms1_num {
        gap: 10px;
    }
    .mobile-nav{
        display: none !important;
    }

    .m_title {
        gap: 10px 0;
    }

    /* main_section2 */
    .main_section2{
        padding: 100px 0;
    }
    .ms2_con {
        margin-top: 55px;
    }
    .ms2_left{    
        padding: 30px 0;
        gap: 50px 0;
        width: 100%;
    }
    .ms2_txt {
        width: 90%;
    }
    .ms2_right{
        margin-top: 30px;
        position: unset;
    }
    .ms2_card{
        width: 50vw !important;
    }
    .ms2_card .imgs {
        height: 43.5vw;
    }
    .ms2_card .txts {
        gap: 5px 0;
        padding: 4vw;
    }
    
    /* main_section3 */
    .ms3_con1 img{
        width: 100%;
    }
    .ms3_title{
        width: 90%;
        margin: auto;
        position: unset;
        padding: 0;
        background-color: #fff;
    }
    .ms3_con2{
        padding: 100px 0;
    }
    .ms3_con2_sect{
        margin-top: 40px;
        gap: 30px 0;
    }
    .ms3_con2_box{
        flex-wrap: wrap;
        gap: 15px 0;
        justify-content: space-between;
    }
    .ms3_con2_box .box1,
    .ms3_con2_box .box2{
        width: 48%;
        aspect-ratio: 1 / 1;
    }
    .ms3_con2_box .box1{
        padding: 0;
    }
    .ms3_con2_box .box1 .txt1,
    .ms3_con2_box .box1 .txt2{
        padding: 3vw;
        gap: 5px;
    }
}

/* tablet */
@media screen and (min-width: 768px) and (max-width: 1024px){
    #main_wrap{
        overflow: hidden;
    }

    /* main_section1 */
    .main_section1 {
        padding: 120px 0;
    }
    .ms1_title {
        margin-bottom: 75px;
    }
    .about-motion{
        height: 100%;
    }
    .about-con{
        position: unset;
    }
    .ms1_con{
        flex-direction: column;
        gap: 35px 0;
    }
    .text-section{
        width: 100%;
        height: 100%;
    }
    .ms1_txt1 {
        gap: 20px 0;
        margin-bottom: 20px;
    }
    .image-section{
        width: 100%;
    }
    .ms1_num {
        gap: 15px;
    }
    .mobile-nav{
        display: none !important;
    }

    .m_title {
        gap: 15px 0;
    }

    /* main_section2 */
    .main_section2{
        padding: 120px 0 120px;
    }
    .ms2_con {
        margin-top: 65px;
    }
    .ms2_left{    
        padding: 35px 0;
        gap: 55px 0;
        width: 100%;
    }
    .ms2_txt {
        width: 90%;
    }
    .ms2_right{
        margin-top: 35px;
        position: unset;
    }
    .ms2_card{
        width: 35vw !important;
    }
    .ms2_card .imgs {
        height: 32vw;
    }
    .ms2_card .txts {
        gap: 10px 0;
        padding: 2vw;
    }

    /* main_section3 */
    .ms3_con1 img{
        width: 100%;
    }
}