.brSp { display:none; }

/* ===== 安心ポイント (pts) ===== */
.pts-wrap{
  text-align:center;
  margin:10px 0 4px;
}
.pts-box{
  display:inline-block;
  background:#fff;
  border:2px solid #1e6b45;
  border-radius:8px;
  padding:16px 26px 14px;
  text-align:left;
  position:relative;
  max-width:560px;
  width:92%;
  box-sizing:border-box;
}
.pts-title{
  display:inline-block;
  position:absolute;
  top:-12px;
  left:50%;
  transform:translateX(-50%);
  background:#1e6b45;
  color:#fff;
  font-size:12px;
  font-weight:700;
  padding:3px 16px;
  border-radius:999px;
  letter-spacing:0.06em;
  white-space:nowrap;
}
.pts-list{
  margin:0;
  padding:0;
}
.pts-item{
  font-size:14px;
  color:#222;
  font-weight:700;
  line-height:1.7;
  padding:3px 0 3px 25px;
  position:relative;
}
.pts-item:before{
  content:"✓";
  display:inline-block;
  color:#fff;
  background:#1e6b45;
  width:17px;
  height:17px;
  border-radius:50%;
  text-align:center;
  line-height:17px;
  font-size:11px;
  font-weight:700;
  position:absolute;
  left:0;
  top:7px;
}
.pts-list em{
  font-style:normal;
  color:#b22222;
  font-size:15px;
  margin:0 1px;
}
.pts-list .pts-sub{
  display:block;
  font-weight:400;
  color:#555;
  font-size:12px;
  margin-left:25px;
  margin-top:2px;
  line-height:1.5;
}

/* ===== タイトル (ttl) ===== */
.ttl-wrap{
  box-sizing:border-box;
  width:100%;
  max-width:560px;
  margin:18px auto 6px;
  text-align:center;
}
.ttl-badge{
  display:inline-block;
  background:#b22222;
  color:#fff;
  font-size:12px;
  font-weight:700;
  padding:3px 14px;
  border-radius:999px;
  letter-spacing:0.08em;
  margin-bottom:10px;
}
.ttl-main{
  font-size:20px;
  font-weight:800;
  line-height:1.6;
  margin:0;
}
.ttl-sub{
  font-size:14px;
  line-height:1.8;
  margin:8px 0 0;
}
.ttl-link{
  display:inline-block;
  background:#fff;
  color:#1e6b45 !important;
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  padding:9px 24px;
  border:2px solid #1e6b45;
  border-radius:999px;
  margin-top:14px;
  box-shadow:0 3px 10px rgba(30,107,69,0.18);
}
.ttl-link:hover{
  background:#1e6b45;
  color:#fff !important;
}

/* ===== 共通：省エネ画像 (eco-img) ===== */
.eco-img-wrap{
  box-sizing:border-box;
  width:100%;
  max-width:700px;
  margin:24px auto 0;
  text-align:center;
}
.eco-img-wrap img{
  max-width:100%;
  height:auto;
}
.eco-img-badge{
  max-width:360px;
}

/* ===== 見出し（ページ背景上） (sec-head) ===== */
.sec-head{
  box-sizing:border-box;
  width:100%;
  max-width:600px;
  margin:32px auto 12px;
  padding:0 12px;
  text-align:center;
}
.sec-head strong{
  font-size:16px;
  color:#7ee8a2;
  line-height:1.6;
}
.sec-head span{
  font-size:14px;
  line-height:1.8;
}

