body {
  background: #011118
}

.hero {
  position: relative;
  z-index: 2
}

.banner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 2
}
.banner video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover
}

.wave {
  display: none;
}

.banner .wave {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 2;
  bottom: -7.8125vw
}

.sec1 {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: 1;
  padding: 0 11.19792vw;
  background: #011118;
  overflow: hidden;
  display: flex;
  align-items: center
}

.sec1 .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: -1;
  top: 0;
  left: 0
}

.sec1 .bg video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover
}

.sec1 .wrap .title {
  color: #FFF;
  font-weight: 400;
  line-height: 150%
}

.sec1 .wrap .des {
  margin: 1.25vw 0 2.5vw;
  width: 27.96875vw;
  color: #FFF;
  font-weight: 300;
  line-height: 150%
}

.sec1 .wrap .more {
  padding: .67708vw 1.45833vw;
  display: block;
  width: fit-content;
  background: #FFF;
  color: #000;
  font-weight: 400;
  line-height: 150%;
  transition: 0.6s
}

.sec1 .wrap .more:hover {
  background: #000;
  color: #FFF
}

.sec1 .wrap .logo_box {
  margin: 7.13542vw 0 0 11.77083vw;
  width: 56.77083vw;
  overflow: hidden
}

.sec1 .wrap .logo_box .logos {
  display: flex;
  width: max-content;
  animation: img_go 100s infinite linear
}

.sec1 .wrap .logo_box .logos .flex {
  display: flex
}

.sec1 .wrap .logo_box .logos .flex .logo {
  height: 2.55208vw;
  margin-right: 2.5vw
}

.sec1 .wrap .logo_box .logos .flex .logo img {
  display: block;
  height: 100%
}

.sec1 .wave {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 2;
  top: -7.29167vw
}

.sec2 {
  width: 100%;
  position: relative;
  z-index: 3;
  padding: 0 0 11.35417vw;
  background: #011118;
  margin-top: 100vh
}

.sec2 .wave {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 2;
  top: -7.5521vw
}

.sec2 .part {
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: sticky;
  top: 0
}

.sec2 .part .part_box {
  width: 94.79167vw;
  height: 47.60417vw;
  position: relative
}

.sec2 .part .part_box .part_bottom {
  position: absolute;
  right: 5.15625vw;
  bottom: 9.01042vw;
  width: 19.94792vw
}

.sec2 .part .part_box .part_bottom .des {
  color: #FFF;
  font-weight: 400;
  line-height: 150%;
  margin-bottom: 1.82292vw
}

.sec2 .part .part_box .part_bottom .play {
  width: fit-content;
  display: flex;
  align-items: center;
  gap: .88542vw;
  cursor: pointer
}

.sec2 .part .part_box .part_bottom .play p {
  color: #FFF;
  font-size: .67708vw;
  font-weight: 500;
  line-height: 150%;
  text-transform: uppercase
}

.sec2 .part .part_box .part_bottom .play svg {
  display: block;
  width: 2.44792vw;
  height: 2.44792vw
}

.sec2 .part .part_box .part_bottom .play svg path {
  transition: 0.6s
}

.sec2 .part .part_box .part_bottom .play:hover svg path:nth-child(1) {
  fill: #FFFFFF
}

.sec2 .part .part_box .part_bottom .play:hover svg path:nth-child(2) {
  fill: #000000
}

.sec2 .part .part_box .part_top {
  position: absolute;
  top: 8.90625vw;
  left: 5vw
}

.sec2 .part .part_box .part_top .label {
  color: rgba(255, 255, 255, 0.7);
  font-weight: 500;
  line-height: 150%;
  text-transform: uppercase
}

.sec2 .part .part_box .part_top .label span {
  font-size: .67188vw
}

.sec2 .part .part_box .part_top .part_title {
  color: #FFF;
  font-weight: 400;
  line-height: 150%;
  margin: 1.19792vw 0 0
}

.sec2 .part .part_box video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover
}

.sec2 .more {
  padding: .67708vw 1.45833vw;
  display: block;
  width: fit-content;
  background: #FFF;
  color: #000;
  font-weight: 400;
  line-height: 150%;
  transition: 0.6s;
  margin: 3.125vw auto 0
}

.sec2 .more:hover {
  background: #000;
  color: #FFF
}

.sec3 {
  width: 100%;
  position: relative;
  z-index: 4;
  background: #011118
}

.sec3 .fix {
  width: 100%;
  height: 100vh;
  position: sticky;
  top: 0;
  background: url("/images/index/i5.jpg") no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center
}

