/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Apr 02 2026 | 04:05:42 */
/* コンテンツ部分のフォント設定を既存サイトと同じにする */
/* ヘッダー・フッターには影響しない */
/* メイリオを明示的に除外 */
/* inline-style-es_baseなどの強力なスタイルを上書き */

:root {
    font-size: 60% !important;
}

/* ========================================
   PC/SP表示制御クラス
   ======================================== */

/* PC表示のみ（SPでは非表示） */
.pc-only {
    display: block !important;
}

@media screen and (max-width: 768px) {
    .pc-only {
        display: none !important;
    }
}

/* SP表示のみ（PCでは非表示） */
.sp-only {
    display: none !important;
}

@media screen and (max-width: 768px) {
    .sp-only {
        display: block !important;
    }
}

/* PC表示のみ（インラインブロック） */
.pc-only-iblock {
    display: inline-block !important;
}

@media screen and (max-width: 768px) {
    .pc-only-iblock {
        display: none !important;
    }
}

/* SP表示のみ（インラインブロック） */
.sp-only-iblock {
    display: none !important;
}

@media screen and (max-width: 768px) {
    .sp-only-iblock {
        display: inline-block !important;
    }
}

/* ========================================
   pc-visible, sp-visibleクラスの表示制御（グローバル）
   ======================================== */

/* pc-visible: PC表示時は表示、SP表示時は非表示 */
.pc-visible {
    display: block !important;
}

@media screen and (max-width: 768px) {
    .pc-visible {
        display: none !important;
    }
}

/* sp-visible: PC表示時は非表示、SP表示時は表示 */
.sp-visible {
    display: none !important;
}

@media screen and (max-width: 768px) {
    .sp-visible {
        display: block !important;
    }
}

/* すべての主要なセクション要素の通常時のopacityを1に設定（透明にならないように） */
body.es-page-top-active #content.site-content .sec-home-concept,
body.es-page-top-active #content .sec-home-concept,
body.es-page-top-active .site-content .sec-home-concept,
body.es-page-top-active #content.site-content .sec-home-works,
body.es-page-top-active #content .sec-home-works,
body.es-page-top-active .site-content .sec-home-works,
body.es-page-top-active #content.site-content .sec-home-service,
body.es-page-top-active #content .sec-home-service,
body.es-page-top-active .site-content .sec-home-service,
body.es-page-top-active #content.site-content .sec-home-property,
body.es-page-top-active #content .sec-home-property,
body.es-page-top-active .site-content .sec-home-property,
body.es-page-top-active #content.site-content .sec-home-news,
body.es-page-top-active #content .sec-home-news,
body.es-page-top-active .site-content .sec-home-news,
body.es-page-top-active #content.site-content .sec-home-bnr,
body.es-page-top-active #content .sec-home-bnr,
body.es-page-top-active .site-content .sec-home-bnr,
body.es-page-top-active #content.site-content .box-col2-01,
body.es-page-top-active #content .box-col2-01,
body.es-page-top-active .site-content .box-col2-01,
body.es-page-top-active #content.site-content .box-col4-01,
body.es-page-top-active #content .box-col4-01,
body.es-page-top-active .site-content .box-col4-01,
body.es-page-top-active #content.site-content .box-img-01,
body.es-page-top-active #content .box-img-01,
body.es-page-top-active .site-content .box-img-01,
body.es-page-top-active #content.site-content .inner,
body.es-page-top-active #content .inner,
body.es-page-top-active .site-content .inner,
body.es-page-top-active #content.site-content .inner-bg,
body.es-page-top-active #content .inner-bg,
body.es-page-top-active .site-content .inner-bg {
    opacity: 1 !important; /* 通常時も表示 */
}

/* アニメーションクラスの初期状態を表示状態にする（既存サイトのJavaScriptが実行されない場合でも表示されるように） */
body.es-page-top-active #content.site-content .block_fade,
body.es-page-top-active #content .block_fade,
body.es-page-top-active .site-content .block_fade,
body.es-page-top-active #content.site-content .block_fade > *,
body.es-page-top-active #content .block_fade > *,
body.es-page-top-active .site-content .block_fade > * {
    opacity: 1 !important; /* 初期状態でも表示 */
    transform: translateY(0) scale(1) !important; /* 初期状態でも表示 */
}

body.es-page-top-active #content.site-content .top-to-down,
body.es-page-top-active #content .top-to-down,
body.es-page-top-active .site-content .top-to-down {
    opacity: 1 !important; /* 初期状態でも表示 */
    transform: translateY(0) !important; /* 初期状態でも表示 */
}

/* 動的ページ（.es-dynamic-page-markerが存在するページ）では:rootとhtmlのフォントサイズを無効化 */
body:has(.es-dynamic-page-marker) :root,
body.es-dynamic-page :root {
    font-size: 100% !important;
}
body:has(.es-dynamic-page-marker) html,
body.es-dynamic-page html {
    font-size: 100% !important;
}

/* remの基準値を既存サイトと同じにする（htmlのfont-size: 93.75% = 15px） */
/* コンテンツ部分内でremが正しく機能するように、基準値を設定 */
body.es-page-top-active #content.site-content,
body.es-page-top-active #content,
body.es-page-top-active .site-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;
    font-weight: inherit !important;
}

/* すべての子要素にフォントファミリーを明示的に指定 */
/* ただし、既存サイトのクラス構造（unit-*など）を持つ要素は除外 */
/* Newsセクション関連の要素も除外（既存サイトのスタイルを尊重） */
/* アイコン要素も除外（アイコンフォントを正しく表示するため） */
body .sec-contact .unit-title-01.white, body .sec-contact h2.unit-title-01.white, .sec-contact .wrapper.w990 .unit-title-01.white, .sec-contact .wrapper.w990 h2.unit-title-01.white,
body.es-page-top-active #content.site-content *:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03):not(.unit-text-01):not(.unit-text-02):not(.unit-btn-01):not(.unit-btn-02):not(.unit-concept-list-01):not(.unit-property-01):not(.unit-works-01):not(.unit-news-01):not(.unit-anchor-01):not(.unit-top-bnr-01):not(.news-wrap):not(article):not(.title-wrap):not(.top-to-down):not(.box-top-news-01):not(.sec-home-news):not([class*="icon-"]):not([class*="_icon"]),
body.es-page-top-active #content *:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03):not(.unit-text-01):not(.unit-text-02):not(.unit-btn-01):not(.unit-btn-02):not(.unit-concept-list-01):not(.unit-property-01):not(.unit-works-01):not(.unit-news-01):not(.unit-anchor-01):not(.unit-top-bnr-01):not(.news-wrap):not(article):not(.title-wrap):not(.top-to-down):not(.box-top-news-01):not(.sec-home-news):not([class*="icon-"]):not([class*="_icon"]),
body.es-page-top-active .site-content *:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03):not(.unit-text-01):not(.unit-text-02):not(.unit-btn-01):not(.unit-btn-02):not(.unit-concept-list-01):not(.unit-property-01):not(.unit-works-01):not(.unit-news-01):not(.unit-anchor-01):not(.unit-top-bnr-01):not(.news-wrap):not(article):not(.title-wrap):not(.top-to-down):not(.box-top-news-01):not(.sec-home-news):not([class*="icon-"]):not([class*="_icon"]) {
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", "Lato", sans-serif !important;
}

/* Newsセクション関連の要素には既存サイトのフォントファミリーを適用 */
body.es-page-top-active #content.site-content .sec-home-news,
body.es-page-top-active #content .sec-home-news,
body.es-page-top-active .site-content .sec-home-news,
body.es-page-top-active #content.site-content .sec-home-news *,
body.es-page-top-active #content .sec-home-news *,
body.es-page-top-active .site-content .sec-home-news *,
body.es-page-top-active #content.site-content .box-top-news-01,
body.es-page-top-active #content .box-top-news-01,
body.es-page-top-active .site-content .box-top-news-01,
body.es-page-top-active #content.site-content .box-top-news-01 *,
body.es-page-top-active #content .box-top-news-01 *,
body.es-page-top-active .site-content .box-top-news-01 *,
body.es-page-top-active #content.site-content .title-wrap,
body.es-page-top-active #content .title-wrap,
body.es-page-top-active .site-content .title-wrap,
body.es-page-top-active #content.site-content .title-wrap *,
body.es-page-top-active #content .title-wrap *,
body.es-page-top-active .site-content .title-wrap *,
body.es-page-top-active #content.site-content .top-to-down,
body.es-page-top-active #content .top-to-down,
body.es-page-top-active .site-content .top-to-down,
body.es-page-top-active #content.site-content .news-wrap,
body.es-page-top-active #content .news-wrap,
body.es-page-top-active .site-content .news-wrap,
body.es-page-top-active #content.site-content .news-wrap *,
body.es-page-top-active #content .news-wrap *,
body.es-page-top-active .site-content .news-wrap *,
body.es-page-top-active #content.site-content article,
body.es-page-top-active #content article,
body.es-page-top-active .site-content article,
body.es-page-top-active #content.site-content article *,
body.es-page-top-active #content article *,
body.es-page-top-active .site-content article * {
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", "Lato", sans-serif !important;
}

/* 見出しのフォントサイズを既存サイトと同じにする（pxベースで確実に） */
/* ただし、既存サイトのクラス構造（unit-*など）を持つ要素は除外 */
body.es-page-top-active #content.site-content h1:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03),
body.es-page-top-active #content h1:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03),
body.es-page-top-active .site-content h1:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03) {
    font-size: 40px !important;
    line-height: 1.2 !important;
    color: #808285 !important;
}

body.es-page-top-active #content.site-content h2:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03),
body.es-page-top-active #content h2:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03),
body.es-page-top-active .site-content h2:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03) {
    font-size: 30px !important;
    line-height: 1.3 !important;
    color: #808285 !important;
}


body.es-page-top-active #content.site-content h4:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03),
body.es-page-top-active #content h4:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03),
body.es-page-top-active .site-content h4:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03) {
    font-size: 20px !important;
    line-height: 1.5 !important;
    color: #808285 !important;
}

body.es-page-top-active #content.site-content h5:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03),
body.es-page-top-active #content h5:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03),
body.es-page-top-active .site-content h5:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03) {
    font-size: 18px !important;
    line-height: 1.6 !important;
    color: #808285 !important;
}

body.es-page-top-active #content.site-content h6:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03),
body.es-page-top-active #content h6:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03),
body.es-page-top-active .site-content h6:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03) {
    font-size: 15px !important;
    line-height: 1.7 !important;
    color: #808285 !important;
}

/* 段落のフォントサイズ */
/* ただし、既存サイトのクラス構造（unit-*など）を持つ要素は除外 */
body.es-page-top-active #content.site-content p:not(.unit-text-01):not(.unit-text-02),
body.es-page-top-active #content p:not(.unit-text-01):not(.unit-text-02),
body.es-page-top-active .site-content p:not(.unit-text-01):not(.unit-text-02) {
    /*font-size: 15px !important;
    line-height: 1.85714285714286 !important;
    margin-bottom: 0 !important;*/
}

/* リストのフォントサイズ */
/* ただし、既存サイトのクラス構造（unit-*など）を持つ要素は除外 */
body.es-page-top-active #content.site-content ul:not(.unit-concept-list-01),
body.es-page-top-active #content ul:not(.unit-concept-list-01),
body.es-page-top-active .site-content ul:not(.unit-concept-list-01),
body.es-page-top-active #content.site-content ol:not(.unit-concept-list-01),
body.es-page-top-active #content ol:not(.unit-concept-list-01),
body.es-page-top-active .site-content ol:not(.unit-concept-list-01) {
    font-size: 15px !important;
    line-height: 1.85714285714286 !important;
}

/* Worksセクションのレイアウト */
body.es-page-top-active #content.site-content .box-top-works-01,
body.es-page-top-active #content .box-top-works-01,
body.es-page-top-active .site-content .box-top-works-01 {
    position: relative !important;
    opacity: 1 !important; /* 通常時も表示 */
}

body.es-page-top-active #content.site-content .box-top-works-01 .img,
body.es-page-top-active #content .box-top-works-01 .img,
body.es-page-top-active .site-content .box-top-works-01 .img {
    position: absolute !important;
    z-index: -1 !important;
        right: 0 !important;
    top: 0 !important;
}

body.es-page-top-active #content.site-content .box-top-works-01 .txt-wrap,
body.es-page-top-active #content .box-top-works-01 .txt-wrap,
body.es-page-top-active .site-content .box-top-works-01 .txt-wrap {
    padding: 80px 0px 150px !important;
}

body.es-page-top-active #content.site-content .box-top-works-01 .txt-wrap .txt-inner,
body.es-page-top-active #content .box-top-works-01 .txt-wrap .txt-inner,
body.es-page-top-active .site-content .box-top-works-01 .txt-wrap .txt-inner {
    background: #fff !important;
    padding: 75px 30px 75px calc((100% - 1100px) / 2) !important;
    min-width: 715px !important;
    width: 52% !important;
    max-width: 100% !important;
    z-index: 2 !important;
    box-shadow: 7px 7px 40px 0px rgba(0, 0, 0, 0.06) !important;
}

body.es-page-top-active #content.site-content .box-top-works-01 .txt-wrap .txt-inner .unit-title-01,
body.es-page-top-active #content .box-top-works-01 .txt-wrap .txt-inner .unit-title-01,
body.es-page-top-active .site-content .box-top-works-01 .txt-wrap .txt-inner .unit-title-01 {
    font-size: 2.9rem !important; /* 15px × 2.9 = 43.5px */
}

