@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
/* ==========================================================================
   見出し　共通
   ========================================================================== */

.wp-block-cover.alignfull.is-light.index>.wp-block-cover__inner-container,
.alignfull>.wp-block-cover__inner-container,
.alignfull>.wp-block-group__inner-container {
  max-width: 1100px;
}

@media (max-width: 599px) {
  div#top_title_area {
    margin-bottom: 2em;
  }

  .wp-block-cover.alignfull.is-light.index {
    min-height: 350px !important;
  }

  .wp-block-cover.index .wp-block-cover__inner-container {
    display: grid;
    min-height: 100%;
    padding: 0 20px;
    /* ↓この値で“下からの距離”を作る（28〜36pxで微調整） */
  }

  .simple-index {
    margin-bottom: 0;
  }
}

/* ==========================================================================
   h2タイトル　共通
   ========================================================================== */
h2.wp-block-heading.is-style-section_ttl.-contact {
  font-size: 1.7em;
}

/* ==========================================================================
   文章　共通
   ========================================================================== */
@media (max-width: 599px) {
  .-sp_left {
    text-align: left !important;
  }
}

/* ==========================================================================
   ボタン　共通
   ========================================================================== */
/*CTAボタン*/
@media (max-width: 769px) {
  .buton-000155-box>[class*=is-style-btn_] {
    --the-min-width: 268px !important;
  }
}

.property-list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.property-item {
  width: 30%;
  background: #f9f9f9;
  padding: 16px;
  border: 1px solid #ddd;
  border-radius: 8px;
}

.property-item img {
  max-width: 100%;
  height: auto;
}

.property-item h3 {
  margin-top: 10px;
  font-size: 1.2em;
}

/*サイドバーの設定*/
/* すべて非表示（共通） */
.sidebar-sale,
.sidebar-rent,
.sidebar-management {
  display: none;
}

/* 検索サイドバーでウィジェット表示・非表示 */
.property .sidebar-sale,
.rent-house .sidebar-rent,
.managed-property .sidebar-management {
  display: block !important;
}

/* 検索サイドバーの表示レイアウト */
@media (min-width: 960px) {
  .-sidebar-on #sidebar {
    width: var(--swl-sidebar_width) !important;
  }
}

/* 売買：個別ページ or 一覧ページの両方に対応 */
.single-property .sidebar-sale,
.archive-property .sidebar-sale,
.page-id-999 .sidebar-sale {
  /* 固定ページの場合。IDは適宜変更 */
  display: block !important;
}

/* 賃貸：個別ページ or 一覧ページの両方に対応 */
.single-rent-house .sidebar-rent,
.archive-rent-house .sidebar-rent,
.page-id-998 .sidebar-rent {
  display: block !important;
}

/* 管理：個別ページ or 一覧ページの両方に対応 */
.single-managed-property .sidebar-management,
.archive-managed-property .sidebar-management,
.page-id-997 .sidebar-management {
  display: block !important;
}

/* 本文内の画像がコンテンツ幅を超えないように制限 */
.post_content img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* サイドバーが横に並ばない問題を修正 */
.l-content {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
}

.l-main {
  width: 70%;
}

#sidebar.l-sidebar {
  width: 30%;
  display: block;
}

/*テーブル設定*/
.property-card {
  background: #fff;
  padding: 16px;
  margin-bottom: 30px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  border-radius: 8px;
}

.image-wrapper {
  position: relative;
  margin-bottom: 12px;
}

.image-wrapper img {
  width: 100%;
  height: auto;
  border-radius: 6px;
}

.area-label {
  position: absolute;
  top: 8px;
  left: 8px;
  background-color: #000;
  color: #fff;
  padding: 4px 8px;
  font-size: 0.8em;
  opacity: 0.8;
  border-radius: 4px;
}

.property-card h3 {
  font-size: 1.2em;
  margin: 10px 0;
}

.property-table {
  width: 100%;
  border-collapse: collapse;
  margin: 8px 0;
}

.property-table th,
.property-table td {
  text-align: left;
  padding: 6px 10px;
  border-bottom: 1px solid #ddd;
  font-size: 0.95em;
}

