/*
 Theme Name: tateuri-original
 Template: astra
 Text Domain: tateuri-original
 Version: 1.0.0
 Description: Astra child theme for Tateuri.
 Author: WebSys
*/

:root {
  --page10-container: 100%; /* 参考画像に近い幅。好みで 1080〜1200px で微調整可 */
}

/* ───── Tateuri header base ───── */
.tateuri-header {
  height: 100px;              /* ご希望の固定高さ */
  display: flex;
  align-items: center;        /* 縦中央揃え */
  border-bottom: 1px solid #8a4924; /* 任意の下線（削除可） */
}

.tateuri-header__inner {
  width: min(1200px, 92vw);   /* コンテンツ幅 */
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 24px;                  /* ロゴとメニューの間隔 */
  color:#333;
}

.tateuri-header__brand {
  flex: 0 0 auto;
}
.tateuri-header__brand .custom-logo,
.tateuri-header__brand img {
  max-height: 64px;           /* ロゴ画像の上限（100pxの中に収める） */
  height: auto;
  width: auto;
}

/* メニューを横並びに */
.tateuri-header__nav {
  flex: 1 1 auto;
}
.tateuri-header__nav .menu {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: flex-end;  /* 右寄せ。左寄せにしたい場合は flex-start */
  list-style: none;
  margin: 0;
  padding: 0;
}
.tateuri-header__nav .menu > li > a {
  text-decoration: none;
  font-weight: 600;
  line-height: 1;             /* 行高を詰めて上下のズレ防止 */
  padding: 10px 4px;          /* クリック余白 */
  color: inherit;
}

/* メニュー1と2の並びを差別化したい時はクラスで調整 */
.tateuri-header__nav--primary .menu { justify-content: flex-end; }
.tateuri-header__nav--secondary .menu { justify-content: flex-start; }

/* スマホ簡易対応（崩れ防止） */
@media (max-width: 768px) {
  .tateuri-header {
    height: auto;             /* 小画面は可変にする方が安全 */
    padding: 10px 0;
  }
  .tateuri-header__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
    display: grid;
    grid-template-columns: 3fr 7fr ;
    align-items: center;
    column-gap: 20px;
  }
  .tateuri-header__nav .menu {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 12px 16px;
  }
}

/* 固定ヘッダー（スクロールしても常に最上部に表示） */
.tateuri-header {
  position: sticky;   /* 互換性と扱いやすさ重視。常に固定したいなら fixed に変更 */
  top: 0;
  z-index: 9999;
  background: white;
}

/* 常に固定にしたい場合はこちら（position: fixed）に変更して、下の余白調整もセットで */
.tateuri-header.is-fixed {
  position: fixed;
  top: 0;
  left: 0; right: 0;
}

/* 固定時に下のコンテンツが隠れないようオフセット（100px想定） */
body.has-fixed-header {
  padding-top: 100px;
}

@media (max-width: 600px) {
    #astra-footer-menu .menu-item > a
 {
        padding-top: 0px;
        padding-bottom: 0px;
        padding-left: 20px;
        padding-right: 0px !important;
	    font-size: 14px;
    }
}
@media (max-width: 510px) {
    #astra-footer-menu .menu-item > a
	{
        padding-left: 10px;
	}
	.site-footer #menu-item-69 > a.menu-link, 
	.site-footer #menu-item-70 > a.menu-link, 
	.site-footer #menu-item-71 > a.menu-link, 
	.site-footer #menu-item-153 > a.menu-link{
		    margin-right: 13px;
	}
}




/* ヘッダー右端へ寄せる（ロゴから離す） */
.tateuri-header__social{
  margin-left: auto;              /* これで右端へ */
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: nowrap;              /* 絶対折り返さない */
  white-space: nowrap;
}

/* アイコンは常に横並び固定 */
.tateuri-header__social .sns-link{ display:inline-flex; flex:0 0 auto; }
.tateuri-header__social .sns-link img{ display:block; height:24px; width:auto; }

/* ハンバーガー（SNSの左） */
.header-hamburger{
  display:none;                   /* PCでは非表示 */
  width:36px; height:36px; padding:0; border:0; background:transparent; cursor:pointer;
  position:relative; flex:0 0 auto;
}
.header-hamburger span{
  position:absolute; left:7px; right:7px; height:2px; background:#111; border-radius:2px;
  transition:transform .2s ease, top .2s ease, opacity .2s ease;
}
.header-hamburger span:nth-child(1){ top:11px; }
.header-hamburger span:nth-child(2){ top:17px; }
.header-hamburger span:nth-child(3){ top:23px; }
.header-hamburger[aria-expanded="true"] span:nth-child(1){ top:17px; transform:rotate(45deg); }
.header-hamburger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.header-hamburger[aria-expanded="true"] span:nth-child(3){ top:17px; transform:rotate(-45deg); }

