section{overflow-x: hidden;}

.section1{
    width: 100%; height: 100vh;
}
.section1 .slide-1{}
.section1 video{
    width: 100%;
    height: 100vh;
    object-fit: cover;
    object-position: center;
    filter: brightness(0.7);
    display: block;
}
.section1 .text-box{
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    color: white;
    text-align: center;
}
.section1 .text-box p{
    font-size: 18px;
    text-transform: uppercase;
    opacity: 0.1;
    transition: 0.5s;
}
.section1 .text-box h1{
    font-size: 60px;
    white-space: nowrap;
    opacity: 0.1;
    transition: 0.5s;
    filter: blur(20px);
    letter-spacing: 10px;
}
@media(max-width:800px){
    .section1 .text-box h1{
        white-space: normal;
        word-break: keep-all;
    }
}

/* 슬라이드 인디케이트 */
.section1 .swiper-pagination{
    position: absolute;
    bottom:50px;
    left:50%;
    transform: translateX(-50%);
    width: auto;
}
.section1 .swiper-pagination-bullet{
    width: 150px; height: 2px;
    border-radius: 0%;
    background-color: transparent;
    border: 1px solid white;
    opacity: 1; transition: 0.5s;
}
.section1 .swiper-pagination-bullet-active::before{
    content: '';
    display: block;
    width: 150px; height: 2px;
    background-color: white;
    border-radius: 0%;
    position: absolute;
    top: 0; left: 0;
    transition: 0.5s;
}

/* 보여지는 슬라이드부분 */
.section1 .swiper-slide-active{}
.section1 .swiper-slide-active .text-box p{
    transition: 0.5s 0.3s;
    opacity: 1;
}
.section1 .swiper-slide-active .text-box h1{
    opacity: 1;
    filter: blur(0);
    letter-spacing: 0;
    transition: 0.5s 0.3s;
}
@media(max-width: 1024px){
    .section1 .text-box h1{
        font-size: 40px;
    }
    .section1 .text-box p{
        font-size: 15px;
    }
    .section1 .swiper-pagination-bullet{
        width: 100px;
    }
    .section1 .swiper-pagination-bullet-active::before{
        width: 100px;
    }
}
@media(max-width: 800px){
    .section1 .swiper-pagination-bullet{
        width: 50px;
    }
    .section1 .swiper-pagination-bullet-active::before{
        width: 50px;
    }
}

.section2{
    height: 100vh;
    display: flex;
    overflow: hidden;
}
.section2>div{
    width: 50%;
}
.section2 .left{
    /* border: 5px solid forestgreen; */
    height: 100%; box-sizing: border-box;
}
.section2 .text{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    width: 80%;
    height: 80%;
    word-break: keep-all;
}
.section2 h2{
    text-align: center;
    color: var(--point-color1);
}
.section2 .text h3{display:none; opacity: 0; top: 20px;}
.section2 .text p{display:none; opacity: 0; top: 20px;}
.section2 .text.active{
    display:flex;
    opacity: 1;
    top:0;
    transition: 1s;
    z-index: 1;
}


.section2 .left_img{
    width: 90%; height: 100%;
    object-fit: cover ;
    position: absolute;
    top:0; left:0;
    transition: 0.5s; opacity: 0;
}
.section2 .left_img.active{
    opacity: 1;
    transform: scale(1.1);
}

