/* ===== HERO ===== */
  .coo-hero{background:var(--navy);position:relative;overflow:hidden;padding-top:68px}
  .coo-hero__bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--navy) 0%,#1A3260 60%,var(--navy) 100%)}
  .coo-hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;padding:64px 0}
  .coo-hero__badge{display:inline-flex;align-items:center;gap:8px;background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.4);border-radius:20px;padding:6px 16px;margin-bottom:24px}
  .coo-hero__badge span{font-size:12px;font-weight:700;color:var(--gold-light);letter-spacing:.08em}
  .coo-hero__catch{font-family:var(--font-serif);font-size:13px;font-weight:700;color:rgba(255,255,255,.6);letter-spacing:.06em;margin-bottom:10px}
  .coo-hero__title1{font-family:var(--font-serif);font-size:clamp(30px,4.2vw,46px);font-weight:700;color:var(--white);line-height:1.3;letter-spacing:.02em}
  .coo-hero__title2{font-family:var(--font-serif);font-size:clamp(26px,3.6vw,40px);font-weight:700;color:var(--gold);line-height:1.3;letter-spacing:.02em;margin-bottom:20px}
  .coo-hero__sub{font-size:14px;color:rgba(255,255,255,.7);line-height:2}
  .coo-hero__sub strong{color:var(--gold-light)}
  .coo-hero__photo{position:relative;border-radius:16px;overflow:hidden;height:420px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
  .coo-hero__photo img{width:100%;height:100%;object-fit:cover}

  /* チェックリストカード */
  .coo-checklist{background:var(--white);margin-top:-1px}
  .coo-cl-card{max-width:var(--max-w);margin:0 auto;padding:0 24px}
  .coo-cl-header{background:var(--gold);padding:18px 28px;border-radius:12px 12px 0 0;display:flex;align-items:center;gap:10px;margin-top:-40px;position:relative;z-index:2}
  .coo-cl-header span{font-family:var(--font-serif);font-size:16px;font-weight:700;color:var(--navy)}
  .coo-cl-body{background:var(--white);border:2px solid var(--gold);border-top:none;border-radius:0 0 12px 12px;padding:24px 28px;box-shadow:var(--shadow-m)}
  .coo-cl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 24px}
  .coo-cl-item{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:var(--gray-700);font-weight:500;line-height:1.6}
  .coo-cl-item::before{content:'⚠️';flex-shrink:0;font-size:13px;margin-top:2px}

  /* 実現バンド */
  .coo-realize{background:var(--tiffany-dark);padding:36px 0}
  .coo-realize__inner{display:flex;align-items:center;gap:32px;flex-wrap:wrap;justify-content:center}
  .coo-realize__text{flex:1;min-width:280px}
  .coo-realize__badge{display:inline-block;background:rgba(255,255,255,.2);color:var(--white);font-size:11px;font-weight:700;padding:4px 14px;border-radius:20px;margin-bottom:12px;letter-spacing:.06em}
  .coo-realize__body{font-size:14px;color:var(--white);line-height:1.9}
  .coo-realize__body em{color:var(--gold-light);font-style:normal;font-weight:700}
  .coo-realize__visual{display:flex;align-items:center;gap:14px;flex-shrink:0}
  .coo-realize__head{width:70px;height:70px;background:rgba(255,255,255,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;border:2px solid rgba(255,255,255,.3)}
  .coo-realize__head-text{font-size:10px;color:var(--white);text-align:center;line-height:1.3}
  .coo-realize__arrow{font-size:26px;color:var(--white);font-weight:900}
  .coo-realize__dest{text-align:center}
  .coo-realize__dest-ico{font-size:34px}
  .coo-realize__dest p{font-size:11px;color:rgba(255,255,255,.9);margin-top:4px;font-weight:700}

  /* CTAバンド（ベネフィット） */
  .coo-benefit{background:var(--navy);padding:32px 0;text-align:center}
  .coo-benefit p:first-child{font-size:14px;color:rgba(255,255,255,.8);margin-bottom:6px}
  .coo-benefit__main{font-family:var(--font-serif);font-size:clamp(22px,3vw,30px);font-weight:700;color:var(--white);line-height:1.5}
  .coo-benefit__main em{color:var(--gold);font-style:normal}
  .coo-benefit__award{display:inline-flex;align-items:center;gap:10px;background:rgba(201,168,76,.18);border:2px solid rgba(201,168,76,.5);border-radius:30px;padding:10px 24px;margin-top:18px}
  .coo-benefit__award span{font-size:16px;font-weight:700;color:var(--gold-light)}

  /* 課題2分類 */
  .ntabs{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:40px}
  .ntab{border-radius:var(--radius);padding:28px 26px;border:2px solid var(--gray-200);background:var(--white);box-shadow:var(--shadow-s)}
  .ntab.sm{border-color:var(--tiffany-light)}
  .ntab.md{border-color:var(--gold-line)}
  .ntab-badge{font-size:11px;font-weight:700;padding:4px 14px;border-radius:20px;display:inline-block;margin-bottom:14px}
  .ntab-badge.sm{background:var(--tiffany-pale);color:var(--tiffany-deep);border:1px solid var(--tiffany-light)}
  .ntab-badge.md{background:var(--gold-pale);color:#7A5A10;border:1px solid var(--gold-line)}
  .ntab-list{list-style:none;margin-bottom:16px}
  .ntab-list li{font-size:13px;color:var(--gray-700);padding:4px 0 4px 14px;position:relative;line-height:1.7}
  .ntab-list li::before{content:'・';position:absolute;left:0;color:#DC2626}
  .ntab-want{background:var(--gray-50);border-radius:8px;padding:12px 14px;font-size:13px;font-weight:700;color:var(--navy);line-height:1.6}
  .ntab-want::before{content:'欲しいのは ▸ ';color:var(--tiffany-deep)}

  /* 社長は悪くない */
  .truth-items{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;max-width:600px;margin-left:auto;margin-right:auto}
  .truth-item{background:var(--white);border:1px solid var(--gray-200);border-radius:10px;padding:14px 18px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-s)}
  .truth-icon{font-size:18px;flex-shrink:0}
  .truth-text{font-size:13px;color:var(--gray-700);font-weight:500}

  /* 変化図（Before/After） */
  .ba-wrap{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:36px}
  .ba-card{background:var(--white);border-radius:var(--radius);padding:24px 22px;box-shadow:var(--shadow-s)}
  .ba-card.bc{border:2px solid #F0B8B8}
  .ba-card.ac{border:2px solid var(--tiffany)}
  .ba-lbl{font-size:11px;font-weight:700;padding:4px 14px;border-radius:20px;display:inline-block;margin-bottom:16px}
  .ba-lbl.b{background:#FEE2E2;color:#DC2626}
  .ba-lbl.a{background:var(--tiffany-pale);color:var(--tiffany-deep)}
  .ba-chart{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:16px}
  .ban{border-radius:20px;padding:8px 14px;font-size:13px;font-weight:700;text-align:center}
  .ban.pres{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--navy);min-width:100px}
  .ban.emp{background:var(--gray-50);border:1px solid var(--gray-200);color:var(--gray-500);min-width:60px;padding:6px;font-size:11px}
  .ban-row{display:flex;gap:6px;justify-content:center}
  .ban-arr{font-size:16px;font-weight:700;line-height:1}
  .ban-arr.r{color:#E07070}.ban-arr.b{color:var(--tiffany-deep)}
  .ban-mid{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}
  .ban-emx{background:linear-gradient(135deg,var(--tiffany),var(--tiffany-dark));border-radius:8px;padding:10px 8px;text-align:center;flex:1}
  .ban-emx-n{font-size:12px;font-weight:900;color:var(--white)}
  .ban-emx-s{font-size:10px;color:rgba(255,255,255,.85);line-height:1.3;margin-top:2px}
  .ban-conn{font-size:14px;color:var(--tiffany-deep);font-weight:900;flex-shrink:0}
  .ban-mgr{background:var(--tiffany-pale);border:1.5px solid var(--tiffany-light);border-radius:8px;padding:10px 8px;text-align:center;flex:1}
  .ban-mgr-i{font-size:16px}
  .ban-mgr-n{font-size:11px;font-weight:700;color:var(--tiffany-deep);margin-top:3px}
  .ba-note{background:var(--gray-50);border-radius:8px;padding:10px 14px;text-align:center}
  .ba-note-t{font-size:12px;font-weight:700;color:var(--navy);margin-bottom:3px}
  .ba-note-s{font-size:11px;color:var(--gray-500);line-height:1.5}
  .ba-msg{background:linear-gradient(135deg,var(--navy),#1A3260);border-radius:var(--radius);padding:28px 24px;margin-top:24px;text-align:center}
  .ba-msg-main{font-family:var(--font-serif);font-size:16px;font-weight:700;color:var(--white);line-height:1.8;margin-bottom:8px}
  .ba-msg-main em{color:var(--gold);font-style:normal}
  .ba-msg-sub{font-size:12px;color:rgba(255,255,255,.6);line-height:1.6}

  /* 役割4カード */
  .role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:36px}
  .rc{background:var(--white);border:1.5px solid var(--tiffany-light);border-radius:var(--radius);padding:26px 22px;text-align:center;box-shadow:var(--shadow-s);transition:box-shadow .2s,transform .2s}
  .rc:hover{box-shadow:var(--shadow-l);transform:translateY(-3px)}
  .rc-icon{font-size:30px;margin-bottom:10px}
  .rc-title{font-family:var(--font-serif);font-size:16px;font-weight:700;color:var(--tiffany-deep);margin-bottom:12px}
  .rc-list{list-style:none;text-align:left}
  .rc-list li{font-size:13px;color:var(--gray-700);padding:4px 0 4px 16px;position:relative;line-height:1.7}
  .rc-list li::before{content:'▸';position:absolute;left:0;color:var(--tiffany);font-size:10px;top:8px}

  /* 料金 */
  .coo-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
  .coo-price-card{background:var(--white);border:2px solid var(--gray-200);border-radius:var(--radius);padding:22px 18px;box-shadow:var(--shadow-s)}
  .coo-price-card--feat{border-color:var(--tiffany);box-shadow:var(--shadow-m)}
  .coo-price-badge{font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;display:inline-block;margin-bottom:10px}
  .coo-price-badge--s{background:var(--tiffany-pale);color:var(--tiffany-deep);border:1px solid var(--tiffany-light)}
  .coo-price-badge--c{background:var(--tiffany);color:var(--white)}
  .coo-price-title{font-family:var(--font-serif);font-size:15px;font-weight:700;color:var(--navy);margin-bottom:6px}
  .coo-price-desc{font-size:11px;color:var(--gray-500);margin-bottom:14px;line-height:1.6}
  .coo-price-list{list-style:none}
  .coo-price-list li{font-size:11px;color:var(--gray-700);padding:3px 0 3px 14px;position:relative}
  .coo-price-list li::before{content:'✓';position:absolute;left:0;color:var(--tiffany);font-weight:700}

  /* セクション共通 */
  .coo-sec{padding:64px 0}
  .coo-sec--bg{background:var(--gray-50)}
  .coo-sec--white{background:var(--white)}
  .coo-sec--sky{background:var(--tiffany-pale)}
  .coo-sec--navy{background:var(--navy);color:var(--white)}
  .coo-lbl{font-size:11px;letter-spacing:.18em;color:var(--tiffany-deep);font-weight:700;margin-bottom:8px;text-align:center}
  .coo-h2c{font-family:var(--font-serif);font-size:clamp(22px,2.8vw,30px);font-weight:700;line-height:1.5;color:var(--navy);margin-bottom:10px;text-align:center}
  .coo-h2cw{font-family:var(--font-serif);font-size:clamp(22px,2.8vw,30px);font-weight:700;line-height:1.5;color:var(--white);margin-bottom:10px;text-align:center}
  .coo-subc{font-size:14px;color:var(--gray-700);line-height:1.9;margin-bottom:20px;text-align:center;max-width:600px;margin-left:auto;margin-right:auto}

  /* 写真ブロック */
  .coo-pblock{position:relative;border-radius:var(--radius);overflow:hidden;height:280px}
  .coo-pblock img{width:100%;height:100%;object-fit:cover;display:block}
  .coo-pov{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(15,43,53,.05),rgba(15,43,53,.82));display:flex;flex-direction:column;justify-content:flex-end;padding:24px}
  .coo-pmain{font-family:var(--font-serif);font-size:20px;font-weight:700;color:var(--white);line-height:1.5}
  .coo-pmain em{color:var(--gold);font-style:normal}

  /* 代表カード */
  .rep-card{background:var(--white);border-radius:var(--radius);border:1px solid var(--gray-200);overflow:hidden;box-shadow:var(--shadow-m);max-width:680px;margin:36px auto 0}
  .rep-top{display:flex;align-items:center;gap:18px;padding:24px 24px 16px}
  .rep-photo{width:90px;height:90px;border-radius:50%;object-fit:cover;object-position:center top;border:3px solid var(--tiffany-light);flex-shrink:0}
  .rep-info-title{font-size:11px;color:var(--gray-500);margin-bottom:2px}
  .rep-info-name{font-family:var(--font-serif);font-size:19px;font-weight:700;color:var(--navy)}
  .rep-rtag{display:inline-block;background:var(--tiffany-pale);color:var(--tiffany-deep);border:1px solid var(--tiffany-light);border-radius:20px;font-size:11px;font-weight:700;padding:3px 12px;margin-top:6px}
  .rep-body{padding:0 24px 24px}
  .rep-q{font-family:var(--font-serif);font-size:15px;font-weight:700;color:var(--tiffany-deep);line-height:1.7;border-left:3px solid var(--tiffany);padding-left:14px;margin-bottom:16px}
  .rep-msg{font-size:13px;color:var(--gray-700);line-height:1.95}
  .rep-msg em{color:var(--tiffany-deep);font-style:normal;font-weight:700}

  /* 営業フロー（簡略図） */
  .flow-mini-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:36px}
  .flow-mini-card{background:var(--white);border-radius:10px;padding:16px 12px;text-align:center;box-shadow:var(--shadow-s);border:1px solid var(--gray-200)}
  .flow-mini-icon{font-size:22px;margin-bottom:8px}
  .flow-mini-text{font-size:12px;font-weight:700;color:var(--navy);line-height:1.5}

  @media(max-width:1024px){
    .coo-hero__inner{grid-template-columns:1fr}
    .coo-hero__photo{height:300px}
    .coo-cl-grid{grid-template-columns:1fr}
    .ntabs,.ba-wrap,.role-grid{grid-template-columns:1fr}
    .coo-price-grid{grid-template-columns:1fr}
    .flow-mini-grid{grid-template-columns:repeat(2,1fr)}
  }

  /* ===== 成長ステージ型 伴走プラン ===== */
  .sp-stages{display:flex;align-items:stretch;margin-top:34px}
  .sp-stage{flex:1;text-align:center;padding:18px 14px;border-radius:12px;border:1px solid var(--gray-200);background:var(--white);box-shadow:var(--shadow-s)}
  .sp-stage__no{font-family:var(--font-serif);font-size:12px;font-weight:700;letter-spacing:.16em;margin-bottom:6px}
  .sp-stage__name{font-family:var(--font-serif);font-size:15px;font-weight:700;color:var(--navy);line-height:1.5}
  .sp-stage--01{border-color:var(--tiffany-light)}
  .sp-stage--01 .sp-stage__no{color:var(--tiffany-deep)}
  .sp-stage--02{border-color:var(--gold);background:var(--gold-pale)}
  .sp-stage--02 .sp-stage__no{color:#7A5A10}
  .sp-stage--03{border-color:var(--navy);background:var(--navy)}
  .sp-stage--03 .sp-stage__no{color:var(--gold-light)}
  .sp-stage--03 .sp-stage__name{color:var(--white)}
  .sp-arrow{display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--gold);width:46px;flex-shrink:0}

  /* 全プラン共通バナー */
  .sp-common{margin-top:26px;background:var(--navy);border-radius:16px;padding:30px 32px;border:1px solid rgba(201,168,76,.45);position:relative;overflow:hidden}
  .sp-common::before{content:'';position:absolute;top:-50px;right:-50px;width:220px;height:220px;border-radius:50%;background:rgba(201,168,76,.07)}
  .sp-common__inner{position:relative;z-index:1}
  .sp-common__badge{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:var(--navy);font-size:11px;font-weight:700;letter-spacing:.1em;padding:5px 14px;border-radius:20px;margin-bottom:14px}
  .sp-common__title{font-family:var(--font-serif);font-size:clamp(17px,2.1vw,21px);font-weight:700;color:var(--white);line-height:1.6}
  .sp-common__title em{color:var(--gold-light);font-style:normal}
  .sp-common__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px 24px;margin-top:20px}
  .sp-common__item{font-size:13px;color:rgba(255,255,255,.86);padding-left:24px;position:relative;line-height:1.6}
  .sp-common__item::before{content:'✔';position:absolute;left:0;top:0;color:var(--gold-light);font-weight:700}

  /* プランカード */
  .sp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px;align-items:start}
  .sp-card{background:var(--white);border:1px solid var(--gray-200);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-s);display:flex;flex-direction:column}
  .sp-card--feat{border:2px solid var(--gold);box-shadow:0 12px 36px rgba(201,168,76,.2)}
  .sp-card__head{padding:24px 22px 20px;border-bottom:1px solid var(--gray-200);position:relative}
  .sp-card--01 .sp-card__head{background:var(--tiffany-pale)}
  .sp-card--02 .sp-card__head{background:var(--gold-pale)}
  .sp-card--03 .sp-card__head{background:var(--navy)}
  .sp-popular{position:absolute;top:0;right:0;background:var(--gold);color:var(--navy);font-size:11px;font-weight:700;letter-spacing:.06em;padding:5px 16px;border-radius:0 0 0 12px}
  .sp-card__stage{font-family:var(--font-serif);font-size:11px;font-weight:700;letter-spacing:.16em;margin-bottom:10px}
  .sp-card--01 .sp-card__stage{color:var(--tiffany-deep)}
  .sp-card--02 .sp-card__stage{color:#7A5A10}
  .sp-card--03 .sp-card__stage{color:var(--gold-light)}
  .sp-card__size{display:inline-block;font-size:12px;font-weight:700;padding:4px 14px;border-radius:20px;margin-bottom:12px;background:var(--white);border:1px solid var(--gray-200);color:var(--navy)}
  .sp-card--03 .sp-card__size{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:var(--white)}
  .sp-card__price{font-family:var(--font-serif);font-size:27px;font-weight:700;color:var(--navy);line-height:1.2}
  .sp-card__price span{font-size:12px;font-weight:400;color:var(--gray-500)}
  .sp-card--03 .sp-card__price{color:var(--white)}
  .sp-card--03 .sp-card__price span{color:rgba(255,255,255,.6)}
  .sp-card__pnote{font-size:11px;color:var(--gray-500);margin-top:6px}
  .sp-card--03 .sp-card__pnote{color:rgba(255,255,255,.6)}
  .sp-card__catch{font-family:var(--font-serif);font-size:15px;font-weight:700;line-height:1.6;margin-top:16px;padding-top:16px;border-top:1px solid var(--gold-line)}
  .sp-card--01 .sp-card__catch{color:var(--tiffany-deep)}
  .sp-card--02 .sp-card__catch{color:#8A6A1A}
  .sp-card--03 .sp-card__catch{color:var(--white);border-top-color:rgba(201,168,76,.4)}
  .sp-card__body{padding:22px;display:flex;flex-direction:column;gap:20px}
  .sp-block__label{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--gray-500);margin-bottom:10px;display:flex;align-items:center;gap:8px}
  .sp-block__label::before{content:'';width:14px;height:2px;background:var(--gold);display:block}
  .sp-reco{list-style:none;display:flex;flex-direction:column;gap:6px}
  .sp-reco li{font-size:13px;color:var(--gray-700);padding-left:18px;position:relative;line-height:1.6}
  .sp-reco li::before{content:'›';position:absolute;left:3px;color:var(--tiffany);font-weight:700}
  .sp-cat{margin-bottom:12px}
  .sp-cat:last-child{margin-bottom:0}
  .sp-cat__h{font-size:12px;font-weight:700;color:var(--navy);margin-bottom:7px;padding-left:10px;border-left:3px solid var(--tiffany)}
  .sp-card--02 .sp-cat__h{border-left-color:var(--gold)}
  .sp-chips{display:flex;flex-wrap:wrap;gap:5px}
  .sp-chip{font-size:11px;color:var(--tiffany-deep);background:var(--tiffany-pale);border:1px solid var(--tiffany-light);border-radius:6px;padding:3px 9px;line-height:1.4}
  .sp-card--02 .sp-chip{color:#7A5A10;background:var(--gold-pale);border-color:#E8CC80}
  .sp-tools{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px;padding:14px 16px}
  .sp-tools .sp-block__label{margin-bottom:8px}
  .sp-tools__list{display:flex;flex-wrap:wrap;gap:5px}
  .sp-tool{font-size:11px;color:var(--gray-700);background:var(--white);border:1px solid var(--gray-200);border-radius:5px;padding:3px 8px}
  .sp-tool--core{background:var(--navy);color:var(--white);border-color:var(--navy);font-weight:700}

  @media(max-width:1024px){
    .sp-stages{flex-direction:column}
    .sp-arrow{width:100%;height:32px;transform:rotate(90deg)}
    .sp-common__grid{grid-template-columns:repeat(2,1fr)}
    .sp-grid{grid-template-columns:1fr}
  }