@media not all and (max-width: 960px) {
  .is-pc {
    display: block;
  }
  .is-sp {
    display: none;
  }
}
@media screen and (max-width: 960px) {
  .is-pc {
    display: none;
  }
  .is-sp {
    display: block;
  }
}
.p-gallery {
  position: relative;
  transform: translateY(30px);
  opacity: 0;
  filter: blur(5px);
  transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1) 0.2s, opacity 1s cubic-bezier(0.25, 1, 0.5, 1) 0.2s, filter 1s cubic-bezier(0.25, 1, 0.5, 1) 0.2s;
}
.is-start .p-gallery {
  transform: translateY(0);
  opacity: 1;
  filter: blur(0);
}
.p-gallery__ttl {
  position: relative;
  margin-bottom: 70px;
  text-align: center;
  color: var(--color-pink);
}
@media screen and (max-width: 960px) {
  .p-gallery__ttl {
    margin-bottom: 49px;
  }
}
.p-gallery__ttl-sub {
  display: block;
  font-family: var(--font-en);
  font-size: 17px;
  letter-spacing: 0.1rem;
}
@media screen and (max-width: 960px) {
  .p-gallery__ttl-sub {
    font-size: 12px;
  }
}
.p-gallery__ttl-main {
  display: block;
  margin-top: 3px;
  font-size: 40px;
}
@media screen and (max-width: 960px) {
  .p-gallery__ttl-main {
    margin-top: 8px;
    font-size: 23px;
  }
}
.p-gallery__list {
  position: relative;
}
@media not all and (max-width: 960px) {
  .p-gallery__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 41px 4%;
  }
}
@media screen and (max-width: 960px) {
  .p-gallery__list {
    width: 76%;
    margin: 0 auto;
  }
}
.p-gallery__list-item {
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 960px) {
  .p-gallery__list-item + .p-gallery__list-item {
    margin-top: 30px;
  }
}
.p-gallery__img {
  position: relative;
}
@media not all and (max-width: 960px) {
  .p-gallery__img {
    width: 100%;
    padding-top: 140.7142857143%;
  }
  .p-gallery__img::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(230, 46, 139, 0.9) 0%, rgba(234, 96, 158, 0.9) 100%);
    opacity: 0.1;
  }
}
@media not all and (max-width: 960px) {
  .p-gallery__img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
  }
}
.p-gallery__cap {
  margin-top: 18px;
  text-align: center;
  font-size: 18px;
}
@media screen and (max-width: 960px) {
  .p-gallery__cap {
    margin-top: 14px;
    font-size: 14px;
  }
}