/*
Theme Name:   Azuma Child
Theme URI:    https://azuma-h.co.jp/
Description:  アズマ不動産カスタム子テーマ
Author:       Azuma Fudousan
Version:      2.0.0
Template:     twentyten-clean
Text Domain:  azuma-child
*/

/* ========================================
   Google Fonts
======================================== */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;600;700&family=Noto+Sans+JP:wght@300;400;500&display=swap');

/* ========================================
   CSS変数
======================================== */
:root {
  --pink:       #D4607A;
  --pink-d:     #b04060;
  --pink-l:     #f5d0da;
  --pink-pale:  #fff5f8;
  --blue:       #4BBFD6;
  --blue-d:     #3099ae;
  --blue-l:     #d0eff6;
  --cream:      #fff8fb;
  --text-dark:  #2a1a22;
  --text-mid:   #5a3a4a;
  --text-light: #9a7a88;
  --border:     rgba(212,96,122,0.15);
  --shadow:     0 2px 12px rgba(212,96,122,0.10);
}

/* ========================================
   BASE
======================================== */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 300;
  background: #fff;
  color: var(--text-dark);
  line-height: 1.8;
  overflow-x: hidden;
}

a { color: var(--pink-d); transition: color 0.2s; }
a:hover { color: var(--pink); }
img { max-width: 100%; height: auto; }

/* ========================================
   HEADER エリア全体
======================================== */
#header,
#branding,
.site-header {
  background: #fff !important;
  border-bottom: 3px solid var(--pink) !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* サイトタイトル */
#site-title,
.site-title {
  font-family: 'Noto Serif JP', serif !important;
  font-size: 1.4rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.1em !important;
  padding: 16px 20px !important;
  margin: 0 !important;
}

#site-title a,
.site-title a {
  color: var(--pink-d) !important;
  text-decoration: none !important;
}

#site-description,
.site-description {
  font-size: 0.72rem !important;
  color: var(--text-light) !important;
  letter-spacing: 0.1em !important;
  padding: 0 20px 12px !important;
}

/* ========================================
   グローバルナビゲーション
   ── 画像メニュー対応 + レスポンシブ ──
======================================== */

/* ナビ全体ラッパー */
#access,
#site-navigation,
.main-navigation {
  background: var(--pink) !important;
  clear: both;
  width: 100%;
  position: relative;
  z-index: 100;
}

/* メニューリスト */
#access .menu,
#access ul,
.main-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;         /* ← 折り返し許可（画像メニュー対応） */
  align-items: stretch;
}

/* 各メニュー項目 */
#access li,
.main-navigation li {
  position: relative;
  flex: 0 0 auto;
}

/* メニューリンク共通 */
#access a,
.main-navigation a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  font-size: 0.82rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  color: #fff !important;
  text-decoration: none !important;
  white-space: nowrap;
  border-right: 1px solid rgba(255,255,255,0.2);
  transition: background 0.2s;
  min-height: 44px;
}

#access a:hover,
.main-navigation a:hover,
#access .current-menu-item > a,
.main-navigation .current-menu-item > a {
  background: var(--pink-d) !important;
  color: #fff !important;
}

/* 画像メニュー対応：img要素をそのまま表示 */
#access a img,
.main-navigation a img {
  max-height: 36px;
  width: auto;
  display: block;
}

/* ドロップダウン */
#access ul ul,
.main-navigation ul ul {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--pink-d);
  min-width: 180px;
  z-index: 200;
  flex-direction: column;
  flex-wrap: nowrap;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

#access li:hover > ul,
.main-navigation li:hover > ul {
  display: flex;
}

#access ul ul a,
.main-navigation ul ul a {
  border-right: none;
  border-bottom: 1px solid rgba(255,255,255,0.15);
  justify-content: flex-start;
  padding: 10px 16px;
  font-size: 0.78rem;
}

/* ハンバーガーボタン（SPで表示） */
.az-nav-toggle {
  display: none;
  background: var(--pink);
  border: none;
  color: #fff;
  padding: 12px 20px;
  font-size: 1.2rem;
  cursor: pointer;
  width: 100%;
  text-align: left;
  letter-spacing: 0.1em;
}

/* ========================================
   レスポンシブ ナビゲーション
======================================== */
@media (max-width: 780px) {

  /* ハンバーガー表示 */
  .az-nav-toggle { display: flex; align-items: center; gap: 10px; }

  /* メニューはデフォルト非表示 */
  #access .menu,
  #access ul,
  .main-navigation ul {
    display: none;
    flex-direction: column;
  }

  /* JSでopen付いたら表示 */
  #access ul.az-open,
  .main-navigation ul.az-open {
    display: flex !important;
  }

  #access li,
  .main-navigation li {
    width: 100%;
    border-bottom: 1px solid rgba(255,255,255,0.15);
  }

  #access a,
  .main-navigation a {
    justify-content: flex-start;
    padding: 13px 20px;
    border-right: none;
    font-size: 0.88rem;
  }

  /* ドロップダウンも縦並び */
  #access ul ul,
  .main-navigation ul ul {
    position: static;
    display: none;
    box-shadow: none;
    background: rgba(0,0,0,0.15);
  }
  #access li.az-sub-open > ul,
  .main-navigation li.az-sub-open > ul {
    display: flex !important;
    flex-direction: column;
  }
}

/* ========================================
   ヘッダー上部：電話番号・問い合わせ帯
======================================== */
.az-header-top {
  background: var(--pink-pale);
  border-bottom: 1px solid var(--border);
  padding: 6px 20px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 16px;
  font-size: 0.78rem;
}

.az-header-tel {
  font-family: 'Noto Serif JP', serif;
  font-size: 1.1rem;
  color: var(--pink-d);
  font-weight: 600;
  letter-spacing: 0.06em;
}

.az-header-tel::before { content: '📞 '; font-size: 0.9rem; }

.az-header-btn {
  background: var(--pink);
  color: #fff;
  padding: 5px 14px;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-decoration: none;
  transition: background 0.2s;
  display: inline-block;
}

.az-header-btn:hover { background: var(--pink-d); color: #fff; }

/* ========================================
   メインコンテンツ
======================================== */
#main,
#content,
.site-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 32px 20px;
}

/* ページタイトル */
.entry-title,
.page-title,
h1.entry-title {
  font-family: 'Noto Serif JP', serif;
  font-size: clamp(1.4rem, 3vw, 2rem);
  color: var(--pink-d);
  border-bottom: 2px solid var(--pink-l);
  padding-bottom: 12px;
  margin-bottom: 28px;
  letter-spacing: 0.04em;
}

/* ========================================
   不動産プラグイン 物件カード
======================================== */

/* 一覧グリッド */
.fudo-list-wrap,
.fudo-archive-wrap,
#fudo_search_list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 20px !important;
  padding: 0 !important;
  list-style: none !important;
}

/* 個別カード */
.fudo-item,
.fudo-archive-item,
.fudo-list-item {
  background: #fff;
  border: 1px solid var(--border);
  overflow: hidden;
  transition: transform 0.3s, box-shadow 0.3s;
  position: relative;
}

.fudo-item:hover,
.fudo-archive-item:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}

/* サムネイル */
.fudo-item img,
.fudo-archive-item img,
.fudo-list-item img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
  transition: transform 0.4s;
}

.fudo-item:hover img { transform: scale(1.04); }

/* NEWバッジ */
.fudo-item-new,
.fudo-new-badge {
  position: absolute;
  top: 10px; left: 10px;
  background: var(--pink);
  color: #fff;
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  padding: 3px 10px;
  z-index: 1;
}

/* 物件テキスト */
.fudo-item-body,
.fudo-item-info {
  padding: 14px 16px 16px;
}

.fudo-item-title,
.fudo-item h3 {
  font-family: 'Noto Serif JP', serif;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--text-dark);
  line-height: 1.5;
  margin-bottom: 8px;
}

/* 賃料 */
.fudo-item-price,
.fudo-price {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--pink-d);
  line-height: 1;
  margin-bottom: 4px;
}

.fudo-item-price small,
.fudo-price small {
  font-size: 0.78rem;
  color: var(--text-mid);
  font-weight: 300;
}

/* 間取り・面積タグ */
.fudo-item-madori,
.fudo-madori,
.fudo-item-menseki {
  display: inline-block;
  background: var(--pink-pale);
  border: 1px solid var(--pink-l);
  color: var(--pink-d);
  font-size: 0.75rem;
  padding: 2px 10px;
  margin: 4px 4px 4px 0;
}

/* 住所 */
.fudo-item-address {
  font-size: 0.75rem;
  color: var(--text-light);
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--border);
}

/* 詳細ボタン */
.fudo-item-btn,
.fudo-btn,
.fudo-more-btn {
  display: block;
  margin-top: 12px;
  background: var(--pink);
  color: #fff !important;
  text-align: center;
  padding: 10px;
  font-size: 0.78rem;
  letter-spacing: 0.15em;
  text-decoration: none !important;
  transition: background 0.2s;
}

.fudo-item-btn:hover,
.fudo-btn:hover { background: var(--pink-d); }

/* ========================================
   検索フォーム
======================================== */
.fudo-search-wrap,
#fudo_search_form,
.fudo-search-form {
  background: var(--pink-pale);
  border: 1px solid var(--border);
  border-top: 3px solid var(--pink);
  padding: 24px;
  margin-bottom: 32px;
}

.fudo-search-wrap h3,
.fudo-search-title {
  font-family: 'Noto Serif JP', serif;
  font-size: 0.95rem;
  color: var(--pink-d);
  margin-bottom: 16px;
  letter-spacing: 0.06em;
}

.fudo-search-form select,
.fudo-search-form input[type="text"],
#fudo_search_form select,
#fudo_search_form input[type="text"] {
  border: 1px solid var(--pink-l);
  background: #fff;
  padding: 9px 12px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 0.85rem;
  width: 100%;
  margin-bottom: 10px;
  outline: none;
  transition: border-color 0.2s;
  -webkit-appearance: none;
}

.fudo-search-form select:focus,
#fudo_search_form select:focus,
.fudo-search-form input:focus,
#fudo_search_form input:focus {
  border-color: var(--pink);
}

.fudo-search-form input[type="submit"],
#fudo_search_form input[type="submit"] {
  background: var(--pink);
  color: #fff;
  border: none;
  padding: 11px 24px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 0.85rem;
  letter-spacing: 0.15em;
  cursor: pointer;
  width: 100%;
  transition: background 0.2s;
}

.fudo-search-form input[type="submit"]:hover,
#fudo_search_form input[type="submit"]:hover {
  background: var(--pink-d);
}

/* ========================================
   物件詳細ページ
======================================== */
.fudo-detail-wrap { max-width: 860px; margin: 0 auto; }

.fudo-detail-info-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.87rem;
  margin: 24px 0;
}

.fudo-detail-info-table th {
  background: var(--pink);
  color: #fff;
  padding: 10px 14px;
  text-align: left;
  font-weight: 400;
  letter-spacing: 0.06em;
  width: 130px;
  font-size: 0.8rem;
}

.fudo-detail-info-table td {
  padding: 10px 14px;
  border-bottom: 1px solid var(--border);
  background: #fff;
}

.fudo-detail-info-table tr:nth-child(even) td {
  background: var(--pink-pale);
}

/* 問い合わせCTAボックス */
.fudo-contact-box {
  background: var(--pink);
  color: #fff;
  padding: 28px 32px;
  text-align: center;
  margin-top: 36px;
}

.fudo-contact-box h3 {
  font-family: 'Noto Serif JP', serif;
  font-size: 1.1rem;
  font-weight: 300;
  margin-bottom: 16px;
  letter-spacing: 0.08em;
}

.fudo-contact-tel {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  display: block;
  margin-bottom: 14px;
  color: #fff;
  text-decoration: none;
}

.fudo-contact-btn-wrap {
  display: flex; gap: 10px; justify-content: center; flex-wrap: wrap;
}

.fudo-contact-cta {
  display: inline-block;
  background: #fff;
  color: var(--pink-d) !important;
  padding: 12px 32px;
  font-size: 0.85rem;
  letter-spacing: 0.15em;
  text-decoration: none !important;
  transition: all 0.2s;
  font-weight: 500;
}

.fudo-contact-cta:hover {
  background: var(--pink-pale);
  transform: translateY(-2px);
}

/* ========================================
   サイドバー / ウィジェット
======================================== */
#secondary,
#sidebar,
.widget-area {
  background: var(--pink-pale);
}

.widget {
  margin-bottom: 24px;
  padding: 0;
}

.widget-title,
h3.widget-title {
  background: var(--pink);
  color: #fff !important;
  font-family: 'Noto Serif JP', serif;
  font-size: 0.88rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.1em !important;
  padding: 10px 16px !important;
  margin: 0 0 0 0 !important;
}

.widget ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid var(--border);
  border-top: none;
}

.widget ul li {
  border-bottom: 1px solid var(--border);
}

.widget ul li a {
  display: block;
  padding: 9px 14px;
  font-size: 0.82rem;
  color: var(--text-dark);
  text-decoration: none;
  background: #fff;
  transition: background 0.2s, color 0.2s;
}

.widget ul li a:hover {
  background: var(--pink-pale);
  color: var(--pink-d);
}

