body {
  background: #111111;
}

@media (min-width: 1640px) {
  *[data-size='40px'] {
    font-size: 60px;
  }
}

/* idx-banner */
.idx-banner .banner-wrap {
  position: relative;
}

.idx-banner video,
.idx-banner img {
  display: block;
  width: 100%;
}

.idx-banner .info-group {
  color: #fff;
  margin-top: 20px;
}

.idx-banner .title {
  text-align: left;
  line-height: 1.45;
}

.idx-banner .info {
  font-size: 16px;
  margin-top: 10px;
  max-height: 116px;
  line-height: 1.8;
}

.idx-banner>img {
  margin-top: 30px;
}

@media (min-width: 768px) {
  .idx-banner .container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .idx-banner .info-group {
    max-width: 550px;
    margin-top: 0;
    padding: 30px 20px;
    background: rgba(0, 0, 0, .45);
  }

  .idx-banner .title {
    font-size: 24px;
  }
}

@media (min-width: 1200px) {
  .idx-banner .banner-wrap {
    margin-bottom: 70px;
  }

  .idx-banner .info-group {
    max-width: 680px;
    padding: 40px 35px;
  }

  .idx-banner .title {
    font-size: 30px;
  }

  .idx-banner .info {
    font-size: 18px;
    margin-top: 24px;
    max-height: 130px;
  }
}

@media (min-width: 1440px) {
  .idx-banner .title {
    font-size: 40px;
  }
}

@media (max-width: 640px) {
  .idx-banner .title {
    font-size: 18px;
  }
}


/* idx-products */
.idx-products {
  color: #fff;
  padding-top: 30px;
}

.idx-products .title {
  margin-bottom: 10px;
}

.idx-products .sub-info {
  text-align: center;
  line-height: 1.8;
  margin-bottom: 25px;
}

.idx-products .swiper-container {
  height: calc((100vw - 30px) * (9 / 14));
}

@media (min-width: 720px) {
  .idx-products .swiper-container {
    height: calc(690px * (9 / 14));
  }
}

@media (min-width: 992px) {
  .idx-products .swiper-container {
    height: calc(960px * (9 / 14));
  }
}

@media (min-width: 1200px) {
  .idx-products {
    padding-top: 60px;
  }

  .idx-products .sub-info {
    margin-bottom: 40px;
  }

  .idx-products .swiper-container {
    height: calc(1140px * (9 / 14));
  }
}

@media (min-width: 1440px) {
  .idx-products .sub-info {
    margin-bottom: 55px;
  }

  .idx-products .swiper-container {
    height: calc(1370px * (9 / 14));
  }
}


/* idx-applications */
.idx-applications {
  color: #fff;
  padding: 30px 0;
}

.idx-applications .title {
  margin-bottom: 20px;
}

.idx-applications .block {
  display: block;
  position: relative;
}

.idx-applications img {
  border-radius: 15px;
}

.idx-applications .tit {
  position: absolute;
  left: 15px;
  right: 15px;
  bottom: 20px;
}

@media (min-width: 768px) {
  .idx-applications img {
    width: 100%;
    height: 450px;
    object-fit: cover;
  }
}

@media (min-width: 1200px) {
  .idx-applications {
    padding: 61px 0 60px;
  }

  .idx-applications .container {
    padding: 0;
    max-width: 100%;
  }

  .idx-applications .title {
    margin-bottom: 40px;
  }

  .idx-applications .swiper-slide {
    height: unset;
    width: 14.25%;
    padding: 0 10px;
    transition: width .3s;
  }

  .idx-applications .swiper-slide.active {
    width: 43%;
  }

  .idx-applications .block {
    height: 100%;
  }

  .idx-applications img {
    height: 650px;
  }

  .idx-applications .swiper-slide.active .tit {
    text-align: right;
  }
}

@media (min-width: 1440px) {
  .idx-applications {
    padding-bottom: 90px;
  }

  .idx-applications .title {
    margin-bottom: 55px;
  }

  .idx-applications img {
    height: 700px;
  }

  .idx-applications .tit {
    left: 30px;
    right: 30px;
    font-size: 24px;
  }
}

