  :root{
    --cream:#FCF7F0; --paper:#FFFFFF;
    --ink:#3A2E2A; --ink-soft:#7A6A62;
    --primary:#157B86; --primary-d:#0E5C64; --sky:#E2F1F1; --sky-line:#BFE0E0;
    --accent:#FF6A3D; --accent-d:#EB5526; --accent-soft:#FFE7DD;
    --peach:#FBEDE6; --peach-band:#FCEAE3;
    --pink:#F7A8B8; --pink-soft:#FDEDF1;
    --green:#2FB37C; --green-soft:#E2F6EE;
    --gold:#F0A93C; --gold-soft:#FCF1DC;
    --rose:#E2574E; --rose-soft:#FCEAE8;
    --line:#06C755;
    --shadow:0 14px 34px rgba(80,50,40,.10);
    --shadow-sm:0 6px 16px rgba(80,50,40,.08);
    --r:24px; --r-lg:32px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:"Noto Sans JP",sans-serif;color:var(--ink);background:var(--cream);
    line-height:1.85;font-size:16px;-webkit-font-smoothing:antialiased;padding-bottom:78px;}
  .zm{font-family:"Zen Maru Gothic",sans-serif;}
  .wrap{max-width:1080px;margin:0 auto;padding:0 20px;}
  .narrow{max-width:780px;margin:0 auto;padding:0 20px;}
  section{padding:64px 0;}
  h2.sec{font-family:"Zen Maru Gothic";font-weight:900;text-align:center;font-size:clamp(25px,5.2vw,36px);line-height:1.32;}
  h2.sec .mini{display:block;font-size:13px;letter-spacing:.26em;color:var(--accent);font-weight:700;margin-bottom:8px;font-family:"Noto Sans JP";}
  .dots{height:12px;max-width:170px;margin:14px auto 30px;
    background:repeating-linear-gradient(90deg,var(--gold) 0 11px,transparent 11px 22px);border-radius:2px;opacity:.85;}
  .lead{text-align:center;color:var(--ink-soft);max-width:660px;margin:-12px auto 34px;font-size:15px;}

  /* photo placeholders */
  .ph{position:relative;background:linear-gradient(135deg,#F3E8DA,#F7EFE3);border:2px dashed #d4bfa3;
    border-radius:20px;display:grid;place-items:center;text-align:center;color:#a48b6d;padding:14px;overflow:hidden;}
  .ph .ic{font-size:38px;opacity:.65;}
  .ph b{font-size:12px;font-weight:700;margin-top:4px;}
  .ph small{display:block;font-size:10px;font-weight:500;opacity:.85;}
  .ph.round{border-radius:50%;}
  .ph.tape::after{content:"";position:absolute;top:10px;left:50%;transform:translateX(-50%) rotate(-2deg);
    width:64px;height:16px;background:rgba(240,169,60,.45);border-radius:2px;}

  /* buttons */
  .btn{display:inline-flex;align-items:center;gap:8px;border:none;cursor:pointer;font-family:"Zen Maru Gothic";
    font-weight:900;border-radius:999px;text-decoration:none;padding:13px 24px;font-size:15px;transition:.2s;}
  .btn:hover{transform:translateY(-2px);}
  .btn-accent{background:var(--accent);color:#fff;box-shadow:0 8px 18px rgba(255,106,61,.35);}
  .btn-line{background:var(--line);color:#fff;box-shadow:0 8px 18px rgba(6,199,85,.32);}
  .btn-ghost{background:#fff;color:var(--primary-d);border:2px solid var(--sky-line);}

  /* header */
  header.top{position:sticky;top:0;z-index:60;background:rgba(252,247,240,.94);backdrop-filter:blur(10px);border-bottom:1px solid #f0e4d2;}
  .top .wrap{display:flex;align-items:center;justify-content:space-between;height:62px;}
  .brand{display:flex;align-items:center;gap:10px;font-family:"Zen Maru Gothic";font-weight:900;color:var(--primary-d);font-size:18px;}
  .brand .mk{width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,var(--primary),#1FA0A0);display:grid;place-items:center;color:#fff;font-size:18px;}
  .top-actions{display:flex;align-items:center;gap:12px;}
  .tel{font-family:"Zen Maru Gothic";font-weight:900;color:var(--primary-d);font-size:18px;text-decoration:none;}
  .tel small{display:block;font-family:"Noto Sans JP";font-weight:700;font-size:10px;color:var(--ink-soft);}
  .top .btn{padding:10px 18px;font-size:13px;}
  @media(max-width:640px){.tel{display:none}}

  /* trust strip */
  .tstrip{background:var(--primary-d);color:#fff;font-size:12.5px;font-weight:700;}
  .tstrip .wrap{display:flex;gap:10px 26px;justify-content:center;flex-wrap:wrap;padding:9px 20px;}
  .tstrip span{display:inline-flex;align-items:center;gap:6px;}
  .tstrip i{font-style:normal;color:#9be5d6;}

  /* hero */
  .hero{position:relative;overflow:hidden;
    background:radial-gradient(900px 380px at 80% -10%,#EAF7F6 0,transparent 60%),linear-gradient(180deg,#FFFDF8,var(--cream));padding:50px 0 60px;}
  .hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center;}
  .eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff;border:2px solid var(--sky-line);color:var(--primary-d);font-weight:700;font-size:13px;border-radius:999px;padding:7px 16px;margin-bottom:16px;}
  .hero h1{font-family:"Zen Maru Gothic";font-weight:900;font-size:clamp(29px,6.2vw,48px);line-height:1.28;}
  .hero h1 .hl{position:relative;color:var(--primary-d);white-space:nowrap;}
  .hero h1 .hl::after{content:"";position:absolute;left:-2%;right:-2%;bottom:5px;height:34%;background:var(--accent-soft);z-index:-1;border-radius:4px;}
  .hero h1 .acc{color:var(--accent);}
  .hero p.sub{margin:18px 0 24px;color:var(--ink-soft);font-size:16px;font-weight:500;}
  .hero-cta{display:flex;gap:12px;flex-wrap:wrap;}
  .hero-cta .btn{padding:16px 26px;font-size:16px;}
  .hero-photo{position:relative;}
  .hero-photo .ph{aspect-ratio:4/3.4;}
  .hero-tag{position:absolute;left:14px;bottom:-16px;background:#fff;border-radius:16px;box-shadow:var(--shadow);
    padding:12px 18px;display:flex;align-items:center;gap:12px;border:1px solid #f0e4d2;}
  .hero-tag .ph{width:46px;height:46px;}
  .hero-tag b{font-family:"Zen Maru Gothic";font-weight:900;font-size:14px;}
  .hero-tag small{display:block;font-size:11px;color:var(--ink-soft);}
  @media(max-width:860px){.hero .wrap{grid-template-columns:1fr;gap:36px}.hero-photo{order:-1}}

  /* free CTA mini band (gokigen signature) */
  .freeband{background:var(--pink);color:#fff;text-align:center;}
  .freeband .wrap{padding:18px 20px;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;}
  .freeband b{font-family:"Zen Maru Gothic";font-weight:900;font-size:clamp(15px,3vw,19px);}
  .freeband .btn{background:#fff;color:#d35a72;padding:11px 22px;}

  /* omoi */
  .omoi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  .omoi{background:#fff;border:1px solid #f0e4d2;border-radius:18px;box-shadow:var(--shadow-sm);overflow:hidden;}
  .omoi summary{display:flex;align-items:center;gap:12px;padding:18px;cursor:pointer;list-style:none;font-family:"Zen Maru Gothic";font-weight:700;font-size:15px;}
  .omoi summary::-webkit-details-marker{display:none}
  .omoi .ico{width:40px;height:40px;border-radius:12px;background:var(--sky);color:var(--primary);display:grid;place-items:center;font-size:20px;flex:none;}
  .omoi .chev{margin-left:auto;color:var(--accent);font-weight:900;transition:.25s;}
  .omoi[open] .chev{transform:rotate(180deg);}
  .omoi .ans{padding:0 18px 18px 70px;color:var(--ink-soft);font-size:14px;}
  .omoi.other .ico{background:var(--accent-soft);color:var(--accent);}
  @media(max-width:820px){.omoi-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:520px){.omoi-grid{grid-template-columns:1fr}}

  /* speed */
  .speed{background:linear-gradient(110deg,var(--accent),#FF8A5B);color:#fff;border-radius:var(--r-lg);box-shadow:0 16px 34px rgba(255,106,61,.3);padding:28px 34px;display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;position:relative;overflow:hidden;}
  .speed::before{content:"⚡";position:absolute;right:-10px;bottom:-30px;font-size:150px;opacity:.12;}
  .speed h3{font-family:"Zen Maru Gothic";font-weight:900;font-size:clamp(19px,3.4vw,25px);line-height:1.4;}
  .speed h3 small{display:block;font-size:13px;font-weight:700;opacity:.95;margin-bottom:3px;}
  .speed .btn{background:#fff;color:var(--accent-d);padding:15px 28px;font-size:16px;}

  /* representative greeting */
  .greet{background:var(--peach-band);}
  .greet-card{background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow);display:grid;grid-template-columns:300px 1fr;overflow:hidden;}
  .greet-photo{background:#F3E8DA;display:grid;place-items:center;padding:24px;}
  .greet-photo .ph{width:100%;aspect-ratio:3/4;}
  .greet-body{padding:34px 38px;}
  .greet-body .kk{color:var(--accent);font-weight:900;font-family:"Zen Maru Gothic";font-size:14px;}
  .greet-body h3{font-family:"Zen Maru Gothic";font-weight:900;font-size:clamp(20px,3.6vw,26px);line-height:1.45;margin:6px 0 14px;}
  .greet-body p{color:var(--ink-soft);font-size:14.5px;margin-bottom:12px;}
  .sign{display:flex;align-items:center;gap:14px;margin-top:16px;border-top:1px dashed #e7d6bf;padding-top:16px;}
  .sign .ph{width:54px;height:54px;}
  .sign b{font-family:"Zen Maru Gothic";font-weight:900;font-size:16px;}
  .sign small{display:block;color:var(--ink-soft);font-size:12px;}
  @media(max-width:740px){.greet-card{grid-template-columns:1fr}.greet-photo .ph{aspect-ratio:4/3;max-width:280px;margin:0 auto}}

  /* reasons */
  .reasons{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
  .reason{background:#fff;border-radius:var(--r);padding:26px;box-shadow:var(--shadow-sm);border:1px solid #f1e6d6;position:relative;}
  .reason .num{font-family:"Zen Maru Gothic";font-weight:900;color:var(--sky-line);font-size:28px;position:absolute;top:18px;right:22px;}
  .reason .ico{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-size:26px;margin-bottom:12px;}
  .reason h3{font-family:"Zen Maru Gothic";font-weight:900;font-size:19px;margin-bottom:6px;}
  .reason p{color:var(--ink-soft);font-size:14px;}
  .pill{display:inline-block;font-size:11px;font-weight:900;font-family:"Zen Maru Gothic";border-radius:999px;padding:4px 12px;margin-bottom:10px;}
  .pill-new{background:var(--accent);color:#fff;} .pill-feat{background:var(--green);color:#fff;}
  .reason.feature{border:2px solid var(--green);box-shadow:0 14px 30px rgba(47,179,124,.15);}
  @media(max-width:740px){.reasons{grid-template-columns:1fr}}

  /* staff */
  .staff{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  .sc{background:#fff;border-radius:var(--r);box-shadow:var(--shadow-sm);border:1px solid #f1e6d6;padding:20px;text-align:center;}
  .sc .ph{width:108px;height:108px;margin:0 auto 12px;}
  .sc .role{display:inline-block;background:var(--sky);color:var(--primary-d);font-size:11px;font-weight:900;font-family:"Zen Maru Gothic";border-radius:999px;padding:3px 12px;margin-bottom:6px;}
  .sc h4{font-family:"Zen Maru Gothic";font-weight:900;font-size:16px;}
  .sc p{font-size:12px;color:var(--ink-soft);margin-top:6px;}
  @media(max-width:820px){.staff{grid-template-columns:repeat(2,1fr)}}

  /* tax */
  .tax{background:linear-gradient(180deg,#FFFDF6,#FCF6E8);}
  .tax-card{background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden;display:grid;grid-template-columns:1fr 1fr;}
  .tax-l{padding:36px;background:var(--gold-soft);}
  .tax-l .k{color:var(--gold);font-weight:900;font-family:"Zen Maru Gothic";}
  .tax-l .big{font-family:"Zen Maru Gothic";font-weight:900;font-size:clamp(32px,6.6vw,54px);line-height:1.05;margin:6px 0;}
  .tax-l .big em{color:var(--gold);font-style:normal;}
  .tax-l p{color:var(--ink-soft);font-size:14px;margin-top:8px;}
  .tax-r{padding:32px 36px;}
  .tax-r h3{font-family:"Zen Maru Gothic";font-weight:900;font-size:18px;margin-bottom:12px;}
  .check{display:flex;gap:12px;margin-bottom:12px;font-size:14.5px;}
  .check .ck{width:26px;height:26px;border-radius:8px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-weight:900;flex:none;}
  .note{font-size:12px;color:var(--ink-soft);background:#fff;border:1px dashed #e3d4b6;border-radius:12px;padding:12px 14px;margin-top:8px;}
  @media(max-width:740px){.tax-card{grid-template-columns:1fr}}

  /* options */
  .opts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .opt{background:#fff;border-radius:var(--r);box-shadow:var(--shadow-sm);border:1px solid #f1e6d6;overflow:hidden;}
  .opt .head{padding:18px;text-align:center;color:#fff;font-family:"Zen Maru Gothic";font-weight:900;font-size:17px;}
  .opt:nth-child(1) .head{background:var(--accent)} .opt:nth-child(2) .head{background:var(--primary)} .opt:nth-child(3) .head{background:var(--green)}
  .opt .body{padding:20px 22px;}
  .opt .body .em{font-family:"Zen Maru Gothic";font-weight:900;font-size:15px;margin-bottom:6px;}
  .opt .body p{font-size:13.5px;color:var(--ink-soft);}
  .opt .body ul{list-style:none;margin-top:10px;font-size:13px;}
  .opt .body li{padding-left:20px;position:relative;margin-bottom:5px;}
  .opt .body li::before{content:"◎";position:absolute;left:0;color:var(--green);}
  @media(max-width:740px){.opts{grid-template-columns:1fr}}

  /* local record */
  .local{background:linear-gradient(180deg,#fff,var(--cream));}
  .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:26px;}
  .stat{background:#fff;border-radius:18px;box-shadow:var(--shadow-sm);border:1px solid #f1e6d6;text-align:center;padding:22px 12px;}
  .stat .v{font-family:"Zen Maru Gothic";font-weight:900;color:var(--primary-d);font-size:clamp(26px,4.6vw,38px);line-height:1;}
  .stat .v small{font-size:15px;}
  .stat .l{font-size:12px;color:var(--ink-soft);margin-top:8px;font-weight:700;}
  .local-2{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:stretch;}
  .office{background:#fff;border-radius:var(--r);box-shadow:var(--shadow-sm);border:1px solid #f1e6d6;padding:22px;}
  .office h3{font-family:"Zen Maru Gothic";font-weight:900;font-size:17px;margin-bottom:10px;}
  .office .ph{aspect-ratio:16/9;margin-bottom:12px;}
  .office p{font-size:13px;color:var(--ink-soft);}
  @media(max-width:820px){.stats{grid-template-columns:repeat(2,1fr)}.local-2{grid-template-columns:1fr}}

  /* prices */
  .area-prices{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
  .pcard{background:#fff;border-radius:18px;box-shadow:var(--shadow-sm);padding:18px 14px;border:1px solid #f1e6d6;}
  .pcard .city{font-family:"Zen Maru Gothic";font-weight:900;font-size:15px;display:flex;justify-content:space-between;}
  .pcard .pv{font-family:"Zen Maru Gothic";font-weight:900;color:var(--primary-d);font-size:23px;margin:8px 0 6px;}
  .pcard .rec{font-size:11px;color:var(--ink-soft);}
  @media(max-width:900px){.area-prices{grid-template-columns:repeat(2,1fr)}}

  /* cases */
  .cases{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .case{background:#fff;border-radius:var(--r);box-shadow:var(--shadow-sm);padding:18px;border:1px solid #f1e6d6;}
  .case .ph{aspect-ratio:16/10;margin-bottom:12px;}
  .case .ttl{font-size:13px;color:var(--ink-soft);font-weight:700;}
  .case .amt{font-family:"Zen Maru Gothic";font-weight:900;color:var(--primary-d);font-size:28px;margin:2px 0;}
  .case .tag{display:inline-block;background:var(--accent-soft);color:var(--accent-d);font-size:11px;font-weight:900;border-radius:999px;padding:3px 12px;}
  @media(max-width:740px){.cases{grid-template-columns:1fr}}

  /* voices */
  .voice{background:var(--pink-soft);}
  .voices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .vc{background:#fff;border-radius:var(--r);box-shadow:var(--shadow-sm);border:1px solid #f4dde3;padding:22px;}
  .vc .top{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
  .vc .ph{width:58px;height:58px;flex:none;}
  .vc .who b{font-family:"Zen Maru Gothic";font-weight:900;font-size:14px;}
  .vc .who small{display:block;font-size:11px;color:var(--ink-soft);}
  .vc .stars{color:var(--gold);font-size:13px;}
  .vc q{display:block;font-size:14px;color:var(--ink);line-height:1.8;}
  .vc .qm{font-family:"Zen Maru Gothic";color:var(--pink);font-size:30px;line-height:0;}
  @media(max-width:820px){.voices{grid-template-columns:1fr}}

  /* risk */
  .risk-main{border:2px solid var(--rose-soft);background:var(--rose-soft);border-radius:var(--r);padding:24px 26px;display:flex;gap:16px;margin-bottom:16px;}
  .risk-main .ico{font-size:30px;}
  .risk-main h3{font-family:"Zen Maru Gothic";font-weight:900;color:var(--rose);font-size:20px;}
  .risk-main p{color:var(--ink-soft);font-size:14px;}
  .risk-sub{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .risk-sub .rc{background:var(--gold-soft);border-radius:var(--r);padding:22px;display:flex;gap:14px;}
  .risk-sub .rc .ico{font-size:24px;color:var(--gold);}
  .risk-sub .rc h4{font-family:"Zen Maru Gothic";font-weight:900;color:var(--gold);}
  .risk-sub .rc p{font-size:13.5px;color:var(--ink-soft);}
  @media(max-width:640px){.risk-sub{grid-template-columns:1fr}}

  /* flow */
  .flow{max-width:760px;margin:0 auto;}
  .step{background:#fff;border-radius:var(--r);box-shadow:var(--shadow-sm);padding:20px 24px;display:flex;align-items:center;gap:18px;border:1px solid #f1e6d6;}
  .step .no{width:46px;height:46px;border-radius:50%;background:var(--primary);color:#fff;font-family:"Zen Maru Gothic";font-weight:900;font-size:20px;display:grid;place-items:center;flex:none;}
  .step .ico{font-size:26px;color:var(--primary);}
  .step h3{font-family:"Zen Maru Gothic";font-weight:900;font-size:17px;}
  .step h3 small{display:block;font-family:"Noto Sans JP";font-size:11px;letter-spacing:.2em;color:var(--accent);font-weight:700;}
  .step p{color:var(--ink-soft);font-size:13.5px;}
  .step-arrow{text-align:center;color:var(--sky-line);font-size:22px;padding:6px 0;}
  .line-block{background:linear-gradient(120deg,#06C755,#2FE07F);color:#fff;border-radius:var(--r-lg);padding:32px 36px;margin-top:32px;box-shadow:0 16px 34px rgba(6,199,85,.28);}
  .line-block h3{font-family:"Zen Maru Gothic";font-weight:900;font-size:clamp(20px,4vw,26px);text-align:center;}
  .line-block .q{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin:18px auto;max-width:560px;}
  .line-block .q div{background:rgba(255,255,255,.18);border-radius:12px;padding:8px 14px;font-size:13px;font-weight:700;}
  .line-block .btn{background:#fff;color:var(--line);margin:6px auto 0;display:flex;width:fit-content;padding:16px 34px;font-size:17px;}

  /* table */
  .cmp{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);}
  .cmp th,.cmp td{padding:14px;text-align:center;font-size:14px;border-bottom:1px solid #f3ead9;}
  .cmp thead th{color:#fff;font-family:"Zen Maru Gothic";font-weight:900;}
  .cmp thead th:nth-child(1){background:var(--ink)} .cmp thead th:nth-child(2){background:var(--primary)} .cmp thead th:nth-child(3){background:#b3a59c}
  .cmp tbody th{background:var(--cream);font-weight:700;text-align:left;}
  .cmp .good{color:var(--primary-d);font-weight:900;font-family:"Zen Maru Gothic";}
  .cmp .bad{color:var(--ink-soft);}

  /* onestop */
  .onestop{display:flex;gap:0;flex-wrap:wrap;justify-content:center;}
  .os{background:#fff;border:2px solid var(--sky-line);border-radius:20px;padding:18px 20px;text-align:center;min-width:150px;flex:1;}
  .os .ico{font-size:28px;} .os h4{font-family:"Zen Maru Gothic";font-weight:900;font-size:15px;margin-top:6px;} .os p{font-size:12px;color:var(--ink-soft);}
  .os-plus{display:grid;place-items:center;font-size:24px;color:var(--accent);font-weight:900;padding:0 4px;}
  @media(max-width:740px){.os-plus{display:none}.os{flex:1 1 45%}}

  /* faq */
  .faq details{background:#fff;border-radius:16px;box-shadow:var(--shadow-sm);margin-bottom:12px;border:1px solid #f1e6d6;}
  .faq summary{padding:18px 22px;cursor:pointer;font-family:"Zen Maru Gothic";font-weight:700;font-size:15px;display:flex;gap:12px;list-style:none;}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::before{content:"Q";color:var(--accent);font-weight:900;}
  .faq .a{padding:0 22px 20px 50px;color:var(--ink-soft);font-size:14px;}

  /* company */
  .company{background:linear-gradient(180deg,var(--cream),#fff);}
  .ctable{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);font-size:14px;}
  .ctable th,.ctable td{padding:13px 18px;border-bottom:1px solid #f1e8da;text-align:left;}
  .ctable th{background:var(--cream);font-family:"Zen Maru Gothic";font-weight:700;width:34%;}
  .lic{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;}
  .lic span{background:#fff;border:1px solid var(--sky-line);border-radius:12px;padding:10px 16px;font-size:12.5px;font-weight:700;color:var(--primary-d);}

  /* final */
  .final{background:linear-gradient(135deg,var(--primary-d),#1AA0A0);color:#fff;text-align:center;}
  .final h2{font-family:"Zen Maru Gothic";font-weight:900;font-size:clamp(25px,5.2vw,38px);line-height:1.35;}
  .final p{opacity:.92;margin:14px 0 26px;}
  .final-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
  .final .tel-lg{font-family:"Zen Maru Gothic";font-weight:900;font-size:30px;color:#fff;text-decoration:none;display:block;margin-top:24px;}
  .final .tel-lg small{display:block;font-size:12px;opacity:.85;font-family:"Noto Sans JP";font-weight:500;}

  footer{background:#33271F;color:#bba996;padding:38px 0 28px;font-size:13px;}
  footer .brand{color:#fff;margin-bottom:12px;}
  footer .op{background:#41342a;border-radius:14px;padding:15px 18px;font-size:12px;line-height:1.8;margin-top:12px;}
  footer .op b{color:#e9d9c6;}

  .sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:80;background:#fff;box-shadow:0 -8px 24px rgba(80,50,40,.14);display:flex;gap:10px;padding:10px 14px;}
  .sticky-cta .btn{flex:1;justify-content:center;padding:14px;font-size:15px;}
  @media(min-width:861px){.sticky-cta{justify-content:center}.sticky-cta .btn{flex:none;min-width:240px}}
/* 関西エリアマップ */
.areaMap{background:#F9F4EB;border-radius:20px;padding:14px;}
.areaMap svg{width:100%;height:auto;display:block;}
/* 写真差し込み */
.ph.has-img{border:none;padding:0;background:#e9dfd0;}
.ph.has-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block;}
/* ふわっと表示（スクロール連動） */
@media (prefers-reduced-motion: no-preference){
  .rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.22,.65,.3,1),transform .8s cubic-bezier(.22,.65,.3,1);}
  .rv.on{opacity:1;transform:none;}
  .hero .wrap>div:first-child{animation:lpFadeUp .9s cubic-bezier(.22,.65,.3,1) both;}
  .hero-photo{animation:lpFadeUp .9s .15s cubic-bezier(.22,.65,.3,1) both;}
  @keyframes lpFadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:none;}}
  .sc,.case,.vc,.opt{transition:transform .3s ease,box-shadow .3s ease;}
  .sc:hover,.case:hover,.vc:hover,.opt:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
  .btn{transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;}
  .btn:hover{transform:translateY(-3px);filter:brightness(1.04);}
}

/* =========================================
  下層ページ共通（2026-08-06）
========================================= */
a.brand{color:inherit;text-decoration:none;}
.subHero{background:linear-gradient(135deg,#FBEDE6,#FCF7F0);padding:44px 0 38px;border-bottom:1px solid #f1e6d6;}
.subHero .crumb{font-size:12px;color:#a08c7c;margin-bottom:14px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.subHero .crumb a{color:var(--primary);text-decoration:none;font-weight:700;}
.subHero .crumb a:hover{text-decoration:underline;}
.subHero .mini{display:block;font-size:12px;letter-spacing:.26em;color:var(--accent);font-weight:700;margin-bottom:8px;}
.subHero h1{font-family:"Zen Maru Gothic";font-weight:900;font-size:clamp(24px,4.4vw,34px);line-height:1.42;color:var(--ink);}
.subHero .lead{margin-top:12px;color:var(--ink-soft);font-size:15px;max-width:760px;}
main.sub section{padding:56px 0;}
main.sub section.tight{padding:40px 0;}
.prose{background:#fff;border:1px solid #f1e6d6;border-radius:var(--r);box-shadow:var(--shadow-sm);padding:34px 32px;line-height:2;}
.prose h2{font-family:"Zen Maru Gothic";font-weight:900;font-size:19px;color:var(--ink);border-left:5px solid var(--accent);padding-left:12px;margin:34px 0 14px;}
.prose h2:first-child{margin-top:0;}
.prose p{margin-bottom:14px;}
.prose ul{margin:0 0 16px;padding:14px 18px 14px 34px;background:var(--sky);border-radius:12px;}
.prose ul li{list-style:disc;margin-bottom:4px;}
.prose small{color:var(--ink-soft);}
.subTable{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm);font-size:14px;}
.subTable th,.subTable td{border:1px solid #f0e4d2;padding:13px 16px;text-align:left;line-height:1.7;}
.subTable th{background:var(--peach);width:32%;font-family:"Zen Maru Gothic";font-weight:700;color:var(--ink);}
.meritGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.merit{background:#fff;border:1px solid #f1e6d6;border-radius:18px;box-shadow:var(--shadow-sm);padding:22px;}
.merit .t{font-family:"Zen Maru Gothic";font-weight:900;font-size:16px;color:var(--primary-d);margin-bottom:8px;display:flex;align-items:center;gap:8px;}
.merit .t span{font-size:20px;}
.merit p{font-size:13.5px;color:var(--ink-soft);}
.footNav{display:flex;flex-wrap:wrap;gap:8px 22px;margin:18px 0 4px;}
.footNav a{color:#d9c9b6;text-decoration:none;font-size:13px;}
.footNav a:hover{color:#fff;}
.copy{margin-top:18px;font-size:11px;opacity:.7;text-align:center;}
@media(max-width:820px){.meritGrid{grid-template-columns:1fr}.subTable th{width:36%}}

/* グローバルナビ（2026-08-06） */
.gnav{background:rgba(255,255,255,.92);border-bottom:1px solid #f0e4d2;}
.gnav .wrap{display:flex;align-items:center;justify-content:center;gap:2px 26px;padding-top:9px;padding-bottom:9px;height:auto;flex-wrap:wrap;}
.gnav a{white-space:nowrap;color:var(--ink);text-decoration:none;font-size:13.5px;font-weight:700;padding:3px 2px;border-bottom:2px solid transparent;transition:.2s;}
.gnav a:hover{color:var(--primary);}
.gnav a.is-current{color:var(--primary-d);border-bottom-color:var(--accent);}
@media(max-width:860px){
  .gnav .wrap{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:20px;}
  .gnav a{font-size:12.5px;}
}

/* ロゴ画像（2026-08-06） */
.brand img.logoImg{height:34px;width:auto;display:block;}
footer .brand img.logoImg{height:30px;filter:brightness(0) invert(1);}
@media(max-width:860px){.brand img.logoImg{height:28px;}}
