        /* リセットCSS */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        .l-header *{
            font-family: -apple-system,BlinkMacSystemFont,Helvetica Neue,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,Arial,メイリオ,Meiryo,sans-serif;
        }

        body {
            color: #333;
            font-size: 15px;
            line-height: 1.85714285714286;
            padding-top: 147px; /* ヘッダーの高さ分のパディング */
        }

        a {
            text-decoration: none;
            color: inherit;
            transition: all .2s linear;
        }

        ul {
            list-style: none;
        }

        .custom-logo-link {
            width: 258px;
            display: block;
        }
        .custom-logo-link:hover {
            opacity: 1;
        }

        .custom-logo-link img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

                .contact-card 
        {
               top: 140px!important;
        }


        /* コンテナ */
        .es-container {
            margin: 0 auto;
            padding: 0 37px 0 37px;
        }

        .site-header.is-scrolled .es-container {
            padding: 0 41px 0 37px;
        }

        .site-header.is-scrolled .favorite-count {
            width: 15px;
            height: 15px;
            right: -10px;
            top: 6px;
            font-size: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        /* お気に入りバッジスタイル */
        .favorite-count.has-count,
        .history-count.has-count,
        .his_count.has-count {
            background-color: #e40202;
            color: white;
        }

        .site-header.is-scrolled .es-container .main-header-container {
            padding: 0;
        }

        .site-header.is-scrolled .header_links span[class^="icon-"] {
            font-size: 16px;
        }

        .site-header.is-scrolled .header_links .icon-history {
            font-size: 18px!important;
            padding-right: 5px;
        }

        .site-header.is-scrolled .header_links__list--favorite a {
           display: flex;
           align-items: center;
           gap: 10px;
        }

         .site-header.is-scrolled .icon-heart:before {
           font-size: 16px;
        }

        /* ヘッダー全体 */
        .site-header {
            background-color: #ffffff;
            z-index: 102;
            position: relative;
            transition: top 0.5s;
        }

        /* メインヘッダーバー */

        .hd-pattern4 {
        border-top:none;
        }

        .main-header-bar {
            background-color: inherit;
            border: none;
        }

        .main-header-container {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 16px 0;
            min-width: 1140px;
        }

        /* ロゴエリア */
        .site-branding {
            max-width: 50%;
            padding-bottom: 0;
        }

        .site-logo-img {
            margin: 0;
            font-size: 0;
        }

        .custom-logo {
            max-height: 100px;
            max-width: 400px;
            height: auto;
            width: 258px;
        }

        /* 中央の空きエリア */
        .header-other-content {
            flex-grow: 2;
            margin: 0 15px;
            display: none;
        }

         .header-other-content {
            flex-grow: 2;
            margin: 0 15px;
            display: none;
        }

        .header-other--list {
            display: flex;
            margin: 0px 0 0 20px;
            gap: 17px;
        }

        .site-header.is-scrolled .header_free_content {
            display: none;
        }

        /* サブメニュー（初期状態） */
        .header-other--item--pull-down {
            display: none;
            position: absolute;
            top: 100%;
            left: -10px;
            background-color: #fff;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            z-index: 1000;
            transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
            padding: 10px 0;
            min-width: 240px;
        }

        .header-other--item--pull-down li {
            font-size: 14px;
            font-weight: 500;
            }

            .header-other--item--pull-down li:hover {
                background: #f0f0f0;
                padding-left: 20px;
            }

            .header-other--item--pull-down a {
                border-bottom:none!important;
            }

        /* 親メニュー相対配置 */
        .header-other--item {
            position: relative;
        }

        .header-other--item--more .header-other--item--pull-down {
            left: -132px;
        }

            .header-other--item a{
            border-bottom: 1px solid #ffffff;
        }

        .header-other--item a:hover{
            border-bottom: 1px solid #333;
        }



         .header-other--item a {
            font-weight: 500;
            width: 100%;
            display: block;
        }

        .header-other--item a:hover
        {
            opacity: 1;
        }

        .header-other--item--pull-down li  {
             padding: 12px 0;
        }

      
        .header-other--item:hover > .header-other--item--pull-down {
            display: block;
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

        /* ネストしたプルダウンメニュー（子メニュー）のスタイル */
        .header-other--item--pull-down ul {
            display: block;
            opacity: 0;
            visibility: hidden;
            position: absolute;
            top: 0;
            right: 100%;
            background-color: #fff;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            z-index: 1001;
            min-width: 240px;
            transform: translateX(10px);
        }

        .header-other--item--pull-down li {
            position: relative;
            padding-left: 20px;
        }

        .header-other--item--pull-down li:hover > ul {
            opacity: 1;
            visibility: visible;
            transform: translateX(0);
        }


        .fixed-header.show .header_links__list--favorite a {
            display: flex;
            gap: 9px;
        }

        .fixed-header.show .header_links__list--favorite {
            margin-left: 42px;
        }

        .fixed-header.show .history-count {
                width: 15px;
                height: 15px;
                right: 8px;
                top: 6px;
                font-size: 8px;
                display: flex;
                align-items: center;
                justify-content: center;
        }

       
        .es_user_identity {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            line-height: 1.5;
        }

     
        .header_free_content {
            color: #828282;
            font-size: 14px;
            text-align: center;
            margin-right: 20px;
        }

        .header_phone {
            color: #4f4f4f;
            display: block;
            font-size: 24px;
            line-height: 0.9;
            font-weight: bold;
        }

        .header_phone_number {
        }

        .header_free_text {
            display: block;
            font-size: 14px;
        }

        /* ヘッダーリンク */
        .header_links__list {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            margin: 0;
        }

        .header_links li {
            margin-left: 39px;
            text-align: center;
        }

        .header_links li .header_links li {
            margin-left: 39px;
        }

        .site-header.is-scrolled .history-count {
                font-size: 8px;
                font-weight: 700;
                width: 15px;
                height: 15px;
                display: flex;
                align-items: center;
                justify-content: center;
                right: 8px;
                }

        li.header_links__list--bkn {
            margin-left: 12px;
        }

        .header_links a {
            display: block;
            font-size: 12px;
            color: #4f4f4f;
            transition: none;
        }

        .header_links a:hover {
            opacity: 1;
            border-bottom: 1px solid #142d62;
        }

        .header_links a {
            border-bottom: 1px solid #ffffff;
        }

        /* アイコンスタイル */
        .header_links span[class^="icon-"] {
            display: block;
            font-size: 24px;
            margin-bottom: 4px;
            position: relative;
        }

        /* アイコンフォント */
       

        [class^="icon-"], [class*=" icon-"] {
            font-family: FontAwesome;
            speak: never;
            font-style: normal;
            font-weight: normal; /* FA4では normal でOK */
            font-variant: normal;
            text-transform: none;
            line-height: 1;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        .icon-history:before { content: "\f1da"; }
        .icon-heart:before { content: "\f004"; color: #4f4f4f; }
        .icon-bars:before { content: "\f0c9"; }
        .icon-phone-alt:before { content: "\f095"; }

        /* カウントバッジ */
        .history-count, .favorite-count {
            position: absolute;
            top: 8px;
            background-color: #ddd;
            border: 1px solid #fff;
            border-radius: 50%;
            box-sizing: content-box;
            color: #828282;
            font-size: 12px;
            font-weight: 700;
            height: 20px;
            line-height: 20px;
            text-align: center;
            width: 20px;
        }

        .history-count {
            right: -1px;
        }

        .favorite-count {
            right: 5px;
        }

        /* メイン画像非表示 */
        .l-main > .ui-fit-img.ui-full-screen {
            display: none !important;
        }

        /* ナビゲーション */
        .main-header-bar-navigation {
            background: #19213e;
            text-align: center;
        }

        .main-navigation {
            line-height: 50px;
            max-height: 50px;
        }

        .main-header-menu {
            display: flex;
            justify-content: center;
            align-items: center;
            margin: 0;
            padding: 0;
            min-height: 50px;
        }

        .main-header-menu > li {
            position: relative;
        }
.menu-item.menu-item-has-children:after{
                font-family: FontAwesome;
                content: "\f078";
                font-size: 14px;
                font-size: 0.735rem;
                font-weight: 900;
                position: absolute;
                top: 15px;
                right: 16px;
                color: #fff;
}


        .main-header-menu > li > a {
            color: #fff;
            font-weight: 700;
            padding: 0 1em;
            display: inline-block;
            font-size: 16px;
            transition: all .3s;
            height: 50px;
            display: flex;
            align-items: center;
        }

        .main-header-menu > li > .arrow__icon::after {
            content: "\f078";
            font-family: FontAwesome;
            font-size: .875rem;
            font-weight: 700;
            display: inline-block;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            margin-left: 10px;
        }

        .main-header-menu > li > a:hover {
            background: #407aea;
            color: #fff;
            opacity: 1;
        }

        .main-header-menu > li > .arrow__icon--more:after {
            font-family: FontAwesome;
            content: "\f078";
            font-size: 14px;
            font-size: 0.735rem;
            font-weight: 900;
            margin-top: 6px;
            }

             .header-other--item .arrow__icon::after {
                    content: "\f078";
                    font-family: FontAwesome;
                    font-size: 0.675rem;
                    font-weight: 700;
                    display: inline-block;
                    text-rendering: auto;
                    -webkit-font-smoothing: antialiased;
                    -moz-osx-font-smoothing: grayscale;
                    margin-left: 9px;
                    line-height: normal;
                    position: relative;
                    top: -2px;
                }

                .header-other--item.header-other--item--more::after{
                    content: "\f078";
                    font-family: FontAwesome;
                    font-size: 0.675rem;
                    font-weight: 700;
                    position: absolute;
                    top: 1px;
                    right: 0;
                }

                .header-other--item .arrow__icon--more::after {
                    content: "\f078";
                    font-family: FontAwesome;
                    font-size: 0.675rem;
                    top: 1px;
                }

        /* サブメニュー */
        .sub-menu {
            position: absolute;
            top: 100%;
            left: -999em;
            background: #fff;
            width: 240px;
            box-shadow: 1px 1px 2px 0 rgba(0,0,0,.25);
            z-index: 99999;
        }

        .main-header-menu li:hover > .sub-menu {
            left: 0;
        }

        .sub-menu a {
            display: block;
            padding: 0.9em 1em;
            color: #142d62;
            font-size: 15px;
            text-align: left;
            font-weight: normal;
        }

        .sub-menu a:hover {
            background: #f0f0f0;
            opacity: 1;
        }

        /* モバイルメニューボタン（非表示） */
        .es-mobile-menu-buttons {
            display: none !important;
        }

        /* スクロール時のヘッダースタイル */
        .site-header {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            background: #fff;
            z-index: 1000;
            transition: all 0.3s ease-in-out;
            width: 100%;
        }

        .site-header.is-scrolled {
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        }

        .site-header.is-scrolled .main-header-container {
            padding: 10px 0;
            min-height: 61px;
        }

        .site-header.is-scrolled .custom-logo {
            max-height: 40px;
            width: auto;
            transition: all 0.3s ease-in-out;
        }

        .site-header.is-scrolled .header_free_content {
            font-size: 12px;
        }

        .site-header.is-scrolled .header_phone {
            font-size: 20px;
        }

        .site-header.is-scrolled .header_links span[class^="icon-"] {
            font-size: 20px;
        }

        .site-header.is-scrolled .header-other-content {
            display: block;
        }

        .site-header.is-scrolled .main-header-bar-navigation {
            display: none;
        }

        /* レスポンシブ対応 */
        @media (max-width: 1280px) {
            .is-scrolled .custom-logo-link {
                width: 200px;
            }
            .header-other--list {
                display: flex;
                margin: 0px 0 0 20px;
                gap: 17px;
            }
            .header-other--item a {
                font-size: 12px;
            }
            .header-other--item .arrow__icon::after {
                margin-left: 9px;
            }
        }
        @media (max-width: 1180px) {
            .es-container {
                padding: 0 20px;
            }
            
            .main-header-container {
                min-width: 100%;
            }
        }

        @media (max-width: 921px) {
            .site-header {
                position: relative;
            }

            .main-header-container {
                padding: 5px 0;
                flex-wrap: wrap;
            }

            .site-branding {
                max-width: 40%;
            }

            .custom-logo {
                width: auto;
                max-width: 200px;
            }

            .header_free_content {
                display: none;
            }

            .header_links li {
                margin-left: 5px;
            }

            .header_links span[class^="icon-"] {
                font-size: 20px;
            }

            .header_links a {
                font-size: 10px;
            }

            .main-header-bar-navigation {
                display: none;
            }

            .es-mobile-menu-buttons {
                display: block !important;
            }
        }