.property-date {
  font-size: 0.8em;
  color: #888;
  margin-top: 6px;
}

.more-link {
  display: inline-block;
  margin-top: 10px;
  color: #0073aa;
  text-decoration: underline;
  font-weight: bold;
}

/*投稿のテーブル表示*/
.property-info {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
  font-size: 14px;
}

.property-info th,
.property-info td {
  border: 1px solid #ccc;
  padding: 6px 10px;
  text-align: left;
  vertical-align: top;
}

.property-info th {
  background-color: #f9f9f9;
  font-weight: bold;
  width: 30%;
}

.property-detail {
  margin-top: 1.5em;
}

/*シングルページのテーブル*/
.property-detail table {

  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  margin: 20px 0;
  border: 1px solid #ccc;
}

.property-detail th,
.property-detail td {
  border: 1px solid #ccc;
  padding: 10px 14px;
  text-align: left;
  vertical-align: top;
}

.property-detail th {
  background-color: #f9f9f9;
  font-weight: bold;
  width: 30%;
}

/* === カード化（背景と同化しない・でも角は丸めない・枠線は付けない） === */
.property-detail {
  position: relative;
  border-collapse: separate;
  border-spacing: 0;
  background: #ffffff;
  /* 右側は真っ白でフラット */
  box-shadow: -5px -5px 10px rgba(255, 255, 255, 0.6), 5px 5px 10px rgba(0, 0, 0, 0.16);
}

/* 余計な枠線・セル背景は全消し */
.property-detail,
.property-detail th,
.property-detail td {
  border: rgba(255, 255, 255, 0.4) !important;
  background: transparent !important;
}

/* === 左カラムを“面”で塗る（セルごとではなく、面で一枚） === */
.property-detail::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 260px;
  /* 左カラム幅（あなたの実数に合わせて） */
  height: 100%;
  background: linear-gradient(180deg,
      #E9F0F7 0%,
      /* 明度を上げすぎない薄いブルー */
      #D7E3EF 60%,
      #CEDBE9 100%);
  /* 下に向かって1段階強める */
  background: linear-gradient(180deg,
      #fdfdfd 0%,
      /* ほぼ白 */
      #eef2f6 40%,
      /* 薄いブルーグレー */
      #dde3ea 100%
      /* やや落ち着いたグレー */
    );
  pointer-events: none;
  z-index: -1;
}

/* 左カラムと本文の“境界”だけを 1px のヘアラインで区切る（枠線ベタ塗りはしない） */
.property-detail::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 260px;
  width: 1px;
  background: rgba(8, 20, 40, .10);
  /* ほぼ見えないレベルのヘアライン */
  pointer-events: none;
  z-index: 0;
}

/* セルの基本（重なり順は左カラムの上に来るように） */
.property-detail th,
.property-detail td {
  position: relative;
  z-index: 1;
  padding: 16px 20px;
  font-weight: 400;
  color: #222;
  /* 文字はやや濃くして読みやすく */
  line-height: 1.85;
}

/* 左カラム：明朝・太字にしない・詰めない（高級寄りのトーン） */
.property-detail th {
  width: 260px;
  text-align: left;
  white-space: nowrap;
  font-family: "Sawarabi Mincho", serif;
  letter-spacing: .02em;
}

/* 右カラム：本文 */
.property-detail td {
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
}

/* hoverで色が変わる挙動を全止め（事務感の原因） */
.property-detail tr:hover th,
.property-detail tr:hover td {
  background: transparent !important;
}

/* カード外側の余白（埋もれ対策）。HTML側でラッパーがあるならそちらに充ててもOK */
.property-detail-wrap {
  margin-top: 14px;
  /* 見出しとの距離 */
  margin-bottom: 28px;
}

.property-detail table {
  margin-bottom: 0 !important;
  border: 1px solid #fff !important;
}

.property-detail th,
.property-detail td {
  border-bottom: 1px solid #fff !important;
  /* 横線を白にする */
}

