/**
 * チンタイババヌキ — 公開画面（固定ページ・フロント・エリアハブ）
 * 清潔感のある不動産データサイト向け UI
 */

/* ---- Design tokens ---- */
:root {
  --fudo-font: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", "Meiryo", sans-serif;
  --fudo-navy: #1a3352;
  --fudo-navy-soft: #2c4a6e;
  --fudo-accent: #2d7a8a;
  --fudo-accent-hover: #256878;
  --fudo-accent-muted: #e8f3f5;
  --fudo-surface: #ffffff;
  --fudo-bg: #f4f6f9;
  --fudo-bg-hero: linear-gradient(145deg, #1a3352 0%, #2d5a7b 48%, #2d7a8a 100%);
  --fudo-border: #e2e8f0;
  --fudo-border-strong: #cbd5e1;
  --fudo-text: #1e293b;
  --fudo-text-muted: #64748b;
  --fudo-radius: 12px;
  --fudo-radius-sm: 8px;
  --fudo-shadow: 0 1px 3px rgba(26, 51, 82, 0.06), 0 8px 24px rgba(26, 51, 82, 0.06);
  --fudo-shadow-hover: 0 4px 12px rgba(26, 51, 82, 0.1), 0 12px 32px rgba(26, 51, 82, 0.08);
  --fudo-content-max: 960px;
  --fudo-home-max: 1200px;
  --fudo-sidebar-width: 300px;
  --fudo-section-gap: 2.75rem;
  --fudo-logo-height: 68px;
  --fudo-logo-height-mobile: 56px;
}

/* ---- サイトロゴ（Cocoon ヘッダー） ---- */
.logo-header.logo-image .site-logo-image,
.logo-header.logo-image .header-site-logo-image,
.logo-header .fudousan-site-logo,
.custom-logo.fudousan-site-logo {
  display: block;
  max-height: var(--fudo-logo-height, 68px);
  width: auto;
  height: auto;
  object-fit: contain;
}

.logo-header.logo-image .site-name-text-link {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

.logo-header.logo-image .site-name-text {
  display: inline-flex;
  align-items: center;
}

@media screen and (max-width: 480px) {
  .logo-header.logo-image .site-logo-image,
  .logo-header.logo-image .header-site-logo-image,
  .logo-header .fudousan-site-logo {
    max-height: var(--fudo-logo-height-mobile, 56px);
  }
}

/* ---- ヘッダー PC ナビ（Cocoon .menu-top.menu-header.menu-pc） ---- */
.menu-top.menu-header.menu-pc {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.15rem 0.35rem;
}

.menu-top.menu-header.menu-pc > .menu-item {
  margin: 0;
  padding: 0;
  list-style: none;
}

.menu-top.menu-header.menu-pc > .menu-item > a {
  display: block;
  padding: 0.55rem 0.7rem;
  text-decoration: none !important;
  border-radius: var(--fudo-radius-sm);
  transition: background 0.15s ease, color 0.15s ease;
}

.menu-top.menu-header.menu-pc .caption-wrap,
.menu-top.menu-header.menu-pc .item-label {
  display: block;
  margin: 0;
  padding: 0;
  line-height: 1.45;
}

.menu-top.menu-header.menu-pc .item-label {
  font-family: var(--fudo-font);
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--fudo-navy);
  -webkit-font-smoothing: antialiased;
}

.menu-top.menu-header.menu-pc > .menu-item > a:hover,
.menu-top.menu-header.menu-pc > .menu-item > a:focus-visible {
  background: var(--fudo-accent-muted);
}

.menu-top.menu-header.menu-pc > .menu-item > a:hover .item-label,
.menu-top.menu-header.menu-pc > .menu-item > a:focus-visible .item-label {
  color: var(--fudo-accent-hover);
}

.menu-top.menu-header.menu-pc > .menu-item.current-menu-item > a,
.menu-top.menu-header.menu-pc > .menu-item.current_page_item > a {
  background: var(--fudo-accent-muted);
}

.menu-top.menu-header.menu-pc > .menu-item.current-menu-item > a .item-label,
.menu-top.menu-header.menu-pc > .menu-item.current_page_item > a .item-label {
  color: var(--fudo-accent);
  font-weight: 700;
}

/* ヘッダーが暗色のとき（Cocoon 設定） */
.header-dark .menu-top.menu-header.menu-pc .item-label,
.navi-in.header-dark .menu-top.menu-header.menu-pc .item-label {
  color: #f1f5f9;
  text-shadow: 0 1px 2px rgba(15, 23, 42, 0.35);
}

.header-dark .menu-top.menu-header.menu-pc > .menu-item > a:hover .item-label,
.header-dark .menu-top.menu-header.menu-pc > .menu-item > a:focus-visible .item-label {
  color: #ffffff;
}

.header-dark .menu-top.menu-header.menu-pc > .menu-item > a:hover,
.header-dark .menu-top.menu-header.menu-pc > .menu-item > a:focus-visible {
  background: rgba(255, 255, 255, 0.12);
}

/* モバイルスライドインメニュー（同ラベル構造） */
.menu-mobile .item-label,
.navi-menu-content .item-label {
  font-family: var(--fudo-font);
  font-size: 1rem;
  font-weight: 600;
  color: var(--fudo-navy);
  line-height: 1.5;
}

.menu-mobile a,
.navi-menu-content a {
  text-decoration: none !important;
}

/* Cocoon: 記事フッターの著者（admin）表示を非表示 */
.footer-meta,
.article-footer .footer-meta,
.entry-footer .footer-meta {
  display: none !important;
}

/* ---- Page shell（固定ページ） ---- */
body.fudousan-one-column .main,
body.fudousan-home-sidebar-layout .main {
  background: var(--fudo-bg);
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}

/* 1カラム中央寄せ（トップ・県ページ以外） */
body.fudousan-one-column:not(.fudousan-home-sidebar-layout) .main {
  margin-left: auto !important;
  margin-right: auto !important;
}

body.fudousan-one-column:not(.fudousan-home-sidebar-layout) .main .content,
body.fudousan-one-column:not(.fudousan-home-sidebar-layout) #content {
  width: 100% !important;
  max-width: var(--fudo-content-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  box-sizing: border-box;
  float: none !important;
}

/* トップ・エリア県ページ: 左メイン + 右サイドバー */
body.fudousan-home-sidebar-layout .main .content,
body.fudousan-home-sidebar-layout #content {
  width: 100% !important;
  max-width: var(--fudo-home-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 1.25rem 1.5rem 2rem;
  box-sizing: border-box;
  float: none !important;
}

body.fudousan-one-column .entry-content,
body.fudousan-home-sidebar-layout .entry-content {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  font-family: var(--fudo-font);
  color: var(--fudo-text);
  line-height: 1.75;
  font-size: 1rem;
  overflow-x: clip;
  box-sizing: border-box;
}

.fudousan-page {
  padding-bottom: 2rem;
  max-width: 100%;
}

/* ---- トップ / 県ページ 2カラム ---- */
.fudousan-home-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, var(--fudo-sidebar-width));
  gap: 1.75rem 2rem;
  align-items: start;
  width: 100%;
}

.fudousan-home-main {
  min-width: 0;
}

.fudousan-home-sidebar {
  min-width: 0;
}

.fudousan-home-sidebar__inner {
  position: sticky;
  top: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.fudousan-sidebar-reviews {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.fudousan-sidebar-review__link {
  display: block;
  padding: 0.75rem 0.85rem;
  background: var(--fudo-bg);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius-sm);
  text-decoration: none !important;
  color: inherit;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
}

.fudousan-sidebar-review__link:hover {
  border-color: var(--fudo-accent);
  box-shadow: var(--fudo-shadow);
  transform: translateY(-1px);
}

.fudousan-sidebar-review__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.fudousan-sidebar-review__cat {
  display: inline-block;
  padding: 0.15em 0.55em;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--fudo-accent);
  background: var(--fudo-accent-muted);
  border-radius: 999px;
  white-space: nowrap;
}

.fudousan-sidebar-review__stars {
  display: inline-flex;
  gap: 0.08rem;
  line-height: 1;
  font-size: 0.78rem;
  color: #cbd5e1;
  flex-shrink: 0;
}

.fudousan-sidebar-review__stars .is-on {
  color: #eab308;
}

.fudousan-sidebar-review__text {
  margin: 0 0 0.4rem;
  font-size: 0.86rem;
  line-height: 1.45;
  color: var(--fudo-text);
}

.fudousan-sidebar-review__building {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--fudo-text-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fudousan-sidebar-panel {
  padding: 1.1rem 1.15rem;
  background: var(--fudo-surface);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius-sm);
  box-shadow: var(--fudo-shadow);
}

.fudousan-sidebar-panel__title {
  margin: 0 0 0.65rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--fudo-navy);
  border: none;
  padding: 0;
}

.fudousan-sidebar-panel__current {
  margin: 0 0 0.75rem;
  font-size: 1.1rem;
  color: var(--fudo-navy);
}

.fudousan-pref-picker__label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--fudo-text-muted);
}

.fudousan-pref-picker__select {
  width: 100%;
  margin-bottom: 0.75rem;
  padding: 0.55em 0.65em;
  font-size: 0.9rem;
  font-family: var(--fudo-font);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius-sm);
  background: var(--fudo-surface);
  color: var(--fudo-text);
}

.fudousan-sidebar-panel__actions {
  margin: 0;
}

.fudousan-sidebar-panel__actions .fudousan-btn {
  display: block;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
}

.fudousan-sidebar-panel__more {
  margin: 0.65rem 0 0;
  font-size: 0.85rem;
}

.fudousan-sidebar-panel__more a {
  color: var(--fudo-accent);
}

.fudousan-sidebar-links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.fudousan-sidebar-links li {
  border-bottom: 1px solid var(--fudo-border);
}

.fudousan-sidebar-links li:last-child {
  border-bottom: none;
}

.fudousan-sidebar-links a {
  display: block;
  padding: 0.65em 0;
  text-decoration: none;
  color: inherit;
}

.fudousan-sidebar-links a:hover .fudousan-sidebar-links__label {
  color: var(--fudo-accent);
}

.fudousan-sidebar-links__label {
  display: block;
  font-weight: 600;
  font-size: 0.88rem;
  color: var(--fudo-navy);
  line-height: 1.4;
}

.fudousan-sidebar-links__meta {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.78rem;
  color: var(--fudo-text-muted);
}

/* サイドバー: このエリアの建物（3列カード） */
.fudousan-sidebar-buildings-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0;
}

.fudousan-sidebar-building-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 3.5rem;
  padding: 0.5rem 0.4rem;
  text-decoration: none;
  color: inherit;
  background: var(--fudo-bg);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius-sm);
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.12s;
  box-sizing: border-box;
}

.fudousan-sidebar-building-card:hover {
  border-color: var(--fudo-accent);
  box-shadow: 0 2px 8px rgba(45, 122, 138, 0.12);
  transform: translateY(-1px);
}

.fudousan-sidebar-building-card__name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0 0 0.35rem;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--fudo-navy);
  word-break: break-word;
}

