/*
Theme Name: Arkhe Child
Template: arkhe
*/

/* ============================================================
   1. 共通・グローバル設定（不要要素の非表示・バグ抑止）
   ============================================================ */
html, body { overflow-x: hidden; }

.c-headLogo__link.-forSticky,
.c-headLogo__img.-sticky,
.p-entry__head,
.p-entry__foot,
.p-entry__related,
.p-entryMeta,
.p-entryFooter,
.p-relatedPosts,
.single-talent .p-entryThumb,
.single-talent .l-mainContent__header img,
.single-talent .c-postThumb {
    display: none !important;
}

/* ============================================================
   2. HOME 基本レイアウト（コンテナ制限解除 ＆ サイド干渉防止）
   ============================================================ */
.home #content,
.home #main,
.home .l-main,
.home .l-mainContent,
.home .p-entry,
.home .p-entryContent {
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
}

/* ★ 修正：PC時、最初からサイドメニュー(180px)分のスペースを空けて配置する */
@media (min-width: 1100px) {
    body.home .contents{
        width: calc(100% - 180px) !important;
        margin-left: 180px !important;
        box-sizing: border-box;
    }
}

/* ============================================================
   3. ヘッダー ＆ サイトメニュー
   PC：常時固定サイドメニュー
   ============================================================ */

/* ------------------------------------------------------------
   PC（1100px以上）
   ------------------------------------------------------------ */
@media (min-width: 1100px) {

    /* ヘッダーを常時左サイドに固定 */
    .l-header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 180px !important;
        height: 100vh !important;

        background: rgba(255, 255, 255, 0.75) !important;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);

        padding-top: 40px !important;
        z-index: 9999 !important;

        animation: slideInLeftMenu 0.6s cubic-bezier(0.23, 1, 0.32, 1) forwards !important;

        box-sizing: border-box !important;
    }

    /* 不要な装飾をリセット */
    .l-header,
    .l-header__body,
    .c-gnav,
    .c-gnav__li,
    .c-gnav__a,
    .c-gnav__li::after {
        border: none !important;
        box-shadow: none !important;
        background-image: none !important;
    }

    /* サイドメニュー内部を縦並び */
    .l-header__body,
    .l-header__left,
    .l-header__center,
    .l-header__right,
    .c-gnav {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;

        width: 100% !important;
        padding: 0 !important;

        text-align: center !important;
    }

    /* ロゴ */
    .l-header__logo {
        display: flex !important;
        justify-content: center !important;

        margin-bottom: 40px !important;
    }

    .c-headLogo__img {
        max-width: 110px !important;
        height: auto !important;
    }

    /* メニュー */
    .c-gnav {
        gap: 20px !important;
    }

    .c-gnav__li {
        width: 100% !important;
        margin: 0 0 10px 0 !important;
    }

    .c-gnav__a {
        font-family: Arial, sans-serif !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        letter-spacing: 0.1em !important;

        color: #000 !important;
        text-align: center !important;
    }
}


/* サイドメニュー表示アニメーション */
@keyframes slideInLeftMenu {
    0% {
        transform: translateX(-100%);
        opacity: 0;
    }

    100% {
        transform: translateX(0);
        opacity: 1;
    }
}


/* ------------------------------------------------------------
   スマホ・タブレット
   ------------------------------------------------------------ */
@media (max-width: 1099px) {

    .c-iconBtn,
    .c-iconBtn__icon,
    .c-iconBtn__icon .__menu,
    .c-iconBtn__icon .__close,
    .c-iconBtn__icon .__menu *,
    .c-iconBtn__icon .__close * {
        color: #d9d9d9 !important;
        fill: #d9d9d9 !important;
        stroke: #d9d9d9 !important;
    }

}

/* ============================================================
   4. HOME ヒーロースライダー ＆ イントロダクション
   ============================================================ */
.top-layout-wrapper { display: flex; flex-direction: column; width: 100%; margin-bottom: 80px; }
.top-intro-area { font-style: bold; margin-top: -30px !important; padding-bottom: 30px !important; text-align: center; box-sizing: border-box; }