body.es-page-top-active #content.site-content .box-top-works-01 .txt-wrap .txt-inner .unit-text-01,
body.es-page-top-active #content .box-top-works-01 .txt-wrap .txt-inner .unit-text-01,
body.es-page-top-active .site-content .box-top-works-01 .txt-wrap .txt-inner .unit-text-01 {
    max-width: 460px !important;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    /* SP表示時：sec-home-concept sec-home-01内のpタグのbrタグを非表示（改行なし） */
    body.es-page-top-active .sec-home-concept.sec-home-01 p br,
    body.es-page-top-active #content.site-content .sec-home-concept.sec-home-01 p br,
    body.es-page-top-active #content .sec-home-concept.sec-home-01 p br,
    body.es-page-top-active .site-content .sec-home-concept.sec-home-01 p br {
        display: none !important;
    }
    
    /* SP表示時：unit-concept-list-01 mt40のmargin-leftを0に */
    body.es-page-top-active .unit-concept-list-01.mt40,
    body.es-page-top-active #content.site-content .unit-concept-list-01.mt40,
    body.es-page-top-active #content .unit-concept-list-01.mt40,
    body.es-page-top-active .site-content .unit-concept-list-01.mt40,
    body.es-page-top-active .unit-concept-list-01.mt40 ol,
    body.es-page-top-active #content.site-content .unit-concept-list-01.mt40 ol,
    body.es-page-top-active #content .unit-concept-list-01.mt40 ol,
    body.es-page-top-active .site-content .unit-concept-list-01.mt40 ol {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }
    
    body.es-page-top-active #content.site-content h1:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03),
    body.es-page-top-active #content h1:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03),
    body.es-page-top-active .site-content h1:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03) {
        font-size: 30px !important;
    }
    
    body.es-page-top-active #content.site-content h2:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03),
    body.es-page-top-active #content h2:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03),
    body.es-page-top-active .site-content h2:not(.unit-title-01):not(.unit-title-02):not(.unit-title-03) {
        font-size: 25px !important;
    }
    
    
    body.es-page-top-active #content.site-content .box-top-works-01 .img,
    body.es-page-top-active #content .box-top-works-01 .img,
    body.es-page-top-active .site-content .box-top-works-01 .img {
        position: relative !important;
        width: 100% !important;
    }
    
    body.es-page-top-active #content.site-content .box-top-works-01 .txt-wrap,
    body.es-page-top-active #content .box-top-works-01 .txt-wrap,
    body.es-page-top-active .site-content .box-top-works-01 .txt-wrap {
        padding: 0px !important;
    }
    
    body.es-page-top-active #content.site-content .box-top-works-01 .txt-wrap .txt-inner,
    body.es-page-top-active #content .box-top-works-01 .txt-wrap .txt-inner,
    body.es-page-top-active .site-content .box-top-works-01 .txt-wrap .txt-inner {
        width: 100% !important;
        padding: 50px 20px !important;
        box-shadow: none !important;
        min-width: inherit !important;
    }
    
    body.es-page-top-active #content.site-content .box-top-works-01 .txt-wrap .txt-inner .unit-title-01,
    body.es-page-top-active #content .box-top-works-01 .txt-wrap .txt-inner .unit-title-01,
    body.es-page-top-active .site-content .box-top-works-01 .txt-wrap .txt-inner .unit-title-01 {
        font-size: 2.6rem !important; /* 15px × 2.6 = 39px */
    }
    
    body.es-page-top-active #content.site-content .box-top-works-01 .txt-wrap .txt-inner .unit-btn-01,
    body.es-page-top-active #content .box-top-works-01 .txt-wrap .txt-inner .unit-btn-01,
    body.es-page-top-active .site-content .box-top-works-01 .txt-wrap .txt-inner .unit-btn-01 {
        text-align: center !important;
    }
}

/* Serviceセクションのレイアウト */
body.es-page-top-active #content.site-content .box-top-service-01,
body.es-page-top-active #content .box-top-service-01,
body.es-page-top-active .site-content .box-top-service-01 {
        display: flex !important;
    align-items: center !important;
        background: #000 !important;
}

@media screen and (max-width: 768px) {
    body.es-page-top-active #content.site-content .box-top-service-01,
    body.es-page-top-active #content .box-top-service-01,
    body.es-page-top-active .site-content .box-top-service-01 {
        display: block !important;
    }
}

body.es-page-top-active #content.site-content .box-top-service-01 .txt-wrap,
body.es-page-top-active #content .box-top-service-01 .txt-wrap,
body.es-page-top-active .site-content .box-top-service-01 .txt-wrap {
    width: 42.6% !important;
    height: 100% !important;
    padding-left: 80px !important;
    padding-right: 100px !important;
    min-width: 580px !important;
}

@media screen and (max-width: 1024px) {
    body.es-page-top-active #content.site-content .box-top-service-01 .txt-wrap,
    body.es-page-top-active #content .box-top-service-01 .txt-wrap,
    body.es-page-top-active .site-content .box-top-service-01 .txt-wrap {
        width: 35% !important;
        padding-right: 60px !important;
    }
}

@media screen and (max-width: 768px) {
    body.es-page-top-active #content.site-content .box-top-service-01 .txt-wrap,
    body.es-page-top-active #content .box-top-service-01 .txt-wrap,
    body.es-page-top-active .site-content .box-top-service-01 .txt-wrap {
        padding: 30px 15px !important;
        min-width: inherit !important;
        width: 100% !important;
    }
}

body.es-page-top-active #content.site-content .box-top-service-01 .link-wrap,
body.es-page-top-active #content .box-top-service-01 .link-wrap,
body.es-page-top-active .site-content .box-top-service-01 .link-wrap {
    flex: 1 !important;
    display: flex !important;
    flex-wrap: wrap !important;
}

body.es-page-top-active #content.site-content .box-top-service-01 .link-wrap .link-inner,
body.es-page-top-active #content .box-top-service-01 .link-wrap .link-inner,
body.es-page-top-active .site-content .box-top-service-01 .link-wrap .link-inner {
    width: 50% !important;
    height: 300px !important;
    overflow: hidden !important;
    position: relative !important;
    opacity: 1 !important; /* 通常時も画像を表示 */
}

@media screen and (max-width: 768px) {
    body.es-page-top-active #content.site-content .box-top-service-01 .link-wrap .link-inner,
    body.es-page-top-active #content .box-top-service-01 .link-wrap .link-inner,
    body.es-page-top-active .site-content .box-top-service-01 .link-wrap .link-inner {
        width: 100% !important;
        height: 220px !important;
    }
}

@media screen and (max-width: 414px) {
    body.es-page-top-active #content.site-content .box-top-service-01 .link-wrap .link-inner,
    body.es-page-top-active #content .box-top-service-01 .link-wrap .link-inner,
    body.es-page-top-active .site-content .box-top-service-01 .link-wrap .link-inner {
        height: 150px !important;
    }
}

body.es-page-top-active #content.site-content .box-top-service-01 .link-wrap .link-inner a,
body.es-page-top-active #content .box-top-service-01 .link-wrap .link-inner a,
body.es-page-top-active .site-content .box-top-service-01 .link-wrap .link-inner a {
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    opacity: 1 !important; /* 通常時も表示 */
}

body.es-page-top-active #content.site-content .box-top-service-01 .link-wrap .link-inner a>span,
body.es-page-top-active #content .box-top-service-01 .link-wrap .link-inner a>span,
body.es-page-top-active .site-content .box-top-service-01 .link-wrap .link-inner a>span {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 153px !important;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%) !important;
}

@media screen and (max-width: 768px) {
    body.es-page-top-active #content.site-content .box-top-service-01 .link-wrap .link-inner a>span,
    body.es-page-top-active #content .box-top-service-01 .link-wrap .link-inner a>span,
    body.es-page-top-active .site-content .box-top-service-01 .link-wrap .link-inner a>span {
        height: 100% !important;
    }
}

body.es-page-top-active #content.site-content .box-top-service-01 .link-wrap .link-inner a>span .txt,
body.es-page-top-active #content .box-top-service-01 .link-wrap .link-inner a>span .txt,
body.es-page-top-active .site-content .box-top-service-01 .link-wrap .link-inner a>span .txt {
    position: absolute !important;
    bottom: 15px !important;
    left: 20px !important;
        color: #fff !important;
    font-weight: bold !important;
    font-size: 2.4rem !important; /* 15px × 2.4 = 36px */
    letter-spacing: 0.08em !important;
}

@media screen and (max-width: 768px) {
    body.es-page-top-active #content.site-content .box-top-service-01 .link-wrap .link-inner a>span .txt,
    body.es-page-top-active #content .box-top-service-01 .link-wrap .link-inner a>span .txt,
    body.es-page-top-active .site-content .box-top-service-01 .link-wrap .link-inner a>span .txt {
        bottom: 50% !important;
        transform: translateY(50%) !important;
        font-size: 2rem !important; /* 15px × 2 = 30px */
    }
}

body.es-page-top-active #content.site-content .box-top-service-01 .link-wrap .link-inner .inner-bg,
body.es-page-top-active #content .box-top-service-01 .link-wrap .link-inner .inner-bg,
body.es-page-top-active .site-content .box-top-service-01 .link-wrap .link-inner .inner-bg {
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    transition: all 0.3s !important;
    opacity: 1 !important; /* 通常時も表示 */
}

body.es-page-top-active #content.site-content .box-top-service-01 .link-wrap .link-inner.col2,
body.es-page-top-active #content .box-top-service-01 .link-wrap .link-inner.col2,
body.es-page-top-active .site-content .box-top-service-01 .link-wrap .link-inner.col2 {
    width: 100% !important;
}

/* Newsセクションのレイアウト */
body.es-page-top-active #content.site-content .sec-home-news,
body.es-page-top-active #content .sec-home-news,
body.es-page-top-active .site-content .sec-home-news {
    background: #f3f5fa !important;
    opacity: 1 !important; /* 通常時も表示 */
}

body.es-page-top-active #content.site-content .sec-home-news .unit-title-01,
body.es-page-top-active #content .sec-home-news .unit-title-01,
body.es-page-top-active .site-content .sec-home-news .unit-title-01 {
    font-size: 3.3rem !important; /* 15px × 3.3 = 49.5px */
    letter-spacing: 0.1em !important;
}

@media screen and (max-width: 768px) {
    body.es-page-top-active #content.site-content .sec-home-news .unit-title-01,
    body.es-page-top-active #content .sec-home-news .unit-title-01,
    body.es-page-top-active .site-content .sec-home-news .unit-title-01 {
        font-size: 2.6rem !important; /* 15px × 2.6 = 39px */
    text-align: center !important;
    }
}

@media screen and (max-width: 414px) {
    body.es-page-top-active #content.site-content .sec-home-news .unit-title-01,
    body.es-page-top-active #content .sec-home-news .unit-title-01,
    body.es-page-top-active .site-content .sec-home-news .unit-title-01 {
        font-size: 2.4rem !important; /* 15px × 2.4 = 36px */
    }
}

body.es-page-top-active #content.site-content .box-top-news-01,
body.es-page-top-active #content .box-top-news-01,
body.es-page-top-active .site-content .box-top-news-01 {
    display: flex !important;
}

@media screen and (max-width: 768px) {
    body.es-page-top-active #content.site-content .box-top-news-01,
    body.es-page-top-active #content .box-top-news-01,
    body.es-page-top-active .site-content .box-top-news-01 {
        display: block !important;
    }
}

body.es-page-top-active #content.site-content .box-top-news-01 .title-wrap,
body.es-page-top-active #content .box-top-news-01 .title-wrap,
body.es-page-top-active .site-content .box-top-news-01 .title-wrap {
    width: 290px !important;
}

@media screen and (max-width: 768px) {
    body.es-page-top-active #content.site-content .box-top-news-01 .title-wrap,
    body.es-page-top-active #content .box-top-news-01 .title-wrap,
    body.es-page-top-active .site-content .box-top-news-01 .title-wrap {
        width: 100% !important;
    }
}

body.es-page-top-active #content.site-content .box-top-news-01 .news-wrap,
body.es-page-top-active #content .box-top-news-01 .news-wrap,
body.es-page-top-active .site-content .box-top-news-01 .news-wrap {
    flex: 1 !important;
}

@media screen and (max-width: 768px) {
    body.es-page-top-active #content.site-content .box-top-news-01 .news-wrap,
    body.es-page-top-active #content .box-top-news-01 .news-wrap,
    body.es-page-top-active .site-content .box-top-news-01 .news-wrap {
        margin-top: 30px !important;
    }
}

/* Newsセクションのarticle要素（unit-news-01）のスタイル */
body.es-page-top-active #content.site-content article.unit-news-01,
body.es-page-top-active #content article.unit-news-01,
body.es-page-top-active .site-content article.unit-news-01,
body.es-page-top-active #content.site-content .unit-news-01,
body.es-page-top-active #content .unit-news-01,
body.es-page-top-active .site-content .unit-news-01,
body.es-page-top-active #content.site-content .news-wrap article.unit-news-01,
body.es-page-top-active #content .news-wrap article.unit-news-01,
body.es-page-top-active .site-content .news-wrap article.unit-news-01,
body.es-page-top-active #content.site-content .news-wrap .unit-news-01,
body.es-page-top-active #content .news-wrap .unit-news-01,
body.es-page-top-active .site-content .news-wrap .unit-news-01 {
    display: block !important;
    padding: 15px 0 !important;
    font-family: inherit !important; /* フォントファミリーを継承（既存サイトのスタイルを尊重） */
}

body.es-page-top-active #content.site-content article.unit-news-01 + article.unit-news-01,
body.es-page-top-active #content article.unit-news-01 + article.unit-news-01,
body.es-page-top-active .site-content article.unit-news-01 + article.unit-news-01,
body.es-page-top-active #content.site-content .unit-news-01 + .unit-news-01,
body.es-page-top-active #content .unit-news-01 + .unit-news-01,
body.es-page-top-active .site-content .unit-news-01 + .unit-news-01 {
    border-top: 1px solid #d6e0e8 !important;
}

body.es-page-top-active #content.site-content article.unit-news-01 .wrap,
body.es-page-top-active #content article.unit-news-01 .wrap,
body.es-page-top-active .site-content article.unit-news-01 .wrap,
body.es-page-top-active #content.site-content .unit-news-01 .wrap,
body.es-page-top-active #content .unit-news-01 .wrap,
body.es-page-top-active .site-content .unit-news-01 .wrap {
        display: flex !important;
    align-items: center !important; /* 日付とテキストを縦方向中央揃え */
    /* フォントファミリーは既存サイトのフォントファミリーを適用（上記のNewsセクション関連のスタイルより） */
}

body.es-page-top-active #content.site-content article.unit-news-01 .wrap time,
body.es-page-top-active #content article.unit-news-01 .wrap time,
body.es-page-top-active .site-content article.unit-news-01 .wrap time,
body.es-page-top-active #content.site-content .unit-news-01 .wrap time,
body.es-page-top-active #content .unit-news-01 .wrap time,
body.es-page-top-active .site-content .unit-news-01 .wrap time {
    color: #263775 !important;
    font-family: "Lato", sans-serif !important; /* 既存サイトのCSSより、time要素にはLatoフォント */
    font-size: 1.5rem !important; /* 15px × 1.5 = 22.5px */
    letter-spacing: 0.03em !important;
    padding-right: 35px !important;
}

body.es-page-top-active #content.site-content article.unit-news-01 .wrap .title,
body.es-page-top-active #content article.unit-news-01 .wrap .title,
body.es-page-top-active .site-content article.unit-news-01 .wrap .title,
body.es-page-top-active #content.site-content .unit-news-01 .wrap .title,
body.es-page-top-active #content .unit-news-01 .wrap .title,
body.es-page-top-active .site-content .unit-news-01 .wrap .title {
    letter-spacing: 0.08em !important;
    font-family: inherit !important; /* フォントファミリーを継承 */
}

