.banner {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  position: relative;
  background-color: white;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
}

.banner .banner-swiper {
  width: 100%;
  height: 100vh;
  position: relative;
}

.banner .banner-swiper .swiper-slide {
  width: 100%;
  overflow: hidden;
}

.banner .banner-swiper .swiper-slide .box {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.banner .banner-swiper .swiper-slide .box .img {
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: -1000px;
  right: -1000px;
  margin: auto;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
}

.banner .banner-swiper .swiper-slide .box .img video {
  position: relative;
  height: calc(100vh - var(--browser-address-bar, 0px));
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
  z-index: -1;
}

.banner .banner-swiper .swiper-slide .box .text {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 20vw;
  height: 5.89vw;
  overflow: hidden;
}

.banner .banner-swiper .swiper-slide .box .text span {
  display: block;
  font-size: 5.94vw;
  font-weight: bold;
  line-height: 1;
  color: #ffffff;
}

.banner .banner-swiper .swiper-slide .box .s-text {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 27.4vw;
  height: 3.18vw;
  overflow: hidden;
}

.banner .banner-swiper .swiper-slide .box .s-text span {
  display: block;
  font-size: 3.23vw;
  line-height: 1;
  color: #ffffff;
}

.banner .banner-swiper .swiper-pagination-bullets {
  bottom: 3.59vw;
  left: 5.83vw;
  width: auto;
}

.banner .banner-swiper .swiper-pagination-bullets .swiper-pagination-bullet {
  width: 7.92vw;
  height: .21vw;
  display: inline-block;
  border-radius: 0;
  background: #fff;
  opacity: .6;
  margin: 0 .47vw;
  transition: 0.5s;
}

.banner .banner-swiper .swiper-pagination-bullets .swiper-pagination-bullet-active {
  opacity: 1;
}

.banner .banner-swiper .swiper-button-next,
.banner .banner-swiper .swiper-button-prev {
  position: absolute;
  top: 0;
  width: 50%;
  height: 100vh;
  margin-top: 0;
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.banner .banner-swiper .swiper-button-next::after,
.banner .banner-swiper .swiper-button-prev::after {
  content: "";
}

.banner .banner-swiper .banner-swiper-button-next {
  cursor: url(../images/cursor-next.png) 22 28, pointer;
}

.banner .banner-swiper .banner-swiper-button-prev {
  cursor: url(../images/cursor-prev.png) 22 28, pointer;
}

.banner .top-bg {
  width: 100%;
  height: 18.54vw;
  background: url(../images/banner-top-bg.png) no-repeat 0 0/contain;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 1;
  transition: opacity 0.2s linear;
}

.banner .tips {
  position: absolute;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  right: 7.29vw;
  bottom: 3.13vw;
  line-height: 1;
  color: #fff;
  font-size: .73vw;
  font-weight: 700;
  pointer-events: none;
  user-select: none;
}

.banner .tips img {
  margin-bottom: 1.2vw;
  width: 1.04vw;
  height: auto;
  animation: banner-tips-mouse 2.2s ease-in-out infinite;
}

.banner .tips span {
  animation: banner-tips-text 2.2s ease-in-out infinite;
}

@keyframes banner-tips-mouse {
  0%,
  100% {
    transform: translateY(0);
    opacity: 1;
  }

  50% {
    transform: translateY(0.52vw);
    opacity: 0.55;
  }
}

@keyframes banner-tips-text {
  0%,
  100% {
    opacity: 0.55;
  }

  50% {
    opacity: 1;
  }
}

.pc-header.is-active~.banner .top-bg,
.m-header.is-active~.banner .top-bg {
  opacity: 0;
}

.banner-box {
  width: 100%;
  height: 100vh;
}

.about {
  position: relative;
  top: 0;
  z-index: 1;
  padding-top: 5.26vw;
  padding-bottom: 5.89vw;
  height: 42.71vw;
  background: url(../images/index-about-bg.jpg) no-repeat 0 0/cover;
}

.about .wrapper {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  overflow: hidden;
}

.about .left {
  width: 39.01vw;
}

.about .title {
  font-size: 2.29vw;
  line-height: 1;
  font-weight: 700;
}

.about .slogan {
  font-size: 1.15vw;
  line-height: 1;
  margin-top: 1.3vw;
}

.about .line {
  position: relative;
  margin-top: 4.11vw;
  height: 1px;
  background-color: #d7dfe2;
  opacity: 0;
  transition: opacity 0.5s ease 0.35s;
}

.about.is-visible .line {
  opacity: 1;
}

.about .line::after {
  position: absolute;
  content: '';
  display: block;
  width: 0;
  height: 4px;
  background-color: #2d77d9;
  transform: translateY(-100%);
  transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.4s;
}

.about.is-visible .line::after {
  width: 4.32vw;
}

.about .about-cover {
  transform-origin: center bottom;
}

.about .desc {
  margin-top: 2.71vw;
  font-size: .83vw;
  line-height: 2;
  text-align: justify;
}

.about .more {
  position: relative;
  z-index: 1;
  margin-top: 2.71vw;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  width: 12.45vw;
  height: 3.44vw;
  background: #2d77d9;
  color: #fff;
  font-size: .83vw;
  overflow: hidden;
  cursor: pointer;
  transition: color 0.5s;
}

.about .more::after {
  content: "";
  background: #FA9130;
  position: absolute;
  z-index: -1;
  left: -20%;
  right: -20%;
  top: 0;
  bottom: 0;
  transform: skewX(-45deg) scale(0, 1);
  transition: all 0.5s;
}

.about .more:hover {
  color: #fff;
}

.about .more:hover::after {
  transform: skewX(-45deg) scale(1, 1);
}

.about .bottom {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
}

.about .bottom .since {
  font-family: Arial;
  font-size: 1.98vw;
  line-height: 1;
  color: #333;
  font-weight: 700;
  text-transform: uppercase;
  font-style: italic;
  line-height: 1;
}

.about .bottom .year {
  font-family: Arial;
  margin-left: .31vw;
  font-size: 3.65vw;
  color: #FA9130;
  line-height: 1;
  font-style: italic;
  font-weight: 700;
}

.about .about-cover {
  width: 44.38vw;
}

.culture {
  position: relative;
  z-index: 2;
  height: 48.23vw;
  padding: 5.99vw 0 0;
  background: var(--bg-image) no-repeat 0 0/cover fixed;
  background-attachment: fixed;
}

.culture .wrapper {
  overflow: hidden;
}

.culture .wrapper > .header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.culture .wrapper > .header .left .title {
  font-size: 2.29vw;
  line-height: 1;
  font-weight: 700;
  color: #EFEFEF;
}

.culture .wrapper > .header .left .desc {
  margin-top: 1.3vw;
  line-height: 1;
  font-size: 1.15vw;
  color: #EFEFEF;
}

.culture .wrapper > .header .more {
  position: relative;
  z-index: 1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 12.45vw;
  height: 3.44vw;
  background: #e5f5ff;
  color: #333;
  font-size: .83vw;
  line-height: 1;
  overflow: hidden;
  cursor: pointer;
  transition: color 0.5s;
}

.culture .wrapper > .header .more::after {
  content: "";
  background: #FA9130;
  position: absolute;
  z-index: -1;
  left: -20%;
  right: -20%;
  top: 0;
  bottom: 0;
  transform: skewX(-45deg) scale(0, 1);
  transition: all 0.5s;
}

.culture .wrapper > .header .more:hover {
  color: #fff;
}

.culture .wrapper > .header .more:hover::after {
  transform: skewX(-45deg) scale(1, 1);
}

.culture .content {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 1.56vw;
  margin-top: 7.03vw;
}

.culture .content .item {
  position: relative;
  overflow: hidden;
  padding: 3.07vw 1.88vw 0;
  height: 25.73vw;
  color: #fff;
  transition: transform 0.45s cubic-bezier(0.34, 1.2, 0.64, 1),
    box-shadow 0.45s ease;
}

.culture .content .item::before {
  content: '';
  position: absolute;
  top: 0;
  left: -120%;
  width: 55%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.14), transparent);
  transform: skewX(-18deg);
  transition: left 0.65s ease;
  z-index: 0;
  pointer-events: none;
}