.property-detail tr:last-child th,
.property-detail tr:last-child td {
  border-bottom: none;
  /* 最終行は線なし */
}

@media (max-width: 599px) {
  .property-detail {
    width: 100%;
    border-collapse: collapse;
  }
}

@media (max-width: 599px) {
  .property-detail {
    display: block;
    width: 100%;
    border-collapse: collapse;
    border-radius: 8px;
    overflow: hidden;
    /* ← 全体にごく薄い縦グラデーション */
    background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
  }

  .property-detail tr {
    display: block;
    margin-bottom: 10px;
    border-bottom: 1px solid #eaeaea;
  }

  .property-detail th,
  .property-detail td {
    display: block;
    width: 100%;
    padding: 10px 12px;
    text-align: left;
    background: transparent;
    /* ← 各セルには色を付けない */
  }

  .property-detail th {
    font-weight: 600;
    border-bottom: 1px solid #e6e6e6;
  }

  .property-detail {
    border-collapse: collapse;
    /* ← 余計な二重線防止 */
  }

  .property-detail th,
  .property-detail td {
    display: block;
    width: 100%;
    padding: 10px 12px;
    text-align: left;
    background: transparent;
    border-bottom: 1px solid #e6e6e6;
  }

  /* 最後の行の下線を消す */
  .property-detail tr:last-child th,
  .property-detail tr:last-child td {
    border-bottom: none !important;
  }

  /* table 自体の下線も消す */
  .property-detail tbody tr:last-child td:last-child {
    border-bottom: none !important;
  }

  .property-detail::after {
    content: none;
  }

  .property-detail::before {
    background: none;
  }
}

/*グーグルマップボタン*/
a.map-button--ghost {
  display: inline-block;
  padding: 0.5em 1.2em;
  border: .8px solid #2E405C;
  /* 深めのネイビー */
  background: linear-gradient(135deg, #ffffff, #f7f7f7);
  /* 白ベース大理石に合う */
  color: #2E405C;
  font-size: 0.9rem;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

a.map-button--ghost:hover {
  background: linear-gradient(135deg, #2E405C, #0B1624);
  /* ホバー時ネイビーグラデ */
  color: #fff;
  border-color: #0B1624;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.property-intro {
  border: 1px solid rgba(10, 34, 57, .15);
  /* 薄い濃紺グレーの枠 */
  padding: 1.2em 1.5em;
  margin: 0 0 1.5em;
  border-radius: 6px;
  /* 角は少し丸く */
  background: #fff;
  /* 白で上品に */
  color: #2d3748;
  /* 本文色 */
  line-height: 1.8;
}

/* Google Map ボタン（高級：実体ボタン） */
.env-btn>a {
  /* レイアウト */
  display: block;
  /* クリック面を確保 */
  width: 100%;
  /* ボックス内でフル幅 */
  padding: 16px 24px;
  /* 余白たっぷり＝高級感 */
  margin-top: 16px;
  border-radius:4px !important;

  /* ルック&フィール */
  background: linear-gradient(180deg, rgba(13, 27, 42, .88) 0%, rgba(13, 27, 42, .95) 100%);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .14);
  /* うっすら縁取り */
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .06) inset,
    /* 上面の微ハイライト */
    0 12px 28px rgba(13, 27, 42, .25);
  /* 下に落ちる柔らかい影 */
  border-radius: 0;
  /* 丸み無し＝直線的で格上感 */
  text-align: center;
  letter-spacing: .08em;
  /* 字間を少し開けると高級感 */
  font-weight: 600;

  /* 体験 */
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

/* ホバー時：軽く持ち上げる */
.env-btn>a:hover {
  transform: translateY(-1px);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .08) inset,
    0 18px 36px rgba(13, 27, 42, .32);
}

/* 押下時：沈む感じ */
.env-btn>a:active {
  transform: translateY(0);
  box-shadow:
    0 0 0 rgba(0, 0, 0, 0),
    0 8px 16px rgba(13, 27, 42, .22);
}

/* 左にピンのアイコン（マークアップを増やさず擬似要素で） */
.env-btn>a::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 10px;
  vertical-align: -3px;
  /* 1色SVG（白）。必要なら色は currentColor にも可 */
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="white"><path d="M12 2C8.14 2 5 5.14 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.86-3.14-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z"/></svg>') center/contain no-repeat;
}

