.banner {
  background: #F7F7F9;
  border-radius: 0 0 1.875vw 1.875vw;
  overflow: hidden;
  position: relative
}

.banner::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  background: linear-gradient(180deg, rgba(151, 209, 192, 0.5) 0%, rgba(151, 209, 192, 0) 100%);
  pointer-events: none;
}

.banner .swiper1 {
  width: 100%;
  overflow: hidden
}

.banner .swiper1 .swiper-slide .item {
  position: relative;
  height: 100vh
}

.banner .swiper1 .swiper-slide .item .fv {
  position: absolute;
  right: 0;
  top: 5%;
  transform: rotate(-13.66deg) translateX(0vw);
  height: 90%;
  opacity: 0.72;
  width: 37.5vw;
  border-radius: 10.41667vw;
  object-fit: cover
}

.banner .swiper1 .swiper-slide .item .full {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.banner .swiper1 .swiper-slide .item .text {
  position: absolute;
  left: 0;
  bottom: 20.52083vw;
  width: 100%;
  padding: 0 7.03125vw
}

.banner .swiper1 .swiper-slide .item .text .p1 {
  background: linear-gradient(270deg, rgb(4 123 85 / 40%) 0%, rgb(18 93 179 / 40%) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  /* filter: drop-shadow(1px 0 0 #FFF) drop-shadow(-1px 0 0 #FFF); */
  font-family:
  "Open Sans";
  font-style: normal;
  font-weight: 700;
  line-height: 1.6;
  text-transform: capitalize;
  opacity: 0;
  transform: translateY(2.08333vw);
  transition: opacity .3s, transform .6s .3s;
}

.banner .swiper1 .swiper-slide .item .text .p2 {
  /* margin-top: 1.66667vw;
  color: #3774B8;
  font-family: var(--shuhei); */
  opacity: 0;
  transform: translateY(2.08333vw);
  transition: opacity .3s, transform .6s .3s;
  filter: drop-shadow(0.8px 0 0 #FFF) drop-shadow(-0.8px 0 0 #FFF)
    drop-shadow(0 1px 0 #FFF) drop-shadow(0 -0.8px 0 #FFF);
  font-family: lianmengqiyilushuaizhengruiheiti;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 6.8px;
  background: linear-gradient(179deg,#3774B988 0%,#59AA91 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.banner .swiper1 .swiper-slide .item .text1 {
  background: linear-gradient(270deg, #59AB91 0%, #3673B9 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.banner .swiper1 .swiper-slide .item .text2 {
  background: linear-gradient(270deg, #59AB91 0%, #3673B9 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.banner .swiper1 .swiper-slide .item .text .p1,
.banner .swiper1 .swiper-slide .item .text .p2 {
  position: relative;
  isolation: isolate;
}

.banner .swiper1 .swiper-slide .item .text .p1 .t-shadow,
.banner .swiper1 .swiper-slide .item .text .p2 .t-shadow {
  position: absolute;
  left: 0;
  background: linear-gradient(270deg, rgb(4 123 85 / 40%) 0%, rgb(18 93 179 / 40%) 100%);
  top: 0;
  filter: drop-shadow(-0.5px -0.5px 0 #FFF) drop-shadow(-0.5px 0.5px 0 #FFF) drop-shadow(0 4px 4px rgba(14, 87, 208, 0.20));
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  color: #fff;
  -webkit-text-fill-color: #fff;
  opacity: 1;
  text-shadow: -0.5px -0.5px 0 #FFF, 0.5px -0.5px 0 #FFF, -0.5px 0.5px 0 #FFF, 0.5px 0.5px 0 #FFF, 0.5px 0 0 #FFF, 0 0.5px 0 #FFF, 0 4px 4px rgba(14, 87, 208, 0.40);
  z-index: -1;
  pointer-events: none;
  user-select: none;
}

.banner .swiper1 .swiper-slide-active .item .text .p1,
.banner .swiper1 .swiper-slide-active .item .text .p2 {
  opacity: 1;
  transform: translateY(0);
  transition-delay: .3s
}

.banner .swiper1 .swiper-slide-active .item .text .p2 {
  transition-delay: .4s
}

.banner .prev {
  position: absolute;
  left: 1.92708vw;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 1.66667vw;
  height: 1.66667vw;
  border-radius: 50%;
  border: 1px solid #59AB91;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  overflow: hidden
}

.banner .prev img {
  display: block;
  width: .625vw;
  transition: all 600ms
}

.banner .prev::before {
  content: '';
  display: block;
  position: absolute;
  background: linear-gradient(270deg, #59AB91 0%, #3673B9 100%);
  z-index: -1;
  inset: 0;
  opacity: 0;
  transition: all 600ms
}

.banner .prev:hover::before {
  opacity: 1
}

.banner .prev:hover img {
  filter: brightness(0) invert(1)
}

.banner .next {
  position: absolute;
  right: 1.92708vw;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 1.66667vw;
  height: 1.66667vw;
  border-radius: 50%;
  border: 1px solid #59AB91;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  overflow: hidden
}

.banner .next img {
  display: block;
  width: .625vw;
  transition: all 600ms
}

.banner .next::before {
  content: '';
  display: block;
  position: absolute;
  background: linear-gradient(270deg, #59AB91 0%, #3673B9 100%);
  z-index: -1;
  inset: 0;
  opacity: 0;
  transition: all 600ms
}

.banner .next:hover img {
  filter: brightness(0) invert(1)
}

.banner .next:hover::before {
  opacity: 1
}

.banner .swiper-pagination {
  position: absolute;
  left: 0;
  bottom: 1.25vw;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: .625vw
}

.banner .swiper-pagination .swiper-pagination-bullet {
  width: .83333vw;
  height: .83333vw;
  border-radius: 50%;
  background: linear-gradient(270deg, rgba(89, 171, 145, 0.3) 0%, rgba(54, 115, 185, 0.3) 100%);
  opacity: 1;
  transition: all 600ms
}

.banner .swiper-pagination .swiper-pagination-bullet-active {
  background: linear-gradient(270deg, #59AB91 0%, #3673B9 100%)
}

.common_t {
  color: #0B2A44;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: .83333vw
}

.common_t::before {
  content: '';
  display: block;
  width: .3125vw;
  height: 2.39583vw;
  border-radius: .26042vw;
  background: var(--line, linear-gradient(270deg, #59AB91 0%, #3673B9 100%))
}

.container .sec1 {
  padding: 5.3125vw 5.72917vw 0 27.29167vw;
  position: relative
}

.container .sec1 .content {
  position: relative
}

.container .sec1 .content::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: .26042vw;
  background: #fff
}

.container .sec1 .content .nums .item {
  position: absolute;
  text-align: center
}

.container .sec1 .content .nums .item .n_top {
  color: #1F2933
}

.container .sec1 .content .nums .item .n_top span {
  font-family: "Montserrat";
  font-weight: 500;
  line-height: 0.93
}

.container .sec1 .content .nums .item .pt {
  color: rgba(31, 41, 51, 0.6);
  line-height: 1.46
}

.container .sec1 .content .nums .item.item1 {
  left: 29.0625vw;
  top: 14.58333vw
}

.container .sec1 .content .nums .item.item2 {
  right: 7.1875vw;
  top: 15.625vw
}

.container .sec1 .content .nums .item.item3 {
  left: 19.01042vw;
  bottom: 16.66667vw
}

.container .sec1 .content .nums .item.item4 {
  right: 16.04167vw;
  bottom: 12.23958vw
}

.container .sec1 video {
  display: block;
  width: 100%
}

.container .sec1 .text {
  position: absolute;
  left: 7.70833vw;
  top: 23.95833vw;
  width: 31.82292vw;
  z-index: 5
}

.container .sec1 .text img {
  display: block;
  width: 23.95833vw
}

.container .sec1 .text .common_t {
  margin: 1.66667vw 0 1.25vw 0
}

.container .sec1 .text .des {
  color: #1F2933;
  line-height: 1.5
}

.container .sec1 .text a {
  display: inline-block;
  color: #fff;
  margin-top: 2.5vw;
  padding: .625vw 2.70833vw .78125vw;
  border-radius: 108px;
  background: var(--line, linear-gradient(270deg, #489A7E 0%, #3673B9 100%))
}

.container .sec2 {
  padding: 9.21875vw 8.95833vw 0 7.70833vw
}

.container .sec2 .box1 {
  margin: 2.5vw 0 3.54167vw 0;
  border-radius: 2.60417vw;
  background: #EEF7FF;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: .83333vw 3.54167vw
}

.container .sec2 .box1 .pics {
  width: 36.45833vw
}

.container .sec2 .box1 .pics .pic {
  width: 100%
}

.container .sec2 .box1 .pics .pic img {
  display: none;
  height: 26.875vw;
  object-fit: cover
}

.container .sec2 .box1 .pics .pic img.active {
  display: block
}

.container .sec2 .box1 .text {
  width: 33.125vw
}

.container .sec2 .box1 .text .p1 {
  color: #0B2A44;
  font-weight: 500
}

.container .sec2 .box1 .text .tags {
  display: flex;
  gap: 1.25vw;
  margin: 1.30208vw 0 3.54167vw 0
}

.container .sec2 .box1 .text .tags span {
  border-radius: 1.97917vw;
  border: 1px solid #8A94A6;
  padding: .20833vw .83333vw .3125vw;
  color: #4B5563;
  text-transform: uppercase;
  line-height: 1.5;
  cursor: pointer;
  transition: all 600ms;
  position: relative;
  overflow: hidden;
  z-index: 2
}

.container .sec2 .box1 .text .tags span::before {
  position: absolute;
  content: '';
  inset: 0;
  opacity: 0;
  transition: all 600ms;
  z-index: -1;
  background: var(--line, linear-gradient(270deg, #59AB91 0%, #3673B9 100%))
}

.container .sec2 .box1 .text .tags span:hover,
.container .sec2 .box1 .text .tags span.on {
  border-color: transparent;
  color: #fff
}

.container .sec2 .box1 .text .tags span:hover::before,
.container .sec2 .box1 .text .tags span.on::before {
  opacity: 1
}

.container .sec2 .box1 .text .des {
  color: rgba(0, 0, 0, 0.6);
  line-height: 1.5;
  margin-bottom: 3.54167vw
}

.container .sec2 .box1 .text .des div {
  display: none
}

.container .sec2 .box1 .text .des div.active {
  display: block
}

.container .sec2 .box1 .text a {
  display: inline-flex;
  align-items: center;
  gap: .41667vw;
  color: #4B5563;
  border-bottom: 1px solid transparent;
  padding-bottom: .20833vw;
  transition: all 600ms
}

.container .sec2 .box1 .text a svg {
  display: block;
  width: .72917ve;
  height: auto
}

.container .sec2 .box1 .text a:hover {
  border-color: #4B5563
}

.container .sec2 .box2 {
  border-radius: 2.60417vw;
  background: #E8F3F1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: .83333vw 3.54167vw
}

.container .sec2 .box2 .text {
  width: 33.125vw
}

.container .sec2 .box2 .text .p1 {
  color: #0B2A44;
  font-weight: 500
}

.container .sec2 .box2 .text .des {
  margin: 3.54167vw 0 3.75vw 0;
  color: rgba(0, 0, 0, 0.6);
  line-height: 1.5
}

.container .sec2 .box2 .text a {
  display: inline-flex;
  align-items: center;
  gap: .41667vw;
  color: #4B5563;
  border-bottom: 1px solid transparent;
  padding-bottom: .20833vw;
  transition: all 600ms
}

.container .sec2 .box2 .text a svg {
  display: block;
  width: .72917ve;
  height: auto
}

.container .sec2 .box2 .text a:hover {
  border-color: #4B5563
}

.container .sec2 .box2 .pic {
  width: 36.45833vw
}

.container .sec2 .box2 .pic img {
  display: block;
  width: 100%;
  height: 26.875vw;
  object-fit: cover
}

.container .sec3 {
  font-weight: 700;
  text-align: center;
  padding: 17.08333vw 15.625vw 17.34375vw;
  position: relative;
  z-index: 2
}

.container .sec3::before {
  content: '';
  display: block;
  position: absolute;
  left: 7.86458vw;
  top: 0;
  width: 42.03125vw;
  height: 42.03125vw;
  border-radius: 50%;
  background: rgba(209, 236, 233, 0.86);
  filter: blur(372.45001px);
  z-index: -1
}

.container .sec3 .text {
  display: inline-block;
  background: var(--line, linear-gradient(270deg, #59AB91 0%, #3673B9 100%));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent
}

.container .sec3 .text p:not(:last-child) {
  margin-bottom: 1.25vw
}

.container .sec4 {
  display: flex;
  justify-content: space-between;
  padding: 0 8.33333vw 12.91667vw
}

.container .sec4 .lbox {
  flex: 1;
  padding-top: 3.54167vw
}

.container .sec4 .lbox .types {
  margin: 2.5vw 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.04167vw
}

.container .sec4 .lbox .types span {
  display: block;
  color: #0B2A44;
  line-height: 1.5;
  cursor: pointer;
  border-bottom: 1px solid transparent;
  transition: all 600ms
}

.container .sec4 .lbox .types span:hover,
.container .sec4 .lbox .types span.on {
  border-color: #4B5563
}

.container .sec4 .lbox a {
  display: inline-flex;
  align-items: center;
  gap: .41667vw;
  color: #4B5563;
  border-bottom: 1px solid transparent;
  padding-bottom: .20833vw;
  transition: all 600ms
}

.container .sec4 .lbox a svg {
  display: block;
  width: .72917ve;
  height: auto
}

.container .sec4 .lbox a:hover {
  border-color: #4B5563
}

.container .sec4 .rbox {
  width: 66.14583vw
}

.container .sec4 .rbox .swiper2 {
  width: 100%;
  overflow: hidden
}

.container .sec4 .rbox .swiper2 a {
  display: block
}

.container .sec4 .rbox .swiper2 a .pic {
  border-radius: .83333vw;
  overflow: hidden
}

.container .sec4 .rbox .swiper2 a .pic img {
  width: 100%;
  display: block;
  object-fit: cover;
  height: 13.95833vw;
  transition: all 600ms
}

.container .sec4 .rbox .swiper2 a .tag {
  display: inline-block;
  border-radius: 108px;
  border: 1px solid #E6EAF0;
  padding: .3125vw 1.5625vw;
  color: #4B5563;
  line-height: 1.5;
  margin: 1.875vw 0 .41667vw 0
}

.container .sec4 .rbox .swiper2 a .pt {
  color: #4B5563;
  line-height: 1.5;
  height: 5.72917vw;
  font-weight: 500
}

.container .sec4 .rbox .swiper2 a .t_btn {
  display: flex;
  justify-content: space-between;
  margin-top: 1.45833vw;
  line-height: 1.5
}

.container .sec4 .rbox .swiper2 a .t_btn .time {
  color: #8A94A6
}

.container .sec4 .rbox .swiper2 a .t_btn .more {
  display: flex;
  gap: .41667vw;
  color: #4B5563;
  line-height: 1.5
}

.container .sec4 .rbox .swiper2 a .t_btn .more svg {
  display: block;
  width: .72917vw;
  height: auto
}

.container .sec4 .rbox .swiper2 a:hover .pic img {
  transform: scale(1.05)
}

.container .sec4 .rbox .swiper-scrollbar {
  width: 45.20833vw;
  margin: 4.42708vw auto 0;
  height: .20833vw;
  background: rgba(70, 135, 197, 0.5)
}

.container .sec4 .rbox .swiper-scrollbar .swiper-scrollbar-drag {
  background: #4587C5
}

.container .sec5 {
  width: 100%;
  background: url(../images/hbg.png) no-repeat;
  background-size: cover;
  padding: 13.75vw 0
}

.container .sec5 .text {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff
}

.container .sec5 .text .p1 {
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 1.19792vw
}

.container .sec5 .text a {
  width: 10.41667vw;
  height: 3.33333vw;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 108px;
  background: var(--line, linear-gradient(270deg, #59AB91 0%, #3673B9 100%))
}

@media screen and (max-width: 768px) {
  .banner {
    border-radius: 0 0 20px 20px;
    overflow: hidden
  }

  .banner .swiper1 .swiper-slide .item {
    height: 400px
  }

  .banner .swiper1 .swiper-slide .item .full {
    display: block;
    object-fit: cover;
    height: auto;
    top: auto;
    bottom: 0;
    left: auto;
    right: 5%
  }

  .banner .swiper1 .swiper-slide .item .text {
    bottom: 48%;
    padding: 0 20px
  }

  .banner .swiper1 .swiper-slide .item .text .p1 {
    font-size: 20px;
    transform: translateY(20px)
  }

  .banner .swiper1 .swiper-slide .item .text .p2 {
    margin-top: 15px;
    font-size: 16px;
    transform: translateY(20px)
  }

  .banner .prev,
  .banner .next {
    width: 36px;
    height: 36px;
    left: 10px;
    display: none
  }

  .banner .prev img,
  .banner .next img {
    width: 16px
  }

  .banner .next {
    left: auto;
    right: 10px
  }

  .banner .swiper-pagination {
    bottom: 15px
  }

  .banner .swiper-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px
  }

  .common_t {
    gap: 8px;
    font-size: 18px
  }

  .common_t::before {
    width: 3px;
    height: 20px;
    border-radius: 4px
  }

  .container .sec1 {
    padding: 30px 5%
  }

  .container .sec1 .content .nums .item {
    margin-bottom: 20px
  }

  .container .sec1 .content .nums .item .n_top {
    font-size: 24px
  }

  .container .sec1 .content .nums .item .pt {
    font-size: 10px;
    margin-top: 0
  }

  .container .sec1 .content .nums .item.item1 {
    left: 35.0625vw;
    top: 12.58333vw
  }

  .container .sec1 .content .nums .item.item2 {
    right: 6.1875vw;
    top: 14.625vw
  }

  .container .sec1 .content .nums .item.item2 p {
    max-width: 70px
  }

  .container .sec1 .content .nums .item.item3 {
    left: 24.01042vw;
    bottom: 11.66667vw
  }

  .container .sec1 .content .nums .item.item3 p {
    max-width: 50px;
    margin: 0 auto
  }

  .container .sec1 .content .nums .item.item4 {
    right: 19.04167vw;
    bottom: 9.23958vw
  }

  .container .sec1 video {
    width: 100%;
    height: auto
  }

  .container .sec1 .text {
    position: static;
    width: 100%;
    padding: 20px 0
  }

  .container .sec1 .text img {
    width: 100%;
    max-width: 200px
  }

  .container .sec1 .text .common_t {
    margin: 10px 0 15px 0
  }

  .container .sec1 .text .des {
    font-size: 16px;
    margin-bottom: 20px
  }

  .container .sec1 .text a {
    display: block;
    width: 140px;
    margin: 20px auto 0;
    text-align: center;
    padding: 10px 0;
    font-size: 16px
  }

  .container .sec2 {
    padding: 40px 5% 0
  }

  .container .sec2 .box1,
  .container .sec2 .box2 {
    flex-direction: column;
    border-radius: 20px;
    padding: 20px;
    margin: 20px 0 0 0
  }

  .container .sec2 .box1 .pics,
  .container .sec2 .box1 .pic,
  .container .sec2 .box1 .text,
  .container .sec2 .box2 .pics,
  .container .sec2 .box2 .pic,
  .container .sec2 .box2 .text {
    width: 100%
  }

  .container .sec2 .box1 .pics,
  .container .sec2 .box2 .pics {
    margin-bottom: 20px
  }

  .container .sec2 .box1 .pics .pic img,
  .container .sec2 .box2 .pics .pic img {
    width: 100%;
    height: auto
  }

  .container .sec2 .box1 .text .p1,
  .container .sec2 .box2 .text .p1 {
    font-size: 20px;
    margin-bottom: 15px
  }

  .container .sec2 .box1 .text .tags,
  .container .sec2 .box2 .text .tags {
    flex-wrap: wrap;
    gap: 10px;
    margin: 15px 0 20px 0
  }

  .container .sec2 .box1 .text .tags span,
  .container .sec2 .box2 .text .tags span {
    padding: 6px 12px;
    font-size: 12px;
    border-radius: 20px
  }

  .container .sec2 .box1 .text .des,
  .container .sec2 .box2 .text .des {
    font-size: 14px;
    margin-bottom: 20px
  }

  .container .sec2 .box1 .text a,
  .container .sec2 .box2 .text a {
    font-size: 14px;
    gap: 8px
  }

  .container .sec2 .box1 .text a svg,
  .container .sec2 .box2 .text a svg {
    width: 12px
  }

  .container .sec3 {
    padding: 60px 5%
  }

  .container .sec3 .text p {
    font-size: 20px;
    line-height: 1.5
  }

  .container .sec3 .text p:not(:last-child) {
    margin-bottom: 15px
  }

  .container .sec4 {
    flex-direction: column;
    padding: 0 20px 60px 20px
  }

  .container .sec4 .lbox {
    padding-top: 0;
    margin-bottom: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
  }

  .container .sec4 .lbox .common_t {
    margin-bottom: 0;
    width: 100%
  }

  .container .sec4 .lbox .types {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px
  }

  .container .sec4 .lbox .types span {
    font-size: 16px;
    padding: 5px 0
  }

  .container .sec4 .lbox a {
    font-size: 16px;
    gap: 8px
  }

  .container .sec4 .lbox a svg {
    width: 12px
  }

  .container .sec4 .rbox {
    width: 100%
  }

  .container .sec4 .rbox .swiper2 a .pic {
    border-radius: 12px
  }

  .container .sec4 .rbox .swiper2 a .pic img {
    height: 178px
  }

  .container .sec4 .rbox .swiper2 a .tag {
    font-size: 12px;
    padding: 4px 20px;
    margin: 20px 0 8px 0
  }

  .container .sec4 .rbox .swiper2 a .pt {
    font-size: 18px;
    height: 55px;
    --line: 2 !important
  }

  .container .sec4 .rbox .swiper2 a .t_btn {
    margin-top: 20px;
    font-size: 14px
  }

  .container .sec4 .rbox .swiper2 a .t_btn .more {
    gap: 8px
  }

  .container .sec4 .rbox .swiper2 a .t_btn .more svg {
    width: 12px
  }

  .container .sec4 .rbox .swiper-scrollbar {
    width: 100%;
    margin: 30px auto 0;
    height: 3px
  }

  .container .sec5 {
    padding: 40px 5%;
    background-size: cover;
    background-position: center
  }

  .container .sec5 .text .p1 {
    font-size: 20px;
    margin-bottom: 20px;
    text-align: center
  }

  .container .sec5 .text a {
    width: 160px;
    height: 44px;
    font-size: 16px
  }
}