/* Newsセクションのarticle内のaタグのスタイル（既存サイトのCSSに合わせる） */
body.es-page-top-active #content.site-content article.unit-news-01 a,
body.es-page-top-active #content article.unit-news-01 a,
body.es-page-top-active .site-content article.unit-news-01 a,
body.es-page-top-active #content.site-content .unit-news-01 a,
body.es-page-top-active #content .unit-news-01 a,
body.es-page-top-active .site-content .unit-news-01 a,
body.es-page-top-active #content.site-content .news-wrap article.unit-news-01 a,
body.es-page-top-active #content .news-wrap article.unit-news-01 a,
body.es-page-top-active .site-content .news-wrap article.unit-news-01 a,
body.es-page-top-active #content.site-content .news-wrap .unit-news-01 a,
body.es-page-top-active #content .news-wrap .unit-news-01 a,
body.es-page-top-active .site-content .news-wrap .unit-news-01 a {
    display: inline-block !important; /* 既存サイトのaタグのスタイル */
    color: inherit !important;
    transition: all 0.3s linear !important;
    outline: none !important;
    text-decoration: none !important;
    width: 100% !important; /* 幅100%で表示 */
}

body.es-page-top-active #content.site-content article.unit-news-01 a:hover,
body.es-page-top-active #content article.unit-news-01 a:hover,
body.es-page-top-active .site-content article.unit-news-01 a:hover,
body.es-page-top-active #content.site-content .unit-news-01 a:hover,
body.es-page-top-active #content .unit-news-01 a:hover,
body.es-page-top-active .site-content .unit-news-01 a:hover,
body.es-page-top-active #content.site-content .news-wrap article.unit-news-01 a:hover,
body.es-page-top-active #content .news-wrap article.unit-news-01 a:hover,
body.es-page-top-active .site-content .news-wrap article.unit-news-01 a:hover,
body.es-page-top-active #content.site-content .news-wrap .unit-news-01 a:hover,
body.es-page-top-active #content .news-wrap .unit-news-01 a:hover,
body.es-page-top-active .site-content .news-wrap .unit-news-01 a:hover {
    opacity: 0.7 !important; /* 既存サイトのhoverスタイル */
    color: inherit !important;
}

/* Propertyセクションのスタイル */
body.es-page-top-active #content.site-content .sec-home-property,
body.es-page-top-active #content .sec-home-property,
body.es-page-top-active .site-content .sec-home-property {
    opacity: 1 !important; /* 通常時も表示 */
}

body.es-page-top-active #content.site-content .sec-home-property .unit-title-01,
body.es-page-top-active #content .sec-home-property .unit-title-01,
body.es-page-top-active .site-content .sec-home-property .unit-title-01 {
    font-size: 4.2rem !important; /* 15px × 4.2 = 63px */
    letter-spacing: 0.2em !important;
}

@media screen and (max-width: 768px) {
    body.es-page-top-active #content.site-content .sec-home-property .unit-title-01,
    body.es-page-top-active #content .sec-home-property .unit-title-01,
    body.es-page-top-active .site-content .sec-home-property .unit-title-01 {
        font-size: 2.6rem !important; /* 15px × 2.6 = 39px */
    }
}

@media screen and (max-width: 414px) {
    body.es-page-top-active #content.site-content .sec-home-property .unit-title-01,
    body.es-page-top-active #content .sec-home-property .unit-title-01,
    body.es-page-top-active .site-content .sec-home-property .unit-title-01 {
        font-size: 2.4rem !important; /* 15px × 2.4 = 36px */
    }
}

body.es-page-top-active #content.site-content .sec-home-property hr,
body.es-page-top-active #content .sec-home-property hr,
body.es-page-top-active .site-content .sec-home-property hr {
    margin: 50px 0 !important;
}

body.es-page-top-active #content.site-content .sec-home-property .box-col4-01,
body.es-page-top-active #content .sec-home-property .box-col4-01,
body.es-page-top-active .site-content .sec-home-property .box-col4-01 {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-top: 15px !important;
    opacity: 1 !important; /* 通常時も表示 */
}

/* feature-advertisement-blockとes_new_blockのマージントップとパディングトップを削除 */
body.es-page-top-active #content.site-content .sec-home-property .feature-advertisement-block,
body.es-page-top-active #content .sec-home-property .feature-advertisement-block,
body.es-page-top-active .site-content .sec-home-property .feature-advertisement-block,
body.es-page-top-active #content.site-content .sec-home-property .es_new_block,
body.es-page-top-active #content .sec-home-property .es_new_block,
body.es-page-top-active .site-content .sec-home-property .es_new_block,
body.es-page-top-active #content.site-content .sec-home-property .es-list,
body.es-page-top-active #content .sec-home-property .es-list,
body.es-page-top-active .site-content .sec-home-property .es-list,
body.es-page-top-active #content.site-content .sec-home-property .es_new_block_items,
body.es-page-top-active #content .sec-home-property .es_new_block_items,
body.es-page-top-active .site-content .sec-home-property .es_new_block_items,
body.es-page-top-active #content.site-content .sec-home-property .wp-block-columns.es-list,
body.es-page-top-active #content .sec-home-property .wp-block-columns.es-list,
body.es-page-top-active .site-content .sec-home-property .wp-block-columns.es-list {
        margin-top: 0 !important;
    padding-top: 0 !important;
}
    
body.es-page-top-active #content.site-content .sec-home-property .unit-title-02,
body.es-page-top-active #content .sec-home-property .unit-title-02,
body.es-page-top-active .site-content .sec-home-property .unit-title-02 {
    margin-top: 30px !important;
    margin-bottom: 0 !important; /* 下部マージンを0に（既存サイトに合わせる） */
}

body.es-page-top-active #content.site-content .sec-home-property .unit-btn-01,
body.es-page-top-active #content .sec-home-property .unit-btn-01,
body.es-page-top-active .site-content .sec-home-property .unit-btn-01 {
    text-align: center !important;
        margin-top: 0 !important;
}

/* Propertyセクションの物件リスト（CMS生成のes_new_block_item）のレイアウト調整 */
/* 既存サイトのunit-property-01のレイアウトに合わせる */
body.es-page-top-active #content.site-content .sec-home-property .box-col4-01,
body.es-page-top-active #content .sec-home-property .box-col4-01,
body.es-page-top-active .site-content .sec-home-property .box-col4-01 {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
}

body.es-page-top-active #content.site-content .sec-home-property .es_new_block_item,
body.es-page-top-active #content .sec-home-property .es_new_block_item,
body.es-page-top-active .site-content .sec-home-property .es_new_block_item,
body.es-page-top-active #content.site-content .sec-home-property .wp-block-column.es_new_block_item,
body.es-page-top-active #content .sec-home-property .wp-block-column.es_new_block_item,
body.es-page-top-active .site-content .sec-home-property .wp-block-column.es_new_block_item {
    width: calc(25% - 15px) !important; /* 4列レイアウト */
    margin-right: 20px !important;
        margin-bottom: 20px !important;
    font-family: inherit !important;
}

body.es-page-top-active #content.site-content .sec-home-property .es_new_block_item:nth-child(4n),
body.es-page-top-active #content .sec-home-property .es_new_block_item:nth-child(4n),
body.es-page-top-active .site-content .sec-home-property .es_new_block_item:nth-child(4n),
body.es-page-top-active #content.site-content .sec-home-property .wp-block-column.es_new_block_item:nth-child(4n),
body.es-page-top-active #content .sec-home-property .wp-block-column.es_new_block_item:nth-child(4n),
body.es-page-top-active .site-content .sec-home-property .wp-block-column.es_new_block_item:nth-child(4n) {
    margin-right: 0 !important;
}

@media screen and (max-width: 768px) {
    body.es-page-top-active #content.site-content .sec-home-property .es_new_block_item,
    body.es-page-top-active #content .sec-home-property .es_new_block_item,
    body.es-page-top-active .site-content .sec-home-property .es_new_block_item,
    body.es-page-top-active #content.site-content .sec-home-property .wp-block-column.es_new_block_item,
    body.es-page-top-active #content .sec-home-property .wp-block-column.es_new_block_item,
    body.es-page-top-active .site-content .sec-home-property .wp-block-column.es_new_block_item {
        width: calc(50% - 10px) !important; /* 2列レイアウト */
    }
    
    body.es-page-top-active #content.site-content .sec-home-property .es_new_block_item:nth-child(2n),
    body.es-page-top-active #content .sec-home-property .es_new_block_item:nth-child(2n),
    body.es-page-top-active .site-content .sec-home-property .es_new_block_item:nth-child(2n),
    body.es-page-top-active #content.site-content .sec-home-property .wp-block-column.es_new_block_item:nth-child(2n),
    body.es-page-top-active #content .sec-home-property .wp-block-column.es_new_block_item:nth-child(2n),
    body.es-page-top-active .site-content .sec-home-property .wp-block-column.es_new_block_item:nth-child(2n) {
        margin-right: 0 !important;
    }
}

body.es-page-top-active #content.site-content .sec-home-property .es_new_block_link,
body.es-page-top-active #content .sec-home-property .es_new_block_link,
body.es-page-top-active .site-content .sec-home-property .es_new_block_link {
        display: block !important;
    text-decoration: none !important;
    color: inherit !important;
}

body.es-page-top-active #content.site-content .sec-home-property .es_new_block_figure,
body.es-page-top-active #content .sec-home-property .es_new_block_figure,
body.es-page-top-active .site-content .sec-home-property .es_new_block_figure,
body.es-page-top-active #content.site-content .sec-home-property .wp-block-image.es_new_block_figure,
body.es-page-top-active #content .sec-home-property .wp-block-image.es_new_block_figure,
body.es-page-top-active .site-content .sec-home-property .wp-block-image.es_new_block_figure {
    width: 100% !important;
    margin: 0 !important;
}

body.es-page-top-active #content.site-content .sec-home-property .es_new_block_figure img,
body.es-page-top-active #content .sec-home-property .es_new_block_figure img,
body.es-page-top-active .site-content .sec-home-property .es_new_block_figure img,
body.es-page-top-active #content.site-content .sec-home-property .wp-block-image.es_new_block_figure img,
body.es-page-top-active #content .sec-home-property .wp-block-image.es_new_block_figure img,
body.es-page-top-active .site-content .sec-home-property .wp-block-image.es_new_block_figure img,
body.es-page-top-active #content.site-content .sec-home-property .es_new_block_img,
body.es-page-top-active #content .sec-home-property .es_new_block_img,
body.es-page-top-active .site-content .sec-home-property .es_new_block_img {
    width: 100% !important;
    border-radius: 10px !important;
}

body.es-page-top-active #content.site-content .sec-home-property .es_new_block_name_wrap,
body.es-page-top-active #content .sec-home-property .es_new_block_name_wrap,
body.es-page-top-active .site-content .sec-home-property .es_new_block_name_wrap {
    margin-left: 0 !important;
}

body.es-page-top-active #content.site-content .sec-home-property .es_new_block_name,
body.es-page-top-active #content .sec-home-property .es_new_block_name,
body.es-page-top-active .site-content .sec-home-property .es_new_block_name {
    font-weight: bold !important;
    font-size: 2rem !important; /* 15px × 2 = 30px */
    letter-spacing: 0.08em !important;
    margin: 5px 0 10px 0 !important; /* 上部マージンを半分（10px → 5px） */
    line-height: 1.4 !important;
    display: block !important;
}

@media screen and (max-width: 768px) {
    body.es-page-top-active #content.site-content .sec-home-property .es_new_block_name,
    body.es-page-top-active #content .sec-home-property .es_new_block_name,
    body.es-page-top-active .site-content .sec-home-property .es_new_block_name {
        font-size: 1.8rem !important; /* 15px × 1.8 = 27px */
    }
}

body.es-page-top-active #content.site-content .sec-home-property .es_new_block_price,
body.es-page-top-active #content .sec-home-property .es_new_block_price,
body.es-page-top-active .site-content .sec-home-property .es_new_block_price,
body.es-page-top-active #content.site-content .sec-home-property .es_new_block_houseplan,
body.es-page-top-active #content .sec-home-property .es_new_block_houseplan,
body.es-page-top-active .site-content .sec-home-property .es_new_block_houseplan,
body.es-page-top-active #content.site-content .sec-home-property .es_new_block_access,
body.es-page-top-active #content .sec-home-property .es_new_block_access,
body.es-page-top-active .site-content .sec-home-property .es_new_block_access {
    color: #263775 !important;
    font-size: 1.5rem !important; /* 15px × 1.5 = 22.5px */
    margin: 0 !important; /* 隙間をさらに狭める（2px → 0） */
    line-height: 1.5 !important;
}

@media screen and (max-width: 768px) {
    body.es-page-top-active #content.site-content .sec-home-property .es_new_block_price,
    body.es-page-top-active #content .sec-home-property .es_new_block_price,
    body.es-page-top-active .site-content .sec-home-property .es_new_block_price,
    body.es-page-top-active #content.site-content .sec-home-property .es_new_block_houseplan,
    body.es-page-top-active #content .sec-home-property .es_new_block_houseplan,
    body.es-page-top-active .site-content .sec-home-property .es_new_block_houseplan,
    body.es-page-top-active #content.site-content .sec-home-property .es_new_block_access,
    body.es-page-top-active #content .sec-home-property .es_new_block_access,
    body.es-page-top-active .site-content .sec-home-property .es_new_block_access {
        font-size: 1.3rem !important; /* 15px × 1.3 = 19.5px */
    }
}

