/* ══════════════════════════════════════════════════════════
   実家・空き家の片付けページ 専用の見た目
   style.css のあとに読み込む。このページだけに効く。

   【この版の方針】
   ・外枠なし。背景は画面いっぱい。中身の幅は 1160px、スマホの左右余白は 24px（狭い画面は20px）。
   ・背景固定・パララックス・写真を留める演出は無し。ぜんぶ普通のスクロール。
   ・情報に強弱をつける：大きく見せる所／中くらい／小さく添える所。
   ・白い角丸カードを並べすぎない。囲みは必要な所だけ。
   ・動きは「登場」と「操作への反応」だけ。
   ══════════════════════════════════════════════════════════ */

:root{
  --main:#4A3A8C; --main-d:#3A2D70; --main-l:#9A8FC7;
  --lav:#EAE2FA;          /* ラベンダーの面 */
  --lav-pale:#F6F2FC;     /* ごく薄い紫 */
  --cream:#FFF9EF;        /* クリーム */
  --yl:#F5D86E;           /* 小さなアクセントの黄色 */
  --navy:#302A3C; --navy-d:#241F2D;
  --ink:#302A3C; --ink2:#5C5468; --ink3:#7A7287;
  --line:#E7E0F2;
  --main-pale:#F6F2FC;
  --bg-blue:#F6F2FC; --bg-ivory:#FFF9EF;
  --sh:0 1px 6px rgba(48,42,60,.05);
  --r-photo:20px;  /* 写真の角丸 */
  --r-card:20px;   /* カード・囲みの角丸 */
  --r-panel:28px;  /* 大きなパネルの角丸 */
  --ezr:cubic-bezier(.22,.7,.3,1);   /* 登場：やわらかく減速 */
}

