/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Apr 02 2026 | 08:13:59 */
/* ========================================
   動的ページ専用CSS（物件一覧ページなど）
   ======================================== */

/* このファイルは動的ページ（.es-dynamic-page-markerが存在するページ）でのみ読み込んでください */

/* 動的ページのリンクスタイル（静的ページと同じ） */
/* ロゴは除外 */
/*
body.es-dynamic-page a:not(.logo a):not(#header .logo a):not(.header-inner .logo a),
body:has(.es-dynamic-page-marker) a:not(.logo a):not(#header .logo a):not(.header-inner .logo a) {
    display: inline-block;
    color: inherit !important;
    -webkit-transition: all 0.3s linear !important;
    -o-transition: all 0.3s linear !important;
    transition: all 0.3s linear !important;
    outline: none !important;
    text-decoration: none !important;
}
 */
body.es-dynamic-page a:visited:not(.logo a):not(#header .logo a):not(.header-inner .logo a),
body:has(.es-dynamic-page-marker) a:visited:not(.logo a):not(#header .logo a):not(.header-inner .logo a) {
    color: inherit !important;
}

body.es-dynamic-page a:active:not(.logo a):not(#header .logo a):not(.header-inner .logo a),
body:has(.es-dynamic-page-marker) a:active:not(.logo a):not(#header .logo a):not(.header-inner .logo a) {
    color: inherit !important;
}

body.es-dynamic-page a:hover:not(.logo a):not(#header .logo a):not(.header-inner .logo a),
body:has(.es-dynamic-page-marker) a:hover:not(.logo a):not(#header .logo a):not(.header-inner .logo a) {
    /* 透明度は変更しない */
    color: inherit !important;
    text-decoration: none !important; /* グローバルナビの下線は::afterで表示 */
}

body.es-dynamic-page a:focus:not(.logo a):not(#header .logo a):not(.header-inner .logo a),
body:has(.es-dynamic-page-marker) a:focus:not(.logo a):not(#header .logo a):not(.header-inner .logo a) {
    outline: none !important;
}

/* 動的ページのヘッダのフォントサイズとフォントファミリー */
body.es-dynamic-page #header,
body.es-dynamic-page #header *,
body.es-dynamic-page #header a,
body.es-dynamic-page #header span,
body.es-dynamic-page #header p,
body.es-dynamic-page #header li,
body.es-dynamic-page #header .logo,
body.es-dynamic-page #header .logo a,
body:has(.es-dynamic-page-marker) #header,
body:has(.es-dynamic-page-marker) #header *,
body:has(.es-dynamic-page-marker) #header a,
body:has(.es-dynamic-page-marker) #header span,
body:has(.es-dynamic-page-marker) #header p,
body:has(.es-dynamic-page-marker) #header li,
body:has(.es-dynamic-page-marker) #header .logo,
body:has(.es-dynamic-page-marker) #header .logo a {
    font-size: 16px !important;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", "Lato", sans-serif !important;
}

/* 動的ページのロゴの表示を確実にする */
body.es-dynamic-page #header .header-inner .logo,
body.es-dynamic-page #header .header-inner .logo a,
body:has(.es-dynamic-page-marker) #header .header-inner .logo,
body:has(.es-dynamic-page-marker) #header .header-inner .logo a {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* 動的ページのグローバルナビゲーションのテキストサイズ（通常ページと同じ14px） */
body.es-dynamic-page #header #globalNav a,
body.es-dynamic-page #header .globalNav a,
body.es-dynamic-page #header #globalNav a .title,
body.es-dynamic-page #header .globalNav a .title,
body:has(.es-dynamic-page-marker) #header #globalNav a,
body:has(.es-dynamic-page-marker) #header .globalNav a,
body:has(.es-dynamic-page-marker) #header #globalNav a .title,
body:has(.es-dynamic-page-marker) #header .globalNav a .title {
    font-size: 14px !important;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", "Lato", sans-serif !important;
}

/* 動的ページのグローバルナビゲーションのli aにpaddingを追加（2段にならないように小さめに） */
body.es-dynamic-page #header .globalNav .nav-inner ul li a,
body.es-dynamic-page #header #globalNav .nav-inner ul li a,
body:has(.es-dynamic-page-marker) #header .globalNav .nav-inner ul li a,
body:has(.es-dynamic-page-marker) #header #globalNav .nav-inner ul li a {
    padding: 10px 0 !important; /* 2段にならないように小さめのpadding */
}

/* 動的ページのロゴの位置設定（静的ページと同じ） */
/* 通常時 */
body.es-dynamic-page #header .header-inner .logo,
body:has(.es-dynamic-page-marker) #header .header-inner .logo {
    margin-left: 80px !important;
    transition: all 0.3s ease-in-out !important;
    -webkit-transition: all 0.3s ease-in-out !important;
    -o-transition: all 0.3s ease-in-out !important;
}

