/* ========== topic.css ========== */
.topic-wrapper {
  max-width: 800px;
  margin: 0 auto;
  padding: 1.5em;
  background: #fffef9;
  border: 1px solid #ccc;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  box-sizing: border-box;
}

.topic-wrapper .btn {
  display: inline-block;
  margin: 0.5em 0.25em;
  padding: 6px 12px;
  background: #4caf50;
  color: white;
  text-decoration: none;
  border-radius: 4px;
}

.topic-wrapper .btn.secondary {
  background: #888;
}

.topic-wrapper h2 {
  font-size: 1.4em;
  margin: 0.5em 0;
  text-align: center;
}

.topic-wrapper p,
.topic-wrapper .centered {
  text-align: center;
  margin: 0.4em 0;
}

.topic-kanji-box {
  font-size: 5em;
  border: 4px double #444;
  padding: 0.2em 0.4em;
  background: #fff;
  border-radius: 6px;
  display: inline-block;
}

mark {
  background-color: yellow;
  font-weight: bold;
}



.topic-card-link {
  display: block;
  text-decoration: none;
  color: inherit;
  margin: 0;              /* ← 不要な外側余白を除去 */
  padding: 0;
  line-height: 1;         /* ← 改行スペースの影響も軽減 */
}

.topic-card {
  margin: ;
  padding: 1em;           /* ← 内側余白が必要な場合だけ指定 */
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: box-shadow 0.3s ease;
}

.topic-card:hover {
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.25);
}

/* topic-latest 由来の margin/padding を念のため初期化 */
.topic-latest {
  margin: 0 !important;
  padding: 0 !important;
}