@media (min-width: 1640px) {
  .idx-applications .title {
    margin-bottom: 71px;
  }

  .idx-applications img {
    height: 800px;
  }

  .idx-applications .tit {
    font-size: 30px;
  }
}


/* customer */
.customer img {
  margin-bottom: 20px;
}

.customer .title {
  color: #fff;
  padding: 0 15px;
  margin-bottom: 10px;
  text-align: left;
}

.customer .info-group {
  padding: 0 15px;
}

.customer .tit {
  font-size: 20px;
  font-family: 'Roboto-B';
  color: var(--sub-color);
  margin-bottom: 10px;
}

.customer .sub-tit {
  font-family: 'Roboto-B';
  color: var(--style-color);
  margin-bottom: 10px;
}

.customer .info {
  font-family: 'Roboto-M';
  color: var(--sub-color);
  margin-bottom: 10px;
}

.customer .btn {
  width: 120px;
  color: #fff;
  padding: 5px 15px;
  font-family: 'Roboto-M';
  background: var(--style-color);
}

@media (min-width: 720px) {
  .customer {
    position: relative;
  }

  .customer img {
    width: 100%;
    object-fit: cover;
    height: 38.54vw;
    margin-bottom: 0;
  }

  .customer .title {
    position: absolute;
    top: 20px;
    left: 0;
    width: 100%;
    color: #333;
    text-align: center;
    margin-bottom: 0;
  }

  .customer .info-group {
    position: absolute;
    top: 25%;
    right: calc((100vw - 5px - 720px)/2 + 15px);
    max-width: 320px;
    padding: 0;
  }

  .customer .tit {
    font-size: 24px;
  }

  .customer .sub-tit {
    font-size: 20px;
  }

  .customer .info {
    font-size: 20px;
  }
}

@media (min-width: 992px) {
  .customer .title {
    top: 30px;
  }

  .customer .info-group {
    right: calc((100vw - 5px - 960px)/2 + 15px);
    max-width: 400px;
  }

  .customer .tit {
    font-size: 30px;
  }

  .customer .sub-tit {
    font-size: 24px;
  }

  .customer .info {
    font-size: 24px;
    margin-bottom: 20px;
  }
}

@media (min-width: 1200px) {
  .customer .title {
    top: 40px;
  }

  .customer .info-group {
    right: calc((100vw - 5px - 1140px)/2 + 15px);
    max-width: 500px;
  }

  .customer .tit {
    font-size: 40px;
  }

  .customer .sub-tit {
    font-size: 30px;
  }

  .customer .info {
    font-size: 30px;
  }

  .customer .btn {
    width: 165px;
    font-size: 22px;
    transition: all .3s;
  }

  .customer .btn:hover {
    background: var(--sub-color);
  }
}

@media (min-width: 1440px) {
  .customer .info-group {
    right: calc((100vw - 5px - 1400px)/2 + 15px);
    max-width: 635px;
  }
}

@media (min-width: 1640px) {
  .customer .title {
    top: 61px;
  }

  .customer .tit {
    font-size: 56px;
    margin-bottom: 20px;
  }

  .customer .sub-tit {
    font-size: 40px;
    margin-bottom: 23px;
  }

  .customer .info {
    font-size: 40px;
    margin-bottom: 29px;
  }
}


/* idx-blog */
.idx-blog {
  padding-top: 30px;
  padding-bottom: 30px;
}

.idx-blog .title {
  color: #fff;
  margin-bottom: 20px;
}

.idx-blog .tit {
  font-family: 'Roboto-B';
  text-align: left;
}

.idx-blog .info-desc {
  line-height: 1.8;
  text-align: left;
}

.idx-blog .news-list {
  margin-bottom: 30px;
}

.idx-blog .tab-list {
  margin-top: 0;
  display: block;
  list-style: none;
}

.idx-blog .tab-list li {
  width: 100%;
  margin-bottom: 25px;
  background: #F7F7F7;
  transition: all 550ms cubic-bezier(.19, 1, .22, 1);
  display: flex;
  align-items: center;
  overflow: hidden;
  cursor: pointer;
}

.idx-blog .tab-list li.active {
  background: var(--sub-color);
}