/* Propertyセクションのアイコンフォント表示を有効化 */
/* CMSが使用するアイコンフォントのフォントファミリーを設定 */
/* CMSは'es_font'というフォントファミリーを使用している */
body.es-page-top-active #content.site-content .sec-home-property [class*="icon-"]::before,
body.es-page-top-active #content .sec-home-property [class*="icon-"]::before,
body.es-page-top-active .site-content .sec-home-property [class*="icon-"]::before,
body.es-page-top-active #content.site-content .sec-home-property .es_new_block_price_icon::before,
body.es-page-top-active #content .sec-home-property .es_new_block_price_icon::before,
body.es-page-top-active .site-content .sec-home-property .es_new_block_price_icon::before,
body.es-page-top-active #content.site-content .sec-home-property .es_new_block_houseplan_icon::before,
body.es-page-top-active #content .sec-home-property .es_new_block_houseplan_icon::before,
body.es-page-top-active .site-content .sec-home-property .es_new_block_houseplan_icon::before,
body.es-page-top-active #content.site-content .sec-home-property .es_new_block_access_icon::before,
body.es-page-top-active #content .sec-home-property .es_new_block_access_icon::before,
body.es-page-top-active .site-content .sec-home-property .es_new_block_access_icon::before,
body.es-page-top-active #content.site-content .icon-yen-sign.es_new_block_price_icon::before,
body.es-page-top-active #content .icon-yen-sign.es_new_block_price_icon::before,
body.es-page-top-active .site-content .icon-yen-sign.es_new_block_price_icon::before,
body.es-page-top-active #content.site-content .sec-home-property span.icon-yen-sign.es_new_block_price_icon::before,
body.es-page-top-active #content .sec-home-property span.icon-yen-sign.es_new_block_price_icon::before,
body.es-page-top-active .site-content .sec-home-property span.icon-yen-sign.es_new_block_price_icon::before {
    font-family: "es_font", "Font Awesome 5 Free", "FontAwesome", "Font Awesome 5 Brands", sans-serif !important;
    font-weight: normal !important;
    font-style: normal !important;
    display: inline-block !important;
    text-rendering: auto !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
        visibility: visible !important;
        opacity: 1 !important;
    speak: never !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
}

/* .es_grid_advlist span[class^="icon-"]::beforeのマージンレフト */
body.es-page-top-active #content.site-content .es_grid_advlist span[class^="icon-"]::before,
body.es-page-top-active #content .es_grid_advlist span[class^="icon-"]::before,
body.es-page-top-active .site-content .es_grid_advlist span[class^="icon-"]::before {
    margin-left: 40px !important;
}

/* アイコン要素自体のフォント設定 */
/* CMSは'es_font'というフォントファミリーを使用している */
body.es-page-top-active #content.site-content .sec-home-property [class*="icon-"],
body.es-page-top-active #content .sec-home-property [class*="icon-"],
body.es-page-top-active .site-content .sec-home-property [class*="icon-"],
body.es-page-top-active #content.site-content .sec-home-property .es_new_block_price_icon,
body.es-page-top-active #content .sec-home-property .es_new_block_price_icon,
body.es-page-top-active .site-content .sec-home-property .es_new_block_price_icon,
body.es-page-top-active #content.site-content .sec-home-property .es_new_block_houseplan_icon,
body.es-page-top-active #content .sec-home-property .es_new_block_houseplan_icon,
body.es-page-top-active .site-content .sec-home-property .es_new_block_houseplan_icon,
body.es-page-top-active #content.site-content .sec-home-property .es_new_block_access_icon,
body.es-page-top-active #content .sec-home-property .es_new_block_access_icon,
body.es-page-top-active .site-content .sec-home-property .es_new_block_access_icon,
body.es-page-top-active #content.site-content .icon-yen-sign.es_new_block_price_icon,
body.es-page-top-active #content .icon-yen-sign.es_new_block_price_icon,
body.es-page-top-active .site-content .icon-yen-sign.es_new_block_price_icon,
body.es-page-top-active #content.site-content .sec-home-property span.icon-yen-sign.es_new_block_price_icon,
body.es-page-top-active #content .sec-home-property span.icon-yen-sign.es_new_block_price_icon,
body.es-page-top-active .site-content .sec-home-property span.icon-yen-sign.es_new_block_price_icon,
body.es-page-top-active #content.site-content .icon-home.es_new_block_houseplan_icon, body.es-page-top-active .site-content .icon-home.es_new_block_houseplan_icon{
    font-family: "es_font", "Font Awesome 5 Free", "FontAwesome", "Font Awesome 5 Brands", sans-serif !important;
    font-weight: normal !important;
    font-style: normal !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    speak: never !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* .es_new_block .es-list .wp-block-columnのborderを消す */
body.es-page-top-active #content.site-content .es_new_block .es-list .wp-block-column,
body.es-page-top-active #content .es_new_block .es-list .wp-block-column,
body.es-page-top-active .site-content .es_new_block .es-list .wp-block-column {
    border: none !important;
}

/* .es_new_block_genreのスタイル調整 */
body.es-page-top-active #content.site-content .es_new_block_genre,
body.es-page-top-active #content .es_new_block_genre,
body.es-page-top-active .site-content .es_new_block_genre {
    margin-left: 0 !important;
    margin-top: 20px !important; /* 上部マージンを倍に（現在の値の倍） */
    margin-bottom: 5px !important; /* 下部マージンを半分に（一般的な値の半分） */
}

body.es-page-top-active #content.site-content .es_new_block_genre span,
body.es-page-top-active #content .es_new_block_genre span,
body.es-page-top-active .site-content .es_new_block_genre span {
    font-size: 120% !important;
}

/* .es_grid_advlist figureの背景色を削除 */
body.es-page-top-active #content.site-content .es_grid_advlist figure,
body.es-page-top-active #content .es_grid_advlist figure,
body.es-page-top-active .site-content .es_grid_advlist figure {
    background-color: transparent !important;
    background: none !important;
}

/* Bannerセクションのレイアウト */
body.es-page-top-active #content.site-content .sec-home-bnr .unit-title-01,
body.es-page-top-active #content .sec-home-bnr .unit-title-01,
body.es-page-top-active .site-content .sec-home-bnr .unit-title-01 {
    font-size: 2.8rem !important; /* 15px × 2.8 = 42px */
    letter-spacing: 0.2em !important;
}

body.es-page-top-active #content.site-content .sec-home-bnr .unit-title-01 .sub,
body.es-page-top-active #content .sec-home-bnr .unit-title-01 .sub,
body.es-page-top-active .site-content .sec-home-bnr .unit-title-01 .sub {
    font-size: 1.3rem !important; /* 15px × 1.3 = 19.5px */
    margin-bottom: 0px !important;
}

@media screen and (max-width: 768px) {
    body.es-page-top-active #content.site-content .sec-home-bnr .unit-title-01,
    body.es-page-top-active #content .sec-home-bnr .unit-title-01,
    body.es-page-top-active .site-content .sec-home-bnr .unit-title-01 {
        font-size: 2.6rem !important; /* 15px × 2.6 = 39px */
    }
}

@media screen and (max-width: 414px) {
    body.es-page-top-active #content.site-content .sec-home-bnr .unit-title-01,
    body.es-page-top-active #content .sec-home-bnr .unit-title-01,
    body.es-page-top-active .site-content .sec-home-bnr .unit-title-01 {
        font-size: 2.4rem !important; /* 15px × 2.4 = 36px */
    }
}

body.es-page-top-active #content.site-content .box-col2-01,
body.es-page-top-active #content .box-col2-01,
body.es-page-top-active .site-content .box-col2-01 {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    opacity: 1 !important; /* 通常時も表示 */
}

body.es-page-top-active #content.site-content .box-col2-01 .inner,
body.es-page-top-active #content .box-col2-01 .inner,
body.es-page-top-active .site-content .box-col2-01 .inner {
    width: 49% !important;
}

@media screen and (max-width: 768px) {
    body.es-page-top-active #content.site-content .box-col2-01 .inner,
    body.es-page-top-active #content .box-col2-01 .inner,
    body.es-page-top-active .site-content .box-col2-01 .inner {
        width: 100% !important;
    }
    
    body.es-page-top-active #content.site-content .box-col2-01 .inner + .inner,
    body.es-page-top-active #content .box-col2-01 .inner + .inner,
    body.es-page-top-active .site-content .box-col2-01 .inner + .inner {
        margin-top: 30px !important;
    }
}

body.es-page-top-active #content.site-content .unit-top-bnr-01,
body.es-page-top-active #content .unit-top-bnr-01,
body.es-page-top-active .site-content .unit-top-bnr-01 {
    max-width: 560px !important;
    height: 220px !important;
        overflow: hidden !important;
    position: relative !important;
}

@media screen and (max-width: 768px) {
    body.es-page-top-active #content.site-content .unit-top-bnr-01,
    body.es-page-top-active #content .unit-top-bnr-01,
    body.es-page-top-active .site-content .unit-top-bnr-01 {
        margin: 0 auto !important;
    }
}

@media screen and (max-width: 414px) {
    body.es-page-top-active #content.site-content .unit-top-bnr-01,
    body.es-page-top-active #content .unit-top-bnr-01,
    body.es-page-top-active .site-content .unit-top-bnr-01 {
        height: 150px !important;
    }
}

body.es-page-top-active #content.site-content .unit-top-bnr-01:hover,
body.es-page-top-active #content .unit-top-bnr-01:hover,
body.es-page-top-active .site-content .unit-top-bnr-01:hover {
    opacity: 1 !important;
}

body.es-page-top-active #content.site-content .unit-top-bnr-01:hover a,
body.es-page-top-active #content .unit-top-bnr-01:hover a,
body.es-page-top-active .site-content .unit-top-bnr-01:hover a {
    opacity: 1 !important;
}

body.es-page-top-active #content.site-content .unit-top-bnr-01:hover .inner-bg,
body.es-page-top-active #content .unit-top-bnr-01:hover .inner-bg,
body.es-page-top-active .site-content .unit-top-bnr-01:hover .inner-bg {
    transform: scale(1.1) !important;
}

body.es-page-top-active #content.site-content .unit-top-bnr-01 .inner-bg,
body.es-page-top-active #content .unit-top-bnr-01 .inner-bg,
body.es-page-top-active .site-content .unit-top-bnr-01 .inner-bg {
        width: 100% !important;
    height: 100% !important;
        overflow: hidden !important;
    transition: all 0.3s !important;
}

body.es-page-top-active #content.site-content .unit-top-bnr-01 a,
body.es-page-top-active #content .unit-top-bnr-01 a,
body.es-page-top-active .site-content .unit-top-bnr-01 a {
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
}

body.es-page-top-active #content.site-content .unit-top-bnr-01 a > .unit-title-01,
body.es-page-top-active #content .unit-top-bnr-01 a > .unit-title-01,
body.es-page-top-active .site-content .unit-top-bnr-01 a > .unit-title-01 {
    position: absolute !important;
    width: 100% !important;
    left: 40px !important;
    top: 52% !important;
    transform: translateY(-50%) !important;
}

/* ========================================
   動的ページ（物件一覧ページなど）の除外
   ======================================== */

/* 動的ページ（.es-dynamic-page-markerが存在するページ）では、コンテンツ用CSSを適用しない */
/* いい生活CMSのCSSはそのまま残ります */
/* マーカー要素: <div class="es-dynamic-page-marker"></div> を動的ページに設置してください */

/* 注意: すべてのコンテンツ用CSSセレクターは body.es-page-top-active を条件としているため、 */
/* 動的ページでは body.es-page-top-active クラスがないため、基本的には適用されません */
/* 念のため、動的ページでは:rootのフォントサイズのみ無効化します */

/* ========================================
   Aboutページ（静的ページ）の横幅100%対応
   ======================================== */

/* Aboutページで.es-containerのmax-widthを無効化して横幅100%にする */
/* Aboutページは静的ページなので、es-dynamic-page-markerは適用されません */
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear .es-container,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) #content .es-container,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .site-content .es-container {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: contents !important;
}

/* Aboutページで#primary, #main, articleも横幅100%にする */
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear #primary,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear #main,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear article {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: contents !important;
}

/* ========================================
   Aboutページのスタイル（既存サイトのスタイルを適用）
   ======================================== */

/* 実績紹介（Works）ページの見出しスタイル */
.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;
    margin-top: 80px !important;
    height: 200px !important;

}

@media screen and (max-width: 768px) {
    .box-undertitle-01 .title-wrap.works-813 {
        margin-top: 0px !important; /* マージンを縮小 */
        height: 150px !important; /* Newsページと同じ高さ */
    }
    
    .box-undertitle-01 .title-wrap.works-813 h1,
    .box-undertitle-01 .title-wrap.works-813 .title {
        font-size: 2.4rem !important; /* フォントサイズを縮小 */
    }
}

@media screen and (max-width: 414px) {
    .box-undertitle-01 .title-wrap.works-813 {
        margin-top: 35px !important; /* マージンを縮小 */
        height: 100px !important; /* Newsページと同じ高さ */
    }
    
    .box-undertitle-01 .title-wrap.works-813 h1,
    .box-undertitle-01 .title-wrap.works-813 .title {
        font-size: 2.4rem !important; /* 既存の.title-wrap .titleと同じサイズ */
    }
}

/* Worksページ（works-813）のパンくずリストを非表示 */
.box-undertitle-01 .title-wrap.works-813 ~ .breadcrumb,
.box-undertitle-01 .title-wrap.works-813 ~ * .breadcrumb,
main .breadcrumb:has(~ .box-undertitle-01 .title-wrap.works-813),
.entry-content .breadcrumb:has(~ .box-undertitle-01 .title-wrap.works-813) {
    display: none !important;
}

/* Worksページのパンくずリストを非表示（より確実な方法） */
body:has(.box-undertitle-01 .title-wrap.works-813) .breadcrumb {
    display: none !important;
}

/* Ownerページ（owner）のタイトルスタイル */
.box-undertitle-01 .title-wrap.owner {
    background: #fff !important;
    margin-top: 80px !important;
    height: 150px !important;
}

@media screen and (max-width: 768px) {
    .box-undertitle-01 .title-wrap.owner {
        margin-top: 0px !important;
        height: 150px !important;
    }
}

@media screen and (max-width: 414px) {
    .box-undertitle-01 .title-wrap.owner {
        margin-top: 35px !important;
        height: 100px !important;
    }
}

.box-undertitle-01 .title-wrap.owner h1,
.box-undertitle-01 .title-wrap.owner .title {
    display: block !important;
    font-size: 4rem !important;
    letter-spacing: 0.2em !important;
    font-weight: bold !important;
    color: #000 !important;
}

.box-undertitle-01 .title-wrap.owner .ruby {
    display: block !important;
    font-size: 1.6rem !important;
    color: #808285 !important;
    letter-spacing: 0.2em !important;
    font-family: "Lato", sans-serif !important;
    margin-bottom: 15px !important;
}

@media screen and (max-width: 768px) {
    .box-undertitle-01 .title-wrap.owner h1,
    .box-undertitle-01 .title-wrap.owner .title {
        font-size: 3rem !important;
    }
    
    .box-undertitle-01 .title-wrap.owner .ruby {
        font-size: 1.4rem !important;
        margin-bottom: 10px !important;
    }
}

@media screen and (max-width: 414px) {
    .box-undertitle-01 .title-wrap.owner h1,
    .box-undertitle-01 .title-wrap.owner .title {
        font-size: 2.4rem !important;
    }
}