/* 周辺施設テーブル */
.wp-block-table.facilities {
  width: auto;
  /* 横幅は内容に応じる */
  max-width: 600px;
  /* 最大幅制限 */
  margin: 1.5em 0;
  /* ← 左寄せに変更 */
  border-collapse: collapse;
  font-size: 0.9rem;
  color: #222;
  background: #fff;
  table-layout: fixed;
  /* 列幅固定 */
}

.wp-block-table.facilities td {
  padding: 0.4em 0.8em;
  border: 1px solid #e0e0e0;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 施設名カラム */
.wp-block-table.facilities td:first-child {
  width: 70%;
  color: #0A2239;
  font-weight: 600;
}

/* 距離カラム */
.wp-block-table.facilities td:last-child {
  width: 30%;
  text-align: right;
  color: #555;
}


/* ==========================================================================
   検索機能　ここまで
   ========================================================================== */


/* ==========================================================================
   検索機能　物件詳細ページ======================================================
   ========================================================================== */

.wp-block-group.search-inner.has-white-background-color.has-background {
  padding: 0 !important;
}

.wp-block-group.search-inner.search-page.has-white-background-color.has-background {
  padding: 1.75em 2em !important;
  /* 28px 32px */
}

@media screen and (max-width: 599px) {
  .wp-block-group.search-inner.search-page.has-white-background-color.has-background {
    padding: 1.28em 1.5em !important;
  }
}

/*サイドバー検索ボックス*/
.vkfs__outer-wrap.vkfs__taxonomy.last-search-s {
  margin-bottom: 24px !important;
}

.p-blogParts .post_content>div {
  /* ← スペース追加 */
  padding: 0;
}

#text-2 {
  background: #fff;
  padding: 30px 20px;
}


/*物件詳細ページ*/
@media screen and (max-width: 997px) {
  #content {
    display: flex;
    /* 必要なら追加（既にflexなら不要） */
    flex-wrap: wrap;
  }

  .l-main {
    width: 100%;
  }

  .l-sidebar {
    /* ← id依存を弱めて安全に */
    width: 100%;
    margin-top: 4em;
    /* まとめてもOK */
  }

  .wp-block-group.search-inner.has-white-background-color.has-background {
    background-color: transparent !important;
  }

  .p-blogParts .post_content>div {
    /* ← スペース追加 */
    padding: 0;
  }

  /* サイドバー上に 5em。テーマ側の指定に勝てない場合があるので !important も付与 */
  aside#sidebar.l-sidebar {
    margin-top: 5em !important;
    width: 70%;
  }
}

@media screen and (max-width: 599px) {
  aside#sidebar.l-sidebar {
    margin-top: 5em !important;
    width: 100%;
  }

  /* 横線だけ色を付けたい場合 */
  /* 599px以下のスマホ幅で、横線だけ #333 にする（最終勝ち） */

  .property-detail tr {
    display: block;
    margin-bottom: 10px;
    border-bottom: 1px solid #cecece !important;
  }

  /* 最終行は横線を消す */
  #content #primary .property-detail>table>tbody>tr:last-child>th,
  #content #primary .property-detail>table>tbody>tr:last-child>td {
    border-bottom: none !important;
  }

  .property-detail>table>tbody>tr:last-of-type {
    border-bottom: none !important;
  }

  /* もし線が th/td 側についている場合にも備えて念押し */
  .property-detail>table>tbody>tr:last-of-type>th,
  .property-detail>table>tbody>tr:last-of-type>td {
    border-bottom: none !important;
  }

  .wp-block-group.amenities-section {
    padding: 0 20px;
  }
}

/* 16:9 固定（モダンブラウザ） */
/* 画像だけを常に16:9で表示（トリミング） */
.property-item img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  /* 高さは幅から自動算出 */
  object-fit: cover;
  /* ボックスいっぱいに収めて余分はカット */
  object-position: center;
}

