/*
 * GPT運営記事専用CSS v1.3.14
 *
 * 重要:
 * このテーマの <body> には body_class() が無いため、
 * テーマのbodyクラス付与を前提にしません。
 * このCSSはPHP側で「GPT運営記事」と判定された投稿にだけ読み込まれます。
 */

/* =========================================================
   タイトル（PC・スマホとも左寄せ）
   ========================================================= */
.blog-detail .main-area-style02 h1.under-main-title,
.blog-detail h1.under-main-title,
.main-area-style02 h1.under-main-title,
h1.under-main-title{
    text-align:left!important;
    background:#eef7f1!important;
    border:0!important;
    border-left:0!important;
    color:#153e31!important;
    font-weight:800!important;
    line-height:1.45!important;
    box-shadow:0 8px 24px rgba(23,107,77,.08)!important;
    position:relative!important;
}

.blog-detail .main-area-style02 h1.under-main-title::before,
.blog-detail h1.under-main-title::before,
h1.under-main-title::before{
    content:none!important;
    display:none!important;
}

.blog-detail .main-area-style02 h1.under-main-title::after,
.blog-detail h1.under-main-title::after,
h1.under-main-title::after{
    content:none!important;
    display:none!important;
    width:0!important;
    height:0!important;
    background:none!important;
    border:0!important;
}

/* PC */
@media (min-width:641px){
    .blog-detail .main-area-style02 h1.under-main-title,
    .blog-detail h1.under-main-title,
    .main-area-style02 h1.under-main-title,
    h1.under-main-title{
        font-size:3.0rem!important;
        padding:16px 18px 12px!important;
        margin-bottom:14px!important;
    }
}

/* =========================================================
   アイキャッチと本文1文目の間隔
   ========================================================= */
.blog-detail .post-area{
    margin-top:0!important;
}

.blog-detail .post-area .post-main-image,
.blog-detail .post-main-image,
.post-area .post-main-image{
    margin-top:6px!important;
    margin-bottom:12px!important;
    overflow:hidden!important;
    border-radius:0!important;
    box-shadow:0 10px 28px rgba(20,80,55,.10)!important;
}

.blog-detail .post-area .post-main-image img,
.blog-detail .post-main-image img{
    display:block!important;
    margin:0!important;
    padding:0!important;
}

.blog-detail .post-area .okura-gpt-article{
    margin-top:0!important;
    padding-top:0!important;
}

.blog-detail .post-area .okura-gpt-article > p:first-child{
    margin-top:0!important;
    padding-top:0!important;
}

/* =========================================================
   本文
   ========================================================= */
.okura-gpt-article{
    color:#263d35!important;
    line-height:1.95!important;
}

.blog-detail .post-area .okura-gpt-article p,
.okura-gpt-article p{
    line-height:1.95!important;
    margin:0 0 1.45em!important;
}

/* =========================================================
   H2：深緑帯・余計な縦線を完全削除
   ========================================================= */
.blog-detail .post-area .okura-gpt-article h2,
.okura-gpt-article h2{
    margin:2.5em 0 1em!important;
    padding:15px 18px!important;
    background:#176b4d!important;
    background-image:none!important;
    color:#fff!important;
    font-size:2.2rem!important;
    font-weight:800!important;
    line-height:1.45!important;
    border:0!important;
    border-left:0!important;
    outline:0!important;
    box-shadow:none!important;
    position:relative!important;
}

.blog-detail .post-area .okura-gpt-article h2::before,
.blog-detail .post-area .okura-gpt-article h2::after,
.okura-gpt-article h2::before,
.okura-gpt-article h2::after{
    content:none!important;
    display:none!important;
    opacity:0!important;
    width:0!important;
    height:0!important;
    border:0!important;
    background:none!important;
    box-shadow:none!important;
}

/* =========================================================
   H3：ボックスなし・緑の下線だけ
   ========================================================= */
.blog-detail .post-area .okura-gpt-article h3,
.okura-gpt-article h3{
    margin:2.1em 0 1em!important;
    padding:0 0 8px!important;
    background:transparent!important;
    background-image:none!important;
    color:#174f3a!important;
    font-size:1.9rem!important;
    font-weight:800!important;
    line-height:1.55!important;
    border:0!important;
    border-left:0!important;
    border-bottom:2px solid #2b7b5a!important;
    border-radius:0!important;
    box-shadow:none!important;
    position:relative!important;
}

