/* ============================================================
   安心墓じまい エリアページ LPレイアウト
   hands-global.co.jp/lp/ の「形」をそのまま踏襲し、
   配色（紺・金・生成り）と書体（明朝・Zen Kaku）は既存を維持する。
   ============================================================ */

:root{
  --gold-l:#E8CF8A;
  --gold-w:#F3EBD7;
  --paper3:#FAF9F5;
  /* 参考LPと同じ寸法 */
  --radius:clamp(20px, 5px + 3.7vw, 64px);
  --section-space:clamp(72px, 9vw, 132px);
  --content:1240px;
  --narrow:1060px;
  --gutter:clamp(20px, 4vw, 48px);
  --card-padding:clamp(1.5rem, 4vw, 4rem);
  --panel-padding:clamp(1.25rem, 3vw, 2.25rem);
  --grid-gap:clamp(.75rem, 1.5vw, 1.125rem);
  --heading-gap:clamp(2rem, 4vw, 3rem);
  --fluid-sm:clamp(1.5rem, 2.5vw, 2.5rem);
  --fluid-md:clamp(1.75rem, 3vw, 3rem);
  --shadow:0 2px 8px rgba(30,38,48,.18);
}

.lp-sec,section.lp-sec{padding-block:var(--section-space)}
.lp-sec>.wrap,.fcta>.wrap{max-width:var(--content);padding-inline:var(--gutter)}