.culture .content .item:hover {
  transform: translateY(-0.78vw);
  box-shadow: 0 1.25vw 2.6vw rgba(0, 0, 0, 0.22);
  z-index: 2;
}

.culture .content .item:hover::before {
  left: 150%;
}

.culture .content .item .header,
.culture .content .item .bottom {
  position: relative;
  z-index: 1;
}

.culture .content .item .header {
  position: relative;
}

.culture .content .item .header::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.5);
  transform: scaleX(1);
  transform-origin: right center;
  transition: transform 0.45s ease;
}

.culture .content .item:hover .header::after {
  transform: scaleX(0);
  transform-origin: left center;
}

.culture .content .item .header .top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}

.culture .content .item .header .top img {
  flex-shrink: 0;
  display: block;
  height: auto;
  object-fit: contain;
  object-position: left bottom;
  transition: transform 0.5s cubic-bezier(0.34, 1.45, 0.64, 1);
}

.culture .content .item:hover .header .top img {
  transform: scale(1.12) translateY(-0.31vw);
}

.culture .content .item .header .top .en {
  flex-shrink: 0;
  white-space: nowrap;
  margin-bottom: 0.26vw;
  font-size: 1.15vw;
  color: #E5F5FF;
  line-height: 1;
  transition: transform 0.4s ease, letter-spacing 0.4s ease, color 0.4s ease;
}

.culture .content .item:hover .header .top .en {
  transform: translateX(0.42vw);
  letter-spacing: 0.06em;
  color: #fff;
}

.culture .content .item .bottom .title {
  font-size: 2.71vw;
  font-weight: 700;
  line-height: 1;
  color: #E5F5FF;
  transition: transform 0.45s cubic-bezier(0.34, 1.2, 0.64, 1), color 0.4s ease;
}

.culture .content .item:hover .bottom .title {
  transform: translateY(-0.31vw);
  color: #fff;
}

.culture .content .item .bottom .desc {
  margin-top: 1.46vw;
  line-height: 2;
  font-size: .83vw;
  color: #fff;
  opacity: 0.88;
  transition: transform 0.45s ease 0.06s, opacity 0.45s ease 0.06s;
}

.culture .content .item:hover .bottom .desc {
  transform: translateY(-0.21vw);
  opacity: 1;
}

.culture .content .item:first-child {
  background-color: #4b5b76;
}

.culture .content .item:first-child .header {
  padding-bottom: 2.66vw;
  margin-bottom: 4.06vw;
}

.culture .content .item:first-child .top img {
  width: 4.17vw;
}

.culture .content .item:nth-child(2) {
  background-color: #fa9130;
}

.culture .content .item:nth-child(2) .header {
  padding-bottom: 3.23vw;
  margin-bottom: 3.54vw;
}

.culture .content .item:nth-child(2) .top img {
  width: 4.64vw;
}

.culture .content .item:nth-child(3) {
  background-color: #191919;
}

.culture .content .item:nth-child(3) .header {
  padding-bottom: 3.33vw;
  margin-bottom: 3.59vw;
}