/* ========================================
   ページネーション
======================================== */
.pagination,
.nav-links,
.fudo-pagination {
  display: flex;
  gap: 4px;
  justify-content: center;
  margin: 40px 0;
  flex-wrap: wrap;
}

.pagination a,
.pagination span,
.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  font-size: 0.82rem;
  border: 1px solid var(--pink-l);
  color: var(--text-mid);
  text-decoration: none;
  transition: all 0.2s;
}

.pagination a:hover,
.page-numbers:hover { background: var(--pink); color: #fff; border-color: var(--pink); }
.page-numbers.current { background: var(--pink); color: #fff; border-color: var(--pink); }

/* ========================================
   フッター
======================================== */
#footer,
.site-footer {
  background: var(--text-dark) !important;
  color: rgba(255,255,255,0.55) !important;
  padding: 36px 20px !important;
  margin-top: 0 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.08em !important;
  text-align: center !important;
}

#footer a,
.site-footer a {
  color: rgba(255,200,210,0.6) !important;
  text-decoration: none !important;
}

#footer a:hover,
.site-footer a:hover {
  color: var(--pink-l) !important;
}

/* ========================================
   スクロールアニメーション
======================================== */
.az-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.az-reveal.az-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ========================================
   レスポンシブ
======================================== */
@media (max-width: 768px) {
  .fudo-list-wrap,
  .fudo-archive-wrap,
  #fudo_search_list {
    grid-template-columns: 1fr !important;
  }

  #main, #content, .site-content {
    padding: 20px 14px;
  }

  .fudo-detail-info-table th { width: 90px; }
  .az-header-top { display: none; }
}

@media (max-width: 480px) {
  .fudo-item-price { font-size: 1.2rem; }
}


/* ========================================
   HEADER TOP BAR
======================================== */
.az-header-top {
  background: var(--pink-pale);
  border-bottom: 1px solid var(--border);
  padding: 6px 40px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 16px;
  font-size: 0.75rem;
  color: var(--text-light);
}
.az-header-time { letter-spacing: 0.06em; }
.az-header-tel {
  font-family: 'Noto Serif JP', serif;
  font-size: 1.05rem;
  color: var(--pink-d);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-decoration: none;
}
.az-header-tel::before { content: '📞 '; font-size: 0.85rem; }
.az-header-btn {
  padding: 5px 14px;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-decoration: none;
  color: #fff;
  transition: opacity 0.2s;
  white-space: nowrap;
}
.az-header-btn:hover { opacity: 0.85; color: #fff; }
.az-btn-pink { background: var(--primary); }
.az-btn-blue { background: var(--accent); }

/* ========================================
   HEADER MAIN
======================================== */
.az-header-main {
  background: #fff;
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 200;
  box-shadow: 0 1px 6px rgba(212,96,122,0.08);
}
.az-header-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 14px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
/* ロゴ */
.az-logo a { text-decoration: none; display: flex; align-items: center; gap: 14px; }
.az-logo-img { height: 70px; width: auto; max-width: 280px; display: block; object-fit: contain; }
.az-logo-text {
  font-family: 'Noto Serif JP', serif;
  font-size: 1.3rem;
  font-weight: 400;
  color: var(--primary-d);
  letter-spacing: 0.1em;
}
.az-logo-sub {
  font-size: 0.7rem;
  color: var(--text-light);
  letter-spacing: 0.06em;
  line-height: 1.6;
  border-left: 2px solid var(--primary-l);
  padding-left: 12px;
  max-width: 200px;
}
/* 電話（右） */
.az-header-tel-wrap { text-align: right; }
.az-header-tel-large {
  font-family: 'Noto Serif JP', serif;
  font-size: 1.7rem;
  color: var(--primary-d);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-decoration: none;
  display: block;
  line-height: 1;
  margin-bottom: 4px;
  transition: color 0.2s;
}
.az-header-tel-large::before { content: '📞 '; font-size: 0.75em; }
.az-header-tel-large:hover { color: var(--primary); }
.az-header-tel-label {
  font-size: 0.7rem;
  color: var(--text-light);
  letter-spacing: 0.08em;
}

/* ========================================
   GLOBAL NAVIGATION
======================================== */
.az-global-nav {
  background: var(--primary);
  box-shadow: 0 2px 8px rgba(180,50,80,0.2);
  position: sticky;
  top: 81px; /* ヘッダーメインの高さ分 */
  z-index: 190;
}
.az-nav-list {
  list-style: none;
  margin: 0; padding: 0;
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
}
.az-nav-list li { position: relative; flex: 1; }
.az-nav-list a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 13px 6px;
  color: #fff;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-decoration: none;
  border-right: 1px solid rgba(255,255,255,0.15);
  transition: background 0.2s;
  min-height: 52px;
  text-align: center;
  line-height: 1.4;
}
.az-nav-list li:last-child a { border-right: none; }
.az-nav-list a:hover,
.az-nav-list .current-menu-item > a,
.az-nav-list .current_page_item > a {
  background: var(--primary-d);
  color: #fff;
}
/* お問い合わせ（最後のli）は水色 */
.az-nav-list li:last-child a {
  background: var(--accent);
}
.az-nav-list li:last-child a:hover {
  background: var(--accent-d);
}
/* ドロップダウン */
.az-nav-list ul {
  display: none;
  position: absolute;
  top: 100%; left: 0;
  background: var(--primary-d);
  min-width: 180px;
  z-index: 300;
  list-style: none;
  padding: 0; margin: 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.az-nav-list li:hover > ul { display: block; }
.az-nav-list ul a {
  flex-direction: row;
  justify-content: flex-start;
  padding: 10px 16px;
  font-size: 0.78rem;
  border-right: none;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  min-height: auto;
}

/* ハンバーガーボタン（PCでは非表示） */
.az-nav-toggle {
  display: none;
  background: var(--primary);
  border: none;
  color: #fff;
  padding: 14px 20px;
  font-size: 0.85rem;
  cursor: pointer;
  width: 100%;
  text-align: left;
  align-items: center;
  gap: 12px;
  letter-spacing: 0.1em;
}
.az-toggle-bar {
  display: block;
  width: 22px; height: 2px;
  background: #fff;
  transition: all 0.3s;
  flex-shrink: 0;
}
.az-toggle-label { font-size: 0.85rem; }

/* ========================================
   FOOTER
======================================== */
.az-footer { background: #2a1a22; color: rgba(255,255,255,0.45); }
.az-footer-main {
  max-width: 1200px;
  margin: 0 auto;
  padding: 52px 40px;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
}
.az-footer-logo-img { height: 44px; width: auto; margin-bottom: 16px; filter: brightness(0) invert(1) opacity(0.6); }
.az-footer-logo-text {
  font-family: 'Noto Serif JP', serif;
  font-size: 1.05rem;
  color: rgba(255,255,255,0.5);
  letter-spacing: 0.1em;
  display: block;
  margin-bottom: 16px;
}
.az-footer-address {
  font-size: 0.78rem;
  line-height: 2.2;
  color: rgba(255,255,255,0.4);
  font-style: normal;
}
.az-footer-address a { color: var(--pink-l); text-decoration: none; }
.az-footer-address a:hover { color: #fff; }
.az-footer-col-title {
  font-size: 0.75rem;
  color: var(--pink-l);
  letter-spacing: 0.18em;
  margin-bottom: 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  font-weight: 400;
  font-family: 'Noto Serif JP', serif;
}
.az-footer-links {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 9px;
}
.az-footer-links a {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.4);
  text-decoration: none;
  letter-spacing: 0.04em;
  transition: color 0.2s;
}
.az-footer-links a::before { content: '– '; color: var(--primary); font-size: 0.7rem; }
.az-footer-links a:hover { color: var(--pink-l); }
.az-footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.06);
  padding: 16px 40px;
  max-width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.7rem;
  color: rgba(255,255,255,0.22);
  letter-spacing: 0.06em;
}

/* ========================================
   RESPONSIVE - HEADER / NAV / FOOTER
======================================== */
@media (max-width: 980px) {
  .az-footer-main { grid-template-columns: 1fr 1fr; gap: 28px; }
}

@media (max-width: 780px) {
  /* ヘッダー上部帯 */
  .az-header-top { display: none; }

  /* ヘッダーメイン */
  .az-header-inner { padding: 10px 16px; }
  .az-logo-sub { display: none; }
  .az-header-tel-large { font-size: 1.2rem; }
  .az-header-tel-label { display: none; }

  /* ナビ */
  .az-global-nav { top: 57px; }
  .az-nav-toggle { display: flex !important; }
  .az-nav-list {
    display: none;
    flex-direction: column;
    max-width: 100%;
  }
  .az-nav-list.az-open { display: flex !important; }
  .az-nav-list li { flex: none; width: 100%; border-bottom: 1px solid rgba(255,255,255,0.1); }
  .az-nav-list a {
    flex-direction: row;
    justify-content: flex-start;
    padding: 13px 20px;
    border-right: none;
    min-height: auto;
    font-size: 0.88rem;
    gap: 10px;
  }
  .az-nav-list li:last-child a { border-right: none; }
  .az-nav-list ul {
    position: static;
    box-shadow: none;
    background: rgba(0,0,0,0.15);
  }
  .az-nav-list li:hover > ul { display: none; }
  .az-nav-list li.az-sub-open > ul { display: block !important; }

  /* フッター */
  .az-footer-main { grid-template-columns: 1fr; gap: 24px; padding: 32px 20px; }
  .az-footer-bottom { flex-direction: column; gap: 8px; text-align: center; padding: 14px 20px; }
}


/* ========================================
   全幅レイアウト対応
   （テンプレートファイルで class="az-fullwidth" が
     body に付いているページのみ有効）
======================================== */
body.page-template-template-furukawa #secondary,
body.page-template-template-moving #secondary {
  display: none !important;
}
body.page-template-template-furukawa #container,
body.page-template-template-moving #container {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}
body.page-template-template-furukawa #content,
body.page-template-template-moving #content {
  width: 100% !important;
  margin: 0 !important;
}


/* ========================================
   物件一覧：横並び（画像左・テキスト右）
   ※ 不動産プラグインの既存クラスに対応
======================================== */
.fudo_box {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  background: #fff !important;
  border: 1px solid var(--primary-l) !important;
  border-left: 4px solid var(--primary) !important;
  margin-bottom: 10px !important;
  padding: 12px !important;
  box-shadow: none !important;
  transition: box-shadow 0.25s !important;
}
.fudo_box:hover {
  box-shadow: 0 3px 12px rgba(212,96,122,0.12) !important;
}

/* サムネイル */
.fudo_box .fudo_image,
.fudo_box > a > img,
.fudo_box > img {
  width: 155px !important;
  min-width: 155px !important;
  height: 116px !important;
  object-fit: cover !important;
  display: block !important;
  flex-shrink: 0 !important;
}

/* テキストエリア */
.fudo_box .fudo_box_text {
  flex: 1 !important;
  min-width: 0 !important;
  padding: 0 !important;
}

/* 物件名 */
.fudo_box .fudo_box_name,
.fudo_box .fudo_name {
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: var(--text-dark) !important;
  margin: 0 0 6px !important;
  line-height: 1.5 !important;
}

/* 賃料・価格 */
.fudo_box .kakaku {
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  color: var(--primary-d) !important;
  line-height: 1 !important;
  margin: 0 0 6px !important;
}

/* 詳細テキスト（間取り・面積など） */
.fudo_box .fudo_box_detail {
  font-size: 0.8rem !important;
  color: var(--text-mid) !important;
  line-height: 1.85 !important;
  margin: 0 !important;
}

/* 詳細を見るボタン */
.fudo_box a.more,
.fudo_box .fudo_more {
  display: inline-block !important;
  margin-top: 10px !important;
  background: var(--primary) !important;
  color: #fff !important;
  padding: 6px 18px !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.12em !important;
  text-decoration: none !important;
  transition: background 0.2s !important;
  border-radius: 0 !important;
  border: none !important;
}
.fudo_box a.more:hover { background: var(--primary-d) !important; }

/* NEWバッジ */
.fudo_box .new_badge,
.fudo_box .fudo_new {
  background: var(--primary) !important;
  color: #fff !important;
  font-size: 0.65rem !important;
  padding: 2px 8px !important;
  letter-spacing: 0.1em !important;
  display: inline-block !important;
  margin-bottom: 4px !important;
}


/* ========================================
   物件詳細ページ
======================================== */

/* メイン画像エリア */
.fudo_detail_main_image img,
.fudo_detail img.main {
  width: 100% !important;
  max-height: 420px !important;
  object-fit: cover !important;
  display: block !important;
  margin-bottom: 20px !important;
}

/* サブ画像一覧 */
.fudo_sub_images,
.fudo_detail_sub {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 24px !important;
}
.fudo_sub_images img,
.fudo_detail_sub img {
  width: calc(25% - 6px) !important;
  aspect-ratio: 4/3 !important;
  object-fit: cover !important;
  cursor: pointer !important;
  transition: opacity 0.2s !important;
}
.fudo_sub_images img:hover { opacity: 0.8 !important; }

