/* =========================================================
   Bell's Green ブログ・下層ページ共通（lp.css のトークンと部品を土台に、下層用だけを足す）
   デザイン規則書の値だけを使用。左端の太い色線・直線の区切り・グラデーションは使わない
   ========================================================= */
html{scroll-padding-top:84px}
.bl .lp-header{position:sticky}
@media (max-width:560px){ .bl .lp-header{position:sticky} html{scroll-padding-top:76px} }

/* ---------- パンくず ---------- */
.bl-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px;color:var(--sub)}
.bl-crumb a{text-decoration:underline;text-underline-offset:3px}
.bl-crumb a:hover{color:var(--green-ink)}

/* ---------- 一覧のページ見出し ---------- */
.bl-hero{position:relative;padding:18px 0 32px}
.bl-hero__in{display:flex;flex-direction:column;gap:6px}
.bl-hero__title{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 18px;max-width:760px}
.bl-hero .lp-script{font-size:clamp(34px,3.2vw,44px)}
.bl-h1{display:block;margin-top:0;font-family:var(--ff-jp);font-weight:900;font-size:clamp(26px,3vw,34px);line-height:1.35;color:var(--ink)}
.bl-lead{flex:1 0 100%;margin-top:6px;font-size:15px;color:var(--ink);opacity:.8;max-width:40em;text-wrap:balance}
.bl-hero__leaf{position:absolute;right:48px;top:4px;width:clamp(48px,6vw,76px);animation:float 3.6s ease-in-out infinite}