/* 800px以下でハンバーガー表示・PCナビ非表示 */
@media (max-width:800px){
  .header-hamburger{ display:inline-flex; }
  .tateuri-header__nav--primary{ display:none !important; }
}

/* オフキャンバス */
.tateuri-mobile-backdrop{
  position:fixed; inset:0; background:rgba(0,0,0,.4);
  opacity:0; transition:opacity .2s ease; z-index:9998;
}
.tateuri-mobile-drawer{
  position:fixed; top:0; right:0; height:100vh; width:min(80vw,360px);
  background:#fff; box-shadow:-6px 0 20px rgba(0,0,0,.15);
  transform:translateX(100%); transition:transform .25s ease; z-index:9999;
  display:flex; flex-direction:column;
}
.tateuri-mobile-drawer .drawer-inner{ padding:18px; overflow:auto; height:100%; }
.tateuri-mobile-drawer .mobile-menu{ list-style:none; margin:0; padding:0; }
.tateuri-mobile-drawer .mobile-menu li{ border-bottom:1px solid #eee; }
.tateuri-mobile-drawer .mobile-menu a{ display:block; padding:12px 4px; text-decoration:none; color:#111; }
.tateuri-mobile-drawer .mobile-menu a:hover{ background:#f7f8fb; }

/* オープン状態 */
.tateuri-mobile-drawer.is-open{ transform:none; }
.tateuri-mobile-backdrop.is-open{ opacity:1; }
body.mobile-menu-open{ overflow:hidden; }

/* ============ モバイルメニュー（モーダル）修正 ============ */

/* ベース色を統一（青リンクを禁止） */
.tateuri-mobile-drawer{
  color:#333; /* 本文色 */
}
.tateuri-mobile-drawer .mobile-menu,
.tateuri-mobile-drawer .mobile-menu ul{
  list-style:none; margin:0; padding:0;
}
/* リンクの青/黄色背景を完全に無効化 */
.tateuri-mobile-drawer .mobile-menu a,
.tateuri-mobile-drawer .mobile-menu a:visited{
  color:#333 !important;
  text-decoration:none !important;
  background:none !important;
  box-shadow:none !important;
}
.tateuri-mobile-drawer .mobile-menu a:hover,
.tateuri-mobile-drawer .mobile-menu a:focus{
  color:#333 !important;
  background:#f5f7fb;      /* うっすらホバー（不要なら消してOK） */
}

/* ×ボタンの位置＆ヒットエリアをきっちり固定 */
.tateuri-mobile-drawer .drawer-inner{
  position:relative;
  padding:18px 16px;       /* 既定の内側余白 */
}
.tateuri-mobile-drawer .drawer-close{
  position:absolute;
  top:8px;
  right: max(8px, env(safe-area-inset-right)); /* iOS安全領域考慮 */
  width:40px; height:40px;                     /* 指で押しやすいサイズ */
  display:flex; align-items:center; justify-content:center;
  font-size:22px; line-height:1;
  border:0; background:transparent; color:#444; cursor:pointer;
  z-index:10;
}
/* メニュー項目が×の下に潜らないよう余白を確保 */
.tateuri-mobile-drawer .mobile-menu{ margin-top: 36px; }

.tateuri-mobile-drawer .drawer-close:hover{ color:#000; }

/* ハンバーガーの黄色/背景も無効化（保険） */
button.header-hamburger,
button.header-hamburger:hover,
button.header-hamburger:focus{
  background:none !important;
  box-shadow:none !important;
  color:inherit !important;
}

@media(max-width:355px){
	.hero-content{
    padding: 5px;
	}
}


/* フッター上部のライン */
.site-footer {
  border-top: 2px solid #8a4924;
	margin-top:30px;
}
.site-primary-footer-wrap{
	padding-top:30px !important;
}

/* 対象3リンクのベース状態：下線は0%（非表示） */
.site-footer #menu-item-69 > a.menu-link,
.site-footer #menu-item-70 > a.menu-link,
.site-footer #menu-item-71 > a.menu-link,
.site-footer #menu-item-153 > a.menu-link,
.site-footer #menu-item-168 > a.menu-link{
  position: relative;
  text-decoration: none;
  border-bottom: none; /* 既存の線は消す */
  background-image: linear-gradient(to right, #aaa 0%, #333 100%);
  background-repeat: no-repeat;
  background-position: left bottom;   /* 下端に表示 */
  background-size: 0% 1px;            /* 初期は0% */
  transition: background-size .25s ease;
	margin-right:20px
}

/* ホバーで左→右へ濃くなるグラデーションの下線を伸ばす */
.site-footer #menu-item-69 > a.menu-link:hover,
.site-footer #menu-item-70 > a.menu-link:hover,
.site-footer #menu-item-71 > a.menu-link:hover,
.site-footer #menu-item-153 > a.menu-link:hover,
.site-footer #menu-item-168 > a.menu-link:hover{
  background-size: 100% 1px;          /* 全幅までスッ…と伸びる */
}



/* =====================================
   Heroセクション（背景＋ぼかし）
===================================== */
.hero-with-search {
  position: relative;
  background: var(--hero-bg);
  background-size: cover;
  background-position: center;
  height: 525px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  text-align: center;
  overflow: hidden;
}

/* 背景ぼかし用オーバーレイ */
.hero-overlay {
  position: absolute;
  inset: 0;
  backdrop-filter: blur(2px);
  background: rgba(0, 0, 0, 0.2);
}

/* テキスト＆検索フォームエリア */
.hero-content {
  position: relative;
  z-index: 2;
  max-width: 900px;
  padding: 20px;
}

.hero-content h1 {
  font-size: 2.4rem;
  margin-bottom: 20px;
  color: #fff;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

.hero-content p {
  font-size: 1.2rem;
  margin-bottom: 30px;
	color: #fff;
  opacity: 0.95;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}

/* 検索フォーム（既存デザイン踏襲） */
.hero-search-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.hero-search-form .search-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}


@media (max-width: 450px) {
	.hero-content{
		padding:5px; 
	}
}



.hero-search-form label {
  display: block;
  font-size: 0.9rem;
  margin-bottom: 3px;
	color: #fff;
  font-weight: 500;
}

.hero-search-form select {
  width: 100%;
  padding: 8px;
  border-radius: 4px;
  border: none;  
	color: #333;
  background: #fff;  
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  font-weight: 500;
}
/* セレクトフォーカス時 */
.hero-search-form select:focus {
  outline: none;
  box-shadow: 0 0 0 2px #0c7ae5;
}

.hero-search-form .search-btn {
  background: #0051cc;
  color: white;
  border: none;
  padding: 10px 30px;
  border-radius: 6px;
  cursor: pointer;
  margin-top: 10px;
}

.hero-search-form .search-btn:hover {
  background: #0c7ae5;
}

/* 背景画像（CSS変数で指定） */
body.home .hero-with-search {
  --hero-bg: url('https://tateuri-no1.com/wp-content/uploads/2025/10/tateuri_hero.jpg');
}

/* モバイル対応 */
@media (max-width: 768px) {
  .hero-with-search {
    height: auto;
    padding: 60px 20px;
  }
	/* 背景画像（CSS変数で指定） */
body.home .hero-with-search {
  --hero-bg: url('https://tateuri-no1.com/wp-content/uploads/2025/10/tateuri_hero2.jpg');
}
}

/* =====================================
   お知らせ（aside）
===================================== */

/* --- ピル（ヒーロー上に載せる想定） --- */
.p-announcement-pill {
  position: relative;
  display: flex;
  justify-content: center;
  margin: 0 0 16px;
  z-index: 2; /* ヒーローの上に */
}
.p-announcement-pill__link {
  display: inline-block;
  padding: 14px 28px;
  background: #16c0c8;       /* スクショのシアンに寄せた色 */
  color: #fff;
  border-radius: 9999px;     /* まん丸 */
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
  text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
  white-space: nowrap;
}
.p-announcement-pill__link:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(0,0,0,.22);
  opacity: .95;
}

/* --- バー（ヒーローの下、entry-contentの上） --- */
.p-announcement {
  position: relative;
  background: #efefef;
  color: #333;
  padding: 18px 16px;
  border-top: 1px solid rgba(0,0,0,.04);
  border-bottom: 1px solid rgba(0,0,0,.04);
  grid-template-columns: 1fr auto;
  gap: 8px 16px;
  align-items: center;
	text-align: center;
}
.p-announcement__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.5;
}
.p-announcement__body {
  grid-column: 1 / -1;
  margin: 2px 0 0;
  font-size: .95rem;
}
.p-announcement__link{
	  margin-bottom:0px !important;
}

.p-announcement__link a {
  display: inline-block;
  text-decoration: underline;
  font-weight: 600;
  color: #1a4fbf;

	font-size:14px;
}
.p-announcement__link a:hover { text-decoration: none; }

.p-announcement__close {
  grid-row: 1 / span 2;
  justify-self: end;
  appearance: none;
  border: none;
  background: transparent;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  color: rgba(0,0,0,.45);
  padding: 6px 8px;
}
.p-announcement__close:hover { color: rgba(0,0,0,.7); }

/* レスポンシブ */
@media (max-width: 768px) {
  .p-announcement {
    grid-template-columns: 1fr auto;
  }
}
@media (max-width: 650px){
	.property-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 480px) {
  .p-announcement {
    grid-template-columns: 1fr;
  }
  .p-announcement__close { position: absolute; top: 6px; right: 8px; }
  .p-announcement__link { margin-top: 6px; }
}

/* ヒーロー上でピルが埋もれないよう、間隔を少しあける例（任意） */
.hero-content .p-announcement-pill { margin-bottom: 20px; }
.page-id-10 .entry-content[data-ast-blocks-layout] > * {
  max-width: var(--page10-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;

}

.floor-area,
.chip{
	display: inline-block; 
    padding: 4px 10px;
	background: #f3f4f6; 
	color: #374151; 
	border-radius: 4px; 
	font-size: 12px; 
	font-weight: 500;
}


/* 物件カード内のリンク下線を全面オフ */
.property-card a.property-link {
  text-decoration: none;
  border-bottom: 0;     /* 罫線系で下線にしている場合の保険 */
  background-image: none;/* 背景グラデで下線にしている場合の保険 */
}

/* 物件詳細テーブルの線をすべて消す */
.property-info-table{
  border-collapse: collapse;   /* どちらでもOKだが念のため */
  border: none !important;
}
.property-info-table th,
.property-info-table td{
  border: none !important;
}

/* テーマが行区切りを tr に付けている場合も消す */
.property-info-table tr,
.property-info-table tbody tr + tr{
  border: none !important;
  box-shadow: none !important; /* 行区切りを影で描いてるテーマ対策 */
}

/* 疑似要素で線を引いている場合の保険 */
.property-info-table::before,
.property-info-table::after,
.property-info-table th::before,
.property-info-table th::after,
.property-info-table td::before,
.property-info-table td::after{
  content: none !important;
}


/* ホバー/フォーカス時も下線を出さない */
.property-card a.property-link:hover,
.property-card a.property-link:focus {
  text-decoration: none ;
  border-bottom: 0 ;
  background-image: none ;
}

/* 念のため、内側の要素にも下線が当たっていたら無効化 */
.property-card a.property-link * {
  text-decoration: none;
  border-bottom: 0;
  background-image: none;
}

/* 対象ページ：利用規約(ID56)／プライバシーポリシー(ID3) */
.page-id-56 .entry-content,
.page-id-3  .entry-content,
.page-id-59  .entry-content,
.page-id-166 .entry-content,
.page-id-183  .entry-content,
.page-id-185  .entry-content,
.page-id-187  .entry-content{
  padding: 15px;
  box-sizing: border-box; /* 幅計算の安全策 */
}

/* 600px以下は 5px に */
@media (max-width: 600px){
  .page-id-56 .entry-content,
  .page-id-3  .entry-content,
  .page-id-59  .entry-content,
  .page-id-166 .entry-content,
  .page-id-183  .entry-content,
  .page-id-185  .entry-content,
  .page-id-187  .entry-content{
    padding: 5px;
  }
}

/* 以前の「子要素に margin」を無効化（もし残っている場合の保険） */
.page-id-56 .entry-content > *,
.page-id-3  .entry-content > *,
.page-id-59  .entry-content > *,
.page-id-166 .entry-content > *,
.page-id-183  .entry-content > *,
.page-id-185  .entry-content > *,
.page-id-187  .entry-content > *{
  margin-left: 5px !important;
  margin-right: 5px !important;
}

/* 見出しではない本文色を --ast-global-color-2 に統一 */
.page-id-56 .entry-content p,
.page-id-56 .entry-content li,
.page-id-56 .entry-content dd,
.page-id-56 .entry-content figcaption,
.page-id-3  .entry-content p,
.page-id-3  .entry-content li,
.page-id-3  .entry-content dd,
.page-id-3  .entry-content figcaption,
.page-id-59 .entry-content p,
.page-id-59 .entry-content li,
.page-id-59 .entry-content dd,
.page-id-59 .entry-content figcaption,
.page-id-166 .entry-content p,
.page-id-166 .entry-content li,
.page-id-166 .entry-content dd,
.page-id-166 .entry-content figcaption,
.page-id-183  .entry-content p,
.page-id-183  .entry-content li,
.page-id-183  .entry-content dd,
.page-id-183  .entry-content figcaption,
.page-id-185 .entry-content p,
.page-id-185 .entry-content li,
.page-id-185 .entry-content dd,
.page-id-185 .entry-content figcaption,
.page-id-187 .entry-content p,
.page-id-187 .entry-content li,
.page-id-187 .entry-content dd,
.page-id-187 .entry-content figcaption{
  color: var(--ast-global-color-2);
	font-size:15px;
}


.page-id-56 .entry-content h1,
.page-id-3  .entry-content h1,
.page-id-59 .entry-content h1,
.page-id-166 .entry-content h1,
.page-id-183 .entry-content h1,
.page-id-185 .entry-content h1,
.page-id-187 .entry-content h1 {
  font-size: 28px;
  margin-top: 24px;
}


.page-id-56 .entry-content h2,
.page-id-3  .entry-content h2,
.page-id-59 .entry-content h2,
.page-id-166 .entry-content h2,
.page-id-183  .entry-content h2,
.page-id-185  .entry-content h2,
.page-id-187 .entry-content h2{
    font-size: 24px;
	margin-top: 20px;
}



.page-id-56 .entry-content h3,
.page-id-3  .entry-content h3,
.page-id-59 .entry-content h3,
.page-id-166 .entry-content h3,
.page-id-183 .entry-content h3,
.page-id-185 .entry-content h3,
.page-id-187 .entry-content h3 {
  font-size: 18px;
  margin-top: 16px;
}

/* H4：本文と同じサイズ（細かい項目用） */
.page-id-56 .entry-content h4,
.page-id-3  .entry-content h4,
.page-id-59 .entry-content h4,
.page-id-166 .entry-content h4,
.page-id-183 .entry-content h4,
.page-id-185 .entry-content h4,
.page-id-187 .entry-content h4 {
  font-size: 15px;
  margin-top: 12px;
}


/* ====== Scoped base ====== */


.page-id-62 .entry-content[data-ast-blocks-layout] > * {
  max-width: none !important;
  width: 100%;
}
.lp{
  --lp-accent:#0ea5e9;
  --lp-deep:#060097;
  --lp-text:#0a0a16;
  --lp-muted:#6b7280;
  --lp-radius:14px;
  --lp-shadow:0 10px 30px rgba(0,0,0,.08);
  color:var(--lp-text)
}
.lp .lp-wrap{
  max-width:1100px;
  margin:auto;
  padding:0 20px
}
.lp .lp-sec{
  padding:50px 0
}
.lp .lp-eyebrow{
  letter-spacing:.08em;
  font-weight:700;
  color:var(--lp-deep);
  font-size:.85rem
}
.lp .lp-h1{
  font-size:clamp(28px,4.6vw,40px);
  line-height:1.2;
  margin:8px 0 12px;
}
.lp .lp-lead{
  font-size:clamp(15px,2.2vw,17px);
  line-height:1.8;
  color:#1f2937;
}
.lp .lp-muted{
  color:var(--lp-muted)
}
.lp .lp-btn{
  display:inline-block;
  padding:12px 20px;
  border-radius:999px;
  background:#fff;
  color:var(--lp-accent);
  font-weight:700;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(14,165,233,.25);
  transition:transform .06s ease,box-shadow .2s;
  border:2px solid var(--lp-accent);
}
.lp .lp-btn:hover{
  transform:translateY(-1px);
  background:var(--lp-accent);
  color:#fff;
}
.lp .lp-btn.lp-btn-outline{
  background:#fff;
  color:var(--lp-accent);
  border:2px solid var(--lp-accent);
  box-shadow:none
}
.lp .lp-btn.lp-btn-outline:hover{
  background:var(--lp-accent);
  color:#fff;
  border:2px solid var(--lp-accent);
  box-shadow:none
}

/* Hero 背景（画像＋ぼかし＋暗めのグラデ） */
.tateuri-ichiban-page .lp-hero--bg{
  position: relative;
  overflow: hidden;
  color: #fff;
  background: #0c1b4d; /* 画像未設定の保険 */
}

/* 画像レイヤー：ぼかしはここ */
.tateuri-ichiban-page .lp-hero--bg::before{
  content: "";
  position: absolute;
  inset: -10px;                       /* ぼかしの滲み防止で少し外側まで */
  background: url('img/lptop1.png') center/cover no-repeat;
  filter: blur(8px) saturate(110%);   /* ぼかし半径は 4〜12px で調整 */
  transform: scale(1.05);             /* 端の透け防止 */
  will-change: transform, filter;
  z-index: 0;
}

/* 暗めの被せレイヤー（コントラスト確保） */
.tateuri-ichiban-page .lp-hero--bg::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.55));
  z-index: 0;
}

