* {
    font-family: 'Noto Sans JP';
}

body {
  background-color: #87ceeb; /* より分かりやすい空色 (SkyBlue) */
  /* font-family: 'M PLUS Rounded 1c', sans-serif; */
}

.container {
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  padding: 40px;
}

h1 {
  text-align: center;
  color: white;
  margin-top: 0; /* 上部のマージンを調整 */
  margin-bottom: 40px;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.2);
}

.card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  width: 100%;
  max-width: 1200px; /* 画面が広すぎても間延びしないように */
}

.card {
  background-color: white;
  border-radius: 15px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  aspect-ratio: 4 / 3; /* 長方形にする (幅4:高さ3) */
  transition: all 0.3s ease-in-out;
  display: flex;
  flex-direction: column; /* 子要素を縦に並べるように変更 */
  justify-content: center; /* コンテンツを中央揃え */
  align-items: center;
  text-decoration: none;
  font-size: 2rem; /* テキストが複数行になっても収まるように調整 */
  font-weight: bold;
  color: #555;
  padding: 1rem; /* カード内の余白 */
  box-sizing: border-box; /* パディングをサイズ計算に含める */
}

.card:hover {
  transform: translateY(-8px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12);
}