/* ===== 光熱費カード (kh2) ===== */
.kh2-wrap{
  box-sizing:border-box;
  width:100%;
  max-width:560px;
  margin:0 auto;
}
.kh2-card{
  border:1px solid #a8d5b8;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 4px 14px rgba(30,107,69,0.08);
}
.kh2-head{
  background:#1e6b45;
  color:#fff;
  padding:14px 16px;
}
.kh2-head-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:6px 10px;
}
.kh2-head-left{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.kh2-name{
  font-size:18px;
  font-weight:700;
  margin:0;
}
.kh2-meta{
  font-size:12px;
  color:rgba(255,255,255,0.85);
  white-space:nowrap;
}
.kh2-tag{
  font-size:12px;
  padding:3px 10px;
  border:1px solid rgba(255,255,255,0.4);
  border-radius:999px;
  background:rgba(255,255,255,0.14);
}
.kh2-body{
  padding:16px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  align-items:stretch;
}
.kh2-cost{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.kh2-cost-label{
  font-size:13px;
  color:#666;
  margin-bottom:4px;
}
.kh2-cost-value{
  font-size:38px;
  font-weight:800;
  color:#1e6b45;
  letter-spacing:-0.03em;
  line-height:1;
}
.kh2-cost-unit{
  font-size:16px;
  font-weight:700;
  color:#1e6b45;
}
.kh2-cost-avg{
  font-size:14px;
  color:#555;
  margin-top:6px;
}
.kh2-cost-avg strong{
  color:#1e6b45;
}
.kh2-saving{
  background:#e8f5ee;
  border:1px solid #a8d5b8;
  border-radius:10px;
  padding:12px 14px;
  text-align:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:175px;
}
.kh2-saving-badge{
  display:inline-block;
  font-size:11px;
  font-weight:700;
  color:#fff;
  background:#b22222;
  border-radius:999px;
  padding:2px 12px;
  margin:0 auto 6px;
}
.kh2-saving-value{
  font-size:24px;
  font-weight:800;
  color:#b22222;
  line-height:1.2;
}
.kh2-saving-value small{
  font-size:14px;
  margin-left:1px;
}
.kh2-saving-sub{
  font-size:12px;
  color:#777;
  margin-top:5px;
}
.kh2-detail{
  border-top:1px solid #d4ead9;
}
.kh2-detail-body{
  padding:14px 16px 16px;
}
.kh2-compare-title{
  font-size:12px;
  color:#888;
  margin:0 0 10px;
}
.kh2-compare-row{
  display:grid;
  grid-template-columns:90px 1fr 86px;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}
.kh2-compare-row:last-child{
  margin-bottom:0;
}
.kh2-compare-label{
  font-size:13px;
  color:#333;
}
.kh2-compare-value{
  font-size:13px;
  font-weight:700;
  color:#1e6b45;
  text-align:right;
  white-space:nowrap;
}
.kh2-bar-track{
  height:14px;
  border-radius:999px;
  background:rgba(30,107,69,0.1);
  overflow:hidden;
}
.kh2-bar-fill{
  height:100%;
  border-radius:999px;
}
.kh2-bar-general{
  background:linear-gradient(90deg,#9aa0a6 0%,#5f6368 100%);
}
.kh2-bar-says{
  background:linear-gradient(90deg,#5db886 0%,#1e6b45 100%);
}
.kh2-specs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #d4ead9;
}
.kh2-spec{
  text-align:center;
  background:#f6fbf8;
  border:1px solid #e1efe7;
  border-radius:8px;
  padding:8px 4px;
}
.kh2-spec-label{
  font-size:11px;
  color:#888;
  margin-bottom:2px;
}
.kh2-spec-value{
  font-size:17px;
  font-weight:700;
  color:#1e6b45;
}
.kh2-footnote{
  font-size:11px;
  color:#999;
  margin-top:12px;
  line-height:1.6;
}

/* ===== 停電時カード (bsai) ===== */
.bsai-wrap{
  box-sizing:border-box;
  width:100%;
  max-width:560px;
  margin:0 auto;
  border:1px solid #a8d5b8;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 4px 14px rgba(30,107,69,0.08);
}
.bsai-head{
  background:#1e6b45;
  color:#fff;
  padding:14px 18px;
  text-align:center;
}
.bsai-title{
  font-size:16px;
  font-weight:700;
  margin:0 0 3px;
  line-height:1.5;
}
.bsai-sub{
  font-size:12px;
  color:rgba(255,255,255,0.85);
  margin:0;
  line-height:1.5;
}
.bsai-body{
  background:#fff;
  padding:6px 18px 16px;
}
.bsai-row{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:6px 12px;
  padding:13px 0;
  border-bottom:1px solid #eef3ef;
}
.bsai-row:last-of-type{
  border-bottom:none;
}
.bsai-row-icon{
  display:flex;
  align-items:center;
}
.bsai-check{
  display:inline-block;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#1e6b45;
  position:relative;
  flex:0 0 18px;
}
.bsai-check:before{
  content:"";
  position:absolute;
  left:5px;
  top:3px;
  width:6px;
  height:10px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(45deg);
}
.bsai-row-text{
  font-size:13px;
  line-height:1.7;
  color:#333;
  min-width:0;
  overflow-wrap:break-word;
}
.bsai-row-value{
  justify-self:end;
  max-width:165px;
  font-size:13px;
  font-weight:700;
  color:#b22222;
  background:#fceeee;
  border:1px solid #f1c9c9;
  border-radius:8px;
  padding:6px 12px;
  text-align:center;
  line-height:1.45;
}
.bsai-note{
  font-size:11px;
  color:#999;
  margin-top:12px;
  line-height:1.6;
}

/* ===== ナフサショック影響ゼロカード (nfz) ===== */
.nfz-wrap{
  box-sizing:border-box;
  width:100%;
  max-width:560px;
  margin:0 auto;
}
.nfz-card{
  border:1px solid #a8d5b8;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 4px 14px rgba(30,107,69,0.08);
}
.nfz-head{
  background:#1e6b45;
  color:#fff;
  padding:14px 18px;
  text-align:center;
}
.nfz-badge{
  display:inline-block;
  font-size:11px;
  padding:3px 10px;
  border:1px solid rgba(255,255,255,0.45);
  border-radius:999px;
  background:rgba(255,255,255,0.12);
  margin-bottom:6px;
  letter-spacing:0.05em;
}
.nfz-title{
  font-size:18px;
  font-weight:800;
  margin:0;
  line-height:1.4;
}
.nfz-title em{
  font-style:normal;
  color:#ffe082;
  font-size:22px;
}
.nfz-body{
  padding:16px 18px;
}
.nfz-lead{
  font-size:14px;
  color:#333;
  line-height:1.8;
  margin:0;
  text-align:left;
}
.nfz-lead strong{
  color:#1e6b45;
}



/* ===== 住宅取得支援（assist） ===== */
.assist-wrap{
  box-sizing:border-box;
  width:100%;
  max-width:600px;
  margin:18px auto 0;
  padding:0 16px;
}
.assist-card{
  box-sizing:border-box;
  background:#fff;
  border:1px solid #dfe7e2;
  padding:20px;
}
.assist-head{
  margin:0 0 12px;
  text-align:center;
  color:#1e6b45;
  font-size:16px;
  font-weight:700;
  line-height:1.6;
}
.assist-list{
  margin:0;
  padding:0;
  border-top:1px solid #e7ece9;
}
.assist-item{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:12px;
  align-items:start;
  padding:12px 0;
  border-bottom:1px solid #e7ece9;
}
.assist-num{
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#f3f8f5;
  color:#1e6b45;
  font-size:14px;
  font-weight:700;
  line-height:1;
}
.assist-main{
  color:#222;
  font-size:14px;
  font-weight:700;
  line-height:1.7;
}
.assist-main em{
  color:#b22222;
  font-style:normal;
  font-weight:700;
}
.assist-sub{
  margin-top:2px;
  color:#777;
  font-size:11px;
  line-height:1.7;
}
.assist-note{
  margin:10px 0 0;
  color:#888;
  font-size:11px;
  line-height:1.7;
  text-align:left;
}



/* ===== 暮らし方3ポイント + 間取り導線 ===== */
.life-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:16px;
  border-top:1px solid #e7ece9;
  border-bottom:1px solid #e7ece9;
}
.life-item{
  min-width:0;
  padding:15px 13px;
  text-align:left;
  border-right:1px solid #e7ece9;
}
.life-item:last-child{ border-right:none; }
.life-no{
  display:block;
  margin-bottom:5px;
  color:#9aa49e;
  font-size:10px;
  font-weight:700;
  line-height:1;
  letter-spacing:.04em;
}
.life-title{
  display:block;
  color:#1e6b45;
  font-size:13px;
  font-weight:700;
  line-height:1.55;
}
.life-text{
  display:block;
  margin-top:5px;
  color:#555;
  font-size:11px;
  line-height:1.75;
}
.plan-guide{
  margin-top:13px;
  text-align:center;
}
.plan-guide-text{
  margin:0;
  color:#777;
  font-size:11px;
  line-height:1.6;
}
.plan-jump{
  display:inline-block;
  margin-top:5px;
  color:#1e6b45 !important;
  font-size:12px;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}

/* ===== 売主メリット（seller） ===== */
.seller-point{
  box-sizing:border-box;
  width:calc(100% - 32px);
  max-width:560px;
  margin:14px auto 0;
  padding:10px 14px;
  border:1px solid #1e6b45;
  border-radius:6px;
  background:#fff;
  color:#222;
  text-align:center;
  font-size:13px;
  line-height:1.6;
}
.seller-point strong{
  color:#1e6b45;
  font-size:13px;
  margin-right:10px;
}
.seller-point span{
  font-weight:700;
}

/* ===== 早期完売用：自然な編集レイアウト (sell) ===== */
.sell-wrap{
  box-sizing:border-box;
  width:100%;
  max-width:600px;
  margin:22px auto 0;
  padding:0 16px;
  text-align:center;
}
.sell-card{
  box-sizing:border-box;
  background:#fff;
  border-top:1px solid #dfe7e2;
  border-bottom:1px solid #dfe7e2;
  padding:22px 20px;
}
.sell-kicker{
  display:block;
  margin:0 0 7px;
  color:#1e6b45;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1.6;
}
.sell-title{
  margin:0;
  color:#222;
  font-size:18px;
  font-weight:700;
  line-height:1.65;
}
.sell-lead{
  max-width:500px;
  margin:9px auto 0;
  color:#444;
  font-size:13px;
  line-height:1.9;
}
.sell-strong{
  color:#1e6b45;
  font-weight:700;
}
.sell-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:18px;
  border-top:1px solid #e7ece9;
  border-bottom:1px solid #e7ece9;
}
.sell-item{
  box-sizing:border-box;
  min-width:0;
  padding:16px 13px;
  text-align:left;
  border-right:1px solid #e7ece9;
}
.sell-item:last-child{ border-right:none; }
.sell-item-num{
  display:block;
  margin-bottom:5px;
  color:#9aa49e;
  font-size:10px;
  font-weight:700;
  line-height:1;
}
.sell-item-title{
  display:block;
  color:#1e6b45;
  font-size:13px;
  font-weight:700;
  line-height:1.55;
}
.sell-item-text{
  display:block;
  margin-top:5px;
  color:#555;
  font-size:11px;
  line-height:1.75;
}
.sell-btn{
  display:block;
  box-sizing:border-box;
  width:100%;
  max-width:350px;
  margin:18px auto 0;
  padding:12px 18px;
  border-radius:6px;
  background:#1e6b45;
  color:#fff !important;
  font-size:14px;
  font-weight:700;
  line-height:1.5;
  text-decoration:none;
}
.sell-btn:hover{ opacity:.9; }
.sell-sub-link{
  display:inline-block;
  margin-top:11px;
  color:#1e6b45 !important;
  font-size:12px;
  font-weight:700;
  line-height:1.6;
}
.sell-note{
  margin:8px 0 0;
  color:#888;
  font-size:11px;
  line-height:1.6;
}
.sell-band{
  max-width:500px;
  margin:16px auto 0;
  padding:11px 13px;
  border-left:3px solid #1e6b45;
  background:#f5f8f6;
  color:#333;
  font-size:12px;
  font-weight:400;
  line-height:1.75;
  text-align:left;
}
.sell-band em{
  color:#1e6b45;
  font-style:normal;
  font-weight:700;
}
.sell-scene{
  max-width:500px;
  margin:15px auto 0;
  text-align:left;
  border-top:1px solid #e7ece9;
}
.sell-scene-row{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:12px 0;
  border-bottom:1px solid #e7ece9;
}
.sell-scene-label{
  color:#1e6b45;
  font-size:12px;
  font-weight:700;
  line-height:1.6;
}
.sell-scene-text{
  color:#333;
  font-size:12px;
  line-height:1.8;
}
.sell-checks{
  max-width:500px;
  margin:14px auto 0;
  text-align:left;
  border-top:1px solid #e7ece9;
}
.sell-check{
  position:relative;
  padding:10px 0 10px 18px;
  color:#333;
  font-size:12px;
  line-height:1.8;
  border-bottom:1px solid #e7ece9;
}
.sell-check:before{
  content:"";
  position:absolute;
  left:1px;
  top:18px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#1e6b45;
}
.sell-honest{
  max-width:500px;
  margin:16px auto 0;
  padding:14px 0;
  border-top:1px solid #dfe7e2;
  border-bottom:1px solid #dfe7e2;
  text-align:left;
  color:#444;
  font-size:12px;
  line-height:1.9;
}
.sell-honest strong{
  color:#222;
  font-weight:700;
}
.sell-mini{
  margin:10px 0 0;
  color:#888;
  font-size:11px;
  line-height:1.65;
}
.sell-main-copy{
  display:inline;
  font-size:25px;
  line-height:1.55;
}
.sell-property-name{
  display:inline;
  font-size:19px;
  line-height:1.6;
}

/* 追加ブロック内の画像は必ず親幅に収める */
.sell-wrap img{
  max-width:100%;
  height:auto;
}

/* 既存タイトルも追加ブロックと自然につながるよう少し調整 */
.ttl-wrap{
  padding-left:16px;
  padding-right:16px;
}

/* ===== 小岩駅前再開発カード (kw) ===== */
.kw-toggle summary { list-style: none; cursor: pointer; }
.kw-toggle summary::-webkit-details-marker { display: none; }
.kw-toggle summary .kw-arrow { display: inline-block; margin-left: 6px; transition: transform 0.2s ease; }
.kw-toggle[open] summary .kw-arrow { transform: rotate(180deg); }
.kw-card{
  max-width:680px;
  margin:10px auto 0;
  border:2px solid #1e3a5f;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 4px 14px rgba(30,58,95,0.18);
}
.kw-head{
  text-align:center;
  background:linear-gradient(135deg, #2c5f8a 0%, #16324f 100%);
  color:#ffffff;
  padding:14px 12px;
}
.kw-badge{
  display:inline-block;
  font-size:11px;
  padding:3px 12px;
  border:1px solid rgba(255,255,255,0.5);
  border-radius:999px;
  background:rgba(255,255,255,0.15);
  margin-bottom:6px;
  letter-spacing:0.05em;
}
.kw-body{
  padding:20px 15px;
  background-color:#f2f6fa;
  border-left:4px solid #1e3a5f;
  border-right:1px solid #d6e0ea;
  border-bottom:1px solid #d6e0ea;
  color:#333333;
}
.kw-areabox{
  margin:20px 0 8px;
  background-color:#ffffff;
  padding:14px;
  border:1px solid #d6e0ea;
}
.kw-subcard{
  background-color:#ffffff;
  padding:14px;
  border:1px solid #d6e0ea;
  border-left:3px solid #1e3a5f;
  margin:16px 0;
}
.kw-summary{
  text-align:center;
  background:linear-gradient(135deg, #2c5f8a 0%, #16324f 100%);
  color:#ffffff;
  font-weight:bold;
  font-size:14px;
}
.kw-photo-main{
  width:100%;
  height:auto;
  display:block;
  border:1px solid #d6e0ea;
  margin-bottom:14px;
}
.kw-photo-sub{
  width:100%;
  height:auto;
  display:block;
  border:1px solid #d6e0ea;
  margin-bottom:10px;
}
.kw-table{
  width:100%;
  border-collapse:collapse;
  font-size:13px;
  margin-top:10px;
}
.kw-table td{
  padding:6px;
  border-bottom:1px solid #eeeeee;
}
.kw-table tr:last-child td{ border-bottom:none; }
.kw-table td:first-child{ width:35%; font-weight:bold; }
.kw-note{ font-size:11px; line-height:1.6; color:#666666; }

/* ===== 本物件の性能カード (pfc) ===== */
.pfc-source{
  display:none;
}
.pfc-wrap{
  box-sizing:border-box;
  width:100%;
  max-width:560px;
  margin:16px auto 0;
  text-align:left;
}
.pfc-wrap *{ box-sizing:border-box; }
.pfc-card{
  border:1px solid #a8d5b8;
  border-radius:12px;
  background:#fff;
}
.pfc-head{
  background:#1e6b45;
  color:#fff;
  padding:14px 18px;
  text-align:center;
  border-radius:11px 11px 0 0;
}
.pfc-head-title{
  font-size:16px;
  font-weight:700;
  margin:0 0 4px;
  line-height:1.6;
}
.pfc-head-sub{
  font-size:12px;
  color:rgba(255,255,255,0.85);
  margin:0;
  line-height:1.6;
}
.pfc-body{
  padding:16px 18px;
}
.pfc-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
}
.pfc-item{
  position:relative;
  flex:1 1 calc(33.333% - 7px);
  max-width:calc(33.333% - 7px);
  min-width:0;
  text-align:center;
  padding:12px 6px;
  border:1px solid #d4ead9;
  border-radius:8px;
  background:#f6fbf8;
}
.pfc-item.is-open{ z-index:20; }
.pfc-label{
  font-size:11px;
  color:#000;
  margin-bottom:4px;
  line-height:1.5;
}
.pfc-value{
  font-size:18px;
  font-weight:800;
  color:#1e6b45;
  line-height:1.3;
}
.pfc-value small{
  font-size:11px;
  font-weight:700;
  margin-left:1px;
}
.pfc-value-mid{
  font-size:15px;
}
/* 0.32〜0.35 のような範囲表記 */
.pfc-value-range{
  font-size:16px;
  letter-spacing:-0.01em;
}
.pfc-img{
  margin-top:14px;
  text-align:center;
  background:#1e6b45;
  border-radius:8px;
  padding:12px;
}
.pfc-img img{
  max-width:100%;
}
.pfc-hint{
  font-size:12px;
  color:#1e6b45;
  font-weight:700;
  margin:12px 0 0;
  line-height:1.6;
  text-align:center;
}
.pfc-foot{
  font-size:12px;
  color:#333;
  margin-top:10px;
  line-height:1.7;
  text-align:left;
}
/* --- ？マーク --- */
.pfc-help{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:15px;
  height:15px;
  margin-left:3px;
  padding:0;
  border:none;
  border-radius:50%;
  background:#1e6b45;
  color:#fff;
  font-family:inherit;
  font-size:10px;
  font-weight:700;
  line-height:1;
  cursor:help;
  vertical-align:middle;
  position:relative;
  top:-1px;
  -webkit-tap-highlight-color:rgba(30,107,69,0.3);
  touch-action:manipulation;
  transition:background-color .15s;
}
.pfc-item.is-open .pfc-help{ background:#2f8d5e; }
.pfc-help:focus-visible{ outline:2px solid #1e6b45; outline-offset:2px; }
/* タッチ端末：タップしやすいよう当たり判定を広げる */
.pfc-touch .pfc-help{
  cursor:pointer;
  width:17px;
  height:17px;
  font-size:11px;
}
.pfc-touch .pfc-help:after{
  content:"";
  position:absolute;
  top:-11px;
  right:-11px;
  bottom:-11px;
  left:-11px;
}
.pfc-touch .pfc-item.is-open .pfc-help{ background:#b22222; }
/* --- ツールチップ --- */
.pfc-tip{
  position:absolute;
  top:calc(100% + 9px);
  left:50%;
  width:272px;
  max-width:none;
  overflow:visible;
  word-break:normal;
  overflow-wrap:break-word;
  line-break:strict;
  transform:translateX(-50%);
  background:#26352d;
  color:#fff;
  border-radius:8px;
  padding:12px 14px;
  text-align:left;
  box-shadow:0 8px 24px rgba(0,0,0,0.3);
  opacity:0;
  transition:opacity .12s ease-out;
}
.pfc-tip.is-visible{ opacity:1; }
.pfc-tip[hidden]{ display:none; }
.pfc-tip:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-12px;
  height:12px;
}
.pfc-tip-title{
  display:block;
  font-size:13px;
  font-weight:700;
  margin-bottom:4px;
  color:#9fe0bb;
}
.pfc-tip-body{
  display:block;
  font-size:12px;
  line-height:1.7;
}
.pfc-tip-note{
  display:block;
  font-size:11px;
  line-height:1.6;
  margin-top:7px;
  padding-top:7px;
  border-top:1px solid rgba(255,255,255,0.2);
  color:rgba(255,255,255,0.8);
}
.pfc-arrow{
  position:absolute;
  top:calc(100% + 3px);
  left:50%;
  width:12px;
  height:12px;
  margin-left:-6px;
  background:#26352d;
  transform:rotate(45deg);
  border-radius:2px;
  opacity:0;
  transition:opacity .12s ease-out;
}
.pfc-arrow.is-visible{ opacity:1; }
.pfc-arrow[hidden]{ display:none; }
/* 画面下に収まらない場合は上側へ表示 */
.pfc-tip.is-above{
  top:auto;
  bottom:calc(100% + 9px);
}
.pfc-tip.is-above:before{
  top:auto;
  bottom:-12px;
}
.pfc-arrow.is-above{
  top:auto;
  bottom:calc(100% + 3px);
}
/* 「小さいほど高性能」の一文 */
.pfc-tip-good{
  display:block;
  font-size:12px;
  font-weight:700;
  color:#ffe082;
  line-height:1.6;
  margin-top:6px;
}
/* --- ツールチップ内の比較グラフ --- */
.pfc-chart{
  display:block;
  margin-top:9px;
  padding-top:9px;
  border-top:1px solid rgba(255,255,255,0.2);
}
.pfc-chart-ttl{
  display:block;
  font-size:11px;
  font-weight:700;
  color:#9fe0bb;
  margin-bottom:8px;
}
.pfc-bar-row{
  display:grid;
  grid-template-columns:62px 1fr 48px;
  align-items:center;
  gap:7px;
  margin-bottom:7px;
}
.pfc-bar-row:last-of-type{
  margin-bottom:0;
}
.pfc-bar-label{
  font-size:10px;
  line-height:1.35;
  color:rgba(255,255,255,0.82);
}
.pfc-bar-track{
  height:9px;
  border-radius:999px;
  background:rgba(255,255,255,0.14);
  overflow:hidden;
}
.pfc-bar-fill{
  display:block;
  height:100%;
  min-width:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#b0b6bb 0%,#767c82 100%);
}
.pfc-bar-val{
  font-size:10px;
  font-weight:700;
  text-align:right;
  white-space:nowrap;
  color:rgba(255,255,255,0.88);
}
/* 基準線（ZEH基準など） */
.pfc-bar-std .pfc-bar-fill{
  background:linear-gradient(90deg,#ffe9a8 0%,#e0aa2a 100%);
}
/* 本物件 */
.pfc-bar-good .pfc-bar-fill{
  background:linear-gradient(90deg,#9fe0bb 0%,#34b46b 100%);
}
.pfc-bar-good .pfc-bar-label,
.pfc-bar-good .pfc-bar-val{
  color:#fff;
  font-weight:700;
}
.pfc-chart-note{
  display:block;
  font-size:10px;
  line-height:1.55;
  color:rgba(255,255,255,0.62);
  margin-top:7px;
}

/* ===== ZEHとは（説明ブロック） (zeh) ===== */
.zeh-about{
  box-sizing:border-box;
  width:100%;
  max-width:560px;
  margin:28px auto 0;
}
.zeh-about-title{
  text-align:center;
  font-size:16px;
  margin:0 0 8px;
}
.zeh-about-text{
  text-align:left;
  font-size:14px;
  line-height:1.9;
  margin:0 0 12px;
}
.zeh-about-text:last-child{
  margin-bottom:0;
}
.zeh-img{
  box-sizing:border-box;
  width:100%;
  max-width:850px;
  margin:14px auto 0;
  text-align:center;
}
.zeh-img img{
  max-width:850px;
  width:100%;
  height:auto;
}

/* ===== 動画（レスポンシブ） (vid) ===== */
.vid-wrap{
  box-sizing:border-box;
  width:100%;
  max-width:560px;
  margin:8px auto 0;
}
.vid-lead{
  margin:0 0 10px;
  text-align:center;
  color:#1e6b45;
  font-size:14px;
  font-weight:700;
  line-height:1.6;
}
.vid-card{
  position:relative;
  box-sizing:border-box;
  padding:18px 12px 12px;
  border:1px solid #a8d5b8;
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 14px rgba(30,107,69,0.12);
}
.vid-ribbon{
  position:absolute;
  top:-10px;
  left:50%;
  transform:translateX(-50%);
  display:inline-block;
  padding:3px 18px;
  border-radius:999px;
  background:#1e6b45;
  color:#fff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  line-height:1.4;
  white-space:nowrap;
}
.vid-inner{
  overflow:hidden;
  border-radius:8px;
}
.vid-frame{
  position:relative;
  width:100%;
  padding-top:56.25%;   /* 16:9の比率を保つ */
  background:#000;
  border-radius:8px;
  overflow:hidden;
}
.vid-frame iframe{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  border:0;
}

/* ===== 下部情報セクション (info) ===== */
.info-section{
  padding:1em;
  max-width:700px;
  margin:0 auto;
}
.info-body{
  text-align:left;
  font-size:14px;
  line-height:1.9;
}
.info-band{
  text-align:center;
  padding:10px 12px;
  margin-bottom:12px;
  line-height:1.55;
}
.info-band strong,
.info-band span{
  font-size:16px;
  color:#000;
}
.info-band-yellow{
  background-color:rgb(255, 180, 11);
}
.info-band-blue{
  background-color:rgb(176, 196, 222);
}
.support-banner img,
.info-image img{
  max-width:100%;
  height:auto;
}

@media (max-width:480px){
  .brSp{ display:inline; }

  .pts-box{ padding:14px 16px 12px; }
  .pts-title{ font-size:11px; padding:3px 12px; }
  .pts-item{ font-size:13px; }
  .pts-list em{ font-size:14px; }
  .pts-list .pts-sub{ font-size:11px; margin-left:25px; }

  .ttl-main{ font-size:17px; }
  .ttl-sub{ font-size:13px; }

  .eco-img-wrap{ margin-top:20px; }
  .eco-img-badge{ max-width:78%; }

  .sec-head{ margin:26px auto 10px; }
  .sec-head strong{ font-size:15px; }
  .sec-head span{ font-size:13px; }

  .kh2-head{ padding:12px 14px; }
  .kh2-name{ font-size:16px; }
  .kh2-meta{ font-size:11px; }
  .kh2-body{ grid-template-columns:1fr auto; gap:10px; padding:14px; }
  .kh2-cost-label{ font-size:12px; }
  .kh2-cost-value{ font-size:28px; }
  .kh2-cost-unit{ font-size:14px; }
  .kh2-cost-avg{ font-size:13px; margin-top:4px; }
  .kh2-saving{ min-width:0; width:138px; padding:10px; }
  .kh2-saving-badge{ font-size:10px; padding:2px 9px; margin-bottom:4px; }
  .kh2-saving-value{ font-size:18px; }
  .kh2-saving-value small{ font-size:12px; }
  .kh2-saving-sub{ font-size:11px; margin-top:3px; }
  .kh2-detail-body{ padding:12px 14px 14px; }
  .kh2-compare-row{ grid-template-columns:72px 1fr 72px; gap:8px; margin-bottom:8px; }
  .kh2-compare-label{ font-size:12px; }
  .kh2-compare-value{ font-size:12px; }
  .kh2-bar-track{ height:12px; }
  .kh2-specs{ grid-template-columns:repeat(4, 1fr); gap:6px; margin-top:12px; padding-top:10px; }
  .kh2-spec{ padding:7px 2px; }
  .kh2-spec-label{ font-size:10px; }
  .kh2-spec-value{ font-size:13px; }

  .bsai-head{ padding:12px 14px; }
  .bsai-title{ font-size:15px; }
  .bsai-sub{ font-size:11px; }
  .bsai-body{ padding:4px 14px 14px; }
  .bsai-row{ grid-template-columns:auto 1fr auto; gap:10px; padding:11px 0; }
  .bsai-row-text{ font-size:12px; line-height:1.6; }
  .bsai-row-value{ max-width:96px; font-size:12px; padding:5px 9px; line-height:1.35; }

  .nfz-title{ font-size:16px; }
  .nfz-title em{ font-size:19px; }
  .nfz-lead{ font-size:13px; }

  .pfc-body{ padding:14px; }
  .pfc-grid{ gap:8px; }
  .pfc-item{
    flex:1 1 calc(50% - 4px);
    max-width:calc(50% - 4px);
    padding:11px 5px;
  }
  .pfc-head-title{ font-size:15px; }
  .pfc-head-sub{ font-size:11px; }
  .pfc-label{ font-size:11px; }
  .pfc-value{ font-size:16px; }
  .pfc-value-mid{ font-size:14px; }
  .pfc-value-range{ font-size:14px; }
  .pfc-hint{ font-size:11px; }
  .pfc-foot{ font-size:11px; }
  .pfc-tip{ width:min(300px, 86vw); }
  .pfc-bar-row{ grid-template-columns:58px 1fr 46px; gap:6px; }
  .zeh-about-text{ font-size:13px; line-height:1.85; }

  .info-body{ font-size:13px; line-height:1.85; }
  .info-band{ padding:11px 10px; margin-bottom:10px; }
  .info-band strong,
  .info-band span{ font-size:15px; }

  .sell-wrap{
    margin-top:18px;
    padding:0 10px;
  }
  .sell-card{
    padding:18px 13px;
  }
  .sell-kicker{
    font-size:10px;
    margin-bottom:6px;
  }
  .sell-title{
    font-size:16px;
    line-height:1.6;
  }
  .sell-lead{
    font-size:12px;
    line-height:1.85;
  }
  .sell-grid{
    grid-template-columns:1fr;
    margin-top:14px;
  }
  .sell-item{
    padding:12px 2px;
    border-right:none;
    border-bottom:1px solid #e7ece9;
  }
  .sell-item:last-child{
    border-bottom:none;
  }
  .sell-item-num{
    display:none;
  }
  .sell-item-title{
    font-size:12px;
  }
  .sell-item-text{
    font-size:11px;
    line-height:1.7;
  }
  .sell-btn{
    max-width:none;
    margin-top:15px;
    padding:12px 14px;
    font-size:13px;
  }
  .sell-sub-link{
    font-size:11px;
  }
  .sell-band{
    margin-top:14px;
    padding:10px 11px;
    font-size:11px;
  }
  .sell-scene-row{
    grid-template-columns:68px minmax(0,1fr);
    gap:10px;
    padding:10px 0;
  }
  .sell-scene-label{
    font-size:11px;
  }
  .sell-scene-text{
    font-size:11px;
    line-height:1.75;
  }
  .sell-check{
    padding:9px 0 9px 16px;
    font-size:11px;
    line-height:1.75;
  }
  .sell-check:before{
    top:16px;
    width:5px;
    height:5px;
  }
  .sell-honest{
    padding:12px 0;
    font-size:11px;
    line-height:1.8;
  }
  .sell-main-copy{
    font-size:20px;
    line-height:1.5;
  }
  .sell-property-name{
    font-size:17px;
  }
  .ttl-wrap{
    padding-left:10px;
    padding-right:10px;
  }

  .assist-wrap{
    margin-top:16px;
    padding:0 10px;
  }
  .assist-card{
    padding:16px 13px;
  }
  .assist-head{
    font-size:14px;
    margin-bottom:10px;
  }
  .assist-item{
    grid-template-columns:28px 1fr;
    gap:10px;
    padding:10px 0;
  }
  .assist-num{
    width:28px;
    height:28px;
    font-size:12px;
  }
  .assist-main{
    font-size:12px;
    line-height:1.65;
  }
  .assist-sub,
  .assist-note{
    font-size:10px;
    line-height:1.65;
  }
}



@media (max-width:480px){

  .seller-point{
    width:calc(100% - 20px);
    margin-top:11px;
    padding:9px 10px;
    font-size:12px;
  }
  .seller-point strong{
    display:block;
    margin:0 0 1px;
    font-size:11px;
  }

  /* 3つの特徴はスマホでは短い見出しだけ表示 */
  .sell-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-top:12px;
  }
  .sell-item{
    padding:10px 4px;
    text-align:center;
    border-right:1px solid #e7ece9;
    border-bottom:none;
  }
  .sell-item-title{
    font-size:11px;
    line-height:1.45;
  }
  .sell-item-text,
  .sell-item-num{
    display:none;
  }
  .sell-band{
    margin-top:12px;
    padding:9px 10px;
  }
  .sell-note{
    display:none;
  }
  .sell-card{
    padding:16px 12px;
  }
  .sell-lead{
    margin-top:7px;
  }
}


@media (max-width:480px){
  .life-grid{
    grid-template-columns:1fr;
    margin-top:13px;
  }
  .life-item{
    display:grid;
    grid-template-columns:28px 1fr;
    column-gap:8px;
    padding:10px 2px;
    border-right:none;
    border-bottom:1px solid #e7ece9;
  }
  .life-item:last-child{ border-bottom:none; }
  .life-no{
    grid-row:1 / span 2;
    grid-column:1;
    margin:2px 0 0;
    color:#1e6b45;
    font-size:11px;
  }
  .life-title{
    grid-column:2;
    font-size:12px;
  }
  .life-text{
    grid-column:2;
    margin-top:2px;
    font-size:11px;
    line-height:1.65;
  }
  .plan-guide{
    margin-top:10px;
  }
  .plan-guide-text{
    font-size:10px;
  }
  .plan-jump{
    font-size:11px;
  }
}

@media (prefers-reduced-motion:reduce){
  .pfc-help,.pfc-tip,.pfc-arrow{ transition:none; }
}

/* ==================================================================
   ▼▼▼ 文字サイズ・文字間の調整（この下だけ触ればOK） ▼▼▼
   ・上のCSSはレイアウト用。ここは「読みやすさ」専用の上書きです。
   ================================================================== */

/* --- 本文：和文は字間をわずかに開けて可読性を上げる --- */
.pts-item,
.pts-list .pts-sub,
.sell-lead,
.sell-band,
.sell-honest,
.life-text,
.nfz-lead,
.bsai-row-text,
.zeh-about-text,
.info-body{
  letter-spacing:.02em;
}

/* --- 数値：桁を揃える（金額・性能値） --- */
.kh2-cost-value,
.kh2-saving-value,
.kh2-spec-value,
.kh2-compare-value,
.pfc-value,
.pfc-bar-val{
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
}

/* --- ① 2つの安心 --- */
.pts-title{ font-size:12px; letter-spacing:.1em; }
.pts-item{ font-size:14px; line-height:1.75; }
.pts-list em{ font-size:15px; letter-spacing:.01em; }

/* --- ② メインタイトル --- */
.ttl-badge{ font-size:11px; letter-spacing:.14em; padding:4px 15px; }
.ttl-main{ letter-spacing:.01em; }
.sell-main-copy{
  font-size:26px;
  line-height:1.5;
  letter-spacing:-.01em;   /* 大きい和文は少し詰めた方が締まります */
}
.sell-property-name{
  font-size:21px;          /* ★物件名のサイズ。大きくしたい場合はここを上げる */
  line-height:1.55;
  letter-spacing:.01em;
}
.ttl-sub{ font-size:13px; line-height:1.95; letter-spacing:.03em; }

/* --- 売主物件バー（予備） --- */
.seller-point{ font-size:13px; letter-spacing:.02em; }
.seller-point strong{ font-size:13px; letter-spacing:.06em; margin-right:12px; }

/* --- 暮らし方ブロック --- */
.sell-kicker{ font-size:11px; letter-spacing:.16em; }
.sell-title{ font-size:20px; line-height:1.6; letter-spacing:.005em; }
.life-no{ font-size:11px; letter-spacing:.1em; }
.life-title{ font-size:14px; line-height:1.6; letter-spacing:.01em; }
.life-text{ font-size:12px; line-height:1.8; }
.sell-band{ font-size:12px; line-height:1.8; }
.sell-honest{ font-size:12px; line-height:1.9; }
.sell-btn{ font-size:14px; letter-spacing:.04em; }
.plan-guide-text{ font-size:11px; letter-spacing:.02em; }
.plan-jump{ font-size:12px; letter-spacing:.02em; }

/* --- ③ 性能カード --- */
.pfc-head-title{ font-size:16px; letter-spacing:.04em; }
.pfc-head-sub{ font-size:12px; line-height:1.7; letter-spacing:.02em; }
.pfc-label{ font-size:11px; line-height:1.55; letter-spacing:.01em; }
.pfc-value{ font-size:19px; }
.pfc-value-mid{ font-size:15px; letter-spacing:.02em; }
.pfc-value-range{ font-size:16px; letter-spacing:-.01em; }
.pfc-hint{ font-size:11px; letter-spacing:.02em; }
.pfc-tip-title{ font-size:13px; letter-spacing:.02em; }
.pfc-tip-body{ font-size:12px; line-height:1.8; letter-spacing:.01em; }
.pfc-tip-note,
.pfc-chart-note{ line-height:1.7; }

/* --- 見出し（sec-head） --- */
.sec-head strong{ font-size:16px; line-height:1.65; letter-spacing:.03em; }
.sec-head span{ font-size:13px; line-height:1.95; letter-spacing:.02em; }

/* --- 光熱費カード --- */
.kh2-name{ font-size:17px; letter-spacing:.03em; }
.kh2-tag,
.kh2-meta{ font-size:11px; letter-spacing:.03em; }
.kh2-cost-label{ font-size:12px; letter-spacing:.02em; }
.kh2-cost-value{ font-size:36px; }
.kh2-saving-value{ font-size:23px; }
.kh2-footnote{ font-size:11px; line-height:1.75; letter-spacing:.01em; }

/* --- 太陽光カード --- */
.bsai-title{ font-size:16px; letter-spacing:.03em; }
.bsai-sub{ font-size:12px; letter-spacing:.02em; }
.bsai-row-text{ font-size:13px; line-height:1.75; }
.bsai-row-value{ font-size:12px; letter-spacing:.02em; }
.bsai-note{ font-size:11px; line-height:1.75; }

/* --- ZEH・下部情報 --- */
.zeh-about-title{ font-size:16px; letter-spacing:.06em; }
.zeh-about-text{ font-size:14px; line-height:1.95; }
.info-body{ font-size:14px; line-height:1.95; }
.info-band strong,
.info-band span{ font-size:15px; letter-spacing:.06em; }

/* ---------- スマホ（480px以下） ---------- */
@media (max-width:480px){
  .pts-item{ font-size:13px; line-height:1.7; }

  .sell-main-copy{ font-size:21px; line-height:1.5; }
  .sell-property-name{ font-size:18px; }   /* ★スマホでの物件名サイズ */
  .ttl-badge{ font-size:10px; letter-spacing:.12em; }
  .ttl-sub{ font-size:12px; line-height:1.9; }

  .seller-point{ font-size:12px; }
  .seller-point strong{ font-size:12px; }

  .sell-kicker{ font-size:10px; letter-spacing:.14em; }
  .sell-title{ font-size:17px; line-height:1.6; }
  .life-title{ font-size:13px; }
  .life-text{ font-size:12px; line-height:1.7; }
  .sell-band{ font-size:11px; line-height:1.75; }
  .sell-honest{ font-size:11px; line-height:1.85; }
  .sell-btn{ font-size:13px; }

  .pfc-head-sub{ font-size:11px; line-height:1.65; }
  .pfc-value{ font-size:17px; }
  .pfc-tip-body{ font-size:12px; line-height:1.75; }

  .sec-head span{ font-size:12px; line-height:1.9; }

  .kh2-name{ font-size:15px; }
  .kh2-cost-value{ font-size:27px; }
  .kh2-footnote{ font-size:10px; line-height:1.7; }

  .bsai-row-text{ font-size:12px; line-height:1.7; }
  .bsai-row-value{ font-size:11px; padding:5px 8px; }
  .bsai-note{ font-size:10px; line-height:1.7; }

  .zeh-about-title{ font-size:15px; }
  .zeh-about-text{ font-size:13px; line-height:1.9; }
  .info-body{ font-size:13px; line-height:1.9; }
  .info-band strong,
  .info-band span{ font-size:14px; }
}
/* ▲▲▲ 文字サイズ・文字間の調整 ここまで ▲▲▲ */


/* ==================================================================
   ▼▼▼ 上部の余白調整（ページ冒頭〜暮らし方ブロック） ▼▼▼
   ・ここの margin を増減すればブロック同士の間隔が変わります。
   ================================================================== */

/* 2つの安心 → 補助金バナー */
.pts-wrap{ margin:16px 0 0; }
.subsidy-banner{
  margin:12px 0 0;
  line-height:0;      /* 画像下の余分な隙間を消す */
}
.subsidy-banner img{
  max-width:100%;
  height:auto;
}

/* 補助金バナー → タイトル */
.ttl-wrap{
  margin-top:16px;
  margin-bottom:0;
}
.ttl-badge{ margin-bottom:8px; }

/* タイトル → 見学会のお知らせ */
.ttl-event{
  margin-top:10px;
  line-height:1.75;
}

/* 見学会のお知らせ → 暮らし方ブロック */
.sell-wrap{ margin-top:18px; }

@media (max-width:480px){
  .pts-wrap{ margin-top:13px; }
  .subsidy-banner{ margin-top:10px; }
  .ttl-wrap{ margin-top:13px; }
  .ttl-badge{ margin-bottom:7px; }
  .ttl-event{ margin-top:8px; line-height:1.7; }
  .sell-wrap{ margin-top:15px; }
}

/* 青戸５IIの修正：CMS内のGrid版カードにも対応 */
.pfc-grid .pfc-item {
  width: 100%;
  max-width: 100%;
}