.culture .content .item:nth-child(3) .top img {
  width: 4.58vw;
}

.culture .content .item:nth-child(4) {
  background-color: #2d77d9;
}

.culture .content .item:nth-child(4) .header {
  padding-bottom: 3.49vw;
  margin-bottom: 3.54vw;
}

.culture .content .item:nth-child(4) .top img {
  width: 4.48vw;
}

.business {
  position: relative;
  z-index: 4;
  background-color: #fff;
}

.business .header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 11.46vw;
  line-height: 1;
}

.business .header .title {
  font-size: 2.29vw;
  font-weight: 700;
  color: #333;
}

.business .header .desc {
  margin-top: 1.3vw;
  font-size: 1.15vw;
  color: #333;
}

.business .content {
  display: flex;
  height: 50vw;
}

.business .content .left {
  width: 50vw;
  height: 100%;
}

.business .content .title {
  font-size: 2.81vw;
  font-weight: 700;
  line-height: 1;
  color: #fff;
}

.business .content .en {
  margin-top: .73vw;
  font-size: .83vw;
  line-height: 1;
  color: #fff;
}

.business .content .left .item {
  display: flex;
  align-items: center;
  height: 100%;
}

.business .content .item {
  position: relative;
  overflow: hidden;
}

.business .content .item::before {
  content: '';
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 0;
}

.business .content .item::after {
  content: '';
  position: absolute;
  background-color: #2d77d9;
  opacity: 0.9;
  width: 150%;
  height: 150%;
  border-radius: 50%;
  z-index: 1;
  top: 100%;
  left: 100%;
  transition: top 0.3s ease, left 0.3s ease;
}

.business .content .item:hover::before {
  transform: scale(1.05);
}

.business .content .item:hover::after {
  top: -25%;
  left: -25%;
}

.business .content .left .item::before {
  background-image: var(--bg-image);
}

.business .content .item .info {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
}

.business .content .left .item .info {
  justify-content: center;
  padding-left: 5.83vw;
  color: #fff;
}

.business .content .item .info>img,
.business .content .item .info>.title,
.business .content .item .info>.en {
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.business .content .left .item:hover .info>img,
.business .content .left .item:hover .info>.title,
.business .content .left .item:hover .info>.en {
  transform: translateY(calc(-0.5 * (5.73vw + 2.6vw)));
}

.business .content .left .item .info>img {
  margin-bottom: 2.08vw;
  width: 4.95vw;
}

.business .content .right {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  width: 50vw;
  height: 100%;
}

.business .content .right .item {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 25vw;
  padding-left: 3.23vw;
  padding-bottom: 3.44vw;
}

.business .content .right .item .info .title {
  font-size: 1.67vw;
}

.business .content .item .info .more {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 9.38vw;
  height: 0;
  margin-top: 0;
  border: 1px solid transparent;
  opacity: 0;
  overflow: hidden;
  flex-shrink: 0;
  box-sizing: border-box;
  transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1),
    margin-top 0.35s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.35s ease,
    border-color 0.35s ease;
}

.business .content .item:hover .info .more {
  height: 2.6vw;
  margin-top: 5.73vw;
  border-color: #fff;
  opacity: 1;
}

.business .content .item .info .more img {
  width: .63vw;
}

.business .content .right .item:first-child::before {
  background-image: var(--bg-image);
}

.business .content .right .item:first-child .info>img {
  width: 3.65vw;
  margin-bottom: 1.77vw;
}

.business .content .right .item:nth-child(2)::before {
  background-image: var(--bg-image);
}

.business .content .right .item:nth-child(2) .info>img {
  width: 2.19vw;
  margin-bottom: 1.77vw;
}

.business .content .right .item:nth-child(3)::before {
  background-image: var(--bg-image);
}

.business .content .right .item:nth-child(3) .info>img {
  width: 3.85vw;
  margin-bottom: 1.77vw;
}

.business .content .right .item:nth-child(4)::before {
  background-image: var(--bg-image);
}

.business .content .right .item:nth-child(4) .info>img {
  width: 3.44vw;
  margin-bottom: 1.67vw;
}

.global {
  padding-top: 3.33vw;
  position: relative;
  z-index: 2;
  background-color: #fff;
}

.global::after {
  position: absolute;
  content: '';
  inset: 0;
  z-index: 0;
  background: url(../images/index-global-mask.png) 0 0/cover;
  pointer-events: none;
}

.global .header {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
  position: relative;
  z-index: 1;
}

.global .header .title {
  font-size: 2.29vw;
  font-weight: 700;
  color: #333;
}

.global .header .desc {
  margin-top: 1.41vw;
  display: flex;
  gap: 0 1.04vw;
  color: #333;
  font-size: 1.15vw;
}

.global .map-container {
  width: 72.92vw;
  margin: .83vw auto 0;
  height: 26.67vw;
  position: relative;
  z-index: 1;
}

/* box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.1); */
.global .map-container .map-img {
  width: 100%;
  height: 100%;
}

.global .map-container .location .location-icon {
  position: relative;
  z-index: 2;
  width: 3.13vw;
  height: 3.13vw;
  filter: drop-shadow(0px 0px 1.56vw rgba(0, 0, 0, 0.1));
}

.global .map-container .item {
  position: absolute;
}

@keyframes location-ripple {
  0% {
    transform: translate(-50%, -50%) scale(0.3);
    opacity: 1;
  }

  100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0;
  }
}

.global .map-container .location-circle {
  position: absolute;
  width: 7.81vw;
  height: 7.81vw;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.3);
  opacity: 0;
  z-index: 1;
  pointer-events: none;
  animation: location-ripple 6s ease-out infinite;
}

