.top {
  position: relative;
}
.top-images {
  height: 500px;
}
.top-title {
  bottom: 0;
  top: unset;
  left: 50%;
  padding: 10px 50px;
  width: 100%;
  max-width: 900px;
  color: #272f37;
  text-shadow: 0 0 5px #ddd;
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.top-title:before {
  content: "";
  width: 100%;
  height: 100%;
  background: #f6f6f6;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.top-title:after {
  content: "";
  width: 1px;
  height: 100%;
  background: #ccc;
  position: absolute;
  right: 15px;
  top: 0;
  z-index: -1;
}
.top-title .tw {
  font-size: 20px;
}
.top-title .tw.show:after {
  width: 25px;
}
.top-title .tw:before {
  display: none;
}
.top-title .tw:after {
  content: "";
  width: 0px;
  height: 1px;
  background: #9e9e9f;
  position: absolute;
  bottom: 0;
  left: 50px;
  -moz-transition: width 0.8s 0.6s;
  -o-transition: width 0.8s 0.6s;
  -webkit-transition: width 0.8s;
  -webkit-transition-delay: 0.6s;
  transition: width 0.8s 0.6s;
}
.top-title .en {
  font-size: 15px;
}

.project {
  padding-top: 0;
}
.project-content {
  padding: 0px 15%;
  background: #f6f6f6;
  margin-top: -100px;
  position: relative;
}
.project-inner {
  padding: 20px 50px 50px;
  box-shadow: 0px 3px 5px #ddd;
  position: relative;
  max-width: 900px;
  margin: auto;
}
.project-inner:after {
  content: "";
  width: 1px;
  height: 100%;
  background: #ccc;
  position: absolute;
  top: 0;
  right: 15px;
}
.project-type {
  color: #9e9e9f;
  font-size: 0.8125rem;
}
.project-info {
  margin-top: 50px;
  padding-left: 20px;
  font-size: 0.8125rem;
  position: relative;
}
.project-info:before {
  content: "";
  width: 1px;
  height: 75%;
  background: #9e9e9f;
  position: absolute;
  top: 4px;
  left: 0;
}
.project-concept {
  padding-top: 50px;
}
.project-subtitle {
  color: #9e9e9f;
  font-size: 0.875em;
  margin-bottom: 20px;
  padding-left: 20px;
  position: relative;
}
.project-subtitle:before {
  content: "";
  width: 1px;
  height: 75%;
  background: #9e9e9f;
  position: absolute;
  top: 2px;
  left: 0;
}
.project-line {
  width: 100%;
  height: 1px;
  background: #ccc;
  position: absolute;
  bottom: 15px;
  left: 0;
}
.project-image {
  max-width: 1000px;
  margin: auto;
  padding: 7% 15%;
}
.project-wrap {
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.project-wrap-img {
  width: 49%;
}
.project-wrap-img img {
  width: 100%;
  margin-bottom: 20px;
}
.project-img {
  width: 100%;
}
.project-img img {
  width: 100%;
  margin-bottom: 20px;
}
.project-back.show:before, .project-back.show:after {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.project-back:before {
  content: "";
  width: calc(50% + 51px);
  height: 1px;
  background: #ccc;
  display: block;
  clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
  -moz-transition: clip-path 1.2s linear 0.7s;
  -o-transition: clip-path 1.2s linear 0.7s;
  -webkit-transition: clip-path 1.2s linear;
  -webkit-transition-delay: 0.7s;
  transition: clip-path 1.2s linear 0.7s;
}
.project-back:after {
  content: "";
  width: calc(50% + 51px);
  height: 1px;
  background: #ccc;
  display: block;
  margin-left: auto;
  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  -moz-transition: clip-path 1.2s linear 0.7s;
  -o-transition: clip-path 1.2s linear 0.7s;
  -webkit-transition: clip-path 1.2s linear;
  -webkit-transition-delay: 0.7s;
  transition: clip-path 1.2s linear 0.7s;
}
.project-btn {
  width: fit-content;
  margin: 4px auto 2px;
}
.project-btn:hover {
  letter-spacing: unset;
}
.project-btn:hover a {
  background: #9e9e9f;
  color: #fff;
}
.project-btn a {
  padding: 4px 15px 2px;
  position: relative;
  -moz-transition: background 0.3s, color 0.3s;
  -o-transition: background 0.3s, color 0.3s;
  -webkit-transition: background 0.3s, color 0.3s;
  transition: background 0.3s, color 0.3s;
}
.show .project-btn a:before, .show .project-btn a:after {
  height: 100%;
}
.project-btn a:before {
  content: "";
  width: 1px;
  height: 0%;
  background: #ccc;
  position: absolute;
  left: 0;
  top: 0;
  -moz-transition: height 0.3s linear 0.4s;
  -o-transition: height 0.3s linear 0.4s;
  -webkit-transition: height 0.3s linear;
  -webkit-transition-delay: 0.4s;
  transition: height 0.3s linear 0.4s;
}
.project-btn a:after {
  content: "";
  width: 1px;
  height: 0%;
  background: #ccc;
  position: absolute;
  right: 0;
  bottom: 0;
  -moz-transition: height 0.3s linear 0.4s;
  -o-transition: height 0.3s linear 0.4s;
  -webkit-transition: height 0.3s linear;
  -webkit-transition-delay: 0.4s;
  transition: height 0.3s linear 0.4s;
}

@media screen and (max-width: 1500px) {
  .top-title {
    max-width: 750px;
  }

  .project-inner {
    max-width: 750px;
  }
}
@media screen and (max-width: 1300px) {
  .top-title {
    max-width: 620px;
  }

  .project-inner {
    max-width: 620px;
  }
}
@media screen and (max-width: 1100px) {
  .top-title {
    box-shadow: 0 -1px 5px #ddd;
    width: calc(100% - 99px);
    max-width: unset;
  }

  .project-content {
    padding: 0 10%;
  }
  .project-inner {
    max-width: unset;
  }
  .project-image {
    padding: 7% 10%;
  }
}
@media screen and (max-width: 800px) {
  .project-image {
    padding: 60px 10%;
  }
}
@media screen and (max-width: 640px) {
  .top-images {
    height: 450px;
  }
  .top-title {
    width: calc(100% - 30px);
    padding: 10px 40px;
    bottom: -20px;
  }
  .top-title .tw:after {
    left: 40px;
  }

  .project-content {
    padding: 0 15px;
    margin-top: -60px;
  }
  .project-inner {
    padding: 20px 40px 35px;
  }
  .project-info {
    margin-top: 35px;
  }
  .project-concept {
    padding-top: 35px;
  }
  .project-image {
    padding: 40px 40px;
  }
}
