/*
Theme Name: Falcon Search Keiri
Theme URI: https://keiri.falcon-search.co.jp
Description: ファルコンサーチ 経理・財務サービスサイト（toC・toB統合版）
Version: 1.0
*/
:root{
  --gn:#1a7a4a;--gn-lt:#22a060;--gn-dark:#0d4a2e;--gn-pale:#e8f5ee;
  --gy:#4b4948;--gy-lt:#767270;--gy-pale:#f5f4f2;
  --yw:#f5c842;--wh:#fff;--bdr:#e4e2df;--tx:#1a1918;
  --fn:'Noto Sans JP',sans-serif;
  --max-w:1160px;--r:6px;--ease:0.2s ease;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--fn);font-size:15px;line-height:1.8;color:var(--tx);background:var(--wh);-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.container{max-width:var(--max-w);margin:0 auto;padding:0 40px;}

/* =====================
   共通アニメーション
===================== */
.anim-fade-up{opacity:0;transform:translateY(28px);transition:opacity 0.7s cubic-bezier(0.22,1,0.36,1),transform 0.7s cubic-bezier(0.22,1,0.36,1);}
.anim-fade-up.in{opacity:1;transform:none;}

/* =====================
   共通タイポグラフィ
===================== */
.sec-en{font-size:11px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--gn);margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.sec-en::before{content:'';width:16px;height:1px;background:var(--gn);}
.sec-en--wh{color:var(--yw);}.sec-en--wh::before{background:var(--yw);}
.sec-h2{font-size:clamp(22px,2.8vw,32px);font-weight:700;color:var(--tx);line-height:1.45;margin-bottom:10px;}
.sec-h2 em{font-style:normal;color:var(--gn);}
.sec-h2--wh{color:#fff;}
.sec-lead{font-size:15px;color:var(--gy-lt);line-height:1.9;}

/* =====================
   共通セクション
===================== */
.sec{padding:72px 0;}
.sec--off{background:var(--gy-pale);}
.sec--gn{background:var(--gn);}

/* =====================
   共通ボタン
===================== */
.btn-yw{background:var(--yw);color:var(--gy);font-size:13px;font-weight:700;padding:11px 22px;border-radius:4px;display:inline-block;}
.cta-btn-p{background:var(--yw);color:var(--gy);font-size:15px;font-weight:700;padding:15px 36px;border-radius:var(--r);display:inline-flex;transition:background var(--ease),transform 0.15s;}
.cta-btn-p:hover{background:#fad96a;transform:translateY(-2px);}
.cta-btn-s{border:1.5px solid rgba(255,255,255,0.4);color:#fff;font-size:15px;padding:15px 28px;border-radius:var(--r);display:inline-flex;transition:background var(--ease);}
.cta-btn-s:hover{background:rgba(255,255,255,0.08);}

/* =====================
   共通ページヒーロー
===================== */
.page-hero{background:linear-gradient(135deg,#0d4a2e,#1a7a4a);padding:48px 0 40px;}
.page-hero--wh{background:var(--gy-pale);}
.page-hero--wh .page-h1{color:var(--tx);}
.page-hero--wh .page-lead{color:var(--gy-lt);}
.breadcrumb{font-size:12px;color:rgba(255,255,255,0.5);margin-bottom:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.breadcrumb--dk{color:var(--gy-lt);}
.bc-current{color:var(--yw);}
.bc-current--dk{color:var(--gn);}
.page-h1{font-size:clamp(26px,3.5vw,40px);font-weight:700;color:#fff;line-height:1.4;margin-bottom:8px;}
.page-lead{font-size:15px;color:rgba(255,255,255,0.75);line-height:1.9;margin-top:6px;}

/* =====================
   共通CTA Section
===================== */
.cta-section{background:var(--gn);padding:80px 0;text-align:center;}
.cta-title{font-size:clamp(22px,3vw,32px);font-weight:700;color:#fff;line-height:1.5;margin-bottom:12px;}
.cta-lead{font-size:15px;color:rgba(255,255,255,0.75);max-width:480px;margin:0 auto 28px;line-height:1.9;}
.cta-tel{margin-top:24px;padding-top:22px;border-top:1px solid rgba(255,255,255,0.15);}
.cta-tel-num{font-size:22px;font-weight:900;color:var(--yw);letter-spacing:0.05em;}
.cta-tel-note{font-size:12px;color:rgba(255,255,255,0.45);margin-top:5px;}

/* =====================
   共通FAQ
===================== */
.faq-list{display:flex;flex-direction:column;gap:12px;margin-top:24px;}
.faq-item{background:var(--wh);border:1px solid var(--bdr);border-radius:8px;}
.faq-q{padding:16px 20px;font-size:15px;font-weight:700;color:var(--tx);display:flex;align-items:flex-start;gap:10px;}
.faq-qm{color:var(--gn);font-weight:900;font-size:17px;flex-shrink:0;}
.faq-a{padding:0 20px 16px 50px;font-size:14px;color:var(--gy-lt);line-height:1.85;border-top:1px solid var(--bdr);}
.faq-am{color:var(--gn);font-weight:900;margin-right:5px;}

/* =====================
   共通コラム
===================== */
.col-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;}
.col-card{background:var(--wh);border:1px solid var(--bdr);border-radius:8px;overflow:hidden;transition:box-shadow var(--ease),transform var(--ease);display:block;}
.col-card:hover{box-shadow:0 6px 24px rgba(0,0,0,0.08);transform:translateY(-3px);}
.col-card-img{height:160px;overflow:hidden;background:linear-gradient(135deg,var(--gn-dark),var(--gn));}
.col-card-img img{width:100%;height:160px;object-fit:cover;}
.col-card-body{padding:18px;}
.col-card-cat{font-size:10px;font-weight:700;background:var(--gn-pale);color:var(--gn);padding:2px 8px;border-radius:20px;display:inline-block;margin-bottom:6px;}
.col-card-title{font-size:14px;font-weight:700;color:var(--tx);line-height:1.5;margin-bottom:6px;}
.col-card-date{font-size:11px;color:var(--gy-lt);}
.col-single{max-width:800px;margin:0 auto;}
.col-single-title{font-size:clamp(22px,3vw,34px);font-weight:700;color:var(--tx);line-height:1.4;margin-bottom:16px;}
.col-single-meta{display:flex;align-items:center;gap:12px;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--bdr);}
.col-single-meta time{font-size:13px;color:var(--gy-lt);}
.col-content{font-size:16px;line-height:2;color:var(--tx);}
.col-content h2{font-size:22px;font-weight:700;border-left:4px solid var(--gn);padding-left:14px;margin:48px 0 16px;}
.col-content h3{font-size:18px;font-weight:700;margin:36px 0 12px;}
.col-content p{margin-bottom:18px;}
.col-content ul,.col-content ol{padding-left:24px;margin-bottom:18px;}
.col-cta{background:var(--gn-pale);border-radius:8px;padding:32px;text-align:center;margin:48px 0;}
.col-cta p{font-size:16px;font-weight:700;margin-bottom:16px;}

/* =====================
   共通フォーム
===================== */
.contact-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:64px;}
.contact-info-card{border:1px solid var(--bdr);border-radius:8px;padding:20px;margin-bottom:12px;border-left:3px solid var(--gn);display:flex;align-items:flex-start;gap:14px;}
.contact-info-icon{font-size:22px;width:38px;text-align:center;flex-shrink:0;}
.contact-info-label{font-size:12px;color:var(--gy-lt);margin-bottom:3px;}
.contact-info-val{font-size:18px;font-weight:700;color:var(--tx);}
.contact-info-val.sm{font-size:14px;}
.contact-info-note{font-size:11px;color:var(--gy-lt);margin-top:2px;}
.form-group{margin-bottom:16px;}
.form-label{font-size:14px;font-weight:700;color:var(--tx);margin-bottom:6px;display:flex;align-items:center;gap:6px;}
.form-req{background:var(--gn);color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:3px;}
.form-opt{background:var(--gy-pale);color:var(--gy-lt);font-size:10px;padding:2px 6px;border-radius:3px;}
.form-input{width:100%;border:1px solid var(--bdr);border-radius:var(--r);padding:11px 14px;font-size:14px;font-family:var(--fn);color:var(--tx);transition:border-color var(--ease);}
.form-input:focus{outline:none;border-color:var(--gn);}
.form-textarea{min-height:130px;resize:vertical;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-check-group{display:flex;flex-direction:column;gap:8px;}
.form-check{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--gy);}
.form-check input{width:16px;height:16px;accent-color:var(--gn);}
.form-submit{width:100%;background:var(--gn);color:#fff;font-size:15px;font-weight:700;padding:14px;border-radius:var(--r);border:none;font-family:var(--fn);cursor:pointer;margin-top:8px;transition:background var(--ease);}
.form-submit:hover{background:var(--gn-lt);}
.form-privacy{font-size:12px;color:var(--gy-lt);text-align:center;margin-top:10px;line-height:1.7;}
.form-privacy a{color:var(--gn);border-bottom:1px solid var(--gn);}

/* =====================
   toC ヘッダー（白地）
===================== */
.toc-header{background:rgba(255,255,255,0.97);border-bottom:1px solid var(--bdr);height:64px;display:flex;align-items:center;position:sticky;top:0;z-index:1000;backdrop-filter:blur(10px);}
.toc-header .container{display:flex;align-items:center;justify-content:space-between;width:100%;}
.site-logo{display:flex;align-items:center;}
.site-logo img{height:38px;width:auto;}
.logo-default{display:flex;align-items:center;gap:10px;}
.logo-default-icon{width:26px;height:26px;background:var(--gn);border-radius:6px;display:flex;align-items:center;justify-content:center;}
.logo-default-icon svg{width:14px;height:14px;fill:#fff;}
.logo-default-text{font-size:14px;font-weight:900;color:var(--gn);letter-spacing:0.04em;}
.toc-nav{display:flex;align-items:center;}
.toc-nav .nav-item>a{display:flex;align-items:center;padding:0 12px;height:64px;font-size:12px;font-weight:500;color:var(--gy);border-bottom:2px solid transparent;transition:color var(--ease),border-color var(--ease);white-space:nowrap;}
.toc-nav .nav-item>a:hover{color:var(--gn);border-bottom-color:var(--gn);}
.toc-nav .nav-cta{background:var(--gn);color:#fff;font-size:12px;font-weight:700;padding:9px 18px;border-radius:var(--r);margin-left:12px;transition:background var(--ease);}
.toc-nav .nav-cta:hover{background:var(--gn-lt);}

/* =====================
   toB ヘッダー（2段：トップバー＋グリーンナビ）
===================== */
.tob-topbar{background:var(--wh);border-bottom:1px solid var(--bdr);padding:0 40px;height:50px;display:flex;align-items:center;justify-content:space-between;}
.tob-topbar-logo img{height:32px;width:auto;}
.tob-topbar-logo-default{display:flex;align-items:center;gap:8px;}
.tob-topbar-logo-default svg{width:14px;height:14px;fill:var(--gn);}
.tob-topbar-logo-default span{font-size:13px;font-weight:900;color:var(--gn);}
.tob-topbar-tel{display:flex;align-items:center;gap:14px;}
.tob-topbar-tel-label{font-size:11px;color:var(--gy-lt);}
.tob-topbar-tel-num{font-size:20px;font-weight:900;color:var(--gn);display:flex;align-items:center;gap:6px;}
.tob-topbar-tel-num::before{content:'📞';font-size:14px;}
.tob-topbar-tel-hours{font-size:11px;color:var(--gy-lt);line-height:1.5;}
.tob-navbar{background:var(--gn);height:48px;display:flex;align-items:center;position:sticky;top:0;z-index:1000;}
.tob-navbar .container{display:flex;align-items:center;justify-content:space-between;width:100%;}
.tob-nav{display:flex;align-items:center;}
.tob-nav .nav-item>a{padding:0 12px;height:48px;display:flex;align-items:center;font-size:12px;font-weight:500;color:rgba(255,255,255,0.82);border-bottom:2px solid transparent;transition:color var(--ease),border-color var(--ease);white-space:nowrap;}
.tob-nav .nav-item>a:hover{color:#fff;border-bottom-color:var(--yw);}
.tob-nav-btns{display:flex;gap:8px;}
.nav-btn-s{border:1.5px solid rgba(255,255,255,0.5);color:#fff;font-size:11px;font-weight:700;padding:6px 13px;border-radius:4px;white-space:nowrap;transition:background var(--ease);}
.nav-btn-s:hover{background:rgba(255,255,255,0.1);}
.nav-btn-p{background:var(--yw);color:var(--gy);font-size:11px;font-weight:700;padding:7px 14px;border-radius:4px;white-space:nowrap;transition:background var(--ease);}
.nav-btn-p:hover{background:#fad96a;}

/* ===== スマホナビ共通 ===== */
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;}
.nav-toggle span{display:block;width:22px;height:2px;border-radius:2px;transition:all 0.3s;}
.nav-toggle.toc-toggle span{background:var(--gy);}
.nav-toggle.tob-toggle span{background:#fff;}
.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.nav-toggle.active span:nth-child(2){opacity:0;}
.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}

/* =====================
   toC フローティングCTA
===================== */
#float-cta{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:500;opacity:0;pointer-events:none;transition:opacity 0.4s ease;}
#float-cta.show{opacity:1;pointer-events:all;}
.float-cta-btn{background:var(--gn);color:#fff;font-size:14px;font-weight:700;padding:14px 32px;border-radius:32px;box-shadow:0 6px 24px rgba(26,122,74,0.38);display:flex;align-items:center;gap:8px;transition:transform 0.15s,box-shadow 0.15s;white-space:nowrap;}
.float-cta-btn:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(26,122,74,0.45);}
.float-cta-btn::before{content:'📅';font-size:16px;}

/* =====================
   toC ヒーロー
===================== */
.toc-hero{background:linear-gradient(135deg,#0d4a2e,#1a7a4a 55%,#22a060);padding:72px 0 60px;display:grid;grid-template-columns:1fr 260px;gap:40px;position:relative;overflow:hidden;}
.toc-hero .hero-bg-circle{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,0.07);}
.toc-hero .hero-bg-circle:nth-child(1){width:320px;height:320px;right:-60px;bottom:-60px;}
.toc-hero .hero-bg-circle:nth-child(2){width:200px;height:200px;right:80px;top:-40px;}
.toc-hero-inner{padding:0 0 0 40px;position:relative;z-index:1;}
.hero-tag{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.2);color:#fff;font-size:11px;font-weight:700;padding:5px 12px;border-radius:20px;margin-bottom:16px;letter-spacing:0.04em;}
.hero-tag::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--yw);flex-shrink:0;}
.hero-title{font-size:clamp(26px,3.2vw,40px);font-weight:900;color:#fff;line-height:1.45;margin-bottom:18px;}
.hero-title em{color:var(--yw);font-style:normal;}
.hero-lead{font-size:15px;color:rgba(255,255,255,0.82);line-height:1.9;margin-bottom:28px;max-width:480px;}
.hero-btn-yw{background:var(--yw);color:var(--gy);font-size:15px;font-weight:700;padding:15px 28px;border-radius:var(--r);display:inline-flex;transition:background var(--ease),transform 0.15s;}
.hero-btn-yw:hover{background:#fad96a;transform:translateY(-2px);}
.hero-box{background:rgba(255,255,255,0.09);border:1px solid rgba(255,255,255,0.16);border-radius:12px;padding:22px 20px;align-self:center;margin-right:40px;position:relative;z-index:1;}
.hero-box-item{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid rgba(255,255,255,0.1);}
.hero-box-item:last-child{padding-bottom:0;margin-bottom:0;border-bottom:none;}
.hero-box-lbl{font-size:10px;color:rgba(255,255,255,0.52);margin-bottom:4px;letter-spacing:0.06em;}
.hero-box-val{font-size:14px;font-weight:700;color:var(--yw);line-height:1.4;}
.hero-box-val-wh{font-size:14px;font-weight:700;color:#fff;line-height:1.4;}
.hero-box-sub{font-size:10px;color:rgba(255,255,255,0.42);margin-top:3px;}

/* =====================
   toC Pointsバー
===================== */
.toc-points{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--bdr);}
.toc-point-item{padding:18px 16px;text-align:center;border-right:1px solid var(--bdr);display:flex;flex-direction:column;align-items:center;gap:5px;}
.toc-point-item:last-child{border-right:none;}
.toc-point-num{font-size:10px;font-weight:900;color:var(--gn);letter-spacing:0.08em;}
.toc-point-icon{font-size:20px;}
.toc-point-title{font-size:13px;font-weight:700;color:var(--tx);}
.toc-point-desc{font-size:11px;color:var(--gy-lt);}

/* =====================
   toC Why Cards
===================== */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px;}
.why-card{background:var(--wh);border:1px solid var(--bdr);border-radius:8px;padding:28px;display:flex;gap:16px;transition:border-color var(--ease),box-shadow var(--ease);}
.why-card:hover{border-color:var(--gn);box-shadow:0 4px 20px rgba(26,122,74,0.08);}
.why-card--full{grid-column:1/-1;}
.why-num{font-size:30px;font-weight:900;color:var(--gn-pale);line-height:1;flex-shrink:0;min-width:36px;}
.why-title{font-size:16px;font-weight:700;color:var(--tx);margin-bottom:8px;line-height:1.4;}
.why-desc{font-size:14px;color:var(--gy-lt);line-height:1.85;}
.secret-tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--tx);background:var(--gn-pale);border:1px solid var(--gn);padding:3px 10px;border-radius:4px;margin-bottom:8px;}

/* =====================
   toC Flow
===================== */
.toc-flow{display:flex;flex-direction:column;margin-top:28px;position:relative;}
.toc-flow::before{content:'';position:absolute;left:26px;top:52px;bottom:52px;width:2px;background:var(--gn-pale);}
.toc-flow-item{display:grid;grid-template-columns:52px 1fr;gap:20px;padding-bottom:28px;}
.toc-flow-item:last-child{padding-bottom:0;}
.flow-num-circle{width:52px;height:52px;background:var(--gn);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;color:#fff;flex-shrink:0;position:relative;z-index:1;}
.flow-body{padding-top:8px;}
.flow-title{font-size:16px;font-weight:700;color:var(--tx);margin-bottom:6px;}
.flow-desc{font-size:14px;color:var(--gy-lt);line-height:1.85;}
.flow-note{background:var(--gn-pale);border-radius:5px;padding:8px 14px;margin-top:8px;font-size:12px;color:var(--gn);font-weight:500;}
.flow-secret-note{border-left:3px solid var(--gn);padding-left:14px;margin-top:10px;}
.flow-secret-title{font-size:13px;font-weight:700;color:var(--tx);margin-bottom:4px;}
.flow-secret-text{font-size:12px;color:var(--gy-lt);line-height:1.8;}

/* =====================
   toC Initiative
===================== */
.ini-list{display:flex;flex-direction:column;gap:12px;margin-top:28px;}
.ini-item{display:grid;grid-template-columns:52px 1fr;gap:16px;padding:20px;background:var(--wh);border:1px solid var(--bdr);border-radius:8px;}
.ini-num{width:52px;height:52px;background:var(--gn);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;color:#fff;flex-shrink:0;}
.ini-title{font-size:15px;font-weight:700;color:var(--tx);margin-bottom:5px;}
.ini-desc{font-size:13px;color:var(--gy-lt);line-height:1.85;}

/* =====================
   toB ヒーロー
===================== */
.tob-hero{background:linear-gradient(135deg,#0d4a2e,#1a7a4a 55%,#22a060);display:grid;grid-template-columns:1fr 220px;min-height:460px;position:relative;overflow:hidden;}
.tob-hero-bg-deco{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,0.06);}
.tob-hero-bg-deco:nth-child(1){width:300px;height:300px;right:-40px;top:-40px;}
.tob-hero-bg-deco:nth-child(2){width:200px;height:200px;right:60px;bottom:-30px;}
.tob-hero-left{padding:64px 48px 64px 40px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1;}
.tob-hero-label{font-size:11px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.65);margin-bottom:18px;display:flex;align-items:center;gap:8px;}
.tob-hero-label::before{content:'';width:18px;height:1px;background:rgba(255,255,255,0.5);}
.tob-hero-btns{display:flex;gap:12px;flex-wrap:wrap;}
.tob-hero-btn-p{background:var(--yw);color:var(--gy);font-size:14px;font-weight:700;padding:14px 26px;border-radius:var(--r);display:inline-flex;transition:background var(--ease),transform 0.15s;}
.tob-hero-btn-p:hover{background:#fad96a;transform:translateY(-2px);}
.tob-hero-btn-s{border:1.5px solid rgba(255,255,255,0.5);color:#fff;font-size:14px;padding:14px 26px;border-radius:var(--r);display:inline-flex;transition:background var(--ease);}
.tob-hero-btn-s:hover{background:rgba(255,255,255,0.08);}
.tob-hero-right{position:relative;z-index:1;background:rgba(255,255,255,0.07);border-left:1px solid rgba(255,255,255,0.12);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;}
.tob-hero-stats{display:flex;flex-direction:column;gap:26px;padding:0 28px;}
.tob-hero-stat{border-left:2px solid var(--yw);padding-left:16px;}
.tob-hero-stat-lbl{font-size:10px;color:rgba(255,255,255,0.52);margin-bottom:4px;}
.tob-hero-stat-val{font-size:20px;font-weight:700;color:var(--yw);line-height:1.3;}
.tob-hero-stat-desc{font-size:11px;color:rgba(255,255,255,0.6);margin-top:3px;}

/* =====================
   toB Trust bar
===================== */
.tob-trust{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--bdr);}
.tob-trust-item{padding:16px 12px;text-align:center;border-right:1px solid var(--bdr);display:flex;flex-direction:column;align-items:center;gap:5px;}
.tob-trust-item:last-child{border-right:none;}
.tob-trust-icon{font-size:20px;}
.tob-trust-title{font-size:13px;font-weight:700;color:var(--tx);}
.tob-trust-title--yw{background:var(--yw);color:var(--gy);font-size:11px;font-weight:900;padding:2px 10px;border-radius:3px;display:inline-block;}
.tob-trust-desc{font-size:11px;color:var(--gy-lt);}

/* =====================
   toB Problem
===================== */
.prob-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px;}
.prob-card{background:var(--wh);border:1px solid var(--bdr);border-radius:8px;padding:22px;border-top:3px solid var(--gn);}
.prob-num{font-size:28px;font-weight:900;color:var(--gn-pale);line-height:1;margin-bottom:10px;}
.prob-title{font-size:15px;font-weight:700;color:var(--tx);margin-bottom:6px;line-height:1.4;}
.prob-desc{font-size:13px;color:var(--gy-lt);line-height:1.85;}
.prob-resolve{background:var(--gn);border-radius:8px;padding:22px;text-align:center;margin-top:16px;}
.prob-resolve p{font-size:16px;font-weight:700;color:#fff;margin-bottom:14px;}

/* =====================
   toB Flow詳細
===================== */
.tob-flow{display:flex;flex-direction:column;margin-top:28px;position:relative;}
.tob-flow::before{content:'';position:absolute;left:28px;top:56px;bottom:56px;width:2px;background:var(--gn-pale);}
.tob-flow-item{display:grid;grid-template-columns:56px 1fr;gap:20px;padding-bottom:32px;}
.tob-flow-item:last-child{padding-bottom:0;}
.tob-flow-num{width:56px;height:56px;background:var(--gn);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;color:#fff;flex-shrink:0;position:relative;z-index:1;}
.tob-flow-body{padding-top:8px;}
.tob-flow-title{font-size:16px;font-weight:700;color:var(--tx);margin-bottom:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.flow-badge{font-size:11px;font-weight:700;background:var(--gn-pale);color:var(--gn);padding:2px 8px;border-radius:20px;}
.tob-flow-desc{font-size:14px;color:var(--gy-lt);line-height:1.85;margin-bottom:8px;}
.tob-flow-dl{display:flex;flex-direction:column;gap:5px;}
.tob-flow-di{font-size:13px;color:var(--gy-lt);display:flex;align-items:flex-start;gap:6px;}
.tob-flow-di::before{content:'✓';color:var(--gn);font-weight:700;flex-shrink:0;}
.tob-flow-card{background:var(--gn-pale);border-radius:5px;padding:9px 14px;margin-top:8px;font-size:12px;color:var(--gn);font-weight:500;}

/* =====================
   toB Support
===================== */
.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px;}
.support-card{background:var(--wh);border:1px solid var(--bdr);border-radius:8px;padding:22px;display:flex;gap:14px;}
.support-icon{font-size:24px;width:48px;height:48px;background:var(--gn-pale);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.support-title{font-size:15px;font-weight:700;color:var(--tx);margin-bottom:6px;}
.support-desc{font-size:13px;color:var(--gy-lt);line-height:1.85;}

/* =====================
   toB Compare
===================== */
.cmp-table{width:100%;border-collapse:collapse;margin-top:24px;}
.cmp-table th,.cmp-table td{padding:13px 16px;text-align:center;font-size:14px;border-bottom:1px solid var(--bdr);}
.cmp-table th{background:var(--gy-pale);font-weight:700;color:var(--tx);}
.cmp-table th:first-child,.cmp-table td:first-child{text-align:left;}
.cmp-table td.hl{color:var(--gn);font-weight:700;}
.cmp-table .head-hl{background:var(--gn-pale);color:var(--gn);}
.cmp-check{color:var(--gn);font-weight:700;}
.cmp-cross{color:#ccc;}

/* =====================
   フッター（共通）
===================== */
#site-footer{background:#1a1918;padding:52px 0 20px;}
.footer-grid{display:grid;grid-template-columns:240px 1fr;gap:56px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,0.08);margin-bottom:16px;}
.footer-brand strong{font-size:14px;font-weight:900;color:#fff;display:block;margin-bottom:3px;letter-spacing:0.05em;}
.footer-brand span{font-size:10px;color:rgba(255,255,255,0.35);display:block;margin-bottom:12px;}
.footer-brand p{font-size:12px;color:rgba(255,255,255,0.4);line-height:1.9;}
.footer-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.footer-col h4{font-size:10px;font-weight:700;color:rgba(255,255,255,0.4);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,0.08);}
.footer-col a{display:block;font-size:13px;color:rgba(255,255,255,0.4);margin-bottom:8px;transition:color var(--ease);}
.footer-col a:hover{color:var(--yw);}
.footer-ext-link{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:rgba(255,255,255,0.55);font-weight:700;border-bottom:1px solid rgba(255,255,255,0.25);padding-bottom:1px;margin-top:6px;}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.footer-bottom p{font-size:11px;color:rgba(255,255,255,0.22);}

/* =====================
   Responsive
===================== */
@media(max-width:1024px){
  .why-grid,.footer-grid,.contact-layout{grid-template-columns:1fr;gap:36px;}
  .col-grid,.prob-grid,.support-grid{grid-template-columns:1fr 1fr;}
  .footer-nav{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  body.toc-body{padding-bottom:72px;}
  .container{padding:0 20px;}
  .tob-topbar{padding:0 20px;}

  /* toC SP */
  .toc-hero{grid-template-columns:1fr;}
  .hero-box{display:none;}
  .toc-hero-inner{padding:48px 20px 40px;}
  .toc-points{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:1fr;}
  #float-cta{bottom:12px;}
  .float-cta-btn{font-size:13px;padding:12px 22px;}

  /* toB SP */
  .tob-hero{grid-template-columns:1fr;}
  .tob-hero-right{display:none;}
  .tob-hero-left{padding:48px 20px 40px;}
  .tob-trust{grid-template-columns:1fr 1fr;}

  /* 共通SP */
  .col-grid,.prob-grid,.support-grid{grid-template-columns:1fr;}
  .footer-nav{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .nav-toggle{display:flex;}
}
@media(max-width:480px){
  .tob-trust{grid-template-columns:1fr;}
  .toc-points{grid-template-columns:1fr;}
}
