/* =========================================================
Start From 39 | Post editorial design 2026
Scope: .sf39-editorial-post (LEFT ARTICLE ONLY)
Never styles sidebar, layout grid, header or footer.
========================================================= */
@media (max-width: 767px) {
    .sf39-editorial-post .sf-article-header h1 {
        font-size: 24px;
    }
    .sf39-editorial-post .sf-article-content {
        font-size: 15px;
        line-height: 1.95;
    }
    .sf39-editorial-post .sf-article-content h2 {
        margin-top: 47px;
        font-size: 21px;
    }
    .sf39-editorial-post .sf-article-content h3 {
        font-size: 17px;
    }
    .sf39-editorial-post .sf-article-content .sf39-article-summary, .sf39-editorial-post .sf-article-content .sf39-editorial-toc, .sf39-editorial-post .sf-article-content .sf39-point, .sf39-editorial-post .sf-article-content .sf39-warning, .sf39-editorial-post .sf-article-content .sf39-info, .sf39-editorial-post .sf-article-content .sf39-conclusion {
        padding: 22px 19px;
    }
    .sf39-editorial-post .sf-article-content .sf39-step-list {
        padding: 18px;
    }
}

/* =========================================================
Start From 39 | Editorial reusable components 16–20
Scoped to the LEFT article content only.
========================================================= */
@media (max-width: 767px) {
    .sf39-editorial-post .sf-article-content .sf39-section-heading {
        gap: 10px;
        margin-top: 45px;
    }
    .sf39-editorial-post .sf-article-content .sf39-section-heading h2 {
        padding-left: 11px;
    }
    .sf39-editorial-post .sf-article-content .sf39-card-grid {
        grid-template-columns: 1fr;
    }
    .sf39-editorial-post .sf-article-content .sf39-pros-cons {
        grid-template-columns: 1fr;
    }
    .sf39-editorial-post .sf-article-content .sf39-related-card {
        padding: 17px;
    }
}

/* =========================================================
21: POST TITLE + DATE / Standard (04), Photo (02), Feature (08)
CSS applies only to the left article, never the sidebar.
========================================================= */
@media (max-width: 767px) {
    .sf39-editorial-post .sf39-post-hero {
        padding: 22px 18px;
        margin-bottom: 27px;
    }
    .sf39-editorial-post .sf39-post-hero__eyebrow {
        gap: 8px 10px;
        margin-bottom: 15px;
    }
    .sf39-editorial-post .sf39-post-hero__category::after {
        margin-left: 10px;
    }
    .sf39-editorial-post .sf39-post-hero__title, .sf39-editorial-post .sf-article-header h1.sf39-post-hero__title {
        font-size: clamp(22px, 6vw, 28px);
        line-height: 1.55;
    }
    .sf39-editorial-post .sf39-post-hero--standard .sf39-post-hero__image {
        opacity: .17;
        width: 65%;
    }
    .sf39-editorial-post .sf39-post-hero--standard.sf39-post-hero--has-image .sf39-post-hero__inner {
        max-width: 100%;
    }
    .sf39-editorial-post .sf39-post-hero--photo {
        min-height: 290px;
    }
    .sf39-editorial-post .sf39-post-hero--photo .sf39-post-hero__inner {
        max-width: 100%;
    }
    .sf39-editorial-post .sf39-post-hero--feature .sf39-post-hero__inner {
        padding-left: 0;
        padding-top: 60px;
    }
    .sf39-editorial-post .sf39-post-hero__feature-tag {
        flex-direction: row;
        max-width: none;
        top: 0;
        gap: 9px;
    }
    .sf39-editorial-post .sf39-post-hero__feature-number {
        width: 43px;
        height: 43px;
        font-size: 25px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sf39-editorial-post *, .sf39-editorial-post *::before, .sf39-editorial-post *::after {
        scroll-behavior: auto;
    }
}

/* ==========================================================
HOUSING ARTICLE: ORIGINAL + FOUR REFINED SECTIONS
========================================================== */
/* Start From 39 | Housing article enhancements
Integrated into the consolidated master stylesheet.
Scoped to left post content; sidebar and site layout are untouched. */
@media (max-width:900px) {
    .sf39-housing-article .sf39-housing-duo {
        grid-template-columns: 1fr;
    }
}

@media (max-width:600px) {
    .sf39-housing-article .sf39-housing-duo--index > * {
        padding: 20px 18px;
    }
    .sf39-housing-article .sf39-housing-numbered > section {
        grid-template-columns: 40px minmax(0,1fr);
        gap: 12px;
        padding: 18px 14px;
    }
    .sf39-housing-article .sf39-housing-numbered > section > span {
        width: 38px;
        height: 38px;
        font-size: 17px;
    }
    .sf39-housing-article .sf39-housing-highlight {
        font-size: 14px;
    }
}

/* =========================================================
START FROM 39 — HOUSING ARTICLE | 4 REFINED SECTIONS
Integrated into the consolidated master stylesheet.
Left article only; does not touch theme sidebar/layout.
========================================================= */
/* 01 | OWN / RENT — Editorial two-column comparison */
/* 02 | BUYING CHECKS — Four compact numbered feature rows */
/* 03 | DOCUMENTS — Gold checklist on warm paper */
/* 04 | NEXT STEP — Deep green editorial closing panel */
@media (max-width: 850px) {
    .sf39-housing-article .sf39-housing-compare-v2 {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .sf39-housing-article .sf39-housing-compare-v2 > section {
        padding: 23px 20px 25px;
    }
    .sf39-housing-article .sf39-housing-buy-checks-v2 > section {
        grid-template-columns: 45px minmax(0, 1fr);
        gap: 11px;
        padding: 20px 0;
    }
    .sf39-housing-article .sf39-housing-buy-checks-v2 > section > span {
        font-size: 33px;
    }
    .sf39-housing-article .sf39-housing-docs-v2 {
        padding: 22px 17px;
    }
    .sf39-housing-article .sf39-housing-docs-v2 .sf39-feature-list {
        padding: 10px 14px;
    }
    .sf39-housing-article .sf39-housing-next-v2 {
        grid-template-columns: 1fr;
        padding: 26px 20px;
    }
    .sf39-housing-article .sf39-housing-next-v2__art {
        display: none;
    }
}

/* ===========================================================
HOUSING 2026-10-15 — LAYOUT FIX
Self-contained, scoped to this article only.
Avoids dependence on optional theme wrappers.
=========================================================== */
@media (max-width:850px) {
    .sf39-housing-article .sf39-housing-compare-v2, .sf39-housing-article .sf39-housing-duo {
        grid-template-columns: minmax(0,1fr);
    }
}

@media (max-width:600px) {
    .sf39-housing-article .sf39-section-heading {
        grid-template-columns: 44px minmax(0,1fr);
        gap: 10px;
        margin-top: 44px;
    }
    .sf39-housing-article .sf39-section-heading > .sf39-section-heading__number {
        font-size: 36px;
    }
    .sf39-housing-article .sf39-section-heading > h2 {
        font-size: 19px;
        padding-left: 12px;
    }
    .sf39-housing-article .sf39-housing-numbered > section, .sf39-housing-article .sf39-housing-buy-checks-v2 > section {
        grid-template-columns: 34px minmax(0,1fr);
        gap: 11px;
        padding: 19px 14px;
    }
    .sf39-housing-article .sf39-housing-numbered > section > span, .sf39-housing-article .sf39-housing-buy-checks-v2 > section > span {
        width: 34px;
        font-size: 27px;
    }
    .sf39-housing-article .sf39-housing-numbered > section h3 {
        font-size: 16px;
    }
    .sf39-housing-article .sf39-housing-docs-v2 {
        padding: 20px 16px;
    }
    .sf39-housing-article .sf39-housing-next-v2 {
        padding: 24px 18px;
    }
}

/* ==========================================================
SF39 HOUSING | FINAL MAGAZINE LAYOUT 2026-10-15
Target: the single article .sf39-housing-article ONLY.
Do not change sidebar or generic articles.
========================================================== */
/* concerns: preserve the exact screenshot visual on wide article columns, stack if space is tight */
/* KEY POINTS and CONTENTS are vertically stacked full width */
/* Repair all ①–④ numbered article steps: no inherited narrow grid columns */
/* Article headings remain numbered 01–08; title slightly smaller (theme generated) */
@media (min-width:1050px) {
    .sf39-housing-article .sf39-housing-concerns {
        grid-template-columns: minmax(0,1fr) !important;
    }
}

@media (max-width:800px) {
    .sf39-housing-article .sf39-housing-keypoints ul {
        grid-template-columns: minmax(0,1fr) !important;
    }
    .sf39-housing-article .sf39-housing-keypoints li:nth-child(odd) {
        border-right: 0 !important;
        padding-right: 0 !important;
    }
    .sf39-housing-article .sf39-housing-keypoints li:nth-child(even) {
        padding-left: 0 !important;
    }
    .sf39-housing-article .sf39-housing-contents ol {
        grid-template-columns: minmax(0,1fr) !important;
        grid-template-rows: none !important;
        grid-auto-flow: row !important;
    }
    .sf39-housing-article .sf39-housing-keypoints, .sf39-housing-article .sf39-housing-contents {
        padding: 22px 18px !important;
    }
    .sf39-housing-article .sf39-housing-numbered > section.sf39-housing-step {
        padding: 19px 17px !important;
    }
    .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero__title, .sf39-editorial-post:has(.sf39-housing-article) .sf-article-header h1.sf39-post-hero__title {
        font-size: clamp(22px,5vw,27px) !important;
    }
}

/* ==========================================================
HOUSING ARTICLE: TITLE HERO PHOTO (ONLY THIS ARTICLE)
Photo is displayed INSIDE the existing PHP-generated title,
never as an extra figure above the article body.
Keep sidebar and the global header system unchanged.
========================================================== */
@supports selector(:has(*)) {
    .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero.sf39-post-hero--standard, .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero:not(.sf39-post-hero--photo):not(.sf39-post-hero--feature) {
        background-image: linear-gradient(90deg, rgba(255,253,248,.98) 0%, rgba(255,253,248,.96) 36%, rgba(255,253,248,.72) 58%, rgba(255,253,248,.08) 100%), url("/wp-content/uploads/2026/10/sf39-housing-livingroom.jpg") !important;
        background-size: cover !important;
        background-position: center 48% !important;
        background-repeat: no-repeat !important;
        min-height: 285px;
        padding: 31px 35px !important;
        display: flex;
        align-items: center;
    }
    .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero__inner {
        width: 100%;
        max-width: 100% !important;
    }
    .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero__image {
        display: none !important;
    }
    .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero__title, .sf39-editorial-post:has(.sf39-housing-article) .sf-article-header h1.sf39-post-hero__title {
        font-size: clamp(22px, 2.1vw, 28px) !important;
        line-height: 1.55 !important;
        letter-spacing: .012em !important;
        max-width: 25em !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        text-wrap: pretty;
    }
    .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero__eyebrow {
        margin-bottom: 17px !important;
    }
    .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero__rule {
        margin-top: 19px !important;
    }
    @media (max-width: 767px) {
        .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero.sf39-post-hero--standard, .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero:not(.sf39-post-hero--photo):not(.sf39-post-hero--feature) {
            min-height: 235px;
            padding: 24px 20px !important;
            background-image: linear-gradient(90deg, rgba(255,253,248,.98) 0%, rgba(255,253,248,.92) 64%, rgba(255,253,248,.60) 100%), url("/wp-content/uploads/2026/10/sf39-housing-livingroom.jpg") !important;
            background-position: 65% center !important;
        }
        .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero__title, .sf39-editorial-post:has(.sf39-housing-article) .sf-article-header h1.sf39-post-hero__title {
            font-size: clamp(20px, 4.8vw, 24px) !important;
            max-width: 100% !important;
            line-height: 1.55 !important;
        }
    }
}

/* ================================================================
SF39 | Editorial HERO finish | 2026-10-15
Shared title design for short/long titles; only inside article.
Housing post fallback uses theme asset (not uploads).
================================================================ */
/* Housing post: article-specific photo, even if no featured image is set. */
@supports selector(:has(*)) {
    .sf39-editorial-post:has(.sf39-housing-article) > .sf39-post-hero.sf39-post-hero--standard {
        display: flex !important;
        align-items: center !important;
        min-height: 340px !important;
        padding: clamp(26px,3.3vw,42px) !important;
        margin-bottom: 23px !important;
        background-image: linear-gradient(90deg,#fffefa 0%,rgba(255,254,250,.98) 27%,rgba(255,254,250,.85) 48%,rgba(255,254,250,.28) 73%,rgba(255,254,250,.02) 100%),url("../../images/articles/housing-buy-vs-rent-v1.webp") !important;
        background-size: cover !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
    }
    .sf39-editorial-post:has(.sf39-housing-article) > .sf39-post-hero--standard > .sf39-post-hero__image {
        display: none !important;
    }
    .sf39-editorial-post:has(.sf39-housing-article) > .sf39-post-hero--standard > .sf39-post-hero__inner {
        width: 100%;
        max-width: 100% !important;
    }
    .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero--standard .sf39-post-hero__title, .sf39-editorial-post:has(.sf39-housing-article) .sf-article-header.sf39-post-hero--standard h1.sf39-post-hero__title {
        font-size: clamp(24px,2.55vw,34px) !important;
        line-height: 1.48 !important;
        letter-spacing: .025em !important;
        max-width: 100% !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }
    .sf39-editorial-post:has(.sf39-housing-article) .sf39-housing-article > .sf39-lead:first-child {
        margin-top: 0 !important;
    }
    .sf39-editorial-post:has(.sf39-housing-article) .sf39-housing-concerns {
        margin-top: 18px !important;
    }
}

@media (max-width:767px) {
    .sf39-editorial-post .sf39-post-hero--standard.sf39-post-hero--has-image {
        min-height: 270px;
    }
    .sf39-editorial-post .sf39-post-hero--standard.sf39-post-hero--has-image > .sf39-post-hero__image::after {
        background: linear-gradient(90deg,rgba(255,254,250,.98) 0%,rgba(255,254,250,.94) 62%,rgba(255,254,250,.72) 100%);
    }
    .sf39-editorial-post .sf39-post-hero--standard .sf39-post-hero__title, .sf39-editorial-post .sf-article-header.sf39-post-hero--standard h1.sf39-post-hero__title {
        font-size: clamp(22px,5.5vw,28px);
        line-height: 1.55;
    }
    @supports selector(:has(*)) {
        .sf39-editorial-post:has(.sf39-housing-article) > .sf39-post-hero.sf39-post-hero--standard {
            min-height: 270px !important;
            padding: 23px 19px !important;
            background-image: linear-gradient(90deg,rgba(255,254,250,.98) 0%,rgba(255,254,250,.95) 58%,rgba(255,254,250,.72) 100%),url("../../images/articles/housing-buy-vs-rent-v1.webp") !important;
            background-position: 62% center !important;
        }
        .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero--standard .sf39-post-hero__title, .sf39-editorial-post:has(.sf39-housing-article) .sf-article-header.sf39-post-hero--standard h1.sf39-post-hero__title {
            font-size: clamp(22px,5.5vw,28px) !important;
            line-height: 1.55 !important;
        }
        .sf39-housing-article .sf39-housing-keypoints ul {
            grid-template-columns: 1fr !important;
        }
        .sf39-housing-article .sf39-housing-contents ol {
            grid-template-columns: 1fr !important;
            grid-template-rows: none !important;
            grid-auto-flow: row !important;
        }
    }
}

/* =========================================================
Start From 39 | Housing only: CONTENTS + Rent image
2026-10-15
Keep every other design unchanged.
========================================================= */
/* CONTENTS: exact numbering in the current HTML order. */
/* RENT YOUR HOME: different photo; BUY card unchanged. */
/* =========================================================
Start From 39 | 住宅記事・指定箇所のみの追加調整
2026-10-15
01 目次番号 / 02 HERO / 03 購入・賃貸カード
04 マンション購入前の4つの確認は変更しない
========================================================= */
/* 01: 目次はHTMLの並び順に01～08を明示 */
/* 02: HEROのタイトルを抑え、既存の写真を右側に表示 */
@supports selector(:has(*)) {
    .sf39-editorial-post:has(.sf39-housing-visual-update) > .sf39-post-hero.sf39-post-hero--standard {
        min-height: 315px !important;
        background-image: linear-gradient(90deg, rgba(255,253,248,.99) 0%, rgba(255,253,248,.97) 32%, rgba(255,253,248,.80) 54%, rgba(255,253,248,.08) 100%), url("../../images/articles/housing-buy-vs-rent-v1.webp") !important;
        background-position: 68% center !important;
        background-size: cover !important;
        background-repeat: no-repeat !important;
    }
    .sf39-editorial-post:has(.sf39-housing-visual-update) .sf39-post-hero--standard .sf39-post-hero__title, .sf39-editorial-post:has(.sf39-housing-visual-update) .sf-article-header.sf39-post-hero--standard h1.sf39-post-hero__title {
        font-size: clamp(22px, 2.05vw, 27px) !important;
        line-height: 1.55 !important;
        max-width: 24em !important;
    }
    /* 公開日: カレンダー / 更新日: ペン。CSSだけで表示 */
}

/* 03: 購入・賃貸カードは写真なしで共通運用できるデザイン */
/* 04: 購入前の4つの確認には新しい指定を加えない */
/* =========================================================
Start From 39 | Post editorial design 2026
Scope: .sf39-editorial-post (LEFT ARTICLE ONLY)
Never styles sidebar, layout grid, header or footer.
========================================================= */
.sf39-editorial-post {
    --sfe-forest: #153f38;
    --sfe-gold: #b28a46;
    --sfe-ivory: #f7f3eb;
    --sfe-terracotta: #b86f60;
    --sfe-sage: #7f9685;
    --sfe-mocha: #67574c;
    --sfe-ink: #333b38;
    --sfe-bluegray: #e9eff0;
    color: var(--sfe-ink);
}

.sf39-editorial-post .sf-article-header {
    margin-bottom: 30px;
}

.sf39-editorial-post .sf-article-header h1 {
    color: var(--sfe-forest);
    font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
    font-size: clamp(24px, 2.1vw, 30px);
    font-weight: 600;
    line-height: 1.65;
    letter-spacing: .035em;
    border: 0;
    padding: 0 0 19px;
    margin: 15px 0 13px;
    position: relative;
}

.sf39-editorial-post .sf-article-header h1::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 65px;
    height: 2px;
    background: var(--sfe-gold);
}

.sf39-editorial-post .sf-article-content {
    font-size: 15.5px;
    line-height: 2.05;
    letter-spacing: .025em;
    overflow-wrap: anywhere;
}

.sf39-editorial-post .sf-article-content > p {
    margin: 0 0 1.8em;
}

.sf39-editorial-post .sf-article-content h2 {
    color: var(--sfe-forest);
    font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
    font-size: clamp(21px, 2vw, 26px);
    line-height: 1.65;
    letter-spacing: .035em;
    font-weight: 600;
    margin: 64px 0 24px;
    padding: 0 0 14px;
    border: 0;
    border-bottom: 1px solid #d6d9cf;
    background: transparent;
    box-shadow: none;
    position: relative;
}

.sf39-editorial-post .sf-article-content h2::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 60px;
    height: 2px;
    background: var(--sfe-gold);
}

.sf39-editorial-post .sf-article-content h3 {
    color: var(--sfe-forest);
    font-size: 19px;
    line-height: 1.65;
    margin: 38px 0 18px;
    padding: 3px 0 3px 16px;
    border: 0;
    border-left: 3px solid var(--sfe-terracotta);
    background: transparent;
    box-shadow: none;
}

.sf39-editorial-post .sf-article-content h4 {
    color: var(--sfe-forest);
    font-size: 16px;
    line-height: 1.65;
    padding: 10px 15px;
    margin: 28px 0 16px;
    border: 0;
    background: #eaf0e8;
}

.sf39-editorial-post .sf-article-content h5 {
    color: var(--sfe-mocha);
    font-size: 15px;
    line-height: 1.65;
    padding: 0 0 9px;
    margin: 25px 0 14px;
    border: 0;
    border-bottom: 1px solid #cbbeb1;
    background: transparent;
}

.sf39-editorial-post .sf-article-content h5::before, .sf39-editorial-post .sf-article-content h5::after {
    content: none;
}

.sf39-editorial-post .sf-article-content :where(.sf39-lead) {
    font-size: 17px;
    line-height: 2.15;
    color: #45524b;
}

.sf39-editorial-post .sf-article-content :where(.sf39-article-summary) {
    background: #fbf0ed;
    border: 1px solid #efdcd5;
    padding: 28px 30px;
    margin: 35px 0 38px;
    border-radius: 5px;
}

.sf39-editorial-post .sf-article-content .sf39-article-summary__title {
    font-size: 17px;
    color: #95594c;
    font-weight: 700;
    margin: 0 0 14px;
}

.sf39-editorial-post .sf-article-content .sf39-article-summary ul, .sf39-editorial-post .sf-article-content .sf39-check-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sf39-editorial-post .sf-article-content .sf39-article-summary li, .sf39-editorial-post .sf-article-content .sf39-check-list li {
    list-style: none;
    padding: 7px 0 7px 30px;
    position: relative;
}

.sf39-editorial-post .sf-article-content .sf39-article-summary li::before, .sf39-editorial-post .sf-article-content .sf39-check-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 7px;
    color: var(--sfe-terracotta);
    font-weight: 700;
}

.sf39-editorial-post .sf-article-content .sf39-editorial-toc {
    background: var(--sfe-ivory);
    border: 1px solid #e6ded0;
    border-left: 3px solid var(--sfe-gold);
    padding: 29px 30px;
    margin: 40px 0 55px;
    border-radius: 4px;
}

.sf39-editorial-post .sf-article-content .sf39-editorial-toc__title {
    color: var(--sfe-forest);
    font-family: "Yu Mincho", "Noto Serif JP", serif;
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 16px;
}

.sf39-editorial-post .sf-article-content .sf39-editorial-toc ol {
    list-style: none;
    counter-reset: sf39toc;
    margin: 0;
    padding: 0;
}

.sf39-editorial-post .sf-article-content .sf39-editorial-toc li {
    counter-increment: sf39toc;
    display: flex;
    align-items: baseline;
    gap: 13px;
    margin: 0;
    padding: 9px 0;
    border-bottom: 1px solid #e7e1d8;
    list-style: none;
}

.sf39-editorial-post .sf-article-content .sf39-editorial-toc li::before {
    content: counter(sf39toc, decimal-leading-zero);
    display: grid;
    place-items: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border: 1px solid #c4ae87;
    border-radius: 50%;
    font: 12px/1 Arial, sans-serif;
    color: var(--sfe-forest);
}