/* 物件情報テーブル */
.fudo_detail table,
.fudo_detail_table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 0.87rem !important;
  margin: 20px 0 !important;
}
.fudo_detail table th,
.fudo_detail_table th {
  background: var(--primary) !important;
  color: #fff !important;
  padding: 10px 14px !important;
  text-align: left !important;
  font-weight: 400 !important;
  width: 130px !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.06em !important;
  border: 1px solid rgba(212,96,122,0.3) !important;
}
.fudo_detail table td,
.fudo_detail_table td {
  padding: 10px 14px !important;
  border: 1px solid var(--primary-l) !important;
  background: #fff !important;
  line-height: 1.8 !important;
}
.fudo_detail table tr:nth-child(even) td,
.fudo_detail_table tr:nth-child(even) td {
  background: var(--cream) !important;
}

/* 問い合わせCTAボックス */
.fudo_detail_contact,
.fudo_contact_box {
  background: var(--primary) !important;
  color: #fff !important;
  padding: 28px 32px !important;
  text-align: center !important;
  margin-top: 32px !important;
}
.fudo_detail_contact h3,
.fudo_contact_box h3 {
  font-family: 'Noto Serif JP', serif !important;
  font-size: 1rem !important;
  font-weight: 300 !important;
  margin: 0 0 14px !important;
  letter-spacing: 0.08em !important;
  color: #fff !important;
  border: none !important;
  padding: 0 !important;
}
.fudo_detail_contact a[href^="tel"],
.fudo_contact_box a[href^="tel"] {
  font-size: 1.8rem !important;
  font-weight: 600 !important;
  color: #fff !important;
  letter-spacing: 0.1em !important;
  display: block !important;
  margin-bottom: 16px !important;
  text-decoration: none !important;
}
.fudo_detail_contact a.btn,
.fudo_contact_box a.btn {
  display: inline-block !important;
  background: #fff !important;
  color: var(--primary-d) !important;
  padding: 12px 32px !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.15em !important;
  text-decoration: none !important;
  transition: background 0.2s !important;
  margin: 4px !important;
}
.fudo_detail_contact a.btn:hover { background: var(--cream) !important; }


/* ========================================
   物件 レスポンシブ
======================================== */
@media (max-width: 640px) {
  /* 一覧：縦積みに */
  .fudo_box {
    flex-direction: column !important;
  }
  .fudo_box .fudo_image,
  .fudo_box > a > img,
  .fudo_box > img {
    width: 100% !important;
    min-width: 0 !important;
    height: 200px !important;
  }
  /* 詳細：サブ画像2列に */
  .fudo_sub_images img,
  .fudo_detail_sub img {
    width: calc(50% - 4px) !important;
  }
  /* 詳細テーブル */
  .fudo_detail table th,
  .fudo_detail_table th {
    width: 90px !important;
    font-size: 0.78rem !important;
  }
}


/* ========================================
   サイドバー重なり修正
   PC: コンテンツ左66% + サイドバー右30%
   SP: サイドバーをフッター直前へ
======================================== */

/* --- PC共通 --- */
#wrapper {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
  overflow: visible !important; /* [修正①] hidden→visible: sticky ヘッダーが内部ページで無効化されるバグを修正 */
}
#main {
  overflow: visible !important; /* [修正①] 同上 */
  padding: 20px 0 !important;
}
#container {
  box-sizing: border-box !important;
  float: left !important;
  width: 66% !important;
  margin: 0 !important;
  padding: 0 24px 0 0 !important;
}
#primary { float: none !important; width: 100% !important; margin: 0 !important; }
#content  { margin: 0 !important; width: 100% !important; }
#secondary {
  box-sizing: border-box !important;
  float: right !important;
  width: 30% !important;
  min-width: 220px !important;
  margin: 0 !important;
  padding: 0 !important;
  clear: none !important;
  display: block !important;
}
/* clearfix */
#main::after, #wrapper::after {
  content: '' !important;
  display: table !important;
  clear: both !important;
}

/* --- トップページ（front-page / home）--- */
body.home #wrapper,
body.blog #wrapper {
  max-width: 100% !important;
  padding: 0 !important;
}
body.home #container,
body.blog #container {
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
}
body.home #secondary,
body.blog #secondary {
  display: none !important;
}

/* --- 全幅テンプレートページ --- */
body.page-template-template-furukawa #wrapper,
body.page-template-template-moving #wrapper {
  max-width: 100% !important;
  padding: 0 !important;
}
body.page-template-template-furukawa #container,
body.page-template-template-moving #container {
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
}
body.page-template-template-furukawa #secondary,
body.page-template-template-moving #secondary {
  display: none !important;
}

/* --- SP：サイドバーをフッター直前に移動 --- */
@media (max-width: 780px) {
  #wrapper { padding: 0 !important; }
  #main {
    display: flex !important;
    flex-direction: column !important;
    overflow: visible !important;
    padding: 0 !important;
  }
  #container {
    float: none !important;
    width: 100% !important;
    padding: 12px 14px !important;
    order: 1 !important;
  }
  #secondary {
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 16px 14px !important;
    order: 2 !important;
    background: #fff8fb !important;
    border-top: 2px solid #f0ccd8 !important;
  }
}
/* ─── CSS変数（スコープ内のみに限定） ─── */
.az-mk-scope {
  --mk-primary:    #D4607A;
  --mk-primary-d:  #b04060;
  --mk-primary-l:  #f0ccd8;
  --mk-accent:     #4BBFD6;
  --mk-accent-d:   #3099ae;
  --mk-cream:      #fff8fb;
  --mk-text-dark:  #2a1a22;
  --mk-text-mid:   #5a3a4a;
  --mk-mist:       #fce4f0;
  --mk-gold:       #d4903a;
  --mk-warm-white: #ffffff;
}

