@charset "UTF-8";
/**
 * ▼ メディアクエリ用ブレイクポイント
 *
 * - $bp-sp:
 *   スマホの上限幅（例: ~767px）
 * - $bp-tab:
 *   タブレットの上限幅（例: ~1023px）
 */
/**
 * ▼ メディアクエリミックスイン
 *
 * - media-pc:
 *   PC向けのスタイルを適用するためのメディアクエリ。
 * - media-tab:
 *   タブレット向けのスタイルを適用するためのメディアクエリ。
 * - media-sp:
 *   スマホ向けのスタイルを適用するためのメディアクエリ。
 */
/**
 * ▼ fluidスケーリングに関する設定
 *
 * - $fluid-vw-min / $fluid-vw-max:
 *   clamp()で滑らかに変化させる際のビューポート最小・最大値。
 *   → 通常はスマホ〜PCの幅（375〜1280pxなど）を想定。
 */
/**
 * ▼ fluid()
 *
 * - clamp()を生成するSass関数。
 * - 引数に最小サイズ・最大サイズを渡すことで、
 *   指定したビューポート範囲内で値を滑らかに変化させる。
 *
 * 使用例:
 *   font-size: fluid(14, 20);
 */
/**
 * @function vw-○○()
 * 指定されたサイズを基準に、ビューポート幅に応じたvw単位の値を計算します。
 * 
 * @param {Number} $size - 基準となるサイズ（ピクセル単位）。
 * @param {Number} $viewport - ビューポートの幅（デフォルトは1920px, 768px, 375px）。
 * @return {String} - 計算されたvw単位の値。
 */
.content.content--gallery .gallery__wrapper {
  margin-bottom: 8rem;
}
.content.content--gallery .gallery__wrapper:last-child {
  margin-bottom: 0;
}
.content.content--gallery .gallery__heading {
  margin-bottom: 6.4rem;
}
.content.content--gallery .gallery__modal {
  gap: 4rem;
  max-height: 80vh;
  overflow: auto;
}
@media (max-width: 767px) {
  .content.content--gallery .gallery__modal {
    display: block;
    max-height: 70vh;
  }
}
@media (max-width: 767px) {
  .content.content--gallery .gallery__modal-img {
    margin-bottom: 2rem;
  }
}
.content.content--gallery .gallery__modal-img img {
  width: 100%;
  height: 100%;
  display: block;
}
.content.content--gallery .gallery__modal-img:last-of-type {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .content.content--gallery .gallery .leaflet__modal-img {
    width: 120rem;
  }
}
@media (max-width: 767px) {
  .content.content--gallery .gallery__modal-content .const-schedule__modal-img {
    width: 98rem;
  }
}
.content.content--gallery .gallery__items {
  display: flex;
  gap: 8rem;
  flex-wrap: wrap;
  justify-content: center;
  align-items: end;
}
.content.content--gallery .gallery__item {
  text-align: center;
}
@media (max-width: 767px) {
  .content.content--gallery .gallery__item {
    width: 100%;
  }
}
.content.content--gallery .gallery__item .btn-A {
  width: 31rem;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .content.content--gallery .gallery__item .btn-A {
    width: 95%;
  }
}
.content.content--gallery .gallery__item .btn-A::after {
  height: 1.6rem;
  background: url(../../common/images/icon_download.svg) no-repeat center center;
}
.content.content--gallery .gallery__item:first-child .image-btn > img {
  width: 100%;
  max-width: 202px;
}
.content.content--gallery .gallery__item:nth-child(2) .image-btn > img {
  width: 100%;
  max-width: 470px;
}
.content.content--gallery .gallery__image {
  margin-bottom: 3rem;
  position: relative;
}
.content.content--gallery .gallery__image .image-btn {
  cursor: pointer;
}
.content.content--gallery .gallery__image .modal-btn {
  position: absolute;
  bottom: 0;
  right: 0;
  cursor: pointer;
}
.content.content--gallery .gallery__image-inner {
  position: relative;
  display: inline-block;
}
.content.content--gallery .gallery__movies {
  display: flex;
  gap: 4rem;
  flex-wrap: wrap;
  justify-content: space-between;
}
.content.content--gallery .gallery__movie {
  width: calc(50% - 2rem);
  text-align: center;
}
@media (max-width: 767px) {
  .content.content--gallery .gallery__movie {
    width: 100%;
  }
}
.content.content--gallery .gallery__movie .btn-A {
  width: 31rem;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .content.content--gallery .gallery__movie .btn-A {
    width: 95%;
  }
}
.content.content--gallery .gallery__movie-image {
  margin-bottom: 3rem;
}
.content.content--gallery .gallery__movie-title {
  text-align: center;
  font-size: 1.6rem;
  line-height: 150%;
  padding: 1.2rem 2rem;
  margin-top: -0.5rem;
  background: #F4F4F4;
}
.content.content--gallery .gallery__text {
  font-size: 1.4rem;
  text-align: center;
  line-height: 175%;
  margin-bottom: 2rem;
}
.content.content--gallery .const-schedule__modal-img {
  text-align: center;
}
.content.content--gallery .const-schedule__modal-img img {
  min-width: 55%;
}
.content.content--gallery .modal__container.--size-l {
  max-width: 140rem;
}
@media screen and (max-width: 1500px) {
  .content.content--gallery .modal__container.--size-l {
    max-width: 90%;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .content.content--gallery .modal__container.--size-l {
    max-width: 90%;
  }
}
@media (max-width: 767px) {
  .content.content--gallery .modal__container.--size-l {
    max-width: 90%;
  }
}
