    body {
      margin: 0;
      font-size: 1rem;
      font-family: 'Outfit', sans-serif;
      background: #000000;
      color: #fff;
    }
    body h2 {
      font-size: 1.0rem;
      margin-bottom: 0.5rem;
      text-indent: 0.5rem;
      color: #ffff00;
      line-height: 1.0;
    }
    body h3 {
      font-size: 0.8rem;
      margin-bottom: 0.5rem;
      text-indent: 0.5rem;
      color: #808080;
      line-height: 1.0;
    }
    header {
      text-align: center;
      padding: 1rem 1rem;
    }
    header h1 {
      font-size: 2.4rem;
      color: #ff0000;
      margin-bottom: 0.5rem;
    }
    header p {
      text-align: left;
      font-size: 1.0rem;
      color:  #00ffff;
      line-height: 1.0;
    }
    .gallery-section {
      width: 100%;
      max-width: 1200px;
      margin: 0 auto 40px;
    }
    .gallery-section h1 {
      text-align: center;
      font-size: 1.5em;
      border-bottom: 2px dotted #ccc;
      margin-bottom: 10px;
      padding-bottom: 5px;
    }
    .gallery-section h2 {
      text-align: center;
      font-size: 1.5em;
      border-bottom: 2px hidden #ccc;
      margin-bottom: 10px;
      padding-bottom: 5px;
    }
    .gallery-items {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
      gap: 20px;
    }
    .item {
      background: rgba(255, 255, 255, 0.1);
      border-radius: 15px;
      backdrop-filter: blur(8px);
      transition: transform 0.3s ease;
      display: flex;
      flex-direction: column;
      align-items: center;
      padding: 1rem;
      cursor: pointer;
    }
    .item:hover {
      transform: scale(1.03);
    }
    .item img {
      width: 100%;
      max-width: 220px;
      border-radius: 10px;
      margin-bottom: 1rem;
    }
    .item h2 {
      font-size: 1.1rem;
      color: #ffcc80;
      margin-bottom: 0.5rem;
      text-align: center;
    }
    .item p {
      font-size: 0.9rem;
      line-height: 1.5;
      color: #eee;
      text-align: left;
    }

    /* モーダル */
    .modal {
      display: none;
      position: fixed;
      z-index: 1000;
      left: 0; top: 0;
      width: 100%; height: 100%;
      background-color: rgba(0,0,0,0.8);
    }
    .modal-content {
      background-color: #1e1e1e;
      margin: 10% auto;
      padding: 2rem;
      border-radius: 10px;
      width: 90%;
      max-width: 700px;
      color: #fff;
    }
    .modal-content h2 {
      font-size: 1.1rem;
      color: #ffff00;
      margin-bottom: 0.5rem;
      text-align: center;
    }
    .close {
      color: #aaa;
      float: right;
      font-size: 2rem;
      cursor: pointer;
    }
    .close:hover {
      color: #fff;
    }
    .item img {
      width: 100%;
      max-width: 220px;
      border-radius: 10px;
      margin-bottom: 1rem;
    }

.test-variable-width-table {
  width: 90%;
  border-collapse: collapse;
}
.resizeimage {
   max-width: 400px; /* 最大幅 */
   min-width: 240px; /* 最小幅 */
}
.resizeimage img { width: 100%; }

.footer-nav {
  background: #333;
  padding: 10px 0;
  text-align: center;
}

.footer-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  gap: 2rem;
}

.footer-nav a {
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  transition: color 0.3s;
}

.footer-nav a:hover {
  color: #ffcc00;
}
