.faq-hero{background:linear-gradient(135deg,#F0FAFA 0%,#E0F5F4 55%,var(--white) 100%);padding:132px 0 56px;position:relative;overflow:hidden}
  .faq-hero::before{content:'';position:absolute;top:-80px;right:-60px;width:360px;height:360px;border-radius:50%;background:rgba(10,186,181,.07)}
  .faq-hero__inner{position:relative;z-index:1;max-width:760px}
  .faq-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}
  .faq-hero__title{font-family:var(--font-serif);font-size:clamp(28px,4vw,42px);font-weight:700;color:var(--navy);line-height:1.4}
  .faq-hero__title em{font-style:normal;color:var(--tiffany)}
  .faq-hero__lead{font-size:15px;color:var(--gray-700);line-height:2;margin-top:16px}

  /* 検索 */

  /* カテゴリチップ */
  .faq-cats{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
  .faq-cat{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--gray-700);background:var(--white);border:1px solid var(--gray-200);border-radius:22px;padding:8px 16px;cursor:pointer;transition:all .18s}
  .faq-cat:hover{border-color:var(--tiffany-light);color:var(--tiffany-deep)}
  .faq-cat.is-active{background:var(--tiffany);border-color:var(--tiffany);color:#fff}

  /* リスト */
  .faq-list{max-width:900px;margin:0 auto}
  .faq-group{margin-bottom:44px}
  .faq-group__title{display:flex;align-items:center;gap:12px;font-family:var(--font-serif);font-size:20px;font-weight:700;color:var(--navy);padding-bottom:14px;margin-bottom:18px;border-bottom:2px solid var(--tiffany-light)}
  .faq-group__icon{font-size:22px}
  .faq-group__count{font-size:12px;font-weight:700;color:var(--tiffany-deep);background:var(--tiffany-pale);border-radius:12px;padding:2px 10px;margin-left:auto}

  .faq-item{border:1px solid var(--gray-200);border-radius:12px;margin-bottom:12px;background:var(--white);overflow:hidden;transition:box-shadow .2s,border-color .2s}
  .faq-item:hover{box-shadow:var(--shadow-s)}
  .faq-item.is-open{border-color:var(--tiffany-light);box-shadow:0 6px 20px rgba(10,186,181,.1)}
  .faq-q{width:100%;display:flex;align-items:flex-start;gap:14px;padding:20px 22px;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit}
  .faq-q__icon{flex-shrink:0;width:26px;height:26px;border-radius:7px;background:var(--tiffany);color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif)}
  .faq-q__text{flex:1;font-size:15px;font-weight:700;color:var(--navy);line-height:1.6;padding-top:2px}
  .faq-q__toggle{flex-shrink:0;font-size:22px;font-weight:400;color:var(--tiffany-deep);line-height:1;transition:transform .25s;padding-top:2px}
  .faq-item.is-open .faq-q__toggle{transform:rotate(45deg)}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
  .faq-a__inner{display:flex;gap:14px;padding:0 22px 22px 22px}
  .faq-a__icon{flex-shrink:0;width:26px;height:26px;border-radius:7px;background:var(--gold);color:var(--navy);font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif)}
  .faq-a__inner p{flex:1;font-size:14px;color:var(--gray-700);line-height:1.95;padding-top:3px}
  .faq-a__body{flex:1;padding-top:3px}
  .faq-a__body p{font-size:14px;color:var(--gray-700);line-height:1.95}
  .faq-a__body ul{list-style:none;margin:10px 0;display:flex;flex-direction:column;gap:5px}
  .faq-a__body ul li{font-size:14px;color:var(--gray-700);line-height:1.7;padding-left:18px;position:relative}
  .faq-a__body ul li::before{content:'・';position:absolute;left:0;color:var(--tiffany-deep);font-weight:700}

  .faq-empty{display:none;text-align:center;padding:60px 20px;color:var(--gray-500);font-size:15px}

  /* 最後のCTA */
  .faq-cta{background:linear-gradient(135deg,#0F1F3D 0%,#0A1F30 100%);border-radius:20px;padding:clamp(40px,6vw,64px) clamp(28px,5vw,56px);position:relative;overflow:hidden;max-width:940px;margin:0 auto}
  .faq-cta::before{content:'';position:absolute;top:-60px;right:-50px;width:260px;height:260px;border-radius:50%;background:rgba(10,186,181,.12)}
  .faq-cta__inner{position:relative;z-index:1}
  .faq-cta__title{font-family:var(--font-serif);font-size:clamp(22px,3.2vw,30px);font-weight:700;color:#fff;text-align:center;line-height:1.5;margin-bottom:8px}
  .faq-cta__sub{font-size:14px;color:rgba(255,255,255,.75);text-align:center;line-height:1.9;margin-bottom:28px}
  .faq-check{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;max-width:680px;margin:0 auto 30px}
  .faq-check li{list-style:none;display:flex;gap:10px;font-size:14px;color:rgba(255,255,255,.92);line-height:1.6}
  .faq-check li::before{content:'✓';color:var(--tiffany);font-weight:700;flex-shrink:0}
  .faq-cta__free{text-align:center;font-size:14px;font-weight:700;color:var(--gold-light);margin-bottom:22px}
  .faq-cta__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
  .faq-cta__tel{display:inline-flex;align-items:center;gap:10px;color:#fff}
  .faq-cta__tel strong{font-size:19px;font-family:var(--font-serif)}

  @media(max-width:640px){.faq-check{grid-template-columns:1fr}}