.projects-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
  max-width: 1000px;
  margin: 40px auto;
}

.project-card {
  cursor: pointer;
  text-align: left;
  transition: transform 0.3s ease;
  background-color: white;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  padding: 15px;
}

.project-card img {
  width: 100%;
  aspect-ratio: 4/3;     /* 4:3 の比率で固定 */
  object-fit: cover;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  display: block;
  margin: 0 auto;
}

.project-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.overlay {
      display: none;
      position: fixed;
      top: 0; left: 0;
      width: 100%; height: 100%;
      background: rgba(0,0,0,0.85);
      justify-content: center;
      align-items: center;
      flex-direction: column;
      z-index: 9999;
    }

    .overlay img#slideshow-image {
      max-width: 90%;
      max-height: 70vh;
      border-radius: 8px;
    }

 .close-btn {
      position: absolute;
      top: 15px;
      right: 25px;
      font-size: 36px;
      color: white;
      cursor: pointer;
    }

    .nav-btn {
      position: absolute;
      top: 50%;
      font-size: 40px;
      color: white;
      cursor: pointer;
      user-select: none;
    }

    .prev { left: 20px; }
    .next { right: 20px; }

.project-card .title {
  font-weight: bold;
  margin-top: 10px;
  text-decoration-line: underline;
  text-decoration-color: #f4a261;
  text-decoration-style: solid;
  text-decoration-thickness: 2px;
}
.project-card .description {
  font-size: 0.9rem;
  line-height: 1.6;
  color: #555;
  margin-top: 5px;
}

.title {
  margin-bottom: 10px;
  font-size: 1.2rem;
  color: var(--main-color);
}

/* サムネイル一覧 */
    #thumbnailList {
      display: flex;
      gap: 6px;
      margin-top: 15px;
      padding: 8px;
      overflow-x: auto;
      max-width: 90%;
    }

    #thumbnailList img {
      width: 60px;
      height: 60px;
      object-fit: cover;
      cursor: pointer;
      border-radius: 4px;
      flex: 0 0 auto;
    }