.p1_banner {
  position: relative;
  overflow: hidden;
  background: #fff;
}

.p1_bg { position: relative; }

.p1_bg_img {
  display: block;
  width: 100%;
}

.p1_gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(134deg, rgba(40, 140, 221, 0.2) 36%, transparent 81%);
  pointer-events: none;
}

.p1_content {
  position: absolute;
  left: calc(269 / 2880 * 19.2rem);
  top: calc(307 / 2880 * 19.2rem);
  z-index: 2;
  color: #fff;
  pointer-events: none;
  opacity: 0;
  transform: translateY(calc(90 / 2880 * 19.2rem));
  transition: transform 0.9s ease, opacity 0.9s ease;
}

.p1_content._into {
  opacity: 1;
  transform: translateY(0);
}

.p1_title_row {
  display: flex;
  align-items: center;
  height: calc(103 / 2880 * 19.2rem);
  margin-bottom: calc(49 / 2880 * 19.2rem);
}

.p1_brand,
.p1_edition {
  font-size: calc(83 / 2880 * 19.2rem);
  line-height: calc(99 / 2880 * 19.2rem);
  font-weight: 700;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.p1_logo {
  display: block;
  width: calc(670 / 2880 * 19.2rem);
  height: calc(75 / 2880 * 19.2rem);
  margin: 0 calc(18 / 2880 * 19.2rem) 0 0;
  flex-shrink: 0;
  object-fit: contain;
}

.p1_sub {
  margin: 0 0 0 calc(8 / 2880 * 19.2rem);
  font-size: calc(55 / 2880 * 19.2rem);
  line-height: calc(84 / 2880 * 19.2rem);
  letter-spacing: 0.02em;
}
.pc-pad-show {
  display: block;
}
.p4_banner {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #000;
}

.p4_banner_img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: top;
}

.p5_banner {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: linear-gradient(180deg, #fdfdff 0%, #f6f5fa 100%);
}

.p5_banner_img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: top;
}

.c_p2 {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #fff;
  padding-top: calc(112 / 2880 * 19.2rem); /* 1732 相对上屏空隙感，用内边距承接标题 */
}

.c_p2_inner {
  box-sizing: border-box;
  padding: 0 calc(445 / 2880 * 19.2rem);
}

.c_p2_title {
  margin: 0;
  font-size: 0.47rem;
  line-height: calc(90 / 2880 * 19.2rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #272727;
  opacity: 0;
  transform: translateY(calc(60 / 2880 * 19.2rem));
  transition: transform 0.8s ease, opacity 0.8s ease;
}

.c_p2_title._into {
  opacity: 1;
  transform: translateY(0);
}

.c_p2_sub {
  margin: calc(34 / 2880 * 19.2rem) 0 0;
  font-size: 0.28rem;
  line-height: calc(67 / 2880 * 19.2rem);
  font-weight: 300;
  color: #000;
  opacity: 0;
  transform: translateY(calc(60 / 2880 * 19.2rem));
  transition: transform 0.8s ease 0.1s, opacity 0.8s ease 0.1s;
}

.c_p2_sub._into {
  opacity: 1;
  transform: translateY(0);
}

.c_p2_media {
  margin-top: calc(89 / 2880 * 19.2rem); /* 347 - 124 - 134 */
  width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
}

.c_p2_media_img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: top;
}

.mb-only-show {
  display: none;
}

@media (max-width: 767px) {
  .p1_gradient {
    background: linear-gradient(180deg, rgba(40, 140, 221, 0.15) 0%, transparent 45%);
  }

  .p1_content {
    left: calc(90 / 1080 * 7.5rem);
    top: calc(333 / 1080 * 7.5rem);
    transform: translateY(calc(60 / 1080 * 7.5rem));
  }

  .p1_title_row {
    height: calc(81 / 1080 * 7.5rem);
    margin-bottom: calc(40 / 1080 * 7.5rem);
  }

  .p1_brand,
  .p1_edition {
    font-size: calc(82 / 1080 * 7.5rem);
    line-height: calc(81 / 1080 * 7.5rem);
  }

  .p1_logo {
    width: calc(610 / 1080 * 7.5rem);
    height: calc(70 / 1080 * 7.5rem);
    margin: 0 calc(13 / 1080 * 7.5rem) 0 calc(20 / 1080 * 7.5rem);
  }

  .p1_sub {
    font-size: calc(46 / 1080 * 7.5rem);
    line-height: calc(68 / 1080 * 7.5rem);
    text-align: center;
  }
  .c_p2 {
    padding-top: 9.259vw; /* 100 */
  }

  .c_p2_inner {
    padding: 0 6.759vw; /* 73 */
  }

  .c_p2_title {
    font-size: 6.481vw; /* 70 */
    line-height: 8.333vw;
    letter-spacing: 0.01em;
    transform: translateY(3.704vw);
  }

  .c_p2_title._into {
    transform: translateY(0);
  }

  .c_p2_sub {
    margin-top: 2.778vw;
    font-size: 2.778vw; /* 30 */
    line-height: 4.63vw;
    transform: translateY(3.704vw);
  }

  .c_p2_sub._into {
    transform: translateY(0);
  }

  .c_p2_media {
    margin-top: 4.63vw;
    width: 100%;
    margin-left: 0;
  }
  .mb-only-show {
    display: block;
  }
  .pc-pad-show {
    display: none;
  }
}