/* ─── ページヒーロー ─── */
.az-mk-page-hero {
  background: linear-gradient(150deg, #D4607A 0%, #b04060 60%, #c05070 100%);
  padding: 52px 40px 48px;
  position: relative;
  overflow: hidden;
  /* TwentyTen の #main は overflow:hidden のため -9999px トリック不可 */
  margin-left: -40px;
  margin-right: -40px;
  padding-left: 48px;
  padding-right: 48px;
}
.az-mk-page-hero::before {
  content: '';
  position: absolute; top: -80px; right: 5%;
  width: 400px; height: 400px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.06);
  pointer-events: none;
}
.az-mk-breadcrumb {
  display: flex; gap: 6px; align-items: center;
  font-size: 0.72rem; color: rgba(255,255,255,0.45);
  letter-spacing: 0.1em; margin-bottom: 20px;
  font-family: 'Noto Sans JP', sans-serif;
}
.az-mk-breadcrumb a { color: rgba(255,255,255,0.45); text-decoration: none; }
.az-mk-breadcrumb a:hover { color: #fce4f0; }
.az-mk-hero-tag {
  font-style: italic; font-size: 0.85rem;
  letter-spacing: 0.3em; color: #4BBFD6;
  margin-bottom: 14px;
  display: flex; align-items: center; gap: 12px;
  font-family: 'Noto Sans JP', sans-serif;
}
.az-mk-hero-tag::before {
  content: ''; display: inline-block;
  width: 28px; height: 1px; background: #4BBFD6;
}
.az-mk-hero-title {
  font-family: 'Noto Serif JP', serif;
  font-weight: 300;
  font-size: clamp(1.8rem, 4vw, 3rem);
  color: #fff; letter-spacing: 0.05em; line-height: 1.3;
  margin: 0 0 14px !important;
  border: none !important; padding: 0 !important;
}
.az-mk-hero-sub {
  font-size: 0.88rem; color: rgba(255,255,255,0.68);
  font-weight: 300; max-width: 520px; line-height: 2;
  font-family: 'Noto Sans JP', sans-serif;
  margin: 0;
}

/* ─── メインレイアウト ─── */
.az-mk-layout {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 48px;
  align-items: start;
  font-family: 'Noto Sans JP', sans-serif;
  padding: 56px 0 0;
}

/* ─── セクション共通 ─── */
.az-mk-section {
  border-bottom: 1px solid rgba(212,96,122,0.15);
  padding: 52px 0;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.65s ease, transform 0.65s ease;
}
.az-mk-section.az-mk-visible { opacity: 1; transform: translateY(0); }
.az-mk-section:first-child { padding-top: 0; }
.az-mk-section:last-child { border-bottom: none; }

.az-mk-section-header {
  display: flex; gap: 20px; align-items: flex-start;
  margin-bottom: 26px;
}
.az-mk-icon-wrap {
  width: 52px; height: 52px; flex-shrink: 0;
  background: #D4607A;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem;
}
.az-mk-section-num {
  font-size: 0.7rem; letter-spacing: 0.3em;
  color: #4BBFD6; margin-bottom: 5px;
  font-family: 'Noto Sans JP', sans-serif;
}
.az-mk-section-title {
  font-family: 'Noto Serif JP', serif !important;
  font-size: 1.2rem !important; font-weight: 600 !important;
  color: #D4607A !important; letter-spacing: 0.04em !important;
  line-height: 1.4 !important;
  margin: 0 !important; border: none !important; padding: 0 !important;
}
.az-mk-body {
  font-size: 0.92rem; line-height: 2.1;
  color: #5a3a4a; font-weight: 300;
  margin: 0 0 0 0;
}
.az-mk-body + .az-mk-body { margin-top: 16px; }
.az-mk-body strong { color: #D4607A; font-weight: 500; }

/* ─── ポイントカード ─── */
.az-mk-point-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 2px; margin-top: 26px;
}
.az-mk-point-card {
  background: #fff8fb; padding: 18px 20px;
  border-top: 3px solid transparent;
  transition: border-color 0.3s;
}
.az-mk-point-card:hover { border-color: #4BBFD6; }
.az-mk-card-icon { font-size: 1.3rem; margin-bottom: 8px; }
.az-mk-card-title {
  font-family: 'Noto Serif JP', serif;
  font-size: 0.86rem; font-weight: 600;
  color: #D4607A; margin-bottom: 7px; letter-spacing: 0.04em;
}
.az-mk-card-body {
  font-size: 0.76rem; line-height: 1.9;
  color: #5a3a4a; font-weight: 300;
}
.az-mk-card-body strong { color: #D4607A; font-weight: 500; }

/* ─── チェックリスト ─── */
.az-mk-checklist { margin-top: 22px; display: flex; flex-direction: column; gap: 0; }
.az-mk-check-item {
  display: flex; gap: 13px; align-items: flex-start;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(212,96,122,0.1);
  transition: background 0.2s;
}
.az-mk-check-item:first-child { border-top: 1px solid rgba(212,96,122,0.1); }
.az-mk-check-item:hover { background: rgba(75,191,214,0.05); }
.az-mk-check-mark {
  width: 20px; height: 20px; flex-shrink: 0;
  border: 1.5px solid #4BBFD6; border-radius: 2px;
  display: flex; align-items: center; justify-content: center;
  margin-top: 2px;
}
.az-mk-check-mark::after { content: '✓'; font-size: 0.62rem; color: #4BBFD6; }
.az-mk-check-text { font-size: 0.86rem; color: #5a3a4a; line-height: 1.85; }
.az-mk-check-text strong { color: #D4607A; font-weight: 500; }

/* ─── タイムライン ─── */
.az-mk-timeline { margin-top: 22px; display: flex; flex-direction: column; gap: 0; }
.az-mk-tl-item {
  display: grid;
  grid-template-columns: 84px 1fr;
  position: relative;
}
.az-mk-tl-item::before {
  content: '';
  position: absolute; left: 41px; top: 38px; bottom: -1px;
  width: 2px; background: rgba(212,96,122,0.2);
}
.az-mk-tl-item:last-child::before { display: none; }
.az-mk-tl-left {
  padding: 14px 0;
  display: flex; flex-direction: column; align-items: center;
  position: relative;
}
.az-mk-tl-dot {
  width: 18px; height: 18px; border-radius: 50%;
  background: #D4607A; border: 3px solid #fce4f0;
  z-index: 1; flex-shrink: 0;
}
.az-mk-tl-timing {
  font-size: 0.62rem; color: #4BBFD6;
  letter-spacing: 0.08em; margin-top: 5px;
  text-align: center; line-height: 1.4;
}
.az-mk-tl-right {
  padding: 10px 0 26px 18px;
  border-bottom: 1px solid rgba(212,96,122,0.12);
}
.az-mk-tl-item:last-child .az-mk-tl-right { border-bottom: none; }
.az-mk-tl-title {
  font-family: 'Noto Serif JP', serif;
  font-size: 0.9rem; font-weight: 600;
  color: #D4607A; margin-bottom: 5px;
}
.az-mk-tl-desc {
  font-size: 0.8rem; color: #5a3a4a; line-height: 1.9;
}

/* ─── 家電リサイクル表 ─── */
.az-mk-recycle-table {
  width: 100%; border-collapse: collapse;
  margin-top: 18px; font-size: 0.82rem;
}
.az-mk-recycle-table th {
  background: #D4607A; color: rgba(255,255,255,0.88);
  padding: 10px 14px; text-align: left;
  font-weight: 400; letter-spacing: 0.06em;
}
.az-mk-recycle-table td {
  padding: 10px 14px;
  border-bottom: 1px solid rgba(212,96,122,0.12);
  color: #5a3a4a;
}
.az-mk-recycle-table tr:nth-child(even) td { background: #fff8fb; }
.az-mk-recycle-table tr:hover td { background: rgba(75,191,214,0.06); }

/* ─── 警告バー ─── */
.az-mk-alert {
  margin-top: 18px;
  background: rgba(212,96,122,0.07);
  border-left: 4px solid #d4708a;
  padding: 13px 18px;
  font-size: 0.83rem; color: #5a3a4a; line-height: 1.9;
}
.az-mk-alert strong { color: #b04060; }

/* ─── インフォボックス ─── */
.az-mk-info-box {
  margin-top: 26px;
  background: #fff;
  border: 1px solid rgba(75,191,214,0.2);
  border-left: 4px solid #4BBFD6;
  padding: 20px 24px;
}
.az-mk-info-title {
  font-family: 'Noto Serif JP', serif;
  font-size: 0.86rem; font-weight: 600;
  color: #D4607A; margin-bottom: 10px;
  display: flex; align-items: center; gap: 7px;
  padding-bottom: 9px;
  border-bottom: 1px solid rgba(212,96,122,0.12);
}
.az-mk-info-body {
  font-size: 0.8rem; line-height: 2; color: #5a3a4a;
}
.az-mk-info-body a { color: #4BBFD6; text-decoration: underline; text-underline-offset: 3px; }
.az-mk-info-body a:hover { color: #D4607A; }

/* ─── サイドバー ─── */
.az-mk-sidebar {
  display: flex; flex-direction: column; gap: 14px;
  font-family: 'Noto Sans JP', sans-serif;
}
.az-mk-sb-contact {
  background: #D4607A; padding: 22px 20px;
}
.az-mk-sb-contact-title {
  font-family: 'Noto Serif JP', serif;
  font-size: 0.83rem; color: #fce4f0;
  letter-spacing: 0.1em; margin-bottom: 6px; font-weight: 300;
}
.az-mk-sb-tel {
  font-family: 'Cormorant Garamond', 'Georgia', serif;
  font-size: 1.8rem; color: #fff; letter-spacing: 0.06em;
  display: block; margin-bottom: 3px; text-decoration: none;
}
.az-mk-sb-tel:hover { color: #fce4f0; }
.az-mk-sb-hours {
  font-size: 0.68rem; color: rgba(255,255,255,0.45);
  letter-spacing: 0.1em; margin-bottom: 14px;
}
.az-mk-sb-btn {
  display: block; background: rgba(255,255,255,0.12);
  color: #fff !important; text-align: center; text-decoration: none !important;
  padding: 10px 16px; font-size: 0.78rem;
  letter-spacing: 0.12em; transition: background 0.3s;
  margin-top: 6px;
}
.az-mk-sb-btn:first-of-type { background: rgba(255,255,255,0.2); }
.az-mk-sb-btn:hover { background: rgba(255,255,255,0.28); }

.az-mk-sb-card {
  background: #fff8fb; padding: 20px 18px;
  border-top: 3px solid #D4607A;
}
.az-mk-sb-card-title {
  font-family: 'Noto Serif JP', serif;
  font-size: 0.86rem; font-weight: 600;
  color: #D4607A; letter-spacing: 0.07em;
  margin-bottom: 13px; padding-bottom: 9px;
  border-bottom: 1px solid #fce4f0;
  display: flex; align-items: center; gap: 7px;
}
.az-mk-sb-links { display: flex; flex-direction: column; gap: 2px; }
.az-mk-sb-link {
  display: flex; align-items: center; justify-content: space-between;
  padding: 9px 11px;
  font-size: 0.76rem; color: #5a3a4a;
  text-decoration: none;
  background: #fff; border: 1px solid rgba(212,96,122,0.1);
  transition: all 0.2s;
}
.az-mk-sb-link:hover { color: #D4607A; border-color: #4BBFD6; }
.az-mk-sb-link-arrow { font-size: 0.58rem; color: #4BBFD6; }

.az-mk-sb-city {
  background: #fff8fb; padding: 20px 18px;
  border-top: 3px solid #d4903a;
  font-size: 0.76rem; color: #5a3a4a; line-height: 2;
}
.az-mk-sb-city-title {
  font-family: 'Noto Serif JP', serif;
  font-size: 0.86rem; font-weight: 600;
  color: #d4903a; letter-spacing: 0.07em;
  margin-bottom: 12px; padding-bottom: 9px;
  border-bottom: 1px solid rgba(212,144,58,0.2);
  display: flex; align-items: center; gap: 7px;
}
.az-mk-sb-city-note {
  margin-top: 9px; font-size: 0.7rem; color: #999; line-height: 1.8;
}

/* ─── CTA ─── */
.az-mk-cta {
  background: #b04060;
  padding: 64px 40px; text-align: center;
  /* TwentyTen の overflow:hidden 対策 */
  margin-left: -40px;
  margin-right: -40px;
  padding-left: 48px;
  padding-right: 48px;
  font-family: 'Noto Sans JP', sans-serif;
}
.az-mk-cta-tag {
  font-style: italic; font-size: 0.82rem;
  letter-spacing: 0.3em; color: #4BBFD6;
  margin-bottom: 14px;
}
.az-mk-cta-title {
  font-family: 'Noto Serif JP', serif !important;
  font-weight: 300 !important;
  font-size: clamp(1.5rem, 3vw, 2.2rem) !important;
  color: #fff !important; letter-spacing: 0.06em !important;
  margin: 0 0 14px !important; line-height: 1.6 !important;
  border: none !important; padding: 0 !important;
}
.az-mk-cta-sub {
  font-size: 0.86rem; color: rgba(255,255,255,0.62);
  line-height: 2; margin-bottom: 36px;
}
.az-mk-cta-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.az-mk-cta-btn-p {
  display: inline-block; background: #fce4f0;
  color: #D4607A !important; padding: 14px 40px;
  font-size: 0.85rem; letter-spacing: 0.16em;
  font-weight: 500; text-decoration: none !important;
  transition: all 0.3s;
}
.az-mk-cta-btn-p:hover { background: #fff; transform: translateY(-2px); }
.az-mk-cta-btn-s {
  display: inline-block;
  border: 1.5px solid rgba(255,255,255,0.45);
  color: rgba(255,255,255,0.82) !important; padding: 14px 40px;
  font-size: 0.85rem; letter-spacing: 0.16em;
  text-decoration: none !important; transition: all 0.3s;
}
.az-mk-cta-btn-s:hover { border-color: #fff; color: #fff !important; transform: translateY(-2px); }

/* ─── レスポンシブ ─── */
@media (max-width: 860px) {
  .az-mk-layout {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 40px 0 0;
  }
  .az-mk-sidebar { order: -1; }
  .az-mk-point-cards { grid-template-columns: 1fr; }
  .az-mk-page-hero { padding: 48px 20px 44px; }
  .az-mk-cta { padding: 52px 20px; }
}
@media (max-width: 480px) {
  .az-mk-tl-item { grid-template-columns: 70px 1fr; }
}


/* ========================================
   TwentyTen テーマ専用 競合修正
   ======================================== */

/* TwentyTen の #content p の margin-bottom をリセット */
#content .az-mk-scope p {
  margin-bottom: 0;
}

/* TwentyTen の h2 上書きを防ぐ */
#content .az-mk-section-title {
  font-size: 1.2rem !important;
  color: #D4607A !important;
  font-weight: 600 !important;
  font-family: 'Noto Serif JP', serif !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

/* TwentyTen の ul/ol スタイルがチェックリストに干渉しないよう */
#content .az-mk-checklist,
#content .az-mk-checklist * {
  list-style: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}


/* ========================================
   [追加] トップページ用 デザインシステム
   cute & warm テイスト (v3.0)
   ======================================== */

/* ── CSS変数（新デザイン用） ── */
:root {
  --az-ivory:     #FFFCF8;
  --az-blush:     #F9EEE8;
  --az-peach:     #F2C9B8;
  --az-rose:      #E07A6A;
  --az-rose-d:    #C45A4A;
  --az-rose-l:    #FBE8E4;
  --az-mint:      #D4EDE0;
  --az-mint-d:    #4A9A72;
  --az-mint-l:    #EAF7F0;
  --az-sky:       #D8EEF8;
  --az-sky-d:     #4080B0;
  --az-sand:      #F5EDDC;
  --az-sand-d:    #C8903A;
  --az-sand-l:    #FBF4E8;
  --az-brown:     #6A4E38;
  --az-line:      #06C755;
  --az-txt:       #3A2E28;
  --az-txt2:      #7A6860;
  --az-txt3:      #B0A098;
}

/* ── 全幅セクション基盤（[修正②]） ──
   モックアップの .wrap を廃止し、
   WordPress の #az-page-wrap に直接接続する構造 */
#az-page-wrap {
  background: var(--az-ivory);
}

/* 各セクションの全幅背景 */
.az-section {
  width: 100%;
}
.az-section-ivory  { background: var(--az-ivory); }
.az-section-blush  { background: var(--az-blush); }
.az-section-rose-l { background: var(--az-rose-l); }
.az-section-sand   { background: var(--az-sand); }
.az-section-brown  { background: var(--az-brown); }
.az-section-rose   { background: var(--az-rose); }

/* セクション内コンテンツ幅制限（[修正②]）*/
.az-inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 40px 24px;
}
.az-inner-wide {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 24px;
}
.az-inner-flush {
  /* ヒーローセクション用：左右padding なし */
  max-width: 1200px;
  margin: 0 auto;
}

/* ── ヒーローセクション ── */
.az-hero {
  background: linear-gradient(135deg, #FDF5F0 0%, #FBE8E4 60%, #F8F0F8 100%);
  overflow: hidden;
  position: relative;
}
.az-hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: stretch;
  min-height: 340px;
  position: relative;
  z-index: 1;
}
/* デコレーション ブロブ */
.az-hero::before {
  content: '';
  position: absolute;
  top: -40px; right: 280px;
  width: 180px; height: 180px;
  border-radius: 50%;
  background: var(--az-rose);
  opacity: 0.2;
  pointer-events: none;
}
.az-hero::after {
  content: '';
  position: absolute;
  bottom: -30px; left: 20px;
  width: 140px; height: 140px;
  border-radius: 50%;
  background: var(--az-mint-d);
  opacity: 0.14;
  pointer-events: none;
}

/* ヒーロー：テキストエリア */
.az-hero-text {
  padding: 44px 0 36px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.az-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  border-radius: 40px;
  padding: 6px 14px;
  margin-bottom: 18px;
  border: 1.5px solid var(--az-peach);
  font-size: 11px;
  font-weight: 700;
  color: var(--az-rose-d);
  letter-spacing: 0.5px;
  width: fit-content;
}
.az-hero-eyebrow::before {
  content: '';
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--az-rose);
}
.az-hero-title {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: clamp(1.5rem, 3vw, 1.9rem) !important;
  font-weight: 800 !important;
  color: var(--az-txt) !important;
  line-height: 1.55 !important;
  margin-bottom: 12px !important;
  border: none !important;
  padding: 0 !important;
}
.az-hero-title em {
  color: var(--az-rose);
  font-style: normal;
}
.az-hero-desc {
  font-size: 13px;
  color: var(--az-txt2);
  line-height: 1.8;
  margin-bottom: 24px;
}
.az-hero-btns {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* ヒーロー：SVGイラストエリア */
.az-hero-illust {
  width: 340px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0 20px;
  flex-shrink: 0;
}

/* ヒーロー：検索パネル（フローティング） */
.az-hero-search {
  width: 260px;
  background: #fff;
  border-radius: 20px 20px 0 0;
  margin: 20px 20px 0;
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-self: flex-end;
  border: 2px solid var(--az-blush);
  border-bottom: none;
  flex-shrink: 0;
}
.az-hero-search-title {
  font-size: 15px;
  font-weight: 800;
  color: var(--az-txt);
  margin-bottom: 4px;
}
.az-hero-search select {
  width: 100%;
  padding: 10px 14px;
  border: 2px solid var(--az-blush) !important;
  border-radius: 12px !important;
  font-size: 13px;
  color: var(--az-txt);
  background: var(--az-ivory);
  -webkit-appearance: none;
  outline: none;
}
.az-hero-search select:focus {
  border-color: var(--az-rose) !important;
}

/* ── ボタン系 ── */
.az-btn {
  border: none;
  cursor: pointer;
  font-weight: 700;
  border-radius: 40px;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  transition: opacity 0.2s, transform 0.15s;
  letter-spacing: 0.3px;
  white-space: nowrap;
}
.az-btn:hover { opacity: 0.88; transform: translateY(-1px); }
.az-btn-rose    { background: var(--az-rose);   color: #fff !important; padding: 13px 26px; }
.az-btn-outline { background: #fff;              color: var(--az-rose-d) !important; padding: 11px 24px; border: 2px solid var(--az-peach); }
.az-btn-mint    { background: var(--az-mint-d);  color: #fff !important; padding: 13px 26px; }
.az-btn-line    { background: var(--az-line);    color: #fff !important; padding: 13px 26px; }
.az-btn-full    { width: 100%; }

/* ── 目的別ナビ 4分割 ── */
.az-purpose-nav {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  padding: 20px 24px;
  background: #fff;
  border-bottom: 1px solid var(--az-blush);
}
.az-purpose-item {
  background: #fff;
  border-radius: 16px;
  border: 1.5px solid #F0E8E0;
  padding: 16px 10px;
  text-align: center;
  cursor: pointer;
  text-decoration: none !important;
  transition: transform 0.15s, box-shadow 0.15s;
  display: block;
}
.az-purpose-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}
.az-purpose-item-icon {
  font-size: 28px;
  margin-bottom: 6px;
  display: block;
}
.az-purpose-item-label {
  font-size: 15px;
  font-weight: 700;
  display: block;
  margin-bottom: 4px;
}
.az-purpose-item-sub {
  font-size: 12px;
  color: var(--az-txt3);
  display: block;
}
.az-purpose-rent  .az-purpose-item-label { color: var(--az-rose-d); }
.az-purpose-buy   .az-purpose-item-label { color: var(--az-sky-d); }
.az-purpose-sell  .az-purpose-item-label { color: var(--az-mint-d); }
.az-purpose-move  .az-purpose-item-label { color: var(--az-sand-d); }
.az-purpose-rent  { border-color: #F0C0CF; }
.az-purpose-buy   { border-color: #B8D0E8; }
.az-purpose-sell  { border-color: #B8E0D0; }
.az-purpose-move  { border-color: #E0D0B8; }

/* ── セクションヘッダー共通 ── */
.az-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 22px;
}
.az-section-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--az-rose);
  display: block;
  margin-bottom: 5px;
}
.az-section-title {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: var(--az-txt) !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.az-section-more {
  font-size: 13px;
  color: var(--az-rose-d);
  font-weight: 700;
  text-decoration: none;
  background: var(--az-rose-l);
  padding: 8px 18px;
  border-radius: 20px;
  border: 1.5px solid var(--az-peach);
  white-space: nowrap;
  flex-shrink: 0;
}
.az-section-more:hover { background: var(--az-peach); }

/* ── 物件カードグリッド（新デザイン） ── */
.az-property-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.az-prop-card {
  background: #fff;
  border-radius: 16px !important;
  border: 1.5px solid #F0E8E0 !important;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
}
.az-prop-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(60,30,20,0.1);
}
.az-prop-thumb {
  height: 155px;
  overflow: hidden;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.az-prop-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0 !important;
}
.az-prop-badge {
  position: absolute;
  top: 10px; left: 10px;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
}
.az-prop-badge-rose  { background: var(--az-rose);   color: #fff; }
.az-prop-badge-mint  { background: var(--az-mint-d);  color: #fff; }
.az-prop-badge-sand  { background: var(--az-sand-d);  color: #fff; }
.az-prop-type {
  position: absolute;
  top: 10px; right: 10px;
  background: rgba(60,30,20,0.45);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 20px;
}
.az-prop-body {
  padding: 16px;
}
.az-prop-address {
  font-size: 11px;
  color: var(--az-txt3);
  margin-bottom: 4px;
}
.az-prop-name {
  font-size: 13px;
  font-weight: 700;
  color: var(--az-txt);
  margin-bottom: 10px;
  line-height: 1.45;
}
.az-prop-price {
  font-size: 24px;
  font-weight: 800;
  margin-bottom: 10px;
  line-height: 1;
}
.az-prop-price-unit {
  font-size: 12px;
  color: var(--az-txt3);
  font-weight: 400;
}
.az-prop-price-rose { color: var(--az-rose-d); }
.az-prop-price-mint { color: var(--az-mint-d); }
.az-prop-price-sand { color: var(--az-sand-d); }
.az-prop-tags {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.az-prop-tag {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
  background: var(--az-sand-l);
  color: var(--az-sand-d);
}
.az-prop-btn {
  border-radius: 30px !important;
  padding: 10px !important;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  display: block;
  text-decoration: none !important;
  transition: opacity 0.2s;
}
.az-prop-btn-rose { background: var(--az-rose-l); color: var(--az-rose-d) !important; }
.az-prop-btn-mint { background: var(--az-mint-l);  color: var(--az-mint-d) !important; }
.az-prop-btn-sand { background: var(--az-sand-l);  color: var(--az-sand-d) !important; }
.az-prop-btn:hover { opacity: 0.8; }

/* ── 暮らしガイドカード（2列） ── */
.az-guide-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.az-guide-card {
  background: #fff;
  border-radius: 16px;
  border: 1.5px solid #F0E8E0;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.15s;
}
.az-guide-card:hover { transform: translateY(-2px); }
.az-guide-thumb {
  height: 145px;
  overflow: hidden;
  position: relative;
}
.az-guide-body {
  padding: 18px 20px;
}
.az-guide-title {
  font-size: 15px !important;
  font-weight: 800 !important;
  color: var(--az-txt) !important;
  margin-bottom: 7px !important;
  border: none !important;
  padding: 0 !important;
}
.az-guide-desc {
  font-size: 12px;
  color: var(--az-txt2);
  line-height: 1.8;
  margin-bottom: 14px;
}
.az-guide-btn {
  border-radius: 30px;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  text-decoration: none !important;
  display: block;
  transition: opacity 0.2s;
}
.az-guide-btn:hover { opacity: 0.8; }
.az-guide-btn-sky  { background: var(--az-sky);   color: var(--az-sky-d) !important; }
.az-guide-btn-sand { background: var(--az-sand-l); color: var(--az-sand-d) !important; }

/* ── 選ばれる理由 3列 ── */
.az-reason-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.az-reason-card {
  background: #fff;
  border-radius: 16px;
  border: 1.5px solid #F0E8E0;
  padding: 28px 20px;
  text-align: center;
}
.az-reason-icon {
  width: 70px; height: 70px;
  margin: 0 auto 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.az-reason-icon-rose { background: var(--az-rose-l); }
.az-reason-icon-mint { background: var(--az-mint-l); }
.az-reason-icon-sand { background: var(--az-sand-l); }
.az-reason-title {
  font-size: 14px !important;
  font-weight: 800 !important;
  margin-bottom: 10px !important;
  border: none !important;
  padding: 0 !important;
}
.az-reason-title-rose { color: var(--az-rose-d) !important; }
.az-reason-title-mint { color: var(--az-mint-d) !important; }
.az-reason-title-sand { color: var(--az-sand-d) !important; }
.az-reason-desc {
  font-size: 12px;
  color: var(--az-txt2);
  line-height: 1.9;
}

/* ── CTA セクション ── */
.az-cta-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  max-width: 660px;
  margin: 0 auto;
}
.az-cta-tel {
  background: #fff;
  border-radius: 16px;
  border: 1.5px solid #F0E8E0;
  padding: 18px 12px;
  text-align: center;
  cursor: pointer;
}
.az-cta-tel-label { font-size: 11px; color: var(--az-txt3); display: block; margin-bottom: 6px; }
.az-cta-tel-num { font-size: 18px; font-weight: 800; color: var(--az-rose-d); letter-spacing: 1px; text-decoration: none; display: block; }

/* ── レスポンシブ（新デザイン） ── */
@media (max-width: 860px) {
  .az-hero-inner {
    flex-direction: column;
    min-height: auto;
    padding-bottom: 0;
  }
  .az-hero-illust { width: 100%; padding: 20px 0 0; justify-content: center; }
  .az-hero-search {
    width: 100%;
    border-radius: 16px 16px 0 0;
    margin: 0;
  }
  .az-purpose-nav { grid-template-columns: repeat(2, 1fr); }
  .az-property-grid { grid-template-columns: 1fr 1fr; }
  .az-guide-grid { grid-template-columns: 1fr; }
  .az-reason-grid { grid-template-columns: 1fr; }
  .az-cta-grid { grid-template-columns: 1fr; max-width: 400px; }
}
@media (max-width: 540px) {
  .az-property-grid { grid-template-columns: 1fr; }
  .az-inner, .az-inner-wide { padding: 28px 16px; }
}

/* ── フローティングCTAバー（SP） ── */
.az-float-cta {
  display: none;
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: #fff;
  border-top: 2px solid var(--az-rose);
  padding: 10px 12px;
  z-index: 9999;
  box-shadow: 0 -4px 16px rgba(0,0,0,0.12);
}
.az-float-cta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 6px;
  max-width: 480px;
  margin: 0 auto;
}
.az-float-cta-item {
  border-radius: 10px;
  padding: 10px 4px;
  text-align: center;
  cursor: pointer;
  text-decoration: none !important;
  display: block;
}
.az-float-cta-item-label { font-size: 13px; font-weight: 700; display: block; color: #fff; }
.az-float-cta-item-sub   { font-size: 11px; margin-top: 2px; display: block; color: rgba(255,255,255,0.85); }
.az-float-rose { background: var(--az-rose); }
.az-float-dark { background: #3A2E28; }
.az-float-line { background: var(--az-line); }
@media (max-width: 780px) {
  .az-float-cta { display: block; }
  body { padding-bottom: 70px; } /* フローティングバー分の余白 */
}


/* =====================================================
   [修正⑥] flex / grid 強制適用パッチ v3.1
   原因：TwentyTenリセットCSS・fudouCSSとの競合で
         display:flex / grid が上書きされていた
   対策：!important で全レイアウト定義を上書き
   ===================================================== */

/* ---- ヒーロー：横並び3カラム ---- */
.az-hero-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
  min-height: 320px !important;
}
.az-hero-text {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  padding: 36px 0 28px !important;
  display: block !important;
}
.az-hero-illust {
  width: 300px !important;
  min-width: 200px !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  padding: 0 16px !important;
}
.az-hero-search {
  width: 260px !important;
  min-width: 200px !important;
  flex-shrink: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  background: #fff !important;
  border-radius: 20px 20px 0 0 !important;
  margin: 20px 20px 0 !important;
  padding: 24px 20px !important;
  align-self: flex-end !important;
  border: 2px solid #F9EEE8 !important;
  border-bottom: none !important;
}

/* ---- ヒーローのH1：TwentyTen clear:both を解除 ---- */
.az-hero-title,
.az-hero-text h1 {
  clear: none !important;
}

/* ---- 物件カード：3列グリッド ---- */
.az-property-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

/* ---- 暮らしガイド：2列グリッド ---- */
.az-guide-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

/* ---- 選ばれる理由：3列グリッド ---- */
.az-reason-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

/* ---- CTA：3列グリッド ---- */
.az-cta-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

/* ---- セクション全幅 ---- */
.az-section {
  width: 100% !important;
  box-sizing: border-box !important;
  clear: both !important;
}
.az-inner,
.az-inner-wide {
  box-sizing: border-box !important;
}

/* ---- az-section内のfloat解除 ---- */
.az-hero-inner::after,
.az-property-grid::after,
.az-guide-grid::after,
.az-reason-grid::after {
  content: '' !important;
  display: table !important;
  clear: both !important;
}

/* ---- タブレット（860px以下）---- */
@media screen and (max-width: 860px) {
  .az-hero-inner {
    flex-direction: column !important;
    min-height: auto !important;
  }
  .az-hero-illust {
    width: 100% !important;
    min-width: 0 !important;
    padding: 20px 0 0 !important;
    justify-content: center !important;
  }
  .az-hero-search {
    width: 100% !important;
    min-width: 0 !important;
    border-radius: 16px 16px 0 0 !important;
    margin: 0 !important;
  }
  .az-property-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .az-guide-grid,
  .az-reason-grid {
    grid-template-columns: 1fr !important;
  }
  .az-cta-grid {
    grid-template-columns: 1fr !important;
    max-width: 400px !important;
    margin: 0 auto !important;
  }
}

/* ---- スマートフォン（600px以下）---- */
@media screen and (max-width: 600px) {
  .az-property-grid {
    grid-template-columns: 1fr !important;
  }
  .az-inner,
  .az-inner-wide {
    padding: 24px 14px !important;
  }
}


/* =====================================================
   [2026-10-09] 手書き指示による改修（①〜④）
   ===================================================== */

/* ---- ② メニュー：表示されていなかった原因の修正 ----
   原因：ナビの CSS が使う --primary / --primary-d / --accent / --accent-d が
         どこにも定義されておらず、背景が透明・白文字のため見えなかった。
   対策：既存の配色（--pink / --blue 系）をナビの中だけで割り当てる。
         ナビ以外（ヘッダーの電話番号など）の色は変えない。 */
.az-global-nav {
  --primary:   var(--pink);
  --primary-d: var(--pink-d);
  --primary-l: var(--pink-l);
  --accent:    var(--blue);
  --accent-d:  var(--blue-d);
}

/* ---- ③ ヒーロー：左（テキスト・イラスト・検索）＋右（おすすめ物件） ---- */
.az-hero-inner {
  gap: 32px !important;
}
.az-hero-left {
  flex: 0 0 400px;
  width: 400px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.az-hero-left .az-hero-text {
  flex: none !important;
  width: 100%;
  padding: 36px 0 12px !important;
}
.az-hero-left .az-hero-search {
  align-self: flex-start !important;
}

.az-hero-reco {
  flex: 1 1 0%;
  min-width: 0;
  padding: 36px 0 32px;
}
.az-hero-reco-head {
  margin-bottom: 12px;
}
.az-hero-reco-title {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: var(--az-txt) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  height: auto !important;
  clear: none !important;
}
.az-hero-reco .az-reco-widget {
  background: #fff;
  border: 2px solid var(--az-blush);
  border-radius: 20px;
  padding: 6px 20px;
}
.az-hero-reco ul.grid-content {
  display: block !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.az-hero-reco ul.grid-content li {
  display: block !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 14px 0 !important;
  border: none !important;
  border-bottom: 1px dashed #F0E0D8 !important;
  position: relative;
  overflow: hidden;
  font-size: 13px;
  line-height: 1.7;
  color: var(--az-txt);
}
.az-hero-reco ul.grid-content li:last-child {
  border-bottom: none !important;
}
/* 画像（左） */
.az-hero-reco ul.grid-content li > a:first-of-type,
.az-hero-reco ul.grid-content li > img.box1image {
  float: left;
  width: 120px;
  margin: 0 16px 0 0;
}
.az-hero-reco ul.grid-content li img.box1image {
  display: block;
  width: 120px !important;
  height: 90px !important;
  max-width: none !important;
  object-fit: cover;
  border-radius: 10px;
  margin: 0 !important;
}
/* テキスト（右） */
.az-hero-reco .top_title {
  font-size: 14px;
  font-weight: 700;
  color: var(--az-txt);
}
.az-hero-reco .top_price {
  font-size: 15px;
  font-weight: 800;
  color: var(--az-rose-d);
}
.az-hero-reco .top_madori {
  font-weight: 700;
}
.az-hero-reco .top_shozaichi,
.az-hero-reco .top_kotsu {
  font-size: 12px;
  color: var(--az-txt2);
}
.az-hero-reco .top_r_footer {
  overflow: hidden;
  margin-top: 2px;
}
.az-hero-reco .box1low {
  padding: 0;
}
.az-hero-reco .box1low a {
  font-size: 12px;
  font-weight: 700;
  color: var(--az-rose-d);
  text-decoration: none;
}
/* NEW / UP マークは写真の左上に */
.az-hero-reco .new_mark {
  top: 18px !important;
  left: 4px !important;
  right: auto !important;
  z-index: 1;
}
.az-hero-reco-notice {
  font-size: 12px;
  color: var(--az-rose-d);
  background: #fff;
  border: 1px dashed var(--az-rose);
  border-radius: 10px;
  padding: 10px 14px;
}

/* ---- ④ お問い合わせ：「お電話」「メール」を大きく ---- */
.az-cta-tel-label {
  font-size: 22px !important;
  font-weight: 800 !important;
}
.az-cta-mail-label {
  display: block;
  font-size: 22px;
  font-weight: 800;
  color: #fff;
}

/* ---- タブレット・スマホ（860px以下）：縦一列に ---- */
@media screen and (max-width: 860px) {
  .az-hero-inner {
    gap: 0 !important;
  }
  .az-hero-left {
    flex: none;
    width: 100%;
  }
  .az-hero-reco {
    padding: 24px 0 28px;
  }
}


/* =====================================================
   [2026-10-09 第2弾] 手書き指示による改修
   ===================================================== */

/* ---- ㋐ メニューの緑化は 2026-10-09 ご指示により取り消し（ピンクのまま） ---- */

/* ---- ㋑ おすすめ物件：1件ずつ白いカードに ---- */
.az-hero-reco .az-reco-widget {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
}
.az-hero-reco ul.grid-content li {
  background: #fff !important;
  border: 2px solid var(--az-blush) !important;
  border-radius: 14px;
  padding: 14px 16px !important;
  margin: 0 0 12px !important;
  box-shadow: 0 2px 8px rgba(160, 90, 80, 0.06);
}
.az-hero-reco ul.grid-content li:last-child {
  border-bottom: 2px solid var(--az-blush) !important;
  margin-bottom: 0 !important;
}
.az-hero-reco .new_mark {
  top: 20px !important;
  left: 20px !important;
}

/* ---- ㋒ 目的別ボタン：[賃] などの後で改行 ---- */
.az-purpose-item-label {
  display: block;
  text-align: center;
  line-height: 1.5;
}
.az-purpose-item-word {
  white-space: nowrap;
}


/* =====================================================
   固定ページ（az-std-page）共通レイアウト
   見出し1つ → 左に本文・右にサイドバー → 下にフッター
   ===================================================== */

/* 囲み：最大幅と回り込みの解除（フッターが本文に重なる不具合の対策） */
body.az-std-page #az-page-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 28px 20px 48px;
  box-sizing: border-box;
  display: flow-root;
}

/* 左：本文 */
body.az-std-page #container {
  float: left !important;
  width: 68% !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.az-std-page #content {
  padding: 0 !important;
  max-width: none !important;
}

/* 右：サイドバー（親テーマは #primary にウィジェットを出す） */
body.az-std-page #primary,
body.az-std-page #secondary {
  float: right !important;
  clear: right !important;
  width: 29% !important;
  min-width: 0 !important;
  margin: 0 0 20px !important;
  padding: 18px 16px !important;
  box-sizing: border-box !important;
  background: var(--pink-pale);
  border-radius: 12px;
  display: block !important;
}
body.az-std-page #primary ul.xoxo,
body.az-std-page #secondary ul.xoxo {
  list-style: none;
  margin: 0;
  padding: 0;
}
body.az-std-page .widget-area select,
body.az-std-page .widget-area input[type="text"] {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}
body.az-std-page .widget-area img {
  max-width: 100%;
  height: auto;
}

/* 地図を本文の幅いっぱいに */
body.az-std-page #map_primary {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 500px !important;
  margin: 0 0 24px !important;
}
body.az-std-page #map_canvas {
  float: none !important;
  width: 100% !important;
  height: 100% !important;
}
body.az-std-page .entry-content iframe[src*="google.com/maps"],
body.az-std-page .entry-content iframe[src*="maps.google"] {
  width: 100% !important;
  max-width: 100% !important;
  height: 400px !important;
  border: 0;
}

/* ---- 物件マップ（fmap.php を iframe で表示）を本文幅いっぱいに（2026-10-09 追加） ----
   原因：物件マップのページは fudoumap の fmap.php を iframe で読み込んでおり、
         iframe に幅・高さの指定がないため、ブラウザ既定の 300×150px で表示されていた。
         前回の指定（#map_primary）は iframe の外からは効かなかった。
   対策：fmap.php を読み込む iframe 自体の幅・高さを指定する。 */
body.az-std-page .entry-content iframe[src*="fmap.php"] {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: 500px !important;
  border: 0;
  margin: 0 0 24px;
}
body.az-std-page .entry-content figure:has(iframe[src*="fmap.php"]),
body.az-std-page .entry-content .wp-block-embed__wrapper:has(iframe[src*="fmap.php"]) {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0;
  margin-right: 0;
}
@media screen and (max-width: 780px) {
  body.az-std-page .entry-content iframe[src*="fmap.php"] {
    height: 360px !important;
  }
}

/* スマホ・タブレット（780px以下）：縦1列（本文 → サイドバー） */
@media screen and (max-width: 780px) {
  body.az-std-page #az-page-wrap {
    padding: 20px 14px 36px;
  }
  body.az-std-page #container,
  body.az-std-page #primary,
  body.az-std-page #secondary {
    float: none !important;
    width: 100% !important;
  }
  body.az-std-page #container {
    margin-bottom: 24px !important;
  }
  body.az-std-page #map_primary {
    height: 360px !important;
  }
}


/* ---- ハンバーガーボタン：3本線を縦に重ねる（2026-10-09 修正） ----
   原因：ボタンが display:flex（横並び）で、3本線と「メニュー」が
         すべて横一列に並んでいた。
   対策：グリッドで「左列に3本線を縦に3段・右列に文字」と配置する。
         header.php は変更しない。 */
@media (max-width: 780px) {
  .az-nav-toggle {
    display: grid !important;
    grid-template-columns: 22px auto;
    grid-template-rows: repeat(3, 2px);
    row-gap: 5px;
    column-gap: 12px;
    align-content: center;
    align-items: center;
    justify-content: start;
  }
  .az-nav-toggle .az-toggle-bar {
    grid-column: 1;
  }
  .az-nav-toggle .az-toggle-label {
    grid-column: 2;
    grid-row: 1 / span 3;
    line-height: 1;
  }
}

/* ---- サイドバー見出し（「まとめて検索」等）の背景色（2026-10-09 修正・A案 #D4607A 承認済み） ----
   原因：不動産プラグインの corners2010.css の
         「#secondary .widget-container h3 { background:#f9f9f9 }」が
         子テーマの .widget-title の背景（ピンク）より強く効き、白背景に白文字になっていた。
   対策：同じ強さ以上の指定で、背景をメニューと同じピンク（--pink）に戻す。 */
#primary .widget-container h3.widget-title,
#secondary .widget-container h3.widget-title {
  background: var(--pink) !important;
  color: #fff !important;
}


/* =====================================================
   [AF-002] トップページを A案（見本 PDF・2026-10-31）に合わせる
   ----------------------------------------------------
   意味  ：クライアントが採用した A案のとおりの並び・見た目にする。
   根拠  ：指示書 AF-002 の C-1-1〜C-1-11。色・書体・イラストは
           今の Azuma Child のもの（--az-* / --pink 系）をそのまま使う。
   使い道：front-page.php・header.php・footer.php の新しい入れ物を飾る。
   ===================================================== */

/* ---- 上部の帯：A案には無いので、トップページだけ隠す ----
   他のページは今までどおり（本作業でしないこと＝トップページ以外のデザイン変更） */
body.home .az-header-top { display: none !important; }

/* ---- C-1-1 ヘッダー右：お電話でのお問い合わせ・番号・営業時間・ボタン ---- */
body.home .az-header-right {
  display: flex;
  align-items: center;
  gap: 22px;
  text-align: right;
}
body.home .az-header-contact {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1px;
  line-height: 1.5;
}
body.home .az-header-tel-label {
  font-size: 0.74rem;
  color: var(--text-mid);
  letter-spacing: 0.04em;
}
/* A案の電話番号に受話器の絵柄は無い（4バイト文字も使わない） */
body.home .az-header-tel-large::before { content: none !important; }
body.home .az-header-tel-large {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.85rem;
  font-weight: 800;
  color: var(--text-dark);
  letter-spacing: 0.02em;
  margin-bottom: 0;
}
body.home .az-header-tel-large:hover { color: var(--pink-d); }
body.home .az-header-hours {
  font-size: 0.72rem;
  color: var(--text-mid);
  letter-spacing: 0.01em;
}
body.home .az-header-hours-off { margin-left: 1em; }
body.home .az-header-contact-btn {
  gap: 9px;
  padding: 13px 26px !important;
  font-size: 0.88rem !important;
  flex-shrink: 0;
}
body.home .az-header-contact-btn svg { width: 18px; height: 18px; flex-shrink: 0; }

/* ---- C-1-3 ヒーロー：左に文章、右にイラスト ---- */
.az-hero-inner-v2 {
  align-items: center !important;
  gap: 24px !important;
  min-height: 340px !important;
}
.az-hero-inner-v2 .az-hero-text {
  flex: 1 1 52% !important;
  min-width: 0 !important;
  padding: 56px 0 !important;
}
.az-hero-inner-v2 .az-hero-title {
  font-size: clamp(1.7rem, 3.4vw, 2.4rem) !important;
  line-height: 1.5 !important;
  margin-bottom: 16px !important;
}
.az-hero-inner-v2 .az-hero-desc { font-size: 14px; margin-bottom: 28px; }
.az-hero-inner-v2 .az-hero-btns .az-btn-rose { padding: 15px 32px; font-size: 15px; }
.az-hero-inner-v2 .az-hero-illust {
  width: auto !important;
  flex: 1 1 44% !important;
  min-width: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px 0 !important;
}
.az-hero-inner-v2 .az-hero-illust svg {
  width: 100%;
  height: auto;
  max-width: 420px;
}

/* ---- C-1-4 お家を探す：横幅いっぱいの白い欄 ---- */
.az-search-section .az-inner { padding-top: 0 !important; padding-bottom: 44px !important; }
.az-search-panel {
  background: #fff;
  border: 1.5px solid #F0E8E0;
  border-radius: 20px;
  padding: 26px 26px 24px;
  box-shadow: 0 6px 24px rgba(160, 90, 80, 0.08);
  margin-top: -40px;
  position: relative;
  z-index: 3;
}
.az-search-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
body.home .az-search-head .az-section-title { font-size: 24px !important; }
.az-search-purpose { display: flex; gap: 10px; flex-wrap: wrap; }
.az-purpose-pill {
  display: inline-block;
  padding: 9px 22px;
  border-radius: 40px;
  border: 2px solid var(--az-rose);
  background: #fff;
  color: var(--az-rose-d) !important;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
  white-space: nowrap;
  transition: opacity 0.2s;
}
.az-purpose-pill-on { background: var(--az-rose); color: #fff !important; }
.az-purpose-pill:hover { opacity: 0.85; }
.az-search-fields {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.az-search-fields select {
  width: 100%;
  padding: 15px 16px;
  border: 2px solid var(--az-rose-l) !important;
  border-radius: 14px !important;
  background: var(--az-rose-l);
  color: var(--az-txt);
  font-size: 13px;
  font-weight: 700;
  -webkit-appearance: none;
  outline: none;
}
.az-search-fields select:focus { border-color: var(--az-rose) !important; }
.az-search-map {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 14px;
  background: var(--az-rose-l);
  color: var(--az-rose-d) !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none !important;
}
.az-search-map:hover { opacity: 0.85; }
.az-search-map-sub { font-size: 11px; font-weight: 400; color: var(--az-txt2); }
.az-search-submit { margin-top: 14px; padding: 16px !important; font-size: 15px !important; }

/* ---- C-1-5 新着・おすすめ物件：写真付きカードを横に並べる ----
   不動産プラグインのウィジェットが出す ul.grid-content を、
   ヒーロー右の縦並びから、カードの並びに作り替える */
.az-reco-cards .az-reco-widget {
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
}
.az-reco-cards ul.grid-content {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.az-reco-cards ul.grid-content li {
  display: block !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 0 16px !important;
  background: #fff !important;
  border: 1.5px solid #F0E8E0 !important;
  border-radius: 16px !important;
  overflow: hidden;
  position: relative;
  font-size: 13px;
  line-height: 1.7;
  color: var(--az-txt);
  box-shadow: 0 2px 8px rgba(160, 90, 80, 0.05);
}
/* 写真はカードの上いっぱい */
.az-reco-cards ul.grid-content li > a:first-of-type,
.az-reco-cards ul.grid-content li > img.box1image {
  float: none !important;
  display: block;
  width: 100% !important;
  margin: 0 0 12px !important;
}
.az-reco-cards ul.grid-content li img.box1image {
  display: block;
  width: 100% !important;
  height: 150px !important;
  max-width: none !important;
  object-fit: cover;
  border-radius: 0 !important;
  margin: 0 !important;
}
/* 文字はカードの内側に寄せる */
.az-reco-cards ul.grid-content li > div,
.az-reco-cards ul.grid-content li > p,
.az-reco-cards ul.grid-content li > span,
.az-reco-cards ul.grid-content li > .top_title,
.az-reco-cards ul.grid-content li > .top_price,
.az-reco-cards ul.grid-content li > .top_madori,
.az-reco-cards ul.grid-content li > .top_shozaichi,
.az-reco-cards ul.grid-content li > .top_kotsu,
.az-reco-cards ul.grid-content li > .top_r_footer,
.az-reco-cards ul.grid-content li > .box1low {
  padding-left: 14px;
  padding-right: 14px;
}
.az-reco-cards .top_title { font-size: 14px; font-weight: 700; color: var(--az-txt); }
.az-reco-cards .top_price { font-size: 20px; font-weight: 800; color: var(--az-rose-d); }
.az-reco-cards .top_madori { font-weight: 700; }
.az-reco-cards .top_shozaichi,
.az-reco-cards .top_kotsu { font-size: 12px; color: var(--az-txt2); }
.az-reco-cards .top_r_footer { overflow: hidden; margin-top: 2px; }
.az-reco-cards .box1low a { font-size: 12px; font-weight: 700; color: var(--az-rose-d); text-decoration: none; }
/* 札（NEW / UP）は写真の左上に */
.az-reco-cards .new_mark {
  position: absolute;
  top: 10px !important;
  left: 10px !important;
  right: auto !important;
  z-index: 1;
}

/* ---- C-1-7 選ばれる3つの理由：横に 3 つ ---- */
.az-reason-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }

/* ---- C-1-8 お知らせ・会社案内 ---- */
.az-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
  align-items: start;
}
.az-info-grid-single {
  grid-template-columns: minmax(0, 560px);
  justify-content: center;
}
.az-info-title {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  color: var(--az-txt) !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 0 14px !important;
  background: none !important;
  clear: none !important;
}
.az-company-card {
  background: #fff;
  border: 1.5px solid #F0E8E0;
  border-radius: 16px;
  overflow: hidden;
}
.az-company-photo {
  display: block;
  width: 100%;
  height: 230px;
  object-fit: cover;
  border-radius: 0 !important;
}
.az-company-list {
  display: grid;
  grid-template-columns: 5.5em minmax(0, 1fr);
  gap: 9px 14px;
  margin: 0;
  padding: 18px 20px;
  font-size: 13px;
  line-height: 1.7;
}
.az-company-list dt { margin: 0; color: var(--az-txt2); font-weight: 700; }
.az-company-list dd { margin: 0; color: var(--az-txt); }

/* ---- C-1-11 スマートフォン：1 列・横にはみ出さない ---- */
@media screen and (max-width: 980px) {
  .az-search-fields { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .az-reco-cards ul.grid-content { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media screen and (max-width: 860px) {
  .az-hero-inner-v2 { flex-direction: column !important; gap: 0 !important; align-items: stretch !important; }
  .az-hero-inner-v2 .az-hero-text { flex: none !important; width: 100%; padding: 36px 0 8px !important; }
  .az-hero-inner-v2 .az-hero-illust { flex: none !important; width: 100% !important; padding: 8px 0 28px !important; }
  .az-hero-inner-v2 .az-hero-illust svg { max-width: 300px; }
  .az-search-panel { margin-top: 0; padding: 20px 16px; }
  .az-reason-grid { grid-template-columns: 1fr !important; }
  .az-info-grid,
  .az-info-grid-single { grid-template-columns: 1fr !important; }
}
@media screen and (max-width: 780px) {
  /* A案のスマートフォンでも「お電話でのお問い合わせ」を出す */
  body.home .az-header-tel-label { display: block !important; }
  body.home .az-header-inner { flex-wrap: wrap; gap: 10px; }
  body.home .az-header-right { flex-direction: column; align-items: flex-start; gap: 10px; width: 100%; text-align: left; }
  body.home .az-header-contact { align-items: flex-start; }
  body.home .az-header-tel-large { font-size: 1.75rem; }
  body.home .az-header-hours { line-height: 1.7; }
  body.home .az-header-hours-off { margin-left: 0.9em; }
  body.home .az-header-contact-btn { padding: 12px 24px !important; }
  body.home .az-logo-img { height: 54px; }
}
@media screen and (max-width: 600px) {
  .az-search-fields { grid-template-columns: 1fr !important; }
  .az-reco-cards ul.grid-content { grid-template-columns: 1fr !important; }
  .az-reco-cards ul.grid-content li img.box1image { height: 190px !important; }
  .az-company-photo { height: 190px; }
  .az-company-list { grid-template-columns: 4.6em minmax(0, 1fr); padding: 16px; }
  .az-search-head { gap: 12px; }
  body.home .az-search-head .az-section-title { font-size: 21px !important; }
  .az-purpose-pill { padding: 8px 16px; font-size: 12px; }
  body.home .az-header-hours { font-size: 0.68rem; }
  body.home .az-header-hours-off { display: block; margin-left: 0; }
}

/* ---- [AF-002追加] C-1-8 左：お知らせ（A案の PDF 4 ページ）----
   意味  ：トップページに、お知らせを新しい順に 3 件出す。
   根拠  ：home.php:84-88 と同じ条件（カテゴリー oshirase）。見た目は A案の
           PDF 4 ページ（日付＋題名の 1 行・薄い区切り線・絵柄なし）。
   使い道：front-page.php の ⑥ の左カラムを飾る。
   クラスは front-page.php だけで使うため、トップページ以外には出ない。 */
.az-news-card {
  background: #fff;
  border: 1.5px solid #F0E8E0;
  border-radius: 16px;
  overflow: hidden;
}
.az-news-list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.az-news-item {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin: 0 !important;
  padding: 14px 18px;
  border-bottom: 1px solid #F3EBE4;
}
.az-news-item:last-child { border-bottom: none; }
.az-news-date {
  flex-shrink: 0;
  font-size: 12px;
  color: var(--az-txt2);
  white-space: nowrap;
}
.az-news-title {
  font-size: 13px;
  line-height: 1.7;
  color: var(--az-txt) !important;
  text-decoration: none !important;
}
.az-news-title:hover { color: var(--az-rose-d) !important; }
.az-news-more { margin: 12px 0 0; text-align: right; font-size: 12px; }
.az-news-more a { color: var(--az-rose-d) !important; font-weight: 700; text-decoration: none !important; }
.az-news-more a:hover { opacity: 0.85; }

@media screen and (max-width: 600px) {
  .az-news-item { flex-direction: column; align-items: flex-start; gap: 3px; padding: 12px 16px; }
}

/* ---- [AF-004] お知らせのリンクの見た目（決定 3） ----
   意味  ：URL を入れたお知らせを、リンクと分かる見た目にする。
   根拠  ：指示書 AF-004 の B-3（AF-003 報告 5-2 の指摘）。
           今ある .az-news-title が !important で色と下線を消しているため、
           ここも !important を付ける。
   使い道：front-page.php の ⑥ お知らせの欄。a.az-news-title だけに効き、
           リンクの無い span.az-news-title の見た目は変えない。 */
a.az-news-title {
  color: var(--pink-d) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
a.az-news-title:hover { color: var(--pink) !important; }

/* ---- [AF-004] 検索の欄の切り替えと送信を button にしたため、a と同じ見た目にする ----
   意味  ：B-5 で「借りたい（賃貸）」「買いたい（売買）」「物件を探す」を
           <a> から <button> に変えたので、文字の形が変わらないようにする。
   根拠  ：指示書 AF-004 の B-5「見た目（クラス名・並び）は、なるべく今のものを使う」。
   使い道：front-page.php の ② お家を探す。 */
button.az-purpose-pill,
button.az-search-submit {
  font-family: inherit;
  cursor: pointer;
}
button.az-purpose-pill { line-height: inherit; }

/* ---- [AF-004追加3] 物件の詳細ページの写真と表を可変幅にする ----
   意味  ：写真の列（140px 固定）と物件情報の表（518px 固定）の合計 666px が
           本文の幅（621px）より広いため、表が写真の下に落ちていた。幅を割合に
           して、パソコンでは常に「左に写真・右に表」、スマートフォンでは
           「写真が上・表が下」にする。
   根拠  ：指示書 AF-004追加3 の前提の事実（claude.ai が 2026-11-08 に
           ライブプレビューを Chrome で測った値）。不動産プラグインの
           style2010.css の規則は `#` が 4 つ付いた強い指定なので、
           ここでは !important を付ける。
   使い道：物件の詳細ページ（body.az-std-page が付き、中に #list_simplepage2 が
           ある）の、写真の列と物件情報の表の並び。頭を
           body.az-std-page #list_simplepage2 にして、物件のページの中だけに
           効かせる。 */

/* B-1 幅 781px 以上（パソコン・タブレットの横向き）。
   メディアクエリで囲まず、下の B-2（max-width: 780px）が後から上書きする。 */
body.az-std-page #list_simplepage2 .list_simple_box {
  display: flow-root !important;
}
body.az-std-page #list_simplepage2 .list_picsam {
  float: left !important;
  width: 22% !important;
  box-sizing: border-box !important;
}
body.az-std-page #list_simplepage2 .list_picsam img {
  width: 100% !important;
  max-width: 130px !important;
  height: auto !important;
  box-sizing: border-box !important;
}
body.az-std-page #list_simplepage2 .list_detail {
  float: left !important;
  width: calc(78% - 8px) !important;
  margin: 0 0 0 8px !important;
  box-sizing: border-box !important;
}
body.az-std-page #list_simplepage2 .list_detail table,
body.az-std-page #list_simplepage2 .list_detail #map_canvas,
body.az-std-page #list_simplepage2 .list_detail .list_detail_bottom_info {
  max-width: 100% !important;
}

/* B-2 幅 780px 以下（スマートフォン・タブレットの縦向き）。
   子テーマの今のスマートフォン向けの区切りと同じ 780px。 */
@media (max-width: 780px) {
  body.az-std-page #list_simplepage2 .list_picsam {
    float: none !important;
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
  }
  /* 写真を包む要素（#single_fudou_img・a）を flex の数えから外し、
     中の img がそのまま横に並ぶようにする。 */
  body.az-std-page #list_simplepage2 .list_picsam #single_fudou_img,
  body.az-std-page #list_simplepage2 .list_picsam a {
    display: contents !important;
  }
  body.az-std-page #list_simplepage2 .list_picsam img {
    float: none !important;
    width: calc(25% - 3px) !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
  }
  body.az-std-page #list_simplepage2 .list_detail {
    float: none !important;
    width: 100% !important;
    margin: 10px 0 0 !important;
    box-sizing: border-box !important;
  }
  body.az-std-page #list_simplepage2 .list_detail table,
  body.az-std-page #list_simplepage2 .list_detail #map_canvas {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* ========================================
   [AF-005追加] 物件の詳細ページ（子テーマのテンプレート fudo-single-azuma.php）
   ----------------------------------------
   意味  ：子テーマのテンプレートで出す物件の詳細ページを、幅に合わせて伸び縮み
           する並びにする。パソコンは左に写真・右に表、スマートフォンは写真が上・
           表が下。表も幅に合わせて縮む。
   根拠  ：プラグインの固定幅の囲み（AF-004追加3 で合わせたもの）を使わず、子テーマ
           の部品（az-fudo-*）に替えた（AF-005追加 B-2）。色・罫線は上の「物件詳細
           ページ」の節の .fudo_detail_table をそのまま生かし、th の幅だけここで
           上書きする（今の 130px 固定をやめる）。
   使い道：fudo-single-azuma.php が出す #az-fudo-detail 以下に当たる。
           AF-004追加3 の #list_simplepage2 の規則は消していない（新しいテンプレート
           では #list_simplepage2 が出ないので効かない。プラグインのテンプレートに
           戻したときのために残す）。
======================================== */

#az-fudo-detail .az-fudo-box {
  display: flow-root !important;
  box-sizing: border-box !important;
}

/* 写真：枠の幅に合わせて伸び縮みし、縦横比 4:3 で切り抜く。
   意味  ：固定幅をやめ、格子の桝に合わせる。
   根拠  ：写真は 1 枚ずつ a と img で出る（AF-005 下調べ B-3）。囲みの
           #single_fudou_img は、AF-004追加3 と同じく並べ方の数えから外す。
   使い道：下の格子（2 列・3 列・4 列）の桝いっぱいに写真を出す。 */
#az-fudo-detail .az-fudo-photos #single_fudou_img,
#az-fudo-detail .az-fudo-photos-more #single_fudou_img {
  display: contents !important;
}
#az-fudo-detail .az-fudo-photos a,
#az-fudo-detail .az-fudo-photos-more a {
  display: block !important;
}
#az-fudo-detail .az-fudo-photos img,
#az-fudo-detail .az-fudo-photos-more img {
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  aspect-ratio: 4/3 !important;
  object-fit: cover !important;
  box-sizing: border-box !important;
  float: none !important;
  margin: 0 !important;
}

/* 物件情報の表：幅に合わせて伸び縮みさせる（th の固定幅をやめる） */
#az-fudo-detail table.fudo_detail_table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: auto !important;
  border-collapse: collapse !important;
}
#az-fudo-detail table.fudo_detail_table th {
  width: 28% !important;
  word-break: break-word !important;
  box-sizing: border-box !important;
}
#az-fudo-detail table.fudo_detail_table td {
  word-break: break-word !important;
  box-sizing: border-box !important;
}

