@import url("https://fonts.googleapis.com/css2?family=Poiret+One&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Dancing+Script&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Josefin+Sans&display=swap");
img {
  max-width: 100%;
}

section {
  display: flex;
}

.block {
  background-color: #FCFCFC;
  height: calc(100vh - 17px);
}

section > div {
  position: relative;
  z-index: 1;
}

.picture .info-content {
  height: calc(100vh - 18px);
  text-align: center;
  margin: auto;
  -moz-transform: translateX(0px);
  -ms-transform: translateX(0px);
  -webkit-transform: translateX(0px);
  transform: translateX(0px);
}
.picture .info-img {
  height: 100%;
  margin: auto;
  position: relative;
  overflow: hidden;
}
.picture .info-img img {
  position: relative;
  float: left;
}
.picture .info-img .img1 {
  clip-path: polygon(100% 0%, 100% 100%, 100% 100%, 100% 0%);
  -moz-transition: clip-path 0.6s;
  -o-transition: clip-path 0.6s;
  -webkit-transition: clip-path 0.6s;
  transition: clip-path 0.6s;
}
.picture .info-img .img1.show {
  clip-path: polygon(0% 0%, 0% 100%, 100% 100%, 100% 0%);
}

.end, .mobilePic {
  width: auto;
  -webkit-align-content: center;
  align-content: center;
  -webkit-align-items: center;
  align-items: center;
}
.end .info-content, .mobilePic .info-content {
  display: flex;
  flex-flow: row wrap;
  width: auto;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-content: center;
  align-content: center;
  -webkit-flex-direction: column;
  flex-direction: column;
}
.end .info-img, .mobilePic .info-img {
  object-fit: contain;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-content: center;
  align-content: center;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
}
.end .info-img .lazy, .mobilePic .info-img .lazy {
  width: auto;
  height: calc(100vh - 17px);
  min-height: 200px;
  clip-path: polygon(100% 0%, 100% 100%, 100% 100%, 100% 0%);
  -moz-transition: clip-path 0.6s;
  -o-transition: clip-path 0.6s;
  -webkit-transition: clip-path 0.6s;
  transition: clip-path 0.6s;
}
.end .info-img .lazy.show, .mobilePic .info-img .lazy.show {
  clip-path: polygon(0% 0%, 0% 100%, 100% 100%, 100% 0%);
}

.service, .engineer {
  -webkit-flex-direction: column;
  flex-direction: column;
  background: #efefef;
  position: relative;
  padding: 80px;
  box-sizing: border-box;
}
.service-title, .engineer-title {
  padding-bottom: 40px;
  text-transform: uppercase;
  position: relative;
}
.service-title .caption, .engineer-title .caption {
  font-size: 1.5rem;
}
.service-title .subtitle, .engineer-title .subtitle {
  font-size: 1.25rem;
}

.service {
  min-width: 960px;
}
.service-title {
  padding-bottom: 40px;
  max-width: 800px;
  margin: auto;
}
.service .design-flow {
  width: 100%;
  height: 100%;
  position: relative;
  margin: auto;
}
.service .design-flow .step {
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-content: flex-start;
  align-content: flex-start;
  -webkit-flex-direction: column;
  flex-direction: column;
  height: calc(100% - 100px);
  max-width: 800px;
  margin: auto;
}
.service .design-flow .step-item {
  position: relative;
  max-width: 400px;
  padding-right: 40px;
  box-sizing: border-box;
  width: 50%;
  min-height: 33.33%;
}
.service .design-flow .step-item ul {
  list-style: square inside;
  padding-left: 20px;
  font-size: 0.75rem;
  color: #888;
  position: relative;
  list-style-position: outside;
}
.service .design-flow .step-item .important {
  font-size: 0.875rem;
  color: #888;
  padding-left: 20px;
}
.service .design-flow .step-list {
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-direction: column;
  flex-direction: column;
}
.service .design-flow .step-list .step-inner-item {
  padding-left: 20px;
  box-sizing: border-box;
}
.service .design-flow .step-list .step-inner-item ul.charging {
  margin: 10px 0;
}
.service .design-flow .step-list .step-inner-title {
  font-size: 0.875rem;
  color: #666666;
}
.service .design-flow .step-title {
  font-size: 1rem;
  color: #444444;
  margin-bottom: 10px;
}
.service .design-flow .step-title:after {
  content: "";
  width: calc(100% - 140px);
  right: 40px;
  top: 10px;
  height: 1px;
  position: absolute;
  background: #aaaaaa;
}
.service .design-flow .step-title.sixWord:after {
  width: calc(100% - 175px);
}
.service .design-flow .step-title.sevenWord:after {
  width: calc(100% - 190px);
}
.service .design-flow .step-title.noNum:after {
  width: calc(100% - 124px);
}