.global .map-container .location-circle-1 {
  animation-delay: var(--ripple-offset, 0s);
}

.global .map-container .location-circle-2 {
  animation-delay: calc(var(--ripple-offset, 0s) - 2s);
}

.global .map-container .location-circle-3 {
  animation-delay: calc(var(--ripple-offset, 0s) - 4s);
}

.global .map-container .location-item-1 {
  --ripple-offset: 0s;
  top: 30.6640625%;
  left: 8.07142857%;
}

.global .map-container .location-item-2 {
  --ripple-offset: -1.1s;
  top: 36.1328125%;
  left: 32.5%;
}

.global .map-container .location-item-3 {
  --ripple-offset: -2.4s;
  top: 31.25%;
  left: 75.35714285%;
}

.global .map-container .location-item-4 {
  --ripple-offset: -3.7s;
  top: 62.109375%;
  left: 10.785714285%;
}

.global .map-container .location-item-5 {
  --ripple-offset: -0.7s;
  top: 73.4375%;
  left: 41.357142857%;
}

.global .map-container .location-item-6 {
  --ripple-offset: -4.5s;
  top: 69.3359375%;
  left: 83.14285714%;
}

.global .bottom {
  position: relative;
  z-index: 1;
  margin-top: .94vw;
  padding-bottom: 4.38vw;
}

.global .bottom .info {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.global .bottom .info .title {
  font-size: 1.25vw;
  font-weight: 700;
  line-height: 1;
}

.global .bottom .info .desc {
  margin-top: 1.04vw;
  font-size: .83vw;
  line-height: 2;
}

.global .bottom .info .more {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 12.45vw;
  height: 3.44vw;
  background: #2d77d9;
  color: #fff;
  font-size: .83vw;
  line-height: 1;
  overflow: hidden;
  cursor: pointer;
  transition: color 0.5s;
}

.global .bottom .info .more::after {
  content: "";
  background: #FA9130;
  position: absolute;
  z-index: -1;
  left: -20%;
  right: -20%;
  top: 0;
  bottom: 0;
  transform: skewX(-45deg) scale(0, 1);
  transition: all 0.5s;
}

.global .bottom .info .more:hover {
  color: #fff;
}

.global .bottom .info .more:hover::after {
  transform: skewX(-45deg) scale(1, 1);
}

.global .bottom .statistics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 1.51vw;
  margin-top: 3.23vw;
}

.global .bottom .statistics .item {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  height: 10.94vw;
  line-height: 1;
}

.global .bottom .statistics .item .count {
  font-family: Arial;
  font-weight: 700;
  font-size: 4.79vw;
  color: #fff;
  margin-bottom: 1.04vw;
}

.global .bottom .statistics .item .desc {
  font-size: .94vw;
  color: #FAFDFF;
  line-height: 1;
}

.global .bottom .statistics .item:first-child {
  background-color: #2d77d9;
}

.global .bottom .statistics .item:nth-child(2) {
  background-color: #191919;
}

.global .bottom .statistics .item:last-child {
  background-color: #4b5b76;
}

.job {
  position: relative;
  z-index: 2;
  height: 27.6vw;
  padding-top: 6.2vw;
  background: url(../images/index-job-bg.jpg) no-repeat 0 0/cover fixed;
}

.job .wrapper {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  overflow: hidden;
}

.job .left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.job .left img {
  width: 4.38vw;
}

.job .left .title {
  margin-top: 2.19vw;
  line-height: 1;
  font-size: 1.77vw;
  font-weight: 700;
  color: #fff;
}

.job .left .line {
  margin-top: 1.88vw;
  height: 2px;
  width: 3.91vw;
  background-color: #2d77d9;
}

.job .left .desc {
  font-size: .83vw;
  line-height: 2;
  color: #fff;
  margin-top: 1.41vw;
}

.job .right {
  display: flex;
  color: #fff;
  gap: 0 2.55vw;
  line-height: 1;
  padding-bottom: .52vw;
}

.job .right a {
  position: relative;
  z-index: 1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 12.45vw;
  height: 3.44vw;
  color: #fff;
  font-size: .83vw;
  line-height: 1;
  overflow: hidden;
  cursor: pointer;
  transition: color 0.5s;
}

.job .right a::after {
  content: "";
  background: #fff;
  position: absolute;
  z-index: -1;
  left: -20%;
  right: -20%;
  top: 0;
  bottom: 0;
  transform: skewX(-45deg) scale(0, 1);
  transition: all 0.5s;
}

.job .right a:first-child {
  background: #fa9130;
}

.job .right a:nth-child(2) {
  background: #2d77d9;
}

.job .right a:hover {
  color: #333;
}

.job .right a:hover::after {
  transform: skewX(-45deg) scale(1, 1);
}

.news {
  position: relative;
  z-index: 2;
  background-color: #fff;
}

.news .wrapper {
  padding-bottom: 3.39vw;
}

.news .header {
  line-height: 1;
  padding-top: 4.27vw;
}

.news .header .title {
  font-size: 2.29vw;
  font-weight: 700;
}

.news .header .desc {
  font-size: 1.15vw;
  margin-top: 1.3vw;
}

.news .news-banner {
  margin-top: 3.02vw;
  padding-bottom: 4.01vw;
  position: relative;
}

.news .news-banner .item {
  display: block;
  height: 30.73vw;
  width: 28.54vw;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
}

.news .news-banner .item .cover {
  height: 16.88vw;
  width: 100%;
  overflow: hidden;
}

.news .news-banner .item .cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s linear;
}