/* 追従時（.fixed, .sticky, .scrolled） */
body.es-dynamic-page #header.fixed .header-inner .logo,
body.es-dynamic-page #header.sticky .header-inner .logo,
body.es-dynamic-page #header.scrolled .header-inner .logo,
body:has(.es-dynamic-page-marker) #header.fixed .header-inner .logo,
body:has(.es-dynamic-page-marker) #header.sticky .header-inner .logo,
body:has(.es-dynamic-page-marker) #header.scrolled .header-inner .logo {
    margin-left: 20px !important;
}

/* タブレット表示時（1024px以下） */
@media screen and (max-width: 1024px) {
    body.es-dynamic-page #header .header-inner .logo,
    body:has(.es-dynamic-page-marker) #header .header-inner .logo {
        margin-left: 20px !important;
    }
}

/* スマートフォン表示時（768px以下） */
@media screen and (max-width: 768px) {
    body.es-dynamic-page #header .header-inner .logo,
    body:has(.es-dynamic-page-marker) #header .header-inner .logo {
        margin-left: 10px !important;
    }
}

/* 動的ページのスクロール追従時（白背景）は黒テキスト */
body.es-dynamic-page #header.fixed,
body.es-dynamic-page #header.sticky,
body.es-dynamic-page #header.scrolled,
body.es-dynamic-page #header.fixed *,
body.es-dynamic-page #header.sticky *,
body.es-dynamic-page #header.scrolled *,
body.es-dynamic-page #header.fixed a,
body.es-dynamic-page #header.sticky a,
body.es-dynamic-page #header.scrolled a,
body.es-dynamic-page #header.fixed .globalNav a,
body.es-dynamic-page #header.sticky .globalNav a,
body.es-dynamic-page #header.scrolled .globalNav a,
body:has(.es-dynamic-page-marker) #header.fixed,
body:has(.es-dynamic-page-marker) #header.sticky,
body:has(.es-dynamic-page-marker) #header.scrolled,
body:has(.es-dynamic-page-marker) #header.fixed *,
body:has(.es-dynamic-page-marker) #header.sticky *,
body:has(.es-dynamic-page-marker) #header.scrolled *,
body:has(.es-dynamic-page-marker) #header.fixed a,
body:has(.es-dynamic-page-marker) #header.sticky a,
body:has(.es-dynamic-page-marker) #header.scrolled a,
body:has(.es-dynamic-page-marker) #header.fixed .globalNav a,
body:has(.es-dynamic-page-marker) #header.sticky .globalNav a,
body:has(.es-dynamic-page-marker) #header.scrolled .globalNav a {
    color: #333 !important;
}

/* 動的ページのサブメニュー - デフォルトは非表示、JSで制御 */
body.es-dynamic-page #header .globalNav .nav-inner ul li.has-submenu .sub-menu,
body:has(.es-dynamic-page-marker) #header .globalNav .nav-inner ul li.has-submenu .sub-menu {
    opacity: 0 !important;
    visibility: hidden !important;
    display: block !important;
    pointer-events: none !important;
    height: auto !important;
    width: auto !important;
    max-height: none !important;
    max-width: none !important;
    position: absolute !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
}

/* JSで表示されたサブメニューは表示を維持（より強力なセレクターで上書き） */
body.es-dynamic-page #header .globalNav .nav-inner ul li.has-submenu .sub-menu[style*="opacity: 1"],
body.es-dynamic-page #header .globalNav .nav-inner ul li.has-submenu .sub-menu[style*="visibility: visible"],
body:has(.es-dynamic-page-marker) #header .globalNav .nav-inner ul li.has-submenu .sub-menu[style*="opacity: 1"],
body:has(.es-dynamic-page-marker) #header .globalNav .nav-inner ul li.has-submenu .sub-menu[style*="visibility: visible"] {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* ========================================
   動的ページのサブメニューのスタイル
   ======================================== */