.sf39-editorial-post .sf-article-content .sf39-editorial-toc a {
    color: var(--sfe-forest);
    text-decoration: none;
    font-weight: 500;
}

.sf39-editorial-post .sf-article-content .sf39-feature-list {
    background: var(--sfe-ivory);
    padding: 22px 26px;
    margin: 25px 0 35px;
    list-style: none;
}

.sf39-editorial-post .sf-article-content .sf39-feature-list li {
    position: relative;
    list-style: none;
    padding: 8px 0 8px 29px;
}

.sf39-editorial-post .sf-article-content .sf39-feature-list li::before {
    content: "✓";
    color: var(--sfe-sage);
    position: absolute;
    left: 0;
    font-weight: 700;
}

.sf39-editorial-post .sf-article-content .sf39-step-list {
    counter-reset: sf39step;
    padding: 24px 27px;
    margin: 26px 0 36px;
    background: var(--sfe-bluegray);
    list-style: none;
}

.sf39-editorial-post .sf-article-content .sf39-step-list li {
    counter-increment: sf39step;
    display: flex;
    gap: 18px;
    align-items: baseline;
    padding: 13px 0;
    list-style: none;
    border-bottom: 1px solid #d6e0e1;
}

.sf39-editorial-post .sf-article-content .sf39-step-list li::before {
    content: counter(sf39step, decimal-leading-zero);
    color: #58747b;
    font: 700 22px/1 Georgia, serif;
}

.sf39-editorial-post .sf-article-content .sf39-point, .sf39-editorial-post .sf-article-content .sf39-warning, .sf39-editorial-post .sf-article-content .sf39-info, .sf39-editorial-post .sf-article-content .sf39-conclusion {
    padding: 25px 28px;
    margin: 30px 0;
    border-radius: 4px;
}

.sf39-editorial-post .sf-article-content .sf39-point {
    background: #f6efe3;
    border-left: 3px solid #b89a68;
}

.sf39-editorial-post .sf-article-content .sf39-warning {
    background: #fbefec;
    border-left: 3px solid var(--sfe-terracotta);
}

.sf39-editorial-post .sf-article-content .sf39-info {
    background: #edf2f3;
    border-left: 3px solid #78949b;
}

.sf39-editorial-post .sf-article-content .sf39-conclusion {
    background: #eaf1e9;
    border-top: 3px solid var(--sfe-forest);
}

.sf39-editorial-post .sf-article-content .sf39-quote {
    margin: 36px 0;
    padding: 18px 28px;
    border: 0;
    border-left: 2px solid var(--sfe-gold);
    background: #fbfaf7;
    color: #5b635e;
    font-family: "Yu Mincho", "Noto Serif JP", serif;
    font-size: 18px;
    line-height: 1.9;
}

.sf39-editorial-post .sf-article-content .sf39-table-scroll {
    width: 100%;
    overflow-x: auto;
    margin: 28px 0 36px;
    border-radius: 5px;
}

.sf39-editorial-post .sf-article-content .sf39-comparison-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 14px;
    min-width: 480px;
}

.sf39-editorial-post .sf-article-content .sf39-comparison-table th, .sf39-editorial-post .sf-article-content .sf39-comparison-table td {
    border-right: 1px solid #e3e2db;
    border-bottom: 1px solid #e3e2db;
    padding: 14px 15px;
    text-align: left;
    vertical-align: top;
}

.sf39-editorial-post .sf-article-content .sf39-comparison-table thead th {
    color: white;
    background: #65897f;
    font-weight: 600;
}

.sf39-editorial-post .sf-article-content .sf39-comparison-table thead th:first-child {
    background: #3c6158;
}

.sf39-editorial-post .sf-article-content .sf39-comparison-table thead th:last-child {
    background: #77978c;
}

.sf39-editorial-post .sf-article-content .sf39-comparison-table tbody tr:nth-child(even) {
    background: #fbfaf6;
}

.sf39-editorial-post .sf-article-content .sf39-comparison-table tbody td:first-child {
    color: var(--sfe-forest);
    font-weight: 700;
}

.sf39-editorial-post .sf-article-content .sf39-faq {
    background: white;
    border: 1px solid #d9e1e3;
    margin: 20px 0;
    padding: 23px 26px;
    border-radius: 5px;
}

.sf39-editorial-post .sf-article-content .sf39-faq__question {
    color: var(--sfe-forest);
    font-weight: 700;
    margin: 0 0 12px;
}

.sf39-editorial-post .sf-article-content .sf39-faq__question::before {
    content: "Q.";
    color: #68858d;
    margin-right: 9px;
}

.sf39-editorial-post .sf-article-content .sf39-next-article {
    display: block;
    background: var(--sfe-forest);
    color: white;
    text-decoration: none;
    padding: 26px 30px;
    margin: 42px 0;
    border-radius: 4px;
}

.sf39-editorial-post .sf-article-content .sf39-next-article__label {
    display: block;
    color: #d4c398;
    font-size: 11px;
    letter-spacing: .16em;
    margin-bottom: 9px;
}

.sf39-editorial-post .sf-article-content .sf39-next-article__title {
    display: block;
    font-size: 17px;
    line-height: 1.65;
    font-weight: 600;
    color: white;
}

.sf39-editorial-post .sf-article-content .sf39-next-article:hover {
    background: #24564d;
}

.sf39-editorial-post .sf-article-content .sf39-article-photo {
    margin: 34px 0;
}

.sf39-editorial-post .sf-article-content .sf39-article-photo img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 3px;
}

.sf39-editorial-post .sf-article-content .sf39-article-photo figcaption {
    margin-top: 8px;
    color: #8b8c84;
    font-size: 12px;
    text-align: right;
}

@media (max-width: 767px) {
    .sf39-editorial-post .sf-article-header h1 {
        font-size: 24px;
    }
    .sf39-editorial-post .sf-article-content {
        font-size: 15px;
        line-height: 1.95;
    }
    .sf39-editorial-post .sf-article-content h2 {
        margin-top: 47px;
        font-size: 21px;
    }
    .sf39-editorial-post .sf-article-content h3 {
        font-size: 17px;
    }
    .sf39-editorial-post .sf-article-content .sf39-article-summary, .sf39-editorial-post .sf-article-content .sf39-editorial-toc, .sf39-editorial-post .sf-article-content .sf39-point, .sf39-editorial-post .sf-article-content .sf39-warning, .sf39-editorial-post .sf-article-content .sf39-info, .sf39-editorial-post .sf-article-content .sf39-conclusion {
        padding: 22px 19px;
    }
    .sf39-editorial-post .sf-article-content .sf39-step-list {
        padding: 18px;
    }
}

/* =========================================================
Start From 39 | Editorial reusable components 16–20
Scoped to the LEFT article content only.
========================================================= */
.sf39-editorial-post .sf-article-content .sf39-section-heading {
    display: flex;
    align-items: baseline;
    gap: 18px;
    margin: 68px 0 24px;
    padding: 0 0 16px;
    border-bottom: 1px solid #d8d2c5;
}

.sf39-editorial-post .sf-article-content .sf39-section-heading__number {
    flex: none;
    color: #a68448;
    font-family: Georgia, serif;
    font-size: clamp(43px, 5vw, 66px);
    font-weight: 400;
    line-height: 1;
}

.sf39-editorial-post .sf-article-content .sf39-section-heading h2 {
    flex: 1;
    margin: 0;
    padding: 0 0 0 18px;
    border: 0;
    border-left: 1px solid #b28a46;
    font-size: clamp(20px, 2vw, 25px);
}

.sf39-editorial-post .sf-article-content .sf39-section-heading h2::after {
    content: none;
}

.sf39-editorial-post .sf-article-content .sf39-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 26px 0 34px;
}

.sf39-editorial-post .sf-article-content .sf39-mini-card {
    min-width: 0;
    padding: 21px 17px;
    background: #f9f6ef;
    border: 1px solid #ebe3d6;
}

.sf39-editorial-post .sf-article-content .sf39-mini-card__number,
.sf39-editorial-post .sf-article-content .sf39-income-pink-step__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #b86f60;
    color: #fff;
    font-family: Georgia, serif;
    font-size: 18px;
}

/* =========================================================
   FOUR INCOME PILLARS | Reusable editorial feature grid
   Use .sf39-pillar-grid on the selected four-card section.
========================================================= */
.sf39-editorial-post .sf-article-content .sf39-pillar-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 28px 0 34px;
}

.sf39-editorial-post .sf-article-content .sf39-pillar-grid > .sf39-pillar {
    min-width: 0;
    padding: 23px 24px 25px;
    background: #f9f7f2;
    border: 1px solid #e8e1d6;
    border-top: 3px solid #244e46;
}

.sf39-editorial-post .sf-article-content .sf39-pillar-grid > .sf39-pillar:nth-child(even) {
    border-top-color: #b86f60;
}

.sf39-editorial-post .sf-article-content .sf39-pillar__eyebrow {
    display: block;
    margin-bottom: 10px;
    color: #8b7969;
    font-family: Georgia, serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .13em;
}

.sf39-editorial-post .sf-article-content .sf39-pillar-grid .sf39-pillar h3 {
    margin: 0 0 10px;
    padding: 0;
    border: 0;
    color: #153f38;
    font-size: 21px;
    line-height: 1.5;
}

.sf39-editorial-post .sf-article-content .sf39-pillar-grid .sf39-pillar p {
    margin: 0;
    color: #4d554f;
    font-size: 14px;
    line-height: 1.9;
}

@media (max-width: 600px) {
    .sf39-editorial-post .sf-article-content .sf39-pillar-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .sf39-editorial-post .sf-article-content .sf39-pillar-grid > .sf39-pillar {
        padding: 19px 20px 21px;
    }

    .sf39-editorial-post .sf-article-content .sf39-pillar-grid .sf39-pillar h3 {
        font-size: 19px;
    }
}

/* =========================================================
   INCOME EDITORIAL | Work categories + income combinations
   Shared reusable patterns, scoped to article content.
========================================================= */
.sf39-editorial-post .sf-article-content .sf39-income-work-grid,
.sf39-editorial-post .sf-article-content .sf39-income-mix-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 26px;
    margin: 26px 0 35px;
}

/* Side work: airy editorial rows, no cards or circles. */
.sf39-editorial-post .sf-article-content .sf39-income-work-item {
    display: flex;
    flex-direction: row;
    align-items: start;
    gap: 13px;
    min-width: 0;
    padding: 22px 0;
    border-top: 1px solid #d9d7ce;
}

.sf39-editorial-post .sf-article-content .sf39-income-work-item__index {
    display: block;
    flex: 0 0 34px;
    width: 34px;
}

.sf39-editorial-post .sf-article-content .sf39-income-work-item > .sf39-income-work-item__body {
    display: block;
    flex: 1 1 0%;
    width: auto;
    min-width: 0;
    max-width: none;
    box-sizing: border-box;
}

.sf39-editorial-post .sf-article-content .sf39-income-work-item__body h3,
.sf39-editorial-post .sf-article-content .sf39-income-work-item__body p {
    width: auto;
    max-width: none;
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
    white-space: normal;
}



.sf39-editorial-post .sf-article-content .sf39-income-work-item__index {
    color: #b86f60;
    font: 500 22px/1.35 Georgia, serif;
}

.sf39-editorial-post .sf-article-content .sf39-income-work-item h3 {
    margin: 0 0 8px;
    padding: 0;
    border: 0;
    color: #153f38;
    font-size: 17px;
}

.sf39-editorial-post .sf-article-content .sf39-income-work-item p {
    margin: 0;
    font-size: 14px;
    line-height: 1.85;
}

/* Combination: four compact plans with a soft sage accent. */
.sf39-editorial-post .sf-article-content .sf39-income-mix-grid {
    gap: 14px;
}

.sf39-editorial-post .sf-article-content .sf39-income-mix-item {
    min-width: 0;
    padding: 22px 23px;
    background: #eef2ee;
    border-left: 3px solid #7f9685;
}

/* ---------------------------------------------------------
   A | CLASSIC EDITORIAL — Existing English section labels
   Scoped to younger-boss article with conversation sections.
   No HTML edits. Other cards, panels and headings unchanged.
--------------------------------------------------------- */
.sf39-editorial-post .sf-article-content .sf39-housing-article:has(.sf39-dialogue) :is(.sf39-info, .sf39-conclusion) > span:first-child {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    width: auto;
    max-width: 100%;
    margin: 0 0 22px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #153f38;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.13em;
    line-height: 1.6;
    text-transform: uppercase;
}

.sf39-editorial-post .sf-article-content .sf39-housing-article:has(.sf39-dialogue) :is(.sf39-info, .sf39-conclusion) > span:first-child::before {
    content: "";
    display: inline-block;
    flex: 0 0 29px;
    width: 29px;
    height: 1px;
    background: #b28a46;
}

@media (max-width: 600px) {
    .sf39-editorial-post .sf-article-content .sf39-housing-article:has(.sf39-dialogue) :is(.sf39-info, .sf39-conclusion) > span:first-child {
        gap: 9px;
        margin-bottom: 18px;
        font-size: 12px;
        letter-spacing: 0.1em;
    }

    .sf39-editorial-post .sf-article-content .sf39-housing-article:has(.sf39-dialogue) :is(.sf39-info, .sf39-conclusion) > span:first-child::before {
        flex-basis: 23px;
        width: 23px;
    }
}

.sf39-editorial-post .sf-article-content .sf39-income-mix-item__index {
    display: block;
    margin-bottom: 8px;
    color: #678479;
    font: 600 11px/1.5 Georgia, serif;
    letter-spacing: .14em;
}

.sf39-editorial-post .sf-article-content .sf39-income-mix-item h3 {
    margin: 0 0 10px;
    padding: 0;
    border: 0;
    color: #153f38;
    font-size: 18px;
}

.sf39-editorial-post .sf-article-content .sf39-income-mix-item p {
    margin: 0;
    font-size: 14px;
    line-height: 1.9;
}

.sf39-editorial-post .sf-article-content .sf39-income-mix-item p strong {
    display: block;
    margin-bottom: 5px;
    color: #244e46;
}

@media (max-width: 767px) {
    .sf39-editorial-post .sf-article-content .sf39-income-work-grid,
    .sf39-editorial-post .sf-article-content .sf39-income-mix-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .sf39-editorial-post .sf-article-content .sf39-income-work-item {
        padding: 17px 0;
    }

    .sf39-editorial-post .sf-article-content .sf39-income-mix-item {
        padding: 19px 20px;
    }
}

/* =========================================================
   REUSABLE NUMBERED ROW | Terracotta circle
   Shared component for income articles and pink numbered lists.
   Number and text stay side by side on desktop and mobile.
========================================================= */
.sf39-editorial-post .sf-article-content .sf39-income-pink-list {
    width: 100%;
    min-width: 0;
    margin: 26px 0 34px;
    padding: 0;
}

.sf39-editorial-post .sf-article-content :is(.sf39-income-article, .sf39-income-pink-list) .sf39-income-pink-step {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    grid-template-rows: auto;
    align-items: start;
    justify-items: stretch;
    gap: 0 16px;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    margin: 0 0 18px;
    padding: 20px 0;
    border: 0;
    border-bottom: 1px solid #e8e2d9;
    background: transparent;
}

.sf39-editorial-post .sf-article-content :is(.sf39-income-article, .sf39-income-pink-list) .sf39-income-pink-step::before,
.sf39-editorial-post .sf-article-content :is(.sf39-income-article, .sf39-income-pink-list) .sf39-income-pink-step::after {
    content: none;
}

.sf39-editorial-post .sf-article-content :is(.sf39-income-article, .sf39-income-pink-list) .sf39-income-pink-step > .sf39-income-pink-step__number {
    display: flex;
    grid-column: 1;
    grid-row: 1;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 46px;
    height: 46px;
    min-width: 46px;
    min-height: 46px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #b86f60;
    color: #ffffff;
    font-family: Georgia, serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    position: static;
    transform: none;
}

.sf39-editorial-post .sf-article-content :is(.sf39-income-article, .sf39-income-pink-list) .sf39-income-pink-step > .sf39-income-pink-step__content {
    display: block;
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    width: 100%;
    margin: 0;
    padding: 0;
}

.sf39-editorial-post .sf-article-content :is(.sf39-income-article, .sf39-income-pink-list) .sf39-income-pink-step__content > h3 {
    display: block;
    margin: 0 0 8px;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 17px;
    line-height: 1.65;
}

.sf39-editorial-post .sf-article-content :is(.sf39-income-article, .sf39-income-pink-list) .sf39-income-pink-step__content > p {
    margin: 0;
    padding: 0;
    font-size: 14px;
    line-height: 1.9;
}

@media (max-width: 600px) {
    .sf39-editorial-post .sf-article-content :is(.sf39-income-article, .sf39-income-pink-list) .sf39-income-pink-step {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 0 12px;
        padding: 17px 0;
    }

    .sf39-editorial-post .sf-article-content :is(.sf39-income-article, .sf39-income-pink-list) .sf39-income-pink-step > .sf39-income-pink-step__number {
        width: 42px;
        height: 42px;
        min-width: 42px;
        min-height: 42px;
        font-size: 17px;
    }

    .sf39-editorial-post .sf-article-content :is(.sf39-income-article, .sf39-income-pink-list) .sf39-income-pink-step__content > h3 {
        font-size: 16px;
    }
}

.sf39-editorial-post .sf-article-content .sf39-mini-card h3 {
    margin: 12px 0 9px;
    padding: 0;
    border: 0;
    font-size: 16px;
}

.sf39-editorial-post .sf-article-content .sf39-mini-card p {
    margin: 0;
    font-size: 14px;
    line-height: 1.85;
}

.sf39-editorial-post .sf-article-content .sf39-pros-cons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
    margin: 28px 0;
}

.sf39-editorial-post .sf-article-content .sf39-pros, .sf39-editorial-post .sf-article-content .sf39-cons {
    padding: 24px;
    border: 1px solid #e3e2da;
}

.sf39-editorial-post .sf-article-content .sf39-pros {
    background: #eef3ec;
}

.sf39-editorial-post .sf-article-content .sf39-cons {
    background: #f8eeeb;
}

.sf39-editorial-post .sf-article-content .sf39-pros-cons__title {
    margin: 0 0 12px;
    color: #153f38;
    font-weight: 700;
}

.sf39-editorial-post .sf-article-content .sf39-pros-cons ul {
    margin: 0;
    padding-left: 1.2em;
}

.sf39-editorial-post .sf-article-content .sf39-process {
    margin: 28px 0;
    padding: 0;
    list-style: none;
    counter-reset: sf39process;
}

.sf39-editorial-post .sf-article-content .sf39-process li {
    position: relative;
    margin: 0 0 13px;
    padding: 18px 20px 18px 78px;
    background: #edf1f0;
    border-left: 2px solid #829d96;
    counter-increment: sf39process;
}

.sf39-editorial-post .sf-article-content .sf39-process li::before {
    content: counter(sf39process, decimal-leading-zero);
    position: absolute;
    top: 17px;
    left: 19px;
    color: #3c6158;
    font-family: Georgia, serif;
    font-size: 27px;
}

.sf39-editorial-post .sf-article-content .sf39-process strong {
    display: block;
    color: #153f38;
}

.sf39-editorial-post .sf-article-content .sf39-related-card {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 20px;
    margin: 26px 0;
    border: 1px solid #ded8cb;
    background: #fffdfa;
    color: #153f38;
    text-decoration: none;
}

.sf39-editorial-post .sf-article-content .sf39-related-card__label {
    display: block;
    margin-bottom: 6px;
    color: #a17b3e;
    font-family: Georgia, serif;
    font-size: 11px;
    letter-spacing: .16em;
}

.sf39-editorial-post .sf-article-content .sf39-related-card__arrow {
    margin-left: auto;
    color: #a17b3e;
    font-size: 25px;
}

.sf39-editorial-post .sf-article-content .sf39-references {
    margin: 32px 0;
    padding: 22px 25px;
    background: #f6f6f3;
    border-top: 1px solid #d5d6d0;
}

.sf39-editorial-post .sf-article-content .sf39-references__title {
    margin: 0 0 10px;
    color: #67574c;
    font-size: 14px;
    font-weight: 700;
}

.sf39-editorial-post .sf-article-content .sf39-references ul {
    margin: 0;
    padding-left: 1.3em;
    font-size: 13px;
}

.sf39-editorial-post .sf-article-content .sf39-editor-note {
    position: relative;
    margin: 38px 0;
    padding: 28px 30px;
    background: #f7f3eb;
    border-top: 2px solid #b28a46;
}

.sf39-editorial-post .sf-article-content .sf39-editor-note__label {
    display: block;
    margin-bottom: 12px;
    color: #a17b3e;
    font-family: Georgia, serif;
    font-size: 12px;
    letter-spacing: .12em;
}

.sf39-editorial-post .sf-article-content .sf39-editor-note p {
    margin: 0;
}

.sf39-editorial-post .sf-article-content .sf39-faq__answer {
    margin: 12px 0 0;
}

.sf39-editorial-post .sf-article-content .sf39-faq__answer::before {
    content: "A";
    display: inline-block;
    margin-right: 12px;
    color: #65897f;
    font-family: Georgia, serif;
    font-weight: 700;
}

.sf39-editorial-post .sf-article-content .sf39-comparison-table thead th:nth-child(3n + 2) {
    background: #65897f;
}

.sf39-editorial-post .sf-article-content .sf39-comparison-table thead th:nth-child(3n) {
    background: #77978c;
}

.sf39-editorial-post .sf-article-content .sf39-article-summary ul, .sf39-editorial-post .sf-article-content .sf39-check-list, .sf39-editorial-post .sf-article-content .sf39-feature-list {
    list-style: none;
}

@media (max-width: 767px) {
    .sf39-editorial-post .sf-article-content .sf39-section-heading {
        gap: 10px;
        margin-top: 45px;
    }
    .sf39-editorial-post .sf-article-content .sf39-section-heading h2 {
        padding-left: 11px;
    }
    .sf39-editorial-post .sf-article-content .sf39-card-grid {
        grid-template-columns: 1fr;
    }
    .sf39-editorial-post .sf-article-content .sf39-pros-cons {
        grid-template-columns: 1fr;
    }
    .sf39-editorial-post .sf-article-content .sf39-related-card {
        padding: 17px;
    }
}

