/* トップページ（index.html）と同じヘッダー。index のインラインCSSから抜き出したもの。
   下層ページで読み込み、lead-pages.css の白背景ヘッダーを上書きして、最上部では透過・スクロール後は白にする。 */
/* ヘッダーはヒーローと同じ中央揃えの幅に揃える */
        .header .container {
            max-width: 1280px !important;
            padding-left: 40px !important;
            padding-right: 40px !important;
        }

        @media (max-width: 1023px) {
            .header .container {
                padding-left: 24px !important;
                padding-right: 24px !important;
            }
        }

        /* ナビ項目が多いため、中間幅では間隔と文字サイズを詰めて1行に収める */
        @media (min-width: 769px) {
            .header .logo {
                flex-shrink: 0;
            }
        }

        @media (min-width: 1280px) and (max-width: 1439px) {
            .header .nav-list {
                gap: 20px !important;
            }

            .header .nav-link {
                white-space: nowrap;
            }
        }

        @media (min-width: 1024px) and (max-width: 1279px) {
            .header .nav-list {
                gap: 14px !important;
            }

            .header .nav-link {
                white-space: nowrap;
                font-size: 0.88rem;
            }
        }

        @media (min-width: 769px) and (max-width: 1023px) {
            .header .nav-list {
                gap: 12px !important;
            }

            .header .nav-link {
                font-size: 0.85rem;
            }
        }
/* ヘッダーの高級感 */
        .header {
            background: transparent !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
            border-bottom: none !important;
            transition: all 0.3s ease !important;
        }

        .header.header-scrolled {
            background: rgba(255, 255, 255, 0.98) !important;
            backdrop-filter: blur(20px) !important;
            -webkit-backdrop-filter: blur(20px) !important;
            border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 4px 12px rgba(0, 0, 0, 0.03) !important;
        }

        /* ナビゲーションリンク */
        .nav-link {
            font-weight: 500 !important;
            letter-spacing: 0.03em !important;
            color: #2d3748 !important;
            transition: color 0.2s ease !important;
        }

        .nav-link:hover {
            color: #1a365d !important;
        }
