/* ============================================================
   カスタム投稿 video アーカイブ一覧（.video-archive 配下のみ）
   ============================================================ */
.video-archive {
    padding: 40px 0 80px !important;
}

/* 見出し */
.video-archive .video-archive__title {
    font-family: "Palatino Linotype", "Book Antiqua", Palatino, 'Noto Serif JP', serif !important;
    font-size: clamp(22px, 2vw, 32px) !important;
    font-weight: 700 !important;
    color: #1B3A6B !important;
    letter-spacing: 0.08em !important;
    text-align: center !important;
    margin: 0 auto 32px !important;
    padding: 0 0 16px !important;
    position: relative !important;
    width: fit-content !important;
    background: none !important;
    border: none !important;
}

.video-archive .video-archive__title::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: 0 !important;
    transform: translateX(-50%) !important;
    width: 50px !important;
    height: 2px !important;
    background: #C8102E !important;
}

.video-archive .video-archive__title::before {
    content: none !important;
}

/* カテゴリーセレクト */
.video-archive .video-cat-select {
    text-align: center !important;
    margin: 0 0 40px !important;
}

.video-archive .video-cat-select select {
    appearance: none !important;
    -webkit-appearance: none !important;
    border: 1.5px solid #1B3A6B !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #1B3A6B !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    padding: 14px 48px 14px 20px !important;
    min-width: 300px !important;
    cursor: pointer !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B3A6B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 18px !important;
}

/* 一覧グリッド（flex） */
.video-archive .video-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
    margin: 0 0 40px !important;
}

/* カード */
.video-archive .video-card {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 100% !important;
    max-width: 100% !important;
    background: #fff !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 12px rgba(27, 58, 107, 0.05) !important;
}

@media (hover: hover) and (min-width: 806px) {
    .video-archive .video-card:hover {
        transform: translateY(-4px) !important;
        box-shadow: 0 10px 28px rgba(27, 58, 107, 0.12) !important;
        border-color: #C8102E !important;
    }
    .video-archive .video-card:hover .video-card__btn {
        background: #C8102E !important;
    }
}

/* サムネイル */
.video-archive .video-card__thumb {
    background: #f5f8fb !important;
    aspect-ratio: 16 / 9 !important;
    overflow: hidden !important;
}

.video-archive .video-card__thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* 本文 */
.video-archive .video-card__body {
    padding: 16px 18px 22px !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 0 auto !important;
}

.video-archive .video-card__date {
    font-size: 13px !important;
    color: #aaa !important;
    margin: 0 0 8px !important;
}

.video-archive .video-card__cats {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 0 0 10px !important;
}

.video-archive .video-card__cats span {
    font-size: 12px !important;
    color: #888 !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    padding: 2px 8px !important;
}

.video-archive .video-card__title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1B3A6B !important;
    line-height: 1.5 !important;
    margin: 0 0 16px !important;
    background: none !important;
    border: none !important;
}

.video-archive .video-card__title::before,
.video-archive .video-card__title::after {
    content: none !important;
}

/* ボタン */
.video-archive .video-card__btn {
    margin-top: auto !important;
    align-self: center !important;
    display: inline-block !important;
    text-align: center !important;
    font-size: 14px !important;
    color: #fff !important;
    background: #1B3A6B !important;
    border-radius: 30px !important;
    padding: 9px 28px !important;
    transition: background 0.3s ease !important;
}


/* 空表示 */
.video-archive .video-list__empty {
    width: 100% !important;
    text-align: center !important;
    color: #888 !important;
    padding: 40px 0 !important;
}

/* ============================================================
   ページネーション
   ============================================================ */

/* 親ul：Swell装飾を打ち消し、中央寄せflexコンテナ化 */
.video-archive .video-pager ul.page-numbers {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    list-style: none !important;
    gap: 2px !important;
    padding: 0 !important;
    margin: 60px 0  !important;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
    width: auto !important;
    max-width: none !important;
}

