@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700,300);

* {
  margin:0;
  padding:0;
  outline:none;
  list-style:none;
  text-decoration:none;
  box-sizing:border-box;
  /*color:#000;*/
  background: transparent;
  border:none;
}

header {
  background: #202020;
  font-family: 'Roboto', sans-serif;
  max-height: 100vh;
  overflow: hidden;
}

.main {
  height: 100vh;
  width: 100%;
  position: relative;
  font-size: 0;
}

.col-3 {
  font-size: 1rem;
  width: 33.3333333%;
  display: inline-block;
  height: 100%;
  background: #111;
  position: relative;
  overflow: hidden;
}

.intro {
  position: fixed;
  pointer-events: none;
  height: 100%;
  width: 100%;
  top: 0;left: 0;
  z-index: 3;
  font-size: 0;
}

.intro .wrap {
  font-size: 1rem;
  position: relative;
  z-index: 2;
  top: 50%;
  transform: translateY(-33%);
  padding:0 10%;
  letter-spacing: 5px;
}
.intro .wrap h1{
  font-size: 7vw;
}

.intro .wrap h1 > span > span{
  display: inline-block;
  transition: 1.6s all ease-out;
  overflow: hidden;
}

.intro .wrap h1 span > span > span{
  display: inline-block;
  color: #fff;
  transition: 0.8s all ease;
}

.intro .wrap h1 > span {
  display: inline-block;
  overflow: hidden;
  margin-top: -4vw;
}

.intro .wrap h1 .word3 {
  display: block;
}

.intro .bg {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
}
.intro span span {
  transform: translateY(100%);
}
.intro.active span span {
  transform: translateY(0);
}

.intro.inactive .wrap h1 span span span{
  transform: translateX(100%);
  transition-delay: 0s !important;
}

.intro .col-3 {
  transform-origin: right;
}

.intro .col-3 {
  transition: 0.6s all cubic-bezier(1.000, 0.610, 0.165, 1.000) 0.6s;
}

.intro.inactive .col-3 {
  transform: scaleX(0);
}

.main .col-3 .bg{
  transform: scale(1);
}

.main.active .col-3 .bg{
  transform: scale(1.1);
}

.main ul {
  height: 100%;
  display: block;
}

.main ul li {
  font-size: 1rem;
  width: 33.3333333vw;
  display: inline-block;
  height: 100%;
  background: #111;
  position: relative;
  overflow: hidden;
}

.main ul li .bg {
  position: absolute;
  z-index: 1;
  height: 100%;
  width: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  opacity: 0.5;
  transition: opacity 1s ease-out, transform 1.6s ease-out;
}
.main ul li h2 {
  position: relative;
  z-index: 2;
  top: 50%;
  padding: 0 10%;
  line-height: 1.2em;
  font-size: 3.4em;
  transition: all 0.5s ease-out;
  color: #fff;
  font-weight: 500;
}
.proj1 .bg{
  /*background-image: url(https://drscdn.500px.org/photo/184585363/q%3D80_m%3D1000_k%3D1/02aa165091fcf5f0c50eb99390e38001);*/
  background-image: url(../img/travel-1677347_640.jpg);
}
.proj2 .bg{
  /*background-image: url(https://drscdn.500px.org/photo/184595633/q%3D80_m%3D1000/87ac852654edca0e1d2fef999c6fba81);*/
  background-image: url(../img/work-731198_640.jpg);
}
.proj3 .bg{
  /*background-image: url(https://drscdn.500px.org/photo/184629919/q%3D80_m%3D1000/9a162e522c3d8bb5c34d6f58e824fa5b);*/
  background-image: url(../img/store-984393_640.jpg);
}

.main .ul li:hover .bg {
  opacity: 1;
}
.main .ul li:hover h2 {
  transform: translateY(-20%);
  line-height: 1.4em;
}

.contents {
  width: 85%;
  margin: 0 auto;
}

.works {
	height: 420px;
}

.works1_image {
  float: left;
  width: 50%;
}

.works1_image img {
	width: 100%;
}

.works1_text {
  float: left;
  width: 40%;
  margin-top: 30px;
  margin-left: 30px;
}

.works2_image {
  float: right;
  width: 50%;
}

.works2_image img {
	width: 100%;
}

.works2_text {
  float: right;
  width: 40%;
  margin-top: 30px;
  margin-right: 30px;
}

.profiles {
  margin: 0 auto;
  color: #fff;
  background: url(../img/S__75251720.jpg);
  width: 100%;
  height: auto;
  padding-top: 30px;
  padding-bottom: 30px;
}