.blog-detail .post-area .okura-gpt-article h3::before,
.blog-detail .post-area .okura-gpt-article h3::after,
.okura-gpt-article h3::before,
.okura-gpt-article h3::after{
    content:none!important;
    display:none!important;
    opacity:0!important;
    width:0!important;
    height:0!important;
    background:none!important;
    border:0!important;
}

/* H4 */
.blog-detail .post-area .okura-gpt-article h4,
.okura-gpt-article h4{
    margin:1.6em 0 .8em!important;
    padding:0 0 8px 24px!important;
    color:#174f3a!important;
    font-size:1.7rem!important;
    font-weight:800!important;
    border-bottom:2px solid #cfe4d8!important;
    position:relative!important;
}

.blog-detail .post-area .okura-gpt-article h4::before,
.okura-gpt-article h4::before{
    content:""!important;
    display:block!important;
    width:10px!important;
    height:10px!important;
    border-radius:50%!important;
    background:#2b7b5a!important;
    position:absolute!important;
    left:3px!important;
    top:.65em!important;
    transform:none!important;
    -webkit-transform:none!important;
    margin:0!important;
}

/* =========================================================
   箇条書き：黒点を消し、緑点1個だけ
   ========================================================= */
.blog-detail .post-area .okura-gpt-article ul,
.okura-gpt-article ul{
    list-style:none!important;
    list-style-type:none!important;
    margin:1.2em 0 1.5em!important;
    padding-left:0!important;
}

.blog-detail .post-area .okura-gpt-article ul > li,
.okura-gpt-article ul > li{
    list-style:none!important;
    list-style-type:none!important;
    position:relative!important;
    padding-left:22px!important;
    margin:.55em 0!important;
    font-weight:400!important;
}

.blog-detail .post-area .okura-gpt-article ul > li::marker,
.okura-gpt-article ul > li::marker{
    content:""!important;
    color:transparent!important;
    font-size:0!important;
}

.blog-detail .post-area .okura-gpt-article ul > li::before,
.okura-gpt-article ul > li::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:2px!important;
    top:.78em!important;
    width:8px!important;
    height:8px!important;
    margin:0!important;
    border:0!important;
    border-radius:50%!important;
    background:#2b7b5a!important;
    transform:translateY(-50%)!important;
    -webkit-transform:translateY(-50%)!important;
}

/* 通常の番号付きリスト */
.okura-gpt-article ol{
    margin:1.2em 0 1.5em!important;
    padding-left:2.3em!important;
}

.okura-gpt-article li{
    margin:.5em 0!important;
}

/* =========================================================
   表・引用
   ========================================================= */
.okura-gpt-article table{
    width:100%!important;
    margin:1.5em 0!important;
    border-collapse:collapse!important;
    background:#fff!important;
}

.okura-gpt-article th,
.okura-gpt-article td{
    border:1px solid #c9ddd2!important;
    padding:12px 14px!important;
    vertical-align:top!important;
}

.okura-gpt-article th{
    background:#e7f3ec!important;
    color:#164d39!important;
    font-weight:800!important;
}

.okura-gpt-article blockquote{
    margin:1.5em 0!important;
    padding:18px 20px!important;
    border-left:5px solid #6fa98d!important;
    background:#f5faf7!important;
}

.okura-gpt-article a{
    color:#116a49;
    text-decoration:underline;
    text-underline-offset:3px;
}

.okura-gpt-article img{
    height:auto;
    max-width:100%;
}

/* =========================================================
   目次BOX
   ========================================================= */
