﻿/*!
Theme Name: Flow Tech Lab
Theme URI: https://flowtechlab.example/
Author: Flow Tech Lab
Author URI: https://flowtechlab.example/
Description: 中小企業・士業のための改善研究ラボ「Flow Tech Lab」専用テーマ。改善ログを蓄積し、現場で回り続ける仕組みを設計するブランドサイト。
Version: 0.1.0
Requires at least: 6.0
Tested up to: 6.4
Requires PHP: 7.4
License: Proprietary
License URI: -
Text Domain: ftl
Tags: corporate, business, custom-logo, custom-menu, featured-images
*/

:root{
  --bg:#FFFFFF;--bg-2:#F8F9FB;--bg-3:#F1F3F7;
  --bg-navy:#0E1A36;--bg-navy-2:#142340;
  --ink:#0E1A36;--ink-2:#1F2A48;--ink-3:#4A5572;--ink-4:#6B7488;--ink-5:#9AA1B5;
  --line:#E4E7EE;--line-2:#EDEFF4;--line-d:rgba(255,255,255,.10);
  --blue:#0B74FF;--blue-2:#3D90FF;--blue-3:#0858CC;--blue-bg:#E6F1FF;--blue-bg-2:#C8DEFF;
  --green:#DDFC54;--green-2:#E8FE7A;--green-3:#B5CE44;--green-bg:#F8FEE0;--green-bg-2:#ECFCB8;
  --orange:#F08C2E;--orange-bg:#FEF3E7;
  --rose:#E63956;--rose-bg:#FCE8EC;
  --r:8px;--r-2:12px;--r-3:16px;--r-4:24px;
  --sh-1:0 1px 2px rgba(14,26,54,.04),0 1px 3px rgba(14,26,54,.06);
  --sh-2:0 4px 12px -2px rgba(14,26,54,.08),0 8px 24px -8px rgba(14,26,54,.10);
  --sh-3:0 12px 32px -8px rgba(14,26,54,.14),0 22px 60px -20px rgba(14,26,54,.16);
  --sh-cta:0 6px 18px -6px rgba(11,116,255,.45),0 2px 4px rgba(11,116,255,.18);
  --sh-cta-blue:0 6px 18px -6px rgba(30,91,216,.40),0 2px 4px rgba(30,91,216,.16);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;margin:0 !important;padding:0 !important}
