[play-video] {
  cursor: pointer;
}
.csv {
  background-color: #f0f5f9;
  --color: #20af86;
}
.csv img {
  vertical-align: top;
}
.csv .csv-main {
  padding-left: 12.5vw;
  padding-right: 12.5vw;
}
.csv .pagination {
  margin: 3.65vw 0 0;
  text-align: center;
}
.csv .pagination span {
  height: 0.26vw;
  width: 5.21vw;
  border-radius: 0;
  background: #bfcad3;
  opacity: 1;
}
.csv .pagination span.swiper-pagination-bullet-active {
  background: var(--color);
}
.csv h2 {
  margin: 0;
  position: relative;
  font-size: 2.08vw;
  padding-bottom: 1.35vw;
  text-align: center;
  font-weight: bold;
}
.csv h2::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 3.12vw;
  height: 0.16vw;
  background-color: #20af86;
  transform: translateX(-50%);
}
.csv .banner img {
  width: 100%;
}
.csv .news {
  margin: 3.91vw auto 5.21vw;
}
.csv .news > div {
  margin-top: 2.34vw;
  display: flex;
  align-items: stretch;
  background: #fff;
  box-sizing: border-box;
}
.csv .news > div:hover {
  box-shadow: 0.26vw 0.26vw 0.52vw rgba(0, 0, 0, 0.2);
}
.csv .news > div:hover a {
  background-color: var(--color);
  color: #fff;
}
.csv .news > div img {
  width: 27.66vw;
}
.csv .news > div > div {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.52vw;
  padding: 1.82vw 1.04vw;
  box-sizing: border-box;
}
.csv .news > div > div h6 {
  margin: 0;
  font-size: 1.1vw;
  line-height: 2;
  font-weight: bold;
}
.csv .news > div > div p {
  margin: 10px 0 0;
  font-size: 1.1vw;
  line-height: 2;
}
.csv .news > div > div a {
  display: inline-block;
  width: 7.81vw;
  line-height: 2.24vw;
  border: 1px solid var(--color);
  text-align: center;
  font-size: 0.94vw;
  color: var(--color);
}
.csv .works {
  padding-top: 5.21vw;
  padding-bottom: 4vw;
  background-image: url(../images/home/bg.jpg);
  background-size: 100% 100%;
}
.csv .works h2 {
  color: #fff;
}
.csv .works h2::after {
  background-color: #fff;
}
.csv .works > div {
  margin-top: 4vw;
}
.csv .works > div .swiper-slide {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 2.34vw;
}
@media screen and (max-width: 768px) {
  .pagination {
    margin: 6.67vw 0 0;
    text-align: center;
  }
  .pagination span {
    height: 0.67vw;
    width: 13.33vw;
  }
  .csv {
    background-color: #f0f5f9;
    --color: #20af86;
  }
  .csv h2 {
    font-size: 5.33vw;
    padding-bottom: 2.67vw;
  }
  .csv h2::after {
    width: 8vw;
    height: 0.4vw;
  }
  .csv .csv-main {
    padding-left: 2vw;
    padding-right: 2vw;
  }
  .csv .banner img {
    width: 100%;
  }
  .csv .news {
    margin: 8vw auto 10.67vw;
  }
  .csv .news > div img {
    width: 100%;
  }
  .csv .news > div {
    margin-top: 5.33vw;
    gap: 0;
    flex-direction: column;
    width: auto;
  }
  .csv .news > div > div {
    display: flex;
    flex-direction: column;
    gap: 4vw;
    padding: 4vw;
  }
  .csv .news > div > div h6,
  .csv .news > div > div p {
    font-size: 2.93vw;
  }
  .csv .news > div > div > a {
    width: 26.67vw;
    line-height: 7.73vw;
    font-size: 3.2vw;
  }
  .csv .works {
    padding-top: 10.67vw;
    padding-bottom: 10.67vw;
  }
  .csv .works > div {
    margin-top: 8vw;
  }
  .csv .works > div .swiper-slide {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 3.33vw 2vw;
  }
}