.okura-gpt-article .okura-gpt-toc{
    margin:1.8em 0 2.4em!important;
    padding:20px 24px 20px 30px!important;
    border:1px solid #b9d6c7!important;
    background:linear-gradient(145deg,#f5fbf7,#eaf5ee)!important;
    box-shadow:0 8px 24px rgba(20,80,55,.07)!important;
    overflow:visible!important;
}

.okura-gpt-article .okura-gpt-toc-title{
    margin:0 0 12px!important;
    color:#154f39!important;
    font-size:1.2em!important;
    font-weight:900!important;
}

/* 10、11、12…も左枠に重ならない */
.okura-gpt-article .okura-gpt-toc > ol{
    margin:0!important;
    padding-left:4.8rem!important;
    list-style:decimal outside!important;
    list-style-position:outside!important;
}

.okura-gpt-article .okura-gpt-toc > ol > li{
    position:relative!important;
    margin:8px 0!important;
    padding-left:.4rem!important;
    list-style:decimal outside!important;
    font-weight:400!important;
}

.okura-gpt-article .okura-gpt-toc > ol > li::before{
    content:none!important;
    display:none!important;
}

.okura-gpt-article .okura-gpt-toc > ol > li::marker{
    color:#176b4d!important;
    font-weight:800!important;
}

.okura-gpt-article .okura-gpt-toc li.is-h3{
    margin-left:1.2em!important;
    font-size:.95em!important;
}

.okura-gpt-article .okura-gpt-toc a{
    color:#23483a!important;
    text-decoration:none!important;
}

/* =========================================================
   中盤CTA：見本画像をそのまま活かし、ボタン領域をクリック可能に
   ========================================================= */
.okura-gpt-article .okura-gpt-cta{
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:900px!important;
    margin:2.4em auto!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:hidden!important;
}
.okura-gpt-article .okura-gpt-cta-image{
    display:block!important;
    width:100%!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
}
.okura-gpt-article .okura-gpt-cta-hotspot{
    position:absolute!important;
    /* 添付CTA原画 1774x887px：濃緑の実ボタン領域 y=483..650px */
    top:54.45%!important;
    height:18.83%!important;
    z-index:5!important;
    pointer-events:auto!important;
    display:block!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    text-decoration:none!important;
    border-radius:7px!important;
}
/* 原画ボタン座標：お問い合わせ x=244..875、LINE x=903..1532。幅変更時も比率固定。 */
.okura-gpt-article .okura-gpt-cta-contact{left:13.75%!important;width:35.57%!important;}
.okura-gpt-article .okura-gpt-cta-line{left:50.90%!important;width:35.46%!important;}
.okura-gpt-article .okura-gpt-cta-hotspot span{
    position:absolute!important;
    width:1px!important;height:1px!important;
    padding:0!important;margin:-1px!important;
    overflow:hidden!important;clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;border:0!important;
}
.okura-gpt-article .okura-gpt-cta-hotspot:focus{
    outline:0!important;
    box-shadow:none!important;
}
.okura-gpt-article .okura-gpt-cta-hotspot:focus-visible{
    outline:2px solid #fff!important;
    outline-offset:-4px!important;
}
@media (max-width:640px){
    .okura-gpt-article .okura-gpt-cta{margin:1.8em auto!important;}
}

/* =========================================================
   FAQ：タップで開閉するアコーディオン
   ========================================================= */
.okura-gpt-article .okura-gpt-faq{
    margin:1.2em 0 2em!important;
}

.okura-gpt-article details,
.okura-gpt-article .okura-gpt-faq-item{
    margin:12px 0!important;
    border:1px solid #cfe2d8!important;
    background:#fff!important;
    box-shadow:0 4px 14px rgba(20,80,55,.05)!important;
}

.okura-gpt-article summary,
.okura-gpt-article .okura-gpt-faq-item > summary{
    position:relative!important;
    display:block!important;
    padding:15px 52px 15px 16px!important;
    cursor:pointer!important;
    font-weight:800!important;
    line-height:1.6!important;
    color:#164d39!important;
    background:#eff7f2!important;
    list-style:none!important;
    user-select:none!important;
}

.okura-gpt-article summary::-webkit-details-marker{
    display:none!important;
}

.okura-gpt-article summary::marker{
    content:""!important;
}

.okura-gpt-article summary::after,
.okura-gpt-article .okura-gpt-faq-item > summary::after{
    content:"＋"!important;
    position:absolute!important;
    top:50%!important;
    right:16px!important;
    transform:translateY(-50%)!important;
    width:28px!important;
    height:28px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:50%!important;
    background:#176b4d!important;
    color:#fff!important;
    font-size:18px!important;
    font-weight:900!important;
    line-height:1!important;
}

.okura-gpt-article details[open] > summary::after,
.okura-gpt-article .okura-gpt-faq-item[open] > summary::after{
    content:"−"!important;
}

.okura-gpt-article details > *:not(summary),
.okura-gpt-article .okura-gpt-faq-answer{
    padding-left:16px!important;
    padding-right:16px!important;
}

.okura-gpt-article .okura-gpt-faq-answer{
    padding-top:14px!important;
    padding-bottom:2px!important;
}

/* =========================================================
   LINEバナー：PC右下に固定・追従
   サイズは管理画面値をPHP側inline styleで反映
   ========================================================= */
a.okura-gpt-line-side-banner{
    position:fixed!important;
    right:20px!important;
    bottom:20px!important;
    top:auto!important;
    left:auto!important;
    transform:none!important;
    -webkit-transform:none!important;
    z-index:999999!important;
    display:block!important;
    padding:0!important;
    margin:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:0 12px 30px rgba(0,55,30,.22)!important;
    line-height:0!important;
}

a.okura-gpt-line-side-banner img{
    display:block!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
}

/* =========================================================
   スマホ
   ========================================================= */
@media (max-width:767px){
    a.okura-gpt-line-side-banner{
        display:none!important;
        visibility:hidden!important;
        pointer-events:none!important;
        opacity:0!important;
    }
}

@media (max-width:640px){
    /* タイトルをさらに小さく・左寄せ */
    .blog-detail .main-area-style02 h1.under-main-title,
    .blog-detail h1.under-main-title,
    .main-area-style02 h1.under-main-title,
    h1.under-main-title{
        text-align:left!important;
        font-size:2.2rem!important;
        line-height:1.48!important;
        padding:9px 12px 8px!important;
        margin-bottom:7px!important;
        border:0!important;
        border-left:0!important;
    }

    .blog-detail .main-area-style02 h1.under-main-title::after,
    .blog-detail h1.under-main-title::after,
    h1.under-main-title::after{
        content:none!important;
        display:none!important;
    }

    /* アイキャッチと本文の間を約1行分空ける */
    .blog-detail .post-area .post-main-image,
    .blog-detail .post-main-image,
    .post-area .post-main-image{
        margin-top:4px!important;
        margin-bottom:20px!important;
    }

    .blog-detail .post-area .okura-gpt-article,
    .okura-gpt-article{
        margin-top:0!important;
        padding-top:0!important;
    }

    .blog-detail .post-area .okura-gpt-article > p:first-child,
    .okura-gpt-article > p:first-child{
        margin-top:0!important;
        padding-top:0!important;
    }

    .okura-gpt-article h2{
        font-size:1.9rem!important;
        padding:12px 13px!important;
        margin-top:2.1em!important;
    }

    .okura-gpt-article h3{
        font-size:1.65rem!important;
        padding:0 0 7px!important;
        background:transparent!important;
        border:0!important;
        border-bottom:2px solid #2b7b5a!important;
    }

    .okura-gpt-article .okura-gpt-toc{
        padding:15px 16px 15px 22px!important;
    }

    /* 二桁番号でも十分な左余白 */
    .okura-gpt-article .okura-gpt-toc > ol{
        padding-left:5.2rem!important;
    }

    .okura-gpt-article .okura-gpt-cta{
        padding:16px!important;
    }

    .okura-gpt-article .okura-gpt-cta-buttons{
        display:block!important;
    }

    .okura-gpt-article .okura-gpt-cta-buttons a{
        width:100%!important;
        min-width:0!important;
        margin:8px 0!important;
        box-sizing:border-box!important;
        background:#176b4d!important;
        color:#fff!important;
        -webkit-text-fill-color:#fff!important;
    }
}

/* GPT新規記事：装飾色は緑・オレンジに統一 */
.okura-gpt-article .okura-gpt-box-green,
.okura-gpt-article .point-box,
.okura-gpt-article .related-box{
    border:1px solid #9bc8b2!important;
    border-left:5px solid #176b4d!important;
    background:#f1f8f4!important;
    color:#263d35!important;
}
.okura-gpt-article .okura-gpt-box-orange,
.okura-gpt-article .note-box,
.okura-gpt-article .example-box,
.okura-gpt-article .template-box{
    border:1px solid #efc28c!important;
    border-left:5px solid #e58a2b!important;
    background:#fff8ef!important;
    color:#493522!important;
}
.okura-gpt-article .okura-gpt-office-guide strong,
.okura-gpt-article .okura-gpt-office-guide dt,
.okura-gpt-article .okura-gpt-office-guide th{
    color:#176b4d!important;
    -webkit-text-fill-color:#176b4d!important;
}
.okura-gpt-article .okura-gpt-office-contact-button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:48px!important;
    padding:10px 20px!important;
    border-radius:6px!important;
    background:#176b4d!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    text-decoration:none!important;
    font-weight:800!important;
}

