/* ===========================================================================
 * /about/ ページ専用 CSS
 * 由来: page-about.php のインライン <style> から切り出し (Phase 4 / 2026-05-04)
 * 共通デザイントークンは theme-files/working/assets/css/kt-home.css の :root 参照
 * ロード: functions.php の wp_enqueue_style ('kt-about-css') で is_page('about') 条件付き
 * ===========================================================================
 */

/* ===================================================================
   /about/ v15 専用 CSS (2026-05-04)
   - 共通デザイントークンは theme-files/working/assets/css/kt-home.css
   - このファイルは /about/ 固有コンポーネントだけ追加
   - 色はすべて HOME 基準: #1a1a1a / #fff / #f4f5f6 / #f8f9fa / #d9dde3
   - 青色 (var(--kt-c-text-strong) 等) は全廃
   ================================================================== */

/* TOC（目次） */
.kt-about-toc{padding:64px 24px 0;background:#fff}
.kt-about-toc-wrap{max-width:980px;margin:0 auto}
.kt-about-toc-def{font-size:var(--kt-fs-h4);color:var(--kt-c-text);line-height:1.95;margin:0 0 36px;padding:26px 32px;background:#f8f9fa;border-radius:6px;border-left:4px solid #1a1a1a;letter-spacing:.02em}
.kt-about-toc-def strong{color:var(--kt-c-text-strong);font-weight:700}
.kt-about-toc-title{font-size:var(--kt-fs-h2);font-weight:700;margin:0 0 20px;color:var(--kt-c-text-strong);letter-spacing:.04em;line-height:1.5}
.kt-about-toc-list{margin:0;padding:0 0 0 24px;list-style:decimal;color:var(--kt-c-text-strong)}
.kt-about-toc-list li{font-size:var(--kt-fs-body);color:var(--kt-c-text);line-height:2;padding:4px 0;letter-spacing:.02em}
.kt-about-toc-list li a{color:var(--kt-c-text-strong);text-decoration:none;border-bottom:1px solid #d9dde3;transition:border-color .15s}
.kt-about-toc-list li a:hover{border-bottom-color:var(--kt-c-text-strong)}
/* v19: 縦リスト → 横並びchip化 (AISEO効果維持・797px → 約180pxに圧縮) */
.kt-about-toc-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0}
.kt-about-toc-nav a{display:inline-block;padding:10px 18px;background:#fff;border:1px solid #d9dde3;border-radius:24px;color:var(--kt-c-text-strong);text-decoration:none;font-size:var(--kt-fs-body);font-weight:500;letter-spacing:.02em;transition:background .15s,border-color .15s,transform .15s}
.kt-about-toc-nav a:hover{background:#1a1a1a;color:#fff;border-color:var(--kt-c-text-strong);transform:translateY(-1px)}
@media (max-width:900px){
  .kt-about-toc{padding:48px 20px 0}
  .kt-about-toc-def{font-size:var(--kt-fs-xs);padding:20px 22px;margin-bottom:28px}
  .kt-about-toc-title{font-size:var(--kt-fs-lead)}
  .kt-about-toc-list li{font-size:var(--kt-fs-xs)}
}

/* 基本情報・認定・理念・沿革（白カードで縦並び）
 * 2026-05-09: 余白圧縮 96→72px (所長指摘・keyword調査でベイジBtoB標準下限) */
.kt-about-section{padding:72px 24px;background:#fff}

/* 2026-05-09: about限定でHOME共通 .kt-bg-* セクション余白も72/72に圧縮
 * 対象: .kt-bg-industries, .kt-bg-rep
 * HOME側 (kt-home.css 96/96) は維持 */
body.post-name-about .kt-bg-industries,
body.post-name-about .kt-bg-rep {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}
@media (max-width:900px) {
  body.post-name-about .kt-bg-industries,
  body.post-name-about .kt-bg-rep {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }
}
.kt-about-section-alt{padding:72px 24px;background:#f8f9fa}
.kt-about-card{max-width:980px;margin:0 auto;background:#fff;border:1px solid #d9dde3;border-radius:6px;padding:40px 48px}
.kt-about-card+.kt-about-card{margin-top:32px}
.kt-about-card h2{font-size:var(--kt-fs-h2);font-weight:700;margin:0 0 20px;color:var(--kt-c-text-strong);letter-spacing:.04em;line-height:1.5;border-left:4px solid #1a1a1a;padding-left:16px}
.kt-about-card-prose{font-size:var(--kt-fs-body);color:var(--kt-c-text);line-height:1.95;margin:0 0 18px;letter-spacing:.02em}
.kt-about-card-prose:last-child{margin-bottom:0}
.kt-about-card-prose strong{color:var(--kt-c-text-strong);font-weight:700}
.kt-about-card-prose a{color:var(--kt-c-text-strong);text-decoration:underline;text-decoration-color:#d9dde3;text-underline-offset:3px;transition:text-decoration-color .15s}
.kt-about-card-prose a:hover{text-decoration-color:var(--kt-c-text-strong)}
@media (max-width:900px){
  .kt-about-section,.kt-about-section-alt{padding:64px 20px}
  .kt-about-card{padding:28px 24px}
  .kt-about-card h2{font-size:var(--kt-fs-h3)}
  .kt-about-card-prose{font-size:var(--kt-fs-xs)}
}

/* 基本情報・沿革テーブル */
.kt-about-table{width:100%;border-collapse:collapse;margin:24px 0 0}
.kt-about-table tr{border-bottom:1px solid #e8ecef}
.kt-about-table tr:last-child{border-bottom:none}
.kt-about-table th,.kt-about-table td{padding:16px 12px;text-align:left;font-size:var(--kt-fs-btn-outline);line-height:1.85;letter-spacing:.02em;vertical-align:top}
.kt-about-table th{font-weight:700;color:var(--kt-c-text-strong);width:220px;background:transparent;white-space:nowrap;word-break:keep-all}
.kt-about-table td{color:var(--kt-c-text)}
.kt-about-table td a{color:var(--kt-c-text-strong);text-decoration:underline;text-decoration-color:#d9dde3;text-underline-offset:3px}
@media (max-width:768px){
  .kt-about-table th,.kt-about-table td{display:block;width:100%;padding:8px 0}
  .kt-about-table th{padding-top:14px;font-size:var(--kt-fs-xs);color:var(--kt-c-text-sub);letter-spacing:.04em}
  .kt-about-table td{padding-bottom:14px;font-size:var(--kt-fs-xs)}
}

/* MVB (理念・ビジョン・バリュー) - ラベル幅固定で本文の頭を揃える (2026-05-08 所長指摘) */
.kt-about-mvb{margin:24px 0 16px !important;padding:0 !important;display:block !important;grid-template-columns:none !important}
.kt-about-mvb-row{display:grid;grid-template-columns:160px 1fr;gap:24px;padding:16px 0;border-top:1px solid #e8eaed}
.kt-about-mvb-row:first-of-type{border-top:none;padding-top:0}
.kt-about-mvb-row dt{font-weight:700;color:var(--kt-c-text-strong);font-size:var(--kt-fs-h3);letter-spacing:.04em;line-height:1.5;margin:0}
.kt-about-mvb-sub{display:block;font-size:var(--kt-fs-small);color:var(--kt-c-text-sub);font-weight:500;letter-spacing:.02em;margin-top:4px}
.kt-about-mvb-row dd{margin:0;color:var(--kt-c-text);font-size:var(--kt-fs-body);line-height:1.95;letter-spacing:.02em}
@media (max-width:768px){
  .kt-about-mvb-row{grid-template-columns:1fr;gap:6px;padding:14px 0}
  .kt-about-mvb-sub{display:inline-block;margin-top:0;margin-left:6px}
}

/* 認定資格カード */
.kt-credentials-table{width:100%;border-collapse:collapse;margin-top:16px}
.kt-credentials-table tr{border-bottom:1px solid #e8ecef}
.kt-credentials-table tr:last-child{border-bottom:none}
.kt-credentials-table td{padding:24px 12px;vertical-align:middle}
.kt-credentials-icon{width:140px;text-align:center}
.kt-credentials-icon img{max-width:120px;height:auto;display:inline-block}
.kt-credentials-body strong{display:block;color:var(--kt-c-text-strong);font-size:var(--kt-fs-lead);margin-bottom:10px;font-weight:700;line-height:1.5;letter-spacing:.02em}
.kt-credentials-body p{font-size:var(--kt-fs-body);color:var(--kt-c-text);line-height:1.95;margin:0;letter-spacing:.02em}
.kt-credentials-body small{color:var(--kt-c-text-sub);font-size:var(--kt-fs-small);display:block;margin-top:8px;line-height:1.7}
.kt-credentials-rare{display:inline-block;background:#1a1a1a;color:#fff;font-size:var(--kt-fs-small);padding:3px 10px;border-radius:12px;margin-left:8px;vertical-align:middle;font-weight:700;letter-spacing:.04em}
@media (max-width:768px){
  .kt-credentials-table tr{display:block;padding:12px 0}
  .kt-credentials-table td{display:block;padding:8px 0}
  .kt-credentials-icon{width:auto}
  .kt-credentials-icon img{max-width:96px}
  .kt-credentials-body strong{font-size:var(--kt-fs-body)}
  .kt-credentials-body p{font-size:var(--kt-fs-xs)}
}

/* お客さまの声（縦1列） */
.kt-about-voices{padding:72px 24px;background:#fff}
.kt-about-voices-wrap{max-width:1080px;margin:0 auto}
.kt-about-voices-note{font-size:var(--kt-fs-small);color:var(--kt-c-text-sub);text-align:center;margin:0 0 32px;letter-spacing:.02em}
.kt-about-voices-grid{display:grid;grid-template-columns:1fr;gap:24px}
.kt-about-voice{background:#fff;border:1px solid #d9dde3;border-left:4px solid #1a1a1a;padding:36px 44px;border-radius:4px;transition:box-shadow .2s}
.kt-about-voice:hover{box-shadow:0 6px 24px rgba(0,0,0,.08)}
.kt-about-voice-meta{display:inline-block;font-size:var(--kt-fs-small);color:var(--kt-c-text-sub);background:#f4f5f6;padding:6px 14px;border-radius:4px;margin:0 0 14px;letter-spacing:.04em;font-weight:700}
.kt-about-voice h3{font-size:var(--kt-fs-h3);font-weight:700;color:var(--kt-c-text-strong);margin:0 0 16px;line-height:1.55;letter-spacing:.02em}
.kt-about-voice p{font-size:var(--kt-fs-body);color:var(--kt-c-text);line-height:1.95;margin:0;letter-spacing:.02em}
@media (max-width:768px){
  .kt-about-voices{padding:64px 20px}
  .kt-about-voice{padding:28px 24px}
  .kt-about-voice h3{font-size:var(--kt-fs-h4)}
  .kt-about-voice p{font-size:var(--kt-fs-xs)}
}

/* 中盤CTA（資料DL） */
.kt-about-mid-cta{background:#f4f5f6;padding:80px 24px;text-align:center;border-top:1px solid #d9dde3;border-bottom:1px solid #d9dde3}
.kt-about-mid-cta-wrap{max-width:880px;margin:0 auto}
.kt-about-mid-cta-lead{font-size:var(--kt-fs-h2);font-weight:700;color:var(--kt-c-text-strong);line-height:1.7;margin:0 0 20px;letter-spacing:.02em}
.kt-about-mid-cta-desc{font-size:var(--kt-fs-body);color:var(--kt-c-text);line-height:1.95;margin:0 auto 32px;max-width:680px;letter-spacing:.02em}
.kt-about-mid-cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin:0 0 28px}
.kt-about-mid-cta-tel{margin:24px 0 8px;font-size:var(--kt-fs-body);color:var(--kt-c-text);letter-spacing:.02em}
.kt-about-mid-cta-tel strong{font-size:var(--kt-fs-h2);color:var(--kt-c-text-strong);letter-spacing:.04em;font-weight:700;margin:0 8px}
.kt-about-mid-cta-tel strong a{color:var(--kt-c-text-strong);text-decoration:none}
.kt-about-mid-cta-note{font-size:var(--kt-fs-small);color:var(--kt-c-text-sub);margin:0;line-height:1.7}
@media (max-width:768px){
  .kt-about-mid-cta{padding:56px 20px}
  .kt-about-mid-cta-lead{font-size:var(--kt-fs-h4)}
  .kt-about-mid-cta-tel strong{font-size:var(--kt-fs-h3)}
}

/* FAQ（常時展開） */
.kt-about-faq{padding:72px 24px;background:#fff}
.kt-about-faq-wrap{max-width:980px;margin:0 auto}
.kt-about-faq h2{font-size:var(--kt-fs-num-key);font-weight:700;margin:0 0 28px;color:var(--kt-c-text-strong);text-align:center;letter-spacing:.04em;line-height:1.5}
.kt-about-faq-answer-first{font-size:var(--kt-fs-h4);color:var(--kt-c-text-strong);line-height:1.9;margin:0 auto 40px;padding:18px 24px;background:#f8f9fa;border-left:4px solid #1a1a1a;font-weight:700;max-width:980px;letter-spacing:.02em}
.kt-about-faq-answer-first strong{color:var(--kt-c-text-strong)}
.kt-about-faq-item{background:#fff;border:1px solid #d9dde3;border-radius:4px;margin-bottom:14px}
.kt-about-faq-q{padding:24px 28px 14px 60px;font-weight:700;font-size:var(--kt-fs-lead);color:var(--kt-c-text-strong);line-height:1.65;margin:0;letter-spacing:.02em;position:relative}
.kt-about-faq-q::before{content:"Q.";position:absolute;left:28px;top:24px;color:var(--kt-c-text-strong);font-weight:700;font-size:var(--kt-fs-lead);line-height:1.65}
.kt-about-faq-body{padding:0 28px 24px 60px;font-size:var(--kt-fs-h4);color:var(--kt-c-text);line-height:2;letter-spacing:.02em;position:relative}
.kt-about-faq-body::before{content:"A.";position:absolute;left:28px;top:0;color:var(--kt-c-text-sub);font-weight:700;font-size:var(--kt-fs-h4);line-height:2}
.kt-about-faq-body strong{color:var(--kt-c-text-strong);font-weight:700}
@media (max-width:1280px){
  .kt-about-faq h2{font-size:var(--kt-fs-h1)}
}
@media (max-width:900px){
  .kt-about-faq{padding:64px 20px}
  .kt-about-faq h2{font-size:var(--kt-fs-h2)}
  .kt-about-faq-answer-first{font-size:var(--kt-fs-xs);padding:16px 20px}
  .kt-about-faq-q{font-size:var(--kt-fs-body);padding:18px 20px 10px}
  .kt-about-faq-q::before{font-size:var(--kt-fs-body)}
  .kt-about-faq-body{font-size:var(--kt-fs-xs);padding:0 20px 20px 20px}
  .kt-about-faq-body::before{font-size:var(--kt-fs-xs)}
}

/* 大型ワイドのみ：FV のさらなる拡大は kt-home.css に従う */
@media (min-width:1600px){
  .kt-about-card h2{font-size:var(--kt-fs-num-key)}
  .kt-about-faq h2{font-size:var(--kt-fs-h1)}
}

/* 次ページへの誘導（CV直結） */
/* 次ステップセクション (2026-05-08 v15: FVと同色グレー背景に変更・5職レビュー一致で黒→グレー)
   黒背景は威圧感・経営者の違和感・印刷UX低下を引き起こすため、HOME型の自然なグレー(#f4f5f6)に統一 */
.kt-about-next{background:#f4f5f6;padding:80px 24px;color:var(--kt-c-text-strong);margin-bottom:0 !important;border-top:1px solid #e8eaed}
.kt-about-next-wrap{max-width:1080px;margin:0 auto}
body.page #main .kt-about-next-label,
body.page article .kt-about-next-label,
.kt-about-next-label{font-size:var(--kt-fs-body) !important;color:var(--kt-c-text-sub) !important;font-weight:700;letter-spacing:.2em;margin:0 0 16px !important;text-align:center;text-transform:uppercase;line-height:1.6 !important}
body.page #main .kt-about-next-h2,
body.page article .kt-about-next-h2,
.kt-about-next-h2{font-size:var(--kt-fs-h2) !important;font-weight:700;text-align:center;margin:0 0 20px !important;color:var(--kt-c-text-strong) !important;line-height:1.5 !important;letter-spacing:.04em}
body.page #main .kt-about-next-lead,
body.page article .kt-about-next-lead,
.kt-about-next-lead{font-size:var(--kt-fs-btn-outline) !important;color:var(--kt-c-text) !important;text-align:center;line-height:1.95 !important;margin:0 auto 48px !important;max-width:780px;letter-spacing:.02em;opacity:1}
/* 関連ページカード (v18.1: flex column + margin-top:auto でCTA底辺揃え) */
.kt-about-next-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin:0 0 48px;align-items:stretch}
.kt-about-next-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e8eaed;border-radius:8px;padding:36px 32px;text-decoration:none !important;color:var(--kt-c-text-strong) !important;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 12px rgba(0,0,0,.06);height:100%}
.kt-about-next-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(0,0,0,.12);border-color:var(--kt-c-text-strong)}
.kt-about-next-card-label{display:inline-block;width:fit-content;font-size:var(--kt-fs-xs);font-weight:700;color:var(--kt-c-text-strong);background:#f4f5f6;padding:6px 14px;border-radius:20px;letter-spacing:.12em;margin:0 0 16px}
.kt-about-next-card-title{font-size:var(--kt-fs-h3);font-weight:700;color:var(--kt-c-text-strong);margin:0 0 16px;line-height:1.5;letter-spacing:.02em}
.kt-about-next-card-desc{font-size:var(--kt-fs-body);color:var(--kt-c-text);line-height:1.95;margin:0 0 20px;letter-spacing:.02em;flex:1}
.kt-about-next-card-cta{display:inline-block;width:fit-content;font-size:var(--kt-fs-body);color:var(--kt-c-text-strong);font-weight:700;letter-spacing:.04em;border-bottom:1.5px solid #1a1a1a;padding-bottom:2px;margin-top:auto}
/* aboutページのみ: kt-about-next 直下のフッター上180px空白 (.m-body padding-bottom 64px + .kt-footer margin-top 116px) を除去 */
body.post-name-about .m-body{padding-bottom:0 !important}
body.post-name-about .kt-footer{margin-top:0 !important}

/* 主CTA: グレー背景内の大型黒塗りボタン (2026-05-08 v15 グレー背景化に伴い色反転) */
.kt-about-next-cta{text-align:center;margin:0 0 24px}
.kt-about-next-cta-btn{display:inline-flex;align-items:center;justify-content:center;background:#1a1a1a;color:#fff !important;border:2px solid #1a1a1a;padding:22px 56px;font-size:var(--kt-fs-h4);font-weight:700;letter-spacing:.04em;border-radius:32px;text-decoration:none !important;min-width:360px;line-height:1.4;transition:opacity .2s,transform .2s,box-shadow .2s;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.kt-about-next-cta-btn:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,0,0,.18)}
body.page #main .kt-about-next-cta-note,
body.page article .kt-about-next-cta-note,
.kt-about-next-cta-note{font-size:var(--kt-fs-body) !important;color:var(--kt-c-text-sub) !important;text-align:center;margin:14px 0 0 !important;letter-spacing:.02em;line-height:1.6 !important;opacity:1 !important;font-weight:500}
@media(max-width:600px){
  .kt-about-next-cta-btn{padding:18px 24px;font-size:var(--kt-fs-btn-secondary);min-width:0;width:100%;max-width:340px}
}

/* 副CTA: 電話1行テキスト (v18 大型カード→簡潔1行に縮小・主CTAより目立たないよう調整) */
body.page #main .kt-about-next-tel-line,
body.page article .kt-about-next-tel-line,
.kt-about-next-tel-line{font-size:var(--kt-fs-body) !important;color:var(--kt-c-text-sub) !important;text-align:center;margin:0 0 56px !important;line-height:1.6 !important;letter-spacing:.02em}
.kt-about-next-tel-line a{color:var(--kt-c-text-strong);font-weight:700;text-decoration:none;border-bottom:1px solid #1a1a1a;padding-bottom:1px}
.kt-about-next-tel-line a:hover{opacity:.7}

/* 関連ページ案内 (v18 「もっと詳しく知りたい方へ」見出し) */
body.page #main .kt-about-next-related-label,
body.page article .kt-about-next-related-label,
.kt-about-next-related-label{font-size:var(--kt-fs-body) !important;color:var(--kt-c-text-sub) !important;text-align:center;margin:0 0 24px !important;letter-spacing:.12em;text-transform:uppercase;font-weight:700;line-height:1.6 !important}

/* 旧お電話CTA (大型カード) - v18で廃止・残置時のため非表示化 */
.kt-about-next-tel{background:#fff;border:1px solid #e8eaed;border-radius:6px;padding:24px;text-align:center;max-width:560px;margin:0 auto;color:var(--kt-c-text-strong);box-shadow:0 2px 8px rgba(0,0,0,.04)}
.kt-about-next-tel-label{font-size:var(--kt-fs-xs);color:var(--kt-c-text-strong);font-weight:700;margin:0 0 8px;letter-spacing:.04em}
.kt-about-next-tel-num{margin:0;font-size:0;line-height:1}
.kt-about-next-tel-num a{font-size:var(--kt-fs-num-key);font-weight:700;color:var(--kt-c-text-strong);text-decoration:none;letter-spacing:.04em}
.kt-about-next-tel-hours{font-size:var(--kt-fs-small);color:var(--kt-c-text-sub);margin:8px 0 0;line-height:1.6}
@media (max-width:1280px){
  .kt-about-next-h2{font-size:var(--kt-fs-h1)}
}
@media (max-width:900px){
  .kt-about-next{padding:56px 20px}
  .kt-about-next-h2{font-size:var(--kt-fs-h2)}
  .kt-about-next-lead{font-size:var(--kt-fs-xs)}
  .kt-about-next-grid{grid-template-columns:1fr;gap:16px;margin-bottom:40px}
  .kt-about-next-card{padding:28px 24px}
  .kt-about-next-card-title{font-size:var(--kt-fs-h4)}
  .kt-about-next-card-desc{font-size:var(--kt-fs-xs)}
  .kt-about-next-tel-num a{font-size:var(--kt-fs-h2)}
}
@media (min-width:1600px){
  .kt-about-next-h2{font-size:var(--kt-fs-h1)}
}

/* veu_autoEyeCatchBox 非表示（kt-bg テンプレページでは不要） */
.entry-body > .veu_autoEyeCatchBox,
.entry-content > .veu_autoEyeCatchBox{display:none !important}
.veu_autoEyeCatchBox{display:none !important}

/* prefers-reduced-motion */
@media (prefers-reduced-motion: reduce){
  .kt-bg *,.kt-bg *::before,.kt-bg *::after,
  .kt-about-voice,.kt-about-next-card{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
