/* ===== ミカタB版 追加（関西ライフアシスト型の部品をミカタの中身に） ===== */
.areaband{background:#1b2c4f;color:#fff;text-align:center;padding:9px 8px;font-weight:800;white-space:nowrap;overflow:hidden;font-size:min(16px,4.1vw);letter-spacing:.02em;border-bottom:3px solid #F39800;font-family:var(--la-go)}
.areaband b{color:#1b2c4f;background:#F39800;border-radius:4px;padding:1px 7px;margin-right:2px}
.areaband svg{width:1em;height:1em;vertical-align:-.12em;fill:#F39800;margin-right:4px}

/* ロゴ（アイコン＋文字） */
.mklogo{display:flex;align-items:center;gap:1.6cqw;text-decoration:none;flex:none}
.mklogo img{width:10cqw!important;height:auto}
.mklogo span{display:block;font-family:var(--la-min);font-weight:800;color:var(--la-ink);font-size:5.4cqw;line-height:1.05;white-space:nowrap}
.mklogo span small{display:block;font-family:var(--la-go);font-size:.42em;font-weight:700;color:var(--la-hand);letter-spacing:.06em;margin-bottom:.5cqw}
.mklogo span em{font-style:normal;color:#d0262b}

/* FVのNo.1メダル */
.lafv-medal{position:absolute;right:3.5cqw;top:19cqw;width:19cqw;z-index:2;text-align:center}
.lafv-medal img{width:100%;height:auto;filter:drop-shadow(0 1cqw 1.6cqw rgba(0,0,0,.18))}
.lafv-medal p{margin:.6cqw 0 0;font-family:var(--la-min);font-weight:800;color:var(--la-ink);font-size:3.2cqw;line-height:1.2;white-space:nowrap;-webkit-text-stroke:.6cqw #fff;paint-order:stroke fill}
.lafv-medal p em{font-style:normal;color:#c9962a;font-size:1.35em}
.lafv-h1 .no1{font-size:.62em;color:var(--la-ink)}
.lafv-h1 s{font-size:.5em;color:#6b726e;text-decoration-thickness:.08em;margin-right:.2em;font-family:var(--la-go);font-weight:700}
.lafv-shikaku{position:absolute;right:3.5cqw;top:107cqw;z-index:2;background:rgba(255,255,255,.95);border:.5cqw solid #c9a24a;border-radius:2cqw;padding:1.4cqw 2.4cqw;text-align:center;font-family:var(--la-min);font-weight:800;color:var(--la-ink);line-height:1.25;box-shadow:0 1cqw 3cqw rgba(0,0,0,.12)}
.lafv-shikaku small{display:block;font-family:var(--la-go);font-weight:700;font-size:2.3cqw;color:#8a6420}
.lafv-shikaku b{display:block;font-size:4.2cqw}

/* 会社の紹介（顔の見える会社） */
.mkco{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;background:#fff;border:1px solid var(--la-line);border-radius:16px;padding:16px;box-shadow:0 6px 18px rgba(42,92,168,.08)}
.mkco img{width:64px;height:auto}
.mkco p{margin:0;font-size:14px;line-height:1.7;color:var(--la-ink);font-weight:700}
.mkco p b{color:var(--la-green);font-size:1.12em}
.mkco ul{grid-column:1/-1;display:flex;gap:6px;margin:0;padding:0;list-style:none}
.mkco li{flex:1;text-align:center;background:var(--la-pale);border-radius:8px;padding:6px 2px;font-weight:900;color:var(--la-ink);font-size:12.5px;line-height:1.35;white-space:nowrap}

/* 5冠 */
.aw{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:14px 6px}
.aw li{flex:0 0 calc((100% - 12px)/3);text-align:center;font-weight:700;color:var(--la-ink);font-size:12.5px;line-height:1.45}
.aw li img{width:78%;margin:0 auto 6px}
.aw-note{margin:18px 0 0;background:#fff;border:1px solid var(--la-line);border-radius:10px;padding:10px 14px;font-size:11.5px;line-height:1.7;color:#6b726e}
.aw-tt{width:100%;max-width:420px;margin:0 auto 18px}

/* お約束＋電話の箱 */
.yaku{background:linear-gradient(#fff,var(--la-pale));text-align:center}
.yaku .ttl{margin-bottom:14px}
.yaku-p{margin:0 0 20px;font-size:14.5px;line-height:1.9;color:#4b5550}
.telbox{background:#fff;border:2px solid var(--la-line);border-radius:18px;padding:16px 14px;box-shadow:0 8px 24px rgba(42,92,168,.1);display:grid;gap:10px}
.telbox .tl{display:block;text-decoration:none;border-radius:14px;padding:10px 8px;background:linear-gradient(var(--la-ink),#0f1d38);color:#fff!important;box-shadow:0 4px 0 #0a1428}
.telbox .tl small{display:block;font-size:12px;font-weight:700;opacity:.9}
.telbox .tl b{display:block;font-family:var(--la-min);font-weight:800;font-size:30px;letter-spacing:.04em;line-height:1.25;white-space:nowrap}
.telbox .es{display:block;text-decoration:none;border-radius:14px;padding:12px 8px;background:linear-gradient(90deg,var(--la-cta1),var(--la-cta2));color:#fff!important;font-weight:900;font-size:17px;box-shadow:0 4px 0 var(--la-cta-sh);line-height:1.35}
.telbox .es small{display:block;font-size:12px;font-weight:700}

/* サービスのご案内 */
.sg{display:grid;gap:18px}
.sg article{background:#fff;border:1px solid var(--la-line);border-radius:18px;overflow:hidden;box-shadow:0 6px 18px rgba(42,92,168,.08)}
.sg article>img{width:100%;aspect-ratio:420/220;object-fit:cover}
.sg .bd{padding:16px 18px 18px}
.sg small.k{display:inline-block;background:var(--la-pale);color:var(--la-green);border-radius:999px;padding:1px 12px;font-weight:900;font-size:12.5px}
.sg h3{font-family:var(--la-min);font-weight:800;color:var(--la-ink);font-size:20px;line-height:1.45;margin:6px 0 10px}
.sg h4{margin:12px 0 6px;font-size:13.5px;color:var(--la-green);font-weight:900}
.sg ul{margin:0;padding:0;list-style:none;display:grid;gap:5px}
.sg ul li{position:relative;padding-left:22px;font-size:14px;line-height:1.6}
.sg ul li::before{content:"✓";position:absolute;left:0;top:.25em;width:16px;height:16px;border-radius:50%;background:var(--la-green);color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center}
.sg p{margin:0;font-size:14.5px}
.sg .pp{display:flex;gap:8px;margin:12px 0 0}
.sg .pp span{flex:1;text-align:center;background:#fffaf3;border:1px solid #f6d6b8;border-radius:10px;padding:6px 4px;font-weight:700;color:var(--la-ink);font-size:12.5px;line-height:1.3}
.sg .pp b{display:block;font-family:var(--la-min);font-weight:800;color:var(--la-orange);font-size:20px}
.sg .cm{margin:12px 0 0;text-align:center;background:var(--la-pale);border-radius:10px;padding:8px;font-size:12.5px;font-weight:700;color:var(--la-ink);line-height:1.5}
.sg .cm b{display:block;color:var(--la-orange);font-family:var(--la-min);font-size:20px}
.kai{margin:20px 0 0;text-align:center;font-family:var(--la-min);font-weight:800;color:var(--la-ink);font-size:19px;line-height:1.6}
.kai em{font-style:normal;color:var(--la-orange);font-size:1.25em}

/* 費用の相場 */
.cs{display:grid;gap:14px}
.cs article{background:#fff;border:1px solid var(--la-line);border-radius:16px;padding:18px}
.cs small{display:block;color:var(--la-hand);font-weight:700;font-size:12.5px}
.cs h3{font-family:var(--la-min);font-weight:800;color:var(--la-ink);font-size:19px;margin:2px 0 8px;line-height:1.45}
.cs p{margin:0;font-size:14.5px}
.cs p b{color:var(--la-orange)}

/* 料金表（部屋別・パック） */
.ptab{display:flex;gap:6px;margin:0 0 12px}
.ptab button{flex:1;font-family:inherit;font-weight:900;font-size:14.5px;color:var(--la-ink);background:#fff;border:1.5px solid var(--la-line);border-radius:12px 12px 0 0;padding:11px 4px;cursor:pointer;line-height:1.3}
.ptab button.on{background:var(--la-ink);border-color:var(--la-ink);color:#fff}
.ppan{display:none}.ppan.on{display:block}
.rm{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.rm li{background:#fff;border:1.5px solid var(--la-line);border-radius:12px;padding:10px 4px;text-align:center;line-height:1.25}
.rm li span{display:block;font-weight:900;color:var(--la-ink);font-size:14px}
.rm li span small{font-size:.75em;font-weight:700;color:#6b726e}
.rm li b{display:block;font-family:var(--la-min);font-weight:800;color:var(--la-orange);font-size:20px;margin-top:4px;white-space:nowrap}
.rm li b i{font-style:normal;font-size:.55em}
.rm li:first-child{border-color:var(--la-orange);background:#fffaf3}
.pk{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pk li{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--la-line);border-radius:14px;padding:8px 14px 8px 8px}
.pk li img{width:96px}
.pk li span{font-weight:900;color:var(--la-ink);font-size:14.5px;line-height:1.35}
.pk li span small{display:block;font-weight:700;color:#6b726e;font-size:12px}
.pk li b{font-family:var(--la-min);font-weight:800;color:var(--la-orange);font-size:22px;white-space:nowrap}
.pk li b i{font-style:normal;font-size:.5em}
.pk li b.ask{font-size:18px}
.komi{margin:18px 0 0;background:var(--la-ink);border-radius:16px;padding:14px 12px;text-align:center;color:#fff}
.komi ul{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:0 0 8px;padding:0;list-style:none}
.komi li{background:#fff;color:var(--la-ink);border-radius:999px;padding:2px 12px;font-weight:900;font-size:13px}
.komi p{margin:0;font-family:var(--la-min);font-weight:800;font-size:19px}
.komi p em{font-style:normal;color:#ffd27a}

/* 基本サービス（写真つき） */
.bs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bs li{background:#fff;border:1px solid var(--la-line);border-radius:14px;overflow:hidden}
.bs li img{width:100%;aspect-ratio:16/11;object-fit:cover}
.bs li h3{margin:10px 12px 4px;font-family:var(--la-min);font-weight:800;color:var(--la-ink);font-size:16.5px;line-height:1.4}
.bs li p{margin:0 12px 12px;font-size:13px;line-height:1.65}

/* 理由（写真つき） */
.rs li.ph{padding:0;overflow:hidden}
.rs li.ph>img{width:100%;aspect-ratio:768/360;object-fit:cover}
.rs li.ph .in{padding:16px 18px 18px}
.rs li.ph .no{top:auto;left:14px;margin-top:-34px;position:relative;display:inline-block;background:#fff;border-radius:10px;padding:4px 10px 2px;font-size:22px;color:var(--la-green)}

/* お客様の声 */
.vc{display:grid;gap:14px}
.vc article{background:#fff;border:1px solid var(--la-line);border-radius:16px;overflow:hidden}
.vc img{width:100%;aspect-ratio:600/250;object-fit:cover}
.vc .in{padding:14px 16px 16px}
.vc .who{display:flex;justify-content:space-between;align-items:center;font-weight:900;color:var(--la-ink);font-size:13.5px}
.vc .st{color:#f0a020;letter-spacing:.05em}
.vc p{margin:8px 0 0;font-size:14.5px}
.ruike{text-align:center;margin:-10px 0 22px;font-weight:900;color:var(--la-ink);font-size:15px}
.ruike b{font-family:var(--la-min);color:var(--la-orange);font-size:28px}

/* 流れ（写真） */
.fl li.ph{display:grid;grid-template-columns:84px 1fr;gap:12px;align-items:start}
.fl li.ph>img{width:84px;border-radius:50%}
.fl li.ph h3{font-size:17px;margin-bottom:4px}
.fl li.ph h3 span{width:auto;height:auto;border-radius:999px;padding:1px 10px;font-size:12px}
.fl li.ph p{font-size:13.5px}

/* エリア（県の札） */
.pf{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none}
.pf li{background:#fff;border:1.5px solid var(--la-green);color:var(--la-ink);border-radius:999px;padding:6px 18px;font-weight:900;font-size:15px}

/* Q&A */
.qa{display:grid;gap:10px}
.qa details{background:#fff;border:1px solid var(--la-line);border-radius:14px;padding:0 16px}
.qa summary{cursor:pointer;list-style:none;display:flex;gap:10px;align-items:flex-start;padding:14px 0;font-weight:900;color:var(--la-ink);font-size:15px;line-height:1.5}
.qa summary::-webkit-details-marker{display:none}
.qa summary::before{content:"Q";flex:none;width:26px;height:26px;border-radius:50%;background:var(--la-green);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--la-min);font-size:14px}
.qa summary::after{content:"＋";margin-left:auto;color:var(--la-green)}
.qa details[open] summary::after{content:"－"}
.qa p{margin:0 0 14px 36px;font-size:14.5px}
.co td small{display:block;font-size:12px;color:#6b726e;margin-top:6px;line-height:1.6}

/* 見積り：LINEで送る */
.ez-or{display:flex;align-items:center;gap:10px;margin:16px 0 8px;color:#6b726e;font-size:12.5px;font-weight:700}
.ez-or::before,.ez-or::after{content:"";flex:1;border-top:1px solid var(--la-line)}
.ez-ok{text-align:center;padding:20px 0}
.ez-ok b{display:block;font-family:var(--la-min);font-size:22px;color:var(--la-ink);margin-bottom:6px}
.fx .e{background:linear-gradient(#3a6fc0,#2a5ca8)}
.fx .t{background:linear-gradient(#f39a3c,#e3741c)}

@media (min-width:1024px){
  .lafv{background:#f3f6fa url(img/fv_pc.webp) right center/cover no-repeat}
  .lafv-in{padding-right:0}
  .lafv-medal{right:auto;left:calc(max(40px,calc(50% - 600px)) + 640px);top:60px;width:150px}
  .lafv-medal p{font-size:18px;-webkit-text-stroke:4px #fff}
  .lafv-shikaku{right:auto;left:calc(max(40px,calc(50% - 600px)) + 640px);top:300px;padding:10px 16px}
  .lafv-shikaku small{font-size:13px}.lafv-shikaku b{font-size:22px}
  .mkco{max-width:880px;grid-template-columns:auto 1fr auto}
  .mkco ul{grid-column:auto;flex-direction:column}
  .aw{grid-template-columns:repeat(5,1fr);max-width:900px}
  .aw li{flex-basis:calc((100% - 24px)/5)}
  .aw-note{max-width:900px}
  .yaku>*{max-width:760px}
  .telbox{grid-template-columns:1fr 1fr;align-items:stretch}
  .telbox .es{display:flex;flex-direction:column;justify-content:center}
  .sg{grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}
  .cs{grid-template-columns:repeat(3,1fr)}
  .cs article:last-child{grid-column:1/-1}
  .pwrap{max-width:900px}
  .rm{grid-template-columns:repeat(5,1fr)}
  .pk{grid-template-columns:1fr 1fr}
  .bs{grid-template-columns:repeat(3,1fr);gap:16px}
  .vc{grid-template-columns:repeat(3,1fr);gap:18px}
  .fl.f4{grid-template-columns:repeat(4,1fr);gap:24px}
  .fl li.ph{grid-template-columns:1fr;text-align:center;justify-items:center}
  .fl li.ph>img{width:120px}
  .fl li.ph h3{flex-direction:column}
  .qa{max-width:880px}
}

/* 狭い画面で料金がはみ出さないように */
.rm li{min-width:0;padding:9px 2px}
.rm li b{font-size:clamp(15px,4.7vw,20px)}
.rm li span{font-size:clamp(12.5px,3.7vw,14px)}
.pk li{grid-template-columns:72px minmax(0,1fr) auto;gap:8px;padding:8px 10px 8px 6px}
.pk li img{width:72px}
.pk li span{font-size:clamp(13px,3.8vw,14.5px)}
.pk li b{font-size:clamp(17px,5vw,22px)}
@media (min-width:1024px){.pk li{grid-template-columns:96px 1fr auto}.pk li img{width:96px}.rm li b{font-size:20px}}
.rs li.ph .no{position:static;display:block;margin:0 0 -6px;padding:0;background:none;font-size:26px;color:#c3d3ea}
.bs li img.zm{transform:scale(1.42);transform-origin:center 45%}
.bs li img{position:relative;z-index:0}.bs li h3{position:relative;z-index:1;background:#fff;margin-top:0;padding-top:10px}
@media (min-width:1024px){.mkco{padding:22px 28px;gap:24px}.mkco img{width:84px}.mkco p{font-size:16px}.mkco ul{flex-direction:row;gap:10px}.mkco li{width:120px;padding:12px 4px;font-size:14px}}

.bk1,.bk2{font-style:normal}
.mklogo span{font-size:min(5.4cqw,calc(54cqw / var(--bl,9)))}
.mklogo.lg span{font-size:4.6cqw}
@media (min-width:1024px){.mklogo.lg span{font-size:4.8cqw}}

/* 右下 TOPへ（マスコット） */
.totop{position:fixed;right:8px;bottom:calc(82px + env(safe-area-inset-bottom));z-index:49;width:78px;text-align:center;text-decoration:none;opacity:0;transform:translateY(12px);pointer-events:none;transition:.25s}
.totop.on{opacity:1;transform:none;pointer-events:auto}
.totop img{width:72px;height:auto;margin:0 auto -6px;filter:drop-shadow(0 3px 5px rgba(27,44,79,.25))}
.totop span{display:inline-block;position:relative;background:var(--la-ink);color:#fff;font-weight:900;font-size:12.5px;line-height:1;padding:6px 10px 6px 9px;border-radius:999px;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.totop span::before{content:"";display:inline-block;border:4px solid transparent;border-bottom:5px solid #fff;border-top:0;margin-right:4px;vertical-align:.12em}
@media (min-width:1024px){.totop{right:44px;bottom:230px;width:80px}.totop img{width:72px}.totop span{font-size:13px;padding:6px 12px}}