/* =========================================================
   v1.3.16 記事装飾・CTA位置・事務所案内の微調整
   ========================================================= */
.okura-gpt-article .okura-gpt-box-green,
.okura-gpt-article .point-box,
.okura-gpt-article .related-box,
.okura-gpt-article .okura-gpt-box-orange,
.okura-gpt-article .note-box,
.okura-gpt-article .example-box,
.okura-gpt-article .template-box{
    border-radius:14px!important;
    padding:20px 22px!important;
    margin:1.35em 0 1.75em!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    box-shadow:0 6px 18px rgba(20,80,55,.06)!important;
}
.okura-gpt-article .okura-gpt-box-green > :first-child,
.okura-gpt-article .point-box > :first-child,
.okura-gpt-article .related-box > :first-child,
.okura-gpt-article .okura-gpt-box-orange > :first-child,
.okura-gpt-article .note-box > :first-child,
.okura-gpt-article .example-box > :first-child,
.okura-gpt-article .template-box > :first-child{margin-top:0!important;}
.okura-gpt-article .okura-gpt-box-green > :last-child,
.okura-gpt-article .point-box > :last-child,
.okura-gpt-article .related-box > :last-child,
.okura-gpt-article .okura-gpt-box-orange > :last-child,
.okura-gpt-article .note-box > :last-child,
.okura-gpt-article .example-box > :last-child,
.okura-gpt-article .template-box > :last-child{margin-bottom:0!important;}

