@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}




/* ========== 上段(ロゴ・住所) / 下段(メニュー) の基本 ========== */
.c32-topbar { background:#fff; }
.c32-top-in { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.c32-contact { text-align:right; font-size:14px; line-height:1.6; }
.c32-address { font-style:normal; }

/* メニュー帯は全幅(背景色はお好みで) */
.c32-menubar { background:#d0c3a2; }           /* ベージュ帯 */
.c32-menu-in { display:flex; align-items:center; justify-content:center; gap:16px; }

/* Cocoon の“メニュー固定”が有効でも無効化して干渉させない */
#navi[class*="fix"], .navi[class*="fix"],
#navi[class*="fixed"], .navi[class*="fixed"]{
  position:static !important; top:auto !important; width:auto !important; box-shadow:none !important;
}

/* ========== スクロール後(固定時) ========== */
/* メニュー帯を画面上部に固定し、左右にロゴ/メニューを配置 */
.c32-menubar.is-fixed{
  position:fixed; top:0; left:0; right:0; z-index:9999;
  background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}
.c32-menubar.is-fixed .c32-menu-in{
  justify-content:space-between; /* 左右に振り分け */
}

/* 固定時は上段(住所エリア)を隠す */
.c32-topbar.is-hidden{ display:none !important; }

/* 固定時にメニューを右に寄せる（#navi の中身はそのまま） */
.c32-menubar.is-fixed #navi { margin-left:24px; }

/* スマホ：上段は縦積み */
@media (max-width:768px){
  .c32-top-in{ flex-direction:column; align-items:flex-start; gap:8px; }
}
/* ヘッダー右側の住所・電話部分 */
.c32-contact .c32-address .tel,
.c32-contact .c32-address .tel a {
  font-size: 28px;   /* 数字を大きく（お好みで 24〜32px） */
  font-weight: bold; /* 太字で視認性を高める */
  line-height: 1.2;
  color: #000;       /* 必要なら色指定 */
  text-decoration: none;
}

/* 他の文字（郵便番号・住所）は少し小さめにしてメリハリ */
.c32-contact .c32-address {
  font-size:14px;
  line-height:1.6;
  color: #d0c5a7;
}

.c32-contact .c32-address .tel {
  display:block;          /* ブロックにして改行 */
  margin-top:8px;         /* 上に余白を追加 → 行間が空く */
  font-size:28px;         /* 電話番号は大きく */
  font-weight:bold;
  color: #d0c5a7;
  line-height:1.2;
}

.c32-menubar.is-fixed{
  position:fixed; top:0; left:0; right:0; z-index:9999;
  background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
  width:100%;               /* ← 追加：右端のズレ防止 */
  box-sizing:border-box;     /* ← 追加：幅計算のブレ防止 */
}


/* =========================================================
   Contact Form 7（物件ページ専用デザイン）
   ========================================================= */

/* ---- ラップ ---- */
.cf7-wrap {
  background: #fffdf8;
  border: 1px solid #e3d9b7;
  border-radius: 14px;
  padding: 14px 16px;
  margin-top: 14px;
}

/* ---- ラベルと項目 ---- */
.cf7-label {
  display: block;
  font-weight: 700;
  color: #5c523c;
  margin: 0 0 6px;
}
.cf7-label .req {
  color: #b64a3a;
  font-weight: 700;
  margin-left: .25em;
}

/* ---- テキスト/セレクト/テキストエリア ---- */
.cf7-wrap input[type="text"],
.cf7-wrap input[type="email"],
.cf7-wrap input[type="tel"],
.cf7-wrap select,
.cf7-wrap textarea {
  width: 100%;
  box-sizing: border-box;
  padding: .6rem .7rem;
  border: 1px solid #e0d7bb;
  border-radius: 8px;
  background: #fff;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.cf7-wrap textarea { min-height: 140px; }
.cf7-wrap input:focus,
.cf7-wrap select:focus,
.cf7-wrap textarea:focus {
  border-color: #beaf87;
  box-shadow: 0 0 0 3px rgba(190,175,135,.18);
}

/* =========================================================
   ラジオ / チェックボックスをチップ風に
   ========================================================= */
.wpcf7 form .wpcf7-list-item label {
  display: inline-block;
  background: #fff;
  border: 1px solid #beaf87;
  border-radius: 999px;
  padding: 6px 14px;
  margin: 4px 6px 4px 0;
  cursor: pointer;
  transition: all 0.2s ease;
  color: #5c523c;
  font-size: 0.95rem;
}
.wpcf7 form input[type="radio"]:checked + span,
.wpcf7 form input[type="checkbox"]:checked + span {
  background: #beaf87;
  color: #fff;
  border-color: #beaf87;
}

/* =========================================================
   余白・行間 調整
   ========================================================= */

/* 各項目間 */
.wpcf7-form p {
  margin-bottom: 0.8rem !important;
}

/* ラベルとフィールドの距離 */
.wpcf7-form label {
  display: block;
  margin-bottom: 0.25rem;
  font-weight: 600;
  color: #5c523c;
}

/* チェック/ラジオ グループ */
.wpcf7-form .wpcf7-checkbox,
.wpcf7-form .wpcf7-radio {
  margin: 0.3rem 0 0.8rem 0;
}

/* =========================================================
   送信ボタン
   ========================================================= */
.cf7-btn {
  display: inline-block;
  width: 100%;
  padding: .8rem 1rem;
  border: 1px solid #beaf87;
  background: #beaf87;
  color: #fff;
  border-radius: 999px;
  font-weight: 700;
  cursor: pointer;
  transition: filter .15s ease, transform .02s ease;
}
.cf7-btn:hover { filter: brightness(.97); }
.cf7-btn:active { transform: translateY(1px); }

/* =========================================================
   送信後レスポンス
   ========================================================= */
.cf7-response .wpcf7-response-output {
  margin-top: 12px;
  border-radius: 8px;
  padding: .7rem .9rem;
  border-color: #e3d9b7 !important;
  background: #fff;
  color: #3a3520;
}

/* =========================================================
   物件ページとの距離調整
   ========================================================= */

/* ギャラリーとフォームの間を詰める */
.single-property .property-grid {
  margin-bottom: 0.8rem !important;
}

/* フォーム全体の上余白を軽く詰める */
.single-property .wpcf7 {
  margin-top: 0.8rem !important;
  padding-top: 0 !important;
}

/* タイトルとの距離 */
.single-property .property-wrap h2,
.single-property .property-wrap h3 {
  margin-top: 1.5rem !important;
  margin-bottom: 0.8rem !important;
}

/* =========================================================
   スマホ調整
   ========================================================= */
@media (max-width: 640px) {
  .cf7-wrap { padding: 12px; }
  .wpcf7-form p { margin-bottom: 0.6rem !important; }
  .single-property .property-grid { margin-bottom: 0.6rem !important; }
}







/* =========================================================
   TOP物件カード（pf-grid / pf-card）— 余白/高さリセット版
   ・PC: 4列固定
   ・スマホ白い空白を完全に抑止
   ・タイトルバッジ縦帯をブロック
========================================================= */

:root{ --accent:#beaf87; --ink:#5c523c; }

/* ===== グリッド ===== */
.property-grid__list.pf-grid{
  display:grid;
  gap:16px;
  grid-template-columns:repeat(2,1fr);
  margin-top:16px;
}
@media (min-width:768px){ .property-grid__list.pf-grid{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1200px){ .property-grid__list.pf-grid{ grid-template-columns:repeat(4,1fr); } }

/* ===== カード ===== */
.pf-card{
  background:#fff; border:1px solid #eee; border-radius:12px;
  box-shadow:0 2px 5px rgba(190,175,135,.08);
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform .1s ease, box-shadow .1s ease;
}
.pf-card:hover{ transform:translateY(-2px); box-shadow:0 6px 14px rgba(0,0,0,.08); }

.pf-card .pf-link{
  /* ← ここが肝：カード内の縦レイアウトを grid にして“行間 = gap”で管理 */
  display:grid !important;
  grid-template-rows: auto auto auto;
  align-content:start;
  row-gap:8px;
  color:inherit; text-decoration:none;
}

/* === テーマ既定を無効化（ここまで徹底的にやります） === */
.pf-card .pf-link > *{
  margin:0 !important;
  min-height:0 !important;
  padding:0; border:0;
}
.pf-card figure{ margin:0 !important; }

/* ===== 画像枠（比率固定＋絶対配置） ===== */
.pf-thumb{
  position:relative !important;
  width:100% !important;
  background:#f5f5f5;
  overflow:hidden !important;
  line-height:0 !important;
  aspect-ratio:4/3 !important;   /* PC/タブレット */
}
.pf-thumb::before,.pf-thumb::after{ content:none !important; display:none !important; }
.pf-thumb > img{
  position:absolute !important; inset:0 !important;
  width:100% !important; height:100% !important;
  object-fit:cover !important; display:block !important;
  margin:0 !important;
}
@media (max-width:640px){
  .pf-thumb{ aspect-ratio:16/9 !important; }  /* スマホは横長で安定 */
}

/* ===== タイトルバッジ（縦帯対策） ===== */
.pf-title-badge{
  position:absolute !important; z-index:2; top:8px; left:8px;
  display:inline-flex !important; align-items:center;
  background:#beaf87 !important; color:#fff !important;
  font-weight:700; font-size:13px; line-height:1;
  padding:4px 10px; border-radius:999px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  height:auto !important; max-height:28px !important;
  writing-mode:horizontal-tb !important;
}

/* ===== テキスト（ここから“必要な余白だけ”を付け直す） ===== */
.pf-price{ padding:10px 14px 2px; font-weight:700; font-size:1.06rem; color:var(--ink); }
.pf-minor{ padding:0 14px 12px; font-size:.92rem; color:#333; line-height:1.5; }
.pf-line{ display:flex; flex-wrap:wrap; gap:.4rem .6rem; }
.pf-station,.pf-plan{ font-weight:600; }

/* カード最下部の謎の余白を抑止 */
.pf-card .pf-link > *:last-child{ margin-bottom:0 !important; }


/* ====== スマホの白い空白・縦帯の最終止血パッチ ====== */

/* 1) a.pf-link を“普通のブロック”に戻す（行生成を止める） */
.property-card__link.pf-link{
  display:block !important;
}

/* 2) 画像枠：比率で高さを決め、内側の img は絶対配置で100%フィット */
.pf-thumb{
  position:relative !important;
  display:block !important;
  width:100% !important;
  overflow:hidden !important;
  background:#f5f5f5;
  line-height:0 !important;
  aspect-ratio: 16 / 9 !important;   /* スマホでの空白を出さない比率 */
  margin:0 !important; padding:0 !important; border:0 !important;
}
.pf-thumb::before,.pf-thumb::after{ content:none !important; display:none !important; }
.pf-thumb > img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  margin:0 !important;
}

/* 3) タイトルバッジは横長固定（縦帯化の保険） */
.pf-title-badge{
  position:absolute !important; top:8px !important; left:8px !important;
  display:inline-flex !important; align-items:center;
  height:auto !important; max-height:28px !important; writing-mode:horizontal-tb !important;
  padding:4px 10px !important; border-radius:999px; background:#beaf87 !important; color:#fff !important;
  font-weight:700; font-size:13px; line-height:1 !important; white-space:nowrap !important;
}

/* 4) 画像の下に“謎の段落や上下マージン”が入らないよう完全リセット */
.pf-card .pf-link > *{ margin:0 !important; min-height:0 !important; }
.pf-price{ padding:10px 14px 2px !important; font-weight:700; font-size:1.08rem; color:#222; }
.pf-minor{ padding:0 14px 12px !important; font-size:.92rem; color:#333; line-height:1.5; }

/* 5) PC では4列を維持（念押し） */
@media (min-width:1200px){
  .property-grid__list.pf-grid{ grid-template-columns:repeat(6,1fr) !important; gap:16px; }
}


/* ================================================
   ✅ Cocoon figureによる画像下の空白対策（スマホ含む）
================================================= */

/* figureタグをリセット */
figure.property-card__thumb.pf-thumb {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  line-height: 0 !important;
  position: relative !important;
  width: 100% !important;
  overflow: hidden !important;
  aspect-ratio: 16/9 !important;
  background: #f5f5f5;
}

/* figure内のimgを完全フィット */
figure.property-card__thumb.pf-thumb img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* figure直後の不要な余白を消す（ブラウザ補正） */
figure.property-card__thumb.pf-thumb + * {
  margin-top: 0 !important;
}

/* Cocoonが入れる.p-entry-contentやpタグのマージンも削除 */
.pf-card p,
.property-card__link.pf-link p {
  margin: 0 !important;
  padding: 0 !important;
}

/* 画像の下に謎の高さを出すmin-height対策 */
.pf-card .pf-thumb {
  min-height: auto !important;
  height: auto !important;
}


.pf-title-badge {
  background: #444 !important; /* 濃いグレー */
  color: #fff !important;
}




/* ===== pfカード専用ホットフィックス（他ページへ影響なし） ===== */

/* 1) カード内レイアウトは縦一列（グリッド/ブロックを強制解除） */
.property-grid__list.pf-grid .pf-card .pf-link{
  display: flex !important;
  flex-direction: column !important;
  gap: .25rem !important;
}

/* 2) 画像枠は比率固定、内側のimgは100%フィット */
.property-grid__list.pf-grid .pf-thumb{
  position: relative !important;
  display: block !important;
  width: 100% !important;
  overflow: hidden !important;
  background: #f5f5f5;
  line-height: 0 !important;
  aspect-ratio: 16 / 9 !important;   /* スマホで白帯が出ない安定比率 */
  margin: 0 !important;
}
.property-grid__list.pf-grid .pf-thumb > img{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
}

/* 3) タイトルバッジは横長のチップ固定（縦帯化を抑止） */
.property-grid__list.pf-grid .pf-title-badge{
  position: absolute !important;
  top: 8px !important; left: 8px !important;
  display: inline-flex !important; align-items: center;
  padding: 4px 10px !important; border-radius: 999px;
  height: auto !important; max-height: 28px !important;
  writing-mode: horizontal-tb !important;
  background: #beaf87 !important; color: #fff !important;
  font-weight: 700; font-size: 13px; line-height: 1 !important;
  white-space: nowrap !important;
}

/* 4) 余白を作る “空の段落/改行” をカード内でだけ無効化 */
.property-grid__list.pf-grid .pf-card .pf-link p:empty,
.property-grid__list.pf-grid .pf-card .pf-link p:empty:before,
.property-grid__list.pf-grid .pf-card .pf-link > p br{
  display: none !important;
}
.property-grid__list.pf-grid .pf-card .pf-link > p{
  margin: 0 !important; padding: 0 !important; border: 0 !important;
  line-height: 0 !important; height: 0 !important;
}

/* 5) テキスト周りのマージンをリセット（必要分だけに） */
.property-grid__list.pf-grid .pf-card .pf-link > *{ margin: 0 !important; }
.property-grid__list.pf-grid .pf-price{ padding: 10px 14px 2px !important; font-weight: 700; font-size: 1.06rem; }
.property-grid__list.pf-grid .pf-minor{ padding: 0 14px 12px !important; font-size: .92rem; line-height: 1.5; }
.property-grid__list.pf-grid .pf-line{ display:flex; flex-wrap:wrap; gap:.4rem .6rem; }

/* 6) PCは4列固定（スマホ2列） */
.property-grid__list.pf-grid{ display: grid; gap: 16px; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 1200px){
  .property-grid__list.pf-grid{ grid-template-columns: repeat(4, 1fr); }
}







/* ===== TOP物件グリッド専用：高さリセット（スマホ含む全幅）余白 ===== */
.property-grid__list.pf-grid .pf-card,
.property-grid__list.pf-grid .pf-card .pf-link{
  height: auto !important;
  min-height: 0 !important;     /* どこかに残る min-height を全否定 */
  max-height: none !important;
}

/* pf-link は「伸びない」ブロック化に固定 */
.property-grid__list.pf-grid .pf-card .pf-link{
  display: block !important;     /* flex / grid 指定を無効化 */
}

/* サムネは比率で安定・下に余白を作らない */
.property-grid__list.pf-grid .pf-thumb{
  position: relative !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;       /* 固定高さの残りを無効化 */
  overflow: hidden !important;
  margin: 0 !important;
  line-height: 0 !important;
}
.property-grid__list.pf-grid .pf-thumb > img{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
}

/* テキストの“押し下げ”を止め、必要な余白だけ残す */
.property-grid__list.pf-grid .pf-minor{
  margin-top: 0 !important;         /* auto を完全否定 */
  padding: 0 14px 12px !important;   /* 既存デザインのまま */
  line-height: 1.5 !important;
}

/* 最後の要素で“底の余白”が積み上がらないように */
.property-grid__list.pf-grid .pf-card .pf-link > *{
  margin: 0 !important;
}
.property-grid__list.pf-grid .pf-card .pf-link > *:last-child{
  margin-bottom: 0 !important;
}



/* ===== 金額デザイン（数字と単位を統一カラーに） ===== */
.pf-price{
  display: flex;
  align-items: baseline;
  gap: .25em;
  font-size: 1rem;
  font-weight: 700;
  color: #222;
}

.pf-price .pf-price-num{
  font-size: 1.8rem;       /* 数字だけ大きく */
  color: #beaf87;          /* ベージュ系（メインカラー） */
  line-height: 1;
}

.pf-price .pf-price-unit{
  font-size: 1rem;         /* サイズはそのまま */
  color: #beaf87;          /* 数字と同じ色に変更 */
}



/* ========== 共通 ========== */
:root{ --brand:#beaf87; --ink:#5c523c; --line:#e6e2d6; }

/* 見出し帯（共通・統一） */
.section-title{
  background:#f7f7f7;          /* 薄いグレー帯 */
  color:#c7b98c;                /* 文字をゴールド寄りに */
  font-size:1.2rem;
  font-weight:700;
  padding:16px 20px 16px 32px;  /* 左に余白を多め */
  border-radius:4px;
  position:relative;
  margin:0 0 24px;
  border-left:none;             /* 既存の左線は無効化 */
}
.section-title::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:6px;
  background:var(--brand,#beaf87); /* ゴールドライン */
  border-radius:4px 0 0 4px;
}


/* ===== ページタイトルはSEO維持で視覚非表示（会社概要/お客様の声） ===== */
.page-id-606 .entry-title,
.page-id-633 .entry-title{
  position:absolute!important; left:-9999px!important;
  width:1px!important; height:1px!important; overflow:hidden!important; white-space:nowrap!important;
}

/* ===== 会社概要：テーマ幅のまま（中央寄せにしない） ===== */
.page-id-606 .company-info{
  max-width:none!important; width:100%!important;
  margin:0!important; padding:0!important;
}

/* ===== お客様の声：会社概要と同じ幅・左寄せに戻す ===== */
/* 以前の max-width:960px / margin:auto を無効化 */
.page-id-633 .voice-section{
  max-width:none!important; width:100%!important;
  margin:0!important; padding:0!important;
}

/* 行カードの体裁（幅は親に追従） */
.voice-list{ display:flex; flex-direction:column; gap:24px; }
.voice-row{
  display:flex; align-items:flex-start; gap:18px;
  background:#fff; border:1px solid var(--line); border-radius:12px;
  padding:18px 20px; box-shadow:0 2px 6px rgba(0,0,0,.05);
}
.voice-icon{ width:64px; height:64px; border-radius:50%; overflow:hidden; flex-shrink:0; }
.voice-icon img{ width:100%; height:100%; object-fit:cover; }
.voice-body{ flex:1; }
.voice-name{ font-weight:700; color:var(--ink); margin-bottom:.3em; }
.voice-text{ font-size:.95rem; line-height:1.7; color:#444; }

/* スマホ */
@media (max-width:640px){
  .voice-row{ flex-direction:column; align-items:flex-start; }
  .voice-icon{ margin-bottom:8px; }
}

/* ==============================
   お客様の声：会社概要と同じ本文幅に
============================== */

/* PCでは本文エリアと同じ幅・左寄せ */
.page-id-633 .voice-section{
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 中のカード（行） */
.page-id-633 .voice-row{
  width: 90%;                   /* 本文内のバランスを取る */
  max-width: 1100px;            /* 広すぎない範囲に制限（調整可） */
  margin-left: auto;
  margin-right: auto;
}

/* スマホでは全幅表示 */
@media (max-width: 767.98px){
  .page-id-633 .voice-row{
    width: 100%;
    max-width: none;
    margin: 0;
  }
}


/* =====================================================
   お客様の声：画像なし → 背景円＋イニシャル表示
   （会社概要と同トーン）
===================================================== */

/* ベースの円（共通スタイル） */
.voice-icon{
  width:64px;
  height:64px;
  border-radius:50%;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  font-size:0.9rem;
  color:var(--ink);
  background:#e8e4d8; /* ベージュ系（var(--brand)と相性良し） */
  box-shadow:inset 0 0 2px rgba(0,0,0,.08);
}

/* 男性・女性などに応じて色分け可能 */
.voice-icon.male{
  background:#dad7cf;     /* グレー寄り */
}
.voice-icon.female{
  background:#eae1c8;     /* 明るいベージュ */
}

/* イニシャル文字（デフォルト：A） */
.voice-icon::before{
  content:"A";
}

/* 必要に応じて行ごとに上書き（例） */
.voice-row:nth-child(2) .voice-icon::before{ content:"B"; }
.voice-row:nth-child(3) .voice-icon::before{ content:"C"; }
.voice-row:nth-child(4) .voice-icon::before{ content:"D"; }
.voice-row:nth-child(5) .voice-icon::before{ content:"E"; }

/* レイアウトの微調整（左に余裕をもたせる） */
.voice-row{
  display:flex;
  align-items:center;
  gap:18px;
  padding:18px 22px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:0 2px 6px rgba(0,0,0,.05);
}
.voice-body{
  flex:1;
}


/* ========================================
   お客様の声：メッセージ文（見出し下のリードコピー）
   囲みなし・フォントで魅せる上品スタイル
======================================== */
.voice-message{
  text-align:center;
  margin: 1.8em auto 2.4em;
  width:90%;
  max-width:900px;
  line-height:1.9;
  color:#5c523c;
  font-size:1.1rem;
  font-weight:400;
  font-family: "Cormorant Garamond", "Noto Serif JP", serif;
  letter-spacing:0.04em;
  background:none;         /* 背景なし */
  padding:0;               /* 囲みを除去 */
  border:none;             /* 枠線なし */
  box-shadow:none;         /* 影なし */
}

/* 段落調整（読みやすく） */
.voice-message p{
  margin:0;
}

/* スマホ：少し文字を小さく、余白を軽く */
@media (max-width:640px){
  .voice-message{
    font-size:1rem;
    margin:1.4em auto 2em;
    line-height:1.8;
  }
}


/* ===== プライバシーポリシー：会社概要と同じトーンで ===== */
/* 固定ページ本文のラッパーに .privacy-policy を付けて使います */
.privacy-policy{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 40px !important;     /* ← 左右に40pxの余白を追加 */
  color:#444;
  line-height:1.9;
  box-sizing:border-box;         /* 余白を含めて幅計算 */
}

/* 見出し帯は共通 .section-title を使う（会社概要と同デザイン） */
/* 追加の装飾はしません：差異が出ないように */

.policy-lead{
  margin: 0 0 2em;
  letter-spacing:.02em;
}

/* セクション（h3を使わない） */
.policy-section{ margin: 0 0 1.8em; }

/* 段落見出し：pでデザイン（目次を出さない） */
.policy-heading{
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ink);
  border-left: 4px solid var(--brand);
  padding-left: .6em;
  margin: 0 0 .6em;
  line-height: 1.6;
}

.policy-section p{ margin:0; }

/* スマホ */
/* スマホでは余白を小さく */
@media (max-width: 640px){
  .privacy-policy{
    padding:0 20px !important;   /* ← モバイルで自然な余白 */
  }
}

/* （任意）このページだけタイトルをSEO維持で非表示にする場合：
   下の page-id-XXX をプライバシーポリシー固定ページのIDに置き換え */
.page-id-3 .entry-title{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important; height:1px !important;
  overflow:hidden !important; white-space:nowrap !important;
}


/* ==============================
   会社情報ボックス（プライバシーポリシー末尾用）
============================== */
.company-contact-box{
  text-align:center;
  background:#fff;
  border:1px solid var(--line, #e6e2d6);
  border-radius:12px;
  padding:32px 20px;
  margin:60px auto 40px;
  width: min(640px, 90%);
  box-shadow:0 2px 8px rgba(0,0,0,.05);
  font-size:.95rem;
  color:#444;
  line-height:1.8;
}

/* 会社名部分 */
.company-contact-box p{
  margin:0 0 1em;
}

/* お問い合わせ行 */
.company-contact-box .contact-line{
  font-weight:600;
  color:var(--ink, #5c523c);
}

/* メールリンク */
.company-contact-box a{
  color:var(--brand, #beaf87);
  text-decoration:none;
  font-weight:600;
}
.company-contact-box a:hover{
  text-decoration:underline;
}

/* スマホ調整 */
@media (max-width:640px){
  .company-contact-box{
    padding:24px 16px;
    margin:40px auto 30px;
  }
}




/* ===== 共通レイアウト（両フォーム） ===== */
.cf7-rent, .cf7-sell { max-width: 720px; margin: 0 auto; }
.cf7-rent p, .cf7-sell p { margin: 0 0 14px; }

/* セクション見出し＆区切り */
.cf7-rent .sec-ttl, .cf7-sell .sec-ttl{
  margin:22px 0 10px; background:#f7f7f7; padding:8px 12px; border-left:4px solid #c4b48a;
}
.cf7-rent .hr, .cf7-sell .hr{ height:1px; background:#eee; margin:20px 0; }

/* 項目タイトル（見出し） */
.cf7-rent .field-title, .cf7-sell .field-title{
  position:relative; display:block;
  margin:18px 0 8px; font-size:1.05rem; font-weight:700; color:#2b2b2b;
}

/* 必須マーク（※） */
.cf7-rent .required-mark, .cf7-sell .required-mark{ color:#d00; font-weight:bold; margin-left:4px; }

/* 入力幅 */
.cf7-rent .f-input, .cf7-sell .f-input,
.cf7-rent .f-textarea, .cf7-sell .f-textarea{ width:100%; box-sizing:border-box; }
.cf7-rent .f-input-s, .cf7-sell .f-input-s{ width:140px; }
.cf7-rent .help, .cf7-sell .help,
.cf7-rent .notice, .cf7-sell .notice{ display:block; color:#777; font-size:.9rem; margin-top:6px; }

/* 送信ボタン */
.cf7-rent .f-actions, .cf7-sell .f-actions{ text-align:center; margin-top:16px; }
.cf7-rent input[type="submit"], .cf7-sell input[type="submit"]{ padding:.7em 2em; }

/* 年・月の横並び（ズレ防止） */
.cf7-rent .inline-row, .cf7-sell .inline-row{
  display:inline-flex; align-items:baseline; gap:10px; flex-wrap:wrap;
}
.cf7-rent .inline-text, .cf7-sell .inline-text{ font-size:.95rem; color:#555; }

/* 「約 ＋ 入力欄 ＋ 単位ラジオ」を1行で */
.cf7-rent .inline-unit, .cf7-sell .inline-unit{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
}
.cf7-rent .prefix, .cf7-sell .prefix{ color:#555; }

/* ラジオ（標準UIを採用し、テーマのピル装飾を無効化） */
.cf7-rent .wpcf7-list-item, .cf7-sell .wpcf7-list-item{ display:inline-flex; align-items:center; margin:6px 12px 6px 0; }
.cf7-rent .wpcf7-list-item label, .cf7-sell .wpcf7-list-item label{ display:inline-flex; align-items:center; gap:.45em; }
.cf7-rent .wpcf7-list-item-label, .cf7-sell .wpcf7-list-item-label{
  background:transparent !important; color:#333 !important; border:0 !important; padding:0 !important; border-radius:0 !important; box-shadow:none !important;
}
.cf7-rent input[type="radio"], .cf7-sell input[type="radio"]{
  -webkit-appearance:auto; appearance:auto; margin-right:.4em;
}
/* 選択時の視認性を担保 */
.cf7-rent input[type="radio"]:checked + .wpcf7-list-item-label,
.cf7-sell input[type="radio"]:checked + .wpcf7-list-item-label{
  color:#0f172a !important; background:transparent !important;
}

/* スマホ最適化 */
@media (max-width:640px){
  .cf7-rent, .cf7-sell { padding:0 10px; }
  .cf7-rent .f-input-s, .cf7-sell .f-input-s{ width:110px; }
  .cf7-rent .inline-row, .cf7-sell .inline-row{ gap:8px; }
}
