 /* ==========================================================================
   Theme Overrides (Twenty Twenty-Five)
   ========================================================================== */
 .entry-content,
 .wp-block-group,
 article {
     border-left: none !important;
 }

 /* ==========================================================================
   Building Page - Padding & Content Width Constraint
   Match room page: outer WP <main> has padding:1.5rem, content constrained to content-size
   ========================================================================== */
 main.ep-building {
     padding-top: 0;
     padding-right: var(--wp--preset--spacing--50, 1.5rem);
     padding-bottom: var(--wp--preset--spacing--50, 1.5rem);
     padding-left: var(--wp--preset--spacing--50, 1.5rem);
 }

 .ep-building > *:not(.ep-building-hero):not(.ep-lightbox):not(.ep-bottom-nav):not(.ep-bottom-nav-spacer) {
     max-width: var(--wp--style--global--content-size, 1140px);
     margin-left: auto;
     margin-right: auto;
     box-sizing: border-box;
 }

 /* ==========================================================================
   Building/Room Page - TOC
   ========================================================================== */
 .ep-building-toc {
     background: transparent;
     padding: 12px 0 8px;
     margin: 0 0 16px;
     box-shadow: none;
     border-bottom: 1px solid rgba(184, 154, 90, .2);
 }

 .ep-building-toc-title,
 h3.ep-building-toc-title {
     font-size: 1rem !important;
     font-weight: 600 !important;
     color: var(--ep-charcoal) !important;
     margin: 0 0 10px 0 !important;
     padding: 0 !important;
     background: none !important;
     border: none !important;
     border-left: none !important;
     letter-spacing: 0.06em;
 }

 .ep-building-toc-list {
     display: flex !important;
     flex-wrap: wrap;
     gap: 0.35rem 0.75rem;
     list-style: none !important;
     padding: 0 !important;
     margin: 0 !important;
 }

 .ep-building-toc-list li {
     margin: 0 !important;
 }

 .ep-building-toc-list a {
     display: inline-block;
     padding: 0.45rem 0.25rem !important;
     background: transparent !important;
     border: 1px solid transparent !important;
     border-radius: 0;
     font-size: 0.85rem;
     font-weight: 500;
     color: #777 !important;
     text-decoration: none !important;
     transition: color 0.2s ease, border-color 0.2s ease;
 }

 .ep-building-toc-list a:hover {
     color: var(--ep-charcoal) !important;
     border-bottom: 2px solid var(--ep-gold) !important;
     text-decoration: none !important;
 }

 .ep-building-toc-list a:focus-visible {
     outline: 2px solid rgba(188, 149, 92, 0.5);
     outline-offset: 2px;
 }

 .ep-building-toc-list a.is-active,
 .ep-building-toc-list a[aria-current="true"] {
     color: var(--ep-ink) !important;
     font-weight: 600;
     border-bottom: 2px solid var(--ep-gold) !important;
 }

 /* ==========================================================================
   Hero Section
   ========================================================================== */
 .ep-building-hero {
     margin: 0px 0 32px;
 }

 @keyframes ep-hero-shimmer {
     0%, 100% { text-shadow: 0 0 4px rgba(255, 255, 255, 0.5); }
     50% { text-shadow: 0 0 12px rgba(255, 255, 255, 1.0); }
 }

 .ep-hero-media {
     position: relative;
     min-height: 360px;
     background-size: cover;
     background-position: center;
     overflow: hidden;
     box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.5);
 }

 .ep-hero-media::before {
     content: "";
     position: absolute;
     inset: 0;
     background-image: inherit;
     background-size: cover;
     background-position: center;
     filter: blur(6px) brightness(0.4) saturate(0.9);
     transform: scale(1.1);
 }

 .ep-hero-overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(90deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.1));
     display: flex;
     align-items: flex-end;
 }

 .ep-hero-body {
     padding: 24px;
     color: #fff;
     max-width: 1140px;
     width: 100%;
 }

 .ep-hero-body,
 .ep-hero-body * {
     color: #fff !important;
 }

 h1.ep-hero-title,
 .ep-hero-title {
     font-size: 2.2rem !important;
     font-weight: 900 !important;
     margin: 0 !important;
     padding: 0 !important;
     color: #fff !important;
     background: none !important;
     border: none !important;
     text-shadow: 0 0 4px rgba(255, 255, 255, 0.5);
     letter-spacing: 0.05em !important;
     line-height: 1.3 !important;
     -webkit-animation: ep-hero-shimmer 4s ease-in-out infinite !important;
     animation: ep-hero-shimmer 4s ease-in-out infinite !important;
 }

 .ep-hero-catch {
     font-size: 1.15rem;
     font-weight: 600;
     margin: 0 0 8px;
     text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
 }

 .ep-hero-meta {
     margin: 4px 0;
     color: #f1f1f1;
     text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
 }

 .ep-hero-subtitle {
     margin: 6px 0 8px;
     font-size: 1.05rem;
     font-weight: 700;
     color: #f7f7f7;
     text-shadow: 0 2px 6px rgba(0, 0, 0, 0.45);
 }

 .ep-featured-page-hero .ep-featured-page-eyebrow {
     margin: 0 0 10px;
     font-size: 0.72rem;
     letter-spacing: 0.2em;
     text-transform: lowercase;
     color: rgba(255, 255, 255, 0.78) !important;
 }

 .ep-featured-page-hero .ep-hero-body {
     max-width: 1140px;
     margin: 0 auto !important;
     width: 100%;
     box-sizing: border-box;
     padding: 24px 24px 28px;
     text-align: left;
 }

 .ep-featured-page-hero .ep-hero-title {
     font-size: 2.2rem !important;
     line-height: 1.28 !important;
     margin: 0 0 8px !important;
     text-shadow: none !important;
     opacity: 0 !important;
     transform: translateX(-35vw) scale(0.95) !important;
     filter: blur(10px) !important;
     transition: opacity 1.0s ease-out, transform 1.2s cubic-bezier(0.2, 1, 0.3, 1), filter 1.2s ease-out !important;
     transition-delay: .3s !important;
     -webkit-animation: none !important;
     animation: none !important;
 }

 .ep-featured-page-hero .ep-hero-title.is-animated {
     opacity: 1 !important;
     transform: translateX(0) scale(1) !important;
     filter: blur(0) !important;
 }

 .ep-featured-page-hero .ep-hero-catch {
     max-width: 700px;
     font-size: 1.05rem;
     line-height: 1.75;
     margin: 0;
 }

 .ep-featured-page-hero .ep-hero-body .ep-feature-hero-desc {
     opacity: 0 !important;
     transform: translateY(6px) !important;
     transition: opacity .6s ease-out, transform .6s ease-out !important;
     transition-delay: .9s !important;
 }

.ep-featured-page-hero .ep-hero-body.p-animated .ep-feature-hero-desc {
    opacity: .78 !important;
    transform: translateY(0) !important;
}

/* ==========================================================================
  Building Land Price History
  ========================================================================== */
.ep-land-history {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid rgba(184, 154, 90, 0.22);
}

.ep-land-history h3 {
    margin: 0 0 8px !important;
    font-size: 1.02rem !important;
    font-weight: 700 !important;
    color: var(--ep-charcoal) !important;
    border: none !important;
    background: none !important;
    padding: 0 !important;
}

.ep-land-history-note {
    margin: 0 0 14px !important;
    font-size: 0.84rem;
    line-height: 1.8;
    color: #666;
}

.ep-land-history-card {
    border: 1px solid rgba(184, 154, 90, 0.18);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 247, 241, 0.98));
    padding: 14px 14px 12px;
}

