.fixed_banner .index_swiper img, .index_swiper {
    width: 100%;
    height: 100%;
}

.banner {
    width: 100%;
    height: 100vh;
    position: relative;
}

.banner .wrap {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.banner .wrap .text {
    position: absolute;
    left: 144px;
    bottom: 110px;
}

.banner .wrap .text .scroll_y {
    height: 56px;
    overflow: hidden;
}

.banner .wrap .text .scroll_y span {
    transform: translateY(100%);
}

.banner .wrap .swiper-pagination span{
    background: #219081;
}

.banner .wrap .text span {
    font-size: 58px;
    font-family: Roboto B;
    font-weight: 500;
    color: #262626;
    display: block;
    line-height: 56px;
}

.banner .wrap .text .pick {
    font-size: 18px;
    font-family: Avenir;
    font-weight: normal;
    color: #484848;
    margin: 33px 0 47px 0;
    transform: translateY(25px);
    opacity: 0;
}

.banner .wrap .text .animate {
    transform: translateY(25px);
    opacity: 0;
}

.banner .wrap .text .view_more {
    width: 150px;
    height: 44px;
    border: 1px solid #282828;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
    transition: 1s;
    cursor: pointer;
}

.banner .wrap .text.on .scroll_y span {
    transform: translateY(0);
    transition: 2s;
    transition-delay: 0.2s;
}

.banner .wrap .text.on {
    z-index: 1;
}

.banner .wrap .text.on .pick {
    transform: translateY(0);
    opacity: 1;
    transition: 1s;
    transition-delay: 0.7s;
}

.banner .wrap .text.on .animate {
    transition: 1s;
    opacity: 1;
    transform: translateY(0);
    transition-delay: 1s;
}

.banner .wrap .text .view_more:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #219081;
    z-index: -1;
    transition: 1s;
    clip-path: circle(0% at 50% 50%);
    opacity: 0;
}

.banner .wrap .text .view_more p {
    font-size: 15px;
    font-family: Avenir;
    font-weight: normal;
    color: #000000;
    margin: 0 9px 0 0;
    transition: 1s;
}

.banner .wrap .text .view_more .iconfont {
    color: rgba(0, 0, 0, 1);
    font-size: 12px;
    font-weight: bold;
    transition: 1s;
}

.banner .wrap .text .view_more:hover:after {
    clip-path: circle(80% at 50% 50%);
    opacity: 1;
}

.banner .wrap .text .view_more:hover p {
    margin: 0 20px 0 0;
}

.banner .wrap .text .view_more:hover p, .banner .wrap .text .view_more:hover .iconfont {
    color: #fff;
}

.banner .wrap .text .view_more:hover {
    border: 1px solid transparent;
}

.section {
    background: #fff;
}

.section .wrap {
    width: 1580px;
    margin: 115px auto 110px;
    max-width: 90%;
}