/* =========================================================
21: POST TITLE + DATE / Standard (04), Photo (02), Feature (08)
CSS applies only to the left article, never the sidebar.
========================================================= */
.sf39-editorial-post {
    --sf39-head-green: #153f38;
    --sf39-head-gold: #b28a46;
    --sf39-head-terracotta: #b86f60;
    --sf39-head-ivory: #f7f3eb;
    --sf39-head-sage: #7f9685;
    --sf39-head-accent: #a47a39;
}

.sf39-editorial-post.sf39-category-money-finance {
    --sf39-head-accent: #2e6b5b;
}

.sf39-editorial-post.sf39-category-work-career {
    --sf39-head-accent: #b86f60;
}

.sf39-editorial-post.sf39-category-family-inheritance {
    --sf39-head-accent: #6b8fa3;
}

.sf39-editorial-post.sf39-category-end-of-life-planning {
    --sf39-head-accent: #8a7aa8;
}

.sf39-editorial-post .sf39-post-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin: 0 0 36px;
    padding: clamp(24px, 4vw, 42px);
    border: 1px solid #e8dccb;
    border-radius: 3px;
    background: linear-gradient(115deg, #fffefa 0%, #f8f4ec 100%);
    box-shadow: none;
}

.sf39-editorial-post .sf39-post-hero__inner {
    position: relative;
    z-index: 2;
}

.sf39-editorial-post .sf39-post-hero__eyebrow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 15px;
    margin-bottom: 21px;
    font-size: 11px;
    letter-spacing: .055em;
}

.sf39-editorial-post .sf39-post-hero__category {
    color: var(--sf39-head-accent);
    font: 600 12px/1.5 Georgia, "Times New Roman", serif;
    letter-spacing: .14em;
    text-decoration: none;
}

.sf39-editorial-post .sf39-post-hero__category::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 1px;
    height: 14px;
    margin-left: 16px;
    background: var(--sf39-head-gold);
}

.sf39-editorial-post .sf39-post-hero__date {
    display: inline-flex;
    gap: 5px;
    align-items: center;
    color: #665f55;
    font-size: 11px;
    white-space: nowrap;
}

.sf39-editorial-post .sf39-post-hero__date > span:first-child:not(.sf39-post-hero__updated) {
    color: var(--sf39-head-accent);
    font-size: 12px;
}

.sf39-editorial-post .sf39-post-hero__updated {
    color: #817366;
}

.sf39-editorial-post .sf39-post-hero__title, .sf39-editorial-post .sf-article-header h1.sf39-post-hero__title {
    margin: 0 0 11px;
    padding: 0;
    border: 0;
    color: var(--sf39-head-green);
    background: none;
    box-shadow: none;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
    font-weight: 600;
    font-size: clamp(23px, 2.55vw, 34px);
    letter-spacing: .035em;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.sf39-editorial-post .sf-article-header h1.sf39-post-hero__title::after, .sf39-editorial-post .sf-article-header h1.sf39-post-hero__title::before {
    content: none;
}

.sf39-editorial-post .sf39-post-hero__subtitle {
    max-width: 42em;
    margin: 0;
    color: #675e54;
    font-size: clamp(13px, 1.35vw, 15px);
    line-height: 1.85;
}

.sf39-editorial-post .sf39-post-hero__rule {
    display: block;
    width: 190px;
    max-width: 48%;
    height: 2px;
    margin-top: 23px;
    background: linear-gradient(to right, var(--sf39-head-accent) 0 66%, #e5d9c9 66% 100%);
}

.sf39-editorial-post .sf39-post-hero__image {
    position: absolute;
    z-index: 0;
    inset: 0 0 0 auto;
    width: 49%;
    overflow: hidden;
    pointer-events: none;
}

.sf39-editorial-post .sf39-post-hero__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sf39-editorial-post .sf39-post-hero--standard .sf39-post-hero__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #f8f4ec 0%, rgba(248,244,236,.65) 28%, transparent 80%);
}

.sf39-editorial-post .sf39-post-hero--standard.sf39-post-hero--has-image .sf39-post-hero__inner {
    max-width: 80%;
}

.sf39-editorial-post .sf39-post-hero--photo {
    min-height: 340px;
    display: flex;
    align-items: flex-end;
    background: #385b57;
    border-color: #d4d1c9;
}

.sf39-editorial-post .sf39-post-hero--photo .sf39-post-hero__image {
    inset: 0;
    width: 100%;
}

.sf39-editorial-post .sf39-post-hero--photo .sf39-post-hero__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(11,44,39,.87) 0%, rgba(11,44,39,.52) 55%, rgba(11,44,39,.08) 100%);
}

.sf39-editorial-post .sf39-post-hero--photo .sf39-post-hero__inner {
    max-width: 92%;
}

.sf39-editorial-post .sf39-post-hero--photo .sf39-post-hero__title, .sf39-editorial-post .sf39-post-hero--photo .sf39-post-hero__subtitle, .sf39-editorial-post .sf39-post-hero--photo .sf39-post-hero__date, .sf39-editorial-post .sf39-post-hero--photo .sf39-post-hero__category {
    color: #fffefa;
}