/* PC表示時：サブメニューの基本スタイル */
@media (min-width: 769px) {
    /* サブメニューリスト - 通常ページと同じスタイル */
    body.es-dynamic-page #header .globalNav .nav-inner ul li.has-submenu .sub-menu,
    body:has(.es-dynamic-page-marker) #header .globalNav .nav-inner ul li.has-submenu .sub-menu {
        position: absolute !important;
        top: calc(100% + 5px) !important; /* 下線の位置（bottom: 2px + 高さ3px = 5px）から表示 */
        left: 50% !important;
        transform: translateX(-50%) !important;
        background-color: #fff !important;
        background: #fff !important;
        min-width: 150px !important;
        padding: 0 !important; /* 下部の余計なpaddingを削除 */
        padding-top: 10px !important; /* 上部のみpadding */
        margin-top: 0 !important; /* margin-topを削除 */
        list-style: none !important;
        z-index: 1000 !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
        border-radius: 4px !important;
        display: block !important; /* 縦並びにするためblockに設定 */
        flex-direction: column !important; /* 縦並びを確実にする */
    }
    
    /* サブメニューのli要素 - 縦並びを確実にする */
    body.es-dynamic-page #header .globalNav .nav-inner ul li.has-submenu .sub-menu li,
    body:has(.es-dynamic-page-marker) #header .globalNav .nav-inner ul li.has-submenu .sub-menu li {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        text-align: left !important;
        flex-shrink: 0 !important; /* flexboxで縮小されないように */
    }
    
    /* サブメニューのリンク - 静的ページと同じスタイル */
    body.es-dynamic-page #header .globalNav .nav-inner ul li.has-submenu .sub-menu li a,
    body:has(.es-dynamic-page-marker) #header .globalNav .nav-inner ul li.has-submenu .sub-menu li a {
        display: block !important;
        width: 100% !important; /* サブナビの縦枠いっぱいにリンクエリアを表示 */
        padding: 8px 20px !important; /* 静的ページと同じpadding */
        color: #333 !important;
        text-decoration: none !important;
        font-size: 14px !important;
        font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", "Lato", sans-serif !important;
        transition: background-color 0.2s ease !important;
        position: relative !important; /* 下線の位置調整のため */
    }
    
    /* サブメニューのリンクに下線を追加（静的ページと同じ位置） */
    body.es-dynamic-page #header .globalNav .nav-inner ul li.has-submenu .sub-menu li a:after,
    body:has(.es-dynamic-page-marker) #header .globalNav .nav-inner ul li.has-submenu .sub-menu li a:after {
        position: absolute !important;
        bottom: 2px !important; /* グローバルナビの下線と同じ位置 */
        left: 20px !important; /* padding-leftと同じ位置から開始 */
        right: 20px !important; /* padding-rightと同じ位置まで */
        content: "" !important;
        width: calc(100% - 40px) !important; /* padding分を引いた幅 */
        height: 3px !important;
        background: #263775 !important; /* グローバルナビと同じ紺色 */
        opacity: 0 !important;
        visibility: hidden !important;
        -webkit-transition: 0.3s !important;
        -o-transition: 0.3s !important;
        transition: 0.3s !important;
    }
    
    /* サブメニューのリンクホバー時に下線を表示 */
    body.es-dynamic-page #header .globalNav .nav-inner ul li.has-submenu .sub-menu li a:hover:after,
    body:has(.es-dynamic-page-marker) #header .globalNav .nav-inner ul li.has-submenu .sub-menu li a:hover:after {
        opacity: 1 !important;
        visibility: visible !important;
    }
    
    /* サブメニューのリンクホバー */
    body.es-dynamic-page #header .globalNav .nav-inner ul li.has-submenu .sub-menu li a:hover,
    body:has(.es-dynamic-page-marker) #header .globalNav .nav-inner ul li.has-submenu .sub-menu li a:hover {
        background-color: #f5f5f5 !important;
        color: #142d62 !important;
    }
}

/* 動的ページのフッタのフォントサイズとフォントファミリー */
/* 通常ページと同じサイズを適用 */

/* フッター全体 */
body.es-dynamic-page .footer-wrapper-01,
body:has(.es-dynamic-page-marker) .footer-wrapper-01 {
    font-size: 14px !important;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", "Lato", sans-serif !important;
    color: #333 !important;
}

/* 会社情報（company-box） */
body.es-dynamic-page .footer-wrapper-01 .company-box,
body.es-dynamic-page .footer-wrapper-01 .company-box p,
body:has(.es-dynamic-page-marker) .footer-wrapper-01 .company-box,
body:has(.es-dynamic-page-marker) .footer-wrapper-01 .company-box p {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #333 !important;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", "Lato", sans-serif !important;
}

