.grid-mask {
  position: absolute;
  top: 100px;
  height: calc(100% - 100px);
  width: 100%;
  overflow: hidden;
  background: #ededed;
}

.concept .page-photo {
  width: 0;
  overflow: hidden;
  -moz-transition: width 0.6s;
  -o-transition: width 0.6s;
  -webkit-transition: width 0.6s;
  transition: width 0.6s;
}
.concept .page-photo.show-img {
  width: 100%;
}
.concept .page-photo img {
  width: 100vw;
}

.profile-img {
  max-width: 300px;
  margin: 0px auto 40px;
}

.philosophy-img {
  width: 100%;
}

#text1, #text2, #text3, #text4 {
  opacity: 0;
  -moz-transition: opacity 1s;
  -o-transition: opacity 1s;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}
.show-img #text1, .show-img #text2, .show-img #text3, .show-img #text4 {
  opacity: 1;
  -moz-transition-delay: 1s;
  -o-transition-delay: 1s;
  -webkit-transition-delay: 1s;
  transition-delay: 1s;
}

#circle1, #circle1-bg {
  opacity: 0;
  -moz-transform: translateY(-30px);
  -ms-transform: translateY(-30px);
  -webkit-transform: translateY(-30px);
  transform: translateY(-30px);
}

#circle2, #circle2-bg {
  opacity: 0;
  -moz-transform: translateX(30px);
  -ms-transform: translateX(30px);
  -webkit-transform: translateX(30px);
  transform: translateX(30px);
}

#circle3, #circle3-bg {
  opacity: 0;
  -moz-transform: translateX(-30px);
  -ms-transform: translateX(-30px);
  -webkit-transform: translateX(-30px);
  transform: translateX(-30px);
}

#circle4, #circle4-bg {
  opacity: 0;
  -moz-transform: translateY(30px);
  -ms-transform: translateY(30px);
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
}

#circle1, #circle1-bg, #circle2, #circle2-bg, #circle3, #circle3-bg, #circle4, #circle4-bg {
  -moz-transition: opacity 1s, -moz-transform 1s;
  -o-transition: opacity 1s, -o-transform 1s;
  -webkit-transition: opacity 1s, -webkit-transform 1s;
  transition: opacity 1s, transform 1s;
}

.show-img #circle1, .show-img #circle1-bg, .show-img #circle2, .show-img #circle2-bg, .show-img #circle3, .show-img #circle3-bg, .show-img #circle4, .show-img #circle4-bg {
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  opacity: 1;
}

#circle-bg {
  opacity: 0;
  -moz-transition: opacity 1s;
  -o-transition: opacity 1s;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}
.show-img #circle-bg {
  opacity: 1;
  -moz-transition-delay: 2s;
  -o-transition-delay: 2s;
  -webkit-transition-delay: 2s;
  transition-delay: 2s;
}

.studio-list {
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 1600px;
  margin: auto;
}
.studio-item {
  position: relative;
  margin: 1%;
  width: 18%;
  line-height: 1.5;
  opacity: 0;
  -moz-transform: translateY(20px);
  -ms-transform: translateY(20px);
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  -moz-transition: opacity 1s, -moz-transform 1s;
  -o-transition: opacity 1s, -o-transform 1s;
  -webkit-transition: opacity 1s, -webkit-transform 1s;
  transition: opacity 1s, transform 1s;
}
.studio-item.show {
  opacity: 1;
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.studio-item:hover .studio-img {
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}
.studio-item a {
  color: #181d4b;
}
.studio-mask {
  position: relative;
  padding-bottom: 135%;
  overflow: hidden;
}
.studio-img {
  position: absolute;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  -moz-transition: -moz-transform 0.3s;
  -o-transition: -o-transform 0.3s;
  -webkit-transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
}
.studio-text {
  padding: 5px;
  font-size: 0.875em;
}
.studio-position {
  color: #666;
}

@media screen and (max-width: 1100px) {
  .studio-item {
    width: 23%;
  }
}
@media screen and (max-width: 800px) {
  .studio-item {
    width: 48%;
  }
}