/* ---------- カテゴリ ---------- */
.bl-list{padding-top:0}
.bl-chips{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 28px}
.bl-chip{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border:2px solid var(--line);border-radius:999px;background:#fff;font-weight:700;font-size:14px;transition:background .2s,color .2s,border-color .2s,transform .2s}
.bl-chip:hover{border-color:var(--green);color:var(--green-ink);transform:translateY(-2px)}
.bl-chip.is-on{background:var(--green);border-color:var(--green);color:#fff}
/* 最新記事カードの上の縁に前足をかけて、のぞいているベルちゃん（カードの背面に体が隠れているように見せる） */
.bl-featurewrap{position:relative;margin-top:96px;margin-bottom:32px}
.bl-peek{position:absolute;z-index:1;right:64px;bottom:calc(100% - 12px);width:136px;pointer-events:none;transform-origin:50% 100%;animation:bob 2.8s ease-in-out infinite}
.bl-featurewrap .bl-feature{position:relative;z-index:2}

/* ---------- 最新記事（大きなカード） ---------- */
.bl-feature{background:#fff;border:1px solid var(--line);border-radius:var(--r-band);box-shadow:var(--shadow-card);overflow:hidden;transition:transform .25s,box-shadow .25s}
.bl-feature:hover{transform:translateY(-5px);box-shadow:0 14px 26px rgba(0,0,0,.12)}
.bl-feature__link{display:grid;grid-template-columns:1.15fr 1fr}
.bl-feature__img{position:relative;min-height:340px;overflow:hidden;background:var(--mint)}
.bl-feature__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.bl-feature:hover .bl-feature__img img{transform:scale(1.04)}
.bl-feature__body{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:16px;padding:36px 44px}
.bl-feature__title{font-family:var(--ff-jp);font-weight:900;font-size:clamp(22px,2.2vw,30px);line-height:1.5}
.bl-feature__excerpt{font-size:15px;line-height:1.9;opacity:.8}
.bl-feature__btn{margin-top:4px}
.bl-new{display:inline-flex;align-items:center;padding:3px 12px;border-radius:999px;background:var(--green);color:#fff;font-size:12px;font-weight:700}

/* ---------- ページ送り ---------- */
.bl-pager{display:flex;justify-content:center;gap:10px;margin-top:48px}
.bl-pager a,.bl-pager span{display:grid;place-items:center;min-width:48px;height:48px;padding:0 6px;border:2px solid var(--line);border-radius:50%;background:#fff;font-family:var(--ff-jp);font-weight:900;transition:border-color .2s,transform .2s}
.bl-pager a:hover{border-color:var(--green);transform:translateY(-2px)}
.bl-pager .is-current{background:var(--green);border-color:var(--green);color:#fff}
.bl-pager .ico{width:18px;height:18px;color:var(--green)}

/* =========================================================
   記事ページ
   ========================================================= */
.bl-progress{position:fixed;left:0;top:0;z-index:70;width:100%;height:5px;background:var(--green);transform:scaleX(var(--p,0));transform-origin:0 50%;pointer-events:none}
.bl-art__grid{display:grid;grid-template-columns:minmax(0,760px) 300px;grid-template-areas:"head aside" "main aside";column-gap:56px;justify-content:center;max-width:1200px;margin:0 auto;padding:28px 24px 72px}
.bl-art__head{grid-area:head;display:flex;flex-direction:column;align-items:flex-start;gap:14px;text-align:left}
.bl-art__title{font-family:var(--ff-jp);font-weight:900;font-size:clamp(24px,2.6vw,34px);line-height:1.5;text-wrap:balance}
.bl-art__eye{width:100%;margin-top:10px;border-radius:var(--r-band);overflow:hidden;aspect-ratio:1200/630;background:var(--mint)}
.bl-art__eye img{width:100%;height:100%;object-fit:cover}
.bl-art__main{grid-area:main;margin-top:40px}
.bl-aside{grid-area:aside;grid-row:1/3}
.bl-aside__sticky{position:sticky;top:104px;display:flex;flex-direction:column;gap:24px}

/* 目次 */
.bl-toc{background:var(--mint);border-radius:var(--r-card);padding:22px 24px}
.bl-toc__ttl,.bl-toc summary{display:flex;align-items:baseline;gap:10px;list-style:none;cursor:pointer}
.bl-toc summary::-webkit-details-marker{display:none}
.bl-toc b{font-family:var(--ff-jp);font-weight:900;font-size:17px}
.bl-toc__plus{display:grid;place-items:center;width:30px;height:30px;margin-left:auto;border-radius:50%;background:#fff;color:var(--green);align-self:center;transition:transform .25s}
.bl-toc[open] .bl-toc__plus{transform:rotate(45deg)}
.bl-toc__list{counter-reset:toc;display:flex;flex-direction:column;gap:2px;margin-top:12px}
.bl-toc__list li{counter-increment:toc}
.bl-toc__list a{display:flex;align-items:flex-start;gap:10px;min-height:40px;padding:8px 10px;border-radius:12px;font-size:14px;font-weight:700;line-height:1.6;transition:background .2s,color .2s}
.bl-toc__list a::before{content:counter(toc);flex:none;display:grid;place-items:center;width:24px;height:24px;margin-top:1px;border-radius:50%;background:#fff;color:var(--green-ink);font-family:var(--ff-jp);font-size:12px;font-weight:900}
.bl-toc__list a:hover{background:#fff}
.bl-toc__list a.is-active{background:#fff;color:var(--green-ink)}
.bl-toc__list a.is-active::before{background:var(--green);color:#fff}
.bl-toc--inline{display:none;margin-bottom:36px}

/* 記事内・サイドのCTA */
.bl-cta{position:relative;background:var(--cream);border:2px dashed var(--leaf2);border-radius:var(--r-card);text-align:center}
.bl-cta__big{font-family:var(--ff-jp);font-weight:900;font-size:20px;line-height:1.4}
.bl-cta__small{font-size:13px;line-height:1.8;opacity:.8}
.bl-cta--side{display:flex;flex-direction:column;align-items:center;gap:8px;padding:56px 20px 22px;margin-top:40px}
.bl-cta--side img{position:absolute;top:-46px;left:50%;width:100px;transform:translateX(-50%)}
.bl-cta--side .lp-btn{margin-top:10px}
.bl-cta--wide{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px 28px;margin-top:56px;padding:22px 32px}
.bl-cta--wide img{width:96px;margin:-30px 0 -6px}
.bl-cta--wide .bl-cta__txt{text-align:left}
.bl-cta--wide .bl-cta__big{margin-top:4px;font-size:22px;white-space:nowrap}
.bl-cta--wide .bl-cta__small{white-space:nowrap}

/* 前後の記事 */
.bl-pn{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:48px}
.bl-pn__item{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);transition:transform .25s,box-shadow .25s}
.bl-pn__item:hover{transform:translateY(-4px);box-shadow:0 12px 22px rgba(0,0,0,.1)}
.bl-pn__item b{font-family:var(--ff-jp);font-weight:900;font-size:15px;line-height:1.6;text-wrap:balance;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bl-pn__item--next{align-items:flex-end;text-align:right}

/* 関連記事 */
.bl-related{padding-top:calc(var(--gap-sec) + 24px)}
.bl-related__all{display:flex;justify-content:center;margin-top:40px}
.bl-related__all .ico{width:18px;height:18px}

/* =========================================================
   記事本文（WordPressのブロックエディタで書いたものが、そのままこの見た目になる）
   投稿者が使うブロック: 段落・見出し・リスト・表・引用・画像・区切り線・グループ・ボタン
   ========================================================= */
.lp-prose{font-size:16.5px;line-height:2;color:var(--ink);overflow-wrap:anywhere}
.lp-prose>*+*{margin-top:1.6em}
.lp-prose p{margin:0}
.lp-prose strong{font-weight:700}
.lp-prose a{color:var(--blue);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.lp-prose a:hover{color:var(--green-ink)}
.lp-prose .swl-marker,.lp-prose mark{padding:0 .1em;background:none;color:inherit;font-weight:700;box-shadow:inset 0 -.55em 0 rgba(120,190,131,.38)}
.lp-prose h2{display:flex;align-items:flex-start;gap:14px;margin-top:3em;padding:16px 22px;background:var(--mint);border-radius:var(--r-card);font-family:var(--ff-jp);font-weight:900;font-size:clamp(20px,2.3vw,26px);line-height:1.55}
.lp-prose h2::before{content:"";flex:none;width:30px;height:30px;margin-top:2px;background:var(--green);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M8 40C8 20 20 8 42 6c0 22-12 34-30 34' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 40C16 30 24 22 34 16' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M8 40C8 20 20 8 42 6c0 22-12 34-30 34' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 40C16 30 24 22 34 16' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.lp-prose h3{margin-top:2.4em;padding-bottom:10px;border-bottom:2px dashed var(--leaf2);font-family:var(--ff-jp);font-weight:900;font-size:clamp(18px,2vw,21px);line-height:1.6}
.lp-prose h4{margin-top:2em;font-family:var(--ff-jp);font-weight:900;font-size:17px;color:var(--green-ink)}
.lp-prose h2+*,.lp-prose h3+*,.lp-prose h4+*{margin-top:1em}
.lp-prose ul,.lp-prose ol{padding:0;list-style:none}
.lp-prose li{position:relative;padding-left:2em}
.lp-prose li+li{margin-top:.6em}
.lp-prose ul>li::before{content:"";position:absolute;left:.5em;top:.8em;width:.6em;height:.6em;border-radius:50%;background:var(--green)}
.lp-prose ol{counter-reset:ol}
.lp-prose ol>li{counter-increment:ol}
.lp-prose ol>li::before{content:counter(ol);position:absolute;left:0;top:.35em;display:grid;place-items:center;width:1.6em;height:1.6em;border-radius:50%;background:var(--green);color:#fff;font-family:var(--ff-jp);font-size:.8em;font-weight:900;line-height:1}
.lp-prose figure{margin-left:0;margin-right:0}
.lp-prose img{border-radius:var(--r-card);width:100%;height:auto}
.lp-prose figcaption{margin-top:10px;font-size:13px;line-height:1.7;color:var(--sub);text-align:center}
.lp-prose .wp-block-table{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-card)}
.lp-prose table{width:100%;min-width:520px;border-collapse:separate;border-spacing:0;font-size:15px;line-height:1.7}
.lp-prose th,.lp-prose td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.lp-prose thead th{background:var(--green);color:#fff;font-family:var(--ff-jp);font-weight:900;font-size:14px}
.lp-prose tbody td:first-child{font-weight:700;background:var(--mint)}
.lp-prose tbody tr:last-child td{border-bottom:0}
.lp-prose blockquote{position:relative;margin-left:0;margin-right:0;padding:26px 28px 26px 72px;background:var(--cream);border-radius:var(--r-card)}
.lp-prose blockquote::before{content:"“";position:absolute;left:22px;top:6px;font-family:var(--ff-jp);font-weight:900;font-size:68px;line-height:1.1;color:var(--leaf2)}
.lp-prose blockquote p{font-size:16px}
.lp-prose cite{display:block;margin-top:10px;font-size:13px;font-style:normal;color:var(--sub)}
.lp-prose .wp-block-group.has-border{padding:22px 26px;background:var(--cream);border:2px dashed var(--leaf2);border-radius:var(--r-card)}
.lp-prose .wp-block-group.has-border strong{color:var(--green-ink)}
.lp-prose hr{height:0;margin-top:3em;margin-bottom:3em;border:0;border-top:2px dashed var(--leaf2)}
.lp-prose .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 28px;border-radius:999px;background:var(--red);color:#fff;font-weight:700;text-decoration:none;box-shadow:var(--shadow-cta)}

/* ---------- レスポンシブ ---------- */
@media (min-width:1101px){ .bl-toc--inline{display:none!important} }
@media (max-width:1100px){
  .bl-art__grid{grid-template-columns:minmax(0,760px);grid-template-areas:"head" "main";padding-top:24px}
  .bl-aside{display:none}
  .bl-toc--inline{display:block}
  .bl-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:899px){
  .bl-feature__link{grid-template-columns:1fr}
  .bl-feature__img{min-height:0;aspect-ratio:16/9}
  .bl-feature__body{padding:26px 24px 30px}
}
@media (max-width:820px){
  .bl-cta--wide{grid-template-columns:1fr;justify-items:center;padding:60px 22px 26px;margin-top:72px}
  .bl-cta--wide img{position:absolute;top:-50px;left:50%;width:100px;margin:0;transform:translateX(-50%)}
  .bl-cta--wide .bl-cta__txt{text-align:center}
  .bl-cta--wide .bl-cta__big,.bl-cta--wide .bl-cta__small{white-space:normal}
}
@media (max-width:767px){
  .bl-hero{padding:14px 0 28px}
  .bl-hero__leaf{display:none}
  .bl-featurewrap{margin-top:84px}
  .bl-peek{right:28px;width:104px}
  .bl-chips{flex-wrap:nowrap;overflow-x:auto;margin:4px -16px 24px;padding:0 16px 6px;scrollbar-width:none}
  .bl-chips::-webkit-scrollbar{display:none}
  .bl-chip{flex:none}
  .bl-pn{grid-template-columns:1fr}
  .bl-pn__item--next{align-items:flex-start;text-align:left}
  .lp-prose{font-size:16px}
  .lp-prose blockquote{padding:22px 20px 22px 56px}
  .lp-prose blockquote::before{left:14px;font-size:56px}
}
@media (max-width:640px){
  .bl-grid{grid-template-columns:1fr}
  .bl-art__eye{aspect-ratio:1200/630;border-radius:20px}
  .bl-art__grid{padding-bottom:48px}
}

/* ---------- 微調整（確認後） ---------- */
/* タイトルは意味の切れ目で折り返す（対応ブラウザのみ。非対応でも崩れない）。本文には使わない */
.bl-art__title,.bl-card__title,.bl-feature__title,.bl-pn__item b,.bl-h1,.bl-lead{word-break:auto-phrase}
.bl-related .bl-grid{margin-top:40px}
.bl-cta--wide{gap:16px 20px}
@media (min-width:821px){.bl-cta--wide{padding:22px 28px}}
.bl-cta--wide .lp-btn{padding:14px 16px 14px 22px;font-size:15px}
.bl-cta--wide .bl-cta__small{text-wrap:balance}

/* =========================================================
   会社概要（固定ページ）
   ========================================================= */
.co-sec{padding-top:calc(var(--gap-sec) - 8px)}
.co-infowrap{position:relative;margin-top:132px}
.co-infowrap .bl-peek{right:56px}
.co-info{position:relative;z-index:2;background:#fff;border:1px solid var(--line);border-radius:var(--r-band);box-shadow:var(--shadow-card);overflow:hidden}
.co-row{display:grid;grid-template-columns:220px minmax(0,1fr);border-bottom:2px dashed var(--line)}
.co-row:last-child{border-bottom:0}
.co-row dt{display:flex;align-items:center;gap:10px;padding:22px 28px;background:var(--mint);font-family:var(--ff-jp);font-weight:900;font-size:15px}
.co-row dt::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--green)}
.co-row dd{margin:0;padding:22px 32px;font-size:16px;line-height:1.9;overflow-wrap:anywhere}
.co-row dd a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.co-note{margin-top:14px;text-align:center}

/* 代表メッセージ・沿革（情報があるときだけ表示） */
.co-msg{position:relative;max-width:860px;margin:44px auto 0;padding:36px 44px;background:#fff;border:1px solid var(--line);border-radius:var(--r-band);box-shadow:var(--shadow-card)}
.co-msg__ttl{font-family:var(--ff-jp);font-weight:900;font-size:clamp(20px,2.2vw,26px);line-height:1.6;text-wrap:balance;word-break:auto-phrase}
.co-msg__body{margin-top:18px;font-size:16px;line-height:2}
.co-msg__body p+p{margin-top:1em}
.co-msg__name{margin-top:22px;text-align:right;font-family:var(--ff-jp);font-weight:900}
.co-msg__name small{display:block;font-size:13px;font-weight:400;color:var(--sub)}
.co-hist{position:relative;max-width:760px;margin:44px auto 0;display:flex;flex-direction:column}
.co-hist::before{content:"";position:absolute;left:112px;top:14px;bottom:14px;border-left:2px dashed var(--leaf2)}
.co-hist li{position:relative;display:grid;grid-template-columns:92px minmax(0,1fr);gap:0 40px;padding:14px 0}
.co-hist time{font-family:var(--ff-jp);font-weight:900;font-size:18px;color:var(--green-ink);text-align:right}
.co-hist li::before{content:"";position:absolute;left:104px;top:22px;width:16px;height:16px;border-radius:50%;background:var(--green);border:4px solid var(--white)}
.co-hist p{font-size:16px;line-height:1.9}

/* 事業内容の紹介 */
.co-biz{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.co-biz__card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:30px 24px 28px;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);text-align:center;transition:transform .25s,box-shadow .25s}
.co-biz__card:hover{transform:translateY(-5px);box-shadow:0 12px 24px rgba(0,0,0,.12)}
.co-biz__ico{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:var(--mint);color:var(--green)}
.co-biz__ico svg{width:42px;height:42px}
.co-biz__card h3{font-family:var(--ff-jp);font-weight:900;font-size:20px}
.co-biz__card p{font-size:14px;line-height:1.85;color:var(--ink);opacity:.8;text-wrap:balance;word-break:auto-phrase}
.co-biz__all{display:flex;justify-content:center;margin-top:40px}
.co-biz__all .ico{width:18px;height:18px}

@media (max-width:899px){ .co-biz{grid-template-columns:1fr;max-width:520px;margin-left:auto;margin-right:auto} }
@media (max-width:767px){
  .co-infowrap{margin-top:104px}
  .co-infowrap .bl-peek{right:28px}
  .co-row{grid-template-columns:1fr}
  .co-row dt{padding:14px 22px 10px}
  .co-row dd{padding:12px 22px 20px;font-size:15px}
  .co-msg{padding:26px 22px}
  .co-hist::before{left:6px}
  .co-hist li{grid-template-columns:1fr;gap:2px;padding:12px 0 12px 32px}
  .co-hist li::before{left:-2px;top:20px}
  .co-hist time{text-align:left;font-size:16px}
}

/* =========================================================
   事業内容（固定ページ）
   ========================================================= */
.ab-sec{padding-top:40px}
.ab-list{display:flex;flex-direction:column;gap:80px}
.ab-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.ab-row:nth-child(even) .ab-row__img{order:2}
.ab-row__img{overflow:hidden;aspect-ratio:4/3;border:1px solid var(--line);border-radius:var(--r-band);background:var(--mint);box-shadow:var(--shadow-card)}
.ab-row__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.ab-row:hover .ab-row__img img{transform:scale(1.03)}
.ab-row__txt{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.ab-row__no{display:inline-flex;align-items:baseline;gap:8px;font-family:var(--ff-script);font-size:44px;line-height:1;color:var(--green);transform:rotate(-4deg);transform-origin:left bottom}
.ab-row__txt h2{font-family:var(--ff-jp);font-weight:900;font-size:clamp(26px,3vw,36px);line-height:1.4}
.ab-row__txt p{font-size:16px;line-height:2}
.ab-row__more{margin-top:6px}
.ab-row__more .ico{width:18px;height:18px}
@media (max-width:899px){
  .ab-list{gap:56px}
  .ab-row{grid-template-columns:1fr;gap:24px}
  .ab-row:nth-child(even) .ab-row__img{order:0}
  .ab-row__img{aspect-ratio:16/10}
}

/* =========================================================
   お問い合わせ（固定ページ）
   ========================================================= */
.ct-sec{padding-top:32px}
.ct-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:56px;align-items:start}
.ct-info{padding-top:8px}
.ct-info h2{font-family:var(--ff-jp);font-weight:900;font-size:clamp(24px,2.8vw,32px);line-height:1.5;text-wrap:balance;word-break:auto-phrase}
.ct-info__lead{margin-top:16px;font-size:16px;line-height:2}
.ct-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.ct-pills li{display:inline-flex;align-items:center;gap:8px;padding:8px 16px 8px 10px;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:14px;font-weight:700}
.ct-pills .ico{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--green);color:#fff}
.ct-steps{counter-reset:ct;display:flex;flex-direction:column;gap:14px;margin-top:40px}
.ct-steps li{counter-increment:ct;display:grid;grid-template-columns:44px minmax(0,1fr);gap:0 16px;align-items:start}
.ct-steps li::before{content:counter(ct);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--green);color:#fff;font-family:var(--ff-jp);font-weight:900;font-size:18px}
.ct-steps b{display:block;font-family:var(--ff-jp);font-weight:900;font-size:17px;line-height:1.5;padding-top:8px}
.ct-steps span{display:block;margin-top:2px;font-size:14px;line-height:1.8;color:var(--ink);opacity:.8}
.ct-tel{display:flex;flex-direction:column;gap:4px;margin-top:36px;padding:20px 24px;background:var(--cream);border:2px dashed var(--leaf2);border-radius:var(--r-card)}
.ct-tel small{font-size:13px;color:var(--sub)}
.ct-tel a{display:inline-flex;align-items:center;gap:8px;font-family:var(--ff-jp);font-weight:900;font-size:clamp(24px,3vw,32px);color:var(--green-ink)}
.ct-tel .ico{width:26px;height:26px}
.ct-formwrap{position:relative;margin-top:116px}
.ct-formwrap .bl-peek{right:44px}
.ct-formwrap .lp-form{position:relative;z-index:2}
.ct-privacy{margin-top:16px;font-size:13px;line-height:1.8;color:var(--sub);text-align:center}
.ct-privacy a{text-decoration:underline;text-underline-offset:3px;color:var(--green-ink)}
@media (max-width:1023px){
  .ct-grid{grid-template-columns:1fr;gap:44px}
  .ct-formwrap{margin-top:104px}
}


/* =========================================================
   WordPress 用の補正（Contact Form 7 ではなく、WordPressのブロック・ページ送りの出力に合わせる）
   ========================================================= */
/* ページ送り（paginate_links の出力: .page-numbers） */
.bl-pager .page-numbers{display:grid;place-items:center;min-width:48px;height:48px;padding:0 6px;border:2px solid var(--line);border-radius:50%;background:#fff;font-family:var(--ff-jp);font-weight:900;transition:border-color .2s,transform .2s}
.bl-pager a.page-numbers:hover{border-color:var(--green);transform:translateY(-2px)}
.bl-pager .page-numbers.current{background:var(--green);border-color:var(--green);color:#fff}
.bl-pager .page-numbers.dots{border-color:transparent;background:none}
.bl-pager .page-numbers .ico{width:18px;height:18px;color:var(--green)}
/* アイキャッチが無い記事: 淡い緑の面に葉を置く */
.bl-card__img.is-none,.bl-feature__img.is-none{display:grid;place-items:center}
.bl-noimg{width:84px!important;height:auto!important;object-fit:contain!important;opacity:.85}
.bl-feature__img.is-none .bl-noimg{position:static!important;width:120px!important}
.bl-empty{padding:48px 0;text-align:center;color:var(--sub)}
/* 記事内の案内枠（ブロックパターン「無料現地調査の案内」）とボタン */
.lp-prose .wp-block-group.lp-cta{padding:26px;background:var(--cream);border:2px dashed var(--leaf2);border-radius:var(--r-card);text-align:center}
.lp-prose .wp-block-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:1em}
.lp-prose .wp-block-button__link{transition:transform .2s}
.lp-prose .wp-block-button__link:hover{transform:translateY(-2px);color:#fff}
.lp-prose .alignwide,.lp-prose .alignfull{max-width:100%}
/* SWELL のブロック用スタイル（.wp-block-group.has-border など）に、記事本文の見た目を優先させる */
.lp-prose .wp-block-group.has-border{border:2px dashed var(--leaf2)!important;border-radius:var(--r-card)!important;background:var(--cream)!important}
.lp-prose .swl-marker,.lp-prose mark{background:none!important}
.lp-prose h2,.lp-prose h3,.lp-prose h4{color:var(--ink)}
.lp-prose h2::after,.lp-prose h3::after{display:none}
/* SWELL が記事本文に自動で挿入する目次（.p-toc）は、このテンプレート独自の目次と重なるので隠す */
.lp-prose .p-toc,.lp-prose #toc{display:none!important}
/* プライバシーポリシー（固定ページ） */
.pp-sec{padding-top:40px}
.pp-body{max-width:820px;margin:0 auto}
.pp-body .wp-block-separator{margin-top:2.4em}
/* 前後の記事が片方しかないときは、全幅にして折り返しを自然にする */
.bl-pn--single{grid-template-columns:1fr}
