* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

ul,
li {
  list-style: none;
}

i,
em {
  font-style: normal;
}

textarea {
  resize: none;
}

img {
  vertical-align: middle;
  border: 0;
  max-width: 100%;
}

.map img {
  max-width: unset;
}

button,
a,
.btn {
  cursor: pointer;
}

input,
textarea,
button {
  background: none;
  border: none;
}

a {
  text-decoration: none;
}

.wh {
  position: relative;
  width: 100%;
}
.wh .box-fill {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.wh .box-fill img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.w {
  margin: 0 auto;
  width: 62.5%;
  max-width: 1200px;
}

@media (max-width: 1200px) {
  .w {
    width: 95%;
  }
}
:root {
  --swiper-theme-color: #2550DB;
}

:root {
  --fs16: 16px;
  --fs18: 18px;
  --fs20: 20px;
  --fs22: 22px;
  --fs24: 24px;
  --fs28: 28px;
  --fs32: 32px;
  --fs42: 42px;
}

@media (max-width: 1900px) {
  :root {
    --fs16: 16px;
    --fs18: 18px;
    --fs20: 20px;
    --fs22: 22px;
    --fs24: 24px;
    --fs28: 28px;
    --fs32: 32px;
    --fs42: 42px;
  }
}
@media (max-width: 1800px) {
  :root {
    --fs16: 15px;
    --fs18: 17px;
    --fs20: 18px;
    --fs22: 20px;
    --fs24: 22px;
    --fs28: 26px;
    --fs32: 30px;
    --fs42: 39px;
  }
}
@media (max-width: 1700px) {
  :root {
    --fs16: 14px;
    --fs18: 16px;
    --fs22: 19px;
    --fs24: 21px;
    --fs28: 25px;
    --fs32: 28px;
    --fs42: 37px;
  }
}
@media (max-width: 1600px) {
  :root {
    --fs22: 18px;
    --fs24: 20px;
    --fs28: 23px;
    --fs32: 26px;
    --fs42: 35px;
  }
}
@media (max-width: 1500px) {
  :root {
    --fs22: 17px;
    --fs24: 18px;
    --fs28: 22px;
    --fs32: 25px;
    --fs42: 33px;
  }
}
@media (max-width: 1400px) {
  :root {
    --fs22: 16px;
    --fs24: 17px;
    --fs28: 20px;
    --fs32: 23px;
    --fs42: 30px;
  }
}
@media (max-width: 1300px) {
  :root {
    --fs22: 15px;
    --fs24: 16px;
    --fs28: 19px;
    --fs32: 21px;
    --fs42: 28px;
  }
}
@media (max-width: 1200px) {
  :root {
    --fs32: 20px;
    --fs42: 26px;
  }
}
@media (max-width: 1100px) {
  :root {
    --fs32: 18px;
    --fs42: 24px;
  }
}
@media (max-width: 1000px) {
  :root {
    --fs42: 22px;
  }
}
.l-grid {
  display: grid !important;
}
.l-grid.col-1 {
  grid-template-columns: repeat(1, 1fr);
}
.l-grid.col-2 {
  grid-template-columns: repeat(2, 1fr);
}
.l-grid.col-3 {
  grid-template-columns: repeat(3, 1fr);
}
.l-grid.col-4 {
  grid-template-columns: repeat(4, 1fr);
}
.l-grid.col-5 {
  grid-template-columns: repeat(5, 1fr);
}
.l-grid.col-6 {
  grid-template-columns: repeat(6, 1fr);
}
.l-grid.col-7 {
  grid-template-columns: repeat(7, 1fr);
}
.l-grid.col-8 {
  grid-template-columns: repeat(8, 1fr);
}
@media screen and (max-width: 1920px) {
  .l-grid.col-1920-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .l-grid.col-1920-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .l-grid.col-1920-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .l-grid.col-1920-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .l-grid.col-1920-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .l-grid.col-1920-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .l-grid.col-1920-7 {
    grid-template-columns: repeat(7, 1fr);
  }
  .l-grid.col-1920-8 {
    grid-template-columns: repeat(8, 1fr);
  }
}
@media screen and (max-width: 1800px) {
  .l-grid.col-1800-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .l-grid.col-1800-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .l-grid.col-1800-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .l-grid.col-1800-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .l-grid.col-1800-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .l-grid.col-1800-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .l-grid.col-1800-7 {
    grid-template-columns: repeat(7, 1fr);
  }
  .l-grid.col-1800-8 {
    grid-template-columns: repeat(8, 1fr);
  }
}
@media screen and (max-width: 1600px) {
  .l-grid.col-1600-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .l-grid.col-1600-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .l-grid.col-1600-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .l-grid.col-1600-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .l-grid.col-1600-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .l-grid.col-1600-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .l-grid.col-1600-7 {
    grid-template-columns: repeat(7, 1fr);
  }
  .l-grid.col-1600-8 {
    grid-template-columns: repeat(8, 1fr);
  }
}
@media screen and (max-width: 1400px) {
  .l-grid.col-1400-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .l-grid.col-1400-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .l-grid.col-1400-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .l-grid.col-1400-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .l-grid.col-1400-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .l-grid.col-1400-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .l-grid.col-1400-7 {
    grid-template-columns: repeat(7, 1fr);
  }
  .l-grid.col-1400-8 {
    grid-template-columns: repeat(8, 1fr);
  }
}
@media screen and (max-width: 1200px) {
  .l-grid.col-1200-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .l-grid.col-1200-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .l-grid.col-1200-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .l-grid.col-1200-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .l-grid.col-1200-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .l-grid.col-1200-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .l-grid.col-1200-7 {
    grid-template-columns: repeat(7, 1fr);
  }
  .l-grid.col-1200-8 {
    grid-template-columns: repeat(8, 1fr);
  }
}
@media screen and (max-width: 992px) {
  .l-grid.col-992-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .l-grid.col-992-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .l-grid.col-992-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .l-grid.col-992-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .l-grid.col-992-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .l-grid.col-992-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .l-grid.col-992-7 {
    grid-template-columns: repeat(7, 1fr);
  }
  .l-grid.col-992-8 {
    grid-template-columns: repeat(8, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .l-grid.col-768-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .l-grid.col-768-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .l-grid.col-768-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .l-grid.col-768-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .l-grid.col-768-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .l-grid.col-768-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .l-grid.col-768-7 {
    grid-template-columns: repeat(7, 1fr);
  }
  .l-grid.col-768-8 {
    grid-template-columns: repeat(8, 1fr);
  }
}
@media screen and (max-width: 480px) {
  .l-grid.col-480-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .l-grid.col-480-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .l-grid.col-480-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .l-grid.col-480-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .l-grid.col-480-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .l-grid.col-480-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .l-grid.col-480-7 {
    grid-template-columns: repeat(7, 1fr);
  }
  .l-grid.col-480-8 {
    grid-template-columns: repeat(8, 1fr);
  }
}

body {
  font-family: SourceHanSansCN, "Microsoft YaHei";
}

.line1 {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.line2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}