.property-list {
  margin-bottom: 0;
}

/* 769px以下：2列レイアウト */
@media (max-width: 769px) {
  .property-list {
    display: flex;
    /* 既存維持 */
    flex-wrap: wrap;
    /* 既存維持 */
    gap: 30px;
    /* スクショの値に合わせる（変更可） */
  }

  .property-list>.property-item {
    flex: 0 0 calc((100% - 30px) / 2);
    /* 2列：gapぶんを引いて等分 */
    max-width: calc((100% - 30px) / 2);
    /* はみ出し防止 */
  }
}

/* 599px以下：1列レイアウト */
@media (max-width: 599px) {
  .property-list {
    display: flex;
    /* 既存のまま */
    flex-wrap: wrap;
    /* 既存のまま */
    gap: 20px;
    /* 任意：スマホは少し詰める（30→20pxなど） */
  }

  .property-list>.property-item {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* ==========================================================================
   売買・賃貸　シングルページ
   ========================================================================== */
#body_wrap.single-property,
#body_wrap.single-rent-house {
  background-color: #F9FAFB;
}
@media (max-width: 599px) {
#body_wrap.single-property #content.l-content,
#body_wrap.single-rent-house #content.l-content {
        margin: 0 auto 1em;
    }
}
/*h2 よこ線タイトル*/
h2.wp-block-heading.property-section-title {
  display: flex !important;
  align-items: center;
  margin: 48px 0 2.8em;
  font-size: 1.1rem;
  font-weight: 600;
  color: #0A2239;
  letter-spacing: .03em;
  border: 0 !important;
  padding: 0 !important;

  white-space: nowrap;
  /* ← これで2行に折り返させない */
}

h2.wp-block-heading.property-section-title::after {
  content: "";
  flex: 1;
  /* 文字の後ろを全部ラインで埋める */
  height: 1px;
  background: #0A2239;
  /* 濃紺。シルバーにしたいなら #B8BFC7 */
  margin-left: 12px;
  /* 文字と線の間に余白 */
  opacity: .35;
  /* 少し薄めで上品に */
}


/* サブ見出し（周辺施設など） */
.property-subsection-title {
  font-size: 1.1rem;
  font-weight: 500;
  color: #0A2239;
  margin: 2em 0 1em;
  border-bottom: 1px solid #e0e0e0;
  /* 下に薄いラインだけ */
  padding-bottom: .3em;
}

/* 学校などの見出しh4 */
.facilities-subtitle {
  font-size: 1rem;
  font-weight: 600;
  margin: 1.2em 0 0.6em;
  color: #0A2239;
  /* 濃紺 */
  border-left: 3px solid #0A2239;
  padding-left: 0.5em;
}

/* ===================== SHOP LIST：高級路線 横並び2カラム ===================== */
/* =========================================================
  設備・オプション：3列／小さめスクエア（高級SHOP LIST）
  ※このブロックをCSSの一番下に貼る
========================================================= */

/* --- コンテナ：3カラム、上質な余白 --- */
.amenities-section .wp-block-columns.amenities-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(220px, 1fr)) !important;
  /* ←3列 */
  gap: 22px 28px !important;
  /* 行間・列間 */
  align-items: start !important;
}

/* --- アイテム：横並び。カード装飾は全て無効化 --- */
.amenities-section .amenities-grid .wp-block-column.amenity-item {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  /* アイコンと文字の間隔：控えめ */
  min-height: 56px !important;
  padding: 2px 0 !important;
  text-align: left !important;

  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* --- 青スクエア（小さめ） --- */
.amenities-section .amenities-grid figure.wp-block-image.amenity-icon {
  width: 56px !important;
  height: 56px !important;
  flex: 0 0 56px !important;
  margin: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #2c3e5c !important;
  /* クラシックゴールド */
  border-radius: 3px !important;
  /* 丸みは最小限 */
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .55) inset,
    0 4px 10px rgba(16, 24, 40, .05) !important;
  /* 影も控えめ */
  overflow: hidden !important;
}

