/* ============================================
   WP化対応スタイル（Breadcrumb NavXT）
   ============================================ */

/* NavXTは<ol>なしで<li>を直接出力するため、
   <nav class="breadcrumb">をflex容器として指定 */
.breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

/* NavXTが現在地spanに付与するクラスにスタイルを当てる */
.breadcrumb .current-item {
    font-size: 13px;
    color: #000;
}

@media screen and (max-width: 767px) {
    .breadcrumb {
        flex-wrap: nowrap;
        overflow: hidden;
        gap: 2.6666666667vw;
    }

    .breadcrumb .current-item {
        font-size: 3.2vw;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

/* ============================================
   活動報告：ページネーション（paginate_links出力対応）
   ============================================ */

/* ul.page-numbers を横並びに */
.report-list__pagination ul.page-numbers,
.news-list__pagination ul.page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.report-list__pagination ul.page-numbers li,
.news-list__pagination ul.page-numbers li {
    margin: 0;
    padding: 0;
}

/* 数字ページ（a / span 共通 ※ul自体は除外） */
.report-list__pagination .page-numbers:not(ul),
.news-list__pagination .page-numbers:not(ul) {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    font-size: 14px;
    text-decoration: none;
    border: 1px solid #0b3f8b;
    color: #0b3f8b;
    transition: background-color .2s ease, color .2s ease;
}

/* 現在ページ */
.report-list__pagination .page-numbers.current,
.news-list__pagination .page-numbers.current {
    background-color: #0b3f8b;
    color: #fff;
}

/* ホバー */
.report-list__pagination a.page-numbers:hover,
.news-list__pagination a.page-numbers:hover {
    background-color: #0b3f8b;
    color: #fff;
}

/* 前へ・次へ：<a>を透明にして中の<span>のスタイルを使う */
.report-list__pagination a.prev.page-numbers,
.report-list__pagination a.next.page-numbers,
.news-list__pagination a.prev.page-numbers,
.news-list__pagination a.next.page-numbers {
    display: contents;
}

@media screen and (max-width: 767px) {
    .report-list__pagination ul.page-numbers,
    .news-list__pagination ul.page-numbers {
        gap: 1.3333333333vw;
    }

    .report-list__pagination .page-numbers:not(ul),
    .news-list__pagination .page-numbers:not(ul) {
        width: 9.0666666667vw;
        height: 9.0666666667vw;
        font-size: 2.9333333333vw;
    }
}

/* ============================================
   活動報告：前の記事・次の記事 非アクティブ状態
   ============================================ */
.article__nav-btn.is-disabled {
    opacity: 0.35;
    cursor: default;
    pointer-events: none;
}

.article__nav-btn.is-disabled::after {
    display: none;
}

/* ============================================
   アクティビティリンクボタン：準備中オーバーレイ
   ============================================ */
.activities__link-btn--coming-soon {
    pointer-events: none;
    cursor: default;
}

.activities__link-btn-overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(80, 80, 80, 0.75);
    display: flex;
    align-items: center;
    justify-content: center;
}

.activities__link-btn-badge {
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.15em;
}

@media screen and (max-width: 767px) {
    .activities__link-btn-badge {
        font-size: 16px;
    }

}

/* ============================================
   フッターSNS：準備中オーバーレイ（全体）
   ============================================ */
.footer__sns--coming-soon {
    position: relative;
    pointer-events: none;
}

.footer__sns-overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(80, 80, 80, 0.75);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: inherit;
}

.footer__sns-badge {
    color: #fff;
    font-size: 36px;
    font-weight: bold;
    letter-spacing: 0.15em;
}

@media screen and (max-width: 767px) {
    .footer__sns-badge {
        font-size: 24px;
    }
}

/* ============================================
   フッターSNS：個別リンク 準備中スタイル
   ============================================ */
.footer__sns-link--coming-soon {
    pointer-events: none;
    cursor: default;
    filter: grayscale(1);
    opacity: 0.35;
}

/* ============================================
   アンカーリンク scroll-margin リセット
   （CSSリセットの :target{scroll-margin-block:5ex} を打ち消す）
   ============================================ */
#policy {
    scroll-margin-top: 0;
}

/* ============================================
   ヘッダーロゴリンク
   ============================================ */
a.header__logo-wrap {
    text-decoration: none;
    transition: opacity 0.2s ease;
}

a.header__logo-wrap:hover {
    opacity: 0.7;
}

/* ============================================
   ナビゲーション：準備中オーバーレイ
   ============================================ */
.nav-coming-soon-overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(80, 80, 80, 0.70);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.nav-coming-soon-badge {
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.05em;
    white-space: nowrap;
}

.header__nav-link--coming-soon {
    position: relative;
    pointer-events: none;
    cursor: default;
}
.header__nav-link--coming-soon::after {
    display: none !important;
}

.drawer__nav-link--coming-soon {
    position: relative;
    pointer-events: none;
    cursor: default;
}

.footer__nav-link--coming-soon {
    position: relative;
    pointer-events: none;
    cursor: default;
    padding: 8px 20px;
}
.footer__nav-link--coming-soon::after {
    display: none !important;
}

/* ============================================
   活動報告：TOP件数が1件のみのとき（PC）
   ============================================ */
@media screen and (min-width: 768px) {
    .report__list .report__item:only-child {
        width: 550px;
        flex: 0 0 550px;
    }

    .report__list:has(.report__item:only-child) {
        justify-content: center;
    }
}