.fudousan-sidebar-building-card__days {
  display: block;
  margin-top: auto;
  font-size: 0.62rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--fudo-accent);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fudousan-sidebar-panel--buildings .fudousan-empty {
  margin: 0;
  font-size: 0.85rem;
}

.fudousan-sidebar-panel--buildings .fudousan-sidebar-panel__more {
  margin-top: 0.75rem;
}

.fudousan-sidebar-panel__actions--below-buildings {
  margin-top: 0.5rem;
  margin-bottom: 0;
}

.fudousan-sidebar-panel__actions--below-buildings .fudousan-btn {
  display: block;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
}

/* サイドバー内の週次リストをコンパクトに */
.fudousan-home-sidebar .fudousan-weekly-list {
  margin: 0;
}

.fudousan-home-sidebar .fudousan-weekly-list__items {
  gap: 0.5rem;
}

.fudousan-home-sidebar .fudousan-report-card {
  padding: 0.7em 0.9em;
  border: none;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}

.fudousan-home-sidebar .fudousan-report-card__title {
  font-size: 0.82rem;
  flex: 1 1 100%;
}

.fudousan-home-sidebar .fudousan-report-card__date {
  font-size: 0.75rem;
}

.fudousan-home-sidebar .fudousan-weekly-list__items {
  list-style: none;
  margin: 0;
  padding: 0;
}

.fudousan-home-sidebar .fudousan-weekly-list__item {
  position: relative;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid var(--fudo-border);
}

.fudousan-home-sidebar .fudousan-weekly-list__item:last-child {
  border-bottom: none;
}

.fudousan-home-sidebar .fudousan-weekly-list__item::before,
.fudousan-home-sidebar .fudousan-weekly-list__item::after {
  content: none !important;
  display: none !important;
}

.fudousan-home-sidebar .fudousan-report-card:hover {
  border-color: transparent;
  box-shadow: none;
  background: transparent;
}

/* トップ: Cocoon 自動目次はヒーローと重なるため非表示 */
body.fudousan-page-top .entry-content .toc,
body.fudousan-page-top .entry-content #toc,
body.fudousan-page-top .p-toc-container {
  display: none !important;
}

/* トップ: ヒーローと重複する Cocoon の記事タイトル行を隠す */
body.fudousan-page-top .article-header,
body.fudousan-page-top .entry-header,
body.fudousan-front-page .article-header,
body.fudousan-front-page .entry-header {
  display: none !important;
}

/* ---- Typography（ブロックエディタ互換） ---- */
.fudousan-page .wp-block-heading,
.fudousan-page h2,
.fudousan-section__title {
  font-family: var(--fudo-font);
  color: var(--fudo-navy);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.35;
  margin-top: 0;
  margin-bottom: 1rem;
}

.fudousan-page h2,
.fudousan-section__title {
  font-size: 1.35rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--fudo-accent-muted);
}

.fudousan-page h1.wp-block-heading {
  font-size: clamp(1.5rem, 4vw, 2rem);
}

.fudousan-page p {
  color: var(--fudo-text);
  margin-top: 0;
  margin-bottom: 1rem;
}

.fudousan-page p.lead {
  font-size: 1.05rem;
  color: var(--fudo-text-muted);
}

/* ---- Hero（トップ） ---- */
.fudousan-hero {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 0 0 2.5rem;
  padding: 2.75rem 1.35rem 2.5rem;
  background: var(--fudo-bg-hero);
  color: #f8fafc;
  border-radius: var(--fudo-radius);
  box-shadow: var(--fudo-shadow);
}

/* .fudousan-page p より詳細度を上げ、暗いグラデ上で文字が消えないようにする */
.fudousan-page .fudousan-hero,
.fudousan-page .fudousan-hero p {
  color: #f1f5f9;
}

@media (min-width: 768px) {
  .fudousan-hero {
    padding: 3rem 2rem 2.75rem;
  }
}

.fudousan-hero .wp-block-buttons,
.fudousan-hero__actions {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.fudousan-page .fudousan-hero .fudousan-hero__eyebrow {
  display: inline-block;
  margin: 0 0 0.75rem;
  padding: 0.35em 0.85em;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: #e2e8f0;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 999px;
}

.fudousan-page .fudousan-hero h1,
.fudousan-page .fudousan-hero .fudousan-hero__title {
  margin: 0 0 1rem;
  font-size: clamp(1.65rem, 4.5vw, 2.25rem);
  font-weight: 700;
  line-height: 1.35;
  color: #ffffff;
  border: none;
  padding: 0;
  text-shadow: 0 1px 2px rgba(15, 23, 42, 0.25);
}

.fudousan-page .fudousan-hero .fudousan-hero__lead {
  margin: 0 0 1.5rem;
  max-width: 40em;
  font-size: clamp(1rem, 2.2vw, 1.125rem);
  color: #f1f5f9;
  line-height: 1.8;
}

.fudousan-page .fudousan-hero .fudousan-hero__lead strong {
  color: #ffffff;
  font-weight: 700;
}

.fudousan-page .fudousan-hero .fudousan-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 1.75rem;
  padding: 0;
  list-style: none;
}

.fudousan-page .fudousan-hero .fudousan-hero__badges li {
  padding: 0.45em 0.95em;
  font-size: 0.85rem;
  font-weight: 600;
  color: #ffffff;
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 999px;
}

/* ---- Page intro（県・エリア・about） ---- */
.fudousan-page-intro {
  margin-bottom: var(--fudo-section-gap);
  padding: 1.5rem 1.35rem;
  background: var(--fudo-surface);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius);
  box-shadow: var(--fudo-shadow);
}

.fudousan-page-intro__title {
  margin: 0 0 0.5rem;
  font-size: 1.5rem;
  color: var(--fudo-navy);
  border: none;
  padding: 0;
}

.fudousan-page-intro p {
  margin: 0;
  color: var(--fudo-text-muted);
}

/* ---- Sections ---- */
.fudousan-section {
  margin-bottom: var(--fudo-section-gap);
}

.fudousan-section--card {
  padding: 1.5rem 1.35rem;
  background: var(--fudo-surface);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius);
  box-shadow: var(--fudo-shadow);
}

/* ---- Buttons（Gutenberg + カスタム） ---- */
.fudousan-page .wp-block-buttons,
.fudousan-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 0 0 1rem;
}

.fudousan-page .wp-block-button__link,
.fudousan-page .wp-element-button,
.fudousan-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75em 1.35em !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  border-radius: var(--fudo-radius-sm) !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s, transform 0.15s;
}

.fudousan-page .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.fudousan-btn--primary {
  background: var(--fudo-accent) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(45, 122, 138, 0.35);
}

.fudousan-page .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.fudousan-btn--primary:hover {
  background: var(--fudo-accent-hover) !important;
  transform: translateY(-1px);
}

.fudousan-btn--outline {
  background: transparent !important;
  color: #fff !important;
  border: 2px solid rgba(255, 255, 255, 0.65) !important;
}

/* ヒーロー内ボタン（.fudousan-page の通常ボタン色より後に定義） */
.fudousan-page .fudousan-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: #ffffff !important;
  color: var(--fudo-navy) !important;
  border: none !important;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.2) !important;
}

.fudousan-page .fudousan-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background: #f1f5f9 !important;
  color: var(--fudo-navy) !important;
}

.fudousan-page .fudousan-hero .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: #ffffff !important;
  border: 2px solid rgba(255, 255, 255, 0.75) !important;
}

.fudousan-page .fudousan-hero .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
}

.fudousan-page .wp-block-button.is-style-outline .wp-block-button__link {
  color: var(--fudo-accent) !important;
  border-color: var(--fudo-accent) !important;
  background: var(--fudo-surface) !important;
}

.fudousan-page .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--fudo-accent-muted) !important;
}

/* ---- 免責 ---- */
.fudousan-disclaimer {
  margin: 2em 0 0;
  padding: 1.15em 1.35em;
  border: 1px solid var(--fudo-border);
  border-left: 4px solid var(--fudo-accent);
  border-radius: var(--fudo-radius-sm);
  background: var(--fudo-accent-muted);
  font-size: 0.9em;
  line-height: 1.65;
}

.fudousan-disclaimer__title {
  margin: 0 0 0.5em;
  font-weight: 700;
  font-size: 0.95em;
  color: var(--fudo-navy);
}

.fudousan-disclaimer__list {
  margin: 0;
  padding-left: 1.15em;
  color: var(--fudo-text-muted);
}

/* ---- エリア一覧グリッド ---- */
.fudousan-area-grid {
  margin: 0;
}

.fudousan-area-grid__title,
.fudousan-section__title {
  font-size: 1.25rem;
}

.fudousan-area-grid__list {
  display: grid;
  gap: 0.85rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.fudousan-area-grid--cols-2 .fudousan-area-grid__list {
  grid-template-columns: repeat(2, 1fr);
}

.fudousan-area-grid--cols-3 .fudousan-area-grid__list {
  grid-template-columns: repeat(3, 1fr);
}

.fudousan-area-grid--cols-4 .fudousan-area-grid__list {
  grid-template-columns: repeat(4, 1fr);
}

.fudousan-area-grid__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1em 1.15em;
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius-sm);
  text-decoration: none;
  background: var(--fudo-surface);
  color: var(--fudo-navy);
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
}

.fudousan-area-grid__link::after {
  content: "";
  flex-shrink: 0;
  width: 0.45em;
  height: 0.45em;
  border-right: 2px solid var(--fudo-accent);
  border-top: 2px solid var(--fudo-accent);
  transform: rotate(45deg);
  opacity: 0.7;
}

.fudousan-area-grid__link:hover {
  border-color: var(--fudo-accent);
  box-shadow: var(--fudo-shadow-hover);
  transform: translateY(-2px);
}

.fudousan-area-grid__label {
  font-weight: 600;
  font-size: 0.95rem;
}

/* ---- 週次レポート一覧 ---- */
.fudousan-weekly-list {
  margin: 0;
}

.fudousan-weekly-list__title {
  margin-top: 0;
  font-size: 1.15rem;
  color: var(--fudo-navy);
  border: none;
  padding: 0;
}

.fudousan-weekly-list__items {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fudousan-weekly-list__item {
  margin: 0;
}

.fudousan-report-card {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  padding: 1em 1.15em;
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius-sm);
  background: var(--fudo-surface);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.fudousan-report-card:hover {
  border-color: var(--fudo-accent);
  box-shadow: var(--fudo-shadow);
}

.fudousan-report-card__title {
  flex: 1 1 12rem;
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--fudo-navy);
  line-height: 1.45;
}

.fudousan-report-card__date {
  flex-shrink: 0;
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--fudo-text-muted);
  padding: 0.25em 0.65em;
  background: var(--fudo-bg);
  border-radius: 999px;
}

/* ---- 建物メタ表 ---- */
.fudousan-meta-table {
  width: 100%;
  margin: 0 0 1.5em;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.95em;
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius-sm);
  overflow: hidden;
  box-shadow: var(--fudo-shadow);
}

.fudousan-meta-table th,
.fudousan-meta-table td {
  padding: 0.75em 1em;
  border-bottom: 1px solid var(--fudo-border);
  text-align: left;
  vertical-align: top;
}

