/***********************************************************************
preset
**********************************************************************/
h2 {
  font-size: 30px;
  font-size: 3rem;
  font-weight: bold;
  font-family: 'A-OTF-MidashiGoPro-MB31'; }

.ttl {
  writing-mode: vertical-rl;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: bold;
  position: absolute;
  left: 64px;
  top: 0px;
  line-height: 1em;
  color: rgba(255, 255, 255, 0);
  -webkit-transition: color .5s .25s;
  transition: color .5s .25s;
  display: inline;
  background-clip: text;
  z-index: 2; }
  .ttl span {
    position: relative;
    padding-top: 10px; }
  .ttl span:before {
    content: '';
    position: absolute;
    top: -50px;
    display: block;
    height: 0px;
    -webkit-transition: height .3s;
    transition: height .3s;
    width: 1px;
    left: 45%;
    background-color: #FFF; }

.ttl.scroll {
  color: white; }
  .ttl.scroll span:before {
    height: 35px; }

.copy-block {
  color: #FFF;
  padding: 300px 145px 350px 205px; }
  .copy-block .name, .copy-block .site {
    white-space: nowrap; }
    .copy-block .name p, .copy-block .site p {
      font-size: 60px;
      font-size: 6rem;
      font-family: 'A-OTF-MidashiGoPro-MB31';
      font-weight: bold;
      letter-spacing: 0.2em;
      line-height: 1.3em;
      margin-bottom: 0px;
      display: inline-block; }
  .copy-block .site {
    margin-bottom: 30px; }
  .copy-block ul {
    text-align: right; }
    .copy-block ul li {
      display: inline-block; }
      .copy-block ul li a {
        color: #FFF; }

.select-work {
  position: relative;
  z-index: 2; }
  .select-work .ttl span:before {
    top: 0px; }
  .select-work .ttl span {
    padding-top: 60px; }
  .select-work .mv-block-sp {
    display: block;
    position: relative;
    margin-left: 140px;
    overflow: hidden; }
  .select-work .mv-block-sp:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box; }
  .select-work a {
    display: block;
    height: 500px;
    z-index: 100;
    position: relative; }
  .select-work a:hover img {
    opacity: 1; }
  .select-work .mv-block-sp .movie-image > div {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden; }
  .select-work .mv-block-sp .movie-image > div img {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto; }
  .select-work .mv-block-sp {
    margin-top: -230px;
    margin-bottom: 150px; }
    .select-work .mv-block-sp .movie-image img {
      padding-left: 0px;
      width: 100%;
      height: auto; }

.concept-block {
  background: #eaeaea;
  color: #1b3558;
  padding-top: 230px;
  margin-top: -280px;
  width: 100%;
  position: relative; }
  .concept-block dl {
    padding: 0 145px 200px 205px;
    box-sizing: border-box;
    width: 100%; }
    .concept-block dl dt {
      font-size: 20px;
      font-size: 2rem;
      padding-bottom: 20px;
      font-weight: bold; }
    .concept-block dl dd {
      font-size: 14px;
      font-size: 1.4rem; }
  .concept-block .ttl {
    margin-top: -180px; }

.works-block {
  background: #eaeaea; }
  .works-block h2 {
    padding-left: 205px;
    margin-bottom: 90px; }
  .works-block ul::after {
    content: "";
    display: block;
    clear: both; }
  .works-block ul li {
    float: left;
    padding: 0px;
    width: 33.3%;
    opacity: 1;
    height: auto;
    color: #FFF;
    margin: -50px 0 110px 0; }
    .works-block ul li img {
      width: 100%;
      height: auto;
      -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
      -o-transform: scale(1.1);
      transform: scale(1.1);
      -webkit-transition: transform 1s 0s cubic-bezier(0.36, 0.01, 0.29, 0.99);
      transition: transform 1s 0s cubic-bezier(0.36, 0.01, 0.29, 0.99); }
    .works-block ul li dd {
      margin-bottom: 30px;
      overflow: hidden; }
    .works-block ul li dt {
      font-size: 20px;
      font-size: 2rem;
      font-family: 'A-OTF-MidashiGoPro-MB31';
      line-height: 1.3em; }
      .works-block ul li dt span {
        display: block;
        font-size: 12px;
        font-size: 1.2rem; }
  .works-block ul li a:hover img {
    opacity: 1; }
  .works-block ul .on img {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  .works-block ul li dd:hover img {
    -webkit-transition: transform 0.3s 0s cubic-bezier(0.36, 0.01, 0.29, 0.99);
    transition: transform 0.3s 0s cubic-bezier(0.36, 0.01, 0.29, 0.99);
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05); }
  .works-block ul li:nth-child(3n) {
    width: 33.4%; }
  .works-block ul li:first-child {
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    transition-duration: 1.3s;
    -webkit-transition-delay: 0s;
    transition-delay: 0s; }
  .works-block ul li:nth-child(2) {
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    transition-duration: 1.3s;
    -webkit-transition-delay: 0.1s;
    transition-delay: 0.1s; }
  .works-block ul li:nth-child(3) {
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    transition-duration: 1.3s;
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s; }
  .works-block ul li:nth-child(4) {
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    transition-duration: 1.3s;
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s; }
  .works-block ul li:nth-child(5) {
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    transition-duration: 1.3s;
    -webkit-transition-delay: 0.4s;
    transition-delay: 0.4s; }
  .works-block ul li:nth-child(6) {
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    transition-duration: 1.3s;
    -webkit-transition-delay: 0.5s;
    transition-delay: 0.5s; }
  .works-block ul li:nth-child(7) {
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    transition-duration: 1.3s;
    -webkit-transition-delay: 0.6s;
    transition-delay: 0.6s; }
  .works-block ul li:nth-child(8) {
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    transition-duration: 1.3s;
    -webkit-transition-delay: 0.7s;
    transition-delay: 0.7s; }
  .works-block ul li:nth-child(9) {
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    transition-duration: 1.3s;
    -webkit-transition-delay: 0.8s;
    transition-delay: 0.8s; }
  .works-block ul li:nth-child(10) {
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    transition-duration: 1.3s;
    -webkit-transition-delay: 0.9s;
    transition-delay: 0.9s; }
  .works-block ul li:nth-child(11) {
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    transition-duration: 1.3s;
    -webkit-transition-delay: 1s;
    transition-delay: 1s; }
  .works-block ul li:nth-child(12) {
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
    transition-duration: 1.3s;
    -webkit-transition-delay: 1.1s;
    transition-delay: 1.1s; }

.client-work {
  position: relative;
  background: url("../img/noise.gif") 0 0 repeat;
  padding-left: 140px; }
  .client-work .ttl span:before {
    background-color: #1b3558; }

.private-work {
  position: relative;
  padding-left: 140px; }
  .private-work ul li {
    color: #1b3558; }
  .private-work .ttl {
    color: rgba(27, 53, 88, 0); }
    .private-work .ttl span:before {
      background-color: #eaeaea; }
  .private-work .scroll.ttl {
    color: #1b3558; }

.about-block {
  background: #eaeaea;
  color: #1b3558;
  padding: 100px 145px 70px 205px;
  font-size: 14px;
  font-size: 1.4rem; }
  .about-block h3 {
    font-weight: bold;
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 10px; }

@media only screen and (max-width: 750px) {
  h2 {
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: bold;
    font-family: 'A-OTF-MidashiGoPro-MB31'; }

  .ttl {
    display: none; }

  .copy-block {
    color: #FFF;
    padding: 120px 8% 80px; }
    .copy-block p {
      font-size: 12px;
      font-size: 1.2rem; }
    .copy-block .name {
      margin-bottom: 0px; }
      .copy-block .name p {
        display: block;
        font-size: 32px;
        font-size: 3.2rem;
        font-family: 'A-OTF-MidashiGoPro-MB31';
        font-weight: bold;
        letter-spacing: 0.2em;
        line-height: 1.2em; }
    .copy-block .site {
      margin-bottom: 20px;
      margin-top: -4px; }
      .copy-block .site p {
        font-size: 32px;
        font-size: 3.2rem;
        letter-spacing: 0.2em; }
    .copy-block ul {
      margin-top: 20px;
      text-align: right; }
      .copy-block ul li {
        display: inline-block; }

  .ttl.scroll {
    color: white; }
    .ttl.scroll span:before {
      height: 1px; }

  .select-work {
    position: relative;
    z-index: 2; }
    .select-work .ttl {
      display: block;
      position: absolute;
      left: 8%;
      top: -30px;
      font-size: 12px;
      font-size: 1.2rem;
      writing-mode: initial; }
    .select-work span {
      position: relative;
      padding-left: 40px; }
    .select-work span:before {
      content: '';
      position: absolute;
      top: 3px;
      display: block;
      margin-top: 5px;
      height: 1px;
      -webkit-transition: width .3s;
      transition: width .3s;
      width: 0px;
      left: 0%;
      background-color: #FFF; }
    .select-work .ttl span:before {
      top: 0px; }
    .select-work .ttl span {
      padding-top: 0px; }
    .select-work .ttl.scroll {
      color: white; }
      .select-work .ttl.scroll span:before {
        width: 25px; }
    .select-work .mv-block-sp {
      display: block;
      position: relative;
      margin-left: 0px;
      overflow: hidden; }
    .select-work .mv-block-sp:after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      box-sizing: border-box; }
    .select-work .mv-block-sp .movie-image > div {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      overflow: hidden; }
    .select-work .mv-block-sp .movie-image > div img {
      overflow: hidden;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: auto; }
    .select-work .mv-block-sp {
      margin-top: 0px;
      margin-bottom: 0px; }
      .select-work .mv-block-sp .movie-image {
        overflow: hidden; }
        .select-work .mv-block-sp .movie-image img {
          padding-left: 0px;
          width: 100%;
          height: auto; }

  .concept-block {
    background: #eaeaea;
    color: #1b3558;
    width: 100%;
    padding-top: 100px;
    margin-top: -40px;
    padding-bottom: 50px;
    position: relative; }
    .concept-block dl {
      padding: 0;
      box-sizing: border-box;
      width: 100%;
      padding: 0 8%; }
      .concept-block dl dt {
        font-size: 16px;
        font-size: 1.6rem;
        padding-bottom: 10px;
        font-weight: bold; }
      .concept-block dl dd {
        font-size: 12px;
        font-size: 1.2rem; }

  .works-block h2 {
    text-align: center;
    padding-left: 0px;
    margin-bottom: 20px; }
  .works-block ul::after {
    content: "";
    display: block;
    clear: both; }
  .works-block ul li {
    float: left;
    padding: 0px;
    width: 50%;
    color: #FFF;
    margin: 0 0 40px 0; }
    .works-block ul li img {
      margin-top: 0px;
      width: 100%;
      height: auto; }
    .works-block ul li dd {
      margin-bottom: 10px; }
    .works-block ul li dt {
      font-size: 14px;
      font-size: 1.4rem;
      font-family: 'A-OTF-MidashiGoPro-MB31';
      line-height: 1.3em;
      padding: 0 8%; }
      .works-block ul li dt span {
        display: block;
        font-size: 10px;
        font-size: 1rem; }
  .works-block ul li:nth-child(3n) {
    width: 50%; }
  .works-block ul li:nth-child(9) {
    display: none; }

  .client-work {
    position: relative;
    padding-left: 0px; }
    .client-work .ttl {
      color: #eaeaea; }
      .client-work .ttl span:before {
        background-color: #1b3558; }

  .private-work {
    position: relative;
    padding-left: 0px; }
    .private-work ul li {
      color: #1b3558; }
    .private-work .ttl {
      color: #1b3558; }
      .private-work .ttl span:before {
        background-color: #eaeaea; }

  .about-block {
    background: #eaeaea;
    color: #1b3558;
    padding: 0 8% 50px;
    font-size: 13px;
    font-size: 1.3rem; }
    .about-block h2 {
      text-align: center;
      margin-bottom: 20px; }
    .about-block h3 {
      font-size: 14px;
      font-size: 1.4rem; } }
