.p-top {
  position: relative;
  opacity: 0;
  margin-bottom: 65px;
  pointer-events: none;
}

.is-data-loaded .p-top {
  opacity: 1;
  -webkit-transition: opacity .2s;
  transition: opacity .2s;
  pointer-events: auto;
}

.p-works .p-works__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 33px;
}

.p-works__grid {
  position: relative;
  opacity: 0;
  width: 49.6%;
}

.p-works__grid.is-active1, .p-works__grid.is-active2, .p-works__grid.is-active3 {
  opacity: 1;
}

.p-works__grid-inner {
  display: block;
  cursor: pointer;
  text-decoration: none;
}

.p-works__thumb {
  position: relative;
  padding-top: 100%;
  overflow: hidden;
}

.p-works__thumb::after {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
  -webkit-transform-origin: bottom right;
  transform-origin: bottom right;
  background-color: #ffffff;
  width: 100%;
  height: 100%;
  pointer-events: none;
  content: "";
}

.is-active1 .p-works__thumb::after {
  -webkit-transform: scaleY(0) skewY(-10deg);
  transform: scaleY(0) skewY(-10deg);
  -webkit-transform-origin: top left;
  transform-origin: top left;
  -webkit-transition: -webkit-transform 1.1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-transform 1.1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 1.1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 1.1s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 1.1s cubic-bezier(0.23, 1, 0.32, 1);
}

.is-active2 .p-works__thumb::after {
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: top right;
  transform-origin: top right;
  -webkit-transition: -webkit-transform 1.1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-transform 1.1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 1.1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 1.1s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 1.1s cubic-bezier(0.23, 1, 0.32, 1);
}

.is-active3 .p-works__thumb::after {
  -webkit-transform: scaleY(0) skewY(40deg);
  transform: scaleY(0) skewY(40deg);
  -webkit-transform-origin: top right;
  transform-origin: top right;
  -webkit-transition: -webkit-transform 1.1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-transform 1.1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 1.1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 1.1s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 1.1s cubic-bezier(0.23, 1, 0.32, 1);
}

.p-works__thumb figure {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transition-property: opacity, -webkit-transform, -webkit-filter;
  transition-property: opacity, -webkit-transform, -webkit-filter;
  transition-property: transform, filter, opacity;
  transition-property: transform, filter, opacity, -webkit-transform, -webkit-filter;
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
}

.p-works__thumb figure:nth-of-type(1) {
  opacity: 0;
  -webkit-transition: opacity 0.3s 0.05s, -webkit-transform 0.3s;
  transition: opacity 0.3s 0.05s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.3s 0.05s;
  transition: transform 0.3s, opacity 0.3s 0.05s, -webkit-transform 0.3s;
}

.p-works__grid:hover .p-works__thumb figure:nth-of-type(1) {
  -webkit-transform: scale(1.15);
  transform: scale(1.15);
  opacity: 1;
  -webkit-transition: opacity 0.3s 0.05s, -webkit-transform 0.3s;
  transition: opacity 0.3s 0.05s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.3s 0.05s;
  transition: transform 0.3s, opacity 0.3s 0.05s, -webkit-transform 0.3s;
}

.p-works__thumb figure:nth-of-type(2) {
  -webkit-transform: scale(1.32);
  transform: scale(1.32);
  -webkit-transform-origin: top center;
  transform-origin: top center;
  opacity: 1;
}

.is-active1 .p-works__thumb figure:nth-of-type(2),
.is-active2 .p-works__thumb figure:nth-of-type(2),
.is-active3 .p-works__thumb figure:nth-of-type(2) {
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: opacity 0.3s, -webkit-transform 1.6s cubic-bezier(0.25, 1, 0.5, 1) 0.1s, -webkit-filter 0.3s;
  transition: opacity 0.3s, -webkit-transform 1.6s cubic-bezier(0.25, 1, 0.5, 1) 0.1s, -webkit-filter 0.3s;
  transition: transform 1.6s cubic-bezier(0.25, 1, 0.5, 1) 0.1s, filter 0.3s, opacity 0.3s;
  transition: transform 1.6s cubic-bezier(0.25, 1, 0.5, 1) 0.1s, filter 0.3s, opacity 0.3s, -webkit-transform 1.6s cubic-bezier(0.25, 1, 0.5, 1) 0.1s, -webkit-filter 0.3s;
}

.p-works__grid:hover .p-works__thumb figure:nth-of-type(2) {
  opacity: 0;
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}

.p-works__cover {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: opacity 0.3s 0.05s;
  transition: opacity 0.3s 0.05s;
  -webkit-transition-delay: 0.03s;
  transition-delay: 0.03s;
  background-color: rgba(0, 0, 0, 0.6);
  padding: 14px 16px;
  width: 100%;
  height: 100%;
  overflow: hidden;
  color: #ffffff;
}

.p-works__grid:hover .p-works__cover {
  opacity: 1;
}

.p-works__ttl {
  position: relative;
}

.p-works__category {
  position: relative;
  opacity: 0.5;
  margin-top: 2px;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.5;
  font-family: "Oswald", sans-serif;
}

.p-works__loading {
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  opacity: 0;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  margin-top: 12px;
}

.p-works__loading.is-show {
  opacity: 1;
  -webkit-transition: opacity 0s;
  transition: opacity 0s;
}

.p-project__list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  opacity: 0;
}

.p-project__list-item.is-active {
  opacity: 1;
  -webkit-transition: opacity 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: opacity 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.p-project__list-item + .p-project__list-item {
  margin-top: 40px;
}

.p-project__list-item img {
  margin: 0 auto;
  max-width: 100%;
  height: auto !important;
}

.p-project__list-movie {
  position: relative;
  padding-top: 56.25%;
  width: 100%;
}

.p-project__list-movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.p-project__list-credit {
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.7;
}

.p-project__credit {
  margin-top: 40px;
  font-size: 12px;
  line-height: 1.7;
}

.p-project__credit p + p {
  margin-top: 1.66em;
}

@media not all and (max-width: 767px) {
  .p-top {
    margin-bottom: 30px;
  }
  .p-works .p-works__wrapper {
    margin-bottom: 7px;
  }
  .p-works__ttl {
    font-size: 19px;
    line-height: 1.26;
  }
  .p-works__category {
    margin-top: 5px;
    font-size: 14px;
  }
  .p-works__loading {
    margin-top: 5px;
  }
  .p-project__list {
    margin: 0 auto;
    max-width: 1000px;
  }
  .p-project__list-item + .p-project__list-item {
    margin-top: 72px;
  }
  .p-project__list-credit {
    margin-top: 9px;
  }
  .p-project__credit {
    margin-top: 80px;
  }
}

@media screen and (max-width: 767px) {
  .p-works .p-works__type {
    opacity: 0.5;
    margin-bottom: 19px;
    font-weight: 500;
    font-size: 30px;
    line-height: 1;
    font-family: "Oswald", sans-serif;
  }
  .p-works__grid:nth-of-type(even) {
    margin-left: 0.8%;
  }
  .p-works__grid:nth-of-type(n + 3) {
    margin-top: 0.8%;
  }
}

@media screen and (min-width: 768px) {
  .p-works__grid {
    margin: 0 0.5% 1% 0.5%;
    width: 49%;
  }
}

@media screen and (min-width: 960px) {
  .p-works__grid {
    margin: 0 0.51% 1.02% 0.51%;
    width: 32.3%;
  }
}

@media screen and (min-width: 1500px) {
  .p-works__grid {
    margin: 0 0.35% 0.7% 0.35%;
    width: 24.3%;
  }
}