/* 地図 */
#az-fudo-detail #map_canvas {
  width: 100% !important;
  max-width: 100% !important;
}

/* パソコン：左に写真・右に表 */
@media (min-width: 781px) {
  #az-fudo-detail .az-fudo-photos {
    float: left !important;
    width: 34% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
  }
  #az-fudo-detail .az-fudo-info {
    float: right !important;
    width: calc(66% - 16px) !important;
    box-sizing: border-box !important;
  }
  #az-fudo-detail .az-fudo-photos-more {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 6px !important;
    box-sizing: border-box !important;
  }
}

/* スマートフォン：写真が上・表が下 */
@media (max-width: 780px) {
  #az-fudo-detail .az-fudo-photos,
  #az-fudo-detail .az-fudo-info {
    float: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  #az-fudo-detail .az-fudo-photos,
  #az-fudo-detail .az-fudo-photos-more {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 6px !important;
    margin: 0 0 16px !important;
  }

  /* 1 行に「見出し・中身」が 2 組ある行を、2 組目が下に回るようにする。
     意味  ：狭い幅で横にはみ出さないようにする。
     根拠  ：表の中に th・td が 2 組並ぶ行がある（元のテンプレートの 2 列table）。
     使い道：tr を flex にして折り返し、th を 35%・td を残りにする。
             中身が 1 つだけの行（colspan の行・価格帯の行）は、td が伸びて
             横いっぱいになる。 */
  #az-fudo-detail table.fudo_detail_table tr {
    display: flex !important;
    flex-wrap: wrap !important;
  }
  #az-fudo-detail table.fudo_detail_table th {
    flex: 0 0 35% !important;
    width: 35% !important;
  }
  #az-fudo-detail table.fudo_detail_table td {
    flex: 1 1 65% !important;
    width: auto !important;
    min-width: 0 !important;
  }
}