.section2 .right{
    padding: 200px 100px;
    box-sizing: border-box;
}
.section2 .text-group{
    /* border: 5px solid red; */
    height: 300px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
.section2 .slide{
    height: 250px;
    width: 90%;
}
.section2 .slide-2{
    height: 100%;
}
.section2 .right .img-box{
    width: 100%;
    top: 40%;
    transform: translateY(-50%);
}
.section2 .right img{
    transition: 0.3s;
    width: 100px;
}
.section2 .right .img1{
    opacity: 0;
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translateX(-50%);
    object-fit: cover;

}
.section2 .right .img2{
    object-fit: cover;
    left: 50%;
    transform: translateX(-50%);
}
.section2 .right p{
    text-align: center;
    top: 25%;
    transform: translateY(-50%);
}

.section2 .btn-line{
    top: 70px;
    transition: 0.5s;
    background-color: var(--point-color1);
    color: white;
    border: 2px solid var(--point-color1);
    opacity: 0;
}
/* .section2 .btn-line::before{
    content:'';
    display: block;
    width: 300px; height: 300px;
    background-color: black;
    position: absolute;
    top: 0; right: 100%;
    transform: rotate(60deg);
} */


.section2 .swiper-slide-active .img1{opacity: 1;}
.section2 .swiper-slide-active .img2{opacity: 0;}

.section2 .slide .btn{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.section2 .btn img{
    width: 20px;
}
.section2 .next-btn{
    right:-50px;
}
.section2 .prev-btn{
    left: -50px;
}
.section2 .text .btn{
    overflow: hidden;
}
.section2 .text .btn-line::before{
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    background-color: white;
    top: 0; right:100%;
    transition: 0.5s;
}
.section2 .text .btn-line:hover::before{
    right:0%;
}
.section2 .text .btn-line:hover{color:var(--point-color1); font-weight: 600;}

@media(max-width:1024px){
    .section2{display: block; height: auto;}
    
    .section2>div{
        width: 100%;
    }
    .section2 .left_img{
        width: 100%;
    }
    .section2 .left{height: 400px;}
    .section2 .right{padding: 30px;}
    .section2 .next-btn{
        right:0px;
    }
    .section2 .prev-btn{
        left: 0px;
    }
    .section2 .slide{
        width: 100%;
    }

    .section2 .text h3{opacity: 1;}
    .section2 .text p{opacity: 1;}
    .section2 .text .btn{opacity: 1;}
}
@media(max-width: 800px){
    .section2 .text{
        white-space: normal;
        word-break: keep-all;
    }

    .section2 .text.active{
        top:30px;
    }
    .section2 .slide-2{
        margin-left: 10px;
        margin-right: 10px;
    }

}
.section2.move .text h3{top:0; display:block; opacity: 1; transition: 0.5s;}
.section2.move .text p{top:50px; display:block; opacity: 1; transition: 0.5s 0.5s;}
.section2.move .text .btn{top:50px; display:block; opacity: 1; transition: 0.5s 1s;}

/* 3 */
.section3{
    background-color: var(--point-color1);
    width: 100%;
    height: 100vh;
    overflow: hidden;
}
.section3 .bg{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0; left: 0;
    
}
.section3 .bg .child{
    position: absolute;
    bottom: 0; left:50%;
    transform: translateX(-50%);
    background: url(img/section3.png) no-repeat;
    background-size: contain;
    background-position: center bottom;
    width: 90%;
    height: 100%;
}
.section3 .bubble-group{
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
}
.section3 .bubble{
    position:absolute;
    width:100px;
    height:100px;
    border:1px solid rgba(255,255,255,0.1);
    border-radius:50%;
    background: radial-gradient(ellipse at center,  rgba(255,255,255,0.5) 0%, 70%);
    box-shadow: inset 0 10px 30px rgba(255, 255, 255, 0.3);
    transition: 0.5s;
  }
  .b1{
    animation: top 3s linear infinite;
    left: 10%;
    top:100%;

  }
  .b2{
    animation: top 4s linear infinite;
    left: 15%;
    top: 30%;
    transform: scale(1);

  }
  .b3{
    animation: top 5s linear infinite;
    left: 20%;
    transform: scale(1.5);
  }
  .b4{
    animation: top 6s linear infinite;
    left: 25%;
    top:90%;
    transform: scale(0.5);

  }
  .b5{
    animation: top 7s linear infinite;
    left: 60%;
    top:30%;
    transform: scale(0.4);

  }
  .b6{
    animation: top 8s linear infinite;
    left:40%;
    top:50%;
    transform: scale(0.3);

  }
  .b7{
    animation: top 9s linear infinite;
    left: 90%;
    top:90%;
    transform: scale(1);

  }
  @keyframes top{
    0% {top: 100%;}
    100% {top: -50%;}
  }

.section3 .cont{
    padding-top: 100px;
    color: white;
}
.section3 .text{text-align: center; top: 20px; opacity: 0;}
.section3 .text1{
    font-weight: 200;
    font-size: 14px;
    margin-bottom: 10px;
    
}

.section3 .text3{
    font-weight: 200;
    font-size: 14px;
    margin-top: 20px;
    margin-bottom: 20px;
    word-break: keep-all;
    padding: 10px;
}

.section3 .arrow{
    opacity: 0;
    top: 20px;
}
.section3 .arrow i{
    text-align: center;
    display: block;
    margin: 0 auto;
    color: white;
    opacity: 0.5;
}
.section3 .arrow i.arrow1{animation: arrow 1s infinite;}
.section3 .arrow i.arrow2{animation: arrow 1s 0.4s infinite;}
.section3 .arrow i.arrow3{animation: arrow 1s 0.8s infinite;}
@keyframes arrow{
    0%{opacity: 1;}
    30%{opacity: 1;}
    40%{opacity: 0.5;}
    100%{opacity: 0.5;}
}

.section3 .btn{    
    opacity: 0;
    top: 20px;
}
.section3 .btn a{
    display: inline-block;
    color: white;
    transition: 0.5s;
    overflow: hidden;
    box-sizing: border-box;
    padding: 20px 30px;
}
.section3 a:hover{
    background-color: white;
    color: var(--point-color1);
}
.section3 a span{
    position: absolute;
    display: block;
}
.section3 a span:nth-child(1){
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg,transparent,white);
    animation: animate1 1s linear infinite;
}
@keyframes animate1{
    0%{
        left: -100%;
    }
    50%,100%{
        left: 100%;
    }
}
.section3 a span:nth-child(2){
    top: -100%;
    right: 0;
    width: 2px;
    height: 100%;
    background: linear-gradient(180deg,transparent,white);
    animation: animate2 1s linear infinite;
    animation-delay: 0.25s;
}
@keyframes animate2{
    0%{
        top: -100%;
    }
    50%,100%{
        top: 100%;
    }
}
a span:nth-child(3){
    bottom: 0;
    right: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(270deg,transparent,white);
    animation: animate3 1s linear infinite;
    animation-delay: 0.50s;
}
@keyframes animate3{
    0%{
        right: -100%;
    }
    50%,100%{
        right: 100%;
    }
}


a span:nth-child(4){
    bottom: -100%;
    left: 0;
    width: 2px;
    height: 100%;
    background: linear-gradient(360deg,transparent,white);
    animation: animate4 1s linear infinite;
    animation-delay: 0.75s;
}
@keyframes animate4{
    0%{
        bottom: -100%;
    }
    50%,100%{
        bottom: 100%;
    }
}

@media(max-width:1024px){
    .section3 .text{opacity: 1;}
    .section3 .arrow{opacity: 1;}
    .section3 .btn{opacity: 1;}
}@media(max-width: 800px){
    .section3{height: 600px;}
}

.section3.move .text{opacity: 1; top: 0px;}
.section3.move .text1{transition: 0.5s;}
.section3.move .text2{transition: 0.5s 0.5s;}
.section3.move .text3{transition: 0.5s 1s;}
.section3.move .arrow{opacity: 1; top:0px; transition: 0.5s 1.5s;}
.section3.move .btn{opacity: 1; top:0px; transition: 0.5s 1.5s;}

/* 4 */
.section4{
    width: 100%;
    height:100vh;
    overflow: hidden;
}
.section4 .container{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    margin: 0; max-width: max-content;
    width: 100%; height: 100%;
}
.section4 .item{
    /* border: 1px solid; */
    top: 100%;

}
.section4 .item img{
    width: 100%;
    object-fit: cover;
    object-position: center;
}
.section4 .item .bg{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0; left: 0;
    background-image: linear-gradient(transparent 70%,white);
}
.section4 .item2 .bg{
    height: 600px;
}

.section4 .item1{
    align-self: flex-end;
}
.section4 .item1 img{
    height: 500px;
}

.section4 .item2 img{
    height: 600px;
}
.section4 .item3{
    align-self: center;

}
.section4 .item3 img{
    height: 500px;
}
.section4 .item4{
    align-self: flex-end;

}
.section4 .item4 img{
    height: 400px;
}
.section4 .text-box{
    position: absolute;
    bottom: 0px; left: 50%;
    transform: translateX(-50%);
    text-align: center;
    opacity: 0;
    white-space: nowrap;
}
.section4 .text-box p{margin: 10px 0;}
.section4 .btn{
    border: 2px solid var(--point-color1);
    background-color: var(--point-color1);
    color: white;
    width: 150px;
    margin: 10px auto;
    padding: 10px;
    transition: 1s;
    overflow: hidden;
}
.section4 .btn::before{
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    background-color: white;
    top: 0; right:100%;
    transition: 0.5s;
}
.section4 .btn:hover::before{
    right:0;
}
.section4 .btn:hover{color:var(--point-color1); font-weight: 600;}

.section4.move .item{
    top:0;
}
.section4.move .text-box{
    bottom: 140px;
    opacity: 1;
    transition: 1s;

}
.section4.move .item1{transition: 0.5s;}
.section4.move .item2{transition: 1s;}
.section4.move .item3{transition: 1.5s;}
.section4.move .item4{transition: 2s;}

@media(max-width: 1024px){
    .section4 .item{top:0;}
    .section4 .text-box{opacity: 1; bottom: 140px;}
}
@media(max-width: 800px){
    .section4{
        height: auto;
    }
    .section4 .text-box{
        white-space: normal;
        word-break: keep-all;
    }
}
/* 5 */
.section5{
    width: 100%;
    height: 100vh;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-template-rows: 60% 40%;
    color: white;
}
.section5 img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.5s;
}
.section5 .section-title{
    position: absolute;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
}
.section5 .item{
    overflow: hidden;
}
.section5 .item::before{
    content: '';

    width: 100%;
    height: 100%;
    position: absolute;
    top: 0; left: 0;
    background-color: black;
    z-index: 1;
    opacity: 0.6;
}
.section5 .item1{
    grid-column: span 2;
}
.section5 .item1 .section-title{
    left: 5%;
}
.section5 .item1 .icon-group{
    position: absolute;
    bottom:10%;
    left: 5%;
    z-index: 2;
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
}
.section5 .item2 .section-title{
    left: 10%;
}
.section5 .item3 .section-title{
    left: 10%;
}
.section5 .icon{
    width: 128px; height: 128px;
    border: 1px solid;
    display: flex; gap: 10px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transition: 0.5s;
    cursor: pointer;
}
.section5 .icon img{
    width: 45px;
    height: 40px;
}