.news .news-banner .item:hover .cover img {
  transform: scale(1.05);
}

.news .news-banner .item .info {
  position: relative;
  background-color: #f1f2f4;
  padding: 1.82vw 1.77vw 2.76vw;
  border-bottom: .21vw solid #2D77D9;
  overflow: hidden;
}

.news .news-banner .item .info::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50vw;
  height: 50vw;
  margin: 0;
  transform: translate(-50%, -50%);
  content: '';
  border-radius: 50%;
  display: block;
  box-shadow: inset 0 0 0 0 #2d77d9;
  transition: box-shadow 0.6s cubic-bezier(0.3, 0, 0.2, 1);
  z-index: 0;
}

.news .news-banner .item:hover .info::before {
  box-shadow: inset 0 0 0 25vw #2d77d9;
}

.news .news-banner .item .info .date {
  position: relative;
  z-index: 1;
  font-size: 1.88vw;
  font-family: Arial;
  color: #2D77D9;
  line-height: 1;
  font-weight: 700;
  padding-bottom: 1.25vw;
  border-bottom: 1px solid #bfbfbf;
  transition: color 0.3s 0.1s ease-out, border-color 0.3s 0.1s ease-out;
}

.news .news-banner .item:hover .info .date {
  color: #fff;
  border-bottom-color: #71a3e5;
}

.news .news-banner .item .info .year {
  font-size: .94vw;
  font-family: Arial;
  line-height: 1;
  margin-left: .36vw;
  color: #333;
  font-weight: 400;
  transition: color 0.3s 0.1s ease-out;
}

.news .news-banner .item:hover .info .year {
  color: #fff;
}

.news .news-banner .item .info .title {
  position: relative;
  z-index: 1;
  font-size: 1.15vw;
  font-weight: 700;
  line-height: 1;
  margin-top: 1.3vw;
  color: #333;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  transition: color 0.3s 0.1s ease-out;
}

.news .news-banner .item:hover .info .title {
  color: #fff;
}

.news .news-banner .item .info .desc {
  position: relative;
  z-index: 1;
  font-size: .83vw;
  line-height: 1.75;
  margin-top: 1.2vw;
  color: #666;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.3s 0.1s ease-out;
}

.news .news-banner .item:hover .info .desc {
  color: #fff;
}


.news .news-banner .swiper-pagination {
  display: flex;
  justify-content: center;
  gap: 0 .83vw;
  width: 100%;
  bottom: 0;
}

.news .news-banner .swiper-pagination .swiper-pagination-bullet {
  width: 4.64vw;
  height: .21vw;
  border-radius: 0;
  background-color: #dbdbdb;
  opacity: 1;
}

.news .news-banner .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #fa9130;
}

.media {
  position: relative;
  z-index: 2;
  height: 45.89vw;
  padding-top: 3.75vw;
  background: url(../images/index-media-bg.jpg) no-repeat 0 0/cover;
}


.media .header {
  line-height: 1;
}

.media .header .title {
  font-size: 2.29vw;
  font-weight: 700;
  color: #191919;
}

.media .header .desc {
  font-size: 1.15vw;
  color: #191919;
  margin-top: 1.3vw;
}

.media .content {
  display: flex;
  justify-content: space-between;
  margin-top: 2.24vw;
}

.media .content .item {
  position: relative;
  width: 43.23vw;
  height: 27.92vw;
  overflow: hidden;
}

.media .content .item .bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.media .content .item:hover .bg {
  transform: scale(1.05);
}

.media .content .item .mask {
  position: absolute;
  height: 27.86vw;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1;
  pointer-events: none;
  transition: opacity 0.35s ease;
}

.media .content .item::after {
  content: '';
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.45);
  opacity: 0;
  transition: opacity 0.35s ease;
  z-index: 1;
  pointer-events: none;
}

.media .content .item:hover::after {
  opacity: 1;
}

.media .content .item:hover .mask {
  opacity: 0;
}


.media .content .item .info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: absolute;
  inset: 0;
  padding: 1.82vw 2.24vw 2.24vw;
  z-index: 2;
}

.media .content .item .info > .title {
  position: static;
  font-family: Arial;
  line-height: 1;
  font-size: 2.08vw;
  color: #fff;
  font-weight: 700;
  pointer-events: none;
}

.media .content .item .info > .title .text,
.media .content .item .info > .title > img {
  position: absolute;
  transition:
    top 0.5s cubic-bezier(0.4, 0, 0.2, 1),
    left 0.5s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: top, left, transform;
}

.media .content .item .info > .title .text {
  top: 1.82vw;
  left: 2.24vw;
  transform: translate(0, 0);
}

.media .content .item .info > .title > img {
  top: 50%;
  left: 50%;
  transform: translate(0, 0);
}