/* Ownerページのsec-ownerセクション */
.sec-owner {
    padding-bottom: 90px !important;
}

@media screen and (max-width: 768px) {
    .sec-owner {
        padding-bottom: 45px !important;
    }
    
    .sec-owner .fs26 {
        font-size: 2.2rem !important;
    }
}

@media screen and (max-width: 414px) {
    .sec-owner .fs26 {
        font-size: 1.8rem !important;
    }
}

/* Privacy Policyページ（privacypolicy）のタイトルスタイル */
.box-undertitle-01 .title-wrap.privacypolicy {
    background: #fff !important;
    margin-top: 80px !important;
    height: 150px !important;
}

@media screen and (max-width: 768px) {
    .box-undertitle-01 .title-wrap.privacypolicy {
        margin-top: 0px !important;
        height: 150px !important;
    }
}

@media screen and (max-width: 414px) {
    .box-undertitle-01 .title-wrap.privacypolicy {
        margin-top: 35px !important;
        height: 100px !important;
    }
}

.box-undertitle-01 .title-wrap.privacypolicy h1,
.box-undertitle-01 .title-wrap.privacypolicy .title {
    display: block !important;
    font-size: 4rem !important;
    letter-spacing: 0.2em !important;
    font-weight: bold !important;
    color: #000 !important;
}

.box-undertitle-01 .title-wrap.privacypolicy .ruby {
    display: block !important;
    font-size: 1.6rem !important;
    color: #808285 !important;
    letter-spacing: 0.2em !important;
    font-family: "Lato", sans-serif !important;
    margin-bottom: 15px !important;
}

@media screen and (max-width: 768px) {
    .box-undertitle-01 .title-wrap.privacypolicy h1,
    .box-undertitle-01 .title-wrap.privacypolicy .title {
        font-size: 3rem !important;
    }
    
    .box-undertitle-01 .title-wrap.privacypolicy .ruby {
        font-size: 1.4rem !important;
        margin-bottom: 10px !important;
    }
}

@media screen and (max-width: 414px) {
    .box-undertitle-01 .title-wrap.privacypolicy h1,
    .box-undertitle-01 .title-wrap.privacypolicy .title {
        font-size: 2.4rem !important;
    }
}

.box-undertitle-01 .title-wrap.works-813 h1,
.box-undertitle-01 .title-wrap.works-813 .title {
    display: block !important;
  font-size: 4rem;
  letter-spacing: 0.2em !important;
  font-weight: bold !important;
  color: #000 !important;
}

.box-undertitle-01 .title-wrap.works-813 .ruby {
    display: block !important;
  font-size: 1.6rem !important;
  color: #808285 !important;
  letter-spacing: 0.2em !important;
  font-family: "Lato", sans-serif !important;
  margin-bottom: 15px !important;
}

@media screen and (max-width: 768px) {
    .box-undertitle-01 .title-wrap.works-813 .ruby {
        font-size: 1.4rem !important; /* Newsページと同じサイズ */
        margin-bottom: 10px !important; /* マージンを調整 */
    }
}

/* box-undertitle-01（ページタイトル部分） */
/* Aboutページの場合、#pageのpadding-topと重複しないようにmargin-topを調整 */
.box-undertitle-01 .title-wrap {
    position: relative !important;
    width: 100% !important;
    height: 240px !important;
    margin-top: 0 !important; /* #pageのpadding-topと重複しないように0に */
    background: #fff !important;
    background-size: cover !important;
}

@media screen and (max-width: 768px) {
    .box-undertitle-01 .title-wrap {
        height: 150px !important;
        margin-top: 0 !important; /* #pageのpadding-topと重複しないように0に */
    }
}

@media screen and (max-width: 414px) {
    .box-undertitle-01 .title-wrap {
        height: 100px !important;
    }
}

.box-undertitle-01 .title-wrap .title-inner {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    -webkit-transform: translate(-50%, -50%) !important;
    -ms-transform: translate(-50%, -50%) !important;
    transform: translate(-50%, -50%) !important;
    width: 100% !important;
    text-align: center !important;
}

.box-undertitle-01 .title-wrap h1 {
    font-size: 4rem !important;
    letter-spacing: 0.2em !important;
    font-weight: bold !important;
    color: #000 !important;
}

@media screen and (max-width: 768px) {
    .box-undertitle-01 .title-wrap h1 {
        font-size: 3rem !important;
    }
}

@media screen and (max-width: 414px) {
    .box-undertitle-01 .title-wrap h1 {
        font-size: 2.4rem !important;
    }
}

.box-undertitle-01 .title-wrap .title {
    display: block !important;
    font-size: 4rem !important;
    letter-spacing: 0.2em !important;
    font-weight: bold !important;
    color: #000 !important;
}

@media screen and (max-width: 768px) {
    .box-undertitle-01 .title-wrap .title {
        font-size: 3rem !important;
    }
}

@media screen and (max-width: 414px) {
    .box-undertitle-01 .title-wrap .title {
        font-size: 2.4rem !important;
    }
}

.box-undertitle-01 .title-wrap .ruby {
    display: block !important;
    font-size: 1.6rem !important;
    color: #808285 !important;
    letter-spacing: 0.2em !important;
    font-family: "Lato", sans-serif !important;
    margin-bottom: 15px !important;
}

@media screen and (max-width: 768px) {
    .box-undertitle-01 .title-wrap .ruby {
        font-size: 1.4rem !important;
    }
}

/* unit-title-04（セクション見出し） */
.sec-company .section-philosophy .unit-title-04,
.sec-company .section-information-3b .unit-title-04,
.sec-company .section-access .unit-title-04 {
    font-size: 3.6rem !important;
    letter-spacing: 0.2em !important;
    line-height: 1.7 !important;
    text-align: center !important;
    position: relative !important;
    padding-bottom: 20px !important;
    font-weight: bold !important;
    color: #000 !important;
}

@media screen and (max-width: 768px) {
    .sec-company .section-philosophy .unit-title-04,
    .sec-company .section-information-3b .unit-title-04,
    .sec-company .section-access .unit-title-04 {
        font-size: 2.8rem !important;
    }
}

@media screen and (max-width: 414px) {
    .sec-company .section-philosophy .unit-title-04,
    .sec-company .section-information-3b .unit-title-04,
    .sec-company .section-access .unit-title-04 {
        font-size: 2.2rem !important;
        letter-spacing: 0.2em !important;
    }
}

.sec-company .section-philosophy .unit-title-04:after,
.sec-company .section-information-3b .unit-title-04:after,
.sec-company .section-access .unit-title-04:after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    -webkit-transform: translateX(-50%) !important;
    -ms-transform: translateX(-50%) !important;
    transform: translateX(-50%) !important;
    width: 30px !important;
    height: 1px !important;
    background: #000 !important;
}

/* 企業理念セクション */
.sec-company .section-philosophy {
    background: #edeff4 !important;
    padding: 70px 0 80px !important;
}

@media screen and (max-width: 768px) {
    .sec-company .section-philosophy {
        padding: 40px 0 !important;
    }
}

/* 会社概要セクション */
.sec-company .section-information-3b {
    padding: 70px 0 80px !important;
}

@media screen and (max-width: 768px) {
    .sec-company .section-information-3b {
        padding: 40px 0 !important;
    }
}

.sec-company .section-information-3b .unit-information3b-02 {
    width: 100% !important;
}

@media screen and (max-width: 768px) {
    .sec-company .section-information-3b .unit-information3b-02 {
        font-size: 1.4rem !important;
        margin-top: -1px !important;
    }
}

.sec-company .section-information-3b .unit-information3b-02 {
    border-collapse: collapse !important;
    border-spacing: 0 !important;
}

.sec-company .section-information-3b .unit-information3b-02 tr td,
.sec-company .section-information-3b .unit-information3b-02 tr th {
    border-bottom: 1px solid #e1e1e1 !important;
    padding: 15px 0 !important;
    letter-spacing: 0.08em !important;
    vertical-align: top !important;
        line-height: 1.6 !important;
    }
    
@media screen and (max-width: 768px) {
    .sec-company .section-information-3b .unit-information3b-02 tr td,
    .sec-company .section-information-3b .unit-information3b-02 tr th {
        padding: 10px 0 !important;
    }
}

.sec-company .section-information-3b .unit-information3b-02 tr:first-child th,
.sec-company .section-information-3b .unit-information3b-02 tr:first-child td {
        padding-top: 0 !important;
}

.sec-company .section-information-3b .unit-information3b-02 tr th {
    width: 160px !important;
    text-align: left !important;
    font-weight: bold !important;
    letter-spacing: 0.1em !important;
    vertical-align: top !important;
}

.sec-company .section-information-3b .unit-information3b-02 tr td {
    vertical-align: top !important;
}

@media screen and (max-width: 414px) {
    .sec-company .section-information-3b .unit-information3b-02 tr th {
        width: 100px !important;
    }
}

.sec-company .section-information-3b .box-information3b-01 {
    width: 800px !important;
    margin: auto !important;
    margin-top: 40px !important;
    max-width: 100% !important;
}

@media screen and (max-width: 768px) {
    .sec-company .section-information-3b .box-information3b-01 {
        margin-top: 20px !important;
    }
}

/* アクセスセクション（section-accessとsection-access-4cの両方に対応） */
.sec-company .section-access,
.sec-company .section-access-4c {
    background: #edeff4 !important;
    padding: 70px 0 80px !important;
}

@media screen and (max-width: 768px) {
    .sec-company .section-access,
    .sec-company .section-access-4c {
        padding: 40px 0 !important;
    }
}

.sec-company .section-access .unit-access4c-02 .title,
.sec-company .section-access-4c .unit-access4c-02 .title,
.sec-company .section-access h3.title {
    font-weight: bold !important;
    font-size: 2.4rem !important;
    margin-bottom: 10px !important;
    letter-spacing: 0.15em !important;
}

@media screen and (max-width: 768px) {
    .sec-company .section-access .unit-access4c-02 .title,
    .sec-company .section-access-4c .unit-access4c-02 .title,
    .sec-company .section-access h3.title {
        font-size: 1.6rem !important;
        margin-bottom: 5px !important;
    }
}

.sec-company .section-access .unit-access4c-02 .txt,
.sec-company .section-access-4c .unit-access4c-02 .txt,
.sec-company .section-access p.txt {
    font-size: 1.5rem !important;
    letter-spacing: 0.08em !important;
}

@media screen and (max-width: 768px) {
    .sec-company .section-access .unit-access4c-02 .txt,
    .sec-company .section-access-4c .unit-access4c-02 .txt,
    .sec-company .section-access p.txt {
        font-size: 1.4rem !important;
    }
}

.sec-company .section-access .unit-access4c-02 .map,
.sec-company .section-access-4c .unit-access4c-02 .map,
.sec-company .section-access .map {
    margin-top: 20px !important;
}

@media screen and (max-width: 768px) {
    .sec-company .section-access .unit-access4c-02 .map,
    .sec-company .section-access-4c .unit-access4c-02 .map,
    .sec-company .section-access .map {
        margin-top: 10px !important;
    }
}

.sec-company .section-access .unit-access4c-02 .map iframe,
.sec-company .section-access-4c .unit-access4c-02 .map iframe,
.sec-company .section-access .map iframe,
.sec-company .section-access iframe {
    height: 324px !important;
    width: 100% !important;
}

@media screen and (max-width: 768px) {
    .sec-company .section-access .unit-access4c-02 .map iframe,
    .sec-company .section-access-4c .unit-access4c-02 .map iframe,
    .sec-company .section-access .map iframe,
    .sec-company .section-access iframe {
        height: 200px !important;
    }
}

/* ========================================
   Newsページのスタイル調整
   ======================================== */

/* Newsページで.es-containerのmax-widthを無効化して横幅100%にする */
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear .es-container,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) #content .es-container,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .site-content .es-container {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: contents !important;
}

/* Newsページで#primary, #main, articleも横幅100%にする */
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear #primary,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear #main,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear article {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: contents !important;
}

/* box-article-01（記事リスト）のスタイル */
.box-article-01 {
    max-width: 900px !important;
    margin: auto !important;
}

/* お知らせページ：ulの左マージンを0に（PC/SP共通） */
.box-article-01 ul {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

.box-article-01 ul li {
    margin-bottom: 10px !important;
}

.box-article-01 ul li a {
    display: flex !important;
    background: #edeff4 !important;
    padding: 17px 30px !important;
}

@media screen and (max-width: 768px) {
    .box-article-01 ul li a {
    display: block !important;
        padding: 15px 20px !important;
    }
}

.box-article-01 ul li a .date {
    width: 140px !important;
    font-family: "Lato", sans-serif !important;
    font-weight: bold !important;
    font-size: 1.5rem !important;
    color: #253675 !important;
    letter-spacing: 0.03em !important;
}

@media screen and (max-width: 768px) {
    .box-article-01 ul li a .date {
        width: auto !important;
    display: block !important;
        font-size: 1.3rem !important;
    }
}

.box-article-01 ul li a .title {
    flex: 1 !important;
    transition: color 0.3s !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}

@media screen and (max-width: 768px) {
    .box-article-01 ul li a .title {
    width: 100% !important;
    display: block !important;
    }
}

/* ページャーのサイズを調整（元の75%程度） */
.box-article-01 .wp-pagenavi > a,
.box-article-01 .wp-pagenavi > span {
    min-width: 33px !important;
    min-height: 33px !important;
    line-height: 33px !important;
    font-size: 1.575rem !important;
    margin: 0 7px 3px !important;
    padding: 0 3px !important;
}

@media screen and (max-width: 768px) {
    .box-article-01 .wp-pagenavi > a,
    .box-article-01 .wp-pagenavi > span {
        min-width: 26px !important;
        min-height: 26px !important;
        line-height: 26px !important;
        font-size: 1.125rem !important;
        margin: 0 3.5px 3px !important;
    }
}

@media screen and (max-width: 414px) {
    .box-article-01 .wp-pagenavi > a,
    .box-article-01 .wp-pagenavi > span {
        min-width: 22px !important;
        min-height: 22px !important;
        line-height: 22px !important;
        font-size: 0.975rem !important;
    }
}

/* ========================================
   News詳細ページ（/info/配下）のスタイル調整
   ======================================== */

/* /info/配下のページで.es-containerのmax-widthを無効化して横幅100%にする */
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear .es-container,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) #content .es-container,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .site-content .es-container {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: contents !important;
}

/* /info/配下のページで#primary, #main, articleも横幅100%にする */
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear #primary,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear #main,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear article {
    max-width: none !important;
        width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: contents !important;
}

