@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Raleway");
.text {
  line-height: 1.8;
}
.text p {
  margin-bottom: 20px;
}
.text p:last-child {
  margin-bottom: 0;
}

@-webkit-keyframes loading {
  0% {
    left: -30px;
  }
  70% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}
@-moz-keyframes loading {
  0% {
    left: -30px;
  }
  70% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}
@-o-keyframes loading {
  0% {
    left: -30px;
  }
  70% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}
@keyframes loading {
  0% {
    left: -30px;
  }
  70% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}
.mCS-v-theme.mCSB_scrollTools {
  margin-left: 5vw;
}
.mCS-v-theme.mCSB_scrollTools .mCSB_dragger {
  height: 70px;
}
.mCS-v-theme.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  margin: 0 auto 0;
  height: 70px;
  border-radius: 0;
  background: #ccc;
}
.mCS-v-theme.mCSB_scrollTools .mCSB_draggerRail {
  height: 0px;
}

.justify {
  max-width: 270px;
  text-align: justify;
  text-justify: inter-ideograph;
  -ms-text-justify: inter-ideograph;
  /*IE9*/
  -moz-text-align-last: justify;
  /*Firefox*/
  -webkit-text-align-last: justify;
  /*Chrome*/
}

.justify:after {
  content: '';
  display: inline-block;
  width: 100%;
}

.wrap {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 100vh;
  overflow: hidden;
}

.flexbox {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

.con-l, .con-r {
  position: relative;
  width: 50%;
  height: calc(100vh - 4.7vw - 200px);
  overflow: hidden;
}
.con-inner {
  margin: 0 auto;
  top: 50%;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.scroll {
  height: 70%;
}

.photo {
  width: 45%;
  height: 0;
  padding-bottom: 55%;
  background: no-repeat center center;
  background-size: cover;
}

.video {
  width: 95%;
  height: 0;
  padding-bottom: 60%;
  background: no-repeat center center;
  background-size: cover;
}

.text {
  position: relative;
  width: 72%;
}

.parallax-group {
  position: relative;
  height: 200vh;
}
.parallax-layer {
  position: absolute;
  width: 100%;
  height: 100vh;
}

.layer-back {
  top: 0;
  background: no-repeat center center;
  background-size: cover;
}
.layer-fore {
  top: 100vh;
  background: rgba(255, 255, 255, 0.85);
}

.director {
  font-size: 16px;
}

.concept {
  font-size: 16px;
  letter-spacing: 2px;
}

.bg:after {
  content: '';
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.85);
  position: absolute;
  top: 0;
  left: 0;
}

/*------------------------------------------
 *             tablet 、 Mobile
 *------------------------------------------*/
@media only screen and (max-width: 900px) {
  .wrap {
    height: auto;
  }

  .flexbox {
    display: block;
  }

  .con-l, .con-r {
    width: 100%;
    height: auto;
  }
  .con-l {
    margin-bottom: 60px;
  }
  .con-inner {
    top: 0;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }

  .video {
    width: 80%;
    padding-bottom: 51%;
  }

  .photo {
    width: 50%;
    padding-bottom: 60%;
  }

  .parallax-group {
    height: auto;
  }
  .parallax-layer {
    position: relative;
    height: auto;
  }

  .layer-back {
    height: 60vh;
    min-height: 320px;
  }
  .layer-fore {
    top: 0;
  }
}
@media only screen and (max-width: 640px) {
  .con-l {
    margin-bottom: 40px;
  }
  .con-inner {
    width: 100%;
  }

  .photo {
    width: 75% !important;
  }

  .layer-back {
    height: 100%;
    min-height: 320px;
  }
}
