 /* ==========================================================================
   近隣施設・環境 セクション（カード部分のみ）
   ========================================================================== */

 .ep-poi-items {
     display: grid;
     grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
     gap: 10px;
 }

 .ep-poi-card {
     display: flex;
     flex-direction: column;
     width: 100%;
     border: 1px solid #ececec;
     border-radius: 6px;
     overflow: hidden;
     background: #fafafa;
     transition: box-shadow 0.2s, transform 0.15s;
     text-decoration: none !important;
     color: inherit !important;
     cursor: pointer;
 }

 .ep-poi-card:hover {
     box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
     transform: translateY(-2px);
     text-decoration: none !important;
 }

 .ep-poi-card.ep-poi-card-nolink {
     cursor: default;
 }

 .ep-poi-card-img-wrap {
     width: 100%;
     height: 95px;
     overflow: hidden;
     background: #e8e8e8;
 }

 .ep-poi-card-img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block;
 }

 .ep-poi-card-body {
     padding: 6px 8px 8px;
     display: flex;
     flex-direction: column;
     gap: 3px;
     flex: 1;
 }

 .ep-poi-card-name {
     font-size: 0.75rem;
     font-weight: 600;
     color: #2c383d;
     line-height: 1.4;
 }

 .ep-poi-card-dist {
     font-size: 0.7rem;
     color: #bc955c;
     font-weight: 500;
 }

 .ep-poi-more {
     margin-top: 14px;
 }

 .ep-poi-more summary {
     cursor: pointer;
     user-select: none;
     font-size: 0.84rem;
     font-weight: 600;
     color: #2c383d;
     display: inline-flex;
     align-items: center;
     gap: 8px;
 }

 .ep-poi-more summary::marker {
     color: #bc955c;
 }

 .ep-poi-items-more {
     margin-top: 10px;
 }

 @media (max-width: 600px) {
     .ep-poi-items {
         grid-template-columns: 1fr 1fr;
         gap: 8px;
     }

     .ep-poi-card {
         /* width: 100% inherited from parent grid cell */
     }

     .ep-poi-section-title {
         font-size: 1.2rem !important;
     }
 }

 /* ==========================================================================
   Feature banners
   ========================================================================== */

 .ep-feature-banners {
     display: grid;
     gap: 14px;
     margin: 22px 0 34px;
 }

 .ep-feature-banners-cols-1 {
     grid-template-columns: repeat(1, minmax(0, 1fr));
 }

 .ep-feature-banners-cols-2 {
     grid-template-columns: repeat(2, minmax(0, 1fr));
 }

 .ep-feature-banners-cols-3 {
     grid-template-columns: repeat(3, minmax(0, 1fr));
 }

 .ep-feature-banners-cols-4 {
     grid-template-columns: repeat(4, minmax(0, 1fr));
 }

 .ep-feature-banners-cols-5 {
     grid-template-columns: repeat(5, minmax(0, 1fr));
 }

 .ep-feature-banners-cols-6 {
     grid-template-columns: repeat(6, minmax(0, 1fr));
 }

 .ep-feature-banner-item {
     min-width: 0;
     overflow: hidden;
     box-shadow: 0 3px 12px rgba(0, 0, 0, .12);
     transition: transform .3s ease, box-shadow .3s ease;
 }
 .ep-feature-banner-item:hover {
     transform: translateY(-4px);
     box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
 }

 .ep-feature-banner-link {
     display: block;
     color: inherit;
     text-decoration: none;
 }

 .ep-feature-banner-image {
     position: relative;
     display: block;
     aspect-ratio: 16 / 10;
     overflow: hidden;
     background: #dcd5ca;
     background-size: cover;
     background-position: center;
 }

 .ep-feature-banner-image::before {
     content: "";
     position: absolute;
     inset: -2%;
     background: inherit;
     background-size: cover;
     background-position: center;
     filter: brightness(0.72) saturate(0.8);
     transform: scale(1.01);
     transition: transform .5s ease, filter .5s ease;
 }

 .ep-feature-banner-image.is-empty::before {
     background-image:
         linear-gradient(145deg, rgba(17, 17, 17, 0.08), rgba(255, 255, 255, 0.08)),
         linear-gradient(180deg, #d7d1c8 0%, #c8c0b4 100%);
 }

 .ep-feature-banner-overlay {
     position: absolute;
     inset: 0;
     z-index: 1;
     background: linear-gradient(180deg,
         rgba(12, 12, 12, 0) 0%,
         rgba(12, 12, 12, 0.05) 40%,
         rgba(12, 12, 12, 0.55) 80%,
         rgba(12, 12, 12, 0.78) 100%);
     transition: opacity .4s ease;
 }

 .ep-feature-banner-copy {
     position: absolute;
     inset: auto 0 0 0;
     z-index: 2;
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     gap: 5px;
     padding: 16px 18px 14px;
 }

 .ep-feature-banner-eyebrow {
     display: inline-block;
     font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
     font-size: 10px;
     letter-spacing: .18em;
     color: var(--ep-gold-champagne-mist);
     text-transform: uppercase;
 }

 .ep-feature-banner-title {
     display: inline-block;
     max-width: 100%;
     font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
     font-size: 1.15rem;
     font-weight: 700;
     line-height: 1.3;
     letter-spacing: .06em;
     color: #fff;
     text-shadow: 0 1px 6px rgba(0, 0, 0, 0.4);
 }

 .ep-feature-banner-accent {
     display: block;
     width: clamp(42px, 40%, 100px);
     height: 2px;
     background: linear-gradient(90deg, rgba(232, 213, 170, 0.9) 0%, rgba(196, 173, 122, 0.6) 60%, rgba(160, 138, 96, 0) 100%);
     border-radius: 1px;
     margin-top: 2px;
 }

 .ep-feature-banner-link:hover .ep-feature-banner-image::before,
 .ep-feature-banner-link:focus-visible .ep-feature-banner-image::before {
     filter: brightness(0.8) saturate(0.9);
     transform: scale(1.05);
 }

 .ep-feature-banner-link:hover .ep-feature-banner-overlay,
 .ep-feature-banner-link:focus-visible .ep-feature-banner-overlay {
     opacity: .85;
 }

 .ep-feature-banner-link:hover .ep-feature-banner-title,
 .ep-feature-banner-link:focus-visible .ep-feature-banner-title {
     color: #f8f5ef;
 }

 @media (max-width: 1024px) {
     .ep-feature-banners {
         grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
     }
 }

 @media (max-width: 640px) {
     .ep-feature-banners {
         grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
         gap: 10px;
     }

     .ep-feature-banner-copy {
         gap: 5px;
         padding: 11px 10px 10px;
     }

     .ep-feature-banner-title {
         font-size: .92rem;
         line-height: 1.28;
     }

     .ep-feature-banner-eyebrow {
         font-size: 9px;
     }
 }

 /* ==========================================================================
   Feature Cards Shortcode
   ========================================================================== */
 .ep-feature-cards-section.ep-premium-residences {
     max-width: 900px !important;
     padding: 20px 16px 26px !important;
     margin: 24px auto 36px !important;
     border: 1px solid rgba(188, 149, 92, 0.1);
     box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.5);
     position: relative;
     overflow: hidden;
     background: transparent;
 }
 .ep-feature-cards-section.ep-premium-residences::before {
     content: "";
     position: absolute;
     inset: 0;
     background: var(--ep-fc-bg, none) center / cover no-repeat;
     opacity: var(--ep-fc-bg-opacity, 1);
     z-index: 0;
 }
 .ep-feature-cards-section.ep-premium-residences > * {
     position: relative;
     z-index: 1;
 }

 .ep-feature-cards-section.has-no-bg::before {
     content: none !important;
 }
 .ep-feature-cards-section.has-no-bg {
     background: rgba(255, 255, 255, 0.06) !important;
     backdrop-filter: blur(6px) !important;
     -webkit-backdrop-filter: blur(6px) !important;
     border: 1px solid rgba(255, 255, 255, 0.08) !important;
 }

 .ep-feature-cards-section .ep-feature-cards-overlay {
     display: none;
 }

 .ep-feature-cards-section .ep-feature-cards-inner {
     position: relative;
     z-index: 2;
     padding: 0 !important;
 }

 /* Force show subheading with high contrast for marble bg */
 .ep-feature-cards-section .ep-pr-sub,
 .ep-feature-cards-section p.ep-pr-sub,
 .ep-premium-residences .ep-pr-sub {
     display: block !important;
     visibility: visible !important;
     opacity: 1 !important;
     color: #2f2f2f !important;
     /* Dark grey for visibility on light marble */
     margin: 2px 0 0 !important;
     text-align: center !important;
     position: relative;
     z-index: 10;
 }

 .ep-feature-cards-grid.ep-pr-grid {
     display: grid !important;
     grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
     gap: 10px;
 }
 .ep-feature-cards-grid.ep-pr-grid > * {
     width: auto;
     min-width: 0;
 }

 .ep-feature-cards-section .ep-feature-banner-item {
     margin-bottom: 0;
 }

 @media (max-width: 520px) {
     .ep-feature-cards-section.ep-premium-residences {
         padding-left: 8px !important;
         padding-right: 8px !important;
     }
     .ep-feature-cards-grid.ep-pr-grid {
         grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
     }
     .ep-feature-cards-grid.ep-pr-grid > * {
         width: auto;
     }
     .ep-feature-banner-title {
         font-size: .8rem;
         line-height: 1.2;
     }
     .ep-feature-banner-copy {
         gap: 3px;
         padding: 10px 8px 8px;
     }
     .ep-feature-banner-eyebrow {
         font-size: 8px;
     }
 }

 /* Feature cards section — h2 title override */
 .ep-feature-cards-section h2.ep-opc-title,
 .ep-feature-cards-section .ep-opc-title {
     all: unset !important;
     display: block !important;
     text-align: center !important;
     font-family: var(--ep-font-serif) !important;
     font-size: 1.6rem !important;
     font-weight: 400 !important;
     letter-spacing: .15em !important;
     color: #4a3d2d !important;
     margin: 0 0 4px !important;
     padding: 0 !important;
     background: none !important;
     border: none !important;
     box-shadow: none !important;
     text-shadow: none !important;
     position: relative;
     z-index: 2;
 }
 .ep-feature-cards-section h2.ep-opc-title::before,
 .ep-feature-cards-section h2.ep-opc-title::after,
 .ep-feature-cards-section .ep-opc-title::before,
 .ep-feature-cards-section .ep-opc-title::after {
     content: none !important;
     display: none !important;
 }
 .ep-feature-cards-section .ep-opc-title .epsc-h2-text-frame {
     display: inline !important;
     padding: 0 !important;
     border: none !important;
     background: transparent !important;
     box-shadow: none !important;
     color: inherit !important;
 }
 .ep-feature-cards-section .ep-pr-head {
     position: relative;
     z-index: 2;
     text-align: center !important;
     margin-bottom: 18px !important;
     background: transparent !important;
     border: none !important;
     box-shadow: none !important;
     padding: 0 !important;
 }

 /* ==========================================================================
    Feature Cards — スマホ折りたたみ(fold_sp): SPは初期折りたたみ / PCは常時展開
    見出し(header)=summary、グリッド=body。開閉は [open] ベースのCSSで明示制御し
    テーマの details 装飾・ネイティブ挙動に依存しない。
    ========================================================================== */
 .ep-fc-fold { margin: 0; }
 .ep-fc-sum { display: block; list-style: none; cursor: pointer; text-align: center; }
 .ep-fc-sum::-webkit-details-marker { display: none; }
 .ep-fc-sum::before { content: none !important; }
 .ep-fc-sum:hover { background: transparent !important; }
 .ep-fc-fold[open] .ep-fc-sum { border-bottom: none !important; }
 .ep-fc-sum .ep-pr-head { margin-bottom: 0 !important; }
 .ep-fc-body { padding: 0 !important; }
 .ep-fc-fold-hint { display: none; }
 /* PC(601px以上)は常時展開: トグルを隠し content を強制表示 */
 @media (min-width: 601px) {
     .ep-fc-fold:not([open])::details-content { content-visibility: visible !important; }
     .ep-fc-fold:not([open]) > .ep-fc-body { display: block !important; }
     .ep-fc-fold-hint { display: none !important; }
     .ep-fc-sum { cursor: default; }
 }
 /* スマホ(600px以下)は見出しタップで開閉、閉時は本文(グリッド)を隠す */
 @media (max-width: 600px) {
     .ep-fc-fold:not([open]) > .ep-fc-body { display: none !important; }
     .ep-fc-fold-hint {
         display: inline-flex;
         align-items: center;
         gap: 8px;
         margin-top: 10px;
         color: var(--ep-gold-deep, #7b592f);
         font-size: 11.5px;
         font-weight: 600;
         letter-spacing: .1em;
     }
     .ep-fc-fold-hint::after {
         content: "";
         width: 9px;
         height: 9px;
         border-right: 2px solid var(--ep-gold, #BC955C);
         border-bottom: 2px solid var(--ep-gold, #BC955C);
         transform: rotate(45deg);
         transition: transform .25s ease;
     }
     .ep-fc-fold[open] .ep-fc-fold-hint::after { transform: rotate(225deg); }
     .ep-fc-body { padding-top: 14px !important; }
 }

 /* ==========================================================================
    Feature Cards — シンプル化・可読性向上（2026-08-05）
    見出し／説明を読みやすく、カードは装飾を減らしてすっきり見せる。
    ========================================================================== */

 /* 見出し（英字）と説明（日本語）の階層を明確に */
 .ep-feature-cards-section h2.ep-opc-title,
 .ep-feature-cards-section .ep-opc-title {
     font-size: 1.7rem !important;
     letter-spacing: .18em !important;
     color: #3f3527 !important;
     margin: 0 0 6px !important;
 }
 .ep-feature-cards-section .ep-pr-sub,
 .ep-feature-cards-section p.ep-pr-sub {
     font-size: 13px !important;
     letter-spacing: .12em !important;
     color: #6b6152 !important;
 }
 /* 見出し下のゴールド区切り線でセクションの頭を整える */
 .ep-feature-cards-section .ep-pr-head::after {
     content: "";
     display: block;
     width: 46px;
     height: 2px;
     margin: 12px auto 0;
     background: linear-gradient(90deg, transparent, #c2a163, transparent);
 }

 /* 各カードのeyebrow（例: PRIME AREA）はセクション見出しと重複するため非表示 */
 .ep-feature-cards-section .ep-feature-banner-eyebrow {
     display: none !important;
 }

 /* 写真を明るく・くっきり見せる（暗く沈んで見えるのを緩和） */
 .ep-feature-cards-section .ep-feature-banner-image::before {
     filter: brightness(0.86) saturate(0.92);
 }
 .ep-feature-cards-section .ep-feature-banner-link:hover .ep-feature-banner-image::before,
 .ep-feature-cards-section .ep-feature-banner-link:focus-visible .ep-feature-banner-image::before {
     filter: brightness(0.94) saturate(1);
 }
 /* タイトル下だけをしっかり暗くして白文字の可読性を確保（上半分は明るく） */
 .ep-feature-cards-section .ep-feature-banner-overlay {
     background: linear-gradient(180deg,
         rgba(12, 12, 12, 0) 0%,
         rgba(12, 12, 12, 0) 42%,
         rgba(12, 12, 12, 0.5) 78%,
         rgba(12, 12, 12, 0.74) 100%);
 }

 /* タイトルのみのすっきりしたコピー領域に整える */
 .ep-feature-cards-section .ep-feature-banner-copy {
     gap: 0;
     padding: 14px 16px 13px;
 }
 .ep-feature-cards-section .ep-feature-banner-title {
     font-size: 1.06rem;
     line-height: 1.32;
     letter-spacing: .04em;
 }
 .ep-feature-cards-section .ep-feature-banner-accent {
     margin-top: 7px;
 }

 @media (max-width: 520px) {
     .ep-feature-cards-section h2.ep-opc-title,
     .ep-feature-cards-section .ep-opc-title {
         font-size: 1.32rem !important;
     }
     .ep-feature-cards-section .ep-feature-banner-title {
         font-size: .86rem;
     }
 }

/* ==========================================================================
   特集ページ — テーマpadding打ち消し
   ========================================================================== */

.entry-content .ep-feature-page {
    margin-left: -30px !important;
    margin-right: -30px !important;
    max-width: none !important;
}

.ep-feature-page > .ep-breadcrumb {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 24px;
}

@media (max-width: 768px) {
    .ep-feature-page > .ep-breadcrumb {
        padding: 0 16px;
    }
}

/* ==========================================================================
   特集ページ 説明文セクション
   ========================================================================== */

.ep-feature-article {
    max-width: 1140px;
    margin: 0 auto 32px;
    padding: 0 24px;
    font-size: 0.95rem;
    line-height: 1.85;
    color: #333;
}

.ep-feature-article h2 {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1a1a2e;
    margin: 1.8em 0 0.6em;
    padding-bottom: 0.3em;
    border-bottom: 2px solid #c9a84c;
}

.ep-feature-article h2:first-child {
    margin-top: 0;
}

.ep-feature-article p {
    margin: 0 0 1em;
}

@media (max-width: 768px) {
    .ep-feature-article {
        padding: 0 16px;
        font-size: 0.9rem;
    }
    .ep-feature-article h2 {
        font-size: 1.05rem;
    }
}

/* ==========================================================================
   厳選タワーマンション
   ========================================================================== */

.ep-feature-picks {
    max-width: 1140px;
    margin: 0 auto 40px;
    padding: 0 24px;
}

.ep-feature-picks-title {
    font-size: 1.3rem;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0 0 20px;
    padding-bottom: 0.3em;
    border-bottom: 2px solid #c9a84c;
}

.ep-feature-picks-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 20px;
}

.ep-feature-pick-card {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    transition: box-shadow 0.2s;
}

.ep-feature-pick-card:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}

.ep-feature-pick-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.ep-feature-pick-img img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
}

.ep-feature-pick-body {
    padding: 14px 16px;
}

.ep-feature-pick-name {
    font-size: 1rem;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0 0 6px;
    line-height: 1.35;
}

.ep-feature-pick-meta {
    font-size: 0.82rem;
    color: #666;
    margin: 0 0 6px;
}

.ep-feature-pick-score {
    font-size: 0.85rem;
    color: #6a532f;
    margin: 0 0 4px;
}

.ep-feature-pick-price {
    font-size: 0.9rem;
    font-weight: 600;
    color: #c9a84c;
    margin: 0 0 6px;
}

.ep-feature-pick-comment {
    font-size: 0.82rem;
    color: #555;
    margin: 0;
    line-height: 1.5;
}

/* 投資スコア特集: 部屋単位カード */
.ep-feature-room-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.ep-feature-room-card {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    transition: box-shadow 0.2s;
}
.ep-feature-room-card:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}
.ep-feature-room-link {
    display: flex;
    text-decoration: none;
    color: inherit;
    gap: 14px;
    align-items: center;
}
.ep-feature-room-img { flex-shrink: 0; width: 120px; }
.ep-feature-room-img img { width: 120px; height: 80px; object-fit: cover; display: block; }
.ep-feature-room-body { padding: 10px 14px 10px 0; flex: 1; min-width: 0; }
.ep-feature-room-name { font-size: 0.95rem; font-weight: 700; color: #1a1a2e; margin: 0 0 4px; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ep-feature-room-spec { font-size: 0.85rem; color: #444; margin: 0 0 6px; }
.ep-feature-room-kind { display: inline-block; font-size: 0.72rem; padding: 1px 6px; border-radius: 3px; background: #eef; color: #336; vertical-align: middle; }
.ep-feature-room-scores { display: flex; gap: 6px; flex-wrap: wrap; }
.ep-feature-score-badge { display: inline-flex; align-items: center; gap: 3px; font-size: 0.72rem; padding: 2px 7px; border-radius: 4px; background: #f0f0f0; color: #666; }
.ep-feature-score-badge strong { font-size: 0.82rem; color: #333; }
.ep-feature-score-badge.ep-score-high { background: #e8f5e9; color: #2e7d32; }
.ep-feature-score-badge.ep-score-high strong { color: #1b5e20; }
.ep-feature-score-badge.ep-score-mid { background: #fff8e1; color: #f57f17; }
.ep-feature-score-badge.ep-score-mid strong { color: #e65100; }
@media (max-width: 600px) {
    .ep-feature-room-link { flex-direction: column; align-items: stretch; }
    .ep-feature-room-img { width: 100%; }
    .ep-feature-room-img img { width: 100%; height: 140px; }
    .ep-feature-room-body { padding: 10px 14px; }
}

.ep-feature-picks-desc {
    font-size: 0.95rem;
    line-height: 1.75;
    color: #555;
    margin: -6px 0 18px;
}

.ep-feature-picks-empty {
    border: 1px solid rgba(18, 30, 48, 0.1);
    border-radius: 18px;
    padding: 20px 22px;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,248,250,0.98));
    color: #55606f;
    line-height: 1.8;
}

.ep-feature-picks-empty p {
    margin: 0;
}

.ep-feature-prime-img {
    position: relative;
}

.ep-feature-prime-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    display: inline-block;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(28, 34, 52, 0.88);
    color: #fff;
    font-size: 0.74rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
}

.ep-feature-prime-comment {
    margin-top: 8px;
}

.ep-feature-results {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 24px;
}

.ep-feature-results-title {
    margin: 0 0 18px;
    padding: 0;
    font-size: 1.2rem;
    font-weight: 700;
    color: #1a1a2e;
    border-bottom: 2px solid #c9a84c;
    padding-bottom: 0.3em;
}

@media (max-width: 768px) {
    .ep-feature-picks { padding: 0 16px; }
    .ep-feature-picks-grid { grid-template-columns: 1fr; }
    .ep-feature-pick-img img { height: 150px; }
    .ep-feature-picks-desc { font-size: 0.9rem; line-height: 1.65; }
    .ep-feature-results { padding: 0 16px; }
}

/* ==========================================================================
   FAQ
   ========================================================================== */

.ep-feature-faq {
    max-width: 1140px;
    margin: 40px auto;
    padding: 0 24px;
}

.ep-feature-faq h2 {
    font-size: 1.2rem;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0 0 16px;
    padding-bottom: 0.3em;
    border-bottom: 2px solid #c9a84c;
}

.ep-faq-item {
    border-bottom: 1px solid #e8e8e8;
}

.ep-faq-q {
    padding: 14px 0;
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    color: #1a1a2e;
    list-style: none;
}

.ep-faq-q::-webkit-details-marker { display: none; }

.ep-faq-q::before {
    content: "Q. ";
    color: #c9a84c;
    font-weight: 700;
}

.ep-faq-a {
    padding: 0 0 16px 20px;
    font-size: 0.9rem;
    line-height: 1.75;
    color: #444;
}

.ep-faq-a p { margin: 0; }

/* ==========================================================================
   まとめ
   ========================================================================== */

.ep-feature-summary {
    max-width: 1140px;
    margin: 0 auto 40px;
    padding: 24px;
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
    border-radius: 8px;
    color: #fff;
}

.ep-feature-summary h2 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #c9a84c;
    margin: 0 0 12px;
}

.ep-feature-summary p {
    font-size: 0.92rem;
    line-height: 1.8;
    margin: 0;
    color: rgba(255,255,255,0.9);
}

@media (max-width: 768px) {
    .ep-feature-faq { padding: 0 16px; }
    .ep-feature-summary { margin-left: 16px; margin-right: 16px; padding: 18px; }
}

/* ============================================================
   2026-08-07 特集カードセクション（OSAKA PRIME AREAS / EXPLORE BY AREA /
   SHARED FACILITIES / PREFERENCES 等）の背景を刷新。
   従来の bg-leather-beige-light.png（インライン --ep-fc-bg 経由）が
   「ダサい」との指摘。レザー調テクスチャを廃し、クリーンなクリーム地＋
   ソフトな標準影に統一。has-no-bg(OTI等のダーク)は対象外。
   ※インライン --ep-fc-bg に勝つため ::before の background-image を !important で打消し。
   ============================================================ */
.ep-feature-cards-section.ep-premium-residences:not(.has-no-bg)::before {
    background-image: none !important;
}
.ep-feature-cards-section.ep-premium-residences:not(.has-no-bg) {
    background: #F4F2EE !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .07) !important;
    border: 1px solid rgba(188, 149, 92, .18) !important;
}