/* 本文の重要箇所だけ赤字。事務所案内の項目名は下で緑に上書き */
.okura-gpt-article .okura-gpt-text-red{
    color:#c83b32!important;
    -webkit-text-fill-color:#c83b32!important;
    font-weight:800!important;
}

/* 実リンクは透明クリック領域。画像に無い枠線をマウス操作時に追加しない。 */
.okura-gpt-article .okura-gpt-cta-hotspot{
    -webkit-tap-highlight-color:transparent!important;
}
.okura-gpt-article .okura-gpt-cta-hotspot:active{
    box-shadow:none!important;
    border:0!important;
    background:transparent!important;
}

/* 事務所情報～問い合わせボタンまでを1つの角丸ボックスに */
.okura-gpt-article .okura-gpt-office-guide{
    margin:1.5em 0 2em!important;
    padding:22px 24px!important;
    border:1px solid #b8d8c7!important;
    border-radius:16px!important;
    background:#f5faf7!important;
    box-shadow:0 8px 22px rgba(20,80,55,.07)!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
}
.okura-gpt-article .okura-gpt-office-guide strong,
.okura-gpt-article .okura-gpt-office-guide dt,
.okura-gpt-article .okura-gpt-office-guide th{
    color:#176b4d!important;
    -webkit-text-fill-color:#176b4d!important;
}
.okura-gpt-article .okura-gpt-office-guide .okura-gpt-text-red{
    color:#176b4d!important;
    -webkit-text-fill-color:#176b4d!important;
}
/* v1.1.26: Geometry is independent of link states so mobile width stays effective. */
.okura-gpt-article .okura-gpt-office-contact-button{
    display:flex!important;
    width:max-content!important;
    max-width:100%!important;
    min-height:50px!important;
    margin:18px auto 2px!important;
    padding:11px 24px!important;
    border-radius:9px!important;
    background:#176b4d!important;
    border:1px solid #176b4d!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    text-align:center!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    text-decoration:none!important;
    font-weight:800!important;
    opacity:1!important;
    filter:none!important;
    text-shadow:0 1px 1px rgba(0,0,0,.18)!important;
}

@media (max-width:640px){
    .okura-gpt-article .okura-gpt-box-green,
    .okura-gpt-article .point-box,
    .okura-gpt-article .related-box,
    .okura-gpt-article .okura-gpt-box-orange,
    .okura-gpt-article .note-box,
    .okura-gpt-article .example-box,
    .okura-gpt-article .template-box{
        padding:17px 18px!important;
        border-radius:12px!important;
    }
    .okura-gpt-article .okura-gpt-office-guide{
        padding:18px!important;
        border-radius:14px!important;
    }
    .okura-gpt-article .okura-gpt-office-contact-button{
        width:100%!important;
        max-width:360px!important;
    }
}

/* =========================================================
   v1.3.17 新規作成記事のみ：表の列揃え・Googleマップ
   ========================================================= */
