.case-hero{background:linear-gradient(135deg,#F0FAFA 0%,#E0F5F4 55%,var(--white) 100%);padding:132px 0 56px;position:relative;overflow:hidden}
  .case-hero::before{content:'';position:absolute;top:-80px;right:-60px;width:360px;height:360px;border-radius:50%;background:rgba(10,186,181,.07)}
  .case-hero__inner{position:relative;z-index:1;max-width:780px}
  .case-hero__badge{display:inline-flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--tiffany-light);color:var(--tiffany-deep);font-size:11px;font-weight:700;padding:6px 15px;border-radius:20px;margin-bottom:18px;letter-spacing:.12em}
  .case-hero__title{font-family:var(--font-serif);font-size:clamp(28px,4vw,42px);font-weight:700;color:var(--navy);line-height:1.4}
  .case-hero__title em{font-style:normal;color:var(--tiffany)}
  .case-hero__lead{font-size:15px;color:var(--gray-700);line-height:2;margin-top:16px}

  .case-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
  .case-metric{background:var(--tiffany-pale);border-radius:var(--radius);padding:28px;text-align:center;border:1px solid var(--tiffany-light)}
  .case-metric__name{font-size:13px;font-weight:700;color:var(--tiffany-deep);margin-bottom:14px}
  .case-metric__row{display:flex;align-items:center;justify-content:center;gap:14px}
  .case-metric__cap{font-size:11px;color:var(--gray-500)}
  .case-metric__before{font-family:var(--font-serif);font-size:28px;font-weight:700;color:var(--gray-700)}
  .case-metric__after{font-family:var(--font-serif);font-size:32px;font-weight:700;color:var(--tiffany)}
  .case-metric__arrow{font-size:20px;color:var(--gold)}
  .case-metric__note{font-size:12px;color:var(--gray-700);margin-top:10px}

  /* ===== 事例一覧（クイックナビ） ===== */
  .case-index{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
  .cidx{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);padding:22px 20px;box-shadow:var(--shadow-s);transition:box-shadow .2s,transform .2s;text-align:left}
  .cidx:hover{box-shadow:var(--shadow-m);transform:translateY(-4px);border-color:var(--tiffany-light)}
  .cidx__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
  .cidx__no{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--tiffany-deep);background:var(--tiffany-pale);border:1px solid var(--tiffany-light);padding:4px 10px;border-radius:20px}
  .cidx__ico{font-size:24px;line-height:1}
  .cidx__ind{font-family:var(--font-serif);font-size:16px;font-weight:700;color:var(--navy);line-height:1.4}
  .cidx__size{font-size:11.5px;color:var(--gray-500);margin-top:3px}
  .cidx__trg{font-size:12.5px;color:var(--gray-700);line-height:1.8;margin-top:11px;flex-grow:1}
  .cidx__more{margin-top:14px;font-size:12px;font-weight:700;color:var(--tiffany);display:inline-flex;align-items:center;gap:5px}
  .cidx__more span{transition:transform .2s}
  .cidx:hover .cidx__more span{transform:translateX(4px)}

  /* ===== 詳細ケース ===== */
  .cdetail{background:var(--white);border:1px solid var(--gray-200);border-radius:16px;padding:34px 34px 30px;box-shadow:var(--shadow-s);scroll-margin-top:90px}
  .cdetail + .cdetail{margin-top:28px}
  .cdetail__head{display:flex;gap:22px;align-items:flex-start;padding-bottom:22px;border-bottom:1px solid var(--gray-200)}
  .cdetail__no{flex-shrink:0;width:66px;height:66px;border-radius:14px;background:var(--navy);color:var(--white);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:9px;font-weight:700;letter-spacing:.14em;line-height:1.5}
  .cdetail__no b{font-family:var(--font-serif);font-size:26px;color:var(--tiffany-light);letter-spacing:.02em}
  .cdetail__meta{flex-grow:1}
  .cdetail__ind{font-family:var(--font-serif);font-size:20px;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:9px;flex-wrap:wrap}
  .cdetail__ico{font-size:22px}
  .cdetail__size{font-size:12px;font-weight:500;color:var(--tiffany-deep);background:var(--tiffany-pale);border:1px solid var(--tiffany-light);padding:3px 11px;border-radius:20px;letter-spacing:.04em}
  .cdetail__trg{font-size:13.5px;color:var(--gray-700);line-height:1.9;margin-top:12px;padding-left:14px;border-left:3px solid var(--gold)}
  .cdetail__trglabel{display:block;font-size:11px;font-weight:700;color:var(--gold);letter-spacing:.1em;margin-bottom:4px}

  .cd-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
  .cd-box{border-radius:12px;padding:20px 22px}
  .cd-box--k{background:#FEF6F5;border:1px solid #F6D9D5}
  .cd-box--r{background:var(--tiffany-pale);border:1px solid var(--tiffany-light)}
  .cd-box__label{font-size:12px;font-weight:700;letter-spacing:.1em;margin-bottom:12px}
  .cd-box--k .cd-box__label{color:#C0392B}
  .cd-box--r .cd-box__label{color:var(--tiffany-deep)}
  .cd-list{list-style:none;display:flex;flex-direction:column;gap:9px}
  .cd-list li{font-size:13px;color:var(--gray-700);line-height:1.7;padding-left:24px;position:relative}
  .cd-list--k li::before{content:'!';position:absolute;left:0;top:0;width:17px;height:17px;border-radius:50%;background:#E7B0A8;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
  .cd-list--r li::before{content:'✓';position:absolute;left:0;top:0;width:17px;height:17px;border-radius:50%;background:var(--tiffany);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}

  .cd-sublabel{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--tiffany);margin-bottom:14px;display:flex;align-items:center;gap:9px}
  .cd-sublabel::before{content:'';width:20px;height:2px;background:var(--gold);flex-shrink:0}
  .cd-flowwrap{margin-top:26px}
  .cd-flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
  .cd-flow__step{background:var(--white);border:1.5px solid var(--tiffany-light);color:var(--tiffany-deep);font-size:12.5px;font-weight:700;padding:9px 16px;border-radius:8px}
  .cd-flow__arrow{color:var(--gold);font-weight:700;font-size:14px}

  .cd-cols--talk{margin-top:28px;align-items:stretch}
  .cd-voice{background:var(--gold-pale);border:1px solid #EAD9A8;border-radius:12px;padding:22px 24px}
  .cd-voice__label{font-size:12px;font-weight:700;color:#8A6A18;letter-spacing:.06em;margin-bottom:12px;display:flex;align-items:center;gap:7px}
  .cd-voice__txt{font-size:13.5px;color:var(--gray-700);line-height:2;position:relative}
  .cd-comment{background:var(--navy);border-radius:12px;padding:22px 24px;color:var(--white)}
  .cd-comment__head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
  .cd-comment__avatar{width:42px;height:42px;border-radius:50%;background:var(--tiffany);color:#fff;font-family:var(--font-serif);font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .cd-comment__name{font-size:13px;font-weight:700;color:var(--white)}
  .cd-comment__role{font-size:11px;color:var(--tiffany-light);margin-top:2px}
  .cd-comment__txt{font-size:13px;line-height:2;color:rgba(255,255,255,.9)}

  .cd-services{margin-top:26px;padding-top:24px;border-top:1px solid var(--gray-200)}
  .cd-services__tags{display:flex;flex-wrap:wrap;gap:9px}
  .cd-svc{font-size:12px;font-weight:700;padding:7px 14px;border-radius:20px;background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-200)}
  .cd-svc--link{background:var(--tiffany-pale);color:var(--tiffany-deep);border:1px solid var(--tiffany-light);transition:all .2s}
  .cd-svc--link span{color:var(--gold)}
  .cd-svc--link:hover{background:var(--tiffany);color:#fff;border-color:var(--tiffany)}
  .cd-svc--link:hover span{color:#fff}

  .case-note{text-align:center;margin-top:30px;font-size:12px;color:var(--gray-500);line-height:1.9}

  @media(max-width:900px){
    .case-metrics{grid-template-columns:1fr}
    .case-index{grid-template-columns:1fr 1fr}
  }
  @media(max-width:680px){
    .case-index{grid-template-columns:1fr}
    .cd-cols,.cd-cols--talk{grid-template-columns:1fr}
    .cdetail{padding:26px 20px 24px}
    .cdetail__head{gap:16px}
  }