.sec3 .fix .wave {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 2;
  top: -7.29167vw
}

.sec3 .fix .list {
  display: flex;
  flex-direction: column;
  gap: 2.5vw;
  width: 64.0625vw
}

.sec3 .fix .list .item {
  width: 100%
}

.sec3 .fix .list .item .item_box {
  display: flex;
  width: 100%;
  justify-content: space-between
}

.sec3 .fix .list .item .item_box .h5 {
  color: #FFF;
  font-weight: 400;
  line-height: 188%;
}

.sec3 .fix .list .item .item_box .p {
  width: 44.89583vw;
  color: #FFF;
  font-weight: 300;
  line-height: 150%
}

.sec4 {
  position: relative;
  z-index: 5;
  margin-bottom: 56.51042vw;
  background: #011118
}

.sec4 .wave {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 2;
  top: -7.29167vw
}

.common_bottom {
  width: 100%;
  position: fixed;
  bottom: 0;
  z-index: -1;
  height: 100vh
}

.common_bottom .box {
  width: 100%;
  height: 100vh;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center
}

.common_bottom .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1
}

.common_bottom .bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover
}
.common_bottom .bg video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover
}
.common_bottom .zi {
  color: #FFF;
  text-align: center;
  font-weight: 300;
  line-height: 150%;
  letter-spacing: 1.63125vw;
  margin: 0 0 5.20833vw
}

.common_bottom .zi span {
  color: #969696
}

.common_bottom .wrap {
  padding: 0 14.11458vw 0 15.05208vw;
  display: flex;
  justify-content: space-between
}

.common_bottom .wrap .l_box .contact_list .item {
  display: flex;
  gap: .20833vw
}

.common_bottom .wrap .l_box .contact_list .item:not(:last-child) {
  margin-bottom: .88542vw
}

.common_bottom .wrap .l_box .contact_list .item .h5 {
  color: #FFF;
  font-weight: 700;
  line-height: 150%;
  width: 3.54167vw
}

.common_bottom .wrap .l_box .contact_list .item .p {
  color: #FFF;
  font-weight: 400;
  line-height: 150%;
  display: block
}

.common_bottom .wrap .l_box .contact_list .item .p:not(:last-child) {
  margin-bottom: .41667vw
}

.common_bottom .wrap .l_box .contact_list .item a:hover {
  text-decoration: underline
}

.common_bottom .wrap .l_box .shares {
  display: flex;
  gap: 1.25vw;
  align-items: center;
  margin: 4.0625vw 0
}

.common_bottom .wrap .l_box .shares .icon {
  display: block;
  width: 1.45833vw
}

.common_bottom .wrap .l_box .shares .icon img {
  display: block;
  width: 100%;
  transition: 0.4s
}

.common_bottom .wrap .l_box .shares .icon:hover img {
  transform: scale(1.1)
}

.common_bottom .wrap .l_box .copyright {
  display: flex;
  gap: 1.04167vw;
  color: rgba(255, 255, 255, 0.23)
}

.common_bottom .wrap .l_box .copyright .links a {
  transition: all 600ms
}

.common_bottom .wrap .l_box .copyright .links a:hover {
  color: #fff
}

.common_bottom .wrap .r_box {
  width: 21.30208vw;
  display: flex;
  flex-direction: column;
  align-items: flex-end
}

.common_bottom .wrap .r_box button {
  padding: .67708vw 1.45833vw;
  color: #000;
  font-weight: 400;
  line-height: 150%;
  background: #FFFFFF;
  border: .05208vw solid #fff;
  transition: 0.6s;
  cursor: pointer
}

.common_bottom .wrap .r_box button:hover {
  background: unset;
  color: #fff
}

.common_bottom .wrap .r_box .item {
  width: 100%;
  margin-bottom: 1.51042vw
}

.common_bottom .wrap .r_box .item .h5 {
  color: #FFF;
  font-weight: 400;
  line-height: 150%;
  margin-bottom: .625vw
}

.common_bottom .wrap .r_box .item .radio {
  display: flex;
  gap: 3.02083vw
}

.common_bottom .wrap .r_box .item .radio label {
  position: relative;
  display: flex;
  align-items: center;
  gap: .46875vw;
  color: rgba(255, 255, 255, 0.5);
  font-size: .83333vw;
  font-weight: 400;
  line-height: 150%;
  cursor: pointer
}

.common_bottom .wrap .r_box .item .radio label p {
  transition: 0.6s
}