/* ============ 1. セクション見出し（中央・巨大英字） ============ */
.lp-sec .wrap>.sec-eyebrow{
  display:block;text-align:center;
  font-family:'Shippori Mincho',serif;
  font-weight:600;
  font-size:clamp(1rem, 1rem + 1.35vw, 2.5rem);
  line-height:1;
  letter-spacing:.1em;
  margin:0 0 clamp(14px,1.6vw,24px);
  text-transform:uppercase;
  background:linear-gradient(90deg,var(--indigo-d) 0%,var(--gold) 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.lp-sec .wrap>svg.pic{margin:0 auto clamp(12px,1.4vw,18px)}
.lp-sec h2.sub,.lp-sec .wrap>h2{
  text-align:center;padding-left:0!important;
  font-family:'Shippori Mincho',serif;
  font-size:clamp(20px,1.3rem + .6vw,27px)!important;
  font-weight:700;line-height:1.7;letter-spacing:.1em;color:var(--indigo-d);
  margin:0 0 var(--heading-gap)}
.lp-sec h2.sub::before,.lp-sec .wrap>h2::before{display:none!important}
.lp-sec .sec-lead{text-align:center;max-width:56em;margin:calc(var(--heading-gap) * -0.6) auto var(--heading-gap);
  font-size:15.5px;line-height:2;color:var(--muted)}

/* 反転（紺ベタ）セクション */
section.lp-sec.is-invert,
.lp-sec.is-invert:not(.bg-white):not(.bg-paper2){background:var(--indigo-d);color:#fff}
.lp-sec.is-invert .wrap>.sec-eyebrow{
  background:linear-gradient(90deg,#fff 0%,var(--gold-l) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.lp-sec.is-invert h2,.lp-sec.is-invert h2.sub{color:#fff}
.lp-sec.is-invert .sec-lead{color:rgba(244,243,238,.86)}
.lp-sec.is-invert svg.pic{stroke:var(--gold-l)}

/* 背景 */
.lp-sec.bg-white{background:#fff}
.lp-sec.bg-paper2{background:var(--paper2)}
.lp-sec:not(.bg-white):not(.bg-paper2):not(.is-invert){background:var(--paper3)}

.pic{width:52px;height:52px;flex:none;fill:none;stroke:var(--gold);stroke-width:1.2;
  stroke-linecap:round;stroke-linejoin:round;display:block}

/* ============ 2. ヒーロー＋ピル型CTAバー ============ */
.lp-hero{padding:0}
.lp-hero .wrap{max-width:var(--content);padding-inline:var(--gutter);
  padding-top:clamp(3rem,7vw,7rem);padding-bottom:clamp(3rem,6vw,6rem);min-height:clamp(30rem,44vw,44rem);justify-content:center}
.lp-hero .bg{opacity:.62}
.lp-hero::before{background:linear-gradient(100deg,rgba(22,32,44,.93) 0%,rgba(22,32,44,.80) 42%,rgba(22,32,44,.42) 100%)}
.lp-hero .sec-eyebrow{font-family:'Zen Kaku Gothic New',sans-serif!important;font-size:12.5px!important;
  letter-spacing:.32em;color:var(--gold-l)!important;margin:0 0 16px!important;
  -webkit-text-fill-color:var(--gold-l)!important;background:none!important}
.lp-hero h1{font-size:clamp(2rem,1.4rem + 3.4vw,3.6rem)!important;line-height:1.28;letter-spacing:.04em;
  text-shadow:0 2px 14px rgba(14,22,32,.5)}
.lp-hero .lp-lead{text-shadow:0 1px 10px rgba(14,22,32,.55)}
.lp-price b{text-shadow:0 2px 16px rgba(14,22,32,.55)}
.lp-price span{text-shadow:0 1px 8px rgba(14,22,32,.6)}
.lp-price{display:grid!important;grid-template-columns:max-content max-content;
  gap:2px 20px;align-items:baseline;margin-top:26px}
.lp-price b{font-size:clamp(2.2rem,1.5rem + 3.4vw,3.8rem)!important;justify-self:end}
.lp-price span{font-size:14.5px!important;line-height:1.7}
.lp-badges span{font-size:14px;padding:8px 18px;border-radius:999px}

/* ピル型CTAバー（参考LPの .hero-actions） */
.hero-actions{
  position:relative;z-index:2;
  width:min(calc(100% - var(--gutter) * 2), var(--content));
  margin:calc(var(--gutter) * -1.2) auto 0;
  padding:var(--fluid-sm);
  background:linear-gradient(90deg,var(--indigo-d) 0%,var(--indigo) 100%);
  border-radius:calc(infinity * 1px);
  box-shadow:0 14px 40px rgba(30,38,48,.24);
  display:grid;justify-items:center;gap:var(--grid-gap)}
.hero-actions-lead{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:var(--grid-gap);color:#fff;letter-spacing:.1em;width:90%;text-align:center}
.hero-actions-lead b{font-family:'Shippori Mincho',serif;font-size:clamp(1.05rem,.9rem + .5vw,1.4rem);
  font-weight:700;line-height:1;color:var(--gold-l)}
.hero-actions-lead span{font-size:13.5px;color:rgba(244,243,238,.9);line-height:1.7}
.hero-actions-cta{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap);width:92%}
.hero-actions .cta{width:100%;min-height:clamp(2.6rem,4.4vw,4.2rem);margin:0;border-radius:calc(infinity * 1px)}

/* ============ 3. CTAボタン（角丸＋右端の丸矢印） ============ */
.cta{
  position:relative;display:flex;align-items:center;justify-content:center;
  width:clamp(15rem,25vw,19.5rem);min-height:60px;margin:var(--fluid-md) auto 0;
  padding:.75rem calc(1.5rem + 30px) .75rem 1.5rem;
  border-radius:10px;border:0;cursor:pointer;text-decoration:none;
  font-family:'Shippori Mincho',serif;font-size:clamp(1rem,.95rem + .25vw,1.18rem);
  font-weight:700;letter-spacing:.06em;line-height:1.4;text-align:center;
  box-shadow:0 2px 6px rgba(30,38,48,.24);transition:.2s}
.cta:hover{transform:translateY(-2px);filter:brightness(1.05)}
.cta .ar{position:absolute;right:15px;top:50%;transform:translateY(-50%);
  width:22px;height:22px;border-radius:50%;display:grid;place-items:center}
.cta .ar svg{width:12px;height:12px;stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cta-white{background:#fff;color:var(--indigo-d)}
.cta-white .ar{background:var(--gold)}.cta-white .ar svg{stroke:#fff}
.cta-gold{background:var(--gold);color:#fff}
.cta-gold .ar{background:#fff}.cta-gold .ar svg{stroke:var(--gold)}
.cta-navy{background:var(--indigo-d);color:#fff}
.cta-navy .ar{background:var(--gold-l)}.cta-navy .ar svg{stroke:var(--indigo-d)}

/* ============ 4. 実績タイル ============ */
.lp-tiles{max-width:var(--content);padding-inline:var(--gutter);margin-top:clamp(2rem,4vw,3.5rem);gap:var(--grid-gap)}
.lp-tile{border-radius:20px;border:1px solid var(--line);border-top:3px solid var(--gold);
  padding:22px 20px 20px;box-shadow:0 2px 8px rgba(30,38,48,.07);background:#fff}
.lp-tile small{font-size:11px;color:var(--muted);display:block;line-height:1.6}
.lp-tile b{font-family:'Shippori Mincho',serif;font-size:clamp(1.8rem,1.3rem + 1.6vw,2.6rem);
  font-weight:700;color:var(--indigo-d);line-height:1.05;display:block;margin:10px 0 6px}
.lp-tile b em{font-style:normal;font-size:.36em;margin-left:4px;color:var(--gold)}
.lp-tile .src{font-size:10.5px;color:#8b8578;line-height:1.55;display:block}

/* ============ 5. 大カード内の横並びリスト（参考LP .strength-list） ============ */
.strength-list{background:var(--paper2);border-radius:var(--radius);
  padding:var(--card-padding) calc(var(--card-padding) * 1.4)}
.is-invert .strength-list{background:rgba(255,255,255,.06)}
.strength-item{display:grid;grid-template-columns:calc(150px + var(--fluid-md)) 1fr;
  gap:var(--fluid-md);padding-block:var(--fluid-md);border-bottom:1px solid rgba(30,38,48,.14)}
.is-invert .strength-item{border-bottom-color:rgba(232,207,138,.22)}
.strength-item:first-child{padding-top:0}
.strength-item:last-child{border-bottom:0;padding-bottom:0}
.strength-label{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  gap:.75rem;text-align:center;align-self:start}
.strength-label .number{display:flex;flex-direction:column;align-items:center;line-height:1}
.strength-label .number strong{font-family:'Shippori Mincho',serif;font-size:clamp(2.6rem,2rem + 2vw,4rem);
  font-weight:700;color:var(--gold);letter-spacing:.02em;line-height:1}
.strength-label .number small{margin-top:.4rem;font-size:11px;letter-spacing:.22em;color:var(--muted);white-space:nowrap}
.is-invert .strength-label .number small{color:rgba(244,243,238,.7)}
.strength-label svg{width:clamp(4.5rem,7vw,6.5rem);height:auto;stroke:var(--gold);stroke-width:1;fill:none;
  stroke-linecap:round;stroke-linejoin:round}
.is-invert .strength-label svg{stroke:var(--gold-l)}
.strength-copy h3{margin:0 0 10px;font-family:'Shippori Mincho',serif;
  font-size:clamp(1.15rem,1rem + .55vw,1.5rem);font-weight:700;color:var(--indigo-d);line-height:1.6;letter-spacing:.04em}
.is-invert .strength-copy h3{color:#fff}
.strength-copy p{margin:0;font-size:15px;line-height:1.95;color:var(--muted);text-align:justify}
.is-invert .strength-copy p{color:rgba(244,243,238,.84)}

/* 枠付き白パネル（参考LP .strength-column） */
.strength-panel{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;
  gap:var(--fluid-md);margin-top:var(--fluid-sm);padding:var(--fluid-sm);
  border:2px solid var(--indigo);border-radius:24px;background:#fff;color:var(--ink)}
.is-invert .strength-panel{border-color:var(--gold-l)}
.strength-panel strong{display:block;font-family:'Shippori Mincho',serif;font-size:1.05rem;color:var(--indigo)}
.strength-panel p{margin:6px 0 0;font-size:13.5px;line-height:1.85;color:var(--muted)}

/* ============ 6. FLOW（丸バッジ＋点線） ============ */
.fw-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--grid-gap);
  position:relative;padding-top:64px;margin-top:var(--fluid-sm)}
.fw-steps::before{content:"";position:absolute;z-index:0;left:calc(100% / 10);right:calc(100% / 10);
  border-top:2px dotted var(--gold);top:40px}
.is-invert .fw-steps::before{border-top-color:var(--gold-l)}
.fw-step{position:relative;z-index:1;display:flex;flex-direction:column;gap:.9rem;
  background:#fff;border-radius:1rem;padding:24px 1.2rem;min-height:270px;overflow:visible}
.is-invert .fw-step{background:rgba(255,255,255,.07)}
.fw-step .fw-step-ph{position:static;margin:0;min-height:0;background:none;border-radius:12px;overflow:hidden}
.fw-step .fw-step-ph img{position:static;inset:auto;width:100%;height:118px;object-fit:cover;display:block}
.fw-step-ph img{display:block;width:100%;height:118px;object-fit:cover}
.fw-step .fw-step-ph .fw-no,
.fw-no{
  position:absolute;left:50%;transform:translateX(-50%);top:-64px;z-index:2;
  width:80px;height:80px;border-radius:calc(infinity * 1px);
  background:var(--indigo-d);color:#fff!important;border:2px solid var(--gold-l);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1;
  font-family:'Shippori Mincho',serif;font-size:11px;letter-spacing:.12em;
  box-shadow:0 6px 16px rgba(34,48,63,.32)}
.fw-no em{font-style:normal;font-size:1.7rem;font-weight:700;line-height:1}
.fw-step-b h3{font-family:'Shippori Mincho',serif;font-size:1.02rem;font-weight:700;
  color:var(--indigo-d);line-height:1.55;margin:0 0 6px}
.is-invert .fw-step-b h3{color:#fff}
.fw-step-b p{margin:0;font-size:12.5px;line-height:1.85;color:var(--muted);text-align:justify}
.is-invert .fw-step-b p{color:rgba(244,243,238,.82)}
.fw-dur{display:inline-block;margin-left:6px;font-family:'Zen Kaku Gothic New',sans-serif;
  font-size:10.5px;font-weight:700;letter-spacing:.06em;color:var(--indigo);
  background:var(--gold-w);border-radius:999px;padding:3px 9px;vertical-align:2px}
.fw-roles{display:flex;flex-direction:column;gap:5px;margin-top:auto;padding-top:10px}
.fw-role{font-size:10.5px;line-height:1.6;color:var(--muted);background:var(--paper);
  border-radius:7px;padding:6px 9px}
.is-invert .fw-role{background:rgba(255,255,255,.08);color:rgba(244,243,238,.8)}
.fw-role b{display:block;font-size:10px;letter-spacing:.1em;color:var(--gold)}

/* ============ 7. 写真カード3枚並び（参考LP .industry-cards） ============ */
.case,.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap)}
.case .c,.lp-sec .card{background:#fff;border:0;border-radius:var(--radius);overflow:hidden;
  padding:var(--panel-padding);box-shadow:0 2px 8px rgba(30,38,48,.07)}
.lp-sec .card h3{font-family:'Shippori Mincho',serif;font-size:1.18rem;font-weight:700;
  color:var(--indigo-d);letter-spacing:.06em;margin:0 0 var(--space-md,1rem)}
.lp-sec .card p{font-size:14.5px;line-height:1.85;color:var(--muted);text-align:justify}
.lp-sec .card .tag{display:block;font-family:'Shippori Mincho',serif;font-size:12.5px;
  letter-spacing:.14em;color:var(--gold);font-weight:700;margin-bottom:12px}
.lp-sec .card .bignum{position:absolute;top:18px;right:24px;font-family:'Shippori Mincho',serif;
  font-size:clamp(2.4rem,2rem + 1.4vw,3.6rem);font-weight:700;line-height:1;
  color:var(--indigo);opacity:.12;pointer-events:none}
.lp-sec .card{position:relative}
.is-invert .lp-sec .card,.lp-sec.is-invert .card{background:rgba(255,255,255,.06)}

/* ============ 8. 表 ============ */
.tbl{border-radius:20px;overflow:hidden;box-shadow:0 2px 8px rgba(30,38,48,.07)}
.tbl th{background:var(--indigo-d);color:#fff;font-size:13px;letter-spacing:.06em;padding:15px 14px}
.tbl td{padding:17px 14px;font-size:14.5px;border-bottom:1px solid var(--line);background:#fff}

/* ============ 9. 開閉（AREA DATA） ============ */
.lp-fold{border:0;border-radius:20px;background:#fff;margin-bottom:12px;overflow:hidden;
  box-shadow:0 2px 8px rgba(30,38,48,.07)}
.lp-fold summary{padding:22px 26px;cursor:pointer;list-style:none}
.lp-fold summary::-webkit-details-marker{display:none}
.lp-fold summary h2{font-size:17px!important;text-align:left!important;margin:0!important;letter-spacing:.04em}
.lp-fold .fb{padding:0 26px 26px}

/* ============ 10. CONTACT（全面ベタ＋巨大英字） ============ */
.fcta{background:linear-gradient(90deg,var(--indigo-d) 0%,var(--indigo) 100%);color:#fff;
  padding-block:var(--section-space)}
.fcta .sec-eyebrow{display:block;text-align:center;font-family:'Shippori Mincho',serif;font-weight:600;
  font-size:clamp(1.5rem,1.08rem + 1.35vw,2.5rem);line-height:1;letter-spacing:.1em;color:var(--gold-l);
  margin:0 0 1.5rem}
.fcta h2{text-align:center;font-family:'Shippori Mincho',serif;
  font-size:clamp(1.15rem,1rem + .6vw,1.5rem)!important;color:#fff;letter-spacing:.08em;margin:0 0 2rem}

/* ============ 11. レスポンシブ ============ */
@media (max-width:1000px){
  .fw-steps{grid-template-columns:1fr;padding-top:0;margin-left:1rem;padding-left:1.5rem}
  .fw-steps::before{display:none}
  .fw-step{min-height:0;flex-direction:row;align-items:flex-start;gap:1rem;padding:1rem 1rem 1rem 1.5rem}
  .fw-step:not(:last-child)::after{content:"";position:absolute;z-index:0;top:50%;
    left:-.75rem;height:calc(100% + var(--grid-gap));border-left:2px dotted var(--gold)}
  .fw-step .fw-step-ph .fw-no,
  .fw-no{top:1.1rem;left:-.75rem;transform:translateX(-50%);width:56px;height:56px;font-size:9px}
  .fw-no em{font-size:1.15rem}
  .fw-step-ph{flex:none;width:34%}
  .fw-step-ph img{height:80px}
  .case,.grid-3{grid-template-columns:repeat(2,1fr)}
  .hero-actions-cta{grid-template-columns:1fr;justify-items:center}
  .hero-actions{border-radius:var(--radius)}
  .hero-actions .cta{width:min(100%,24rem)}
  .strength-item{grid-template-columns:1fr;gap:1rem}
  .strength-label{flex-direction:row;justify-content:flex-start;gap:1.2rem}
  .strength-panel{flex-direction:column;align-items:flex-start}
}
@media (max-width:640px){
  .case,.grid-3,.lp-tiles{grid-template-columns:1fr!important}
  .lp-sec .wrap>.sec-eyebrow{font-size:clamp(.95rem,4.5vw,1.3rem)}
}


/* ============ 12. 追記：AREA DATAの開閉見出し・本文の指定 ============ */
/* 開閉ブロックの見出しは 18px */
.lp-sec .lp-fold summary h2,
.lp-sec .lp-fold summary h2.sub,
.lp-fold summary h2{
  font-size:18px!important;text-align:left!important;margin:0!important;
  letter-spacing:.04em;line-height:1.6}

/* 本文は左揃え・16px（両端揃えはやめる） */
.lp-sec p,
.lp-sec .sec-lead,
.lp-sec .card p,
.strength-copy p,
.lp-fold .fb p,
.lp-fold .fb li{
  text-align:left!important;
  font-size:16px!important;
  line-height:1.95}
.lp-sec .sec-lead{max-width:48em;margin-left:auto;margin-right:auto}

/* 本文指定の例外（小さいまま残すもの） */
.lp-tile small,.lp-tile .src,.lp-sec .card .tag,.fw-dur,
.strength-label .number small,.pm-cities,.tbl-note,.lp-sec .note{font-size:inherit}
.lp-tile small{font-size:11px!important}
.lp-tile .src{font-size:10.5px!important}
.lp-sec .card .tag{font-size:12.5px!important}
.fw-step-b p{font-size:12.5px!important;line-height:1.85}
.fw-role{font-size:10.5px!important}
.fw-role b{font-size:10px!important}
.strength-label .number small{font-size:11px!important}
.pm-cities{font-size:10.5px!important}
.pm-cities a{font-size:10.5px!important}
.strength-panel p{font-size:13.5px!important}


/* ============ 13. ゴールド背景セクション（30秒ミニ試算） ============ */
section.lp-sec.is-gold,
.lp-sec.is-gold:not(.bg-white):not(.bg-paper2){
  background:linear-gradient(100deg,#9C8248 0%,#A98F52 40%,#C4A45C 100%);color:#fff}
.lp-sec.is-gold .wrap>.sec-eyebrow{
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.72) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.lp-sec.is-gold h2,.lp-sec.is-gold h2.sub{color:#fff}
.lp-sec.is-gold .sec-lead{color:rgba(255,255,255,.92)}
.lp-sec.is-gold svg.pic{stroke:#fff}
/* 中の試算カードは白のまま浮かせる */
.lp-sec.is-gold .lps{background:#fff;border-radius:var(--radius);
  padding:var(--panel-padding);box-shadow:0 12px 34px rgba(60,48,20,.22)}
.lp-sec.is-gold .lps,.lp-sec.is-gold .lps *{color:var(--ink)}
.lp-sec.is-gold .lps .lps-q{color:var(--indigo-d)}
.lp-sec.is-gold .tbl-note{color:rgba(255,255,255,.88)!important}
.lp-sec.is-gold .tbl-note a{color:#fff!important;border-bottom-color:rgba(255,255,255,.6)}


/* ============ 14. AREA DATA 開閉ブロックの修正 ============ */
/* セクションのリード中央寄せを、開閉の中では打ち消す */
.lp-fold .fb .sec-lead,
.lp-sec .lp-fold .fb .sec-lead{
  max-width:none!important;margin-left:0!important;margin-right:0!important;
  text-align:left!important}
/* 点線の上下に余白を戻す */
.lp-fold .fb{padding:18px 26px 26px!important;border-top:1px dashed var(--line)}
.lp-fold .fb>*:first-child{margin-top:0}
/* summary は既存の flex レイアウトを維持する */
.lp-fold>summary{display:flex;align-items:center;gap:14px;padding:20px 24px;list-style:none}
.lp-sec .lp-fold>summary h2{flex:1;margin:0!important}
/* ＋／− のボタンを正円の中央に揃える */
.lp-fold>summary::after{
  content:"＋";flex:none;width:34px;height:34px;box-sizing:border-box;
  border-radius:50%;border:2px solid var(--gold);color:var(--gold);
  display:grid;place-items:center;
  font-family:'Zen Kaku Gothic New',sans-serif;font-size:15px;font-weight:700;
  line-height:1;padding:0;text-indent:0}
.lp-fold[open]>summary::after{content:"−"}

/* ============ 15. FLOW：下段からマージした要約 ============ */
.fw-cap{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;
  gap:4px 14px;margin:0 0 10px}
.fw-cap b{font-family:'Shippori Mincho',serif;font-size:16px;font-weight:700;
  color:var(--indigo-d);letter-spacing:.06em}
.fw-cap small{font-size:12px;color:var(--muted);letter-spacing:.04em}
.is-invert .fw-cap b{color:#fff}
.is-invert .fw-cap small{color:rgba(244,243,238,.8)}

.fw-sum{margin:0 0 9px!important;padding:7px 10px;background:var(--gold-w);
  border-radius:7px;font-size:11px!important;line-height:1.65;
  color:var(--ink)!important;text-align:left!important}
.fw-sum b{display:block;font-size:10.5px;letter-spacing:.06em;
  color:var(--gold);font-weight:700;margin-bottom:2px}
.is-invert .fw-sum{background:rgba(232,207,138,.14)}
.is-invert .fw-sum{color:rgba(244,243,238,.9)!important}
.is-invert .fw-sum b{color:var(--gold-l)}

/* ============ 16. FLOW：幅に応じて列数を変える ============ */
/* 5列は十分な幅があるときだけ */
@media (max-width:1179px) and (min-width:1001px){
  .fw-steps{grid-template-columns:repeat(3,1fr);row-gap:76px}
  .fw-steps::before{display:none}
}
@media (min-width:1180px){
  .fw-steps{grid-template-columns:repeat(5,1fr)}
}
/* カード内を詰める */
.fw-step-b h3{font-size:.98rem;line-height:1.5;letter-spacing:.01em;
  word-break:keep-all;overflow-wrap:anywhere}
.fw-sum{font-size:10.5px!important;line-height:1.6;padding:6px 8px}
.fw-sum b{font-size:10px}
.fw-step{padding:22px 1rem}
.fw-dur{margin-left:0;margin-top:4px;display:inline-block}

/* ============ 17. FLOWカードの左右余白を14px詰める ============ */
/* .fw-step(16px) + .fw-step-b(22px) = 片側38px → 24px へ */
.fw-step .fw-step-b{padding:18px 8px!important}

/* ============ 18. 本文系の最小サイズを14pxに揃える ============ */
.lp-sec .fw-step-b p,
.fw-step-b p{font-size:14px!important;line-height:1.8}
.fw-sum{font-size:14px!important;line-height:1.75;padding:8px 10px}
.fw-sum b{font-size:14px!important;margin-bottom:3px}
.fw-role{font-size:14px!important;line-height:1.6;padding:8px 10px}
.fw-role b{font-size:14px!important}
.fw-dur{font-size:14px!important;padding:3px 10px}
.fw-no{font-size:14px!important}
.fw-no em{font-size:1.8rem}
.fw-cap small{font-size:14px!important}

.lp-tile small{font-size:14px!important;line-height:1.55}
.lp-tile .src{font-size:14px!important;line-height:1.55}
.lp-sec .card .tag{font-size:14px!important}
.strength-label .number small{font-size:14px!important;letter-spacing:.14em}
.strength-panel p{font-size:14px!important}

.pm-cities,.pm-cities a{font-size:14px!important;line-height:1.7}
.pm-gt{font-size:16px}
.pm-badge small{font-size:14px!important}

/* 表・注記 */
.lp-sec .tbl th,.lp-sec .tbl td,
.lp-sec .hub-tbl th,.lp-sec .hub-tbl td,
.lp-sec .rtbl td,.lp-sec .rtbl th{font-size:14px!important;line-height:1.75}
.lp-sec .tbl-note,.lp-sec .tbl-note *{font-size:14px!important;line-height:1.8}
.lp-sec .faq-a,.lp-sec .faq-q{font-size:14px!important}
.lp-sec small,.fcta small{font-size:14px!important}
.lp-sec .card p,.lp-sec p{font-size:16px!important}

/* ============ 19. 残りの本文系も14pxへ ============ */
/* 試算・モデルケースの内訳明細 */
.lp-sec .lps-res li span,
.lp-sec li > span,
.lp-sec .case li span{font-size:14px!important;line-height:1.7}
/* CTAボタンの補助文 */
.lp-sec .lp-cta .tx small,
.fcta .lp-cta .tx small{font-size:14px!important;line-height:1.5}
/* 料金の補足 */
.lp-sec p.hl small,
.lp-sec .hl small{font-size:14px!important}
/* モデルケースの見出しラベル・注記 */
.lp-sec .lp-model{font-size:14px!important;line-height:1.7}
.lp-sec .ck{font-size:14px!important;letter-spacing:.06em;line-height:1.6}
/* CONTACT */
.fcta .hours,.fcta .no-push,.fcta .fc-badge,.fcta .fc-mi,
.fcta div > span{font-size:14px!important;line-height:1.7}

/* 取りこぼし分（詳細度を上げて確実に14pxへ） */
.lp-sec .tbl td small,.lp-sec .tbl th small,
.lp-sec td small,.lp-sec th small{font-size:14px!important;line-height:1.6}
.lp-sec .lp-cta .tx small,
.lp-sec a.lp-cta .tx small,
.fcta a.lp-cta .tx small{font-size:14px!important;line-height:1.5}

/* ============ 20. 目次「このページでわかること」 ============ */
.lp-sec .toc{
  background:var(--paper2);border:0;border-radius:var(--rad-l);
  padding:30px 34px;margin:36px 0 0}
.lp-sec.is-invert .toc,.is-invert .toc{background:rgba(255,255,255,.07)}
.lp-sec .toc .tt{
  font-family:'Shippori Mincho',serif;font-size:17px;font-weight:700;
  color:var(--indigo-d);letter-spacing:.06em;margin-bottom:6px}
.is-invert .toc .tt{color:#fff}

/* 2列（縦に読んで次の列へ） */
.lp-sec .toc ol{
  column-count:2;column-gap:44px;
  list-style:none;counter-reset:t;margin:0;padding:0}
.lp-sec .toc li{
  counter-increment:t;break-inside:avoid;
  display:flex;align-items:center;gap:10px;
  padding:0;border-bottom:1px dashed var(--line)}
.is-invert .toc li{border-bottom-color:rgba(232,207,138,.22)}
.lp-sec .toc li::before{
  content:counter(t)".";flex:none;min-width:1.6em;
  font-family:'Shippori Mincho',serif;font-size:14px;font-weight:700;
  color:var(--gold);margin-right:0}

/* リンクだと分かるように：行全体をクリック領域に＋下向き矢印 */
.lp-sec .toc li a{
  flex:1;display:flex;align-items:center;gap:10px;
  padding:13px 0;font-size:14px!important;line-height:1.6;
  color:var(--indigo-d);text-decoration:none;
  border-bottom:0;transition:color .15s}
.is-invert .toc li a{color:rgba(255,255,255,.92)}
.lp-sec .toc li a::after{
  content:"";flex:none;margin-left:auto;width:17px;height:17px;
  background:center/contain no-repeat
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A98F52' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v13M18.5 11.5 12 18l-6.5-6.5'/%3E%3C/svg%3E");
  transition:transform .15s}
.lp-sec .toc li a:hover{color:var(--gold)}
.lp-sec .toc li a:hover::after{transform:translateY(2px)}

@media (max-width:680px){
  .lp-sec .toc{padding:22px 18px}
  .lp-sec .toc ol{column-count:1}
}

/* ============ 21. ゴールド面は濃紺文字にして視認性を確保 ============
   白文字だと 金(#A98F52) に対し 2.8:1 で不足。
   濃紺(#16202B) にすると 5.2:1 で AA を満たす。 */
.lp-sec.is-gold .wrap>.sec-eyebrow{
  background:linear-gradient(90deg,#16202B 0%,#3A4A5C 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent}
.lp-sec.is-gold h2,.lp-sec.is-gold h2.sub{color:#16202B}
.lp-sec.is-gold .sec-lead{color:#25313E}
.lp-sec.is-gold svg.pic{stroke:#16202B}
.lp-sec.is-gold .tbl-note,
.lp-sec.is-gold .tbl-note *{color:#25313E!important}
.lp-sec.is-gold .tbl-note a{color:#16202B!important;
  text-decoration-color:rgba(22,32,43,.55)}
/* 中の白カードは従来どおり */
.lp-sec.is-gold .lps,.lp-sec.is-gold .lps *{color:var(--ink)}
.lp-sec.is-gold .lps .lps-q{color:var(--indigo-d)}

/* ============ 22. 中央揃え見出しの改行制御 ============
   日本語が単語途中で折れる／中黒が行頭に来るのを防ぐ */
.lp-sec .wrap>h2,.lp-sec h2.sub,.fcta h2,.pm-sec h2{
  word-break:keep-all;
  line-break:strict;
  text-wrap:balance;
  overflow-wrap:normal}
.lp-sec .wrap>.sec-eyebrow,.fcta .sec-eyebrow{text-wrap:nowrap}
/* リードは行頭のぶら下がりだけ整える（短い行が並ぶのを避ける） */
.lp-sec .sec-lead,.lp-hero .lp-lead{
  word-break:keep-all;
  line-break:strict;
  text-wrap:pretty;
  overflow-wrap:anywhere}
/* カード見出しも同様に */
.lp-sec .card h3,.strength-copy h3,.fw-step-b h3{
  word-break:keep-all;line-break:strict;text-wrap:balance}

/* ============ 23. 角丸の統一 ============
   元サイトの主流は10px前後。面は控えめに10pxで揃え、
   ボタン類だけしっかり丸める。 */
:root{
  --radius:10px;   /* 面・カード共通 */
  --rad:10px;
  --rad-l:10px;
  --rad-in:8px;    /* 面の内側にある要素 */
  --rad-btn:999px; /* ボタン */
}

/* --- 面（カード・パネル・表・開閉・目次） --- */
.lp-sec .card,
.case .c,
.strength-list,
.lp-tile,
.tbl,
.lp-fold,
.lp-sec .toc,
.fw-step,
.pm-card,
.lp-sec.is-gold .lps,
.hub-tbl,
.tbl-scroll{border-radius:var(--radius)!important}
.strength-panel{border-radius:var(--radius)!important}

/* --- 面の内側（写真・小チップ） --- */
.fw-step .fw-step-ph,
.fw-step .fw-step-ph img,
.case .c img,
.lp-sec .card img{border-radius:var(--rad-in)!important}
.fw-sum,.fw-role,.pm-chip{border-radius:6px!important}

/* --- ボタンはしっかり丸める --- */
.cta,
.btn-gold,
.hero-actions,
.lp-cta,
.lp-badges span,
.fw-dur,
.lps-opts button,
.lps-opts label,
.lps-cta a,
.fcta .fc-btn{border-radius:var(--rad-btn)!important}

/* --- 円形のものはそのまま --- */
.fw-no,.pm-badge,.lp-cta .ic,.cta .ar{border-radius:50%!important}
.fw-no{border-radius:var(--rad-btn)!important}

/* REASON：REASONを上・数字を下に */
.strength-label .number{flex-direction:column;align-items:center;gap:0}
.strength-label .number small{
  margin:0 0 .3rem!important;font-size:14px!important;
  letter-spacing:.22em;color:var(--muted);white-space:nowrap;line-height:1}
.is-invert .strength-label .number small{color:rgba(244,243,238,.72)}
.strength-label .number strong{
  font-family:'Shippori Mincho',serif;
  font-size:clamp(2.6rem,2rem + 2vw,4rem);font-weight:700;
  color:var(--gold);letter-spacing:.02em;line-height:1}
.is-invert .strength-label .number strong{color:var(--gold-l)}

/* ============ 24. イラスト（Adobe Stock カンプ） ============ */
.card-il{display:block;width:100%;max-width:210px;height:auto;margin:0 auto 14px;
  border-radius:var(--rad-in);mix-blend-mode:multiply}
.sec-il{display:block;width:100%;max-width:560px;height:auto;
  margin:6px auto 30px;border-radius:var(--rad-in);mix-blend-mode:multiply}
@media (max-width:640px){
  .card-il{max-width:170px}
  .sec-il{max-width:100%}
}

/* ============ 25. 開閉の＋／− をSVGで描画（文字だと中心がずれるため） ============ */
.lp-fold>summary::after{
  content:""!important;
  flex:none;width:34px;height:34px;box-sizing:border-box;
  border:2px solid var(--gold);border-radius:50%;
  background-color:transparent;
  background-repeat:no-repeat;background-position:center;background-size:14px 14px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A98F52' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
  padding:0;font-size:0;line-height:0;text-indent:0;
  transition:background-image .12s}
.lp-fold[open]>summary::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A98F52' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E")}

/* ============ 26. FAQの右余白 ============
   .faq-a に max-width:46em が効いて右が139px余っていた */
.lp-fold .fb .faq-a,
.lp-sec .faq-a{max-width:none!important}

/* ============ 27. COLUMNセクションの体裁を揃える ============
   元マークアップに lp-sec クラスが無く、見出しが左寄せのままだった */
section.bg-paper2:not(.lp-sec){padding-block:var(--section-space);background:var(--paper2)}
section.bg-paper2:not(.lp-sec)>.wrap{max-width:var(--content);padding-inline:var(--gutter)}
section.bg-paper2:not(.lp-sec) .sec-eyebrow{
  display:block;text-align:center;font-family:'Shippori Mincho',serif;font-weight:600;
  font-size:clamp(1rem,1rem + 1.35vw,2.5rem);line-height:1;letter-spacing:.1em;
  margin:0 0 clamp(14px,1.6vw,24px);text-transform:uppercase;
  background:linear-gradient(90deg,var(--indigo-d) 0%,var(--gold) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
section.bg-paper2:not(.lp-sec)>.wrap>svg.pic{margin:0 auto clamp(12px,1.4vw,18px)}
section.bg-paper2:not(.lp-sec) h2{
  text-align:center;font-family:'Shippori Mincho',serif;
  font-size:clamp(20px,1.3rem + .6vw,27px)!important;font-weight:700;
  line-height:1.7;letter-spacing:.1em;color:var(--indigo-d);
  margin:0 0 var(--heading-gap);padding-left:0;
  word-break:keep-all;line-break:strict;text-wrap:balance}
section.bg-paper2:not(.lp-sec) h2::before{display:none}

/* ============ 28. 関連記事カード ============
   県によって1〜3本と本数が変わるので、中央寄せの自動折り返しにする */
.post-grid{display:grid;gap:var(--grid-gap);justify-content:center;
  grid-template-columns:repeat(auto-fit,minmax(260px,340px))}
.post{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;box-shadow:0 2px 8px rgba(30,38,48,.07);
  transition:box-shadow .2s,transform .2s;text-decoration:none}
.post:hover{box-shadow:0 10px 26px rgba(30,38,48,.12);transform:translateY(-2px)}
.post .body{padding:22px 22px 20px}
.post .cat{font-size:14px!important;letter-spacing:.06em;color:var(--gold);font-weight:700;margin-bottom:10px}
.post h3{font-family:'Shippori Mincho',serif;font-size:17px;font-weight:700;
  color:var(--indigo-d);line-height:1.6;margin:0 0 12px;
  word-break:keep-all;line-break:strict;text-wrap:balance}
.post .date{font-size:14px!important;color:var(--muted)}

/* ============ 29. キービジュアル：文字と写真を分離する ============
   写真に幕をかける方式では、濃くすると写真が消え、薄くすると文字が読めない。
   文字は濃紺のベタ面に置き、写真は右側に独立させて境目をぼかす。 */
.lp-hero{background:var(--indigo-d);overflow:hidden}

.lp-hero .bg{
  left:auto;right:0;
  width:min(54%,860px);height:100%;
  object-fit:cover;object-position:center 42%;
  opacity:1!important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.25) 12%,#000 46%);
  mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.25) 12%,#000 46%)}

/* 幕は写真側だけに薄くかける（文字側は無地の濃紺） */
.lp-hero::before{
  background:linear-gradient(90deg,
    var(--indigo-d) 0%,
    var(--indigo-d) 40%,
    rgba(34,48,63,.45) 62%,
    rgba(34,48,63,.12) 100%)!important}

/* 文字は左カラムに収める */
.lp-hero .wrap>*{max-width:min(58%,660px)}
.lp-hero .lp-ctas{max-width:none}
/* 影は不要になったので消す（無地の上なのでかえって濁る） */
.lp-hero h1,.lp-hero .lp-lead,.lp-price b,.lp-price span{text-shadow:none!important}

@media (max-width:900px){
  /* 写真を上の帯にして、文字は下の濃紺面へ */
  .lp-hero{display:flex;flex-direction:column}
  .lp-hero .bg{position:relative;right:auto;width:100%;height:clamp(180px,34vw,280px);
    -webkit-mask-image:none;mask-image:none;object-position:center 45%}
  .lp-hero::before{display:none}
  .lp-hero .wrap{padding-top:clamp(28px,6vw,44px)}
  .lp-hero .wrap>*{max-width:none}
}

/* KV微調整：文字領域を確実に無地の濃紺にする */
.lp-hero .bg{
  width:min(50%,820px);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.18) 20%,#000 54%);
  mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.18) 20%,#000 54%)}
.lp-hero::before{
  background:linear-gradient(90deg,
    var(--indigo-d) 0%,
    var(--indigo-d) 47%,
    rgba(34,48,63,.42) 66%,
    rgba(34,48,63,.10) 100%)!important}
.lp-hero .wrap>*{max-width:min(51%,600px)}
.lp-hero .lp-lead{font-size:16px!important;line-height:1.95!important}
@media (max-width:900px){
  .lp-hero .bg{width:100%}
  .lp-hero .wrap>*{max-width:none}
}

/* KV：H1が1行に収まる幅を確保（「い」だけ折り返す事故を防ぐ） */
.lp-hero .wrap>*{max-width:min(56%,660px)}
.lp-hero h1{word-break:keep-all;line-break:strict;text-wrap:balance}
.lp-hero .lp-badges{max-width:min(58%,700px)}
@media (max-width:900px){
  .lp-hero .wrap>*,.lp-hero .lp-badges{max-width:none}
}

/* ============ 30. 実績タイル：数字の位置を4枚で揃える ============
   ラベルの行数が違っても数字の上端が揃うよう、行を共有させる */
.lp-tiles{grid-template-rows:auto auto auto;align-items:stretch}
.lp-tile{display:grid;grid-template-rows:subgrid;grid-row:span 3;
  align-content:start;row-gap:0}
.lp-tile>small{margin:0;align-self:start}
.lp-tile>b{margin:10px 0 8px;align-self:center}
.lp-tile>.src{align-self:start}

/* subgrid が効かない環境向けの保険（ラベル2行分を確保） */
@supports not (grid-template-rows: subgrid){
  .lp-tile{display:flex;flex-direction:column}
  .lp-tile>small{min-height:calc(1.55em * 2)}
  .lp-tile>.src{margin-top:auto}
}

/* 数字まわりの体裁 */
.lp-tile>b{font-family:'Shippori Mincho',serif;line-height:1.05;
  color:var(--indigo-d);white-space:nowrap}
.lp-tile>b em{font-style:normal;font-size:.36em;margin-left:4px;color:var(--gold);
  letter-spacing:.04em}
.lp-tile>small{color:var(--muted);letter-spacing:.02em}
.lp-tile>.src{color:#8b8578;font-size:14px!important;line-height:1.5}

/* ============ 31. キービジュアル（明るい写真版） ============
   写真が明るく穏やかなので、左を白く飛ばして濃紺の文字を載せる。
   右はほぼ素通しにして写真をそのまま見せる。 */
.lp-hero{background:#EDEAE2}
.lp-hero .bg{
  position:absolute;inset:0;left:0;right:0;
  width:100%;height:100%;
  object-fit:cover;object-position:62% 50%;
  opacity:1!important;
  -webkit-mask-image:none!important;mask-image:none!important}

/* 左だけ白いベールをかける。右端はほぼ透明 */
.lp-hero::before{
  background:linear-gradient(100deg,
    rgba(252,251,248,.97) 0%,
    rgba(252,251,248,.95) 30%,
    rgba(252,251,248,.80) 46%,
    rgba(252,251,248,.34) 62%,
    rgba(252,251,248,.06) 80%,
    rgba(252,251,248,0)   100%)!important}

/* 文字は濃紺に反転 */
.lp-hero .sec-eyebrow{
  color:var(--gold)!important;-webkit-text-fill-color:var(--gold)!important}
.lp-hero h1{color:var(--indigo-d)!important;text-shadow:none!important}
.lp-hero .lp-lead{color:var(--muted)!important;text-shadow:none!important}
.lp-hero .lp-lead a{color:var(--indigo)!important;border-bottom-color:var(--gold)}
.lp-price b{color:#8C7436!important;-webkit-text-fill-color:#8C7436!important;text-shadow:none!important}
.lp-price b small{color:#8C7436!important}
.lp-price span{color:var(--muted)!important;text-shadow:none!important}
.lp-badges span{
  color:var(--indigo-d)!important;
  border-color:rgba(169,143,82,.85)!important;
  background:rgba(255,255,255,.72)!important}

/* CTAバーは紺のまま（下に重なるので締まりが出る） */
@media (max-width:900px){
  .lp-hero{display:block}
  .lp-hero .bg{position:absolute;width:100%;height:100%;object-position:68% 50%}
  .lp-hero::before{display:block!important;
    background:linear-gradient(180deg,
      rgba(252,251,248,.92) 0%,
      rgba(252,251,248,.90) 52%,
      rgba(252,251,248,.55) 78%,
      rgba(252,251,248,.25) 100%)!important}
  .lp-hero .wrap{padding-top:clamp(40px,9vw,64px);padding-bottom:clamp(44px,9vw,72px)}
}

/* KV：重なり順を明示（写真 → ベール → 文字） */
.lp-hero .bg{z-index:0!important}
.lp-hero::before{z-index:1!important}
.lp-hero .wrap{position:relative;z-index:2!important}
.lp-hero .lp-tiles{position:relative;z-index:2}

/* ============ 32. キービジュアル：濃い茶系ゴールドのベール ============
   写真の左が濃い緑・影なので、暗いベールをかけて白文字を載せる。
   紺はやめて、和の温かみが出る焦茶〜ブロンズ系にする。 */
:root{
  --kv-veil:52,41,23;        /* #34291 7 濃い焦茶 */
  --kv-veil-2:70,55,31;      /* #46371F ブロンズ寄り */
}
.lp-hero{background:#34291 7}
.lp-hero{background:rgb(var(--kv-veil))}
.lp-hero .bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:58% 52%;
  opacity:1!important;z-index:0!important;
  -webkit-mask-image:none!important;mask-image:none!important}

/* 左は濃く、右端はほぼ素通し */
.lp-hero::before{
  z-index:1!important;
  background:linear-gradient(100deg,
    rgba(var(--kv-veil),.95)   0%,
    rgba(var(--kv-veil),.92)  28%,
    rgba(var(--kv-veil-2),.78) 45%,
    rgba(var(--kv-veil-2),.42) 62%,
    rgba(var(--kv-veil-2),.12) 80%,
    rgba(var(--kv-veil-2),0)  100%)!important}

/* 文字は白・金に戻す */
.lp-hero .wrap{position:relative;z-index:2!important}
.lp-hero .sec-eyebrow{
  color:#E8CF8A!important;-webkit-text-fill-color:#E8CF8A!important}
.lp-hero h1{color:#fff!important;text-shadow:none!important}
.lp-hero .lp-lead{color:rgba(248,245,238,.92)!important;text-shadow:none!important}
.lp-hero .lp-lead a{color:#fff!important;border-bottom-color:#E8CF8A}
.lp-price b,.lp-price b small{
  color:#EBD49A!important;-webkit-text-fill-color:#EBD49A!important;text-shadow:none!important}
.lp-price span{color:rgba(248,245,238,.88)!important;text-shadow:none!important}
.lp-badges span{
  color:#fff!important;
  border-color:rgba(235,212,154,.8)!important;
  background:rgba(255,255,255,.08)!important}

@media (max-width:900px){
  .lp-hero::before{
    background:linear-gradient(180deg,
      rgba(var(--kv-veil),.90)   0%,
      rgba(var(--kv-veil),.86)  50%,
      rgba(var(--kv-veil-2),.62) 78%,
      rgba(var(--kv-veil-2),.38) 100%)!important}
}

/* ============ 33. KV：写真の拡大・英字削除・県シルエット ============ */

/* (1) 墓石（右寄り）を中心に110%拡大 */
.lp-hero .bg{
  transform:scale(1.10);
  transform-origin:74% 55%;
  will-change:transform}

/* (2) 「AREA」の英字ラベルを非表示 */
.lp-hero .sec-eyebrow{display:none!important}

/* (3) その分テキストを上へ */
.lp-hero .wrap{
  padding-top:clamp(52px,6vw,82px)!important;
  padding-bottom:clamp(74px,8vw,108px)!important}
.lp-hero h1{margin-top:0}

/* (4) 右側に県のシルエット（塗り） */
.kv-pref{
  position:absolute;z-index:1;pointer-events:none;
  right:clamp(8px,4vw,86px);
  top:50%;transform:translateY(-50%);
  height:min(86%,560px);width:auto;
  fill:rgba(235,212,154,.26);
  filter:drop-shadow(0 6px 24px rgba(30,22,8,.28))}

@media (max-width:900px){
  .lp-hero .bg{transform:scale(1.10);transform-origin:70% 52%}
  .kv-pref{right:-6%;top:auto;bottom:-4%;transform:none;
    height:min(56%,320px);fill:rgba(235,212,154,.18)}
  .lp-hero .wrap{padding-top:clamp(36px,8vw,56px)!important}
}

/* KV県シルエット：右に寄せて、はっきり見えるように */
.kv-pref{
  right:clamp(-10px,1vw,24px)!important;
  height:min(92%,600px)!important;
  fill:rgba(240,220,166,.46)!important;
  filter:drop-shadow(0 8px 26px rgba(28,20,6,.45))!important;
  mix-blend-mode:screen}
/* 文字と重ならないよう、文字側の幅を少し詰める */
.lp-hero .wrap>*{max-width:min(50%,560px)}
.lp-hero .lp-badges{max-width:min(52%,580px)}
@media (max-width:900px){
  .kv-pref{right:-8%!important;height:min(58%,330px)!important;
    fill:rgba(240,220,166,.30)!important;mix-blend-mode:normal}
  .lp-hero .wrap>*,.lp-hero .lp-badges{max-width:none}
}

/* KV県シルエット：右3分の1に収める（文字に被らせない） */
.kv-pref{
  mix-blend-mode:normal!important;
  height:auto!important;
  width:min(34%,360px)!important;
  right:clamp(12px,3vw,56px)!important;
  top:50%!important;transform:translateY(-50%)!important;
  fill:rgba(240,220,166,.40)!important;
  filter:drop-shadow(0 8px 22px rgba(28,20,6,.40))!important}
/* 文字の幅を戻す */
.lp-hero .wrap>*{max-width:min(56%,620px)}
.lp-hero .lp-badges{max-width:min(60%,660px)}
@media (max-width:900px){
  .kv-pref{width:min(46%,260px)!important;right:-4%!important;
    top:auto!important;bottom:2%!important;transform:none!important;
    fill:rgba(240,220,166,.26)!important}
  .lp-hero .wrap>*,.lp-hero .lp-badges{max-width:none}
}

/* KV県シルエット：画面の右端に寄せる */
.kv-pref{
  right:0!important;
  width:min(36%,420px)!important;
  fill:rgba(240,220,166,.42)!important}
@media (max-width:900px){
  .kv-pref{right:0!important;width:min(48%,280px)!important}
}

/* KV県シルエット：左端へ。文字の背面に敷く透かしとして薄める */
.kv-pref{
  left:0!important;right:auto!important;
  width:min(38%,440px)!important;
  fill:rgba(240,220,166,.20)!important;
  filter:none!important}
/* 文字幅の制限を解除（左が透かしになったので） */
.lp-hero .wrap>*{max-width:min(58%,660px)}
.lp-hero .lp-badges{max-width:min(62%,700px)}
@media (max-width:900px){
  .kv-pref{left:-6%!important;right:auto!important;
    width:min(52%,300px)!important;fill:rgba(240,220,166,.16)!important}
  .lp-hero .wrap>*,.lp-hero .lp-badges{max-width:none}
}

/* ============ 34. KV県シルエット：テキスト群の中央に敷く ============ */
.lp-hero .wrap{position:relative;z-index:2}
.kv-pref{
  position:absolute!important;
  left:min(29%,330px)!important;   /* テキスト列(最大58%/660px)の中央 */
  right:auto!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:min(44%,506px)!important;  /* 直前の115% */
  height:auto!important;
  z-index:-1!important;            /* 文字の背面へ */
  fill:rgba(240,220,166,.20)!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  pointer-events:none}
@media (max-width:900px){
  .kv-pref{left:50%!important;width:min(62%,340px)!important;
    fill:rgba(240,220,166,.15)!important}
}

/* KV県シルエット：テキスト群の中心にぴったり合わせる
   left は .wrap の padding box 基準、子要素の % は content box 基準なので
   左paddingの半分だけ右へ寄せる */
.kv-pref{
  left:calc(min(29%,330px) + var(--gutter)/2)!important;
  top:calc(50% - 10px)!important}
@media (max-width:900px){
  .kv-pref{left:50%!important;top:50%!important}
}

/* ============ 35. KV：写真はそのまま、テキストを円でトリミング ============
   全面の幕をやめる。テキストは円形の面（生成り）の上に置いて可読性を確保。 */

/* 写真に色をかぶせない */
.lp-hero .bg{opacity:1!important;filter:none!important}

/* ::before を「幕」から「円」に作り替える */
.lp-hero::before{
  content:"";
  inset:auto!important;
  left:calc(min(29%,330px) + var(--gutter)/2)!important;
  top:calc(50% - 10px)!important;
  transform:translate(-50%,-50%)!important;
  width:min(96vh,720px)!important;
  height:min(96vh,720px)!important;
  border-radius:50%!important;
  background:rgba(250,246,238,.94)!important;
  box-shadow:0 18px 60px rgba(40,30,14,.28)!important;
  z-index:1!important}

/* 文字は濃い茶に反転 */
.lp-hero .wrap{position:relative;z-index:2}
.lp-hero h1{color:#33281 5!important}
.lp-hero h1{color:#332815!important;text-shadow:none!important}
.lp-hero .lp-lead{color:#4A3D26!important;text-shadow:none!important}
.lp-hero .lp-lead a{color:#6B5524!important;border-bottom-color:#A98F52}
.lp-price b,.lp-price b small{
  color:#8A6F2E!important;-webkit-text-fill-color:#8A6F2E!important;text-shadow:none!important}
.lp-price span{color:#5A4A2E!important;text-shadow:none!important}
.lp-badges span{
  color:#3A2E18!important;
  border-color:rgba(138,111,46,.55)!important;
  background:rgba(255,255,255,.55)!important}

/* 県のシルエットは円の中の透かしに */
.kv-pref{
  fill:rgba(138,111,46,.13)!important;
  width:min(40%,460px)!important}

@media (max-width:900px){
  .lp-hero::before{
    left:50%!important;top:50%!important;
    width:min(132vw,620px)!important;height:min(132vw,620px)!important;
    background:rgba(250,246,238,.95)!important}
  .kv-pref{width:min(58%,320px)!important}
}

/* KV円：地図の中心のまま150%に拡大（720px → 1080px） */
.lp-hero::before{
  width:min(150vh,1080px)!important;
  height:min(150vh,1080px)!important}
@media (max-width:900px){
  .lp-hero::before{width:min(190vw,900px)!important;height:min(190vw,900px)!important}
}

/* ============ 36. A案：テキスト幅+50px／地図を指定サイズへ戻す ============ */
/* テキスト列を右へ50px広げる（58% → 63%） */
.lp-hero .wrap>*{max-width:min(63%,710px)!important}
.lp-hero .lp-badges{max-width:min(66%,745px)!important}
.lp-hero .lp-price{grid-template-columns:max-content max-content!important;
  gap:2px 20px!important;max-width:min(63%,710px)!important}
.lp-hero .lp-price b{font-size:clamp(2.2rem,1.5rem + 3.4vw,3.8rem)!important}
.lp-hero .lp-price span{font-size:14.5px!important;white-space:nowrap!important;
  align-self:baseline;margin-bottom:0}
.lp-hero .lp-lead{max-width:min(63%,710px)!important;font-size:16px!important;line-height:1.95!important}
.lp-hero h1{font-size:clamp(2rem,1.4rem + 3.4vw,3.6rem)!important}

/* 地図を指定サイズ（444px相当）に戻す */
.kv-pref{width:min(44%,506px)!important;fill:rgba(138,111,46,.13)!important}

/* 円と地図の中心を、広がったテキスト列の中心に合わせる（63%の半分=31.5%） */
.lp-hero::before{left:calc(min(31.5%,355px) + var(--gutter)/2)!important}
.kv-pref{left:calc(min(31.5%,355px) + var(--gutter)/2)!important}

@media (max-width:900px){
  .lp-hero .wrap>*,.lp-hero .lp-badges,.lp-hero .lp-price,.lp-hero .lp-lead{max-width:none!important}
  .lp-hero::before,.kv-pref{left:50%!important}
}

/* ============ 37. SIMULATOR：黄土色の上は白文字 ============
   白文字が読めるよう、黄土色を一段深くする（白との比 4.6:1以上を確保） */
section.lp-sec.is-gold,
.lp-sec.is-gold:not(.bg-white):not(.bg-paper2){
  background:linear-gradient(100deg,#6B5A29 0%,#7A672F 42%,#8A7436 100%)!important}

/* 黄土色の上に直接乗る文字を白に */
.lp-sec.is-gold .wrap>.sec-eyebrow{
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.82) 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  -webkit-text-fill-color:transparent!important;color:transparent!important}
.lp-sec.is-gold h2,.lp-sec.is-gold h2.sub{color:#fff!important}
.lp-sec.is-gold .sec-lead{color:rgba(255,255,255,.93)!important}
.lp-sec.is-gold svg.pic{stroke:#fff!important}

/* 白カードの中は従来どおり濃色。ただし選択中のチップは白文字のまま残す */
.lp-sec.is-gold .lps,
.lp-sec.is-gold .lps *:not(input:checked + span){color:var(--ink)}
.lp-sec.is-gold .lps .lps-opts input:checked + span{
  background:var(--indigo)!important;
  border-color:var(--indigo)!important;
  color:#fff!important}
.lp-sec.is-gold .lps .lps-q > b{color:var(--indigo-d)}

/* ============ 38. PRICE：表の1行目を22px・中央揃え ============ */
.lp-sec .tbl thead th,
.lp-sec .tbl tr:first-child th{
  font-size:22px!important;
  text-align:center!important;
  line-height:1.5;
  padding-block:18px}
.lp-sec .tbl thead th small,
.lp-sec .tbl tr:first-child th small{
  display:block;font-size:14px!important;font-weight:400;
  margin-top:4px;color:rgba(255,255,255,.82)}

/* ============ 39. REASON / STEP のラベル書式を統一 ============
   REASON：ゴールド・1段太く（400→500）。同じ書式をSTEPにも適用。 */
.strength-label .number small,
.fw-no{
  font-family:'Shippori Mincho',serif!important;
  font-weight:500!important;
  letter-spacing:.22em!important}

.strength-label .number small{
  color:var(--gold)!important;
  font-size:14px!important}
.is-invert .strength-label .number small{color:var(--gold-l)!important}

/* STEPバッジ：「STEP」の文字を同じ書式・金色に、数字は白のまま */
.fw-no{font-size:14px!important;color:var(--gold-l)!important}
.fw-no em{
  font-family:'Shippori Mincho',serif;
  font-weight:700;font-size:1.8rem;letter-spacing:.02em;
  color:#fff!important;display:block;margin-top:2px}

/* ============ 40. MODEL CASE：写真とテキスト位置を揃える ============
   写真が 298×360 に潰れ、4枚目だけラベルが1行で位置がずれていた */
.lp-hscroll{align-items:stretch}
.lp-hc{display:flex;flex-direction:column;
  background:#fff;border-radius:var(--radius);overflow:hidden;
  box-shadow:0 2px 8px rgba(30,38,48,.07)}
.lp-hc > img{
  width:100%!important;height:auto!important;
  aspect-ratio:16/9;object-fit:cover;display:block;
  border-radius:0!important}
.lp-hc .lp-hc-b{display:flex;flex-direction:column;flex:1;padding:20px 20px 18px}

/* ラベルと見出しの行数差を吸収して、金額・内訳の高さを揃える */
.lp-hc .ck{
  min-height:calc(1.6em * 2);
  display:flex;align-items:flex-start;
  margin-bottom:8px}
.lp-hc h3{
  min-height:calc(1.62em * 2);
  font-family:'Shippori Mincho',serif;font-size:16px!important;
  font-weight:700;line-height:1.62;color:var(--indigo-d);
  margin:0 0 10px;word-break:keep-all;line-break:strict}
.lp-hc .lp-hc-price{margin:0 0 10px}
.lp-hc ul{margin-top:auto}

/* ============ 41. TIPS のイラスト ============ */
.tips-il{
  display:block;width:min(46%,340px);height:auto;
  margin:-6px auto clamp(24px,3vw,38px);
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.35))}
@media (max-width:640px){.tips-il{width:min(70%,260px)}}

/* ============ 42. TIPS：各項目の左にアイコン ============ */
.lp-tips{list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(2,1fr);gap:var(--grid-gap)}
.lp-tips li{
  display:grid;grid-template-columns:44px 1fr;
  column-gap:16px;row-gap:4px;align-items:start;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(232,207,138,.20);
  border-radius:var(--radius);
  padding:20px 22px}
.tip-ic{
  grid-row:1 / span 2;
  width:44px;height:44px;flex:none;
  fill:none;stroke:var(--gold-l);stroke-width:1.3;
  stroke-linecap:round;stroke-linejoin:round}
.lp-tips li > b{
  font-family:'Shippori Mincho',serif;font-size:17px;font-weight:700;
  color:#fff;line-height:1.55;letter-spacing:.03em;
  word-break:keep-all;line-break:strict}
.lp-tips li > p{
  font-size:14px!important;line-height:1.85;
  color:rgba(244,243,238,.82)!important;margin:0;text-align:left!important}
@media (max-width:820px){
  .lp-tips{grid-template-columns:1fr}
  .lp-tips li{grid-template-columns:36px 1fr;column-gap:12px;padding:16px 16px}
  .tip-ic{width:36px;height:36px}
}

/* ============ 43. AREA DATA：残りの右余白 ============ */
/* (1) 早見表のカードが3列固定で、項目数が少ないと右に空列ができていた */
.lp-fold .fb .case,
.lp-sec .case{
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important}

/* (2) 開閉の中の段落に max-width:46em が残っていた */
.lp-fold .fb p,
.lp-fold .fb li,
.lp-fold .fb .prose p,
.lp-fold .fb .answer-box,
.lp-fold .fb .kotae{max-width:none!important}

/* ============ 44. KV写真：人物とお墓が両方入るように ============
   新しい写真（家族3人が左寄り・墓石が右）。円の右側の見える範囲に
   両方が収まるよう、拡大を控えめにして左側（人物）を寄せる。 */
.lp-hero .bg{
  transform:scale(1.02)!important;
  transform-origin:58% 52%!important;
  object-position:56% 56%!important}
@media (max-width:900px){
  .lp-hero .bg{transform:scale(1.04)!important;
    transform-origin:52% 50%!important;
    object-position:50% 52%!important}
}

/* KV写真：人物（左寄り）を円の外＝右側の見える範囲へ送り出す */
.lp-hero .bg{
  transform:scale(1.34)!important;
  transform-origin:100% 56%!important;
  object-position:34% 58%!important}
@media (max-width:900px){
  .lp-hero .bg{transform:scale(1.02)!important;
    transform-origin:50% 50%!important;
    object-position:46% 54%!important}
}

/* KV写真：拡大を戻し、人物〜墓石が右の可視域に来るよう調整 */
.lp-hero .bg{
  transform:none!important;
  object-position:64% 62%!important}
/* 円をやや小さく・左に寄せて、写真の見える幅を確保する */
.lp-hero::before{
  width:min(118vh,880px)!important;
  height:min(118vh,880px)!important;
  left:calc(min(26%,300px) + var(--gutter)/2)!important}
.kv-pref{left:calc(min(26%,300px) + var(--gutter)/2)!important;
  width:min(38%,430px)!important}
.lp-hero .wrap>*{max-width:min(50%,560px)!important}
.lp-hero .lp-badges{max-width:min(52%,580px)!important}
@media (max-width:900px){
  .lp-hero .bg{object-position:52% 56%!important}
  .lp-hero::before{left:50%!important;width:min(132vw,620px)!important;height:min(132vw,620px)!important}
  .kv-pref{left:50%!important;width:min(58%,320px)!important}
  .lp-hero .wrap>*,.lp-hero .lp-badges{max-width:none!important}
}

/* ============ 45. KV：写真を右側の独立枠にして人物＋墓石を両方見せる ============
   全面配置だと円に覆われて可視域が狭く、人物が入らないため枠を分ける */
.lp-hero{background:#FAF6EE!important}
.lp-hero .bg{
  position:absolute!important;
  left:auto!important;right:0!important;top:0!important;
  width:min(54%,780px)!important;height:100%!important;
  object-fit:cover!important;
  object-position:42% 60%!important;
  transform:none!important;z-index:0!important}
/* 円は写真の左端に少し重ねる */
.lp-hero::before{
  width:min(112vh,840px)!important;height:min(112vh,840px)!important;
  left:calc(min(24%,285px) + var(--gutter)/2)!important;
  background:rgba(250,246,238,.96)!important}
.kv-pref{left:calc(min(24%,285px) + var(--gutter)/2)!important;
  width:min(36%,400px)!important}
.lp-hero .wrap>*{max-width:min(46%,520px)!important}
.lp-hero .lp-badges{max-width:min(48%,540px)!important}
@media (max-width:900px){
  .lp-hero .bg{position:relative!important;right:auto!important;
    width:100%!important;height:clamp(200px,38vw,300px)!important;
    object-position:50% 58%!important}
  .lp-hero::before{display:none!important}
  .lp-hero .wrap>*,.lp-hero .lp-badges{max-width:none!important}
  .kv-pref{left:50%!important;width:min(58%,320px)!important}
}

/* ============ 46. KV：写真を丸でトリミング ============
   背景は生成り一色。写真は右側の円の中だけに見せる。 */
.lp-hero{background:#FAF6EE!important;overflow:hidden}

/* テキストを囲んでいた円は不要 */
.lp-hero::before{display:none!important}

/* 写真そのものを円形に切り抜く */
.lp-hero .bg{
  position:absolute!important;
  left:auto!important;right:0!important;top:50%!important;
  transform:translateY(-50%)!important;
  width:min(62vw,660px)!important;
  height:min(62vw,660px)!important;
  border-radius:50%!important;
  object-fit:cover!important;
  object-position:44% 58%!important;
  z-index:1!important;
  box-shadow:0 18px 50px rgba(60,44,18,.20)!important;
  -webkit-mask-image:none!important;mask-image:none!important}

/* 円のふちに淡いリング */
.lp-hero::after{
  content:"";position:absolute;z-index:2;pointer-events:none;
  right:0;top:50%;transform:translateY(-50%);
  width:min(62vw,660px);height:min(62vw,660px);
  border-radius:50%;
  box-shadow:inset 0 0 0 1px rgba(138,111,46,.22)}

/* 文字は生成りの上に直接（濃い茶） */
.lp-hero .wrap{position:relative;z-index:3}
.lp-hero .wrap>*{max-width:min(50%,560px)!important}
.lp-hero .lp-badges{max-width:min(52%,580px)!important}
.lp-hero h1{color:#332815!important}
.lp-hero .lp-lead{color:#4A3D26!important}
.lp-price b,.lp-price b small{color:#8A6F2E!important;-webkit-text-fill-color:#8A6F2E!important}
.lp-price span{color:#5A4A2E!important}
.lp-badges span{color:#3A2E18!important;
  border-color:rgba(138,111,46,.5)!important;
  background:rgba(255,255,255,.62)!important}

/* 県のシルエットは文字の背面の透かし */
.kv-pref{
  left:calc(min(25%,290px) + var(--gutter)/2)!important;
  width:min(38%,430px)!important;
  fill:rgba(138,111,46,.11)!important}

@media (max-width:900px){
  .lp-hero .bg{
    position:relative!important;right:auto!important;top:auto!important;
    transform:none!important;margin:0 auto;display:block;
    width:min(72vw,300px)!important;height:min(72vw,300px)!important;
    object-position:46% 58%!important}
  .lp-hero::after{display:none!important}
  .lp-hero .wrap{padding-top:clamp(24px,5vw,36px)!important}
  .lp-hero .wrap>*,.lp-hero .lp-badges{max-width:none!important}
  .kv-pref{left:50%!important;width:min(58%,320px)!important}
}

/* KV円：文字に被らない大きさ・位置へ */
.lp-hero .bg,
.lp-hero::after{
  width:min(46vw,540px)!important;
  height:min(46vw,540px)!important;
  right:clamp(12px,3vw,60px)!important}
.lp-hero .bg{object-position:46% 58%!important}
.lp-hero .wrap>*{max-width:min(44%,500px)!important}
.lp-hero .lp-badges{max-width:min(46%,520px)!important}
.kv-pref{left:calc(min(22%,250px) + var(--gutter)/2)!important;
  width:min(34%,380px)!important}
@media (max-width:900px){
  .lp-hero .bg{width:min(72vw,300px)!important;height:min(72vw,300px)!important;right:auto!important}
  .lp-hero .wrap>*,.lp-hero .lp-badges{max-width:none!important}
  .kv-pref{left:50%!important;width:min(58%,320px)!important}
}

/* ============ 47. KV：影を外し、県の地図を大きく ============ */
/* 写真の円まわりの影・リングを削除 */
.lp-hero .bg{box-shadow:none!important}
.lp-hero::after{display:none!important}

/* 県のシルエットを大きく */
.kv-pref{
  width:min(52%,600px)!important;
  left:calc(min(22%,250px) + var(--gutter)/2)!important;
  fill:rgba(138,111,46,.12)!important}
@media (max-width:900px){
  .kv-pref{left:50%!important;width:min(70%,380px)!important}
}

/* ============ 48. RETURN（公営霊園 返還窓口）の表 ============
   PRICEは22pxのままにして、こちらは見出し18px・本文14px */
#madoguchi .tbl thead th,
#madoguchi .tbl tr:first-child th,
#madoguchi .hub-tbl th,
#madoguchi table th{
  font-size:18px!important;
  text-align:left!important;
  line-height:1.55;
  padding-block:14px}
#madoguchi .tbl td,
#madoguchi .hub-tbl td,
#madoguchi table td{
  font-size:14px!important;line-height:1.8}
#madoguchi .tbl thead th small,
#madoguchi table th small{font-size:14px!important;font-weight:400}

/* ============ 49. TIPS：地域タグ(.tg)を含む構成に対応 ============
   北海道は各項目に「苫小牧市」などのタグがあり、
   2カラムのグリッド指定で本文が欠けていた */
.lp-tips{list-style:none;margin:0;padding:0;
  display:grid!important;grid-template-columns:repeat(2,1fr)!important;
  gap:var(--grid-gap)!important}
.lp-tips li{
  display:block!important;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(232,207,138,.20);
  border-radius:var(--radius);
  padding:20px 22px!important}
.lp-tips li .tg{
  display:inline-block;margin:0 0 8px;
  font-size:14px!important;font-weight:700;letter-spacing:.08em;
  color:var(--indigo-d);background:var(--gold-l);
  border-radius:999px;padding:4px 12px;line-height:1.5}
.lp-tips li > b{
  display:block;margin:0 0 8px;
  font-family:'Shippori Mincho',serif;font-size:17px;font-weight:700;
  color:#fff;line-height:1.55;letter-spacing:.03em;
  word-break:keep-all;line-break:strict}
.lp-tips li > p{
  display:block!important;margin:0!important;
  font-size:14px!important;line-height:1.85;
  color:rgba(244,243,238,.85)!important;text-align:left!important}
@media (max-width:820px){
  .lp-tips{grid-template-columns:1fr!important}
  .lp-tips li{padding:16px 16px!important}
}

/* TIPS：アイコンを左に置き、タグ・見出し・本文と共存させる */
.lp-tips li{
  display:grid!important;
  grid-template-columns:40px 1fr!important;
  column-gap:16px!important;row-gap:0!important;
  align-items:start!important}
.tip-ic{
  grid-column:1;grid-row:1 / span 3;
  width:40px;height:40px;margin-top:2px;
  fill:none;stroke:var(--gold-l);stroke-width:1.3;
  stroke-linecap:round;stroke-linejoin:round}
.lp-tips li .tg,
.lp-tips li > b,
.lp-tips li > p{grid-column:2}
@media (max-width:820px){
  .lp-tips li{grid-template-columns:32px 1fr!important;column-gap:12px!important}
  .tip-ic{width:32px;height:32px}
}

/* TIPS：地域タグが横に伸びないよう幅を内容に合わせる */
.lp-tips li{grid-template-rows:auto auto 1fr!important}
.lp-tips li .tg{
  grid-row:1;justify-self:start!important;width:auto!important;
  max-width:max-content!important}
.lp-tips li > b{grid-row:2}
.lp-tips li > p{grid-row:3}

/* ============ 50. KV：写真の丸を大きく（佐賀のときと同じ規模へ） ============ */
.lp-hero .bg{
  width:min(84vh,900px)!important;
  height:min(84vh,900px)!important;
  right:clamp(-40px,-2vw,0px)!important;
  object-position:46% 58%!important}
/* 文字は丸に当たらない幅へ */
.lp-hero .wrap>*{max-width:min(42%,470px)!important}
.lp-hero .lp-badges{max-width:min(44%,490px)!important}
.kv-pref{
  left:calc(min(21%,235px) + var(--gutter)/2)!important;
  width:min(46%,520px)!important}
/* ヒーローに高さを持たせて丸が入りきるように */
.lp-hero .wrap{
  padding-top:clamp(64px,7vw,96px)!important;
  padding-bottom:clamp(80px,8vw,112px)!important;
  min-height:min(84vh,900px)!important;
  display:flex;flex-direction:column;justify-content:center}
@media (max-width:900px){
  .lp-hero .bg{width:min(72vw,300px)!important;height:min(72vw,300px)!important;right:auto!important}
  .lp-hero .wrap>*,.lp-hero .lp-badges{max-width:none!important}
  .lp-hero .wrap{min-height:0!important}
  .kv-pref{left:50%!important;width:min(58%,320px)!important}
}

/* KV：丸を大きく保ったまま、文字が被らないようサイズと幅を調整 */
.lp-hero .bg{
  width:min(78vh,820px)!important;
  height:min(78vh,820px)!important;
  right:clamp(-56px,-3vw,-12px)!important}
.lp-hero h1{font-size:clamp(1.8rem,1.2rem + 2.4vw,2.9rem)!important}
.lp-hero .lp-price{grid-template-columns:max-content!important;gap:0!important}
.lp-hero .lp-price b{font-size:clamp(1.9rem,1.3rem + 2.6vw,3rem)!important}
.lp-hero .lp-price span{font-size:13.5px!important;margin-bottom:8px;white-space:nowrap!important}
.lp-hero .wrap>*{max-width:min(38%,420px)!important}
.lp-hero .lp-badges{max-width:min(40%,440px)!important}
.lp-hero .lp-lead{font-size:15px!important;line-height:1.9!important}
.kv-pref{left:calc(min(19%,210px) + var(--gutter)/2)!important;
  width:min(42%,470px)!important}
@media (max-width:900px){
  .lp-hero .bg{width:min(72vw,300px)!important;height:min(72vw,300px)!important;right:auto!important}
  .lp-hero .lp-price{grid-template-columns:max-content max-content!important;gap:2px 18px!important}
  .lp-hero .wrap>*,.lp-hero .lp-badges{max-width:none!important}
  .kv-pref{left:50%!important;width:min(58%,320px)!important}
}

/* KV：丸を画面幅基準で大きくし、ヒーローの高さも追従させる */
:root{--kv-circle:min(58vw,880px)}
.lp-hero .bg{
  width:var(--kv-circle)!important;
  height:var(--kv-circle)!important;
  right:clamp(-70px,-4vw,-16px)!important}
.lp-hero .wrap{
  min-height:calc(var(--kv-circle) + 64px)!important}
.lp-hero .wrap>*{max-width:min(36%,400px)!important}
.lp-hero .lp-badges{max-width:min(38%,420px)!important}
.kv-pref{left:calc(min(18%,200px) + var(--gutter)/2)!important;
  width:min(40%,450px)!important}
@media (max-width:900px){
  :root{--kv-circle:min(72vw,300px)}
  .lp-hero .bg{right:auto!important}
  .lp-hero .wrap{min-height:0!important}
  .lp-hero .wrap>*,.lp-hero .lp-badges{max-width:none!important}
  .kv-pref{left:50%!important;width:min(58%,320px)!important}
}

/* ============ 51. KVのCTAアイコン ============ */
.lp-hero .lp-cta .ic svg,
.lp-cta .ic svg{width:22px;height:22px;stroke:none;fill:#fff}
.lp-cta.line .ic svg{fill:#fff}
.lp-cta .ic{font-size:0!important}

/* ============ 52. SIMULATORのリードを1行・中央揃え ============ */
.lp-sec.is-gold .sec-lead{
  text-align:center!important;
  max-width:none!important;
  white-space:nowrap!important;
  font-size:clamp(12px,1.06vw,15px)!important;
  margin-left:auto!important;margin-right:auto!important}
@media (max-width:900px){
  .lp-sec.is-gold .sec-lead{white-space:normal!important;font-size:14px!important}
}

/* ============ 53. 目立たせたい金額を渋めの赤に ============ */
.lp-hc-price,
.case .tot,
.lp-total b,
#lpsTotal{color:#A83A36!important}
.lp-hc-price small,
.case .tot small{color:#A83A36!important}
.lps-total b{color:#A83A36!important}

/* ============ 54. FLOW：写真下の余白を詰め、幅を写真に揃える ============ */
.fw-step .fw-step-ph{margin-bottom:-20px!important}
.fw-step .fw-step-b{
  padding-left:0!important;padding-right:0!important;
  padding-top:28px!important}
.fw-step{padding-left:1rem!important;padding-right:1rem!important}

/* ============ 55. KV：テキストを和紙の円で抜く（佐賀A案の形に戻す） ============
   写真は全面。テキストは和紙テクスチャの大きな円の中に置く。 */
.lp-hero{background:var(--indigo-d)!important;overflow:hidden}

/* 写真を全面に戻す */
.lp-hero .bg{
  position:absolute!important;inset:0!important;
  left:0!important;right:0!important;top:0!important;
  transform:none!important;
  width:100%!important;height:100%!important;
  border-radius:0!important;
  object-fit:cover!important;
  object-position:62% 56%!important;
  opacity:1!important;z-index:0!important;
  box-shadow:none!important;
  -webkit-mask-image:none!important;mask-image:none!important}

/* テキストを囲む和紙の円 */
.lp-hero::before{
  content:""!important;display:block!important;
  position:absolute!important;inset:auto!important;
  left:calc(min(31.5%,355px) + var(--gutter)/2)!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:min(150vh,1080px)!important;
  height:min(150vh,1080px)!important;
  border-radius:50%!important;
  background:#FAF6EE url("/assets/img/area/washi-1100.jpg") center/cover no-repeat!important;
  box-shadow:0 18px 60px rgba(40,30,14,.30)!important;
  z-index:1!important}
.lp-hero::after{display:none!important}

/* 文字は円の上（濃い茶） */
.lp-hero .wrap{position:relative;z-index:2!important;min-height:0!important;
  padding-top:clamp(56px,6vw,88px)!important;
  padding-bottom:clamp(76px,8vw,112px)!important}
.lp-hero .wrap>*{max-width:min(56%,620px)!important}
.lp-hero .lp-badges{max-width:min(58%,650px)!important}
.lp-hero h1{color:#332815!important;font-size:clamp(2rem,1.4rem + 3.2vw,3.4rem)!important}
.lp-hero .lp-lead{color:#4A3D26!important;font-size:16px!important;line-height:1.95!important}
.lp-hero .lp-price{grid-template-columns:max-content max-content!important;gap:2px 20px!important}
.lp-hero .lp-price b{font-size:clamp(2.1rem,1.4rem + 3.2vw,3.6rem)!important}
.lp-hero .lp-price span{font-size:14.5px!important;align-self:baseline;margin-bottom:0}
.lp-badges span{color:#3A2E18!important;
  border-color:rgba(138,111,46,.5)!important;
  background:rgba(255,255,255,.58)!important}

/* 県のシルエットは円の中の透かし */
.kv-pref{
  left:calc(min(31.5%,355px) + var(--gutter)/2)!important;
  top:calc(50% - 10px)!important;
  width:min(44%,506px)!important;
  fill:rgba(138,111,46,.13)!important;
  z-index:-1!important}

@media (max-width:900px){
  .lp-hero .bg{position:absolute!important;width:100%!important;height:100%!important;
    object-position:66% 54%!important}
  .lp-hero::before{
    left:50%!important;top:50%!important;
    width:min(190vw,900px)!important;height:min(190vw,900px)!important}
  .lp-hero .wrap>*,.lp-hero .lp-badges{max-width:none!important}
  .lp-hero .lp-price{grid-template-columns:max-content max-content!important}
  .kv-pref{left:50%!important;width:min(62%,340px)!important}
}

/* KV写真：円の右側に家族が入るよう表示位置を左へ寄せる
   （家族は画像の左〜中央、墓石は右。円が左を覆うので左寄せにする） */
.lp-hero .bg{object-position:22% 58%!important}
@media (max-width:900px){
  .lp-hero .bg{object-position:34% 56%!important}
}

/* KV写真：左右反転して家族を円の右側（可視域）に出す
   元画像は家族が左・墓石が右。円が左71%を覆うため、反転しないと家族が入らない */
.lp-hero .bg{
  transform:scaleX(-1)!important;
  object-position:28% 58%!important}
@media (max-width:900px){
  .lp-hero .bg{transform:none!important;object-position:34% 56%!important}
}

/* KV：反転をやめ、円を小さくして家族＋墓石が見える幅を確保する */
.lp-hero .bg{
  transform:none!important;
  object-position:36% 58%!important}
.lp-hero::before{
  width:min(120vh,860px)!important;
  height:min(120vh,860px)!important;
  left:calc(min(23%,265px) + var(--gutter)/2)!important}
.kv-pref{
  left:calc(min(23%,265px) + var(--gutter)/2)!important;
  width:min(34%,390px)!important}
.lp-hero .wrap>*{max-width:min(42%,460px)!important}
.lp-hero .lp-badges{max-width:min(44%,480px)!important}
.lp-hero h1{font-size:clamp(1.85rem,1.25rem + 2.6vw,3rem)!important}
.lp-hero .lp-price b{font-size:clamp(1.95rem,1.3rem + 2.8vw,3.1rem)!important}
.lp-hero .lp-price{grid-template-columns:max-content!important;gap:0!important}
.lp-hero .lp-price span{font-size:13.5px!important;margin-bottom:8px}
@media (max-width:900px){
  .lp-hero::before{left:50%!important;width:min(190vw,900px)!important;height:min(190vw,900px)!important}
  .lp-hero .bg{object-position:34% 56%!important}
  .lp-hero .wrap>*,.lp-hero .lp-badges{max-width:none!important}
  .lp-hero .lp-price{grid-template-columns:max-content max-content!important;gap:2px 18px!important}
  .kv-pref{left:50%!important;width:min(62%,340px)!important}
}

/* KV写真：家族の顔が入るよう縦位置を上げ、少し引く */
.lp-hero .bg{object-position:40% 34%!important}
@media (max-width:900px){
  .lp-hero .bg{object-position:38% 32%!important}
}

/* ============ 56. KV 最終形 ============
   左＝和紙（写真を出さない）／右＝家族写真を大きな円で
   影はいっさい付けない */
.lp-hero{
  background:#FAF6EE url("/assets/img/area/washi-1100.jpg") center/cover no-repeat!important;
  overflow:hidden;position:relative}

/* テキストを囲む円は廃止（背景そのものが和紙のため不要） */
.lp-hero::before{display:none!important}
.lp-hero::after{display:none!important}

/* 写真は右側に大きな円で配置 */
.lp-hero .bg{
  position:absolute!important;
  left:auto!important;right:clamp(-90px,-5vw,-20px)!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:min(64vw,900px)!important;
  height:min(64vw,900px)!important;
  border-radius:50%!important;
  object-fit:cover!important;
  object-position:34% 40%!important;
  opacity:1!important;z-index:1!important;
  box-shadow:none!important;filter:none!important;
  -webkit-mask-image:none!important;mask-image:none!important}

/* 文字は和紙の上（濃い茶） */
.lp-hero .wrap{
  position:relative;z-index:2!important;
  min-height:calc(min(64vw,900px) + 48px)!important;
  display:flex;flex-direction:column;justify-content:center;
  padding-top:clamp(48px,5vw,72px)!important;
  padding-bottom:clamp(72px,7vw,104px)!important}
.lp-hero .wrap>*{max-width:min(36%,400px)!important}
.lp-hero .lp-badges{max-width:min(38%,420px)!important}
.lp-hero h1{color:#332815!important;font-size:clamp(1.8rem,1.2rem + 2.4vw,2.9rem)!important}
.lp-hero .lp-lead{color:#4A3D26!important;font-size:15px!important;line-height:1.9!important}
.lp-hero .lp-price{grid-template-columns:max-content!important;gap:0!important}
.lp-hero .lp-price b{color:#8A6F2E!important;-webkit-text-fill-color:#8A6F2E!important;
  font-size:clamp(1.9rem,1.3rem + 2.6vw,3rem)!important}
.lp-hero .lp-price span{color:#5A4A2E!important;font-size:13.5px!important;margin-bottom:8px}
.lp-badges span{color:#3A2E18!important;
  border-color:rgba(138,111,46,.5)!important;
  background:rgba(255,255,255,.6)!important}

/* 県のシルエットは文字の背面 */
.kv-pref{
  left:calc(min(18%,200px) + var(--gutter)/2)!important;
  top:50%!important;
  width:min(38%,430px)!important;
  fill:rgba(138,111,46,.12)!important;
  filter:none!important;z-index:-1!important}

@media (max-width:900px){
  .lp-hero .bg{
    position:relative!important;right:auto!important;top:auto!important;
    transform:none!important;margin:0 auto 4px;display:block;
    width:min(74vw,320px)!important;height:min(74vw,320px)!important;
    object-position:38% 38%!important}
  .lp-hero .wrap{min-height:0!important;display:block}
  .lp-hero .wrap>*,.lp-hero .lp-badges{max-width:none!important}
  .lp-hero .lp-price{grid-template-columns:max-content max-content!important;gap:2px 18px!important}
  .kv-pref{left:50%!important;width:min(60%,330px)!important}
}

/* ============ 57. 追い込み修正 ============
   (1) KV 決定版：背景＝右に写真／左に和紙の大きな円が左端から見切れる
   (2) 北海道シルエットを右寄せ
   (3) セクションのリード文をコンテンツ幅に揃える
   (4) CITIES は「｜」の後ろで改行する
   (5) TIPS のカードを白地に統一（紺カードで見出しが読めなかった） */

/* --- (1) KV --- */
.lp-hero{
  position:relative;overflow:hidden;
  background:#E9E0CF url("/assets/img/area/washi-1100.jpg") center/cover no-repeat!important}
/* 写真：右側に大きく（矩形・上下いっぱい） */
.lp-hero .bg{
  position:absolute!important;
  top:0!important;bottom:0!important;left:auto!important;
  right:0!important;
  transform:none!important;
  height:100%!important;width:auto!important;max-width:none!important;
  border-radius:0!important;
  object-fit:cover!important;object-position:center!important;
  opacity:1!important;z-index:0!important;
  box-shadow:none!important;filter:none!important;
  -webkit-mask-image:none!important;mask-image:none!important}
/* 和紙の大きな円：左端から見切れる */
.lp-hero::before{
  content:""!important;display:block!important;
  position:absolute!important;z-index:1!important;
  top:50%!important;left:min(-28vw,-355px)!important;right:auto!important;
  transform:translateY(-50%)!important;
  width:clamp(940px,84vw,1215px)!important;
  height:clamp(940px,84vw,1215px)!important;
  border-radius:50%!important;
  background:#FBF6EC url("/assets/img/area/washi-1100.jpg") center/cover no-repeat!important;
  box-shadow:none!important;filter:none!important;
  opacity:1!important;pointer-events:none}
.lp-hero::after{display:none!important}
.lp-hero .wrap{
  position:relative;z-index:2!important;
  min-height:clamp(500px,42vw,620px)!important;
  display:flex;flex-direction:column;justify-content:center;
  padding-top:clamp(48px,5vw,72px)!important;
  padding-bottom:clamp(56px,6vw,84px)!important}
.lp-hero .wrap>*{max-width:min(40%,455px)!important}
.lp-hero .lp-badges{max-width:min(42%,470px)!important}

/* --- (2) 北海道のシルエットは右寄せ（写真の上） --- */
.kv-pref{
  left:auto!important;right:44%!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:min(24%,340px)!important;
  fill:rgba(138,111,46,.18)!important;
  filter:none!important;z-index:0!important}

/* --- (3) リード文はコンテンツ幅いっぱいに --- */
.lp-sec .sec-lead{
  max-width:none!important;margin-left:0!important;margin-right:0!important}

/* --- (4) CITIES：区切りの「｜」を前の市町村名に固定し、改行は「｜」の後ろで --- */
.muni .mu{white-space:nowrap}
.muni .sep::before{content:"\2060"}

/* --- (5) TIPS：カードは白地に統一 --- */
.lp-tips li{
  background:#FFFDF7!important;
  border:1px solid rgba(138,111,46,.24)!important}
.lp-tips li > b{color:#22303F!important}
.lp-tips li > p{color:#3F4A58!important}
.lp-tips li .tg{color:#25313E!important}
.tip-ic{stroke:#A98F52!important}

@media (max-width:900px){
  .lp-hero .bg{
    position:relative!important;right:auto!important;top:auto!important;bottom:auto!important;
    width:100%!important;height:min(58vw,300px)!important;
    border-radius:var(--radius)!important;
    margin:0 0 18px!important;display:block}
  .lp-hero::before{
    left:-40vw!important;width:150vw!important;height:150vw!important}
  .lp-hero .wrap{min-height:0!important;display:block}
  .lp-hero .wrap>*,.lp-hero .lp-badges{max-width:none!important}
  .kv-pref{right:-8%!important;width:min(48%,260px)!important}
}

/* TIPS：地域タグつき（その自治体だけの制度）は左に金の罫で区別（本番と同じ考え方） */
.lp-tips li.sp{
  border-left:4px solid var(--gold)!important;
  background:#FFFBF0!important}

/* よくある質問：質問18px／回答16px */
.lp-sec .faq-q,.lp-fold .fb .faq-q,
.lp-sec .faq-q *{font-size:18px!important;line-height:1.7!important}
.lp-sec .faq-a,.lp-fold .fb .faq-a,
.lp-sec .faq-a *{font-size:16px!important;line-height:1.95!important}

/* CITIES：市町村一覧の右に北海道（都道府県）の地図 */
.cities-row{
  display:grid;grid-template-columns:1fr minmax(170px,240px);
  gap:clamp(20px,3vw,40px);align-items:center}
.cities-row .muni{margin:0}
.cities-map{
  width:100%;height:auto;display:block;
  fill:rgba(138,111,46,.17);
  stroke:rgba(138,111,46,.38);stroke-width:2.4;
  stroke-linejoin:round;vector-effect:non-scaling-stroke}
@media (max-width:820px){
  .cities-row{grid-template-columns:1fr;gap:18px}
  .cities-map{width:min(52%,220px);margin:0 auto}
}

/* STEPバッジ：書体はREASONと同じ（明朝500）／文字間は0 */
.fw-step .fw-step-ph .fw-no,
.fw-no{
  font-family:'Shippori Mincho',serif!important;
  font-weight:500!important;
  font-size:14px!important;
  letter-spacing:0!important}
.fw-no em{letter-spacing:0!important}

/* CITIES：市区町村の羅列は14px／余白を2pxずつ広げる／地図は1.5倍 */
.muni{font-size:14px!important;gap:8px 0!important;line-height:1.9!important}
.muni a,.muni span.p,.muni .mu{font-size:14px!important}
.muni .sep{margin:0 calc(.45em + 2px)!important}
.cities-row{grid-template-columns:1fr minmax(255px,360px)!important}
@media (max-width:820px){
  .cities-row{grid-template-columns:1fr!important}
  .cities-map{width:min(66%,300px)!important}
}

/* h2 下のリード文は中央揃え（幅はコンテンツ幅のまま） */
.lp-sec .sec-lead{
  text-align:center!important;
  word-break:keep-all;line-break:strict;text-wrap:balance}

/* AREA：日本地図（＋全国47バッジ・CTA）を右側に */
@media (min-width:1041px){
  .pm-card{grid-template-columns:1fr 1fr minmax(280px,352px)!important}
  .pm-col-w{order:1}
  .pm-col-e{order:2}
  .pm-mid{order:3}
}

/* ============ FLOW：5ステップを縦積みレイアウトに戻す ============ */
@media (min-width:1001px){
  .fw-steps{
    display:flex!important;flex-direction:column!important;
    grid-template-columns:none!important;
    gap:16px!important;padding-top:0!important;margin-top:28px!important}
  .fw-steps::before{display:none!important}
  .fw-step{
    position:relative;z-index:1;
    display:grid!important;grid-template-columns:288px 1fr!important;
    gap:0 26px!important;min-height:0!important;
    padding:0!important;border-radius:var(--radius);overflow:hidden;
    align-items:stretch!important}
  .fw-step .fw-step-ph{
    position:relative!important;width:100%!important;height:100%!important;
    min-height:196px;margin:0!important;border-radius:0!important;overflow:hidden}
  .fw-step .fw-step-ph img,.fw-step-ph img{
    position:absolute!important;inset:0!important;
    width:100%!important;height:100%!important;object-fit:cover!important}
  .fw-step .fw-step-ph .fw-no,
  .fw-no{
    top:12px!important;left:12px!important;transform:none!important;
    width:64px!important;height:64px!important;font-size:12px!important}
  .fw-no em{font-size:1.35rem!important;margin-top:1px}
  .fw-step .fw-step-b{
    padding:20px 26px 20px 0!important;
    display:flex;flex-direction:column;justify-content:center}
  .fw-step-b h3{font-size:1.12rem!important}
  .fw-roles{
    flex-direction:row!important;flex-wrap:wrap;gap:10px!important;
    margin-top:12px!important;padding-top:0!important}
  .fw-role{flex:1 1 260px}
}

/* ============ 関連記事カード：紺のグラデ＋内側にゴールドの罫 ============ */
.post-grid .post{
  position:relative;
  background:linear-gradient(150deg,#425B79 0%,#365070 30%,#2C4058 62%,#26364A 100%)!important;
  background-color:#2C4058!important;
  border:1px solid rgba(232,207,138,.30)!important;
  border-radius:var(--radius);overflow:hidden;
  box-shadow:0 6px 18px rgba(30,38,48,.16)}
.post-grid .post::before{
  content:"";position:absolute;inset:5px;z-index:1;
  border:1px solid rgba(232,207,138,.55);
  border-radius:calc(var(--radius) - 3px);
  pointer-events:none}
.post-grid .post:hover{
  box-shadow:0 12px 28px rgba(30,38,48,.26);transform:translateY(-2px)}
.post-grid .post .body{position:relative;z-index:2;padding:26px 26px 24px}
.post-grid .post .cat{color:var(--gold-l)!important}
.post-grid .post h3{color:#fff!important}
.post-grid .post .date{color:rgba(255,255,255,.80)!important}

/* 関連記事：カードの高さを揃える（タイトルは2行で「…」） */
.post-grid{align-items:stretch}
.post-grid .post{display:flex;flex-direction:column}
.post-grid .post .body{display:flex;flex-direction:column;flex:1}
.post-grid .post h3{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  overflow:hidden;text-overflow:ellipsis;
  min-height:calc(1.7em * 2);margin:0!important}
.post-grid .post .cat{margin-bottom:10px}
.post-grid .post .date{margin-top:auto;padding-top:16px}

/* FLOW：左から 番号 → テキスト → 写真（写真は右側だけ角丸） */
@media (min-width:1001px){
  .fw-step{
    position:relative;
    grid-template-columns:112px 1fr 300px!important;
    gap:0 22px!important}
  .fw-step .fw-step-b{
    grid-column:2!important;
    padding:22px 0!important}
  .fw-step .fw-step-ph{
    grid-column:3!important;
    position:static!important;
    height:100%!important;min-height:200px;
    overflow:hidden;
    border-radius:0 var(--radius) var(--radius) 0!important}
  .fw-step .fw-step-ph img,.fw-step-ph img{
    position:static!important;inset:auto!important;
    width:100%!important;height:100%!important;
    object-fit:cover!important;display:block}
  .fw-step .fw-step-ph .fw-no,
  .fw-no{
    position:absolute!important;
    left:56px!important;top:50%!important;
    transform:translate(-50%,-50%)!important;
    width:74px!important;height:74px!important;
    font-size:12px!important}
  .fw-no em{font-size:1.5rem!important}
}
@media (min-width:1001px){
  .fw-step .fw-step-ph{
    aspect-ratio:auto!important;
    align-self:stretch!important;
    min-height:100%!important}
}
@media (min-width:1001px){
  .fw-step .fw-step-ph{
    height:auto!important;min-height:0!important;
    align-self:stretch!important;
    display:flex!important;overflow:hidden!important}
  .fw-step .fw-step-ph img,.fw-step-ph img{
    flex:1 1 auto!important;
    width:auto!important;height:auto!important;min-height:0!important;
    align-self:stretch!important;
    object-fit:cover!important;position:static!important}
}
@media (min-width:1001px){
  /* 2行に折り返らないよう、番号列・本文・写真を同じ行に固定 */
  .fw-step .fw-step-b{grid-row:1!important}
  .fw-step .fw-step-ph{grid-row:1!important}
}


/* ============ CITIES：五十音タブ（CSSのみで切替） ============ */
.muni-tabs{position:relative}
.muni-tabs>input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.muni-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.muni-nav label{
  display:inline-flex;align-items:baseline;gap:5px;
  padding:7px 16px;border-radius:var(--rad-btn);
  border:1px solid rgba(138,111,46,.42);background:#fff;
  color:var(--indigo-d);font-size:14px;font-weight:700;letter-spacing:.04em;
  line-height:1.4;cursor:pointer;user-select:none;
  transition:background .15s,color .15s,border-color .15s}
.muni-nav label small{font-size:11px!important;font-weight:500;color:var(--muted);letter-spacing:0}
.muni-nav label:hover{background:#FBF6EC}
.muni-tabs>.muni{display:none!important}
.muni-tabs .mu:last-child .sep{display:none}

#mr-a:checked~.muni[data-row="a"]{display:flex!important}
#mr-a:checked~.muni-nav label[for="mr-a"]{background:var(--indigo-d);border-color:transparent;color:#fff}
#mr-a:checked~.muni-nav label[for="mr-a"] small{color:rgba(255,255,255,.78)}
#mr-ka:checked~.muni[data-row="ka"]{display:flex!important}
#mr-ka:checked~.muni-nav label[for="mr-ka"]{background:var(--indigo-d);border-color:transparent;color:#fff}
#mr-ka:checked~.muni-nav label[for="mr-ka"] small{color:rgba(255,255,255,.78)}
#mr-sa:checked~.muni[data-row="sa"]{display:flex!important}
#mr-sa:checked~.muni-nav label[for="mr-sa"]{background:var(--indigo-d);border-color:transparent;color:#fff}
#mr-sa:checked~.muni-nav label[for="mr-sa"] small{color:rgba(255,255,255,.78)}
#mr-ta:checked~.muni[data-row="ta"]{display:flex!important}
#mr-ta:checked~.muni-nav label[for="mr-ta"]{background:var(--indigo-d);border-color:transparent;color:#fff}
#mr-ta:checked~.muni-nav label[for="mr-ta"] small{color:rgba(255,255,255,.78)}
#mr-na:checked~.muni[data-row="na"]{display:flex!important}
#mr-na:checked~.muni-nav label[for="mr-na"]{background:var(--indigo-d);border-color:transparent;color:#fff}
#mr-na:checked~.muni-nav label[for="mr-na"] small{color:rgba(255,255,255,.78)}
#mr-ha:checked~.muni[data-row="ha"]{display:flex!important}
#mr-ha:checked~.muni-nav label[for="mr-ha"]{background:var(--indigo-d);border-color:transparent;color:#fff}
#mr-ha:checked~.muni-nav label[for="mr-ha"] small{color:rgba(255,255,255,.78)}
#mr-ma:checked~.muni[data-row="ma"]{display:flex!important}
#mr-ma:checked~.muni-nav label[for="mr-ma"]{background:var(--indigo-d);border-color:transparent;color:#fff}
#mr-ma:checked~.muni-nav label[for="mr-ma"] small{color:rgba(255,255,255,.78)}
#mr-ya:checked~.muni[data-row="ya"]{display:flex!important}
#mr-ya:checked~.muni-nav label[for="mr-ya"]{background:var(--indigo-d);border-color:transparent;color:#fff}
#mr-ya:checked~.muni-nav label[for="mr-ya"] small{color:rgba(255,255,255,.78)}
#mr-ra:checked~.muni[data-row="ra"]{display:flex!important}
#mr-ra:checked~.muni-nav label[for="mr-ra"]{background:var(--indigo-d);border-color:transparent;color:#fff}
#mr-ra:checked~.muni-nav label[for="mr-ra"] small{color:rgba(255,255,255,.78)}
#mr-wa:checked~.muni[data-row="wa"]{display:flex!important}
#mr-wa:checked~.muni-nav label[for="mr-wa"]{background:var(--indigo-d);border-color:transparent;color:#fff}
#mr-wa:checked~.muni-nav label[for="mr-wa"] small{color:rgba(255,255,255,.78)}

@media (max-width:820px){
  .muni-nav{gap:6px}
  .muni-nav label{padding:6px 12px}
}

/* ============ 58. 追い込み（2回目） ============ */

/* (1) KV：都道府県の地図はテキスト群の中央・背面に */
.kv-pref{
  left:calc(var(--gutter) + min(40%,455px)/2)!important;
  right:auto!important;top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:min(36%,420px)!important;
  fill:rgba(138,111,46,.16)!important;
  filter:none!important;z-index:0!important}

/* (2) 価格の数字は左端を揃える */
.lp-hero .lp-price{justify-items:start!important;text-align:left!important}
.lp-hero .lp-price b,
.lp-hero .lp-price span{justify-self:start!important;text-align:left!important}
.lp-hero .lp-price span{font-size:14px!important}

/* (3) 写真は常に右側を埋める（隙間を作らない・約120%で寄る） */
.lp-hero .bg{
  left:auto!important;right:0!important;top:0!important;bottom:0!important;
  width:clamp(560px,50%,940px)!important;height:100%!important;
  max-width:none!important;
  object-fit:cover!important;object-position:52% 46%!important;
  border-radius:0!important}

/* (4) KVの3つのCTAにアイコン */
.hero-actions .cta{display:inline-flex!important;align-items:center;gap:10px}
.hero-actions .cta::before{
  content:"";flex:none;width:19px;height:19px;
  background:center/contain no-repeat}
.hero-actions .cta[href*="line"]::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2325313E' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.4c0 4.1-4 7.5-9 7.5-.9 0-1.8-.1-2.6-.3L4 21l1.4-3.6C3.9 15.9 3 13.8 3 11.4 3 7.3 7 4 12 4s9 3.3 9 7.4Z'/%3E%3C/svg%3E")}
.hero-actions .cta[href^="tel:"]::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2325313E' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a12 12 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E")}
.hero-actions .cta[href*="contact"]::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3.6 6.6 8.4 5.9 8.4-5.9'/%3E%3C/svg%3E")}

/* (5) STEPは丸で囲まない */
@media (min-width:1001px){
  .fw-step .fw-step-ph .fw-no,
  .fw-no{
    background:none!important;border:none!important;box-shadow:none!important;
    width:88px!important;height:auto!important;
    left:12px!important;right:auto!important;top:50%!important;
    transform:translateY(-50%)!important;
    display:block!important;text-align:center;
    color:var(--gold)!important;
    font-size:14px!important;letter-spacing:0!important;line-height:1.3}
  .fw-no em{
    display:block;margin-top:2px;
    font-size:2.2rem!important;line-height:1;
    color:var(--indigo-d)!important}
  .is-invert .fw-no em{color:#fff!important}
  /* 写真は右側だけ角丸 */
  .fw-step .fw-step-ph{border-radius:0 var(--radius) var(--radius) 0!important}
}

/* (6) よくある質問：1個目の上を詰め、以降は区切り線 */
.faq-q:first-child{margin-top:0!important}
.faq-a + .faq-q{
  margin-top:26px!important;padding-top:26px!important;
  border-top:1px solid rgba(138,111,46,.28)}

/* (7) 関連記事のタイトルは行を目一杯使い、2行目の末尾で「…」 */
.post-grid .post h3{
  word-break:normal!important;line-break:auto!important;
  text-wrap:wrap!important;overflow-wrap:anywhere}

/* (8) 都道府県から探す：北海道を左上に／地方の中は1カラム */
@media (min-width:1041px){
  .pm-col-e{order:1!important}
  .pm-col-w{order:2!important}
  .pm-mid{order:3!important}
}
.pm-chips{grid-template-columns:1fr!important}

/* (9) 監修：2人を2カラムで／人物は丸抜き */
.sv-box{
  display:grid!important;grid-template-columns:1fr 1fr;
  gap:20px;align-items:stretch;margin-top:26px}
.sv-row{
  display:grid!important;grid-template-columns:72px 1fr;
  gap:18px;align-items:start;
  background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:24px 26px}
.sv-av img{
  width:72px!important;height:72px!important;
  border-radius:50%!important;object-fit:cover;display:block;
  border:1px solid rgba(138,111,46,.30)}
.sv-lbl{
  display:inline-block;margin-bottom:8px;
  font-size:12px!important;font-weight:700;letter-spacing:.08em;
  color:var(--indigo-d);background:var(--gold-l);
  border-radius:var(--rad-btn);padding:4px 12px;line-height:1.5}
.sv-nm{font-family:'Shippori Mincho',serif;font-size:16px!important;
  font-weight:700;color:var(--indigo-d);line-height:1.6}
.sv-nm small{display:block;margin-top:3px;font-size:12px!important;color:var(--muted);font-weight:400}
.sv-rl{margin-top:4px;font-size:12px!important;color:var(--muted);line-height:1.7}
.sv-b p{margin:10px 0 0;font-size:14px!important;line-height:1.85;color:var(--muted)}
@media (max-width:820px){
  .sv-box{grid-template-columns:1fr!important}
}

/* (10) PC最小フォント：注釈以外は14px以上に */
.muni-nav label small{font-size:12px!important}
.pm-badge b em{font-size:12px!important}

/* 都道府県から探す：県名はゴシック16px／中黒は前の市名とセットで改行しない・リンクにしない */
.pm-pref{
  font-family:'Zen Kaku Gothic New',sans-serif!important;
  font-size:16px!important;font-weight:700!important;letter-spacing:.02em}
.pm-cities a+a::before{content:none!important}
.pm-c{white-space:nowrap}
.pm-sep{color:#c3bfb4;text-decoration:none;margin:0 2px;pointer-events:none;user-select:none}
.pm-c:last-child .pm-sep{display:none}

/* KV調整：円を200px右へ／写真の直線の左端は円で完全に隠す／写真は約130%に */
.lp-hero::before{
  left:calc(min(-28vw,-355px) + 200px)!important}
.lp-hero .bg{
  top:-15%!important;bottom:auto!important;
  height:130%!important;
  object-position:40% 46%!important}

/* CITIES：行を切り替えてもタブの位置が動かないよう上端揃えに */
.cities-row{align-items:start!important}
.cities-map{align-self:center}

/* KV：円を右へ動かした分、写真は家族が見える位置まで右にずらして拡大 */
.lp-hero .bg{
  left:auto!important;right:min(-43vw,-560px)!important;
  width:min(91vw,1320px)!important;
  top:0!important;bottom:0!important;height:100%!important;
  object-fit:cover!important;object-position:center 44%!important}

/* 関連記事（COLUMN）は白背景／その下のAREAはベージュ背景 */
section:has(> .wrap > .post-grid){background:#fff!important}
.pm-sec{background:var(--paper2,#F4F1EA)!important}

/* エリア：地方の中は2カラムに戻す */
.pm-chips{grid-template-columns:1fr 1fr!important}

/* 監修：写真と名前を大きく／肩書きは小さく／最終更新日の行は非表示 */
.sv-row{grid-template-columns:104px 1fr!important;gap:22px!important}
.sv-av img{width:104px!important;height:104px!important}
.sv-nm{font-size:21px!important;line-height:1.5!important}
.sv-nm small{font-size:12px!important;margin-top:5px!important}
.sv-q{display:block;font-size:10px!important;font-weight:400;
  letter-spacing:.08em;color:var(--muted);margin-bottom:3px;line-height:1.5}
.sv-ft{display:none!important}

/* モデルケース：写真の高さを少し増やして被写体の位置を揃える */
.lp-hc > img{
  aspect-ratio:16/10!important;
  object-position:center 48%!important}

/* FLOW：写真を横に広げて、縦長に潰れて見えないように */
@media (min-width:1001px){
  .fw-step{grid-template-columns:112px 1fr 352px!important}
  .fw-step .fw-step-ph img,.fw-step-ph img{object-position:center 42%!important}
}

/* エリア：市名が3つ以上ある県は横長（2カラム分）にして高さのばらつきを抑える */
.pm-chips{align-items:start!important}
/* 県が1つだけの地方（北海道）のみ横長に */
.pm-chips:has(.pm-chip:only-child) .pm-chip{grid-column:span 2}
/* 市区町村名は12px */
.pm-cities,.pm-cities a,.pm-c,.pm-sep{font-size:12px!important}
/* 都道府県名は14px */
.pm-pref{font-size:14px!important}

/* KV：和紙のテクスチャを薄く（柄が強すぎたため） */
.lp-hero{
  background:
    linear-gradient(rgba(243,237,226,.80),rgba(243,237,226,.80)),
    url("/assets/img/area/washi-1100.jpg") center/cover no-repeat,
    #EFE8DA!important}
.lp-hero::before{
  background:
    linear-gradient(rgba(253,250,244,.84),rgba(253,250,244,.84)),
    url("/assets/img/area/washi-1100.jpg") center/cover no-repeat,
    #FCF8F0!important}

/* KV仕上げ：円は画面のほぼ半分まで／写真は原寸に近い比率で右に置き、左端はぼかして切れ目を消す */
.lp-hero::before{
  left:calc(50% - clamp(940px,84vw,1215px))!important}
.lp-hero .bg{
  left:auto!important;right:0!important;top:0!important;bottom:0!important;
  width:min(56%,820px)!important;height:100%!important;max-width:none!important;
  object-fit:cover!important;object-position:46% 44%!important;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.35) 10%,rgba(0,0,0,1) 24%)!important;
          mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.35) 10%,rgba(0,0,0,1) 24%)!important}

/* KV再調整：円と写真を5:5に／写真は130%／左端のぼかしは廃止 */
.lp-hero::before{
  left:calc(52.8% - clamp(1100px,94vw,1360px))!important;
  width:clamp(1100px,94vw,1360px)!important;
  height:clamp(1100px,94vw,1360px)!important}
.lp-hero .bg{
  left:auto!important;right:0!important;
  top:-15%!important;bottom:auto!important;
  width:min(56%,820px)!important;height:130%!important;
  object-fit:cover!important;object-position:46% 46%!important;
  -webkit-mask-image:none!important;mask-image:none!important;
  box-shadow:none!important;filter:none!important}

/* FLOW：ラベル・番号は紺／所要日数は角丸なし・塗りなし／要約は金の文字だけ */
@media (min-width:1001px){
  .fw-step .fw-step-ph .fw-no,
  .fw-no{color:var(--indigo-d)!important}
  .fw-no em{color:var(--indigo-d)!important}
}
.fw-dur{
  margin-left:18px!important;
  border-radius:0!important;
  background:none!important;
  border:1px solid var(--gold)!important;
  color:var(--gold)!important;
  padding:3px 10px!important}
.fw-sum{
  background:none!important;
  border-radius:0!important;
  padding:0!important;
  margin:2px 0 10px!important;
  color:var(--gold)!important;
  font-weight:700!important}
.is-invert .fw-sum{background:none!important;color:var(--gold-l)!important}

/* モデルケース：素材ごとに見せ場が違うのでトリミング位置を個別に調整 */
.lp-hc > img[src*="price-1"]{object-position:50% 64%!important}
.lp-hc > img[src*="about-grave"]{object-position:50% 42%!important}
.lp-hc > img[src*="price-6"]{object-position:50% 52%!important}

/* 関連記事：「詳しく見る ›」は右下 */
.post-grid .post .date{
  margin-top:auto;padding-top:16px;
  text-align:right!important;align-self:flex-end}

/* KVのCTA：LINEはLINEグリーン／フォームは中央／電話は囲みなしの白文字で一番右 */
.hero-actions .cta[href*="line"]{
  order:1;
  background:#06C755!important;border-color:#06C755!important;color:#fff!important}
.hero-actions .cta[href*="line"]::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.4c0 4.1-4 7.5-9 7.5-.9 0-1.8-.1-2.6-.3L4 21l1.4-3.6C3.9 15.9 3 13.8 3 11.4 3 7.3 7 4 12 4s9 3.3 9 7.4Z'/%3E%3C/svg%3E")!important}
.hero-actions .cta[href*="line"] .ar{background:rgba(255,255,255,.22)!important}
.hero-actions .cta[href*="line"] .ar svg{stroke:#fff!important}

.hero-actions .cta[href*="contact"]{order:2}

.hero-actions .cta[href^="tel:"]{
  order:3;
  background:none!important;border:none!important;box-shadow:none!important;
  color:#fff!important;
  font-size:21.3px!important;letter-spacing:.02em}
.hero-actions .cta[href^="tel:"]::before{
  width:23px;height:23px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a12 12 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E")!important}
.hero-actions .cta[href^="tel:"] .ar{display:none!important}

/* PRICE：表の文字を16pxに揃え、金額だけ大きく */
#price .lp-tbl th,
#price .lp-tbl td,
#price .lp-tbl th small,
#price .lp-tbl td small{font-size:16px!important;line-height:1.7!important}
#price .lp-tbl td.p{
  font-size:28px!important;font-weight:700!important;
  line-height:1.3!important;letter-spacing:.01em}
#price .lp-tbl td.p small{
  display:block;margin-top:4px;
  font-size:16px!important;font-weight:400!important;line-height:1.6!important}

/* KV：左カラムの中でテキストを中央に／円を30px右／写真をさらに120% */
.lp-hero .wrap{
  padding-right:clamp(0px,44%,560px)!important}
.lp-hero .wrap>*{
  margin-left:auto!important;margin-right:auto!important;
  text-align:center!important}
.lp-hero h1{text-align:center!important}
.lp-hero .lp-price{justify-items:center!important;text-align:center!important}
.lp-hero .lp-price b,
.lp-hero .lp-price span{justify-self:center!important;text-align:center!important}
.lp-hero .lp-badges{justify-content:center!important}
.lp-hero .lp-lead{text-align:center!important}
.lp-hero::before{
  left:calc(52.8% + 30px - clamp(1100px,94vw,1360px))!important}
.lp-hero .bg{
  top:-28%!important;height:156%!important;
  object-position:36% 46%!important}

/* KV微調整：テキストは円の中で中央・幅を確保／写真の拡大は控えめに */
.lp-hero .wrap{padding-right:clamp(0px,41%,520px)!important}
.lp-hero .wrap>*{max-width:min(46%,500px)!important}
.lp-hero .lp-badges{max-width:min(46%,500px)!important}
.lp-hero .bg{
  top:-20%!important;height:140%!important;
  object-position:32% 46%!important}

/* KVのテキストは四角の中で左揃え */
.lp-hero .wrap>*{text-align:left!important}
.lp-hero h1{text-align:left!important}
.lp-hero .lp-price{justify-items:start!important;text-align:left!important}
.lp-hero .lp-price b,
.lp-hero .lp-price span{justify-self:start!important;text-align:left!important}
.lp-hero .lp-badges{justify-content:flex-start!important}
.lp-hero .lp-lead{text-align:left!important}

/* KVのCTA：LINE・フォームは余白+20px／電話は大きく・受付時間つき・PCでは押せない */
.hero-actions .cta[href*="line"],
.hero-actions .cta[href*="contact"]{
  padding:12px 74px 12px 44px!important}
.hero-actions .cta[href^="tel:"]{
  font-size:25.6px!important;
  flex-wrap:wrap!important;justify-content:center!important;
  row-gap:0!important}
.hero-actions .cta[href^="tel:"] .tel-note{
  flex:0 0 100%;display:block;text-align:center;
  margin-top:3px;font-size:12px!important;font-weight:400;
  letter-spacing:.04em;color:rgba(255,255,255,.82)!important}
@media (min-width:1001px){
  .hero-actions .cta[href^="tel:"]{pointer-events:none;cursor:default}
}

/* KVテキスト：コンテンツエリアの左半分に置き、その中で左揃え */
.lp-hero .wrap{padding-right:clamp(0px,50%,620px)!important}
.lp-hero .wrap>*,
.lp-hero .lp-badges{
  margin-left:0!important;margin-right:0!important;
  max-width:none!important;text-align:left!important}

/* KV：人物をさらに120%（累計 約168%） */
.lp-hero .bg{
  top:-34%!important;height:168%!important;
  object-position:30% 44%!important}

/* KV：人物が可視域の中心に来るように */
.lp-hero .bg{
  top:-20%!important;height:168%!important;
  object-position:0% 50%!important}

/* KV：どの画面幅でも写真の左端が円の内側に入り、切れ目が出ないように */
.lp-hero::before{
  width:clamp(1100px,94vw,2400px)!important;
  height:clamp(1100px,94vw,2400px)!important;
  left:calc(52.8% + 30px - clamp(1100px,94vw,2400px))!important}
.lp-hero .bg{
  width:56%!important;max-width:none!important;min-width:0!important}

/* KV：写真を30px上へ */
.lp-hero .bg{top:calc(-20% - 30px)!important}

/* KV：金額を2つ横並びに／「定額」「基本プラン」は金額の上に四角囲みのラベルで */
.lp-hero .lp-price{
  display:grid!important;
  grid-template-columns:auto auto!important;
  grid-template-areas:"l1 l2" "p1 p2"!important;
  column-gap:34px!important;row-gap:6px!important;
  justify-items:start!important;align-items:end!important}
.lp-hero .lp-price b:nth-of-type(1){grid-area:p1}
.lp-hero .lp-price b:nth-of-type(2){grid-area:p2}
.lp-hero .lp-price span:nth-of-type(1){grid-area:l1}
.lp-hero .lp-price span:nth-of-type(2){grid-area:l2}
.lp-hero .lp-price span{
  display:inline-block!important;justify-self:start!important;
  margin:0!important;padding:4px 11px!important;
  border:1px solid rgba(138,111,46,.55)!important;
  border-radius:0!important;
  font-size:13px!important;line-height:1.5!important;
  color:#5A4A2E!important;white-space:nowrap}
.lp-hero .lp-price b{
  line-height:1.05!important;
  font-size:clamp(1.7rem,1.1rem + 2.2vw,2.6rem)!important}

/* KV：北海道の地図を120%・20px右へ */
.kv-pref{
  width:min(43%,504px)!important;
  left:calc(var(--gutter) + min(40%,455px)/2 + 20px)!important}

/* KVのCTA帯：電話番号を20px左へ／帯の右端を詰めて左右の余白を揃える */
.hero-actions .cta[href^="tel:"]{transform:translateX(-20px)}


/* KVのCTA帯：左右の余白を揃える（両端に寄せる） */
.hero-actions-cta{
  grid-template-columns:auto auto auto!important;
  justify-content:space-between!important;
  column-gap:clamp(16px,2vw,32px)!important}

/* モデルケースは全エリア4件固定なので、横スクロールをやめて4列に並べる */
.lp-hscroll{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:var(--grid-gap)!important;
  overflow:visible!important;
  padding-bottom:0!important}
.lp-hc{min-width:0!important;width:auto!important;flex:none!important}
@media (max-width:1100px){
  .lp-hscroll{grid-template-columns:repeat(2,1fr)!important}
}
@media (max-width:640px){
  .lp-hscroll{grid-template-columns:1fr!important}
}

/* モデルケース：「MODEL CASE 01」と条件を別の行・別のデザインに */
.lp-hc .ck{display:block!important;min-height:0!important}
.ck-no{
  display:block;font-size:12px!important;letter-spacing:.12em;
  font-weight:700;color:var(--gold)!important;line-height:1.4}
.ck-sep{display:none!important}
.ck-cond{
  display:inline-block;margin-top:6px;
  padding:3px 10px;background:var(--gold-w);
  font-size:12px!important;font-weight:700;letter-spacing:.03em;
  color:var(--indigo-d)!important;line-height:1.5;white-space:nowrap}

/* 写真のトリミング位置（素材ごとに地面のラインを近づける） */
.lp-hc > img[src*="loc-1"]{object-position:50% 58%!important}
.lp-hc > img[src*="price-1"]{object-position:50% 66%!important}
.lp-hc > img[src*="about-grave"]{object-position:50% 46%!important}
.lp-hc > img[src*="price-6"]{object-position:50% 50%!important}

/* よくある質問：回答の頭に「A.」（彩度を抑えた茶色寄りの赤） */
.faq-a::before{
  content:"A. ";
  color:#9B4B3F;font-weight:700;
  font-family:'Shippori Mincho',serif;
  letter-spacing:.02em}

/* KV：人物の写真をさらに30px上へ（累計60px） */
.lp-hero .bg{top:calc(-20% - 60px)!important}

/* KVのCTA帯：内容幅に縮めて中央揃え／電話番号はさらに20px左・左右の余白を均等に */
.hero-actions{
  width:fit-content!important;
  margin-left:auto!important;margin-right:auto!important;
  max-width:calc(100% - 82px)!important}
.hero-actions-cta{
  grid-template-columns:auto auto auto!important;
  justify-content:center!important;
  column-gap:clamp(16px,2vw,32px)!important}
.hero-actions .cta[href^="tel:"]{
  transform:none!important;
  padding-left:24px!important;padding-right:24px!important;
  margin-right:-44px!important}

/* 幅が狭いときのCTA帯：LINE・フォームを上段、電話を下段全幅に */
@media (max-width:1100px){
  .hero-actions-cta{
    grid-template-columns:1fr 1fr!important;
    row-gap:14px!important}
  .hero-actions .cta[href*="line"],
  .hero-actions .cta[href*="contact"]{
    padding:12px 20px!important;justify-content:center!important}
  .hero-actions .cta[href^="tel:"]{
    grid-column:1 / -1!important;margin-right:0!important;
    padding:4px 0!important}
}

/* KVの電話番号：右をさらに20px、左を10px詰める */
.hero-actions .cta[href^="tel:"]{
  padding-left:14px!important;
  margin-right:-64px!important;
  margin-left:-10px!important}
@media (max-width:1100px){
  .hero-actions .cta[href^="tel:"]{margin-left:0!important;margin-right:0!important}
}

/* 2カラムのときも北海道→東北→…の順に */
@media (max-width:1040px){
  .pm-col-e{order:1!important}
  .pm-col-w{order:2!important}
}

/* ============ SP（〜900px）：KVを組み直す ============ */
@media (max-width:900px){
  .lp-hero{
    padding:0 0 4px!important;
    background:
      linear-gradient(rgba(243,237,226,.82),rgba(243,237,226,.82)),
      url("/assets/img/area/washi-1100.jpg") center/cover no-repeat,
      #EFE8DA!important}
  .lp-hero::before{display:none!important}
  .lp-hero::after{display:none!important}
  .lp-hero .bg{
    position:relative!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    transform:none!important;
    width:100%!important;height:auto!important;max-width:none!important;
    aspect-ratio:16/10!important;
    object-fit:cover!important;object-position:center 42%!important;
    border-radius:0!important;display:block!important;margin:0 0 20px!important}
  .kv-pref{display:none!important}
  .lp-hero .wrap{
    position:relative;display:block!important;
    min-height:0!important;
    padding:0 var(--gutter) 6px!important}
  .lp-hero .wrap>*,
  .lp-hero .lp-badges{
    max-width:none!important;margin:0 0 14px!important;text-align:left!important}
  .lp-hero h1{font-size:clamp(1.45rem,6.6vw,1.9rem)!important;margin-bottom:16px!important}
  .lp-hero .lp-price{
    grid-template-columns:1fr 1fr!important;
    grid-template-areas:"l1 l2" "p1 p2"!important;
    column-gap:10px!important;row-gap:5px!important}
  .lp-hero .lp-price b{font-size:clamp(1.25rem,6.4vw,1.75rem)!important}
  .lp-hero .lp-price b small{font-size:.6em!important}
  .lp-hero .lp-price span{
    font-size:10.5px!important;padding:3px 6px!important;
    white-space:normal!important;line-height:1.4!important}
  .lp-hero .lp-badges{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  .lp-hero .lp-badges span{font-size:12px!important;padding:5px 12px!important}
  .lp-hero .lp-lead{font-size:14px!important;line-height:1.9!important}
}

/* SP：KV下のCTA帯は縦積みに */
@media (max-width:640px){
  .hero-actions{
    width:auto!important;max-width:none!important;
    margin:0 var(--gutter) 4px!important;
    border-radius:var(--radius)!important;
    padding:16px 16px 18px!important}
  .hero-actions-cta{
    grid-template-columns:1fr!important;row-gap:10px!important;column-gap:0!important}
  .hero-actions .cta{
    padding:14px 18px!important;justify-content:center!important;
    white-space:nowrap!important;font-size:16px!important;
    border-radius:var(--rad-btn)!important}
  .hero-actions .cta .ar{display:none!important}
  .hero-actions .cta[href^="tel:"]{
    font-size:22px!important;margin:2px 0 0!important;padding:4px 0!important;
    flex-wrap:wrap!important}
  .hero-actions .cta[href^="tel:"] .tel-note{font-size:11.5px!important}
}

/* ============ SP：FLOWを縦1列のカードに ============ */
@media (max-width:1000px){
  .fw-steps{
    display:flex!important;flex-direction:column!important;
    gap:14px!important;margin-left:0!important;padding-left:0!important;padding-top:0!important}
  .fw-steps::before{display:none!important}
  .fw-step{
    display:block!important;position:relative;
    padding:0!important;min-height:0!important;
    background:#fff;border-radius:var(--radius);overflow:hidden}
  .fw-step:not(:last-child)::after{display:none!important}
  .fw-step .fw-step-ph{
    position:relative!important;display:block!important;
    width:100%!important;height:auto!important;min-height:0!important;
    aspect-ratio:16/9!important;flex:none!important;
    border-radius:0!important;margin:0!important;overflow:hidden}
  .fw-step .fw-step-ph img,.fw-step-ph img{
    position:absolute!important;inset:0!important;
    width:100%!important;height:100%!important;object-fit:cover!important}
  .fw-step .fw-step-ph .fw-no,
  .fw-no{
    position:absolute!important;top:10px!important;left:10px!important;right:auto!important;
    transform:none!important;
    width:auto!important;height:auto!important;
    display:inline-flex!important;flex-direction:row!important;
    align-items:baseline!important;gap:5px!important;
    background:rgba(34,48,63,.88)!important;color:#fff!important;
    border:none!important;box-shadow:none!important;
    border-radius:var(--rad-btn)!important;
    padding:5px 13px!important;font-size:11px!important;letter-spacing:.06em!important}
  .fw-no em{
    display:inline!important;margin:0!important;
    font-size:1.15rem!important;color:#fff!important;line-height:1}
  .fw-step .fw-step-b{padding:16px 16px 18px!important;display:block!important}
  .fw-step-b h3{font-size:1.05rem!important}
  .fw-roles{flex-direction:column!important;gap:8px!important;margin-top:12px!important}
  .fw-role{flex:none!important}
}

/* SP：リード文は左揃え（中央揃えだと行頭に句読点が落ちるため） */
@media (max-width:640px){
  .lp-sec .sec-lead{text-align:left!important;text-wrap:auto!important}
  .lp-sec h2.sub,.lp-sec .wrap>h2{text-wrap:balance}
}

/* SP：グリッドの列が中身の最小幅で膨らんで横にはみ出すのを防ぐ */
@media (max-width:900px){
  .lp-tips{grid-template-columns:minmax(0,1fr)!important}
  .lp-tips li{min-width:0!important}
  .lp-tips li>b,
  .lp-tips li>p{min-width:0!important;
    word-break:normal!important;line-break:auto!important;overflow-wrap:anywhere}
  .lp-tips li .tg{max-width:100%!important}
  .strength-list,.strength-item,.case,.grid-3,.lp-tiles,.post-grid,.sv-box,.lp-hscroll{
    grid-template-columns:minmax(0,1fr)!important}
  .lp-sec .card,.lp-tile,.post,.sv-row,.lp-hc,.strength-item{min-width:0!important}
}

/* ============ SP：見出し・監修・エリアの仕上げ ============ */
@media (max-width:640px){
  /* 見出しが折り返せずにあふれていたので、SPでは自然な折り返しを許可 */
  .lp-sec h2.sub,.lp-sec .wrap>h2,.pm-sec h2,
  .lp-fold>summary h2,.fcta h2{
    word-break:normal!important;line-break:strict!important;
    text-wrap:balance;
    font-size:clamp(1.1rem,5.4vw,1.45rem)!important;
    line-height:1.55!important}
  .lp-tips li>b,.fw-step-b h3,.lp-hc h3,.post h3{
    word-break:normal!important;line-break:strict!important}

  /* 監修：写真を上、本文を下に */
  .sv-box{gap:14px!important;margin-top:20px!important}
  .sv-row{
    grid-template-columns:1fr!important;gap:14px!important;
    padding:20px 18px!important;justify-items:start!important}
  .sv-av img{width:84px!important;height:84px!important}
  .sv-nm{font-size:19px!important}

  /* エリア：バッジと地図が重ならないように */
  .pm-mid{
    display:block!important;text-align:center}
  .pm-badge{margin:0 auto 12px!important}
  .pm-map{max-width:210px!important;margin:0 auto 6px!important}
  .pm-mid .lp-ctas{grid-template-columns:1fr!important}
}

/* SP：反転セクションの見出しが紺のままで読めなかったので白に／長い語が折り返せない箇所をまとめて解消 */
@media (max-width:900px){
  .lp-sec.is-invert h2.sub,
  .lp-sec.is-invert .wrap>h2,
  .lp-sec.is-invert h3{
    color:#fff!important;-webkit-text-fill-color:#fff!important}
  .lp-sec h3,.strength-copy h3,.lp-sec .card h3,
  .lp-sec p,.lp-sec li,.lp-sec td,.lp-sec th,.lp-sec b{
    word-break:normal!important;line-break:strict!important}
}

/* SP：REASON（反転セクション）の数字と本文が黒いままで読めなかったので戻す */
@media (max-width:900px){
  .lp-sec.is-invert .strength-label .number strong{color:var(--gold-l)!important}
  .lp-sec.is-invert .strength-label .number small{color:var(--gold-l)!important}
  .lp-sec.is-invert .strength-copy h3{color:#fff!important}
  .lp-sec.is-invert .strength-copy p{color:rgba(244,243,238,.86)!important}
  .lp-sec.is-invert .sec-lead{color:rgba(244,243,238,.86)!important}
}

/* ============ SP：見出しの改行位置とリード文の揃え（最終） ============ */
@media (max-width:900px){
  /* H2は文節を割らずに改行する（keep-all＋入りきらない時だけ折る） */
  .lp-sec h2.sub,.lp-sec .wrap>h2,.pm-sec h2,
  .lp-fold>summary h2,.fcta h2,.lp-hero h1{
    word-break:keep-all!important;
    line-break:strict!important;
    overflow-wrap:anywhere;
    text-wrap:balance}
  /* H2の下のリード文は左揃え */
  .lp-sec .sec-lead,.pm-lead,.fcta-lead{
    text-align:left!important;text-wrap:auto!important}
}
@media (max-width:900px){
  /* 文節が1行に収まるサイズに落として、語の途中や中黒のあとで折れないようにする */
  .lp-sec h2.sub,.lp-sec .wrap>h2,.pm-sec h2,
  .lp-fold>summary h2,.fcta h2{
    font-size:clamp(1.0rem,4.85vw,1.4rem)!important;
    letter-spacing:.01em!important}
}

/* ============ SP：追い込み ============ */
@media (max-width:900px){
  /* balanceだと「補助金・」で行が割れるのでprettyに */
  .lp-sec h2.sub,.lp-sec .wrap>h2,.pm-sec h2,
  .lp-fold>summary h2,.fcta h2{text-wrap:pretty!important}

  /* 表は横スクロールできるように／見出し行は14pxで改行しない */
  .tbl-scroll{
    overflow-x:auto!important;-webkit-overflow-scrolling:touch;
    scrollbar-width:thin}
  .tbl-scroll>table{min-width:640px}
  .lp-sec .hub-tbl th,.lp-sec .rtbl th,.lp-sec .tbl th,
  .lp-sec .lp-win th{
    font-size:14px!important;white-space:nowrap!important;
    padding:9px 10px!important}
  .lp-sec .hub-tbl td,.lp-sec .rtbl td{font-size:13px!important}
}

/* SP：FLOWは写真を左に小さく、本文を右に */
@media (max-width:1000px){
  .fw-step{
    display:grid!important;
    grid-template-columns:116px 1fr!important;
    gap:0!important;align-items:stretch!important}
  .fw-step .fw-step-ph{
    grid-column:1!important;grid-row:1!important;
    aspect-ratio:auto!important;height:100%!important;min-height:132px!important;
    width:100%!important;border-radius:0!important}
  .fw-step .fw-step-b{
    grid-column:2!important;grid-row:1!important;
    padding:14px 15px 16px!important}
  .fw-step .fw-step-ph .fw-no,
  .fw-no{
    top:8px!important;left:8px!important;
    padding:4px 9px!important;font-size:10px!important;gap:4px!important}
  .fw-no em{font-size:.95rem!important}
  .fw-step-b h3{font-size:.98rem!important;line-height:1.5!important}
  .fw-sum{font-size:13px!important;margin:4px 0 8px!important}
  .fw-step-b p{font-size:13px!important;line-height:1.8!important}
  .fw-dur{margin-left:0!important;margin-top:5px!important;font-size:12px!important}
  .fw-roles{gap:6px!important;margin-top:10px!important}
  .fw-role{font-size:12px!important;padding:6px 9px!important}
}

/* SP：表の見出し行を14pxで1行に／よくある質問の改行を自然に */
@media (max-width:900px){
  .lp-sec table th,.lp-fold table th{
    font-size:14px!important;white-space:nowrap!important;padding:9px 10px!important}
  .faq-q,.faq-a,
  .lp-fold .fb .faq-q,.lp-fold .fb .faq-a{
    word-break:normal!important;line-break:strict!important;
    text-wrap:pretty!important;text-align:left!important}
  .faq-q{font-size:16px!important;line-height:1.65!important}
  .faq-a{font-size:14px!important;line-height:1.9!important}
}
@media (max-width:900px){
  /* 表の見出し行（ID付きの指定に勝つように） */
  #madoguchi .tbl thead th,#madoguchi .tbl tr:first-child th,
  #madoguchi .hub-tbl th,#madoguchi table th,
  #data table th,#reien table th,
  .lp-sec .tbl thead th,.lp-sec .tbl tr:first-child th{
    font-size:14px!important;white-space:nowrap!important;
    padding:9px 10px!important;line-height:1.5!important}
}

/* SP：エリアのCTAボタンは中央揃え／バッジの数字が切れないように／地図を大きく */
@media (max-width:640px){
  .pm-mid .lp-cta{justify-content:center!important;text-align:left}
  .pm-badge{
    width:112px!important;height:112px!important;
    padding:8px!important;margin:0 auto 14px!important}
  .pm-badge small{font-size:10px!important}
  .pm-badge b{font-size:32px!important}
  .pm-badge b em{font-size:9.5px!important}
  .pm-map{max-width:290px!important;margin:0 auto 10px!important}
}

/* エリアのCTA：LINEのアイコンが空だったのでSVGを入れる（PC・SP共通） */
.lp-ctas .lp-cta[href*="line"] .ic{
  font-size:0!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.4c0 4.1-4 7.5-9 7.5-.9 0-1.8-.1-2.6-.3L4 21l1.4-3.6C3.9 15.9 3 13.8 3 11.4 3 7.3 7 4 12 4s9 3.3 9 7.4Z'/%3E%3C/svg%3E")!important;
  background-size:21px 21px!important;
  background-position:center!important;
  background-repeat:no-repeat!important}

/* SP：全国47バッジの数字が紺のままで読めなかったので白に */
@media (max-width:900px){
  .pm-badge b,.pm-badge b em{
    color:#fff!important;-webkit-text-fill-color:#fff!important}
  .pm-badge small{color:#E8CF8A!important;-webkit-text-fill-color:#E8CF8A!important}
}

/* ============ SP：FLOWは丸写真を見出しの横に ============ */
@media (max-width:1000px){
  .fw-step{
    display:block!important;position:relative!important;
    grid-template-columns:none!important;
    padding:18px 16px 16px!important}
  .fw-step .fw-step-ph{
    position:absolute!important;top:18px!important;left:16px!important;
    width:74px!important;height:74px!important;min-height:0!important;
    aspect-ratio:1/1!important;
    border-radius:50%!important;overflow:hidden!important;
    margin:0!important;grid-column:auto!important;grid-row:auto!important}
  .fw-step .fw-step-ph img,.fw-step-ph img{
    position:absolute!important;inset:0!important;
    width:100%!important;height:100%!important;object-fit:cover!important}
  .fw-step .fw-step-ph .fw-no,
  .fw-no{
    position:absolute!important;
    top:20px!important;left:90px!important;right:auto!important;
    transform:none!important;
    display:inline-flex!important;flex-direction:row!important;
    align-items:baseline!important;gap:4px!important;
    width:auto!important;height:auto!important;
    background:var(--gold-w)!important;color:var(--gold)!important;
    border:none!important;box-shadow:none!important;
    border-radius:var(--rad-btn)!important;
    padding:3px 10px!important;font-size:10px!important;letter-spacing:.06em!important}
  .fw-no em{font-size:.9rem!important;color:var(--indigo-d)!important;margin:0!important;display:inline!important}
  .fw-step .fw-step-b{
    padding:0!important;display:block!important;
    grid-column:auto!important;grid-row:auto!important}
  .fw-step-b h3{
    padding-left:90px!important;min-height:52px!important;
    margin:26px 0 0!important;
    display:flex!important;align-items:center!important;
    font-size:1.0rem!important;line-height:1.5!important}
  .fw-dur{margin-left:8px!important;margin-top:0!important}
  .fw-sum{margin-top:12px!important}
}

/* SP：FLOWは丸写真を右、見出し〜金色の要約は左に */
@media (max-width:1000px){
  .fw-step .fw-step-ph{
    left:auto!important;right:16px!important;top:18px!important}
  .fw-step .fw-step-ph .fw-no,
  .fw-no{
    top:18px!important;left:16px!important;right:auto!important}
  .fw-step-b h3{
    padding-left:0!important;padding-right:92px!important;
    min-height:0!important;margin:26px 0 0!important;
    display:block!important}
  .fw-dur{
    margin-left:10px!important;white-space:nowrap!important;
    vertical-align:middle!important}
  .fw-sum{
    padding-right:92px!important;margin-top:10px!important}
}

/* SP：FLOWの丸写真はfloatで右へ（バッジをカード基準で置けるように） */
@media (max-width:1000px){
  .fw-step .fw-step-ph{
    position:static!important;float:right!important;
    width:74px!important;height:74px!important;
    margin:0 0 10px 14px!important;
    border-radius:50%!important;overflow:hidden!important;
    aspect-ratio:1/1!important;display:block!important}
  .fw-step .fw-step-ph img,.fw-step-ph img{
    position:static!important;inset:auto!important;
    width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
  .fw-step .fw-step-ph .fw-no,
  .fw-no{
    position:absolute!important;
    top:16px!important;left:16px!important;right:auto!important;bottom:auto!important;
    z-index:3!important}
  .fw-step-b h3{padding-right:0!important;margin-top:26px!important}
  .fw-sum{padding-right:0!important}
}

/* エリア：現在地の県（紺のチップ）の市名が暗くて読めなかったので白に */
.pm-chip.is-current .pm-cities a{
  color:rgba(255,255,255,.86)!important;
  text-decoration-color:rgba(255,255,255,.45)!important}
.pm-chip.is-current .pm-sep{color:rgba(255,255,255,.42)!important}

/* KV下の紺の帯は、他セクションのコンテンツ幅にぴったり合わせる */
.hero-actions{
  width:auto!important;
  max-width:min(calc(var(--content) - var(--gutter) * 2), calc(100% - var(--gutter) * 2))!important;
  margin-left:auto!important;margin-right:auto!important;
  box-sizing:border-box!important}

/* PC：FLOWの写真もSPと同じ正円に（上下左右に余白） */
@media (min-width:1001px){
  .fw-step{grid-template-columns:112px 1fr 228px!important}
  .fw-step .fw-step-ph{
    width:184px!important;height:184px!important;
    min-height:0!important;max-height:184px!important;
    border-radius:50%!important;overflow:hidden!important;
    justify-self:center!important;align-self:center!important;
    margin:22px 0!important;
    display:block!important;flex:none!important}
  .fw-step .fw-step-ph img,.fw-step-ph img{
    width:100%!important;height:100%!important;
    object-fit:cover!important;display:block!important;
    position:static!important;inset:auto!important;flex:none!important}
}

/* モデルケース：余白を切った画像は素材どおりに見せる */
.lp-hc > img[src*="loc-1-trim"]{object-position:50% 52%!important}
.lp-hc > img[src*="price-1-trim"]{object-position:50% 58%!important}
.lp-hc > img[src*="about-grave-trim"]{object-position:50% 44%!important}
.lp-hc > img[src*="price-6-trim"]{object-position:50% 50%!important}

/* KVの帯：ボタン群を15px右へ／電話番号を110%に */
@media (min-width:1101px){
  .hero-actions-cta{transform:translateX(15px)}
  .hero-actions .cta[href^="tel:"]{font-size:28.2px!important}
}

/* 実績タイルの下に余白 */
.lp-tiles{margin-bottom:40px!important}

/* エリアのCTAボタン：中身を中央に揃える */
.pm-mid .lp-ctas .lp-cta{justify-content:center!important}
.pm-mid .lp-ctas .lp-cta .tx{text-align:center!important}
.pm-mid .lp-ctas .lp-cta .tx b,
.pm-mid .lp-ctas .lp-cta .tx small{display:block;text-align:center!important}

/* ============ CTAのアイコンをページ全体で統一（共通パーツは除く） ============ */
/* KVのアイコンは130%に */
.hero-actions .cta::before{width:25px!important;height:25px!important}

/* 各ボタンの丸アイコンを、KVと同じ3種（吹き出し・受話器・封筒）に差し替え */
.lps-cta .lp-cta .ic > svg,
.lp-ctas .lp-cta .ic > svg{display:none!important}
.lps-cta .lp-cta .ic,
.lp-ctas .lp-cta .ic{
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:22px 22px!important;
  font-size:0!important}
.lps-cta .lp-cta.line .ic,
.lp-ctas .lp-cta.line .ic{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.4c0 4.1-4 7.5-9 7.5-.9 0-1.8-.1-2.6-.3L4 21l1.4-3.6C3.9 15.9 3 13.8 3 11.4 3 7.3 7 4 12 4s9 3.3 9 7.4Z'/%3E%3C/svg%3E")!important}
.lp-ctas .lp-cta.tel .ic{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a12 12 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E")!important}
.lps-cta .lp-cta.form .ic,
.lp-ctas .lp-cta.form .ic{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3.6 6.6 8.4 5.9 8.4-5.9'/%3E%3C/svg%3E")!important}

/* CONTACTのボタンも同じアイコンに */
.fc-btns .fc-btn > svg{display:none!important}
.fc-btns .fc-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:10px}
.fc-btns .fc-btn::before{
  content:"";flex:none;width:21px;height:21px;
  background:center/contain no-repeat}
.fc-btns .fc-line::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.4c0 4.1-4 7.5-9 7.5-.9 0-1.8-.1-2.6-.3L4 21l1.4-3.6C3.9 15.9 3 13.8 3 11.4 3 7.3 7 4 12 4s9 3.3 9 7.4Z'/%3E%3C/svg%3E")}
.fc-btns .fc-form::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3.6 6.6 8.4 5.9 8.4-5.9'/%3E%3C/svg%3E")}

/* シミュレーター等のボタン：中身を中央に、右端に矢印 */
.lps-cta .lp-cta,
.lp-ctas .lp-cta{
  position:relative!important;
  justify-content:center!important;
  padding-right:52px!important}
.lps-cta .lp-cta .tx,
.lp-ctas .lp-cta .tx{text-align:center!important}
.lps-cta .lp-cta::after,
.lp-ctas .lp-cta::after{
  content:"";position:absolute;right:16px;top:50%;
  transform:translateY(-50%);
  width:26px;height:26px;border-radius:50%;
  background:rgba(255,255,255,.22)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6'/%3E%3C/svg%3E")
    center/14px 14px no-repeat}

/* アイコンの見た目の大きさを3つで揃える（形の違いで受話器は小さく、封筒は大きく見えるため） */
.lps-cta .lp-cta.line .ic,
.lp-ctas .lp-cta.line .ic{background-size:23px 23px!important}
.lp-ctas .lp-cta.tel .ic{background-size:25px 25px!important}
.lps-cta .lp-cta.form .ic,
.lp-ctas .lp-cta.form .ic{background-size:21px 21px!important}
.hero-actions .cta[href*="line"]::before{width:25px!important;height:25px!important}
.hero-actions .cta[href^="tel:"]::before{width:27px!important;height:27px!important}
.hero-actions .cta[href*="contact"]::before{width:23px!important;height:23px!important}
.fc-btns .fc-line::before{width:22px;height:22px}
.fc-btns .fc-form::before{width:20px;height:20px}

/* 矢印のぶんテキストが窮屈だったので詰める */
.lps-cta .lp-cta,
.lp-ctas .lp-cta{padding-right:44px!important}
.lps-cta .lp-cta::after,
.lp-ctas .lp-cta::after{right:12px;width:24px;height:24px;background-size:13px 13px}

/* KVのLINE・フォーム：アイコンを半透明の丸に載せる／右の矢印は丸をやめて120%に */
.hero-actions .cta[href*="line"]::before,
.hero-actions .cta[href*="contact"]::before{
  width:40px!important;height:40px!important;
  border-radius:50%!important;
  background-color:rgba(255,255,255,.22)!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:22px 22px!important}
/* 緑地なのでLINEのアイコンも白に */
.hero-actions .cta[href*="line"]::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.4c0 4.1-4 7.5-9 7.5-.9 0-1.8-.1-2.6-.3L4 21l1.4-3.6C3.9 15.9 3 13.8 3 11.4 3 7.3 7 4 12 4s9 3.3 9 7.4Z'/%3E%3C/svg%3E")!important}
.hero-actions .cta[href*="contact"]::before{background-size:21px 21px!important}
.hero-actions .cta .ar{
  background:none!important;border:none!important;box-shadow:none!important;
  width:auto!important;height:auto!important;padding:0!important}
.hero-actions .cta .ar svg{
  width:15px!important;height:15px!important;stroke:#fff!important}

/* KVの矢印：丸を確実に消して130%に */
.hero-actions .hero-actions-cta .cta .ar,
.hero-actions .cta.cta-gold .ar,
.hero-actions .cta.cta-white .ar,
.hero-actions .cta[href*="contact"] .ar{
  background:none!important;background-color:transparent!important;
  border:none!important;box-shadow:none!important;
  width:auto!important;height:auto!important;
  min-width:0!important;min-height:0!important;
  padding:0!important;border-radius:0!important}
.hero-actions .hero-actions-cta .cta .ar svg,
.hero-actions .cta.cta-gold .ar svg,
.hero-actions .cta.cta-white .ar svg{
  width:20px!important;height:20px!important;stroke:#fff!important}

/* KV：アイコンは丸なしで130%／矢印に半透明の丸を戻す */
.hero-actions .cta[href*="line"]::before,
.hero-actions .cta[href*="contact"]::before{
  border-radius:0!important;
  background-color:transparent!important;
  background-size:contain!important}
.hero-actions .cta[href*="line"]::before{width:25px!important;height:25px!important}
.hero-actions .cta[href*="contact"]::before{width:23px!important;height:23px!important}

.hero-actions .hero-actions-cta .cta .ar,
.hero-actions .cta.cta-gold .ar,
.hero-actions .cta.cta-white .ar{
  display:inline-flex!important;align-items:center;justify-content:center;
  width:24px!important;height:24px!important;
  border-radius:50%!important;
  background-color:rgba(255,255,255,.24)!important;
  flex:none!important;padding:0!important}
.hero-actions .hero-actions-cta .cta .ar svg,
.hero-actions .cta.cta-gold .ar svg,
.hero-actions .cta.cta-white .ar svg{
  width:13px!important;height:13px!important;stroke:#fff!important}
.hero-actions .cta[href^="tel:"] .ar{display:none!important}

/* シミュレーター・エリアのボタンもKVと同じ形に（アイコンは丸なし／矢印に丸） */
.lps-cta .lp-cta .ic,
.lp-ctas .lp-cta .ic{
  background-color:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;border:none!important;
  min-width:0!important;min-height:0!important;
  flex:none!important;
  background-size:contain!important;
  margin-right:2px!important}
.lps-cta .lp-cta.line .ic,
.lp-ctas .lp-cta.line .ic{width:25px!important;height:25px!important}
.lp-ctas .lp-cta.tel .ic{width:27px!important;height:27px!important}
.lps-cta .lp-cta.form .ic,
.lp-ctas .lp-cta.form .ic{width:23px!important;height:23px!important}
.lps-cta .lp-cta,
.lp-ctas .lp-cta{gap:12px!important}
.lps-cta .lp-cta::after,
.lp-ctas .lp-cta::after{
  width:24px!important;height:24px!important;
  background-color:rgba(255,255,255,.24)!important;
  background-size:13px 13px!important;
  right:14px!important}

/* シミュレーターのボタンはアイコンを130%に */
.lps-cta .lp-cta.line .ic{width:33px!important;height:33px!important}
.lps-cta .lp-cta.form .ic{width:30px!important;height:30px!important}

/* エリアのボタン：アイコンは左端で位置を揃え、テキストは中央に */
.lp-ctas .lp-cta{
  position:relative!important;
  padding-left:58px!important;padding-right:46px!important;
  justify-content:center!important}
.lp-ctas .lp-cta .ic{
  position:absolute!important;
  left:30px!important;top:50%!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important}
.lp-ctas .lp-cta .tx{
  width:100%!important;text-align:center!important}

/* エリアのボタン：左のアイコンを20px右へ */
.lp-ctas .lp-cta{padding-left:78px!important}
.lp-ctas .lp-cta .ic{left:50px!important}

/* SP：KVのタイトルを大きく／左揃えのリード文はPC用の改行を効かせない */
@media (max-width:900px){
  .lp-hero h1{
    font-size:clamp(1.7rem,8.2vw,2.3rem)!important;
    line-height:1.4!important;margin-bottom:18px!important}
  .lp-hero .lp-lead br,
  .lp-sec .sec-lead br,
  .pm-lead br,.fcta-lead br{display:none!important}
}

/* SP：リード文は左揃え・行を詰めて改行を減らす（keep-allで読点ごとに折れていたため） */
@media (max-width:900px){
  .lp-hero .lp-lead,
  .lp-sec .sec-lead,.pm-lead,.fcta-lead{
    word-break:normal!important;line-break:strict!important;
    text-wrap:auto!important;text-align:left!important}
}

/* SP：H2が小さすぎたので大きくする（折り返しは自然に任せる） */
@media (max-width:900px){
  .lp-sec h2.sub,.lp-sec .wrap>h2,.pm-sec h2,
  .lp-fold>summary h2,.fcta h2{
    font-size:clamp(1.25rem,5.9vw,1.7rem)!important;
    line-height:1.55!important;letter-spacing:.02em!important;
    word-break:normal!important;line-break:strict!important;
    overflow-wrap:normal!important;
    text-wrap:pretty!important}
}
@media (max-width:900px){
  /* SPのH2をさらに4px上げる */
  .lp-sec h2.sub,.lp-sec .wrap>h2,.pm-sec h2,
  .lp-fold>summary h2,.fcta h2{
    font-size:clamp(1.5rem,6.97vw,2rem)!important}
}

/* SP：H2は24px。改行は文節の区切りで折る（語の途中で割らない） */
@media (max-width:900px){
  .lp-sec h2.sub,.lp-sec .wrap>h2,.pm-sec h2,
  .lp-fold>summary h2,.fcta h2{
    font-size:clamp(1.4rem,6.4vw,1.85rem)!important;
    line-height:1.5!important;
    word-break:auto-phrase!important;
    overflow-wrap:normal!important;
    text-wrap:pretty!important}
}

/* 見出しの塊（語句・括弧）は途中で割らずに、塊ごとに折り返す */
.lp-sec h2 .nb,.pm-sec h2 .nb,.fcta h2 .nb{
  display:inline-block;
  word-break:auto-phrase;
  vertical-align:top}
@media (max-width:900px){
  /* SIMULATORのリード文だけ中央揃えの個別指定が残っていたので左揃えに */
  .lp-sec.is-gold .sec-lead,
  #sim .sec-lead,#sim.lp-sec .sec-lead{
    text-align:left!important;white-space:normal!important}
}
