/* グローバルナビ再編 (2026-09〜10) を WordPress 本体から写したもの。
 * 元: tsplus-wp wp-content/themes/travel_v2/assets/css/global-nav.css + side-nav.css (prod-web-live e38942748)
 * 画像パスだけ spot の配置 (assets/images/ 直下) に読み替えている。
 * 新しいファイル名にしているのは、既存 CSS の ?v= が固定で、書き換えても訪問済みのブラウザに最大1日届かないため */

/*
 * グローバルナビ再編 (ナビ再編 実装仕様 版1.2 §2〜§4、2026-09 確定)
 *
 * style.css の後に読み込み、ナビの部分だけを上書きする。
 * style.css は stg (整形済み) と本番 (圧縮済み) で書式が違い、中身の差も判別しきれないため、
 * 本体には手を入れずにこのファイルへ切り出した。stg と本番で同じファイルを出せる。
 *
 * 色とアイコンは li の .nav_{key} で当てる (inc/active-menu-header.php)。
 * style.css 側は :nth-child で当てているが、SP を2段に分けると番号が段の中で振り直されるため、
 * ここでは項目のクラスで当て直している。セレクタは style.css より詳細度を高くしてある。
 */

/* ---------- 項目ごとの色とアイコン ----------
 * 既存6項目: SP の段の中だけ当て直す (PC は1段のままなので style.css の :nth-child が正しい)
 * プレゼント: PC・SP の両方に当てる */

