/* unlocker 個別サービスLP（①アイデアをもらう／②聞く／③一緒に作る／LR）の共通スタイル
   最終更新：2026-09-18
   - 書体は IBM Plex Sans JP 一本（セルフホスト。fonts/plex-jp.css）。タイポグラフィ基準v2
   - 級数は6段だけ：13 / 14 / 16 / 18 / 24 / 26〜36。0.5px刻みと12px以下を使わない
   - 色はルール29。オレンジは「返事が要る送信」だけ。ネイビーが既定、温度は第2色の青
   - 幅は本文 880px（.wrap-n）／全幅 1120px（.wrap）。lp.html と揃える */

:root{
  --plane:#e7edf3; --surface-1:#ffffff; --surface-2:#f2f5f9;
  --navy:#1c3b53; --text-primary:#1c3b53; --text-secondary:#55677a; --muted:#535c67;
  --grid:#d5dee7; --axis:#b6c5d2; --border:rgba(28,59,83,.14);
  --accent:#0b5394; --accent-100:#dbe6f4; --blue-light:#6fa8dc;
  --orange:#f97316; --orange-btn:#d96e00; --orange-ink:#c2410c;
  --good:#157f3d; --critical:#b91c1c;
  --font:"IBM Plex Sans JP",system-ui,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  --font-display:var(--font); --font-num:var(--font);
}
*{box-sizing:border-box}
body{margin:0;background:var(--plane);color:var(--text-primary);font-family:var(--font);
  font-size:16px;line-height:1.75;letter-spacing:.01em;font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--orange-ink);text-decoration:underline}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);line-height:1.35;
  letter-spacing:.02em;font-weight:700;text-wrap:balance}
p{margin:0}
img{max-width:100%}
td,th,.num{font-variant-numeric:tabular-nums}

.wrap{max-width:1120px;margin:0 auto;padding:0 28px}
.wrap-n{max-width:880px;margin:0 auto;padding:0 28px}
.eyebrow{font-size:14px;letter-spacing:.04em;color:var(--muted);font-weight:700}
.lede{color:var(--text-secondary)}
.note{font-size:14px;color:var(--muted);line-height:1.75}
.small{font-size:14px}
.tac{text-align:center}

/* ---- 上の帯・ヘッダー（lp.html と同じ形） ---- */
.topbar{background:var(--navy);color:#fff;font-size:14px}
.topbar .wrap{display:flex;align-items:center;justify-content:flex-end;gap:14px;
  min-height:40px;flex-wrap:wrap}
.topbar span{color:#c7d6e3}
.topbar a{color:#fff;text-decoration:underline;display:inline-flex;align-items:center;min-height:44px}
header{background:var(--surface-1);border-bottom:1px solid var(--grid);position:sticky;top:0;z-index:9}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px}
.brand a{display:block;line-height:0}
.brand img{width:150px;height:auto;display:block}
.brand span{font-size:14px;color:var(--muted);border-left:1px solid var(--grid);padding-left:12px}
header nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
header nav a{font-size:14px;color:var(--navy);padding:0 10px;min-height:44px;
  display:inline-flex;align-items:center}
header nav a[aria-current="page"]{font-weight:700;border-bottom:2px solid var(--orange)}
.crumb{background:var(--surface-2);border-bottom:1px solid var(--grid);font-size:14px;color:var(--muted)}
.crumb .wrap{min-height:44px;display:flex;align-items:center}
.crumb a{display:inline-flex;align-items:center;min-height:44px}

/* ---- ボタン ---- */
/* オレンジは1画面につき相談の申し込みだけ。白文字は19px太字で3:1を満たす（ルール29） */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border-radius:5px;font-weight:700;font-size:16px;padding:14px 30px;min-height:52px}
.btn-cta{background:var(--orange-btn);color:#fff;font-size:19px;
  box-shadow:0 1px 0 rgba(28,59,83,.12)}
.btn-cta:hover{color:#fff;text-decoration:none;background:#c46300}
.btn-sub{border:1px solid var(--navy);color:var(--navy);font-size:14px;min-height:48px;padding:0 18px}
.btn-sub:hover{color:var(--navy);text-decoration:none;background:var(--surface-2)}
.btn-text{font-weight:700;font-size:14px;color:var(--navy);text-decoration:underline;
  text-underline-offset:5px;display:inline-flex;align-items:center;min-height:44px}

/* ---- 区画 ---- */
section{padding:clamp(44px,6vw,76px) 0}
section.tight{padding:clamp(32px,4vw,52px) 0}
section.alt{background:var(--surface-2);border-top:1px solid var(--grid);border-bottom:1px solid var(--grid)}
section.white{background:var(--surface-1);border-top:1px solid var(--grid);border-bottom:1px solid var(--grid)}
section h2{font-size:clamp(24px,3vw,36px);line-height:1.4}
section h3{font-size:18px}
.sec-lede{margin-top:18px;font-size:16px;line-height:1.9;color:var(--text-secondary);max-width:62ch}

/* ---- ヒーロー ---- */
.hero{background:var(--surface-1);border-bottom:1px solid var(--grid);padding:clamp(36px,5vw,64px) 0}
.hero h1{font-size:clamp(30px,3.6vw,40px);line-height:1.28;letter-spacing:0;margin-top:14px}
.hero .sub{margin-top:8px;font-size:clamp(18px,2vw,24px);font-weight:700;color:var(--accent);
  line-height:1.5}
.hero-lede{margin-top:22px;font-size:16px;line-height:1.9;max-width:64ch;color:var(--text-secondary)}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:28px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));
  gap:1px;background:var(--grid);border:1px solid var(--grid);margin-top:32px}
