@charset "UTF-8";

/* ============================
   Layout for SP (max-width: 749px)
   ============================ */

body {
  width: 100%;
  margin: 0;
  padding: 0 0 32px;
  font-size: 3vw;
}

/* ---------------- Header ---------------- */

header {
  padding: 8px 8px 4px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

header img {
  max-height: 50px;
}

/* メインビジュアル */
.main_img {
  padding: 0 8px;
  margin-bottom: 10px;
}

.main_img img {
  border-radius: 6px;
}

/* ---------------- Global Nav ---------------- */

#menuList {
  margin: 0 0 10px;
  padding: 6px 8px;
  background-color: #ffffff;
  border-radius: 10px;
  border: 1px solid #ddd;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

#menuList a {
  flex: 0 1 calc(33.333% - 4px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 2px;
  font-size: 10px;
  border-radius: 999px;
  color: #555;
  background-color: #fafafa;
}

#menuList a.slct {
  background-color: #0d6efd;
  color: #fff;
}

#menuList form {
  flex: 1 1 100%;
  display: flex;
  margin-top: 4px;
  gap: 4px;
}

#menuList input[type="text"] {
  font-size: 11px;
  padding: 4px 6px;
}

/* ============================
   Main / Aside
   ============================ */

main#top {
  padding: 0 8px;
}

aside {
  padding: 0 8px;
  margin-top: 10px;
}

/* ============================
   Articles
   ============================ */

article {
  padding: 10px 10px 12px;
  margin-bottom: 10px;
}

article h2 {
  font-size: 3.3vw;
}

article table {
  font-size: 3vw;
}

article table td,
article table th {
  padding: 4px 2px;
}

/* Search area */
article.sch .pop_menu {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 3px 4px 3px 0;
  padding: 4px 8px;
  font-size: 3vw;
  border-radius: 999px;
  border: 1px solid #ccc;
  background-color: #fafafa;
}

article.sch_st form {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* Info */
article.info ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 6px;
}

article.info ul li a {
  padding: 3px 6px;
  font-size: 2.7vw;
  border-radius: 999px;
  border: 1px solid #ddd;
}

/* Review 星画像小さく */
article.review table td:nth-child(3) img {
  max-height: 14px;
}

/* Ranking */
article.ranking table td:first-child {
  width: 22%;
  font-weight: bold;
  color: #0d6efd;
}

/* ============================
   Footer
   ============================ */

footer {
  margin-top: 16px;
  padding: 0 8px;
  border-top: 1px solid #ddd;
  font-size: 2.7vw;
  color: #777;
  text-align: center;
}