/* box-singletitle-01（詳細ページのタイトル部分） */
.box-singletitle-01 {
    margin-bottom: 30px !important;
}

.box-singletitle-01 .date {
    font-family: "Lato", sans-serif !important;
    font-size: 1.5rem !important;
    color: #253675 !important;
    letter-spacing: 0.03em !important;
    display: block !important;
    margin-bottom: 10px !important;
}

@media screen and (max-width: 768px) {
    .box-singletitle-01 .date {
        font-size: 1.3rem !important;
    }
}

.box-singletitle-01 h1 {
    font-size: 2.4rem !important;
    font-weight: bold !important;
    letter-spacing: 0.1em !important;
    line-height: 1.6 !important;
    }
    
@media screen and (max-width: 768px) {
    .box-singletitle-01 h1 {
        font-size: 1.8rem !important;
    }
}

/* box-blogdetail-01（詳細ページの本文部分） */
.box-blogdetail-01 {
    font-size: 1.6rem !important;
    line-height: 1.8 !important;
    letter-spacing: 0.05em !important;
}

@media screen and (max-width: 768px) {
    .box-blogdetail-01 {
        font-size: 1.4rem !important;
    }
}

.box-blogdetail-01 p {
    margin-bottom: 20px !important;
}

@media screen and (max-width: 768px) {
    .box-blogdetail-01 p {
        margin-bottom: 15px !important;
    }
}

.box-blogdetail-01 > *:first-child {
    margin-top: 0 !important;
}

/* Blog詳細ページ（/blog/配下）の画像2つ並び表示（既存サイトの構造に合わせる） */
/* box-col2-02とunit-gallery-01は既存のstyle.cssで定義されているため、追加のスタイルは不要 */

/* ========================================
   Contactページのスタイル調整
   ======================================== */

/* Contactページで.es-containerのmax-widthを無効化して横幅100%にする */
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear .es-container,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) #content .es-container,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .site-content .es-container {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: contents !important;
}

/* Contactページで#primary, #main, articleも横幅100%にする */
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear #primary,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear #main,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear article {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: contents !important;
}

/* Contactページのh1見出し下部マージン調整 */
.box-undertitle-01.contact-page-title {
        margin-bottom: 0 !important;
}

.box-undertitle-01.contact-page-title .title-wrap.contact {
    margin-bottom: 0 !important;
}

/* Contactページのunderwrapper上部マージン調整（box-undertitle-01の直後） */
.box-undertitle-01.contact-page-title + .underwrapper {
        margin-top: 0 !important;
    }
    
/* Contactページのsec-contact-01上部マージン調整 */
.sec-contact-01 {
        margin-top: 0 !important;
}


/* sec-contact-01（フォームセクション）のスタイル */
.sec-contact-01 {
    padding: 0px 0 80px !important;
}

@media screen and (max-width: 768px) {
    .sec-contact-01 {
        padding: 40px 0 !important;
    }
}

.sec-contact-01 .wrapper.mb80 {
        width: 100% !important;
    max-width: 1000px !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
    box-sizing: border-box !important;
}

@media screen and (max-width: 767px) {
    .sec-contact-01 .wrapper.mb80 {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    }
}

.sec-contact-01 .wrapper.mb80 p {
    font-size: 1.6rem !important;
    line-height: 1.8 !important;
    letter-spacing: 0.05em !important;
        margin-bottom: 20px !important;
    }
    
@media screen and (max-width: 768px) {
    .sec-contact-01 .wrapper.mb80 p {
        font-size: 1.4rem !important;
        margin-bottom: 15px !important;
    }
}

.sec-contact-01 .required {
    color: #ff960b !important;
    font-weight: bold !important;
}

.sec-contact-01 a {
    color: #407aea !important;
    text-decoration: underline !important;
}

.sec-contact-01 a:hover {
    color: #333 !important;
}

/* Contactページのフォーム内ラベルのフォントサイズ調整 */
.sec-contact-01 .es-form-label {
    font-size: 16px !important;
}

@media screen and (max-width: 767px) {
    .sec-contact-01 .es-form-label {
        font-size: 14px !important;
    }
}

/* ========================================
   Thanksページのスタイル調整（お知らせページと同じスタイル）
   ======================================== */

/* Thanksページで.es-containerのmax-widthを無効化して横幅100%にする */
/* インラインスタイルを上書きするため、より強力なセレクターを使用 */
body.es-page-thanks .es-container[style],
body.es-page-thanks .es-container,
body.es-page-thanks #content .es-container[style],
body.es-page-thanks #content .es-container,
body.es-page-thanks .site-content .es-container[style],
body.es-page-thanks .site-content .es-container,
body.es-page-thanks #content.site-content .es-container[style],
body.es-page-thanks #content.site-content .es-container,
body.es-page-thanks:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear .es-container[style],
body.es-page-thanks:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear .es-container,
body.es-page-thanks:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) #content .es-container[style],
body.es-page-thanks:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) #content .es-container,
body.es-page-thanks:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .site-content .es-container[style],
body.es-page-thanks:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .site-content .es-container {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: contents !important;
}

/* Thanksページで#primary, #main, articleも横幅100%にする */
/* インラインスタイルを上書きするため、より強力なセレクターを使用 */
body.es-page-thanks #primary[style],
body.es-page-thanks #primary,
body.es-page-thanks #main[style],
body.es-page-thanks #main,
body.es-page-thanks article[style],
body.es-page-thanks article,
body.es-page-thanks:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear #primary[style],
body.es-page-thanks:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear #primary,
body.es-page-thanks:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear #main[style],
body.es-page-thanks:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear #main,
body.es-page-thanks:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear article[style],
body.es-page-thanks:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear article {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: contents !important;
}

/* Thanksページのbox-undertitle-01（Contactページと同じ構造） */
body.es-page-thanks .box-undertitle-01.thanks-page-title {
        margin-bottom: 0 !important;
    }

body.es-page-thanks .box-undertitle-01.thanks-page-title .title-wrap.thanks {
    margin-bottom: 0 !important;
}

/* Thanksページのunderwrapper上部マージン調整（box-undertitle-01の直後） */
body.es-page-thanks .box-undertitle-01.thanks-page-title + .underwrapper {
    margin-top: 0 !important;
}

/* Thanksページのsec-contact-01（Contactページと同じ構造） */
body.es-page-thanks .sec-contact-01 {
    margin-top: 0 !important;
    padding: 0px 0 80px !important;
}

@media screen and (max-width: 768px) {
    body.es-page-thanks .sec-contact-01 {
        padding: 40px 0 !important;
    }
}

body.es-page-thanks .sec-contact-01 .wrapper.mb80 {
        width: 100% !important;
    max-width: 1000px !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
        box-sizing: border-box !important;
    }
    
@media screen and (max-width: 767px) {
    body.es-page-thanks .sec-contact-01 .wrapper.mb80 {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    }
}

body.es-page-thanks .sec-contact-01 .wrapper.mb80 p {
    font-size: 1.6rem !important;
    line-height: 1.8 !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 20px !important;
    text-align: center !important;
}

@media screen and (max-width: 768px) {
    body.es-page-thanks .sec-contact-01 .wrapper.mb80 p {
        font-size: 1.4rem !important;
        margin-bottom: 15px !important;
    }
}

body.es-page-thanks .sec-contact-01 a {
    color: #407aea !important;
    text-decoration: underline !important;
}

body.es-page-thanks .sec-contact-01 a:hover {
    color: #333 !important;
}

/* ========================================
   FAQページのスタイル調整
   ======================================== */

/* FAQページで.es-containerのmax-widthを無効化して横幅100%にする */
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear .es-container,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) #content .es-container,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .site-content .es-container {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: contents !important;
}

/* FAQページで#primary, #main, articleも横幅100%にする */
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear #primary,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear #main,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear article {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: contents !important;
}

/* FAQページのbox-undertitle-01 */
.box-undertitle-01.faq-page-title {
        margin-bottom: 0 !important;
    }

.box-undertitle-01.faq-page-title .title-wrap.faq {
    margin-bottom: 0 !important;
}

/* FAQページのunderwrapper上部マージン調整 */
.box-undertitle-01.faq-page-title + .underwrapper {
    margin-top: 0 !important;
}

/* FAQページのsec-faq */
.sec-faq {
    padding-bottom: 90px !important;
}

@media screen and (max-width: 768px) {
    .sec-faq {
        padding-bottom: 45px !important;
    }
}

.sec-faq .wrapper {
    width: 100% !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
    box-sizing: border-box !important;
}

/* FAQページのbox-anchor-02 */
.sec-faq .box-anchor-02 {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    margin-bottom: 0 !important;
}

.sec-faq .box-anchor-02 .inner {
    padding: 0 15px !important;
}

.sec-faq .box-anchor-02 .inner:before {
    content: "\f107" !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    padding-right: 5px !important;
}

@media screen and (max-width: 768px) {
    .sec-faq .box-anchor-02 {
        padding-left: 0 !important;
        padding-right: 0 !important;
        justify-content: flex-start !important;
    }
    
    .sec-faq .box-anchor-02 .inner {
    display: block !important;
        width: 50% !important;
        padding: 0 10px !important;
        text-align: center !important;
    }
    
    .sec-faq .box-anchor-02 .inner:nth-of-type(n+2) {
        border-left: 0 !important;
    }
    
    .sec-faq .box-anchor-02 .inner:nth-of-type(n+3) {
        margin-top: 5px !important;
    }
}

/* FAQページのunit-title-05 */
.sec-faq .unit-title-05 {
    font-weight: bold !important;
    font-size: 2.6rem !important;
    letter-spacing: 0.2em !important;
    /* アンカーリンクの位置調整：固定ヘッダーの高さ + 50pxの余分なオフセット */
    scroll-margin-top: 130px !important; /* 80px + 50px */
}

@media screen and (max-width: 768px) {
    .sec-faq .unit-title-05 {
        font-size: 2.2rem !important;
        /* SP表示時：ヘッダーの高さ55px + 50pxの余分なオフセット */
        scroll-margin-top: 105px !important; /* 55px + 50px */
    }
}

/* FAQページのbox-faq-01 */
.sec-faq .box-faq-01 {
    background: #d7dce9 !important;
    padding: 50px 20px !important;
}

@media screen and (max-width: 768px) {
    .sec-faq .box-faq-01 {
        padding: 20px !important;
    }
}

/* FAQページのunit-faq-01 */
.sec-faq .unit-faq-01 {
    max-width: 900px !important;
    margin: auto !important;
    border-bottom: 1px solid #fff !important;
    padding: 20px 0 !important;
}

@media screen and (max-width: 768px) {
    .sec-faq .unit-faq-01 {
        padding: 15px 0 !important;
    }
}

.sec-faq .unit-faq-01:last-child {
    border-bottom: 0px !important;
}

.sec-faq .unit-faq-01 .q {
    font-size: 2rem !important;
    position: relative !important;
    padding-right: 1.5em !important;
    padding-left: 1.5em !important;
    text-indent: -1.5em !important;
    cursor: pointer !important;
    letter-spacing: 0.08em !important;
    font-weight: bold !important;
}

@media screen and (max-width: 768px) {
    .sec-faq .unit-faq-01 .q {
        font-size: 1.6rem !important;
    }
}

.sec-faq .unit-faq-01 .q:before {
    content: "Q." !important;
    margin-right: 10px !important;
    font-size: 2.4rem !important;
    font-family: "Lato", sans-serif !important;
    font-weight: 400 !important;
}

@media screen and (max-width: 768px) {
    .sec-faq .unit-faq-01 .q:before {
        font-size: 1.8rem !important;
        margin-right: 5px !important;
    }
}

.sec-faq .unit-faq-01 .q:after {
    content: "\f061" !important;
    font-family: Fontawesome !important;
    font-size: 1.5rem !important;
    position: absolute !important;
    right: 0 !important;
    width: 1em !important;
    height: 1em !important;
    display: block !important;
    line-height: 1em !important;
    text-indent: 0 !important;
}

@media screen and (max-width: 768px) {
    .sec-faq .unit-faq-01 .q:after {
        font-size: 1.3rem !important;
    }
}

.sec-faq .unit-faq-01 .a .con {
    background: #fff !important;
    padding: 30px !important;
    position: relative !important;
    margin-top: 30px !important;
    letter-spacing: 0.08em !important;
}

@media screen and (max-width: 768px) {
    .sec-faq .unit-faq-01 .a .con {
        padding: 20px !important;
        margin-top: 20px !important;
    }
}

.sec-faq .unit-faq-01 .a .con:before {
    content: "" !important;
    position: absolute !important;
    top: -20px !important;
    width: 0 !important;
    height: 0 !important;
    border-style: solid !important;
    border-width: 0 20px 24px 20px !important;
    border-color: transparent transparent #fff transparent !important;
}

@media screen and (max-width: 768px) {
    .sec-faq .unit-faq-01 .a .con:before {
        top: -10px !important;
        border-width: 0 10px 12px 10px !important;
    }
}

.sec-faq .unit-faq-01 .a .txt-box {
    font-size: 1.6rem !important;
    line-height: 1.8 !important;
    letter-spacing: 0.05em !important;
}

@media screen and (max-width: 768px) {
    .sec-faq .unit-faq-01 .a .txt-box {
        font-size: 1.4rem !important;
    }
}

.sec-faq .unit-faq-01 .a .txt-box .txt {
    margin: 0 !important;
}

/* ========================================
   Serviceページのスタイル調整
   ======================================== */

/* Serviceページで.es-containerのmax-widthを無効化して横幅100%にする */
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear .es-container,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) #content .es-container,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .site-content .es-container {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: contents !important;
}

/* Serviceページで#primary, #main, articleも横幅100%にする */
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear #primary,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear #main,
body:not(:has(.es-dynamic-page-marker)):not(.es-dynamic-page) .entry-content.clear article {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: contents !important;
}

/* Serviceページのbox-undertitle-01 */
.box-undertitle-01.service-page-title {
    margin-bottom: 0 !important;
}

.box-undertitle-01.service-page-title .title-wrap.service {
    margin-bottom: 200px !important; /* 画像の下マージンを調整 */
    position: relative !important;
}

@media screen and (max-width: 768px) {
    .box-undertitle-01.service-page-title .title-wrap.service {
        margin-bottom: 150px !important;
    }
}

@media screen and (max-width: 414px) {
    .box-undertitle-01.service-page-title .title-wrap.service {
        margin-bottom: 100px !important;
    }
}

/* Serviceページのtitle-wrap.serviceの位置調整（PC） */
.box-undertitle-01 .title-wrap.service,
.box-undertitle-01.service-page-title .title-wrap.service {
    position: relative !important;
}

