@charset "UTF-8";
/* =========================
スマホ（基本レイアウト）
========================= */
@media screen and (max-width: 767px) {
  body {
    font-size: 1.4rem;
  }
  #container {
    width: 100%;
    padding: 0 15px;
  }
  #container h1 {
    font-size: 1.6rem;
    margin-bottom: 15px;
    font-weight: bold;
  }
  /* header */
  header h1 img {
    width: 60px;
    height: auto;
    margin: 0 auto 30px;
    display: block;
  }
  /* レイアウト */
  .video-layout {
    display: flex;
    flex-direction: column;
  }
  /* 🔥 サイドバーを上へ */
  .video-sidebar {
    order: -1;
    margin-bottom: 20px;
  }
  .video-sidebar h3 {
    font-size: 1.4rem;
    margin: 10px 0;
    font-weight: bold;
  }
  /* メイン */
  .video-main h1 {
    font-size: 1.6rem;
    margin-bottom: 15px;
    font-weight: bold;
  }
  /* =========================
  カテゴリ（ボタン4列）
  ========================= */
  .category-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
  }
  .category-list li {
    width: calc(25% - 6px);
    list-style: none;
  }
  .category-list li a {
    display: block;
    text-align: center;
    padding: 10px 5px;
    border: 1px solid var(--sub-color);
    background-color: #fff;
    border-radius: 6px;
    font-size: 1.1rem;
    text-decoration: none;
    transition: 0.3s;
  }
  .category-list li a:hover {
    background-color: #deefee;
  }
  /* =========================
  アーカイブ（プルダウン）
  ========================= */
  .archive-select {
    width: 100%;
    padding: 10px;
    border: 1px solid var(--sub-color);
    border-radius: 6px;
    background-color: #fff;
    font-size: 1.2rem;
    margin-bottom: 20px;
  }
  /* 動画リスト */
  .video-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .video-list li {
    border-bottom: 1px solid var(--sub-color);
    background-color: #fff;
  }
  .video-list li a {
    text-decoration: none;
    display: block;
    padding: 12px 8px;
    transition: background-color 0.3s ease;
  }
  .video-list li a:hover {
    background-color: #deefee;
  }
  /* ページャー */
  .video-pager {
    margin-top: 30px;
    text-align: center;
  }
  .video-pager .page-numbers {
    display: inline-block;
    padding: 6px 10px;
    margin: 3px;
    border: 1px solid #ddd;
    text-decoration: none;
    font-size: 13px;
  }
  .video-pager .page-numbers.current {
    background: var(--main-color);
    color: #fff;
  }
  /* footer */
  footer {
    margin: 40px auto 10px;
    text-align: center;
    color: var(--main-color);
  }
  .sp-none {
    display: none;
  }
}/*# sourceMappingURL=sp.css.map */