.video-archive .video-pager li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* ボタン共通（数字・次へ）：上下左右中央揃え */
.video-archive .video-pager li .page-numbers {
font-family: "Palatino Linotype", "Book Antiqua", Palatino, 'Noto Serif JP', serif !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 50px !important;
    height: 50px !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    color: #1B3A6B !important;
    background: #fff !important;
    border: 1px solid #dedede !important;
    border-radius: 7px !important;
    text-decoration: none !important;
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
	letter-spacing: 0.1em;
}

/* 現在ページ：紺塗り */
.video-archive .video-pager li .page-numbers.current {
    color: #fff !important;
    background: #1B3A6B !important;
    border-color: #1B3A6B !important;
    box-shadow: 0 4px 12px rgba(27, 58, 107, 0.25) !important;
}

/* 「次へ」「前へ」：少し横長に（色は紺で統一） */
.video-archive .video-pager li .page-numbers.next,
.video-archive .video-pager li .page-numbers.prev {
    padding: 0 16px !important;
}


/* PCホバー（マウス操作可能 かつ PC幅のみ・現在ページは除外） */
@media (hover: hover) and (min-width: 806px) {
    .video-archive .video-pager li a.page-numbers:hover {
        color: #fff !important;
        background: #1B3A6B !important;
        border-color: #1B3A6B !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 14px rgba(27, 58, 107, 0.22) !important;
    }
}

/* タブレット2カラム */
@media (min-width: 751px) {
    .video-archive .video-card {
        flex: 1 1 calc(50% - 12px) !important;
        max-width: calc(50% - 12px) !important;
    }
}

/* PC3カラム */
@media (min-width: 1025px) {
    .video-archive .video-card {
        flex: 1 1 calc(33.333% - 16px) !important;
        max-width: calc(33.333% - 16px) !important;
    }
}

@media (max-width: 765px){
	/* ボタン共通（数字・次へ）：上下左右中央揃え */
.video-archive .video-pager li .page-numbers {
    min-width: 40px !important;
    height: 40px !important;
    padding: 0 12px !important;
    font-size: 14px !important;
margin: 5px;
}
	
}

/* ページャーのSwell装飾（横長枠）を除去 */
.video-archive .video-pager .navigation.pagination,
.video-archive .video-pager .nav-links {
    border: none !important;
    background: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    width: auto !important;
    display: block !important;
}

/* スクリーンリーダー用見出しの余白も念のため除去 */
.video-archive .video-pager .screen-reader-text {
    margin: 0 !important;
}


/* ============================================================
   見出し（中央固定）＋カテゴリー絞り込みプルダウン（右にabsolute）
   ============================================================ */
.video-archive .video-archive__head {
    position: relative !important;
    margin: 0 0 40px !important;
}

/* 見出しは通常フローのまま中央（プルダウンの影響を受けない） */
.video-archive .video-archive__head .video-archive__title {
    margin: 0 auto !important;
}

/* プルダウン：見出しの右に絶対配置（中央を基準に右へ寄せる） */
.video-archive .video-cat-select {
    position: absolute !important;
    top: 50% !important;
    right: 0% !important;
    transform: translateY(-50%) !important;
}

.video-archive .video-cat-select select {
appearance: none !important;
    -webkit-appearance: none !important;
    border: 1.5px solid #1B3A6B !important;
    border-radius: 8px !important;
    background-color: #fff !important;
    color: #1B3A6B !important;
    font-size: 15px !important;
    letter-spacing: 0.05em;
    font-weight: 600 !important;
    padding: 16px 42px 16px 16px !important;
    min-width: 230px !important;
    cursor: pointer !important;
    background-image: url(data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B3A6B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>) !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 18px !important;
}

/* SP：absoluteを解除し、見出しの下に中央配置で縦積み */
@media screen and (max-width: 805px) {
    .video-archive .video-cat-select {
        position: static !important;
        transform: none !important;
        margin: 20px auto 0 !important;
        text-align: center !important;
    }
    .video-archive .video-cat-select select {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 320px !important;
    }
}