.section .wrap .first {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.section .wrap .first .text {
    width: 686px;
}

.section .wrap .first .text .scrollbar_y {
    height: 67px;
    overflow: hidden;
    margin: 0 0 125px 0;
}

.section .wrap .first .text span {
    font-size: 56px;
    font-family: Roboto;
    font-weight: bold;
    color: #242424;
    display: block;
    transition: 1s;
}

.section .wrap .first .text p {
    font-size: 16px;
    font-family: Roboto;
    font-weight: 400;
    color: #484848;
    line-height: 25px;
}

.section .wrap .first .video {
    width: 816px;
    height: 560px;
    position: relative;

}

.section .wrap .first .video img {
    width: 100%;
    height: 100%;
    transition: 1.2s;
}


.section .wrap .first .video .play {
    width: 72px;
    height: 72px;
    background: #FFFFFF;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    cursor: pointer;
    transition: 1s;
}

.section .wrap .first .video .play div {
    width: 0;
    height: 0;
    border-top: 11px solid transparent;
    border-bottom: 11px solid transparent;
    border-left: 20px solid #79A24F;
    transition: 1s;
}

.section .wrap .first .video .play:hover {
    background: #79A24F;
}

.section .wrap .first .video .play:hover div {
    border-left: 20px solid #fff;
}

.section .wrap .first .video .play video {
    display: none;
}

.section .wrap .center {
    margin: 87px 0 0 0;
    display: flex;
}

.section .wrap .center .images {
    width: 578px;
    height: 383px;
    margin: 0 281px 0 0;
    overflow: hidden;
    cursor: pointer;
}


.section .wrap .center .images img {
    width: 100%;
    height: 100%;
    transition: 2s;
}

.section .wrap .center .images:hover img {
    transform: scale(1.1);
}

.section .wrap .center .text {
    margin: 16px 0 0 0;
    width: 675px;
}

.section .wrap .center .text .title {
    font-size: 28px;
    font-family: Roboto;
    font-weight: bold;
    color: #242424;
    display: block;
    margin: 0 0 63px 0;
}

.section .wrap .center .text .list:not(:last-child) {
    margin: 0 0 44px 0;
}

.section .wrap .center .text .list .headline {
    font-size: 20px;
    font-family: Roboto b;
    font-weight: 500;
    color: #1B1B1B;
    cursor: pointer;
    pointer-events: none;
}

.section .wrap .center .text .list .hidden {
    font-size: 16px;
    font-family: Avenir;
    font-weight: normal;
    color: #000000;
    line-height: 25px;
    display: none;
    overflow: hidden;
}

.section .wrap .center .text .list .hidden div{
    margin: 38px 0 0 0;
}

.section .wrap .last {
    display: flex;
    padding: 84px 0 0 0;
}

.section .wrap .last .what {
    font-size: 20px;
    font-family: Roboto b;
    font-weight: 500;
    color: #1B1B1B;
    margin: 110px 242px 0 0;
}
.section .wrap .last .what p {
    width: 675px;
    font-size: 16px;
    font-family: Avenir;
    font-weight: normal;
    color: #000000;
    line-height: 25px;

}
.section .wrap .last .what p:nth-child(1) {
    margin: 38px 0 0 0;
}
.section .wrap .last .circle {
    display: flex;
}

.section .wrap .last .circle .circle_list {
    width: 268px;
    height: 268px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    z-index: 1;
    cursor: pointer;
    transition: 0.6s;
}

.section .wrap .last .circle .circle_list .border {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    animation: 30s rote linear infinite;
    transition: 0.6s;
    pointer-events: none;
}

@keyframes rote {
    100% {
        transform: rotate(360deg);
    }
}

.section .wrap .last .circle .circle_list div {
    font-size: 18px;
    font-family: Avenir;
    font-weight: normal;
    color: #1B1B1B;
    line-height: 22px;
    transition: 0.6s;
}

.section .wrap .last .circle .circle_list:nth-child(2) {
    left: -41px;
}

.section .wrap .last .circle .circle_list.on {
    background: #E9B648;
    z-index: 2;
}

.section .wrap .last .circle .circle_list.on .border {
    opacity: 0;
}

.section .wrap .last .circle .circle_list.on div {
    color: #fff;
    font-weight: bold;
}

.section2 {
    background: #507D6B;
}

.section2 .wrap {
    margin: 85px auto 58px;
    display: flex;
    justify-content: center;
    max-width: 90%;
}

.section2 .wrap .map {
    width: 43.125vw;
    height: 24.58333333333333vw;
    position: relative;
}

.section2 .wrap .map .point {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.section2 .wrap .map .joke{
    width: 100%;
    height: 100%;
}
.section2 .wrap .map svg,.section2 .wrap .map img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.section2 .wrap .map img {
    position: relative;
    top: -4vw;
    left: -3vw;
}

.section2 .wrap .map .position {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.section2 .wrap .map .position .item {
    position: absolute;
    text-align: center;
    cursor: pointer;
}

.section2 .wrap .map .position .item .iconfont {
    color: rgba(255, 255, 255, 1);
    font-size: 25px;
    position: relative;
    z-index: 2;
    animation: updown 2s infinite linear;
    transition: 0.6s;
}

@keyframes updown {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
    100% {
        transform: translateY(0);
    }
}

.section2 .wrap .map .position .item .circle {
    width: 31px;
    height: 10px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    position: relative;
    top: -5px;
}

.section2 .wrap .map .position .item .circle:after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    animation: 2s scale linear infinite;
    animation-delay: 1000ms;
    transition: 0.6s;
}

.section2 .wrap .map .position .item .circle:before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    animation: 2s scale linear infinite;
    animation-delay: 2000ms;
    transition: 0.6s;
}

.section2 .wrap .map .position .item.on .circle:after, .section2 .wrap .map .position .item.on .circle:before {
    background: rgba(233, 182, 72, 0.15);
}

@keyframes scale {
    100% {
        transform: scale(3);
        opacity: 0;
    }
}

.section2 .wrap .map .position .item_1 {
    top: 3.5vw;
    left: 7vw;
}

.section2 .wrap .map .position .item_2 {
    top: 8.2vw;
    left: 14.7vw;
}

.section2 .wrap .map .position .item_3 {
    top: 18vw;
    left: 18vw;
}

.section2 .wrap .map .position .item_4 {
    top: 5vw;
    left: 34vw;
}

.section2 .wrap .map .position .item_5 {
    top: 16vw;
    left: 40vw;
}

.section2 .wrap .map .position .item.on .iconfont {
    color: rgba(233, 182, 72, 1);
}

.section2 .wrap .map .position .item.on .circle {
    background: rgba(233, 182, 72, 0.15);
}

.section2 .wrap .introduce {
    width: 25vw;
    margin: 9px 0 0 97px;
}

.section2 .wrap .introduce .text p {
    font-size: 16px;
    font-family: Avenir;
    font-weight: normal;
    color: #FFFFFF;
    opacity: 0.39;
    margin: 0 0 25px 0;
}

.section2 .wrap .introduce .text span {
    font-size: 30px;
    font-family: Roboto;
    font-weight: bold;
    color: #FFFFFF;
}

.section2 .wrap .introduce .text .line {
    width: 0;
    height: 1px;
    background: #FFFFFF;
    opacity: 0.3;
    margin: 42px 0 0 0;
    transition: 2s;
}

.section2 .wrap .introduce .text .line.aos-animate {
    width: 480px;
}

.section2 .wrap .introduce .figure {
    margin: 69px 0 0 0;
    display: flex;
    width: 393px;
    justify-content: space-between;
    flex-wrap: wrap;
}

.section2 .wrap .introduce .figure .item {
    width: 50%;
    margin: 0 0 67px 0;
}

.section2 .wrap .introduce .figure .item p {
    font-size: 14px;
    font-family: Avenir;
    font-weight: normal;
    color: #FFFFFF;
    opacity: 0.39;
    margin: 0 0 20px 0;
}

.section2 .wrap .introduce .figure .item span {
    font-size: 26px;
    font-family: Roboto;
    font-weight: bold;
    color: #FFFFFF;
    position: relative;
}

.section2 .wrap .introduce .figure .item span:after {
    content: attr(data-text);
    position: absolute;
    bottom: 2px;
    left: 107%;
    font-size: 18px;
    font-family: Roboto;
    font-weight: normal;
    color: #FFFFFF;
    white-space: nowrap;
}

.section3 {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.section3 .background {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.section3 .wrap {
    max-width: 90%;
    margin: auto;
    position: relative;
    z-index: 1;
}

.section3 .wrap .title {
    display: flex;
    align-items: center;
    margin: 0 0 46px 0;
}

.section3 .wrap .title .text {
    width: 1040px;
    margin: 0 167px 0 0;
}

.section3 .wrap .title .text .scrollbar_y {
    height: 67px;
    overflow: hidden;
    margin: 0 0 53px 0;
}

.section3 .wrap .title .text span {
    font-size: 56px;
    font-family: Roboto;
    font-weight: bold;
    color: #FFFFFF;
    display: block;
}

.section3 .wrap .title .text p {
    font-size: 22px;
    font-family: Avenir;
    font-weight: normal;
    color: #FFFFFF;
    line-height: 32px;
}

.section3 .wrap .title > img {
    width: 100px;
    height: 112px;
    object-fit: contain;
}

.section3 .wrap .content {
    display: flex;
    justify-content: center;
    position: relative;
    left: 32px;
}

.section3 .wrap .content .item {
    width: 442px;
    height: 442px;
    background: #FFFFFF;
    border-radius: 50%;
    padding: 36px 20px 10px 20px;
    text-align: center;
    position: relative;
    transition: 1s;
    cursor: pointer;
}

.section3 .wrap .content .item .circle {
    width: 115px;
    height: 115px;
    border: 1px solid #EAEAEA;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 30px;
    transition: 1s;
}

.section3 .wrap .content .item .circle img {
    max-width: 90%;
    max-height: 90%;
    object-fit: contain;
    filter: brightness(0.2);
    transition: 1s;
}

.section3 .wrap .content .item span {
    font-size: 28px;
    font-family: Roboto;
    font-weight: bold;
    color: #181818;
    display: block;
    margin: 0 0 35px 0;
    transition: 1s;
}

.section3 .wrap .content .item p {
    font-size: 12px;
    font-family: Avenir;
    font-weight: 800;
    color: #252424;
    line-height: 25px;
    margin: auto;
    text-align: left;
    width: 308px;
    position: relative;
    left: 16px;
    transition: 1s;
}

.section3 .wrap .content .item:nth-child(2) {
    left: -32px;
}

.section3 .wrap .content .item.on {
    background: rgba(80, 125, 107, 1);
    z-index: 11;
}

.section3 .wrap .content .item.on .circle img {
    filter: unset;
}

.section3 .wrap .content .item.on .circle {
    border: 1px solid transparent;
}

.section3 .wrap .content .item.on span {
    color: #fff;
}

.section3 .wrap .content .item.on p {
    color: #fff;
}

.section4 {
    background: #fff;
}

.section4 .wrap {
    padding: 0 0 0 80px;
    margin: 133px auto 82px;
}

.section4 .wrap .title {
    font-size: 56px;
    font-family: Roboto;
    font-weight: bold;
    color: #262626;
    display: block;
    margin: 0 0 81px 0;
    height: 67px;
    overflow: hidden;
}

.section4 .wrap .content {
    width: 100%;
    overflow: hidden;
}

.section4 .wrap .content .reviews {
    width: 100%;
}

.section4 .wrap .content .reviews .swiper-slide {
    width: 42vw;
}

.reviews .swiper-slide .images {
    width: 100%;
}


.reviews .swiper-slide .images img {
    width: 100%;
    height: 100%;
}

.reviews .swiper-slide .text {
    margin: 32px 0 0 0;
}

.reviews .swiper-slide .text span {
    font-size: 28px;
    font-family: Roboto;
    font-weight: 400;
    color: #242424;
    display: block;
    margin: 0 0 28px 0;
}

.reviews .swiper-slide .text p {
    width: 559px;
    font-size: 16px;
    font-family: Roboto;
    font-weight: 400;
    color: #484848;
    line-height: 25px;
    max-width: 100%;
}

.section4 .wrap .content .line {
    margin: 106px 0 0 0;
    width: 100%;
    position: relative;
}

.section4 .wrap .content .line:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    background: #EDEDED;
    top: 0;
    left: 0;
}

.section4 .wrap .content .line div {
    width: 0;
    height: 2px;
    background: #507D6B;
    position: relative;
    z-index: 1;
    top: -1px;
    transition: 1s;
}

.u-hidden {
    display: none;
}
.map path{
    animation: line-move 5s linear infinite normal forwards;
    stroke-width: 1px;
    fill: none;
    stroke: #fff;
    stroke-linecap: square;
    stroke-linejoin: round;
    stroke-miterlimit: 10;
    stroke-dasharray: 4, 7;
}
@keyframes line-move {
    0% {
        stroke-dashoffset: 0
    }

    100% {
        stroke-dashoffset: 222;
    }
}

@media screen and (max-width: 1600px) {
    .section .wrap .first .video{
        width: 51%;
    }
    .section .wrap .first .text {
        width: 40%;
    }
    .section .wrap .center .images{
        width: 40%;
        margin: 0 14% 0 0;
    }
    .section .wrap .center .text{
        width: 42%;
    }
    .section .wrap .last .what{
        width: 45%;
    }
    .section .wrap .last .what p{
        width: 100%;
    }
}

@media screen and (max-width: 1366px) {
    .banner .wrap .text{
        left: 8%;
        bottom: 9%;
    }
}

@media screen and (max-width: 1280px) {
    .section .wrap .last .what {
        margin: 110px 145px 0 0;
    }
}

@media screen and (max-width: 1023px) {
    .banner .wrap .text{
        width: 100%;
        left: 0;
        padding: 0 5%;
    }
    .banner .wrap .text .scroll_y{
        height: auto;
    }
    .banner .wrap .text span {
        font-size: 28px;
        line-height: 32px;
    }
    .banner .wrap .text .pick{
        font-size: 16px;
    }
    .banner .wrap .text .view_more p{
        font-size: 14px;
    }
    .section .wrap .first{
        flex-direction: column-reverse;
    }
    .section .wrap .first .text{
        width: 100%;
    }
    .section .wrap .first .text span{
        font-size: 28px;
    }
    .section .wrap .first .text .scrollbar_y{
        height: auto;
        margin: 0 0 39px 0;
    }
    .section .wrap .first .text p{
        font-size: 13px;
    }
    .section .wrap{
        margin: 41px auto 50px;
    }
    .scrollbar_clip {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    }
    .section .wrap .first .video{
        width: 100%;
        height: auto;
        margin: 0 0 28px  0;
    }
    .section .wrap .center{
        flex-direction: column;
        margin: 64px 0 0 0;
    }
    .section .wrap .center .images{
        margin: 0 0 30px 0;
        width: 100%;
        height: auto;
    }
    .section .wrap .center .text{
        width: 100%;
    }
    .section .wrap .center .text .title{
        margin: 0 0 29px 0;
    }
    .section .wrap .center .text .list .hidden{
        font-size: 14px;
    }
    .section .wrap .last{
        flex-direction: column;
    }
    .section .wrap .last .what {
        width: 100%;
        margin: 2px 0 0 0;
    }
    .section .wrap .last .circle{
        margin: 50px 0 0 0;
    }
    .section .wrap .last .circle .circle_list{
        width: 40vw;
        height: 40vw;

    }
    .section .wrap .last .circle .circle_list:nth-child(2){
        left: -12px;
    }
    .section .wrap .last .circle .circle_list div{
        font-size: 13px;
        line-height: 18px;
    }

    .sj_position{
        display: block!important;
        width: 100%;
    }
    .section2 .wrap .map .position{
        display: none;
    }
    .section2 .wrap .map .point{
        display: none;
    }
    .section2 .wrap .map .joke{
        display: none;
    }

    .section2 .wrap{
        flex-direction: column;
        margin: 85px auto 24px;
    }

    .section2 .wrap .map{
        width: 100%;
        height: auto;
    }

    .section2 .wrap .introduce {
        width: 100%;
        margin: 0;
    }

    .section2 .wrap .introduce .text span{
        word-break: break-all;
        font-size: 23px;
    }
    .section2 .wrap .introduce .text p{
        margin: 0 0 16px 0;
    }
    .section2 .wrap .introduce .figure{
        flex-direction: column;
        margin: 15px 0 0 0;
    }
    .section2 .wrap .introduce .figure .item span{
        font-size: 22px;
    }
    .section2 .wrap .introduce .figure .item span:after{
        font-size: 14px;
    }
    .section2 .wrap .introduce .figure .item p{
        margin: 0 0 10px 0;
    }
    .section2 .wrap .introduce .figure .item {
        margin: 0 0 33px 0;
    }
    .section3{
        height: auto;
    }
    .section3 .wrap .title{
        flex-direction: column;
        align-items: unset;
    }
    .section3 .wrap .title .text{
        text-align: center;
    }
    .section3 .wrap .title > div:not(.text){
        text-align: center;
    }
    .section3 .wrap .title .text span{
        font-size: 28px;
    }
    .section3 .wrap .title .text .scrollbar_y{
        height: auto;
        margin: 0 0 23px 0;
    }
    .section3 .wrap .title .text {
        width: 100%;
        margin: 0 0 20px 0;
    }
    .section3 .wrap{
        margin: 70px auto 8px;
    }
    .section3 .wrap .title .text p{
        font-size: 16px;
    }
    .section3 .wrap .content{
        flex-direction: column;
        left: 0;
    }
    .section3 .wrap .content .item{
        width: 100%;
        height: auto;
        border-radius: 25px;
        padding: 20px 20px 36px 20px;
        margin: 0 0 20px 0;
    }
    .section3 .wrap .content .item .circle{
        margin: auto;
    }
    .section3 .wrap .content .item:nth-child(2){
        left: 0;
    }
    .section3 .wrap .content .item span{
        font-size: 22px;
    }
    .section3 .wrap .content .item p{
        width: 100%;
        left: 0;
    }
    .section4 .wrap {
        padding: 0 5%;
        margin: 53px auto 60px;
    }
    .section4 .wrap .title{
        height: auto;
        font-size: 28px;
        margin: 0 0 42px 0;
    }
    .section4 .wrap .content .line{
        margin: 58px 0 0 0;
    }
    .section4 .wrap .content .reviews .swiper-slide {
        width: 100%;
    }
    .banner,.fixed_banner{
        height: 52vh!important;
    }
}