.fudousan-meta-table tr:last-child th,
.fudousan-meta-table tr:last-child td {
  border-bottom: none;
}

.fudousan-meta-table th {
  width: 30%;
  background: var(--fudo-bg);
  font-weight: 600;
  color: var(--fudo-navy-soft);
}

/* ---- 週次記事・データ表（wp-block-table） ---- */
body[class*="fudousan"] .entry-content .wp-block-table,
body[class*="fudousan"] .fudousan-weekly-post .wp-block-table {
  margin: 1.25rem 0 1.75rem;
  padding: 0;
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius);
  background: var(--fudo-surface);
  box-shadow: var(--fudo-shadow);
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

body[class*="fudousan"] .entry-content .wp-block-table table,
body[class*="fudousan"] .fudousan-weekly-post .wp-block-table table {
  width: 100%;
  min-width: 36rem;
  margin: 0;
  border: 0;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.9rem;
  line-height: 1.45;
  color: var(--fudo-text);
  background: transparent;
}

body[class*="fudousan"] .entry-content .wp-block-table thead,
body[class*="fudousan"] .fudousan-weekly-post .wp-block-table thead {
  position: sticky;
  top: 0;
  z-index: 1;
}

body[class*="fudousan"] .entry-content .wp-block-table th,
body[class*="fudousan"] .fudousan-weekly-post .wp-block-table th {
  padding: 0.75rem 1rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: none;
  color: var(--fudo-navy);
  background: linear-gradient(180deg, #eef4f7 0%, var(--fudo-bg) 100%);
  border-bottom: 2px solid var(--fudo-border-strong);
  white-space: nowrap;
  text-align: left;
  vertical-align: middle;
}

body[class*="fudousan"] .entry-content .wp-block-table td,
body[class*="fudousan"] .fudousan-weekly-post .wp-block-table td {
  padding: 0.7rem 1rem;
  border-bottom: 1px solid var(--fudo-border);
  vertical-align: middle;
  background: var(--fudo-surface);
}

body[class*="fudousan"] .entry-content .wp-block-table tbody tr:last-child td,
body[class*="fudousan"] .fudousan-weekly-post .wp-block-table tbody tr:last-child td {
  border-bottom: none;
}

body[class*="fudousan"] .entry-content .wp-block-table tbody tr:nth-child(even) td,
body[class*="fudousan"] .fudousan-weekly-post .wp-block-table tbody tr:nth-child(even) td {
  background: #fafbfc;
}

body[class*="fudousan"] .entry-content .wp-block-table tbody tr:hover td,
body[class*="fudousan"] .fudousan-weekly-post .wp-block-table tbody tr:hover td {
  background: var(--fudo-accent-muted);
}

/* 列ごとの揃え（週次ランキング表: # / 建物 / 市区 / 継続 / 間取り / 賃料） */
body[class*="fudousan"] .entry-content .wp-block-table td:nth-child(1),
body[class*="fudousan"] .entry-content .wp-block-table th:nth-child(1),
body[class*="fudousan"] .fudousan-weekly-post .wp-block-table td:nth-child(1),
body[class*="fudousan"] .fudousan-weekly-post .wp-block-table th:nth-child(1) {
  width: 2.5rem;
  text-align: center;
  color: var(--fudo-text-muted);
  font-variant-numeric: tabular-nums;
}

body[class*="fudousan"] .entry-content .wp-block-table td:nth-child(2),
body[class*="fudousan"] .fudousan-weekly-post .wp-block-table td:nth-child(2) {
  font-weight: 600;
  color: var(--fudo-navy);
}

body[class*="fudousan"] .entry-content .wp-block-table td:nth-child(4),
body[class*="fudousan"] .entry-content .wp-block-table th:nth-child(4),
body[class*="fudousan"] .entry-content .wp-block-table td:nth-child(6),
body[class*="fudousan"] .entry-content .wp-block-table th:nth-child(6),
body[class*="fudousan"] .fudousan-weekly-post .wp-block-table td:nth-child(4),
body[class*="fudousan"] .fudousan-weekly-post .wp-block-table th:nth-child(4),
body[class*="fudousan"] .fudousan-weekly-post .wp-block-table td:nth-child(6),
body[class*="fudousan"] .fudousan-weekly-post .wp-block-table th:nth-child(6) {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

body[class*="fudousan"] .entry-content .wp-block-table td:nth-child(6),
body[class*="fudousan"] .fudousan-weekly-post .wp-block-table td:nth-child(6) {
  font-weight: 600;
  color: var(--fudo-navy-soft);
  white-space: nowrap;
}

@media screen and (max-width: 640px) {
  body[class*="fudousan"] .entry-content .wp-block-table table,
  body[class*="fudousan"] .fudousan-weekly-post .wp-block-table table {
    min-width: 32rem;
    font-size: 0.85rem;
  }

  body[class*="fudousan"] .entry-content .wp-block-table th,
  body[class*="fudousan"] .entry-content .wp-block-table td,
  body[class*="fudousan"] .fudousan-weekly-post .wp-block-table th,
  body[class*="fudousan"] .fudousan-weekly-post .wp-block-table td {
    padding: 0.6rem 0.75rem;
  }
}

/* ---- 週次レポート単一投稿 ---- */
body.fudousan-weekly-post.fudousan-home-sidebar-layout .main {
  background: var(--fudo-bg);
}

body.fudousan-weekly-post.fudousan-home-sidebar-layout .main .content,
body.fudousan-weekly-post.fudousan-home-sidebar-layout #content {
  max-width: var(--fudo-home-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  font-family: var(--fudo-font);
  box-sizing: border-box;
}

body.fudousan-weekly-post .article-header,
body.fudousan-weekly-post .entry-header {
  margin: 0 0 1.5rem;
  padding: 1.35rem 1.35rem 1.15rem;
  background: var(--fudo-surface);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius);
  box-shadow: var(--fudo-shadow);
}

body.fudousan-weekly-post .entry-title,
body.fudousan-weekly-post h1.entry-title {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--fudo-font) !important;
  font-size: clamp(1.2rem, 2.8vw, 1.6rem) !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  color: var(--fudo-navy) !important;
  border: none !important;
  letter-spacing: 0.01em;
}

body.fudousan-weekly-post .entry-meta,
body.fudousan-weekly-post .post-meta,
body.fudousan-weekly-post .article-footer .entry-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin: 0.85rem 0 0 !important;
  padding: 0 !important;
  font-size: 0.88rem;
  color: var(--fudo-text-muted);
  border: none !important;
}

body.fudousan-weekly-post .cat-label,
body.fudousan-weekly-post .entry-category,
body.fudousan-weekly-post .post-category a {
  display: inline-block !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  color: var(--fudo-accent) !important;
  background: var(--fudo-accent-muted) !important;
  border-radius: 999px !important;
  padding: 0.2em 0.65em !important;
  text-decoration: none !important;
}

body.fudousan-weekly-post .fudousan-weekly-single__main .entry-content,
body.fudousan-weekly-post .entry-content {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--fudo-text);
}

body.fudousan-weekly-post .entry-content > p:first-child {
  margin: 0 0 1.25rem;
  padding: 1rem 1.15rem;
  font-size: 0.98rem;
  color: var(--fudo-text-muted);
  background: var(--fudo-accent-muted);
  border-left: 4px solid var(--fudo-accent);
  border-radius: 0 var(--fudo-radius-sm) var(--fudo-radius-sm) 0;
}

body.fudousan-weekly-post .entry-content h2 {
  margin: 2rem 0 0.85rem;
  padding: 0 0 0.45rem;
  font-family: var(--fudo-font);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--fudo-navy);
  line-height: 1.35;
  border-bottom: 2px solid var(--fudo-accent-muted);
}

body.fudousan-weekly-post .entry-content h2:first-of-type {
  margin-top: 0.25rem;
}

body.fudousan-weekly-post .entry-content h2 + p {
  margin-top: 0;
  color: var(--fudo-text-muted);
  font-size: 0.92rem;
}

body.fudousan-weekly-post .entry-content ul {
  margin: 0 0 1.5rem;
  padding: 0;
  list-style: none;
}

body.fudousan-weekly-post .entry-content ul li {
  position: relative;
  margin: 0 0 0.55rem;
  padding: 0.55rem 0.85rem 0.55rem 1.35rem;
  background: var(--fudo-surface);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius-sm);
  line-height: 1.55;
}

body.fudousan-weekly-post .entry-content ul li::before {
  content: "";
  position: absolute;
  left: 0.55rem;
  top: 1.05em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--fudo-accent);
  transform: translateY(-50%);
}

body.fudousan-weekly-post .entry-content h2 + ul {
  margin-top: 0;
}

body.fudousan-weekly-post .entry-content a {
  color: var(--fudo-accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

body.fudousan-weekly-post .entry-content a:hover {
  color: var(--fudo-accent-hover);
}

/* 関連記事・コメント・目次・管理PVは週次記事では非表示 */
body.fudousan-weekly-post .entry-content .toc,
body.fudousan-weekly-post .entry-content #toc,
body.fudousan-weekly-post .p-toc-container,
body.fudousan-weekly-post .under-entry-content,
body.fudousan-weekly-post .related-posts,
body.fudousan-weekly-post .related-entries,
body.fudousan-weekly-post .related-entry-cards,
body.fudousan-weekly-post .widget-related,
body.fudousan-weekly-post .recommended,
body.fudousan-weekly-post .comments-area,
body.fudousan-weekly-post #comments,
body.fudousan-weekly-post #respond,
body.fudousan-weekly-post .comment-respond,
body.fudousan-weekly-post .admin-pv {
  display: none !important;
}

body.fudousan-weekly-post .pager-post-navi {
  margin-top: 2rem;
}

/* ---- 建物アーカイブ（/building/）カード一覧 ---- */
body.fudousan-building-archive.fudousan-home-sidebar-layout .main {
  background: var(--fudo-bg);
}

body.fudousan-building-archive.fudousan-home-sidebar-layout .main .content,
body.fudousan-building-archive.fudousan-home-sidebar-layout #content {
  max-width: var(--fudo-home-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  font-family: var(--fudo-font);
  box-sizing: border-box;
}

body.fudousan-building-archive .list-title-box,
body.fudousan-building-archive .archive-title-wrap,
body.fudousan-building-archive h1.list-title,
body.fudousan-building-archive #archive-title,
body.fudousan-building-archive h1.archive-title,
body.post-type-archive-building #archive-title,
body.post-type-archive-building h1.archive-title {
  display: none !important;
}

.fudousan-building-archive-header {
  margin-bottom: 1.25rem;
}

.fudousan-building-archive-header__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--fudo-accent);
}

.fudousan-building-archive-header__title {
  margin: 0 0 0.5rem;
  font-size: 1.45rem;
  font-weight: 800;
  color: var(--fudo-navy);
  line-height: 1.3;
}

.fudousan-building-archive-header__lead {
  margin: 0 0 0.65rem;
  font-size: 0.92rem;
  color: var(--fudo-text-muted);
  line-height: 1.6;
}