/* 前面のテキストは最前面に */
.tateuri-ichiban-page .lp-hero--bg > .lp-wrap{
  position: relative;
  z-index: 1;
}

.tateuri-ichiban-page .lp-hero-min{max-width:720px}
.tateuri-ichiban-page .lp-hero-badge{display:inline-block;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);padding:6px 12px;border-radius:999px;font-weight:700;margin-bottom:10px;color:#fff}
.tateuri-ichiban-page .lp-hero .lp-h1{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.3)}
.tateuri-ichiban-page .lp-hero .lp-lead{color:#eaf2ff}
.tateuri-ichiban-page .lp-shout strong{font-size:1.15em}

/* ====== Pricing cards ====== */
.lp .lp-pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lp .lp-card{overflow: hidden;background:#fff;border-radius:var(--lp-radius);box-shadow:var(--lp-shadow);border:1px solid #e9eef5}
.lp .lp-plan{padding:22px;position:relative;border-top:4px solid var(--lp-deep)}
.lp .lp-plan .label{position:absolute;top:14px;right:-44px;rotate:35deg;background:var(--lp-accent);color:#fff;padding:3px 60px;font-size:.8rem;font-weight:800}
.lp .lp-plan-popular{border:2px solid #f0b429}
.lp .lp-plan-popular .label{background:#ef4444}
.lp .lp-price{font-size:2rem;font-weight:800;margin:8px 0;color:#07238f}
.lp .lp-price small{font-size:.9rem;color:var(--lp-muted);font-weight:600}
.lp .lp-features{display:grid;gap:10px;margin:14px 0 18px}
.lp .lp-features li{list-style:none}
.lp .lp-plan-cap{display:flex;justify-content:space-between;align-items: center;gap:8px;padding:10px 0;border-top:1px solid #e9eef5;border-bottom:1px solid #e9eef5;color:var(--lp-muted);font-size:.9rem}
.lp .lp-plan-cap > div:last-child{font-size:1.25rem;font-weight:700;color:#0a0a16}

/* Campaign band */
.tateuri-ichiban-page .lp-campaign{background:#fff6e5;border:1px dashed #f0b429;border-radius:12px;padding:14px 16px;margin:0 0 35px}
.tateuri-ichiban-page .lp-campaign__title{font-weight:800;color:#a16207;margin-bottom:4px}
.tateuri-ichiban-page .lp-campaign__body{color:#92400e}

/* Notes */
.tateuri-ichiban-page .lp-note{margin-top:18px;padding:14px;background:#f9fafb;border-radius:8px;border:1px solid #e9eef5}
.tateuri-ichiban-page .lp-note ul{margin:0;padding-left:1.2em}
.tateuri-ichiban-page .lp-note li{margin:.35rem 0}

/* Plan change */
.lp .lp-benefit h3{margin:.2rem 0}

/* Tail CTA */
.tateuri-ichiban-page .lp-cta-tail{margin-top:14px;text-align:center;font-weight:700}

.lp-cta-row{
    margin-top: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;

}

/* Responsive */
@media (max-width:960px){
  .lp .lp-pricing{grid-template-columns:1fr 1fr}
}
@media (max-width:740px){
  .lp .lp-pricing{grid-template-columns:1fr}
  .lp .lp-btn, .lp-btn{
    font-size:14px !important;
  }
  .lp-card .lp-benefit{
    padding:15px !important;
  }

}
@media (max-width:560px){
  .lp .lp-sec{padding:35px 0}
  .tateuri-ichiban-page .lp-hero .lp-h1{font-size:26px}
}

/* 下部メッセージをボタン化したときのサイズだけ調整 */
.lp-cta-tail-btn {
  font-size: 1.05rem;
  padding: 14px 28px;
}
@media (max-width: 545px) {
  .lp-cta-tail-btn {
    width: 100%;
    text-align: center;
  }
}

/* ===== カード：ホバーで少し持ち上げる（クリック時だけでなくカーソルONでも） ===== */
.tateuri-ichiban-page .lp-card{
  transition: transform .18s ease, box-shadow .18s ease;
  will-change: transform, box-shadow;
}
.tateuri-ichiban-page .lp-card:hover,
.tateuri-ichiban-page .lp-card:focus-within{
  transform: translateY(-4px);
  box-shadow: 0 8px 18px rgba(9, 30, 66, .12);
}

/* ===== 申込みボタン：非「おすすめ」プランは hover で #f0d9a0 ＋ 文字白に ===== */
/* ベース：スムーズに色が切り替わるように */
.tateuri-ichiban-page .lp-btn,
.tateuri-ichiban-page .lp-btn--outline{
  transition: background-color .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

/* タップ端末の“押した瞬間”の見た目も近づける */
.tateuri-ichiban-page .lp-card:not(.lp-plan-popular) .lp-btn--outline:active{
  filter: saturate(1.05);
  transform: translateY(0); /* カードの持ち上がりは継続／ボタンは沈まないように */
}

/* CTAテールボタン：文字色＆枠線を #ef4444 に */
.tateuri-ichiban-page .lp-cta-row .lp-btn.lp-cta-tail-btn{
  color: #ef4444;
  border: 2px solid #ef4444;
  background: #fff;            /* 既定は白背景のまま */

}

/* ホバー時は反転（任意） */
.tateuri-ichiban-page .lp-cta-row .lp-btn.lp-cta-tail-btn:hover{
  background: #ef4444;
  color: #fff;
}

/* キーボード操作のフォーカス見やすく（任意） */
.tateuri-ichiban-page .lp-cta-row .lp-btn.lp-cta-tail-btn:focus-visible{
  outline: 3px solid #ef4444;
  outline-offset: 2px;
}

/* ===== サービス特徴（①②）セクション ===== */

.tateuri-ichiban-page .lp-feature-grid{
  display:grid;
  gap:30px;
  grid-template-columns: repeat(2, 1fr);
}

.tateuri-ichiban-page .lp-feature-grid .lp-benefit{
  padding:22px;
  border: 2px solid #f0b429;
}

.tateuri-ichiban-page .lp-feature-grid h3{
  font-size:1.5rem;
  margin-bottom:20px;
}

/* 理由文中の強調テキスト（赤） */
.tateuri-ichiban-page .lp-strong-accent {
  color: #ef4444; /* お好みで赤のカラーコードは調整OK */
  font-weight: 700;
}

/* ABOUT SERVICE の見出しだけ中央寄せにする */
.lp-sec-features h2.lp-h1 {
  display: block;          /* 元の display:flex を打ち消す */
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.lp-sec.lp-sec-features{
  padding-bottom: 0px !important;
}

/* これで <section class="lp-sec lp-sec-alt"> をピンポイント指定 */
.lp-sec.lp-sec-alt {
  padding: 0 !important;
}


/* スマホで縦並びに */
@media (max-width:960px){
  .tateuri-ichiban-page .lp-feature-grid{
    grid-template-columns:1fr;
  }
}
/* 800px以上のとき、特徴ブロックの文字を少し大きくする */
@media (min-width: 800px) {

  /* 本文・リスト・補足 */
  .tateuri-ichiban-page .lp-sec-features .lp-feature-grid .lp-lead,
  .tateuri-ichiban-page .lp-sec-features .lp-feature-grid .lp-muted,
  .tateuri-ichiban-page .lp-sec-features .lp-feature-grid .lp-list li {
    font-size: 1.05rem; /* 元: 1rem → 約+2px相当 */
  }
}

@media (max-width:630px) {
  .tateuri-ichiban-page .lp-feature-grid .lp-benefit{
    padding:15px;
  }
}

@media (max-width:580px) {
    /* strong 自体はインラインのまま */
  .tateuri-ichiban-page .lp-strong-accent {
    display: inline;
  }

  /* 前にだけ改行を入れる（lead と reason 両方） */
  .tateuri-ichiban-page .lp-lead .lp-strong-accent::before,
  .tateuri-ichiban-page .lp-reason .lp-strong-accent::before {
    content: "\A";        /* 改行コード */
    white-space: pre;     /* \A を改行として解釈させる */
  }
}
@media (max-width: 510px) {
  .lp-h1 br {
    display: none;
  }
}




/* タイトル周り */
.property-title { margin: 0 0 4px; font-weight: 700; }
.catch-copy { 
	margin: 0 0 8px; 
	color: #6b7280;
	margin-bottom: 10px !important;
}

@media(max-width:661px){
	.property-details{
		margin-bottom:15px;
	}
	.price {
		font-size: 20px;
	}
	.chip--rooms{
		font-size: 20px;
	}
	.location{
		font-size:15px;
	}
	.property-info h3{
		font-size:18px;
	}
	.company-comment {
		padding: 10px;
	}
	.company-comment p{
		font-size: 15px;
	}
}

@media(max-width:500px){
	.property-details{
		margin-bottom:13px;
	}
	.price {
		font-size: 18px;
	}
	.chip--rooms{
		font-size: 18px;
	}
	.location{
		font-size:13px;
	}
	.property-info h3{
		font-size:16px;
	}
	.property-top-container{
		padding:10px;
	}
	.property-info {
		padding: 11px;
	}
	.property-gallery {
		margin-bottom: 10px;
	}
  .property-search-results{
    padding: 10px;
  }
  .property-favorites-container{
    padding: 10px;
  }

}


.property-details .location{
  margin-left:auto;     /* 右端へ */
}

.chip--rooms{ 
	background: #ffffff00;
	color: #ef4444;
	font-size: 18px;
	font-weight:700;
}

/* 下段：延床・土地の横並び（必要に応じてwrap） */
.property-meta-chips{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  margin-top:8px;
}

/* 横並び */
.property-details{
  display:flex;
  align-items:center;
}

/* 価格の右に短い仕切り線を追加 */
.property-details .price{
  display:inline-flex;
  align-items:center;
}

.property-details .price::after{
  content:"";
  display:inline-block;
  width:2px;                 /* 線の太さ */
  height:0.8em;              /* ← 線の長さ（ここを小さくすると短くなります） */
  background:#ccc;           /* 線の色 */
  margin-left: 10px;             /* 価格と3LDKとの間隔 */
  border-radius:1px;         /* 端を少し丸く */
}





/* セクション全体（既存の背景はそのままでOK） */
.p-announcement { padding: 28px 16px; }

/* 中のカード */
.p-announcement__box{
  max-width: 880px;
  margin: 0 auto;
  background: #fff;
  border-radius: 12px;
  padding: 24px 20px;
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
}

/* タイトルは中央、本文は左寄せへ */
.p-announcement__title{
  text-align: center;
  font-weight: 700;
  margin: 0 0 .4em;
}
.p-announcement__lead{ 
  text-align: center; 
  margin: 0 0 .6em;
  color:#555;
}
.p-announcement__body p{
	margin-bottom: 0.6em !important;
}

/* リストの箱は中央、行のテキストは左揃え */
.p-announcement__list{
  margin: 0 auto 1rem !important;   /* 中央寄せ */
  text-align: left;      /* 各行を左揃え */
  width: fit-content;    /* 内容幅にフィット（中央寄せしやすい） */
  padding-left: 1.4em !important;   /* 番号ぶんの余白 */
  list-style-position: outside;
}
.p-announcement__list li{
  line-height: 1.9;
}

.p-announcement__list.is-check li{
  display: flex;
  gap: .6em;
  align-items: flex-start;
  line-height: 1.8;
  font-size: 1rem;
  color:#333;
}
.p-announcement__list.is-check li::before{
  content: "✓";
  flex: 0 0 1.2em;
  height: 1.2em;
  display:inline-grid;
  place-items:center;
  border-radius: 50%;
  background: #0c7ae5;        /* サイトのアクセント色に合わせる */
  color: #fff;
  font-size: .85em;
  margin-top: .2em;
}

/* 追記テキストは中心で軽めに */
.p-announcement__note{
  text-align: center;
  color:#444;
  margin: .4rem 0 1.2rem;
}

/* CTAボタン */
.c-btn{
  display:inline-block;
  background:#0c7ae5;
  color:#fff;
  padding:.75em 1.25em;
  border-radius: 999px;
  text-decoration:none;
  font-weight:700;
  transition: transform .05s ease, box-shadow .2s ease, opacity .2s ease;
  box-shadow: 0 6px 16px rgba(12,122,229,.25);
}
.c-btn:hover{ opacity:.92; transform: translateY(-1px); }
.c-btn:active{ transform: translateY(0); }

/* 画面幅が広い時は横幅を少し広げる */
@media (min-width: 768px){
  .p-announcement__box{ padding: 32px 36px; }
}

a:hover, a:focus{
	color: #2264ad;
}

button:hover, button:focus {
    color: var(--ast-global-color-2);
	background:white
}

.favorite-btn-large:hover, .favorite-btn-large:focus{
	background:white !important;
	border-color: #e0e0e0 !important;
}
.inquiry-button-area a:hover, .inquiry-button-area a:focus{
	color: #fff;
}


.property-pagination{ 
	display:flex !important; 
	gap:16px !important; 
	align-items:center !important; 
	justify-content:center !important; 
	margin:24px 0; 
}
.property-pagination a, .property-pagination span{
	font-size:14px; 
	text-decoration:none !important;
	color:#222;
}
.property-pagination .page-num{ 
	padding:2px 6px; 
}
.property-pagination .current{ 
	text-decoration: underline !important;
	font-weight:700; 
}
.property-pagination .disabled{ 
	opacity:.4; 
	pointer-events:none; 
}
.property-pagination .page-ellipsis{ 
	padding:0 4px; 
}
.property-list-section h2{
  font-size: 24px;
  font-weight: 700;
  color: #1f2937;
  margin-bottom: 24px;
}

/* ====== "すべての物件を見る" ボタン ====== */
.property-view-all{
  margin-top: 20px;
  display: flex;
  justify-content: center;
}

.property-view-all .btn-view-all{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 24px;
  border-radius: 9999px;               /* pill */
  background: linear-gradient(90deg,#0c7ae5,#0051cc);
  color: #fff;
  font-weight: 700;
  letter-spacing: .02em;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(0,81,204,.22);
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
  max-width: 520px;                    /* モバイルは全幅、PCで大きすぎないように */
  text-align: center;
}

.property-view-all .btn-view-all::after{
  content: "→";
  font-weight: 700;
  transform: translateX(0);
  transition: transform .2s ease;
}

.property-view-all .btn-view-all:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(0,81,204,.28);
  opacity: .95;
}
.property-view-all .btn-view-all:hover::after{ transform: translateX(4px); }

.property-view-all .btn-view-all:active{
  transform: translateY(0);
  box-shadow: 0 6px 14px rgba(0,81,204,.22);
}

.property-view-all .btn-view-all:focus-visible{
  outline: 3px solid #bcd6ff;
  outline-offset: 3px;
}

/* もし淡い背景のセクション内で埋もれるなら軽く余白を追加 */
.property-list-section .property-view-all{ margin-top: 28px; }




/* 物件が見つからない時のメッセージデザイン */
.page-id-32 .property-not-found {
  text-align: center;      /* 中央寄せ */
  margin: 30px 0;          /* 上下同じ余白 */
}

.page-id-32 .property-not-found p {
  margin: 0;               /* pタグのデフォルト余白を消す */
}

.page-id-32 .property-not-found-message {
  font-size: 1.1rem;
  font-weight: 700;
}

.page-id-32 .property-not-found-link a {
  display: inline-block;
  margin-top: 8px;         /* 上下のバランスを見て微調整 */
  text-decoration: underline;
}