header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_tsalad a::before { background-image: url("../images/icon_tv_off.svg"); }
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_tsalad a:hover::before,
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_tsalad a.active::before { background-image: url("../images/icon_tv_on.svg"); }
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_tsalad a:hover,
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_tsalad a.active { background-color: #FD9649; }

header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_tsplus a::before { background-image: url("../images/icon_suitcase.svg"); }
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_tsplus a:hover::before,
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_tsplus a.active::before { background-image: url("../images/icon_suitcase_w.svg"); }
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_tsplus a:hover,
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_tsplus a.active { background-color: #159EB7; }

header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_overseas a::before { background-image: url("../images/icon_air_off.svg"); }
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_overseas a:hover::before,
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_overseas a.active::before { background-image: url("../images/icon_air_on.svg"); }
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_overseas a:hover,
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_overseas a.active { background-color: #476BBC; }

header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_marche a::before { background-image: url("../images/icon_marche.svg"); }
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_marche a:hover::before,
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_marche a.active::before { background-image: url("../images/icon_marche_off.svg"); }
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_marche a:hover,
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_marche a.active { background-color: #326745; }

header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_store a::before { background-image: url("../images/icon_cart_orange.svg"); }
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_store a:hover::before,
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_store a.active::before { background-image: url("../images/icon_cart_white.svg"); }
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_store a:hover,
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_store a.active { background-color: #F28103; color: #fff; }

header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_stay a::before { background-image: url("../images/hedder_icon_stay.svg"); background-size: contain; }
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_stay a:hover::before,
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_stay a.active::before { background-image: url("../images/hedder_icon_stay_white.svg"); }
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_stay a:hover,
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_stay a.active { background-color: #C3A861; color: #fff; }

/* §4 プレゼント (新規) */
nav#globalnav > .inner.pc ul.container_navi_main_items > .container_navi_main_item.bgr_hover.nav_present a::before,
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_present a::before {
    background-image: url("../images/icon_present.svg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
}
nav#globalnav > .inner.pc ul.container_navi_main_items > .container_navi_main_item.bgr_hover.nav_present a:hover::before,
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_present a:hover::before,
nav#globalnav > .inner.pc ul.container_navi_main_items > .container_navi_main_item.bgr_hover.nav_present a.active::before,
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_present a.active::before { background-image: url("../images/icon_present_white.svg"); }
nav#globalnav > .inner.pc ul.container_navi_main_items > .container_navi_main_item.bgr_hover.nav_present a:hover,
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_present a:hover,
nav#globalnav > .inner.pc ul.container_navi_main_items > .container_navi_main_item.bgr_hover.nav_present a.active,
header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover.nav_present a.active { background-color: #C4506E; color: #fff; }

/* ---------- §2 PC ---------- */

/* §2-3 アイコンを 24px → 19px。仕様では減った 5px を padding 17.5px で吸収して項目幅を据え置くが、
 * プレゼント追加で窮屈になるため左右 2px ずつ詰めて 15.5px にした (2026-09-29 ユーザー判断、クライアント確認前) */
nav#globalnav > .inner.pc ul.container_navi_main_items > .container_navi_main_item.bgr_hover a {
    padding-left: 15.5px;
    padding-right: 15.5px;
}
nav#globalnav > .inner.pc ul.container_navi_main_items > .container_navi_main_item.bgr_hover a::before {
    width: 19px;
    height: 19px;
}
/* プレゼントは7番目。style.css の :nth-child(6) (宿泊) と同じく左に区切り線 */
nav#globalnav > .inner.pc ul.container_navi_main_items > .container_navi_main_item.bgr_hover.nav_present {
    border-left: 1px solid #C6C6C6;
}

/* ---------- §3 SP ---------- */

.container_navi_main_rows {
    display: none;
}
@media (max-width: 960px) {
    .container_navi_main_rows {
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    .container_navi_main_rows > .container_navi_main_items + .container_navi_main_items {
        border-top: 1px solid #C6C6C6;
    }

    /* 区切り線は段ごとに「2項目目以降の左」に引き直す (style.css の :nth-child 指定を打ち消す) */
    header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover {
        border-left: 0;
        border-right: 0;
    }
    header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover + .container_navi_main_item.bgr_hover {
        border-left: 1px solid #C6C6C6;
    }

    /* §3-3 アイコンとラベルを横並びに。PC 用の height: 70px が SP にも効いているので auto で打ち消す */
    header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover a {
        height: auto;
        min-height: 34px;
        padding: 0 4px;
        flex-direction: row;
        justify-content: center;
        font-size: 3.2558139535vw;
        line-height: 4.8837209302vw;
        white-space: nowrap;
    }
    header#header > .inner .container_navi_main_rows .container_navi_main_items.sp .container_navi_main_item.bgr_hover a::before {
        width: 17px;
        height: 17px;
        margin: 0 5px 0 0;
        background-repeat: no-repeat;
        background-position: center center;
    }
}

/*
 * 左カラムのナビ (ナビ再編 実装仕様 版1.2 §6)。マークアップは inc/side-nav.php。
 * 寸法は確定版モックの値 (第1階層 14px/700、配下 12px/500、配下は左に 1px の線)。
 * 見出し (カテゴリー / エリア) と外枠の破線は style.css の既存スタイルをそのまま使う。
 * style.css に手を入れず別ファイルにしているのは global-nav.css と同じ理由 (stg/本番で書式が違う)。
 */

[hidden] {
    display: none !important;
}

.side_nav .side_nav_items {
    margin-top: 20px;
    /* 既存の左カラム (style.css) は text-align: center を継承させているので左寄せに戻す */
    text-align: left;
}
.side_nav .side_nav_item > a,
.side_nav .side_nav_toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    padding: 10px 0;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.5;
    color: #212121;
    text-align: left;
}
.side_nav .side_nav_toggle {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: none;
    font-family: inherit;
    cursor: pointer;
}
.side_nav .side_nav_toggle:focus-visible,
.side_nav .side_nav_all:focus-visible {
    outline: 2px solid #159EB7;
    outline-offset: 2px;
}
.side_nav .side_nav_chev {
    flex: none;
    width: 7px;
    height: 7px;
    margin-right: 3px;
    border-right: 1px solid #212121;
    border-bottom: 1px solid #212121;
    transform: rotate(45deg);
    transition: transform .2s;
}
.side_nav .side_nav_toggle[aria-expanded="true"] .side_nav_chev {
    transform: rotate(-135deg);
    margin-top: 3px;
}

/* 配下 */
.side_nav .side_nav_sub {
    margin: 6px 0 8px;
    padding-left: 11px;
    border-left: 1px solid #E2E2E2;
}
.side_nav .side_nav_sub li a {
    display: block;
    padding: 6px 0;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .04em;
    line-height: 1.5;
    color: #212121;
}

/* エリアの配下は2列 (海外は国名が長いので1列) */
.side_nav_area .side_nav_kids {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 8px 3px;
    padding: 2px 0 4px 9px;
}
.side_nav_area .side_nav_kids li {
    width: 50%;
}
.side_nav_area .side_nav_kids.wide li {
    width: 100%;
}
.side_nav_area .side_nav_kids li a {
    padding: 5px 0;
    letter-spacing: .02em;
}

.side_nav .side_nav_sub a:hover,
.side_nav .side_nav_item > a:hover {
    opacity: .6;
}

/* すべて展開 / 折りたたむ */
.side_nav_area .side_nav_tools {
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;
}
.side_nav_area .side_nav_all {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: none;
    padding: 0;
    font-family: inherit;
    font-size: 11px;
    color: #707070;
    text-decoration: underline;
    cursor: pointer;
}
.side_nav_area .side_nav_tools + .side_nav_items {
    margin-top: 4px;
}

/* ---------- SP ハンバーガー (header.php の nav#globalnav .inner.util_sp) ----------
 * 左カラムと同じ部品を読み込むが、ハンバーガー側の既存指定
 * (nav#globalnav > .inner .container_navi_main a / span など、id から当てていて強い) が
 * 余白と文字サイズを上書きするので、同じ起点から当て直す。
 * タップしやすいよう、行の上下余白は左カラムより広げている。 */
nav#globalnav > .inner .side_nav_sp .container_side_inner {
    padding: 0 6.928vw 4vw;
}
nav#globalnav > .inner .side_nav_sp .side_nav_items {
    margin-top: 2vw;
}
nav#globalnav > .inner .side_nav_sp span {
    display: inline;
    margin-left: 0;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
}
nav#globalnav > .inner .side_nav_sp .side_nav_item > a,
nav#globalnav > .inner .side_nav_sp .side_nav_toggle {
    display: flex;
    padding: 12px 0;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .06em;
    color: #212121;
}
nav#globalnav > .inner .side_nav_sp .side_nav_sub li a {
    display: block;
    padding: 9px 0;
    font-size: 13px;
    font-weight: 500;
    color: #212121;
}
nav#globalnav > .inner .side_nav_sp .side_nav_tools {
    margin-top: 3vw;
}