.profile_box {
  width: 80%;
  height: 500px;
  background-color: rgba( 0, 0, 0, 0.55 );
  position: relative;
  display: flex;
  justify-content: center;
  margin: 30px auto;
}

.profile_img {
  margin-top: 100px;
  margin-left: 40px;
}

.profile_img img {
  width: 225px;
  height: 300px;
}

.profile_text {
  width: 500px;
  height: 350px;
  font-size: 14px;
  float: left;
  margin-top: 100px;
  margin-left: 20px;
}

#animate1 {
  animation-delay: 1s; /* アニメーション開始時間 */
}

#animate2 {
  animation-delay: 1.5s; /* アニメーション開始時間 */
}

#animate3 {
  animation-delay: 2s; /* アニメーション開始時間 */
}

#animate4 {
  animation-delay: 1s; /* アニメーション開始時間 */
}

.rogo_img {
  width: 500px;
  height: 200px;
  margin: 0 auto;
}

.contact_form {
  background-color: #333;
  width: 100%;
  height: auto;
  padding-top: 100px;
  padding-bottom: 100px;
}

.text {
  color: #fff;
  text-align: center;
  margin: 0 auto;
}

.text h2 {
  margin-bottom: 20px;
}

.text p {
  margin-top: 20px;
  margin-bottom: 10px;
  text-align: center;
}

.texebox {
  background-color: #fff;
  border: 2px solid #00bfff;  /* 枠線 */
  border-radius: 0.67em;   /* 角丸 */
}

.button {
  display       : inline-block;
  border-radius : 20%;          /* 角丸       */
  font-size     : 18pt;        /* 文字サイズ */
  text-align    : center;      /* 文字位置   */
  cursor        : pointer;     /* カーソル   */
  padding       : 12px 12px;   /* 余白       */
  background    : #ff7f00;     /* 背景色     */
  color         : #ffffff;     /* 文字色     */
  line-height   : 1em;         /* 1行の高さ  */
  transition    : .3s;         /* なめらか変化 */
  box-shadow    : 6px 6px 3px #666666;  /* 影の設定 */
  border        : 2px solid #ff7f00;    /* 枠の指定 */
}
.button:hover {
  box-shadow    : none;        /* カーソル時の影消去 */
  color         : #ff7f00;     /* 背景色     */
  background    : #ffffff;     /* 文字色     */
}

@media all and (max-width: 1110px) {

  .main ul li {
    width: 100%;
    height: 33.3333333%;
    display: block;
  }

  .contents {
    width: 100%;
  }

  .works {
    width: 100%;
    height: auto;
  }

	.works1_image img {
		display: none;
	}

	.works1_text {
		width: 100%;
    margin: 0;
    font-size: 20px;
	}

  .works1_text h2 {
    margin: 0 auto;
    margin-top: 30px;
    font-size: 35px;
    background: #4169e1;
    width: 80%;
    border-radius: 30px;
    text-align: center;
  }

  .works2_image img {
    display: none;
  }

  .works2_text {
    width: 100%;
    margin: 0;
    font-size: 20px;
  }

  .works2_text h2 {
    margin: 0 auto;
    margin-top: 30px;
    font-size: 35px;
    background: #4169e1;
    width: 80%;
    border-radius: 30px;
    text-align: center;
  }

  .box20 {
      width: 90%;
      position: relative;
      padding: 0.25em 1em;
      margin: 2em auto;
      top: 0;
      background: #efefef;
  }
  .box20:before, .box20:after{ 
      position: absolute;
      top: 0;
      content:'';
      width: 10px;
      height: 100%;
      display: inline-block;
      box-sizing: border-box;
  }
  .box20:before{
      border-left: dotted 2px #15adc1;
      border-top: dotted 2px #15adc1;
      border-bottom: dotted 2px #15adc1;
      left: 0;
  }
  .box20:after{
      border-top: dotted 2px #15adc1;
      border-right: dotted 2px #15adc1;
      border-bottom: dotted 2px #15adc1;
      right: 0;
  }
  .box20 p {
      margin: 0; 
      padding: 0;
  }


	.profiles {
		background: no-repeat;
		margin: 0;
		padding: 0;
	}

	.profile_box {
	  width: 100%;
	  height: auto;
	}

	.profile_img {
	  clear: both;
	  margin-top: 20px;
	  margin-right: 10px;
	  margin-left: 0;
	}

	.profile_img img {
	  width: 300px;
	  height: auto;
	}

	.profile_text {
	  width: 100%;
	  height: auto;
	  font-size: 16px;
	  margin: 0;
	}
}