/**
 * Exhibition Library page layout
 *
 * Legacy style.css uses a 3-column flex grid (32% / 48%) for many cards.
 * This sheet replaces it with an explicit responsive grid on this page only.
 */

.page-exhibition-library #libraryVisual .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.page-exhibition-library #libraryVisual h1 {
  width: 100%;
  text-align: center;
  padding-top: 12%;
}

.page-exhibition-library #libraryVisual h1 .library_img {
  width: min(52%, 560px);
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.page-exhibition-library .libraryVisual_bottom {
  width: 100%;
}

.page-exhibition-library .libraryVisual_bottom_desc {
  max-width: 52em;
  margin-left: auto;
  margin-right: auto;
}

.page-exhibition-library .inner.library_exhibition_inner {
  max-width: min(1500px, 94vw);
  padding: clamp(8px, 1.33vw, 16px) clamp(16px, 3vw, 32px);
}

.page-exhibition-library .library_list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 28px);
  width: 100%;
  margin: 0 auto;
}

/* 2館のみのときは白い箱ごと2列幅に揃えて中央寄せ */
.page-exhibition-library .inner.library_exhibition_inner:has(.library_item:nth-child(2):last-child) {
  max-width: min(920px, 94vw);
}

.page-exhibition-library .library_list:has(.library_item:nth-child(2):last-child) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* 1館のみ */
.page-exhibition-library .library_list:has(.library_item:only-child) {
  grid-template-columns: minmax(0, 420px);
  justify-content: center;
}

.page-exhibition-library .library_item {
  width: auto;
  margin-bottom: 0;
  min-width: 0;
}

.page-exhibition-library .library_slider {
  min-width: 0;
  max-width: 100%;
}

.page-exhibition-library .library_item_inner {
  max-width: none;
  width: 100%;
  height: 100%;
}

.page-exhibition-library .library_slider .swiper-slide a {
  height: 100%;
}

.page-exhibition-library .library_slider .swiper-slide picture {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.page-exhibition-library .library_slider .swiper-slide picture img {
  width: auto;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
}

@media (max-width: 1380px) {
  .page-exhibition-library .library_list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 750px) {
  .page-exhibition-library #libraryVisual h1 {
    margin-bottom: 0;
    padding-top: 28%;
    bottom: auto;
  }

  .page-exhibition-library #libraryVisual h1 .library_img {
    width: min(82%, 400px);
  }

  .page-exhibition-library .inner.library_exhibition_inner {
    max-width: none;
    width: 90%;
    padding: 5% 0;
  }

  .page-exhibition-library .library_list,
  .page-exhibition-library .library_list:has(.library_item:nth-child(2):last-child) {
    grid-template-columns: minmax(0, 1fr);
    max-width: none;
  }
}
@media screen and (max-width: 750px) {
  .libraryVisual_bottom {
      padding: 0% 0 0;

  }
}
@media (max-width: 479px) {
  #libraryVisual h1 {
      padding-bottom: 0;

  }
}