/* ---------- 番組サイトの左メニュー (program/side_bar.php ほか、.side_bar の中) ----------
 * 番組サイトの CSS が .side_bar li:not(:last-child) { margin-bottom: 45px } でブロックの間隔を取っていて、
 * 部品の中の li にもかかってしまうので、部品の中だけ打ち消す (外側の li.category / li.area の間隔は残す) */
.side_bar .side_nav_program li:not(:last-child) {
    margin-bottom: 0;
}

/* ---------- spot 独自: SP で2段になった固定ヘッダーの下に本文を出す (2026-10-01) ----------
 * style_11_11_2025.css の上余白は、ナビ1段だった頃のヘッダーの高さ 29.0697vw を基準にしている。
 * ナビが2段 (1段 min-height 34px) になって幅 430px 以下でバナーや見出しに被ったので、
 * それぞれ「元の値 - 29.0697vw + 新しいヘッダーの高さ」に置き換え、元の位置関係を保つ。
 * 新しいヘッダーの高さ = ロゴの段 14.3256vw + ナビ2段 max(34px, 4.8837vw) x2 + 区切り線 1px
 * (本体 tsplus-wp の main#main と同じ式) */
@media (max-width: 960px) {
    /* トップ・カテゴリ一覧 (元 29.0697vw = ヘッダーの高さちょうど) */
    #banner {
        padding-top: calc(14.3255813953vw + 2 * max(34px, 4.8837209302vw) + 1px);
    }
    /* 市町村ランキング (元 35.3488vw = ヘッダー + 6.2791vw) */
    .municipality_ranking #banner {
        padding-top: calc(14.3255813953vw + 2 * max(34px, 4.8837209302vw) + 1px + 6.2790697674vw);
    }
    /* スポット個別 (元 17.2093vw = ヘッダー - 11.8605vw。パンくずがヘッダーの下に入るのも元のまま)
     * 旧ヘッダーの実寸は 29.07vw より約3px低く、見出しとの間が 10〜12px あったので 3px 足して揃える */
    .detail_shirakami #main {
        padding-top: calc(14.3255813953vw + 2 * max(34px, 4.8837209302vw) + 1px - 11.8604651163vw + 3px);
    }
}