/* --- 中のPNG（小さめ） --- */
.amenities-section .amenities-grid figure.wp-block-image.amenity-icon img {
  width: 45px !important;
  height: 45px !important;
  object-fit: contain !important;
  display: block !important;
  filter: brightness(0) invert(1) contrast(1.05);
  /* 白インク風。不要なら削除 */
  image-rendering: -webkit-optimize-contrast;
}

/* --- ラベル：読みやすく小ぶりに --- */
.amenities-section .amenities-grid p.amenity-label {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  letter-spacing: .03em !important;
  color: #2A2A2A !important;
  text-align: left !important;
}

.amenities-section .amenities-grid p.amenity-label.has-text-align-center {
  text-align: left !important;
}

/* --- 見出し下のライン（任意。邪魔なら削除） --- */
.amenities-section .amenities-title {
  position: relative;
  padding-bottom: 10px;
}

.amenities-section .amenities-title:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(31, 47, 63, .12), rgba(31, 47, 63, 0) 60%);
}

/* --- レスポンシブ：タブレット=2列、スマホ=1列 --- */
@media (max-width: 1100px) {
  .amenities-section .wp-block-columns.amenities-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .amenities-section .wp-block-columns.amenities-grid {
    grid-template-columns: 1fr !important;
    gap: 16px 18px !important;
  }

  .amenities-section .amenities-grid figure.wp-block-image.amenity-icon {
    width: 48px !important;
    height: 48px !important;
    flex-basis: 48px !important;
  }

  .amenities-section .amenities-grid figure.wp-block-image.amenity-icon img {
    width: 22px !important;
    height: 22px !important;
  }

  .amenities-section .amenities-grid p.amenity-label {
    font-size: 13.5px !important;
  }
}

/* ==========================================================================
   ヘッダーメニュー
   ========================================================================== */
.l-header {
  background: #ffffff !important;
}



/* ==========================================================================
   ドロワーメニュー
   ========================================================================== */
/* ドロワーメニュータイトル（MENU） */
.c-widget__title.-spmenu {
  background: transparent !important;
  color: #111 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  padding: .75em 1em !important;
  border: none !important;
  box-shadow: none !important;
}

/* リスト行の区切り（_nav / __nav 両対応） */
.p-spMenu_nav li,
.p-spMenu__nav li {
  border-bottom: 1px solid #eee;
}

/* 各リンク（右端の矢印ぶんの余白を確保） */
.p-spMenu_nav li>a,
.p-spMenu__nav li>a {
  position: relative;
  display: block;
  padding: .9em 40px .9em 1em;
  color: #222;
  text-decoration: none;
}

.p-spMenu_nav li>a:hover,
.p-spMenu__nav li>a:hover {
  background: #f7f7f7;
}

/* 右端の矢印（chevron） */
.p-spMenu_nav li>a::after,
.p-spMenu__nav li>a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 8px;
  height: 8px;
  margin-top: -6px;
  border-right: 2px solid #9aa0a6;
  border-top: 2px solid #9aa0a6;
  transform: rotate(45deg);
  pointer-events: none;
}




/* ==========================================================================
   CTA　セクション
   ========================================================================== */
@media screen and (max-width: 7690px) {
  p.has-text-align-center.cta-open {
    margin-bottom: 0 !important;
  }
}

@media screen and (max-width: 870px) {
  span.phone-number-1 {
    font-size: 1.4rem !important;
  }

  p.has-text-align-center.cta-open>span {
    font-size: 12px !important;
    letter-spacing: .04em;
  }
}



/* 対象ブロック：.swell-block-columns.contact-box-2 配下だけに限定 */
.contact-box-2 .swell-block-columns__inner {
  /* 念のための安全策。SWELLは既に flex ですが揃えておきます */
  display: flex;
  align-items: stretch;
  justify-content: center;
}

/* ベース（モバイル）：1列 */
.contact-box-2 .swell-block-column {
  /* SWELLの幅指定は var(--clmn-w) を見るので、変数で上書き */
  --clmn-w--mobile: 100%;
  min-width: 0;
  /* テキストでのはみ出し防止 */
}




