
  :root{
    --ink:#2b2b2b; --muted:#6b7280; --gray2:#4b5563; --line:#e8e8ec; --bg:#ffffff;
    --pink:#d24c92; --pink-d:#b23a79; --pink-vivid:#f553a7; --pink-bg:#fdeef6; --pink-grad:#ffcee8;
    --navy:#173374; --gold:#ebc055;
    --maxw:832px; --maxw-wide:1032px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic Medium","Yu Gothic","Meiryo",sans-serif;color:var(--ink);background:var(--bg);line-height:2;font-size:17px;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}
  .wrap-wide{width:100%;max-width:var(--maxw-wide);margin:0 auto;padding:0 24px}
  .pink{color:var(--pink)}

  /* 画像スロット（撮影データ差し込み場所の明示） */
  .imgslot{border:2px dashed #d9a8c6;background:repeating-linear-gradient(45deg,#faf4f8,#faf4f8 12px,#f5ebf1 12px,#f5ebf1 24px);color:#a08694;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;font-size:12.5px;font-weight:700;line-height:1.8;border-radius:10px}
  .imgslot::before{content:"📷";font-size:26px}
  .imgslot small{font-weight:500;font-size:11px;color:#b9a3af}
  .imgslot.on-dark{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.06);color:#c6d0e8}
  .imgslot.on-dark small{color:#98a6c9}
  /* 写真配置（7/28撮影分） */
  .profile .photo img,.juku .photo img,.voice .ph img{width:100%;height:100%;object-fit:cover;display:block;border-radius:10px}
  .profile .photo{overflow:hidden;border-radius:10px;box-shadow:0 18px 44px rgba(178,58,121,.18)}
  /* .juku .photo は3枚構成のため、角丸と影は個々の figure 側で指定する */
  .voice .ph{overflow:hidden;border-radius:10px;position:relative}
  .voice .ph img{object-position:50% 50%}

  /* 見出しキッカー */
  .kicker{color:var(--pink);font-weight:700;font-size:12px;letter-spacing:.14em;margin-bottom:14px;text-transform:uppercase}
  h2.sec{font-weight:900;font-size:30px;line-height:1.4}

  /* 斜めリボン見出し（左全ブリード＋右斜めカット） */
  .band{position:relative;background:var(--pink);color:#fff;font-weight:900;
        padding:26px 96px 26px max(24px, calc(50% - 492px));
        width:fit-content;max-width:100%;
        clip-path:polygon(0 0,100% 0,calc(100% - 64px) 100%,0 100%)}
  .band h2{font-size:30px;line-height:1.45;font-weight:900}

  /* ロゴマーク */
  .mark{display:inline-flex;align-items:center;gap:10px;font-weight:800;color:var(--pink)}
  .mark .dot{width:38px;height:38px;flex:none;object-fit:contain;display:block}
  .mark .nm{font-size:17px;font-weight:800}

  /* ヘッダー */
  header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(4px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:65px;max-width:1200px;margin:0 auto;padding:0 24px}
  .menu{display:flex;gap:22px;align-items:center;font-size:14px;font-weight:700}
  .menu a:hover{color:var(--pink)}
  .btn{display:inline-block;background:var(--pink);color:#fff;padding:11px 24px;border-radius:999px;font-weight:800;font-size:14px;transition:.2s}
  .btn:hover{background:var(--pink-d)}
  .hamburger{display:none;background:none;border:0;cursor:pointer;font-size:26px}

  /* 1. ヒーロー */
  /* ヒーロー：F案（右半分だけ写真・ダークマスクなし）— 2026-08-18 差し替え
     8/12打合せで決定。写真は明るいまま使う（黒箱っぽい加工はNG）。書籍カバーはヒーローに置かない */
  /* 背景のピンクは写真の右の余白まで行き渡らせる（2026-08-18 指示） */
  .hero{position:relative;overflow:hidden;background:var(--pink-bg);min-height:620px;display:flex;align-items:stretch}
  /* 左右フルブリード。文字だけヘッダーのロゴ位置（max-width:1200px基準）に揃える */
  .hero .inner{position:relative;width:100%;display:flex;align-items:stretch}
  .hero .txt{flex:0 0 66.6667%;min-width:0;padding:72px 56px 72px max(24px,calc(50vw - 600px + 24px));
    display:flex;flex-direction:column;justify-content:center;color:var(--ink);
    background:linear-gradient(180deg,#fffafd 0%,var(--pink-bg) 100%);position:relative;z-index:2}
  /* 左の淡ピンクから写真へ、境目をぼかして繋ぐ */
  .hero .txt::after{content:"";position:absolute;right:-46px;top:0;bottom:0;width:90px;
    background:linear-gradient(90deg,var(--pink-bg),rgba(253,238,246,0));z-index:3;pointer-events:none}
  .hero .eyebrow{display:inline-block;align-self:flex-start;background:#fff;color:var(--pink-d);
    border:1px solid rgba(210,76,146,.32);font-weight:800;letter-spacing:.08em;font-size:13.5px;
    padding:6px 12px;margin-bottom:14px;border-radius:4px}
  .hero h1{font-size:clamp(29px,3.4vw,45px);font-weight:900;line-height:1.46;letter-spacing:.01em;margin-bottom:20px}
  .hero h1 .sub{display:block;font-size:.53em;font-weight:800;margin-bottom:10px;color:var(--pink-d)}
  .hero h1 .pink{color:var(--pink)}
  .hero p.lead{font-size:15.5px;color:var(--ink);max-width:580px;margin-bottom:26px;line-height:2.05}
  .hero .badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
  .hero .badge{background:#fff;color:var(--ink);border:1px solid rgba(210,76,146,.24);border-radius:8px;
    padding:9px 16px;font-size:13.5px;font-weight:800;box-shadow:0 3px 10px rgba(178,58,121,.07)}
  .hero .badge b{color:var(--pink-d)}
  .btn-ghost{display:inline-block;background:#fff;border:1.5px solid var(--ink);border-radius:999px;padding:16px 42px;font-weight:800;font-size:16.5px;transition:.2s}
  .btn-ghost:hover{border-color:var(--pink);color:var(--pink)}
  .hero .btn-ghost{align-self:flex-start;padding:13px 34px;font-size:15px}
  /* 右カラム＝写真（加工なし・明るいまま） */
  /* 写真は左を100px削った幅（2026-08-18 指示） */
  /* ★ 本＋榊原さんの重ね配置（2026-08-18 木藤さん指定の完成形）
     配置・サイズはすべて % 指定。.pic に 935:788 のアスペクト比を持たせているので、
     画面幅が変わっても（スマホでも）2枚の相対位置と比率がそのまま保たれる。
     基準寸法：本 373×527 ／ 写真 528×587 ／ ブロック全体 935×788 */
  /* テキスト2/3・写真1/3。書籍カバーはヒーローに置かない（2026-08-19 指示） */
  .hero .pic{flex:0 0 33.3333%;align-self:stretch;position:relative;min-height:620px}
  /* 写真＝榊原さんは右下。画像は左5分の2をカット済み（hero-portrait-r.jpg／960×1067）
     枠の比率が画像原寸(0.9)と一致しているので上下は一切切れない */
  .hero .pic .shot{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;z-index:3}
  .hero .pic .shot img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
  .hero .pic .cap{position:absolute;left:0;right:0;bottom:0;padding:52px 20px 16px;color:#fff;
    background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.64));z-index:2}
  .hero .pic .cap b{display:block;font-size:16.5px;font-weight:900}
  .hero .pic .cap span{font-size:11.5px;opacity:.92}
  /* ヒーローの書籍カバーは 2026-08-19 に廃止（書籍は下部の書籍セクションで見せる） */

  /* 2. 書籍 */
  .book{padding:96px 0}
  .book .panel{background:var(--pink-bg);border-radius:8px;max-width:1170px;margin:0 auto;padding:74px 64px;display:flex;gap:64px;align-items:center}
  .book .cover{width:340px;flex:none;box-shadow:0 18px 44px rgba(178,58,121,.22)}
  /* カバー確定までのプレースホルダ（確定後は .cover の画像に差し替え） */
  .book .soon{width:340px;max-width:100%;flex:none;aspect-ratio:3/4.3;background:#fff;border:1.5px dashed rgba(210,76,146,.42);
    border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
    text-align:center;padding:24px;box-shadow:0 18px 44px rgba(178,58,121,.14)}
  .book .soon .en{font-size:26px;font-weight:900;letter-spacing:.14em;color:var(--pink);line-height:1.3}
  .book .soon .jp{font-size:14px;font-weight:800;color:var(--pink-d)}
  .book .soon .note{font-size:12.5px;color:var(--muted);line-height:1.9;font-weight:600}
  .book .kicker{letter-spacing:.18em}
  .book h2{font-size:34px;font-weight:900;line-height:1.5;margin-bottom:20px}
  .book .catch{color:var(--pink);font-weight:800;font-size:17.5px;line-height:1.9}
  .book .catch .title{color:var(--pink-d)}
  .book .body{color:var(--ink);font-size:16px;margin:14px 0 30px;line-height:2.1}
  .btn-solid{display:inline-block;background:var(--pink);color:#fff;border-radius:8px;padding:15px 30px;font-weight:800;font-size:15px;box-shadow:0 8px 20px rgba(178,58,121,.28);transition:.2s}
  .btn-solid:hover{background:var(--pink-d)}

  /* 3. メディア実績 */
  .media{padding:20px 0 110px;text-align:center}
  .media h2{font-size:26px;font-weight:900;letter-spacing:.08em;margin-bottom:44px}
  .media h2 .en{color:var(--pink)}
  .media h2 .sep{color:var(--ink);font-weight:400;margin:0 18px}
  .media .row{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;max-width:1170px;margin:0 auto;padding:0 24px}
  .media .card{background:var(--pink-vivid);color:#fff;font-weight:800;font-size:12.5px;line-height:1.8;padding:16px 20px;border-radius:4px;box-shadow:4px 6px 0 rgba(43,43,43,.85);min-width:150px}

  /* 4. No.2診断 */
  /* セクション内の左端は 1170px コンテナ基準で統一（kicker／見出し帯／本文すべて同じ線に揃える） */
  .diagnosis{background:var(--pink);color:#fff;padding:86px 0 96px}
  .diagnosis .wrap-wide{max-width:1170px}
  .diagnosis .kicker{color:#fff;letter-spacing:.2em;margin-bottom:22px}
  .diagnosis .grid{display:flex;gap:56px;align-items:flex-start;max-width:1170px;margin:0 auto;padding:0 24px}
  .diagnosis .left{flex:1 1 620px}
  .diagnosis .band-l{position:relative;background:rgba(255,255,255,.28);padding:30px 110px 30px max(24px, calc(50% - 561px));width:fit-content;max-width:100%;clip-path:polygon(0 0,100% 0,calc(100% - 70px) 100%,0 100%);margin-bottom:42px}
  .diagnosis h2{font-size:36px;font-weight:900;line-height:1.5}
  .diagnosis h2 .hl{background:#fff;color:var(--pink);padding:2px 12px}
  .diagnosis p{line-height:2.1;font-size:16px}
  .diagnosis .note{font-size:13px;opacity:.9;margin-top:14px}
  .diagnosis .cta{display:inline-block;background:#fff;color:var(--pink-d);border-radius:999px;padding:18px 40px;font-weight:900;font-size:17px;margin-top:26px;box-shadow:0 10px 26px rgba(0,0,0,.14);transition:.2s}
  .diagnosis .cta:hover{transform:translateY(-2px)}
  /* No.1 / No.2 診断カード（村中さん実装への入口） */
  .diagnosis .sh-entry{display:flex;gap:16px;margin-top:26px;flex-wrap:wrap}
  .diagnosis .sh-card{flex:1 1 260px;display:flex;flex-direction:column;gap:6px;background:#fff;color:var(--ink);
    border-radius:14px;padding:22px 22px 20px;box-shadow:0 12px 30px rgba(0,0,0,.16);transition:.2s;border:2px solid transparent}
  .diagnosis .sh-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(0,0,0,.22);border-color:#fff}
  .diagnosis .sh-card .tag{display:inline-block;align-self:flex-start;background:var(--pink);color:#fff;font-size:11.5px;font-weight:800;letter-spacing:.06em;padding:4px 12px;border-radius:999px}
  .diagnosis .sh-card.alt .tag{background:var(--navy)}
  .diagnosis .sh-card b{font-size:24px;font-weight:900;color:var(--pink-d);line-height:1.2;margin-top:4px}
  .diagnosis .sh-card.alt b{color:var(--navy)}
  .diagnosis .sh-card .dsc{font-size:13.5px;line-height:1.75;color:var(--gray2)}
  .diagnosis .sh-card .meta{font-size:12.5px;font-weight:800;color:var(--pink);margin-top:6px}
  .diagnosis .sh-card.alt .meta{color:var(--navy)}
  .diagnosis .qbox{flex:0 1 400px;min-width:320px;border:1.5px solid rgba(255,255,255,.75);border-radius:12px;padding:28px 26px;font-size:14px}
  .diagnosis .qbox h4{font-size:14.5px;font-weight:800;margin-bottom:14px}
  .diagnosis .qbox ol{list-style:none;counter-reset:qb}
  .diagnosis .qbox li{margin-bottom:10px;font-weight:700;line-height:1.8;counter-increment:qb}
  .diagnosis .qbox li::before{content:counter(qb) ". ";font-weight:800}
  .diagnosis .qbox .more{border-top:1px dashed rgba(255,255,255,.6);margin-top:16px;padding-top:12px;font-size:12.5px;font-weight:400;text-align:center}

  /* ★ 武将イラストの配置枠（出版社提供のプロ版イラストをここに入れる）
     画像データ受領後、各 .wl-slot を <img src="assets/warlord-01.png"> などに差し替える */
  .diagnosis .warlords{max-width:1170px;margin:56px auto 0;padding:0 24px}
  .diagnosis .wl-head{font-size:20px;font-weight:900;letter-spacing:.04em;margin-bottom:20px}
  /* No.1側3体・No.2側3体を左右に並べて「どっちの、どのタイプ？」と見比べさせる */
  .diagnosis .wl-groups{display:grid;grid-template-columns:1fr 1fr;gap:34px}
  .diagnosis .wl-gname{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:800;margin-bottom:12px}
  .diagnosis .wl-gname .badge{font-size:11.5px;font-weight:900;padding:4px 12px;border-radius:999px;letter-spacing:.03em}
  .diagnosis .wl-gname .badge.n1{background:#fff;color:var(--pink-d)}
  .diagnosis .wl-gname .badge.n2{background:var(--navy);color:#fff}
  .diagnosis .wl-gname b{font-size:15px}
  .diagnosis .wl-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
  .diagnosis .wl-slot{background:rgba(255,255,255,.13);border-radius:10px;padding:10px 6px 8px;text-align:center}
  .diagnosis .wl-slot img{width:100%;aspect-ratio:3/4;object-fit:contain;display:block}
  .diagnosis .wl-slot figcaption{margin-top:5px;line-height:1.4}
  .diagnosis .wl-slot figcaption b{display:block;font-size:12.5px;font-weight:900;letter-spacing:.02em}
  /* 掛け合わせの表記（例：感覚派 × 突破力） */
  .diagnosis .wl-type{display:inline-block;margin-top:5px;background:#fff;color:var(--pink-d);
    font-size:10.5px;font-weight:800;letter-spacing:.01em;padding:3px 8px;border-radius:999px;white-space:nowrap}
  .diagnosis .wl-note{font-size:12.5px;opacity:.92;margin-top:16px;line-height:1.9}

  /* ★ 右下に常駐する診断CTA（スクロール追従・ページ表示直後から出す）
     ボタンは1つ。押した先（診断セクション／診断ページ）で No.1・No.2 を選んでもらう */
  .fixcta{position:fixed;right:22px;bottom:22px;z-index:80;
    opacity:0;transform:translateY(16px);transition:opacity .35s ease,transform .35s ease;pointer-events:none}
  .fixcta.is-on{opacity:1;transform:none;pointer-events:auto}
  /* デスクトップ：縦積み（三英傑 → 文字 → ボタン → 注記）。縦長にして武将3体を大きく見せる */
  /* 白い枠をつけて、背景の写真に埋もれず「浮いている」ことを分かりやすくする */
  .fc-card{display:grid;grid-template-areas:"il" "tx" "go" "mt";gap:12px;
    width:296px;background:var(--pink);color:#fff;border-radius:18px;
    border:3px solid rgba(255,255,255,.5);
    padding:16px 18px 15px;
    box-shadow:0 18px 44px rgba(178,58,121,.48),0 0 0 1px rgba(178,58,121,.18);
    transition:transform .2s,box-shadow .2s}
  .fc-card:hover{transform:translateY(-3px);box-shadow:0 24px 54px rgba(178,58,121,.58)}
  /* 三英傑：織田信長 → 豊臣秀吉 → 徳川家康 */
  .fc-illusts{grid-area:il;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;align-items:end;
    background:rgba(255,255,255,.14);border-radius:11px;padding:8px 6px}
  .fc-illusts img{width:100%;aspect-ratio:3/4;object-fit:contain;display:block}
  .fc-txt{grid-area:tx;text-align:center}
  .fc-kicker{display:block;font-size:11px;font-weight:800;letter-spacing:.1em;opacity:.95;margin-bottom:5px}
  .fc-title{display:block;font-size:18px;font-weight:900;line-height:1.5}
  .fc-title em{font-style:normal;background:#fff;color:var(--pink-d);padding:1px 7px;border-radius:4px;white-space:nowrap}
  .fc-title .t-sp{display:none}
  .fc-go{grid-area:go;display:block;background:#fff;color:var(--pink-d);border-radius:11px;padding:13px 10px;
    font-weight:900;font-size:17px;text-align:center;box-shadow:0 6px 16px rgba(0,0,0,.16)}
  .fc-meta{grid-area:mt;display:block;text-align:center;font-size:11.5px;font-weight:700;opacity:.95;margin-top:-5px}

  /* 5. 課題 ISSUE */
  .issue{background:linear-gradient(180deg,#ffffff 0%,var(--pink-grad) 100%);padding:96px 0 110px}
  .issue .kicker{margin-left:auto;margin-right:auto;max-width:var(--maxw-wide);padding:0 24px}
  .issue .band{margin-bottom:34px}
  .issue .lead{max-width:var(--maxw-wide);margin:0 auto 44px;padding:0 24px;line-height:2.1}
  .issue .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:var(--maxw-wide);margin:0 auto 56px;padding:0 24px}
  .issue .card{background:var(--pink-d);color:#fff;border-radius:10px;padding:28px 26px;box-shadow:6px 8px 0 rgba(43,43,43,.75)}
  .issue .card h3{font-size:19px;font-weight:900;margin-bottom:12px}
  .issue .card p{font-size:14.5px;line-height:1.95}
  .issue .phase{background:#fff;border-radius:14px;max-width:var(--maxw-wide);margin:0 auto;padding:44px 40px;box-shadow:0 14px 40px rgba(178,58,121,.10)}
  .issue .phase .tag{display:inline-block;background:var(--pink);color:#fff;font-size:13px;font-weight:800;border-radius:999px;padding:6px 18px;margin-bottom:22px}
  .issue .phase h3{font-size:24px;font-weight:900;line-height:1.7;margin-bottom:18px}
  .issue .phase h3 .q{color:var(--pink)}
  .issue .phase p{font-size:16px;line-height:2.1}
  .issue .phase b.pk{color:var(--pink)}

  /* 6. サービス SERVICE */
  .service{padding:96px 0 40px}
  .service .kicker,.service .lead,.service .lead2{max-width:var(--maxw-wide);margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}
  .service .band{margin-bottom:34px}
  .service .lead{margin-bottom:22px;line-height:2.1}
  .service .lead2{color:var(--pink);font-weight:800;margin-bottom:14px;line-height:2.1}
  .service .lead2 .rest{color:var(--ink);font-weight:400}
  .service .cards{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:var(--maxw-wide);margin:44px auto 0;padding:0 24px}
  .service .card{border:1px solid #f4c6de;border-radius:14px;padding:34px 30px;background:linear-gradient(131deg,#ffffff 20%,var(--pink-grad) 100%)}
  .service .card .no{display:inline-block;background:#fff;border-radius:999px;color:var(--pink-d);font-size:12.5px;font-weight:800;padding:5px 14px;margin-bottom:16px;box-shadow:0 3px 10px rgba(178,58,121,.14)}
  .service .card h3{font-size:24px;font-weight:900;margin-bottom:12px}
  .service .card p{font-size:15px;line-height:2;color:var(--gray2)}

  /* 7. 4つの軸 */
  .axes{padding:56px 0}
  .axes .panel{background:var(--pink-bg);border-radius:16px;max-width:1170px;margin:0 auto;padding:58px 64px}
  .axes h2{font-size:28px;font-weight:900;margin-bottom:34px}
  .axes h2 .pk{color:var(--pink)}
  .axes .row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:30px}
  .axes .card{background:#fff;border-radius:10px;padding:24px 18px;text-align:center;box-shadow:0 6px 18px rgba(178,58,121,.06)}
  .axes .card .ax{color:var(--pink);font-size:11.5px;font-weight:800;letter-spacing:.12em;margin-bottom:8px}
  .axes .card h3{font-size:17.5px;font-weight:900;margin-bottom:14px}
  .axes .card img{width:120px;height:120px;object-fit:contain;margin:0 auto}
  .axes .note{font-size:15px;line-height:2}

  /* 8. 主力サービス */
  .main-svc{padding:56px 0 96px}
  .main-svc .panel{background:var(--pink-bg);border-radius:16px;max-width:1170px;margin:0 auto;padding:64px;display:flex;gap:56px;align-items:flex-start}
  .main-svc .left{flex:1 1 520px}
  .main-svc .tag{display:inline-block;background:var(--pink);color:#fff;font-size:14px;font-weight:800;border-radius:999px;padding:8px 24px;margin-bottom:22px}
  .main-svc .band-s{background:var(--pink);color:#fff;font-weight:900;font-size:26px;padding:16px 56px 16px 26px;width:fit-content;clip-path:polygon(0 0,100% 0,calc(100% - 44px) 100%,0 100%);margin-bottom:26px}
  .main-svc p{font-size:16px;line-height:2.1;margin-bottom:18px}
  .main-svc ul{list-style:none;margin-top:8px}
  .main-svc li{position:relative;padding-left:22px;margin-bottom:12px;font-size:16px}
  .main-svc li::before{content:"";position:absolute;left:0;top:.7em;width:9px;height:9px;border-radius:50%;background:var(--pink)}
  .main-svc .first{flex:0 0 400px;background:#fff;border-radius:14px;padding:38px 32px;text-align:center;box-shadow:0 12px 30px rgba(178,58,121,.10)}
  .main-svc .first .k{color:var(--pink);font-size:12px;font-weight:800;letter-spacing:.16em;margin-bottom:16px}
  .main-svc .first h3{font-size:23px;font-weight:900;line-height:1.7;margin-bottom:18px}
  .main-svc .first h3 .pk{color:var(--pink)}
  .main-svc .first p{font-size:14px;line-height:2;text-align:left}
  .main-svc .first .note{font-size:12px;color:var(--muted);margin-top:16px;line-height:1.9}

  /* 9. 代表プロフィール */
  .profile{background:linear-gradient(180deg,var(--pink-bg) 0%,#e79dc4 100%);padding:96px 0 88px}
  .profile .card{background:#fff;border-radius:6px;max-width:1120px;margin:0 auto;padding:64px;display:flex;gap:44px}
  .profile .photo{flex:0 0 396px;min-height:520px}
  .profile .info{flex:1}
  .profile h3{font-size:28px;font-weight:900}
  .profile h3 small{font-size:15px;font-weight:700;margin-left:12px}
  .profile .role{color:var(--muted);font-size:14.5px;margin:8px 0 26px;line-height:1.9}
  .profile ul{list-style:none}
  .profile li{position:relative;padding-left:20px;margin-bottom:16px;font-size:15.5px;line-height:1.95}
  .profile li::before{content:"";position:absolute;left:0;top:.75em;width:8px;height:8px;border-radius:50%;background:var(--pink)}
  .profile .awards{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
  .profile .awards span{background:var(--pink-bg);color:var(--pink-d);font-size:13.5px;font-weight:800;border-radius:8px;padding:12px 18px}
  .profile .more{text-align:center;margin-top:56px}
  .profile .more a{background:#fff;border:1.5px solid var(--ink);border-radius:999px;padding:17px 44px;font-weight:800;font-size:16.5px;display:inline-block}
  .profile .more a:hover{color:var(--pink);border-color:var(--pink)}

  /* 10. 事例 CASE */
  .cases{padding:96px 0 90px}
  .cases .kicker{max-width:var(--maxw-wide);margin-left:auto;margin-right:auto;padding:0 24px}
  .cases .band{margin-bottom:34px}
  .cases .lead{max-width:var(--maxw-wide);margin:0 auto 44px;padding:0 24px;line-height:2.1}
  .cases .grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:var(--maxw-wide);margin:0 auto;padding:0 24px}
  .cases .card{border:1px solid var(--line);border-radius:14px;padding:34px 32px;background:#fff}
  .cases .tag{display:inline-block;background:var(--pink-bg);color:var(--pink);font-size:13px;font-weight:800;border-radius:999px;padding:6px 16px;margin-bottom:18px}
  .cases h3{font-size:20.5px;font-weight:900;line-height:1.7;margin-bottom:14px}
  .cases h3 .pk{color:var(--pink)}
  .cases p{font-size:15px;line-height:2;color:var(--ink)}
  .cases .dis{font-size:12px;color:#9aa1ab;margin-top:14px}
  .cases .foot{font-size:13.5px;color:var(--muted);text-align:center;margin-top:36px}

  /* 11. 支援先からの声 VOICE */
  .voice{background:var(--pink-bg);padding:92px 0 96px}
  .voice .lead{max-width:var(--maxw-wide);margin:0 auto 48px;padding:0 24px}
  .voice h2.sec{margin-bottom:16px}
  .voice .head{max-width:var(--maxw-wide);margin:0 auto;padding:0 24px}
  /* 4枚なので2×2。1枚あたりが大きくなり写真も読みやすい */
  .voice .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;max-width:920px;margin:0 auto;padding:0 24px}
  /* カード内の各行を高さ固定にして、3枚の「業種／氏名／会社名／写真／本文」を横一線に揃える */
  .voice .card{background:#fff;border-radius:14px;padding:30px 26px 28px;position:relative;
    box-shadow:0 10px 26px rgba(178,58,121,.06);display:flex;flex-direction:column}
  .voice .card::after{content:"\201C";position:absolute;top:10px;right:20px;font-size:44px;color:var(--pink-grad);font-family:Georgia,serif;font-weight:700}
  /* 業種＝ピル。短い語なので必ず1行に収まり、基準線になる */
  .voice .biz{align-self:center;background:var(--pink-bg);color:var(--pink-d);
    font-size:11.5px;font-weight:800;letter-spacing:.03em;padding:5px 14px;border-radius:999px}
  .voice .who{text-align:center;font-weight:900;font-size:17px;line-height:1.5;margin-top:12px}
  /* 会社名は2行分の高さを常に確保（1行の会社でも位置がズレない） */
  .voice .org{text-align:center;color:var(--muted);font-size:12.5px;font-weight:700;line-height:1.65;
    min-height:3.3em;display:flex;align-items:center;justify-content:center;margin-top:5px}
  /* 写真枠は元画像と同じ 760:600 の比率にする。
     高さ固定にすると枠が横長になり、cover で顔の上下が切り落とされるため */
  .voice .ph{aspect-ratio:760/600;margin-top:16px}
  .voice .card p{font-size:15px;line-height:2;margin-top:20px}
  .voice .foot{font-size:12.5px;color:var(--muted);text-align:center;margin-top:34px;line-height:1.9}

  /* 12. 榊原塾 */
  .juku{background:var(--navy);color:#fff;padding:92px 0}
  /* 左右の高さ差は縦中央揃えで上下に均等配分する */
  .juku .inner{max-width:var(--maxw-wide);margin:0 auto;padding:0 24px;display:flex;gap:56px;align-items:center}
  .juku .left{flex:1 1 520px}
  .juku .frame{display:inline-block;border:1.5px solid var(--gold);color:#fff;font-size:15px;font-weight:800;padding:9px 18px;margin-bottom:18px}
  .juku h2{font-size:64px;font-weight:900;line-height:1.15;letter-spacing:.04em}
  .juku h2 .g{color:var(--gold)}
  .juku .en{color:#aebadb;letter-spacing:.28em;font-size:13px;font-weight:700;margin:8px 0 20px}
  .juku .band-g{display:inline-block;background:var(--gold);color:var(--navy);font-weight:900;font-size:19px;padding:12px 26px;margin-bottom:24px}
  .juku p.lead{font-size:15.5px;line-height:2.1;margin-bottom:28px;color:#e6eaf5}
  .juku .mv{background:#fff;color:var(--navy);border-radius:8px;padding:24px 30px;text-align:center;font-weight:900;font-size:17.5px;line-height:2;margin-bottom:30px}
  .juku .mv .k{color:var(--gold);font-size:12px;letter-spacing:.2em;display:block;font-weight:800}
  /* 塾の様子：大1・小2・大1 の4枚。左カラムの高さと揃うよう組んでいる */
  .juku .photo{flex:0 0 430px;display:flex;flex-direction:column;gap:16px}
  .juku .photo figure{position:relative;overflow:hidden;border-radius:10px;box-shadow:0 14px 34px rgba(0,0,0,.3)}
  .juku .photo figure img{width:100%;height:100%;object-fit:cover;display:block}
  .juku .photo .main{aspect-ratio:3/2}
  .juku .photo .sub{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .juku .photo .sub figure{aspect-ratio:3/2}
  .juku .photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 11px;
    font-size:12px;font-weight:700;color:#fff;line-height:1.6;
    background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.72))}
  /* ボタンは横並び（縦積みだと左カラムが間延びするため） */
  .juku .btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:0}
  .juku .btns .btn-gold{padding:15px 22px;font-size:14.5px}
  .btn-gold{display:inline-block;background:var(--gold);color:var(--navy);border-radius:999px;padding:17px 34px;font-weight:900;font-size:16.5px;box-shadow:0 10px 26px rgba(0,0,0,.25);transition:.2s}
  .btn-gold:hover{transform:translateY(-2px)}

  /* 13. FAQ */
  .faq{padding:96px 0 110px}
  .faq .head{max-width:var(--maxw-wide);margin:0 auto 40px;padding:0 24px}
  .faq h2.sec{margin-bottom:14px}
  .faq .list{max-width:880px;margin:0 auto;padding:0 24px}
  .faq details{border:1px solid var(--line);border-radius:12px;margin-bottom:18px;background:#fff;overflow:hidden}
  .faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:14px;padding:22px 26px;font-weight:800;font-size:16px}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::before{content:"Q.";color:var(--pink);font-weight:800;flex:none}
  .faq summary::after{content:"+";margin-left:auto;color:var(--pink);font-size:22px;font-weight:700;flex:none;transition:.2s}
  .faq details[open] summary::after{transform:rotate(45deg)}
  .faq .ans{padding:0 26px 24px 56px;font-size:15px;line-height:2.05;color:var(--gray2)}
  .faq .ans b{color:var(--ink)}

  /* 14. ABOUT / MVV */
  .about{background:var(--pink-bg);padding:92px 0}
  .about .kicker{max-width:var(--maxw-wide);margin:0 auto;padding:0 24px}
  .about .band{margin-bottom:0;padding-top:22px;padding-bottom:22px}
  .about .band h2{font-size:28px}
  .about .band .sub{font-size:13.5px;font-weight:500;opacity:.95;margin-top:4px}
  /* 経営理念：MVV の各行とまったく同じ体裁に揃える */
  .about .rinen{max-width:912px;margin:44px auto 0;padding:0 24px}
  .about .rinen .row{background:#fff;border:1px solid var(--line);display:flex;align-items:center;
    gap:36px;padding:26px 40px}
  .about .rinen .k{flex:0 0 110px;color:var(--pink);font-weight:800;font-size:14px;letter-spacing:.1em}
  .about .rinen .v{font-weight:900;font-size:18.5px}
  .about .mvv{max-width:912px;margin:24px auto 0;padding:0 24px}
  .about .mvv .row{background:#fff;border:1px solid var(--line);display:flex;align-items:center;gap:36px;padding:26px 40px;margin-bottom:14px}
  .about .mvv .k{flex:0 0 110px;color:var(--pink);font-weight:800;font-size:14px;letter-spacing:.1em}
  .about .mvv .v{font-weight:900;font-size:18.5px}
  .about .cotable{max-width:912px;margin:40px auto 0;padding:0 24px}
  .about .cotable table{width:100%;border-collapse:collapse;font-size:15.5px}
  .about .cotable th{width:150px;text-align:left;font-weight:900;padding:18px 8px;border-bottom:1px solid #f2cade;vertical-align:top}
  .about .cotable td{color:var(--gray2);padding:18px 8px 18px 24px;border-bottom:1px solid #f2cade}
  .about .more{text-align:center;margin-top:44px}
  .about .more a{background:var(--pink);color:#fff;border-radius:999px;padding:15px 44px;font-weight:800;font-size:16px;display:inline-block;line-height:1.6}
  .about .more a small{display:block;font-size:11.5px;font-weight:700}
  .about .more a:hover{background:var(--pink-d)}

  /* 15. NEWS */
  .news{padding:96px 0 110px}
  .news .head{max-width:var(--maxw-wide);margin:0 auto 40px;padding:0 24px}
  .news h2.sec{margin-bottom:12px}
  .news .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:var(--maxw-wide);margin:0 auto;padding:0 24px}
  .news .card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
  .news .thumb{height:190px;border-radius:0;overflow:hidden;background:var(--pink-bg)}
  .news .thumb img{width:100%;height:100%;object-fit:cover;display:block}
  .news h3{line-height:1.6}
  .news .body{padding:20px 22px 26px}
  .news .date{color:var(--muted);font-size:12.5px;margin-bottom:8px}
  .news h3{font-size:15.5px;font-weight:800}
  .news .foot{max-width:var(--maxw-wide);margin:26px auto 0;padding:0 24px;font-size:12.5px;color:var(--muted);border-top:1px dashed var(--line);padding-top:18px}

  /* 16. CONTACT */
  .contact{background:var(--navy);color:#fff;padding:92px 0}
  .contact .inner{max-width:var(--maxw-wide);margin:0 auto;padding:0 24px}
  .contact .kicker{color:var(--gold);letter-spacing:.2em}
  .contact h2{font-size:32px;font-weight:900;margin-bottom:16px}
  .contact .lead{font-size:15.5px;color:#dfe5f2;line-height:2}
  .contact .lead .g{color:var(--gold);font-weight:800}
  .contact form{max-width:620px;margin-top:36px}
  .contact label{display:block;font-weight:800;font-size:14.5px;margin:22px 0 8px}
  .contact .req{color:var(--gold);font-size:11px;font-weight:800;margin-left:8px}
  .contact input,.contact select,.contact textarea{width:100%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.28);border-radius:6px;padding:13px 14px;color:#fff;font-size:15px;font-family:inherit}
  .contact ::placeholder{color:#8fa2cd}
  .contact select:invalid{color:#c9d3ea}
  .contact select option{color:var(--ink)}
  .contact textarea{min-height:130px;resize:vertical}
  .contact .send{margin-top:30px;background:var(--gold);color:var(--navy);border:0;border-radius:999px;padding:13px 34px;font-weight:900;font-size:15.5px;cursor:pointer;font-family:inherit}

  /* フッター */
  footer{background:#fff;border-top:1px solid var(--line);padding:30px 0}
  footer .inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}
  footer .copy{color:var(--muted);font-size:14px}

  /* レスポンシブ */
  @media(max-width:1100px){
    .hero .txt{padding:64px 34px 64px 24px}
    .hero,.hero .pic{min-height:560px}
  }
  @media(max-width:960px){
    .menu{display:none}
    .hamburger{display:block}
    /* F案：縦積み（文字が上・写真が下） */
    .hero{min-height:auto}
    .hero .inner{flex-direction:column}
    .hero .txt{flex-basis:auto;padding:52px 24px 44px}
    .hero .txt::after{display:none}
    /* 本と榊原さんの相対配置・比率はデスクトップと同一を維持（木藤さん指定）。
       aspect-ratio と % 指定に任せるので、2枚のサイズは一切上書きしない */
    .hero .pic{flex-basis:auto;width:100%;min-height:380px;padding:0}
    /* 写真が小さくなるぶん、名前キャプションだけ縮める（役職は下層ページに記載あり） */
    .hero .pic .cap{padding:26px 10px 9px}
    .hero .pic .cap b{font-size:12.5px}
    .hero .pic .cap span{display:none}
    .hero .btn-ghost{width:100%;text-align:center}
    .book .panel{flex-direction:column;padding:44px 28px}
    .diagnosis .grid{flex-direction:column}
    .diagnosis{padding:64px 0 76px}
    .diagnosis h2{font-size:27px}
    .diagnosis .band-l{padding:24px 70px 24px 24px}
    .diagnosis .warlords{margin-top:40px}
    /* No.1側／No.2側の2グループはスマホでは縦に積む（横並びのままだと画面外へはみ出す） */
    .diagnosis .wl-groups{grid-template-columns:1fr;gap:26px}
    .diagnosis .wl-row{grid-template-columns:repeat(3,1fr);gap:10px}
    .diagnosis .wl-gname{font-size:12.5px;gap:8px;flex-wrap:wrap}
    .diagnosis .wl-gname .badge{font-size:10.5px;padding:3px 10px}
    .diagnosis .wl-gname b{font-size:13.5px}
    .diagnosis .wl-slot{padding:8px 4px 6px}
    .diagnosis .wl-slot figcaption b{font-size:11px}
    .diagnosis .wl-type{font-size:9px;padding:2px 6px}
    /* 常駐CTAはスマホでは画面下の横長カード。
       イラストを左に立て、右側に「文字 → ボタン → 注記」を積んで高さを抑える */
    .fixcta{left:10px;right:10px;bottom:10px}
    .fc-card{width:auto;padding:11px 13px;border-radius:15px;border-width:2px;
      grid-template-columns:auto 1fr;grid-template-areas:"il tx" "il go" "il mt";
      gap:6px 12px;align-items:center}
    .fc-illusts{width:132px;gap:3px;padding:5px 4px;border-radius:9px}
    .fc-kicker{font-size:10px;margin-bottom:2px}
    .fc-title{font-size:14.5px;line-height:1.45}
    /* スマホは短いコピーに差し替えて1行に収める（「誰タイプ？」が改行で割れるのを防ぐ） */
    .fc-title .t-pc{display:none}
    .fc-title .t-sp{display:inline}
    .fc-title em{padding:1px 5px}
    .fc-go{padding:10px 8px;font-size:15.5px;border-radius:10px}
    .fc-meta{font-size:10px;margin-top:0}
    .diagnosis .qbox{flex-basis:auto}
    .issue .cards{grid-template-columns:1fr}
    .service .cards{grid-template-columns:1fr}
    .axes .row{grid-template-columns:1fr 1fr}
    .axes .panel,.main-svc .panel{padding:40px 24px}
    .main-svc .panel{flex-direction:column}
    .profile .card{flex-direction:column;padding:36px 24px}
    .profile .photo{flex-basis:auto;min-height:340px}
    .cases .grid{grid-template-columns:1fr}
    .voice .grid{grid-template-columns:1fr}
    .juku .inner{flex-direction:column}
    .juku .photo{flex-basis:auto;width:100%}
    .juku h2{font-size:44px}
    .news .grid{grid-template-columns:1fr}
    .about .mvv .row{flex-direction:column;align-items:flex-start;gap:6px}
    .band h2{font-size:22px}
    .diagnosis h2{font-size:26px}
    .diagnosis .band-l{padding-left:24px}
  }

/* ==================================================================
   Contact Form 7（既存フォームと同じ見た目に揃える）
   ================================================================== */
.contact .wpcf7 label{display:block;font-weight:800;font-size:14.5px;margin:22px 0 8px;color:#fff}
.contact .wpcf7 .req{display:inline-block;background:var(--pink);color:#fff;font-size:11px;
  font-weight:800;padding:3px 9px;border-radius:999px;margin-left:10px;vertical-align:middle}
.contact .wpcf7 input[type=text],
.contact .wpcf7 input[type=email],
.contact .wpcf7 select,
.contact .wpcf7 textarea{width:100%;font-family:inherit;font-size:15.5px}
.contact .wpcf7 textarea{min-height:130px;resize:vertical}
.contact .wpcf7 .wpcf7-submit{margin-top:30px;background:var(--gold);color:var(--navy);border:0;
  border-radius:999px;padding:13px 34px;font-weight:900;font-size:15.5px;cursor:pointer;font-family:inherit}
.contact .wpcf7 .wpcf7-submit:hover{opacity:.9}
.contact .wpcf7-not-valid-tip{color:#ffd7e6;font-size:13px;font-weight:700;margin-top:6px}
.contact .wpcf7-response-output{border-radius:8px;border-width:2px!important;
  padding:14px 18px!important;margin:22px 0 0!important;font-size:14.5px;color:#fff}
.contact .wpcf7 form.sent .wpcf7-response-output{border-color:#46b98a!important;background:rgba(70,185,138,.16)}
.contact .wpcf7 form.invalid .wpcf7-response-output,
.contact .wpcf7 form.failed .wpcf7-response-output{border-color:#e5688a!important;background:rgba(229,104,138,.16)}
.contact .wpcf7-spinner{background-color:#fff}


/* 経営理念（スマホ）：MVV と同じく縦積み */
@media(max-width:960px){
  .about .rinen{margin-top:34px}
  .about .rinen .row{flex-direction:column;align-items:flex-start;gap:6px}
}
