/* Isolated proposal: only the flat-price explanation section. */
body #flat-price-criteria.pcfp { --pcfp-ink:#263f4d; --pcfp-muted:#526775; --pcfp-line:#d0dfe4; color:var(--pcfp-ink); max-width:1100px; margin:48px auto 0; padding:0; font-family:"Noto Sans JP",Meiryo,sans-serif; line-height:1.8; text-align:left; }
body #flat-price-criteria.pcfp * { box-sizing:border-box; }
body #flat-price-criteria.pcfp .pcfp-heading { padding:0; margin:0 0 28px; background:none; position:static; height:auto; }
body #flat-price-criteria.pcfp .pcfp-heading h2 { border:0; color:var(--pcfp-ink); padding:0; margin:0 0 12px; font-size:28px; font-weight:500; line-height:1.55; text-align:center; }
body #flat-price-criteria.pcfp .pcfp-heading p { font-size:15px; line-height:1.9; text-align:center; margin:0; color:var(--pcfp-muted); }
body #flat-price-criteria.pcfp .pcfp-condition-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:stretch; }
body #flat-price-criteria.pcfp .pcfp-panel { padding:0; margin:0; border:1px solid var(--pcfp-line); border-radius:8px; overflow:hidden; background:#fff; }
body #flat-price-criteria.pcfp .pcfp-panel-head { display:flex; align-items:center; flex-wrap:wrap; gap:9px; padding:16px 20px; min-height:61px; border-bottom:1px solid var(--pcfp-line); }
body #flat-price-criteria.pcfp .pcfp-ok .pcfp-panel-head { background:#eff7f3; color:#257050; }
body #flat-price-criteria.pcfp .pcfp-quote .pcfp-panel-head { background:#fcf4f3; color:#a54d4d; }
body #flat-price-criteria.pcfp .pcfp-panel-head h3 { padding:0; margin:0; font-size:18px; font-weight:700; line-height:1.5; border:0; color:inherit; text-align:left; }
body #flat-price-criteria.pcfp .pcfp-symbol { display:inline-flex; align-items:center; justify-content:center; border:1.5px solid currentColor; width:22px; height:22px; flex:0 0 22px; border-radius:50%; font-size:15px; font-weight:700; line-height:1; }
body #flat-price-criteria.pcfp .pcfp-scope { font-size:12px; line-height:1.5; margin-left:auto; font-weight:500; }
body #flat-price-criteria.pcfp .pcfp-condition-list { margin:0; padding:0 20px; list-style:none; }
body #flat-price-criteria.pcfp .pcfp-condition-list li { margin:0; padding:16px 0; list-style:none; border-bottom:1px solid #e2e9ec; }
body #flat-price-criteria.pcfp .pcfp-condition-list li:last-child { border-bottom:0; }
body #flat-price-criteria.pcfp .pcfp-condition-list h4 { margin:0 0 4px; padding:0; color:var(--pcfp-ink); font-size:16px; font-weight:700; line-height:1.6; border:0; text-align:left; }
body #flat-price-criteria.pcfp .pcfp-condition-list h4 span { display:inline-block; font-size:13px; font-weight:400; }
body #flat-price-criteria.pcfp .pcfp-condition-list p { margin:0; padding:0; color:var(--pcfp-muted); font-size:14px; line-height:1.85; text-align:left; }
body #flat-price-criteria.pcfp .pcfp-accessories { margin:28px 0 0; padding:0; }
body #flat-price-criteria.pcfp .pcfp-accessories > h3 { margin:0 0 12px; padding:0; border:0; color:var(--pcfp-ink); font-size:18px; font-weight:700; text-align:left; line-height:1.6; }
body #flat-price-criteria.pcfp .pcfp-accessory-grid { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--pcfp-line); border-radius:8px; overflow:hidden; background:#fff; }
body #flat-price-criteria.pcfp .pcfp-accessory-grid > div { padding:16px 20px; }
body #flat-price-criteria.pcfp .pcfp-accessory-required { border-left:1px solid var(--pcfp-line); background:#fcf8f6; }
body #flat-price-criteria.pcfp .pcfp-accessory-grid h4 { display:flex; align-items:center; gap:8px; padding:0; margin:0 0 10px; border:0; font-size:15px; line-height:1.7; font-weight:700; text-align:left; color:var(--pcfp-ink); }
body #flat-price-criteria.pcfp .pcfp-accessory-grid h4 span { color:#257050; font-weight:700; }
body #flat-price-criteria.pcfp .pcfp-accessory-required h4 span { color:#a54d4d; }
body #flat-price-criteria.pcfp .pcfp-accessory-grid ul { margin:0; padding-left:1.2em; font-size:14px; line-height:1.9; }
body #flat-price-criteria.pcfp .pcfp-accessory-grid li { margin:0; padding:0; }
body #flat-price-criteria.pcfp .pcfp-accessory-required li { font-weight:700; }
body #flat-price-criteria.pcfp .pcfp-accessory-grid p { font-size:13px; line-height:1.8; margin:8px 0 0; color:var(--pcfp-muted); }
body #flat-price-criteria.pcfp .pcfp-transparency { border:0; border-left:3px solid #a8c6d1; background:#f4f8fa; margin:24px 0 0; padding:16px 20px; border-radius:0 5px 5px 0; }
body #flat-price-criteria.pcfp .pcfp-transparency h3 { padding:0; margin:0 0 6px; font-size:15px; font-weight:700; line-height:1.7; border:0; text-align:left; color:var(--pcfp-ink); }
body #flat-price-criteria.pcfp .pcfp-transparency p { padding:0; margin:0; font-size:14px; line-height:1.85; text-align:left; color:var(--pcfp-muted); }
@media(max-width:700px) {
  body #flat-price-criteria.pcfp { margin-top:32px; }
  body #flat-price-criteria.pcfp .pcfp-heading { margin-bottom:22px; }
  body #flat-price-criteria.pcfp .pcfp-heading h2 { font-size:24px; margin-bottom:10px; }
  body #flat-price-criteria.pcfp .pcfp-heading p { font-size:14px; text-align:left; line-height:1.85; }
  body #flat-price-criteria.pcfp .pcfp-pc-break { display:none; }
  body #flat-price-criteria.pcfp .pcfp-condition-grid, body #flat-price-criteria.pcfp .pcfp-accessory-grid { grid-template-columns:1fr; }
  body #flat-price-criteria.pcfp .pcfp-condition-grid { gap:16px; }
  body #flat-price-criteria.pcfp .pcfp-panel-head { padding:14px 16px; gap:8px; }
  body #flat-price-criteria.pcfp .pcfp-panel-head h3 { font-size:17px; }
  body #flat-price-criteria.pcfp .pcfp-scope { font-size:11px; }
  body #flat-price-criteria.pcfp .pcfp-condition-list { padding:0 16px; }
  body #flat-price-criteria.pcfp .pcfp-condition-list li { padding:14px 0; }
  body #flat-price-criteria.pcfp .pcfp-condition-list h4 { font-size:15px; }
  body #flat-price-criteria.pcfp .pcfp-accessories { margin-top:24px; }
  body #flat-price-criteria.pcfp .pcfp-accessories > h3 { font-size:17px; }
  body #flat-price-criteria.pcfp .pcfp-accessory-grid > div { padding:16px; }
  body #flat-price-criteria.pcfp .pcfp-accessory-required { border-left:0; border-top:1px solid var(--pcfp-line); }
  body #flat-price-criteria.pcfp .pcfp-transparency { padding:15px 16px; margin-top:20px; }
}