/* フッターナビゲーション（ft-nav） */
body.es-dynamic-page .footer-wrapper-01 .ft-nav,
body:has(.es-dynamic-page-marker) .footer-wrapper-01 .ft-nav {
    font-size: 14px !important;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", "Lato", sans-serif !important;
    display: flex !important;
    flex-wrap: wrap !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* PC表示時：フッターナビゲーションのli要素の幅を調整 */
@media (min-width: 769px) {
    body.es-dynamic-page .footer-wrapper-01 .ft-nav li,
    body:has(.es-dynamic-page-marker) .footer-wrapper-01 .ft-nav li {
        font-size: 14px !important;
        
        min-width: 0 !important;
        margin-right: 20px !important;
        margin-bottom: 10px !important;
        flex-shrink: 0 !important;
    }
}

body.es-dynamic-page .footer-wrapper-01 .ft-nav li,
body:has(.es-dynamic-page-marker) .footer-wrapper-01 .ft-nav li {
    font-size: 14px !important;
}

/* PC表示時：フッターナビゲーションのリンク */
@media (min-width: 769px) {
    body.es-dynamic-page .footer-wrapper-01 .ft-nav li a,
    body:has(.es-dynamic-page-marker) .footer-wrapper-01 .ft-nav li a {
        font-size: 16px !important;
        line-height: 1.6 !important;
        font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", "Lato", sans-serif !important;
        color: #333 !important;
        text-decoration: none !important;
        white-space: nowrap !important; /* テキストを1行に収める */
        word-break: keep-all !important; /* 単語の途中で改行しない */
        overflow-wrap: normal !important; /* 通常の折り返し */
    }
    
    body.es-dynamic-page .footer-wrapper-01 .ft-nav li a .title,
    body:has(.es-dynamic-page-marker) .footer-wrapper-01 .ft-nav li a .title {
        font-size: 16px !important;
        font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", "Lato", sans-serif !important;
        color: #333 !important;
    }
}

/* SP表示時：フッターナビゲーションのリンク */
@media (max-width: 768px) {
    body.es-dynamic-page .footer-wrapper-01 .ft-nav li a,
    body:has(.es-dynamic-page-marker) .footer-wrapper-01 .ft-nav li a {
        font-size: 14px !important;
        line-height: 1.6 !important;
        font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", "Lato", sans-serif !important;
        color: #333 !important;
        text-decoration: none !important;
        white-space: nowrap !important; /* テキストを1行に収める */
        word-break: keep-all !important; /* 単語の途中で改行しない */
        overflow-wrap: normal !important; /* 通常の折り返し */
    }
    
    body.es-dynamic-page .footer-wrapper-01 .ft-nav li a .title,
    body:has(.es-dynamic-page-marker) .footer-wrapper-01 .ft-nav li a .title {
        font-size: 14px !important;
        font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", "Lato", sans-serif !important;
        color: #333 !important;
    }
}

/* コピーライト（copyright） */
body.es-dynamic-page .footer-wrapper-01 .copyright,
body:has(.es-dynamic-page-marker) .footer-wrapper-01 .copyright {
    font-size: 12px !important;
    line-height: 1.6 !important;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", "Lato", sans-serif !important;
    color: #333 !important;
}

body.es-dynamic-page .footer-wrapper-01 .copyright small,
body:has(.es-dynamic-page-marker) .footer-wrapper-01 .copyright small {
    font-size: 12px !important;
    color: #333 !important;
}

/* その他のフッター要素 */
body.es-dynamic-page .footer-wrapper-01 *:not(.company-box):not(.company-box *):not(.ft-nav):not(.ft-nav *):not(.copyright):not(.copyright *),
body:has(.es-dynamic-page-marker) .footer-wrapper-01 *:not(.company-box):not(.company-box *):not(.ft-nav):not(.ft-nav *):not(.copyright):not(.copyright *) {
    font-size: inherit !important;
    color: inherit !important;
}

/* 動的ページのsec-contactセクションのwrapper w990の幅設定 */
body.es-dynamic-page .sec-contact .wrapper.w990,
body:has(.es-dynamic-page-marker) .sec-contact .wrapper.w990 {
    max-width: 990px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    box-sizing: border-box !important;
    display: block !important;
    position: relative !important;
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}

@media (max-width: 768px) {
    body.es-dynamic-page .sec-contact .wrapper.w990,
    body:has(.es-dynamic-page-marker) .sec-contact .wrapper.w990 {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }
}

/* 動的ページのコンテンツ開始位置をグロナビ分下げる */
body.es-dynamic-page #page,
body:has(.es-dynamic-page-marker) #page {
    padding-top: 80px !important; /* PC表示時のヘッダーの高さ分のpadding-top */
}

@media screen and (max-width: 768px) {
    body.es-dynamic-page #page,
    body:has(.es-dynamic-page-marker) #page {
        padding-top: 55px !important; /* SP表示時のヘッダーの高さ分 */
    }
}

/* 動的ページのsec-contactセクションのフォントサイズ */
/* 通常ページと同じサイズを適用 */

/* 見出し（.unit-title-01） */
body.es-dynamic-page .sec-contact .unit-title-01,
body.es-dynamic-page .sec-contact h2.unit-title-01,
body.es-dynamic-page .sec-contact .unit-title-01.white,
body.es-dynamic-page .sec-contact h2.unit-title-01.white,
body.es-dynamic-page .sec-contact .unit-title-01.t-center,
body.es-dynamic-page .sec-contact h2.unit-title-01.t-center,
body.es-dynamic-page .sec-contact .unit-title-01.white.t-center,
body.es-dynamic-page .sec-contact h2.unit-title-01.white.t-center,
body:has(.es-dynamic-page-marker) .sec-contact .unit-title-01,
body:has(.es-dynamic-page-marker) .sec-contact h2.unit-title-01,
body:has(.es-dynamic-page-marker) .sec-contact .unit-title-01.white,
body:has(.es-dynamic-page-marker) .sec-contact h2.unit-title-01.white,
body:has(.es-dynamic-page-marker) .sec-contact .unit-title-01.t-center,
body:has(.es-dynamic-page-marker) .sec-contact h2.unit-title-01.t-center,
body:has(.es-dynamic-page-marker) .sec-contact .unit-title-01.white.t-center,
body:has(.es-dynamic-page-marker) .sec-contact h2.unit-title-01.white.t-center {
    font-size: 48px !important;
    line-height: 1.7 !important;
    font-weight: 700 !important;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", "Lato", sans-serif !important;
    color: #fff !important;
}