.ep-land-history-summary {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.ep-land-history-current-label {
    font-size: 0.8rem;
    letter-spacing: 0.06em;
    color: #7d7263;
}

.ep-land-history-current-value {
    font-size: 1.2rem;
    line-height: 1.2;
    color: var(--ep-charcoal);
}

.ep-land-history-current-year {
    font-size: 0.85rem;
    color: #8a806f;
}

.ep-land-history-chart-wrap {
    width: 100%;
    overflow-x: auto;
}

.ep-land-history-chart {
    width: 100%;
    min-width: 640px;
    height: auto;
    display: block;
}

.ep-land-history-axis {
    stroke: rgba(74, 79, 86, 0.45);
    stroke-width: 1.2;
}

.ep-land-history-grid {
    stroke: rgba(184, 154, 90, 0.16);
    stroke-width: 1;
    stroke-dasharray: 4 4;
}

.ep-land-history-line {
    stroke: #b89a5a;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ep-land-history-dot {
    fill: #ffffff;
    stroke: #b89a5a;
    stroke-width: 2;
}

.ep-land-history-y-label,
.ep-land-history-x-label {
    fill: #7d7263;
    font-size: 12px;
    font-weight: 600;
}

/* ==========================================================================
  Building Alias Section
  ========================================================================== */
.ep-building-aliases {
    margin: 28px 0 24px;
}

.ep-building-aliases > h2 {
    margin-bottom: 12px !important;
}

.ep-alias-lead {
    margin: 0 0 16px;
    color: #5f5a52;
    line-height: 1.8;
}

.ep-alias-groups {
    display: grid;
    gap: 14px;
}

.ep-alias-group h3 {
    margin: 0 0 8px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
}

.ep-alias-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

 /* ==========================================================================
   Section Headings (h2) — ゴールドアクセント統一
   ========================================================================== */
 .ep-building h2,
 .ep-room h2,
 .ep-building h2.wp-block-heading,
 .ep-room h2.wp-block-heading {
     font-family: var(--ep-font-serif) !important;
     font-size: 16px !important;
     font-weight: 600 !important;
     letter-spacing: .08em !important;
     color: #fff !important;
     padding: 14px 20px !important;
     margin: 0 !important;
     border: none !important;
     box-shadow: none !important;
     position: relative;
     background: url('/img/bg/bg-luxury-dark-navy-texture.png') center / cover no-repeat !important;
     background: -webkit-image-set(url('/img/avc/bg/bg-luxury-dark-navy-texture.avif') type('image/avif'),
             url('/img/avc/bg/bg-luxury-dark-navy-texture.webp') type('image/webp')) center / cover no-repeat !important;
     background: image-set(url('/img/avc/bg/bg-luxury-dark-navy-texture.avif') type('image/avif'),
             url('/img/avc/bg/bg-luxury-dark-navy-texture.webp') type('image/webp')) center / cover no-repeat !important;
 }
 .ep-building h2::after,
 .ep-room h2::after {
     content: "";
     position: absolute;
     bottom: 0;
     left: 20px;
     width: 48px;
     height: 2px;
     background: linear-gradient(90deg, var(--ep-gold), transparent);
 }
 .ep-building h2 .epsc-h2-text-frame,
 .ep-room h2 .epsc-h2-text-frame {
     display: inline !important;
     padding: 0 !important;
     border: none !important;
     background: transparent !important;
     box-shadow: none !important;
     color: inherit !important;
 }

 /* ==========================================================================
   Sub-headings (h3) — ゴールド左ボーダー
   ========================================================================== */
 .ep-building h3,
 .ep-room h3,
 .ep-building h3.wp-block-heading,
 .ep-room h3.wp-block-heading {
     font-family: var(--ep-font-serif) !important;
     font-size: 1.05rem !important;
     font-weight: 600 !important;
     color: var(--ep-charcoal) !important;
     border: none !important;
     border-left: 3px solid var(--ep-gold) !important;
     padding: 4px 0 4px 12px !important;
     margin: 24px 0 14px !important;
     background: transparent !important;
     box-shadow: none !important;
 }

 /* ==========================================================================
   Detail Sections (.ep-detail)
   ========================================================================== */
 .ep-detail {
     background: transparent !important;
     border: none !important;
     box-shadow: none !important;
     padding: 0 !important;
     margin-bottom: 28px !important;
 }

 /* ==========================================================================
   Info Tables (DL/DT/DD)
   ========================================================================== */
 .ep-building .dlline,
 .ep-room .dlline {
     border-bottom: 1px solid rgba(184, 154, 90, .12) !important;
 }

 .ep-building dt,
 .ep-room dt {
     background: rgba(188, 149, 92, .12) !important;
     color: var(--ep-charcoal) !important;
     font-size: 12px !important;
     font-weight: 600 !important;
     letter-spacing: .04em;
 }

 .ep-building dd,
 .ep-room dd {
     color: var(--ep-gray) !important;
     font-size: 13px !important;
 }

 /* ==========================================================================
   Feature List (共用設備・特徴)
   ========================================================================== */
 .ep-feature-list li.is-main::before {
     background: var(--ep-gold) !important;
 }

 .ep-feature-more__summary {
     color: var(--ep-gold) !important;
     font-size: 0.82rem;
 }

 /* ==========================================================================
   Photo Gallery
   ========================================================================== */
 .ep-photo-main img {
     width: 100%;
     height: auto;
     border-radius: 0;
 }

 .ep-photo-thumbs {
     display: grid;
     grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
     gap: 6px;
     margin-top: 8px;
 }

 .ep-photo-thumbs img {
     width: 100%;
     height: 72px;
     object-fit: cover;
     border-radius: 0;
     box-shadow: 0 1px 4px rgba(0, 0, 0, .15);
     cursor: pointer;
     transition: opacity 0.2s ease, box-shadow 0.2s ease;
 }

.ep-photo-thumbs img:hover {
    opacity: 0.85;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
}

.ep-building-more-wrap {
    margin: 14px 0 0;
    text-align: center;
}

.ep-building-more-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 220px;
    padding: 11px 18px;
    border: 1px solid rgba(184, 154, 90, 0.45);
    background: linear-gradient(180deg, #fbf8f2, #f4ede0);
    color: #5f4c2f;
    font-size: 0.92rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.ep-building-more-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(88, 70, 35, 0.12);
    border-color: rgba(184, 154, 90, 0.8);
}

.ep-building-more-button:disabled {
    cursor: wait;
    opacity: .72;
    transform: none;
    box-shadow: none;
}

.ep-building-more-button-compact {
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.ep-building-more-button-compact:hover,
.ep-building-more-button-compact:disabled {
    transform: none;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.ep-building-more-button-compact .more-toggle {
    display: inline-block;
    margin-left: 0;
    padding: 2px 8px;
    border-radius: 4px;
    background: #f4f1e6;
    color: #6b4b00;
    font-size: 0.85rem;
    line-height: 1.6;
}

.ep-building-more-button-compact .more-toggle::after {
    content: attr(data-open-label);
}

 /* ==========================================================================
   Lightbox
   ========================================================================== */
 .ep-lightbox {
     position: fixed;
     inset: 0;
     background: rgba(0, 0, 0, 0.85);
     display: none;
     align-items: center;
     justify-content: center;
     z-index: 9999;
 }

 .ep-lightbox.is-open {
     display: flex;
 }

 .ep-lightbox-inner {
     position: relative;
     max-width: 90vw;
     max-height: 90vh;
 }

 .ep-lightbox img {
     max-width: 90vw;
     max-height: 90vh;
     display: block;
 }

 .ep-room-video iframe {
     width: 100%;
     height: 315px;
     border: 0;
     margin-top: 12px;
 }

 /* ==========================================================================
   Breadcrumb
   ========================================================================== */
 .ep-breadcrumb {
     font-size: 12px;
     color: rgba(17, 17, 17, .55);
     margin-bottom: 8px;
 }
 .ep-breadcrumb a {
     color: var(--ep-gold) !important;
     text-decoration: none !important;
 }
 .ep-breadcrumb a:hover {
     text-decoration: underline !important;
 }

 /* ==========================================================================
   Contact Section
   ========================================================================== */
 .ep-contact-grid {
     gap: 12px;
 }
 .ep-contact-card {
     border: 1px solid rgba(184, 154, 90, .2) !important;
     box-shadow: 0 1px 4px rgba(0, 0, 0, .06) !important;
     transition: transform .2s ease, box-shadow .2s ease;
 }
 .ep-contact-card:hover {
     transform: translateY(-2px);
     box-shadow: 0 4px 12px rgba(0, 0, 0, .1) !important;
 }
 .ep-contact-card.is-primary {
     border-color: var(--ep-gold) !important;
 }

 /* ==========================================================================
   Search Page
   ========================================================================== */
 .ep-search-form {
     border: 1px solid rgba(184, 154, 90, .2);
     padding: 16px;
     background: rgba(255, 255, 255, .6);
     margin-bottom: 24px;
 }

 .ep-search-row {
     margin: 8px 0;
 }

 .ep-search-row label {
     margin-right: 12px;
 }

 .ep-search-row input[type="text"],
 .ep-search-row input[type="number"] {
     padding: 6px 8px;
     border: 1px solid rgba(184, 154, 90, .25);
     border-radius: 0;
 }

 .ep-search-row button {
     padding: 8px 16px;
     background: var(--ep-charcoal);
     color: #fff;
     border: none;
     cursor: pointer;
 }

 /* ==========================================================================
   Responsive
   ========================================================================== */
 @media (max-width: 768px) {
     h1.ep-hero-title,
     .ep-hero-title {
         font-size: 1.5rem !important;
     }
     .ep-hero-media {
         min-height: 280px;
     }
     .ep-detail {
         padding: 12px 12px !important;
     }
 }

 @media (max-width: 640px) {
     .ep-room-video iframe {
         height: 220px;
     }
     .ep-photo-thumbs {
         grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
         gap: 4px;
     }
     .ep-photo-thumbs img {
         height: 56px;
     }
     .ep-building h2,
     .ep-room h2 {
         font-size: 0.9rem !important;
         padding: 12px 14px !important;
     }
 }

 /* ==========================================================================
   Feature Page — h2 override (検索結果内の建物名h2)
   ========================================================================== */
 .ep-feature-page h2,
 .ep-feature-page h2.wp-block-heading {
     font-family: var(--ep-font-serif) !important;
     font-size: 16px !important;
     font-weight: 600 !important;
     letter-spacing: .08em !important;
     color: #fff !important;
     padding: 14px 20px !important;
     margin: 2rem 0 0 !important;
     border: none !important;
     box-shadow: none !important;
     position: relative;
     background: url('/img/bg/bg-luxury-dark-navy-texture.png') center / cover no-repeat !important;
     background: -webkit-image-set(url('/img/avc/bg/bg-luxury-dark-navy-texture.avif') type('image/avif'),
             url('/img/avc/bg/bg-luxury-dark-navy-texture.webp') type('image/webp')) center / cover no-repeat !important;
     background: image-set(url('/img/avc/bg/bg-luxury-dark-navy-texture.avif') type('image/avif'),
             url('/img/avc/bg/bg-luxury-dark-navy-texture.webp') type('image/webp')) center / cover no-repeat !important;
     overflow: hidden !important;
 }
 .ep-feature-page h2::before,
 .ep-feature-page h2.wp-block-heading::before {
     content: none !important;
 }
 .ep-feature-page h2::after {
     content: "";
     position: absolute;
     bottom: 0;
     left: 20px;
     width: 48px;
     height: 2px;
     background: linear-gradient(90deg, var(--ep-gold), transparent);
 }
 .ep-feature-page h2 .epsc-h2-text-frame {
     display: inline !important;
     padding: 0 !important;
     border: none !important;
     background: transparent !important;
     box-shadow: none !important;
     color: inherit !important;
 }

 /* Feature page search form */
 .ep-feature-page .ep-search-form {
     border: 1px solid rgba(184, 154, 90, .2);
     background: rgba(255, 255, 255, .6);
     box-shadow: 0 1px 4px rgba(0, 0, 0, .06);
 }

 /* Feature hero title — already animated, ensure no double shimmer */
 .ep-feature-page h1.ep-hero-title {
     -webkit-animation: none !important;
     animation: none !important;
 }

 /* Feature page spacing fix */
 .ep-feature-page .ep-feature-results {
     margin-top: 0 !important;
 }
 .ep-feature-page .ep-feature-results > * {
     margin-top: 0 !important;
 }

 /* ==========================================================================
   Showcase sections inside regular pages (not front page)
   ========================================================================== */
 .entry-content .signature-towers,
 .entry-content .ep-osaka-prime-collection,
 .entry-content .ep-premium-residences,
 .entry-content .ep-oti {
     max-width: 900px !important;
     margin-left: auto !important;
     margin-right: auto !important;
 }
 .entry-content .signature-towers .sig-media img {
     max-height: 300px;
 }
.entry-content .ep-osaka-prime-collection .ep-opc-media img,
.entry-content .ep-premium-residences .ep-pr-media img {
    max-height: 250px;
}

.entry-content .ep-premium-residences .ep-pr-grid,
.entry-content .ep-oti .ep-pr-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.entry-content .ep-premium-residences .ep-pr-card,
.entry-content .ep-oti .ep-pr-card {
    display: block !important;
    border: none !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.88) !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .12) !important;
    transition: transform .25s ease, box-shadow .25s ease !important;
}

.entry-content .ep-premium-residences .ep-pr-card:hover,
.entry-content .ep-oti .ep-pr-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, .18);
}