/* Two existing illustrations complement the headings; conditions remain fully visible. */
body #flat-price-criteria.pcfp .pcfp-panel-head { position:relative; padding-right:136px; min-height:96px; align-content:center; }
body #flat-price-criteria.pcfp .pcfp-panel-head .pcfp-illustration { position:absolute; right:16px; top:8px; display:block; width:104px; height:104px; max-width:none; clip-path:inset(0 0 31% 0); object-fit:contain; border-radius:6px; margin:0; padding:0; }
body #flat-price-criteria.pcfp .pcfp-scope { flex-basis:100%; margin:0 0 0 31px; }
@media(max-width:700px){
body #flat-price-criteria.pcfp .pcfp-panel-head { padding:15px 104px 15px 16px; min-height:88px; }
body #flat-price-criteria.pcfp .pcfp-panel-head .pcfp-illustration { width:82px; height:82px; right:12px; top:12px; }
body #flat-price-criteria.pcfp .pcfp-scope { margin-left:30px; }
}

@media(max-width:360px){body #flat-price-criteria.pcfp .pcfp-panel-head h3{font-size:16px}body #flat-price-criteria.pcfp .pcfp-panel-head{padding-right:100px}}


/* Preserve natural phrase breaks on mobile. */
body #flat-price-criteria.pcfp .pcfp-heading h2 span{display:inline-block;white-space:nowrap}
@media(max-width:700px){body #flat-price-criteria.pcfp .pcfp-heading h2 span{display:block}}
@media(max-width:360px){body #flat-price-criteria.pcfp .pcfp-heading h2{font-size:21px}}

/* Blend existing artwork into the heading tint without changing the image assets. */
body #flat-price-criteria.pcfp .pcfp-panel-head{isolation:isolate}
body #flat-price-criteria.pcfp .pcfp-panel-head .pcfp-illustration{mix-blend-mode:multiply}
body #flat-price-criteria.pcfp .pcfp-condition-list p.pcfp-exception{margin-top:8px;font-size:13px;line-height:1.8;color:#80504c}
body #flat-price-criteria.pcfp .pcfp-accessory-exceptions{margin-top:14px;padding-top:6px;border-top:1px solid var(--pcfp-line)}
body #flat-price-criteria.pcfp .pcfp-accessory-required li+li{margin-top:6px}
body #flat-price-criteria.pcfp .pcfp-accessory-grid p.pcfp-item-note{margin:4px 0 0;font-size:14px;font-weight:400;text-wrap:balance}

/* Accessory rules: aligned rows on desktop, one item and its rule per block on mobile. */
body #flat-price-criteria.pcfp .pcfp-table-wrap{border:1px solid var(--pcfp-line);border-radius:8px;overflow:hidden;background:#fff}
body #flat-price-criteria.pcfp .pcfp-accessory-table{width:100%;margin:0;border:0;border-collapse:collapse;border-spacing:0;table-layout:fixed;color:var(--pcfp-ink);font-size:15px;line-height:1.8}
body #flat-price-criteria.pcfp .pcfp-accessory-table th,body #flat-price-criteria.pcfp .pcfp-accessory-table td{border:0;border-bottom:1px solid var(--pcfp-line);padding:16px 20px;text-align:left;vertical-align:middle;background:#fff;word-break:normal;overflow-wrap:break-word}
body #flat-price-criteria.pcfp .pcfp-accessory-table thead th{background:#f1f6f8;font-size:14px;font-weight:700;padding:11px 20px}
body #flat-price-criteria.pcfp .pcfp-accessory-table thead th:first-child{width:68%}
body #flat-price-criteria.pcfp .pcfp-accessory-table tbody th{font-weight:700}
body #flat-price-criteria.pcfp .pcfp-accessory-table tbody tr:last-child th,body #flat-price-criteria.pcfp .pcfp-accessory-table tbody tr:last-child td{border-bottom:0}
body #flat-price-criteria.pcfp .pcfp-accessory-names span{display:block;font-weight:400;font-size:14px;line-height:1.9}
body #flat-price-criteria.pcfp .pcfp-accessory-table p.pcfp-table-note{padding:0;margin:5px 0 0;font-size:14px;line-height:1.85;font-weight:400;color:var(--pcfp-muted);text-align:left}
body #flat-price-criteria.pcfp .pcfp-result{font-weight:700;display:inline-flex;align-items:baseline;gap:8px;line-height:1.7}
body #flat-price-criteria.pcfp .pcfp-result-ok{color:#257050}
body #flat-price-criteria.pcfp .pcfp-result-quote{color:#a54d4d}
body #flat-price-criteria.pcfp .pcfp-result-exception{display:block;font-size:13px;color:var(--pcfp-muted);margin:2px 0 0 15px}
body #flat-price-criteria.pcfp .pcfp-mobile-label{display:none}
@media(max-width:700px){
  body #flat-price-criteria.pcfp .pcfp-accessory-table,body #flat-price-criteria.pcfp .pcfp-accessory-table tbody{display:block}
  body #flat-price-criteria.pcfp .pcfp-accessory-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  body #flat-price-criteria.pcfp .pcfp-accessory-table tbody tr{display:block;padding:16px;border-bottom:1px solid var(--pcfp-line)}
  body #flat-price-criteria.pcfp .pcfp-accessory-table tbody tr:last-child{border-bottom:0}
  body #flat-price-criteria.pcfp .pcfp-accessory-table tbody th,body #flat-price-criteria.pcfp .pcfp-accessory-table tbody td{display:block;width:auto;padding:0;border:0}
  body #flat-price-criteria.pcfp .pcfp-accessory-table tbody td{margin-top:10px;display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 0;font-size:14px}
  body #flat-price-criteria.pcfp .pcfp-mobile-label{display:inline;color:var(--pcfp-muted);font-size:13px;margin-right:6px}
  body #flat-price-criteria.pcfp .pcfp-result-exception{display:inline;margin:0;font-size:12px}
}