.idx-blog .tab-list li.active .date-wrap {
  background: var(--style-color);
}

.idx-blog .date-wrap {
  width: 125px;
  height: 125px;
  flex-shrink: 0;
  background-size: 100%;
  background-color: #DBDBDB;
  background-repeat: no-repeat;
  clip-path: polygon(0 0, 100% 0, 82% 100%, 0 100%);
  position: relative;
  display: none;
}

.idx-blog .date {
  padding-right: 20px;
  color: #fff;
  text-align: center;
  position: relative;
  z-index: 1;
}

.idx-blog .date span {
  display: block;
  font-size: 45px;
  line-height: 1;
}

.idx-blog .info-group {
  width: 100%;
  padding: 10px 20px;
}

.idx-blog .tab-list li.active .tit,
.idx-blog .tab-list li.active .info-desc {
  color: #fff;
}

.idx-blog .news-list .btn {
  width: 190px;
  color: #fff;
  padding: 0;
  margin-left: auto;
  display: flex;
  align-items: center;
}

.idx-blog .news-list .btn i {
  width: 30px;
  height: 30px;
  color: #333;
  font-size: 20px;
  margin-right: 10px;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.idx-blog .tab-pane {
  color: #fff;
}

.idx-blog .scale-img {
  position: relative;
}

.idx-blog .scale-img img {
  width: 100%;
}

.idx-blog .tab-pane .btn {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 135px;
  color: #fff;
  padding: 8px 15px 8px 20px;
  border-radius: 0;
  font-style: italic;
  background: var(--style-color);
  clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
  box-shadow: 3px 3px 6px 1px rgba(255, 255, 255, .2),
    3px 3px 6px 1px rgba(255, 255, 255, .2) inset;
}

.idx-blog .tab-pane .tit {
  text-align: left;
  margin: 20px 0 10px;
}

@media (min-width: 648px) {
  .idx-blog .news-list .date-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .idx-blog .info-group .tit {
    -webkit-line-clamp: 1;
  }

  .idx-blog .news-list .info-desc {
    -webkit-line-clamp: 2;
  }
}

@media (min-width: 768px) {
  .idx-blog .news-list .date span {
    font-size: 60px;
  }
}

@media (min-width: 1200px) {
  .idx-blog {
    padding-top: 61px;
    padding-bottom: 60px;
  }

  .idx-blog .row-wrap {
    display: flex;
    flex-direction: row-reverse;
  }

  .idx-blog .news-list {
    flex: 0 0 50.4%;
    max-width: 50.4%;
    padding-left: 15px;
  }

  .idx-blog .news-list {
    margin-bottom: 0;
  }

  .idx-blog .news-list .date {
    padding-right: 24px;
  }

  .idx-blog .news-list .info-group {
    padding-left: 26px;
    padding-right: 26px;
  }

  .idx-blog .news-list .btn:hover {
    color: var(--style-color);
  }

  .idx-blog .news-list .btn:hover i {
    color: #fff;
    background: var(--style-color);
  }

  .idx-blog .tab-content {
    flex: 0 0 49.6%;
    max-width: 49.6%;
    padding-right: 15px;
  }

  .idx-blog .tab-pane .tit {
    margin: 40px 0 20px;
  }

  .idx-blog .tab-pane .btn:hover {
    background: var(--sub-color);
  }
}

@media (min-width: 1440px) {
  .idx-blog .title {
    margin-bottom: 50px;
  }

  .idx-blog .tab-content {
    padding-right: 40px;
  }

  .idx-blog .news-list {
    padding-left: 40px;
  }

  .idx-blog .news-list .date-wrap {
    width: 150px;
    height: 150px;
  }

  .idx-blog .news-list .date {
    font-size: 24px;
  }

  .idx-blog .news-list .date span {
    font-size: 80px;
  }

  .idx-blog .news-list .info-desc {
    -webkit-line-clamp: 3;
  }
}

@media (min-width: 1840px) {
  .idx-blog .news-list .date-wrap {
    width: 172px;
    height: 172px;
  }

  .idx-blog .news-list .date {
    padding-right: 38px;
  }
}