.fudousan-building-archive-header__nav {
  margin: 0;
  font-size: 0.85rem;
}

.fudousan-building-archive-header__nav a {
  color: var(--fudo-accent);
  text-decoration: none;
}

.fudousan-building-archive__toolbar {
  margin-bottom: 1rem;
  padding: 1rem 1.1rem;
  background: var(--fudo-surface);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius);
  box-shadow: var(--fudo-shadow);
}

.fudousan-building-archive__toolbar-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin-bottom: 0.75rem;
}

.fudousan-building-archive__eyebrow {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--fudo-accent);
}

.fudousan-building-archive__title {
  margin: 0.15rem 0 0;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--fudo-navy);
  line-height: 1.25;
}

.fudousan-building-archive__sort {
  margin: 0;
  font-size: 0.82rem;
  color: var(--fudo-text-muted);
}

.fudousan-building-search {
  position: relative;
  margin-bottom: 0.85rem;
}

.fudousan-building-search__label {
  display: block;
  margin: 0 0 0.35rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--fudo-text-muted);
}

.fudousan-building-search__field {
  position: relative;
  display: flex;
  align-items: center;
}

.fudousan-building-search__icon {
  position: absolute;
  left: 0.75rem;
  display: flex;
  color: var(--fudo-text-muted);
  pointer-events: none;
}

.fudousan-building-search__input {
  width: 100%;
  padding: 0.65rem 2.5rem 0.65rem 2.35rem;
  font-family: var(--fudo-font);
  font-size: 0.95rem;
  color: var(--fudo-navy);
  background: var(--fudo-surface);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius-sm);
  box-shadow: inset 0 1px 2px rgba(26, 51, 82, 0.04);
  box-sizing: border-box;
}

.fudousan-building-search__input:focus {
  outline: none;
  border-color: var(--fudo-accent);
  box-shadow: 0 0 0 3px rgba(0, 122, 204, 0.15);
}

.fudousan-building-search__clear {
  position: absolute;
  right: 0.45rem;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  font-size: 1.1rem;
  line-height: 1;
  color: var(--fudo-text-muted);
  background: transparent;
  border: none;
  border-radius: 50%;
  cursor: pointer;
}

.fudousan-building-search__clear:hover {
  color: var(--fudo-navy);
  background: var(--fudo-bg);
}

.fudousan-building-search__list {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 0.25rem);
  z-index: 50;
  margin: 0;
  padding: 0.35rem 0;
  list-style: none;
  max-height: 16rem;
  overflow-y: auto;
  background: var(--fudo-surface);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius-sm);
  box-shadow: var(--fudo-shadow);
}

.fudousan-building-search__item {
  margin: 0;
}

.fudousan-building-search__option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  padding: 0.55rem 0.85rem;
  font-family: var(--fudo-font);
  font-size: 0.9rem;
  text-align: left;
  color: var(--fudo-navy);
  background: transparent;
  border: none;
  cursor: pointer;
}

.fudousan-building-search__option:hover,
.fudousan-building-search__option.is-active {
  background: var(--fudo-bg);
}

.fudousan-building-search__option-count {
  flex-shrink: 0;
  font-size: 0.78rem;
  color: var(--fudo-text-muted);
}

.fudousan-building-search__hint {
  margin: 0.35rem 0 0;
  font-size: 0.75rem;
  color: var(--fudo-text-muted);
}

.fudousan-building-archive__filter-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin-top: 0.55rem;
}

.fudousan-building-archive__filter-row--muni {
  margin-top: 0.35rem;
}

.fudousan-building-archive__filter-label {
  flex: 0 0 auto;
  min-width: 3.2rem;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--fudo-navy-soft);
}

.fudousan-building-archive__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  flex: 1;
  min-width: 0;
}

.fudousan-chip--ghost {
  background: transparent;
  box-shadow: none;
}

.fudousan-building-archive__rent-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.55rem;
  margin-top: 0.5rem;
  width: 100%;
}

.fudousan-building-archive__rent-field input {
  width: 7.5rem;
  max-width: 42vw;
  padding: 0.4rem 0.55rem;
  font-size: 0.88rem;
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius-sm);
  background: #fff;
}

.fudousan-building-archive__rent-sep {
  color: var(--fudo-text-muted);
  font-size: 0.85rem;
}

.fudousan-building-archive__rent-submit {
  padding: 0.42rem 0.9rem;
  font-size: 0.82rem;
  font-weight: 700;
  color: #fff;
  background: var(--fudo-accent);
  border: none;
  border-radius: 999px;
  cursor: pointer;
}

.fudousan-building-archive__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.15rem;
  margin: 1.25rem 0 0;
  align-items: stretch;
}

.fudousan-building-archive-layout .fudousan-pref-picker {
  margin-bottom: 1.25rem;
}

.fudousan-zillow-card {
  margin: 0;
  border-radius: var(--fudo-radius-sm);
  background: var(--fudo-surface);
  border: 1px solid var(--fudo-border);
  box-shadow: var(--fudo-shadow);
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
}

.fudousan-zillow-card:hover {
  border-color: var(--fudo-accent);
  box-shadow: var(--fudo-shadow-hover);
  transform: translateY(-1px);
}

.fudousan-zillow-card__link {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 0;
  text-decoration: none !important;
  color: inherit;
}

.fudousan-zillow-card__media {
  background: linear-gradient(145deg, #e8f2f5 0%, #d4e4ec 100%);
  min-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fudousan-zillow-card__placeholder {
  color: var(--fudo-accent);
  opacity: 0.55;
}

.fudousan-zillow-card__body {
  padding: 0.85rem 1rem 0.9rem;
  min-width: 0;
}

.fudousan-zillow-card__rent {
  margin: 0 0 0.25rem;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--fudo-navy);
  line-height: 1.2;
}

.fudousan-zillow-card__title {
  margin: 0 0 0.35rem;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.45;
  color: var(--fudo-navy-soft);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.fudousan-zillow-card__location {
  margin: 0 0 0.5rem;
  font-size: 0.8rem;
  color: var(--fudo-text-muted);
}

.fudousan-zillow-card__stats {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.85rem;
  font-size: 0.78rem;
  color: var(--fudo-navy-soft);
}

.fudousan-zillow-card__stat-label {
  color: var(--fudo-text-muted);
  font-weight: 600;
  margin-right: 0.15rem;
}

.fudousan-building-archive__pagination {
  margin: 1.25rem 0 0;
  padding: 0;
}

.fudousan-building-archive__pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.2rem;
  min-height: 2.2rem;
  margin: 0.15rem;
  padding: 0 0.5rem;
  font-size: 0.85rem;
  font-weight: 700;
  border-radius: var(--fudo-radius-sm);
  border: 1px solid var(--fudo-border);
  background: #fff;
  text-decoration: none !important;
  color: var(--fudo-navy-soft);
}

.fudousan-building-archive__pagination .page-numbers.current {
  background: var(--fudo-accent);
  border-color: var(--fudo-accent);
  color: #fff;
}

.fudousan-building-archive__empty {
  grid-column: 1 / -1;
  padding: 2rem 1rem;
  text-align: center;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media screen and (max-width: 834px) {
  .fudousan-building-archive__cards {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 560px) {
  .fudousan-zillow-card__link {
    grid-template-columns: 88px minmax(0, 1fr);
  }

  .fudousan-zillow-card__rent {
    font-size: 1rem;
  }
}

/* 建物アーカイブ: Cocoon 標準の #list・NOT FOUND（独自カードのみ表示） */
body.fudousan-building-archive #list,
body.post-type-archive-building #list,
body.fudousan-building-archive .list.ect-entry-card,
body.fudousan-building-archive .list.entry-card,
body.fudousan-building-archive .list.e-card,
body.fudousan-building-archive .entries,
body.fudousan-building-archive .entry-cards,
body.fudousan-building-archive .entry-card-wrap,
body.fudousan-building-archive article.entry-card.e-card,
body.fudousan-building-archive .not-found,
body.fudousan-building-archive article.not-found,
body.fudousan-building-archive .archive-no-posts,
body.fudousan-building-archive .no-posts,
body.fudousan-building-archive .post-list-not-found,
body.fudousan-building-archive .list-not-found,
body.fudousan-building-archive .no-entry-card,
body.fudousan-building-archive .not-found-entry {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Cocoon: 「NOT FOUND」「投稿が見つかりませんでした」見出しブロック */
body.fudousan-building-archive .article-header + .not-found,
body.fudousan-building-archive .entry-content > .not-found,
body.fudousan-building-archive main .not-found,
body.fudousan-building-archive .list-title-box + .not-found {
  display: none !important;
}

body.fudousan-building-archive .fudousan-building-archive__cards,
body.fudousan-building-archive .fudousan-building-archive-header,
body.fudousan-building-archive .fudousan-building-archive__toolbar {
  display: block;
  visibility: visible;
}

body.fudousan-building-archive .pagination:not(.fudousan-building-archive__pagination),
body.fudousan-building-archive .pager-post-navi:not(.fudousan-building-archive__pagination),
body.fudousan-building-archive .pager-links,
body.fudousan-building-archive .pagination-next-link,
body.fudousan-building-archive a.nextpostslink,
body.fudousan-building-archive .nextpostslink,
body.fudousan-building-archive .pagination a[rel="next"]:not(.page-numbers),
body.post-type-archive-building .pagination-next-link,
body.post-type-archive-building .pager-links,
body.post-type-archive-building a.nextpostslink {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* 建物単体: Cocoon の「次のページ」・投稿ナビを非表示 */
body.fudousan-building-single .pagination,
body.fudousan-building-single .pager-links,
body.fudousan-building-single .pagination-next-link,
body.fudousan-building-single a.nextpostslink,
body.fudousan-building-single .nextpostslink,
body.fudousan-building-single .pagination a[rel="next"]:not(.page-numbers),
body.fudousan-building-single .pager-post-navi {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ---- 建物単一ページ ---- */
body.fudousan-building-single.fudousan-home-sidebar-layout .main {
  background: var(--fudo-bg);
}

body.fudousan-building-single.fudousan-home-sidebar-layout .main .content,
body.fudousan-building-single.fudousan-home-sidebar-layout #content {
  max-width: var(--fudo-home-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  font-family: var(--fudo-font);
  box-sizing: border-box;
}

body.fudousan-building-single .article-header .entry-title,
body.fudousan-building-single .entry-header h1.entry-title {
  display: none !important;
}

body.fudousan-building-single .article-header {
  margin-bottom: 0.75rem;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.fudousan-building-hero {
  margin: 0 0 1.5rem;
  padding: 1.5rem 1.35rem 1.35rem;
  background: var(--fudo-surface);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius);
  box-shadow: var(--fudo-shadow);
}

.fudousan-building-hero__eyebrow {
  margin: 0 0 0.4rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fudo-accent);
}

.fudousan-building-hero__title {
  margin: 0 0 0.35rem;
  font-family: var(--fudo-font);
  font-size: clamp(1.25rem, 3vw, 1.65rem);
  font-weight: 700;
  line-height: 1.35;
  color: var(--fudo-navy);
  border: none;
  padding: 0;
}

.fudousan-building-hero__location {
  margin: 0 0 1.15rem;
  font-size: 0.95rem;
  color: var(--fudo-text-muted);
}

.fudousan-building-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.fudousan-building-stat {
  padding: 0.85rem 0.9rem;
  background: var(--fudo-bg);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius-sm);
}

.fudousan-building-stat__label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--fudo-text-muted);
}

.fudousan-building-stat__value {
  display: block;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--fudo-navy);
  line-height: 1.35;
  word-break: break-word;
}

/* 建物単体: 掲載洞察（強みバンド・部屋表・タイムライン） */
.fudousan-building-insights {
  margin: 0 0 1.75rem;
}

.fudousan-building-strength {
  margin: 0 0 1.35rem;
  padding: 1.35rem 1.25rem 1.25rem;
  background: linear-gradient(135deg, var(--fudo-accent-muted) 0%, var(--fudo-surface) 55%);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius);
  box-shadow: var(--fudo-shadow);
}

