/* =====================================================================
 * 施工実績の記事ページ（投稿）  body.cf-post-page
 * 1カラム、ヘッダーバナーなし、記事上の「施工の概要」と記事下のブロック
 * 本文の配色は cf-dark.css、部品（ボタン・カード）は cf-top.css を使います
 * ===================================================================== */

/* ---- 1カラムにして、記事を読みやすい幅に ---- */
body.cf-post-page #st-header-cardlink-wrapper,
body.cf-post-page .st-middle-menu,
body.cf-post-page #side,
body.cf-post-page .st-author-box,
body.cf-post-page .adbox{ display:none !important; }

body.cf-post-page #contentInner{ float:none !important; margin-right:0 !important; width:100% !important; }
body.cf-post-page main{
  float:none !important;
  width:auto !important;
  max-width:920px !important;
  margin:0 auto !important;
  padding:28px 20px 40px !important;
  box-sizing:border-box;
}
body.cf-post-page #contentInner main article{ margin:0 !important; }

/* ---- パンくず ---- */
body.cf-post-page #breadcrumb{ margin:18px 0 10px !important; padding:0 !important; background:none !important; }
body.cf-post-page #breadcrumb ol{ display:flex; flex-wrap:wrap; gap:2px 6px; margin:0 !important; padding:0 !important; list-style:none !important; }
body.cf-post-page #breadcrumb li{ display:inline-flex; align-items:center; gap:6px; margin:0 !important; padding:0 !important; font-size:12px !important; color:#93A1A4 !important; }
body.cf-post-page #breadcrumb li::before{ content:none !important; }
body.cf-post-page #breadcrumb a,
body.cf-post-page #breadcrumb span{ color:#93A1A4 !important; font-size:12px !important; text-decoration:none !important; }
body.cf-post-page #breadcrumb a:hover span{ color:#79B6BA !important; }
body.cf-post-page #breadcrumb li:last-child span{ color:#C9D3D4 !important; }

/* ---- タイトル ---- */
body.cf-post-page .entry-title{
  font-family:"Noto Serif JP", serif !important;
  font-weight:500 !important;
  font-size:clamp(22px, 3vw, 30px) !important;
  line-height:1.5 !important;
  letter-spacing:.03em !important;
  color:#E6EEEE !important;
  margin:6px 0 8px !important;
  padding:0 !important;
  background:none !important;
  border:0 !important;
}
body.cf-post-page .entry-title::before,
body.cf-post-page .entry-title::after{ content:none !important; display:none !important; }