.stats div{background:var(--surface-1);padding:16px 18px}
.stats b{display:block;font-size:24px;line-height:1.4;text-wrap:balance}
.stats span{display:block;font-size:14px;color:var(--muted);margin-top:2px}

/* ---- カード ---- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));
  gap:16px;margin-top:28px}
.card{background:var(--surface-1);border:1px solid var(--border);border-radius:6px;padding:20px 22px}
.card h3{font-size:18px;margin-bottom:8px}
.card p{font-size:14px;line-height:1.8;color:var(--text-secondary)}
.card .tag{display:inline-block;font-size:14px;font-weight:700;letter-spacing:.04em;
  color:var(--accent);background:var(--accent-100);border-radius:3px;padding:1px 8px;margin-bottom:10px}
/* 147：案件カードの印を横に並べる（求めていること＋条件タグ＋自動の印） */
.card .tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.card .tags .tag{margin:0}
/* 締め切った募集（2026-09-27）：募集中のあとに「募集終了」の印付きで出す。色だけに頼らず、印と「（終了）」で示す */
.card .tag.x{color:var(--muted);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--grid)}
.card.shut .card-art{filter:grayscale(.6);opacity:.8}
.card.pick{border:2px solid var(--accent)}
.card .price{margin-top:14px;padding-top:12px;border-top:1px solid var(--grid);
  font-size:18px;font-weight:700}
.card .price small{display:block;font-size:14px;font-weight:400;color:var(--muted)}
.pm{font-size:14px;line-height:1.8;margin-top:10px}
.pm b{color:var(--good)}
.pm i{font-style:normal;color:var(--critical)}

/* ---- 手順 ---- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));
  gap:16px;margin-top:28px;counter-reset:st}
.steps > div{background:var(--surface-1);border:1px solid var(--border);border-radius:6px;
  padding:18px 20px;position:relative}
.steps > div::before{counter-increment:st;content:counter(st);display:inline-flex;
  align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;
  background:var(--navy);color:#fff;font-size:14px;font-weight:700;margin-bottom:10px}
.steps h3{font-size:16px;margin-bottom:6px}
.steps p{font-size:14px;line-height:1.8;color:var(--text-secondary)}

/* ---- 表 ---- */
.tbl-wrap{overflow-x:auto;margin-top:26px;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;min-width:620px;background:var(--surface-1);
  font-size:14px;line-height:1.8}
