@charset "utf-8";
/* CSS Document */

/* ===============================
   Gallery Page
=============================== */
.page-gallery {
  background: #f7f4ef;
}

/* ===============================
   Intro
=============================== */
.gallery-intro {
/*  padding: 50px 0 40px;*/
  text-align: center;
}

.gallery-intro p {
  margin-bottom: 1.2em;
  line-height: 2;
}

/* ===============================
   Section
=============================== */
.gallery-section {
  padding: 40px 0;
}

.gallery-section h2 {
  text-align: center;
  margin-bottom: 40px;
}

.gallery-section h2 .en {
  display: block;
  font-size: 0.85rem;
  letter-spacing: 0.15em;
  color: #777;
}

.gallery-section h2 .ja {
  display: block;
  font-size: 1.4rem;
  margin-top: 8px;
}

/* ===============================
   Grid
=============================== */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.gallery-grid a {
  display: block;
}

.gallery-grid img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  border-radius: 4px;

  filter: brightness(0.98);
  transition:
    transform 0.4s ease,
    filter 0.4s ease,
    box-shadow 0.4s ease;
  cursor: zoom-in;
}

.gallery-grid a:hover img{
  transform: scale(1.02);
  filter: brightness(1);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

/* ===============================
   Note
=============================== */
.gallery-note {
  text-align: center;
  margin-top: 24px;
  font-size: 0.9rem;
  color: #666;
}

/* ===============================
   Responsive
=============================== */

@media (max-width: 1024px) {
  .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .gallery-section {
    padding: 60px 0;
  }

  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}

@media (max-width: 480px) {
  .gallery-intro {
    padding: 60px 0 24px;
  }

  .gallery-grid {
    gap: 10px;
  }
}