@charset "utf-8";
/* CSS Document */
.ranking-products {
  list-style: none;
  margin: 0 0 100px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 24px;
}

.ranking-item {
  position: relative;
  padding-top: 16px;
}

.rank-badge {
  position: absolute;
  top: 0;
  left: 0;
  background: #000;
  color: #fff;
  font-size: 0.9rem;
  padding: 2px 8px;
  border-radius: 999px;
}

.ranking-thumb img {
  display: block;
  width: 100%;
  height: auto;
}

.ranking-title {
  font-size: 0.95rem;
  margin-top: 8px;
}

.ranking-price {
  margin-top: 4px;
  font-weight: bold;
}

/* ▼ 共通：スマホでは 5位 を非表示（デフォルト） */
.ranking-products .ranking-item:nth-child(5) {
  display: none;
}



.top-news-title {
  font-size: 1.4rem;
  margin-bottom: 16px;
  font-weight: bold;
}

.top-news-list {
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
}

.top-news-item {
  margin-bottom: 12px;
}

.top-news-item a {
  display: flex;
  gap: 12px;
  text-decoration: none;
  color: #333;
}

.news-date {
  font-size: 0.85rem;
  color: #777;
}

.news-title {
  font-size: 1rem;
}


/* ===============================
   レスポンシブ：768px以上（タブレット〜PC）
================================== */
@media (min-width: 768px) {

  /* PC時：5位を表示に戻す */
  .ranking-products .ranking-item:nth-child(5) {
    display: block;
  }
}

/* ===============================
   レスポンシブ：992px以上（ノートPC以上）
================================== */
@media (min-width: 992px) {
  .ranking-products {
    grid-template-columns: repeat(5, 1fr);
  }
}