/* SP表示時の見出し */
@media (max-width: 768px) {
    body.es-dynamic-page .sec-contact .unit-title-01,
    body.es-dynamic-page .sec-contact h2.unit-title-01,
    body.es-dynamic-page .sec-contact .unit-title-01.white,
    body.es-dynamic-page .sec-contact h2.unit-title-01.white,
    body.es-dynamic-page .sec-contact .unit-title-01.t-center,
    body.es-dynamic-page .sec-contact h2.unit-title-01.t-center,
    body.es-dynamic-page .sec-contact .unit-title-01.white.t-center,
    body.es-dynamic-page .sec-contact h2.unit-title-01.white.t-center,
    body:has(.es-dynamic-page-marker) .sec-contact .unit-title-01,
    body:has(.es-dynamic-page-marker) .sec-contact h2.unit-title-01,
    body:has(.es-dynamic-page-marker) .sec-contact .unit-title-01.white,
    body:has(.es-dynamic-page-marker) .sec-contact h2.unit-title-01.white,
    body:has(.es-dynamic-page-marker) .sec-contact .unit-title-01.t-center,
    body:has(.es-dynamic-page-marker) .sec-contact h2.unit-title-01.t-center,
    body:has(.es-dynamic-page-marker) .sec-contact .unit-title-01.white.t-center,
    body:has(.es-dynamic-page-marker) .sec-contact h2.unit-title-01.white.t-center {
        font-size: 28px !important;
        line-height: 1.6 !important;
    }
}

/* サブタイトル（.sub） */
body.es-dynamic-page .sec-contact .unit-title-01 .sub,
body.es-dynamic-page .sec-contact h2.unit-title-01 .sub,
body.es-dynamic-page .sec-contact .unit-title-01.white .sub,
body.es-dynamic-page .sec-contact h2.unit-title-01.white .sub,
body.es-dynamic-page .sec-contact .unit-title-01.t-center .sub,
body.es-dynamic-page .sec-contact h2.unit-title-01.t-center .sub,
body.es-dynamic-page .sec-contact .unit-title-01.white.t-center .sub,
body.es-dynamic-page .sec-contact h2.unit-title-01.white.t-center .sub,
body:has(.es-dynamic-page-marker) .sec-contact .unit-title-01 .sub,
body:has(.es-dynamic-page-marker) .sec-contact h2.unit-title-01 .sub,
body:has(.es-dynamic-page-marker) .sec-contact .unit-title-01.white .sub,
body:has(.es-dynamic-page-marker) .sec-contact h2.unit-title-01.white .sub,
body:has(.es-dynamic-page-marker) .sec-contact .unit-title-01.t-center .sub,
body:has(.es-dynamic-page-marker) .sec-contact h2.unit-title-01.t-center .sub,
body:has(.es-dynamic-page-marker) .sec-contact .unit-title-01.white.t-center .sub,
body:has(.es-dynamic-page-marker) .sec-contact h2.unit-title-01.white.t-center .sub {
    font-size: 16px !important;
    font-weight: 400 !important;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", "Lato", sans-serif !important;
    color: #fff !important;
}

/* 電話番号（.tel） */
body.es-dynamic-page .sec-contact .tel,
body.es-dynamic-page .sec-contact a.tel,
body:has(.es-dynamic-page-marker) .sec-contact .tel,
body:has(.es-dynamic-page-marker) .sec-contact a.tel {
    font-size: 48px !important;
    font-weight: 700 !important;
    font-family: 'Lato', sans-serif !important;
    color: #fff !important;
}

/* SP表示時の電話番号 */
@media (max-width: 768px) {
    body.es-dynamic-page .sec-contact .tel,
    body.es-dynamic-page .sec-contact a.tel,
    body:has(.es-dynamic-page-marker) .sec-contact .tel,
    body:has(.es-dynamic-page-marker) .sec-contact a.tel {
        font-size: 16px !important;
    }
}

/* 営業時間（.time） */
body.es-dynamic-page .sec-contact .time,
body.es-dynamic-page .sec-contact p.time,
body:has(.es-dynamic-page-marker) .sec-contact .time,
body:has(.es-dynamic-page-marker) .sec-contact p.time {
    font-size: 14px !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
    font-family: 'Lato', sans-serif !important;
    color: #fff !important;
}

/* ボタン（.unit-btn-01 a） */
body.es-dynamic-page .sec-contact .unit-btn-01 a,
body.es-dynamic-page .sec-contact .unit-btn-01.black a,
body:has(.es-dynamic-page-marker) .sec-contact .unit-btn-01 a,
body:has(.es-dynamic-page-marker) .sec-contact .unit-btn-01.black a {
    font-size: 1.8rem !important; /* 既存サイトと同じサイズ（PC） */
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", "Lato", sans-serif !important;
    font-weight: bold !important; /* 既存サイトに合わせてboldに */
    letter-spacing: 0.08em !important; /* 既存サイトに合わせて調整 */
    color: #fff !important;
}

