@charset "UTF-8";

/* mv */
.mv {
  position: relative;
  padding-top: var(--size-90);
}

.mv__title {
  position: absolute;
  top: var(--size-29);
  left: var(--size-35);
  z-index: 2;
  width: 86%;
  opacity: 0;
}

.mv__copy {
  position: absolute;
  bottom: var(--size-33);
  left: var(--size-25);
  z-index: 2;
  width: 63%;
  opacity: 0;
}

.mv__bg img {
  width: 100%;
}

@media screen and (min-width: 992px) {
  .mv {
    position: relative;
    padding-top: var(--size-50);
  }

  .mv__title {
    position: absolute;
    top: var(--size-118);
    left: var(--size-80);
    width: 14%;
  }

  .mv__copy {
    position: absolute;
    bottom: var(--size-140);
    right: var(--size-84);
    left: auto;
    width: 20%;
  }
}

/* gallery */
.gallery {
  margin-top: calc(40 / 412 * 100vw);
}

.gallery figcaption {
  text-align: right;
  font-size: 12px;
  line-height: 1.8;
  color: var(--color-credit);
}

.gallery__block01 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--size-2);
  width: calc(368 / 412 * 100vw);
  margin-inline: auto;
}

.gallery__block02 {
  width: calc(335 / 412 * 100vw);
  margin-top: calc(80 / 412 * 100vw);
  margin-inline: auto;
}

.gallery__block03 {
  display: grid;
  gap: var(--size-2);
  margin-top: calc(55 / 412 * 100vw);
}

.gallery__img04 {
  width: calc(214 / 412 * 100vw);
}

.gallery__img05 {
  width: calc(334 / 412 * 100vw);
  margin-left: auto;
}

.gallery__block05 {
  display: grid;
  gap: var(--size-2);
  margin-top: calc(80 / 412 * 100vw);
}

.gallery__img06 {
  width: calc(234 / 412 * 100vw);
}

.gallery__img07 {
  width: calc(367 / 412 * 100vw);
  margin-left: auto;
}

.gallery__block06 {
  display: grid;
  gap: var(--size-2);
  margin-top: calc(80 / 412 * 100vw);
}

.gallery__img09 {
  position: relative;
  z-index: 2;
  width: calc(361 / 412 * 100vw);
}

.gallery__block07 {
  display: grid;
  gap: var(--size-80);
  margin-top: calc(163 / 412 * 100vw);
}
.gallery__img10 {
  width: calc(341 / 412 * 100vw);
  margin-left: auto;
}

.gallery__block08 {
  display: grid;
  gap: var(--size-2);
  margin-top: calc(80 / 412 * 100vw);
}

.gallery__img12 {
  width: calc(343 / 412 * 100vw);
}

.gallery__img13 {
  width: calc(237 / 412 * 100vw);
  margin-left: auto;
}

.gallery__block09 {
  margin-top: calc(80 / 412 * 100vw);
}

@media screen and (min-width: 992px) {
  .gallery {
    margin-top: calc(120 / 1200 * 100vw);
  }

  .gallery__block01 {
    gap: var(--size-5);
    width: calc(808 / 1200 * 100vw);
  }

  .gallery__block02 {
    width: calc(448 / 1200 * 100vw);
    margin-top: calc(120 / 1200 * 100vw);
  }

  .gallery__block03 {
    display: flex;
    justify-content: center;
    gap: var(--size-4);
  }

  .gallery__img04 {
    width: calc(337 / 1200 * 100vw);
  }

  .gallery__img05 {
    width: calc(416 / 1200 * 100vw);
    margin-top: calc(115 / 1200 * 100vw);
    margin-left: 0;
  }

  .gallery__block05 {
    display: flex;
    gap: var(--size-4);
    margin-top: calc(120 / 1200 * 100vw);
  }

  .gallery__img06 {
    width: calc(449 / 1200 * 100vw);
  }

  .gallery__img07 {
    width: calc(449 / 1200 * 100vw);
    margin-left: 0;
  }

  .gallery__block06 {
    display: grid;
    gap: var(--size-14);
    margin-top: calc(120 / 1200 * 100vw);
  }

  .gallery__img08 {
    width: calc(478 / 1200 * 100vw);
    margin-left: calc(500 / 1200 * 100vw);
  }

  .gallery__img09 {
    width: calc(360 / 1200 * 100vw);
    margin-top: 0;
    margin-left: calc(318 / 1200 * 100vw);
  }

  .gallery__block07 {
    display: flex;
    flex-direction: row-reverse;
    gap: var(--size-4);
    margin-top: calc(205 / 1200 * 100vw);
  }

  .gallery__img10 {
    width: calc(449 / 1200 * 100vw);
    margin-left: 0;
  }

  .gallery__img11 {
    width: calc(547 / 1200 * 100vw);
  }

  .gallery__block08 {
    display: flex;
    margin-top: calc(120 / 1200 * 100vw);
    margin-left: calc(107 / 1200 * 100vw);
  }

  .gallery__img12 {
    width: calc(537 / 1200 * 100vw);
  }

  .gallery__img13 {
    width: calc(371 / 1200 * 100vw);
    margin-top: calc(217 / 1200 * 100vw);
    margin-left: 0;
  }

  .gallery__block09 {
    margin-top: calc(140 / 1200 * 100vw);
  }
}