html,body{background:#fff;}
body{color:var(--ink);font-weight:400;line-height:1.8;}
.k-head p,.k-feat .d,.k-small .d,.k-case .d,.k-feemain .sub,.k-feegroup .sub,
.k-why-list li,.k-steps .d,.k-step3 .d,.k-kv dd,.k-note,.faq .a,.k-feelist .ds,
.k-note1 p,.k-domain-tx li,.k-strength-sub,.k-more-fee figcaption,
.k-caselabels li,.k-feelist-wrap .sub{font-weight:400;}
/* 最後の行に1〜2文字だけ残らないようにする（対応していない端末はこれまで通り折り返す） */
h1,h2,h3,.k-head p,.k-feat .t,.k-feat .d,.k-small .t,.k-small .d,.k-strength-sub,
.k-case .d,.k-feemain .sub,.k-feegroup .sub,.k-paybox .sub,.k-why-list li,.k-domain-tx li,
.k-steps .t,.k-steps .d,.k-step3 .d,.k-kv dd,.k-note,.k-note1 p,.faq summary,.faq .a,
.k-final p,.k-feelist .nm,.k-feelist .ds,.k-more-fee figcaption,.k-feelist-wrap .sub{text-wrap:pretty;}

/* 太さで引っぱる。書体はトップページと同じ標準ゴシック(--go)。 */
h1,h2,h3,.btn,.k-bignum,.k-step3 .t,.k-case .ttl,.k-feemain h3,.k-feegroup h3,
.k-feelist .pr,.faq summary,.k-bubble,.k-feat .t,.k-small .t,.k-steps .t,
.k-nophoto span,.k-case .tag,.k-tel,.k-tel .n,.k-ba figcaption span,
.k-pays li,.k-paybox h3,.k-note1 b,.k-areamain,.k-areasub span,.k-domain-tx b,.k-faqcat,
.k-related h3,.k-more > summary{font-weight:900;}
h1,h2,h3{letter-spacing:-.015em;line-height:1.3;}

/* ── 見出しを「意味のまとまり」で折り返す ── */
.k-ln{display:inline-block;max-width:100%;}
h1 .k-ln,h2 .k-ln,h3 .k-ln,.k-areamain .k-ln,.k-domain-tx b .k-ln{white-space:nowrap;}
@media(max-width:639px){
  .k-ln{display:block;}
  wbr{display:none;}
}

/* ── 共通の幅 ── */
.k-wrap{max-width:1160px;margin-inline:auto;padding-inline:24px;}
@media(max-width:400px){.k-wrap{padding-inline:20px;}}
.k-narrow{max-width:900px;margin-inline:auto;}

.k-sec{position:relative;padding-block:clamp(54px,7vw,104px);}
.k-sec.cream{background:var(--cream);}
.k-sec.lav{background:var(--lav-pale);}
.k-sec.white{background:#fff;}

.k-head{margin-bottom:clamp(30px,3.8vw,46px);}
.k-head h2{font-size:clamp(24px,5.6vw,42px);color:var(--ink);line-height:1.34;}
.k-head h3{font-size:clamp(21px,3.6vw,30px);color:var(--ink);line-height:1.34;}
.k-head h2 em,.k-head h3 em{font-style:normal;color:var(--main);}
.k-head p{margin-top:15px;font-size:clamp(15px,1.3vw,17px);color:var(--ink2);line-height:1.9;}
.k-head.center{text-align:center;}
.k-head.center p{margin-inline:auto;max-width:44em;}
@media(max-width:639px){.k-head.center p{text-align:left;}}
.k-head-sm{margin-top:48px;margin-bottom:0;}
.k-head-sm h2{font-size:clamp(20px,4.4vw,27px);}

.hd{box-shadow:none;border-bottom:1px solid var(--line);}
.hd .b b{font-weight:900;}

/* ══════════ ① ファーストビュー ══════════ */
/* 電車の中吊り広告のように、言葉とイラストが頭に残る形。
   背景はクリーム1色。淡いラベンダーの形はイラストの周りだけを包む。
   パララックス・背景固定・黄色の線・キャラクターは使わない。 */
.k-hero{position:relative;background:var(--cream);overflow:hidden;
  padding-block:clamp(14px,2.2vw,34px) clamp(44px,5.4vw,76px);}
.k-hero-in{position:relative;z-index:1;display:flex;flex-direction:column;}

/* 地域・サービス名。左に短い紫の帯。 */
.k-eyebrow{display:flex;align-items:center;gap:10px;
  font-size:clamp(13px,1.2vw,16.5px);font-weight:700;color:var(--main-d);
  letter-spacing:.02em;line-height:1.6;}
.k-eyebrow::before{content:"";flex:none;width:4px;height:1.05em;
  background:var(--main);border-radius:2px;}

/* メインコピー。2行は同じ大きさ。行間はゆったりめ（1.34）。 */
.k-hero h1{margin-top:clamp(10px,1.4vw,18px);
  font-size:clamp(24px,7.2vw,34px);font-weight:900;
  color:var(--main-d);line-height:1.34;letter-spacing:-.018em;}
/* 2行とも同じ濃い紫。色は分けない。 */

/* イラスト。背後の淡いラベンダーは、イラストの周りを包むだけ。 */
.k-heroart{position:relative;z-index:1;margin:0;}
.k-heroart::before{content:"";position:absolute;z-index:0;
  inset:-6% -8% -8%;background:var(--lav);
  border-radius:47% 53% 55% 45%/53% 47% 53% 47%;}
.k-heroart img{position:relative;z-index:1;display:block;
  width:100%;height:auto;margin-inline:auto;}

/* ストーリー。3つのまとまりで強弱をつける（全部は太くしない）。
   指定の改行（brw）は640px以上だけ効かせ、スマホでは自然に流す。 */
.k-story{margin-top:clamp(26px,3.6vw,46px);max-width:30em;}
.k-story p{margin:0;text-wrap:pretty;}
.k-story p + p{margin-top:clamp(22px,2.5vw,30px);}
.k-story .s-lead{font-size:clamp(17px,1.72vw,22px);font-weight:700;
  line-height:1.72;color:var(--main-d);}
.k-story .s-body{font-size:clamp(16px,1.4vw,17.5px);font-weight:400;
  line-height:1.85;color:var(--ink);}
.k-story .s-close{font-size:clamp(16.5px,1.58vw,20px);font-weight:700;
  line-height:1.76;color:var(--main-d);}
.k-story .s-close b{font-weight:900;}
@media(max-width:639px){
  /* 長い本文はスマホで自然に流す（パソコン用の改行は外す）。 */
  .brw{display:none;}
  .k-story p{text-wrap:balance;}
  /* ただし短い2行は、スマホでも書いたとおりに改行する。
     自然に流すと「荷物／は、」のように言葉の途中で切れてしまうため。 */
  .s-lead .brw,.s-close .brw{display:inline;}
  .s-lead,.s-close{text-wrap:pretty;}
}

/* LINEボタンと、その下の小さな文字 */
.k-herobtn{margin-top:clamp(28px,3.6vw,46px);display:flex;flex-direction:column;
  gap:10px;max-width:420px;}
.k-herobtn .btn{max-width:420px;min-height:58px;border-radius:999px;font-size:18px;}
.k-nophoto{margin-top:12px;font-size:14.5px;line-height:1.75;color:var(--ink2);}

/* 電話案内。ボタンと張り合わない強さ。受付時間は番号より控えめ。 */
.k-tel{display:grid;grid-template-columns:auto 1fr;column-gap:9px;
  width:fit-content;margin-top:clamp(20px,2.2vw,26px);padding:3px 0;color:var(--main-d);}
.k-tel svg{grid-column:1;grid-row:1;width:19px;height:19px;fill:currentColor;align-self:center;}
.k-tel .n{grid-column:2;grid-row:1;font-size:19px;line-height:1.5;}
.k-tel u{text-underline-offset:4px;}
.k-tel small{grid-column:2;font-weight:600;color:var(--ink3);font-size:12.5px;line-height:1.7;}

/* ファーストビューの電話だけ、上に区切り線を引いて横一列に並べる。 */
.k-tel-row{display:flex;align-items:center;flex-wrap:wrap;column-gap:9px;row-gap:5px;
  width:100%;max-width:none;margin-top:clamp(24px,2.6vw,34px);
  border-top:1px solid var(--line);padding-top:clamp(13px,1.4vw,17px);}
.k-tel-row svg{width:20px;height:20px;}
.k-tel-row .n{font-size:clamp(21px,1.8vw,23px);letter-spacing:.01em;}
/* 受付の2つは必ずひとかたまり。入りきらない時だけ、2つそろって次の行へ。 */
.k-tel-row .note{display:flex;align-items:center;column-gap:9px;}
.k-tel-row small{font-weight:600;color:var(--ink2);font-size:clamp(12.5px,1vw,13px);
  line-height:1.7;white-space:nowrap;}
.k-tel-row .note::before,.k-tel-row small + small::before{
  content:"";display:inline-block;flex:none;width:1px;height:1em;
  background:var(--line);}

/* スマホ：地域名 → コピー → イラスト → ストーリー → ボタン → 電話 */
@media(max-width:899px){
  .k-heroart{margin:clamp(18px,4vw,26px) 0 0;}
  /* 画面の端で形が切れて見えないよう、左右のはみ出しを小さくする */
  .k-heroart::before{inset:-5% -4% -5%;}
  /* 電話は「番号」と「受付時間」を別の行に。行頭に区切り線が残らないようにする。 */
  .k-tel-row .note{flex:0 0 100%;}
  .k-tel-row .note::before{display:none;}
  .k-hero-bottom{margin-top:clamp(22px,4vw,30px);}
}
/* パソコン：左に言葉、右にイラスト。左右はおよそ50：50。 */
@media(min-width:900px){
  .k-hero-in{display:grid;grid-template-columns:1.08fr 1fr;
    grid-template-areas:"top art" "bot art";align-items:center;
    column-gap:clamp(36px,4.4vw,64px);row-gap:clamp(24px,2.6vw,34px);}
  .k-hero-top{grid-area:top;align-self:end;}
  .k-hero-bottom{grid-area:bot;align-self:start;}
  .k-heroart{grid-area:art;}
  .k-heroart img{max-width:560px;}
  /* 画面が広いほど大きく。左の列（約528px）に「ずっと気になっている。」
     11文字が1行で収まる上限が47px。これを超えると3行に割れる。 */
  .k-hero h1{font-size:min(3.7vw,47px);}
}

/* ══════════ ② 兵庫県、まるごと。作業は、24時間。 ══════════ */
.k-strength{background:var(--lav);padding-block:clamp(48px,6vw,86px);}
.k-areamain{margin:0;text-align:center;font-size:clamp(25px,4.6vw,42px);
  font-weight:900;color:var(--main-d);line-height:1.3;letter-spacing:-.015em;}
.k-areasub{margin:16px 0 0;text-align:center;}
.k-areasub span{display:inline-block;background:#fff;border-radius:999px;
  padding:10px 20px;font-size:16px;font-weight:900;color:var(--main-d);}
.k-strength-sub{margin:clamp(18px,2.2vw,26px) auto 0;max-width:40em;text-align:center;
  font-size:15.5px;color:var(--ink2);line-height:1.95;}

/* ══════════ 3つ並び（囲みなし・紫のアイコン） ══════════ */
.k-feat{list-style:none;margin:0;padding:0;display:grid;gap:32px;}
@media(min-width:820px){.k-feat{grid-template-columns:repeat(3,1fr);gap:44px;}}
.k-feat li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:13px;}
.k-feat .i{flex:none;display:flex;align-items:center;justify-content:center;
  width:62px;height:62px;border-radius:50%;background:var(--lav);}
.k-feat .i svg{width:30px;height:30px;fill:var(--main);}
.k-feat .t{display:block;font-size:18px;color:var(--ink);line-height:1.5;}
.k-feat .d{display:block;margin-top:8px;font-size:14.5px;line-height:1.9;
  color:var(--ink2);max-width:21em;margin-inline:auto;}

/* ══════════ ④ 事例（1件目を大きく） ══════════ */
.k-ba{position:relative;margin:0;border-radius:var(--r-photo);overflow:hidden;background:var(--lav);}
.k-ba img{width:100%;height:auto;display:block;}
.k-ba figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;}
.k-ba figcaption span{flex:1;text-align:center;padding:9px 4px;
  font-size:13px;color:#fff;letter-spacing:.04em;background:rgba(48,42,60,.74);}
.k-ba figcaption span:last-child{background:rgba(74,58,140,.9);}

/* 1件目は大きく。見出しとラベルが短いので、横に並べず写真の下に置く */
.k-case-main{margin:0 auto clamp(36px,4.2vw,56px);max-width:860px;}
.k-case-main .body{padding:18px 2px 0;}
.k-case-main .ttl{font-size:clamp(21px,2.6vw,28px);}
.k-caselabels{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 0;padding:0;}
.k-caselabels li{background:#fff;border:1px solid var(--line);border-radius:999px;
  padding:6px 13px;font-size:13px;color:var(--ink2);}
.k-caselabels .tag{background:var(--lav);border-color:var(--lav);color:var(--main-d);font-weight:700;}

.k-cases{display:grid;gap:28px;}
@media(min-width:700px){.k-cases{grid-template-columns:1fr 1fr;gap:32px;}}
.k-case .body{padding:15px 2px 0;}
.k-case .tag{display:inline-block;background:var(--lav);color:var(--main-d);
  font-size:12.5px;padding:6px 13px;border-radius:999px;}
.k-case .ttl{display:block;margin-top:11px;font-size:18px;color:var(--ink);}
.k-case .d{margin-top:8px;font-size:15px;color:var(--ink2);line-height:1.9;}
.k-note{margin-top:28px;font-size:14px;color:var(--ink3);line-height:1.9;}

/* ══════════ ⑤ 対応内容（大・中・小） ══════════ */
.k-domain{display:grid;gap:clamp(26px,3vw,40px);align-items:start;}
@media(min-width:900px){.k-domain{grid-template-columns:1.12fr 1fr;gap:clamp(32px,3.6vw,56px);}}
.k-domain-tx{background:var(--lav);border-radius:var(--r-panel);
  padding:clamp(28px,3.4vw,44px) clamp(22px,3vw,40px);}
.k-domain-tx b{display:block;font-size:clamp(19px,2.3vw,25px);color:var(--main-d);line-height:1.4;}
.k-domain-tx ul{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;}
.k-domain-tx li{position:relative;padding-left:27px;font-size:15.5px;color:var(--ink);line-height:1.85;}
.k-domain-tx li::before{content:"";position:absolute;left:0;top:10px;
  width:13px;height:13px;border-radius:50%;background:#fff;
  box-shadow:inset 0 0 0 3.5px var(--main);}
@media(max-width:400px){
  .k-domain-tx{padding-inline:18px;}
  .k-domain-tx li{font-size:15px;}
}
/* 小さく添える3つ */
.k-small{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px;}
.k-small li{display:flex;align-items:flex-start;gap:14px;}
.k-small .i{flex:none;display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:50%;background:var(--lav-pale);}
.k-small .i svg{width:22px;height:22px;fill:var(--main);}
.k-small .t{display:block;font-size:16px;color:var(--ink);line-height:1.5;}
.k-small .d{display:block;margin-top:5px;font-size:14px;color:var(--ink2);line-height:1.85;}

.k-care{margin-top:clamp(46px,5.4vw,78px);}
.k-care .k-head{margin-bottom:clamp(26px,3vw,38px);}

/* ══════════ ⑥ 料金 ══════════
   数字を主役にしない。項目名と金額を同じくらいの強さにする。 */
.k-feelist-wrap{margin-top:clamp(40px,4.6vw,64px);}
.k-feelist-wrap h3,.k-assure h3,.k-more-fee > summary{font-size:19px;color:var(--main-d);}
.k-feelist-wrap h3{padding-bottom:12px;border-bottom:2px solid var(--main);}
@media(max-width:400px){.k-feelist-wrap h3{font-size:17.5px;}}
.k-feelist-wrap .sub{margin-top:12px;font-size:14px;color:var(--ink2);line-height:1.85;}
.k-feelist-wrap .sub b{color:var(--ink);font-weight:700;}

.k-feelist{list-style:none;margin:8px 0 0;padding:0;}
.k-feelist li{display:grid;grid-template-columns:1fr;row-gap:4px;
  padding:17px 0;border-bottom:1px solid var(--line);}
.k-feelist li:last-child{border-bottom:none;}
.k-feelist .nm{font-size:16px;font-weight:700;color:var(--ink);line-height:1.6;}
.k-feelist .pr{font-size:19px;font-weight:700;color:var(--ink);white-space:nowrap;line-height:1.4;}
.k-feelist .pr i{font-style:normal;font-size:15px;font-weight:700;}
.k-feelist .pr small{font-size:12.5px;font-weight:500;color:var(--ink3);margin-left:5px;}
.k-feelist .ds{font-size:14px;color:var(--ink2);line-height:1.8;}
.k-feelist-sm .nm{font-size:15px;}
.k-feelist-sm .pr{font-size:17px;}
@media(min-width:560px){
  .k-feelist li{grid-template-columns:1fr auto;column-gap:18px;
    grid-template-areas:"nm pr" "ds pr";align-items:center;}
  .k-feelist .nm{grid-area:nm;align-self:end;}
  .k-feelist .ds{grid-area:ds;align-self:start;}
  .k-feelist .pr{grid-area:pr;align-self:center;text-align:right;}
}

/* 見積りへの安心材料＋相談ボタン */
.k-assure{margin-top:clamp(30px,3.6vw,46px);background:#fff;border-radius:var(--r-card);
  padding:clamp(24px,3vw,38px) clamp(20px,2.6vw,34px);}
.k-badges2{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;}
.k-badges2 li{background:var(--lav);color:var(--main-d);border-radius:999px;
  padding:9px 16px;font-size:14px;font-weight:700;}
@media(max-width:360px){.k-badges2 li{font-size:13px;padding-inline:13px;}}
.k-assure-cta{margin-top:22px;}
.k-assure-cta .btn{display:flex;font-size:15.5px;padding-inline:18px;}
@media(max-width:380px){.k-assure-cta .btn{font-size:14.5px;}}
@media(min-width:560px){.k-assure-cta .btn{font-size:17px;}}
.k-assure-cta .k-nophoto{margin-top:11px;}

.k-why-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:11px;}
.k-why-list li{position:relative;padding-left:23px;font-size:15px;color:var(--ink2);line-height:1.85;}
.k-why-list li::before{content:"";position:absolute;left:2px;top:10px;
  width:9px;height:9px;border-radius:50%;background:var(--yl);}