@media screen and (max-width: 768px) {
    body.es-dynamic-page .sec-contact .unit-btn-01 a,
    body.es-dynamic-page .sec-contact .unit-btn-01.black a,
    body:has(.es-dynamic-page-marker) .sec-contact .unit-btn-01 a,
    body:has(.es-dynamic-page-marker) .sec-contact .unit-btn-01.black a {
        font-size: 1.6rem !important; /* 既存サイトと同じサイズ（SP） */
    }
}

/* 動的ページのsec-contactセクションのpaddingを0pxに */
body.es-dynamic-page .sec-contact,
body:has(.es-dynamic-page-marker) .sec-contact {
    padding: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    font-size: 16px !important;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", "Lato", sans-serif !important;
}

body.es-dynamic-page .sec-contact *:not(.unit-title-01):not(.unit-title-01 *):not(.tel):not(.time):not(.unit-btn-01):not(.unit-btn-01 *),
body:has(.es-dynamic-page-marker) .sec-contact *:not(.unit-title-01):not(.unit-title-01 *):not(.tel):not(.time):not(.unit-btn-01):not(.unit-btn-01 *) {
    font-size: inherit !important;
    font-family: inherit !important;
}

/* ========================================
   実績紹介（Works）ページのスタイル
   ======================================== */

body.es-dynamic-page .box-undertitle-01 .title-wrap,
body:has(.es-dynamic-page-marker) .box-undertitle-01 .title-wrap {
    position: relative !important;
    width: 100% !important;
    height: 240px !important;
    margin-top: 0 !important; /* padding-topで調整済みのため */
    background-size: cover !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* 個別背景がある場合は背景色を上書きしない */
body.es-dynamic-page .box-undertitle-01 .title-wrap:not([class*="works-"]):not([class*="news-"]),
body:has(.es-dynamic-page-marker) .box-undertitle-01 .title-wrap:not([class*="works-"]):not([class*="news-"]) {
    background: #fff !important;
}

/* works-813クラス用のスタイル（既存サイトと同じ） */
body.es-dynamic-page .box-undertitle-01 .title-wrap.works-813,
body:has(.es-dynamic-page-marker) .box-undertitle-01 .title-wrap.works-813 {
    background: url("/app/uploads/sites/1446/2025/12/works_img_01.png") center center/cover no-repeat !important;
}

body.es-dynamic-page .box-undertitle-01 .title-wrap.works-813 h1,
body.es-dynamic-page .box-undertitle-01 .title-wrap.works-813 .title,
body:has(.es-dynamic-page-marker) .box-undertitle-01 .title-wrap.works-813 h1,
body:has(.es-dynamic-page-marker) .box-undertitle-01 .title-wrap.works-813 .title {
    color: #fff !important;
}

body.es-dynamic-page .box-undertitle-01 .title-wrap.works-813 .ruby,
body:has(.es-dynamic-page-marker) .box-undertitle-01 .title-wrap.works-813 .ruby {
    color: #fff !important;
    opacity: 0.8 !important;
}

@media screen and (max-width: 768px) {
    body.es-dynamic-page .box-undertitle-01 .title-wrap,
    body:has(.es-dynamic-page-marker) .box-undertitle-01 .title-wrap {
        height: 150px !important;
    }
}

body.es-dynamic-page .box-undertitle-01 .title-wrap .title,
body:has(.es-dynamic-page-marker) .box-undertitle-01 .title-wrap .title {
    font-size: 4.6rem !important;
    letter-spacing: 0.1em !important;
    font-weight: bold !important;
    color: #333 !important;
    margin: 0 !important;
}

@media screen and (max-width: 768px) {
    body.es-dynamic-page .box-undertitle-01 .title-wrap .title,
    body:has(.es-dynamic-page-marker) .box-undertitle-01 .title-wrap .title {
        font-size: 3.4rem !important;
    }
}

body.es-dynamic-page .box-undertitle-01 .title-wrap .ruby,
body:has(.es-dynamic-page-marker) .box-undertitle-01 .title-wrap .ruby {
    display: block !important;
    letter-spacing: 0.1em !important;
    text-align: center !important;
    font-family: "Lato", sans-serif !important;
    font-size: 1.6rem !important;
    color: #333 !important;
}

body.es-dynamic-page .underwrapper,
body:has(.es-dynamic-page-marker) .underwrapper {
    width: 100% !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 80px 15px !important;
}

@media screen and (max-width: 768px) {
    body.es-dynamic-page .underwrapper,
    body:has(.es-dynamic-page-marker) .underwrapper {
        padding: 40px 15px !important;
    }
}

body.es-dynamic-page .box-col3-01,
body:has(.es-dynamic-page-marker) .box-col3-01 {
    display: flex !important;
    flex-wrap: wrap !important;
    margin: 0 -15px !important;
}

body.es-dynamic-page .box-col3-01 > .inner,
body:has(.es-dynamic-page-marker) .box-col3-01 > .inner {
    width: 33.333% !important;
    padding: 0 15px !important;
    margin-bottom: 40px !important;
    box-sizing: border-box !important;
}

@media screen and (max-width: 768px) {
    body.es-dynamic-page .box-col3-01 > .inner,
    body:has(.es-dynamic-page-marker) .box-col3-01 > .inner {
        width: 50% !important;
    }
}

@media screen and (max-width: 480px) {
    body.es-dynamic-page .box-col3-01 > .inner,
    body:has(.es-dynamic-page-marker) .box-col3-01 > .inner {
        width: 100% !important;
    }
}

body.es-dynamic-page .unit-works-01 a,
body:has(.es-dynamic-page-marker) .unit-works-01 a {
    display: block !important;
    text-decoration: none !important;
    color: #333 !important;
}

body.es-dynamic-page .unit-works-01 a .img,
body:has(.es-dynamic-page-marker) .unit-works-01 a .img {
    border-radius: 5px !important;
    overflow: hidden !important;
    margin-bottom: 10px !important;
}

body.es-dynamic-page .unit-works-01 a .img img,
body:has(.es-dynamic-page-marker) .unit-works-01 a .img img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    transition: transform 0.3s ease !important;
}

