/* カスタムヘッダースタイル */
/* Lightning ヘッダーのアニメーションを完全無効化 */
.site-header,
.l-header,
.vk-header-animation,
.vk-header-animation-ready,
.vk-header-animation-body {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
}





/* 上部お知らせバー */
.header-notice-bar {
    background-color: #f8f9fa;
    border-bottom: 1px solid #e9ecef;
    padding: 8px 0;
    font-size: 14px;
    text-align: center;
}

.header-notice-bar .notice-text {
    margin: 0;
    color: #6c757d;
}

/* ヘッダーメイン部分（G2用） */
.siteHeadContainer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 15px;
}

.navbar-header {
    flex: 0 0 auto;
}

/* G3用のヘッダーコンテナ */
#site-header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    min-height: 80px;
    max-width: 1200px;
    margin: 0 auto;
}

.site-header-logo {
    flex: 0 0 auto;
}

/* G3の既存グローバルナビを非表示 */
#global-nav {
    display: none !important;
}

/* G2の既存メニューも非表示 */
.gMenu_outer,
#gMenu_outer {
    display: none !important;
}

/* カスタムヘッダーメニュー行 */
.header-menu-row {
    background: #f8f9fa !important;
    border-top: 1px solid #e9ecef;
    padding: 0;
    margin: 0;
    clear: both;
}

.header-nav ul,
.header-nav-list,
ul.header-nav-list {
    display: flex !important;
    justify-content: center;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0;
    flex-direction: row !important;
}

.header-nav ul li,
.header-nav-list li,
ul.header-nav-list li {
    border-right: 1px solid #dee2e6;
    flex: 1;
    text-align: center;
    display: block !important;
    float: none !important;
}

.header-nav ul li:last-child,
.header-nav-list li:last-child,
ul.header-nav-list li:last-child {
    border-right: none;
}

.header-nav ul li a,
.header-nav-list li a,
ul.header-nav-list li a {
    display: block !important;
    padding: 15px 20px;
    text-decoration: none;
    color: #333 !important;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease;
    background: transparent;
    width: 100%;
    box-sizing: border-box;
}

.header-nav ul li a:hover,
.header-nav-list li a:hover,
ul.header-nav-list li a:hover {
    background: #0066cc !important;
    color: white !important;
    text-decoration: none;
}

/* 連絡先情報エリア */
.header-contact-info {
    display: flex !important;
    align-items: center;
    gap: 15px;
    margin-left: auto;
    margin-right: 0;
}

/* 連絡先情報の強制スタイル適用 */
.contact-phone {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    font-size: 14px;
}

.phone-label {
    color: #666 !important;
    font-size: 12px !important;
    margin-bottom: 2px !important;
}

.phone-number {
    color: #0066cc !important;
    font-weight: bold !important;
    font-size: 16px !important;
    text-decoration: none !important;
    margin-bottom: 2px !important;
}

.business-hours {
    color: #666 !important;
    font-size: 11px !important;
}

.contact-btn {
    /*     background-color: #0066cc !important; */
    /* color: white !important;
    padding: 12px 24px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    font-weight: bold !important;
    font-size: 14px !important;
    white-space: nowrap !important;
    transition: background-color 0.3s ease !important; */
    cursor: pointer;
}

.contact-btn:hover {
    /* background-color: #0052a3 !important; */
    color: white !important;
    text-decoration: none !important;
    cursor: pointer;
}

.phone-number {
    white-space: nowrap !important;
}


/* メニューエリアの調整 */
.gMenu_outer {
    order: 1;
    margin-left: auto;
    margin-right: 0;
}

/* レスポンシブ対応 */
@media (max-width: 991px) {
    .siteHeadContainer {
        flex-direction: column;
        gap: 15px;
    }

    .header-contact-info {
        width: 100%;
        justify-content: center;
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }

    .contact-phone {
        align-items: center;
    }
}

@media (max-width: 767px) {
    .header-notice-bar {
        padding: 5px 0;
        font-size: 12px;
    }

    .contact-phone {
        font-size: 12px;
    }

    .phone-number {
        font-size: 14px;
    }

    .contact-btn {
        padding: 8px 16px;
        font-size: 13px;
    }

    .business-hours {
        font-size: 10px;
    }
}

/* メニューが存在する場合の調整 */
@media (min-width: 992px) {
    .gMenu_outer {
        position: absolute;
        bottom: -10px;
        right: 15px;
    }

    .siteHeadContainer {
        position: relative;
        min-height: 80px;
    }
}