.section5 .item:hover::before{
    background-color: var(--point-color1);
}
.section5 .item2:hover img{
    transform: scale(1.2);
}
.section5 .item3:hover img{
    transform: scale(1.2);
}

.section5 .link-point{
    background-color: white;
    right: inherit;
    left: 20px;
    top: 20px;
}

@media(max-width: 1024px){
    .section5{
        display: flex;
        flex-direction: column;
    }
    .section5 .item1{flex:3;}
    .section5 .item2{flex:1;}
    .section5 .item3{flex:1;}
    .section5 .item1 .section-title{
        top: 20%;
    }
    .section5 .item1 .icon-group{
        width: 90%;
        display: grid;
        grid-template-columns: 50% 50%;
    }
    .section5 .icon{
        width: 100%;
    }
}
@media(max-width: 600px){
    .section5 .item1 .icon-group{
        bottom: 5%;
    }
}

.indi-group{
    position:fixed; top: 50%; left:50px;
    z-index: 100;
    transform: translateY(-50%);
    text-transform: uppercase;
}
.indi{padding: 15px;}
.indi .dot{
    width: 5px; height:5px; background-color: rgba(255,255,255,0.5);
    display: block;
    border-radius: 50%;
    cursor: pointer;
}
.indi .dot::before{
    content: '';
    display: block;
    width: 20px; height: 20px;
    border: 1px solid white;
    border-radius: 50%;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: 0.5s;
}
.indi .name{
    position: absolute; top:50%; left: 60px;
    transform: translateY(-50%);
    white-space: nowrap;
    color: white;
    opacity: 0;
    transition: 0.5s;
}
.page-number{
    position: fixed; top: 50px; left: 50px;
    height: 70px;
    z-index: 100;
    display: flex;
    justify-content: center;
    font-size: 50px;
    border:1px solid;
    overflow: hidden;
}

.indi.active .dot{background-color: white;}
.indi.active .dot::before{opacity: 1;}
.indi.active .name{opacity: 1; left: 40px;}

@media(max-width: 600px){
    .indi-group{
        display: none;
    }
}