body{margin:0 !important;padding:0 !important}
/* WP admin bar 非表示時に html へ margin-top:32px が残ってヘッダー上にスキマができる事象の打ち消し */
html:not(.admin-bar){margin-top:0 !important}
/* ヘッダー本体に余計な margin/padding-top が当たらないよう保険 */
body > header.nav{margin-top:0 !important;padding-top:0 !important}
body{background:var(--bg);color:var(--ink);font-family:'Inter','Noto Sans JP',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-feature-settings:"palt";font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img,svg{display:block;max-width:100%}
.container{max-width:1200px;margin:0 auto;padding:0 24px}

/* topbar */
.topbar{background:var(--bg-navy);color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;gap:24px;padding:8px 24px;flex-wrap:wrap}
.topbar .badge{background:var(--green);color:#fff;font-size:11px;font-weight:800;padding:2px 9px;border-radius:99px;letter-spacing:.04em}
.topbar a{color:#fff;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.topbar a:hover{color:var(--green-2)}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.nav-inner{max-width:1200px;margin:0 auto;padding:10px 24px;display:flex;align-items:center;gap:32px;position:relative}
.nav-toggle{display:none;background:transparent;border:0;padding:8px;cursor:pointer;color:var(--ink);border-radius:8px;transition:.15s}
.nav-toggle:hover{background:var(--bg-2)}
.nav-toggle svg{display:block}
/* PC のみ改行を効かせるユーティリティ（スマホでは詰めて表示） */
.br-pc-only{display:none}
@media (min-width:901px){.br-pc-only{display:inline}}

/* ヘッダー CTA の PC/モバイル切替 — .hero-cta-card の display:inline-flex を打ち消すため !important */
.nav-cta-pc{display:inline-flex;background:#DDFC54;color:var(--ink);border-color:var(--ink)}
.nav-cta-pc:hover,.nav-cta-pc:focus{background:#DDFC54;color:var(--ink);border-color:var(--ink)}
.nav-cta-mobile{display:none !important}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);flex-shrink:0}
.brand-mark{width:38px;height:38px;border-radius:9px;background:linear-gradient(135deg,var(--bg-navy) 0%,var(--bg-navy-2) 100%);color:#fff;display:grid;place-items:center;font-weight:800;font-size:17px;letter-spacing:-.02em;position:relative}
.brand-logo-img{width:52px;height:52px;border-radius:12px;display:block;flex-shrink:0;object-fit:contain;background:#fff;box-shadow:0 1px 3px rgba(14,26,54,.10)}
.foot-brand .brand-logo-img{width:56px;height:56px}
.foot-brand .brand-logo-img{background:rgba(255,255,255,.96)}
.brand-mark::after{content:"";position:absolute;bottom:-2px;right:-2px;width:12px;height:12px;border-radius:99px;background:var(--green);border:2px solid #fff}
.brand-name{display:flex;flex-direction:column;line-height:1.1}
.brand-name b{font-size:19.2px;font-weight:800;letter-spacing:-.015em;color:var(--ink)}
.brand-name b .brand-accent{color:var(--blue)}
.foot-brand .brand-name b .brand-accent{color:var(--blue-2)}
.brand-name small{font-size:13.2px;color:var(--ink-4);font-weight:600;margin-top:2px}
.nav-links{display:flex;gap:4px;flex:1;justify-content:center}
.nav-links a{font-size:14px;color:var(--ink-2);font-weight:600;padding:10px 14px;border-radius:8px;transition:.15s;display:inline-flex;align-items:center;gap:5px}
.nav-links a:hover{background:var(--bg-2);color:var(--blue)}
.nav-cta{display:flex;align-items:center;gap:10px;flex-shrink:0}

/* ── No Image プレースホルダー（汎用・画像） ── */
.ftl-noimg{position:relative;display:block;overflow:hidden;border:1px solid var(--line);border-radius:10px;width:100%;background:#fff}
.ftl-noimg img{display:block;width:100%;height:100%;object-fit:cover}
.ftl-noimg.r-16-9{aspect-ratio:16/9}
.ftl-noimg.r-4-3{aspect-ratio:4/3}
.ftl-noimg.r-3-2{aspect-ratio:3/2}
.ftl-noimg.r-1-1{aspect-ratio:1/1}
.case-v2 > .ftl-noimg{margin-bottom:14px}
.tool-v2 > .ftl-noimg{margin-bottom:14px}

/* btn */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border-radius:8px;font-size:14.5px;font-weight:700;border:2px solid var(--ink);transition:.18s ease;white-space:nowrap;cursor:pointer;font-family:inherit;box-shadow:3px 3px 0 var(--ink)}
.btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}
.btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}
.btn svg{flex-shrink:0;transition:transform .2s}
.btn:hover svg{transform:translateX(3px)}
/* ヘッダー内のボタンの四つ角を角丸 50 にする（サイズは標準 .btn と同じ） */
.nav-cta .btn{border-radius:50px}
/* ヘッダーCTAはダウンロードアイコンなので、ホバー時は下に動かす（→ ボタンの右ズレを打ち消し） */
.nav-cta .btn:hover svg{transform:translateY(2px)}
.btn-lg{padding:16px 28px;font-size:15.5px;border-radius:10px}
.btn-xl{padding:18px 36px;font-size:16px;border-radius:10px}
.btn-primary{background:var(--green);color:var(--ink);border-color:var(--ink)}
.btn-primary:hover{background:var(--green);border-color:var(--ink);color:var(--ink)}
.btn-blue{background:var(--blue);color:#fff;border-color:var(--ink)}
.btn-blue:hover{background:var(--blue-3);border-color:var(--blue-3);transform:translateY(-1px)}
.btn-outline{background:#fff;color:var(--ink);border-color:var(--line)}
.btn-outline:hover{border-color:var(--blue);color:var(--blue);background:var(--bg-2)}
.btn-light-on-navy{background:#fff;color:var(--ink);border-color:#fff}
.btn-light-on-navy:hover{background:var(--bg-2)}
.btn-block{width:100%}

/* sec base */
.sec{padding:96px 24px}
.sec.alt{background:var(--bg-2)}
.sec.navy{background:var(--bg-navy);color:#fff}
.sec-inner{max-width:1200px;margin:0 auto}
.sec-head{text-align:center;max-width:760px;margin:0 auto 56px}
.sec-head .label{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--blue);margin-bottom:14px}
.sec-head .label::before,.sec-head .label::after{content:"";width:24px;height:2px;background:var(--blue);border-radius:99px}
.sec-head h2{font-size:clamp(28px,3.4vw,42px);line-height:1.3;letter-spacing:-.015em;font-weight:800;color:var(--ink)}
.sec-head h2 .blue{color:var(--blue)}
.sec-head h2 .green{color:var(--green-3)}
.sec-head h2 .u{background:linear-gradient(transparent 65%,rgba(11,116,255,.28) 65%);padding:0 4px}
.sec-head p{margin-top:18px;font-size:16px;line-height:1.85;color:var(--ink-3)}

/* hero */
.hero{background:linear-gradient(180deg,#F4F7FD 0%,#fff 100%);padding:0;border-bottom:1px solid var(--line);position:relative;overflow:hidden;min-height:640px;display:flex;align-items:center}
.hero::before{content:"";position:absolute;top:-200px;right:-200px;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(30,91,216,.08),transparent 70%);pointer-events:none;z-index:1}
.hero::after{content:"";position:absolute;bottom:-150px;left:-100px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(11,116,255,.08),transparent 70%);pointer-events:none;z-index:1}
.hero-inner{max-width:1200px;margin:0 auto;padding:48px 24px 40px;display:grid;grid-template-columns:1fr;gap:32px;align-items:center;position:relative;z-index:3;width:100%}
.hero-tag{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--blue);background:#fff;border:1px solid var(--blue-bg-2);padding:7px 14px;border-radius:99px;margin-bottom:24px;box-shadow:var(--sh-1)}
.hero-tag .em{background:var(--blue);color:#fff;font-size:10px;padding:2px 7px;border-radius:99px;font-weight:800}
.hero h1{font-size:clamp(34px,4.6vw,58px);line-height:1.25;letter-spacing:-.02em;font-weight:900;color:var(--ink)}
.hero h1 .blue{color:var(--blue)}
.hero h1 .green{color:var(--green-3)}
.hero h1 .u{position:relative;display:inline-block;z-index:1}
.hero h1 .u::after{content:"";position:absolute;left:-2px;right:-2px;bottom:.06em;height:.28em;background:linear-gradient(180deg,transparent 50%,rgba(11,116,255,.28) 50%);z-index:-1;border-radius:3px}
.hero-sub-tagline{margin-top:18px;font-size:18px;line-height:1.5;color:var(--ink-2);font-weight:700;letter-spacing:-.01em}
.hero-sub-tagline::before{content:"";display:inline-block;width:22px;height:2px;background:var(--blue);vertical-align:middle;margin-right:10px;border-radius:2px;transform:translateY(-2px)}
.hero-lede{margin-top:20px;font-size:17px;line-height:1.95;color:var(--ink-3);max-width:54ch;font-weight:500}
.hero-lede b{color:var(--ink);font-weight:700}
.hero-ctas{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero-meta{margin-top:18px;display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--ink-3)}
.hero-meta .ok{color:var(--green-3);font-weight:700;display:inline-flex;align-items:center;gap:6px}
.hero-trust{margin-top:34px;display:flex;gap:0;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 8px;box-shadow:var(--sh-1)}
.hero-trust .item{flex:1;text-align:center;padding:0 14px;border-right:1px solid var(--line-2)}
.hero-trust .item:last-child{border-right:0}
.hero-trust .item b{display:block;font-size:24px;font-weight:900;color:var(--ink);letter-spacing:-.02em;line-height:1.1}
.hero-trust .item b .blue{color:var(--blue)}
.hero-trust .item b .green{color:var(--green-3)}
.hero-trust .item small{font-size:11.5px;color:var(--ink-4);font-weight:600;display:block;margin-top:4px}

/* ヒーロー画像：エリア全体を背景的にカバー・絶対配置 */
.hero-illust{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.hero-illust .person-card{position:absolute;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:var(--sh-2);font-size:12.5px;font-weight:700;display:flex;align-items:center;gap:10px;z-index:3}
.hero-illust .person-card.f1{top:8%;left:-4%;color:var(--green-3)}
.hero-illust .person-card.f2{bottom:18%;right:-2%;color:var(--blue)}
.hero-illust .person-card .ic{width:32px;height:32px;border-radius:8px;display:grid;place-items:center}
.hero-illust .person-card.f1 .ic{background:var(--green-bg);color:var(--green-3)}
.hero-illust .person-card.f2 .ic{background:var(--blue-bg);color:var(--blue)}
.hero-illust .person-card .v{font-size:18px;font-weight:900;letter-spacing:-.01em;display:block}
.hero-illust .person-card .lbl{font-size:11px;color:var(--ink-4);font-weight:600;display:block}
.hero-illust .hero-img-uploaded{width:100%;height:100%;border-radius:0;box-shadow:none;object-fit:cover;object-position:center center}
/* 文字を読みやすくする左→右の白フェードオーバーレイ */
.hero-illust::after{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(255,255,255,.96) 0%,rgba(255,255,255,.86) 22%,rgba(255,255,255,.40) 48%,rgba(255,255,255,0) 70%);pointer-events:none;z-index:2}
/* hero-inner 内のテキスト側を画像の上にオーバーレイ */
.hero-inner > .reveal{position:relative;z-index:3;max-width:560px}

/* hero ctas focused — 主CTA を1つに絞る整理レイアウト */
.hero-ctas-focused{margin-top:24px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.hero-sub-cta{font-size:13.5px;font-weight:700;color:var(--blue);padding-bottom:2px;border-bottom:1px solid var(--blue-bg-2,#D6E4FE);transition:.15s ease}
.hero-sub-cta:hover{color:var(--blue-3,#0858CC);border-bottom-color:var(--blue)}
/* スマホ時のみ：CTAカード内の「5分でわかる…」をボタン外の note に置換 */
.hero-cta-note{display:none;font-size:12.5px;color:var(--ink-3);margin:-4px 0 0;line-height:1.6;letter-spacing:.005em}
@media (max-width:600px){
  .hero-cta-card .hero-cta-card__top{display:none}
  .hero-cta-note{display:block}
}
.hero-ctas-focused .btn-primary{font-size:17px;padding:18px 32px}
.hero-alt-link{font-size:13.5px;font-weight:600;color:var(--ink-3);border-bottom:1px solid var(--ink-5);padding-bottom:1px;transition:.15s}
.hero-alt-link:hover{color:var(--blue);border-bottom-color:var(--blue)}

/* ヒーロー CTA カード（左にアイコン・右に2行テキストの大型ボタン・四つ角丸50） */
.hero-cta-card{
  display:inline-flex;
  align-items:center;
  gap:18px;
  padding:16px 32px 16px 22px;
  background:#DDFC54; /* ライム（Customizer 上書きを避けるためハードコード） */
  color:var(--ink);
  border:2px solid var(--ink);
  border-radius:50px;
  box-shadow:5px 5px 0 var(--ink);
  text-decoration:none;
  transition:.18s ease;
  max-width:560px;
}
.hero-cta-card:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink);background:#DDFC54}
.hero-cta-card:active{transform:translate(1px,1px);box-shadow:3px 3px 0 var(--ink)}
.hero-cta-card__icon{
  flex-shrink:0;
  width:50px;height:50px;
  background:#fff;
  border:2px solid var(--ink);
  border-radius:50%;
  display:grid;place-items:center;
  color:var(--ink);
}
/* 「無料」バッジ版（スマホヘッダーの DL ボタンで使用） */
.hero-cta-card__icon--free{
  background:#fff;
  color:var(--blue);
  font-size:14px;
  font-weight:900;
  letter-spacing:-.02em;
  border-color:var(--ink);
}
/* スマホヘッダー専用：ボタン全体を青背景 + 白抜き文字に */
.nav-cta-mobile.hero-cta-card{
  background:var(--blue);
  color:#fff;
}
.nav-cta-mobile.hero-cta-card:hover,
.nav-cta-mobile.hero-cta-card:focus{
  background:var(--blue);
}
.nav-cta-mobile .hero-cta-card__top,
.nav-cta-mobile .hero-cta-card__bottom{
  color:#fff;
}
.nav-cta-mobile .hero-cta-card__bottom svg{color:#fff}
/* 2行のテキスト：両行を中央寄せして幅を揃え、行間に余裕を持たせる */
.hero-cta-card__text{display:flex;flex-direction:column;align-items:center;gap:8px;line-height:1.2}
.hero-cta-card__top{
  font-size:12.5px;
  font-weight:700;
  color:var(--ink-2);
  letter-spacing:-.005em;
  text-align:center;
}
.hero-cta-card__bottom{
  font-size:30px;
  font-weight:900;
  color:var(--ink);
  letter-spacing:-.01em;
  line-height:1.1;
  text-align:center;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.hero-cta-card__bottom svg{flex-shrink:0;transition:transform .2s ease}
.hero-cta-card:hover .hero-cta-card__bottom svg{transform:translateY(3px)}
@media (max-width:560px){
  .hero-cta-card{padding:14px 22px 14px 16px;gap:12px}
  .hero-cta-card__icon{width:42px;height:42px}
  .hero-cta-card__icon svg{width:22px;height:22px}
  .hero-cta-card__top{font-size:11.5px}
  .hero-cta-card__bottom{font-size:24px}
}

/* stats footnote — 数値根拠 */
.stats-note{max-width:1200px;margin:28px auto 0;font-size:11.5px;color:rgba(255,255,255,.55);text-align:center;line-height:1.7;letter-spacing:.02em}

/* スマホ用ヘッダー：ハンバーガー右端固定 / ロゴ完全中央 / 資料DL+メニューは is-open のときのみ展開 */
@media (max-width:900px){
  .nav-inner{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:10px 16px;position:relative}
  /* ハンバーガーは絶対配置で画面右端・上端基準（メニュー展開でズレない） */
  .nav-toggle{display:flex;align-items:center;justify-content:center;position:absolute;right:12px;left:auto;top:12px;transform:none;flex-shrink:0;z-index:5}
  /* ロゴは完全中央配置 */
  .brand{margin:0 auto;justify-content:center;order:1;flex-shrink:0}
  /* メニューと資料DLボタンは is-open のときだけ表示 */
  .nav-links{display:none;flex-basis:100%;width:100%;order:4;flex-direction:column;align-items:stretch;gap:4px;padding:14px 0 8px;border-top:1px solid var(--line-2);margin-top:4px;flex:none;justify-content:flex-start}
  .nav-links.is-open{display:flex}
  .nav-links a{width:100%;text-align:center;padding:12px 14px;font-size:15px}
  .nav-cta{display:none;flex-basis:100%;width:100%;justify-content:center;order:5;padding-top:8px}
  /* ハンバーガーが is-open になったら資料DLボタンも一緒に表示 */
  .nav-links.is-open ~ .nav-cta{display:flex}
  /* スマホ：PC 用通常ボタンを隠し、hero-cta-card デザインのみ表示 */
  .nav-cta-pc{display:none !important}
  .nav-cta-mobile{display:inline-flex !important;width:100%;max-width:380px;margin:0 auto}
}

/* ヒーロー：タブレット時の調整 — 縦並びに切替 */
@media (max-width:900px){
  .hero{min-height:auto;flex-direction:column;align-items:stretch}
  .hero-inner{padding:32px 20px 0;grid-template-columns:1fr;gap:24px;order:1;max-width:100%}
  .hero-illust{position:relative;inset:auto;height:auto;order:2;width:100%;padding:24px 20px 32px}
  .hero-illust .hero-img-uploaded{height:380px;width:100%;max-height:none;object-fit:cover;object-position:80% center;border-radius:14px}
  .hero-illust::after{display:none}
  .hero-inner > .reveal{max-width:100%}
  .hero h1{font-size:clamp(28px,5.8vw,46px)}
  .hero-cta-card{width:100%;max-width:100%}
}

/* ヒーロー：スマホ時の更なる調整 */
@media (max-width:600px){
  .hero-inner{padding:24px 16px 28px}
  .hero h1{font-size:34px;line-height:1.3;letter-spacing:-.015em;text-align:center}
  .hero-lede{font-size:14.5px;line-height:1.85;margin-top:18px}
  /* CTAカードがviewport幅を超えないよう厳密にbox-sizing + flex shrink許可 */
  .hero-ctas{width:100%;max-width:100%}
  .hero-cta-card{padding:14px 18px 14px 14px;gap:12px;width:100%;max-width:100%;box-sizing:border-box}
  .hero-cta-card__icon{width:44px;height:44px}
  .hero-cta-card__icon svg{width:22px;height:22px}
  .hero-cta-card__text{min-width:0;flex:1}
  .hero-cta-card__top{font-size:10.5px;line-height:1.35;white-space:nowrap;letter-spacing:-.02em}
  .hero-cta-card__bottom{font-size:22px;gap:8px}
  .hero-cta-card__bottom svg{width:20px;height:20px}
  .hero-pills{margin-top:14px}
  .hero-pills .pill{font-size:11px;padding:5px 11px;white-space:normal;line-height:1.45;text-align:left}
  /* 通知バー長文の折り返し（スマホ） */
  .topbar{font-size:12px;padding:8px 16px;gap:10px;text-align:center}
  .topbar .badge{flex-shrink:0}
  /* 「人を増やす前に、」を 1 行 + その直後で強制改行 */
  .topbar .topbar-nobr{white-space:nowrap;display:block}
  /* body 横スクロール防止（保険） */
  body{overflow-x:hidden}
  /* PAINS セクションの説明文をスマホでは左寄せ */
  #pains .sec-head p{text-align:left}
}

/* hero lead promise — 営業しない宣言 */
.hero-lead-promise{margin-top:26px;display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--green-3);background:var(--green-bg);border:1px solid var(--green-bg-2);padding:8px 14px;border-radius:99px;line-height:1.5}
.hero-lead-promise svg{flex-shrink:0;color:var(--green-3)}
.hero-lead-promise strong{color:var(--ink);font-weight:800}

/* hero lead form — 資料DL 主CTA */
.hero-lead{margin-top:30px;display:flex;gap:8px;align-items:stretch;max-width:560px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:var(--sh-1);flex-wrap:wrap}
.hero-lead input[type="email"]{flex:1;min-width:200px;border:0;background:transparent;padding:14px 16px;font-size:15px;font-weight:500;color:var(--ink);outline:none;font-family:inherit}
.hero-lead input[type="email"]::placeholder{color:var(--ink-4);font-weight:500}
.hero-lead input[type="email"]:focus{outline:0}
.hero-lead .btn{margin:0;border-radius:8px;flex-shrink:0}
.hero-lead-note{margin-top:12px;font-size:12.5px;line-height:1.7;color:var(--ink-4);max-width:54ch}
.hero-ctas{margin-top:18px}
@media (max-width:600px){
  .hero-lead{flex-direction:column;padding:8px;gap:6px}
  .hero-lead input[type="email"]{padding:12px 14px}
  .hero-lead .btn{width:100%;justify-content:center}
}

/* confirm-only — あなたは、確認するだけ。 */
.confirm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1200px;margin:0 auto}
.ci{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:14px;transition:.18s}
.ci:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--sh-2)}
.ci-emoji{font-size:32px;line-height:1;display:inline-block}
.ci h3{font-size:17px;font-weight:800;color:var(--ink);letter-spacing:-.005em;line-height:1.3}
.ci-flow{display:flex;flex-direction:column;gap:6px;margin-top:auto}
.ci-step{font-size:13px;line-height:1.55;padding:9px 12px;border-radius:8px;letter-spacing:.005em}
.ci-step.ai{background:var(--blue-bg);color:var(--blue);border:1px solid var(--blue-bg-2);font-weight:600}
.ci-step.you{background:var(--green-bg);color:var(--green-3);border:1px solid var(--green-bg-2);font-weight:700}
.ci-step.you b{color:var(--green-3);font-weight:900;background:linear-gradient(transparent 65%,rgba(11,116,255,.22) 65%);padding:0 2px}
.ci-arrow{align-self:center;color:var(--ink-5);font-size:14px;font-weight:600;line-height:1}
.ci-note{margin-top:36px;text-align:center;font-size:14px;line-height:1.85;color:var(--ink-3);max-width:60ch;margin-left:auto;margin-right:auto}
.ci-note strong{color:var(--ink);font-weight:700;background:linear-gradient(transparent 65%,rgba(11,116,255,.22) 65%);padding:0 2px}
@media (max-width:1080px){.confirm-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.confirm-grid{grid-template-columns:1fr}}

/* hero mission link — 改善 OS 思想ページへの内部導線 */
.hero-mission-link{display:inline-block;margin-left:6px;font-size:12.5px;font-weight:700;color:var(--blue);border-bottom:1px solid var(--blue);padding-bottom:1px;transition:.15s;white-space:nowrap}
.hero-mission-link:hover{color:var(--green-3);border-bottom-color:var(--green-3)}

/* section description inline link — 改善 OS ページへの導線 */
.sec-link{display:inline-block;margin-left:6px;font-weight:700;color:var(--blue);border-bottom:1px solid var(--blue);padding-bottom:1px;transition:.15s;white-space:nowrap}
.sec-link:hover{color:var(--green-3);border-bottom-color:var(--green-3)}

/* hero mission — 研究所感を出す小さな宣言文 */
.hero-mission{
  margin-top:18px;font-size:13.5px;line-height:1.85;color:var(--ink-3);
  padding:12px 16px;border-left:2px solid var(--green);background:linear-gradient(90deg,var(--green-bg) 0%,transparent 80%);
  border-radius:0 8px 8px 0;max-width:48ch;font-weight:500;letter-spacing:.005em;
}
.hero-mission::before{
  content:"";display:inline-block;width:8px;height:8px;border-radius:99px;background:var(--green);
  margin-right:8px;vertical-align:1px;box-shadow:0 0 0 3px rgba(11,116,255,.18);
}

/* hero pills（サービスタグ） */
.hero-pills{margin-top:18px;display:flex;flex-wrap:wrap;gap:6px}
.hero-pills .pill{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--ink-2);background:#fff;border:1px solid var(--line);padding:6px 14px;border-radius:99px;box-shadow:var(--sh-1)}
.hero-pills .pill-pulse{width:7px;height:7px;border-radius:99px;background:#ec4899;box-shadow:0 0 0 3px rgba(236,72,153,.20),0 0 10px rgba(236,72,153,.55);animation:rs-pulse 2s ease-in-out infinite;display:inline-block;flex-shrink:0}

/* solutions（4つの解決軸） */
.solutions{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.solution{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px 24px;display:flex;flex-direction:column;gap:14px;transition:.2s;position:relative}
.solution:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:var(--sh-2)}
.solution .num{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--blue);background:var(--blue-bg);padding:3px 10px;border-radius:99px;width:fit-content}
.solution .ic{width:46px;height:46px;border-radius:11px;background:linear-gradient(135deg,var(--blue),var(--blue-3));color:#fff;display:grid;place-items:center;box-shadow:0 6px 14px -4px rgba(30,91,216,.4)}
.solution-illust{margin:4px 0 8px;display:flex;align-items:center;justify-content:center;height:100px;border-radius:12px;background:linear-gradient(135deg,#fff,var(--bg-2));border:1px solid var(--line-2);overflow:hidden}
.solution-illust img{width:100%;height:100%;object-fit:cover;display:block}
.solution-illust svg{display:block;max-width:100%;max-height:100%}
.solution h3{font-size:17px;font-weight:800;color:var(--ink);line-height:1.45;letter-spacing:-.005em}
.solution p{font-size:13.5px;color:var(--ink-3);line-height:1.85}

/* tools-grid（小型ツール） */
.tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tool-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:12px;transition:.2s}
.tool-card:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:var(--sh-2)}
.tool-card .top{display:flex;align-items:center;gap:12px}
.tool-card .ic{width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,var(--green),var(--green-3));color:#fff;display:grid;place-items:center;flex-shrink:0;box-shadow:0 6px 14px -4px rgba(11,116,255,.35)}
.tool-card .ic.blue{background:linear-gradient(135deg,var(--blue),var(--blue-3));box-shadow:0 6px 14px -4px rgba(30,91,216,.35)}
.tool-card .name{font-size:15.5px;font-weight:800;color:var(--ink);line-height:1.3;letter-spacing:-.005em}
.tool-card .target{font-size:11px;color:var(--ink-4);font-weight:600;margin-top:2px}
.tool-card .desc{font-size:13.5px;color:var(--ink-3);line-height:1.75}
.tool-card .tags{display:flex;gap:5px;flex-wrap:wrap}
.tool-card .tags span{font-size:10.5px;font-weight:600;color:var(--ink-3);background:var(--bg-2);border:1px solid var(--line);padding:2px 8px;border-radius:99px}
.tool-card .links{margin-top:auto;padding-top:12px;border-top:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:center}
.tool-card .links a{font-size:12.5px;font-weight:700;color:var(--blue);display:inline-flex;align-items:center;gap:4px}
.tool-card .status{font-size:10px;font-weight:800;padding:3px 8px;border-radius:99px;letter-spacing:.04em}
.tool-card .status.live{background:var(--green-bg);color:var(--green-3)}
.tool-card .status.dev{background:var(--orange-bg);color:var(--orange)}

/* pains: 8 items を 4 列に */
.pains{grid-template-columns:repeat(4,1fr)}

/* cases v2 — GitHub repo / SaaS dashboard 風 */
.cases-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1200px;margin:0 auto}
.case-v2{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 26px;display:flex;flex-direction:column;gap:14px;transition:.18s ease;position:relative}
.case-v2:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--sh-2)}
.case-v2-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.case-v2-tags .t-industry{font-size:12px;font-weight:700;color:var(--ink);background:var(--bg-2);border:1px solid var(--line);padding:3px 10px;border-radius:99px;letter-spacing:.005em}
.case-v2-tags .t-cat{font-size:11.5px;font-weight:700;color:var(--blue);background:var(--blue-bg);border:1px solid var(--blue-bg-2);padding:3px 10px;border-radius:99px;letter-spacing:.02em}
.case-v2-tags .t-file{margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;font-weight:600;color:var(--ink-4);letter-spacing:.06em}
.case-v2-tags .t-status{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px;font-weight:800;letter-spacing:.12em;padding:3px 8px;border-radius:5px;text-transform:uppercase;display:inline-flex;align-items:center;gap:5px}
.case-v2-tags .t-status::before{content:"";width:6px;height:6px;border-radius:99px;background:currentColor}
.case-v2-tags .t-status.status-live{background:var(--green-bg);color:var(--green-3);border:1px solid var(--green-bg-2)}
.case-v2-tags .t-status.status-progress{background:var(--orange-bg);color:var(--orange);border:1px solid #FDE68A}
.case-v2-tags .t-status.status-archived{background:var(--bg-2);color:var(--ink-3);border:1px solid var(--line)}
.case-v2-tags .t-status.status-experiment{background:var(--blue-bg);color:var(--blue);border:1px solid var(--blue-bg-2)}

/* tool-v2 status: 追加バリエーション */
.tool-v2-status.internal{background:#EEF2FF;color:#4338CA;border:1px solid #C7D2FE}
.tool-v2-status.research{background:#FAF5FF;color:#7C3AED;border:1px solid #DDD6FE}

/* news-item に研究ログ感のサブステータス追加 */
.news-thumb .lab-status{position:absolute;bottom:14px;right:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px;font-weight:800;letter-spacing:.12em;padding:3px 8px;border-radius:5px;text-transform:uppercase;background:rgba(255,255,255,.92);color:var(--ink);backdrop-filter:blur(4px)}

/* profile research log chips */
.profile-research{margin-top:24px;padding-top:24px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:10px}
.profile-research .label{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;font-weight:800;letter-spacing:.16em;color:var(--ink-4);text-transform:uppercase}
.profile-research .chips{display:flex;flex-wrap:wrap;gap:6px}
.profile-research .chips span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:600;color:var(--ink-2);background:#fff;border:1px solid var(--line);padding:4px 10px;border-radius:5px;letter-spacing:.04em}
.profile-research .chips span.r{color:var(--blue);background:var(--blue-bg);border-color:var(--blue-bg-2)}
.profile-research .chips span.g{color:var(--green-3);background:var(--green-bg);border-color:var(--green-bg-2)}
.case-v2-title{font-size:17px;font-weight:800;color:var(--ink);line-height:1.5;letter-spacing:-.005em;margin-top:2px}
.case-v2-ba{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:stretch;background:linear-gradient(180deg,var(--bg-2),#fff);border:1px solid var(--line-2);border-radius:11px;padding:14px 12px}
.case-v2-ba .ba-col{display:flex;flex-direction:column;gap:4px;text-align:center;padding:4px 6px}
.case-v2-ba .ba-lbl{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4)}
.case-v2-ba .ba-col.after .ba-lbl{color:var(--green-3)}
.case-v2-ba .ba-val{font-size:12px;color:var(--ink-3);font-weight:600;line-height:1.4}
.case-v2-ba .ba-num{font-size:22px;font-weight:900;color:var(--ink);letter-spacing:-.025em;line-height:1;font-variant-numeric:tabular-nums;margin-top:2px}
.case-v2-ba .ba-num small{font-size:11px;font-weight:600;color:var(--ink-3);margin-left:1px}
.case-v2-ba .ba-col.after .ba-num{color:var(--green-3)}
.case-v2-ba .ba-arrow{align-self:center;color:var(--green-3);font-weight:700;font-size:16px;padding:0 4px}
.case-v2-ai{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.case-v2-ai .ai-lbl{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px;font-weight:700;letter-spacing:.14em;color:var(--ink-4);text-transform:uppercase;padding-right:4px}
.case-v2-ai .ai-tag{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:600;color:var(--ink-2);background:#fff;border:1px solid var(--line);padding:2px 8px;border-radius:5px;letter-spacing:.02em}
.case-v2-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:center}
.case-v2-link{font-size:13px;font-weight:700;color:var(--blue);display:inline-flex;align-items:center;gap:4px;transition:gap .2s}
.case-v2-link:hover{gap:8px}
.case-v2-date{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;color:var(--ink-4);letter-spacing:.06em}

@media (max-width:1080px){.cases-v2{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.cases-v2{grid-template-columns:1fr}}

/* industries v2 — 業界の面倒を主役に */
.inds-v2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:1200px;margin:0 auto}
.ind-v2{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 30px;display:flex;flex-direction:column;gap:18px;transition:.18s ease;position:relative}
.ind-v2:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--sh-2)}
.ind-v2.has-lp{border:2px solid var(--blue);background:linear-gradient(180deg,rgba(11,116,255,.02),#fff)}
.ind-v2.has-lp:hover{box-shadow:0 18px 40px -18px rgba(11,116,255,.4)}
.ind-v2-badge{display:inline-block;margin-left:8px;padding:2px 8px;background:var(--blue);color:#fff;font-size:10px;font-weight:800;letter-spacing:.05em;border-radius:99px;vertical-align:middle}
.ind-v2-head{display:flex;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line-2)}
.ind-v2-emoji{font-size:32px;line-height:1;display:inline-grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--bg-2);border:1px solid var(--line)}
.ind-v2-head h3{font-size:20px;font-weight:800;color:var(--ink);letter-spacing:-.005em;line-height:1.3;flex:1}
.ind-v2-block{display:flex;flex-direction:column;gap:8px}
.ind-v2-block .b-lbl{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px}
.ind-v2-block.pains .b-lbl{color:var(--orange)}
.ind-v2-block.fixes .b-lbl{color:var(--green-3)}
.ind-v2-block .b-lbl::before{content:"";width:14px;height:1.5px;background:currentColor;border-radius:99px;display:inline-block}
.ind-v2-block ul{list-style:none;display:flex;flex-direction:column;gap:5px;padding-left:0}
.ind-v2-block ul li{font-size:13.5px;color:var(--ink-2);line-height:1.65;display:flex;align-items:flex-start;gap:8px;letter-spacing:.005em}
.ind-v2-block.pains ul li::before{content:"✕";color:var(--orange);font-size:11px;font-weight:800;flex-shrink:0;width:16px;text-align:center;margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.ind-v2-block.fixes ul li::before{content:"✓";color:var(--green-3);font-size:13px;font-weight:800;flex-shrink:0;width:16px;text-align:center;margin-top:1px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.ind-v2-link{margin-top:auto;padding-top:14px;border-top:1px solid var(--line-2);font-size:13px;font-weight:700;color:var(--blue);display:inline-flex;align-items:center;gap:5px;transition:gap .2s}
.ind-v2-link:hover{gap:9px}

@media (max-width:1080px){.inds-v2{grid-template-columns:1fr}}

/* tools v2 — 解決する面倒を主役に */
.tools-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1200px;margin:0 auto}
.tool-v2{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;display:flex;flex-direction:column;gap:14px;transition:.18s ease;position:relative}
.tool-v2:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--sh-2)}
.tool-v2-status{position:absolute;top:18px;right:18px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px;font-weight:800;padding:3px 8px;border-radius:5px;letter-spacing:.08em;text-transform:uppercase}
.tool-v2-status.live{background:var(--green-bg);color:var(--green-3);border:1px solid var(--green-bg-2)}
.tool-v2-status.beta{background:var(--orange-bg);color:var(--orange);border:1px solid #FDE68A}
.tool-v2-status.dev{background:var(--bg-2);color:var(--ink-3);border:1px solid var(--line)}
.tool-v2-solve{font-size:18px;font-weight:800;color:var(--ink);line-height:1.45;letter-spacing:-.01em;padding-right:60px}
.tool-v2-desc{font-size:13.5px;color:var(--ink-3);line-height:1.85;letter-spacing:.005em}
.tool-v2-meta{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;padding:14px 0;margin-top:auto;border-top:1px solid var(--line-2);font-size:12px}
.tool-v2-meta dt{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);align-self:center}
.tool-v2-meta dd{color:var(--ink-2);font-weight:500;letter-spacing:.005em;align-self:center}
.tool-v2-foot{padding-top:14px;border-top:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:center;gap:10px}
.tool-v2-link{font-size:13px;font-weight:700;color:var(--blue);display:inline-flex;align-items:center;gap:5px;transition:gap .2s}
.tool-v2-link:hover{gap:9px}
.tool-v2-cases{font-size:11.5px;font-weight:600;color:var(--ink-4);transition:color .2s}
.tool-v2-cases:hover{color:var(--blue)}

@media (max-width:1080px){.tools-v2{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.tools-v2{grid-template-columns:1fr}}

/* improvement-os pipeline — 改善OS化までの進化軸 */
.os-pipeline{display:flex;align-items:stretch;gap:6px;max-width:1200px;margin:0 auto;flex-wrap:nowrap}
.os-stage{flex:1;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 18px;display:flex;flex-direction:column;gap:10px;transition:.18s;min-width:0}
.os-stage:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--sh-2)}
.os-stage .os-num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:800;letter-spacing:.18em;color:var(--blue)}
.os-stage .os-icon{width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,var(--blue),var(--blue-3));color:#fff;display:grid;place-items:center;box-shadow:0 6px 14px -4px rgba(30,91,216,.4)}
.os-stage h3{font-size:15.5px;font-weight:800;color:var(--ink);line-height:1.4;letter-spacing:-.005em}
.os-stage p{font-size:12.5px;color:var(--ink-3);line-height:1.7;flex:1}
.os-badge{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:800;letter-spacing:.12em;padding:3px 9px;border-radius:5px;width:fit-content;text-transform:uppercase;display:inline-flex;align-items:center;gap:5px}
.os-badge::before{content:"";width:5px;height:5px;border-radius:99px;background:currentColor}
.os-badge.live{background:var(--green-bg);color:var(--green-3);border:1px solid var(--green-bg-2)}
.os-badge.progress{background:var(--orange-bg);color:var(--orange);border:1px solid #FDE68A}
.os-badge.research{background:#FAF5FF;color:#7C3AED;border:1px solid #DDD6FE}
.os-badge.experiment{background:var(--blue-bg);color:var(--blue);border:1px solid var(--blue-bg-2)}
.os-arrow{align-self:center;color:var(--green-3);font-weight:800;font-size:18px;flex-shrink:0;padding:0 2px}
.os-note{margin-top:36px;text-align:center;font-size:14.5px;line-height:1.95;color:var(--ink-3);max-width:60ch;margin-left:auto;margin-right:auto}
.os-note strong{color:var(--ink);font-weight:700;background:linear-gradient(transparent 65%,rgba(11,116,255,.22) 65%);padding:0 2px}

@media (max-width:1080px){
  .os-pipeline{flex-wrap:wrap;justify-content:center}
  .os-stage{flex:0 0 calc(50% - 16px);min-width:0}
  .os-arrow{transform:rotate(0deg);width:auto;height:auto}
  .os-arrow:nth-child(4){display:none}
}
@media (max-width:600px){
  .os-pipeline{flex-direction:column}
  .os-stage{flex:1}
  .os-arrow{transform:rotate(90deg);padding:4px 0}
  .os-arrow:nth-child(4){display:block}
}

/* ════════════════════════════════════════════
   single-ftl_case.php — 改善事例詳細ページ
   ════════════════════════════════════════════ */
.case-detail{background:var(--bg-2);min-height:60vh}

/* breadcrumb */
.case-crumb{background:#fff;border-bottom:1px solid var(--line);padding:12px 24px}
.case-crumb-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--ink-4);letter-spacing:.04em;flex-wrap:wrap}
.case-crumb a{color:var(--blue);font-weight:600}
.case-crumb a:hover{text-decoration:underline}
.case-crumb .sep{color:var(--ink-5)}
.case-crumb .current{color:var(--ink-2);font-weight:700}

/* header */
.case-header{background:#fff;border-bottom:1px solid var(--line);padding:56px 24px 48px}
.case-header-inner{max-width:1100px;margin:0 auto}
.case-meta-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:18px}
.case-meta-row .t-industry{font-size:13px;font-weight:700;color:var(--ink);background:var(--bg-2);border:1px solid var(--line);padding:5px 12px;border-radius:99px}
.case-meta-row .t-cat{font-size:12.5px;font-weight:700;color:var(--blue);background:var(--blue-bg);border:1px solid var(--blue-bg-2);padding:5px 12px;border-radius:99px}
.case-meta-row .t-status{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;font-weight:800;letter-spacing:.14em;padding:5px 11px;border-radius:6px;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px}
.case-meta-row .t-status::before{content:"";width:6px;height:6px;border-radius:99px;background:currentColor}
.case-meta-row .t-status.status-live{background:var(--green-bg);color:var(--green-3);border:1px solid var(--green-bg-2)}
.case-meta-row .t-status.status-inprogress,.case-meta-row .t-status.status-progress{background:var(--orange-bg);color:var(--orange);border:1px solid #FDE68A}
.case-meta-row .t-status.status-archived{background:var(--bg-2);color:var(--ink-3);border:1px solid var(--line)}
.case-meta-row .t-status.status-experiment{background:#FAF5FF;color:#7C3AED;border:1px solid #DDD6FE}
.case-meta-row .t-file{margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:600;color:var(--ink-4);letter-spacing:.06em}
.case-meta-row .t-date{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--ink-4);letter-spacing:.04em}
.case-title{font-size:clamp(28px,3.6vw,42px);line-height:1.3;letter-spacing:-.015em;font-weight:800;color:var(--ink)}

/* hero before/after — large block */
.case-ba-hero{margin-top:32px;display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:stretch;background:linear-gradient(180deg,#fff,var(--bg-2));border:1px solid var(--line);border-radius:16px;padding:28px 24px;box-shadow:var(--sh-1)}
.case-ba-hero .ba-col{display:flex;flex-direction:column;gap:8px;text-align:center;padding:12px}
.case-ba-hero .ba-lbl{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-4)}
.case-ba-hero .ba-col.after .ba-lbl{color:var(--green-3)}
.case-ba-hero .ba-num{font-size:clamp(32px,4vw,52px);font-weight:900;color:var(--ink);letter-spacing:-.025em;line-height:1;font-variant-numeric:tabular-nums}
.case-ba-hero .ba-col.after .ba-num{color:var(--green-3)}
.case-ba-hero .ba-desc{font-size:13.5px;color:var(--ink-3);font-weight:600;line-height:1.5}
.case-ba-hero .ba-arrow{align-self:center;color:var(--green-3);font-weight:800;font-size:24px;padding:0 8px}
.case-cover{margin-top:32px;border-radius:14px;overflow:hidden;box-shadow:var(--sh-2)}
.case-cover img{width:100%;height:auto;display:block}

/* body 2-col */
.case-body-wrap{max-width:1100px;margin:0 auto;padding:48px 24px;display:grid;grid-template-columns:1fr 320px;gap:48px;align-items:start}
.case-body{display:flex;flex-direction:column;gap:36px}
.case-section{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px 32px;display:grid;grid-template-columns:60px 1fr;gap:24px;box-shadow:var(--sh-1)}
.case-section .cs-num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:24px;font-weight:800;color:var(--blue);letter-spacing:-.02em;line-height:1;padding-top:6px}
.case-section .cs-lbl{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--ink-4);text-transform:uppercase;display:block;margin-bottom:6px}
.case-section h2{font-size:22px;font-weight:800;color:var(--ink);letter-spacing:-.005em;line-height:1.4;margin-bottom:14px}
.case-section .cs-content{font-size:15px;color:var(--ink-2);line-height:1.95}
.case-section .cs-content p{margin-bottom:14px}
.case-section .cs-content p:last-child{margin-bottom:0}
.case-section .cs-content ul,.case-section .cs-content ol{margin:0 0 14px 24px;padding-left:0}
.case-section .cs-content li{font-size:15px;color:var(--ink-2);line-height:1.85;margin-bottom:6px}
.case-section .cs-content code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;background:var(--bg-2);padding:2px 6px;border-radius:4px;color:var(--ink)}
.case-section .cs-content blockquote{margin:14px 0;padding:14px 18px;background:var(--blue-bg);border-left:3px solid var(--blue);border-radius:0 8px 8px 0;color:var(--ink-2);font-size:14.5px;line-height:1.85}

/* sidebar */
.case-sidebar{display:flex;flex-direction:column;gap:18px;position:sticky;top:24px}
.case-side-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:var(--sh-1)}
.case-side-card h4{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--ink-4);text-transform:uppercase;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line-2)}
.case-side-card dl{display:grid;grid-template-columns:1fr;gap:12px}
.case-side-card dt{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;font-weight:700;color:var(--ink-4);letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px}
.case-side-card dd{font-size:14px;color:var(--ink);font-weight:600;line-height:1.5;margin-bottom:8px;padding-bottom:8px;border-bottom:1px dashed var(--line-2)}
.case-side-card dd:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0}
.case-side-card dd.hl{color:var(--green-3);font-size:18px;font-weight:900;letter-spacing:-.01em}
.case-side-card dd .t-status{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;font-weight:800;letter-spacing:.14em;padding:4px 10px;border-radius:5px;text-transform:uppercase;display:inline-flex;align-items:center;gap:5px}
.case-side-card dd .t-status::before{content:"";width:5px;height:5px;border-radius:99px;background:currentColor}
.case-side-card dd .t-status.status-live{background:var(--green-bg);color:var(--green-3)}
.case-side-card dd .t-status.status-inprogress,.case-side-card dd .t-status.status-progress{background:var(--orange-bg);color:var(--orange)}
.case-side-card dd .t-status.status-archived{background:var(--bg-2);color:var(--ink-3)}
.case-side-card dd.ai-list{display:flex;flex-wrap:wrap;gap:5px}
.case-side-card .ai-tag{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:600;color:var(--ink-2);background:var(--bg-2);border:1px solid var(--line);padding:2px 8px;border-radius:5px;letter-spacing:.02em}

/* sidebar CTA */
.case-side-cta{background:linear-gradient(160deg,var(--bg-navy),var(--bg-navy-2));color:#fff;border-radius:14px;padding:24px;border:1px solid var(--bg-navy-2)}
.case-side-cta h4{font-size:15px;font-weight:800;color:#fff;line-height:1.5;margin-bottom:10px;letter-spacing:-.005em}
.case-side-cta p{font-size:13px;color:#C8CDDB;line-height:1.85;margin-bottom:18px}
.case-side-cta .btn-block{justify-content:center}

/* related */
.case-related{background:#fff;padding:64px 24px;border-top:1px solid var(--line)}
.case-related-inner{max-width:1100px;margin:0 auto;text-align:center}
.case-related-inner .cs-lbl{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:800;letter-spacing:.18em;color:var(--blue);text-transform:uppercase;display:inline-block;margin-bottom:10px}
.case-related-inner h3{font-size:26px;font-weight:800;color:var(--ink);letter-spacing:-.01em;margin-bottom:32px}
.case-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:left}
.related-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:10px;transition:.18s}
.related-card:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--sh-2)}
.related-card .r-file{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;font-weight:700;color:var(--blue);letter-spacing:.06em}
.related-card .r-industry{font-size:12px;font-weight:700;color:var(--ink-3);background:var(--bg-2);border:1px solid var(--line);padding:3px 9px;border-radius:99px;width:fit-content}
.related-card h4{font-size:15.5px;font-weight:800;color:var(--ink);line-height:1.5;letter-spacing:-.005em}
.related-card .r-arrow{margin-top:auto;padding-top:10px;border-top:1px solid var(--line-2);font-size:12.5px;font-weight:700;color:var(--blue)}

@media (max-width:1080px){
  .case-body-wrap{grid-template-columns:1fr;padding:32px 22px}
  .case-sidebar{position:static}
  .case-related-grid{grid-template-columns:repeat(2,1fr)}
  .case-section{grid-template-columns:1fr;padding:24px}
  .case-section .cs-num{font-size:20px;padding-top:0}
}
@media (max-width:600px){
  .case-related-grid{grid-template-columns:1fr}
  .case-ba-hero{grid-template-columns:1fr;gap:8px}
  .case-ba-hero .ba-arrow{transform:rotate(90deg)}
  .case-meta-row .t-file,.case-meta-row .t-date{margin-left:0}
}

/* flow: 6 steps を 3 列に */
.flow{grid-template-columns:repeat(3,1fr)}

/* profile / 代表者ブロック */
.profile-block{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:48px;box-shadow:var(--sh-2);max-width:1100px;margin:0 auto;position:relative;overflow:hidden}
.profile-block::before{content:"";position:absolute;top:-100px;right:-100px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,var(--blue-bg),transparent 70%);pointer-events:none}
.profile-photo{position:relative;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,var(--bg-navy),#1A2541);box-shadow:0 20px 50px -20px rgba(14,26,54,.25)}
.profile-photo img{width:100%;height:100%;object-fit:cover;display:block}
.profile-photo .photo-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:rgba(255,255,255,.4);gap:12px}
.profile-photo .photo-placeholder svg{opacity:.4}
.profile-photo .ph-tag{font-size:11px;font-weight:700;letter-spacing:.16em;color:rgba(255,255,255,.55);background:rgba(0,0,0,.35);padding:5px 12px;border-radius:99px;backdrop-filter:blur(4px)}
.profile-photo .badge-top{position:absolute;top:16px;left:16px;background:rgba(255,255,255,.92);color:var(--ink);font-size:11px;font-weight:800;padding:5px 11px;border-radius:99px;letter-spacing:.02em;backdrop-filter:blur(6px)}
.profile-photo .badge-bottom{position:absolute;bottom:16px;left:16px;right:16px;color:rgba(255,255,255,.85);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;display:flex;justify-content:space-between}
.profile-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,transparent 30%,transparent 70%,rgba(0,0,0,.45) 100%);pointer-events:none}
.profile-text{position:relative;z-index:2}
.profile-text h3{font-size:32px;font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1.2}
.profile-text h3 small{display:block;font-size:14px;color:var(--ink-4);font-weight:600;margin-top:6px;letter-spacing:.04em}
.profile-text .role{margin-top:14px;display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--blue);background:var(--blue-bg);padding:6px 14px;border-radius:99px;font-weight:700;letter-spacing:.02em}
.profile-text > p{margin-top:18px;font-size:15px;line-height:1.95;color:var(--ink-2)}
.profile-text > p strong{color:var(--ink);font-weight:700;background:linear-gradient(transparent 65%,rgba(11,116,255,.22) 65%);padding:0 2px}
.profile-text .quote{margin-top:24px;padding:20px 24px;background:var(--green-bg);border-left:3px solid var(--green-3);border-radius:0 12px 12px 0;font-size:16px;line-height:1.85;color:var(--ink-2);font-style:italic}
.profile-text .quote::before{content:"\201C";color:var(--green-3);font-size:36px;line-height:0;margin-right:8px;vertical-align:-14px;font-style:normal;font-family:Georgia,serif;font-weight:700}
.profile-text .cred-grid{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:16px 32px;padding-top:24px;border-top:1px solid var(--line)}
.profile-text .cred-grid div b{display:block;font-size:11px;color:var(--blue);font-weight:800;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}
.profile-text .cred-grid div span{font-size:14px;color:var(--ink);font-weight:600;line-height:1.5}
@media (max-width:1080px){
  .profile-block{grid-template-columns:1fr;padding:32px;gap:32px}
  .profile-photo{aspect-ratio:1/1;max-width:400px;margin:0 auto;width:100%}
  .profile-text .cred-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .profile-text .cred-grid{grid-template-columns:1fr}
  .profile-text h3{font-size:26px}
}

/* research stream — 研究室の "今動いていること" 帯 */
.research-stream{background:linear-gradient(180deg,#0E1A36,#142340);color:#fff;padding:10px 24px;border-top:1px solid var(--bg-navy-2);border-bottom:1px solid var(--bg-navy-2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.04em}
.research-stream.hero-inset{margin:40px -24px -40px;border-radius:0;border-top:1px solid var(--bg-navy-2);border-bottom:0}
@media (max-width:1080px){.research-stream.hero-inset{margin:32px -22px -32px}}
.rs-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:center}
.rs-live{color:#5EEAD4;font-weight:800;letter-spacing:.18em;display:inline-flex;align-items:center;gap:8px;text-transform:uppercase}
.rs-pulse{width:7px;height:7px;border-radius:99px;background:#5EEAD4;box-shadow:0 0 0 3px rgba(125,156,255,.18),0 0 10px rgba(125,156,255,.5);animation:rs-pulse 2s ease-in-out infinite;display:inline-block}
@keyframes rs-pulse{0%,100%{opacity:1}50%{opacity:.4}}
.rs-item{color:#C8CDDB;font-weight:600;display:inline-flex;align-items:baseline;gap:4px}
.rs-item b{color:#fff;font-weight:800;letter-spacing:.02em;font-size:13px}
.rs-meta{color:#9AA1B5;letter-spacing:.06em;margin-left:auto;font-size:10px}
@media (max-width:900px){.rs-inner{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap}.rs-meta{margin-left:8px}}

/* logos */
.logos{background:#fff;border-bottom:1px solid var(--line);padding:36px 24px}
.logos-inner{max-width:1200px;margin:0 auto}
.logos-label{text-align:center;font-size:12px;font-weight:700;color:var(--ink-4);letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px}
.logos-grid{display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;gap:24px}
.logos-grid .l{display:inline-flex;align-items:center;gap:8px;font-size:15.5px;font-weight:800;color:var(--ink-3);letter-spacing:-.005em;opacity:.78;transition:.18s}
.logos-grid .l:hover{opacity:1;color:var(--ink)}

/* stats navy */
.stats{background:linear-gradient(180deg,#0E1A36 0%,#142340 100%);color:#fff;padding:80px 24px;border-bottom:1px solid var(--bg-navy-2);position:relative;overflow:hidden}
.stats::before{content:"";position:absolute;top:-200px;right:-100px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(30,91,216,.18),transparent 65%)}
.stats-inner{max-width:1200px;margin:0 auto;position:relative}
.stats-head{text-align:center;margin-bottom:48px}
.stats-head h2{font-size:clamp(26px,3.2vw,38px);font-weight:800;color:#fff;letter-spacing:-.015em;line-height:1.4}
.stats-head h2 .green{color:var(--green-2)}
.stats-head p{margin-top:14px;color:#C8CDDB;font-size:15px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stats-cell{background:rgba(255,255,255,.04);border:1px solid var(--line-d);border-radius:14px;padding:32px 28px;text-align:left;backdrop-filter:blur(8px)}
.stats-cell .k{font-size:12px;color:#9AA1B5;font-weight:700;letter-spacing:.04em}
.stats-cell .v{margin-top:10px;font-size:clamp(40px,4.8vw,60px);font-weight:900;letter-spacing:-.03em;line-height:1;color:#fff;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:6px}
.stats-cell .v small{font-size:.36em;color:var(--green-2);font-weight:800}
.stats-cell .d{margin-top:14px;font-size:13.5px;color:#A8AEC2;line-height:1.7}

/* pains */
.pains{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pains--priority{margin-bottom:18px}
.pain{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px 26px;display:flex;flex-direction:column;gap:14px;transition:.2s}
.pain:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--sh-2)}
/* 優先 3 枚は淡い青で軽くアクセント（静かな知性トーン維持） */
.pain--priority{background:linear-gradient(180deg,rgba(11,116,255,.04),#fff);border-color:var(--blue-bg-2,#D6E4FE)}
.pain--priority:hover{border-color:var(--blue)}
.pain .top{display:flex;align-items:center;justify-content:space-between}
.pain .ic{width:48px;height:48px;border-radius:11px;background:var(--blue-bg);color:var(--blue);display:grid;place-items:center}
.pain .freq{background:var(--orange-bg);color:var(--orange);font-size:11px;font-weight:800;padding:4px 10px;border-radius:99px}
/* 定性ラベル（頻度% の代わり）— 静かなトーン */
.pain .freq--qual{background:var(--bg-2,#F8F9FB);color:var(--ink-3,#4A5572);border:1px solid var(--line);letter-spacing:.01em}
.pain h3{font-size:18px;font-weight:800;color:var(--ink);line-height:1.45}
.pain p{font-size:14.5px;line-height:1.85;color:var(--ink-3)}
.pain .arrow{margin-top:auto;padding-top:14px;border-top:1px solid var(--line-2);font-size:13.5px;color:var(--blue);font-weight:700;display:inline-flex;align-items:center;gap:6px}

/* LEAD MAGNETS — 共通フォーム型（カード選択 → 共通フォーム入力） */
.leadmag-pick{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:1100px;margin:0 auto 32px}
.leadmag-pick-card{background:#fff;border:2px solid var(--line);border-radius:14px;padding:24px 26px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:12px;font-family:inherit;color:inherit;transition:.18s ease;position:relative}
.leadmag-pick-card:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--sh-2)}
.leadmag-pick-card.is-selected{border-color:var(--blue);background:linear-gradient(180deg,rgba(11,116,255,.08),#fff 60%);box-shadow:0 14px 30px -14px rgba(11,116,255,.35),inset 0 0 0 1px var(--blue)}
.leadmag-pick-card.is-selected::after{content:"✓ 選択中";position:absolute;top:10px;right:10px;background:var(--blue);color:#fff;font-size:10.5px;font-weight:800;padding:3px 10px;border-radius:99px;letter-spacing:.04em;box-shadow:0 4px 10px -4px rgba(11,116,255,.45)}
.leadmag-pick-card__badge{font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--blue);background:var(--blue-bg,#EAF1FE);padding:4px 12px;border-radius:99px;width:fit-content}
.leadmag-pick-card__title{font-size:16px;font-weight:800;color:var(--ink);line-height:1.55;letter-spacing:-.005em;margin:0}
.leadmag-pick-card__desc{font-size:13px;line-height:1.85;color:var(--ink-3);margin:0;letter-spacing:.005em}
.leadmag-pick-card__cta{margin-top:auto;padding-top:12px;border-top:1px solid var(--line-2);font-size:13px;font-weight:700;color:var(--blue);display:flex;align-items:center;justify-content:space-between}
.leadmag-pick-card__cta-selected{display:none;color:var(--blue)}
.leadmag-pick-card.is-selected .leadmag-pick-card__cta-default{display:none}
.leadmag-pick-card.is-selected .leadmag-pick-card__cta-selected{display:inline}

.leadmag-form{max-width:680px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px 36px;box-shadow:var(--sh-1)}
.leadmag-form__inner{display:flex;flex-direction:column;gap:18px}
.leadmag-form__head{display:flex;flex-direction:column;gap:8px;padding-bottom:18px;border-bottom:1px solid var(--line-2)}
.leadmag-form__step{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--blue);text-transform:uppercase;background:var(--blue-bg,#EAF1FE);padding:4px 10px;border-radius:99px;width:fit-content}
.leadmag-form__selected{display:flex;flex-direction:column;gap:4px}
.leadmag-form__selected-label{font-size:11.5px;font-weight:700;color:var(--ink-4);letter-spacing:.02em}
.leadmag-form__selected strong{font-size:15px;color:var(--ink);font-weight:800;line-height:1.5}
.leadmag-form__row{display:flex;flex-direction:column;gap:6px}
.leadmag-form__row label{font-size:12px;font-weight:700;color:var(--ink-3);letter-spacing:.02em}
.leadmag-form__row input,.leadmag-form__row textarea{padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;font-size:14.5px;font-family:inherit;background:#fff;transition:.15s ease;resize:vertical}
.leadmag-form__row input:focus,.leadmag-form__row textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,116,255,.12)}
.leadmag-form__submit{padding:14px 28px;background:var(--blue);color:#fff;border:none;border-radius:99px;font-size:15.5px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:inherit;transition:.18s ease;letter-spacing:.02em}
.leadmag-form__submit:hover:not(:disabled){background:var(--blue-3,#0858CC);transform:translateY(-1px);box-shadow:0 12px 28px -10px rgba(11,116,255,.45)}
.leadmag-form__submit:disabled{background:var(--ink-5,#9AA1B5);cursor:not-allowed;opacity:.65}
/* 状態別ラベルの出し分け */
.leadmag-form__submit-ready{display:none;align-items:center;gap:10px}
.leadmag-form__submit:not(:disabled) .leadmag-form__submit-default{display:none}
.leadmag-form__submit:not(:disabled) .leadmag-form__submit-ready{display:inline-flex}
/* 未選択時の選択中ラベルを少し控えめに */
.leadmag-form__selected #ftl-leadmag-selected-title{color:var(--ink)}
.leadmag-form__selected[data-empty="true"] #ftl-leadmag-selected-title,
.leadmag-form__selected:not([data-selected]) #ftl-leadmag-selected-title{color:var(--ink-4);font-weight:500;font-size:13.5px}
.leadmag-form__note{font-size:12px;color:var(--ink-4);line-height:1.85;margin:0;text-align:center}
@media (max-width:900px){
  .leadmag-pick{grid-template-columns:1fr;gap:12px}
  .leadmag-pick-card{padding:20px 22px}
  .leadmag-form{padding:24px 20px}
}

/* WHY — 選ばれる理由 3 カラム（wwd-grid と同構造） */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1200px;margin:0 auto}
.why-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px 28px;display:flex;flex-direction:column;gap:14px;transition:.18s ease}
.why-card:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--sh-2)}
.why-card__num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:800;color:var(--blue);letter-spacing:.08em;background:var(--blue-bg,#EAF1FE);padding:4px 12px;border-radius:99px;width:fit-content}
.why-card h3{font-size:18px;font-weight:800;color:var(--ink);line-height:1.45;letter-spacing:-.005em}
.why-card p{font-size:14px;line-height:1.85;color:var(--ink-3);letter-spacing:.005em}
@media (max-width:900px){
  .why-grid{grid-template-columns:1fr;gap:14px}
  .why-card{padding:24px 22px}
}

/* PROFILE — 代表者プロフィール */
.profile-row{display:grid;grid-template-columns:240px 1fr;gap:36px;align-items:start;max-width:980px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:36px;box-shadow:var(--sh-1)}
.profile-photo{width:240px;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:var(--bg-2);display:grid;place-items:center}
.profile-photo img{width:100%;height:100%;object-fit:cover;display:block}
.profile-photo__placeholder{color:var(--ink-5);display:grid;place-items:center;width:100%;height:100%}
.profile-photo__placeholder--brand{padding:0;background:none}
.profile-photo__placeholder--brand svg{display:block;width:100%;height:100%}
.profile-text h3{font-size:20px;font-weight:800;color:var(--ink);margin-bottom:14px;letter-spacing:-.005em}
.profile-text__lead{font-size:14.5px;line-height:1.95;color:var(--ink-2);margin-bottom:18px}
.profile-text__list{list-style:none;display:flex;flex-direction:column;gap:8px;padding:0;margin:0;border-top:1px solid var(--line-2);padding-top:18px}
.profile-text__list li{font-size:13.5px;color:var(--ink-2);padding-left:20px;position:relative;line-height:1.7}
.profile-text__list li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:2px;background:var(--blue);border-radius:99px}
@media (max-width:760px){
  .profile-row{grid-template-columns:1fr;padding:24px;gap:24px}
  .profile-photo{width:160px;justify-self:center}
}

/* SERVICES — 6 ステップ用（4カラム → 3カラム × 2行） */
.steps-grid--6{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.steps-grid--6{grid-template-columns:1fr}}

/* FLOW — ご相談の流れ（6ステップ・縦並び型） */
.flow-steps{list-style:none;max-width:880px;margin:0 auto;padding:0;display:flex;flex-direction:column;gap:14px;counter-reset:flow-step}
.flow-step{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 26px;display:grid;grid-template-columns:120px 1fr;gap:8px 22px;align-items:start;transition:.18s ease}
.flow-step:hover{border-color:var(--blue);box-shadow:var(--sh-1)}
.flow-step__num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:800;color:var(--blue);background:var(--blue-bg,#EAF1FE);padding:5px 12px;border-radius:99px;letter-spacing:.08em;width:fit-content;height:fit-content}
.flow-step h3{grid-column:2;font-size:17px;font-weight:800;color:var(--ink);letter-spacing:-.005em;margin:0;line-height:1.45}
.flow-step p{grid-column:2;font-size:14px;line-height:1.85;color:var(--ink-3);margin:0;letter-spacing:.005em}
@media (max-width:720px){
  .flow-step{grid-template-columns:1fr;gap:8px;padding:18px 20px}
  .flow-step h3,.flow-step p{grid-column:1}
}

/* PRICING — 料金の考え方（人件費比較軸の月額目安・安売り感を出さない） */
.pricing-thinking{background:#fff;border:1px solid var(--line);border-radius:18px;padding:36px 40px;max-width:1000px;margin:0 auto;box-shadow:var(--sh-1)}
.pricing-thinking__row{display:flex;flex-direction:column;gap:18px}
.pricing-thinking__tag{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;font-weight:800;letter-spacing:.14em;color:var(--blue);text-transform:uppercase;background:var(--blue-bg,#EAF1FE);padding:6px 14px;border-radius:99px;width:fit-content}
.pricing-thinking__plans{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.pricing-thinking__plans li{display:grid;grid-template-columns:1fr auto;align-items:start;gap:14px 24px;padding:18px 22px;background:var(--bg-2,#F8F9FB);border:1px solid var(--line-2);border-radius:12px;transition:.18s ease}
.pricing-thinking__plans li.is-recommended{background:linear-gradient(180deg,rgba(11,116,255,.05),#fff);border-color:var(--blue-bg-2,#D6E4FE);position:relative}
.pricing-thinking__plans li.is-recommended::before{content:"★ よく選ばれます";position:absolute;top:-10px;left:18px;background:var(--blue);color:#fff;font-size:10.5px;font-weight:800;padding:3px 10px;border-radius:99px;letter-spacing:.04em}
.pricing-thinking__band{font-size:15.5px;font-weight:800;color:var(--ink);letter-spacing:-.005em}
.pricing-thinking__price{font-size:17px;font-weight:900;color:var(--blue);letter-spacing:-.01em;justify-self:end;white-space:nowrap}
.pricing-thinking__plans .pricing-thinking__note{grid-column:1/-1;font-size:13px;color:var(--ink-3);line-height:1.75;margin:0;letter-spacing:.005em}
.pricing-thinking__caption{margin:22px 0 0;font-size:13px;color:var(--ink-4);line-height:1.85;text-align:center}
.pricing-cta{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:32px}
@media (max-width:720px){
  .pricing-thinking{padding:24px 18px}
  .pricing-thinking__plans li{grid-template-columns:1fr;padding:16px}
  .pricing-thinking__price{justify-self:start}
}

/* SERVICES — 4 ステップ進め方 */
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1200px;margin:0 auto;list-style:none;padding:0;counter-reset:step}
.step-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px 24px;display:flex;flex-direction:column;gap:12px;transition:.18s ease;position:relative}
.step-card:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--sh-2)}
.step-card__num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:800;color:var(--blue);letter-spacing:.08em;background:var(--blue-bg,#EAF1FE);padding:4px 12px;border-radius:99px;width:fit-content}
.step-card h3{font-size:17px;font-weight:800;color:var(--ink);line-height:1.45}
.step-card p{font-size:13.5px;line-height:1.85;color:var(--ink-3);letter-spacing:.005em}
@media (max-width:900px){
  .steps-grid{grid-template-columns:1fr;gap:14px}
  .step-card{padding:22px 22px}
}

/* INDUSTRIES — 業種別カード（4業種・公式サイト用） */
.industries-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:1200px;margin:0 auto}
.industry-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px 32px;display:flex;flex-direction:column;gap:18px;transition:.18s ease}
.industry-card:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--sh-2)}
.industry-card--lp{border-color:var(--blue-bg-2,#D6E4FE);background:linear-gradient(180deg,rgba(11,116,255,.025),#fff)}
.industry-card--lp:hover{border-color:var(--blue)}
.industry-card__head{display:flex;align-items:flex-start;gap:14px}
.industry-card__emoji{font-size:32px;line-height:1;display:inline-grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--bg-2);border:1px solid var(--line);flex-shrink:0}
.industry-card__title{font-size:18px;font-weight:800;color:var(--ink);line-height:1.4;letter-spacing:-.005em;margin:0}
.industry-card__sub{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:var(--blue);font-weight:700;letter-spacing:.04em;margin:4px 0 0}
.industry-card__desc{font-size:14px;line-height:1.85;color:var(--ink-2);letter-spacing:.005em;margin:0}
.industry-card__tasks{display:flex;flex-direction:column;gap:8px;padding:14px 18px;background:var(--bg-2,#F8F9FB);border-radius:10px;border:1px solid var(--line-2)}
.industry-card__tasks-label{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;font-weight:800;letter-spacing:.12em;color:var(--ink-4);text-transform:uppercase;display:inline-flex;align-items:center;gap:6px}
.industry-card__tasks-label::before{content:"";width:14px;height:1.5px;background:var(--blue);border-radius:99px;display:inline-block}
.industry-card__tasks ul{list-style:none;display:flex;flex-direction:column;gap:5px;padding:0;margin:0}
.industry-card__tasks li{font-size:13px;color:var(--ink-2);line-height:1.65;padding-left:14px;position:relative}
.industry-card__tasks li::before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:99px;background:var(--blue);opacity:.7}
.industry-card__cta{margin-top:auto;display:inline-flex;align-items:center;gap:8px;padding:11px 18px;background:var(--blue);color:#fff;border-radius:99px;font-size:13.5px;font-weight:700;width:fit-content;text-decoration:none;transition:.15s ease;letter-spacing:.005em}
.industry-card__cta:hover{background:var(--blue-3,#0858CC);transform:translateY(-1px);box-shadow:0 8px 20px -6px rgba(11,116,255,.35)}
.industry-card__cta svg{transition:transform .2s ease}
.industry-card__cta:hover svg{transform:translateX(3px)}
@media (max-width:900px){
  .industries-grid{grid-template-columns:1fr;gap:14px}
  .industry-card{padding:22px 22px}
  .industry-card__head{align-items:center}
  .industry-card__emoji{width:42px;height:42px;font-size:26px}
  .industry-card__title{font-size:16.5px}
}

/* WHAT WE DO（Flow Tech Lab ができること）— 3カラム */
.wwd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1200px;margin:0 auto}
.wwd-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px 28px;display:flex;flex-direction:column;gap:14px;transition:.18s ease}
.wwd-card:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--sh-2)}
.wwd-card__num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:800;color:var(--blue);letter-spacing:.08em;background:var(--blue-bg,#EAF1FE);padding:4px 12px;border-radius:99px;width:fit-content}
.wwd-card h3{font-size:18px;font-weight:800;color:var(--ink);line-height:1.45;letter-spacing:-.005em}
.wwd-card p{font-size:14px;line-height:1.85;color:var(--ink-3);letter-spacing:.005em}
@media (max-width:900px){
  .wwd-grid{grid-template-columns:1fr;gap:14px}
  .wwd-card{padding:24px 22px}
}

/* PAINS アコーディオン：「具体的な減らし方を見る」ボタンと展開 */
.pain-expand-btn{
  margin-top:auto;
  padding:14px 0 0;
  border:none;
  border-top:1px solid var(--line-2);
  background:transparent;
  color:var(--blue);
  font-family:inherit;
  font-size:13.5px;
  font-weight:700;
  cursor:pointer;
  text-align:left;
  display:flex;
  align-items:center;
  gap:6px;
  transition:.15s ease;
}
.pain-expand-btn:hover{color:var(--blue-3,#0858CC)}
.pain-expand-btn__less{display:none}
.pain-expand-btn[aria-expanded="true"] .pain-expand-btn__more{display:none}
.pain-expand-btn[aria-expanded="true"] .pain-expand-btn__less{display:inline}

.pain-detail{
  margin-top:14px;
  padding:14px 0 0;
  border-top:1px dashed var(--line);
  animation:painDetailFade .25s ease-out;
}
@keyframes painDetailFade{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:translateY(0)}
}
.pain-detail ul{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:9px;
  padding:0;
  margin:0;
}
.pain-detail li{
  font-size:13px;
  line-height:1.7;
  color:var(--ink-2);
  padding-left:18px;
  position:relative;
  letter-spacing:.005em;
}
.pain-detail li::before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  width:6px;
  height:6px;
  border-radius:99px;
  background:var(--blue);
}
/* 展開中のカードは軽く青枠で示す（静かな知性トーン） */
.pain:has(.pain-expand-btn[aria-expanded="true"]){border-color:var(--blue-bg-2,#D6E4FE);box-shadow:var(--sh-1)}

/* PAINS 展開ボタン（スマホでのみ表示） */
.pains-expand{display:none;margin:24px auto 0;background:#fff;color:var(--blue);border:1.5px solid var(--blue-bg-2,#D6E4FE);padding:13px 24px;border-radius:99px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;align-items:center;justify-content:center;gap:8px;transition:.18s ease}
.pains-expand:hover{border-color:var(--blue);background:var(--blue-bg,#EAF1FE)}
.pains-expand__label-less{display:none}
.pains-expand.is-open .pains-expand__label-more{display:none}
.pains-expand.is-open .pains-expand__label-less{display:inline}
.pains-expand__chevron{transition:transform .2s ease}
.pains-expand.is-open .pains-expand__chevron{transform:rotate(180deg)}
@media (max-width:900px){
  .pains-expand{display:inline-flex}
  /* スマホ：残り 6 枚を初期非表示。展開ボタンで is-open を付与して表示 */
  .pains--secondary{display:none}
  .pains--secondary.is-open{display:grid}
}

/* svc cards */
.svc-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.svc-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px;display:grid;grid-template-columns:auto 1fr;gap:24px;transition:.2s;position:relative;overflow:hidden}
.svc-card:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--sh-2)}
.svc-card.featured{background:linear-gradient(135deg,var(--blue-bg) 0%,#fff 60%);border-color:var(--blue-bg-2)}
.svc-card.featured::before{content:"いちばん人気";position:absolute;top:14px;right:14px;background:var(--green);color:#fff;font-size:11px;font-weight:800;padding:4px 12px;border-radius:99px;letter-spacing:.02em}
.svc-card .ic{width:60px;height:60px;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--blue-3));color:#fff;display:grid;place-items:center;flex-shrink:0;box-shadow:0 8px 20px -6px rgba(30,91,216,.4)}
.svc-card.featured .ic{background:linear-gradient(135deg,var(--green),var(--green-3));box-shadow:0 8px 20px -6px rgba(11,116,255,.45)}
.svc-card h3{font-size:21px;font-weight:800;color:var(--ink);letter-spacing:-.01em;line-height:1.3;margin-bottom:8px}
.svc-card .sub{font-size:13px;color:var(--blue);font-weight:700;margin-bottom:12px}
.svc-card.featured .sub{color:var(--green-3)}
.svc-card .desc{font-size:14.5px;line-height:1.85;color:var(--ink-3)}
.svc-card .price-row{margin-top:18px;padding-top:16px;border-top:1px dashed var(--line);display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:8px}
.svc-card .price-row .term{font-size:12px;color:var(--ink-4);font-weight:600}
.svc-card .price-row .price{font-size:22px;font-weight:900;color:var(--ink);letter-spacing:-.015em;line-height:1}
.svc-card .price-row .price small{font-size:13px;font-weight:700;color:var(--ink-3);margin-left:3px}

/* feat */
.feat{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center;margin-bottom:96px}
.feat:last-child{margin-bottom:0}
.feat.reverse{grid-template-columns:1.05fr 1fr}
.feat.reverse .feat-text{order:2}
.feat.reverse .feat-visual{order:1}
.feat-text .num{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:800;letter-spacing:.04em;color:var(--blue);background:var(--blue-bg);padding:6px 14px;border-radius:99px;margin-bottom:18px}
.feat-text .num b{font-size:11px;background:var(--blue);color:#fff;padding:2px 8px;border-radius:99px}
.feat-text h3{font-size:clamp(26px,3vw,36px);line-height:1.3;letter-spacing:-.015em;font-weight:800;color:var(--ink)}
.feat-text h3 .green{color:var(--green-3)}
.feat-text h3 .blue{color:var(--blue)}
.feat-text h3 .u{background:linear-gradient(transparent 65%,rgba(11,116,255,.28) 65%);padding:0 4px}
.feat-text > p{margin-top:18px;font-size:15.5px;line-height:1.95;color:var(--ink-3)}
.feat-text > p strong{color:var(--ink);font-weight:700}
.feat-bullets{margin-top:24px;display:flex;flex-direction:column;gap:14px}
.feat-bullets li{list-style:none;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:flex-start;padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:10px}
.feat-bullets li .ic{width:32px;height:32px;border-radius:8px;background:var(--green-bg);color:var(--green-3);display:grid;place-items:center;flex-shrink:0}
.feat-bullets li b{display:block;font-size:14.5px;font-weight:800;color:var(--ink);margin-bottom:2px}
.feat-bullets li p{font-size:13px;color:var(--ink-3);line-height:1.7;margin:0}
.feat-cta{margin-top:28px;display:flex;gap:10px;flex-wrap:wrap}

/* mockup */
.mockup{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 20px 50px -20px rgba(14,26,54,.16),0 8px 16px -8px rgba(14,26,54,.10)}
.mockup-bar{background:var(--bg-2);border-bottom:1px solid var(--line);padding:11px 16px;display:flex;align-items:center;gap:12px}
.mockup-bar .dots{display:flex;gap:5px}
.mockup-bar .dots i{width:8px;height:8px;border-radius:99px;background:#D5D8DD}
.mockup-bar .ttl{font-size:12px;color:var(--ink-4);font-weight:600}
.mockup-body{padding:24px;background:linear-gradient(180deg,#fff,#FAFBFD);min-height:340px}
.mock-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:18px}
.mock-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px}
.mock-card .k{font-size:11px;color:var(--ink-4);font-weight:600}
.mock-card .v{font-size:24px;font-weight:900;color:var(--ink);letter-spacing:-.02em;margin-top:4px}
.mock-card .v.green{color:var(--green-3)}
.mock-card .v.blue{color:var(--blue)}
.mock-list{display:flex;flex-direction:column;gap:8px}
.mock-list .item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.mock-list .ic{width:28px;height:28px;border-radius:7px;background:var(--blue-bg);color:var(--blue);display:grid;place-items:center;flex-shrink:0}
.mock-list .ic.green{background:var(--green-bg);color:var(--green-3)}
.mock-list .info b{display:block;font-size:13px;font-weight:700;color:var(--ink)}
.mock-list .info span{font-size:11.5px;color:var(--ink-4);font-weight:500}
.mock-list .badge-mini{font-size:10.5px;font-weight:800;padding:3px 9px;border-radius:99px;letter-spacing:.04em}
.mock-list .badge-mini.ok{background:var(--green-bg);color:var(--green-3)}
.mock-list .badge-mini.run{background:var(--orange-bg);color:var(--orange)}
.mock-chart{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px}
.mock-chart .ttl{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:12.5px;font-weight:700;color:var(--ink-2)}
.mock-chart .ttl span{color:var(--green-3);font-weight:800;font-size:13px}
.mock-bar{display:grid;grid-template-columns:60px 1fr 36px;gap:10px;align-items:center;font-size:11px;margin-bottom:8px}
.mock-bar .l{color:var(--ink-3);font-weight:600}
.mock-bar .bar{height:10px;background:var(--bg-3);border-radius:99px;overflow:hidden}
.mock-bar .bar i{display:block;height:100%;border-radius:99px}
.mock-bar .v{text-align:right;font-weight:800;color:var(--ink);font-size:12px}

/* compare */
.compare{max-width:1080px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--sh-1)}
.compare table{width:100%;border-collapse:collapse}
.compare thead th{background:var(--bg-navy);color:#fff;padding:18px 14px;font-size:14px;font-weight:700;text-align:center}
.compare thead th:first-child{background:var(--bg-navy-2);text-align:left;padding-left:24px;font-size:12px;color:#A8AEC2;text-transform:uppercase;letter-spacing:.08em}
.compare thead th.us{background:linear-gradient(180deg,#1E5BD8,#1948B0);position:relative}
.compare thead th.us::before{content:"BEST";position:absolute;top:-8px;left:50%;transform:translateX(-50%);background:var(--green);font-size:10px;font-weight:900;padding:2px 10px;border-radius:99px;letter-spacing:.06em}
.compare thead th .sub{display:block;font-size:11px;color:rgba(255,255,255,.6);font-weight:500;margin-top:2px}
.compare tbody tr{border-bottom:1px solid var(--line-2)}
.compare tbody tr:last-child{border-bottom:0}
.compare tbody tr:hover{background:var(--bg-2)}
.compare tbody td{padding:18px 14px;font-size:14px;text-align:center;color:var(--ink-2)}
.compare tbody td:first-child{text-align:left;padding-left:24px;font-weight:700;color:var(--ink)}
.compare tbody td.us{background:rgba(30,91,216,.04);font-weight:700;color:var(--ink);position:relative}
.compare tbody td .mark-o{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:99px;background:var(--green-bg);color:var(--green-3);font-size:18px;font-weight:900}
.compare tbody td .mark-x{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:99px;background:var(--rose-bg);color:var(--rose);font-size:14px;font-weight:900}
.compare tbody td .mark-t{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:99px;background:var(--orange-bg);color:var(--orange);font-size:14px;font-weight:900}
.compare tbody td .note{display:block;font-size:11.5px;color:var(--ink-4);font-weight:500;margin-top:4px}

/* inds */
.inds{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ind{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px 18px;text-align:center;transition:.18s}
.ind:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--sh-2)}
.ind .ic{width:54px;height:54px;border-radius:13px;margin:0 auto 14px;background:linear-gradient(135deg,var(--blue-bg),var(--blue-bg-2));color:var(--blue);display:grid;place-items:center}
.ind h3{font-size:15.5px;font-weight:800;color:var(--ink);margin-bottom:6px}
.ind p{font-size:12.5px;color:var(--ink-4);line-height:1.65}

/* cases */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.case{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.case:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:var(--sh-2)}
.case-thumb{position:relative;aspect-ratio:16/9;overflow:hidden}
.case-thumb.t1{background:linear-gradient(135deg,#1E5BD8 0%,#142340 100%)}
.case-thumb.t2{background:linear-gradient(135deg,#0B74FF 0%,#0E1A36 100%)}
.case-thumb.t3{background:linear-gradient(135deg,#142340 0%,#0E1A36 100%)}
.case-thumb.t4{background:linear-gradient(135deg,#1948B0 0%,#1E5BD8 100%)}
.case-thumb.t5{background:linear-gradient(135deg,#0E1A36 0%,#1948B0 100%)}
.case-thumb.t6{background:linear-gradient(135deg,#0858CC 0%,#142340 100%)}
.case-thumb::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.18) 1.2px,transparent 1.2px);background-size:18px 18px}
.case-thumb .badge{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);font-size:12px;font-weight:800;color:var(--ink);padding:5px 12px;border-radius:99px}
.case-thumb .ph-tag{position:absolute;top:14px;right:14px;background:rgba(0,0,0,.32);color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;letter-spacing:.06em;backdrop-filter:blur(4px)}
.case-thumb .dh{position:absolute;left:18px;bottom:18px;color:#fff}
.case-thumb .dh .k{font-size:11px;color:rgba(255,255,255,.7);font-weight:700;letter-spacing:.04em}
.case-thumb .dh .v{font-size:36px;font-weight:900;letter-spacing:-.025em;line-height:1;display:flex;align-items:baseline;gap:4px;margin-top:4px}
.case-thumb .dh .v small{font-size:13px;color:#A0F4D6;font-weight:700}
.case-thumb .ar{position:absolute;right:18px;bottom:18px;color:rgba(255,255,255,.7);font-size:12px;font-weight:700;display:flex;align-items:baseline;gap:5px}
.case-thumb .ar b{color:#fff;font-size:18px;font-weight:900;letter-spacing:-.015em}
.case-body{padding:18px 22px 12px;flex:1;display:flex;flex-direction:column;gap:10px}
.case-body .meta{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink-4);font-weight:600}
.case-body .meta b{color:var(--blue)}
.case-body h3{font-size:17px;font-weight:800;color:var(--ink);line-height:1.5}
.case-body p{font-size:13.5px;color:var(--ink-3);line-height:1.7}
.case-body .tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto;padding-top:8px}
.case-body .tags span{font-size:11px;color:var(--ink-3);font-weight:600;background:var(--bg-2);border:1px solid var(--line);padding:2px 8px;border-radius:99px}
.case-foot{padding:12px 22px;border-top:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:center}
.case-foot a{font-size:13.5px;font-weight:700;color:var(--blue);display:inline-flex;align-items:center;gap:5px}
.case-foot .stat{font-size:11px;color:var(--green-3);font-weight:800;display:inline-flex;align-items:center;gap:5px}
.case-foot .stat::before{content:"";width:6px;height:6px;border-radius:99px;background:var(--green)}
.cases-more{margin-top:36px;text-align:center}

/* testis */
.testis{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.testi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px 28px;display:flex;flex-direction:column;gap:18px;transition:.2s;position:relative}
.testi:hover{border-color:var(--blue);box-shadow:var(--sh-2)}
.testi::before{content:"\201C";position:absolute;top:14px;right:24px;font-family:Georgia,serif;font-size:80px;line-height:1;color:var(--blue-bg);font-weight:700}
.testi .stars{display:flex;gap:2px;color:#F5A524;font-size:18px}
.testi .body{font-size:14.5px;line-height:1.95;color:var(--ink-2);font-weight:500;flex:1}
.testi .body b{color:var(--ink);font-weight:700;background:linear-gradient(transparent 65%,rgba(11,116,255,.22) 65%)}
.testi .by{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid var(--line-2)}
.testi .avatar{width:48px;height:48px;border-radius:99px;display:grid;place-items:center;font-weight:900;font-size:17px;color:#fff;letter-spacing:-.02em;flex-shrink:0;position:relative;overflow:hidden}
.testi .avatar.a1{background:linear-gradient(135deg,#1E5BD8,#1948B0)}
.testi .avatar.a2{background:linear-gradient(135deg,#0B74FF,#0858CC)}
.testi .avatar.a3{background:linear-gradient(135deg,#F08C2E,#D97706)}
.testi .avatar::after{content:"PHOTO";position:absolute;inset:0;display:grid;place-items:center;font-size:8px;color:rgba(255,255,255,.4);font-weight:600;letter-spacing:.1em;pointer-events:none}
.testi .by .info b{display:block;font-size:14px;font-weight:800;color:var(--ink);letter-spacing:-.005em}
.testi .by .info span{display:block;font-size:12px;color:var(--ink-4);font-weight:500;margin-top:2px}
.testi .metric{margin-top:8px;padding:10px 14px;background:var(--green-bg);border:1px solid var(--green-bg-2);border-radius:9px;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--green-3);font-weight:700}
.testi .metric b{font-size:18px;font-weight:900;letter-spacing:-.01em}

/* why */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.why-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px;position:relative;transition:.2s}
.why-card:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--sh-2)}
.why-card .num{position:absolute;top:24px;right:28px;font-size:60px;font-weight:900;color:var(--blue-bg);letter-spacing:-.04em;line-height:1}
.why-card .ic{width:54px;height:54px;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--blue-3));color:#fff;display:grid;place-items:center;margin-bottom:18px;box-shadow:0 8px 18px -6px rgba(30,91,216,.4)}
.why-card h3{font-size:19px;font-weight:800;color:var(--ink);line-height:1.45;margin-bottom:14px}
.why-card p{font-size:14px;color:var(--ink-3);line-height:1.85}
.why-card .stat-mini{margin-top:18px;padding-top:18px;border-top:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:baseline}
.why-card .stat-mini b{font-size:24px;font-weight:900;color:var(--green-3);letter-spacing:-.02em}
.why-card .stat-mini b small{font-size:12px;color:var(--green-3);font-weight:700;margin-left:3px}
.why-card .stat-mini span{font-size:11.5px;color:var(--ink-4);font-weight:600}

/* pricing */
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.plan{background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px 32px;display:flex;flex-direction:column;gap:18px;position:relative;transition:.2s}
.plan:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}
.plan.popular{border:2px solid var(--blue);box-shadow:0 20px 50px -20px rgba(30,91,216,.30)}
.plan.popular::before{content:"いちばん人気";position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;font-size:11px;font-weight:900;padding:5px 14px;border-radius:99px;letter-spacing:.04em;box-shadow:var(--sh-cta)}
.plan h3{font-size:20px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.plan .desc{font-size:13.5px;color:var(--ink-3);line-height:1.7}
.plan .price{display:flex;align-items:baseline;gap:6px;padding:14px 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);margin:6px 0}
.plan .price .v{font-size:36px;font-weight:900;color:var(--ink);letter-spacing:-.02em;line-height:1}
.plan.popular .price .v{color:var(--blue)}
.plan .price .term{font-size:12.5px;color:var(--ink-4);font-weight:600}
.plan .price .from{font-size:11px;color:var(--ink-4);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.plan ul{list-style:none;display:flex;flex-direction:column;gap:8px;flex:1}
.plan ul li{font-size:13.5px;color:var(--ink-2);display:flex;align-items:flex-start;gap:10px;line-height:1.6}
.plan ul li::before{content:"";flex-shrink:0;width:18px;height:18px;border-radius:99px;background:var(--green-bg);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300B981' stroke-width='3'><polyline points='5 12 10 17 19 8'/></svg>");background-size:11px 11px;background-position:center;background-repeat:no-repeat;margin-top:3px}
.plan ul li.dim{color:var(--ink-5)}
.plan ul li.dim::before{background:var(--bg-3);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239AA1B5' stroke-width='3'><line x1='5' y1='12' x2='19' y2='12'/></svg>")}
.plan .btn{margin-top:8px}

/* ===== FTL Lead Form（業種別 資料 DL） ===== */
.ftl-lead-form{display:flex;flex-direction:column;gap:12px;padding:14px 0 0;border-top:1px solid var(--line-2)}
.ftl-lead-form__resource{padding:10px 14px;background:var(--blue-bg-2,#EAF1FE);border-radius:10px;margin-bottom:4px}
.ftl-lead-form__resource .ftl-lead-form__label{display:block;font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--blue);margin-bottom:4px;text-transform:uppercase}
.ftl-lead-form__resource strong{font-size:14px;color:var(--ink);font-weight:800;line-height:1.5}
.ftl-lead-form__row{display:flex;flex-direction:column;gap:6px}
.ftl-lead-form__row label{font-size:11.5px;font-weight:700;color:var(--ink-3);letter-spacing:.02em}
.ftl-lead-form__row input,
.ftl-lead-form__row select{padding:11px 14px;border:1.5px solid var(--line);border-radius:10px;font-size:14px;font-family:inherit;background:#fff;transition:.15s ease}
.ftl-lead-form__row input:focus,
.ftl-lead-form__row select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,116,255,.12)}
.ftl-lead-form__btn{padding:13px 24px;background:var(--blue);color:#fff;border:none;border-radius:99px;font-size:14.5px;font-weight:800;cursor:pointer;transition:.15s ease;letter-spacing:.02em}
.ftl-lead-form__btn:hover{background:var(--blue-3,#0858CC);transform:translateY(-1px);box-shadow:var(--sh-cta)}
.ftl-lead-form__note{font-size:11.5px;color:var(--ink-4);line-height:1.65;margin:4px 0 0}

/* 業種別 LP 内の資料カード */
.ftl-resource-card{max-width:520px;margin:32px auto 0;background:#fff;border:1px solid var(--line,#E4E7EE);border-radius:18px;padding:32px;box-shadow:0 12px 30px -16px rgba(11,116,255,.18)}

/* リードマグネット ガイド本文（業種別） */
.leadmag-grid--industries .lm-body-desc{font-size:13.5px;color:var(--ink-3);line-height:1.75;margin:0 0 14px}

/* pricing — 人件費比較表 */
.pricing-compare{margin-top:48px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 32px;box-shadow:var(--sh-1)}
.pricing-compare h4{font-size:15px;font-weight:800;color:var(--ink);margin-bottom:18px;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
.pricing-compare h4::before{content:"";display:inline-block;width:4px;height:18px;background:var(--blue);border-radius:2px}
.pricing-compare-table{width:100%;border-collapse:collapse;font-size:13.5px}
.pricing-compare-table thead th{text-align:left;padding:10px 14px;background:var(--bg-2);color:var(--ink-3);font-weight:800;font-size:12px;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--line-2)}
.pricing-compare-table thead th:nth-child(3){color:var(--blue)}
.pricing-compare-table tbody td{padding:14px;border-bottom:1px solid var(--line-2);vertical-align:top;color:var(--ink-2);line-height:1.7}
.pricing-compare-table tbody td:first-child{font-weight:700;color:var(--ink);width:25%}
.pricing-compare-table tbody td:nth-child(3){background:rgba(11,116,255,.04);font-weight:600}
.pricing-compare-table tbody td small{display:block;color:var(--ink-4);font-size:11.5px;font-weight:500;margin-top:4px}
.pricing-compare-table tbody td strong{color:var(--blue);font-size:16px;font-weight:900}
.pricing-compare-note{margin-top:14px;font-size:12px;color:var(--ink-4);line-height:1.6}
@media (max-width:720px){
  .pricing-compare{padding:20px}
  .pricing-compare-table{font-size:12.5px}
  .pricing-compare-table tbody td{padding:10px 8px}
  .pricing-compare-table tbody td:first-child{width:30%}
}

/* flow */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.flow-step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px 24px;display:flex;flex-direction:column;gap:14px;transition:.2s;position:relative}
.flow-step:hover{border-color:var(--blue);box-shadow:var(--sh-2)}
.flow-step .num{width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,var(--blue),var(--blue-3));color:#fff;display:grid;place-items:center;font-size:17px;font-weight:900;box-shadow:0 6px 14px -4px rgba(30,91,216,.4)}
.flow-step h3{font-size:17px;font-weight:800;color:var(--ink);line-height:1.4}
.flow-step p{font-size:13.5px;line-height:1.85;color:var(--ink-3)}
.flow-step .when{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--green-3);font-weight:800;background:var(--green-bg);padding:5px 11px;border-radius:99px;width:fit-content}
.flow-step .when.gray{color:var(--ink-4);background:var(--bg-3)}

/* sec-badges */
.sec-badges{background:#fff;padding:48px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-badges-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:240px 1fr;gap:48px;align-items:center}
.sec-badges-text h3{font-size:20px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.sec-badges-text h3 .blue{color:var(--blue)}
.sec-badges-text p{margin-top:8px;font-size:14px;color:var(--ink-3);line-height:1.7}
.sec-badges-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sec-badge{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;align-items:center;gap:12px;transition:.18s}
.sec-badge:hover{background:#fff;border-color:var(--blue);box-shadow:var(--sh-1)}
.sec-badge .ic{width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,var(--blue-bg),var(--blue-bg-2));color:var(--blue);display:grid;place-items:center;flex-shrink:0}
.sec-badge .info b{display:block;font-size:13.5px;font-weight:800;color:var(--ink);letter-spacing:-.005em}
.sec-badge .info span{display:block;font-size:11px;color:var(--ink-4);font-weight:600;margin-top:2px}

/* dl */
.dl{background:#fff;border:1px solid var(--line);border-radius:18px;padding:48px;display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;box-shadow:var(--sh-2)}
.dl-text .label{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--blue);background:var(--blue-bg);padding:5px 12px;border-radius:99px;margin-bottom:14px}
.dl-text h3{font-size:clamp(24px,2.6vw,32px);font-weight:800;color:var(--ink);letter-spacing:-.015em;line-height:1.3}
.dl-text p{margin-top:14px;font-size:15px;line-height:1.85;color:var(--ink-3)}
.dl-text ul{margin-top:18px;display:flex;flex-direction:column;gap:8px}
.dl-text ul li{list-style:none;font-size:14px;color:var(--ink-2);font-weight:600;display:flex;align-items:center;gap:10px}
.dl-text ul li::before{content:"";width:20px;height:20px;border-radius:99px;background:var(--green-bg);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300B981' stroke-width='3'><polyline points='5 12 10 17 19 8'/></svg>");background-size:12px 12px;background-position:center;background-repeat:no-repeat;flex-shrink:0}
.dl-text .actions{margin-top:24px;display:flex;gap:10px;flex-wrap:wrap}
.dl-cover{position:relative;aspect-ratio:1/1.2;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#1E5BD8 0%,#1948B0 100%);box-shadow:0 30px 70px -30px rgba(30,91,216,.5);transform:rotate(-2deg)}
.dl-cover::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.16) 1.2px,transparent 1.2px);background-size:18px 18px}
.dl-cover .badge{position:absolute;top:18px;right:18px;background:var(--green);color:#fff;font-size:11px;font-weight:800;padding:4px 10px;border-radius:99px}
.dl-cover .ttl{position:absolute;left:24px;bottom:80px;color:#fff}
.dl-cover .ttl small{font-size:12px;font-weight:700;color:rgba(255,255,255,.7);letter-spacing:.04em;text-transform:uppercase;display:block;margin-bottom:8px}
.dl-cover .ttl b{font-size:24px;font-weight:900;letter-spacing:-.015em;line-height:1.3;display:block}
.dl-cover .corner{position:absolute;left:24px;bottom:24px;color:rgba(255,255,255,.7);font-size:11px;font-weight:700;letter-spacing:.06em}

/* news */
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.news-item{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.news-item:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--sh-2)}
.news-thumb{aspect-ratio:16/9;position:relative;overflow:hidden}
.news-thumb.n1{background:linear-gradient(135deg,#1E5BD8 0%,#3470E4 100%)}
.news-thumb.n2{background:linear-gradient(135deg,#0B74FF 0%,#3D90FF 100%)}
.news-thumb.n3{background:linear-gradient(135deg,#142340 0%,#1E5BD8 100%)}
.news-thumb::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.18) 1.2px,transparent 1.2px);background-size:18px 18px}
.news-thumb .ph-tag{position:absolute;top:12px;right:12px;background:rgba(0,0,0,.3);color:#fff;font-size:9.5px;font-weight:700;padding:3px 7px;border-radius:4px;letter-spacing:.06em;backdrop-filter:blur(4px)}
.news-thumb .cat{position:absolute;left:14px;bottom:14px;background:#fff;color:var(--ink);font-size:11.5px;font-weight:800;padding:4px 10px;border-radius:99px}
.news-body{padding:18px 22px;flex:1;display:flex;flex-direction:column;gap:8px}
.news-body .date{font-size:11.5px;color:var(--ink-4);font-weight:700;letter-spacing:.04em}
.news-body h3{font-size:16px;font-weight:800;color:var(--ink);line-height:1.55;letter-spacing:-.005em}
.news-body p{font-size:13px;color:var(--ink-3);line-height:1.7}
.news-body .read{margin-top:auto;padding-top:8px;font-size:13px;font-weight:700;color:var(--blue);display:inline-flex;align-items:center;gap:5px}

/* faq */
.faq{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
details.q{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:.18s}
details.q[open]{border-color:var(--blue);box-shadow:var(--sh-2)}
details.q summary{list-style:none;cursor:pointer;padding:22px 26px;display:flex;align-items:flex-start;gap:14px;font-weight:700;font-size:16px;color:var(--ink)}
details.q summary::-webkit-details-marker{display:none}
details.q summary .qmark{flex-shrink:0;width:32px;height:32px;border-radius:8px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:14px;font-weight:900}
details.q summary .ic{margin-left:auto;flex-shrink:0;width:24px;height:24px;display:grid;place-items:center;color:var(--ink-3);font-size:18px;font-weight:600;line-height:1;transition:transform .25s}
details.q[open] summary .ic{transform:rotate(45deg);color:var(--blue)}
details.q .ans{padding:0 26px 24px 72px;color:var(--ink-2);font-size:15px;line-height:1.95}

/* cta deliverable — 相談後の成果物明示 */
.cta-deliverable{margin-top:18px;padding:14px 18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:10px;font-size:13.5px;line-height:1.85;color:#E8ECF5;backdrop-filter:blur(6px)}
.cta-deliverable strong{color:#C8DEFF;font-weight:700}

/* cta-final */
.cta-final{position:relative;border-radius:24px;overflow:hidden;background:linear-gradient(135deg,#1E5BD8 0%,#1948B0 60%,#0E1A36 100%);color:#fff;padding:80px 56px;display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center;box-shadow:0 30px 80px -30px rgba(14,26,54,.4)}
.cta-final::before{content:"";position:absolute;top:-200px;right:-200px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(11,116,255,.18),transparent 65%);pointer-events:none}
.cta-final h2{font-size:clamp(28px,3.6vw,42px);line-height:1.3;letter-spacing:-.015em;font-weight:900;color:#fff}
.cta-final h2 .green{color:#C8DEFF}
.cta-final p{margin-top:18px;font-size:16px;line-height:1.85;color:#C8D4EE;max-width:48ch}
.cta-final .actions{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.cta-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:28px 30px;backdrop-filter:blur(10px)}
.cta-card h4{font-size:13px;font-weight:800;color:#C8DEFF;margin-bottom:18px;letter-spacing:.04em;text-transform:uppercase}
.cta-card .row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px dashed rgba(255,255,255,.16);font-size:14px}
.cta-card .row:last-of-type{border-bottom:0}
.cta-card .row b{color:rgba(255,255,255,.75);font-weight:600;font-size:13px}
.cta-card .row span{color:#fff;font-weight:800;font-size:14px}
.cta-card .row span.hl{color:#C8DEFF}

/* footer */
footer.foot{background:#000;color:#fff;padding:64px 24px 28px}
.foot-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px}
.foot-brand .brand-name b{color:#fff}
.foot-brand .brand-name small{color:#9AA1B5}
.foot-brand p{margin-top:16px;font-size:13.5px;color:#A8AEC2;line-height:1.85;max-width:38ch}
.foot-col h5{font-size:13px;color:var(--green-2);font-weight:800;margin-bottom:16px;letter-spacing:.04em}
.foot-col a{display:block;font-size:13.5px;color:#C8CDDB;line-height:2.1;transition:.15s}
.foot-col a:hover{color:var(--green-2)}
.foot-bottom{max-width:1200px;margin:48px auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:#9AA1B5;flex-wrap:wrap;gap:14px}
.foot-bottom .links a{color:#C8CDDB;margin-right:18px}
.foot-bottom .links a:hover{color:var(--green-2)}
.foot-bottom .foot-copy{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px}
.foot-bottom .foot-operator{display:inline-flex;align-items:center;gap:4px;color:#9AA1B5}
.foot-bottom .foot-operator a{color:#C8CDDB;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(200,205,219,.3);transition:.15s}
.foot-bottom .foot-operator a:hover{color:var(--green-2);border-bottom-color:var(--green-2)}
.foot-bottom .foot-operator .op-name{color:#C8CDDB;font-weight:600}

/* reveal */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}

/* support — 導入後サポート 6 ステップ */
.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1200px;margin:0 auto}
.ss{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:10px;transition:.18s;position:relative}
.ss:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--sh-2)}
.ss .ss-num{width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,var(--blue),var(--blue-3));color:#fff;display:grid;place-items:center;font-size:17px;font-weight:900;letter-spacing:-.01em;box-shadow:0 6px 14px -4px rgba(30,91,216,.4)}
.ss .ss-when{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;font-weight:800;letter-spacing:.14em;color:var(--green-3);background:var(--green-bg);border:1px solid var(--green-bg-2);padding:3px 9px;border-radius:5px;width:fit-content;text-transform:uppercase}
.ss h3{font-size:17px;font-weight:800;color:var(--ink);letter-spacing:-.005em;line-height:1.4}
.ss p{font-size:13.5px;color:var(--ink-3);line-height:1.85;flex:1}
.support-note{margin-top:36px;text-align:center;font-size:14px;line-height:1.85;color:var(--ink-3);max-width:60ch;margin-left:auto;margin-right:auto}
.support-note strong{color:var(--ink);font-weight:700;background:linear-gradient(transparent 65%,rgba(30,91,216,.22) 65%);padding:0 2px}
@media (max-width:1080px){.support-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.support-grid{grid-template-columns:1fr}}

/* lead magnets — 資料DL 4 種 */
.leadmag-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:1080px;margin:0 auto}
.lm{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:grid;grid-template-columns:200px 1fr;gap:0;transition:.2s}
.lm:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--sh-2)}
.lm-cover{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:18px 16px;color:#fff;min-height:240px;overflow:hidden}
.lm-cover::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.15) 1.2px,transparent 1.2px);background-size:16px 16px}
.lm-c1{background:linear-gradient(135deg,#1E5BD8 0%,#1948B0 100%)}
.lm-c2{background:linear-gradient(135deg,#0B74FF 0%,#0858CC 100%)}
.lm-c3{background:linear-gradient(135deg,#F08C2E 0%,#D97706 100%)}
.lm-c4{background:linear-gradient(135deg,#142340 0%,#0E1A36 100%)}
.lm-cover .lm-badge{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.92);color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:800;padding:3px 8px;border-radius:5px;letter-spacing:.12em;backdrop-filter:blur(4px)}
.lm-cover .lm-ttl{position:relative;z-index:1}
.lm-cover .lm-ttl small{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px;font-weight:700;color:rgba(255,255,255,.75);letter-spacing:.14em;display:block;margin-bottom:6px}
.lm-cover .lm-ttl b{font-size:16px;font-weight:900;letter-spacing:-.01em;line-height:1.35;display:block}
.lm-cover .lm-corner{position:relative;z-index:1;margin-top:14px;padding-top:10px;border-top:1px solid rgba(255,255,255,.2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px;font-weight:700;color:rgba(255,255,255,.7);letter-spacing:.1em}
.lm-body{padding:22px 24px;display:flex;flex-direction:column;gap:10px}
.lm-body h3{font-size:15.5px;font-weight:800;color:var(--ink);letter-spacing:-.005em;line-height:1.45}
.lm-body p{font-size:12.5px;color:var(--ink-3);line-height:1.8;flex:1}
.lm-form{margin-top:auto;display:flex;gap:6px;flex-wrap:wrap}
.lm-form input[type="email"]{flex:1;min-width:140px;border:1px solid var(--line);border-radius:7px;padding:9px 12px;font-size:13px;font-weight:500;color:var(--ink);outline:none;font-family:inherit;background:#fff}
.lm-form input[type="email"]:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(30,91,216,.12)}
.lm-form .btn{padding:9px 16px;font-size:13px;border-radius:7px;flex-shrink:0}
.lm-note{margin-top:32px;text-align:center;font-size:12.5px;color:var(--ink-4);font-weight:500}
@media (max-width:900px){
  .leadmag-grid{grid-template-columns:1fr}
  .lm{grid-template-columns:140px 1fr}
  .lm-cover{min-height:auto}
}
@media (max-width:600px){
  .lm{grid-template-columns:1fr}
  .lm-cover{min-height:140px}
}

/* next-event — 開催予定の研究会 */
.next-event{background:linear-gradient(135deg,#0E1A36 0%,#142340 50%,#1948B0 100%);color:#fff;border-radius:16px;padding:32px 36px;margin-bottom:36px;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;position:relative;overflow:hidden;box-shadow:0 20px 50px -20px rgba(14,26,54,.4)}
.next-event::before{content:"";position:absolute;top:-100px;right:-100px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(11,116,255,.20),transparent 65%);pointer-events:none}
.next-event .ne-left{position:relative;z-index:1}
.next-event .ne-label{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:800;color:#5EEAD4;letter-spacing:.18em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;margin-bottom:14px}
.next-event .ne-pulse{width:7px;height:7px;border-radius:99px;background:#5EEAD4;box-shadow:0 0 0 3px rgba(125,156,255,.18),0 0 10px rgba(125,156,255,.5);animation:rs-pulse 2s ease-in-out infinite;display:inline-block}
.next-event h3{font-size:22px;font-weight:800;color:#fff;letter-spacing:-.01em;line-height:1.45;margin-bottom:10px}
.next-event p{font-size:14px;color:#C8CDDB;line-height:1.85;margin-bottom:18px;max-width:54ch}
.next-event .ne-tags{display:flex;flex-wrap:wrap;gap:8px}
.next-event .ne-tag{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:700;color:#fff;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);padding:5px 11px;border-radius:99px;letter-spacing:.04em;backdrop-filter:blur(4px)}
.next-event .ne-tag.green{background:rgba(11,116,255,.22);border-color:rgba(125,156,255,.4);color:#C8DEFF}
.next-event .ne-right{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.next-event .ne-sub{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:rgba(255,255,255,.7);letter-spacing:.06em}
@media (max-width:900px){
  .next-event{grid-template-columns:1fr;padding:24px;gap:18px}
  .next-event .ne-right{align-items:stretch}
  .next-event .ne-right .btn{width:100%;justify-content:center}
}

/* footer lead — 資料DL + ステップメール登録（フッター上部） */
.foot-lead{background:linear-gradient(180deg,#fff,var(--bg-2));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:48px 24px}
.foot-lead-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center}
.foot-lead-text .fl-label{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:800;color:var(--blue);letter-spacing:.16em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;margin-bottom:14px}
.foot-lead-text .fl-pulse{width:7px;height:7px;border-radius:99px;background:var(--blue);box-shadow:0 0 0 3px rgba(30,91,216,.18);animation:rs-pulse 2s ease-in-out infinite;display:inline-block}
.foot-lead-text h3{font-size:22px;font-weight:800;color:var(--ink);letter-spacing:-.01em;line-height:1.45;margin-bottom:8px}
.foot-lead-text p{font-size:13.5px;color:var(--ink-3);line-height:1.85}
.foot-lead-form{display:flex;gap:8px;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:var(--sh-1);flex-wrap:wrap}
.foot-lead-form input[type="email"]{flex:1;min-width:200px;border:0;background:transparent;padding:14px 16px;font-size:15px;font-weight:500;color:var(--ink);outline:none;font-family:inherit}
.foot-lead-form input[type="email"]::placeholder{color:var(--ink-4);font-weight:500}
.foot-lead-form .btn{margin:0;flex-shrink:0}
@media (max-width:900px){
  .foot-lead-inner{grid-template-columns:1fr;gap:22px}
  .foot-lead-form{flex-direction:column;padding:8px;gap:6px}
  .foot-lead-form input[type="email"]{padding:12px 14px}
  .foot-lead-form .btn{width:100%;justify-content:center}
}

/* ════════════════════════════════════════════
   page-improvement-os.php — 改善 OS 定義ページ
   ════════════════════════════════════════════ */
.ios{background:var(--bg-2);min-height:60vh}
.ios-crumb{background:#fff;border-bottom:1px solid var(--line);padding:12px 24px}
.ios-crumb-inner{max-width:880px;margin:0 auto;display:flex;align-items:center;gap:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--ink-4);letter-spacing:.04em;flex-wrap:wrap}
.ios-crumb a{color:var(--blue);font-weight:600}
.ios-crumb .sep{color:var(--ink-5)}
.ios-crumb .current{color:var(--ink-2);font-weight:700}
.ios-hero{background:#fff;border-bottom:1px solid var(--line);padding:64px 24px}
.ios-hero-inner{max-width:880px;margin:0 auto}
.ios-label{display:inline-flex;align-items:center;gap:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:800;letter-spacing:.18em;color:var(--blue);background:var(--blue-bg);padding:5px 12px;border-radius:99px;margin-bottom:18px}
.ios-hero h1{font-size:clamp(32px,4.2vw,52px);line-height:1.25;letter-spacing:-.02em;font-weight:800;color:var(--ink)}
.ios-hero .ios-lede{margin-top:22px;font-size:17px;line-height:1.95;color:var(--ink-2);max-width:60ch}
.ios-hero .ios-lede strong{color:var(--ink);font-weight:700;background:linear-gradient(transparent 65%,rgba(30,91,216,.22) 65%);padding:0 2px}
.ios-meta{margin-top:24px;display:flex;flex-wrap:wrap;gap:14px}
.ios-meta-item{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:var(--ink-4);font-weight:600;letter-spacing:.04em}
.ios-toc{background:#fff;border-bottom:1px solid var(--line);padding:24px}
.ios-toc-inner{max-width:880px;margin:0 auto;background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:20px 24px}
.ios-toc-label{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;font-weight:800;letter-spacing:.16em;color:var(--ink-4);text-transform:uppercase;display:block;margin-bottom:12px}
.ios-toc ol{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:0;padding:0}
.ios-toc li a{font-size:13.5px;font-weight:600;color:var(--ink-2);padding:8px 12px;border-radius:8px;display:block;transition:.15s}
.ios-toc li a:hover{background:#fff;color:var(--blue)}
.ios-body{max-width:880px;margin:0 auto;padding:48px 24px;display:flex;flex-direction:column;gap:36px}
.ios-sec{background:#fff;border:1px solid var(--line);border-radius:16px;padding:36px 40px;position:relative;box-shadow:var(--sh-1);scroll-margin-top:80px}
.ios-num{position:absolute;top:24px;right:32px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:60px;font-weight:900;color:var(--blue-bg);letter-spacing:-.04em;line-height:1}
.ios-sec h2{font-size:26px;font-weight:800;color:var(--ink);letter-spacing:-.01em;line-height:1.4;margin-bottom:18px;position:relative;z-index:1}
.ios-sec h3{font-size:17px;font-weight:800;color:var(--ink);letter-spacing:-.005em;margin-top:24px;margin-bottom:12px}
.ios-sec .lead{font-size:15.5px;line-height:1.95;color:var(--ink-2);font-weight:500;margin-bottom:16px}
.ios-sec p{font-size:15px;line-height:1.95;color:var(--ink-2);margin-bottom:14px}
.ios-sec strong{color:var(--ink);font-weight:700;background:linear-gradient(transparent 65%,rgba(11,116,255,.22) 65%);padding:0 2px}
.ios-list{margin:14px 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.ios-list li{font-size:14.5px;line-height:1.85;color:var(--ink-2);padding:10px 14px;background:var(--bg-2);border-left:3px solid var(--blue);border-radius:0 8px 8px 0}
.ios-list li b{color:var(--ink);font-weight:800;margin-right:6px}
ol.ios-list li{counter-increment:item;position:relative;padding-left:42px}
ol.ios-list{counter-reset:item}
ol.ios-list li::before{content:counter(item);position:absolute;left:12px;top:50%;transform:translateY(-50%);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:800;color:var(--blue);background:#fff;border:1px solid var(--blue-bg-2);padding:2px 7px;border-radius:99px}
.ios-quote{margin:20px 0;padding:24px 28px;background:linear-gradient(135deg,var(--blue-bg),var(--bg-2));border-left:4px solid var(--blue);border-radius:0 12px 12px 0}
.ios-quote p{font-size:18px;font-weight:600;color:var(--ink);line-height:1.6;margin:0}
.ios-callout{margin:20px 0;padding:20px 24px;background:var(--green-bg);border:1px solid var(--green-bg-2);border-radius:12px}
.ios-callout-label{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;font-weight:800;letter-spacing:.16em;color:var(--green-3);text-transform:uppercase;display:block;margin-bottom:8px}
.ios-callout p{font-size:14px;color:var(--ink-2);line-height:1.85;margin:0}
.ios-compare{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.ios-compare-col{padding:24px;border-radius:12px;border:1px solid var(--line)}
.ios-compare-col.none{background:#FEF2F2;border-color:#FECACA}
.ios-compare-col.yes{background:var(--green-bg);border-color:var(--green-bg-2)}
.ios-compare-col h4{font-size:15px;font-weight:800;color:var(--ink);margin-bottom:14px;letter-spacing:-.005em}
.ios-compare-col.none h4 span{color:var(--rose);font-weight:900}
.ios-compare-col.yes h4 span{color:var(--green-3);font-weight:900}
.ios-compare-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.ios-compare-col li{font-size:13.5px;line-height:1.7;color:var(--ink-2);padding-left:20px;position:relative}
.ios-compare-col.none li::before{content:"✕";position:absolute;left:0;top:0;color:var(--rose);font-weight:900}
.ios-compare-col.yes li::before{content:"✓";position:absolute;left:0;top:0;color:var(--green-3);font-weight:900}
.ios-cta{margin-top:12px;background:linear-gradient(135deg,#0E1A36,#1948B0);color:#fff;border-radius:16px;padding:44px 40px;text-align:center}
.ios-cta h3{font-size:24px;font-weight:800;color:#fff;letter-spacing:-.01em;line-height:1.4;margin-bottom:14px}
.ios-cta p{font-size:14.5px;color:#C8CDDB;line-height:1.85;max-width:50ch;margin:0 auto 24px}
.ios-cta p strong{color:#C8DEFF;font-weight:700;background:none;padding:0}
.ios-cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.ios-cta-actions .btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.ios-cta-actions .btn-outline:hover{background:rgba(255,255,255,.08);border-color:#fff;color:#fff}
@media (max-width:700px){
  .ios-sec{padding:24px}
  .ios-num{font-size:40px;top:14px;right:18px}
  .ios-toc ol{grid-template-columns:1fr}
  .ios-compare{grid-template-columns:1fr}
}

/* ════════════════════════════════════════════
   改善ナビゲーター（チャットボット）
   ════════════════════════════════════════════ */
.chat-toggle{position:fixed;right:24px;bottom:24px;z-index:90;display:inline-flex;align-items:center;gap:8px;padding:12px 18px 12px 16px;border-radius:99px;border:0;cursor:pointer;background:linear-gradient(135deg,var(--blue),var(--blue-3));color:#fff;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.005em;box-shadow:0 14px 30px -8px rgba(30,91,216,.5),0 4px 12px -4px rgba(30,91,216,.30);transition:.2s ease}
.chat-toggle:hover{transform:translateY(-2px);box-shadow:0 22px 40px -8px rgba(30,91,216,.6),0 6px 14px -4px rgba(30,91,216,.35)}
.chat-toggle:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.chat-toggle.is-open{transform:scale(.92)}
.chat-pulse{width:8px;height:8px;border-radius:99px;background:#5EEAD4;box-shadow:0 0 0 3px rgba(125,156,255,.4),0 0 12px rgba(125,156,255,.6);animation:rs-pulse 2s ease-in-out infinite;display:inline-block;position:absolute;top:-2px;right:-2px}
.chat-toggle-label{font-weight:700;letter-spacing:.02em}
@media (max-width:600px){.chat-toggle{left:18px;bottom:80px;padding:11px 14px}.chat-toggle-label{display:none}}

.chat-widget{position:fixed;right:24px;bottom:88px;z-index:91;width:380px;max-width:calc(100vw - 48px);max-height:calc(100vh - 120px);opacity:0;visibility:hidden;transform:translateY(14px) scale(.96);transform-origin:bottom right;transition:opacity .25s ease,transform .25s ease,visibility .25s ease}
.chat-widget.is-open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.chat-panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 80px -20px rgba(14,26,54,.30),0 10px 24px -8px rgba(14,26,54,.18);display:flex;flex-direction:column;overflow:hidden;max-height:calc(100vh - 120px)}
.chat-head{background:linear-gradient(135deg,#0E1A36,#1948B0);color:#fff;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--bg-navy-2)}
.chat-title{display:flex;flex-direction:column;gap:2px;line-height:1.2;font-weight:700;font-size:14.5px}
.chat-title small{font-family:inherit;font-size:10.5px;font-weight:500;color:#C8DEFF;letter-spacing:.04em}
.chat-title .chat-dot{display:inline-block;width:7px;height:7px;border-radius:99px;background:#5EEAD4;margin-right:6px;box-shadow:0 0 0 3px rgba(125,156,255,.18),0 0 8px rgba(125,156,255,.5);animation:rs-pulse 2s ease-in-out infinite}
.chat-close{background:transparent;border:0;color:#fff;cursor:pointer;padding:6px;border-radius:6px;transition:.15s;display:grid;place-items:center;opacity:.7}
.chat-close:hover{opacity:1;background:rgba(255,255,255,.10)}
.chat-body{padding:18px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:14px;background:linear-gradient(180deg,#fff,#FAFBFD)}
.chat-msg{font-size:14px;line-height:1.85;color:var(--ink-2);background:var(--bg-2);padding:14px 16px;border-radius:14px 14px 14px 4px;border:1px solid var(--line)}
.chat-options{display:flex;flex-direction:column;gap:7px}
.chat-option{background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-size:13.5px;font-weight:600;color:var(--ink-2);text-align:left;cursor:pointer;transition:.15s;font-family:inherit;line-height:1.5}
.chat-option:hover{border-color:var(--blue);background:var(--blue-bg);color:var(--blue);transform:translateX(2px)}
.chat-links{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.chat-link{background:var(--green-bg);border:1px solid var(--green-bg-2);border-radius:10px;padding:10px 14px;font-size:13px;font-weight:600;color:var(--green-3);text-decoration:none;line-height:1.5;transition:.15s;display:block}
.chat-link:hover{background:#fff;border-color:var(--green-3);color:var(--green-3);transform:translateX(2px)}
.chat-back{align-self:flex-start;background:transparent;border:1px solid var(--line);border-radius:99px;padding:6px 13px;font-size:11.5px;font-weight:600;color:var(--ink-3);cursor:pointer;margin-top:6px;transition:.15s;font-family:inherit}
.chat-back:hover{border-color:var(--ink-3);color:var(--ink)}
.chat-foot{padding:11px 18px;background:var(--bg-2);border-top:1px solid var(--line)}
.chat-foot small{font-size:11px;color:var(--ink-4);line-height:1.6;display:block}
@media (max-width:600px){.chat-widget{right:12px;left:12px;width:auto;bottom:140px}}

/* 最上部へ戻るボタン */
.back-to-top{position:fixed;bottom:24px;right:24px;z-index:90;width:48px;height:48px;border-radius:99px;border:0;cursor:pointer;background:var(--ink);color:#fff;display:grid;place-items:center;box-shadow:0 10px 26px -8px rgba(14,26,54,.32),0 4px 10px -4px rgba(14,26,54,.20);opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .25s ease,visibility .25s ease,transform .25s ease,background .18s,box-shadow .18s}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover{background:var(--blue);transform:translateY(-3px);box-shadow:0 16px 30px -8px rgba(30,91,216,.45),0 6px 12px -4px rgba(30,91,216,.25)}
.back-to-top:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.back-to-top svg{transition:transform .2s}
.back-to-top:hover svg{transform:translateY(-2px)}
@media (max-width:600px){.back-to-top{bottom:18px;right:18px;width:44px;height:44px}}

/* responsive */
@media (max-width:1080px){
  .nav-links{display:none}
  .nav-inner{justify-content:space-between;gap:16px}
  .hero-inner{grid-template-columns:1fr;gap:48px}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .pains,.svc-cards,.solutions,.tools-grid,.cases,.testis,.why,.flow,.pricing,.news{grid-template-columns:repeat(2,1fr)}
  .inds{grid-template-columns:repeat(3,1fr)}
  .feat,.feat.reverse{grid-template-columns:1fr;gap:36px}
  .feat.reverse .feat-text{order:1}
  .feat.reverse .feat-visual{order:2}
  .compare{overflow-x:auto}
  .compare table{min-width:680px}
  .sec-badges-inner{grid-template-columns:1fr;gap:24px}
  .sec-badges-row{grid-template-columns:repeat(2,1fr)}
  .dl{grid-template-columns:1fr;padding:36px;gap:32px}
  .dl-cover{max-width:280px;margin:0 auto;transform:none}
  .cta-final{grid-template-columns:1fr;padding:48px 32px}
  .foot-inner{grid-template-columns:1fr 1fr;gap:32px}
  .sec{padding:72px 22px}
  .hero{padding:36px 22px 32px}
}
@media (max-width:600px){
  .hero-trust{flex-direction:column;align-items:stretch;padding:14px}
  .hero-trust .item{border-right:0;border-bottom:1px solid var(--line-2);padding:12px 0;display:flex;justify-content:space-between;align-items:center;text-align:left}
  .hero-trust .item:last-child{border-bottom:0}
  .hero-trust .item small{margin-top:0}
  .stats-grid,.pains,.svc-cards,.solutions,.tools-grid,.cases,.testis,.why,.flow,.pricing,.news{grid-template-columns:1fr}
  .inds,.sec-badges-row{grid-template-columns:repeat(2,1fr)}
  .svc-card{grid-template-columns:1fr;text-align:center}
  .svc-card .ic{margin:0 auto}
  .foot-inner{grid-template-columns:1fr 1fr}
  .topbar{font-size:12px;gap:10px;padding:7px 16px}
  .case-thumb .dh .v{font-size:28px}
}

/* ─────── 1.2.1: 公開前最終調整 ─────── */
.cta-note{margin:14px 0 0;padding:14px 16px;background:#F6F8FB;border:1px solid #E3E8F0;border-radius:10px;color:#46546A;font-size:13px;line-height:1.7}
.cta-note a{color:#1E5BD8;text-decoration:underline}
.leadmag-form__consent{margin:10px 0 0;color:#6B7689;font-size:12px;line-height:1.7;padding:10px 12px;border-top:1px dashed #E3E8F0}
.leadmag-form__consent a{color:#1E5BD8;text-decoration:underline}

/* honeypot：スクリーンリーダー/視覚ともに完全非表示・bot のみ入力可能 */
.ftl-hp-field{position:absolute !important;left:-9999px !important;top:-9999px !important;height:0 !important;width:0 !important;opacity:0 !important;overflow:hidden !important;pointer-events:none !important}
.ftl-hp-field input{position:absolute;left:-9999px}

/* ─────── 1.3.0: 15分診断軸への再構成 ─────── */

/* PAINS grid（新 pain-card） */
.pains-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:32px}
.pain-card{background:#fff;border:1px solid #E4E7EE;border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:10px;transition:.18s}
.pain-card:hover{border-color:#C8D3E5;box-shadow:0 4px 16px rgba(14,26,54,.06)}
.pain-card__ic{width:40px;height:40px;border-radius:10px;background:#EAF2FF;color:#1E5BD8;display:flex;align-items:center;justify-content:center}
.pain-card h3{font-size:15.5px;font-weight:800;color:#0E1A36;letter-spacing:-.01em;line-height:1.5;margin:0}
.pain-card p{font-size:13.5px;line-height:1.7;color:#46546A;margin:0}

/* AI YES/NO */
.ainono-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}
.ainono-col{padding:32px;border-radius:18px;border:1px solid;background:#fff}
.ainono-col--yes{border-color:#1E5BD8;background:#F1F6FF}
.ainono-col--no{border-color:#D1D6E0;background:#FAFAFB}
.ainono-col h3{font-size:18px;font-weight:900;letter-spacing:-.01em;margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid currentColor;display:inline-block;width:100%;color:#0E1A36}
.ainono-col--yes h3{color:#1E5BD8}
.ainono-col--no h3{color:#6B7689}
.ainono-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ainono-col li{font-size:14.5px;line-height:1.65;color:#1F2A48;padding-left:24px;position:relative}
.ainono-col--yes li::before{content:"✓";position:absolute;left:0;top:0;color:#1E5BD8;font-weight:900}
.ainono-col--no li::before{content:"×";position:absolute;left:0;top:0;color:#B8C0CE;font-weight:900}

/* BEFORE/AFTER table */
.ba-table{margin-top:32px;border:1px solid #E4E7EE;border-radius:14px;overflow:hidden;background:#fff}
.ba-row{display:grid;grid-template-columns:140px 0.82fr 1.4fr;border-top:1px solid #E4E7EE}
.ba-row:first-child{border-top:0}
.ba-row--head{background:#F6F8FB;font-weight:800}
.ba-cell{padding:16px 20px;font-size:14px;line-height:1.65;color:#1F2A48}
.ba-cell--label{font-weight:700;color:#46546A;background:#FAFAFB;border-right:1px solid #E4E7EE;font-size:13px}
.ba-cell--before{color:#6B7689;border-right:1px solid #E4E7EE;background:#FCFCFD}
.ba-cell--after{color:#0E1A36;font-weight:600;background:#F1F6FF}
.ba-cell--after::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#1E5BD8;margin-right:8px;vertical-align:middle}
.ba-row--head .ba-cell::before{display:none}
.ba-note{margin-top:14px;font-size:12px;color:#6B7689;text-align:right}

/* INDUSTRIES grid（リライト） */
.industries-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:32px}
.industry-card{background:#fff;border:1px solid #E4E7EE;border-radius:14px;padding:28px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:12px;transition:.18s;width:100%}
.industry-card:hover{border-color:#1E5BD8;box-shadow:0 6px 24px rgba(30,91,216,.08)}
.industry-card__badge{display:inline-block;padding:5px 12px;background:#EAF2FF;color:#1E5BD8;font-size:11.5px;font-weight:800;letter-spacing:.04em;border-radius:99px;align-self:flex-start}
.industry-card h3{font-size:17px;font-weight:800;color:#0E1A36;margin:0;line-height:1.5;letter-spacing:-.01em}
.industry-card p{font-size:14px;line-height:1.7;color:#46546A;margin:0;flex:1}
.industry-card__cta{margin-top:auto;display:inline-flex;align-items:center;gap:6px;padding:11px 18px;background:#1E5BD8;color:#fff;border-radius:99px;font-size:13.5px;font-weight:700;width:fit-content;align-self:flex-start;text-decoration:none;transition:.15s ease;letter-spacing:.005em}
.industry-card:hover .industry-card__cta{background:#0E47C0;transform:translateY(-1px);box-shadow:0 8px 20px -6px rgba(30,91,216,.35)}

/* PACK */
.pack-card{margin-top:32px;background:#fff;border:1px solid #E4E7EE;border-radius:18px;padding:36px;display:flex;flex-direction:column;gap:24px}
.pack-card__head{border-bottom:1px solid #E4E7EE;padding-bottom:24px}
.pack-card__tag{display:inline-block;padding:6px 14px;background:#0E1A36;color:#fff;font-size:11.5px;font-weight:800;letter-spacing:.05em;border-radius:99px;margin-bottom:14px}
.pack-card__head h3{font-size:22px;font-weight:900;letter-spacing:-.015em;line-height:1.5;color:#0E1A36;margin:0}
.pack-card__body{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.pack-card__caption,.pack-card__steps-label{font-size:11.5px;font-weight:800;letter-spacing:.1em;color:#6B7689;margin:0 0 12px}
.pack-card__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pack-card__list li{font-size:14px;color:#1F2A48;padding:8px 12px;background:#F6F8FB;border-radius:8px}
.pack-card__steps{list-style:none;counter-reset:step;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.pack-card__steps li{counter-increment:step;font-size:14px;color:#1F2A48;padding:10px 12px 10px 44px;background:#fff;border:1px solid #E4E7EE;border-radius:8px;position:relative;line-height:1.55}
.pack-card__steps li::before{content:counter(step);position:absolute;left:10px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:#1E5BD8;color:#fff;font-weight:900;font-size:12px;display:flex;align-items:center;justify-content:center}
.pack-card__cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;padding-top:24px;border-top:1px solid #E4E7EE}

/* PRICING 3カード */
.pricing-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.price-card{background:#fff;border:1px solid #E4E7EE;border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:16px;position:relative}
.price-card--recommended{border-color:#1E5BD8;border-width:2px;background:#F8FBFF}
.price-card__badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:#1E5BD8;color:#fff;font-size:11px;font-weight:800;padding:5px 14px;border-radius:99px;letter-spacing:.05em}
.price-card__name{font-size:16px;font-weight:800;color:#0E1A36;margin:0;letter-spacing:-.01em}
.price-card__price{font-size:14px;color:#6B7689;margin:0}
.price-card__price strong{font-size:24px;color:#0E1A36;font-weight:900;letter-spacing:-.02em}
.price-card__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;border-top:1px solid #E4E7EE;padding-top:16px}
.price-card__list li{font-size:13.5px;color:#1F2A48;padding-left:22px;position:relative;line-height:1.55}
.price-card__list li::before{content:"✓";position:absolute;left:0;color:#1E5BD8;font-weight:900}
.pricing-note{margin-top:18px;padding:14px 18px;background:#F6F8FB;border:1px solid #E3E8F0;border-radius:10px;font-size:12.5px;color:#46546A;line-height:1.7}

/* DIAGNOSIS */
.diagnosis-sec{background:linear-gradient(180deg,#F1F6FF 0%,#FFFFFF 60%)}
.diagnosis-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px;margin-bottom:16px}
.diagnosis-3__card{background:#fff;border:2px solid #1E5BD8;border-radius:14px;padding:18px 20px;display:flex;align-items:center;gap:14px}
.diagnosis-3__card .num{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:#1E5BD8;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px}
.diagnosis-3__card strong{font-size:14.5px;color:#0E1A36;font-weight:800;letter-spacing:-.01em}
.diagnosis-deliverable{margin:18px 0 28px;padding:14px 18px;background:#fff;border:1px dashed #1E5BD8;border-radius:10px;font-size:13.5px;color:#1F2A48;line-height:1.7}
.diagnosis-form{max-width:680px;margin:0 auto;background:#fff;border:1px solid #E4E7EE;border-radius:16px;padding:36px;box-shadow:0 8px 32px rgba(14,26,54,.06)}
.diagnosis-form__inner{display:flex;flex-direction:column;gap:18px}
.diagnosis-form__row{display:flex;flex-direction:column;gap:6px}
.diagnosis-form__row label{font-size:13.5px;font-weight:700;color:#0E1A36}
.diagnosis-form__row label .required{display:inline-block;margin-left:6px;padding:2px 8px;background:#1E5BD8;color:#fff;font-size:10px;font-weight:800;border-radius:4px}
.diagnosis-form__row input,
.diagnosis-form__row select,
.diagnosis-form__row textarea{padding:12px 14px;border:1px solid #D6DCE6;border-radius:8px;font-size:14.5px;color:#0E1A36;font-family:inherit;transition:.15s}
.diagnosis-form__row input:focus,
.diagnosis-form__row select:focus,
.diagnosis-form__row textarea:focus{outline:none;border-color:#1E5BD8;box-shadow:0 0 0 3px rgba(30,91,216,.12)}
.diagnosis-form__row textarea{resize:vertical;min-height:80px}
.diagnosis-form__hint{font-size:12px;color:#6B7689;margin-top:2px}
.diagnosis-form__submit{margin-top:8px;padding:16px 24px;background:#1E5BD8;color:#fff;font-size:16px;font-weight:800;border:none;border-radius:99px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s}
.diagnosis-form__submit:hover{background:#0E47C0;box-shadow:0 6px 20px rgba(30,91,216,.25)}
.diagnosis-form__note{margin:8px 0 0;font-size:12.5px;color:#46546A;line-height:1.7;text-align:center}
.diagnosis-form__consent{margin:8px 0 0;font-size:12px;color:#6B7689;line-height:1.7;padding:10px 12px;border-top:1px dashed #E3E8F0}
.diagnosis-form__consent a{color:#1E5BD8;text-decoration:underline}

/* Final CTA */
.cta-final{text-align:center;max-width:680px;margin:0 auto;padding:48px 24px}
.cta-final h2{font-size:30px;font-weight:900;letter-spacing:-.02em;line-height:1.45;color:#fff;margin:0 0 18px}
.cta-final p{font-size:15.5px;line-height:1.85;color:#fff;margin:0 0 28px}
.cta-final__buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
.cta-final__note{font-size:12.5px;color:#fff;margin:0;opacity:.85}

/* セクション CTA 行 */
.sec-cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:32px}

/* Footer Lead 改修 */
.foot-lead-ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.foot-lead-sub{background:transparent}

/* レスポンシブ */
@media (max-width:900px){
  .pains-grid{grid-template-columns:repeat(2,1fr)}
  .ainono-grid{grid-template-columns:1fr;gap:14px}
  .pack-card__body{grid-template-columns:1fr;gap:24px}
  .pricing-3{grid-template-columns:1fr;gap:14px}
  .diagnosis-3{grid-template-columns:1fr}
  .diagnosis-form{padding:24px}
  .industries-grid{grid-template-columns:1fr}
  .ba-row{grid-template-columns:100px 0.85fr 1.4fr}
  .ba-cell{padding:12px 14px;font-size:13px}
  .cta-final h2{font-size:22px}
}
@media (max-width:600px){
  .pains-grid{grid-template-columns:1fr}
  .pack-card__list{grid-template-columns:1fr}
  .ba-row{grid-template-columns:1fr;gap:0}
  .ba-cell--label{background:#0E1A36;color:#fff;border-right:0;border-bottom:1px solid #E4E7EE;font-size:12px;padding:8px 14px}
  .ba-cell--before,.ba-cell--after{border-right:0}
  .ba-cell--before::before{content:"BEFORE";display:block;font-size:10px;font-weight:800;color:#B8C0CE;letter-spacing:.1em;margin-bottom:4px}
  .ba-cell--after::before{content:"AFTER";display:block;width:auto;height:auto;background:transparent;color:#1E5BD8;font-size:10px;font-weight:800;letter-spacing:.1em;margin:0 0 4px;border-radius:0}
}

/* ─────── 1.4.0: 放置コスト+FIT-CHECK+フォーム軽量化 ─────── */

/* PAINS カード放置コスト型 */
.pain-card h3{font-size:15.5px;line-height:1.5}
.pain-card h3 br{display:inline}
.pain-card__cost{font-size:13px;line-height:1.7;color:#6B7689;margin:0;padding-top:10px;border-top:1px dashed #E4E7EE}
.pains-cost-note{margin:32px auto 0;max-width:760px;padding:18px 22px;background:#FFF7ED;border:1px solid #FBD9A8;border-radius:12px;font-size:14px;line-height:1.85;color:#7A4D14;text-align:center}
.pains-cost-note strong{color:#0E1A36}

/* PACK 導入後イメージ */
.pack-card__after{border-top:1px solid #E4E7EE;padding-top:20px}
.pack-card__after-label{font-size:11.5px;font-weight:800;letter-spacing:.1em;color:#1E5BD8;margin:0 0 12px;display:flex;align-items:center;gap:8px}
.pack-card__after-label::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#1E5BD8}
.pack-card__after-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pack-card__after-list li{display:flex;align-items:center;gap:8px;font-size:14px;color:#0E1A36;line-height:1.55;padding:10px 14px;background:#F1F6FF;border-radius:8px;font-weight:600}
.pack-card__after-list li svg{flex:0 0 auto;color:#1E5BD8}

/* PROFILE 強化版 */
.profile-bio{font-size:14.5px;line-height:1.95;color:#1F2A48;margin:0}
.profile-bio + .profile-bio{margin-top:14px}
.profile-bio strong{color:#1E5BD8}

/* FIT-CHECK */
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}
.fit-col{padding:32px;border-radius:18px;border:1px solid;background:#fff}
.fit-col--yes{border-color:#1E5BD8;background:#F1F6FF}
.fit-col--no{border-color:#D1D6E0;background:#FAFAFB}
.fit-col h3{font-size:18px;font-weight:900;letter-spacing:-.01em;margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid currentColor;color:#0E1A36}
.fit-col--yes h3{color:#1E5BD8}
.fit-col--no h3{color:#6B7689}
.fit-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.fit-col li{font-size:14.5px;line-height:1.65;color:#1F2A48;padding-left:28px;position:relative}
.fit-col--yes li::before{content:"○";position:absolute;left:0;top:0;color:#1E5BD8;font-weight:900;font-size:16px}
.fit-col--no li::before{content:"×";position:absolute;left:0;top:0;color:#B8C0CE;font-weight:900;font-size:16px}

/* 診断フォーム グループラベル */
.diagnosis-form__group-label{margin:8px 0 4px;padding:8px 14px;background:#F1F6FF;border-left:3px solid #1E5BD8;font-size:13px;font-weight:800;color:#1E5BD8;border-radius:0 6px 6px 0;letter-spacing:.01em}
.diagnosis-form__group-label + .diagnosis-form__row{margin-top:4px}

/* 最終CTA 放置コスト リード */
.cta-final__lead-cost{font-size:14px;line-height:1.85;color:#7A4D14;background:#FFF7ED;border:1px solid #FBD9A8;border-radius:10px;padding:14px 18px;margin:0 0 22px;text-align:center}

@media (max-width:900px){
  .pack-card__after-list{grid-template-columns:1fr}
  .fit-grid{grid-template-columns:1fr;gap:14px}
}

/* ─────── 1.5.0: 即理解 + 問い合わせ転換率強化 ─────── */

/* sp-only helper */
.sp-only{display:none}
@media (max-width:600px){.sp-only{display:inline}}

/* STATE-CHECK */
.state-check{background:#0E1A36;color:#fff;padding:64px 24px}
.state-check .sec-inner{max-width:960px;margin:0 auto}
.state-check__head{text-align:center;margin-bottom:28px}
.state-check__head h2{font-size:26px;font-weight:900;letter-spacing:-.02em;line-height:1.5;color:#fff;margin:0}
.state-check__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.state-check__list li{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:14px 18px;font-size:14px;color:#fff;line-height:1.55;position:relative;padding-left:42px}
.state-check__list li::before{content:"✓";position:absolute;left:14px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;background:#DDFC54;color:#0E1A36;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px}
.state-check__footer{margin-top:28px;text-align:center;font-size:16px;line-height:1.75;color:#fff}
.state-check__footer strong{color:#DDFC54;font-size:18px}

@media (max-width:900px){
  .state-check__list{grid-template-columns:repeat(2,1fr)}
  .state-check__head h2{font-size:20px}
}
@media (max-width:600px){
  .state-check__list{grid-template-columns:1fr}
}

/* WHAT WE DO ベネフィット */
.wwd-card__benefit{font-size:13px;font-weight:800;color:#1E5BD8;background:#F1F6FF;border-radius:8px;padding:8px 12px;margin:8px 0 0;letter-spacing:-.01em}

/* INDUSTRIES ベネフィット */
.industry-card__benefit{font-size:13px;font-weight:800;color:#1E5BD8;background:#F1F6FF;border-radius:8px;padding:8px 12px;margin:6px 0 0;letter-spacing:-.01em}

/* PROCESS（進め方4STEP） */
.process-steps{list-style:none;counter-reset:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.process-step{background:#fff;border:1px solid #E4E7EE;border-radius:14px;padding:24px;position:relative;display:flex;flex-direction:column;gap:8px}
.process-step:not(:last-child)::after{content:"→";position:absolute;right:-14px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:900;color:#1E5BD8;z-index:1}
.process-step__num{font-size:32px;font-weight:900;color:#1E5BD8;letter-spacing:-.04em;line-height:1}
.process-step h3{font-size:15.5px;font-weight:800;color:#0E1A36;margin:0;letter-spacing:-.01em}
.process-step p{font-size:13.5px;line-height:1.7;color:#46546A;margin:0}
@media (max-width:900px){
  .process-steps{grid-template-columns:repeat(2,1fr)}
  .process-step:nth-child(2)::after{display:none}
}
@media (max-width:600px){
  .process-steps{grid-template-columns:1fr}
  .process-step::after{display:none !important}
}

/* 診断フォーム 送信後の流れ */
.diagnosis-form__after{margin-top:18px;padding:18px;background:#F1F6FF;border:1px solid #C8DCFF;border-radius:12px}
.diagnosis-form__after-label{font-size:11.5px;font-weight:800;letter-spacing:.1em;color:#1E5BD8;margin:0 0 12px}
.diagnosis-form__after-list{list-style:none;counter-reset:after-step;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.diagnosis-form__after-list li{counter-increment:after-step;font-size:14px;color:#1F2A48;padding-left:36px;position:relative;line-height:1.6}
.diagnosis-form__after-list li::before{content:counter(after-step);position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:#1E5BD8;color:#fff;font-weight:900;font-size:12px;display:flex;align-items:center;justify-content:center}
.diagnosis-form__after-pledge{margin:14px 0 0;padding:12px 14px;background:#fff;border:1px dashed #1E5BD8;border-radius:8px;font-size:13px;color:#1F2A48;line-height:1.7}
.diagnosis-form__after-pledge strong{color:#1E5BD8}

/* 資料DLカード 読むと何が分かるか */
.leadmag-pick-card__covers{margin-top:12px;padding-top:12px;border-top:1px dashed #E4E7EE;text-align:left}
.leadmag-pick-card__covers-label{font-size:10.5px;font-weight:800;letter-spacing:.1em;color:#6B7689;margin:0 0 8px}
.leadmag-pick-card__covers ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.leadmag-pick-card__covers li{font-size:12.5px;color:#46546A;padding-left:16px;position:relative;line-height:1.55}
.leadmag-pick-card__covers li::before{content:"·";position:absolute;left:6px;top:0;color:#1E5BD8;font-weight:900;font-size:18px;line-height:1}

/* サブCTAボタン（btn-soft）強化 */
.btn-soft{background:#F1F6FF;color:#1E5BD8;border:1px solid #C8DCFF;font-weight:700;transition:.18s}
.btn-soft:hover{background:#E4EEFF;box-shadow:0 6px 16px rgba(30,91,216,.12);transform:translateY(-1px)}

/* 最終CTA 改善 */
.cta-final__lead-cost{font-size:15px;line-height:1.85;color:#7A4D14;background:#FFF7ED;border:1px solid #FBD9A8;border-radius:10px;padding:16px 20px;margin:0 0 22px;text-align:center}
.cta-final__lead-cost strong{color:#7A4D14}

/* モバイル下部固定CTAバー */
.mobile-sticky-cta{display:none}
@media (max-width:768px){
  .mobile-sticky-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:9990;gap:8px;padding:10px 12px;background:#fff;border-top:1px solid #E4E7EE;box-shadow:0 -4px 16px rgba(14,26,54,.08)}
  .mobile-sticky-cta__main{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 12px;background:#1E5BD8;color:#fff;font-size:14px;font-weight:800;border-radius:10px;text-decoration:none;line-height:1.3;letter-spacing:-.01em}
  .mobile-sticky-cta__badge{flex:0 0 auto;padding:2px 6px;background:#DDFC54;color:#0E1A36;font-size:10px;font-weight:900;border-radius:4px;letter-spacing:.05em}
  .mobile-sticky-cta__sub{flex:0 0 auto;padding:14px 16px;background:#F1F6FF;color:#1E5BD8;border:1px solid #C8DCFF;font-size:13px;font-weight:800;border-radius:10px;text-decoration:none}
  /* 下部固定があるので body bottom padding */
  body{padding-bottom:80px}
  /* back-to-top の位置調整 */
  .back-to-top{bottom:84px !important}
}

/* ─────── 1.6.0: 3秒理解 + スクロール継続 + 相談ハードル低下 ─────── */

/* HERO: pre-CTA 安心ピル */
.hero-pre-cta{margin:14px 0 14px;padding:8px 16px;background:rgba(30,91,216,.08);border:1px solid rgba(30,91,216,.18);border-radius:99px;font-size:13.5px;color:#1E5BD8;font-weight:600;display:inline-flex;align-items:center;gap:6px;letter-spacing:-.01em}
.hero-pre-cta::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#1E5BD8}
.hero-pre-cta strong{color:#0E47C0;font-weight:800}

/* PAINS: ベネフィット行を青強調 */
.pain-card__benefit{margin:auto 0 0;padding-top:10px;border-top:1px dashed #C8D3E5;font-size:14.5px;font-weight:800;color:#1E5BD8;letter-spacing:-.01em}
.pain-card{display:flex;flex-direction:column}

/* WHAT WE DO: ベネフィット行をサイズアップ */
.wwd-card__benefit{font-size:14.5px;font-weight:800;color:#1E5BD8;background:#F1F6FF;border-radius:8px;padding:10px 14px;margin:10px 0 0;letter-spacing:-.01em;text-align:center}

/* BEFORE/AFTER モバイル時にカード形式 */
@media (max-width:600px){
  .ba-table{border:none;border-radius:0;background:transparent;display:flex;flex-direction:column;gap:14px}
  .ba-row{display:block !important;border:1px solid #E4E7EE;border-radius:12px;overflow:hidden;background:#fff}
  .ba-row--head{display:none !important}
  .ba-cell{display:block;padding:14px 16px;font-size:14px;line-height:1.6;border:none !important;background:transparent !important}
  .ba-cell--label{font-size:11px;font-weight:800;letter-spacing:.1em;color:#fff;background:#0E1A36 !important;padding:8px 16px}
  .ba-cell--before{color:#6B7689}
  .ba-cell--before::before{content:"BEFORE";display:block;font-size:10px;font-weight:800;color:#B8C0CE;letter-spacing:.1em;margin-bottom:6px}
  .ba-cell--after{color:#0E1A36;font-weight:600;background:#F1F6FF !important;border-top:1px solid #E4E7EE !important}
  .ba-cell--after::before{content:"AFTER";display:block;width:auto;height:auto;background:transparent;color:#1E5BD8;font-size:10px;font-weight:800;letter-spacing:.1em;margin:0 0 6px;border-radius:0}
}

/* INDUSTRIES: こんな相談が多いです */
.industry-card__tags{margin-top:auto;padding-top:14px;border-top:1px dashed #E4E7EE}
.industry-card__tags-label{font-size:11px;font-weight:800;letter-spacing:.08em;color:#6B7689;display:block;margin-bottom:8px}
.industry-card__tags ul{list-style:none;margin:0 0 14px;padding:0;display:flex;gap:6px;flex-wrap:wrap}
.industry-card__tags li{font-size:12.5px;color:#1E5BD8;background:#F1F6FF;border:1px solid #C8DCFF;padding:4px 10px;border-radius:99px;font-weight:600}

/* PACK STEP 横並び 4 */
.pack-card__steps--horizontal{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pack-card__steps--horizontal li{counter-increment:step;padding:18px 14px 18px 14px;text-align:center;background:#fff;border:1px solid #E4E7EE;border-radius:12px;font-size:14px;font-weight:700;color:#0E1A36;position:relative}
.pack-card__steps--horizontal li::before{content:counter(step);position:static;display:block;transform:none;width:32px;height:32px;margin:0 auto 8px;border-radius:50%;background:#1E5BD8;color:#fff;font-weight:900;font-size:14px;line-height:32px}
@media (max-width:900px){
  .pack-card__steps--horizontal{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .pack-card__steps--horizontal{grid-template-columns:1fr}
  .pack-card__steps--horizontal li{display:flex;align-items:center;gap:12px;text-align:left;padding:14px}
  .pack-card__steps--horizontal li::before{margin:0;flex:0 0 auto}
}

/* PROCESS 背景強調 */
.process-sec{background:#F1F6FF !important}
.process-sec .sec-head h2{color:#0E1A36}

/* 診断フォーム 折りたたみ */
.diagnosis-form__optional{margin-top:4px;background:#F6F8FB;border:1px solid #E3E8F0;border-radius:10px;overflow:hidden}
.diagnosis-form__optional summary{padding:14px 16px;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;font-size:13.5px;font-weight:700;color:#1E5BD8;user-select:none}
.diagnosis-form__optional summary::-webkit-details-marker{display:none}
.diagnosis-form__optional[open] summary{border-bottom:1px solid #E3E8F0;background:#fff}
.diagnosis-form__optional-ic{font-size:18px;font-weight:900;width:24px;height:24px;border-radius:50%;background:#1E5BD8;color:#fff;display:flex;align-items:center;justify-content:center;transition:.2s}
.diagnosis-form__optional[open] .diagnosis-form__optional-ic{transform:rotate(45deg)}
.diagnosis-form__optional-body{padding:16px;display:flex;flex-direction:column;gap:14px;background:#fff}

/* CTA Final: welcome 安心文 */
.cta-final__welcome{margin:0 0 28px;padding:14px 18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:10px;font-size:14px;line-height:1.85;color:#fff;text-align:center}
.cta-final__welcome strong{color:#fff;font-weight:800}

/* モバイル最適化 */
@media (max-width:768px){
  /* CTA ボタン 56px+ */
  .btn-xl, .btn-lg{min-height:56px;padding:16px 24px;font-size:15.5px}
  .btn-primary{min-height:56px}
  .hero-cta-card{min-height:60px}
  /* フォーム input 48px+ */
  .diagnosis-form__row input,
  .diagnosis-form__row select,
  .diagnosis-form__row textarea,
  .leadmag-form__row input,
  .leadmag-form__row textarea{min-height:48px;font-size:16px}
  .diagnosis-form__row textarea,
  .leadmag-form__row textarea{min-height:80px}
  /* FAQ タップ領域 48px+ */
  .faq summary,
  .q summary,
  details.q summary{min-height:48px;display:flex;align-items:center;padding:14px 18px;font-size:15px}
  /* 本文 16px */
  body{font-size:16px}
  .sec p{font-size:15px}
  /* カード余白 */
  .sec-inner{padding-left:16px;padding-right:16px}
  .industry-card,.pain-card,.wwd-card,.price-card,.fit-col,.ainono-col{padding:20px}
  /* 診断フォーム外側余白 */
  .diagnosis-form{padding:22px 18px}
}

/* ─────── 1.7.0: 公開前 UX 最終調整 ─────── */

/* HERO h1 行間広げ */
.hero h1{line-height:1.32 !important}
.hero-pre-cta{margin-top:12px}

/* STATE-CHECK カード高さ統一 + アイコン濃く */
.state-check__list li{min-height:64px;display:flex;align-items:center;padding-left:46px;font-size:14.5px;letter-spacing:-.005em}
.state-check__list li::before{width:24px;height:24px;background:#1E5BD8;color:#fff;font-size:14px;left:14px}
@media (max-width:600px){
  .state-check__list li{min-height:auto}
}

/* PAINS ベネフィット 18px */
.pain-card__benefit{font-size:18px;font-weight:800;color:#1E5BD8;margin-top:auto;padding-top:12px;border-top:1px dashed #C8D3E5;line-height:1.5;letter-spacing:-.01em}

/* WHAT WE DO: ベネフィットを上に配置 */
.wwd-card{display:flex;flex-direction:column;gap:8px}
.wwd-card .wwd-card__num{margin-bottom:0}
.wwd-card h3{margin:0}
.wwd-card .wwd-card__benefit{order:-1;margin:6px 0 10px;font-size:16px}
.wwd-card p:not(.wwd-card__benefit){font-size:13.5px;line-height:1.7;color:#46546A}

/* INDUSTRIES よくある状態 */
.industry-card__state{margin:0 0 4px;padding:8px 12px;background:#FFF7ED;border-left:3px solid #F59E0B;font-size:13px;font-weight:700;color:#7A4D14;border-radius:0 6px 6px 0;line-height:1.5}

/* PACK STEP note + pledge */
.pack-card__steps-note{margin:14px 0 0;text-align:center;font-size:14px;color:#46546A;line-height:1.7}
.pack-card__steps-note strong{color:#1E5BD8;font-weight:800}
.pack-card__pledge{margin:0 0 0;padding:14px 18px;background:#F1F6FF;border:1px solid #C8DCFF;border-radius:10px;font-size:13.5px;color:#1F2A48;line-height:1.7;text-align:center}
.pack-card__pledge strong{color:#1E5BD8;font-weight:800}

/* 診断フォーム welcome 上下 */
.diagnosis-form__welcome{margin:0 0 4px;padding:14px 16px;background:#F1F6FF;border:1px solid #C8DCFF;border-radius:10px;font-size:13.5px;color:#1F2A48;line-height:1.75}
.diagnosis-form__welcome strong{color:#1E5BD8;font-weight:800}
.diagnosis-form__welcome-bottom{margin:0 0 10px;padding:12px 14px;background:#FAFAFB;border:1px dashed #C8D3E5;border-radius:8px;font-size:13px;color:#46546A;line-height:1.75}
.diagnosis-form__welcome-bottom strong{color:#0E1A36;font-weight:800}

/* PROFILE 幅拡大（v1.7 fix: .profile-row の旧grid 240px+1fr を解除して内側 .profile-card を優先） */
#profile .profile-row{display:block !important;grid-template-columns:none !important;max-width:920px}
.profile-card{display:grid;grid-template-columns:140px 1fr;gap:32px;align-items:start}
.profile-avatar{width:140px;height:140px;flex-shrink:0}
.profile-body{padding-top:4px;min-width:0}
@media (max-width:600px){
  .profile-card{grid-template-columns:1fr;text-align:center}
  .profile-avatar{margin:0 auto;width:120px;height:120px}
}

/* FAQ 結論先出し */
.faq .ans{margin:0;padding:0}
.faq .ans-lead{margin:0;font-size:15.5px;line-height:1.75;color:#0E1A36}
.faq .ans-lead strong{font-weight:900;color:#0E1A36}
.faq .ans-rest{margin:10px 0 0;font-size:14px;line-height:1.85;color:#46546A;padding-top:10px;border-top:1px dashed #E4E7EE}

/* FIT-CHECK 向いていないケース 薄グレー化 */
.fit-col--no{background:#FAFAFB;border-color:#E0E4EC}
.fit-col--no h3{color:#9AA3B5;border-bottom-color:#E0E4EC}
.fit-col--no li{color:#6B7689}
.fit-col--no li::before{color:#C4CAD4}

/* 最終CTA welcome top */
.cta-final__welcome-top{margin:0 0 14px;padding:10px 18px;background:rgba(221,252,84,.18);border:1px solid rgba(221,252,84,.5);border-radius:99px;font-size:14px;color:#fff;text-align:center;font-weight:700;display:inline-block}
.cta-final__welcome-top strong{color:#DDFC54;font-weight:900}

/* CTA ボタン高さ統一 56px */
.btn{min-height:56px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s;font-weight:700}
.btn-lg{min-height:56px;padding:0 24px;font-size:15px}
.btn-xl{min-height:62px;padding:0 32px;font-size:16px}
.btn-primary{box-shadow:0 4px 12px rgba(30,91,216,.18)}
.btn-primary:hover{box-shadow:0 6px 18px rgba(30,91,216,.28);transform:translateY(-1px)}
.btn-soft{min-height:56px}
.btn-outline{min-height:56px}

/* モバイル詳細最適化 */
@media (max-width:768px){
  /* HERO h1 サイズ */
  .hero h1{font-size:36px !important;line-height:1.32}
  /* CTA 縦並び */
  .sec-cta-row,.cta-final__buttons,.pack-card__cta{flex-direction:column;align-items:stretch}
  .sec-cta-row .btn,.cta-final__buttons .btn,.pack-card__cta .btn{width:100%}
  /* 業種カード 1列 */
  .industries-grid{grid-template-columns:1fr !important}
  /* FAQ accordion 速度改善 */
  details.q{transition:none}
  details.q[open] summary .ic{transform:rotate(45deg)}
}

/* PAINS タイトル：3行ガード（句点で必ず改行されすぎないように） */
.pain-card h3{font-size:15px;line-height:1.55;font-weight:800;color:#0E1A36;margin:0}

/* ─────── 1.8.0: 公開直前 自分ごと化 + 安心強化 ─────── */

/* STATE-CHECK 2層化（タイトル+補足） */
.state-check__list li{flex-direction:column;align-items:flex-start;gap:4px;padding:14px 14px 14px 46px;min-height:auto}
.state-check__list li strong{color:#fff;font-weight:800;font-size:14.5px;letter-spacing:-.005em;line-height:1.4;display:block}
.state-check__list li span{font-size:12px;color:#B8C7E1;line-height:1.5;font-weight:500;display:block}

/* PAINS featured（優先2枚 薄青強調） */
.pain-card--featured{background:#F1F6FF;border-color:#1E5BD8;position:relative;box-shadow:0 6px 20px -8px rgba(30,91,216,.18)}
.pain-card__featured-tag{position:absolute;top:-10px;left:14px;display:inline-block;padding:3px 10px;background:#1E5BD8;color:#fff;font-size:10.5px;font-weight:900;letter-spacing:.08em;border-radius:99px}
.pain-card--featured .pain-card__ic{background:#1E5BD8;color:#fff}
.pain-card--featured .pain-card__benefit{color:#0E47C0;font-weight:900}

/* WWD 思想文 */
.wwd-philosophy{max-width:760px;margin:24px auto 0;padding:18px 22px;background:#fff;border:1px solid #C8DCFF;border-radius:12px;font-size:15.5px;line-height:1.8;color:#0E1A36;text-align:center;letter-spacing:-.005em}
.wwd-philosophy strong{color:#1E5BD8;font-weight:900}

/* AI YES/NO 「人に残す」強調 */
.ainono-col--no{background:#FFFCEB;border-color:#F5C660;border-width:2px}
.ainono-col--no h3{color:#7A4D14;font-weight:900;border-bottom-color:#F5C660}
.ainono-col--no li{color:#0E1A36;font-weight:500}
.ainono-col--no li::before{content:"人";background:#7A4D14;color:#fff;width:18px;height:18px;border-radius:50%;font-size:11px;line-height:18px;text-align:center;display:inline-flex;align-items:center;justify-content:center;left:0;font-weight:900}

/* BEFORE/AFTER 改善後タグ */
.ba-tag{display:inline-block;padding:2px 10px;margin-right:10px;background:#1E5BD8;color:#fff;font-size:11px;font-weight:800;border-radius:4px;letter-spacing:.04em;vertical-align:middle}

/* PRICING ターゲット */
.price-card__target{margin:0;padding:6px 12px;background:#F1F6FF;border-radius:6px;font-size:12.5px;font-weight:700;color:#1E5BD8;line-height:1.5;display:inline-block;align-self:flex-start}
.price-card--recommended .price-card__target{background:#fff;border:1px solid #C8DCFF}

/* 資料DL intro */
.leadmag-form__intro{margin:0 0 14px;padding:12px 16px;background:#F1F6FF;border-radius:10px;font-size:13.5px;color:#1F2A48;line-height:1.7}
.leadmag-form__intro strong{color:#1E5BD8;font-weight:800}

/* PROFILE signature + quote */
.profile-signature{display:inline-block;margin-left:12px;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:18px;color:#1E5BD8;font-weight:400;letter-spacing:.02em;transform:translateY(-1px)}
.profile-quote{margin:14px 0 0;padding:14px 18px;background:#F6F8FB;border-left:4px solid #1E5BD8;border-radius:0 8px 8px 0;font-size:14px;line-height:1.85;color:#1F2A48;font-style:italic;letter-spacing:-.005em}

/* FIT-CHECK タイトル変更後の余白調整（タイトル長くなったので line-height 調整） */
.fit-col--no h3{line-height:1.45}

/* 診断フォーム 送信後の流れ強調 */
.diagnosis-form__after{margin-top:18px;padding:22px;background:#F1F6FF;border:2px solid #1E5BD8;border-radius:14px;box-shadow:0 8px 24px -10px rgba(30,91,216,.15)}
.diagnosis-form__after-label{font-size:12px;font-weight:900;letter-spacing:.12em;color:#1E5BD8;margin:0 0 14px;text-align:center}
.diagnosis-form__after-label::before{content:"▼ ";color:#1E5BD8}

/* モバイル: HERO 90vh 以下 + 縦並び補強 */
@media (max-width:768px){
  .hero{max-height:90vh;min-height:auto;padding:32px 16px}
  .hero h1{font-size:32px !important;line-height:1.32}
  .hero-lede{font-size:14.5px}
  .hero-pre-cta{font-size:12.5px}
  .hero-cta-card{min-height:64px}
  /* CTA 縦並び補強 */
  .hero-ctas{flex-direction:column;align-items:stretch}
  .hero-sub-cta{text-align:center;padding:14px}
  /* STATE-CHECK 1列+余白 */
  .state-check__list{grid-template-columns:1fr}
  /* AI YES/NO スマホ縦 */
  .ainono-grid{grid-template-columns:1fr}
}

/* HERO h1 line-height 念のため */
.hero h1{line-height:1.32}

/* ─────── 1.9.0: 最終実戦調整 ─────── */
.hero-target{margin:6px 0 12px;font-size:13.5px;color:#46546A;letter-spacing:-.005em}
.hero-target strong{color:#0E1A36;font-weight:800}
.hero-cta-meta{display:inline-block;margin-top:6px;padding:2px 10px;background:#F1F6FF;color:#1E5BD8;font-size:12px;font-weight:700;border-radius:99px;letter-spacing:.01em}
.hero-cta-note{font-size:13.5px;line-height:1.85}
.hero-cta-note strong{color:#1E5BD8;font-weight:800}

/* BEFORE/AFTER タグ チェック付き */
.ba-tag{position:relative;padding-left:22px}
.ba-tag::before{content:"";position:absolute;left:6px;top:50%;transform:translateY(-50%);width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform-origin:center;transform:translateY(-65%) rotate(-45deg);box-sizing:border-box}

/* ─────── 2.0.0: 公開FIX最終調整 ─────── */
.ainono-pledge{margin:28px auto 0;max-width:760px;padding:16px 22px;background:#FFFCEB;border:1px solid #F5C660;border-radius:12px;font-size:14.5px;line-height:1.8;color:#7A4D14;text-align:center;letter-spacing:-.005em}
.ainono-pledge strong{color:#7A4D14;font-weight:900;font-size:16px}

/* ─────── 2.1.1: SBAC v2.1.0 レビュー反映微調整 ─────── */
.diagnosis-form__optional-note{margin:0 0 14px;padding:10px 12px;background:#FFFCEB;border:1px solid #F5C660;border-radius:8px;font-size:12.5px;color:#7A4D14;line-height:1.65}
.price-card__first{margin:0;font-size:12.5px;color:#46546A;line-height:1.5}
.price-card__first strong{color:#1E5BD8;font-weight:800}
.cta-final__note strong{color:#fff;font-weight:800}

/* ─────── 2.2.0: /diagnosis/ 専用ページ + SBAC追加レビュー反映 ─────── */

/* ───── /diagnosis/ ページ専用 ───── */

/* dx-hero */
.diagnosis-page{background:#fff}
.dx-hero{padding:80px 24px 56px;background:linear-gradient(180deg,#F1F6FF 0%,#FFFFFF 70%);text-align:center}
.dx-hero__inner{max-width:760px;margin:0 auto}
.dx-hero__eyebrow{display:inline-block;padding:6px 16px;background:#1E5BD8;color:#fff;font-size:11.5px;font-weight:900;letter-spacing:.1em;border-radius:99px;margin-bottom:20px}
.dx-hero__h1{font-size:clamp(28px,4vw,40px);font-weight:900;letter-spacing:-.02em;line-height:1.4;color:#0E1A36;margin:0 0 24px}
.dx-hero__h1 .blue{color:#1E5BD8}
.dx-hero__lede{font-size:16px;line-height:1.95;color:#1F2A48;margin:0 0 18px}
.dx-hero__lede strong{color:#0E1A36;font-weight:800}
.dx-hero__meta{display:inline-block;padding:8px 18px;background:#fff;border:1px solid #C8DCFF;color:#1E5BD8;font-size:13px;font-weight:700;border-radius:99px;margin-bottom:28px}
.dx-hero__cta-row{margin-bottom:18px}
.dx-hero__supplement{font-size:13.5px;color:#46546A;line-height:1.85;margin:0}

/* dx-steps */
.dx-steps__list{list-style:none;counter-reset:dxstep;margin:32px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.dx-step{counter-increment:dxstep;padding:24px 28px 24px 32px;background:#fff;border:1px solid #E4E7EE;border-radius:14px;position:relative;display:flex;flex-direction:column;gap:8px}
.dx-step__num{font-size:11px;font-weight:900;letter-spacing:.12em;color:#1E5BD8}
.dx-step h3{font-size:17px;font-weight:800;color:#0E1A36;margin:0;line-height:1.5;letter-spacing:-.01em}
.dx-step p{font-size:14px;line-height:1.85;color:#46546A;margin:0}

/* dx-memo */
.dx-memo__philosophy{margin-bottom:14px;padding:14px 18px;background:#fff;border:1px solid #C8DCFF;border-radius:10px;font-size:15px;line-height:1.85;color:#0E1A36;text-align:center}
.dx-memo__philosophy strong{color:#1E5BD8;font-weight:900}
.dx-memo__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.dx-memo-card{background:#fff;border:1px solid #E4E7EE;border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:12px;position:relative}
.dx-memo-card__tag{position:absolute;top:-14px;left:18px;width:36px;height:36px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:16px;letter-spacing:0}
.dx-memo-card--a .dx-memo-card__tag{background:#1E5BD8}
.dx-memo-card--b .dx-memo-card__tag{background:#7A4D14}
.dx-memo-card--c .dx-memo-card__tag{background:#9AA3B5}
.dx-memo-card--a{border-color:#1E5BD8;background:#F8FBFF}
.dx-memo-card h3{font-size:16px;font-weight:800;color:#0E1A36;margin:6px 0 0;line-height:1.5}
.dx-memo-card p{font-size:13.5px;line-height:1.75;color:#46546A;margin:0}
.dx-memo__extra{margin-top:24px;padding:18px 22px;background:#F6F8FB;border-radius:10px;font-size:14px;line-height:1.85;color:#1F2A48}
.dx-memo__extra p{margin:0;padding:6px 0}
.dx-memo__extra strong{color:#1E5BD8}

/* dx-sample */
.dx-sample__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.dx-sample-block{padding:24px;border-radius:12px;background:#fff;border:1px solid #E4E7EE}
.dx-sample-block--a{border-color:#C8DCFF;background:#F8FBFF}
.dx-sample-block--b{border-color:#F5C660;background:#FFFCEB}
.dx-sample-block--c{background:#FAFAFB;border-color:#E0E4EC}
.dx-sample-block__tag{font-size:13px;font-weight:900;letter-spacing:.02em;margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid #E4E7EE}
.dx-sample-block--a .dx-sample-block__tag{color:#1E5BD8;border-color:#C8DCFF}
.dx-sample-block--b .dx-sample-block__tag{color:#7A4D14;border-color:#F5C660}
.dx-sample-block--c .dx-sample-block__tag{color:#6B7689;border-color:#E0E4EC}
.dx-sample-block ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.dx-sample-block li{font-size:14px;color:#1F2A48;padding-left:16px;position:relative;line-height:1.6}
.dx-sample-block li::before{content:"·";position:absolute;left:4px;top:0;color:currentColor;font-weight:900;font-size:18px;line-height:1}
.dx-sample__note{margin:24px 0 0;font-size:12.5px;color:#6B7689;text-align:center}

/* dx-pledge */
.dx-pledge__pills{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:32px}
.dx-pledge-pill{padding:10px 20px;background:#0E1A36;color:#fff;font-size:13.5px;font-weight:700;border-radius:99px;letter-spacing:-.01em}
.dx-pledge__note{margin:28px auto 0;max-width:640px;padding:18px 22px;background:#F1F6FF;border-radius:10px;font-size:14px;line-height:1.85;color:#1F2A48;text-align:center}
.dx-pledge__note strong{color:#1E5BD8;font-weight:900}

/* dx-form-sec */
.dx-form-sec{background:linear-gradient(180deg,#F1F6FF 0%,#FFFFFF 60%)}

/* dx-final */
.dx-final__box{background:#0E1A36;color:#fff;border-radius:24px;padding:64px 48px;text-align:center;max-width:760px;margin:0 auto}
.dx-final__box h2{font-size:clamp(24px,3.6vw,32px);font-weight:900;letter-spacing:-.02em;line-height:1.45;color:#fff;margin:0 0 20px}
.dx-final__box h2 .blue{color:#A8C5FF}
.dx-final__box p{font-size:15px;line-height:1.9;color:#C8D4EE;margin:0 0 28px}
.dx-final__cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}
.dx-final__cta-row .btn-soft{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.2)}
.dx-final__cta-row .btn-soft:hover{background:rgba(255,255,255,.18)}
.dx-final__note{font-size:13px;line-height:1.85;color:#A8B7D4;margin:0}
.dx-final__note strong{color:#fff;font-weight:800}

@media (max-width:900px){
  .dx-memo__cards{grid-template-columns:1fr;gap:24px}
  .dx-sample__grid{grid-template-columns:1fr;gap:12px}
  .dx-final__box{padding:40px 24px}
  .dx-final__cta-row{flex-direction:column;align-items:stretch}
}

/* ───── トップDIAGNOSISセクション縮小版 ───── */
.diagnosis-sec--summary{padding-bottom:64px}
.diagnosis-summary-pledge{margin:24px auto 0;max-width:640px;padding:14px 20px;background:#fff;border:1px dashed #1E5BD8;border-radius:10px;font-size:14px;color:#1F2A48;line-height:1.75;text-align:center}
.diagnosis-summary-pledge strong{color:#1E5BD8;font-weight:800}
.diagnosis-summary-cta{margin-top:32px;text-align:center}
.diagnosis-summary-cta__note{margin:14px 0 0;font-size:12.5px;color:#6B7689}

/* ───── SBAC 追加レビュー反映 軽量微調整 ───── */

/* WWD最初3カード強調・残り4枚opacity下げ */
.wwd-card{transition:opacity .2s}
.wwd-grid .wwd-card:nth-child(n+4){opacity:.62}
.wwd-grid .wwd-card:nth-child(n+4):hover{opacity:1}
.wwd-grid .wwd-card:nth-child(-n+3){border-color:#1E5BD8;background:#F8FBFF}
.wwd-grid .wwd-card:nth-child(-n+3) .wwd-card__num{color:#1E5BD8;font-weight:900}

/* BEFORE/AFTER Before側に×アイコン */
.ba-cell--before{padding-left:38px;position:relative}
.ba-cell--before::after{content:"×";position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;background:#B8C0CE;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;line-height:1}
@media (max-width:600px){
  .ba-cell--before::after{position:static;display:inline-flex;transform:none;margin-right:8px;vertical-align:middle}
  .ba-cell--before{padding-left:14px}
}

/* FIT-CHECK 向いている側を薄青背景 */
.fit-col--yes{background:#F1F6FF;border-color:#1E5BD8;border-width:2px}
.fit-col--yes h3{color:#1E5BD8;font-weight:900}
.fit-col--yes li{color:#0E1A36;font-weight:500}

/* 最終CTA青グラデを10-15%弱める */
.cta-final{background:linear-gradient(135deg,#2E69D8 0%,#2858B0 60%,#1A2E4A 100%) !important}

/* STATE-CHECK カード余白増 */
.state-check__list li{padding-top:18px;padding-bottom:18px}
.state-check__list li strong{margin-bottom:2px}

/* フォーム 3区分カードフォント強化 */
.diagnosis-3__card strong{font-size:16px}
.diagnosis-3__card .num{width:38px;height:38px;font-size:15px}

/* ─────── 2.2.1: /diagnosis/ ページ微調整 ─────── */
/* HERO メタピル +1px */
.dx-hero__meta{font-size:14px;padding:9px 20px}
/* Aカード強調 */
.dx-memo-card--a{border-color:#1E5BD8;border-width:2px;background:#F7FBFF;box-shadow:0 4px 14px -6px rgba(30,91,216,.18)}
.dx-memo-card--a .dx-memo-card__tag{box-shadow:0 4px 10px -3px rgba(30,91,216,.35)}
/* 送信ボタン下の安心文 */
.diagnosis-form__submit-note{margin:8px 0 0;font-size:12.5px;color:#46546A;text-align:center;line-height:1.7}


/* CTAボタン内トップ文言 + 点滅ドット（pill-pulse をボタン内でも有効化） */
.hero-cta-card__top{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.hero-cta-card__top .pill-pulse{width:7px;height:7px;border-radius:99px;background:#ec4899;box-shadow:0 0 0 3px rgba(236,72,153,.20),0 0 10px rgba(236,72,153,.55);animation:rs-pulse 2s ease-in-out infinite;display:inline-block;flex-shrink:0}


/* スマホ：hero-lede 中央寄せ ＋ CTAボタン内トップ文言を表示（点滅ドット付き・折り返し許可） */
@media (max-width:600px){
  .hero-lede{text-align:center}
  .hero-cta-card .hero-cta-card__top{display:inline-flex;white-space:normal;font-size:11px;line-height:1.4}
}


/* PC：CTAボタンを少し下げる（スマホは対象外） */
@media (min-width:601px){
  .hero-ctas-focused .hero-cta-card{margin-top:10px}
}


/* ===== ヒーロー追加調整 2026-06-01 ===== */
/* スマホ：ボタン内トップ文言を非表示に戻す（noteに任せる） */
@media (max-width:600px){
  .hero-cta-card .hero-cta-card__top{display:none}
}
/* note 全体を中央寄せ＋見出しを黒太字に */
.hero-cta-note{text-align:center}
.hero-cta-note strong{color:#0E1A36}
/* PC専用：5分・Zoom不要・完全無料メタ（noteはスマホ専用なのでPC用に別途表示） */
.hero-cta-meta-pc{display:none;margin-top:8px}
@media (min-width:601px){.hero-cta-meta-pc{display:block}}
/* スマホ/タブレット：ヒーロー画像を等比表示にして下部の見切れを解消 */
@media (max-width:900px){
  .hero-illust .hero-img-uploaded{height:auto;max-height:none}
}


/* hero-cta-meta: 青ピル→✓付きダークグレー（リンク誤認を解消） */
.hero-cta-meta{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 14px;background:none;padding:0;border-radius:0;margin-top:8px;color:#46546A;font-size:12.5px;font-weight:700;letter-spacing:.01em}
.hero-cta-meta .ck{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.hero-cta-meta .ck::before{content:"✓";color:#1AA45A;font-weight:900;font-size:12px}


/* メタ：チェックを囲みバッジ（ブランドブルーの丸+白✓）＋PCメタは中央寄せ */
.hero-cta-meta .ck::before{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--blue,#0B74FF);color:#fff;content:"✓";font-size:10px;font-weight:900;line-height:1;flex-shrink:0}
@media (min-width:601px){.hero-cta-meta-pc{align-self:center}}


/* メタ：チェックバッジをブランドライムに（ライム丸+濃紺枠+濃紺✓） */
.hero-cta-meta .ck::before{background:#DDFC54;color:#0E1A36;border:1.5px solid #0E1A36;width:17px;height:17px;font-size:10px}


/* サブCTAを中央寄せ */
.hero-sub-cta{align-self:center}


/* ===== H2見出しを青系グラデーション背景で統一（2026-06-01） ===== */
.sec-head h2{
  display:inline-block;
  background:linear-gradient(135deg,#0B74FF 0%,#1E5BD8 55%,#0A4FC0 100%);
  color:#fff;
  padding:16px 30px;
  border-radius:16px;
  box-shadow:0 12px 30px -14px rgba(11,116,255,.55);
}
.sec-head h2 .blue{color:#DDFC54}   /* 青背景上の強調はブランドライムに */
.sec-head h2 .green{color:#DDFC54}
.sec-head h2 .u{background:none;padding:0}
.process-sec .sec-head h2{color:#fff}  /* process節の濃紺指定を白に揃える */
@media (max-width:600px){
  .sec-head h2{padding:12px 18px;border-radius:13px}
}


/* ===== H2を画面全幅の帯（フルブリード）に変更 ===== */
.sec-head h2{
  display:block;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  margin-top:10px;
  margin-bottom:10px;
  padding:30px 24px;
  border-radius:0;
  box-shadow:none;
  box-sizing:border-box;
}
body{overflow-x:clip}
@media (max-width:600px){
  .sec-head h2{padding:22px 18px;border-radius:0}
}


/* PAINSカード：解決ステップ(整理後)を明確化＋benefitを具体文向けに可読化 */
.pain-card__benefit{font-size:14.5px;font-weight:700;color:#0E47C0;line-height:1.65}
.pain-card__fix-tag{display:inline-block;margin-right:7px;padding:2px 9px;background:#1E5BD8;color:#fff;font-size:10.5px;font-weight:900;letter-spacing:.06em;border-radius:99px;vertical-align:2px}


/* PAINSカード：PCのみhoverでbenefitをふわっと強調（スマホ/タッチは常時表示・演出なし） */
@media (hover:hover) and (min-width:601px){
  .pain-card__benefit{
    transition:background-color .28s ease, box-shadow .28s ease, transform .28s ease, color .28s ease;
    border-radius:10px;
    padding:12px;
    margin:auto -12px 0;
  }
  .pain-card:hover .pain-card__benefit{
    background:linear-gradient(180deg,#F1F6FF,#EAF2FF);
    box-shadow:0 8px 20px -10px rgba(30,91,216,.40);
    transform:translateY(-2px);
    color:#0A3DB0;
  }
  .pain-card:hover .pain-card__fix-tag{box-shadow:0 0 0 4px rgba(30,91,216,.16)}
}


/* 整理後タグをライムに・benefitを濃い茶系#6c272dに（青文字・青太字を廃止） */
.pain-card__fix-tag{background:#DDFC54;color:#0E1A36}
.pain-card__benefit{color:#6c272d}
.pain-card--featured .pain-card__benefit{color:#6c272d}
@media (hover:hover) and (min-width:601px){
  .pain-card:hover .pain-card__benefit{
    background:linear-gradient(180deg,#F7FBE3,#EEF7C8);
    box-shadow:0 8px 20px -10px rgba(14,26,54,.28);
    color:#531d22;
  }
  .pain-card:hover .pain-card__fix-tag{box-shadow:0 0 0 4px rgba(221,252,84,.50)}
}


/* 整理後バッジ: 背景#e95388・文字ホワイト（hoverリングもローズに） */
.pain-card__fix-tag{background:#e95388;color:#fff}
@media (hover:hover) and (min-width:601px){
  .pain-card:hover .pain-card__fix-tag{box-shadow:0 0 0 4px rgba(233,83,136,.24)}
}


/* 整理後バッジを独立行に・本文はバッジの下から開始 */
.pain-card__fix-tag{display:block;width:fit-content;margin:0 0 8px}


/* 整理後バッジ背景を#b33e5cに */
.pain-card__fix-tag{background:#b33e5c}
@media (hover:hover) and (min-width:601px){
  .pain-card:hover .pain-card__fix-tag{box-shadow:0 0 0 4px rgba(179,62,92,.24)}
}


/* 整理後バッジ: 背景#c82c55・太字解除 */
.pain-card__fix-tag{background:#c82c55;font-weight:400}
@media (hover:hover) and (min-width:601px){
  .pain-card:hover .pain-card__fix-tag{box-shadow:0 0 0 4px rgba(200,44,85,.24)}
}


/* pains-cost-note 本文をグレーに（強調は維持） */
.pains-cost-note{color:#6B7689}


/* pains-cost-note 本文を黒文字に */
.pains-cost-note{color:#0E1A36}


/* ===== PAINS A案: Before/After 再構成（試作・featured2枚） ===== */
.pain-ba{margin-top:auto;display:flex;flex-direction:column;gap:7px;padding-top:14px;border-top:1px dashed #C8D3E5}
.pain-ba__now,.pain-ba__after{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border-radius:10px}
.pain-ba__now{background:#fff;border:1px solid #E4E7EE}
.pain-ba__after{background:#FCEEF2;border:1px solid #F4D3DF}
.pain-ba__label{flex-shrink:0;font-size:10.5px;font-weight:700;letter-spacing:.04em;padding:2px 9px;border-radius:99px;line-height:1.7}
.pain-ba__now .pain-ba__label{background:#F4F6F9;color:#6B7689;border:1px solid #D7DDE6}
.pain-ba__label--after{background:#c82c55;color:#fff}
.pain-ba__text{font-size:13px;line-height:1.55;padding-top:1px}
.pain-ba__now .pain-ba__text{color:#46546A}
.pain-ba__after .pain-ba__text{color:#6c272d;font-weight:700}
.pain-ba__arrow{align-self:center;color:#C0C7D2;font-size:15px;line-height:1;margin:-1px 0}


/* 現状バッジをブランドブルー背景＋白文字に */
.pain-ba__now .pain-ba__label{background:var(--blue,#0B74FF);color:#fff;border:none}


/* ===== PAINSカード統一: 全8枚=白背景+青枠 / 現状は囲みなし / 矢印を濃いグレーに ===== */
.pain-card{background:#fff;border-color:#1E5BD8}
.pain-card:hover{border-color:#1648A8}
.pain-card--featured{background:#fff;box-shadow:none}
.pain-ba__now{background:none;border:none;padding:0}
.pain-ba__arrow{color:#46546A;font-size:16px;font-weight:700}


/* 現状・整理後ともバッジを上、テキストを下に縦積み */
.pain-ba__now,.pain-ba__after{flex-direction:column;align-items:flex-start;gap:6px}


/* PAINSタイトル: ライムのマーカー（テキストにハイライト・改行追従） */
.pain-h3-mark{
  display:inline;
  background:linear-gradient(transparent 58%, #DDFC54 58%);
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
  padding:0 2px;
}


/* 整理後ブロックの背景を白に（枠線・文字色は維持） */
.pain-ba__after{background:#fff}


/* 整理後ブロックの囲い線も削除(現状と同様に箱なし) */
.pain-ba__after{border:none;padding:0}


/* ===== what-we-do: 6枚フラット化 ＋ 16:9サムネ枠（番号→サムネ→タイトル→benefit→説明） ===== */
.wwd-grid .wwd-card:nth-child(n+4){opacity:1}
.wwd-grid .wwd-card:nth-child(-n+3){border-color:var(--line);background:#fff}
.wwd-grid .wwd-card:nth-child(-n+3) .wwd-card__num{color:var(--blue);font-weight:800}
.wwd-card .wwd-card__benefit{order:0}
.wwd-card__thumb{aspect-ratio:16/9;width:100%;margin:4px 0 2px;border-radius:10px;background:linear-gradient(135deg,#EAF1FE,#F4F7FD);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#9FB2D4;overflow:hidden}
.wwd-card__thumb img{width:100%;height:100%;object-fit:cover;display:block}


/* wwd-philosophy 強調を黒太字に */
.wwd-philosophy strong{color:#0E1A36}

/* ===== what-we-do カード再構成: 番号+タイトルを上部同列 / benefitを電球付き付箋に ===== */
.wwd-card{position:relative}
.wwd-card__head{display:flex;align-items:flex-start;gap:10px}
.wwd-card__head .wwd-card__num{margin-top:2px}
.wwd-card__head h3{margin:0}
.wwd-card__thumb{position:relative}
.wwd-card__note{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;gap:6px;max-width:82%;background:#fff;border:1.5px solid #1E5BD8;border-radius:9px;padding:6px 11px;font-size:12px;font-weight:800;color:#0E1A36;line-height:1.3;letter-spacing:-.01em;box-shadow:0 5px 12px -5px rgba(14,26,54,.30);transform:rotate(-2deg)}
.wwd-card__note-ic{color:#F59E0B;flex-shrink:0}


/* CTAボタン: 黒フチと影を少しだけ弱める(影は維持) */
.hero-cta-card{border:1.5px solid #0E1A36;box-shadow:4px 4px 0 rgba(14,26,54,.42)}
.hero-cta-card:hover{box-shadow:5px 5px 0 rgba(14,26,54,.42)}
.hero-cta-card:active{box-shadow:2px 2px 0 rgba(14,26,54,.42)}


/* STATE-CHECK: サブコピー＋footerライム文字 */
.state-check__sub{max-width:720px;margin:14px auto 0;font-size:14.5px;line-height:1.85;color:#C6D2E8}
.state-check__footer .sc-lime{color:#DDFC54;font-weight:800}


/* ===== PAINS再構成: 見出し=太字+左線アクセント / 現状=プレーン説明 ===== */
.pain-card h3{border-left:3px solid #1E5BD8;padding-left:11px;font-weight:800;line-height:1.5}
.pain-card__cost{border-top:none;padding-top:0;margin-top:0;padding-left:14px;color:#6B7689;font-size:13.5px;line-height:1.7}


/* ===== what-we-do: 実画像サムネ＋下部の効果ラベル（付箋廃止・余白を少し詰める） ===== */
.wwd-card{padding:24px}
.wwd-card__desc{margin:0}
.wwd-card__effect{display:inline-flex;align-items:center;gap:6px;margin:2px 0 0;width:fit-content;font-size:12.5px;font-weight:700;color:#0E1A36;background:#F4F7FD;border:1px solid #E4E7EE;border-radius:8px;padding:6px 11px;line-height:1.4;letter-spacing:-.005em}
.wwd-card__effect-ic{color:#7CB518;flex-shrink:0}


/* 付箋の傾きを解除して水平に */
.wwd-card__note{transform:none}


/* CTAボタンを角丸50に（対象のみ） */
.btn--pill{border-radius:50px}

/* ===== ai-yes-no カード: 白背景＋手の込んだデザイン（両方とも肯定アイコン） ===== */
.ainono-col{background:#fff;border:1px solid #E4E7EE;border-radius:16px;padding:28px;position:relative;overflow:hidden;box-shadow:0 10px 30px -18px rgba(14,26,54,.25);transition:.2s ease}
.ainono-col::before{content:"";position:absolute;top:0;left:0;right:0;height:4px}
.ainono-col:hover{transform:translateY(-2px);box-shadow:0 16px 38px -18px rgba(14,26,54,.32)}
.ainono-col--yes{background:#fff;border-color:#D6E4FE}
.ainono-col--yes::before{background:linear-gradient(90deg,#0B74FF,#1E5BD8)}
.ainono-col--no{background:#fff;border-color:#D7DDE6;border-width:1px}
.ainono-col--no::before{background:linear-gradient(90deg,#0E1A36,#46546A)}
.ainono-col__head{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding-bottom:16px;border-bottom:1px solid #EEF1F6}
.ainono-col__ic{flex-shrink:0;width:44px;height:44px;border-radius:12px;display:grid;place-items:center}
.ainono-col--yes .ainono-col__ic{background:#EAF2FF;color:#1E5BD8}
.ainono-col--no .ainono-col__ic{background:#EEF1F6;color:#0E1A36}
.ainono-col h3{margin:0;font-size:18px;font-weight:900;letter-spacing:-.01em;border:none;padding:0;display:block;width:auto;color:#0E1A36}
.ainono-col--yes h3,.ainono-col--no h3{color:#0E1A36}
.ainono-col li{font-size:14.5px;line-height:1.6;color:#1F2A48;padding-left:30px;position:relative;font-weight:500;min-height:auto}
.ainono-col li::before{position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:900;background:#EAF2FF}
.ainono-col--yes li::before{content:"✓";background:#EAF2FF;color:#1E5BD8}
.ainono-col--no li::before{content:"✓";background:#EEF1F6;color:#0E1A36}


/* 図解サムネ: containで自然表示・カード背景と馴染ませる */
.wwd-card__thumb{background:#fff;border:1px solid #EEF1F6}
.wwd-card__thumb img{object-fit:contain}
/* ai-yes-no カード上部の人物写真（フルブリード・16:9） */
.ainono-col__img{margin:-28px -28px 22px;aspect-ratio:16/9;overflow:hidden;background:#EAF2FF}
.ainono-col__img img{width:100%;height:100%;object-fit:cover;display:block}


/* ===== CTAボタンをヒーローCTAと同じ見た目に（ライム＋濃枠＋オフセット影＋角丸50） ===== */
.btn--pill{border-radius:50px;border:1.5px solid #0E1A36;box-shadow:4px 4px 0 rgba(14,26,54,.42)}
.btn--pill:hover{box-shadow:6px 6px 0 rgba(14,26,54,.42);transform:translate(-1px,-1px)}
.btn--pill:active{box-shadow:2px 2px 0 rgba(14,26,54,.42);transform:translate(1px,1px)}
.btn-primary.btn--pill{background:#DDFC54;color:#0E1A36}
.btn-primary.btn--pill:hover{background:#DDFC54}

/* ===== ai-yes-no カード: 画像を左・テキスト右の横並び（画像は伸ばさずcover） ===== */
.ainono-col{display:flex;align-items:stretch;gap:0;padding:0;overflow:hidden}
.ainono-col__img{flex:0 0 40%;max-width:40%;align-self:stretch;margin:0;aspect-ratio:auto;overflow:hidden;background:#EAF2FF}
.ainono-col__img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.ainono-col__body{flex:1;min-width:0;padding:28px}
@media (max-width:600px){
  .ainono-col{flex-direction:column}
  .ainono-col__img{flex:none;max-width:none;width:100%;aspect-ratio:16/9}
  .ainono-col__body{padding:22px}
}


/* インラインの .btn{border-radius:8px} に勝つため詳細度を上げてpill確定 */
.btn.btn--pill{border-radius:50px}


/* 導入前後: 業務列・整理前列の文字を少し濃く */
.ba-cell--label{color:#1F2A48}
.ba-cell--before{color:#46546A}


/* 業種別カード: state帯の高さ揃え＋枠線は通常統一・ホバー/選択時のみ青 */
.industry-card__state{display:flex;align-items:center;min-height:46px;margin:0 0 2px}
.industry-card{border-color:#E4E7EE !important}
.industry-card:hover,.industry-card.is-selected{border-color:#1E5BD8 !important}


/* ===== 業種別カード プレミアム・リデザイン ===== */
.industries-grid{gap:24px}
.industry-card{border:1px solid #E8ECF2 !important;border-radius:20px;padding:30px 30px 26px;gap:15px;box-shadow:0 1px 2px rgba(14,26,54,.04),0 14px 30px -22px rgba(14,26,54,.22)}
.industry-card:hover{transform:translateY(-3px);box-shadow:0 1px 2px rgba(14,26,54,.04),0 24px 46px -22px rgba(14,26,54,.30)}
.industry-card__state{min-height:auto;padding:11px 14px;margin:0;background:#FBF6EE;border-left:3px solid #E0A23C;color:#6B4A18;font-size:13px;font-weight:700;line-height:1.5;border-radius:0 8px 8px 0;display:flex;align-items:center}
.industry-card__badge{background:#EEF3FA;color:#2A4A78;font-size:11px;font-weight:800;letter-spacing:.06em;padding:6px 13px;border-radius:99px;align-self:flex-start}
.industry-card h3{font-size:19px;font-weight:900;color:#0E1A36;line-height:1.45;letter-spacing:-.01em;margin:0}
.industry-card>p{font-size:13.5px;line-height:1.8;color:#46546A;margin:0}
.industry-card__benefit{display:inline-flex;align-items:flex-start;gap:8px;background:none;border:none;padding:0;margin:2px 0 0;font-size:13px;font-weight:700;color:#0E1A36;letter-spacing:0;line-height:1.55}
.industry-card__benefit::before{content:"✓";flex-shrink:0;width:19px;height:19px;border-radius:50%;background:#E3F2CC;color:#3E6B12;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;margin-top:1px}
.industry-card__tags{margin-top:auto;padding-top:16px;border-top:1px solid #EEF1F6}
.industry-card__tags-label{font-size:10.5px;font-weight:800;letter-spacing:.1em;color:#8A93A6;text-transform:uppercase;display:block;margin-bottom:9px}
.industry-card__tags ul{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0;padding:0}
.industry-card__tags li{font-size:12px;color:#46546A;background:#F4F6F9;border:1px solid #E8ECF2;padding:5px 11px;border-radius:99px;font-weight:600}
.industry-card__cta{margin-top:18px;background:#0E1A36;color:#fff;padding:12px 20px;border-radius:99px;font-size:13.5px;font-weight:700}
.industry-card:hover .industry-card__cta{background:#1E5BD8;transform:translateY(-1px);box-shadow:0 8px 20px -6px rgba(30,91,216,.35)}


/* ===== 業種別カード 2ゾーン構造リデザイン（上=業種+悩み / 下=整理内容） ===== */
.industries-grid{gap:24px;align-items:stretch}
.industry-card{padding:0 !important;overflow:hidden;gap:0;border:1px solid #E8ECF2 !important;border-radius:20px;background:#fff;box-shadow:0 1px 2px rgba(14,26,54,.04),0 16px 32px -24px rgba(14,26,54,.22)}
.industry-card:hover{transform:translateY(-3px);box-shadow:0 1px 2px rgba(14,26,54,.04),0 26px 50px -24px rgba(14,26,54,.30)}
.industry-card:hover,.industry-card.is-selected{border-color:#1E5BD8 !important}

/* 上ゾーン */
.industry-card__top{padding:22px 26px 20px;background:linear-gradient(180deg,#F4F7FC,#FAFCFE);border-bottom:1px solid #EAEFF6;display:flex;flex-direction:column;gap:12px}
.industry-card__badge{align-self:flex-start;background:#0E1A36;color:#fff;font-size:11px;font-weight:800;letter-spacing:.05em;padding:6px 13px;border-radius:99px}
.industry-card__state{margin:0;padding:0 0 0 16px;background:none;border:none;min-height:auto;border-radius:0;position:relative;display:block;font-size:15px;font-weight:800;color:#1A2540;line-height:1.5;letter-spacing:-.01em}
.industry-card__state::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:3px;border-radius:99px;background:#E0A23C}

/* 下ゾーン */
.industry-card__main{padding:22px 26px 24px;display:flex;flex-direction:column;gap:14px;flex:1}
.industry-card__main h3{font-size:17.5px;font-weight:900;color:#0E1A36;line-height:1.5;letter-spacing:-.01em;margin:0}
.industry-card__desc{font-size:13.5px;line-height:1.8;color:#46546A;margin:0}

/* タグ（下部グループ） */
.industry-card__tags{margin-top:auto;padding-top:16px;border-top:1px solid #EEF1F6}
.industry-card__tags-label{font-size:10.5px;font-weight:800;letter-spacing:.1em;color:#8A93A6;text-transform:uppercase;display:block;margin-bottom:9px}
.industry-card__tags ul{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0;padding:0}
.industry-card__tags li{font-size:12px;color:#46546A;background:#F4F6F9;border:1px solid #E8ECF2;padding:5px 11px;border-radius:99px;font-weight:600}

/* 効果ラベル（脱青チェック） */
.industry-card__benefit{display:inline-flex;align-items:flex-start;gap:8px;background:none;border:none;padding:0;margin:0;font-size:13px;font-weight:700;color:#0E1A36;line-height:1.55}
.industry-card__benefit::before{content:"✓";flex-shrink:0;width:19px;height:19px;border-radius:50%;background:#E3F2CC;color:#3E6B12;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;margin-top:1px}

/* CTA（下部フル幅） */
.industry-card__cta{margin-top:2px;background:#0E1A36;color:#fff;padding:13px 20px;border-radius:99px;font-size:13.5px;font-weight:700;justify-content:center;align-self:stretch}
.industry-card:hover .industry-card__cta{background:#1E5BD8;box-shadow:0 8px 20px -6px rgba(30,91,216,.35)}


/* 整理前後テーブル: 業務を中央・左右に整理前/整理後(同一幅) */
.ba-row{grid-template-columns:1fr 130px 1fr}
.ba-cell--before{order:1}
.ba-cell--label{order:2}
.ba-cell--after{order:3}


/* ===== 業種別カード 追加調整 ===== */
/* 課題の下に矢印 */
.industry-card__arrow{align-self:center;color:#AEB6C4;font-size:18px;font-weight:700;line-height:1;margin-top:-2px}
/* 見出しにライムマーカー */
.ind-h3-mark{display:inline;background:linear-gradient(transparent 58%, #DDFC54 58%);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 2px}
/* 画像スロット（あとで差し替え・16:9） */
.industry-card__media{aspect-ratio:16/9;width:100%;border-radius:12px;background:linear-gradient(135deg,#EAF1FE,#F4F7FD);border:1px solid #E8ECF2;display:flex;align-items:center;justify-content:center;color:#9FB2D4;overflow:hidden}
.industry-card__media img{width:100%;height:100%;object-fit:cover;display:block}
/* タグらしく（リード点付き） */
.industry-card__tags li{padding:5px 12px 5px 22px;position:relative}
.industry-card__tags li::before{content:"";position:absolute;left:10px;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:#A6CE3A}
/* CTAをデフォルト青ボタンに（リンク化） */
.industry-card__cta{background:#1E5BD8;text-decoration:none}
.industry-card:hover .industry-card__cta{background:#0E47C0;box-shadow:0 8px 20px -6px rgba(30,91,216,.35)}
/* 業種別資料を見る ボタンを少し広く（PC） */
@media (min-width:601px){#industries .sec-cta-row .btn{min-width:320px}}


/* ===== 整理前後: テーブル廃止→Before/Afterカード(6枚) ===== */
.ba-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.ba-card{background:#fff;border:1px solid #E8ECF2;border-radius:16px;padding:22px 22px 20px;display:flex;flex-direction:column;gap:0;box-shadow:0 1px 2px rgba(14,26,54,.04),0 14px 28px -22px rgba(14,26,54,.2);transition:.18s ease}
.ba-card:hover{transform:translateY(-2px);box-shadow:0 1px 2px rgba(14,26,54,.04),0 20px 38px -22px rgba(14,26,54,.28)}
.ba-card__title{font-size:15px;font-weight:900;color:#0E1A36;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid #EEF1F6;letter-spacing:-.01em}
.ba-card__before,.ba-card__after{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:10px}
.ba-card__before{background:#F7F8FA;border:1px solid #EEF0F4}
.ba-card__after{background:#F1F6FF;border:1px solid #DCE9FF}
.ba-card__label{font-size:10.5px;font-weight:800;letter-spacing:.08em;color:#8A93A6}
.ba-card__label--after{color:#0E1A36}
.ba-card__before p,.ba-card__after p{margin:0;font-size:13.5px;line-height:1.65}
.ba-card__before p{color:#6B7689}
.ba-card__after p{color:#0E1A36;font-weight:700}
.ba-card__arrow{align-self:center;color:#AEB6C4;font-size:18px;font-weight:700;line-height:1;margin:9px 0}
.ba-card__tag{align-self:flex-start;margin-top:4px;background:#1E5BD8;color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.04em;padding:4px 11px;border-radius:99px}
@media (max-width:900px){.ba-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.ba-cards{grid-template-columns:1fr}}


/* ===== 整理後のイメージ: 現場フローの縦タイムライン ===== */
.flow-ba{max-width:920px;margin:36px auto 0;display:flex;flex-direction:column}
.flow-ba__step{display:grid;grid-template-columns:38px 1fr;gap:20px;padding-bottom:30px}
.flow-ba__step:last-child{padding-bottom:0}
.flow-ba__marker{position:relative;display:flex;justify-content:center}
.flow-ba__num{width:38px;height:38px;border-radius:50%;background:#0E1A36;color:#fff;font-weight:900;font-size:15px;display:flex;align-items:center;justify-content:center;z-index:1;flex-shrink:0}
.flow-ba__step:not(:last-child) .flow-ba__marker::after{content:"";position:absolute;top:44px;bottom:-30px;left:50%;transform:translateX(-50%);width:2px;background:#E4E9F0}
.flow-ba__body{padding-top:3px;min-width:0}
.flow-ba__title{font-size:16px;font-weight:900;color:#0E1A36;margin:0 0 12px;letter-spacing:-.01em}
.flow-ba__cols{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch}
.flow-ba__before,.flow-ba__after{padding:14px 16px;border-radius:12px;display:flex;flex-direction:column;gap:6px}
.flow-ba__before{background:#F7F8FA;border:1px solid #EEF0F4}
.flow-ba__after{background:#F1F6FF;border:1px solid #DCE9FF}
.flow-ba__label{font-size:10.5px;font-weight:800;letter-spacing:.08em;color:#8A93A6}
.flow-ba__label--after{color:#0E1A36}
.flow-ba__before p,.flow-ba__after p{margin:0;font-size:13.5px;line-height:1.65}
.flow-ba__before p{color:#6B7689}
.flow-ba__after p{color:#0E1A36;font-weight:700}
.flow-ba__arrow{align-self:center;color:#AEB6C4;font-size:18px;font-weight:700}
.flow-ba__tag{align-self:flex-start;margin-top:4px;background:#1E5BD8;color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.04em;padding:4px 11px;border-radius:99px}
@media (max-width:680px){
  .flow-ba__step{grid-template-columns:32px 1fr;gap:14px}
  .flow-ba__num{width:32px;height:32px;font-size:13px}
  .flow-ba__step:not(:last-child) .flow-ba__marker::after{top:38px}
  .flow-ba__cols{grid-template-columns:1fr}
  .flow-ba__arrow{transform:rotate(90deg);justify-self:center;margin:-2px 0}
}


/* ai-yes-no: 2カードを縦並びに・広がった幅を画像面積に回す(PC) */
.ainono-grid{grid-template-columns:1fr}
@media (min-width:601px){
  .ainono-col__img{flex:0 0 48%;max-width:48%}
}


/* ai-yes-no: カード横幅を約2/3に絞り中央寄せ(画像比率は維持) */
.ainono-grid{max-width:820px;margin-left:auto;margin-right:auto}


/* 業種別: 最下部の注意書き(右寄せ) */
.industries-note{max-width:1200px;margin:18px auto 0;text-align:right;font-size:12.5px;color:#6B7689;line-height:1.8;letter-spacing:.005em}
@media (max-width:600px){.industries-note{text-align:left;font-size:12px}}


/* 整理後のイメージ: 整理前の文字を少し濃く */
.flow-ba__before p{color:#46546A}


/* 業種別カード: 画像をカード最上部のフルブリード16:9バナーに */
.industry-card__media{aspect-ratio:16/9;width:100%;border-radius:0;border:none;background:#F3F7FF;overflow:hidden;display:block;margin:0;color:transparent}
.industry-card__media img{width:100%;height:100%;object-fit:cover;display:block}


/* 業種別カード: 画像を本文下・タグ上の収まり良い角丸スロットに */
.industry-card__media{aspect-ratio:16/9;width:100%;border-radius:12px;border:1px solid #E8ECF2;overflow:hidden;display:block;margin:2px 0;background:#F3F7FF}


/* PACK: bodyを1カラム化(対象業務・4ステップを上下full幅)・リストは3列で左余白解消 */
.pack-card__body{grid-template-columns:1fr;gap:26px}
@media (min-width:769px){.pack-card__list{grid-template-columns:repeat(3,1fr)}}


/* PACK 最終調整: 縦余白を詰める＋CTA直上の補足 */
.pack-card__body{gap:18px}
.pack-card__steps-note{margin-top:10px}
.pack-card__cta-note{flex-basis:100%;width:100%;text-align:center;margin:0 0 2px;font-size:13px;color:#46546A;line-height:1.6}


/* ========== PACK プレミアム・リデザイン ========== */
.pack-card{padding:36px;border-radius:22px;border:1px solid #E4E9F0;overflow:hidden;box-shadow:0 2px 4px rgba(14,26,54,.04),0 26px 54px -30px rgba(14,26,54,.3);gap:22px}

/* ヘッダーゾーン(フルブリード・色付き) */
.pack-card__head{margin:-36px -36px 0;padding:28px 36px 24px;background:linear-gradient(135deg,#ECF3FF,#F6FAFF);border-bottom:1px solid #E4E9F0}
.pack-card__tag{background:#1E5BD8;color:#fff;padding:6px 14px;font-size:11.5px;font-weight:800;letter-spacing:.06em;border-radius:99px;margin-bottom:14px;box-shadow:0 8px 18px -7px rgba(30,91,216,.55)}
.pack-card__head h3{font-size:22px;font-weight:900;line-height:1.5;color:#0E1A36;letter-spacing:-.015em}

/* セクション見出し(左アクセントバー) */
.pack-card__caption,.pack-card__steps-label{font-size:12px;font-weight:800;letter-spacing:.05em;color:#0E1A36;margin:0 0 14px;padding-left:13px;position:relative;text-transform:none}
.pack-card__caption::before,.pack-card__steps-label::before{content:"";position:absolute;left:0;top:1px;bottom:1px;width:4px;border-radius:99px;background:linear-gradient(#0B74FF,#1E5BD8)}

/* 対象業務チップ(ドット付き) */
.pack-card__list li{background:#F6F8FB;border:1px solid #EBEFF5;border-radius:10px;padding:11px 14px 11px 30px;position:relative;font-weight:600;color:#1F2A48;font-size:13.5px}
.pack-card__list li::before{content:"";position:absolute;left:13px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:#1E5BD8}

/* 4ステップ(立体ボックス・番号強調) */
.pack-card__steps--horizontal{gap:14px}
.pack-card__steps--horizontal li{background:linear-gradient(180deg,#fff,#FAFCFE);border:1px solid #E4E9F0;border-radius:14px;padding:20px 12px;box-shadow:0 8px 18px -14px rgba(14,26,54,.28)}
.pack-card__steps--horizontal li::before{width:36px;height:36px;line-height:36px;font-size:15px;margin:0 auto 8px;background:linear-gradient(135deg,#0B74FF,#1E5BD8);box-shadow:0 6px 14px -5px rgba(30,91,216,.5)}
@media (min-width:901px){
  .pack-card__steps--horizontal li:not(:last-child)::after{content:"→";position:absolute;right:-11px;top:31px;color:#C4CCDA;font-weight:900;font-size:16px;z-index:2}
}
.pack-card__steps-note{margin-top:14px}

/* 導入後のイメージ(成果ゾーン・フルブリード) */
.pack-card__after{margin:0 -36px;padding:26px 36px;background:linear-gradient(180deg,#EFF5FF,#F7FAFF);border-top:1px solid #E4E9F0;border-bottom:1px solid #E4E9F0}
.pack-card__after-label{font-size:12px;font-weight:800;letter-spacing:.04em;color:#0E1A36}
.pack-card__after-list li{background:#fff;border:1px solid #DCE9FF;box-shadow:0 4px 12px -9px rgba(30,91,216,.35)}

/* CTA直上の補足 */
.pack-card__cta-note{font-weight:700;color:#0E1A36}

@media (max-width:600px){
  .pack-card{padding:24px}
  .pack-card__head{margin:-24px -24px 0;padding:22px 24px 18px}
  .pack-card__after{margin:0 -24px;padding:22px 24px}
}


/* PACK 微調整 2026-06-03 */
.pack-card__tag{background:#0E1A36;box-shadow:0 8px 18px -8px rgba(14,26,54,.45)}
.pack-card__list li::before{background:#DDFC54}
.pack-card__steps-note strong{color:#0E1A36}
.pack-card__pledge strong{color:#0E1A36}
.pack-card__after-list li svg{color:#6FA82A;width:14px;height:14px;border:1.5px solid #CFE89A;border-radius:50%;padding:4px;background:#F4FBE2;box-sizing:content-box;flex:0 0 auto}
@media (max-width:600px){
  .pack-card__steps--horizontal li::before{margin:0;flex:0 0 auto}
}


/* PACK: ドットをピンク・ステップ番号を中央・(CTAはbtn--pillで角丸50) */
.pack-card__list li::before{background:#E95388}
.pack-card__steps--horizontal li::before{text-align:center}


/* ========== 料金カード リファイン ========== */
.price-card{border-radius:16px;gap:13px;box-shadow:0 2px 4px rgba(14,26,54,.04),0 18px 38px -26px rgba(14,26,54,.22)}
.price-card--recommended{border-width:2px;border-color:#1E5BD8;background:#F4F9FF;box-shadow:0 4px 8px rgba(30,91,216,.06),0 24px 46px -24px rgba(30,91,216,.28)}
.price-card__badge{background:#1E5BD8;box-shadow:0 8px 16px -6px rgba(30,91,216,.5)}
/* 向いているケース: pill */
.price-card__target{border-radius:999px;background:#EEF5FF;color:#1E5BD8;padding:6px 14px;font-size:12.5px;font-weight:700;line-height:1.5;border:none}
.price-card--recommended .price-card__target{background:#fff;border:1px solid #C8DCFF}
/* 価格の視覚階層 */
.price-card__price{display:flex;align-items:baseline;gap:5px;margin:4px 0 2px;color:#6B7689;font-size:14px}
.price-card__price-unit{font-size:13px;font-weight:700;color:#6B7689}
.price-card__price strong{font-size:27px;color:#0E1A36;font-weight:900;letter-spacing:-.02em;line-height:1}
.price-card__price-from{font-size:15px;font-weight:800;color:#46546A}
/* 最初に整える業務 */
.price-card__first{font-size:12.5px;color:#46546A;line-height:1.55}
.price-card__first strong{color:#0E1A36;font-weight:800}
/* チェックリスト 行間広め・抑えめ */
.price-card__list{gap:11px;padding-top:18px}
.price-card__list li{font-size:13px;line-height:1.6;color:#46546A;padding-left:24px}
.price-card__list li::before{color:#1E5BD8}
/* 注釈 読みやすく(3行) */
.pricing-note{font-size:13px;line-height:1.85;background:#F1F6FF;border-color:#DCE7F5;padding:16px 20px}
/* CTA上の補足 */
.pricing-cta-note{text-align:center;margin:18px 0 2px;font-size:13.5px;font-weight:700;color:#0E1A36}


/* 料金: 人件費比較ボックス＋価格サブ注記 */
.hr-compare{display:flex;gap:14px;align-items:flex-start;max-width:860px;margin:0 auto 4px;padding:18px 22px;background:linear-gradient(135deg,#EEF5FF,#F6FAFF);border:1px solid #DCE7F5;border-radius:14px}
.hr-compare__ic{flex-shrink:0;width:40px;height:40px;border-radius:11px;background:#fff;border:1px solid #D6E4FE;color:#1E5BD8;display:grid;place-items:center}
.hr-compare__title{margin:0 0 6px;font-size:14.5px;font-weight:900;color:#0E1A36;letter-spacing:-.01em}
.hr-compare__text{margin:0;font-size:13px;line-height:1.8;color:#46546A}
.price-card__price-sub{margin:-1px 0 0;font-size:11.5px;color:#6B7689;font-weight:600}
@media (max-width:600px){.hr-compare{padding:16px 16px;gap:11px}.hr-compare__ic{width:34px;height:34px}}


/* ===== 2CVセクション デザイン調整 ===== */
/* メインCV A/B/C: 説明付き・アイコン小・詰める */
.diagnosis-3__card{align-items:flex-start;padding:16px 18px;gap:12px}
.diagnosis-3__card .num{width:30px !important;height:30px !important;font-size:13px !important;margin-top:1px}
.diagnosis-3__txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.diagnosis-3__card strong{font-size:14px !important;line-height:1.4}
.diagnosis-3__desc{font-size:11.5px;color:#6B7689;line-height:1.5;font-weight:500}
.diagnosis-summary-pledge{margin-top:18px}
.diagnosis-summary-cta{margin-top:20px}
/* サブCV STEP1 */
.leadmag-step{display:flex;align-items:center;gap:10px;max-width:1100px;margin:0 auto 14px;font-size:14px;font-weight:800;color:#0E1A36}
.leadmag-step__num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:800;letter-spacing:.14em;color:#1E5BD8;text-transform:uppercase;background:#EAF1FE;padding:4px 10px;border-radius:99px}
/* 資料カード: hover薄青・タイトル詰め・CTAボタン風 */
.leadmag-pick-card:hover{border-color:#A9C7F5}
.leadmag-pick-card__title{line-height:1.45}
.leadmag-pick-card__cta{display:block;border-top:none;padding-top:0;margin-top:auto}
.leadmag-pick-card__cta-default{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;background:#EAF2FF;color:#1E5BD8;padding:11px 16px;border-radius:99px;font-weight:800;font-size:13px;box-sizing:border-box}
.leadmag-pick-card:hover .leadmag-pick-card__cta-default{background:#1E5BD8;color:#fff}
.leadmag-pick-card.is-selected .leadmag-pick-card__cta-selected{display:flex;align-items:center;justify-content:center;width:100%;background:#1E5BD8;color:#fff;padding:11px 16px;border-radius:99px;font-weight:800;font-size:13px;box-sizing:border-box}
/* フォーム intro コンパクト・選択後ライムCTA */
.leadmag-form__intro{padding:11px 14px;font-size:13px;margin:0 0 12px}
.leadmag-form__submit:not(:disabled){background:#DDFC54;color:#0E1A36}
.leadmag-form__submit:not(:disabled):hover{background:#D2F542;box-shadow:0 12px 28px -10px rgba(166,206,34,.5);color:#0E1A36}

/* PROFILE/SECURITY refinement 2026-06-03 */
.profile-bio{max-width:64ch}
.profile-quote{font-style:normal;border-left:3px solid #C8DCFF;background:#F8FAFC;color:#46546A;letter-spacing:0}
.profile-bio strong{color:#0E1A36;font-weight:800}
.profile-card{grid-template-columns:116px 1fr}
.profile-avatar{width:116px;height:116px}
.sec-badges{padding:72px 24px}
@media(max-width:600px){.profile-card{grid-template-columns:1fr}.profile-avatar{width:104px;height:104px}}

/* FAQ refinement 2026-06-04 */
.faq details.q{border-color:#E6EAF0}
.faq details.q summary .ic{position:relative;font-size:0;color:var(--ink-4)}
.faq details.q summary .ic::before,.faq details.q summary .ic::after{content:"";position:absolute;left:50%;top:50%;width:13px;height:2px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%)}
.faq details.q summary .ic::after{transform:translate(-50%,-50%) rotate(90deg);transition:opacity .2s}
.faq details.q[open] summary .ic{transform:none;color:var(--blue)}
.faq details.q[open] summary .ic::after{opacity:0}
.faq .ans-rest{border-top:none;padding-top:0;margin-top:8px}
.faq-cta{max-width:880px;margin:28px auto 0;padding:24px 28px;background:var(--bg-2,#F6F8FB);border:1px solid #E6EAF0;border-radius:14px;text-align:center}
.faq-cta__text{margin:0 0 16px;font-size:14px;color:#46546A;line-height:1.7}
.faq-cta__btns{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}
.faq-cta__sub{font-size:13.5px;font-weight:700;color:#46546A;text-decoration:underline;text-underline-offset:3px}
.faq-cta__sub:hover{color:var(--blue)}
@media(max-width:600px){.faq-cta__btns{flex-direction:column;gap:12px}.faq-cta .btn{width:100%}}

/* FIT-CHECK + CTA refinement 2026-06-04 */
.fit-col--yes{border-width:1.5px;border-color:#9CC0F5;background:#F5F9FE}
.fit-col--yes li::before,.fit-col--no li::before{font-size:13px}
.cta-final p{margin-left:auto;margin-right:auto}