/* 🔴 ここに position: relative !important があるため、これを基準にします */
.main-top-slider,
#topslide,
.simple-hero-slider {
    display: block !important;
    position: relative !important;
    flex-shrink: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    left: auto !important;
    right: auto !important;
    height: 100vh !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    background-color: #fff;
    overflow: hidden !important;
    line-height: 0 !important;
}

.main-top-slider .swiper-wrapper {
    height: 100% !important;
}

/* Swiperスライド */
.main-top-slider .swiper-slide {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
}

/* 元の.slide設定をpicture対応に変更 */
.main-top-slider .slide,
.main-top-slider .slide-bg,
.simple-hero-slider .slide-bg {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

/* picture */
.main-top-slider .slide picture {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

/* PC/SP共通画像 */
.main-top-slider .slide picture img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;

    /* 元の background-size: 100% auto と同じような表示 */
    object-fit: fill;
    object-position: center top;
}

/* PC表示 */
@media (min-width: 768px) {
    .main-top-slider .slide picture img {
        object-fit: cover;
        object-position: center top;
    }
}

/* スマホ表示 */
@media (max-width: 767px) {
    .main-top-slider .slide picture img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        object-position: center top;
    }
}



/* ------------------------------------------------------------
   追加：SCROLLインジケーター共通設定
   ------------------------------------------------------------ */
.scroll-indicator {
    position: absolute !important; /* !importantで既存のoverflow等に対抗 */
    bottom: 40px; /* PCでの下部からの位置 */
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999 !important; /* スライド画像（z-indexなし）より確実に手前に */
    display: flex;
    flex-direction: column;
    align-items: center;
    pointer-events: none;
}
.scroll-text {
    font-size: 11px;
    font-family: sans-serif;
    letter-spacing: 0.2em;
    color: #fff;
    margin-bottom: 8px;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5); /* 画像に紛れないよう影を強化 */
    line-height: 1.2; /* 親のline-height: 0を打ち消し */
}
.scroll-line {
    position: relative;
    width: 1px;
    height: 40px;
    background: rgba(255, 255, 255, 0.3); 
    overflow: hidden;
}
.scroll-line::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff; 
    animation: scrollDown 2.2s cubic-bezier(0.65, 0, 0.35, 1) infinite;
}
@keyframes scrollDown {
    0% { transform: scaleY(0); transform-origin: top; }
    40% { transform: scaleY(1); transform-origin: top; }
    41% { transform: scaleY(1); transform-origin: bottom; }
    80% { transform: scaleY(0); transform-origin: bottom; }
    100% { transform: scaleY(0); transform-origin: bottom; }
}

/* スライダーのスマホ移行は 959px まで我慢させる */
@media screen and (max-width: 959px) {
    .top-layout-wrapper { flex-direction: column-reverse !important; margin-bottom: 40px; }
    .main-top-slider, #topslide, .simple-hero-slider { height: 80vh !important; margin-top: 60px !important; }
    .main-top-slider .slide, .main-top-slider .slide-bg, .simple-hero-slider .slide-bg { background-size: auto 100% !important; background-position: center center !important; }
    .top-intro-area { padding: 15px 8% 0 8% !important; padding-bottom: 30px !important; }

    /* ------------------------------------------------------------
       追加：スマホ時のインジケーター位置強制調整
       ------------------------------------------------------------ */
    .scroll-indicator {
        bottom: 70px !important; 
    }
    .scroll-line {
        height: 30px; /* スマホ用に線を少し短く */
    }
}

/* ============================================================
   5. タレントカード（画面幅追従・オートグリッド版）
   ============================================================ */
/* ---------- 【A】TOPページ用（オートグリッド） ---------- */
ul#talent-module.talent-module {
    display: grid !important; 
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 40px 20px !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 40px auto !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
}

