#s01 {
    /*height: 1080px;*/
    height: 100vh;
}

#s01 .swiper-container {
    /* width: 100%; */
    height: 100%;
    /*background-color: #000;*/
}

#s01 .cover {
    position: absolute;
    top: 0;
    left:0;
    right:0;
    width: 100%;
    height: 100%;
    z-index: 9;
    background-color: rgb(0 0 0 / 10%);
}

#s01 .video-wrapper {
    /*position: absolute;*/
    /*top: 0;*/
    /*left: 0;*/
    /*right: 0;*/

    margin: 0 auto;
    width: 2200px;
    height: 100%;
    width: 100%;
    height: 100%;
    z-index: 1;
}
#s01 .video-layout > div{
    object-fit: cover;
    margin: 0 auto;
}
#s01 .video-layout{
    position: absolute;
    top:0;
    left:0;
    bottom:0;
    right:0;
    z-index: 1;
    /*border-radius: 20px;*/
    /* border: 1px solid red; */
    overflow: hidden;
}

#s01 .video-player {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#s01 .image-slide-wrapper {
    width: 100%;
    height: 100%;
}
#s01 .image-slide-wrapper .bg-img{
    /*display: none;*/
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    background-size: cover;
}


#s01 .cover-wrapper{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 1194px;
    margin: 0 auto;
    pointer-events: none;
    z-index: 999;
}

#s01 .txt-wrapper{
    position: absolute;
    top: 478px;
    left: 0;
}
#s01 .txt-wrapper .txt-big {
    position: relative;
    font-size: 108px;
    font-weight: 500;
    color: white;

    opacity: 0;
    animation: fade-in-up 1s ease forwards;
    animation-delay: 0.5s;
}
#s01 .txt-wrapper .txt-big > span {
    position: absolute;
    top: 86px;
    left: 70px;
    display: inline-block;
    width: 15px;
    height: 2px;
    background-color: white;
}
#s01 .txt-wrapper .txt-small {
    font-size: 18px;
    font-weight: 400;
    color: white;

    opacity: 0;
    animation: fade-in-up 1s ease forwards;
    animation-delay: 1.3s;
}




#s01 .pg-box {
    position: absolute;
    left: 0;
    bottom: 58px;
    text-align: center;
    z-index: 2000;
    pointer-events: all;
}



#s01 .pg-item {
    position: relative;
    display: inline-block;
    width: 46px;
    height: 46px;
    margin: 0 20px;

    cursor: pointer;
}

#s01 .pg-item .circle {}

#s01 .pg-item .rect {
    width: 8.5px;
    height: 8.5px;   
    position: absolute;
    left: 50%;
    top: 50%;
    background-color: white;
    transform: translate(-50%, -50%) rotate(45deg);

    opacity: 0.6;

    transition: opacity 0.2s;
}

#s01 .pg-item:hover .rect {
    opacity: 1;
}
#s01 .pg-item.active .rect {
    opacity: 1;
}


#s01 .scroll-indicator {
    position: absolute;
    padding-top: 20px;
    width: 2px;
    height: 164px;
    right: 78px;
    bottom: 0;
    z-index: 8;
    border-radius: 1px;
    z-index: 2000;
}
#s01 .scroll-indicator::before {
    content: '';
    background: rgba(255,255,255,.15);
    position: relative;
    display: block;
    height: 100%;
}
#s01 .scroll-indicator::after {
    content: '';
    display: block;
    position: absolute;
    background: #fff;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    top: 0;
    left: -1px;
    z-index: 10;
}
#s01 .scroll-indicator .indicator-element{
    height: 80px;
    animation: scroll-indicator 1.5s both infinite;

    width: 100%;
    position: absolute;
    left: 0;
    top: -80px;
    background: #fff;
}