.media .content .item .info .bottom {
  transition: opacity 0.35s ease, transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.media .content .item:hover .info > .title::after {
  opacity: 0;
}

.media .content .item:hover .info .bottom {
  opacity: 0;
  visibility: hidden;
  transform: translateY(1vw);
}

.media .content .item .info .bottom .title {
  line-height: 1;
  font-size: 1.35vw;
  color: #fff;
  font-weight: 700;
}

.media .content .item .info .bottom .desc {
  font-size: .94vw;
  line-height: 1.667;
  margin-top: .89vw;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #fff;
}

.media .content .video .info > .title::after {
  content: '';
  position: absolute;
  left: 2.24vw;
  right: 2.24vw;
  top: calc(1.82vw + 2.08vw + 1.2vw);
  height: 1px;
  background: #fff;
  transition: opacity 0.35s ease;
  pointer-events: none;
}

.media .content .video .info > .title > img {
  width: 2.6vw;
  height: 2.6vw;
  transform: translate(calc(16.775vw), calc(-12.14vw));
}

.media .content .video.item:hover .info > .title > img {
  transform: translate(-50%, calc(-50% - 1.77vw));
}

.media .content .video.item:hover .info > .title .text {
  top: 50%;
  left: 50%;
  transform: translate(-50%, calc(-50% + 2.03vw));
}

.media .content .image .info > .title::after {
  content: '';
  position: absolute;
  left: 2.24vw;
  right: 2.24vw;
  top: calc(1.82vw + 2.08vw + 1.35vw);
  height: 1px;
  background: #fff;
  transition: opacity 0.35s ease;
  pointer-events: none;
}

.media .content .image .info > .title > img {
  width: 2.81vw;
  transform: translate(calc(16.565vw), calc(-12.14vw));
}

.media .content .image.item:hover .info > .title > img {
  transform: translate(-50%, calc(-50% - 1.77vw));
}

.media .content .image.item:hover .info > .title .text {
  top: 50%;
  left: 50%;
  transform: translate(-50%, calc(-50% + 2.135vw));
}


footer {
  position: relative;
  z-index: 2;
}

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

/* 首页移动端适配 — 使用 common.css :root 统一变量 */
@media screen and (max-width: 1020px) {
  /* banner */
  .banner .banner-swiper .swiper-slide .box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0 var(--m-space-md);
  }

  .banner .banner-swiper .swiper-slide .box .text,
  .banner .banner-swiper .swiper-slide .box .s-text {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: 100%;
    height: auto;
    overflow: visible;
    text-align: center;
  }

  .banner .banner-swiper .swiper-slide .box .text {
    margin-bottom: 3.2vw;
  }

  .banner .banner-swiper .swiper-slide .box .text span {
    font-size: var(--m-font-hero);
    line-height: 1.2;
    white-space: nowrap;
  }

  .banner .banner-swiper .swiper-slide .box .s-text span {
    font-size: var(--m-font-body);
    line-height: 1.5;
  }

  .banner .banner-swiper .swiper-pagination-bullets {
    bottom: 8vw;
    left: 50%;
    transform: translateX(-50%);
  }

  .banner .banner-swiper .swiper-pagination-bullets .swiper-pagination-bullet {
    width: 5.333vw;
    height: 0.533vw;
    margin: 0 1.6vw;
  }

  .banner .banner-swiper .swiper-pagination-bullets .swiper-pagination-bullet-active {
    width: 10.667vw;
    height: 0.533vw;
  }

  .banner .banner-swiper .swiper-button-prev,
  .banner .banner-swiper .swiper-button-next {
    display: none;
    pointer-events: none;
  }

  .banner .top-bg {
    height: 24vw;
  }

  .banner .tips {
    right: 0;
    left: 0;
    bottom: 14vw;
    width: 100%;
    font-size: 3.2vw;
  }

  .banner .tips img {
    width: 5.333vw;
    margin-bottom: 5.133vw;
    animation-name: banner-tips-mouse-m;
  }

  @keyframes banner-tips-mouse-m {
    0%,
    100% {
      transform: translateY(0);
      opacity: 1;
    }

    50% {
      transform: translateY(2.133vw);
      opacity: 0.55;
    }
  }

  /* about */
  .about {
    height: auto;
    padding: var(--m-section-py) 0;
    background-position: center top;
  }

  .about .wrapper {
    flex-direction: column;
    align-items: stretch;
    gap: var(--m-gap-block);
  }

  .about .left {
    width: 100%;
  }

  .about .title {
    font-size: var(--m-font-h1);
  }

  .about .slogan {
    margin-top: var(--m-space-xs);
    font-size: var(--m-font-h3);
    line-height: 1.4;
  }

  .about .line {
    margin-top: var(--m-space-lg);
  }

  .about.is-visible .line::after {
    width: 10.667vw;
    height: 0.8vw;
  }

  .about .desc {
    margin-top: var(--m-space-md);
    font-size: var(--m-font-body);
    line-height: 1.85;
    text-align: left;
  }

  .about .more {
    margin-top: var(--m-space-lg);
    width: var(--m-btn-w);
    height: var(--m-btn-h);
    font-size: var(--m-font-body);
  }

  .about .bottom {
    justify-content: flex-start;
    margin-top: var(--m-space-2xs);
  }

  .about .bottom .since {
    font-size: var(--m-font-h2);
  }

  .about .bottom .year {
    margin-left: 1.067vw;
    font-size: var(--m-font-accent);
  }

  .about .about-cover {
    width: 100%;
    order: -1;
  }

  /* culture — top 负值 = 区块上内边距减去顶栏高度，吸顶时把标题区顶出来 */
  .culture {
    z-index: 2;
    height: auto;
    padding: var(--m-section-py) 0;
  }

  .culture .wrapper > .header {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--m-space-md);
  }

  .culture .wrapper > .header .left .title {
    font-size: var(--m-font-h1);
  }

  .culture .wrapper > .header .left .desc {
    margin-top: var(--m-space-xs);
    font-size: var(--m-font-h3);
    line-height: 1.5;
  }

  .culture .wrapper > .header .more {
    width: var(--m-btn-w);
    height: var(--m-btn-h);
    font-size: var(--m-font-body);
  }

  .culture .wrapper {
    overflow: visible;
  }

  .culture .content {
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    margin-top: var(--m-gap-block);
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
  }

  .culture .content .item {
    height: auto;
    min-height: 0;
    padding: var(--m-space-sm) var(--m-space-xs);
    border-radius: 0;
  }

  .culture .content .item .header .top {
    align-items: center;
    gap: 1.6vw;
  }

  .culture .content .item .header {
    padding-bottom: 2.667vw;
    margin-bottom: 2.667vw;
  }

  .culture .content .item .header::after {
    background: rgba(255, 255, 255, 0.35);
  }

  .culture .content .item .header .top img {
    width: 8.533vw;
    max-height: 10.667vw;
  }

  .culture .content .item .header .top .en {
    margin-bottom: 0;
    font-size: var(--m-font-body);
    color: rgba(229, 245, 255, 0.85);
    letter-spacing: 0.02em;
    white-space: nowrap;
  }

  .culture .content .item .bottom .title {
    font-size: var(--m-font-h2);
  }

  .culture .content .item .bottom .desc {
    margin-top: var(--m-space-2xs);
    font-size: var(--m-font-body);
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.92);
  }

  .culture .content .item:first-child .header,
  .culture .content .item:nth-child(2) .header,
  .culture .content .item:nth-child(3) .header,
  .culture .content .item:nth-child(4) .header {
    padding-bottom: 2.667vw;
    margin-bottom: 2.667vw;
  }

  /* business */
  .business .header {
    height: auto;
    padding: var(--m-section-py) 0 var(--m-space-lg);
  }

  .business .header .title {
    font-size: var(--m-font-h1);
  }

  .business .header .desc {
    margin-top: var(--m-space-xs);
    font-size: var(--m-font-h3);
    line-height: 1.5;
  }

  .business .content {
    flex-direction: column;
    height: auto;
  }

  .business .content .left,
  .business .content .right {
    width: 100%;
  }

  .business .content .left .item {
    min-height: 74.667vw;
  }

  .business .content .title {
    font-size: var(--m-font-h1);
  }

  .business .content .en {
    margin-top: var(--m-space-2xs);
    font-size: var(--m-font-body);
  }

  .business .content .left .item .info {
    padding: 8vw 5.333vw;
  }

  .business .content .left .item .info>img {
    width: 12.8vw;
    margin-bottom: 5.333vw;
  }

  .business .content .item .info .more {
    opacity: 1;
    border-color: #fff;
  }

  .business .content .left .item .info .more {
    width: 32vw;
    height: var(--m-btn-h-sm);
    margin-top: var(--m-space-md);
  }

  .business .content .left .item:hover .info .more {
    height: var(--m-btn-h-sm);
    margin-top: var(--m-space-md);
  }

  .business .content .right {
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    padding: 0;
    box-sizing: border-box;
  }

  .business .content .right .item {
    height: auto;
    min-height: 56vw;
    padding: var(--m-space-md) var(--m-space-sm);
    border-radius: 0;
  }

  .business .content .right .item .info .title {
    font-size: var(--m-font-h2);
  }

  .business .content .right .item .info .en {
    margin-top: var(--m-space-2xs);
    font-size: var(--m-font-body);
    line-height: 1.4;
  }

  /* right 图标按 PC 各卡单独宽度等比放大（×3.2） */
  .business .content .right .item:first-child .info>img {
    width: 11.68vw;
    margin-bottom: 5.667vw;
  }

  .business .content .right .item:nth-child(2) .info>img {
    width: 7.008vw;
    margin-bottom: 5.667vw;
  }

  .business .content .right .item:nth-child(3) .info>img {
    width: 12.32vw;
    margin-bottom: 5.667vw;
  }

  .business .content .right .item:nth-child(4) .info>img {
    width: 11.008vw;
    margin-bottom: 5.344vw;
  }

  .business .content .right .item .info .more {
    width: 100%;
    max-width: 100%;
    height: var(--m-btn-h-sm);
    margin-top: var(--m-space-sm);
    opacity: 1;
    border-color: #fff;
  }

  .business .content .right .item:hover .info .more {
    height: var(--m-btn-h-sm);
    margin-top: var(--m-space-sm);
  }

  .business .content .item .info .more img {
    width: 2.133vw;
  }

  /* global */
  .global {
    padding-top: var(--m-section-py);
  }

  .global .header .title {
    font-size: var(--m-font-h1);
  }

  .global .header .desc {
    margin-top: var(--m-space-sm);
    flex-direction: column;
    align-items: center;
    gap: 2.133vw;
    font-size: var(--m-font-h3);
    line-height: 1.5;
    text-align: center;
  }

  .global .map-container {
    width: 100%;
    height: 53.333vw;
    margin-top: var(--m-space-md);
  }

  .global .map-container .location .location-icon {
    width: var(--m-icon-md);
    height: var(--m-icon-md);
  }

  .global .map-container .location-circle {
    width: 16vw;
    height: 16vw;
  }

  .global .bottom {
    margin-top: var(--m-space-lg);
    padding-bottom: var(--m-section-py);
  }

  .global .bottom .info .title {
    font-size: var(--m-font-h3);
    line-height: 1.5;
    padding: 0 2.133vw;
  }

  .global .bottom .info .desc {
    margin-top: var(--m-space-sm);
    font-size: var(--m-font-body);
    line-height: 1.85;
    padding: 0 2.133vw;
  }

  .global .bottom .info .more {
    position: relative;
    transform: none;
    margin-top: var(--m-space-lg);
    width: var(--m-btn-w);
    height: var(--m-btn-h);
    font-size: var(--m-font-body);
  }

  .global .bottom .statistics {
    grid-template-columns: 1fr;
    gap: 4.267vw;
    margin-top: var(--m-gap-block);
  }

  .global .bottom .statistics .item {
    height: 29.333vw;
  }

  .global .bottom .statistics .item .count {
    font-size: var(--m-font-display);
    margin-bottom: 3.2vw;
  }

  .global .bottom .statistics .item .desc {
    font-size: var(--m-font-body);
    padding: 0 4.267vw;
    text-align: center;
    line-height: 1.5;
  }

  /* job */
  .job {
    height: auto;
    padding: var(--m-section-py) 0;
    background-position: center;
  }

  .job .wrapper {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--m-gap-block);
  }

  .job .left img {
    width: 12.8vw;
  }

  .job .left .title {
    margin-top: var(--m-space-md);
    font-size: var(--m-font-h2);
    line-height: 1.4;
  }

  .job .left .line {
    margin-top: var(--m-space-md);
    width: 10.667vw;
    height: 0.533vw;
  }

  .job .left .desc {
    margin-top: var(--m-space-sm);
    font-size: var(--m-font-body);
    line-height: 1.85;
  }

  .job .right {
    width: 100%;
    flex-direction: column;
    gap: 4.267vw;
    padding-bottom: 0;
  }

  .job .right a {
    width: 100%;
    height: var(--m-btn-h);
    font-size: var(--m-font-body);
  }

  /* news */
  .news .header {
    padding-top: var(--m-section-py);
  }

  .news .header .title {
    font-size: var(--m-font-h1);
  }

  .news .header .desc {
    margin-top: var(--m-space-xs);
    font-size: var(--m-font-h3);
    line-height: 1.5;
  }

  .news .wrapper {
    overflow: visible;
    padding-bottom: var(--m-space-lg);
  }

  .news .news-banner {
    margin-top: var(--m-space-lg);
    padding-bottom: var(--m-section-py);
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
  }

  .news .news-banner-swiper,
  .news .news-banner .swiper-container {
    width: 100%;
    overflow: hidden;
  }

  .news .news-banner .swiper-slide {
    width: 100%;
    height: auto;
  }

  .news .news-banner .item {
    display: block;
    width: 100%;
    height: auto;
  }

  .news .news-banner .item .cover {
    width: 100%;
    height: 50.667vw;
  }

  .news .news-banner .item .info {
    padding: var(--m-space-md);
  }

  .news .news-banner .item .info::before {
    width: 120vw;
    height: 120vw;
  }

  .news .news-banner .item:hover .info::before {
    box-shadow: inset 0 0 0 60vw #2d77d9;
  }

  .news .news-banner .item .info .date {
    font-size: var(--m-font-h2);
    padding-bottom: var(--m-space-sm);
  }

  .news .news-banner .item .info .year {
    font-size: var(--m-font-body);
    margin-left: 1.6vw;
  }

  .news .news-banner .item .info .title {
    margin-top: var(--m-space-sm);
    font-size: var(--m-font-h3);
    white-space: normal;
    line-height: 1.4;
  }

  .news .news-banner .item .info .desc {
    margin-top: var(--m-space-xs);
    font-size: var(--m-font-body);
    line-height: 1.75;
    -webkit-line-clamp: 3;
  }

  .news .news-banner .swiper-pagination {
    gap: 0 2.133vw;
    align-items: center;
  }

  .news .news-banner .swiper-pagination .swiper-pagination-bullet {
    width: 2.133vw;
    height: 2.133vw;
    border-radius: 50%;
    background-color: #dbdbdb;
    opacity: 1;
  }

  .news .news-banner .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #fa9130;
  }

  /* media */
  .media {
    height: auto;
    padding: var(--m-section-py) 0;
    background-position: center;
  }

  .media .header .title {
    font-size: var(--m-font-h1);
  }

  .media .header .desc {
    margin-top: var(--m-space-xs);
    font-size: var(--m-font-h3);
    line-height: 1.5;
  }

  .media .content {
    flex-direction: column;
    gap: var(--m-space-md);
    margin-top: var(--m-space-lg);
  }

  .media .content .item {
    width: 100%;
    height: 74.667vw;
  }

  .media .content .item .mask {
    height: 100%;
  }

  .media .content .item .info {
    padding: var(--m-space-md);
  }

  .media .content .item .info > .title {
    font-size: var(--m-font-h2);
  }

  .media .content .item .info > .title .text {
    top: 5.333vw;
    left: 5.333vw;
  }

  .media .content .item .info .bottom .title {
    font-size: var(--m-font-h3);
  }

  .media .content .item .info .bottom .desc {
    margin-top: 2.667vw;
    font-size: var(--m-font-body);
    line-height: 1.7;
  }

  .media .content .video .info > .title::after,
  .media .content .image .info > .title::after {
    left: 5.333vw;
    right: 5.333vw;
    top: calc(5.333vw + 5.333vw + 3.2vw);
  }

  .media .content .video .info > .title > img {
    width: 8vw;
    height: 8vw;
    transform: translate(
      calc(88.333vw / 2 - var(--m-space-md) - 8vw),
      calc(var(--m-space-md) + var(--m-font-h2) / 2 - 8vw / 2 - 74.667vw / 2)
    );
  }

  .media .content .image .info > .title > img {
    width: 8.533vw;
    transform: translate(
      calc(88.333vw / 2 - var(--m-space-md) - 8.533vw),
      calc(var(--m-space-md) + var(--m-font-h2) / 2 - 8.533vw / 2 - 74.667vw / 2)
    );
  }

  .media .content .video.item:hover .info > .title > img,
  .media .content .image.item:hover .info > .title > img {
    transform: translate(-50%, calc(-50% - 4vw));
  }

  .media .content .video.item:hover .info > .title .text,
  .media .content .image.item:hover .info > .title .text {
    top: 50%;
    left: 50%;
    transform: translate(-50%, calc(-50% + 4.8vw));
  }
}