.fudousan-building-strength__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--fudo-accent);
}

.fudousan-building-strength__title {
  margin: 0 0 0.5rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--fudo-navy);
  border: none;
  padding: 0;
}

.fudousan-building-strength__lead {
  margin: 0 0 1rem;
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--fudo-text-muted);
}

.fudousan-building-strength__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.65rem;
}

.fudousan-building-strength__card {
  padding: 0.85rem 0.75rem;
  background: var(--fudo-surface);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius-sm);
}

.fudousan-building-strength__card--highlight {
  border-color: var(--fudo-accent);
  background: var(--fudo-surface);
  box-shadow: 0 0 0 1px rgba(45, 122, 138, 0.15);
}

.fudousan-building-strength__card--warn {
  border-color: #d97706;
  background: #fffbeb;
}

.fudousan-building-strength__card--accent {
  border-color: var(--fudo-accent);
}

.fudousan-building-strength__label {
  display: block;
  margin-bottom: 0.3rem;
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--fudo-text-muted);
}

.fudousan-building-strength__value {
  display: block;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--fudo-navy);
  line-height: 1.3;
}

.fudousan-building-insights-section {
  margin: 0 0 1.35rem;
  padding: 1.15rem 1.1rem;
  background: var(--fudo-surface);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius);
}

.fudousan-building-insights-section__title {
  margin: 0 0 0.65rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--fudo-navy);
  border: none;
  padding: 0;
}

.fudousan-building-insights-section__note {
  margin: 0 0 0.75rem;
  font-size: 0.85rem;
  color: var(--fudo-text-muted);
}

.fudousan-building-rooms__wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.fudousan-building-rooms__table {
  width: 100%;
  min-width: 28rem;
  border-collapse: collapse;
  font-size: 0.88rem;
}

.fudousan-building-rooms__table th,
.fudousan-building-rooms__table td {
  padding: 0.55rem 0.65rem;
  text-align: left;
  border-bottom: 1px solid var(--fudo-border);
}

.fudousan-building-rooms__table th {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: var(--fudo-text-muted);
  background: var(--fudo-bg);
}

.fudousan-building-rooms__table tr.is-long-vacancy td {
  background: #fffbeb;
}

.fudousan-badge {
  display: inline-block;
  padding: 0.15rem 0.45rem;
  font-size: 0.72rem;
  font-weight: 600;
  border-radius: 999px;
}

.fudousan-badge--warn {
  color: #92400e;
  background: #fde68a;
}

.fudousan-building-timeline__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-left: 2px solid var(--fudo-border);
}

.fudousan-building-timeline__item {
  position: relative;
  margin: 0 0 0.85rem;
  padding: 0 0 0.85rem 1rem;
  border-bottom: 1px solid var(--fudo-border);
}

.fudousan-building-timeline__item:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.fudousan-building-timeline__item::before {
  content: "";
  position: absolute;
  left: -1.35rem;
  top: 0.35rem;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--fudo-border);
  border: 2px solid var(--fudo-surface);
}

.fudousan-building-timeline__item.is-revival::before {
  background: var(--fudo-accent);
}

.fudousan-building-timeline__item.is-price::before {
  background: #d97706;
}

.fudousan-building-timeline__date {
  display: block;
  margin-bottom: 0.2rem;
  font-size: 0.78rem;
  color: var(--fudo-text-muted);
}

.fudousan-building-timeline__label {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--fudo-navy);
}

.fudousan-building-timeline__detail {
  margin: 0.2rem 0 0;
  font-size: 0.88rem;
  color: var(--fudo-text-muted);
}

.fudousan-building-body {
  margin-bottom: 0.5rem;
  display: flow-root;
}

.fudousan-building-body > .fudousan-disclaimer {
  margin: 2rem 0 0;
  clear: both;
}

/* 免責の直後に口コミ（メイン列内） */
.fudousan-building-body > .fudousan-building-reviews,
.fudousan-building-body > #fudousan-building-reviews {
  margin-top: 1.5rem;
  clear: both;
  position: static;
  width: 100%;
  box-sizing: border-box;
}

/*
 * Cocoon「コメントを表示ボタン」ON 時の #respond { position:absolute; inset:0 }
 * が建物口コミ欄にも当たり、パンくず・フッターと重なる。ここで打ち消す。
 */
body.single-building #fudousan-building-reviews,
body.single-building #fudousan-building-reviews #respond,
body.single-building #fudousan-building-reviews .comment-respond,
body.single-building #fudousan-building-reviews .fudousan-review-form,
body.fudousan-building-single #fudousan-building-reviews,
body.fudousan-building-single #fudousan-building-reviews #respond,
body.fudousan-building-single #fudousan-building-reviews .comment-respond,
body.fudousan-building-single #fudousan-building-reviews .fudousan-review-form {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  float: none !important;
  width: auto !important;
  max-width: 100% !important;
  visibility: visible !important;
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

body.fudousan-building-single .fudousan-building-layout,
body.single-building .fudousan-building-layout {
  align-items: start;
}

body.fudousan-building-single .under-entry-content,
body.single-building .under-entry-content {
  position: static !important;
  clear: both !important;
  margin-top: 0 !important;
  min-height: 0 !important;
  height: auto !important;
}

body.fudousan-building-single #breadcrumb,
body.single-building #breadcrumb {
  position: static !important;
  clear: both !important;
  margin-top: 1rem !important;
  z-index: auto !important;
}

.fudousan-building-body .fudousan-building-lead,
.fudousan-building-single__main .fudousan-building-lead {
  margin: 0 0 1.25rem;
  padding: 1rem 1.1rem;
  font-size: 0.95rem;
  color: var(--fudo-text-muted);
  background: var(--fudo-accent-muted);
  border-left: 4px solid var(--fudo-accent);
  border-radius: 0 var(--fudo-radius-sm) var(--fudo-radius-sm) 0;
}

.fudousan-building-body .fudousan-section,
.fudousan-page--building .fudousan-section {
  margin-bottom: 1.35rem;
}

.fudousan-building-body h2,
.fudousan-page--building .fudousan-section__title {
  margin: 0 0 0.75rem;
  font-family: var(--fudo-font);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--fudo-navy);
  border-bottom: 2px solid var(--fudo-accent-muted);
  padding-bottom: 0.4rem;
}

.fudousan-building-links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.fudousan-building-links li {
  margin: 0 0 0.45rem;
}

.fudousan-building-links a {
  display: inline-flex;
  align-items: center;
  padding: 0.55rem 0.85rem;
  font-weight: 600;
  color: var(--fudo-accent);
  background: var(--fudo-surface);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius-sm);
  text-decoration: none;
  transition: border-color 0.2s, background 0.2s;
}

.fudousan-building-links a:hover {
  border-color: var(--fudo-accent);
  background: var(--fudo-accent-muted);
}

/* ---- 建物単一: 関連建物 ---- */
.fudousan-building-related-wrap {
  margin: 2rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.fudousan-building-related {
  padding: 1.35rem 1.25rem;
  background: var(--fudo-surface);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius);
  box-shadow: var(--fudo-shadow);
}

.fudousan-building-related__title {
  margin: 0 0 0.35rem;
  font-family: var(--fudo-font);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--fudo-navy);
  border: none;
  padding: 0;
}

.fudousan-building-related__lead {
  margin: 0 0 1rem;
  font-size: 0.88rem;
  color: var(--fudo-text-muted);
  line-height: 1.55;
}

.fudousan-building-related__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.fudousan-related-card {
  margin: 0;
}

.fudousan-related-card__link {
  display: block;
  height: 100%;
  padding: 0.85rem 0.9rem;
  text-decoration: none;
  color: inherit;
  background: var(--fudo-bg);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius-sm);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  box-sizing: border-box;
}

.fudousan-related-card__link:hover {
  border-color: var(--fudo-accent);
  box-shadow: 0 4px 14px rgba(26, 51, 82, 0.08);
}

.fudousan-related-card__title {
  margin: 0 0 0.3rem;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--fudo-navy);
}

.fudousan-related-card__location {
  margin: 0 0 0.5rem;
  font-size: 0.8rem;
  color: var(--fudo-text-muted);
}

.fudousan-related-card__meta {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.8rem;
  color: var(--fudo-text);
}

.fudousan-related-card__meta li + li {
  margin-top: 0.2rem;
}

.fudousan-related-card__label {
  font-weight: 600;
  color: var(--fudo-navy-soft);
}

.fudousan-building-related__more {
  margin: 0.85rem 0 0;
  font-size: 0.88rem;
  text-align: right;
}

.fudousan-building-related__more a {
  font-weight: 600;
  color: var(--fudo-accent);
  text-decoration: none;
}

.fudousan-building-related__more a:hover {
  text-decoration: underline;
}

body.fudousan-building-single .related-posts,
body.fudousan-building-single .related-entries,
body.fudousan-building-single .related-entry-cards,
body.fudousan-building-single .widget-related {
  display: none !important;
}

@media screen and (max-width: 640px) {
  .fudousan-building-related__grid {
    grid-template-columns: 1fr;
  }
}

/* ---- 建物口コミ（WP コメント） ---- */
.fudousan-building-reviews {
  margin: 2rem 0 1.5rem;
  padding: 1.5rem 1.35rem;
  background: var(--fudo-surface);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius);
  box-shadow: var(--fudo-shadow);
}

.fudousan-building-reviews__title {
  margin: 0 0 0.35rem;
  font-family: var(--fudo-font);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--fudo-navy);
  border: none;
  padding: 0;
}

.fudousan-building-reviews__lead {
  margin: 0 0 1.25rem;
  font-size: 0.9rem;
  color: var(--fudo-text-muted);
  line-height: 1.6;
}

.fudousan-review-list {
  margin: 0 0 1.25rem;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.fudousan-review-card {
  margin: 0;
  padding: 0;
  list-style: none;
}

.fudousan-review-card__inner {
  padding: 1rem 1.1rem;
  background: var(--fudo-bg);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius-sm);
}

.fudousan-review-card--warn .fudousan-review-card__inner {
  border-color: #f0b4b4;
  background: #fff8f8;
}