/* ========================================
   [AF-005追加2] 物件の詳細ページの囲み幅と、表の見出しの色
   ----------------------------------------
   意味  ：① 物件の詳細ページが窓を狭めても 940px のまま縮まず、右側が隠れる
           ② 物件情報の表の見出し（所在地・交通など）が見えず、空の枠に見える
           この 2 つを直す。
   根拠  ：① 親テーマ twentyten-clean/style.css の
             `#access .menu-header, div.menu, #colophon, #branding, #main, #wrapper
              { margin: 0 auto; width: 940px; }` と、不動産プラグイン
             themes/corners2010.css の `#main { width: 940px; margin: 0;
              padding: 20px 10px 10px; }` が #main の幅を決めている。
             #main は AF-004追加2 で、物件のページ（azuma_is_fudou_page() が真）に
             だけ header.php が出している。
           ② 上の「物件詳細ページ」の節（.fudo_detail table th, .fudo_detail_table th）が
             `background: var(--primary) !important; color: #fff !important;` を使うが、
             --primary は :root では定義されておらず、.az-global-nav の中だけで
             割り当てられている（[2026-10-09] ② の節）。#az-fudo-detail は
             .az-global-nav の子孫ではないため --primary が解決されず、背景が透明・
             文字が白になり、白地に白文字で見えない。td の罫線 var(--primary-l) も同じ。
   使い道：① header.php が出す #az-page-wrap の直下の #main に当たる（直接の親子）。
           ② #az-fudo-detail で色の名前を割り当て、継承で子孫の
             table.fudo_detail_table th・td に届かせる。:root は変えないので、
             ほかのページの見た目は変わらない。
======================================== */