/* Serviceページのtitle-innerの位置調整（PC） */
.box-undertitle-01 .title-wrap.service .title-inner,
.box-undertitle-01.service-page-title .title-wrap.service .title-inner {
    position: absolute !important;
    top: -90% !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    z-index: 1 !important;
    text-align: center !important;
}

/* Serviceページのタイトル画像（::after）の位置調整（PC） */
.box-undertitle-01 .title-wrap.service::after,
.box-undertitle-01.service-page-title .title-wrap.service::after {
    content: "" !important;
    background: url("/app/uploads/sites/1446/2025/12/title_service.jpg") center center/cover no-repeat !important;
    width: 100% !important;
    height: 400px !important;
    display: block !important;
    margin-top: 200px !important; /* PC表示時：見出しの下に配置 */
    margin-bottom: 0 !important; /* 下マージンを削除 */
    position: relative !important;
    z-index: 0 !important;
}

@media screen and (max-width: 768px) {
    .box-undertitle-01.service-page-title .title-wrap.service::after {
        height: 250px !important;
        margin-top: 150px !important;
    }
}

@media screen and (max-width: 414px) {
    .box-undertitle-01.service-page-title .title-wrap.service::after {
        height: 150px !important;
        margin-top: 100px !important;
    }
}

/* 元のHTMLの画像を非表示にする（重複表示を防ぐ） */
.entry-content figure img[src*="title_service"],
.entry-content figure[class*="wp-block-image"] img[src*="title_service"],
article figure img[src*="title_service"],
article figure[class*="wp-block-image"] img[src*="title_service"],
figure img[src*="title_service"]:not(.service-title-image) {
    display: none !important;
    visibility: hidden !important;
}

.entry-content figure[class*="wp-block-image"]:has(img[src*="title_service"]),
article figure[class*="wp-block-image"]:has(img[src*="title_service"]),
figure:has(img[src*="title_service"]:not(.service-title-image)) {
    display: none !important;
    visibility: hidden !important;
}

/* Serviceページのunit-title-03の下マージン */
.sec-service .unit-title-03 {
    margin-bottom: 30px !important;
}

@media screen and (max-width: 768px) {
    .sec-service .unit-title-03 {
        margin-bottom: 20px !important;
    }
}

/* Serviceページのunit-text-01の下マージン */
.sec-service .unit-text-01 {
    margin-bottom: 0 !important;
}

/* Serviceページのタイトル画像（説明文の後、アンカーリンクの前）のスタイル */
.sec-service .service-title-image {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin-top: 40px !important;
    margin-bottom: 30px !important;
}

@media screen and (max-width: 768px) {
    .sec-service .service-title-image {
        margin-top: 30px !important;
        margin-bottom: 20px !important;
    }
}

@media screen and (max-width: 414px) {
    .sec-service .service-title-image {
        margin-top: 20px !important;
        margin-bottom: 15px !important;
    }
}

/* Serviceページのunderwrapper上部マージン調整 */
.box-undertitle-01.service-page-title + .underwrapper {
    margin-top: 0 !important;
}

/* Serviceページのsec-service */
.sec-service {
    padding: 0 !important;
}

/* Serviceページのsec-page-01 sec-service-intro */
.sec-service .sec-page-01.sec-service-intro {
    padding: 90px 0 !important;
}

@media screen and (max-width: 768px) {
    .sec-service .sec-page-01.sec-service-intro {
        padding: 0 0 45px!important;
    }
}

.sec-service .wrapper.w930 {
        width: 100% !important;
    max-width: 930px !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
        box-sizing: border-box !important;
    }
    
/* Serviceページのunit-title-03 */
.sec-service .unit-title-03 {
    font-size: 3.6rem !important;
    letter-spacing: 0.3em !important;
    font-weight: bold !important;
}

@media screen and (max-width: 768px) {
    .sec-service .unit-title-03 {
        font-size: 2.6rem !important;
    }
}

@media screen and (max-width: 414px) {
    .sec-service .unit-title-03 {
        font-size: 2rem !important;
        letter-spacing: 0.1em !important;
    }
}

/* Serviceページのunit-text-01 */
.sec-service .unit-text-01 {
    font-size: 1.7rem !important;
    letter-spacing: 0.08em !important;
    line-height: 2.4 !important;
}

@media screen and (max-width: 768px) {
    .sec-service .unit-text-01 {
        font-size: 1.5rem !important;
    }
}

/* Serviceページのbox-anchor-01 */
.sec-service .box-anchor-01 {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
}

@media screen and (max-width: 768px) {
    .sec-service .box-anchor-01 {
        padding-left: 0 !important;
        padding-right: 0 !important;
        justify-content: flex-start !important;
    }
}

/* Serviceページのbox-anchor-01のアンカーリンクのホバー時のアンダーライン削除 */
.sec-service .box-anchor-01 a:hover,
.sec-service .box-anchor-01 .unit-anchor-01:hover,
.sec-service .box-anchor-01 a:focus,
.sec-service .box-anchor-01 .unit-anchor-01:focus {
    text-decoration: none !important;
}

.sec-service .box-anchor-01 .inner {
    padding: 0 15px !important;
}

.sec-service .box-anchor-01 .inner:nth-of-type(n+2) {
    border-left: 1px solid #cbcdd0 !important;
}

@media screen and (max-width: 768px) {
    .sec-service .box-anchor-01 .inner {
        display: block !important;
        width: 50% !important;
        padding: 0 20px !important;
        text-align: center !important;
    }
    
    .sec-service .box-anchor-01 .inner:nth-of-type(n+2) {
        border-left: 0 !important;
    }
    
    .sec-service .box-anchor-01 .inner:nth-of-type(n+3) {
        margin-top: 5px !important;
    }
    
    .sec-service .box-anchor-01 .inner:nth-of-type(2n) {
        border-left: 1px solid #cbcdd0 !important;
    }
}

/* Serviceページのsec-service-content */
.sec-service .sec-service-content {
    padding: 0 !important;
}

/* Serviceページのbox-service-01 */
.sec-service .box-service-01 {
    padding: 80px 0 !important;
    /* アンカーリンクの位置調整：固定ヘッダーの高さ + 50pxの余分なオフセット */
    scroll-margin-top: 130px !important; /* 80px + 50px */
}

@media screen and (max-width: 768px) {
    .sec-service .box-service-01 {
        padding: 40px 0 !important;
        /* SP表示時：ヘッダーの高さ55px + 50pxの余分なオフセット */
        scroll-margin-top: 105px !important; /* 55px + 50px */
    }
}

.sec-service .box-service-01.bg-color-01 {
    background: #f5f7fc !important;
}

.sec-service .box-service-01 .wrapper {
        width: 100% !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
        box-sizing: border-box !important;
}

/* Serviceページのunit-title-01 */
.sec-service .box-service-01 .unit-title-01 {
    font-size: 2.6rem !important;
    font-weight: bold !important;
    letter-spacing: 0.2em !important;
}

@media screen and (max-width: 768px) {
    .sec-service .box-service-01 .unit-title-01 {
        font-size: 1.8rem !important;
    }
}

.sec-service .box-service-01 .unit-title-01 .sub {
    margin-bottom: 10px !important;
}

@media screen and (max-width: 414px) {
    .sec-service .box-service-01 .unit-title-01 .sub {
        margin-bottom: 0 !important;
    }
}

/* Serviceページのunit-text-02 */
.sec-service .box-service-01 .unit-text-02 {
    margin-top: 30px !important;
}

@media screen and (max-width: 768px) {
    .sec-service .box-service-01 .unit-text-02 {
        margin-top: 15px !important;
    }
}

/* Serviceページの画像 */
.sec-service .box-service-01 .img {
    margin-top: 40px !important;
}

@media screen and (max-width: 768px) {
    .sec-service .box-service-01 .img {
        margin-top: 20px !important;
    }
}

.sec-service .box-service-01 .img img {
    width: 100% !important;
    height: auto !important;
}