.fudousan-review-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.65rem;
}

.fudousan-review-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.fudousan-review-card__category {
  display: inline-block;
  padding: 0.15em 0.6em;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--fudo-accent);
  background: var(--fudo-accent-muted);
  border-radius: 999px;
}

.fudousan-review-card--warn .fudousan-review-card__category {
  color: #b42318;
  background: #fee4e2;
}

.fudousan-stars {
  display: inline-flex;
  gap: 0.1rem;
  line-height: 1;
}

.fudousan-stars__star {
  font-size: 0.85rem;
  color: #cbd5e1;
}

.fudousan-stars__star.is-on {
  color: #eab308;
}

.fudousan-stars__label {
  margin-left: 0.35rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--fudo-text-muted);
}

.fudousan-review-card__rating {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.15rem;
}

.fudousan-review-form__rating {
  margin: 0 0 0.85rem;
  padding: 0;
  border: none;
}

.fudousan-review-form__rating legend {
  display: block;
  margin-bottom: 0.5rem;
  padding: 0;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--fudo-navy-soft);
}

.fudousan-star-input__stars {
  display: inline-flex;
  gap: 0.15rem;
  margin-bottom: 0.35rem;
}

.fudousan-star-input__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  padding: 0;
  font-size: 1.55rem;
  line-height: 1;
  color: #cbd5e1;
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--fudo-radius-sm);
  cursor: pointer;
  transition: color 0.12s ease, transform 0.12s ease;
}

.fudousan-star-input__btn:hover,
.fudousan-star-input__btn:focus {
  color: #eab308;
  outline: none;
  transform: scale(1.06);
}

.fudousan-star-input__btn.is-on {
  color: #eab308;
}

.fudousan-star-input__btn:focus-visible {
  border-color: var(--fudo-accent);
  box-shadow: 0 0 0 3px rgba(45, 122, 138, 0.2);
}

.fudousan-star-input__value {
  margin: 0;
  font-size: 0.9rem;
  color: var(--fudo-navy);
}

.fudousan-star-input__score {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--fudo-navy);
}

.fudousan-star-input__sep {
  color: var(--fudo-text-muted);
}

.fudousan-star-input__text {
  margin-left: 0.35rem;
  font-weight: 600;
  color: var(--fudo-accent);
}

.fudousan-review-card__date {
  font-size: 0.78rem;
  color: var(--fudo-text-muted);
}

.fudousan-review-card__body {
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--fudo-text);
}

.fudousan-review-card__body p {
  margin: 0;
}

.fudousan-review-card__sections {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.fudousan-review-card__section {
  padding: 0.75rem 0.85rem;
  border-radius: var(--fudo-radius-sm);
  border: 1px solid var(--fudo-border);
  background: var(--fudo-surface);
}

.fudousan-review-card__section--pros {
  border-color: #b8e0c8;
  background: #f4fbf7;
}

.fudousan-review-card__section--cons {
  border-color: #f0c4c4;
  background: #fff8f8;
}

.fudousan-review-card__section--detail {
  border-color: var(--fudo-border);
  background: var(--fudo-bg);
}

.fudousan-review-card__section-title {
  margin: 0 0 0.4rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--fudo-navy-soft);
}

.fudousan-review-card__section--pros .fudousan-review-card__section-title {
  color: #166534;
}

.fudousan-review-card__section--cons .fudousan-review-card__section-title {
  color: #b42318;
}

.fudousan-review-card__section-body {
  font-size: 0.92rem;
  line-height: 1.65;
  color: var(--fudo-text);
}

.fudousan-review-form__grid {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.fudousan-review-form__field--pros textarea {
  border-color: #b8e0c8;
}

.fudousan-review-form__field--cons textarea {
  border-color: #f0c4c4;
}

.fudousan-review-form__field--detail textarea {
  min-height: 9rem;
}

.fudousan-review-form__hint {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.78rem;
  font-weight: 400;
  color: var(--fudo-text-muted);
  line-height: 1.45;
}

.fudousan-review-card__foot {
  margin-top: 0.65rem;
  font-size: 0.78rem;
  color: var(--fudo-text-muted);
}

.fudousan-review-form {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--fudo-border);
}

.fudousan-review-form .comment-reply-title {
  margin: 0 0 0.75rem;
  font-family: var(--fudo-font);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--fudo-navy);
}

.fudousan-review-form__note {
  margin: 0 0 1rem;
  font-size: 0.88rem;
  color: var(--fudo-text-muted);
  line-height: 1.55;
}

.fudousan-review-form p {
  margin-bottom: 0.85rem;
}

.fudousan-review-form label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--fudo-navy-soft);
}

.fudousan-review-form input[type="text"],
.fudousan-review-form input[type="email"],
.fudousan-review-form input[type="url"],
.fudousan-review-form select,
.fudousan-review-form textarea {
  width: 100%;
  max-width: 100%;
  padding: 0.65rem 0.75rem;
  font-family: var(--fudo-font);
  font-size: 0.95rem;
  color: var(--fudo-text);
  background: var(--fudo-surface);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius-sm);
  box-sizing: border-box;
}

.fudousan-review-form textarea {
  min-height: 8rem;
  resize: vertical;
}

.fudousan-review-form .form-submit {
  margin: 1rem 0 0;
}

/* Cocoon 標準コメント欄を非表示（高さゼロでページ下の空白を防ぐ） */
body.single-building .under-entry-content .comments-area,
body.single-building .under-entry-content #comments,
body.single-building .under-entry-content #respond,
body.single-building .under-entry-content .comment-respond,
body.single-building .article-footer .comments-area,
body.single-building .under-entry-content .comment-area,
body.single-building .under-entry-content .comment-btn,
body.single-building .under-entry-content .comment-button,
body.single-building .under-entry-content .comment-title-wrap,
body.single-building .footer-in .comment-area,
body.fudousan-building-single .under-entry-content .comments-area,
body.fudousan-building-single .under-entry-content #comments,
body.fudousan-building-single .under-entry-content #respond,
body.fudousan-building-single .under-entry-content .comment-respond,
body.fudousan-building-single .under-entry-content .comment-area,
body.fudousan-building-single .article-footer .comments-area,
body.fudousan-building-single .under-entry-content .comment-btn,
body.fudousan-building-single .under-entry-content .comment-button,
body.fudousan-building-single .footer-in .comment-area {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
}

body.single-building #fudousan-building-reviews .fudousan-review-list {
  display: flex !important;
  flex-direction: column;
}

body.fudousan-building-single #fudousan-building-reviews .fudousan-review-list {
  display: flex !important;
  flex-direction: column;
}

@media screen and (max-width: 1024px) {
  .fudousan-building-strength__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (max-width: 834px) {
  .fudousan-building-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fudousan-building-strength__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 480px) {
  .fudousan-building-stats {
    grid-template-columns: 1fr;
  }

  .fudousan-building-strength__grid {
    grid-template-columns: 1fr;
  }

  .fudousan-building-hero,
  .fudousan-building-strength,
  .fudousan-building-insights-section,
  .fudousan-building-reviews {
    padding: 1.15rem 1rem;
  }
}

.fudousan-empty {
  color: var(--fudo-text-muted);
  font-style: normal;
  padding: 1rem;
  text-align: center;
  background: var(--fudo-bg);
  border-radius: var(--fudo-radius-sm);
}

/* ---- パンくず ---- */
.fudousan-breadcrumb .breadcrumb-item {
  display: inline;
}

/* ---- Cocoon 1カラム ---- */
body.fudousan-one-column .sidebar,
body.fudousan-one-column #sidebar,
body.fudousan-one-column .widget-sidebar {
  display: none !important;
}

/* 固定ページタイトル（ヒーロー・イントロ以外） */
body.fudousan-pref-page .entry-title,
body.fudousan-muni-page .entry-title,
body.fudousan-area-hub .entry-title {
  font-family: var(--fudo-font);
  color: var(--fudo-navy);
  font-weight: 700;
  letter-spacing: 0.02em;
  border-bottom: 2px solid var(--fudo-accent-muted);
  padding-bottom: 0.5rem;
}

body.fudousan-page-about .entry-content a,
body.fudousan-page-weekly-hub .entry-content a,
.fudousan-page a {
  color: var(--fudo-accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

body.fudousan-page-about .entry-content a:hover,
.fudousan-page a:hover {
  color: var(--fudo-accent-hover);
}

.fudousan-page-nav {
  margin-top: 2rem;
  font-size: 0.9rem;
  color: var(--fudo-text-muted);
}

/* ---- 週次カテゴリーアーカイブ（/category/weekly/） ---- */
body.fudousan-weekly-archive .main,
body.category-weekly.fudousan-one-column .main {
  background: var(--fudo-bg);
}

body.fudousan-weekly-archive .main .content,
body.fudousan-weekly-archive .content {
  max-width: var(--fudo-home-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  font-family: var(--fudo-font);
  box-sizing: border-box;
}

/* Cocoon 一覧の親はグリッドにしない（イントロとカードが同列になるのを防ぐ） */
body.fudousan-weekly-archive #list,
body.fudousan-weekly-archive .list.e-card,
body.fudousan-weekly-archive .list.entry-card {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.fudousan-weekly-archive .list-title-box,
body.fudousan-weekly-archive .archive-title-wrap,
body.fudousan-weekly-archive h1.list-title {
  display: none !important;
}

.fudousan-weekly-archive-header {
  margin-bottom: 1.5rem;
}

.fudousan-weekly-archive-header__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--fudo-accent);
  text-transform: uppercase;
}

.fudousan-weekly-archive-header__nav {
  margin: 1rem 0 0;
  font-size: 0.9rem;
  color: var(--fudo-text-muted);
}

.fudousan-weekly-archive-header__nav a {
  color: var(--fudo-accent);
}

/* 都道府県マップ + 4列グリッド */
.fudousan-pref-picker {
  margin-top: 1rem;
}

.fudousan-pref-picker__lead {
  margin: 0 0 0.75rem;
  font-size: 0.9rem;
  color: var(--fudo-text-muted);
  line-height: 1.55;
}

.fudousan-pref-picker__map-wrap {
  position: relative;
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius-sm);
  background: linear-gradient(180deg, #f8fbfd 0%, #eef4f8 100%);
  padding: 0.75rem;
  overflow: hidden;
  transition: box-shadow 0.25s ease;
}

.fudousan-pref-picker__map-wrap.is-zoomed {
  box-shadow: var(--fudo-shadow-hover);
  border-color: var(--fudo-accent);
}

.fudousan-pref-picker__svg {
  display: block;
  width: 100%;
  max-width: 420px;
  height: auto;
  margin: 0 auto;
  transform-origin: center center;
  transition: transform 0.35s ease;
}

.fudousan-pref-picker__map-wrap.is-zoomed .fudousan-pref-picker__svg {
  transform: none;
  max-width: 100%;
}

.fudousan-pref-picker__outline {
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.fudousan-pref-picker.is-region-open .fudousan-pref-picker__outline {
  opacity: 0;
}

.fudousan-pref-picker__region-hit {
  cursor: pointer;
  outline: none;
}

.fudousan-pref-picker__region-area {
  fill: rgba(45, 122, 138, 0.14);
  stroke: rgba(45, 122, 138, 0.45);
  stroke-width: 1.2;
  transition: fill 0.2s, stroke 0.2s, transform 0.2s;
}

.fudousan-pref-picker__region-hit:hover .fudousan-pref-picker__region-area,
.fudousan-pref-picker__region-hit:focus-visible .fudousan-pref-picker__region-area {
  fill: rgba(45, 122, 138, 0.28);
  stroke: var(--fudo-accent);
}

.fudousan-pref-picker__region-label {
  font-size: 11px;
  font-weight: 700;
  fill: var(--fudo-navy-soft);
  pointer-events: none;
  user-select: none;
}

.fudousan-pref-picker.is-region-open .fudousan-pref-picker__national {
  opacity: 0;
  pointer-events: none;
}

/* SVG の hidden は環境によって効かないため display で制御 */
.fudousan-pref-picker__detail {
  display: none;
}

.fudousan-pref-picker__detail.is-active {
  display: block;
}

.fudousan-pref-picker__detail-title {
  font-size: 13px;
  font-weight: 700;
  fill: var(--fudo-navy-soft);
  pointer-events: none;
}

.fudousan-pref-picker__detail .fudousan-pref-picker__pref-hit {
  text-decoration: none;
}

.fudousan-pref-picker__pref-area {
  fill: rgba(255, 255, 255, 0.92);
  stroke: var(--fudo-accent);
  stroke-width: 1.1;
  transition: fill 0.2s, transform 0.15s;
}

.fudousan-pref-picker__pref-hit:hover .fudousan-pref-picker__pref-area,
.fudousan-pref-picker__pref-hit:focus-visible .fudousan-pref-picker__pref-area {
  fill: var(--fudo-accent-muted);
}

.fudousan-pref-picker__pref-hit.is-active .fudousan-pref-picker__pref-area {
  fill: var(--fudo-accent);
  stroke: var(--fudo-accent);
}

.fudousan-pref-picker__pref-hit.is-active .fudousan-pref-picker__pref-label {
  fill: #fff;
}

.fudousan-pref-picker__pref-label {
  font-size: 9px;
  font-weight: 700;
  fill: var(--fudo-navy-soft);
  pointer-events: none;
}

.fudousan-pref-picker__back {
  display: inline-flex;
  align-items: center;
  margin: 0.65rem 0 0;
  padding: 0.4rem 0.75rem;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--fudo-accent);
  background: #fff;
  border: 1px solid var(--fudo-border);
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s;
}

.fudousan-pref-picker__back:hover {
  background: var(--fudo-accent-muted);
  border-color: var(--fudo-accent);
}

.fudousan-pref-picker__toolbar {
  margin-top: 0.85rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.fudousan-pref-picker__grid {
  margin-top: 0.85rem;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.5rem;
}

.fudousan-pref-picker__grid-item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.35rem;
  padding: 0.4rem 0.35rem;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  color: var(--fudo-navy-soft);
  background: #fff;
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius-sm);
  text-decoration: none !important;
  transition: background 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, transform 0.15s;
  box-shadow: 0 1px 2px rgba(26, 51, 82, 0.05);
}

.fudousan-pref-picker__grid-item:hover {
  color: var(--fudo-accent);
  border-color: var(--fudo-accent);
  background: var(--fudo-accent-muted);
  transform: translateY(-1px);
  box-shadow: var(--fudo-shadow);
}

.fudousan-pref-picker__grid-item.is-active {
  color: #fff;
  border-color: var(--fudo-accent);
  background: var(--fudo-accent);
  box-shadow: 0 2px 10px rgba(45, 122, 138, 0.35);
}

.fudousan-building-rent-filter {
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--fudo-border);
}

.fudousan-building-rent-filter__title,
.fudousan-archive-filter__muni-title {
  margin: 0 0 0.5rem;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--fudo-navy-soft);
}