/* 関連するサービス（たたんでおく・写真は小さく） */
.k-more-fee{margin-top:clamp(26px,3vw,40px);}
.k-more-fee .k-related-in{padding:0 22px 22px;display:grid;gap:22px;align-items:start;}
@media(min-width:820px){.k-more-fee .k-related-in{grid-template-columns:1.5fr 1fr;gap:32px;}}
.k-related-ph{margin:0;}
.k-related-ph img{width:100%;height:auto;display:block;border-radius:var(--r-photo);}
.k-more-fee figcaption{margin-top:9px;font-size:13px;color:var(--ink3);line-height:1.8;}

/* ══════════ ⑦ 流れ（3段階が主役） ══════════ */
.k-step3{list-style:none;margin:0;padding:0;display:grid;gap:16px;}
@media(min-width:820px){.k-step3{grid-template-columns:repeat(3,1fr);gap:22px;}}
.k-step3 li{position:relative;background:var(--main);color:#fff;border-radius:var(--r-card);
  padding:26px 24px;display:flex;align-items:flex-start;gap:15px;}
.k-step3 li:nth-child(2){background:#5B4AA3;}
.k-step3 li:nth-child(3){background:#6C5BB8;}
.k-bignum{flex:none;display:flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.2);font-size:16px;}
.k-step3 .t{display:block;font-size:18px;line-height:1.45;}
.k-step3 .d{display:block;margin-top:8px;font-size:14px;line-height:1.85;color:rgba(255,255,255,.86);}
@media(min-width:820px){
  .k-step3 li::after{content:"";position:absolute;right:-15px;top:50%;
    width:0;height:0;border-left:10px solid var(--yl);
    border-top:7px solid transparent;border-bottom:7px solid transparent;
    transform:translateY(-50%);z-index:2;}
  .k-step3 li:last-child::after{display:none;}
}
/* たたんである詳しい説明 */
.k-more{margin-top:clamp(28px,3.4vw,44px);
  border:1px solid var(--line);border-radius:var(--r-card);background:#fff;}
.k-more > summary{list-style:none;cursor:pointer;padding:18px 46px 18px 22px;
  position:relative;font-size:16px;color:var(--main-d);text-wrap:pretty;}
@media(max-width:400px){.k-more > summary{font-size:15px;padding-inline:18px 42px;}}
.k-more > summary::-webkit-details-marker{display:none;}
.k-more > summary::after{content:"";position:absolute;right:22px;top:50%;
  width:10px;height:10px;margin-top:-7px;
  border-right:2.5px solid var(--main);border-bottom:2.5px solid var(--main);
  transform:rotate(45deg);transition:transform .25s ease;}
.k-more[open] > summary::after{transform:rotate(-135deg);margin-top:-2px;}
.k-more > summary:hover{background:var(--lav-pale);border-radius:var(--r-card);}
.k-more .k-steps,.k-more .k-faqcat,.k-more .faq,.k-more-body{padding-inline:22px;}
.k-more-body{padding-bottom:22px;}
.k-more-body p{margin:0 0 14px;font-size:14.5px;color:var(--ink2);line-height:1.9;text-wrap:pretty;}
.k-more-body p:last-child{margin-bottom:0;}
.k-more-body b{color:var(--ink);font-weight:700;}
.k-more + .k-more{margin-top:14px;}
.k-more .k-steps{padding-block:6px 24px;}
.k-more .faq{padding-bottom:4px;}

.k-steps{list-style:none;margin:0;padding:0;counter-reset:st;}
.k-steps li{position:relative;counter-increment:st;padding:0 0 26px 56px;}
.k-steps li::before{content:counter(st,decimal-leading-zero);
  position:absolute;left:0;top:0;width:38px;height:38px;border-radius:50%;
  background:#fff;border:2px solid var(--main-l);color:var(--main);
  font-size:13.5px;font-weight:900;display:flex;align-items:center;justify-content:center;}
.k-steps li::after{content:"";position:absolute;left:18.5px;top:42px;bottom:-2px;
  width:2px;background:var(--lav);}
.k-steps li:last-child{padding-bottom:0;}
.k-steps li:last-child::after{display:none;}
.k-steps .t{display:block;font-size:17px;color:var(--ink);line-height:1.5;padding-top:7px;}
.k-steps .d{display:block;margin-top:7px;font-size:14.5px;color:var(--ink2);line-height:1.9;}
.k-steps .g{display:inline-block;margin-left:9px;vertical-align:2px;
  background:var(--lav);color:var(--main-d);border-radius:999px;
  padding:3px 10px;font-size:12.5px;font-weight:900;}

/* ══════════ ⑧ 事業者 ══════════ */
.k-who{display:grid;gap:clamp(28px,3.4vw,40px);}
@media(min-width:1040px){.k-who{grid-template-columns:1fr 1fr;gap:44px;}}
.k-kv{display:grid;grid-template-columns:auto 1fr;}
.k-kv dt{padding:14px 18px 14px 0;font-size:13.5px;font-weight:700;color:var(--ink3);
  border-bottom:1px solid var(--line);white-space:nowrap;}
.k-kv dd{margin:0;padding:14px 0;font-size:15px;color:var(--ink);line-height:1.8;
  border-bottom:1px solid var(--line);overflow-wrap:anywhere;}
@media(max-width:419px){
  .k-kv{grid-template-columns:1fr;}
  .k-kv dt{padding:15px 0 0;border-bottom:none;}
  .k-kv dd{padding:3px 0 15px;}
}
.k-kv dd small{display:block;margin-top:3px;font-size:13px;color:var(--ink2);line-height:1.7;}
.k-kv a{color:var(--main);text-decoration:underline;text-underline-offset:3px;
  font-weight:700;display:inline-flex;align-items:center;min-height:40px;}
.k-whobox .k-more{margin-top:20px;}
.k-kv-sub{padding:4px 22px 18px;}
.k-notes{display:flex;flex-direction:column;gap:26px;}
.k-note1 .i{display:flex;align-items:center;justify-content:center;
  width:50px;height:50px;border-radius:50%;background:var(--lav);margin-bottom:12px;}
.k-note1 .i svg{width:25px;height:25px;fill:var(--main);}
.k-note1 b{display:block;font-size:17px;color:var(--ink);}
.k-note1 p{margin:7px 0 0;font-size:14.5px;color:var(--ink2);line-height:1.9;}

.k-ig{display:inline-flex;align-items:center;gap:7px;}
.k-ig .igic{width:19px;height:19px;flex:none;display:block;}
footer .flink a .igic{vertical-align:-3px;}

/* ══════════ ⑨ FAQ ══════════ */
.k-faqwrap{position:relative;background:var(--lav-pale);border-radius:var(--r-card);
  padding:clamp(22px,2.6vw,34px) clamp(16px,2.4vw,30px);}
.k-faqcat{font-size:15px;color:var(--main);letter-spacing:.02em;
  margin:26px 0 4px;padding-left:14px;position:relative;}
.k-faqcat:first-of-type{margin-top:0;}
.k-faqcat::before{content:"";position:absolute;left:0;top:.42em;
  width:5px;height:1em;border-radius:3px;background:var(--main);}
.k-faqwrap .faq{background:#fff;border-radius:var(--r-card);padding:2px 18px;}
@media(max-width:480px){.k-faqwrap .faq{padding-inline:14px;}}
.faq summary{font-size:16.5px;}
.faq summary::before{background:var(--main);}
.faq summary::after{color:var(--main);}
.faq .a::before{background:var(--yl);color:#4A3600;}
.faq .a b{font-weight:700;color:var(--ink);}
.faq details{border-bottom:1px solid var(--line);}
.faq details:last-child{border-bottom:none;}
.k-faqwrap > .k-more{margin-top:28px;background:#fff;}
.k-faqwrap > .k-more .k-faqcat{margin-top:20px;}
.k-faqwrap > .k-more .faq{padding-inline:0;}
/* ══════════ ⑩ しめくくり ══════════ */
.k-final-sec{background:var(--main);}
.k-final{color:#fff;
  padding-block:0;padding-inline:0;text-align:center;position:relative;}
.k-final h2,.k-final p,.k-final .k-herobtn,.k-final .k-tel{position:relative;z-index:1;}
.k-final h2{font-size:clamp(23px,6.2vw,40px);color:#fff;line-height:1.34;}
.k-final p{margin-top:15px;font-size:15.5px;line-height:1.95;color:rgba(255,255,255,.86);}
.k-final .k-herobtn{margin:28px auto 0;align-items:stretch;}
.k-final .k-tel{margin-inline:auto;color:#fff;}
.k-final .k-tel small{color:rgba(255,255,255,.74);}
.k-deco{position:absolute;z-index:0;pointer-events:none;border-radius:50%;
  background:rgba(255,255,255,.07);}
.k-final-sec{overflow:hidden;}
.k-deco.d-final{width:min(78vw,460px);aspect-ratio:1/1;left:-12%;bottom:-38%;}
.k-deco.d-final2{width:min(56vw,330px);aspect-ratio:1/1;right:-8%;top:-30%;
  background:rgba(255,255,255,.05);}
.k-links{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-top:32px;}
.k-links a{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);
  border-radius:999px;padding:10px 17px;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.92);}
.k-links a:hover{border-color:#fff;background:rgba(255,255,255,.16);color:#fff;}

/* ══════════ ボタン ══════════ */
.btn{min-height:58px;border-radius:999px;font-size:17px;padding-inline:22px;max-width:420px;}
.btn.line{background:var(--green);color:#fff;box-shadow:0 4px 14px rgba(6,177,90,.26);}
.btn.line:hover{transform:translateY(-2px);filter:brightness(1.05);}
.btn.line:active{transform:translateY(1px) scale(.99);}
.btn.tel{background:#fff;border:2px solid var(--main);color:var(--main);}
.btn.tel:hover{transform:translateY(-2px);background:#fff;color:var(--main);}
.btn .arw{margin-left:auto;font-size:20px;line-height:1;opacity:.85;}

.crumb{font-size:13px;color:var(--ink3);max-width:1160px;margin-inline:auto;
  padding:8px 24px 0;}
@media(max-width:400px){.crumb{padding-inline:20px;}}
.crumb a{color:var(--ink2);text-decoration:underline;text-underline-offset:3px;
  display:inline-block;padding:10px 4px;}
.crumb span{margin-inline:5px;}

footer{background:var(--navy-d);}

/* 下の追従ボタンは、上のボタンが見えている間は出さない */
.mobar{transition:transform .28s ease,opacity .28s ease;}
.js .mobar.k-hide{transform:translateY(110%);opacity:0;pointer-events:none;}
.mobar a{border-radius:999px;}
.mobar a:active{transform:translateY(1px) scale(.99);}
@media(min-width:900px){.mobar{display:none;}}

/* ══════════ 現れる動き ══════════
   下から24px、0.66秒、やわらかく減速して止まる。出すのは1回だけ。
   待ち時間はグループごと（HTMLの data-step=100ms・4つ目からは待たせない）。
   ファーストビューの主見出しとLINEボタンには付けない（待たせない）。 */
.js .rv,.js .rvs > *,.js .rvx{
  --ry:24px; --rs:1; --rd:.66s;
  transition:opacity .5s var(--ez), transform var(--rd) var(--ezr);}

@media (prefers-reduced-motion:reduce){
  .js .rv,.js .rvs > *,.js .rvx,.js .rvba{
    opacity:1!important;transform:none!important;transition:none!important;}
  .k-more > summary::after{transition:none;}
  .mobar{transition:none;}
  .btn:hover,.btn:active{transform:none!important;}
}