.entry-content .ep-premium-residences .ep-pr-link,
.entry-content .ep-oti .ep-pr-link {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    color: inherit !important;
    text-decoration: none !important;
}

.entry-content .ep-premium-residences .ep-pr-media,
.entry-content .ep-oti .ep-pr-media {
    margin: 8px 8px 0 !important;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
    border-radius: 3px !important;
}

.entry-content .ep-premium-residences .ep-pr-media img,
.entry-content .ep-oti .ep-pr-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform .4s ease !important;
}

.entry-content .ep-premium-residences .ep-pr-card:hover .ep-pr-media img,
.entry-content .ep-oti .ep-pr-card:hover .ep-pr-media img {
    transform: scale(1.04);
}

.entry-content .ep-premium-residences .ep-pr-media-empty,
.entry-content .ep-oti .ep-pr-media-empty {
    width: 100% !important;
    height: 100% !important;
    background: rgba(200, 190, 170, .2) !important;
}

.entry-content .ep-premium-residences .ep-pr-body,
.entry-content .ep-oti .ep-pr-body {
    margin: 0 8px 8px !important;
    padding: 12px 8px 14px !important;
    text-align: center !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    border: 1px solid rgba(184, 154, 90, .35) !important;
}

.entry-content .ep-premium-residences .ep-pr-name,
.entry-content .ep-oti .ep-pr-name {
    margin: 0 0 6px !important;
    padding: 0 !important;
    border: none !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    color: #3a3530 !important;
    font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif !important;
    font-weight: 500 !important;
}

.entry-content .ep-premium-residences .ep-pr-spec,
.entry-content .ep-oti .ep-pr-spec {
    font-size: 13px;
    line-height: 1.3;
    letter-spacing: .03em;
    color: #7a7168;
    margin-bottom: 4px;
}

.entry-content .ep-premium-residences .ep-pr-spec sup,
.entry-content .ep-oti .ep-pr-spec sup {
    font-size: 9px;
    vertical-align: super;
    line-height: 0;
}

.entry-content .ep-premium-residences .ep-pr-station,
.entry-content .ep-oti .ep-pr-station {
    font-size: 12px;
    line-height: 1.3;
    letter-spacing: .02em;
    color: #a0763f;
    margin-bottom: 6px;
}

.entry-content .ep-premium-residences .ep-pr-price,
.entry-content .ep-oti .ep-pr-price {
    font-size: 18px;
    line-height: 1;
    letter-spacing: .01em;
    color: #7b592f !important;
    -webkit-text-fill-color: #7b592f !important;
    font-family: var(--epsc-h2-font), serif;
    font-weight: 700;
    margin-bottom: 10px;
}

.entry-content .ep-premium-residences .ep-pr-cta,
.entry-content .ep-oti .ep-pr-cta {
    display: inline-block;
    margin-top: auto;
    padding: 7px 36px;
    font-size: 12px;
    letter-spacing: .06em;
    color: #3b2f1b !important;
    -webkit-text-fill-color: #3b2f1b !important;
    background: url('/img/bg/bg-suede-pearl.png') center / cover no-repeat;
    font-weight: 400;
    text-align: center;
    position: relative;
    isolation: isolate;
    box-shadow: 0 0 2px rgba(0,0,0,.25);
    transition: box-shadow .2s ease;
}

.entry-content .ep-premium-residences .ep-pr-cta::before,
.entry-content .ep-oti .ep-pr-cta::before {
    content: "";
    position: absolute;
    inset: 2px;
    background: linear-gradient(135deg, rgba(210,210,210,.8) 0%, rgba(180,180,180,.8) 50%, rgba(150,150,150,.8) 100%);
    z-index: -2;
}

.entry-content .ep-premium-residences .ep-pr-cta::after,
.entry-content .ep-oti .ep-pr-cta::after {
    content: "";
    position: absolute;
    inset: 3px;
    background: url('/img/bg/bg-suede-pearl.png') center / cover no-repeat;
    z-index: -1;
}

.entry-content .ep-premium-residences .ep-pr-card:hover .ep-pr-cta,
.entry-content .ep-oti .ep-pr-card:hover .ep-pr-cta {
    box-shadow: 0 2px 6px rgba(0,0,0,.3);
}

@media (max-width: 900px) {
    .entry-content .ep-premium-residences .ep-pr-grid,
    .entry-content .ep-oti .ep-pr-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 520px) {
    .entry-content .ep-premium-residences .ep-pr-grid,
    .entry-content .ep-oti .ep-pr-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    .entry-content .ep-premium-residences .ep-pr-name,
    .entry-content .ep-oti .ep-pr-name {
        font-size: 12px !important;
    }

    .entry-content .ep-premium-residences .ep-pr-price,
    .entry-content .ep-oti .ep-pr-price {
        font-size: 14px;
    }
}