.fudousan-building-rent-filter__presets {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.fudousan-building-rent-filter__form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.65rem 0.85rem;
}

.fudousan-building-rent-filter__field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--fudo-text-muted);
}

.fudousan-building-rent-filter__field input {
  width: 8.5rem;
  max-width: 100%;
  padding: 0.45rem 0.55rem;
  font-size: 0.9rem;
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius-sm);
  background: #fff;
}

.fudousan-building-rent-filter__submit {
  padding: 0.48rem 1rem;
  font-size: 0.85rem;
  font-weight: 700;
  color: #fff;
  background: var(--fudo-accent);
  border: none;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
}

.fudousan-building-rent-filter__submit:hover {
  background: var(--fudo-navy-soft);
  transform: translateY(-1px);
}

.fudousan-building-rent-filter__note {
  margin: 0.55rem 0 0;
  font-size: 0.78rem;
  color: var(--fudo-text-muted);
  line-height: 1.45;
}

.fudousan-archive-filter__muni {
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--fudo-border);
}

.fudousan-archive-filter__muni-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.fudousan-archive-filter__nav {
  margin: 0.9rem 0 0;
  font-size: 0.9rem;
  color: var(--fudo-text-muted);
}

.fudousan-archive-filter__nav a {
  color: var(--fudo-accent);
}

@media (max-width: 900px) {
  .fudousan-pref-picker__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .fudousan-pref-picker__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fudousan-pref-picker__grid-item {
    font-size: 0.74rem;
  }
}

.fudousan-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 0.75rem;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--fudo-navy-soft);
  background: #fff;
  border: 1px solid var(--fudo-border);
  border-radius: 999px;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background 0.2s, border-color 0.2s, color 0.2s, transform 0.15s, box-shadow 0.2s;
  box-shadow: 0 1px 2px rgba(26, 51, 82, 0.05);
}

.fudousan-chip:hover {
  color: var(--fudo-accent);
  border-color: var(--fudo-accent);
  background: var(--fudo-accent-muted);
  transform: translateY(-1px);
  box-shadow: var(--fudo-shadow);
}

.fudousan-chip.is-active {
  color: #fff;
  border-color: var(--fudo-accent);
  background: var(--fudo-accent);
  box-shadow: 0 2px 10px rgba(45, 122, 138, 0.35);
}

/* 投稿カードのみ2列（PHP で出力するラッパー） */
.fudousan-weekly-archive-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.15rem 1.25rem;
  align-items: stretch;
  width: 100%;
  margin: 0 0 1.5rem;
}

body.fudousan-weekly-archive #list .fudousan-weekly-archive-grid > .entry-card-wrap,
body.fudousan-weekly-archive #list .fudousan-weekly-archive-grid > .ect-entry-card {
  display: block !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  min-width: 0;
  border: 1px solid var(--fudo-border) !important;
  border-radius: var(--fudo-radius-sm) !important;
  background: var(--fudo-surface) !important;
  box-shadow: var(--fudo-shadow) !important;
  overflow: hidden;
  box-sizing: border-box;
  text-decoration: none !important;
  color: inherit !important;
}

body.fudousan-weekly-archive #list .fudousan-weekly-archive-grid > .entry-card-wrap:hover {
  border-color: var(--fudo-accent) !important;
  box-shadow: var(--fudo-shadow-hover) !important;
}

/*
 * Cocoon 既定: #list article { display:flex } + .entry-card-thumb { width:35% }
 * 詳細度が低いとサムネ左・本文右に押し出されタイトルが欠ける
 */
body.fudousan-weekly-archive #list .fudousan-weekly-archive-grid article.entry-card.e-card,
body.fudousan-weekly-archive #list .fudousan-weekly-archive-grid article.entry-card {
  display: block !important;
  flex-direction: unset !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  writing-mode: horizontal-tb !important;
}

body.fudousan-weekly-archive #list .fudousan-weekly-archive-grid .entry-card-thumb,
body.fudousan-weekly-archive #list .fudousan-weekly-archive-grid .e-card-thumb,
body.fudousan-weekly-archive #list .fudousan-weekly-archive-grid figure.card-thumb,
body.fudousan-weekly-archive .ect-vertical-card #list .fudousan-weekly-archive-grid .entry-card-thumb,
body.fudousan-weekly-archive .ect-entry-card #list .fudousan-weekly-archive-grid .entry-card-thumb {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 0 !important;
  float: none !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

body.fudousan-weekly-archive #list .fudousan-weekly-archive-grid .entry-card-content,
body.fudousan-weekly-archive #list .fudousan-weekly-archive-grid .e-card-content {
  display: block !important;
  flex: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  margin-left: 0 !important;
  padding: 1em 1.1em 1.05em !important;
  float: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.fudousan-weekly-archive #list .fudousan-weekly-archive-grid .entry-card-title,
body.fudousan-weekly-archive #list .fudousan-weekly-archive-grid h2.entry-card-title {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  font-family: var(--fudo-font) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: var(--fudo-navy) !important;
  line-height: 1.5 !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere;
  overflow: visible !important;
  text-overflow: unset !important;
  margin: 0 0 0.5rem !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.fudousan-weekly-archive #list .fudousan-weekly-archive-grid .entry-card-snippet,
body.fudousan-weekly-archive #list .fudousan-weekly-archive-grid .e-card-snippet {
  display: -webkit-box !important;
  color: var(--fudo-text-muted) !important;
  font-size: 0.82rem !important;
  line-height: 1.55 !important;
  margin: 0 0 0.65rem !important;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  width: 100% !important;
  max-width: 100% !important;
}

body.fudousan-weekly-archive #list .fudousan-weekly-archive-grid .entry-card-meta,
body.fudousan-weekly-archive #list .fudousan-weekly-archive-grid .entry-card-info,
body.fudousan-weekly-archive #list .fudousan-weekly-archive-grid .post-date {
  display: block !important;
  font-size: 0.78rem !important;
  color: var(--fudo-text-muted) !important;
  width: 100% !important;
}

body.fudousan-weekly-archive #list .fudousan-weekly-archive-grid .entry-card-categorys .cat-label,
body.fudousan-weekly-archive #list .fudousan-weekly-archive-grid .entry-card-categorys .entry-category {
  display: inline-block !important;
  position: static !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  color: var(--fudo-accent) !important;
  background: var(--fudo-accent-muted) !important;
  border-radius: 999px !important;
  padding: 0.15em 0.55em !important;
  margin: 0 0.25rem 0.25rem 0 !important;
}

/* 管理者向け PV 表示（admin-pv）をカードから除外 */
body.fudousan-weekly-archive #list .fudousan-weekly-archive-grid .admin-pv,
body.fudousan-weekly-archive #list .fudousan-weekly-archive-grid .entry-card-pv,
body.fudousan-weekly-archive #list .fudousan-weekly-archive-grid .ec-pv {
  display: none !important;
}

/* ---- ページネーション（Fudousan 共通・モダンUI） ---- */
body[class*="fudousan"] .pagination,
body[class*="fudousan"] .pager-links {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
  margin: 2rem 0 0.5rem !important;
  padding: 1.75rem 0 0 !important;
  border-top: 1px solid var(--fudo-border) !important;
  border-bottom: none !important;
  background: transparent !important;
  clear: both;
  list-style: none;
  box-sizing: border-box;
}