body.es-dynamic-page .unit-works-01 a:hover .img img,
body:has(.es-dynamic-page-marker) .unit-works-01 a:hover .img img {
    transform: scale(1.05) !important;
}

body.es-dynamic-page .unit-works-01 a .title,
body.es-dynamic-page .unit-works-01 a h2.title,
body:has(.es-dynamic-page-marker) .unit-works-01 a .title,
body:has(.es-dynamic-page-marker) .unit-works-01 a h2.title {
    font-weight: bold !important;
    font-size: 2rem !important; /* 既存サイトと同じ */
    letter-spacing: 0.08em !important;
    margin: 0 !important;
    margin-top: 10px !important; /* 既存サイトと同じ */
    line-height: 1.4 !important;
    color: #333 !important;
}

@media screen and (max-width: 768px) {
    body.es-dynamic-page .unit-works-01 a .title,
    body.es-dynamic-page .unit-works-01 a h2.title,
    body:has(.es-dynamic-page-marker) .unit-works-01 a .title,
    body:has(.es-dynamic-page-marker) .unit-works-01 a h2.title {
        font-size: 1.8rem !important; /* 既存サイトと同じ */
        margin-top: 5px !important; /* 既存サイトと同じ */
    }
}

body.es-dynamic-page .breadcrumb,
body:has(.es-dynamic-page-marker) .breadcrumb {
    background: #f5f5f5 !important;
    padding: 15px 0 !important;
    font-size: 1.2rem !important;
    color: #666 !important;
}

body.es-dynamic-page .breadcrumb .inner,
body:has(.es-dynamic-page-marker) .breadcrumb .inner {
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
}

body.es-dynamic-page .breadcrumb a,
body:has(.es-dynamic-page-marker) .breadcrumb a {
    color: #666 !important;
    text-decoration: none !important;
}

body.es-dynamic-page .breadcrumb a:hover,
body:has(.es-dynamic-page-marker) .breadcrumb a:hover {
    text-decoration: underline !important;
}

/* ========================================
   動的ページのFontAwesomeアイコン表示
   ======================================== */

