@charset "UTF-8";
@import "reset.css";
body {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  background: #000;
}

div#bg {
  height: 100vh;
  width: 200vw;
  position: fixed;
  top: 0;
  opacity: 1;
  background-size: cover;
  background-position: center;
  animation: fvScale 30s linear infinite;
}

section#fv {
  width: 100vw;
  overflow: hidden;
}
section#fv div#cover {
  background: url(../images/fv.svg);
  width: 100vw;
  height: 100vh;
  background-size: cover;
  background-position: center;
  position: relative;
}
section#fv div.f_cover {
  width: 200vw;
  height: 178vw;
  position: absolute;
  top: 0;
  animation: slideIn 1s 1s linear forwards;
}
section#fv div.f_cover div#square {
  width: 100vw;
  height: 178vw;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
}
section#fv div.f_cover div#tri {
  width: 100vw;
  height: 178vw;
  background-image: url(../images/tri.png);
  background-repeat: no-repeat;
  position: absolute;
  background-size: contain;
  top: 0;
  right: 1px;
}

@keyframes fvScale {
  0% {
    background-image: url(../images/28.jpg);
    left: 0vw;
  }
  9.5% {
    background-image: url(../images/28.jpg);
    left: -100vw;
  }
  10% {
    background-image: url(../images/9.jpg);
    left: 0vw;
  }
  19.5% {
    background-image: url(../images/9.jpg);
    left: -100vw;
  }
  20% {
    background-image: url(../images/1.jpg);
    left: 0vw;
  }
  29.5% {
    background-image: url(../images/1.jpg);
    left: -100vw;
  }
  30% {
    background-image: url(../images/2.jpg);
    left: 0vw;
  }
  39.5% {
    background-image: url(../images/2.jpg);
    left: -100vw;
  }
  40% {
    background-image: url(../images/20.jpg);
    left: 0vw;
  }
  49.5% {
    background-image: url(../images/20.jpg);
    left: -100vw;
  }
  50% {
    background-image: url(../images/16.jpg);
    left: 0vw;
  }
  59.5% {
    background-image: url(../images/16.jpg);
    left: -100vw;
  }
  60% {
    background-image: url(../images/17.jpg);
    left: 0vw;
  }
  69.5% {
    background-image: url(../images/17.jpg);
    left: -100vw;
  }
  70% {
    background-image: url(../images/25.jpg);
    left: 0vw;
  }
  79.5% {
    background-image: url(../images/25.jpg);
    left: -100vw;
  }
  80% {
    background-image: url(../images/19.jpg);
    left: 0vw;
  }
  89.5% {
    background-image: url(../images/19.jpg);
    left: -100vw;
  }
  90% {
    background-image: url(../images/30.jpg);
    left: 0vw;
  }
  99.5% {
    background-image: url(../images/30.jpg);
    left: -100vw;
  }
}
div#ptn {
  height: 100vh;
  width: 100vw;
  position: fixed;
  top: 0;
  background: url(../images/ptn00.png);
  background-size: 8px;
}

section#works {
  background: #ccc;
  width: 100vw;
  position: relative;
}
section#works div.item {
  background-position: center;
  background-size: cover;
  height: 100vh;
  width: 100vw;
  overflow: hidden;
  position: relative;
}
section#works div.item div.caption {
  color: #fff;
  position: absolute;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.7);
  display: flex;
  /* 子要素をflexboxで揃える */
  flex-direction: column;
  /* 子要素をflexboxにより縦方向に揃える */
  justify-content: center;
  /* 子要素をflexboxにより中央に配置する */
  align-items: center;
  /* 子要素をflexboxにより中央に配置する */
}
section#works div.item div.caption h2 {
  font-size: 16px;
  line-height: 1.2;
  padding-bottom: 0.5em;
  border-bottom: solid #fff 3px;
  text-align: center;
  margin-bottom: 0.5em;
}
section#works div.item div.caption p {
  font-size: 12px;
  line-height: 1;
}
section#works div.item div.caption a {
  width: 100px;
  height: 100px;
  background-image: url(../images/link.png);
  background-size: 20px;
  background-position: center;
  background-repeat: no-repeat;
}
section#works div.item div.item_bg {
  height: 150vh;
  width: 150vw;
  position: absolute;
  background-position: center;
  background-size: cover;
}
section#works div.w_cover {
  width: 200vw;
  height: 100vh;
  position: absolute;
  top: 0;
}
section#works div.w_cover div#square {
  width: 100vw;
  height: 100vh;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
}
section#works div.w_cover div#tri {
  width: 100vw;
  height: 100vh;
  background-image: url(../images/tri.png);
  background-repeat: no-repeat;
  position: absolute;
  background-size: cover;
  top: 0;
  right: 1px;
}
section#works div.onSlideAnimation {
  animation: slideIn 1s linear forwards;
}
section#works div.onScaleAnimation {
  animation: scaleIn 3s ease-out forwards;
}

@keyframes slideIn {
  0% {
    left: 0;
  }
  100% {
    left: -200vw;
  }
}
@keyframes scaleIn {
  0% {
    width: 150vw;
    height: 150vh;
    top: -12.5vh;
    left: -12.5vh;
  }
  100% {
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
  }
}
section#profile {
  background: #fff;
  height: 100vh;
  width: 100vw;
  position: relative;
  display: flex;
  /* 子要素をflexboxで揃える */
  flex-direction: column;
  /* 子要素をflexboxにより縦方向に揃える */
  justify-content: center;
  /* 子要素をflexboxにより中央に配置する */
  align-items: center;
  /* 子要素をflexboxにより中央に配置する */
  overflow: hidden;
}
section#profile div.p_cover {
  width: 200vw;
  height: 100vh;
  position: absolute;
  top: 0;
}
section#profile div.p_cover div#square {
  width: 100vw;
  height: 100vh;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
}
section#profile div.p_cover div#tri {
  width: 100vw;
  height: 100vh;
  background-image: url(../images/tri.png);
  background-repeat: no-repeat;
  position: absolute;
  background-size: contain;
  top: 0;
  right: 1px;
}
section#profile div.onSlideAnimation {
  animation: slideIn 1s linear forwards;
}
section#profile h2 {
  font-size: 16px;
  line-height: 2;
  border-bottom: solid #000 3px;
  display: block;
  text-align: center;
  margin: 0 auto 0.5em auto;
  width: 8em;
  text-align: center;
}
section#profile img#prof_image {
  width: 200px;
  height: 200px;
  border-radius: 100px;
  margin: 0 auto 5vw auto;
  display: block;
}
section#profile p {
  font-size: 12px;
  line-height: 2;
  margin: 0 auto;
  width: 72vw;
  text-align: center;
}
section#profile a {
  text-decoration: underline;
}