/* 折り返す幅帯では縦線を消す（段落ちのズレ防止） */
@media (max-width: 769px) {
  .contact-box-2 .swell-block-column {
    width: 80%;
    min-width: 0;
  }

  .swell-block-column.swl-has-mb--s.main-form-box::before,
  .swell-block-column.swl-has-mb--s.main-form-box::after {
    content: none !important;
  }

  .mail-form-title {
    border-top: 1px solid rgba(29, 47, 69, .14) !important;

  }

  .contact-box-2 p.has-text-align-center.mail-form-title {
    border-top: none !important;
    /* 既存のフル幅ボーダーを消す */
    position: relative;
  }

  .contact-box-2 p.has-text-align-center.mail-form-title::before {
    content: "";
    display: block;
    width: 80%;
    /* ← 横線を80%に */
    height: 1px;
    background: rgba(29, 47, 69, .14);
    /* 既存の線色に合わせる */
    margin: 0 auto 20px;
    /* 上に余白＋中央寄せ（左右auto） */
  }
}






.contact-box-2 .swell-block-column {
  margin: 0;
}

.contact-box-2 .swell-block-columns__inner {
  margin-left: auto;
}

/* CONTACTの3カラム：インナーだけ横幅いっぱい。余りスペースは配分しない */
.contact-box-2 .swell-block-columns__inner {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  justify-content: flex-start !important;
  /* ← space-between を無効化 */
  /* gap は触らない（今のまま維持） */
}

/* 各ボックスを等分に“伸ばして”埋める（間隔はgapのまま）*/
.contact-box-2 .swell-block-column {
  flex: 1 0 0 !important;
  /* 基準幅0、残りを均等配分 */
  min-width: 0;
  /* テキストでのはみ出し防止 */
}

/* スマホだけ１列にする（contactの3ボックス） */
/* 〜599px をスマホ想定。必要なら閾値は調整 */
@media (max-width: 769px) {

  /* 1列化 */
  .contact-box-2 .swell-block-columns__inner {
    flex-wrap: wrap !important;
  }

  .contact-box-2 .swell-block-column {
    --clmn-w--mobile: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    min-width: 0;
  }

  /* 仕切り“だけ”のカラムは隠すが、右カラム（-right）は隠さない */
  .contact-box-2 .swell-block-column.line-box:not(.-right):not(.-left) {
    display: none !important;
  }

  .contact-box-2 .swell-block-column.line-box.-right {
    display: block !important;
    /* ← 3つ目を確実に表示 */
  }

  /* 中央カラムに擬似要素で描いた縦線があるならスマホでは消す */
  .contact-box-2 .swell-block-column.main-form-box.-center::before,
  .contact-box-2 .swell-block-column.main-form-box.-center::after {
    content: none !important;
  }
}

/* ==========================================================================
   CTA　セクション　（ここまで）
   ========================================================================== */
/* ==========================================================================
   査定　ページ　
   ========================================================================== */
@media (max-width: 599px) {
  .estate-form {
    padding-bottom: 0 !important;
  }
}

/* ==========================================================================
   お問い合わせ　CONTACT　ページ　
   ========================================================================== */
span.icon-phone {
  display: inline-flex;
  font-size: 86%;
  vertical-align: -0.13em;
  padding: 0 4px 5px 0;
  color: #1a2945;
}

.phone-number-1 {
  color: #1a2945;
}

p.header_contact_phone {
  text-align: center;
  font-size: 1em;
}

.contact-message-3 {
  margin-bottom: 0;
}

span.phone-number-1 {
  font-size: 2rem;
  color: #1a2945;
}

.icon-phone1:before,
.icon-phone:before {
  font-size: 28px !important;
  margin-bottom: 2.8px;
}

@media (max-width: 769px) {

  .icon-phone1:before,
  .icon-phone:before {
    font-size: 21px !important;
  }

  .post_content tr:last-child>td {
    border: 1px solid #dcdcdc !important;
  }
}

@media screen and (max-width: 599px) {
  span.phone-number-1 {
    font-size: 1.7rem !important;
  }
}