@charset "UTF-8";

/* 工事・イベント共通。工事固有の余白・切り替え幅は kouji.css に置く。 */
.gallery-page .kouji-title {
  max-width: 960px;
  margin: 40px auto 20px;
  padding: 0 16px;
  color: #005bab;
  font-size: 1.4rem;
  border-bottom: 2px solid #e5e7eb;
}
.gallery-page .imagebox,
.gallery-page .image-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  margin: 0 auto 30px;
}
.gallery-page .image-row { margin: 30px auto; }
.gallery-page .imagecard {
  width: 100%;
  min-width: 0;
  background: #fff;
  border: 1px solid #e8eef6;
  border-radius: 12px;
  padding: 12px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.07);
  text-align: center;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.gallery-page .imagecard:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.13);
}
.gallery-page .imagecard .image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid #e2e2e2;
}
.gallery-page .imagecard .caption { margin-top: 8px; font-size: 0.9rem; color: #444; }
.gallery-page a.zoom { cursor: zoom-in; }
@media (max-width: 720px) {
  .gallery-page .imagebox,
  .gallery-page .image-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .gallery-page .imagebox,
  .gallery-page .image-row { grid-template-columns: 1fr; }
}