ul#talent-module.talent-module a { width: 100% !important; display: block !important; text-decoration: none !important; margin: 0 !important; padding: 0 !important; background: none !important; border: none !important; }
ul#talent-module.talent-module li { width: 100% !important; margin: 0 !important; padding: 0 !important; list-style: none !important; background: transparent !important; border: none !important; }
ul#talent-module.talent-module .photo { width: 100% !important; height: auto !important; aspect-ratio: 3 / 4 !important; overflow: hidden !important; margin-bottom: 10px !important; background: #f5f5f5 !important; }
ul#talent-module.talent-module .photo img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
ul#talent-module.talent-module .name { background: transparent !important; padding: 0 !important; margin: 0 !important; text-align: left !important; }
ul#talent-module.talent-module .name .main { color: #222 !important; font-size: 16px !important; font-weight: bold !important; margin: 0 0 4px 0 !important; }
ul#talent-module.talent-module .name .sub { color: #f5695f !important; font-size: 11px !important; margin: 0 !important; }

/* ★ スマホ・タブレット縦画面時（768px以下）：自動計算を止めて強制的に2カラム（2x2）にする */
@media screen and (max-width: 768px) {
    ul#talent-module.talent-module { 
        grid-template-columns: repeat(2, 1fr) !important; 
        gap: 30px 15px !important; 
    }
}

/* さらに小さいスマホ画面時（480px以下）：隙間だけ少し詰める */
@media screen and (max-width: 480px) {
    ul#talent-module.talent-module { 
        gap: 25px 10px !important; 
    }
}

/* ★ TOP用カード：表示枚数の制限（トップページ限定） ★ */
/* 基本（PCおよびスマホ）：最大4枚まで表示（5枚目以降は隠す） */
.home ul#talent-module.talent-module > *:nth-child(n+5) { display: none !important; }

/* タブレット（769px〜1099px）：最大3枚まで表示（4枚目以降は隠す） */
@media screen and (min-width: 769px) and (max-width: 1099px) {
    .home ul#talent-module.talent-module > *:nth-child(n+4) { display: none !important; }
}

