/* AI業務改善ページ専用の追加スタイル（lp.css / wordpress.css の後に読み込む） */
.hero-static .hero-video{opacity:1;pointer-events:none}
.hero-static .hero-shade{background:linear-gradient(90deg,rgba(3,14,33,.97),rgba(3,19,43,.84) 45%,rgba(3,19,43,.25))}
.problem-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:36px 40px;margin-top:60px}
.problem-grid article{border-top:2px solid var(--blue);padding-top:24px}
.problem-grid h3{margin:14px 0 16px}
.problem-grid p{font-size:15px;line-height:1.85}
.problem-grid .before{color:var(--muted)}
.problem-grid .after{margin-top:12px;color:var(--ink);background:var(--pale);padding:14px 16px}
.proof{background:var(--pale)}
.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:55px}
.proof-grid>div{background:#fff;border:1px solid var(--line);padding:28px 26px}
.proof-grid h3{font-size:18px;margin-bottom:12px}
.proof-grid p{font-size:14px;color:var(--muted)}
.cross{background:var(--navy);color:#fff;padding:56px 0}
.cross-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.cross .eyebrow{color:#a1c5ff}
.cross h2{font-size:clamp(24px,2.8vw,34px);margin-top:14px}
.cross p{font-size:15px;color:#b9c6da;margin-top:14px}
.cross .button{justify-self:end}
.nav-alt{color:var(--blue);white-space:nowrap}
.nav nav a[aria-current="page"]{border-bottom:2px solid var(--blue);padding-bottom:4px}
@media(max-width:1000px){.nav nav>a.nav-alt{display:inline-flex}.cross .button{justify-self:stretch}}
@media(max-width:700px){.problem-grid{grid-template-columns:1fr;gap:30px;margin-top:38px}.proof-grid{grid-template-columns:1fr;gap:16px;margin-top:35px}.cross{padding:44px 0}.cross-layout{grid-template-columns:1fr;gap:24px}.cross .button{width:100%}.nav-alt{font-size:12px}.nav-contact{white-space:nowrap}.brand-light{display:none}.hero-static h1{font-size:clamp(28px,7.6vw,44px);letter-spacing:.01em}}

/* ---- v2.4: LP強化（証明・担当者・実績・料金表・保守・相乗効果・フォーム） ---- */
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.facts-four{grid-template-columns:1.1fr 1fr 1fr 1.25fr}
.proof-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.staff{display:grid;grid-template-columns:260px 1fr;gap:44px;align-items:center;margin-top:48px;padding:32px 40px;background:#fff;border:1px solid var(--line)}
.staff .staff-photo{width:260px;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:0;background:#fff}
.staff h3{font-size:20px;margin:8px 0 12px}
.staff p:last-child{font-size:15px;color:var(--ink);line-height:1.9}
.works-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 30px;margin-top:48px}
.works-grid article{min-width:0}
.works-grid .demo-label{font-size:12px;letter-spacing:.1em;color:var(--blue);margin:20px 0 8px}
.works-grid h3{font-size:25px}
.works-grid article>p:not(.demo-label){font-size:15px;color:var(--muted);margin:12px 0 0}
.works-grid .tags{flex-wrap:wrap}
.plan-table-wrap{overflow-x:auto}
.plan-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}
.plan-table th,.plan-table td{padding:14px 18px;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}
.plan-table thead th{vertical-align:top;padding-top:30px;padding-bottom:22px;border-bottom:2px solid var(--line);position:relative}
.plan-table thead th:first-child,.plan-table tbody th{text-align:left;font-weight:700;color:var(--ink);width:24%}
.plan-table thead th .plan-en{display:block}
.plan-table thead th strong{display:block;font-size:24px;margin:8px 0 6px}
.plan-table thead th .price{display:block;margin-top:4px;font-size:15px}
.plan-table thead th .price b{font:500 44px Arial;letter-spacing:-.04em;margin-right:4px}
.plan-table thead th .plan-desc{display:block;margin-top:10px;font-weight:400}
.plan-table thead th.recommended{background:#f7faff;border-top:2px solid var(--blue);border-left:2px solid var(--blue);border-right:2px solid var(--blue)}
.plan-table thead th.recommended .recommend-label{position:absolute;left:-2px;right:-2px;top:-27px}
.plan-table tbody td:nth-child(3){background:#f7faff;border-left:2px solid var(--blue);border-right:2px solid var(--blue)}
.plan-table tbody tr:last-child td:nth-child(3){border-bottom:2px solid var(--blue)}
.plan-table .yes{color:var(--blue);font-weight:700;font-size:18px}
.plan-table .no{color:#b9c2d1}
.plan-table .fit{font-size:13px;color:var(--muted);text-align:left}
.plan-table .cta-row td{padding:22px 14px 26px}
.plan-table .cta-row .button{width:100%;font-size:13px;padding:14px 16px;gap:10px}
.price-cards-mobile{display:none}
.plan-fit{font-size:13px;color:var(--muted);margin-top:14px;padding:10px 12px;background:var(--pale)}
.maintenance-section{background:var(--pale)}
.support-cards{margin-top:0}
.support-cards>div{background:#fff;border:1px solid var(--line);padding:28px 26px}
.support-cards h3{margin:8px 0 10px}
.support-cards strong{display:block;font-size:22px}
.cross .text-link{display:inline-block;margin-top:22px;border-color:#6f8bb8;color:#dbe6fa}
.synergy{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.synergy li{display:grid;grid-template-columns:44px 1fr;gap:0 16px;padding:18px 20px;background:#ffffff0d;border:1px solid #ffffff22}
.synergy li>span{grid-row:span 2;font:400 26px Arial;color:#70a7ff}
.synergy h3{font-size:16px;margin:0}
.synergy p{font-size:13px;color:#b9c6da;margin-top:4px}
.contact-sub{font-size:13px!important;color:#c9d8ff!important;margin-top:22px!important;line-height:1.8}
.contact-form{background:#fff;color:var(--ink);padding:30px 32px 26px}
.contact-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.form-grid .full{grid-column:1/-1}
.field{display:block}
.field span{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1px solid var(--line);background:#fafbfd;color:var(--ink);border-radius:0}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--blue);outline-offset:1px;background:#fff}
.field textarea{resize:vertical;min-height:110px}
.contact-form .button{width:100%;margin-top:22px;background:var(--blue);color:#fff;border:0;cursor:pointer}
.contact-form .contact-note{color:var(--muted)!important;margin-top:14px!important}
.form-status{padding:14px 16px;margin-bottom:18px;font-size:14px;font-weight:700}
.form-status.ok{background:#e8f6ee;color:#1b6b3a}
.form-status.err{background:#fdeeee;color:#a12727}
@media(max-width:1000px){.facts-four{grid-template-columns:1fr 1fr}.facts-four>div{padding:0 20px}.facts-four>div:nth-child(3){border-left:0;padding-left:0}.plan-table thead th .price b{font-size:34px}.plan-table th,.plan-table td{padding:12px 10px}}
@media(max-width:700px){.facts-four{grid-template-columns:1fr 1fr}.facts-four>div:first-child{grid-column:1/-1;display:flex;gap:12px;align-items:center;border:0;border-bottom:1px solid var(--line);padding:0 0 16px}.facts-four>div:first-child em{width:auto}.facts-four>div:last-child{padding-top:16px}.staff{grid-template-columns:1fr;gap:20px;padding:24px;justify-items:center;text-align:center}.staff .staff-photo{width:220px}.staff p:last-child{text-align:left}.works-grid{grid-template-columns:1fr;gap:34px;margin-top:32px}.works-grid h3{font-size:22px}.plan-table-wrap{display:none}.price-cards-mobile{display:grid}.support-cards{gap:16px}.contact-form{padding:22px 18px 20px}.form-grid{grid-template-columns:1fr;gap:14px}.synergy li{padding:14px 16px}}
.plan-table-wrap{padding-top:28px}
.contact h2{font-size:clamp(26px,2.9vw,34px)}
@media(max-width:700px){body:not(.touki-ai) .hero h1{font-size:clamp(24px,6.4vw,44px);letter-spacing:0}}

/* ---- 相談チャット（右下・選択式） ---- */
.chat{position:fixed;right:20px;bottom:20px;z-index:60;font-family:inherit}
.chat-launcher{display:flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;background:#ffffffee;color:var(--ink);border:1px solid var(--line);border-radius:999px;box-shadow:0 6px 18px rgba(11,23,48,.14);cursor:pointer;font:inherit;transition:transform .2s,opacity .2s;opacity:.92}
.chat-launcher:hover{opacity:1}
.chat-launcher:hover{transform:translateY(-2px)}
.chat-character{width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--pale);display:block}
.chat-launcher-text{font-size:12px;font-weight:700;color:var(--ink);padding-right:4px}
.chat.is-open .chat-launcher{display:none}
.chat-panel{width:360px;max-width:calc(100vw - 40px);max-height:min(640px,calc(100vh - 40px));display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);box-shadow:0 18px 50px rgba(11,23,48,.25)}
.chat-head{display:grid;grid-template-columns:40px 1fr auto auto;gap:10px;align-items:center;padding:12px 12px 12px 14px;background:var(--navy);color:#fff}
.chat-head img{width:40px;height:40px;border-radius:50%;object-fit:cover;background:#fff}
.chat-head strong{display:block;font-size:14px;line-height:1.3}
.chat-head small{display:block;font-size:11px;color:#b9c6da;line-height:1.3}
.chat-restart,.chat-close{background:transparent;border:1px solid #ffffff44;color:#fff;font:inherit;font-size:12px;padding:5px 9px;cursor:pointer}
.chat-close{font-size:18px;line-height:1;padding:3px 9px}
.chat-log{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;background:var(--pale);min-height:180px}
.chat-msg{max-width:88%;padding:10px 13px;font-size:14px;line-height:1.7;margin:0}
.chat-msg.bot{background:#fff;border:1px solid var(--line);align-self:flex-start}
.chat-msg.me{background:var(--blue);color:#fff;align-self:flex-end}
.chat-options{display:flex;flex-direction:column;gap:8px;padding:12px 14px 14px;border-top:1px solid var(--line)}
.chat-options button{text-align:left;font:inherit;font-size:14px;font-weight:700;padding:11px 14px;background:#fff;color:var(--ink);border:1px solid var(--line);cursor:pointer;transition:background .15s,border-color .15s}
.chat-options button:hover{border-color:var(--blue);background:#f7faff}
@media(max-width:700px){.chat{right:12px;bottom:12px;left:12px}.chat-launcher{margin-left:auto}.chat-character{width:48px;height:48px}.chat-launcher-text{font-size:11px}.chat-panel{width:100%;max-width:none;max-height:calc(100vh - 24px)}}
@media(prefers-reduced-motion:reduce){.chat-launcher{transition:none}}
.chat-panel[hidden]{display:none}