/* ① #main の 940px 固定をやめ、画面の幅に合わせる */
#az-page-wrap > #main {
  width: auto !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* ② 色の名前を、物件の詳細ページの中だけで割り当てる */
#az-fudo-detail {
  --primary:   var(--pink);
  --primary-l: var(--pink-l);
  --primary-d: var(--pink-d);
}


/* ========================================
   [AF-005追加3] スマートフォンの「まとめて検索」を中央・幅 85% にする
   ----------------------------------------
   意味  ：スマートフォン（780px 以下）で、右の欄（「まとめて検索」とバナー 2 つ）が
           画面の幅いっぱいに広がって窓の端に貼り付き、バナー 2 つが縦に並んでいる。
           これを画面の中央に幅 85% で置き、バナーは入る幅なら横に並べる。
   根拠  ：claude.ai が 2026-11-08 に、ライブプレビューの中の物件の詳細ページを
           Chrome のモバイル表示（幅 320px）で測った値。
             #primary（右の欄）                  幅 277px・左右の外の余白 0・内側の余白 16px
             #primary > ul.xoxo                  幅 245px
             li.widget_fudo_b_k（まとめて検索）  幅 210px
             li.widget_text（バナー）            幅 210px
             バナーの画像の元の大きさ            191×62 と 191×59
           右の欄を縦 1 列に並べている規則は、本ファイル 2900 行の
           `@media screen and (max-width: 780px)` の中の
           `body.az-std-page #primary` で、`float: none !important;`
           `width: 100% !important;` を当てている（2816 行あたりの
           `width: 29% !important` を狭い幅で打ち消すためのもの）。
           バナー 2 つを横に並べるには 191 + 191 + 間 8 = 約 390px の幅が要る。
           スマートフォン（幅 390px）の 85% は約 330px なので縦に並び、
           タブレットの縦向き（幅 768px）の 85% は約 650px なので横に並ぶ。
   使い道：本ファイルの末尾に置き、2900 行の規則を同じ強さ・後ろの位置で上書きする。
           781px 以上には効かせないため、`@media (max-width: 780px)` の中にだけ書く。
           ほかの規則は変えない・消さない。
======================================== */