/* Serviceページ：PC表示時もすべての画像を表示（クラスに関係なくすべて表示） */
/* PC表示時：box-service-01内のすべての画像を表示（pc-visible、sp-visibleクラスに関係なく、グローバルな設定を上書き） */
@media screen and (min-width: 769px) {
    .sec-service .box-service-01 .img img,
    .sec-service .box-service-01 figure.img img,
    .sec-service .box-service-01 figure img,
    .sec-service .box-service-01 .img img.pc-visible,
    .sec-service .box-service-01 figure.img img.pc-visible,
    .sec-service figure.img img.pc-visible,
    .sec-service .box-service-01 .img img.sp-visible,
    .sec-service .box-service-01 figure.img img.sp-visible,
    .sec-service figure.img img.sp-visible,
    body .sec-service .box-service-01 .img img.pc-visible,
    body .sec-service .box-service-01 figure.img img.pc-visible,
    body .sec-service .box-service-01 .img img.sp-visible,
    body .sec-service .box-service-01 figure.img img.sp-visible,
    html body .sec-service .box-service-01 .img img.pc-visible,
    html body .sec-service .box-service-01 figure.img img.pc-visible,
    html body .sec-service .box-service-01 .img img.sp-visible,
    html body .sec-service .box-service-01 figure.img img.sp-visible {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/* Serviceページ：SP表示時もPCと同じ画像を表示（クラスに関係なくすべて表示） */
@media screen and (max-width: 768px) {
    /* box-service-01内のすべての画像を表示（pc-visible、sp-visibleクラスに関係なく、グローバルな設定を上書き） */
    .sec-service .box-service-01 .img img,
    .sec-service .box-service-01 figure.img img,
    .sec-service .box-service-01 figure img,
    .sec-service .box-service-01 .img img.pc-visible,
    .sec-service .box-service-01 figure.img img.pc-visible,
    .sec-service figure.img img.pc-visible,
    .sec-service .box-service-01 .img img.sp-visible,
    .sec-service .box-service-01 figure.img img.sp-visible,
    .sec-service figure.img img.sp-visible,
    body .sec-service .box-service-01 .img img.pc-visible,
    body .sec-service .box-service-01 figure.img img.pc-visible,
    body .sec-service .box-service-01 .img img.sp-visible,
    body .sec-service .box-service-01 figure.img img.sp-visible,
    html body .sec-service .box-service-01 .img img.pc-visible,
    html body .sec-service .box-service-01 figure.img img.pc-visible,
    html body .sec-service .box-service-01 .img img.sp-visible,
    html body .sec-service .box-service-01 figure.img img.sp-visible {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/* Serviceページのアンカーリンク位置調整 */
.sec-service .box-service-01[id] {
    scroll-margin-top: 130px !important; /* 80px + 50px */
}

@media screen and (max-width: 768px) {
    .sec-service .box-service-01[id] {
        scroll-margin-top: 105px !important; /* 55px + 50px */
    }
}


  body:has(.es-dynamic-page-marker) #page *, body:has(.es-dynamic-page-marker) #content *, body:has(.es-dynamic-page-marker) main *{
    font-size: 30px;
  }

  /* 物件詳細ページ（rent_detail.html）の電話番号を大きく表示 */
  /* 動的ページのfont-size: inherit !important;よりも優先度を高くするため、body.es-dynamic-pageやbody:has(.es-dynamic-page-marker)を含む */
  body.es-dynamic-page .detail_info_block .tel,
  body.es-dynamic-page .kokoku-detail-cta .tel,
  body:has(.es-dynamic-page-marker) .detail_info_block .tel,
  body:has(.es-dynamic-page-marker) .kokoku-detail-cta .tel,
  body.es-dynamic-page #page .detail_info_block .tel,
  body.es-dynamic-page #content .detail_info_block .tel,
  body.es-dynamic-page main .detail_info_block .tel,
  body:has(.es-dynamic-page-marker) #page .detail_info_block .tel,
  body:has(.es-dynamic-page-marker) #content .detail_info_block .tel,
  body:has(.es-dynamic-page-marker) main .detail_info_block .tel {
    font-size: 30px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin-top: 10px !important;
  }
  
  body.es-dynamic-page .detail_info_block .tel a,
  body.es-dynamic-page .kokoku-detail-cta .tel a,
  body:has(.es-dynamic-page-marker) .detail_info_block .tel a,
  body:has(.es-dynamic-page-marker) .kokoku-detail-cta .tel a,
  body.es-dynamic-page .detail_info_block .phonenumber-link,
  body.es-dynamic-page .kokoku-detail-cta .phonenumber-link,
  body:has(.es-dynamic-page-marker) .detail_info_block .phonenumber-link,
  body:has(.es-dynamic-page-marker) .kokoku-detail-cta .phonenumber-link,
  body.es-dynamic-page .detail_info_block .kokoku-detail-cta-phonenumber,
  body.es-dynamic-page .kokoku-detail-cta .kokoku-detail-cta-phonenumber,
  body:has(.es-dynamic-page-marker) .detail_info_block .kokoku-detail-cta-phonenumber,
  body:has(.es-dynamic-page-marker) .kokoku-detail-cta .kokoku-detail-cta-phonenumber,
  body.es-dynamic-page #page .detail_info_block .tel a,
  body.es-dynamic-page #content .detail_info_block .tel a,
  body.es-dynamic-page main .detail_info_block .tel a,
  body:has(.es-dynamic-page-marker) #page .detail_info_block .tel a,
  body:has(.es-dynamic-page-marker) #content .detail_info_block .tel a,
  body:has(.es-dynamic-page-marker) main .detail_info_block .tel a {
    font-size: 30px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
  }
  
  @media screen and (max-width: 768px) {
    body.es-dynamic-page .detail_info_block .tel,
    body.es-dynamic-page .kokoku-detail-cta .tel,
    body:has(.es-dynamic-page-marker) .detail_info_block .tel,
    body:has(.es-dynamic-page-marker) .kokoku-detail-cta .tel,
    body.es-dynamic-page .detail_info_block .tel a,
    body.es-dynamic-page .kokoku-detail-cta .tel a,
    body:has(.es-dynamic-page-marker) .detail_info_block .tel a,
    body:has(.es-dynamic-page-marker) .kokoku-detail-cta .tel a,
    body.es-dynamic-page .detail_info_block .phonenumber-link,
    body.es-dynamic-page .kokoku-detail-cta .phonenumber-link,
    body:has(.es-dynamic-page-marker) .detail_info_block .phonenumber-link,
    body:has(.es-dynamic-page-marker) .kokoku-detail-cta .phonenumber-link,
    body.es-dynamic-page .detail_info_block .kokoku-detail-cta-phonenumber,
    body.es-dynamic-page .kokoku-detail-cta .kokoku-detail-cta-phonenumber,
    body:has(.es-dynamic-page-marker) .detail_info_block .kokoku-detail-cta-phonenumber,
    body:has(.es-dynamic-page-marker) .kokoku-detail-cta .kokoku-detail-cta-phonenumber {
      font-size: 1.5rem !important;
    }
  }
  
  /* 物件詳細ページ（rent_detail.html）のお問い合わせh2を動的ページのfont-size: inherit !important;から除外 */
  body.es-dynamic-page .detail_form_block h2,
  body.es-dynamic-page .form_wrap h2,
  body.es-dynamic-page .kokoku-detail-form h2,
  body:has(.es-dynamic-page-marker) .detail_form_block h2,
  body:has(.es-dynamic-page-marker) .form_wrap h2,
  body:has(.es-dynamic-page-marker) .kokoku-detail-form h2,
  body.es-dynamic-page #page .detail_form_block h2,
  body.es-dynamic-page #content .detail_form_block h2,
  body.es-dynamic-page main .detail_form_block h2,
  body:has(.es-dynamic-page-marker) #page .detail_form_block h2,
  body:has(.es-dynamic-page-marker) #content .detail_form_block h2,
  body:has(.es-dynamic-page-marker) main .detail_form_block h2 {
    font-size: 2.4rem !important;
  }
  
  @media screen and (max-width: 768px) {
    body.es-dynamic-page .detail_form_block h2,
    body.es-dynamic-page .form_wrap h2,
    body.es-dynamic-page .kokoku-detail-form h2,
    body:has(.es-dynamic-page-marker) .detail_form_block h2,
    body:has(.es-dynamic-page-marker) .form_wrap h2,
    body:has(.es-dynamic-page-marker) .kokoku-detail-form h2 {
      font-size: 2rem !important;
    }
  }
  
  @media screen and (max-width: 414px) {
    body.es-dynamic-page .detail_form_block h2,
    body.es-dynamic-page .form_wrap h2,
    body.es-dynamic-page .kokoku-detail-form h2,
    body:has(.es-dynamic-page-marker) .detail_form_block h2,
    body:has(.es-dynamic-page-marker) .form_wrap h2,
    body:has(.es-dynamic-page-marker) .kokoku-detail-form h2 {
      font-size: 1.8rem !important;
    }
  }
  
  /* 物件詳細ページ（rent_detail.html）のお問い合わせフォーム送信ボタンを動的ページのfont-size: inherit !important;から除外 */
  body.es-dynamic-page .detail_form_block .wpcf7-submit,
  body.es-dynamic-page .form_wrap .wpcf7-submit,
  body.es-dynamic-page .kokoku-detail-form .wpcf7-submit,
  body:has(.es-dynamic-page-marker) .detail_form_block .wpcf7-submit,
  body:has(.es-dynamic-page-marker) .form_wrap .wpcf7-submit,
  body:has(.es-dynamic-page-marker) .kokoku-detail-form .wpcf7-submit,
  body.es-dynamic-page #page .detail_form_block .wpcf7-submit,
  body.es-dynamic-page #content .detail_form_block .wpcf7-submit,
  body.es-dynamic-page main .detail_form_block .wpcf7-submit,
  body:has(.es-dynamic-page-marker) #page .detail_form_block .wpcf7-submit,
  body:has(.es-dynamic-page-marker) #content .detail_form_block .wpcf7-submit,
  body:has(.es-dynamic-page-marker) main .detail_form_block .wpcf7-submit,
  body.es-dynamic-page .detail_form_block input[type="submit"],
  body.es-dynamic-page .form_wrap input[type="submit"],
  body.es-dynamic-page .kokoku-detail-form input[type="submit"],
  body:has(.es-dynamic-page-marker) .detail_form_block input[type="submit"],
  body:has(.es-dynamic-page-marker) .form_wrap input[type="submit"],
  body:has(.es-dynamic-page-marker) .kokoku-detail-form input[type="submit"] {
    font-size: 2.5rem !important;
  }
  
  @media screen and (max-width: 768px) {
    body.es-dynamic-page .detail_form_block .wpcf7-submit,
    body.es-dynamic-page .form_wrap .wpcf7-submit,
    body.es-dynamic-page .kokoku-detail-form .wpcf7-submit,
    body:has(.es-dynamic-page-marker) .detail_form_block .wpcf7-submit,
    body:has(.es-dynamic-page-marker) .form_wrap .wpcf7-submit,
    body:has(.es-dynamic-page-marker) .kokoku-detail-form .wpcf7-submit,
    body.es-dynamic-page .detail_form_block input[type="submit"],
    body.es-dynamic-page .form_wrap input[type="submit"],
    body.es-dynamic-page .kokoku-detail-form input[type="submit"],
    body:has(.es-dynamic-page-marker) .detail_form_block input[type="submit"],
    body:has(.es-dynamic-page-marker) .form_wrap input[type="submit"],
    body:has(.es-dynamic-page-marker) .kokoku-detail-form input[type="submit"] {
      font-size: 1.4rem !important;
    }
  }
  
  @media screen and (max-width: 414px) {
    body.es-dynamic-page .detail_form_block .wpcf7-submit,
    body.es-dynamic-page .form_wrap .wpcf7-submit,
    body.es-dynamic-page .kokoku-detail-form .wpcf7-submit,
    body:has(.es-dynamic-page-marker) .detail_form_block .wpcf7-submit,
    body:has(.es-dynamic-page-marker) .form_wrap .wpcf7-submit,
    body:has(.es-dynamic-page-marker) .kokoku-detail-form .wpcf7-submit,
    body.es-dynamic-page .detail_form_block input[type="submit"],
    body.es-dynamic-page .form_wrap input[type="submit"],
    body.es-dynamic-page .kokoku-detail-form input[type="submit"],
    body:has(.es-dynamic-page-marker) .detail_form_block input[type="submit"],
    body:has(.es-dynamic-page-marker) .form_wrap input[type="submit"],
    body:has(.es-dynamic-page-marker) .kokoku-detail-form input[type="submit"] {
      font-size: 1.3rem !important;
    }
  }
  
  /* 物件詳細ページ（rent_detail.html）のおすすめ物件セクションを表示 */
  /* 動的ページで非表示にされている可能性があるため、表示を強制 */
  body.es-dynamic-page .entry-content .other-advertisement-block,
  body:has(.es-dynamic-page-marker) .entry-content .other-advertisement-block,
  body.es-dynamic-page .entry-content .similar-advertisement-block,
  body:has(.es-dynamic-page-marker) .entry-content .similar-advertisement-block,
  body.es-dynamic-page #page .other-advertisement-block,
  body.es-dynamic-page #content .other-advertisement-block,
  body.es-dynamic-page main .other-advertisement-block,
  body:has(.es-dynamic-page-marker) #page .other-advertisement-block,
  body:has(.es-dynamic-page-marker) #content .other-advertisement-block,
  body:has(.es-dynamic-page-marker) main .other-advertisement-block,
  body.es-dynamic-page #page .similar-advertisement-block,
  body.es-dynamic-page #content .similar-advertisement-block,
  body.es-dynamic-page main .similar-advertisement-block,
  body:has(.es-dynamic-page-marker) #page .similar-advertisement-block,
  body:has(.es-dynamic-page-marker) #content .similar-advertisement-block,
  body:has(.es-dynamic-page-marker) main .similar-advertisement-block {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  
  /* entry-content内のおすすめ物件セクションも表示 */
  body.es-dynamic-page .entry-content.clear .other-advertisement-block,
  body:has(.es-dynamic-page-marker) .entry-content.clear .other-advertisement-block,
  body.es-dynamic-page .entry-content.clear .similar-advertisement-block,
  body:has(.es-dynamic-page-marker) .entry-content.clear .similar-advertisement-block {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

/* ========================================
   TOPページのメインビジュアル（MV）画像の調整
   ======================================== */

/* TOPページのMV画像：ヘッダーが被らないように上にマージンのみ追加（上下左右の隙間は不要） */
body.es-page-top-active #mainvisual,
body.es-page-top-active .box-mv-01 {
    margin-top: 0 !important; /* JavaScriptで動的に調整するため、初期値は0 */
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* トップページ：ナビが2段になった場合に備えて、MVの位置を動的に調整 */
@media (min-width: 769px) {
    /* ヘッダーの高さが83pxを超えた場合（2段になった場合）に備えて、より大きなmargin-topを設定 */
    body.es-page-top-active #header[style*="height"] #mainvisual,
    body.es-page-top-active #header[style*="height"] .box-mv-01,
    body.es-page-top-active #header:not([style*="height: 83px"]) #mainvisual,
    body.es-page-top-active #header:not([style*="height: 83px"]) .box-mv-01 {
        margin-top: calc(var(--header-height, 83px) + 10px) !important; /* ヘッダーの高さに応じて調整 */
    }
    
    /* ナビが2段になった場合のヘッダー高さを検出してMVの位置を調整 */
    body.es-page-top-active #header:has(.globalNav .nav-inner ul[style*="flex-wrap: wrap"]) #mainvisual,
    body.es-page-top-active #header:has(.globalNav .nav-inner ul[style*="flex-wrap: wrap"]) .box-mv-01,
    body.es-page-top-active #header:has(#globalNav ul[style*="flex-wrap: wrap"]) #mainvisual,
    body.es-page-top-active #header:has(#globalNav ul[style*="flex-wrap: wrap"]) .box-mv-01 {
        margin-top: 120px !important; /* 2段になった場合の高さ分のマージン */
    }
}

@media screen and (max-width: 768px) {
    body.es-page-top-active #mainvisual,
    body.es-page-top-active .box-mv-01 {
        margin-top: 0px !important; /* SP表示時のヘッダーの高さ分のマージン（被らないように） */
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 0 !important;
        padding: 0 !important;
    }
}

/* MV画像のfigure要素の幅を調整 */
body.es-page-top-active #mainvisual .mv,
body.es-page-top-active .box-mv-01 .mv {
    width: 100% !important;
    max-width: 100% !important;
}

/* MV画像のimg要素の幅を調整 */
body.es-page-top-active #mainvisual .mv img,
body.es-page-top-active .box-mv-01 .mv img {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
}

/* TOPページのMV画像：PC/SPの出し分け */
/* pc-only, sp-onlyクラスが付いているfigure要素の表示制御 */
body.es-page-top-active .box-mv-01 figure.pc-only,
body.es-page-top-active #mainvisual figure.pc-only {
    display: block !important;
}

@media screen and (max-width: 768px) {
    body.es-page-top-active .box-mv-01 figure.pc-only,
    body.es-page-top-active #mainvisual figure.pc-only {
        display: none !important;
    }
}

body.es-page-top-active .box-mv-01 figure.sp-only,
body.es-page-top-active #mainvisual figure.sp-only {
    display: none !important;
}

@media screen and (max-width: 768px) {
    body.es-page-top-active .box-mv-01 figure.sp-only,
    body.es-page-top-active #mainvisual figure.sp-only {
        display: block !important;
    }
}

/* pc-visible, sp-visibleクラスが付いているimg要素の表示制御 */
body.es-page-top-active .box-mv-01 .mv img.pc-visible,
body.es-page-top-active #mainvisual .mv img.pc-visible {
    display: block !important;
}

@media screen and (max-width: 768px) {
    body.es-page-top-active .box-mv-01 .mv img.pc-visible,
    body.es-page-top-active #mainvisual .mv img.pc-visible {
        display: none !important;
    }
}

body.es-page-top-active .box-mv-01 .mv img.sp-visible,
body.es-page-top-active #mainvisual .mv img.sp-visible {
    display: none !important;
}

@media screen and (max-width: 768px) {
    body.es-page-top-active .box-mv-01 .mv img.sp-visible,
    body.es-page-top-active #mainvisual .mv img.sp-visible {
        display: block !important;
    }
}

/* /favorite/compare/ページ専用のスタイル */
/* フォントサイズを他のページと同じにする */
body.es-page-compare :root {
    font-size: 100% !important;
}

body.es-page-compare html {
    font-size: 15px !important; /* remの基準値（1rem = 15px） */
}

/* body要素にも直接適用 */
body.es-page-compare {
    font-size: 15px !important;
}

/* コンテンツ部分のフォントサイズを他のページと同じにする */
body.es-page-compare #content.site-content,
body.es-page-compare #content,
body.es-page-compare .site-content,
body.es-page-compare main,
body.es-page-compare #main,
body.es-page-compare article,
body.es-page-compare .entry-content,
body.es-page-compare #primary,
body.es-page-compare .content-area {
    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;
    font-weight: inherit !important;
}

/* すべての子要素にもフォントサイズを適用 */
body.es-page-compare #content.site-content *,
body.es-page-compare #content *,
body.es-page-compare .site-content *,
body.es-page-compare main *,
body.es-page-compare #main *,
body.es-page-compare article *,
body.es-page-compare .entry-content *,
body.es-page-compare #primary *,
body.es-page-compare .content-area *,
body.es-page-compare #compare_list,
body.es-page-compare #compare_list * {
    font-size: inherit !important;
}

/* テーブルやフォーム要素にも明示的に適用 */
body.es-page-compare table,
body.es-page-compare table *,
body.es-page-compare form,
body.es-page-compare form *,
body.es-page-compare .multiple_compare_list,
body.es-page-compare .multiple_compare_list * {
    font-size: 15px !important;
}

/* コンテンツ幅を調整（ブラウザ幅いっぱいにならないように） */
body.es-page-compare #content.site-content,
body.es-page-compare #content,
body.es-page-compare .site-content,
body.es-page-compare main,
body.es-page-compare #compare_list {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    /*margin-top: 50px !important; /* ヘッダー・ナビの下に余白を追加 */
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}


/* コンテンツ部分の幅を調整 */
body.es-page-compare #compare_list.multiple_compare_list {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

/* entry-headerにマージントップを追加 */
body.es-page-compare .entry-header,
body.es-page-compare header.entry-header {
    margin-top: 50px !important;
}

@media screen and (max-width: 768px) {
    body.es-page-compare #content.site-content,
    body.es-page-compare #content,
    body.es-page-compare .site-content,
    body.es-page-compare main,
    body.es-page-compare #compare_list {
        padding-left: 15px !important;
        padding-right: 15px !important;
        margin-top: 60px !important; /* SP表示時は少し小さめの余白 */
    }
    
    body.es-page-compare #compare_list.multiple_compare_list {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    
    /* SP表示時のコンテンツ開始位置 */
    body.es-page-compare #primary,
    body.es-page-compare .content-area,
    body.es-page-compare #main,
    body.es-page-compare main#main {
        margin-top: 60px !important; /* SP表示時は少し小さめの余白 */
    }
}