/* 動的ページ全体でFontAwesomeアイコンにフォントファミリーを適用 */
body.es-dynamic-page [class*="icon-"]::before,
body.es-dynamic-page [class*="icon-"]::after,
body:has(.es-dynamic-page-marker) [class*="icon-"]::before,
body:has(.es-dynamic-page-marker) [class*="icon-"]::after,
body.es-dynamic-page .icon-heart::before,
body.es-dynamic-page .icon-heart::after,
body:has(.es-dynamic-page-marker) .icon-heart::before,
body:has(.es-dynamic-page-marker) .icon-heart::after,
body.es-dynamic-page .fa::before,
body.es-dynamic-page .fa::after,
body.es-dynamic-page .fas::before,
body.es-dynamic-page .fas::after,
body.es-dynamic-page .far::before,
body.es-dynamic-page .far::after,
body.es-dynamic-page .fab::before,
body.es-dynamic-page .fab::after,
body:has(.es-dynamic-page-marker) .fa::before,
body:has(.es-dynamic-page-marker) .fa::after,
body:has(.es-dynamic-page-marker) .fas::before,
body:has(.es-dynamic-page-marker) .fas::after,
body:has(.es-dynamic-page-marker) .far::before,
body:has(.es-dynamic-page-marker) .far::after,
body:has(.es-dynamic-page-marker) .fab::before,
body:has(.es-dynamic-page-marker) .fab::after {
    font-family: "Font Awesome 5 Free", "FontAwesome" !important;
    font-weight: 900 !important;
    font-style: normal !important;
    text-rendering: auto !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Font Awesome 5 Brands用 */
body.es-dynamic-page .fab::before,
body.es-dynamic-page .fab::after,
body:has(.es-dynamic-page-marker) .fab::before,
body:has(.es-dynamic-page-marker) .fab::after {
    font-family: "Font Awesome 5 Brands" !important;
    font-weight: 400 !important;
}

/* Font Awesome 4.7.0用（.faクラス） */
body.es-dynamic-page .fa::before,
body.es-dynamic-page .fa::after,
body:has(.es-dynamic-page-marker) .fa::before,
body:has(.es-dynamic-page-marker) .fa::after {
    font-family: "FontAwesome" !important;
    font-weight: 400 !important;
}

/* es_fontアイコン用（.icon-*クラス） */
body.es-dynamic-page [class^="icon-"]::before,
body.es-dynamic-page [class^="icon-"]::after,
body.es-dynamic-page [class*=" icon-"]::before,
body.es-dynamic-page [class*=" icon-"]::after,
body:has(.es-dynamic-page-marker) [class^="icon-"]::before,
body:has(.es-dynamic-page-marker) [class^="icon-"]::after,
body:has(.es-dynamic-page-marker) [class*=" icon-"]::before,
body:has(.es-dynamic-page-marker) [class*=" icon-"]::after,
body.es-dynamic-page .icon-check::before,
body.es-dynamic-page .icon-check::after,
body.es-dynamic-page .icon-angle-down::before,
body.es-dynamic-page .icon-angle-down::after,
body.es-dynamic-page .icon-list::before,
body.es-dynamic-page .icon-list::after,
body.es-dynamic-page .icon-heart::before,
body.es-dynamic-page .icon-heart::after,
body:has(.es-dynamic-page-marker) .icon-check::before,
body:has(.es-dynamic-page-marker) .icon-check::after,
body:has(.es-dynamic-page-marker) .icon-angle-down::before,
body:has(.es-dynamic-page-marker) .icon-angle-down::after,
body:has(.es-dynamic-page-marker) .icon-list::before,
body:has(.es-dynamic-page-marker) .icon-list::after,
body:has(.es-dynamic-page-marker) .icon-heart::before,
body:has(.es-dynamic-page-marker) .icon-heart::after {
    font-family: "es_font" !important;
    font-weight: normal !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never !important;
    text-rendering: auto !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* ========================================
   動的ページのコンテンツ部分のフォントサイズ調整
   ======================================== */

/* 動的ページのコンテンツ部分全般のフォントサイズを正常化 */
body.es-dynamic-page #page,
body.es-dynamic-page #content,
body.es-dynamic-page main,
body.es-dynamic-page .site-content,
body.es-dynamic-page .entry-content,
body:has(.es-dynamic-page-marker) #page,
body:has(.es-dynamic-page-marker) #content,
body:has(.es-dynamic-page-marker) main,
body:has(.es-dynamic-page-marker) .site-content,
body:has(.es-dynamic-page-marker) .entry-content {
    font-size: 15px !important; /* remの基準値（1rem = 15px） */
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", "Lato", sans-serif !important;
    line-height: 1.85714285714286 !important;
    color: #333333 !important;
}

/* 動的ページのコンテンツ部分内のすべての要素のフォントサイズを正常化 */
/* いい生活CMSが自動的に出力する小さいフォントサイズを上書き */
body.es-dynamic-page #page *,
body.es-dynamic-page #content *,
body.es-dynamic-page main *,
body.es-dynamic-page .site-content *,
body.es-dynamic-page .entry-content *,
body:has(.es-dynamic-page-marker) #page *,
body:has(.es-dynamic-page-marker) #content *,
body:has(.es-dynamic-page-marker) main *,
body:has(.es-dynamic-page-marker) .site-content *,
body:has(.es-dynamic-page-marker) .entry-content * {
    font-size: inherit !important;
}

/* spec_table_default.f12のフォントサイズを上書き（いい生活CMSが自動的に出力する小さいフォントサイズを上書き） */
body.es-dynamic-page .spec_table_default.f12,
body.es-dynamic-page .spec_table_default.f12 td,
body.es-dynamic-page .spec_table_default.f12 th,
body.es-dynamic-page .spec_table_default.f12 *,
body:has(.es-dynamic-page-marker) .spec_table_default.f12,
body:has(.es-dynamic-page-marker) .spec_table_default.f12 td,
body:has(.es-dynamic-page-marker) .spec_table_default.f12 th,
body:has(.es-dynamic-page-marker) .spec_table_default.f12 * {
    font-size: 15px !important; /* 通常のコンテンツと同じフォントサイズ */
}

/* f12クラスが付いている要素のフォントサイズを上書き */
body.es-dynamic-page .f12,
body.es-dynamic-page .f12 *,
body:has(.es-dynamic-page-marker) .f12,
body:has(.es-dynamic-page-marker) .f12 * {
    font-size: 15px !important; /* 通常のコンテンツと同じフォントサイズ */
}

/* テーブル要素のフォントサイズを正常化 */
body.es-dynamic-page table,
body.es-dynamic-page table td,
body.es-dynamic-page table th,
body.es-dynamic-page table *,
body:has(.es-dynamic-page-marker) table,
body:has(.es-dynamic-page-marker) table td,
body:has(.es-dynamic-page-marker) table th,
body:has(.es-dynamic-page-marker) table * {
    font-size: 15px !important; /* 通常のコンテンツと同じフォントサイズ */
}