/* MLIT Trades - 過去の取引履歴 */
.ep-mlit-trades {
    margin: 48px 0;
}
.ep-mlit-trades h2 {
    margin-bottom: 12px;
}
.ep-mlit-trades-note {
    font-size: 13px;
    color: #8a7d6e;
    margin-bottom: 20px;
    line-height: 1.7;
}
.ep-mlit-trades-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.ep-mlit-trades-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    min-width: 500px;
}
.ep-mlit-trades-table thead {
    background: #1a1612;
    color: #f0e6d4;
}
.ep-mlit-trades-table th {
    padding: 10px 14px;
    text-align: left;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: .06em;
    white-space: nowrap;
}
.ep-mlit-trades-table td {
    padding: 10px 14px;
    border-bottom: 1px solid rgba(139,108,62,.12);
    white-space: nowrap;
}
.ep-mlit-trades-table tbody tr:hover {
    background: rgba(188,149,92,.06);
}
.ep-mlit-trades-table .ep-mlit-price {
    font-weight: 700;
    color: #3a3226;
}
.ep-mlit-trades-source {
    font-size: 11px;
    color: #aaa;
    margin-top: 10px;
    text-align: right;
}

 /* ==========================================================================
   General page h2 — reset global dark bar for pages without specific scoping
   ========================================================================== */
 .entry-content h2.wp-block-heading,
 .entry-content h2 {
     font-family: var(--ep-font-serif) !important;
     font-size: 16px !important;
     font-weight: 600 !important;
     letter-spacing: .08em !important;
     color: #fff !important;
     padding: 14px 20px !important;
     margin-top: 2rem !important;
     margin-bottom: 1rem !important;
     border: none !important;
     box-shadow: none !important;
     position: relative;
     background: url('/img/bg/bg-luxury-dark-navy-texture.png') center / cover no-repeat !important;
     background: -webkit-image-set(url('/img/avc/bg/bg-luxury-dark-navy-texture.avif') type('image/avif'),
             url('/img/avc/bg/bg-luxury-dark-navy-texture.webp') type('image/webp')) center / cover no-repeat !important;
     background: image-set(url('/img/avc/bg/bg-luxury-dark-navy-texture.avif') type('image/avif'),
             url('/img/avc/bg/bg-luxury-dark-navy-texture.webp') type('image/webp')) center / cover no-repeat !important;
     overflow: hidden !important;
 }
 .entry-content h2.wp-block-heading::before,
 .entry-content h2.wp-block-heading::after,
 .entry-content h2::before,
 .entry-content h2::after {
     content: none !important;
     display: none !important;
 }
 .entry-content h2::after {
     content: "" !important;
     display: block !important;
     position: absolute;
     bottom: 0;
     left: 20px;
     width: 48px;
     height: 2px;
     background: linear-gradient(90deg, var(--ep-gold), transparent);
 }
 .entry-content h2 .epsc-h2-text-frame {
     display: inline !important;
     padding: 0 !important;
     border: none !important;
     background: transparent !important;
     box-shadow: none !important;
     color: inherit !important;
 }
 .entry-content h2 a {
     color: #fff !important;
     text-decoration: none !important;
 }

/* ==========================================================================
   部屋ページ → 建物ページ誘導CTA
   ========================================================================== */

.ep-room-building-cta {
    margin: 32px 0;
}

.ep-building-cta-inner {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
    border-radius: 8px;
    padding: 28px 32px;
    color: #fff;
}

.ep-building-cta-inner h2 {
    color: #fff !important;
    font-size: 1.15rem;
    margin: 0 0 10px !important;
    border: none !important;
    padding: 0 !important;
}

.ep-building-cta-inner p {
    color: rgba(255,255,255,0.85);
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0 0 18px;
}

.ep-building-cta-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.ep-building-cta-btn {
    display: inline-block;
    padding: 10px 22px;
    background: #c9a84c;
    color: #1a1a2e !important;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    border-radius: 4px;
    transition: background 0.2s;
}

.ep-building-cta-btn:hover {
    background: #d4b85c;
}

.ep-building-cta-btn.is-secondary {
    background: transparent;
    color: #c9a84c !important;
    border: 1px solid rgba(201,168,76,0.5);
}

.ep-building-cta-btn.is-secondary:hover {
    background: rgba(201,168,76,0.1);
}

@media (max-width: 768px) {
    .ep-building-cta-inner { padding: 20px 18px; }
    .ep-building-cta-links { flex-direction: column; }
    .ep-building-cta-btn { text-align: center; }
}