th,td{border:1px solid var(--grid);padding:12px 14px;text-align:left;vertical-align:top}
thead th{background:var(--navy);color:#fff;font-weight:700;white-space:nowrap}
tbody th{background:var(--surface-2);font-weight:700;white-space:nowrap}
td.n{white-space:nowrap;font-weight:700}

/* ---- 一覧・FAQ ---- */
.ul{margin:22px 0 0;padding:0;list-style:none}
.ul li{position:relative;padding-left:26px;margin-top:12px;font-size:16px;line-height:1.85}
.ul li::before{content:"";position:absolute;left:6px;top:11px;width:8px;height:8px;
  border-radius:50%;background:var(--blue-light)}
.faq{margin-top:26px}
.faq details{background:var(--surface-1);border:1px solid var(--border);border-radius:6px;
  margin-top:10px}
.faq summary{cursor:pointer;list-style:none;font-weight:700;font-size:16px;
  padding:16px 20px;min-height:52px;display:flex;align-items:center;gap:10px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";color:var(--accent);font-weight:700;flex:0 0 auto}
.faq details[open] summary{border-bottom:1px solid var(--grid)}
.faq .a{padding:16px 20px;font-size:14px;line-height:1.9;color:var(--text-secondary)}

/* ---- 注意・囲み ---- */
.callout{background:var(--surface-1);border:1px solid var(--border);border-left:4px solid var(--orange);
  border-radius:0 6px 6px 0;padding:18px 22px;margin-top:26px}
.callout h3{font-size:18px;margin-bottom:8px}
.callout p{font-size:14px;line-height:1.85;color:var(--text-secondary)}
.sample{display:inline-block;font-size:14px;font-weight:700;letter-spacing:.04em;
  color:#9a3412;background:#fdebd8;border:1px solid #f6cfa4;border-radius:3px;
  padding:1px 7px;vertical-align:middle;margin-left:8px}
.tbd{color:var(--muted);font-weight:400}

/* ---- 最終CTA・フッター ---- */
.cta{background:var(--navy);color:#fff}
.cta h2{color:#fff;font-size:clamp(24px,3vw,36px)}
.cta p{color:#cfe0ee;margin-top:16px;font-size:16px;line-height:1.9}
.cta .btn-sub{border-color:#fff;color:#fff}
.cta .btn-sub:hover{background:rgba(255,255,255,.1);color:#fff}
footer{background:var(--surface-1);border-top:1px solid var(--grid);padding:40px 0 32px}
.foot{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:24px}
footer nav{display:flex;flex-direction:column;font-size:14px}
footer nav a{display:flex;align-items:center;min-height:44px}
.copy{font-size:14px;color:var(--muted);border-top:1px solid var(--grid);
  padding-top:16px;margin-top:24px}

@media(max-width:640px){
  .wrap,.wrap-n{padding:0 18px}
  header .wrap{gap:10px;padding-top:10px;padding-bottom:10px;flex-wrap:nowrap}
  header nav a:not(.btn-sub){display:none}
  .brand span{display:none}
  .topbar span{display:none}
  .hero-actions .btn{width:100%}
}

/* ---------- 用語の ? マーク（2026-09-19 津島さん判断。UI通しレビュー）
   仕様上どうしても一段説明が要る語にだけ置く。マイページ（member.html）の .hlp / .hpop と同じ見た目・同じ操作。
   級数は13pxに固定（lp_sub_check.cjs の6段の中）。吹き出しは画面幅で折り返し、横スクロールを出さない ---------- */
/* 2026-09-23：LPでは本文の級数が大きいぶん、?マークが目立ちすぎていた（津島さん指摘）。
   印を一段小さくし、行の高さも押し上げないようにする。押せる範囲は横に広く取る */
.hlp{display:inline-flex;align-items:center;justify-content:center;width:34px;height:20px;padding:0;margin:0 -8px 0 -8px;
  border:0;background:none;cursor:pointer;vertical-align:middle;line-height:0}
.hlp::before{content:"?";display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;
  border:1px solid var(--muted);border-radius:50%;font-size:11px;line-height:1;color:var(--muted);background:#fff}
.hlp:hover::before{border-color:var(--navy);color:var(--navy)}
.hlp[aria-expanded="true"]::before{background:var(--navy);border-color:var(--navy);color:#fff}
.hpop{position:absolute;z-index:60;max-width:min(320px,92vw);background:#fff;border:1px solid var(--grid);border-radius:10px;
  padding:12px 14px;font-size:14px;line-height:1.75;color:var(--text-secondary);box-shadow:0 6px 24px rgba(28,59,83,.16)}
.hpop b{display:block;margin-bottom:4px;font-size:14px;color:var(--navy)}
.hpop .cl{margin-top:8px;min-height:32px;padding:0 10px;border:1px solid var(--grid);border-radius:6px;background:#fff;
  font-size:14px;color:var(--navy);cursor:pointer}
.hpop.byhover .cl{display:none}   /* マウスで出したときは不要。外せば消える（マイページと同じ） */

/* ---------- LP挿絵（LR・BR／v3。2026-09-20）
   クライアントLPと同じテイストのイラストを、ヒーローと「3つの関わり方」に置く。
   枠・角丸・影は付けない。白背景になじむ一枚絵として出す。
   900px以上は「コピー＋CTA」と「画像」の2カラム、900px未満は
   コピー → 画像 → CTA → stats の縦並び（.hero-left を display:contents で解いて order で並べ替える） ---------- */
/* 2026-09-23：レビュアー向け2枚のヒーローを、クライアント向け（lp.html）の構成に揃えた。
   クライアント向けは「文字が左・イラストが右」の2カラム。包む箱も .wrap（1120px）で、
   ヒーローの見せ場が大きい。ここも 900px 以上で同じ構成にする。
   見出しの <br> は2カラムでは列幅に収まらないことがあるため、この幅では改行指定を外し、
   列の中で自然に折り返させる（文字数の多いビジネス向け見出しでも崩れない）。
   900px 未満は従来どおり コピー → 画像 → CTA の縦並び。 */
.hero-grid{display:grid;gap:clamp(22px,3.5vw,44px);align-items:center}
.hero-art img{display:block;width:100%;height:auto;object-fit:contain}
.hero-left{display:contents}
.hero-grid .hero-copy{order:1}
.hero-grid .hero-art{order:2;max-width:560px;margin-inline:auto;width:100%}
.hero-grid .hero-actions{order:3;margin-top:0}
@media(min-width:900px){
  .hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
    grid-template-areas:"copy art" "actions art";
    column-gap:clamp(24px,3vw,44px);row-gap:0;align-items:center}
  .hero-grid .hero-copy{grid-area:copy;order:0}
  .hero-grid .hero-actions{grid-area:actions;order:0;margin-top:26px;align-self:start}
  .hero-grid .hero-art{grid-area:art;order:0;max-width:none;margin-inline:0;align-self:center}
  .hero h1 br{display:none}
  .hero h1{text-wrap:balance}
  .hero-lede{max-width:52ch}
}
/* 1カラムに落ちる幅では、ヒーローの4つのstatsを2×2にする（3＋1で空きマスが出るのを避ける） */
@media(min-width:561px) and (max-width:899px){
  .hero .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.card-art{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;margin-bottom:18px}

/* ---- アイコン（icons_v4 の34種。app/icons.svg が元。2026-09-21）
   外部ファイルを参照する <use href="icons.svg#id"> は Safari が描画しないため、
   各ページが使う symbol だけを <body> 直後に取り込み、<use href="#i-xxx"> で呼ぶ。
   差し込みは tools/apply_icons.py（何度実行しても同じ結果になる） */
.ico{display:block;width:28px;height:28px;margin:0 0 12px}
.callout > .ico{margin-bottom:10px}
.steps > div > .ico{position:absolute;top:15px;right:15px;width:28px;height:28px;margin:0}
@media (max-width:600px){.ico{width:26px;height:26px}}

/* ---- LR・BRのLPのアイコン（unlocker icon system v6。app/lp-icons/。LR 2026-09-21／BR 2026-09-22）
   ヒーローと「3つの関わり方」には既に大きなイラストがあるため、そこには置かない。
   この2ページ専用なので、必ず .reviewer-lp / .business-lp でスコープする（lp.html などに影響させない） */
.reviewer-lp .stats > div,
.business-lp .stats > div{display:grid;grid-template-columns:40px 1fr;column-gap:12px;align-items:start}
.reviewer-lp .stats .stat-icon,
.business-lp .stats .stat-icon{width:40px;height:40px;grid-row:span 2;margin-top:2px}
.reviewer-lp .project-icon,
.business-lp .project-icon{display:block;width:72px;height:72px;margin:0 0 12px}
.reviewer-lp .steps .step-icon,
.business-lp .steps .step-icon{display:block;width:56px;height:56px;margin:0 0 10px}
.reviewer-lp .trust-icon,
.business-lp .trust-icon{display:block;width:56px;height:56px;margin:0 0 12px}
.reviewer-lp .mini-icon,
.business-lp .mini-icon{display:block;width:32px;height:32px;margin:0 0 10px}
@media(max-width:640px){
  .reviewer-lp .project-icon,
  .business-lp .project-icon{width:56px;height:56px}
  .reviewer-lp .steps .step-icon,
  .reviewer-lp .trust-icon,
  .business-lp .steps .step-icon,
  .business-lp .trust-icon{width:48px;height:48px}
}

/* ---- 人物一覧の顔写真（app/faces/。lp.html と同じ40pxの丸。2026-09-22） ---- */
.reviewer-lp .card.persona,
.business-lp .card.persona{display:flex;align-items:center;gap:10px;padding:12px 14px}
.reviewer-lp .card.persona .face,
.business-lp .card.persona .face{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:0 0 auto;display:block}
.reviewer-lp .card.persona p,
.business-lp .card.persona p{margin:0;font-size:14px;font-weight:700;color:var(--navy);line-height:1.6}
.business-lp .card.persona .pbody{display:flex;flex-direction:column;gap:2px;min-width:0}
.business-lp .card.persona .tag{margin-bottom:0;align-self:flex-start}

/* ---------- 募集中の案件：横に3枚、ボタンで送る（2026-09-23 津島さん判断）
   縦に長くしないため。4枚目以降は右のボタン（スマホは指で横に）で見る。
   ライブラリは使わない。スクロールスナップで止まり、ボタンは1枚ずつ送るだけ ---------- */
.pj-rail{position:relative}
.pj-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:4px 2px 14px;margin:0 -2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.pj-track::-webkit-scrollbar{display:none}
.pj-track:focus-visible{outline:2px solid var(--navy);outline-offset:4px;border-radius:6px}
.pj-track>.card{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start;min-width:0;display:flex;flex-direction:column}
.pj-track>.card .tbl-wrap{margin-top:auto!important;padding-top:12px}
.pj-nav{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:10px}
.pj-count{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.pj-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--grid);background:var(--surface-1);
  color:var(--navy);font-size:18px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
  transition:background-color .2s,border-color .2s,transform .2s,opacity .2s}
.pj-btn:hover:not(:disabled){border-color:var(--navy);transform:translateY(-1px)}
.pj-btn:disabled{opacity:.35;cursor:default}
@media(max-width:900px){ .pj-track>.card{flex-basis:calc((100% - 20px)/2)} }
@media(max-width:600px){ .pj-track>.card{flex-basis:86%} }   /* 次の1枚が少しのぞく＝横に送れると分かる */

/* ---------- 少しだけ動かす（生活者LP・ビジネスLP。2026-09-23 津島さん依頼）
   unlk.jp の動きの語彙に合わせる：ゆっくり揺れる挿絵／近づくと少し浮くカード／見えたときに一度だけふわっと出る。
   大きく動かさない。動きを減らす設定の人には一切動かさない ---------- */
@keyframes lp-drift{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-7px) rotate(-.35deg)}
}
:is(.reviewer-lp,.business-lp,.client-lp) .hero-art img{animation:lp-drift 6.5s ease-in-out infinite;transform-origin:50% 80%}
:is(.reviewer-lp,.business-lp,.client-lp) .card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
:is(.reviewer-lp,.business-lp,.client-lp) .card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(28,59,83,.09);border-color:#cfd8e1}
:is(.reviewer-lp,.business-lp,.client-lp) .btn,:is(.reviewer-lp,.business-lp,.client-lp) .btn-cta{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
:is(.reviewer-lp,.business-lp,.client-lp) .btn-cta:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(217,110,0,.22)}
/* 見えたときに一度だけ。JS が .rv を付け、画面に入ったら .in を足す（JSが動かなければ最初から見えている） */
:is(.reviewer-lp,.business-lp,.client-lp) .rv{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
:is(.reviewer-lp,.business-lp,.client-lp) .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  :is(.reviewer-lp,.business-lp,.client-lp) .hero-art img{animation:none}
  :is(.reviewer-lp,.business-lp,.client-lp) .card,:is(.reviewer-lp,.business-lp,.client-lp) .card:hover,:is(.reviewer-lp,.business-lp,.client-lp) .btn-cta:hover{transition:none;transform:none}
  :is(.reviewer-lp,.business-lp,.client-lp) .rv{opacity:1;transform:none;transition:none}
  .pj-track{scroll-behavior:auto}
}
/* 見えたあとの浮き上がり（.rv.in の transform:none より後ろに置く） */
:is(.reviewer-lp,.business-lp,.client-lp) .card.rv.in:hover{transform:translateY(-3px)}
@media (prefers-reduced-motion:reduce){ :is(.reviewer-lp,.business-lp,.client-lp) .card.rv.in:hover{transform:none} }

/* ---------- 開いたときの動き（生活者LP・ビジネスLPのヒーロー。2026-09-23 津島さん依頼）
   上から順に、少し下から浮かび上がって出る。全体で約1.3秒。一度だけ。
   JSを使わずCSSだけで動かす（読み込み直後にちらつかない。JSが止まっても最後は必ず見えている）。
   イラストは入れ物（.hero-art）で出し、中の画像は従来どおりゆっくり揺れ続ける ---------- */
@keyframes lp-rise{ from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:none} }
@keyframes lp-art-in{ from{opacity:0;transform:translateY(10px) scale(.965)} to{opacity:1;transform:none} }
@keyframes lp-line{ from{transform:scaleX(0)} to{transform:scaleX(1)} }
:is(.reviewer-lp,.business-lp,.client-lp) .hero-copy > *,
:is(.reviewer-lp,.business-lp,.client-lp) .hero-actions,
:is(.reviewer-lp,.business-lp,.client-lp) .hero .stats > div{animation:lp-rise .7s cubic-bezier(.2,.7,.2,1) both}
:is(.reviewer-lp,.business-lp,.client-lp) .hero-copy > .eyebrow{animation-delay:.05s}
:is(.reviewer-lp,.business-lp,.client-lp) .hero-copy > h1{animation-delay:.15s;animation-duration:.8s}
:is(.reviewer-lp,.business-lp,.client-lp) .hero-copy > .sub{animation-delay:.32s}
:is(.reviewer-lp,.business-lp,.client-lp) .hero-copy > .hero-lede{animation-delay:.44s}
:is(.reviewer-lp,.business-lp,.client-lp) .hero-actions{animation-delay:.58s}
:is(.reviewer-lp,.business-lp,.client-lp) .hero-art{animation:lp-art-in 1.1s cubic-bezier(.2,.7,.2,1) .2s both}
:is(.reviewer-lp,.business-lp,.client-lp) .hero .stats > div:nth-child(1){animation-delay:.72s}
:is(.reviewer-lp,.business-lp,.client-lp) .hero .stats > div:nth-child(2){animation-delay:.8s}
:is(.reviewer-lp,.business-lp,.client-lp) .hero .stats > div:nth-child(3){animation-delay:.88s}
:is(.reviewer-lp,.business-lp,.client-lp) .hero .stats > div:nth-child(4){animation-delay:.96s}
/* 見出しの下に一本、左から線が引かれる（unlockのアクセント色） */
:is(.reviewer-lp,.business-lp,.client-lp) .hero-copy > .sub{position:relative;display:inline-block}
:is(.reviewer-lp,.business-lp,.client-lp) .hero-copy > .sub::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;border-radius:2px;
  background:var(--orange-btn,#D96E00);opacity:.55;transform-origin:left center;transform:scaleX(0);
  animation:lp-line .7s cubic-bezier(.2,.7,.2,1) .75s both}
@media (prefers-reduced-motion:reduce){
  :is(.reviewer-lp,.business-lp,.client-lp) .hero-copy > *,:is(.reviewer-lp,.business-lp,.client-lp) .hero-actions,:is(.reviewer-lp,.business-lp,.client-lp) .hero .stats > div,:is(.reviewer-lp,.business-lp,.client-lp) .hero-art{animation:none}
  :is(.reviewer-lp,.business-lp,.client-lp) .hero-copy > .sub::after{animation:none;transform:none}
}
/* statsは枠線を地色で描いているので、中身より先に灰色の箱だけが見えないよう、入れ物ごと出す */
@keyframes lp-fade{ from{opacity:0} to{opacity:1} }
:is(.reviewer-lp,.business-lp,.client-lp) .hero .stats{animation:lp-fade .5s ease .62s both}
@media (prefers-reduced-motion:reduce){ :is(.reviewer-lp,.business-lp,.client-lp) .hero .stats{animation:none} }
/* 見出しを語のまとまりで折り返す（「企／業」のような切れ方をさせない。lp.html と同じ指定） */
.hero h1,.hero .sub,.hero-lede{word-break:auto-phrase}

/* 日本語を語のまとまりで折り返す（「案／件」のような切れ方をさせない。2026-09-23 津島さん指摘）。
   対応していないブラウザでは今までどおりの折り返しになるだけ */
.sec-lede,.note,.card p,.callout p,section h2,section h3,.faq summary,.faq .a{word-break:auto-phrase}

/* ---------- サービス別LP（アイデアをもらう・聞く・一緒に作る）の開いたときの動き（2026-09-23）
   ヒーローに挿絵が無く、文字だけが .wrap-n の中に並ぶ作りなので、要素ごとに順番を付ける ---------- */
.client-lp .hero .wrap-n > :is(.eyebrow,h1,.sub,.hero-lede,.hero-actions,.note){animation:lp-rise .7s cubic-bezier(.2,.7,.2,1) both}
.client-lp .hero .wrap-n > .eyebrow{animation-delay:.05s}
.client-lp .hero .wrap-n > h1{animation-delay:.15s;animation-duration:.8s}
.client-lp .hero .wrap-n > .sub{animation-delay:.32s}
.client-lp .hero .wrap-n > .hero-lede{animation-delay:.44s}
.client-lp .hero .wrap-n > .hero-actions{animation-delay:.58s}
.client-lp .hero .wrap-n > .note{animation-delay:1s}
.client-lp .hero .sub{position:relative;display:inline-block}
.client-lp .hero .sub::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;border-radius:2px;
  background:var(--orange-btn,#D96E00);opacity:.55;transform-origin:left center;transform:scaleX(0);
  animation:lp-line .7s cubic-bezier(.2,.7,.2,1) .75s both}
@media (prefers-reduced-motion:reduce){
  .client-lp .hero .wrap-n > *{animation:none}
  .client-lp .hero .sub::after{animation:none;transform:none}
}


/* 2026-09-23 最終通し検査：サービス3枚のヒーローだけが 880px の中央寄せで、ヘッダ・パンくず・下の区画（1120px）と左端がずれていた。
   箱は1120pxにそろえ、読ませる幅（880px）は中身の側で保つ */
.client-lp .hero .wrap-n{max-width:1120px}
.client-lp .hero .wrap-n > *{max-width:880px}