.okura-gpt-layout-1317 table th.okura-gpt-cell-center,
.okura-gpt-layout-1317 table td.okura-gpt-cell-center{
    text-align:center!important;
}
.okura-gpt-layout-1317 table th.okura-gpt-cell-left,
.okura-gpt-layout-1317 table td.okura-gpt-cell-left{
    text-align:left!important;
}
.okura-gpt-layout-1317 .okura-gpt-office-map{
    margin:16px 0 24px!important;
    padding:10px!important;
    background:#fff!important;
    border:1px solid #c9ddd2!important;
    border-radius:16px!important;
    box-shadow:0 8px 22px rgba(20,80,55,.08)!important;
    overflow:hidden!important;
    line-height:0!important;
}
.okura-gpt-layout-1317 .okura-gpt-office-map iframe{
    display:block!important;
    width:100%!important;
    height:340px!important;
    border:0!important;
    border-radius:10px!important;
}
@media (max-width:640px){
    .okura-gpt-layout-1317 .okura-gpt-office-map{
        padding:7px!important;
        border-radius:13px!important;
    }
    .okura-gpt-layout-1317 .okura-gpt-office-map iframe{
        height:280px!important;
    }
}

/* =========================================================
   v1.3.24: CTA画像の配信失敗時・スマホ表示での確実な代替表示
   ========================================================= */
.okura-gpt-article .okura-gpt-cta-fallback{
    display:none!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    text-align:center!important;
}
.okura-gpt-article .okura-gpt-cta-fallback-heading{
    color:#174e39!important;
    font-size:clamp(20px,3vw,32px)!important;
    font-weight:800!important;
    line-height:1.45!important;
    margin:0 auto 12px!important;
}
.okura-gpt-article .okura-gpt-cta-fallback-text{
    color:#315d49!important;
    font-size:clamp(14px,1.7vw,19px)!important;
    line-height:1.65!important;
    margin:0 auto 22px!important;
}
.okura-gpt-article .okura-gpt-cta-fallback-actions{
    display:flex!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
    gap:12px!important;
    box-sizing:border-box!important;
}
.okura-gpt-article .okura-gpt-cta-fallback-actions a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:1 1 200px!important;
    max-width:335px!important;
    min-height:52px!important;
    box-sizing:border-box!important;
    border-radius:10px!important;
    padding:12px 16px!important;
    margin:0!important;
    background:#176b4d!important;
    border:1px solid #176b4d!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    text-align:center!important;
    text-decoration:none!important;
    font-size:clamp(16px,1.9vw,21px)!important;
    line-height:1.4!important;
    font-weight:700!important;
    box-shadow:none!important;
}
.okura-gpt-article .okura-gpt-cta-fallback-actions a:hover{
    background:#10583d!important;
}
.okura-gpt-article .okura-gpt-cta-fallback-actions a:focus-visible{
    outline:2px solid #176b4d!important;
    outline-offset:3px!important;
}
.okura-gpt-article .okura-gpt-cta.is-fallback{
    padding:26px 20px!important;
    border:1px solid #b8d8c7!important;
    border-radius:16px!important;
    background:#f1f8f4!important;
    box-sizing:border-box!important;
}
.okura-gpt-article .okura-gpt-cta.is-fallback .okura-gpt-cta-image,
.okura-gpt-article .okura-gpt-cta.is-fallback .okura-gpt-cta-hotspot{
    display:none!important;
}
.okura-gpt-article .okura-gpt-cta.is-fallback .okura-gpt-cta-fallback{
    display:block!important;
}
/* v1.3.25: スマホも指定画像とクリック領域を同じ比率で縮小表示。
   画像が壊れた場合のみ既存のHTML代替CTAを表示する。 */