.engineer-flow {
  width: 100%;
  height: 100%;
  position: relative;
  margin: auto;
}
.engineer-title {
  margin: auto;
}
.engineer .process {
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: auto;
}
.engineer .process-item {
  position: relative;
  padding-right: 40px;
  box-sizing: border-box;
}
.engineer .process-title {
  font-size: 1rem;
  color: #444444;
  margin-bottom: 10px;
}
.engineer .process-title:after {
  content: "";
  width: calc(100% - 124px);
  right: 40px;
  top: 10px;
  height: 1px;
  position: absolute;
  background: #aaaaaa;
}
.engineer .process-list {
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-direction: column;
  flex-direction: column;
}
.engineer .process-list .process-inner-item {
  padding-left: 20px;
  padding-bottom: 20px;
  box-sizing: border-box;
}
.engineer .process-list .process-inner-item ul {
  list-style: square inside;
  padding-left: 20px;
  font-size: 0.75rem;
  color: #888;
  position: relative;
  list-style-position: outside;
}
.engineer .process-list .process-inner-title {
  font-size: 0.875rem;
  color: #666666;
}

.mobilePic {
  display: none;
}

@media screen and (min-width: 1101px) {
  img {
    width: auto;
    height: 100%;
  }
}
@media screen and (min-width: 1101px) and (min-height: 801px) {
  .engineer .process {
    max-width: 820px;
  }
  .engineer .process-item {
    min-width: 410px;
  }
  .engineer .process-item.price {
    width: 100%;
    margin-top: 80px;
  }
  .engineer .process-item.price .process-list {
    -webkit-flex-direction: row;
    flex-direction: row;
  }
  .engineer .process-item.price .process-inner-item {
    padding-bottom: 0;
    padding-right: 40px;
    max-width: 410px;
  }
}
@media screen and (min-width: 1101px) and (min-height: 601px) and (max-height: 800px) {
  .service {
    min-width: 1360px;
  }
  .service-title {
    max-width: 1200px;
  }
  .service .design-flow .step {
    max-width: 1200px;
  }
  .service .design-flow .step-item {
    width: 33.33%;
    height: 50%;
  }
  .service .design-flow .step-item:nth-child(even) {
    padding-bottom: 0;
  }
}
@media screen and (min-width: 1101px) and (min-height: 501px) and (max-height: 600px) {
  .service {
    min-width: 2560px;
  }
  .service-title {
    max-width: 2400px;
  }
  .service .design-flow .step {
    max-width: 2400px;
  }
  .service .design-flow .step-item {
    width: calc(100% / 6);
    height: 90%;
  }

  .engineer .process .construction {
    max-width: 800px;
  }
  .engineer .process .construction .process-list {
    width: 760px;
    margin: auto;
    height: 240px;
  }
  .engineer .process .construction .process-inner-item {
    height: 50%;
    position: relative;
    max-width: 380px;
    width: 50%;
  }
  .engineer .process .soldout {
    max-width: 800px;
    height: auto;
  }
  .engineer .process .soldout .process-list {
    width: 760px;
    -webkit-flex-direction: row;
    flex-direction: row;
  }
  .engineer .process .soldout .process-inner-item {
    height: 50%;
    position: relative;
    max-width: 380px;
    width: 50%;
  }
}
@media screen and (min-width: 1101px) and (max-height: 500px) {
  .block.service {
    margin-top: 100px;
    width: 100%;
  }

  .service .design-flow .step {
    -webkit-flex-direction: row;
    flex-direction: row;
  }
  .service .design-flow .step-item {
    padding-bottom: 40px;
  }

  .engineer {
    width: 100%;
  }
}
@media screen and (min-width: 1101px) and (max-width: 1377px) and (max-height: 500px) {
  .engineer .process {
    width: 100%;
  }
  .engineer .process-item {
    width: 50%;
  }
}
@media screen and (min-width: 1378px) and (max-height: 500px) {
  .service {
    min-width: 1360px;
  }
  .service-title {
    max-width: 1200px;
  }
  .service .design-flow .step {
    max-width: 1200px;
  }
  .service .design-flow .step-item {
    width: 33.33%;
    height: 50%;
  }
  .service .design-flow .step-item:nth-child(4), .service .design-flow .step-item:nth-child(5), .service .design-flow .step-item:nth-child(6) {
    padding-bottom: 0;
  }

  .mobilePic {
    display: block;
  }

  .engineer {
    min-width: 1360px;
  }
  .engineer-title {
    max-width: 1200px;
  }
  .engineer .process {
    max-width: 1200px;
  }
  .engineer .process-item {
    width: 33.33%;
    min-width: 400px;
  }
}
@media screen and (max-height: 500px) {
  .picture {
    display: none;
  }

  .block {
    height: auto;
  }
  .block.end, .block.mobilePic {
    padding: 0;
  }

  .mobilePic {
    display: block;
  }

  .end, .mobilePic {
    margin: auto;
  }
  .end .info-img, .mobilePic .info-img {
    margin: 0 auto;
    width: 100%;
  }
  .end .info-img .lazy, .mobilePic .info-img .lazy {
    margin: 0;
    height: auto;
    width: 100%;
  }
}
@media screen and (max-width: 1100px) {
  .picture {
    display: none;
  }

  .block {
    padding: 0 50px;
    height: auto;
  }
  .block.end, .block.mobilePic {
    padding: 0;
  }

  .service, .engineer {
    padding: 50px;
    width: 100%;
    min-width: auto;
  }

  .service {
    margin-top: 80px;
  }
  .service-title {
    padding-bottom: 40px;
  }
  .service .design-flow .step {
    -webkit-flex-direction: row;
    flex-direction: row;
  }
  .service .design-flow .step-item {
    padding-bottom: 40px;
  }

  .engineer-title {
    max-width: 800px;
  }
  .engineer .process {
    max-width: 800px;
  }
  .engineer .process-item {
    max-width: 400px;
    width: 50%;
  }

  .end .info-img, .mobilePic .info-img {
    margin: 0 auto;
    width: 100%;
  }
  .end .info-img .lazy, .mobilePic .info-img .lazy {
    margin: 0;
    height: auto;
    width: 100%;
  }

  .mobilePic {
    display: block;
  }
}
@media screen and (min-width: 850px) and (max-width: 1100px) {
  .engineer .process-item.price {
    max-width: 100%;
    width: 100%;
    margin-top: 80px;
  }
  .engineer .process-item.price .process-list {
    -webkit-flex-direction: row;
    flex-direction: row;
  }
  .engineer .process-item.price .process-inner-item {
    padding-bottom: 0;
    padding-right: 40px;
    max-width: 400px;
  }
}
@media screen and (max-width: 1100px) and (max-height: 500px) {
  .block.service {
    margin-top: 80px;
    width: 100%;
  }
}
@media screen and (max-width: 850px) {
  .service .design-flow .step-title:after {
    width: calc(100% - 100px);
    right: 0;
  }
  .service .design-flow .step-title.sixWord:after {
    width: calc(100% - 135px);
  }
  .service .design-flow .step-title.sevenWord:after {
    width: calc(100% - 150px);
  }
  .service .design-flow .step-title.noNum:after {
    width: calc(100% - 84px);
  }

  .engineer-flow .process-title:after {
    width: calc(100% - 84px);
    right: 0;
  }
}
@media screen and (min-width: 641px) and (max-width: 850px) {
  .service .design-flow .step-item {
    max-width: 100%;
    width: 100%;
    padding-right: 0px;
    padding-bottom: 40px;
  }

  .engineer-flow .process-item {
    max-width: 100%;
    width: 100%;
    padding-right: 0px;
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 640px) {
  .block {
    padding: 0 25px;
  }

  .service {
    padding: 25px;
  }
  .service-title {
    padding-bottom: 40px;
  }
  .service .design-flow .step-item {
    max-width: 100%;
    width: 100%;
    padding-right: 0px;
    padding-bottom: 25px;
  }

  .mobilePic {
    padding: 0;
  }

  .engineer {
    padding: 25px;
  }
  .engineer-flow .process-item {
    max-width: 100%;
    width: 100%;
    padding-bottom: 40px;
  }
}