/* =========================================
           ナビ: AIチェック機能ページへの導線
           ========================================= */
        .nav-link-ai {
            position: relative;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            color: #1a365d !important;
            font-weight: 700 !important;
        }
        /* モバイルメニューでは他項目と同じく中央揃えにする */
        @media (max-width: 768px) {
            .nav-link-ai {
                display: flex;
                justify-content: center;
            }
        }

        /* =========================================
           ナビ: 関連製品（AdKuraシリーズ）
           ページ内リンクと区切り、ホバー／フォーカスでClip・Postを表示する。
           ラベルは #other-products へのリンクのままにして、タッチ・JS無効時もたどり着けるようにする。
           パネル内リンクには .nav-link を付けない（強制色・下線・main.js のバインドを避ける）。
           ========================================= */
        .header .nav-link {
            white-space: nowrap;
        }
        .nav-item--products {
            position: relative;
        }
        .nav-item--products::before {
            content: '';
            position: absolute;
            top: 50%;
            left: -15px;
            width: 1px;
            height: 16px;
            margin-top: -8px;
            background: #cbd5e0;
        }
        .nav-link-products {
            display: inline-flex;
            align-items: center;
            gap: 4px;
        }
        .nav-caret {
            flex: none;
            width: 10px;
            height: 10px;
            transition: transform .2s ease;
        }
        .nav-products-menu {
            position: absolute;
            top: calc(100% + 14px);
            right: -16px;
            z-index: 1003;
            width: 300px;
            padding: 6px;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            background: #ffffff;
            box-shadow: 0 16px 40px rgba(10, 22, 40, .12);
            text-align: left;
            opacity: 0;
            transform: translateY(-4px);
            pointer-events: none;
            transition: opacity .15s ease, transform .15s ease;
        }
        /* ラベルからパネルへマウスを動かす間に閉じないよう、隙間を埋める */
        .nav-products-menu::before {
            content: '';
            position: absolute;
            top: -14px;
            right: 0;
            left: 0;
            height: 14px;
        }
        .nav-products-heading {
            margin: 0;
            padding: 8px 14px 4px;
            color: #718096;
            font-size: .72rem;
            font-weight: 700;
            letter-spacing: .08em;
        }
        .nav-item--products:hover .nav-products-menu {
            opacity: 1;
            transform: none;
            pointer-events: auto;
        }
        .nav-item--products:hover .nav-caret {
            transform: rotate(180deg);
        }
        /* :has() 非対応ブラウザで :hover まで無効にならないよう、別ルールにする */
        .nav-item--products:has(:focus-visible) .nav-products-menu {
            opacity: 1;
            transform: none;
            pointer-events: auto;
        }
        .nav-item--products.is-dismissed .nav-products-menu {
            opacity: 0 !important;
            pointer-events: none !important;
        }
        .nav-product {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 6px;
            padding: 12px 14px;
            border-radius: 8px;
            color: inherit;
            text-decoration: none;
        }
        .nav-product:hover,
        .nav-product:focus-visible {
            background: #f7fafc;
        }
        .nav-product-logo {
            display: block;
            width: auto;
            max-width: none;
        }
        .nav-product-logo--clip {
            height: 22px;
        }
        .nav-product-logo--post {
            height: 20px;
        }
        .nav-product-desc {
            color: #4a5568;
            font-size: 12.5px;
            line-height: 1.6;
        }
        .nav-nb {
            display: inline-block;
        }
        @media (prefers-reduced-motion: reduce) {
            .nav-products-menu,
            .nav-caret {
                transition: none;
            }
        }
        /* タブレット幅でもヘッダーを1行に収める */
        @media (min-width: 769px) and (max-width: 1199px) {
            .header .nav-list {
                gap: 18px;
            }
            .header .nav-link {
                font-size: 14px;
            }
            .header .cta-nav {
                margin-left: 0;
            }
            .nav-item--products::before {
                left: -9px;
            }
        }
        @media (min-width: 769px) and (max-width: 899px) {
            .header .nav-item--contact {
                display: none;
            }
        }
        /* モバイル: ハンバーガーメニュー内で、トライアル申込の下にClip・Postを並べる */
        @media (max-width: 768px) {
            .nav.active {
                max-height: calc(100vh - 60px);
                max-height: calc(100dvh - 60px);
                overflow-y: auto;
                overscroll-behavior: contain;
            }
            .nav-item--products {
                order: 1;
                margin-top: 4px;
                padding-top: 12px;
                border-top: 1px solid #e2e8f0;
            }
            .nav-item--products::before,
            .nav-products-menu::before,
            .nav-link-products .nav-caret,
            .nav-products-heading {
                display: none;
            }
            .nav .nav-link-products {
                display: block;
                padding: 0 0 6px;
                color: #718096 !important;
                font-size: 12px;
                letter-spacing: .08em;
            }
            .nav .nav-link-products::after {
                display: none;
            }
            .nav-products-menu {
                position: static;
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 8px;
                width: auto;
                padding: 0 16px;
                border: 0;
                background: transparent;
                box-shadow: none;
                opacity: 1;
                transform: none;
                pointer-events: auto;
            }
            .nav-product {
                align-items: center;
                gap: 4px;
                padding: 10px 6px;
                border: 1px solid #e2e8f0;
                background: #ffffff;
                text-align: center;
            }
            .nav-product-logo--clip {
                height: 18px;
            }
            .nav-product-logo--post {
                height: 16px;
            }
            .nav-product-desc {
                font-size: 11px;
                line-height: 1.5;
            }
        }

/* lead-pages.css（.lead-page）のヘッダー指定を、トップと同じ見た目に戻す */
.lead-page .header:not(.header-scrolled) {
    background: transparent !important;
    border-bottom: none !important;
    box-shadow: none !important;
}
.lead-page .header-inner {
    min-height: 0;
}
.lead-page .nav-list {
    gap: 30px;
}
.lead-page .header .btn {
    min-height: 0;
}
@media (max-width: 768px) {
    .lead-page .header {
        padding: 15px 0;
    }
    .lead-page .nav {
        top: 100%;
    }
}