@media (max-width:640px){
    .okura-gpt-article .okura-gpt-cta{
        margin:1.5em auto!important;
        padding:0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-sizing:border-box!important;
    }
    .okura-gpt-article .okura-gpt-cta .okura-gpt-cta-image{
        display:block!important;
    }
    .okura-gpt-article .okura-gpt-cta .okura-gpt-cta-hotspot{
        display:block!important;
    }
    .okura-gpt-article .okura-gpt-cta .okura-gpt-cta-fallback{
        display:none!important;
    }
    .okura-gpt-article .okura-gpt-cta.is-fallback{
        padding:22px 14px!important;
        border:1px solid #b8d8c7!important;
        border-radius:14px!important;
        background:#f1f8f4!important;
    }
    .okura-gpt-article .okura-gpt-cta.is-fallback .okura-gpt-cta-image,
    .okura-gpt-article .okura-gpt-cta.is-fallback .okura-gpt-cta-hotspot{
        display:none!important;
    }
    .okura-gpt-article .okura-gpt-cta.is-fallback .okura-gpt-cta-fallback{
        display:block!important;
    }
    .okura-gpt-article .okura-gpt-cta-fallback-heading{
        font-size:21px!important;
    }
    .okura-gpt-article .okura-gpt-cta-fallback-text{
        font-size:15px!important;
        margin-bottom:18px!important;
    }
    .okura-gpt-article .okura-gpt-cta-fallback-actions{
        flex-direction:column!important;
        align-items:stretch!important;
        gap:10px!important;
    }
    .okura-gpt-article .okura-gpt-cta-fallback-actions a{
        width:100%!important;
        max-width:100%!important;
        flex:0 0 auto!important;
        min-height:50px!important;
        font-size:17px!important;
    }
}

/* =========================================================
   相続LP標準「相続コラム」テンプレートに合わせたタイトル調整。
   新規GPT運営コラムの body クラスだけに適用し、既存コラムを変更しない。
   ========================================================= */
body.okura-gpt-managed .okinh .okinh-single-heading{
    background:#eef7f1!important;
    border-bottom:1px solid #cfe6d9!important;
}
body.okura-gpt-managed .okinh .okinh-single-heading h1{
    text-align:left!important;
    color:#153e31!important;
    font-weight:800!important;
    font-size:clamp(25px,3vw,36px)!important;
    line-height:1.55!important;
}
body.okura-gpt-managed .okinh .okinh-article-cover-frame{
    margin-bottom:18px!important;
}

/* v1.1.26: Office contact label only; never inherit the article link/theme color. */
.okura-gpt-article .okura-gpt-office-guide a.okura-gpt-office-contact-button,
.okura-gpt-article .okura-gpt-office-guide a.okura-gpt-office-contact-button *,
.okura-gpt-article .okura-gpt-office-guide a.okura-gpt-office-contact-button:link,
.okura-gpt-article .okura-gpt-office-guide a.okura-gpt-office-contact-button:link *,
.okura-gpt-article .okura-gpt-office-guide a.okura-gpt-office-contact-button:visited,
.okura-gpt-article .okura-gpt-office-guide a.okura-gpt-office-contact-button:visited *,
.okura-gpt-article .okura-gpt-office-guide a.okura-gpt-office-contact-button:hover,
.okura-gpt-article .okura-gpt-office-guide a.okura-gpt-office-contact-button:hover *,
.okura-gpt-article .okura-gpt-office-guide a.okura-gpt-office-contact-button:focus,
.okura-gpt-article .okura-gpt-office-guide a.okura-gpt-office-contact-button:focus *,
.okura-gpt-article .okura-gpt-office-guide a.okura-gpt-office-contact-button:focus-visible,
.okura-gpt-article .okura-gpt-office-guide a.okura-gpt-office-contact-button:focus-visible *,
.okura-gpt-article .okura-gpt-office-guide a.okura-gpt-office-contact-button:active,
.okura-gpt-article .okura-gpt-office-guide a.okura-gpt-office-contact-button:active *,
.okinh .okinh-single-content a.okura-gpt-office-contact-button,
.okinh .okinh-single-content a.okura-gpt-office-contact-button *,
.okinh .okinh-single-content a.okura-gpt-office-contact-button:link,
.okinh .okinh-single-content a.okura-gpt-office-contact-button:link *,
.okinh .okinh-single-content a.okura-gpt-office-contact-button:visited,
.okinh .okinh-single-content a.okura-gpt-office-contact-button:visited *,
.okinh .okinh-single-content a.okura-gpt-office-contact-button:hover,
.okinh .okinh-single-content a.okura-gpt-office-contact-button:hover *,
.okinh .okinh-single-content a.okura-gpt-office-contact-button:focus,
.okinh .okinh-single-content a.okura-gpt-office-contact-button:focus *,
.okinh .okinh-single-content a.okura-gpt-office-contact-button:focus-visible,
.okinh .okinh-single-content a.okura-gpt-office-contact-button:focus-visible *,
.okinh .okinh-single-content a.okura-gpt-office-contact-button:active,
.okinh .okinh-single-content a.okura-gpt-office-contact-button:active *{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    text-decoration:none!important;
    opacity:1!important;
}
