.cards {
  display: grid;
  grid-template-columns: repeat(4, 200px); /* ← 4列 × 200px 固定 */
  gap: 20px;
  justify-content: center; /* 中央寄せ */
}

.card img,
.card canvas {
  display: block;
  width: 200px;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}

.card {
  width: 200px;
  margin: 0 auto;
  text-align: center;
}

.label {
  margin-top: 8px;
  font-weight: bold;
}

h1 {
  display: flex;
  justify-content: center; /* 横方向中央 */ 
}

label[for="reversiIp"],
label[for="socketChatIp"]  {
  font-size: 10px;
}

img.onlineSample {
  display: block;
  width: 120px;
  height: auto;
  margin: 0 auto;
  object-fit: cover;
}

.menu {
  text-align: center;
}