/* ---- 記事上：施工の概要 ---- */
body .cf-top.cf-ps{
  margin:18px 0 28px !important;
  padding:18px 22px 16px;
  background:#182123;
  border:1px solid #2A3739;
  border-left:3px solid #79B6BA;
  border-radius:8px;
}
.cf-top .cf-ps__label{ font-size:12px !important; color:#79B6BA !important; letter-spacing:.08em; margin:0 0 8px !important; }
.cf-top dl.cf-ps__list{ display:grid; gap:0; margin:0 !important; padding:0 !important; }
.cf-ps__list > div{ display:grid; grid-template-columns:6.5em minmax(0,1fr); gap:10px; align-items:start; padding:9px 0; border-top:1px solid #2A3739; }
.cf-ps__list > div:first-child{ border-top:0; padding-top:2px; }
.cf-top .cf-ps__list dt{ font-size:12.5px !important; color:#93A1A4 !important; line-height:1.9 !important; margin:0 !important; padding:0 !important; background:none !important; font-weight:400 !important; }
.cf-top .cf-ps__list dd{ display:flex; flex-wrap:wrap; gap:6px; margin:0 !important; padding:0 !important; font-size:13.5px !important; line-height:1.6 !important; }
.cf-top .cf-ps__list dd a{
  display:inline-block; padding:3px 11px; border:1px solid #2A3739; border-radius:30px;
  background:#121819; color:#C9D3D4 !important; text-decoration:none !important; font-size:13px;
}
.cf-top .cf-ps__list dd a:hover{ border-color:#79B6BA; color:#79B6BA !important; }
.cf-top .cf-ps__parts dd span{ display:inline-block; color:#C9D3D4; font-size:13px; }
.cf-top .cf-ps__parts dd span:not(:last-child)::after{ content:"、"; color:#5D6E70; }
.cf-top .cf-ps__parts dd{ gap:0; }

/* ---- 記事下 ---- */
body .cf-top.cf-pb{ margin:48px 0 0 !important; display:grid; gap:48px; }
body.cf-post-page .cf-pb .cf-title{ margin-bottom:18px !important; }
body.cf-post-page .cf-pb .cf-title h2,
body.cf-post-page .cf-pb h2.cf-pb__cta-title{
  background:none !important; border:0 !important; padding:0 !important; box-shadow:none !important;
  font-family:"Noto Serif JP", serif !important; font-weight:500 !important; color:#E6EEEE !important;
}
body.cf-post-page .cf-pb .cf-title h2{ font-size:clamp(19px,2.4vw,23px) !important; line-height:1.5 !important; margin:0 !important; }
body.cf-post-page .cf-pb .cf-title h2::before,body.cf-post-page .cf-pb .cf-title h2::after,
body.cf-post-page .cf-pb h2.cf-pb__cta-title::before,body.cf-post-page .cf-pb h2.cf-pb__cta-title::after{ content:none !important; display:none !important; }

/* 問い合わせ */
.cf-pb__cta{
  padding:36px 28px 30px; text-align:center; border-radius:10px;
  background:linear-gradient(135deg,#183236,#121819 70%); border:1px solid #2A3739;
}
body.cf-post-page .cf-pb h2.cf-pb__cta-title{ font-size:clamp(20px,2.6vw,25px) !important; line-height:1.6 !important; letter-spacing:.04em !important; margin:0 0 12px !important; }
.cf-top .cf-pb__cta > p{ font-size:13.5px !important; color:#C9D3D4 !important; line-height:1.9 !important; max-width:34em; margin:0 auto 20px !important; }
.cf-top .cf-pb__cta .cf-final__cta{ justify-content:center; }
.cf-top .cf-pb__cta .cf-final__tel{ margin:14px auto 0 !important; font-size:12.5px !important; color:#93A1A4 !important; }

/* 同じメーカーの実績・関連ページ */
body.cf-post-page .cf-pb__works .cf-works{ grid-template-columns:repeat(3,minmax(0,1fr)); }
body.cf-post-page .cf-pb .cf-sv-guides{ margin:0 !important; }

/* タグ（小さく最後に） */
.cf-pb__tags{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding-top:18px; border-top:1px solid #2A3739; }
.cf-pb__tags > span{ font-size:12px; color:#93A1A4; margin-right:6px; }
.cf-top .cf-pb__tags a{ font-size:12px; color:#93A1A4 !important; padding:2px 9px; border:1px solid #2A3739; border-radius:3px; text-decoration:none !important; }
.cf-top .cf-pb__tags a:hover{ color:#79B6BA !important; border-color:#79B6BA; }

/* 記事下のSNSボタンは控えめに */
body.cf-post-page .sns{ margin-top:32px !important; opacity:.8; }

@media (max-width:820px){
  body.cf-post-page .cf-pb__works .cf-works{ grid-template-columns:1fr 1fr; }
}
@media (max-width:600px){
  body.cf-post-page main{ padding:16px 16px 32px !important; }
  .cf-top.cf-ps{ padding:14px 16px 12px; }
  .cf-ps__list > div{ grid-template-columns:5.2em minmax(0,1fr); gap:8px; }
  .cf-pb__cta{ padding:28px 18px 24px; }
  body.cf-post-page .cf-pb__works .cf-works{ grid-template-columns:1fr 1fr; gap:10px; }
}

/* 見出しの右に「すべて見る」を小さく置く */
body.cf-post-page .cf-pb .cf-title{ display:flex !important; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
body.cf-post-page .cf-pb .cf-title .cf-more{
  order:0 !important; position:static !important; margin:0 !important; padding:0 0 2px !important;
  width:auto !important; min-height:0 !important; height:auto !important;
  border:0 !important; border-bottom:1px solid currentColor !important; border-radius:0 !important; background:none !important;
  font-size:13px !important; color:#79B6BA !important;
}
body.cf-post-page .cf-pb .cf-final__tel{ text-align:center !important; }

/* ---- 特集バナー（911の記事など） ---- */
.cf-top .cf-pb__banner{ display:block; border-radius:8px; overflow:hidden; border:1px solid #2A3739; transition:border-color .2s, opacity .2s; }
.cf-top .cf-pb__banner:hover{ border-color:#79B6BA; opacity:.92; }
.cf-top .cf-pb__banner img{ display:block; width:100% !important; height:auto !important; margin:0 !important; }

/* ---- 前後の記事リンク：白い線をやめて2枚のカードに ---- */
body.cf-post-page .p-navi{
  display:grid !important; grid-template-columns:1fr 1fr; gap:12px;
  margin:32px 0 0 !important; padding:0 !important; border:0 !important; background:none !important;
}
body.cf-post-page .p-navi::before,
body.cf-post-page .p-navi::after{ content:none !important; display:none !important; }
body.cf-post-page .p-navi > a{
  display:block; float:none !important; width:auto !important; margin:0 !important;
  padding:12px 14px !important; border:1px solid #2A3739 !important; border-radius:8px;
  background:#182123 !important; text-decoration:none !important; transition:border-color .2s;
}
body.cf-post-page .p-navi > a:hover{ border-color:#79B6BA !important; }
body.cf-post-page .p-navi > a:only-child{ grid-column:1 / -1; }
body.cf-post-page .p-navi .st-next-link{ grid-column:2; }
body.cf-post-page .p-navi p.st-prev,
body.cf-post-page .p-navi p.st-next{
  display:flex !important; align-items:center; gap:12px;
  margin:0 !important; padding:0 !important; border:0 !important; background:none !important;
  font-size:13px !important; line-height:1.6 !important; color:#C9D3D4 !important;
}
body.cf-post-page .p-navi p.st-next{ text-align:right; }
body.cf-post-page .p-navi img{ flex:none; width:56px !important; height:56px !important; object-fit:cover; border-radius:4px; margin:0 !important; }
body.cf-post-page .p-navi .st-svg{ flex:none; color:#79B6BA !important; font-size:16px; }
body.cf-post-page .p-navi .st-prev-title,
body.cf-post-page .p-navi .st-next-title{ flex:1; min-width:0; color:#C9D3D4 !important; }
@media (max-width:600px){
  body.cf-post-page .p-navi{ grid-template-columns:1fr; }
  body.cf-post-page .p-navi .st-next-link{ grid-column:auto; }
}

/* ---- お知らせの記事下 ---- */
body .cf-top.cf-pb--news{ gap:24px; }
.cf-top .cf-pb__news-contact{ font-size:13px !important; color:#93A1A4 !important; line-height:1.9 !important; padding:16px 18px; border:1px solid #2A3739; border-radius:8px; background:#182123; }
.cf-top .cf-pb__news-contact a{ color:#79B6BA !important; border-bottom:1px solid currentColor; }