/* ---------- 【B】タレント一覧ページ用（オートグリッド） ---------- */
.talent-list-container {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 60px 40px !important;
    max-width: 1100px !important;
    width: 90% !important;
    margin: 60px auto !important;
    padding: 0 !important;
}
.talent-list-note {
    max-width: 1100px;
    width: 90%;
    margin: -20px auto 40px;
    color: #777;
    text-align: right;
}
.talent-card { position: relative; overflow: hidden; background: #000; display: block; text-decoration: none; }
.talent-image-wrapper { width: 100%; overflow: hidden; line-height: 0; }
.talent-image-wrapper img { width: 100%; height: auto; display: block; transition: transform 0.6s ease, opacity 0.6s ease; }

@media (min-width: 1100px) {
    .talent-card .talent-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.4); opacity: 0; transition: opacity 0.4s ease; padding: 20px; text-align: center; }
    .talent-card:hover .talent-overlay { opacity: 1; }
    .talent-card .talent-overlay .ja-name { display: block !important; margin: 0 0 6px !important; color: #fff !important; font-size: 28px !important; font-weight: 600 !important; line-height: 1.4 !important; letter-spacing: 0.03em !important; text-align: center !important; }
    .talent-card .talent-overlay .en-name { display: block !important; margin: 0 !important; color: #fff !important; font-size: 14px !important; font-weight: 700 !important; line-height: 1.3 !important; letter-spacing: 0.08em !important; text-align: center !important; text-transform: uppercase !important; }
    .talent-card:hover img { transform: scale(1.05); opacity: 0.7; }
}
@media (max-width: 1099px) {
    .talent-list-container { grid-template-columns: repeat(2, 1fr) !important; gap: 20px 10px !important; width: 94% !important; margin: 30px auto !important; }
    .talent-card { background: #fff !important; border: 1px solid #eee !important; }
    .talent-card .talent-overlay { position: relative !important; inset: auto !important; display: block !important; background: #fff !important; opacity: 1 !important; padding: 10px 5px !important; text-align: center !important; }
    .talent-card .ja-name { display: block !important; margin: 0 0 4px !important; color: #333 !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.4 !important; letter-spacing: 0.02em !important; text-align: center !important; }
    .talent-card .en-name { display: block !important; margin: 0 !important; color: #f5695f !important; font-size: 10px !important; font-weight: 700 !important; line-height: 1.3 !important; letter-spacing: 0.08em !important; text-align: center !important; text-transform: uppercase !important; }
}

/* ============================================================
   6. トピックス：リスト形式
   ============================================================ */
.home-topic-list-wrapper { max-width: 900px; margin: 40px auto; padding: 0 20px; }
.topic-custom-item { border-bottom: 1px solid #eee; }
.topic-custom-item a { display: flex; align-items: center; padding: 20px 0; text-decoration: none; color: inherit; }
.topic-thumb, .topic-thumb-container { flex: 0 0 100px; width: 100px; height: 100px; margin-right: 20px; background: #f5f5f5; overflow: hidden; position: relative; }
.topic-thumb img, .topic-thumb-container img { width: 100%; height: 100%; object-fit: cover; }
.topic-no-image { width: 100%; height: 100%; display: flex !important; align-items: center !important; justify-content: center !important; }
.topic-no-image span { font-size: 10px; color: #ccc; font-weight: bold; }
.topic-meta { font-size: 11px; font-weight: bold; margin-bottom: 4px; }
.topic-meta .date { color: #f5695f; margin-right: 15px; }
.topic-meta .place { color: #999; }
.topic-title { font-size: 15px; font-weight: 600; margin: 0 0 4px 0; line-height: 1.4; }
.topic-cast { font-size: 12px; color: #666; margin: 0; }

@media (min-width: 1100px) { .topic-custom-item:hover { background-color: #fafafa !important; } }
@media (max-width: 768px) {
    .topic-custom-item a { align-items: flex-start; }
    .topic-thumb, .topic-thumb-container { flex: 0 0 72px; width: 72px; height: 72px; margin-right: 12px; }
    .topic-title { font-size: 13px; }
    .topic-cast { font-size: 11px; }
}

/* ============================================================
   トピックス一覧ページ用
   タレント一覧ページとPCレイアウトを統一
   ============================================================ */
.home-topic-large-list-wrapper {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 60px 40px !important;
    max-width: 1100px !important;
    width: 90% !important;
    margin: 60px auto !important;
    padding: 0 !important;
}

/* ============================================================
   カード
   ============================================================ */
.topic-large-item {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.topic-large-item > a {
    display: block;
    width: 100%;
    color: inherit;
    text-decoration: none;
}

/* ============================================================
   アイキャッチ
   PC：3:4
   ============================================================ */
.topic-large-thumb-container {
    width: 100%;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    line-height: 0;
    background: #f5f5f5;
}
.topic-large-thumb-container img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease, opacity 0.6s ease;
}

/* ============================================================
   PCホバー
   ============================================================ */
@media (min-width: 1100px) {
    .topic-large-item:hover .topic-large-thumb-container img {
        transform: scale(1.05);
        opacity: 0.7;
    }
}

/* ============================================================
   NO IMAGE
   ============================================================ */
.topic-large-no-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: #f5f5f5;
    color: #999;
    font-size: 0.75rem;
    letter-spacing: 0.1em;
}

/* ============================================================
   テキスト部分
   ============================================================ */
.topic-large-body {
    padding: 15px 0 0;
}
.topic-large-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 10px;
    margin: 0 0 8px;
    font-size: 0.8rem;
    line-height: 1.5;
}
.topic-large-meta .date {
    font-weight: 600;
	color: #f5695f;
}
.topic-large-meta .place {
    color: #f5695f;
}
.topic-large-title {
    margin: 0;
    color: inherit;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
}
.topic-large-cast {
    margin: 8px 0 0;
    color: #777;
    font-size: 0.85rem;
    line-height: 1.5;
}

/* ============================================================
   1099px以下：横長カード
   ============================================================ */
@media (max-width: 1099px) {
    .home-topic-large-list-wrapper {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        width: 94% !important;
        margin: 30px auto !important;
    }
    .topic-large-item {
        background: #fff !important;
        border: 1px solid #eee !important;
    }
    .topic-large-item > a {
        display: flex !important;
        align-items: stretch;
    }
    .topic-large-thumb-container {
        flex: 0 0 35%;
        width: 35%;
        aspect-ratio: auto;
        min-height: 180px;
    }
    .topic-large-body {
        flex: 1;
        min-width: 0;
        padding: 15px !important;
    }
    .topic-large-meta {
        margin-bottom: 8px;
    }
}

/* ============================================================
   モバイル
   ============================================================ */
@media (max-width: 767px) {
    .home-topic-large-list-wrapper {
        gap: 15px !important;
    }
    .topic-large-thumb-container {
        flex-basis: 38%;
        width: 38%;
        min-height: 160px;
    }
    .topic-large-body {
        padding: 12px !important;
    }
    .topic-large-title {
        font-size: 1rem;
    }
}

/* ============================================================
   小型スマホ
   ============================================================ */
@media (max-width: 480px) {
    .topic-large-thumb-container {
        flex-basis: 40%;
        width: 40%;
        min-height: 140px;
    }
    .topic-large-meta {
        font-size: 0.75rem;
    }
    .topic-large-title {
        font-size: 0.95rem;
    }
    .topic-large-cast {
        margin-top: 6px;
        font-size: 0.8rem;
    }
}
/* ============================================================
   7. 各種UIパーツ（フェードイン・ボタン・スクロール線・タイトル）
   ============================================================ */
.fade-in-up { opacity: 0; transform: translateY(20px); transition: opacity 1s ease, transform 1s ease; will-change: opacity, transform; }
.fade-in-up.is-visible { opacity: 1; transform: translateY(0); }

.c-sec-title { text-align: center; margin-bottom: 30px; }
.btn-container { text-align: center; margin: 40px 0 80px 0; }
.custom-more-btn { display: inline-block; padding: 15px 50px; background-color: #111; color: #fff !important; text-decoration: none !important; border-radius: 999px !important; font-size: 14px; letter-spacing: 0.1em; font-weight: bold; border: 1px solid #111; transition: all 0.3s ease; }
.custom-more-btn:hover { background-color: #fff; color: #111 !important; }

.c-pageTitle__main { position: relative; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); }

/* フローティングコンタクトボタン */
.p-line-float-wrap { display: none !important; }
@media (max-width: 768px) {
    .p-line-float-wrap { display: flex !important; position: fixed; bottom: 20px; left: 0; right: 0; margin: 0 auto; width: 92%; max-width: 400px; height: 60px; background-color: #f5695f; border-radius: 999px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15); z-index: 10001; overflow: hidden; }
    .p-floating-contact__btn { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-decoration: none !important; color: #fff !important; transition: background-color 0.3s ease; line-height: 1.3; }
    .p-floating-contact__btn:active, .p-floating-contact__btn:hover { background-color: rgba(0, 0, 0, 0.1); }
    .p-floating-contact__main { color: #fcee21; font-size: 15px; font-weight: 700; letter-spacing: 0.05em; }
    .p-floating-contact__sub { font-size: 10px; font-weight: 400; opacity: 0.9; margin-top: 2px; }
    .p-floating-contact__divider { width: 2px; height: 70%; background-color: rgba(255, 255, 255, 0.4); align-self: center; }
}

/* ============================================================
   8. タレント個別ページ ＆ 下層ページ：レイアウト復旧
   ============================================================ */
/* 下層ページもサイドメニュー(180px)分の余白を確保して下敷きを防止 */
@media (min-width: 1100px) {
    body:not(.home) #content { 
        width: calc(100% - 180px) !important;
        margin-left: 180px !important;
    }
}
@media (max-width: 1099px) {
    body:not(.home) #content { 
        width: 100% !important;
        margin-left: 0 !important;
    }
}

.talent-single-container { display: flex !important; flex-wrap: wrap; gap: 50px; max-width: 900px; margin: 40px auto; align-items: flex-start; }
.talent-single-image { flex: 0 0 350px !important; width: 350px !important; }
.p-info-list li { display: flex !important; border-bottom: 1px solid #eee !important; padding: 15px 0 !important; gap: 30px; }
.p-info-list .label { width: 130px !important; flex-shrink: 0; font-weight: bold !important; font-size: 0.75rem !important; color: #999 !important; text-align: left !important; }
@media (max-width: 768px) {
    .talent-single-container { display: block !important; margin: 20px auto; }
    .talent-single-image { width: 100% !important; max-width: 100% !important; flex: none !important; }
    .p-info-list li { gap: 15px; }
    .p-info-list .label { width: 90px !important; }
}

.talent-single-meta{
	margin-top: 20px;
}

/* ============================================================
   9. 再現カスタムフッター（非表示化＆再構築）
   ============================================================ */
#footer, .l-footer { display: none !important; height: 0 !important; padding: 0 !important; margin: 0 !important; }

footer.custom-site-footer { background-color: #fdeeef !important; color: #555 !important; padding: 30px 20px 10px 20px !important; width: 100vw !important; position: relative !important; left: 50% !important; right: 50% !important; margin-left: -50vw !important; margin-right: -50vw !important; z-index: 9999 !important;}
footer.custom-site-footer .footer__menu { max-width: 1200px; margin: 0 auto 40px auto; display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 30px; }
footer.custom-site-footer .footer__name .logo { max-width: 180px; height: auto; }
footer.custom-site-footer .footer__nav ul { display: flex; flex-wrap: wrap; gap: 15px 25px; list-style: none !important; padding: 0 !important; margin: 0 !important; }
footer.custom-site-footer .footer__nav a { color: #555 !important; text-decoration: none !important; font-size: 14px; transition: color 0.3s; }
footer.custom-site-footer .footer__nav a:hover { color: #000 !important; }
footer.custom-site-footer .footer__description { max-width: 1200px; margin: 0 auto; border-top: 1px solid #333; padding-top: 30px; font-size: 11px; color: #666; line-height: 1.6; text-align: center; }
footer.custom-site-footer .footer__description p { margin-bottom: 10px !important; }

@media screen and (max-width: 768px) {
    footer.custom-site-footer {
        padding-bottom: calc(80px + env(safe-area-inset-bottom)) !important;
    }

    footer.custom-site-footer .footer__menu {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    footer.custom-site-footer .footer__nav ul {
        justify-content: center;
    }
}

/* ============================================================
   ★追加：TOPバナーエリアの装飾
   ============================================================ 
.top-banner-area {
    padding-top: 0px !important;    / 上の余白を20pxにスッキリ縮小 /
    padding-bottom: 20px !important; / 下の余白に20pxを追加してTALENTから離す /
}
.top-banner-area .wp-block-image {
    margin: 0 auto !important;
    max-width: 1100px; /* 下のタレントカード一覧(1100px)と横幅を綺麗に揃える /
    text-align: center;
}
.top-banner-area .wp-block-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px; /* お好みでほんの少し角丸に /
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); /* 軽い影で浮き出させる /
}*/

.p-fixBtnWrap{
	z-index: 10000;
}

/* ==========================================================
   年齢認証
   ========================================================== */
.age-gate {
    position: fixed;
    inset: 0;
    z-index: 999999;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff;

    opacity: 1;
    visibility: visible;

    transition:
        opacity 1.2s ease,
        visibility 0s linear 1.2s;
}

.age-gate.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.age-gate.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.age-gate__inner {
    width: 100%;
    text-align: center;
}

.age-gate__logo {
    margin-bottom: 40px;
}

.age-gate__logo img {
    display: block;
    width: min(70vw, 300px);
    height: auto;
    margin: 0 auto;
}

.age-gate__buttons {
    display: flex;
    justify-content: center;
    gap: 12px;
}

.age-gate__buttons button {
    min-width: 140px;
    padding: 12px 24px;

    border: 1px solid #000;
    background: #fff;
    color: #000;

    font-size: 14px;
    cursor: pointer;
}

.age-gate__buttons button:hover {
    background: #000;
    color: #fff;
}

/* ==========================================================
   タレントプロフィール画像スライダー
   ========================================================== */

.talent-profile-swiper {
    width: 100%;
    overflow: hidden;
}

.talent-profile-swiper .swiper-slide {
    width: 100%;
    aspect-ratio: 2 / 3;
    overflow: hidden;
}

.talent-profile-swiper .swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}