body[class*="fudousan"] .pagination::before,
body[class*="fudousan"] .pagination::after,
body[class*="fudousan"] .pager-links::before,
body[class*="fudousan"] .pager-links::after {
  display: none !important;
  content: none !important;
}

body[class*="fudousan"] .pagination .page-numbers,
body[class*="fudousan"] .pager-links .page-numbers {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  margin: 0 !important;
  padding: 0 0.7rem !important;
  font-family: var(--fudo-font) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  color: var(--fudo-navy-soft) !important;
  background: var(--fudo-surface) !important;
  border: 1px solid var(--fudo-border) !important;
  border-radius: var(--fudo-radius-sm) !important;
  text-decoration: none !important;
  box-shadow: 0 1px 2px rgba(26, 51, 82, 0.05) !important;
  transition: background 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, transform 0.15s;
  box-sizing: border-box;
  float: none !important;
}

body[class*="fudousan"] .pagination a.page-numbers:hover,
body[class*="fudousan"] .pager-links a.page-numbers:hover {
  color: var(--fudo-accent) !important;
  border-color: var(--fudo-accent) !important;
  background: var(--fudo-accent-muted) !important;
  box-shadow: var(--fudo-shadow) !important;
  transform: translateY(-1px);
}

/* Cocoon の「次のページ」単独リンク（next_posts_link） */
body[class*="fudousan"] .pagination-next-link,
body[class*="fudousan"] a.nextpostslink,
body[class*="fudousan"] .nextpostslink a,
body[class*="fudousan"] .pagination a[rel="next"]:not(.page-numbers) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  max-width: 520px;
  height: 2.75rem;
  margin: 0.35rem auto 0 !important;
  padding: 0 1.1rem !important;
  font-family: var(--fudo-font) !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  color: var(--fudo-accent) !important;
  background: var(--fudo-surface) !important;
  border: 1px solid var(--fudo-border) !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  box-shadow: var(--fudo-shadow) !important;
  transition: background 0.2s, border-color 0.2s, box-shadow 0.2s, transform 0.15s;
  box-sizing: border-box;
}

body[class*="fudousan"] .pagination-next-link:hover,
body[class*="fudousan"] a.nextpostslink:hover,
body[class*="fudousan"] .nextpostslink a:hover,
body[class*="fudousan"] .pagination a[rel="next"]:not(.page-numbers):hover {
  border-color: var(--fudo-accent) !important;
  background: var(--fudo-accent-muted) !important;
  box-shadow: var(--fudo-shadow-hover) !important;
  transform: translateY(-1px);
}

body[class*="fudousan"] .pagination-next-link::after,
body[class*="fudousan"] a.nextpostslink::after,
body[class*="fudousan"] .pagination a[rel="next"]:not(.page-numbers)::after {
  content: "→";
  font-weight: 800;
  opacity: 0.85;
}

body[class*="fudousan"] .pagination .page-numbers.current,
body[class*="fudousan"] .pagination span.page-numbers.current,
body[class*="fudousan"] .pager-links .page-numbers.current {
  color: #fff !important;
  background: var(--fudo-accent) !important;
  border-color: var(--fudo-accent) !important;
  box-shadow: 0 2px 10px rgba(45, 122, 138, 0.35) !important;
  cursor: default;
  pointer-events: none;
  transform: none !important;
}

body[class*="fudousan"] .pagination .page-numbers.dots,
body[class*="fudousan"] .pagination span.page-numbers.dots,
body[class*="fudousan"] .pager-links .page-numbers.dots {
  min-width: 1.5rem;
  padding: 0 0.2rem !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--fudo-text-muted) !important;
  font-weight: 500 !important;
  pointer-events: none;
}

body[class*="fudousan"] .pagination .prev.page-numbers,
body[class*="fudousan"] .pagination .next.page-numbers,
body[class*="fudousan"] .pager-links .prev.page-numbers,
body[class*="fudousan"] .pager-links .next.page-numbers {
  min-width: auto;
  padding: 0 1rem !important;
  font-size: 0.88rem !important;
}

body[class*="fudousan"] .pagination .prev.page-numbers::before {
  content: "←";
  margin-right: 0.35em;
  font-size: 0.95em;
  line-height: 1;
  opacity: 0.85;
}

body[class*="fudousan"] .pagination .next.page-numbers::after,
body[class*="fudousan"] .pager-links .next.page-numbers::after {
  content: "→";
  margin-left: 0.35em;
  font-size: 0.95em;
  line-height: 1;
  opacity: 0.85;
}

/* 週次アーカイブ：ページネーションは左カラム幅に収める */
body.fudousan-weekly-archive.fudousan-home-sidebar-layout .main .content > .pagination,
body.fudousan-weekly-archive.fudousan-home-sidebar-layout .main .content > .pager-links {
  max-width: calc(100% - var(--fudo-sidebar-width) - 2rem);
  margin-right: auto !important;
  margin-left: 0 !important;
  justify-content: flex-start;
}

@media screen and (max-width: 834px) {
  body.fudousan-weekly-archive.fudousan-home-sidebar-layout .main .content > .pagination,
  body.fudousan-weekly-archive.fudousan-home-sidebar-layout .main .content > .pager-links {
    max-width: 100%;
    justify-content: center;
  }

  body[class*="fudousan"] .pagination .page-numbers,
  body[class*="fudousan"] .pager-links .page-numbers {
    min-width: 2.35rem;
    height: 2.35rem;
    font-size: 0.85rem !important;
  }

  body[class*="fudousan"] .pagination .prev.page-numbers,
  body[class*="fudousan"] .pagination .next.page-numbers {
    padding: 0 0.75rem !important;
  }
}

/* 前後記事ナビ（単一投稿） */
body[class*="fudousan"] .pager-post-navi {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem;
  width: 100%;
  margin: 2rem 0 0.5rem !important;
  padding: 1.75rem 0 0 !important;
  border-top: 1px solid var(--fudo-border) !important;
  clear: both;
}

body[class*="fudousan"] .pager-post-navi a {
  display: flex !important;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1rem 1.1rem !important;
  font-family: var(--fudo-font) !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  color: var(--fudo-navy) !important;
  background: var(--fudo-surface) !important;
  border: 1px solid var(--fudo-border) !important;
  border-radius: var(--fudo-radius-sm) !important;
  text-decoration: none !important;
  box-shadow: var(--fudo-shadow) !important;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
  box-sizing: border-box;
}

body[class*="fudousan"] .pager-post-navi a:hover {
  border-color: var(--fudo-accent) !important;
  box-shadow: var(--fudo-shadow-hover) !important;
  transform: translateY(-1px);
  color: var(--fudo-accent) !important;
}

body[class*="fudousan"] .pager-post-navi .prev-post-navi {
  text-align: left;
}

body[class*="fudousan"] .pager-post-navi .next-post-navi {
  text-align: right;
}

@media screen and (max-width: 560px) {
  body[class*="fudousan"] .pager-post-navi {
    grid-template-columns: 1fr;
  }
}

/* ---- レスポンシブ ---- */
@media screen and (max-width: 834px) {
  .fudousan-home-layout {
    grid-template-columns: 1fr;
  }

  .fudousan-home-sidebar__inner {
    position: static;
  }

  .fudousan-area-grid--cols-3 .fudousan-area-grid__list,
  .fudousan-area-grid--cols-4 .fudousan-area-grid__list {
    grid-template-columns: repeat(2, 1fr);
  }

  .fudousan-weekly-archive-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 480px) {
  .fudousan-area-grid__list,
  .fudousan-area-grid--cols-2 .fudousan-area-grid__list {
    grid-template-columns: 1fr !important;
  }

  .fudousan-weekly-archive-grid {
    grid-template-columns: 1fr;
  }

  .fudousan-hero {
    padding: 2rem 1.15rem 1.75rem;
    border-radius: var(--fudo-radius-sm);
  }

  .fudousan-page .wp-block-buttons,
  .fudousan-hero__actions {
    flex-direction: column;
  }

  .fudousan-page .wp-block-button {
    width: 100%;
  }

  .fudousan-page .wp-block-button__link {
    width: 100%;
    text-align: center;
  }
}

/* ---- ランキング（焦り・ゾンビ） ---- */
.fudousan-ranking-picker {
  margin: 0 0 1.5rem;
  padding: 1.25rem 1.5rem;
  background: var(--fudo-surface);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius);
}

.fudousan-ranking-picker__title {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--fudo-navy);
}

.fudousan-ranking-picker__current {
  margin: 0 0 1rem;
}

.fudousan-ranking-picker__hint {
  color: var(--fudo-text-muted);
  font-weight: 400;
}

.fudousan-ranking-picker__links {
  margin: 1rem 0 0;
  font-size: 0.9rem;
}

.fudousan-ranking__meta,
.fudousan-ranking__count {
  margin: 0 0 1rem;
  font-size: 0.88rem;
  color: var(--fudo-text-muted);
}

.fudousan-ranking__lead {
  margin: 0 0 1rem;
  padding: 0.75rem 1rem;
  background: #fff8e6;
  border-left: 4px solid #d4a017;
  border-radius: var(--fudo-radius-sm);
}

.fudousan-ranking-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.fudousan-ranking-card {
  display: flex;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background: var(--fudo-surface);
  border: 1px solid var(--fudo-border);
  border-radius: var(--fudo-radius);
}

.fudousan-ranking-card--panic {
  border-left: 4px solid #c0392b;
  background: #fef5f4;
}

.fudousan-ranking-card__rank {
  flex: 0 0 2rem;
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--fudo-navy-soft);
  font-variant-numeric: tabular-nums;
}

.fudousan-ranking-card__headline {
  margin: 0;
  line-height: 1.55;
  font-size: 0.95rem;
}

.fudousan-ranking-card__badge {
  display: inline-block;
  margin-right: 0.35rem;
  padding: 0.1rem 0.45rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: #fff;
  background: #c0392b;
  border-radius: 3px;
  vertical-align: 0.05em;
}

.fudousan-ranking-card__time {
  margin: 0.5rem 0 0;
  font-size: 0.8rem;
  color: var(--fudo-text-muted);
}

.fudousan-ranking-table {
  width: 100%;
  font-size: 0.88rem;
}

/* 建物アーカイブ・建物単体: Cocoon「次のページ」ピル（全体スタイルより後で上書き） */
body.fudousan-building-archive .pagination-next-link,
body.fudousan-building-archive a.nextpostslink,
body.fudousan-building-archive .nextpostslink,
body.fudousan-building-archive .pager-links,
body.fudousan-building-archive .pagination a[rel="next"]:not(.page-numbers),
body.fudousan-building-archive .pagination:not(.fudousan-building-archive__pagination),
body.fudousan-building-archive .pager-post-navi,
body.post-type-archive-building .pagination-next-link,
body.post-type-archive-building .pager-links,
body.fudousan-building-single .pagination-next-link,
body.fudousan-building-single a.nextpostslink,
body.fudousan-building-single .pager-links,
body.fudousan-building-single .pagination,
body.fudousan-building-single .pager-post-navi {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  pointer-events: none !important;
}