.sf39-editorial-post .sf39-post-hero--photo .sf39-post-hero__rule {
    background: linear-gradient(to right, #d9ba7d 0 66%, rgba(255,255,255,.5) 66%);
}

.sf39-editorial-post .sf39-post-hero--feature {
    background: linear-gradient(100deg, #faeee8 0%, #fffaf5 78%);
    border-color: #e7cbbf;
}

.sf39-editorial-post .sf39-post-hero--feature .sf39-post-hero__inner {
    padding-left: 87px;
}

.sf39-editorial-post .sf39-post-hero__feature-tag {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: #aa674f;
    font: 10px/1.4 Georgia, serif;
    letter-spacing: .08em;
    writing-mode: horizontal-tb;
    max-width: 72px;
    text-align: center;
}

.sf39-editorial-post .sf39-post-hero__feature-number {
    display: grid;
    place-items: center;
    width: 65px;
    height: 65px;
    border-radius: 50%;
    color: #fff;
    background: #b86f60;
    font: 35px/1 Georgia, serif;
}

.sf39-editorial-post .sf39-post-hero--feature .sf39-post-hero__image {
    opacity: .4;
}

.sf39-editorial-post .sf39-post-hero--feature .sf39-post-hero__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #fff6f0 0%, rgba(255,246,240,.65) 55%, transparent 100%);
}

.sf39-editorial-post .sf39-post-hero--feature .sf39-post-hero__inner > :not(.sf39-post-hero__feature-tag) {
    position: relative;
}

@media (max-width: 767px) {
    .sf39-editorial-post .sf39-post-hero {
        padding: 22px 18px;
        margin-bottom: 27px;
    }
    .sf39-editorial-post .sf39-post-hero__eyebrow {
        gap: 8px 10px;
        margin-bottom: 15px;
    }
    .sf39-editorial-post .sf39-post-hero__category::after {
        margin-left: 10px;
    }
    .sf39-editorial-post .sf39-post-hero__title, .sf39-editorial-post .sf-article-header h1.sf39-post-hero__title {
        font-size: clamp(22px, 6vw, 28px);
        line-height: 1.55;
    }
    .sf39-editorial-post .sf39-post-hero--standard .sf39-post-hero__image {
        opacity: .17;
        width: 65%;
    }
    .sf39-editorial-post .sf39-post-hero--standard.sf39-post-hero--has-image .sf39-post-hero__inner {
        max-width: 100%;
    }
    .sf39-editorial-post .sf39-post-hero--photo {
        min-height: 290px;
    }
    .sf39-editorial-post .sf39-post-hero--photo .sf39-post-hero__inner {
        max-width: 100%;
    }
    .sf39-editorial-post .sf39-post-hero--feature .sf39-post-hero__inner {
        padding-left: 0;
        padding-top: 60px;
    }
    .sf39-editorial-post .sf39-post-hero__feature-tag {
        flex-direction: row;
        max-width: none;
        top: 0;
        gap: 9px;
    }
    .sf39-editorial-post .sf39-post-hero__feature-number {
        width: 43px;
        height: 43px;
        font-size: 25px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sf39-editorial-post *, .sf39-editorial-post *::before, .sf39-editorial-post *::after {
        scroll-behavior: auto;
    }
}

/* ==========================================================
HOUSING ARTICLE: ORIGINAL + FOUR REFINED SECTIONS
========================================================== */
/* Start From 39 | Housing article enhancements
Integrated into the consolidated master stylesheet.
Scoped to left post content; sidebar and site layout are untouched. */
.sf39-housing-article {
    --housing-green: #153f38;
    --housing-gold: #b28a46;
    --housing-terra: #b86f60;
    color: #3b4640;
}

.sf39-housing-article > p {
    margin: 0 0 1.65em;
}

.sf39-housing-article .sf39-housing-duo {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 16px;
    margin: 30px 0;
    align-items: stretch;
}

.sf39-housing-article .sf39-housing-panel {
    min-width: 0;
    padding: 24px;
    background: #faf8f3;
    border: 1px solid #e7dfd1;
    border-radius: 3px;
}

.sf39-housing-article .sf39-housing-panel--warm {
    background: #f9f4ec;
    border-color: #e9ddc8;
}

.sf39-housing-article .sf39-housing-panel__eyebrow {
    margin: 0 0 7px;
    color: #a27e47;
    font: 11px/1.4 Georgia,serif;
    letter-spacing: .16em;
}

.sf39-housing-article .sf39-housing-panel h3 {
    margin: 0 0 13px;
    padding: 0;
    border: 0;
    color: var(--housing-green);
    font-size: 17px;
}

.sf39-housing-article .sf39-housing-panel ul {
    margin: 0;
    padding-left: 1.2em;
}

.sf39-housing-article .sf39-housing-panel li {
    margin-bottom: 9px;
    font-size: 14px;
    line-height: 1.85;
}

.sf39-housing-article .sf39-housing-panel .sf39-feature-list {
    background: transparent;
    padding: 0;
}

.sf39-housing-article .sf39-housing-panel .sf39-feature-list li {
    padding: 6px 0 6px 25px;
}

.sf39-housing-article .sf39-housing-opening-quote {
    margin: 0;
    padding: 26px;
    background: #fbf7f2;
    border: 1px solid #eee4d9;
    border-left: 3px solid #c7ad86;
    font-size: 15px;
}

.sf39-housing-article .sf39-housing-opening-quote p {
    margin: 0 0 14px;
}

.sf39-housing-article .sf39-housing-opening-quote p:last-child {
    margin: 0;
}

.sf39-housing-article .sf39-housing-highlight {
    text-align: center;
    background: #fcf0e9;
    padding: 20px 18px;
    color: #9c5342;
    font-size: 16px;
    line-height: 1.95;
}

.sf39-housing-article .sf39-housing-duo--index {
    align-items: stretch;
}

.sf39-housing-article .sf39-housing-duo--index > * {
    margin: 0;
    min-width: 0;
    padding: 22px;
}

.sf39-housing-article .sf39-editorial-toc li {
    align-items: center;
    gap: 8px;
    font-size: 13px;
}

.sf39-housing-article .sf39-editorial-toc li::before {
    flex-basis: 26px;
    width: 26px;
    height: 26px;
    font-size: 11px;
}

.sf39-housing-article small {
    color: #9b7b53;
    font-size: 10px;
    letter-spacing: .08em;
}

.sf39-housing-article .sf39-section-heading {
    scroll-margin-top: 110px;
}

.sf39-housing-article .sf39-comparison-table {
    min-width: 560px;
}

.sf39-housing-article .sf39-pros-cons h3 {
    border: 0;
    padding: 0;
    margin: 0 0 12px;
    font-size: 16px;
}

.sf39-housing-article .sf39-pros-cons p {
    font-size: 14px;
    line-height: 1.95;
    margin: 0;
}

.sf39-housing-article .sf39-housing-condition {
    font-weight: 700;
    color: #7a6448;
    border-bottom: 1px solid #e4d7c6;
    padding-bottom: 10px;
}

.sf39-housing-article .sf39-housing-cost-table .sf39-housing-total td {
    background: #f9ebe4;
    color: #a9503f;
    font-weight: 700;
}

.sf39-housing-article .sf39-housing-cost-table .sf39-housing-total strong {
    color: #a44738;
    font-size: 17px;
}

.sf39-housing-article .sf39-housing-footnote {
    font-size: 12px;
    line-height: 1.8;
    color: #77736d;
}

.sf39-housing-article .sf39-point h3, .sf39-housing-article .sf39-info h3 {
    margin: 0 0 12px;
    padding: 0;
    border: 0;
    color: var(--housing-green);
    font-size: 17px;
}

.sf39-housing-article .sf39-point p:last-child, .sf39-housing-article .sf39-info p:last-child {
    margin-bottom: 0;
}

.sf39-housing-article .sf39-housing-numbered > section {
    display: grid;
    grid-template-columns: 52px minmax(0,1fr);
    gap: 15px;
    padding: 21px 23px;
    border: 1px solid #e7e0d4;
    background: #fffcf8;
}

.sf39-housing-article .sf39-housing-numbered > section > span {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    color: white;
    background: var(--housing-terra);
    font: 21px Georgia,serif;
}

.sf39-housing-article .sf39-housing-numbered h3 {
    margin: 0 0 9px;
    padding: 0;
    border: 0;
    font-size: 17px;
    color: var(--housing-green);
}

.sf39-housing-article .sf39-housing-numbered p {
    margin: 0;
    font-size: 14px;
    line-height: 1.95;
}

.sf39-housing-article .sf39-info .sf39-feature-list {
    margin: 0;
}

.sf39-housing-article .sf39-housing-next {
    margin: 46px 0 22px;
    padding: 30px;
    background: #153f38;
    color: #fff;
    border-top: 3px solid #b28a46;
}

.sf39-housing-article .sf39-housing-next h3 {
    color: #fff;
    margin: 10px 0 15px;
    padding: 0;
    border: 0;
    font-size: 20px;
}

.sf39-housing-article .sf39-housing-next p {
    color: #f2f1e9;
    margin: 0 0 12px;
    font-size: 14px;
}

.sf39-housing-article .sf39-housing-next__link {
    display: block;
    margin-top: 20px;
    padding-top: 14px;
    border-top: 1px solid #78938b;
    color: #e9c98e;
    font-weight: 700;
}

.sf39-housing-article a {
    text-underline-offset: 3px;
}

@media (max-width:900px) {
    .sf39-housing-article .sf39-housing-duo {
        grid-template-columns: 1fr;
    }
}

@media (max-width:600px) {
    .sf39-housing-article .sf39-housing-duo--index > * {
        padding: 20px 18px;
    }
    .sf39-housing-article .sf39-housing-numbered > section {
        grid-template-columns: 40px minmax(0,1fr);
        gap: 12px;
        padding: 18px 14px;
    }
    .sf39-housing-article .sf39-housing-numbered > section > span {
        width: 38px;
        height: 38px;
        font-size: 17px;
    }
    .sf39-housing-article .sf39-housing-highlight {
        font-size: 14px;
    }
}

/* =========================================================
START FROM 39 — HOUSING ARTICLE | 4 REFINED SECTIONS
Integrated into the consolidated master stylesheet.
Left article only; does not touch theme sidebar/layout.
========================================================= */
/* 01 | OWN / RENT — Editorial two-column comparison */
.sf39-housing-article .sf39-housing-compare-v2 {
    margin: 32px 0 42px;
}

.sf39-housing-article .sf39-housing-compare-v2 > section {
    position: relative;
    border: 1px solid #ddd9ce;
    border-top: 3px solid #9baea2;
    border-radius: 2px;
    background: linear-gradient(145deg, #f4f6f0 0%, #f9faf7 100%);
    box-shadow: 0 9px 25px rgba(33, 58, 48, .045);
    overflow: hidden;
}

.sf39-housing-article .sf39-housing-compare-v2 > .sf39-cons {
    border-top-color: #c58c79;
    background: linear-gradient(145deg, #faf1ec 0%, #fdfaf7 100%);
}

.sf39-housing-article .sf39-housing-compare-v2 > section::after {
    content: "";
    position: absolute;
    right: -28px;
    top: -31px;
    width: 130px;
    height: 130px;
    border: 1px solid rgba(161, 132, 78, .22);
    border-radius: 50%;
    pointer-events: none;
}

.sf39-housing-article .sf39-housing-compare-v2__top {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
    padding-bottom: 15px;
    border-bottom: 1px solid #dfd9cb;
}

.sf39-housing-article .sf39-housing-compare-v2__index {
    color: #aa8549;
}

.sf39-housing-article .sf39-housing-compare-v2__eyebrow {
    color: #867355;
    font: 10px/1.5 Georgia, serif;
    letter-spacing: .15em;
}

.sf39-housing-article .sf39-housing-compare-v2 .sf39-pros-cons__title {
    margin: 0 0 16px;
    padding: 0 0 0 13px;
    border: 0;
    border-left: 2px solid #b28a46;
    color: #153f38;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: clamp(17px, 1.7vw, 21px);
    font-weight: 600;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.sf39-housing-article .sf39-housing-compare-v2 p {
    margin: 0;
    color: #384840;
    font-size: 14px;
    line-height: 2;
}

/* 02 | BUYING CHECKS — Four compact numbered feature rows */
.sf39-housing-article .sf39-housing-buy-checks-v2 {
    border-top: 1px solid #d8cbb7;
}

.sf39-housing-article .sf39-housing-buy-checks-v2 > section {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    align-items: start;
    gap: 18px;
    margin: 0;
    padding: 25px 8px;
    border: 0;
    border-bottom: 1px solid #e8e2d8;
    border-radius: 0;
    background: transparent;
}

.sf39-housing-article .sf39-housing-buy-checks-v2 > section > span {
    display: block;
    width: auto;
    height: auto;
    padding-top: 1px;
    border: 0;
    border-radius: 0;
    background: none;
    color: #ad884f;
    font: 47px/1.1 Georgia, serif;
    text-align: center;
}

.sf39-housing-article .sf39-housing-buy-checks-v2 h3 {
    margin: 0 0 12px;
    padding: 0 0 0 14px;
    border: 0;
    border-left: 2px solid #b86f60;
    color: #153f38;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: clamp(17px, 1.6vw, 20px);
    line-height: 1.65;
}

.sf39-housing-article .sf39-housing-buy-checks-v2 p {
    margin: 0;
    font-size: 14px;
    line-height: 1.95;
}

/* 03 | DOCUMENTS — Gold checklist on warm paper */
.sf39-housing-article .sf39-housing-docs-v2 {
    margin: 32px 0 45px;
    border: 1px solid #e7dfd1;
    border-left: 4px solid #a9b7ad;
    border-radius: 2px;
    background: #f5f7f4;
}

.sf39-housing-article .sf39-housing-docs-v2__head {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 22px;
}

.sf39-housing-article .sf39-housing-docs-v2__icon {
    display: grid;
    place-items: center;
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #557f88;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    font-weight: 400;
    line-height: 1;
}

.sf39-housing-article .sf39-housing-docs-v2__eyebrow {
    display: block;
    margin-bottom: 6px;
    color: #a68145;
    font: 10px Georgia, serif;
    letter-spacing: .15em;
}

.sf39-housing-article .sf39-housing-docs-v2 h3 {
    margin: 0;
    padding: 0;
    border: 0;
    color: #153f38;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 19px;
    line-height: 1.65;
}

.sf39-housing-article .sf39-housing-docs-v2 .sf39-feature-list {
    margin: 0;
    padding: 17px 22px;
    background: #fffcf7;
    border: 1px solid #ebe4d7;
    list-style: none;
}

.sf39-housing-article .sf39-housing-docs-v2 .sf39-feature-list li {
    position: relative;
    margin: 0;
    padding: 12px 0 12px 31px;
    border-bottom: 1px solid #eee7da;
    font-size: 14px;
    line-height: 1.85;
}

.sf39-housing-article .sf39-housing-docs-v2 .sf39-feature-list li:last-child {
    border-bottom: 0;
}

.sf39-housing-article .sf39-housing-docs-v2 .sf39-feature-list li::before {
    content: "✓";
    position: absolute;
    top: 17px;
    left: 0;
    display: grid;
    place-items: center;
    width: 21px;
    height: 21px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #557f88;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1;
}

/* 04 | NEXT STEP — Deep green editorial closing panel */
.sf39-housing-article .sf39-housing-next-v2 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 135px;
    gap: 25px;
    align-items: stretch;
    margin: 45px 0 20px;
    padding: 34px 33px;
    border: 1px solid #315d51;
    border-top: 3px solid #bd9659;
    border-radius: 2px;
    background: #153f38;
    color: #fff;
}

.sf39-housing-article .sf39-housing-next-v2 .sf39-next-article__label {
    color: #e0bb7d;
    font: 11px Georgia, serif;
    letter-spacing: .19em;
}

.sf39-housing-article .sf39-housing-next-v2 h3 {
    margin: 15px 0;
    padding: 0;
    border: 0;
    color: #fff;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: clamp(20px, 2vw, 25px);
    line-height: 1.55;
}

.sf39-housing-article .sf39-housing-next-v2 p {
    color: #edf1e9;
    font-size: 14px;
    line-height: 1.9;
}

.sf39-housing-article .sf39-housing-next-v2 .sf39-housing-next__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: 24px;
    padding: 15px 18px;
    border: 1px solid #c6a06b;
    border-top: 1px solid #c6a06b;
    color: #f4d6a4;
    font-size: 14px;
    line-height: 1.5;
    text-decoration: none;
}

.sf39-housing-article .sf39-housing-next-v2 .sf39-housing-next__link:hover, .sf39-housing-article .sf39-housing-next-v2 .sf39-housing-next__link:focus-visible {
    text-decoration: none;
}

.sf39-housing-article .sf39-housing-next-v2 .sf39-housing-next__link span, .sf39-housing-article .sf39-housing-next-v2 .sf39-housing-next__link strong {
    text-decoration: none;
}

.sf39-housing-article .sf39-housing-next-v2__art {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
    border-left: 1px solid rgba(221, 195, 143, .5);
    color: #d2b580;
    text-align: center;
}

.sf39-housing-article .sf39-housing-next-v2__art-num {
    font: 27px/1 Georgia, serif;
    letter-spacing: .08em;
}

.sf39-housing-article .sf39-housing-next-v2__art-line {
    width: 1px;
    height: 65px;
    background: #c3a26e;
}

.sf39-housing-article .sf39-housing-next-v2__art-sub {
    max-width: 85px;
    font: 10px/1.6 Georgia, serif;
    letter-spacing: .12em;
}

@media (max-width: 850px) {
    .sf39-housing-article .sf39-housing-compare-v2 {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .sf39-housing-article .sf39-housing-compare-v2 > section {
        padding: 23px 20px 25px;
    }
    .sf39-housing-article .sf39-housing-buy-checks-v2 > section {
        grid-template-columns: 45px minmax(0, 1fr);
        gap: 11px;
        padding: 20px 0;
    }
    .sf39-housing-article .sf39-housing-buy-checks-v2 > section > span {
        font-size: 33px;
    }
    .sf39-housing-article .sf39-housing-docs-v2 {
        padding: 22px 17px;
    }
    .sf39-housing-article .sf39-housing-docs-v2 .sf39-feature-list {
        padding: 10px 14px;
    }
    .sf39-housing-article .sf39-housing-next-v2 {
        grid-template-columns: 1fr;
        padding: 26px 20px;
    }
    .sf39-housing-article .sf39-housing-next-v2__art {
        display: none;
    }
}

/* ===========================================================
HOUSING 2026-10-15 — LAYOUT FIX
Self-contained, scoped to this article only.
Avoids dependence on optional theme wrappers.
=========================================================== */
.sf39-housing-article, .sf39-housing-article * {
    box-sizing: border-box;
}

.sf39-housing-article {
    word-break: normal;
}

.sf39-housing-article p, .sf39-housing-article li, .sf39-housing-article h2, .sf39-housing-article h3 {
    overflow-wrap: break-word;
    word-break: normal;
}

.sf39-housing-article .sf39-section-heading {
    display: grid;
    grid-template-columns: 62px minmax(0,1fr);
    align-items: center;
    gap: 15px;
    margin: 62px 0 25px;
    padding: 0 0 17px;
    border-bottom: 1px solid #d9d4c8;
}

.sf39-housing-article .sf39-section-heading > .sf39-section-heading__number {
    display: block;
    position: static;
    flex: none;
    margin: 0;
    padding: 0;
    font: 400 49px/1 Georgia,serif;
    color: #aa8750;
    background: none;
    border: 0;
    width: auto;
    height: auto;
}

.sf39-housing-article .sf39-section-heading > h2 {
    position: static;
    display: block;
    min-width: 0;
    width: auto;
    margin: 0;
    padding: 2px 0 2px 16px;
    border: 0;
    border-left: 1px solid #b28a46;
    box-shadow: none;
    background: transparent;
    font-size: clamp(19px,2vw,24px);
    line-height: 1.55;
    color: #153f38;
}

.sf39-housing-article .sf39-section-heading > h2::before, .sf39-housing-article .sf39-section-heading > h2::after {
    content: none;
    display: none;
}

.sf39-housing-article .sf39-housing-numbered {
    grid-template-columns: minmax(0,1fr);
}

.sf39-housing-article .sf39-housing-numbered > section, .sf39-housing-article .sf39-housing-buy-checks-v2 > section {
    display: grid;
    grid-template-columns: 50px minmax(0,1fr);
    align-items: start;
    column-gap: 18px;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 22px 22px;
    border: 1px solid #e6dfd2;
    border-left: 3px solid #b28a46;
    background: #fffdf9;
    box-shadow: none;
    border-radius: 3px;
}

.sf39-housing-article .sf39-housing-numbered > section:nth-child(even) {
    background: #f8f7f2;
}

.sf39-housing-article .sf39-housing-numbered > section > span, .sf39-housing-article .sf39-housing-buy-checks-v2 > section > span {
    display: block;
    position: static;
    float: none;
    width: 50px;
    height: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #b28a46;
    text-align: left;
    font: normal 35px/1.25 "Yu Mincho","Noto Serif JP",serif;
}

.sf39-housing-article .sf39-housing-numbered > section > div {
    display: block;
    width: auto;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    padding: 0;
}

.sf39-housing-article .sf39-housing-numbered > section h3, .sf39-housing-article .sf39-housing-buy-checks-v2 > section h3 {
    display: block;
    position: static;
    width: auto;
    min-width: 0;
    margin: 0 0 10px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: #153f38;
    font-size: 17px;
    line-height: 1.65;
}

.sf39-housing-article .sf39-housing-numbered > section h3::before, .sf39-housing-article .sf39-housing-numbered > section h3::after {
    content: none;
    display: none;
}

.sf39-housing-article .sf39-housing-numbered > section p {
    margin: 0;
    padding: 0;
    width: auto;
    max-width: 100%;
    font-size: 14px;
    line-height: 1.95;
}

.sf39-housing-article .sf39-housing-compare-v2 {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 16px;
}

.sf39-housing-article .sf39-housing-compare-v2 > section {
    padding: 25px 23px;
}

.sf39-housing-article .sf39-housing-compare-v2__index {
    font: normal 32px/1.2 "Yu Mincho",serif;
}

.sf39-housing-article .sf39-housing-docs-v2 {
    padding: 26px;
}

.sf39-housing-article .sf39-housing-docs-v2 .sf39-feature-list {
    min-width: 0;
}

.sf39-housing-article .sf39-housing-next-v2 {
    min-width: 0;
}

@media (max-width:850px) {
    .sf39-housing-article .sf39-housing-compare-v2, .sf39-housing-article .sf39-housing-duo {
        grid-template-columns: minmax(0,1fr);
    }
}

@media (max-width:600px) {
    .sf39-housing-article .sf39-section-heading {
        grid-template-columns: 44px minmax(0,1fr);
        gap: 10px;
        margin-top: 44px;
    }
    .sf39-housing-article .sf39-section-heading > .sf39-section-heading__number {
        font-size: 36px;
    }
    .sf39-housing-article .sf39-section-heading > h2 {
        font-size: 19px;
        padding-left: 12px;
    }
    .sf39-housing-article .sf39-housing-numbered > section, .sf39-housing-article .sf39-housing-buy-checks-v2 > section {
        grid-template-columns: 34px minmax(0,1fr);
        gap: 11px;
        padding: 19px 14px;
    }
    .sf39-housing-article .sf39-housing-numbered > section > span, .sf39-housing-article .sf39-housing-buy-checks-v2 > section > span {
        width: 34px;
        font-size: 27px;
    }
    .sf39-housing-article .sf39-housing-numbered > section h3 {
        font-size: 16px;
    }
    .sf39-housing-article .sf39-housing-docs-v2 {
        padding: 20px 16px;
    }
    .sf39-housing-article .sf39-housing-next-v2 {
        padding: 24px 18px;
    }
}

/* ==========================================================
SF39 HOUSING | FINAL MAGAZINE LAYOUT 2026-10-15
Target: the single article .sf39-housing-article ONLY.
Do not change sidebar or generic articles.
========================================================== */
.sf39-housing-article {
    --sfh-green: #153f38;
    --sfh-gold: #b28a46;
    --sfh-terra: #b86f60;
    --sfh-ivory: #f7f3eb;
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
}

.sf39-housing-article *, .sf39-housing-article *::before, .sf39-housing-article *::after {
    box-sizing: border-box;
}

.sf39-housing-article .sf39-housing-photo {
    margin: 0 0 26px !important;
    position: relative;
    overflow: hidden;
    border-radius: 3px;
    background: #f5f0e8;
    min-width: 0;
}

.sf39-housing-article .sf39-housing-photo img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 2.3/1;
    object-fit: cover;
}

.sf39-housing-article .sf39-housing-photo figcaption {
    position: absolute;
    right: 18px;
    bottom: 14px;
    letter-spacing: .16em;
    font: italic 13px Georgia,serif;
    color: #fff;
    text-shadow: 0 1px 8px #223e38;
}

/* concerns: preserve the exact screenshot visual on wide article columns, stack if space is tight */
.sf39-housing-article .sf39-housing-duo.sf39-housing-concerns {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 0 !important;
    margin: 24px 0 !important;
    border: 1px solid #e8dac8;
    background: #fffcf7;
    border-radius: 4px;
    overflow: hidden;
    align-items: stretch;
}

.sf39-housing-article .sf39-housing-concerns > .sf39-housing-panel {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    min-width: 0 !important;
    padding: 25px 27px 18px !important;
    margin: 0 !important;
}

.sf39-housing-article .sf39-housing-concerns > .sf39-housing-opening-quote {
    margin: 0 !important;
    padding: 21px 27px 27px !important;
    border: 0 !important;
    border-top: 1px solid #e8dac8 !important;
    border-radius: 0 !important;
    min-width: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.sf39-housing-article .sf39-housing-concerns .sf39-housing-panel__eyebrow {
    color: #a97e3c;
    letter-spacing: .17em;
    font-size: 11px !important;
}

.sf39-housing-article .sf39-housing-concerns h3 {
    margin: 5px 0 18px !important;
    font-size: clamp(18px,2.4vw,23px) !important;
    line-height: 1.5 !important;
    color: var(--sfh-green) !important;
    border: 0 !important;
    padding: 0 !important;
    letter-spacing: .025em;
}

.sf39-housing-article .sf39-housing-concerns h3::before, .sf39-housing-article .sf39-housing-concerns h3::after {
    display: none !important;
    content: none !important;
}

.sf39-housing-article .sf39-housing-concerns ul {
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    display: grid;
    gap: 0;
}

.sf39-housing-article .sf39-housing-concerns li {
    position: relative;
    margin: 0 !important;
    padding: 11px 0 11px 34px !important;
    border-bottom: 1px solid #e9e0d6;
    line-height: 1.75 !important;
    min-width: 0;
}

.sf39-housing-article .sf39-housing-concerns li:last-child {
    border-bottom: 0;
}

.sf39-housing-article .sf39-housing-concerns li::before {
    position: absolute;
    left: 0;
    top: 12px;
}

.sf39-housing-article .sf39-housing-concerns .sf39-housing-opening-quote p {
    max-width: none !important;
    line-height: 1.95 !important;
    font-size: 14px !important;
    margin: 0 0 12px !important;
    letter-spacing: normal !important;
    word-break: normal !important;
    writing-mode: horizontal-tb !important;
}

.sf39-housing-article .sf39-housing-concerns .sf39-housing-opening-quote p:first-child {
    font-size: clamp(17px,2.3vw,22px) !important;
    color: #a17635 !important;
    font-family: "Yu Mincho","Hiragino Mincho ProN",serif;
    line-height: 1.8 !important;
}

/* KEY POINTS and CONTENTS are vertically stacked full width */
.sf39-housing-article .sf39-housing-duo.sf39-housing-duo--index {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 17px !important;
    margin: 26px 0 44px !important;
}

.sf39-housing-article .sf39-housing-duo--index > .sf39-housing-keypoints, .sf39-housing-article .sf39-housing-duo--index > .sf39-housing-contents {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    border-radius: 4px !important;
    overflow: hidden;
}

.sf39-housing-article .sf39-housing-keypoints {
    background: #fcf0ec !important;
    border: 1px solid #f0d9d0 !important;
    padding: 24px 26px !important;
}

.sf39-housing-article .sf39-housing-keypoints .sf39-article-summary__title {
    font-size: 21px !important;
    color: #b55e4e !important;
    margin: 0 0 17px !important;
    display: block !important;
    border-bottom: 1px solid #e9c9c0;
    padding-bottom: 14px !important;
}

.sf39-housing-article .sf39-housing-keypoints .sf39-article-summary__title small, .sf39-housing-article .sf39-housing-contents .sf39-editorial-toc__title small {
    display: inline !important;
    font: 11px Georgia,serif !important;
    letter-spacing: .13em !important;
    color: #a9784a !important;
    margin-left: 8px !important;
}

.sf39-housing-article .sf39-housing-keypoints ul {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 0 !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.sf39-housing-article .sf39-housing-keypoints li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 11px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 13px 15px 13px 0 !important;
    border-bottom: 1px solid #efdcd5 !important;
    font-size: 14px !important;
    line-height: 1.9 !important;
    letter-spacing: normal !important;
    word-break: normal !important;
}

.sf39-housing-article .sf39-housing-keypoints li:nth-child(odd) {
    border-right: 1px solid #eacdc3;
    padding-right: 16px !important;
}

.sf39-housing-article .sf39-housing-keypoints li:nth-child(even) {
    padding-left: 17px !important;
}

.sf39-housing-article .sf39-housing-keypoints li::before {
    display: none !important;
    content: none !important;
}

.sf39-housing-article .sf39-housing-keypoint-number {
    flex: 0 0 31px !important;
    display: grid !important;
    place-items: center !important;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    background: #b96655;
    color: #fff;
    font: 15px Georgia,serif !important;
    line-height: 1 !important;
    margin: 0 !important;
}

.sf39-housing-article .sf39-housing-contents {
    background: #f5f5ef !important;
    border: 1px solid #e6e4d8 !important;
    padding: 25px 26px !important;
}

.sf39-housing-article .sf39-housing-contents .sf39-editorial-toc__title {
    font-size: 23px !important;
    color: var(--sfh-green) !important;
    margin: 0 0 15px !important;
    padding: 0 0 13px !important;
    border-bottom: 1px solid #dcd8c9 !important;
}

.sf39-housing-article .sf39-housing-contents ol {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    grid-auto-flow: row !important;
    grid-template-rows: none !important;
    gap: 0 23px !important;
    counter-reset: sf39toc !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.sf39-housing-article .sf39-housing-contents ol li {
    counter-increment: sf39toc !important;
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #e0ddd1 !important;
    line-height: 1.5 !important;
}

.sf39-housing-article .sf39-housing-contents ol li::before {
    position: static !important;
    flex: 0 0 32px !important;
    display: grid !important;
    place-items: center !important;
    width: 32px !important;
    height: 32px !important;
    margin-right: 10px !important;
    border: 1px solid var(--sfh-gold) !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #a57935 !important;
    font: 14px Georgia,serif !important;
    content: counter(sf39toc,decimal-leading-zero) !important;
}

.sf39-housing-article .sf39-housing-contents ol li a {
    display: block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    line-height: 1.65 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--sfh-green) !important;
    text-decoration: none !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
}

/* Repair all ①–④ numbered article steps: no inherited narrow grid columns */
.sf39-housing-article .sf39-housing-numbered {
    display: flex !important;
    flex-direction: column !important;
    gap: 13px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 22px 0 32px !important;
}

.sf39-housing-article .sf39-housing-numbered > section.sf39-housing-step {
    display: block !important;
    position: relative !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 23px 25px !important;
    background: #fffdf9 !important;
    border: 1px solid #e4d9ca !important;
    border-left: 3px solid #b28a46 !important;
    box-shadow: none !important;
    grid-template-columns: none !important;
    writing-mode: horizontal-tb !important;
}

.sf39-housing-article .sf39-housing-numbered > section.sf39-housing-step > span {
    display: inline-block !important;
    position: static !important;
    vertical-align: middle !important;
    float: none !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    margin: 0 9px 0 0 !important;
    padding: 0 !important;
    background: none !important;
    color: #b27b37 !important;
    border: 0 !important;
    border-radius: 0 !important;
    font: 26px/1.25 "Yu Mincho",serif !important;
    letter-spacing: normal !important;
    writing-mode: horizontal-tb !important;
}

.sf39-housing-article .sf39-housing-numbered > section.sf39-housing-step > div {
    display: contents !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    writing-mode: horizontal-tb !important;
}

.sf39-housing-article .sf39-housing-numbered > section.sf39-housing-step h3 {
    display: inline !important;
    position: static !important;
    vertical-align: middle !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--sfh-green) !important;
    font-size: 17px !important;
    line-height: 1.8 !important;
    letter-spacing: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    writing-mode: horizontal-tb !important;
}

.sf39-housing-article .sf39-housing-numbered > section.sf39-housing-step h3::before, .sf39-housing-article .sf39-housing-numbered > section.sf39-housing-step h3::after {
    display: none !important;
    content: none !important;
}

.sf39-housing-article .sf39-housing-numbered > section.sf39-housing-step p {
    display: block !important;
    position: static !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 11px 0 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    line-height: 2 !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    writing-mode: horizontal-tb !important;
}

/* Article headings remain numbered 01–08; title slightly smaller (theme generated) */
.sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero__title, .sf39-editorial-post:has(.sf39-housing-article) .sf-article-header h1.sf39-post-hero__title {
    font-size: clamp(25px,2.6vw,33px) !important;
    line-height: 1.55 !important;
    letter-spacing: .025em !important;
}

.sf39-housing-article .sf39-section-heading {
    min-width: 0 !important;
    max-width: 100% !important;
}

.sf39-housing-article .sf39-section-heading h2 {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}

@media (min-width:1050px) {
    .sf39-housing-article .sf39-housing-concerns {
        grid-template-columns: minmax(0,1fr) !important;
    }
}

@media (max-width:800px) {
    .sf39-housing-article .sf39-housing-keypoints ul {
        grid-template-columns: minmax(0,1fr) !important;
    }
    .sf39-housing-article .sf39-housing-keypoints li:nth-child(odd) {
        border-right: 0 !important;
        padding-right: 0 !important;
    }
    .sf39-housing-article .sf39-housing-keypoints li:nth-child(even) {
        padding-left: 0 !important;
    }
    .sf39-housing-article .sf39-housing-contents ol {
        grid-template-columns: minmax(0,1fr) !important;
        grid-template-rows: none !important;
        grid-auto-flow: row !important;
    }
    .sf39-housing-article .sf39-housing-keypoints, .sf39-housing-article .sf39-housing-contents {
        padding: 22px 18px !important;
    }
    .sf39-housing-article .sf39-housing-numbered > section.sf39-housing-step {
        padding: 19px 17px !important;
    }
    .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero__title, .sf39-editorial-post:has(.sf39-housing-article) .sf-article-header h1.sf39-post-hero__title {
        font-size: clamp(22px,5vw,27px) !important;
    }
}

/* ==========================================================
HOUSING ARTICLE: TITLE HERO PHOTO (ONLY THIS ARTICLE)
Photo is displayed INSIDE the existing PHP-generated title,
never as an extra figure above the article body.
Keep sidebar and the global header system unchanged.
========================================================== */
@supports selector(:has(*)) {
    .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero.sf39-post-hero--standard, .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero:not(.sf39-post-hero--photo):not(.sf39-post-hero--feature) {
        background-image: linear-gradient(90deg, rgba(255,253,248,.98) 0%, rgba(255,253,248,.96) 36%, rgba(255,253,248,.72) 58%, rgba(255,253,248,.08) 100%), url("/wp-content/uploads/2026/10/sf39-housing-livingroom.jpg") !important;
        background-size: cover !important;
        background-position: center 48% !important;
        background-repeat: no-repeat !important;
        min-height: 285px;
        padding: 31px 35px !important;
        display: flex;
        align-items: center;
    }
    .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero__inner {
        width: 100%;
        max-width: 100% !important;
    }
    .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero__image {
        display: none !important;
    }
    .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero__title, .sf39-editorial-post:has(.sf39-housing-article) .sf-article-header h1.sf39-post-hero__title {
        font-size: clamp(22px, 2.1vw, 28px) !important;
        line-height: 1.55 !important;
        letter-spacing: .012em !important;
        max-width: 25em !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        text-wrap: pretty;
    }
    .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero__eyebrow {
        margin-bottom: 17px !important;
    }
    .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero__rule {
        margin-top: 19px !important;
    }
    @media (max-width: 767px) {
        .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero.sf39-post-hero--standard, .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero:not(.sf39-post-hero--photo):not(.sf39-post-hero--feature) {
            min-height: 235px;
            padding: 24px 20px !important;
            background-image: linear-gradient(90deg, rgba(255,253,248,.98) 0%, rgba(255,253,248,.92) 64%, rgba(255,253,248,.60) 100%), url("/wp-content/uploads/2026/10/sf39-housing-livingroom.jpg") !important;
            background-position: 65% center !important;
        }
        .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero__title, .sf39-editorial-post:has(.sf39-housing-article) .sf-article-header h1.sf39-post-hero__title {
            font-size: clamp(20px, 4.8vw, 24px) !important;
            max-width: 100% !important;
            line-height: 1.55 !important;
        }
    }
}

/* ================================================================
SF39 | Editorial HERO finish | 2026-10-15
Shared title design for short/long titles; only inside article.
Housing post fallback uses theme asset (not uploads).
================================================================ */
.sf39-editorial-post .sf39-post-hero.sf39-post-hero--standard.sf39-post-hero--has-image {
    display: flex;
    align-items: center;
    min-height: 340px;
    background: #f7f3eb !important;
}

.sf39-editorial-post .sf39-post-hero--standard.sf39-post-hero--has-image > .sf39-post-hero__image {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
}

.sf39-editorial-post .sf39-post-hero--standard.sf39-post-hero--has-image > .sf39-post-hero__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 70% 50%;
}

.sf39-editorial-post .sf39-post-hero--standard.sf39-post-hero--has-image > .sf39-post-hero__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,#fffefa 0%,rgba(255,254,250,.98) 29%,rgba(255,254,250,.87) 48%,rgba(255,254,250,.34) 73%,rgba(255,254,250,.04) 100%);
}

.sf39-editorial-post .sf39-post-hero--standard.sf39-post-hero--has-image > .sf39-post-hero__inner {
    width: 100%;
    max-width: 100%;
}

.sf39-editorial-post .sf39-post-hero--standard .sf39-post-hero__title, .sf39-editorial-post .sf-article-header.sf39-post-hero--standard h1.sf39-post-hero__title {
    font-size: clamp(24px,2.55vw,34px);
    line-height: 1.48;
    letter-spacing: .025em;
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: normal;
    text-wrap: pretty;
}

.sf39-editorial-post .sf39-post-hero--standard .sf39-post-hero__subtitle {
    max-width: 43em;
}

/* Housing post: article-specific photo, even if no featured image is set. */
@supports selector(:has(*)) {
    .sf39-editorial-post:has(.sf39-housing-article) > .sf39-post-hero.sf39-post-hero--standard {
        display: flex !important;
        align-items: center !important;
        min-height: 340px !important;
        padding: clamp(26px,3.3vw,42px) !important;
        margin-bottom: 23px !important;
        background-image: linear-gradient(90deg,#fffefa 0%,rgba(255,254,250,.98) 27%,rgba(255,254,250,.85) 48%,rgba(255,254,250,.28) 73%,rgba(255,254,250,.02) 100%),url("../../images/articles/housing-buy-vs-rent-v1.webp") !important;
        background-size: cover !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
    }
    .sf39-editorial-post:has(.sf39-housing-article) > .sf39-post-hero--standard > .sf39-post-hero__image {
        display: none !important;
    }
    .sf39-editorial-post:has(.sf39-housing-article) > .sf39-post-hero--standard > .sf39-post-hero__inner {
        width: 100%;
        max-width: 100% !important;
    }
    .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero--standard .sf39-post-hero__title, .sf39-editorial-post:has(.sf39-housing-article) .sf-article-header.sf39-post-hero--standard h1.sf39-post-hero__title {
        font-size: clamp(24px,2.55vw,34px) !important;
        line-height: 1.48 !important;
        letter-spacing: .025em !important;
        max-width: 100% !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }
    .sf39-editorial-post:has(.sf39-housing-article) .sf39-housing-article > .sf39-lead:first-child {
        margin-top: 0 !important;
    }
    .sf39-editorial-post:has(.sf39-housing-article) .sf39-housing-concerns {
        margin-top: 18px !important;
    }
}

@media (max-width:767px) {
    .sf39-editorial-post .sf39-post-hero--standard.sf39-post-hero--has-image {
        min-height: 270px;
    }
    .sf39-editorial-post .sf39-post-hero--standard.sf39-post-hero--has-image > .sf39-post-hero__image::after {
        background: linear-gradient(90deg,rgba(255,254,250,.98) 0%,rgba(255,254,250,.94) 62%,rgba(255,254,250,.72) 100%);
    }
    .sf39-editorial-post .sf39-post-hero--standard .sf39-post-hero__title, .sf39-editorial-post .sf-article-header.sf39-post-hero--standard h1.sf39-post-hero__title {
        font-size: clamp(22px,5.5vw,28px);
        line-height: 1.55;
    }
    @supports selector(:has(*)) {
        .sf39-editorial-post:has(.sf39-housing-article) > .sf39-post-hero.sf39-post-hero--standard {
            min-height: 270px !important;
            padding: 23px 19px !important;
            background-image: linear-gradient(90deg,rgba(255,254,250,.98) 0%,rgba(255,254,250,.95) 58%,rgba(255,254,250,.72) 100%),url("../../images/articles/housing-buy-vs-rent-v1.webp") !important;
            background-position: 62% center !important;
        }
        .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero--standard .sf39-post-hero__title, .sf39-editorial-post:has(.sf39-housing-article) .sf-article-header.sf39-post-hero--standard h1.sf39-post-hero__title {
            font-size: clamp(22px,5.5vw,28px) !important;
            line-height: 1.55 !important;
        }
        .sf39-housing-article .sf39-housing-keypoints ul {
            grid-template-columns: 1fr !important;
        }
        .sf39-housing-article .sf39-housing-contents ol {
            grid-template-columns: 1fr !important;
            grid-template-rows: none !important;
            grid-auto-flow: row !important;
        }
    }
}

/* =========================================================
Start From 39 | Housing only: CONTENTS + Rent image
2026-10-15
Keep every other design unchanged.
========================================================= */
/* CONTENTS: exact numbering in the current HTML order. */
/* RENT YOUR HOME: different photo; BUY card unchanged. */
.sf39-housing-visual-update .sf39-housing-compare-v2 > .sf39-cons::before {
    background-image: url("../../images/articles/housing-rent-window-v1.webp") !important;
    background-position: center 48% !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

/* =========================================================
Start From 39 | 住宅記事・指定箇所のみの追加調整
2026-10-15
01 目次番号 / 02 HERO / 03 購入・賃貸カード
04 マンション購入前の4つの確認は変更しない
========================================================= */
/* 01: 目次番号は項目数に応じて自動連番（01, 02, ... 09, 10, 11, 12）。
上の共通ルールでカウントするため、nth-childによる固定番号は不要。 */
/* 02: HEROのタイトルを抑え、既存の写真を右側に表示 */
@supports selector(:has(*)) {
    .sf39-editorial-post:has(.sf39-housing-visual-update) > .sf39-post-hero.sf39-post-hero--standard {
        min-height: 315px !important;
        background-image: linear-gradient(90deg, rgba(255,253,248,.99) 0%, rgba(255,253,248,.97) 32%, rgba(255,253,248,.80) 54%, rgba(255,253,248,.08) 100%), url("../../images/articles/housing-buy-vs-rent-v1.webp") !important;
        background-position: 68% center !important;
        background-size: cover !important;
        background-repeat: no-repeat !important;
    }
    .sf39-editorial-post:has(.sf39-housing-visual-update) .sf39-post-hero--standard .sf39-post-hero__title, .sf39-editorial-post:has(.sf39-housing-visual-update) .sf-article-header.sf39-post-hero--standard h1.sf39-post-hero__title {
        font-size: clamp(22px, 2.05vw, 27px) !important;
        line-height: 1.55 !important;
        max-width: 24em !important;
    }
    /* 公開日: カレンダー / 更新日: ペン。CSSだけで表示 */
}

/* 03: 購入・賃貸カードは写真なしで共通運用できるデザイン */
.sf39-housing-visual-update .sf39-housing-compare-v2 > section::before, .sf39-housing-visual-update .sf39-housing-compare-v2 > .sf39-cons::before {
    content: none !important;
    display: none !important;
    background-image: none !important;
}

.sf39-housing-visual-update .sf39-housing-compare-v2 > section {
    padding: 25px 22px 22px !important;
    background: #f0f2eb !important;
    border-top: 4px solid #8c9d87 !important;
}

.sf39-housing-visual-update .sf39-housing-compare-v2 > .sf39-cons {
    background: #faf0ea !important;
    border-top-color: #bd8066 !important;
}

.sf39-housing-visual-update .sf39-housing-compare-v2__top {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* 04: 購入前の4つの確認には新しい指定を加えない */
/* ============================================================
SF39 HOUSING | APPROVED 3 AREAS ONLY | 2026-10-15
Additive overrides. All existing rules above remain untouched.
1 HERO  2 OWN/RENT card bodies  3 BUY CHECKS
============================================================ */
/* 1. HOUSING HERO — photo under title, light gradient for legibility */
@supports selector(:has(*)) {
    .sf39-editorial-post:has(.sf39-housing-article) > .sf39-post-hero.sf39-post-hero--standard {
        display: flex !important;
        align-items: center !important;
        min-height: 345px !important;
        padding: clamp(25px,3.5vw,43px) !important;
        background-color: #f8f6f0 !important;
        background-image: linear-gradient(90deg,rgba(255,254,250,.98) 0%,rgba(255,254,250,.95) 28%,rgba(255,254,250,.75) 53%,rgba(255,254,250,.12) 100%),url("../../images/articles/housing-buy-vs-rent-v1.webp") !important;
        background-size: cover !important;
        background-position: 70% center !important;
        background-repeat: no-repeat !important;
    }
    .sf39-editorial-post:has(.sf39-housing-article) > .sf39-post-hero.sf39-post-hero--standard .sf39-post-hero__inner {
        max-width: 100% !important;
        width: 100% !important;
    }
    .sf39-editorial-post:has(.sf39-housing-article) > .sf39-post-hero.sf39-post-hero--standard .sf39-post-hero__image {
        display: none !important;
    }
    .sf39-editorial-post:has(.sf39-housing-article) .sf39-post-hero--standard .sf39-post-hero__title {
        max-width: 23em !important;
        line-height: 1.55 !important;
    }
}

/* Other categories: retain their current hero. Existing photo hero remains photo-led. */
/* 2. OWN/RENT — KEEP the current ① ② top header exactly as-is.
Restyle only title, bullet list and details below header. */
.sf39-housing-article .sf39-housing-compare-v2 > section {
    min-width: 0;
}

.sf39-housing-article .sf39-housing-compare-v2 > section .sf39-pros-cons__title {
    margin: 23px 0 18px !important;
    padding: 0 0 0 16px !important;
    border: 0 !important;
    border-left: 2px solid #bd8b53 !important;
    font-family: "Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;
    color: #153f38 !important;
    font-size: clamp(18px,1.9vw,22px) !important;
    line-height: 1.7 !important;
}

.sf39-housing-article .sf39-housing-compare-v2 .sf39-choice-points {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.sf39-housing-article .sf39-housing-compare-v2 .sf39-choice-points > li {
    position: relative;
    list-style: none !important;
    min-width: 0;
    padding: 8px 0 8px 36px !important;
    margin: 0 !important;
    line-height: 1.75 !important;
    font-size: 14px;
}

.sf39-housing-article .sf39-housing-compare-v2 .sf39-choice-points > li::before {
    content: "✓" !important;
    position: absolute;
    top: 8px;
    left: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #91a994 !important;
    display: grid !important;
    place-items: center;
    color: #fff !important;
    font: 700 15px/1 Arial,sans-serif;
}

.sf39-housing-article .sf39-housing-compare-v2 > .sf39-cons .sf39-choice-points > li::before {
    background: #c58b79 !important;
}

.sf39-housing-article .sf39-housing-compare-v2 .sf39-choice-detail {
    margin-top: 19px !important;
    padding-top: 15px !important;
    border-top: 1px solid #dcd9ce !important;
}

.sf39-housing-article .sf39-housing-compare-v2 .sf39-choice-detail > summary {
    color: #a76849 !important;
    font-weight: 700;
    cursor: pointer;
    line-height: 1.8;
}

.sf39-housing-article .sf39-housing-compare-v2 .sf39-choice-detail > summary::marker {
    color: #a76849;
}

.sf39-housing-article .sf39-housing-compare-v2 .sf39-choice-detail[open] > p {
    margin-top: 14px !important;
}

/* 3. Four BUY checks — compact, full-width editorial rows, with photos.
Existing section 04 uses another container and is not affected. */
.sf39-housing-article .sf39-housing-buy-checks-v2 {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 14px !important;
    margin: 28px 0 40px !important;
    border: 0 !important;
}

.sf39-housing-article .sf39-housing-buy-checks-v2 > section.sf39-housing-step {
    display: grid !important;
    grid-template-columns: 190px 49px minmax(0,1fr) !important;
    align-items: center !important;
    gap: 18px !important;
    min-width: 0 !important;
    min-height: 135px !important;
    margin: 0 !important;
    padding: 12px 20px 12px 12px !important;
    border: 1px solid #e7dccb !important;
    border-left: 3px solid #b58a4c !important;
    border-radius: 4px !important;
    background: #fffdfa !important;
}

.sf39-housing-article .sf39-housing-buy-checks-v2 > section.sf39-housing-step::before {
    content: "";
    display: block;
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    height: 112px;
    border-radius: 3px;
    background-size: cover;
    background-position: center;
}

.sf39-housing-article .sf39-housing-buy-checks-v2 > section:nth-child(1)::before {
    background-image: url("../../images/articles/housing-check-01.webp");
}

.sf39-housing-article .sf39-housing-buy-checks-v2 > section:nth-child(2)::before {
    background-image: url("../../images/articles/housing-check-02.webp");
}

.sf39-housing-article .sf39-housing-buy-checks-v2 > section:nth-child(3)::before {
    background-image: url("../../images/articles/housing-check-03.webp");
}

.sf39-housing-article .sf39-housing-buy-checks-v2 > section:nth-child(4)::before {
    background-image: url("../../images/articles/housing-check-04.webp");
}

.sf39-housing-article .sf39-housing-buy-checks-v2 > section.sf39-housing-step > span {
    grid-column: 2;
    grid-row: 1;
    display: grid !important;
    place-items: center !important;
    width: 43px !important;
    height: 43px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #b48a4e !important;
    border-radius: 50% !important;
    color: #a77d42 !important;
    background: transparent !important;
    font: 25px/1 Georgia,serif !important;
}

.sf39-housing-article .sf39-housing-buy-checks-v2 > section.sf39-housing-step > div {
    grid-column: 3;
    grid-row: 1;
    min-width: 0 !important;
    width: auto !important;
}

.sf39-housing-article .sf39-housing-buy-checks-v2 > section.sf39-housing-step h3 {
    margin: 0 0 7px !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
    color: #153f38 !important;
}

.sf39-housing-article .sf39-housing-buy-checks-v2 > section.sf39-housing-step .sf39-check-short {
    margin: 0 0 7px !important;
    color: #6a6c65;
    font-size: 13px !important;
    line-height: 1.7 !important;
}

.sf39-housing-article .sf39-housing-buy-checks-v2 .sf39-check-detail > summary {
    color: #a96c4b !important;
    font-weight: 700;
    cursor: pointer;
    font-size: 13px !important;
}

.sf39-housing-article .sf39-housing-buy-checks-v2 .sf39-check-detail[open] > p {
    margin-top: 12px !important;
    font-size: 14px !important;
    line-height: 1.9 !important;
}

@media (max-width:767px) {
    @supports selector(:has(*)) {
        .sf39-editorial-post:has(.sf39-housing-article) > .sf39-post-hero.sf39-post-hero--standard {
            min-height: 295px !important;
            background-position: 63% center !important;
            background-image: linear-gradient(90deg,rgba(255,254,250,.98),rgba(255,254,250,.84) 64%,rgba(255,254,250,.48)),url("../../images/articles/housing-buy-vs-rent-v1.webp") !important;
        }
    }
    .sf39-housing-article .sf39-housing-buy-checks-v2 > section.sf39-housing-step {
        grid-template-columns: 95px minmax(0,1fr) !important;
        gap: 10px 13px !important;
        padding: 12px !important;
        align-items: start !important;
    }
    .sf39-housing-article .sf39-housing-buy-checks-v2 > section.sf39-housing-step::before {
        grid-column: 1;
        grid-row: 1 / span 2;
        height: 105px;
    }
    .sf39-housing-article .sf39-housing-buy-checks-v2 > section.sf39-housing-step > span {
        grid-column: 2;
        grid-row: 1;
        width: 34px !important;
        height: 34px !important;
        font-size: 20px !important;
    }
    .sf39-housing-article .sf39-housing-buy-checks-v2 > section.sf39-housing-step > div {
        grid-column: 2;
        grid-row: 2;
    }
    .sf39-housing-article .sf39-housing-buy-checks-v2 > section.sf39-housing-step h3 {
        font-size: 15px !important;
    }
}

@media (max-width:380px) {
    .sf39-housing-article .sf39-housing-buy-checks-v2 > section.sf39-housing-step {
        grid-template-columns: 76px minmax(0,1fr) !important;
    }
}

/* ============================================================
SF39 | 2026-10-15 | HERO + SECTION 03 ONLY
Existing CSS is not deleted. Append this ONCE at the very end.
Image paths assume this CSS is in the theme's /css/ directory.
============================================================ */
/* 01 — Housing HERO: match the article even when the hero is
outside the .sf39-editorial-post wrapper. Correct image path. */
@supports selector(body:has(.sf39-housing-article)) {
    body:has(.sf39-housing-article) .sf39-post-hero.sf39-post-hero--standard, body:has(.sf39-housing-article) .sf-article-header.sf39-post-hero--standard {
        min-height: 330px !important;
        background-color: #f8f6f0 !important;
        background-image: linear-gradient(90deg, rgba(255,254,250,.99) 0%, rgba(255,254,250,.96) 30%, rgba(255,254,250,.80) 53%, rgba(255,254,250,.14) 100%), url("../images/articles/housing-buy-vs-rent-v1.webp") !important;
        background-position: center, 68% center !important;
        background-size: cover !important;
        background-repeat: no-repeat !important;
        position: relative !important;
        isolation: isolate !important;
    }
    body:has(.sf39-housing-article) .sf39-post-hero.sf39-post-hero--standard .sf39-post-hero__image {
        display: none !important;
    }
    body:has(.sf39-housing-article) .sf39-post-hero.sf39-post-hero--standard .sf39-post-hero__inner {
        position: relative !important;
        z-index: 1 !important;
    }
}

/* 02 — Section 03 only: override old display:contents and inline
title styles which were splitting text into narrow grid cells. */
.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step {
    width: 100% !important;
}

.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step > span {
    place-items: center !important;
    font: 25px/1 Georgia, serif !important;
}

.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step > div {
    max-width: none !important;
}

.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step h3 {
    display: block !important;
    width: 100% !important;
    border: 0 !important;
    overflow-wrap: break-word !important;
}

.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step p {
    display: block !important;
    width: auto !important;
    margin: 0 0 8px !important;
    line-height: 1.75 !important;
    overflow-wrap: break-word !important;
}

.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step details {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
}

@media (max-width: 767px) {
    @supports selector(body:has(.sf39-housing-article)) {
        body:has(.sf39-housing-article) .sf39-post-hero.sf39-post-hero--standard, body:has(.sf39-housing-article) .sf-article-header.sf39-post-hero--standard {
            min-height: 300px !important;
            background-image: linear-gradient(90deg, rgba(255,254,250,.97), rgba(255,254,250,.85) 65%, rgba(255,254,250,.48)), url("../images/articles/housing-buy-vs-rent-v1.webp") !important;
            background-position: center, 65% center !important;
        }
    }
    .sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step {
        grid-template-columns: 105px minmax(0,1fr) !important;
        grid-template-rows: auto auto !important;
        align-items: start !important;
        gap: 8px 12px !important;
    }
    .sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step::before {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        min-height: 115px !important;
    }
    .sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step > span {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 34px !important;
        height: 34px !important;
        font-size: 20px !important;
    }
    .sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step > div {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }
}

@media (max-width: 390px) {
    .sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step {
        grid-template-columns: 82px minmax(0,1fr) !important;
    }
}

/* ============================================================
SF39 | 住宅記事 Section 03 だけ修正 | 2026-10-15
既存CSSを削除せず、末尾に一度だけ追加。
HERO / OWN-RENT / KEY POINTS / CONTENTS / Section 04 は変更しない。
============================================================ */
/* 写真・番号・テキストの横並びを整え、不要な空白を減らす */
.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step {
    gap: 18px !important;
    border-left-color: #779486 !important;
}

/* 既存の①〜④を隠し、緑の丸い01〜04を一つだけ表示 */
.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step > span {
    line-height: 1 !important;
}

.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step > span::before {
    box-shadow: none !important;
}

.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step h3 {
    font-size: 17px !important;
}

@media (max-width: 767px) {
    .sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step {
        grid-template-columns: 112px minmax(0,1fr) !important;
        grid-template-rows: auto auto !important;
        gap: 7px 13px !important;
        align-items: start !important;
        padding: 12px !important;
        min-height: 0 !important;
    }
    .sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step::before {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        height: 112px !important;
        min-height: 112px !important;
    }
    .sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step > span {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 31px !important;
        height: 31px !important;
    }
    .sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step > span::before {
        font-size: 11px !important;
    }
    .sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step > div {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }
    .sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step h3 {
        font-size: 15px !important;
    }
}

@media (max-width: 390px) {
    .sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step {
        grid-template-columns: 90px minmax(0,1fr) !important;
        gap: 7px 10px !important;
    }
}

/* =========================================================
Start From 39 | Housing article: HERO + Section 03 ONLY
2026-10-15 | ADD AT END OF EXISTING CSS
Existing rules, HTML, sidebar and other sections stay intact.
========================================================= */
/* 01 | Housing HERO — photo is embedded so no image path is required. */
@supports selector(body:has(.sf39-housing-article)) {
    body:has(.sf39-housing-article) .sf39-post-hero.sf39-post-hero--standard {
        position: relative !important;
        isolation: isolate !important;
        min-height: 340px !important;
        display: flex !important;
        align-items: center !important;
        padding: clamp(25px, 3.5vw, 43px) !important;
        background-color: #f8f6f0 !important;
        background-image: linear-gradient( 90deg, rgba(255, 254, 250, .99) 0%, rgba(255, 254, 250, .96) 30%, rgba(255, 254, 250, .77) 53%, rgba(255, 254, 250, .10) 100% ), url("../images/sf39-inline-image-01.webp") !important;
        background-position: center, center !important;
        background-size: cover !important;
        background-repeat: no-repeat !important;
    }
    body:has(.sf39-housing-article) .sf39-post-hero.sf39-post-hero--standard .sf39-post-hero__inner {
        position: relative !important;
        z-index: 2 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    body:has(.sf39-housing-article) .sf39-post-hero.sf39-post-hero--standard .sf39-post-hero__image {
        display: none !important;
    }
}

/* 02 | Section 03: smaller photos, green numbers and even spacing. */
.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
}

.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step {
    display: grid !important;
    grid-template-columns: 166px 40px minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    align-items: center !important;
    column-gap: 20px !important;
    min-width: 0 !important;
    min-height: 150px !important;
    margin: 0 !important;
    padding: 15px 22px 15px 15px !important;
    border-left: 3px solid #779486 !important;
    background: #fffdfa !important;
}

.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step::before {
    display: block !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: 116px !important;
    min-height: 116px !important;
    align-self: center !important;
    border-radius: 3px !important;
    background-size: cover !important;
    background-position: center !important;
}

.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step > span {
    display: flex !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #668b79 !important;
    color: transparent !important;
    font-size: 0 !important;
    box-shadow: none !important;
    position: relative !important;
}

.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step > span::before {
    content: "01" !important;
    display: block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    color: #ffffff !important;
    font: 700 13px/1 Georgia, serif !important;
}

.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step:nth-child(2) > span::before {
    content: "02" !important;
}

.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step:nth-child(3) > span::before {
    content: "03" !important;
}

.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step:nth-child(4) > span::before {
    content: "04" !important;
}

.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step > span::after {
    content: none !important;
    display: none !important;
}

.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step > div {
    display: block !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    align-self: center !important;
}

.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step h3 {
    margin: 0 0 9px !important;
    padding: 0 !important;
    line-height: 1.6 !important;
}

.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step .sf39-check-short {
    margin: 0 0 10px !important;
    line-height: 1.7 !important;
}

.sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step .sf39-check-detail {
    margin: 0 !important;
}

@media (max-width: 767px) {
    @supports selector(body:has(.sf39-housing-article)) {
        body:has(.sf39-housing-article) .sf39-post-hero.sf39-post-hero--standard {
            min-height: 310px !important;
            background-position: center, 62% center !important;
            padding: 24px 19px !important;
        }
    }
    .sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step {
        grid-template-columns: 100px minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        column-gap: 13px !important;
        row-gap: 8px !important;
        padding: 13px !important;
        min-height: 0 !important;
    }
    .sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step::before {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        height: 105px !important;
        min-height: 105px !important;
        align-self: start !important;
    }
    .sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step > span {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 33px !important;
        height: 33px !important;
    }
    .sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step > div {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }
}

@media (max-width: 390px) {
    .sf39-housing-article .sf39-housing-numbered.sf39-housing-buy-checks-v2 > section.sf39-housing-step {
        grid-template-columns: 85px minmax(0, 1fr) !important;
    }
}

/* Start From 39 | Housing article | YOUR CONCERNS only
4 check icons: muted gold circle + white check.
Integrated into the consolidated master stylesheet. */
.sf39-housing-article .sf39-housing-concerns li::before {
    content: "✓" !important;
    display: grid !important;
    place-items: center !important;
    width: 23px !important;
    height: 23px !important;
    border: 1px solid #B28A46 !important;
    border-radius: 50% !important;
    background: #B28A46 !important;
    color: #FFFFFF !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* Start From 39 | OWN / RENT: top 1/2 circle color ONLY */
/* Keep the outlined circles, change border and numeral to each card's color. */
.sf39-housing-article .sf39-housing-compare-v2 > .sf39-pros .sf39-housing-compare-v2__index, .sf39-housing-article .sf39-housing-compare-v2 > .sf39-pros .sf39-housing-compare-v2__index::before {
    color: #91aa98 !important;
    border-color: #91aa98 !important;
}

.sf39-housing-article .sf39-housing-compare-v2 > .sf39-cons .sf39-housing-compare-v2__index, .sf39-housing-article .sf39-housing-compare-v2 > .sf39-cons .sf39-housing-compare-v2__index::before {
    color: #c48776 !important;
    border-color: #c48776 !important;
}

/* ==============================================================
SF39 Housing | SECTION 04 RENT STEPS ONLY | 2026-10-15
Append once to article-post-redesign.css; do not replace old CSS.
No photos. Existing HTML, links and expandable details remain.
============================================================== */
/* ==============================================================
SF39 Housing | SECTION 04 RENT STEPS ONLY | 2026-10-15
Append once to article-post-redesign.css; do not replace old CSS.
No photos. Existing HTML, links and expandable details remain.
============================================================== */
/* =========================================================
Start From 39 | Housing Article | Section 04 only
既存の03・他セクションには影響しない独立クラス
========================================================= */
.sf39-housing-article .sf39-rent-editorial {
    display: grid;
    gap: 18px;
    margin: 28px 0 38px;
}

.sf39-housing-article .sf39-rent-editorial__card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 34px 38px;
    border: 1px solid rgba(79, 95, 79, 0.12);
    border-radius: 14px;
}

.sf39-housing-article .sf39-rent-editorial__card--pension {
    background: #f7f3eb;
}

.sf39-housing-article .sf39-rent-editorial__card--housing {
    background: #f8eeeb;
}

.sf39-housing-article .sf39-rent-editorial__card--contract {
    background: #edf2ed;
}

.sf39-housing-article .sf39-rent-editorial__content {
    position: relative;
    z-index: 1;
    max-width: 660px;
}

.sf39-housing-article .sf39-rent-editorial__eyebrow {
    display: block;
    margin-bottom: 12px;
    color: #688477;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    line-height: 1.5;
}

.sf39-housing-article .sf39-rent-editorial__card--housing .sf39-rent-editorial__eyebrow {
    color: #b47768;
}

.sf39-housing-article .sf39-rent-editorial__card h3 {
    margin: 0 0 12px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #33453c;
    font-size: clamp(19px, 2.2vw, 24px);
    font-weight: 600;
    line-height: 1.55;
}

.sf39-housing-article .sf39-rent-editorial__card p {
    margin: 0;
    color: #4d554f;
    font-size: 15px;
    line-height: 1.95;
}

/* =========================================================
04 | EDITORIAL LINE — FINAL
English labels, full-width hairline, no botanical artwork.
========================================================= */
.sf39-housing-article .sf39-rent-editorial__card::before, .sf39-housing-article .sf39-rent-editorial__card::after {
    content: none;
    display: none;
}

.sf39-housing-article .sf39-rent-editorial__content {
    max-width: none;
}

.sf39-housing-article .sf39-rent-editorial__eyebrow {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin-bottom: 20px;
    padding-bottom: 15px;
}

.sf39-housing-article .sf39-rent-editorial__eyebrow::before {
    content: "— FINANCIAL PLANNING";
    color: #a58a65;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 0.12em;
    white-space: nowrap;
    order: 1;
}

.sf39-housing-article .sf39-rent-editorial__card--housing .sf39-rent-editorial__eyebrow::before {
    content: "— HOUSING OPTIONS";
    color: #b78577;
}

.sf39-housing-article .sf39-rent-editorial__card--contract .sf39-rent-editorial__eyebrow::before {
    content: "— PRACTICAL CHECK";
    color: #779386;
}

.sf39-housing-article .sf39-rent-editorial__eyebrow::after {
    content: "";
    display: block;
    flex: 0 0 100%;
    width: 100%;
    height: 1px;
    margin-top: 2px;
    background: #d9cbb6;
    opacity: 1;
    order: 2;
}

.sf39-housing-article .sf39-rent-editorial__card--housing .sf39-rent-editorial__eyebrow::after {
    background: #e3c9c0;
}

.sf39-housing-article .sf39-rent-editorial__card--contract .sf39-rent-editorial__eyebrow::after {
    background: #cad8cd;
}

/* =========================================================
HOUSING ARTICLE | INNER CONTENT ALIGNMENT
Align article content visually with ABOUT THE EDITOR.
Keep outer article column and sidebar layout unchanged.
Desktop only; no changes to mobile layout.
========================================================= */
@media (min-width: 1200px) {
    .sf39-editorial-post:has(.sf39-housing-article) .sf-article-content {
        width: calc(100% + 96px);
        max-width: none;
        margin-left: -48px;
        margin-right: -48px;
        box-sizing: border-box;
    }
}

@media (max-width: 767px) {
    .sf39-housing-article .sf39-rent-editorial {
        gap: 14px;
        margin: 22px 0 30px;
    }
    .sf39-housing-article .sf39-rent-editorial__card {
        padding: 25px 22px;
        border-radius: 12px;
    }
    .sf39-housing-article .sf39-rent-editorial__card h3 {
        font-size: 19px;
    }
    .sf39-housing-article .sf39-rent-editorial__card p {
        font-size: 14px;
    }
    .sf39-housing-article .sf39-rent-editorial__eyebrow {
        margin-bottom: 17px;
        padding-bottom: 12px;
    }
    .sf39-housing-article .sf39-rent-editorial__eyebrow::before {
        font-size: 9px;
        letter-spacing: 0.07em;
    }
}

/* =========================================================
WORK & CAREER / 在宅副業4選
既存の住宅記事共通コンポーネントを使用し、記事固有要素のみ定義
公開日・更新日・HERO・サイドバーには触れません
========================================================= */
.sf39-editorial-post .sf39-sidejob-article {
    min-width: 0;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-intro {
    margin-bottom: 30px;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-eyebrow, .sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-section-kicker {
    font-size: 10px;
    letter-spacing: .18em;
    font-weight: 700;
    color: #9c7c49;
    line-height: 1.8;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-eyebrow {
    margin: 0 0 13px;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-section-kicker {
    margin: 8px 0 22px;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-check-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 16px;
    margin: 26px 0;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-check-card {
    padding: 26px 24px;
    background: #faf8f3;
    border: 1px solid #e9e1d5;
    min-width: 0;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-check-card:nth-child(4n + 2), .sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-check-card:nth-child(4n + 3) {
    background: #f2f6f1;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-check-card__number {
    display: block;
    color: #aa8855;
    letter-spacing: .12em;
    font-size: 12px;
    margin-bottom: 14px;
    font-weight: 700;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-check-card h3 {
    margin: 0 0 11px;
    font-size: 17px;
    line-height: 1.6;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-check-card p {
    margin: 0;
    line-height: 1.95;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-table-heading {
    margin: 28px 0 14px;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-table-heading span {
    font-size: 10px;
    letter-spacing: .18em;
    color: #a4875d;
    font-weight: 700;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-table-heading h3 {
    margin: 6px 0 0;
    font-size: 18px;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-job-list {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 15px;
    margin: 28px 0;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-job-card {
    padding: 26px 29px;
    background: #fbfaf6;
    border: 1px solid #e6e0d5;
    border-left: 3px solid #a48b60;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-job-card:nth-child(even) {
    background: #f4f7f3;
    border-left-color: #64887a;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-job-card__index {
    display: block;
    color: #997a4e;
    letter-spacing: .13em;
    font-size: 10px;
    font-weight: 700;
    margin-bottom: 10px;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-job-card h3 {
    font-size: 18px;
    line-height: 1.6;
    margin: 0 0 11px;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-job-card p {
    margin: 0;
    line-height: 2;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-simulation {
    margin: 25px 0 30px;
    border: 1px solid #d8dfd7;
    background: #f5f8f5;
    padding: 26px;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-simulation__heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 15px;
    flex-wrap: wrap;
    border-bottom: 1px solid #dce4dc;
    padding-bottom: 14px;
    margin-bottom: 20px;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-simulation__heading p {
    margin: 0;
    font-size: 12px;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-simulation__grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 10px;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-simulation__item {
    padding: 17px 12px;
    background: #fff;
    border: 1px solid #e2e8e1;
    text-align: center;
    min-width: 0;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-simulation__item>span {
    display: block;
    font-size: 12px;
    line-height: 1.7;
    min-height: 3.4em;
    color: #52645b;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-simulation__item strong {
    display: block;
    margin-top: 10px;
    color: #1f5145;
    font-size: 25px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-simulation__item small {
    font-size: 11px;
    font-weight: 500;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-simulation__note {
    margin: 16px 0 0;
    font-size: 12px;
    color: #67716a;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-process {
    list-style: none;
    margin: 27px 0;
    padding: 0;
    border-top: 1px solid #e5e0d7;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-process>li {
    display: grid;
    grid-template-columns: 46px minmax(0,1fr);
    gap: 14px;
    align-items: start;
    padding: 22px 3px;
    border-bottom: 1px solid #e5e0d7;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-process__number {
    color: #9e8053;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 600;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-process h3 {
    margin: 0 0 8px;
    font-size: 17px;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-process p {
    margin: 0;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-tax-list {
    margin: 24px 0 28px;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-tax-list section {
    padding: 21px 0;
    border-bottom: 1px solid #e7e2d8;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-tax-list section:first-child {
    border-top: 1px solid #e7e2d8;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-tax-list h3 {
    margin: 0 0 10px;
    font-size: 17px;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-tax-list p {
    margin: 0;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-next__note {
    font-size: 11px;
    opacity: .8;
    margin: 12px 0 0;
}

.sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-next__pending {
    cursor: default;
    pointer-events: none;
}

@media (max-width:767px) {
    .sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-check-grid {
        grid-template-columns: minmax(0,1fr);
        gap: 12px;
    }
    .sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-check-card, .sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-job-card {
        padding: 21px 19px;
    }
    .sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-simulation {
        padding: 18px 14px;
    }
    .sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-simulation__grid {
        grid-template-columns: minmax(0,1fr);
    }
    .sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-simulation__item>span {
        min-height: 0;
    }
    .sf39-editorial-post .sf39-sidejob-article .sf39-sidejob-process>li {
        grid-template-columns: 35px minmax(0,1fr);
        gap: 10px;
    }
}

/* Shared post metadata icons — all categories, not housing-only. */
.sf39-editorial-post .sf39-post-hero__date time::before {
    content: "" !important;
    display: inline-block !important;
    width: 15px !important;
    height: 15px !important;
    margin-right: 7px !important;
    vertical-align: -2px !important;
    background: no-repeat center / contain url("../../images/sf39-inline-image-02.svg") !important;
}

.sf39-editorial-post .sf39-post-hero__updated::before {
    content: "" !important;
    display: inline-block !important;
    width: 15px !important;
    height: 15px !important;
    margin: 0 7px 0 6px !important;
    vertical-align: -2px !important;
    background: no-repeat center / contain url("../../images/sf39-inline-image-03.svg") !important;
}

/* =========================================================
EC ARTICLE | EDITORIAL PALETTE — INTEGRATED
A: deep green (brand) / B: warm neutrals + coral / C: blue-gray
Scope: EC article only. Shared housing design, header and TOC untouched.
========================================================= */
.sf39-ec-article {
    --ec-ink: #174a43;
    --ec-muted: #65716e;
    --ec-line: #e8e0d8;
    --ec-cream: #fbf8f3;
    --ec-sand: #f4eee6;
    --ec-rose: #fbf0ed;
    --ec-coral: #c87864;
    --ec-clay: #b86d56;
    --ec-blue: #526f81;
}

.sf39-ec-article .sf39-ec-card-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
    margin: 22px 0 30px;
}

.sf39-ec-article .sf39-ec-mini-card {
    min-width: 0;
    padding: 22px 23px;
    background: #f8f7f1;
    border: 1px solid #e4e6dc;
    border-radius: 8px;
}

.sf39-ec-article .sf39-ec-mini-card>span {
    display: block;
    font: 600 11px/1.5 Arial,sans-serif;
    letter-spacing: .12em;
    color: #a87b46;
    margin-bottom: 10px;
}

.sf39-ec-article .sf39-ec-mini-card>strong {
    display: block;
    color: var(--ec-ink);
    font-size: 17px;
    line-height: 1.6;
    margin-bottom: 7px;
}

.sf39-ec-article .sf39-ec-mini-card>p {
    margin: 0;
    font-size: 14px;
    line-height: 1.85;
}

/* Customer fit: label at left; heading and explanatory copy share right column */
.sf39-ec-article .sf39-ec-audience {
    display: block;
    padding: 30px 32px;
    background: #fffdfa;
    border: 1px solid #e8ddd0;
    border-radius: 16px;
}

.sf39-ec-article .sf39-ec-audience::before {
    content: "商品を見るときは「誰が・なぜ？」まで考える";
    display: block;
    background: #365e55;
    color: #fff;
    text-align: center;
    padding: 17px 12px;
    margin: 0 0 6px;
    border-top: 3px solid #d2b596;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .035em;
}

.sf39-ec-article .sf39-ec-audience .sf39-ec-mini-card {
    display: grid;
    grid-template-columns: 190px minmax(0,1fr);
    grid-template-rows: auto auto;
    gap: 4px 28px;
    align-items: start;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--ec-line);
    border-radius: 0;
    padding: 26px 16px;
    margin: 0;
}

.sf39-ec-article .sf39-ec-audience .sf39-ec-mini-card:last-child {
    border-bottom: 0;
}

.sf39-ec-article .sf39-ec-audience .sf39-ec-mini-card>span {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: center;
    margin: 0;
    text-align: center;
    background: #f6ede4;
    border: 1px solid #ead8c5;
    border-radius: 999px;
    padding: 12px;
    color: #936a51;
    letter-spacing: .09em;
    font-size: 12px;
}

.sf39-ec-article .sf39-ec-audience .sf39-ec-mini-card:nth-child(3)>span {
    background: #f9ece8;
    border-color: #eed6cf;
    color: #aa685d;
}

.sf39-ec-article .sf39-ec-audience .sf39-ec-mini-card>strong {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    font-size: 18px;
    line-height: 1.5;
}

.sf39-ec-article .sf39-ec-audience .sf39-ec-mini-card>p {
    grid-column: 2;
    grid-row: 2;
    margin: 0;
    line-height: 1.8;
    color: #52615d;
}

/* Existing comparison tables retained */
.sf39-ec-article .sf39-ec-table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 22px 0 28px;
    border: 1px solid #e2e2d9;
    border-radius: 12px;
}

.sf39-ec-article .sf39-ec-table {
    width: 100%;
    min-width: 600px;
    border-collapse: collapse;
    line-height: 1.75;
    font-size: 14px;
}

.sf39-ec-article .sf39-ec-table th, .sf39-ec-article .sf39-ec-table td {
    padding: 19px 16px;
    text-align: left;
    vertical-align: middle;
    border-right: 1px solid #e5e5dc;
    border-bottom: 1px solid #e5e5dc;
}

.sf39-ec-article .sf39-ec-table tr>*:last-child {
    border-right: 0;
}

.sf39-ec-article .sf39-ec-table tbody tr:last-child>* {
    border-bottom: 0;
}

.sf39-ec-article .sf39-ec-table thead th {
    background: #719489;
    color: #fff;
    font-weight: 700;
    text-align: center;
}

.sf39-ec-article .sf39-ec-table thead th:first-child {
    background: #385e55;
}

.sf39-ec-article .sf39-ec-table tbody th {
    color: #28594f;
    font-weight: 700;
    text-align: center;
}

.sf39-ec-article .sf39-ec-table tbody tr:nth-child(odd)>* {
    background: #fff;
}

.sf39-ec-article .sf39-ec-table tbody tr:nth-child(even)>* {
    background: #faf9f5;
}

.sf39-ec-article .sf39-ec-note {
    border-left: 3px solid #b9945c;
    padding: 19px 22px;
    background: #f8f6ef;
    margin: 24px 0;
}

.sf39-ec-article .sf39-ec-note strong {
    display: block;
    color: var(--ec-ink);
    margin-bottom: 8px;
}

.sf39-ec-article .sf39-ec-note p {
    margin: 0;
}

.sf39-ec-article .sf39-ec-profit {
    padding: 30px 26px;
    background: #f4f7f3;
    border: 1px solid #d7e2d9;
    margin: 25px 0 30px;
    text-align: center;
}

.sf39-ec-article .sf39-ec-profit__eyebrow {
    font: 600 11px Arial,sans-serif;
    letter-spacing: .17em;
    color: #a98148;
}

.sf39-ec-article .sf39-ec-profit__formula {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 17px 0 !important;
    color: var(--ec-ink);
    font-size: 18px;
    font-weight: 600;
}

.sf39-ec-article .sf39-ec-profit__formula b {
    font-weight: 400;
    color: #b9945c;
}

.sf39-ec-article .sf39-ec-profit__formula strong {
    color: #07564e;
    font-size: 23px;
}

.sf39-ec-article .sf39-ec-profit>p:last-child {
    font-size: 13px;
    line-height: 1.85;
    margin-bottom: 0;
}

.sf39-ec-article .sf39-ec-warning {
    background: #fbf5ee;
    border-left: 3px solid #c69b67;
    padding: 21px 24px;
    margin: 25px 0;
}

.sf39-ec-article .sf39-ec-warning strong {
    display: block;
    color: #735537;
    margin-bottom: 9px;
}

.sf39-ec-article .sf39-ec-warning p {
    margin: 0;
}

/* STEP 1–7: coral/terracotta circles; full-width text; prevent narrow column collapse */
.sf39-ec-article .sf39-ec-steps {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    min-width: 0;
    margin: 26px 0 32px;
    padding: 5px 0;
    box-sizing: border-box;
}

.sf39-ec-article .sf39-ec-steps::before {
    content: "";
    position: absolute;
    left: 24px;
    top: 28px;
    bottom: 28px;
    width: 2px;
    background: #ead0c5;
    pointer-events: none;
}

.sf39-ec-article .sf39-ec-steps>.sf39-ec-step {
    position: relative;
    display: grid !important;
    grid-template-columns: 50px minmax(0,1fr) !important;
    gap: 20px !important;
    align-items: start !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 0 27px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    writing-mode: horizontal-tb !important;
}

/* =========================================================
CARE ARTICLE | STEP TIMELINE
丸番号と見出しを同じ行に固定し、左右位置を揃える
02と同じコーラルピンクを維持
========================================================= */
.sf39-care-article.sf39-ec-article .sf39-ec-steps {
    padding: 0 !important;
    margin: 26px 0 32px !important;
}

.sf39-care-article.sf39-ec-article .sf39-ec-steps::before {
    left: 24px !important;
    top: 25px !important;
    bottom: 25px !important;
}

.sf39-care-article.sf39-ec-article .sf39-ec-steps > .sf39-ec-step {
    display: grid !important;
    grid-template-columns: 50px minmax(0, 1fr) !important;
    column-gap: 22px !important;
    row-gap: 0 !important;
    align-items: start !important;
    padding: 0 0 32px !important;
    margin: 0 !important;
}

.sf39-care-article.sf39-ec-article .sf39-ec-steps > .sf39-ec-step:last-child {
    padding-bottom: 0 !important;
}

.sf39-care-article.sf39-ec-article .sf39-ec-step > .sf39-ec-step__number, .sf39-care-article.sf39-ec-article .sf39-ec-step:nth-child(2n) > .sf39-ec-step__number {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start !important;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #c87d69 !important;
    background: #c87d69 !important;
    color: #ffffff !important;
    top: auto !important;
    transform: none !important;
}

.sf39-care-article.sf39-ec-article .sf39-ec-step > .sf39-ec-step__content {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: start !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 1px 0 0 !important;
    position: static !important;
    transform: none !important;
}

.sf39-care-article.sf39-ec-article .sf39-ec-step__content > h3 {
    margin: 0 0 7px !important;
    padding: 0 !important;
}

.sf39-care-article.sf39-ec-article .sf39-ec-step__content > p {
    margin: 0 !important;
}

@media (max-width: 767px) {
    .sf39-care-article.sf39-ec-article .sf39-ec-steps::before {
        left: 21px !important;
        top: 22px !important;
        bottom: 22px !important;
    }
    .sf39-care-article.sf39-ec-article .sf39-ec-steps > .sf39-ec-step {
        grid-template-columns: 44px minmax(0, 1fr) !important;
        column-gap: 13px !important;
        padding-bottom: 28px !important;
    }
    .sf39-care-article.sf39-ec-article .sf39-ec-step > .sf39-ec-step__number, .sf39-care-article.sf39-ec-article .sf39-ec-step:nth-child(2n) > .sf39-ec-step__number {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
    }
}

.sf39-ec-article .sf39-ec-steps>.sf39-ec-step:last-child {
    padding-bottom: 0 !important;
}

.sf39-ec-article .sf39-ec-step>.sf39-ec-step__number {
    position: relative !important;
    z-index: 1;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    grid-column: 1 !important;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #cc8a76 !important;
    border-radius: 50% !important;
    background: #fff4ef !important;
    color: #ad5d49 !important;
    font: 700 15px/1 Georgia,serif !important;
    writing-mode: horizontal-tb !important;
}

.sf39-ec-article .sf39-ec-step:nth-child(2n)>.sf39-ec-step__number {
    background: #c87d69 !important;
    color: #fff !important;
    border-color: #c87d69 !important;
}

.sf39-ec-article .sf39-ec-step>.sf39-ec-step__content {
    display: block !important;
    grid-column: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 3px 0 0 !important;
    box-sizing: border-box !important;
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

.sf39-ec-article .sf39-ec-step__content>small {
    display: block !important;
    margin: 0 0 5px !important;
    color: #b46b56 !important;
    font: 600 11px/1.5 Georgia,serif !important;
    letter-spacing: .13em !important;
}

.sf39-ec-article .sf39-ec-step__content>h3 {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--ec-ink) !important;
    font-size: 18px !important;
    line-height: 1.65 !important;
    letter-spacing: normal !important;
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

.sf39-ec-article .sf39-ec-step__content>p {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #64716d !important;
    font-size: 15px !important;
    line-height: 1.9 !important;
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

.sf39-ec-article .sf39-ec-check {
    padding: 23px 25px;
    background: #f7f5ef;
    border: 1px solid #e8e3d8;
    margin: 22px 0 30px;
}

.sf39-ec-article .sf39-ec-check>strong {
    display: block;
    color: var(--ec-ink);
    margin-bottom: 13px;
}

.sf39-ec-article .sf39-ec-check ul {
    margin-bottom: 0;
}

/* Related story link for in-article usage */
.sf39-ec-article .sf39-ec-related {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 22px;
    border: 1px solid #dce5de;
    background: #fcfdfb;
    color: var(--ec-ink);
    text-decoration: none !important;
    margin: 16px 0;
    transition: background .2s,transform .2s;
}

.sf39-ec-article .sf39-ec-related:hover {
    background: #f1f6f1;
    transform: translateY(-3px);
}

.sf39-ec-article .sf39-ec-related small {
    display: block;
    color: #ad874c;
    font-size: 10px;
    letter-spacing: .15em;
    margin-bottom: 7px;
}

.sf39-ec-article .sf39-ec-related strong {
    display: block;
    font-size: 16px;
    line-height: 1.5;
}

.sf39-ec-article .sf39-ec-related em {
    display: block;
    font-size: 13px;
    color: #66746b;
    font-style: normal;
    margin-top: 6px;
}

.sf39-ec-article .sf39-ec-related>b {
    font-size: 22px;
    color: #ad874c;
}

/* Vertical, editorial comparison CTAs: greige and blue-gray, not all green */
.sf39-ec-article .sf39-ec-compare {
    margin: 42px 0;
    padding: 33px 32px;
    background: #f5f0e9;
    border: 1px solid #e8ded1;
    border-top: 3px solid #c8a58a;
    border-radius: 15px;
}

.sf39-ec-article .sf39-ec-compare__title {
    margin: 0 0 24px !important;
    text-align: center !important;
    font-size: 22px !important;
    color: var(--ec-ink) !important;
    padding: 0 0 17px !important;
    position: relative;
}

.sf39-ec-article .sf39-ec-compare__title::after {
    content: "";
    position: absolute;
    width: 44px;
    height: 2px;
    background: #bca08c;
    bottom: 0;
    left: calc(50% - 22px);
}

.sf39-ec-article .sf39-ec-compare__cards {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 16px;
}

.sf39-ec-article .sf39-ec-compare__card {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    grid-template-rows: auto auto auto;
    align-items: center;
    column-gap: 25px;
    row-gap: 7px;
    min-width: 0;
    padding: 25px 29px;
    text-align: left;
    background: #fffdfb;
    border: 1px solid #e5dcd2;
    border-left: 4px solid #c39b83;
    border-radius: 10px;
}

.sf39-ec-article .sf39-ec-compare__card:nth-child(2) {
    background: #f8fafb;
    border-color: #dce3e8;
    border-left-color: #8095a4;
}

.sf39-ec-article .sf39-ec-compare__eyebrow {
    grid-column: 1;
    margin: 0 !important;
    color: #b47c65;
    font-size: 10px;
    letter-spacing: .17em;
}

.sf39-ec-article .sf39-ec-compare__card:nth-child(2) .sf39-ec-compare__eyebrow {
    color: #657f91;
}

.sf39-ec-article .sf39-ec-compare__card h3 {
    grid-column: 1;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 19px !important;
    line-height: 1.6;
    color: var(--ec-ink);
}

.sf39-ec-article .sf39-ec-compare__card>p:not(.sf39-ec-compare__eyebrow) {
    grid-column: 1;
    margin: 0 !important;
    font-size: 14px;
    line-height: 1.85;
    color: #5c6966;
}

.sf39-ec-article .sf39-ec-compare__button {
    grid-column: 2;
    grid-row: 1 / span 3;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    width: 245px;
    max-width: 100%;
    box-sizing: border-box;
    min-height: 57px;
    padding: 13px 17px;
    background: #526f81;
    color: #fff !important;
    border-radius: 6px;
    text-decoration: none !important;
    font-weight: 700;
    font-size: 13px;
    line-height: 1.55;
    transition: background .2s,transform .2s;
}

.sf39-ec-article .sf39-ec-compare__button:hover, .sf39-ec-article .sf39-ec-compare__button:focus-visible {
    background: #344e60;
    transform: translateY(-2px);
}

.sf39-ec-article .sf39-ec-compare__button:focus-visible, .sf39-ec-article .sf39-ec-related:focus-visible {
    outline: 3px solid #cb977a;
    outline-offset: 3px;
}

/* Featured reading: 3 editorial pick-up cards, differentiated sage/rose/ivory */
.sf39-ec-article .sf39-ec-related-list {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 13px;
    margin: 38px 0 45px;
}

.sf39-ec-article .sf39-ec-related-list__label {
    grid-column: 1/-1;
    margin: 0 0 4px !important;
    padding-bottom: 13px;
    border-bottom: 1px solid #e5e6df;
    font-size: 11px;
    letter-spacing: .16em;
    color: #a67b53;
}

.sf39-ec-article .sf39-ec-related-list__label span {
    margin-left: 12px;
    color: #7b8984;
    font-size: 10px;
}

.sf39-ec-article .sf39-ec-related-list>.sf39-ec-related {
    position: relative;
    display: flex;
    align-items: stretch;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
    min-height: 190px;
    gap: 12px;
    margin: 0;
    padding: 24px 20px 18px;
    border: 1px solid #dbe5dd;
    border-top: 4px solid #8ca89a;
    border-radius: 10px;
    background: linear-gradient(150deg,#f0f6f1,#fffdfb 80%);
}

.sf39-ec-article .sf39-ec-related-list>.sf39-ec-related:nth-of-type(2) {
    background: linear-gradient(150deg,#fbefed,#fffdfb 80%);
    border-color: #ecdcd7;
    border-top-color: #ce9a90;
}

.sf39-ec-article .sf39-ec-related-list>.sf39-ec-related:nth-of-type(3) {
    background: linear-gradient(150deg,#f5f1e9,#fffdfb 80%);
    border-color: #e8e1d5;
    border-top-color: #c8ab83;
}

.sf39-ec-article .sf39-ec-related-list>.sf39-ec-related small {
    margin-bottom: 15px;
    color: #a57b5a;
}

.sf39-ec-article .sf39-ec-related-list>.sf39-ec-related strong {
    font-size: 17px;
    line-height: 1.6;
    color: var(--ec-ink);
}

.sf39-ec-article .sf39-ec-related-list>.sf39-ec-related em {
    margin-top: 13px;
    line-height: 1.8;
}

.sf39-ec-article .sf39-ec-related-list>.sf39-ec-related>b {
    align-self: flex-end;
    margin-top: auto;
    color: #b48b67;
    font-size: 24px;
}

@media (max-width:767px) {
    .sf39-ec-article .sf39-ec-card-grid {
        grid-template-columns: 1fr;
        gap: 11px;
    }
    .sf39-ec-article .sf39-ec-mini-card {
        padding: 18px;
    }
    .sf39-ec-article .sf39-ec-audience {
        padding: 18px 15px;
    }
    .sf39-ec-article .sf39-ec-audience::before {
        font-size: 15px;
    }
    .sf39-ec-article .sf39-ec-audience .sf39-ec-mini-card {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        gap: 9px;
        padding: 20px 6px;
    }
    .sf39-ec-article .sf39-ec-audience .sf39-ec-mini-card>span {
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
        min-width: 110px;
    }
    .sf39-ec-article .sf39-ec-audience .sf39-ec-mini-card>strong {
        grid-column: 1;
        grid-row: 2;
    }
    .sf39-ec-article .sf39-ec-audience .sf39-ec-mini-card>p {
        grid-column: 1;
        grid-row: 3;
    }
    .sf39-ec-article .sf39-ec-profit {
        padding: 24px 16px;
    }
    .sf39-ec-article .sf39-ec-profit__formula {
        font-size: 15px;
        gap: 7px;
    }
    .sf39-ec-article .sf39-ec-profit__formula strong {
        font-size: 20px;
    }
    .sf39-ec-article .sf39-ec-steps>.sf39-ec-step {
        grid-template-columns: 44px minmax(0,1fr) !important;
        gap: 13px !important;
    }
    .sf39-ec-article .sf39-ec-steps::before {
        left: 21px;
    }
    .sf39-ec-article .sf39-ec-step>.sf39-ec-step__number {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
    }
    .sf39-ec-article .sf39-ec-step__content>h3 {
        font-size: 16px !important;
    }
    .sf39-ec-article .sf39-ec-step__content>p {
        font-size: 14px !important;
    }
    .sf39-ec-article .sf39-ec-check, .sf39-ec-article .sf39-ec-warning {
        padding: 18px;
    }
    .sf39-ec-article .sf39-ec-related {
        padding: 16px;
    }
    .sf39-ec-article .sf39-ec-compare {
        padding: 24px 17px;
    }
    .sf39-ec-article .sf39-ec-compare__card {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto auto;
        padding: 22px 20px;
        gap: 10px;
    }
    .sf39-ec-article .sf39-ec-compare__button {
        grid-column: 1;
        grid-row: 4;
        width: 100%;
        margin-top: 7px;
    }
    .sf39-ec-article .sf39-ec-related-list {
        grid-template-columns: 1fr;
    }
    .sf39-ec-article .sf39-ec-related-list>.sf39-ec-related {
        min-height: 0;
    }
    /* Existing TOC keeps its approved one-column mobile treatment. */
    .sf39-housing-article .sf39-housing-contents ol {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================
SF39 EC MAGAZINE V2 / 2026-10-16
Scoped to .sf39-ec-magazine-v2: no effect on housing or other articles.
Photo assets: ./sf39-ec-assets/ next to this CSS file.
========================================================== */
.sf39-ec-magazine-v2 .sf39-ec-steps {
    display: grid !important;
    grid-template-columns: minmax(0,1.25fr) minmax(230px,.75fr) !important;
    column-gap: 30px !important;
    align-items: stretch !important;
    padding: 24px !important;
    border: 1px solid #eadfd5;
    border-radius: 15px;
    background: #fffdfa;
    overflow: hidden;
}

.sf39-ec-magazine-v2 .sf39-ec-steps::before {
    left: 48px !important;
    top: 49px !important;
    bottom: 49px !important;
    background: #dfb1a2 !important;
}

.sf39-ec-magazine-v2 .sf39-ec-steps>.sf39-ec-step {
    grid-column: 1 !important;
    grid-template-columns: 50px minmax(0,1fr) !important;
    gap: 17px !important;
    padding-bottom: 23px !important;
}

.sf39-ec-magazine-v2 .sf39-ec-step>.sf39-ec-step__content {
    padding-top: 2px !important;
}

.sf39-ec-magazine-v2 .sf39-ec-step__content>h3 {
    font-size: 17px !important;
    line-height: 1.6 !important;
}

.sf39-ec-magazine-v2 .sf39-ec-step__content>p {
    font-size: 14px !important;
    line-height: 1.8 !important;
}

.sf39-ec-magazine-v2 .sf39-ec-steps__visual {
    grid-column: 2;
    grid-row: 1 / span 7;
    position: relative;
    min-height: 430px;
    align-self: stretch;
    border-radius: 11px;
    background: linear-gradient(180deg,rgba(253,250,245,.18),rgba(255,255,255,.0) 50%,rgba(20,29,28,.28)),url("../images/sf39-inline-image-04.jpg") center/cover no-repeat;
    overflow: hidden;
}

.sf39-ec-magazine-v2 .sf39-ec-steps__visual-label {
    position: absolute;
    left: 19px;
    top: 22px;
    color: #fff;
    font: italic 28px Georgia,serif;
    text-shadow: 0 1px 8px rgba(0,0,0,.38);
}

.sf39-ec-magazine-v2 .sf39-ec-steps__visual-sub {
    position: absolute;
    left: 20px;
    top: 65px;
    color: #fff;
    font: 600 10px Arial,sans-serif;
    letter-spacing: .19em;
    text-shadow: 0 1px 8px rgba(0,0,0,.45);
}

/* Full-width magazine comparison banners, stacked vertically. */
.sf39-ec-magazine-v2 .sf39-ec-compare {
    padding: 28px 22px !important;
    background: #f1f3ee !important;
    border: 1px solid #e0e7df !important;
    border-radius: 15px !important;
}

.sf39-ec-magazine-v2 .sf39-ec-compare__title {
    font-family: Georgia,"Yu Mincho",serif !important;
    font-size: 24px !important;
}

.sf39-ec-magazine-v2 .sf39-ec-compare__cards {
    grid-template-columns: minmax(0,1fr) !important;
    gap: 16px !important;
}

.sf39-ec-magazine-v2 .sf39-ec-compare__card {
    position: relative;
    isolation: isolate;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(180px,230px) !important;
    grid-template-rows: auto auto auto !important;
    gap: 8px 16px !important;
    min-height: 190px;
    padding: 25px 24px !important;
    border: 1px solid #d6dfd6 !important;
    border-left: 4px solid #789586 !important;
    border-radius: 12px !important;
    background: linear-gradient(90deg,#fffefa 0%,#fffefa 39%,rgba(255,254,250,.84) 58%,rgba(255,254,250,.36) 78%),url("../images/sf39-inline-image-05.jpg") 70% center/cover no-repeat !important;
    overflow: hidden;
}

.sf39-ec-magazine-v2 .sf39-ec-compare__card:nth-child(2) {
    border-color: #d7e1e8 !important;
    border-left-color: #7697ab !important;
    background: linear-gradient(90deg,#fbfdff 0%,#fbfdff 39%,rgba(251,253,255,.83) 58%,rgba(251,253,255,.38) 78%),url("../images/sf39-inline-image-06.jpg") 70% center/cover no-repeat !important;
}

.sf39-ec-magazine-v2 .sf39-ec-compare__eyebrow {
    grid-column: 1 !important;
    grid-row: 1 !important;
    font-size: 10px !important;
    letter-spacing: .18em !important;
}

.sf39-ec-magazine-v2 .sf39-ec-compare__card h3 {
    grid-column: 1 !important;
    grid-row: 2 !important;
    max-width: 100% !important;
    font-size: 19px !important;
    line-height: 1.55 !important;
}

.sf39-ec-magazine-v2 .sf39-ec-compare__card>p:not(.sf39-ec-compare__eyebrow) {
    grid-column: 1 !important;
    grid-row: 3 !important;
    max-width: 100% !important;
    font-size: 13px !important;
}

.sf39-ec-magazine-v2 .sf39-ec-compare__button {
    grid-column: 2 !important;
    grid-row: 1 / span 3 !important;
    justify-self: stretch !important;
    align-self: center !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 68px !important;
    padding: 14px 17px !important;
    background: #315f58 !important;
    border-radius: 7px !important;
    font-size: 13px !important;
    text-align: left !important;
    line-height: 1.7 !important;
    box-shadow: 0 7px 18px rgba(28,67,63,.14);
}

.sf39-ec-magazine-v2 .sf39-ec-compare__card:nth-child(2) .sf39-ec-compare__button {
    background: #4f748c !important;
}

.sf39-ec-magazine-v2 .sf39-ec-compare__button:hover {
    background: #234942 !important;
    transform: translateY(-2px);
}

.sf39-ec-magazine-v2 .sf39-ec-compare__card:nth-child(2) .sf39-ec-compare__button:hover {
    background: #365b72 !important;
}

/* Editor's picks: three real article cards, photographic top, numbered ribbon. */
.sf39-ec-magazine-v2 .sf39-ec-related-list {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 15px !important;
    margin: 40px 0 48px !important;
}

.sf39-ec-magazine-v2 .sf39-ec-related-list__label {
    grid-column: 1/-1 !important;
    font-family: Georgia,"Yu Mincho",serif !important;
    font-size: 21px !important;
    font-weight: 600 !important;
    letter-spacing: .03em !important;
    color: #184b44 !important;
    border: 0 !important;
    padding: 0 0 8px !important;
}

.sf39-ec-magazine-v2 .sf39-ec-related-list__label span {
    display: inline-block !important;
    margin-left: 12px !important;
    color: #b87663 !important;
    font: italic 15px Georgia,serif !important;
    letter-spacing: .04em !important;
}

.sf39-ec-magazine-v2 .sf39-ec-related-list>.sf39-ec-related {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    min-width: 0 !important;
    min-height: 260px !important;
    margin: 0 !important;
    padding: 0 0 17px !important;
    border: 1px solid #e7d9d4 !important;
    border-radius: 10px !important;
    background: #fffefa !important;
    box-shadow: 0 5px 17px rgba(36,54,48,.06) !important;
    overflow: hidden !important;
}

.sf39-ec-magazine-v2 .sf39-ec-related-list>.sf39-ec-related:nth-of-type(2) {
    border-color: #d5e4d9 !important;
    background: #fffefa !important;
}

.sf39-ec-magazine-v2 .sf39-ec-related-list>.sf39-ec-related:nth-of-type(3) {
    border-color: #d7e0e8 !important;
    background: #fffefa !important;
}

.sf39-ec-magazine-v2 .sf39-ec-pick__photo {
    position: relative;
    display: block;
    flex: none;
    width: 100%;
    height: 115px;
    background: url("../images/sf39-inline-image-07.jpg") center/cover no-repeat;
}

.sf39-ec-magazine-v2 .sf39-ec-related-list>.sf39-ec-related:nth-of-type(2) .sf39-ec-pick__photo {
    background-image: url("../images/sf39-inline-image-08.jpg");
}

.sf39-ec-magazine-v2 .sf39-ec-related-list>.sf39-ec-related:nth-of-type(3) .sf39-ec-pick__photo {
    background-image: url("../images/sf39-inline-image-09.jpg");
}

.sf39-ec-magazine-v2 .sf39-ec-pick__number {
    position: absolute;
    top: 0;
    left: 14px;
    display: grid;
    place-items: center;
    width: 41px;
    height: 51px;
    background: #c9837a;
    color: #fff;
    font: 700 16px Georgia,serif;
    clip-path: polygon(0 0,100% 0,100% 100%,50% 85%,0 100%);
}

.sf39-ec-magazine-v2 .sf39-ec-related-list>.sf39-ec-related:nth-of-type(2) .sf39-ec-pick__number {
    background: #739486;
}

.sf39-ec-magazine-v2 .sf39-ec-related-list>.sf39-ec-related:nth-of-type(3) .sf39-ec-pick__number {
    background: #7b9bb0;
}

.sf39-ec-magazine-v2 .sf39-ec-related-list>.sf39-ec-related>span:not(.sf39-ec-pick__photo) {
    display: block !important;
    padding: 12px 16px 0 !important;
    flex: 1 !important;
}

.sf39-ec-magazine-v2 .sf39-ec-related-list>.sf39-ec-related small {
    display: inline-block !important;
    margin: 0 0 9px !important;
    padding: 3px 9px !important;
    border-radius: 20px !important;
    background: #fff0e9 !important;
    color: #c06e60 !important;
    font: 700 10px Arial,sans-serif !important;
    letter-spacing: .15em !important;
}

.sf39-ec-magazine-v2 .sf39-ec-related-list>.sf39-ec-related strong {
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #194b43 !important;
}

.sf39-ec-magazine-v2 .sf39-ec-related-list>.sf39-ec-related em {
    font-size: 12px !important;
    line-height: 1.7 !important;
    margin-top: 7px !important;
}

.sf39-ec-magazine-v2 .sf39-ec-related-list>.sf39-ec-related>b {
    position: absolute !important;
    right: 15px;
    bottom: 15px;
    color: #c07963 !important;
    font-size: 23px !important;
}

.sf39-ec-magazine-v2 .sf39-ec-related-list>.sf39-ec-related:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 10px 25px rgba(36,54,48,.13) !important;
}

@media (max-width:900px) {
    .sf39-ec-magazine-v2 .sf39-ec-steps {
        grid-template-columns: minmax(0,1fr) !important;
    }
    .sf39-ec-magazine-v2 .sf39-ec-steps__visual {
        grid-column: 1 !important;
        grid-row: auto !important;
        min-height: 200px !important;
        margin-top: 10px;
    }
    .sf39-ec-magazine-v2 .sf39-ec-related-list {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }
}

@media (max-width:620px) {
    .sf39-ec-magazine-v2 .sf39-ec-steps {
        padding: 17px 13px !important;
    }
    .sf39-ec-magazine-v2 .sf39-ec-steps::before {
        left: 35px !important;
    }
    .sf39-ec-magazine-v2 .sf39-ec-steps>.sf39-ec-step {
        grid-template-columns: 44px minmax(0,1fr) !important;
        gap: 13px !important;
    }
    .sf39-ec-magazine-v2 .sf39-ec-step>.sf39-ec-step__number {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
    }
    .sf39-ec-magazine-v2 .sf39-ec-compare {
        padding: 22px 13px !important;
    }
    .sf39-ec-magazine-v2 .sf39-ec-compare__card {
        grid-template-columns: minmax(0,1fr) !important;
        grid-template-rows: auto auto auto auto !important;
        padding: 20px !important;
        min-height: 0 !important;
        background: #fffefa !important;
    }
    .sf39-ec-magazine-v2 .sf39-ec-compare__card:nth-child(2) {
        background: #f8fbfd !important;
    }
    .sf39-ec-magazine-v2 .sf39-ec-compare__button {
        grid-column: 1 !important;
        grid-row: 4 !important;
        margin-top: 12px !important;
    }
    .sf39-ec-magazine-v2 .sf39-ec-related-list {
        grid-template-columns: minmax(0,1fr) !important;
    }
    .sf39-ec-magazine-v2 .sf39-ec-related-list>.sf39-ec-related {
        min-height: 0 !important;
    }
    .sf39-ec-magazine-v2 .sf39-ec-pick__photo {
        height: 145px;
    }
}

/* EC magazine V3: layout refinements, article-only. Images embedded above. */
@media (min-width: 901px) {
    .sf39-ec-magazine-v2 .sf39-ec-steps {
        grid-template-columns: minmax(0,1.6fr) minmax(230px,.85fr) !important;
        column-gap: 24px !important;
    }
    .sf39-ec-magazine-v2 .sf39-ec-steps>.sf39-ec-step {
        min-width: 0 !important;
    }
    .sf39-ec-magazine-v2 .sf39-ec-steps__visual {
        min-width: 0 !important;
        min-height: 100% !important;
        background-position: 65% center !important;
    }
    .sf39-ec-magazine-v2 .sf39-ec-compare__card {
        grid-template-columns: minmax(0,1fr) minmax(160px,215px) !important;
    }
}

.sf39-ec-magazine-v2 .sf39-ec-step__content {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere;
}

.sf39-ec-magazine-v2 .sf39-ec-step__content>p {
    max-width: 64ch !important;
}

.sf39-ec-magazine-v2 .sf39-ec-compare__card {
    min-width: 0 !important;
}

.sf39-ec-magazine-v2 .sf39-ec-compare__card>p:not(.sf39-ec-compare__eyebrow) {
    line-height: 1.85 !important;
}

.sf39-ec-magazine-v2 .sf39-ec-related-list>.sf39-ec-related {
    width: 100% !important;
    max-width: none !important;
}

.sf39-ec-magazine-v2 .sf39-ec-related-list>.sf39-ec-related>span:not(.sf39-ec-pick__photo) {
    min-width: 0 !important;
}

@media (max-width:620px) {
    .sf39-ec-magazine-v2 .sf39-ec-steps__visual {
        min-height: 220px !important;
    }
    .sf39-ec-magazine-v2 .sf39-ec-compare__card {
        background-size: cover !important;
    }
}

/* =========================================================
POST HERO | STANDARD TITLE SIZE
通常記事は共通サイズ。完成済み住宅記事は従来どおり。
介護記事には住宅記事用のサイズを引き継がせない。
========================================================= */
.sf39-editorial-post .sf39-post-hero--standard .sf39-post-hero__title, .sf39-editorial-post .sf-article-header.sf39-post-hero--standard h1.sf39-post-hero__title {
    font-size: 28px !important;
    line-height: 1.55 !important;
}

.sf39-editorial-post:has(.sf39-care-article) .sf39-post-hero--standard .sf39-post-hero__title, .sf39-editorial-post:has(.sf39-care-article) .sf-article-header.sf39-post-hero--standard h1.sf39-post-hero__title {
    font-size: 28px !important;
    line-height: 1.55 !important;
}

@media (max-width: 767px) {
    .sf39-editorial-post .sf39-post-hero--standard .sf39-post-hero__title, .sf39-editorial-post .sf-article-header.sf39-post-hero--standard h1.sf39-post-hero__title {
        font-size: 23px !important;
        line-height: 1.55 !important;
    }
    .sf39-editorial-post:has(.sf39-care-article) .sf39-post-hero--standard .sf39-post-hero__title, .sf39-editorial-post:has(.sf39-care-article) .sf-article-header.sf39-post-hero--standard h1.sf39-post-hero__title {
        font-size: 23px !important;
        line-height: 1.55 !important;
    }
}

/* =========================================================
   START FROM 39 | POST HERO TITLE RESPONSIVE
   PC: 1 line / Mobile and tablet: natural wrapping
   Applies to the housing-visual-update article template only.
   Other article designs, sidebar, header and footer unchanged.
========================================================= */
@media screen and (min-width: 1025px) {
    .sf39-editorial-post:has(.sf39-housing-visual-update) .sf39-post-hero--standard .sf39-post-hero__inner {
        width: 100% !important;
        max-width: none !important;
    }
    .sf39-editorial-post:has(.sf39-housing-visual-update) .sf39-post-hero--standard .sf39-post-hero__title, .sf39-editorial-post:has(.sf39-housing-visual-update) .sf-article-header.sf39-post-hero--standard h1.sf39-post-hero__title {
        font-size: clamp(21px, 1.85vw, 25px) !important;
        letter-spacing: -0.035em !important;
        white-space: nowrap !important;
        max-width: none !important;
        overflow-wrap: normal !important;
        word-break: keep-all !important;
        text-wrap: nowrap !important;
    }
}

@media screen and (max-width: 1024px) {
    .sf39-editorial-post:has(.sf39-housing-visual-update) .sf39-post-hero--standard .sf39-post-hero__title, .sf39-editorial-post:has(.sf39-housing-visual-update) .sf-article-header.sf39-post-hero--standard h1.sf39-post-hero__title {
        white-space: normal !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        text-wrap: wrap !important;
    }
}

/* =========================================================
   Start From 39 | Income Sources | 専用デザイン CSS
   既存CSSの末尾に追加。この記事だけに適用。
   ========================================================= */
.sf-income-redesign {
    --inc-ink:#243b39;
    --inc-green:#175d55;
    --inc-gold:#b18b50;
    --inc-paper:#fbfaf7;
    --inc-soft:#edf3ef;
    --inc-line:#dce5df;
    color:var(--inc-ink);
    max-width:100%;
    min-width:0;
    font-family:"Noto Sans JP",sans-serif;
    line-height:1.95;
    overflow-wrap:anywhere;
    word-break:normal;
}

.sf-income-redesign *, .sf-income-redesign *::before, .sf-income-redesign *::after {
    box-sizing:border-box;
    min-width:0;
}

.sf-income-redesign p {
    line-height:1.95;
    margin:0 0 1.35em;
}

.sf-income-redesign .sf-article__lead {
    padding:clamp(24px,4vw,48px);
    margin:0 0 38px;
    background:linear-gradient(130deg,#f0f5f0,#fffaf2);
    border-left:4px solid var(--inc-gold);
    border-radius:0 16px 16px 0;
}

.sf-income-redesign .sf-article__lead > p:first-child {
    font-size:clamp(19px,2.2vw,25px);
    font-weight:700;
    line-height:1.8;
}

.sf-income-redesign .sf-empathy-box, .sf-income-redesign .sf-point-box, .sf-income-redesign .sf-check-box, .sf-income-redesign .sf-example-box, .sf-income-redesign .sf-alert-box, .sf-income-redesign .sf-message-box {
    margin:26px 0;
    padding:clamp(20px,3vw,30px);
    border:1px solid var(--inc-line);
    border-radius:14px;
    background:#f6f9f6;
    box-shadow:none;
    width:100%;
}

.sf-income-redesign .sf-alert-box {
    background:#fff8f2;
    border-color:#ebd9c6;
}

.sf-income-redesign .sf-empathy-box {
    background:#f7f0e6;
    border-color:#e8d9c4;
}

.sf-income-redesign .sf-box-title, .sf-income-redesign .sf-example-title {
    color:var(--inc-green);
    font-size:15px;
    font-weight:800;
    letter-spacing:.04em;
    margin:0 0 12px;
}

.sf-income-redesign .sf-quote {
    margin:30px 0;
    padding:25px clamp(22px,4vw,40px);
    background:#f5f0e8;
    border-left:4px solid var(--inc-gold);
    border-radius:0 12px 12px 0;
    font-size:clamp(16px,1.7vw,19px);
    line-height:1.9;
}

.sf-income-redesign .sf-highlight {
    margin:25px 0;
    padding:17px 23px;
    background:#eaf2ed;
    border-radius:9px;
    color:#12564d;
    font-weight:700;
}

.sf-income-redesign .sf-income-overview {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:22px;
    align-items:start;
    margin:38px 0 55px;
}

.sf-income-redesign .sf-article__summary, .sf-income-redesign .sf-toc {
    margin:0;
    padding:clamp(20px,2.5vw,30px);
    background:#f7f7f2;
    border:1px solid var(--inc-line);
    border-radius:14px;
    width:100%;
    min-width:0;
}

.sf-income-redesign .sf-toc {
    background:#fff;
}

.sf-income-redesign .sf-article__summary-title, .sf-income-redesign .sf-toc-title {
    font-size:17px;
    font-weight:800;
    color:var(--inc-green);
    margin:0 0 16px;
}

.sf-income-redesign .sf-article__summary-list, .sf-income-redesign .sf-toc__list {
    padding-left:1.35em;
    margin:0;
}

.sf-income-redesign .sf-article__summary-list li, .sf-income-redesign .sf-toc__list li {
    padding:6px 0;
    line-height:1.65;
    font-size:14px;
}

.sf-income-redesign .sf-toc a {
    color:var(--inc-ink);
    text-decoration:none;
    overflow-wrap:anywhere;
}

.sf-income-redesign .sf-toc a:hover {
    color:var(--inc-green);
    text-decoration:underline;
}

.sf-income-redesign .sf-article__section {
    display:block;
    width:100%;
    margin:0 0 60px;
    padding:0;
    clear:both;
}

.sf-income-redesign .sf-income-section__eyebrow {
    display:block;
    margin:0 0 8px;
    color:var(--inc-gold);
    font-size:12px;
    letter-spacing:.2em;
    font-weight:800;
}

.sf-income-redesign .sf-article__section > h2 {
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    margin:0 0 26px;
    padding:0 0 18px;
    border:0;
    border-bottom:1px solid var(--inc-line);
    background:none;
    color:var(--inc-ink);
    font-size:clamp(22px,2.6vw,30px);
    font-weight:800;
    line-height:1.55;
    letter-spacing:.01em;
    white-space:normal !important;
    overflow-wrap:anywhere;
    word-break:normal;
    text-wrap:pretty;
}

.sf-income-redesign .sf-article__section h3 {
    font-size:clamp(16px,1.8vw,19px);
    line-height:1.6;
    overflow-wrap:anywhere;
    white-space:normal;
}

.sf-income-redesign .sf-feature-cards {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin:25px 0 30px;
    width:100%;
}

.sf-income-redesign .sf-feature-card {
    display:flex;
    align-items:flex-start;
    gap:15px;
    min-width:0;
    width:auto;
    margin:0;
    padding:22px;
    background:#fff;
    border:1px solid var(--inc-line);
    border-radius:12px;
    box-shadow:0 6px 20px rgba(27,63,55,.035);
}

.sf-income-redesign .sf-feature-card__number {
    flex:0 0 auto;
    font-size:25px;
    line-height:1.2;
    font-weight:700;
    color:var(--inc-gold);
}

.sf-income-redesign .sf-feature-card__content {
    flex:1 1 0;
    min-width:0;
}

.sf-income-redesign .sf-feature-card__title {
    margin:0 0 8px;
    color:var(--inc-green);
}

.sf-income-redesign .sf-feature-card__text {
    margin:0;
    font-size:14px;
}

.sf-income-redesign .sf-number-card {
    display:flex;
    gap:22px;
    align-items:flex-start;
    margin:15px 0;
    padding:22px 25px;
    border:1px solid var(--inc-line);
    background:#fff;
    border-radius:12px;
}

.sf-income-redesign .sf-number {
    flex:0 0 auto;
    font-size:27px;
    font-weight:800;
    color:var(--inc-gold);
    line-height:1.3;
}

.sf-income-redesign .sf-number-content {
    flex:1;
    min-width:0;
}

.sf-income-redesign .sf-number-content h3 {
    margin:0 0 7px;
}

.sf-income-redesign .sf-number-content p {
    margin:0;
}

.sf-income-redesign .sf-table-wrap {
    width:100%;
    max-width:100%;
    overflow-x:auto;
    margin:25px 0;
    border-radius:10px;
    border:1px solid var(--inc-line);
}

.sf-income-redesign .sf-table {
    width:100%;
    min-width:480px;
    border-collapse:collapse;
    margin:0;
    table-layout:auto;
}

.sf-income-redesign .sf-table th, .sf-income-redesign .sf-table td {
    padding:14px 16px;
    text-align:left;
    vertical-align:top;
    border-bottom:1px solid var(--inc-line);
    line-height:1.65;
}

.sf-income-redesign .sf-table th {
    background:#e8f0eb;
    color:var(--inc-green);
    font-weight:800;
}

.sf-income-redesign .sf-steps {
    display:grid;
    gap:14px;
    margin:24px 0;
}

.sf-income-redesign .sf-step {
    display:flex;
    align-items:flex-start;
    gap:18px;
    padding:22px;
    border:1px solid var(--inc-line);
    background:#fff;
    border-radius:12px;
}

.sf-income-redesign .sf-step__number {
    flex:0 0 66px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    background:#edf3ee;
    border-radius:10px;
    padding:8px;
    color:var(--inc-green);
}

.sf-income-redesign .sf-step__label {
    font-size:10px;
    letter-spacing:.1em;
}

.sf-income-redesign .sf-step__digit {
    font-size:26px;
    font-weight:800;
    line-height:1.3;
}

.sf-income-redesign .sf-step__content {
    flex:1;
    min-width:0;
}

.sf-income-redesign .sf-step__title {
    margin:0 0 8px;
}

.sf-income-redesign .sf-step__content p {
    margin:0;
}

.sf-income-redesign ul, .sf-income-redesign ol {
    max-width:100%;
}

.sf-income-redesign li {
    overflow-wrap:anywhere;
}

.sf-income-redesign .sf-article-disclaimer {
    margin:40px 0;
    padding:20px 24px;
    background:#f7f7f5;
    border:1px solid var(--inc-line);
    border-radius:10px;
    font-size:13px;
}

.sf-income-redesign .sf-jc-series {
    max-width:100%;
    min-width:0;
    margin-top:45px;
}

.sf-income-redesign .sf-jc-series__row, .sf-income-redesign .sf-jc-roadmap, .sf-income-redesign .sf-jc-roadmap__steps {
    min-width:0;
    max-width:100%;
}

.sf-income-redesign .sf-jc-series__title, .sf-income-redesign .sf-jc-series__desc {
    white-space:normal;
    overflow-wrap:anywhere;
}

@media(max-width:780px) {
    .sf-income-redesign .sf-income-overview {
        grid-template-columns:minmax(0,1fr);
        gap:16px;
    }
    .sf-income-redesign .sf-feature-cards {
        grid-template-columns:minmax(0,1fr);
        gap:12px;
    }
    .sf-income-redesign .sf-article__section {
        margin-bottom:45px;
    }
    .sf-income-redesign .sf-article__section > h2 {
        font-size:clamp(20px,5vw,25px);
        line-height:1.55;
    }
    .sf-income-redesign .sf-feature-card {
        padding:18px;
    }
    .sf-income-redesign .sf-number-card {
        padding:18px;
        gap:14px;
    }
    .sf-income-redesign .sf-step {
        padding:17px;
        gap:12px;
    }
    .sf-income-redesign .sf-step__number {
        flex-basis:54px;
    }
}

/* =========================================================
   Start From 39 | income-sources タイトル折り返し修正
   対象：本文内に #income-pillars がある記事のみ
   既存CSSの一番最後に追加
========================================================= */

body:has(#income-pillars) .sf39-editorial-post .sf39-post-hero__inner {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

body:has(#income-pillars) .sf39-editorial-post .sf39-post-hero__title,
body:has(#income-pillars) .sf39-editorial-post .sf-article-header h1.sf39-post-hero__title {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    white-space: normal !important;
    word-break: normal;
    overflow-wrap: anywhere;
    text-wrap: wrap;
    line-height: 1.55;
    font-size: clamp(24px, 2.2vw, 30px);
}

@media (max-width: 767px) {
    body:has(#income-pillars) .sf39-editorial-post .sf39-post-hero__title,
    body:has(#income-pillars) .sf39-editorial-post .sf-article-header h1.sf39-post-hero__title {
        font-size: clamp(21px, 5.5vw, 25px);
        line-height: 1.6;
    }
}

/* =========================================================
   Start From 39 | WORKPLACE DIALOGUE — FINAL
   会話01・02専用 / 旧定義は削除済み
   HTML: .sf39-dialogue > header + messages + optional note
   他の記事・サイドバーへの影響なし
========================================================= */

.sf39-editorial-post .sf-article-content .sf39-dialogue {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    margin: 30px 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #d8ddd7;
    border-radius: 12px;
    background: #ffffff;
    color: #183f39;
}

.sf39-editorial-post .sf-article-content .sf39-dialogue *,
.sf39-editorial-post .sf-article-content .sf39-dialogue *::before,
.sf39-editorial-post .sf-article-content .sf39-dialogue *::after {
    box-sizing: border-box;
}

.sf39-editorial-post .sf-article-content .sf39-dialogue .sf39-dialogue__header {
    display: grid;
    grid-template-columns: 145px minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    margin: 0;
    padding: 25px 30px;
    border: 0;
    border-bottom: 1px solid #e6e5df;
    background: linear-gradient(110deg, #faf7f0, #fffefa);
}

.sf39-dialogue .sf39-dialogue__number-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-width: 0;
    padding-right: 20px;
    border-right: 1px solid #a98358;
}

.sf39-dialogue .sf39-dialogue__eyebrow,
.sf39-dialogue .sf39-dialogue__category {
    display: block;
    margin: 0;
    color: #a77d4c;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.13em;
    line-height: 1.5;
}

.sf39-dialogue .sf39-dialogue__number {
    display: block;
    margin: 4px 0 0;
    color: #65452f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 57px;
    font-weight: 400;
    letter-spacing: -0.045em;
    line-height: 1;
}

.sf39-dialogue .sf39-dialogue__heading-main {
    min-width: 0;
}

.sf39-editorial-post .sf-article-content .sf39-dialogue .sf39-dialogue__heading-main h3 {
    margin: 9px 0 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: #143e37;
    font-size: clamp(18px, 2vw, 24px);
    font-weight: 600;
    letter-spacing: 0.025em;
    line-height: 1.55;
}

.sf39-dialogue .sf39-dialogue__decoration {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    color: #b88d58;
}

.sf39-dialogue .sf39-dialogue__decoration svg {
    display: block;
    width: 50px;
    height: 39px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.sf39-dialogue .sf39-dialogue__decoration span {
    color: #968b7e;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 9px;
    letter-spacing: 0.1em;
    white-space: nowrap;
}

.sf39-editorial-post .sf-article-content .sf39-dialogue .sf39-dialogue__messages {
    display: flex;
    flex-direction: column;
    gap: 23px;
    min-width: 0;
    margin: 0;
    padding: 27px 30px 29px;
}

.sf39-dialogue .sf39-dialogue__message {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    min-width: 0;
}

.sf39-dialogue .sf39-dialogue__message--boss {
    flex-direction: row-reverse;
}

.sf39-dialogue .sf39-dialogue__avatar {
    display: flex;
    flex: 0 0 42px;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
}

.sf39-dialogue .sf39-dialogue__avatar svg {
    display: block;
    flex: none;
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.sf39-dialogue .sf39-dialogue__message--self .sf39-dialogue__avatar {
    background: #e4eee8;
    color: #286456;
}

.sf39-dialogue .sf39-dialogue__message--boss .sf39-dialogue__avatar {
    background: #f8e8e2;
    color: #b76552;
}

.sf39-dialogue .sf39-dialogue__body {
    flex: 0 1 auto;
    width: fit-content;
    max-width: min(84%, 660px);
    min-width: 0;
}

.sf39-dialogue .sf39-dialogue__message--self .sf39-dialogue__body {
    margin-right: auto;
}

.sf39-dialogue .sf39-dialogue__message--boss .sf39-dialogue__body {
    margin-left: auto;
}

.sf39-dialogue .sf39-dialogue__speaker {
    display: block;
    margin: 0 0 6px;
    color: #50635b;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
}

.sf39-dialogue .sf39-dialogue__message--boss .sf39-dialogue__speaker {
    text-align: right;
}

/* WordPressの段落共通スタイルと衝突しないよう、吹き出しを一要素に固定 */
.sf39-editorial-post .sf-article-content .sf39-dialogue .sf39-dialogue__body > .sf39-dialogue__bubble {
    display: block;
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 14px 17px;
    border: 0;
    border-radius: 12px;
    box-shadow: none;
    background: #e7efeb;
    background-image: none;
    color: #204940;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.01em;
    line-height: 1.85;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
}

.sf39-dialogue .sf39-dialogue__bubble::before,
.sf39-dialogue .sf39-dialogue__bubble::after {
    display: none;
    content: none;
}

.sf39-editorial-post .sf-article-content .sf39-dialogue .sf39-dialogue__message--self .sf39-dialogue__bubble {
    border-top-left-radius: 3px;
    background: #e7efeb;
    color: #204940;
}

.sf39-editorial-post .sf-article-content .sf39-dialogue .sf39-dialogue__message--boss .sf39-dialogue__bubble {
    border-top-right-radius: 3px;
    background: #f8eae5;
    color: #754b41;
}

.sf39-editorial-post .sf-article-content .sf39-dialogue > .sf39-dialogue__note {
    margin: 0 30px 25px;
    padding: 15px 19px;
    border: 1px solid #efe5d6;
    border-left: 3px solid #ad8858;
    border-radius: 7px;
    background: #fbf8f1;
    color: #47534e;
    font-size: 13px;
    line-height: 1.9;
}

@media (max-width: 767px) {
    .sf39-editorial-post .sf-article-content .sf39-dialogue {
        margin: 24px 0;
        border-radius: 9px;
    }

    .sf39-editorial-post .sf-article-content .sf39-dialogue .sf39-dialogue__header {
        grid-template-columns: 80px minmax(0, 1fr);
        gap: 15px;
        padding: 19px 16px;
    }

    .sf39-dialogue .sf39-dialogue__number-block {
        padding-right: 13px;
    }

    .sf39-dialogue .sf39-dialogue__eyebrow {
        font-size: 8px;
        letter-spacing: 0.03em;
    }

    .sf39-dialogue .sf39-dialogue__number {
        font-size: 43px;
    }

    .sf39-dialogue .sf39-dialogue__category {
        font-size: 9px;
        letter-spacing: 0.07em;
    }

    .sf39-editorial-post .sf-article-content .sf39-dialogue .sf39-dialogue__heading-main h3 {
        margin-top: 7px;
        font-size: 17px;
    }

    .sf39-dialogue .sf39-dialogue__decoration {
        display: none;
    }

    .sf39-editorial-post .sf-article-content .sf39-dialogue .sf39-dialogue__messages {
        gap: 19px;
        padding: 21px 14px;
    }

    .sf39-dialogue .sf39-dialogue__message {
        gap: 8px;
    }

    .sf39-dialogue .sf39-dialogue__avatar {
        flex-basis: 34px;
        width: 34px;
        height: 34px;
    }

    .sf39-dialogue .sf39-dialogue__avatar svg {
        width: 19px;
        height: 19px;
    }

    .sf39-dialogue .sf39-dialogue__body {
        max-width: calc(100% - 42px);
    }

    .sf39-editorial-post .sf-article-content .sf39-dialogue .sf39-dialogue__body > .sf39-dialogue__bubble {
        padding: 12px 13px;
        font-size: 13px;
        line-height: 1.8;
    }

    .sf39-editorial-post .sf-article-content .sf39-dialogue > .sf39-dialogue__note {
        margin: 0 14px 20px;
        padding: 13px 14px;
        font-size: 12px;
    }
}

@media (max-width: 380px) {
    .sf39-editorial-post .sf-article-content .sf39-dialogue .sf39-dialogue__header {
        grid-template-columns: 69px minmax(0, 1fr);
        gap: 11px;
        padding: 16px 11px;
    }

    .sf39-dialogue .sf39-dialogue__number {
        font-size: 38px;
    }

    .sf39-editorial-post .sf-article-content .sf39-dialogue .sf39-dialogue__heading-main h3 {
        font-size: 16px;
    }
}