@media (max-width: 780px) {

  /* B-1 右の欄そのものを、画面の中央に幅 85% で置く（上下の外の余白は今のまま） */
  body.az-std-page #primary {
    float: none !important;
    width: 85% !important;
    max-width: 85% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  /* B-2 中の囲みを、右の欄の幅いっぱいに広げる */
  body.az-std-page #primary ul.xoxo,
  body.az-std-page #primary .widget-container {
    width: 100% !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    list-style: none !important;
  }

  /* B-3 まとめて検索の選び口が、横にはみ出さないようにする
         （下限・上限の 2 つ並びは今のまま） */
  body.az-std-page #primary form#searchitem select {
    max-width: 100% !important;
  }

  /* B-4 バナーの囲みを、入る幅なら横に並べる */
  body.az-std-page #primary .widget_text .textwidget {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
  }

  /* B-5 バナー 1 つ分は縮めない。入らなければ次の行に回る */
  body.az-std-page #primary .widget_text .textwidget > div {
    flex: 0 0 auto !important;
    margin: 0 !important;
  }

  /* B-6 バナーの画像が、囲みより大きくならないようにする */
  body.az-std-page #primary .widget_text .textwidget img {
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
  }
}


/* ========================================
   [AF-004追加4] スマートフォンのヘッダーを、ロゴの下に電話番号の 2 段（中央そろえ）にする
   ----------------------------------------
   意味 ：幅 780px 以下（スマートフォン）で、ヘッダーのロゴ（会社名）と電話番号が
          横に並び、電話番号が折れて 3 行になっている（2026-11-08 ushizawa 様の確認）。
          すべてのページで、1 段目にロゴ、2 段目に電話番号（アイコン付き）を、
          どちらも中央そろえで出す。
   根拠 ：本ファイルで確かめた、今の土台。
          787 行 `.az-header-inner` が `display: flex; align-items: center;`
          `justify-content: space-between; gap: 20px;`＝ロゴと電話番号を
          横に並べて左右に離している。これが横並びの元。
          1008 行（`@media (max-width: 780px)`）は `padding: 10px 16px;` だけで、
          並ぶ向きは変えていない。
          797 行 `.az-logo a` は `display: flex; align-items: center; gap: 14px;`。
          `.az-logo` と `.az-header-right` には土台の規則が無く、
          `body.home` の側だけが 2966 行・3262 行・3263 行で
          `align-items: flex-start`・`text-align: left`＝左そろえにしている。
          `header.php` 15〜60 行：`.az-header-inner` の中は `.az-logo` と
          `.az-header-right` の 2 つ。トップページの側は `.az-header-right` の中が
          `.az-header-contact`（`.az-header-tel-label`・`.az-header-tel-large`）と
          `.az-header-contact-btn`。それ以外のページは `.az-header-tel-large` だけ。
   使い道：本ファイルの末尾に置き、上の規則を同じ強さ・後ろの位置で上書きする。
          781px 以上には効かせないため、`@media (max-width: 780px)` の中にだけ書く。
          3262 行・3263 行は `body.home` が付いて強いため、B-5 で同じ頭の
          `body.home` で中央に戻す。
          部品の表示・非表示（`display: none` など）は変えない。
          ヘッダー・メニューの位置の動き（`position`・`top`）は変えない。
          ほかの規則は変えない・消さない。
   ======================================== */

@media (max-width: 780px) {

  /* B-1 ヘッダーの中身を縦 2 段にし、中央にそろえる（内側の余白は今のまま） */
  .az-header-inner {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
  }

  /* B-2 1 段目のロゴを中央に置く */
  .az-logo,
  .az-logo a {
    justify-content: center !important;
    margin: 0 auto !important;
  }

  /* B-3 2 段目（電話番号の側）を、幅いっぱいの中央そろえにする */
  .az-header-right {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    margin: 0 !important;
  }

  /* B-4 電話番号を折らない（文字の大きさは今のまま） */
  .az-header-tel-large {
    white-space: nowrap !important;
  }

  /* B-5 トップページの左そろえ（3262・3263 行）を中央に上書きする。
         出ている部品（「お電話でのお問い合わせ」・電話番号・「お問い合わせ」ボタン）は
         出したまま */
  body.home .az-header-right,
  body.home .az-header-contact {
    align-items: center !important;
    text-align: center !important;
  }
}


/* ========================================
   [AF-004追加5] スマートフォンのヘッダーのロゴを、今の約 60%（42px）にする
   ----------------------------------------
   意味 ：AF-004追加4 でスマートフォンのヘッダーを 2 段（ロゴの下に電話番号）に
          したため、ヘッダーの高さがおよそ 2 倍になった。ロゴを今の約 60% の
          大きさにして、高さを抑える。
   根拠 ：本ファイルで確かめた、今の大きさ。
          798 行 `.az-logo-img { height: 70px; width: auto; max-width: 280px;
          display: block; object-fit: contain; }`＝トップページ以外は 70px。
          3268 行（3258 行の `@media screen and (max-width: 780px)` の中）
          `body.home .az-logo-img { height: 54px; }`＝トップページは 54px。
          780px 以下で、トップページ以外の高さを変える規則は無い（70px のまま）。
          70px の 60% は 42px。トップページは今 54px だが、どのページも同じ
          見え方にするため 42px にそろえる（2026-11-08 ushizawa 様の決定）。
          `width: auto` を残すため、縦横の比は変わらない（つぶれない）。
   使い道：本ファイルの末尾に置き、798 行と 3268 行を同じ強さ・後ろの位置で
          上書きする。781px 以上には効かせないため、
          `@media (max-width: 780px)` の中にだけ書く。
          `max-width`・`object-fit` は今のまま（書かない）。
          ロゴの画像ファイルは変えない。ほかの部品の大きさは変えない。
          ほかの規則は変えない・消さない。
   ======================================== */

@media (max-width: 780px) {

  /* トップページも、それ以外のページも、同じ 42px にそろえる */
  .az-logo-img,
  body.home .az-logo-img {
    height: 42px !important;
    width: auto !important;
  }
}