.common_bottom .wrap .r_box .item .radio label input {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0
}

.common_bottom .wrap .r_box .item .radio label input:checked+.radio:after {
  opacity: 1
}

.common_bottom .wrap .r_box .item .radio label input:checked+.radio+p {
  color: #fff
}

.common_bottom .wrap .r_box .item .radio label .radio {
  width: 1.25vw;
  height: 1.25vw;
  border-radius: .10417vw;
  border: .05208vw solid rgba(255, 255, 255, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative
}

.common_bottom .wrap .r_box .item .radio label .radio:after {
  content: "";
  width: .46875vw;
  height: .46875vw;
  border-radius: .10417vw;
  background: #FFFFFF;
  position: absolute;
  opacity: 0
}

.common_bottom .wrap .r_box .item input {
  width: 100%;
  background: unset;
  border: none;
  border-bottom: .05208vw solid rgba(255, 255, 255, 0.23);
  transition: 0.6s;
  padding: 0 0 .625vw;
  font-size: .83333vw;
  font-weight: 400;
  line-height: 150%;
  color: #fff;
  transition: 0.6s
}

.common_bottom .wrap .r_box .item input.error {
  border-bottom: .10417vw solid red
}

.common_bottom .wrap .r_box .item input::placeholder {
  color: rgba(255, 255, 255, 0.5);
  opacity: 1
}

.common_bottom .footer_bottom {
  width: 100%;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 2;
  padding: 0 6.25vw;
  position: absolute;
  bottom: 0
}

.common_bottom .footer_bottom .footer_swiper1 {
  text-align: right
}

.common_bottom .footer_bottom .swiper {
  height: 1.25vw;
  overflow: hidden
}

.common_bottom .footer_bottom .swiper .swiper-slide p {
  color: #FFF;
  font-weight: 400;
  line-height: 1.25vw;
  text-transform: uppercase
}

@keyframes img_go {
  100% {
    transform: translateX(-50%)
  }
}

.dialog_success {
  width: 100%;
  height: 100vh;
  position: fixed;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
  transition: .6s
}

.dialog_success.show {
  opacity: 1;
  pointer-events: auto
}

.dialog_success .dialog_success_shadow {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer
}

.dialog_success .dialog_success_box {
  width: 33.69792vw;
  border-radius: .78125vw;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(.52083vw)
}

.dialog_success .dialog_success_box .h5 {
  width: 100%;
  padding: 5.3125vw 0 4.53125vw;
  color: #FFF;
  font-weight: 400;
  line-height: 150%;
  text-align: center
}

.dialog_success .dialog_success_box .cancel {
  padding: 1.5625vw 0;
  width: 100%;
  color: #FFF;
  font-weight: 400;
  line-height: 150%;
  text-align: center;
  border-top: .05208vw solid #DBDBDB;
  border-radius: 0 0 .78125vw .78125vw;
  cursor: pointer;
  transition: 0.6s
}

.dialog_success .dialog_success_box .cancel:hover {
  background: #FFFFFF;
  border-top: .05208vw solid #fff;
  color: #000000
}

@media screen and (max-width: 768px) {
  .dialog_success .dialog_success_box {
    width: 70vw;
    border-radius: 10px
  }

  .dialog_success .dialog_success_box .h5 {
    padding: 40px 0;
    font-size: 20px
  }

  .dialog_success .dialog_success_box .cancel {
    font-size: 15px;
    padding: 15px 0;
    border-radius: 0 0 10px 10px
  }

  .hero {
    height: auto;
    z-index: auto
  }

  .banner {
    /* position: static; */
    height: 50vh
  }

  .sec1 {
    position: relative;
    top: auto;
    left: auto;
    width: auto;
    height: auto;
    z-index: 2;
    overflow: visible;
    display: block;
    padding: calc(50vh + 50px) 5vw 50px
  }

  .sec1 .wrap .title {
    font-size: 22px
  }

  .sec1 .wrap .des {
    width: 100%;
    font-size: 15px;
    margin: 20px 0 25px
  }

  .sec1 .wrap .more {
    padding: 4px 15px;
    font-size: 15px
  }

  .sec1 .wrap .logo_box {
    width: 100%;
    margin: 30px 0 0
  }

  .sec1 .wrap .logo_box .logos .flex .logo {
    height: 25px;
    margin-right: 25px
  }

  .sec2 {
    padding: 50px 5vw;
    margin-top: 0
  }

  .sec2 .part {
    width: 100%;
    height: unset;
    position: unset;
    margin-bottom: 25px
  }

  .sec2 .part .part_box {
    width: 100%;
    height: 70vw;
    opacity: 1 !important;
    transform: scale(1) !important
  }

  .sec2 .part .part_box .part_top {
    top: 20px;
    left: 20px
  }

  .sec2 .part .part_box .part_top .label {
    font-size: 14px
  }

  .sec2 .part .part_box .part_top .label span {
    font-size: 14px
  }

  .sec2 .part .part_box .part_top .part_title {
    font-size: 16px;
    margin: 6px 0 0
  }

  .sec2 .part .part_box .part_bottom {
    width: 100%;
    right: 0;
    bottom: 20px;
    padding: 0 20px
  }

  .sec2 .part .part_box .part_bottom .des {
    font-size: 14px;
    margin-bottom: 15px
  }

  .sec2 .part .part_box .part_bottom .play {
    gap: 4px
  }

  .sec2 .part .part_box .part_bottom .play p {
    font-size: 13px
  }

  .sec2 .part .part_box .part_bottom .play svg {
    width: 20px;
    height: 20px
  }

  .sec2 .more {
    padding: 4px 15px;
    font-size: 15px
  }

  .sec3 {
    height: unset !important
  }

  .sec3 .fix {
    height: unset;
    position: unset
  }

  .sec3 .fix .list {
    width: 90%;
    padding: 50px 0
  }

  .sec3 .fix .list .item .item_box {
    display: block;
    opacity: 1 !important
  }

  .sec3 .fix .list .item .item_box .h5 {
    font-size: 16px;
    margin-bottom: 10px
  }

  .sec3 .fix .list .item .item_box .p {
    font-size: 14px;
    width: 100%
  }

  .sec3 .fix .list .item:not(:last-child) {
    margin-bottom: 20px
  }

  .sec4 {
    margin-bottom: 0
  }

  .common_bottom {
    position: unset;
    height: auto
  }

  .common_bottom .box {
    padding: 50px 5vw 0;
    height: auto
  }

  .common_bottom .zi {
    font-size: 20px;
    margin-bottom: 15px
  }

  .common_bottom .wrap {
    flex-direction: column-reverse;
    gap: 20px;
    padding: 0;
    width: 100%;
    margin-bottom: 15px
  }

  .common_bottom .wrap .l_box {
    width: 100%
  }

  .common_bottom .wrap .l_box .contact_list .item {
    display: block
  }

  .common_bottom .wrap .l_box .contact_list .item:not(:last-child) {
    margin-bottom: 15px
  }

  .common_bottom .wrap .l_box .contact_list .item .h5 {
    font-size: 18px;
    margin-bottom: 6px;
    width: 100%
  }

  .common_bottom .wrap .l_box .contact_list .item .p {
    font-size: 14px
  }

  .common_bottom .wrap .l_box .shares {
    gap: 15px;
    margin: 15px 0
  }

  .common_bottom .wrap .l_box .shares .icon {
    width: 20px
  }

  .common_bottom .wrap .l_box .copyright {
    gap: 10px;
    font-size: 12px;
    flex-wrap: wrap
  }

  .common_bottom .wrap .l_box .copyright .links {
    display: flex;
    flex-wrap: wrap;
    gap: 5px
  }

  .common_bottom .wrap .r_box {
    width: 100%
  }

  .common_bottom .wrap .r_box .item {
    margin-bottom: 15px
  }

  .common_bottom .wrap .r_box .item .h5 {
    font-size: 18px;
    margin-bottom: 8px
  }

  .common_bottom .wrap .r_box .item input {
    font-size: 15px;
    padding: 0 0 10px
  }

  .common_bottom .wrap .r_box .item .radio {
    gap: 10px
  }

  .common_bottom .wrap .r_box .item .radio label {
    gap: 4px;
    font-size: 14px
  }

  .common_bottom .wrap .r_box .item .radio label .radio {
    width: 16px;
    height: 16px;
    border-radius: 2px
  }

  .common_bottom .wrap .r_box .item .radio label .radio:after {
    width: 6px;
    height: 6px;
    border-radius: 2px
  }

  .common_bottom .wrap .r_box button {
    padding: 7px 15px;
    font-size: 15px;
    margin: 22px 0 0
  }

  .common_bottom .footer_bottom {
    padding: 0;
    position: relative
  }

  .common_bottom .footer_bottom .swiper {
    height: 24px
  }

  .common_bottom .footer_bottom .swiper .swiper-slide p {
    line-height: 24px
  }
}