/* ==========================================================================
   サービス紹介ページ共通の改善スタイル
   対象: 売却募集中 (page-id-6607) / 賃貸管理について(オーナー様向け) (page-id-1991)
   - 可読性(本文16px/読書幅制約)・見出し階層(H2>H3>本文)の是正
   - 選ばれる理由/お客様の声のカード化・FAQアコーディオン
   - 特徴ストリップ・電話導線・モバイル追従CTA
   :is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) にスコープし他ページへ波及させない。
   新たなサービスページを追加する際はこのリストにpage-idを足す。
   ========================================================================== */
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .entry-content > * {
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}
/* 本文の可読性 */
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .entry-content p,
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .entry-content li {
    font-size: 16px !important;
    line-height: 1.9 !important;
    color: #333 !important;
}
/* 上の本文用 #333 がヒーロー(.entry-content内に注入される)のサブタイトルまで暗くしていたため、
   ヒーロー内テキストは白へ戻す（本文の色指定より高特異度で上書き） */
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .entry-content .ep-featured-page-hero .ep-hero-body p,
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .entry-content .ep-featured-page-hero .ep-hero-catch,
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .entry-content .ep-featured-page-hero .ep-hero-body * {
    color: #fff !important;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .entry-content .ep-page-lead {
    font-size: 17px !important;
    line-height: 2 !important;
    color: var(--ep-charcoal) !important;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .entry-content ul.wp-block-list,
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .entry-content ol.wp-block-list {
    padding-left: 1.4em;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .entry-content li { margin-bottom: 8px; }

/* 見出し階層の是正: H2(帯)を本文/ H3より大きく */
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .entry-content h2,
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .entry-content h2.wp-block-heading {
    font-size: 20px !important;
    padding: 16px 24px !important;
    letter-spacing: .06em !important;
    margin-top: 3rem !important;
    margin-bottom: 1.25rem !important;
    line-height: 1.5 !important;
}
/* H3: サイトのゴールド左罫デザインに統一し、H2より小さく */
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .entry-content h3,
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .entry-content h3.wp-block-heading {
    font-family: var(--ep-font-serif);
    font-size: 17px !important;
    font-weight: 600 !important;
    color: var(--ep-charcoal) !important;
    border-left: 3px solid var(--ep-gold);
    padding: 3px 0 3px 12px !important;
    margin: 2rem auto .75rem !important;
    line-height: 1.6 !important;
}

/* CTAボタン: 細すぎる字を強調・タップ領域確保 */
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-cta-buttons .wp-block-button__link {
    font-weight: 600 !important;
    font-size: 16px !important;
    padding: 15px 34px !important;
    letter-spacing: .02em;
}

/* 特徴ストリップ */
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-feature-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin: 24px auto 8px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-feature-chip {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 4px;
    padding: 16px 10px;
    border: 1px solid var(--ep-line);
    border-top: 3px solid var(--ep-gold);
    background: #fff;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-feature-chip .ep-feature-k {
    font-family: var(--ep-font-serif);
    font-size: 19px;
    font-weight: 700;
    color: var(--ep-charcoal);
    letter-spacing: .02em;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-feature-chip .ep-feature-v {
    font-size: 12.5px;
    color: #666;
    line-height: 1.5;
}

/* 選ばれる理由カード */
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-reason-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    margin: 8px auto 12px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-reason-card {
    position: relative;
    background: #fff;
    border: 1px solid var(--ep-line);
    border-radius: 4px;
    padding: 26px 24px 22px;
    box-shadow: 0 2px 10px rgba(17,17,17,.04);
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-reason-num {
    font-family: var(--ep-font-serif);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .12em;
    color: var(--ep-gold);
    margin-bottom: 6px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-reason-icon {
    display: block;
    width: 64px;
    height: 64px;
    margin: 0 0 10px;
    object-fit: contain;
}

/* 本文中の画像(バンド/AI査定) */
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-media-figure {
    margin: 20px auto 24px;
    max-width: 860px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-media-image {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 6px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-reason-card .ep-reason-title {
    font-family: var(--ep-font-serif);
    font-size: 18px !important;
    font-weight: 600;
    color: var(--ep-charcoal) !important;
    border: none !important;
    padding: 0 0 10px !important;
    margin: 0 0 10px !important;
    border-bottom: 1px solid var(--ep-line) !important;
    line-height: 1.5 !important;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-reason-card p {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.85 !important;
    color: #444 !important;
}

/* お客様の声カード */
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-voice-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin: 12px auto;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-voice-card {
    margin: 0;
    background: #fafafa;
    border: 1px solid var(--ep-line);
    border-radius: 4px;
    padding: 22px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-voice-card .ep-voice-building {
    font-family: var(--ep-font-serif);
    font-size: 15px;
    font-weight: 600;
    color: var(--ep-charcoal);
    line-height: 1.6;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--ep-line);
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-voice-card .ep-voice-meta {
    font-size: 12.5px !important;
    color: #888 !important;
    margin: 0 !important;
    line-height: 1.6 !important;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-voice-card .ep-voice-text {
    position: relative;
    margin: 0;
    padding: 0 0 0 18px;
    border-left: 2px solid var(--ep-gold);
    font-size: 14px;
    line-height: 1.85;
    color: #444;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-voice-note {
    font-size: 12px !important;
    color: #999 !important;
    margin-top: 6px !important;
}

/* FAQ アコーディオン */
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-faq {
    margin: 12px auto;
    border-top: 1px solid var(--ep-line);
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-faq-item {
    /* typography.css の details{border:none!important} を打ち消して区切り線を復活 */
    border-bottom: 1px solid var(--ep-line) !important;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-faq-item > summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 18px 40px 18px 4px;
    position: relative;
    font-family: var(--ep-font-serif);
    font-size: 16px;
    font-weight: 600;
    color: var(--ep-charcoal);
    line-height: 1.6;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-faq-item > summary::-webkit-details-marker { display: none; }
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-faq-item > summary::before {
    content: "Q";
    flex: 0 0 auto;
    font-size: 15px;
    font-weight: 700;
    color: var(--ep-gold);
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-faq-item > summary::after {
    content: "";
    position: absolute;
    right: 8px;
    top: 24px;
    width: 11px;
    height: 11px;
    border-right: 2px solid var(--ep-gold);
    border-bottom: 2px solid var(--ep-gold);
    transform: rotate(45deg);
    transition: transform .2s ease;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-faq-item[open] > summary::after {
    transform: rotate(-135deg);
    top: 28px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-faq-item:not([open]) .ep-faq-a { display: none; }
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-faq-item[open] .ep-faq-a {
    display: flex;
    gap: 12px;
    padding: 0 4px 20px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-faq-a::before {
    content: "A";
    flex: 0 0 auto;
    font-family: var(--ep-font-serif);
    font-size: 15px;
    font-weight: 700;
    color: var(--ep-charcoal-light);
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-faq-a p {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.85 !important;
    color: #444 !important;
}

/* 電話導線 */
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-contact-inline {
    text-align: center;
    background: var(--ep-charcoal);
    color: #fff;
    border-radius: 6px;
    padding: 24px 20px;
    margin: 24px auto;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-contact-inline .ep-contact-lead {
    font-size: 14px;
    letter-spacing: .04em;
    color: var(--ep-gold-light, #d4b896);
    margin-bottom: 6px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-contact-inline .ep-contact-tel {
    display: inline-block;
    font-family: var(--ep-font-serif);
    font-size: 34px;
    font-weight: 700;
    letter-spacing: .02em;
    color: #fff !important;
    text-decoration: none;
    line-height: 1.2;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-contact-inline .ep-contact-hours {
    font-size: 13px;
    color: rgba(255,255,255,.75);
    margin-top: 6px;
}

/* 売却の姿勢（高く売る優先 / 一期一会） */
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-approach-lead {
    background: #fff;
    border: 1px solid var(--ep-line);
    border-top: 3px solid var(--ep-gold);
    border-radius: 4px;
    padding: 22px 26px;
    margin: 12px auto 22px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-approach-lead .ep-approach-motto {
    display: block;
    font-family: var(--ep-font-serif);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .04em;
    color: var(--ep-gold-deep, #7b592f);
    margin-bottom: 8px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-approach-lead p {
    margin: 0 !important;
    font-size: 15.5px !important;
    line-height: 1.95 !important;
    color: #444 !important;
}

/* 3つの売却パターン A/B/C */
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-pattern-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin: 12px auto 20px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-pattern-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--ep-line);
    border-radius: 4px;
    padding: 24px 22px 22px;
    box-shadow: 0 2px 10px rgba(17,17,17,.04);
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-pattern-card.is-recommended {
    border-color: var(--ep-gold);
    box-shadow: var(--ep-shadow-md);
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-pattern-card .ep-pattern-letter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 4px;
    background: var(--ep-ink);
    color: var(--ep-gold);
    font-family: var(--ep-font-serif);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0;
    margin-bottom: 12px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-pattern-card .ep-pattern-tag {
    position: absolute;
    top: 18px;
    right: 16px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .04em;
    color: var(--ep-gold-deep, #7b592f);
    border: 1px solid var(--ep-gold);
    border-radius: 4px;
    padding: 2px 8px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-pattern-card .ep-pattern-title {
    font-family: var(--ep-font-serif);
    font-size: 16px !important;
    font-weight: 600;
    color: var(--ep-charcoal) !important;
    border: none !important;
    padding: 0 0 10px !important;
    margin: 0 0 10px !important;
    border-bottom: 1px solid var(--ep-line) !important;
    line-height: 1.5 !important;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-pattern-card p {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.85 !important;
    color: #444 !important;
}

/* 手数料割引キャンペーン */
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-fee-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin: 14px auto 20px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-fee-step {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 6px;
    padding: 22px 16px 20px;
    background: #fff;
    border: 1px solid var(--ep-line);
    border-radius: 4px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-fee-step.is-max {
    background: var(--ep-ink);
    border-color: var(--ep-ink);
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-fee-step .ep-fee-term {
    font-family: var(--ep-font-serif);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .02em;
    color: var(--ep-charcoal);
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-fee-step.is-max .ep-fee-term { color: var(--ep-gold-light, #d4b896); }
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-fee-step .ep-fee-rate {
    font-family: var(--ep-font-serif);
    font-size: 28px;
    font-weight: 700;
    line-height: 1.1;
    color: var(--ep-gold-deep, #7b592f);
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-fee-step .ep-fee-rate span { font-size: 15px; margin-left: 2px; }
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-fee-step.is-normal .ep-fee-rate { font-size: 20px; color: var(--ep-charcoal); }
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-fee-step.is-max .ep-fee-rate { color: var(--ep-gold); }
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-fee-step .ep-fee-cap {
    font-size: 12px;
    line-height: 1.55;
    color: #777;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-fee-step.is-max .ep-fee-cap { color: rgba(255,255,255,.72); }
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-fee-step .ep-fee-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    color: var(--ep-ink);
    background: var(--ep-gold);
    border-radius: 4px;
    padding: 2px 8px;
    margin-bottom: 2px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-fee-body {
    background: #fff;
    border: 1px solid var(--ep-line);
    border-radius: 4px;
    padding: 20px 24px;
    margin: 0 auto 8px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-fee-body p {
    margin: 0 0 8px !important;
    font-size: 15px !important;
    line-height: 1.9 !important;
    color: #444 !important;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-fee-body p:last-child { margin-bottom: 0 !important; }
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-fee-body .ep-fee-strong { color: var(--ep-gold-deep, #7b592f); font-weight: 700; }
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-fee-notes {
    list-style: none !important;
    padding: 0 !important;
    margin: 10px auto 0 !important;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-fee-notes li {
    font-size: 12.5px !important;
    color: #888 !important;
    line-height: 1.7 !important;
    margin-bottom: 2px !important;
    padding-left: 0 !important;
}

/* モバイル追従CTA (PCでは非表示) */
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-sticky-cta { display: none; }

@media (max-width: 640px) {
    :is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-pattern-cards { grid-template-columns: 1fr; }
    :is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-fee-steps { grid-template-columns: 1fr; }
    :is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-feature-strip { grid-template-columns: repeat(2, 1fr); }
    :is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-reason-cards { grid-template-columns: 1fr; }
    :is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-voice-cards { grid-template-columns: 1fr; }
    :is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .entry-content h2,
    :is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .entry-content h2.wp-block-heading { font-size: 18px !important; padding: 14px 18px !important; }
    :is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-contact-inline .ep-contact-tel { font-size: 30px; }

    /* 追従CTAバー */
    :is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-sticky-cta {
        display: flex;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 900;
        gap: 8px;
        padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px));
        background: rgba(255,255,255,.96);
        box-shadow: 0 -2px 12px rgba(17,17,17,.12);
        backdrop-filter: blur(6px);
    }
    :is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-sticky-btn {
        flex: 1 1 0;
        text-align: center;
        text-decoration: none;
        font-family: var(--ep-font-serif);
        font-size: 15px;
        font-weight: 600;
        padding: 13px 8px;
        border-radius: 9999px;
        line-height: 1.3;
    }
    :is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-sticky-primary { background: var(--ep-charcoal); color: var(--ep-gold-light, #d4b896) !important; }
    :is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-sticky-secondary { background: #fff; color: var(--ep-charcoal) !important; border: 1px solid var(--ep-charcoal); }

    /* 追従バーに隠れないよう余白確保 */
    :is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .wp-site-blocks { padding-bottom: 72px; }
}

/* ==========================================================================
   サービスページ 追加UI（2026-08 賃貸管理ページ ブラッシュアップ）
   キャッチ / AIチェックリスト / 管理内容カード / 開始フロー / セクション背景 / 関連リンク
   スコープ: :is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908)
   ========================================================================== */

/* ヒーロー直後のキャッチ */
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-catch {
    margin: 6px auto 18px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-catch .ep-catch-lead {
    font-family: var(--ep-font-serif);
    font-size: 25px !important;
    font-weight: 700;
    line-height: 1.55 !important;
    letter-spacing: .02em;
    color: var(--ep-charcoal) !important;
    margin: 0 0 12px !important;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-catch .ep-catch-lead .ep-accent { color: var(--ep-gold); }
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-catch .ep-catch-tags {
    display: flex; flex-wrap: wrap; gap: 8px; margin: 0;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-catch .ep-catch-tags span {
    font-size: 13px; font-weight: 600; color: var(--ep-charcoal);
    border: 1px solid var(--ep-gold); border-radius: 9999px; padding: 4px 15px; background: #fff;
}

/* セクション背景パネル */
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-panel {
    border-radius: 8px; padding: 24px 24px 20px; margin: 14px auto 8px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-panel--grey { background: #f6f5f3; }
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-panel--brand { background: var(--ep-charcoal); }
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-panel--brand,
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-panel--brand p { color: #fff !important; }

/* AI分析チェックリスト */
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-ai-checks {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 24px; margin: 16px 0 6px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-ai-check {
    display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; color: #fff;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-ai-check::before {
    content: ""; flex: 0 0 auto; width: 20px; height: 20px; border-radius: 50%;
    background: var(--ep-gold); color: var(--ep-charcoal); font-size: 12px; font-weight: 900;
    display: inline-flex; align-items: center; justify-content: center;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-ai-check::before { content: "\2713"; }

/* 管理内容カード */
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-service-cards {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 4px 0;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-service-card {
    background: #fff; border: 1px solid var(--ep-line); border-radius: 6px; padding: 20px 18px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-service-card .ep-service-h {
    font-family: var(--ep-font-serif); font-size: 16px; font-weight: 700; color: var(--ep-charcoal);
    padding: 0 0 10px; margin: 0 0 12px; border-bottom: 1px solid var(--ep-line); letter-spacing: .04em;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-service-card ul { margin: 0; padding-left: 1.1em; }
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-service-card li { font-size: 14px !important; line-height: 1.75 !important; color: #444; margin-bottom: 6px; }

/* 管理開始フロー */
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-flow {
    display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 4px;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-flow-step {
    flex: 1 1 0; min-width: 120px; background: #fff; border: 1px solid var(--ep-line);
    border-top: 3px solid var(--ep-gold); border-radius: 6px; padding: 14px 12px; text-align: center;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-flow-step .ep-flow-n {
    display: block; font-family: var(--ep-font-serif); font-size: 12px; font-weight: 700; color: var(--ep-gold); letter-spacing: .1em;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-flow-step .ep-flow-t { font-size: 14px; font-weight: 700; color: var(--ep-charcoal); }
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-flow-step .ep-flow-d { font-size: 12px; color: #666; line-height: 1.6; margin-top: 4px; }

/* 関連リンク */
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-related {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 8px 0;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-related a {
    display: block; padding: 13px 16px; background: #fff; border: 1px solid var(--ep-line);
    border-left: 3px solid var(--ep-gold); text-decoration: none; color: var(--ep-charcoal);
    font-weight: 600; font-size: 14px; transition: background .15s ease;
}
:is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-related a:hover { background: #faf8f4; }

/* FAQ 常時展開でも見た目を保つ（open時のA表示は既存ルールで対応済） */

@media (max-width: 640px) {
    :is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-catch .ep-catch-lead { font-size: 20px !important; }
    :is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-ai-checks { grid-template-columns: 1fr; }
    :is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-service-cards { grid-template-columns: 1fr; }
    :is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-related { grid-template-columns: 1fr; }
    :is(.page-id-6607,.page-id-13270,.page-id-13271,.page-id-1991,.page-id-13286,.page-id-13287,.page-id-14882,.page-id-14891,.page-id-14892,.page-id-13499,.page-id-14897,.page-id-14898,.page-id-13500,.page-id-14902,.page-id-14903,.page-id-13501,.page-id-14907,.page-id-14908) .ep-flow-step { flex-basis: 100%; }
}

/* ==========================================================================
   Photo Gallery Refinement 2026-08 — 極小サムネの改善（建物/部屋）
   建物: 写真をcoverで大きく / 部屋: 間取り図をcontainで全体表示＋先頭を主役化
   ========================================================================== */
.ep-building-photos .ep-photo-thumbs,
.ep-room-photos .ep-photo-thumbs {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
    gap: 8px !important;
    margin-top: 12px !important;
}

.ep-building-photos .ep-photo-thumbs img,
.ep-room-photos .ep-photo-thumbs img {
    height: 118px !important;
    border-radius: var(--ep-radius, 4px) !important;
    border: 1px solid rgba(184, 154, 90, .18);
    box-shadow: var(--ep-shadow-sm, 0 1px 2px rgba(0,0,0,.06)) !important;
    background: #fbf9f5;
}
.ep-building-photos .ep-photo-thumbs a,
.ep-room-photos .ep-photo-thumbs a {
    display: block;
    overflow: hidden;
    border-radius: var(--ep-radius, 4px);
}
.ep-building-photos .ep-photo-thumbs img:hover,
.ep-room-photos .ep-photo-thumbs img:hover {
    box-shadow: var(--ep-shadow-md, 0 4px 12px rgba(0,0,0,.08)) !important;
    opacity: 1;
}

/* 建物: 外観・街並み写真はトリミングして大きく見せる */
.ep-building-photos .ep-photo-thumbs img {
    object-fit: cover !important;
}

/* 部屋: 間取り図が潰れないよう全体表示。先頭(通常=間取り図)を大きく主役化 */
.ep-room-photos .ep-photo-thumbs img {
    object-fit: contain !important;
}
.ep-room-photos .ep-photo-thumbs a:first-child {
    grid-column: span 2;
    grid-row: span 2;
}
.ep-room-photos .ep-photo-thumbs a:first-child img {
    height: 244px !important;
    background: #fff;
}

@media (max-width: 640px) {
    .ep-building-photos .ep-photo-thumbs,
    .ep-room-photos .ep-photo-thumbs {
        grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)) !important;
        gap: 6px !important;
    }
    .ep-building-photos .ep-photo-thumbs img,
    .ep-room-photos .ep-photo-thumbs img {
        height: 92px !important;
    }
    .ep-room-photos .ep-photo-thumbs a:first-child img {
        height: 190px !important;
    }
}

/* ==========================================================================
   目次(Quick Access) 2026-08 — 案1「タグ型」（コンパクト）
   薄グレー枠の小タグ・アイコンなし・左右余白最小・選択時のみゴールド。
   高さを従来の約半分に。建物/部屋共通(.ep-building-toc)
   ========================================================================== */
.ep-building-toc {
    display: flex !important;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 5px 10px !important;
    padding: 7px 10px !important;
    margin: 0 auto 14px !important;
    background: #fafafa !important;
    border: 1px solid rgba(0,0,0,.08) !important;
    border-bottom: 1px solid rgba(0,0,0,.08) !important;
    border-radius: var(--ep-radius, 4px) !important;
}
.ep-building-toc-title,
h3.ep-building-toc-title {
    display: inline-flex !important;
    align-items: center;
    flex: 0 0 auto;
    margin: 0 4px 0 0 !important;
    font-size: .68rem !important;
    font-weight: 600 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase;
    color: var(--ep-gold-deep, #7b592f) !important;
}
/* アイコンなし（タイトルのマーカーも撤去） */
.ep-building-toc-title::before {
    content: none !important;
}
.ep-building-toc-list {
    gap: 5px !important;
    flex: 1 1 auto;
}
.ep-building-toc-list a {
    display: inline-flex !important;
    align-items: center;
    padding: 3px 9px !important;
    background: #fff !important;
    border: 1px solid rgba(0,0,0,.14) !important;
    border-radius: var(--ep-radius, 4px) !important;
    font-size: .76rem !important;
    font-weight: 500 !important;
    color: var(--ep-charcoal, #2C383D) !important;
    line-height: 1.4 !important;
    transition: background-color .16s ease, color .16s ease, border-color .16s ease !important;
}
.ep-building-toc-list a:hover,
.ep-building-toc-list a:focus-visible {
    background: #f2ede3 !important;
    border-color: var(--ep-gold, #BC955C) !important;
    color: var(--ep-charcoal, #2C383D) !important;
    text-decoration: none !important;
}
/* 選択時（現在地）だけゴールド */
.ep-building-toc-list a.is-active,
.ep-building-toc-list a[aria-current="true"] {
    background: var(--ep-ink, #111) !important;
    border-color: var(--ep-gold, #BC955C) !important;
    color: var(--ep-gold, #BC955C) !important;
    font-weight: 600 !important;
}

@media (max-width: 640px) {
    .ep-building-toc {
        padding: 6px 8px !important;
        gap: 4px 7px !important;
    }
    .ep-building-toc-list {
        gap: 4px !important;
    }
    .ep-building-toc-list a {
        padding: 3px 8px !important;
        font-size: .74rem !important;
    }
}

/* ==========================================================================
   3D View Simulation (眺望シミュレーション / Map3DElement)
   ========================================================================== */
.ep-building-3dview-section {
    margin: 40px 0 0;
}
.ep-building-3dview-lead {
    margin: 0 0 14px;
    color: #55606a;
    font-size: 13px;
    line-height: 1.7;
}
.ep-building-3dview-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 14px 20px;
    margin: 0 0 14px;
    padding: 14px 16px;
    border: 1px solid rgba(188, 149, 92, .28);
    background: rgba(255, 255, 255, .86);
}
.ep-3dview-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.ep-3dview-cap {
    color: #7b592f;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
}
.ep-3dview-select {
    min-width: 96px;
    padding: 7px 10px;
    border: 1px solid var(--ep-ink, #111);
    border-radius: 4px;
    background: #fff;
    color: var(--ep-ink, #111);
    font-size: 14px;
    line-height: 1.2;
}
.ep-3dview-dir-btns {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
}
.ep-3dview-dir-btn {
    padding: 7px 10px;
    border: 1px solid var(--ep-ink, #111);
    border-radius: 4px;
    background: #fff;
    color: var(--ep-ink, #111);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: background .15s, color .15s;
}
.ep-3dview-dir-btn:hover {
    background: rgba(188, 149, 92, .12);
}
.ep-3dview-dir-btn.is-active {
    /* テーマの .is-active 系(!important)上書きに勝つため !important を付与 */
    background: var(--ep-ink, #111) !important;
    color: var(--ep-gold, #BC955C) !important;
    border-color: var(--ep-ink, #111) !important;
}
.ep-3dview-range {
    width: 160px;
    max-width: 100%;
    accent-color: var(--ep-gold, #BC955C);
}
.ep-3dview-hint {
    flex-basis: 100%;
    color: #7b592f;
    font-size: 11px;
    line-height: 1.5;
}
.ep-3dview-readout {
    margin-left: auto;
    align-self: center;
    color: var(--ep-ink, #111);
    font-size: 13px;
    font-weight: 600;
}
.ep-building-3d-map,
.ep-3dview-map3d {
    display: block;
    width: 100%;
    height: min(70vh, 560px);
    min-height: 360px;
    border: 1px solid rgba(17, 17, 17, .12);
    background: #eef1f4;
}
.ep-3dview-error,
.ep-building-3dview-note {
    margin: 10px 0 0;
    color: #65717b;
    font-size: 12px;
    line-height: 1.6;
}
.ep-3dview-error {
    padding: 24px 16px;
    text-align: center;
    color: #8a6d3b;
}
@media (max-width: 640px) {
    .ep-building-3dview-controls {
        gap: 12px 16px;
        padding: 12px;
    }
    .ep-3dview-readout {
        margin-left: 0;
        width: 100%;
    }
    .ep-3dview-dir-btns {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .ep-building-3d-map,
    .ep-3dview-map3d {
        height: 56vh;
        min-height: 300px;
    }
}

/* ==========================================================================
   3D View: カテゴリ絞り込みチップ & POIポップオーバー
   ========================================================================== */
.ep-3dview-cats { flex-basis: 100%; }
.ep-3dview-cat-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 4px;
}
.ep-3dview-cat-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 10px;
    border: 1px solid var(--chip, #8892a0);
    border-radius: 4px;
    background: #fff;
    color: #33404d;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: background .15s, opacity .15s;
}
.ep-3dview-cat-chip.is-on {
    background: var(--chip, #8892a0);
    color: #fff;
    border-color: var(--chip, #8892a0);
}
.ep-3dview-cat-chip:not(.is-on) {
    opacity: .55;
    text-decoration: line-through;
}
.ep-3dview-poi-card {
    max-width: 220px;
    font-size: 13px;
    line-height: 1.4;
}
.ep-3dview-poi-img {
    display: block;
    width: 100%;
    height: 120px;
    object-fit: cover;
    border-radius: 6px;
    margin-bottom: 6px;
}
.ep-3dview-poi-name {
    font-weight: 700;
    color: #22313a;
}
.ep-3dview-poi-genre {
    margin-top: 2px;
    font-size: 11px;
    color: #7b592f;
}

/* タワーマーカーのクリックで出る情報カード（サムネイル/名前/階建/築年月/詳細） */
.ep-3dview-tower-card {
    max-width: 230px;
    font-size: 13px;
    line-height: 1.45;
}
.ep-3dview-tower-img {
    display: block;
    width: 100%;
    height: 130px;
    object-fit: cover;
    border-radius: 6px;
    margin-bottom: 8px;
    background: #eee;
}
.ep-3dview-tower-name {
    font-weight: 700;
    color: #22313a;
    font-size: 14px;
}
.ep-3dview-tower-specs {
    margin-top: 3px;
    font-size: 12px;
    color: #555;
}
.ep-3dview-tower-btn {
    display: block;
    margin-top: 10px;
    padding: 8px 12px;
    text-align: center;
    background: var(--ep-ink, #111);
    color: var(--ep-gold, #BC955C);
    border: 1px solid var(--ep-gold, #BC955C);
    border-radius: 4px;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none;
    letter-spacing: .02em;
}
.ep-3dview-tower-btn:hover,
.ep-3dview-tower-btn:focus {
    background: var(--ep-gold, #BC955C);
    color: var(--ep-ink, #111);
}

/* ==========================================================================
   3D View: 中央詳細カード / 丸サムネ / 折り畳みトグル / 文字色改善
   ========================================================================== */
.ep-building-3d-map { position: relative; }
.ep-3dview-detail {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(17, 23, 30, .34);
    z-index: 30;
    padding: 16px;
}
.ep-3dview-detail-box {
    position: relative;
    width: 100%;
    max-width: 300px;
    max-height: calc(100% - 24px);
    overflow: auto;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 14px 44px rgba(0, 0, 0, .30);
    padding: 16px 14px 16px;
}
.ep-3dview-detail-close {
    position: absolute;
    top: 4px;
    right: 6px;
    width: 30px;
    height: 30px;
    border: 0;
    background: transparent;
    color: #55606a;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}
.ep-3dview-detail-close:hover { color: #14202b; }

/* 文字色を読みやすく(上書き) */
.ep-3dview-tower-card,
.ep-3dview-poi-card { color: #1a2530; }
.ep-3dview-tower-name,
.ep-3dview-poi-name {
    color: #14202b !important;
    font-weight: 700;
    font-size: 15px;
    line-height: 1.35;
    margin-top: 4px;
}
.ep-3dview-tower-specs,
.ep-3dview-poi-genre {
    color: #4a5560 !important;
    font-size: 12.5px;
    margin-top: 3px;
}

/* 折り畳みトグル(表示項目) */
.ep-3dview-cats { flex-basis: 100%; }
.ep-3dview-cats-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border: 1px solid var(--ep-ink, #111);
    border-radius: 4px;
    background: #fff;
    color: var(--ep-ink, #111);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}
.ep-3dview-cats-arrow { font-size: 10px; transition: transform .15s; }
.ep-3dview-cats.is-open .ep-3dview-cats-arrow { transform: rotate(180deg); }
.ep-3dview-cats .ep-3dview-cat-chips { margin-top: 8px; }

/* 3D View: デモ機能の注記(管理者のみ表示) */
.ep-3dview-demo-note {
    display: inline-block;
    margin: 0 0 10px;
    padding: 4px 12px;
    border: 1px solid #d9a441;
    border-radius: 4px;
    background: #fbf3e0;
    color: #8a5a00;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
}

/* ==========================================================================
   共有エリア（建物/部屋ページ最下部・折りたたみ）
   旧サイトの「短縮URL＋QRコード」を引き継ぎ、コピーボタンとSNS共有を追加したもの。
   ボタンは DESIGN_RULES §17.4（Primary=ink地×gold文字×金枠×4px / Secondary=透明地）に準拠。
   罠: typography.css のグローバル指定を打ち消す必要がある
       - summary{padding:0!important;background:transparent!important}
       - summary::before{content:"\25B6";color:#fff}（白地に白三角で見えない）
       - details[open] summary{border-bottom:2px solid var(--epsc-accent)}
       - details>*:not(summary){padding:0 1rem}
   ========================================================================== */
.ep-share {
    margin: 34px 0 8px;
}
/* テーマ側が border-box を全体に当てていないため、flex-basis 計算がずれる
   （calc(50% - 4px) 指定のSNSボタンが1行1個になっていた）。この区画内で明示する。 */
.ep-share,
.ep-share *,
.ep-share *::before,
.ep-share *::after {
    box-sizing: border-box;
}
.ep-share .ep-share-details {
    margin: 0 !important;
    background: #fff;
    border: 1px solid var(--ep-line) !important;
    border-radius: var(--ep-radius) !important;
    overflow: hidden;
}
.ep-share .ep-share-summary {
    display: flex !important;
    align-items: center;
    gap: 12px;
    padding: 13px 16px !important;
    background: var(--ep-fill) !important;
    border: none !important;
    cursor: pointer;
    list-style: none !important;
}
.ep-share .ep-share-summary::before,
.ep-share .ep-share-summary::marker,
.ep-share .ep-share-summary::-webkit-details-marker {
    content: "" !important;
    display: none !important;
}
.ep-share .ep-share-summary:hover {
    background: var(--ep-fill-hover) !important;
}
.ep-share .ep-share-details[open] > .ep-share-summary {
    border-bottom: 1px solid var(--ep-line) !important;
}
.ep-share .ep-share-summary-label {
    font-family: var(--ep-font-serif);
    font-size: 15px;
    font-weight: 600;
    color: var(--ep-charcoal);
    letter-spacing: .04em;
}
.ep-share .ep-share-summary-note {
    font-size: 11px;
    color: var(--ep-gray-muted);
    letter-spacing: .08em;
}
/* 開閉マーク（＋／−） */
.ep-share .ep-share-summary-mark {
    position: relative;
    flex: 0 0 auto;
    width: 14px;
    height: 14px;
    margin-left: auto;
}
.ep-share .ep-share-summary-mark::before,
.ep-share .ep-share-summary-mark::after {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    width: 14px;
    height: 2px;
    background: var(--ep-gold-deep, #7b592f);
    transition: transform .2s ease;
}
.ep-share .ep-share-summary-mark::after {
    transform: rotate(90deg);
}
.ep-share .ep-share-details[open] .ep-share-summary-mark::after {
    transform: rotate(0deg);
}

.ep-share .ep-share-body {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 22px;
    padding: 18px 16px !important;
}
.ep-share .ep-share-qr {
    flex: 0 0 auto;
    width: 140px;
    text-align: center;
}
/* SVGは intrinsic サイズ（モジュール数×4px）のまま等倍で置く。
   縮小すると shape-rendering:crispEdges でモジュール幅が不揃いになり読み取り精度が落ちる。 */
.ep-share .ep-share-qr svg {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    border: 1px solid var(--ep-line);
    border-radius: 2px;
}
.ep-share .ep-share-qr-note {
    margin: 8px 0 0 !important;
    font-size: 11px;
    line-height: 1.6;
    color: var(--ep-gray-muted);
    text-align: left;
}
.ep-share .ep-share-main {
    flex: 1 1 320px;
    min-width: 0;
}
.ep-share .ep-share-url-label {
    display: block;
    margin-bottom: 6px;
    font-size: 11px;
    letter-spacing: .12em;
    color: var(--ep-gray-muted);
}
.ep-share .ep-share-url-row {
    display: flex;
    gap: 8px;
    align-items: stretch;
}
.ep-share .ep-share-url-input {
    flex: 1 1 auto;
    min-width: 0;
    padding: 10px 12px;
    background: #fff;
    border: 1px solid var(--ep-line);
    border-radius: var(--ep-radius);
    color: var(--ep-gray);
    font-size: 14px;
    line-height: 1.4;
}
.ep-share .ep-share-copy {
    flex: 0 0 auto;
    padding: 10px 20px;
    background: var(--ep-ink);
    color: var(--ep-gold) !important;
    border: 1px solid var(--ep-gold);
    border-radius: var(--ep-radius);
    font-size: 14px;
    letter-spacing: .04em;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}
.ep-share .ep-share-copy:hover {
    background: var(--ep-charcoal);
    color: var(--ep-gold-light) !important;
}
.ep-share .ep-share-copy.is-copied {
    background: var(--ep-charcoal);
    color: var(--ep-gold-light) !important;
}

.ep-share .ep-share-sns {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}
.ep-share .ep-share-btn {
    display: inline-block;
    padding: 9px 16px;
    background: transparent;
    border: 1px solid var(--ep-gold);
    border-radius: var(--ep-radius);
    color: var(--ep-gold-deep, #7b592f) !important;
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: .04em;
    text-decoration: none !important;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}
.ep-share .ep-share-btn:hover {
    background: var(--ep-ink);
    color: var(--ep-gold) !important;
}
.ep-share .ep-share-btn[hidden] {
    display: none !important;
}

@media (max-width: 640px) {
    .ep-share {
        margin: 26px 0 8px;
    }
    .ep-share .ep-share-summary {
        flex-wrap: wrap;
        gap: 4px 10px;
        padding: 12px 14px !important;
    }
    .ep-share .ep-share-summary-mark {
        order: 2;
    }
    .ep-share .ep-share-summary-note {
        order: 3;
        flex: 1 0 100%;
    }
    .ep-share .ep-share-body {
        gap: 18px;
        padding: 16px 14px !important;
    }
    .ep-share .ep-share-qr {
        width: 100%;
        display: flex;
        align-items: center;
        gap: 14px;
        text-align: left;
    }
    .ep-share .ep-share-qr svg {
        margin: 0;
        flex: 0 0 auto;
    }
    .ep-share .ep-share-qr-note {
        margin: 0 !important;
    }
    .ep-share .ep-share-main {
        flex: 1 1 100%;
    }
    /* 狭幅では入力欄とボタンを1行に並べるとURLが途中で切れるので縦積みにする */
    .ep-share .ep-share-url-row {
        flex-wrap: wrap;
    }
    .ep-share .ep-share-url-input {
        flex: 1 1 100%;
        font-size: 13px;
    }
    .ep-share .ep-share-copy {
        flex: 1 1 100%;
    }
    .ep-share .ep-share-btn {
        flex: 1 1 calc(50% - 4px);
        text-align: center;
    }
}

/* 3D View(部屋固定): 左右制限を外すトグル */
.ep-3dview-freerotate {
    flex-direction: row !important;
    align-items: center;
    gap: 7px;
    cursor: pointer;
}
.ep-3dview-freerotate .ep-3dview-free-check {
    width: 16px;
    height: 16px;
    accent-color: var(--ep-gold, #BC955C);
    cursor: pointer;
}
.ep-3dview-freerotate .ep-3dview-cap {
    cursor: pointer;
}

/* ==========================================================================
   価格・賃料相場 → 住戸一覧へのジャンプボタン
   DESIGN_RULES §17.4 Primary（ink地 × gold文字 × 1px gold枠 × radius 4px）準拠。
   テーマの `a { color: var(--epsc-accent) }` に負けるため色は !important。
   ========================================================================== */
.ep-room-market .ep-market-jump {
    /* flex = ブロックレベル。td 内の相場テキストの直後で必ず改行させるため
       inline-flex にはしない（inline だと平均価格の行に食い込む）。 */
    display: flex;
    width: fit-content;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
    padding: 11px 22px;
    background: var(--ep-ink, #111) !important;
    color: var(--ep-gold, #BC955C) !important;
    border: 1px solid var(--ep-gold, #BC955C);
    border-radius: 4px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .04em;
    text-decoration: none !important;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.ep-room-market .ep-market-jump:hover,
.ep-room-market .ep-market-jump:focus-visible {
    background: var(--ep-gold, #BC955C) !important;
    color: #fff !important;
    border-color: var(--ep-gold, #BC955C);
}
.ep-room-market .ep-market-jump:focus-visible {
    outline: 2px solid var(--ep-gold, #BC955C);
    outline-offset: 2px;
}
.ep-room-market .ep-market-jump-label::after {
    content: ' ›';
    font-weight: 400;
}
.ep-room-market .ep-market-jump-count {
    padding: 2px 8px;
    border: 1px solid currentColor;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .02em;
    white-space: nowrap;
}

@media (max-width: 767px) {
    .ep-room-market .ep-market-jump {
        display: flex;
        width: 100%;
        justify-content: center;
        padding: 12px 16px;
        font-size: 14px;
    }
}
