/* feeplan 固有CSS (共通style.cssに無い分。元HTML <style>より自動抽出)
       compare系CSSを料金表に流用。ズームUI・点検向けセクションは料金用に作り変え。 */
  .step .f-ic{width:84px;height:84px;margin:0 auto 14px;display:grid;place-items:center;border-radius:50%;
    background:linear-gradient(180deg,#fff 0%,var(--sky) 100%);color:var(--blue)}
  .step .f-ic .ico-lg{width:34px;height:34px}
  .page-head{position:relative;overflow:hidden;background:var(--navy);color:#fff}
  .page-head::before{content:"";position:absolute;inset:0;
    background-image:url("/assets/images/hero-default.jpg");background-size:cover;background-position:center 40%;opacity:.32}
  .page-head::after{content:"";position:absolute;inset:0;
    background:linear-gradient(105deg,rgba(7,31,61,.92) 0%,rgba(11,46,89,.80) 55%,rgba(21,101,192,.40) 100%)}
  .page-head .wrap{position:relative;z-index:1;padding:30px 20px 36px}
  @media(min-width:880px){.page-head .wrap{padding:50px 20px 56px}}
  .page-head .ph-sub{display:block;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--blue-light);margin-bottom:8px}
  .page-head h1{font-size:30px;font-weight:900;line-height:1.3;letter-spacing:.02em}
  @media(min-width:880px){.page-head h1{font-size:38px}}
  .page-head .ph-lead{margin-top:16px;max-width:680px;font-size:14px;color:rgba(255,255,255,.88);line-height:1.85}
  @media(min-width:880px){.page-head .ph-lead{font-size:15.5px}}
  .page-head .ph-lead .lead-hl{color:var(--accent);font-weight:800}
  .page-head .ph-cta{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px}
  .policy{display:grid;gap:18px;grid-template-columns:1fr;max-width:920px;margin:0 auto}
  @media(min-width:760px){.policy{grid-template-columns:repeat(3,1fr)}}
  .policy-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 22px;box-shadow:0 1px 3px rgba(11,46,89,.04)}
  .policy-card .pc-ic{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:var(--sky);color:var(--blue);margin-bottom:14px}
  .policy-card .pc-ic .ico-lg{width:28px;height:28px}
  .policy-card h3{font-size:17px;font-weight:800;color:var(--navy);line-height:1.45;margin-bottom:9px}
  .policy-card p{font-size:13.5px;color:var(--ink-sub);line-height:1.85}
  .policy-banner{max-width:920px;margin:26px auto 0;background:linear-gradient(135deg,var(--sky) 0%,var(--sky-2) 100%);
    border:1px solid var(--line);border-radius:16px;padding:24px 24px;text-align:center}
  .policy-banner p{font-size:14.5px;color:var(--ink);line-height:1.9}
  @media(min-width:880px){.policy-banner p{font-size:16px}}
  .policy-banner .em{font-weight:800;color:var(--navy)}
  .policy-banner .em-o{font-weight:800;color:var(--accent)}
  .plans{display:grid;gap:18px;grid-template-columns:1fr;margin-top:8px}
  @media(min-width:760px){.plans{grid-template-columns:repeat(2,1fr)}}
  @media(min-width:1040px){.plans{grid-template-columns:repeat(4,1fr)}}
  .plan{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;
    box-shadow:0 4px 16px rgba(7,31,61,.05);display:flex;flex-direction:column}
  .plan-head{background:var(--navy);color:#fff;padding:20px 20px 18px;text-align:center}
  .plan-head .p-ic{width:48px;height:48px;margin:0 auto 10px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#fff}
  .plan-head .p-ic .ico-lg{width:26px;height:26px}
  .plan-head h3{font-size:17px;font-weight:800;line-height:1.4}
  .plan-head .p-sub{display:block;margin-top:4px;font-size:12px;color:rgba(255,255,255,.72);font-weight:600}
  .plan-price{text-align:center;padding:22px 20px 18px;border-bottom:1px dashed var(--line)}
  .plan-price .pp-label{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--ink-sub);margin-bottom:6px}
  .plan-price .pp-amount{display:inline-flex;align-items:center;gap:7px;font-size:23px;font-weight:900;color:var(--accent);line-height:1.2}
  .plan-price .pp-amount .ico{width:22px;height:22px}
  .plan-price .pp-note{display:block;margin-top:7px;font-size:12px;color:var(--ink-sub)}
  .plan-feat{list-style:none;padding:18px 20px 8px;margin:0;flex:1}
  .plan-feat li{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;color:var(--ink);line-height:1.7;margin-bottom:11px}
  .plan-feat li .ico-sm{color:var(--blue);margin-top:3px;flex:none}
  .plan-cta{padding:6px 20px 22px}
  .plan-cta a{width:100%}
  .plan-badge{display:inline-block;background:rgba(21,101,192,.1);color:var(--blue);font-size:11px;font-weight:800;
    padding:3px 10px;border-radius:999px;margin-top:8px;letter-spacing:.02em}
  .plans-note{max-width:920px;margin:22px auto 0;font-size:12.5px;color:var(--ink-sub);line-height:1.8;
    background:var(--sky-2);border:1px solid var(--line);border-radius:14px;padding:16px 20px}
  .plans-note strong{color:var(--navy);font-weight:800}
  .anim-ready .policy-card,
  .anim-ready .policy-banner,
  .anim-ready .plan,
  .anim-ready .plans-note,
  .anim-ready .page-head .ph-sub,
  .anim-ready .page-head h1,
  .anim-ready .page-head .ph-lead,
  .anim-ready .page-head .ph-cta{opacity:0}
