/*
 * 会社概要・代表メッセージ・採用 試作（2026-10-06）の共通スタイル
 * - tokens.css・chrome.css の後に読む。色・文字・余白は tokens.css の役割名だけで組む
 * - 部品の形は HOME 試作（_redesign/home-2026-10/index.html）と LP 試作（_redesign/lp-2026-10/seo-llmo.html）に合わせた
 *   （_redesign/shared/ は触らない。HOME の <style> から使う部品だけを写し、3ページで共通の部品を足した）
 * - node _redesign/pages-2026-10/build.mjs が _site/assets/redesign/pages/pages.css に写す
 */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}
body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
html,body{overflow-x:clip}
/* 改行：本番と同じ（ZWSP + keep-all） */
body{line-break:strict;word-break:keep-all;overflow-wrap:anywhere}
.pg p,.pg li,.pg dd{text-wrap:pretty}
.pg h1,.pg h2,.pg h3{text-wrap:balance}
.jp-ph{display:inline-block}
:root{--warn:#9a5b00;--warn-bg:#fff4e2}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.sec{padding:104px 0}
.bg-surface{background:var(--surface)}
.bg-alt{background:var(--bg-alt)}
@media(max-width:760px){.sec{padding:72px 0}}

.eyebrow{display:block;font-family:var(--font-en);font-weight:600;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--brand)}
.h2{margin-top:var(--sp-3);font-weight:700;font-size:var(--fs-h2);line-height:var(--lh-head);letter-spacing:.01em}
.lead{margin-top:20px;max-width:40em;color:var(--ink-muted);font-size:1.02rem;line-height:2}
.head-c{text-align:center}.head-c .lead{margin-left:auto;margin-right:auto}
.nw{white-space:nowrap}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tbc{display:inline-block;vertical-align:middle;font-family:var(--font-ui);font-size:11px;font-weight:500;line-height:1.5;color:var(--warn);background:var(--warn-bg);border:1px dashed rgba(154,91,0,.35);border-radius:4px;padding:2px 8px}

/* ボタン（HOME・LP試作と同じ形） */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 30px;border-radius:var(--radius-pill);font-family:var(--font-ui);font-weight:700;font-size:15.5px;letter-spacing:.04em;transition:transform .3s,box-shadow .3s,background .3s,border-color .3s,color .3s;white-space:nowrap;cursor:pointer;border:0}
.btn-pri{background:var(--cta);color:var(--cta-ink);box-shadow:0 14px 34px -16px rgba(0,64,255,.65)}
.btn-pri:hover{transform:translateY(-1px);background:var(--cta-hover)}
.btn-sec{background:var(--surface);color:var(--ink);border:1.5px solid var(--ink)}
.btn-sec:hover{border-color:var(--brand);color:var(--brand)}
.btn[disabled]{opacity:.55;cursor:default;transform:none}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.tlink{display:inline-flex;align-items:center;gap:8px;color:var(--brand);font-weight:700;font-size:15px;border-bottom:1px solid rgba(0,64,255,.3);padding-bottom:2px}
.tlink:hover{border-bottom-color:var(--brand)}
.ar{flex:none;display:inline-block;width:15px;height:15px;background:currentColor;transition:transform .3s;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}
.tlink .ar{width:14px;height:14px}
a:hover > .ar,a:hover .go .ar{transform:translateX(4px)}
@media(max-width:760px){.btns .btn{flex:1 1 100%;min-height:52px}}

/* ===== ページの頭（パンくず＋h1＋最初の2〜3文＋ボタン2つ＋全国対応の1行） ===== */
.ph{position:relative;overflow:hidden;padding:28px 0 88px;background:linear-gradient(180deg,var(--bg) 0%,var(--bg) 55%,var(--surface) 100%)}
.ph::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(0,64,255,.10) 1px,transparent 1.2px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse 60% 70% at 78% 40%,#000 0%,transparent 70%);mask-image:radial-gradient(ellipse 60% 70% at 78% 40%,#000 0%,transparent 70%)}
.ph .wrap{position:relative}
.crumb ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12.5px;line-height:1.6;color:var(--ink-faint)}
.crumb li{display:flex;align-items:center;gap:10px;white-space:nowrap}
.crumb li + li::before{content:"›";color:var(--ink-faint)}
.crumb a{color:var(--ink-muted);border-bottom:1px solid var(--line-soft)}
.crumb a:hover{color:var(--brand)}
.crumb [aria-current]{color:var(--ink)}
.ph-grid{margin-top:44px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.ph h1 .pre{display:block;position:relative;padding-left:32px;font-size:14px;font-weight:700;color:var(--brand);letter-spacing:.06em;line-height:1.6}
.ph h1 .pre::before{content:"";position:absolute;left:0;top:50%;width:22px;height:1.5px;background:var(--brand)}
.ph h1 .main{display:block;margin-top:18px;font-weight:700;font-size:clamp(2.1rem,3.9vw,3.05rem);line-height:1.38;letter-spacing:.01em}
.ph h1 .main em{font-style:normal;color:var(--brand)}
.ph h1 .ln{display:block}
.ph .sub{margin-top:22px;font-size:clamp(1rem,1.3vw,1.08rem);line-height:2;color:var(--ink-2);max-width:32em}
.ph .btns{margin-top:32px}
.ph .area{margin-top:22px;font-size:14px;line-height:1.85;color:var(--ink-2);display:flex;align-items:flex-start;gap:10px}
.ph .area svg{flex:none;width:18px;height:18px;margin-top:.2em;color:var(--brand)}
.ph .area > span{flex:1 1 auto;min-width:0} /* 中に <br> があっても、文の箱が最長の行の幅まで縮まないように（2026-10-06 改行の見直し） */
.ph-fig{position:relative;margin:0}
.ph-fig .ph-img{display:block;border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:0 40px 80px -48px rgba(32,40,56,.45),0 0 0 1px var(--line-soft)}
.ph-fig .ph-img img{width:100%;aspect-ratio:4/3.2;object-fit:cover}
.ph-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ph-pair img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:var(--radius);box-shadow:0 30px 60px -40px rgba(32,40,56,.45),0 0 0 1px var(--line-soft)}
.ph-pair .ph-pair-b{margin-top:40px}
.ph-facts{position:relative;margin:14px 0 0;display:grid;grid-template-columns:auto auto 1fr;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line-soft)}
.ph-facts > div{padding:14px 16px 12px;min-width:0}
.ph-facts > div + div{border-left:1px solid var(--line-soft)}
.ph-facts dt{font-family:var(--font-en);font-size:11px;font-weight:700;color:var(--brand);letter-spacing:.12em}
.ph-facts dd{margin-top:2px;font-size:14px;font-weight:700;line-height:1.6;white-space:nowrap}
@media(max-width:900px){
  .ph{padding:20px 0 64px}
  .ph-grid{margin-top:28px;grid-template-columns:1fr;gap:36px}
  .ph h1 .main{margin-top:12px;font-size:clamp(1.8rem,8.2vw,2.4rem)}
  .ph .sub{margin-top:16px;font-size:.98rem;line-height:1.95}
  .ph .btns{margin-top:24px;gap:10px}
  .ph .area{font-size:13px}
  .ph-fig .ph-img img{aspect-ratio:16/10}
  .ph-pair .ph-pair-b{margin-top:24px}
  .ph-facts > div{padding:12px 10px 10px}
  .ph-facts dd{font-size:12.5px}
}

/* ===== 途中の相談の帯（HOME 試作と同じ：明るい地＋3つの輪の静止画） ===== */
.mid{position:relative;overflow:hidden;background:var(--surface);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.mid-in{display:grid;grid-template-columns:1fr minmax(0,400px);gap:24px 56px;align-items:center;padding-top:56px;padding-bottom:56px}
.mid .t{font-size:clamp(1.25rem,2.2vw,1.6rem);font-weight:700;line-height:1.6}
.mid .t small{display:block;margin-top:10px;font-size:.95rem;font-weight:400;color:var(--ink-muted);max-width:32em;line-height:1.9}
.mid .btns{margin-top:26px}
.mid-art{margin:0}
.mid-art img{width:100%;aspect-ratio:16/10;object-fit:cover;-webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 52%,transparent 78%);mask-image:radial-gradient(ellipse at 50% 50%,#000 52%,transparent 78%)}
@media(max-width:760px){.mid-in{grid-template-columns:1fr;padding-top:24px;padding-bottom:48px}.mid-art{order:-1;max-width:300px;margin:0 auto}}

/* ===== 会社概要の表 ===== */
.co-table{margin-top:40px;border-top:2px solid var(--ink)}
.co-row{display:grid;grid-template-columns:220px 1fr;gap:8px 32px;padding:22px 4px;border-bottom:1px solid var(--line)}
.co-row dt{font-weight:700;font-size:.98rem;line-height:1.8}
.co-row dt small{display:block;font-family:var(--font-en);font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--brand);text-transform:uppercase}
.co-row dd{font-size:.98rem;line-height:1.95;color:var(--ink-2)}
.co-row dd b{color:var(--ink);font-weight:700}
.co-row dd .sub{display:block;margin-top:2px;font-size:.86rem;color:var(--ink-muted)}
.co-row dd a{color:var(--brand-ink);border-bottom:1px solid var(--brand-soft)}
.co-row dd .links{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.88rem}
@media(max-width:760px){.co-row{grid-template-columns:1fr;gap:4px;padding:18px 0}}

/* ===== 事業内容（3本柱のカード） ===== */
.pillars{margin-top:44px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pillar{display:flex;flex-direction:column;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line-soft);overflow:hidden;transition:border-color .3s,transform .3s,box-shadow .3s}
.pillar:hover{border-color:rgba(0,64,255,.35);transform:translateY(-3px);box-shadow:0 24px 48px -32px rgba(0,64,255,.45)}
.pillar-art{display:block;aspect-ratio:16/9;overflow:hidden;background:#fff;border-bottom:1px solid var(--line-soft)}
.pillar-art img{width:100%;height:100%;object-fit:cover}
.pillar-body{display:flex;flex-direction:column;flex:1;padding:24px 24px 22px}
.pillar .no{font-family:var(--font-en);font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--brand)}
.pillar h3{margin-top:6px;font-size:1.25rem;font-weight:700;line-height:1.5}
.pillar .inc{margin-top:4px;font-size:.84rem;color:var(--ink-faint);line-height:1.7}
.pillar p{margin-top:12px;font-size:.92rem;line-height:1.95;color:var(--ink-muted);flex:1}
.pillar .go{margin-top:16px;font-size:14px;font-weight:700;color:var(--brand);display:flex;align-items:center;gap:8px}
.svc-more{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.box{padding:26px 26px 22px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line-soft)}
.box h3{font-size:1.05rem;font-weight:700;line-height:1.6}
.box .k{display:block;font-family:var(--font-en);font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--brand)}
.box p{margin-top:8px;font-size:.92rem;line-height:1.95;color:var(--ink-muted)}
.box ul{margin-top:10px;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.box li a{display:inline-block;font-size:13.5px;padding:6px 14px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--bg);color:var(--ink-2);transition:border-color .2s,color .2s}
.box li a:hover{border-color:var(--brand);color:var(--brand)}
.quote{margin-top:40px;text-align:center;font-size:clamp(1.05rem,1.8vw,1.25rem);font-weight:700;line-height:1.8}
.quote em{font-style:normal;color:var(--brand)}
@media(max-width:900px){.pillars{grid-template-columns:1fr;gap:14px}.pillar-art{aspect-ratio:12/5}.pillar-art img{object-fit:contain}.pillar-body{padding:20px}.svc-more{grid-template-columns:1fr;gap:14px}.box{padding:20px 18px 18px}}

/* ===== 写真の2枚並び（オフィス・働く環境） ===== */
.photo2{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.photo2 figure{margin:0;border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--line-soft)}
.photo2 img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media(max-width:640px){.photo2{grid-template-columns:1fr;gap:12px}}

/* ===== ブランドの一文（社名の式） ===== */
.statement{text-align:center}
.mark3{display:inline-grid;grid-template-columns:repeat(3,14px);gap:4px}
.mark3 span{width:14px;height:14px;border-radius:3px;background:rgba(110,155,255,.35)}
.mark3 span.on{background:var(--brand)}
.statement blockquote{margin-top:24px;font-size:clamp(1.6rem,3.2vw,2.3rem);font-weight:700;line-height:1.5}
.statement blockquote em{font-style:normal;color:var(--brand)}
.formula{margin-top:20px;font-family:var(--font-en);font-size:clamp(1rem,1.8vw,1.2rem);font-weight:500;color:var(--ink-muted);letter-spacing:.02em}
.formula b{color:var(--ink);font-weight:700}
.formula .x{margin:0 .5em;color:var(--brand)}
.statement .gloss{margin:16px auto 0;max-width:34em;color:var(--ink-muted);line-height:2}

/* ===== 大切にしていること（3つ・5つ） ===== */
.values{margin-top:40px;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.values li{padding:22px 24px 6px 0}
.values li + li{padding-left:24px;border-left:1px solid var(--line-soft)}
.values .n{font-family:var(--font-en);font-size:12px;font-weight:700;color:var(--brand);letter-spacing:.12em}
.values h3{margin-top:4px;font-size:1.05rem;font-weight:700;line-height:1.6}
.values h3 small{display:block;font-family:var(--font-en);font-size:12px;font-weight:500;color:var(--ink-faint);letter-spacing:.04em}
.values p{margin-top:8px;font-size:.92rem;color:var(--ink-muted);line-height:1.95}
@media(max-width:900px){.values{grid-template-columns:1fr}.values li,.values li + li{padding:18px 0;border-left:0;border-top:1px solid var(--line-soft)}.values li:first-child{border-top:0}}
.plist{margin-top:36px;list-style:none;border-top:1px solid var(--line)}
.plist li{display:grid;grid-template-columns:56px 1fr;gap:4px 16px;padding:24px 0;border-bottom:1px solid var(--line-soft)}
.plist .n{font-family:var(--font-en);font-size:28px;font-weight:600;color:var(--brand);line-height:1.2;letter-spacing:-.02em}
.plist h3{font-size:1.12rem;font-weight:700;line-height:1.6}
.plist p{margin-top:6px;font-size:.95rem;color:var(--ink-muted);line-height:1.95}
@media(max-width:600px){.plist li{grid-template-columns:40px 1fr;padding:20px 0}.plist .n{font-size:22px}}

/* ===== 代表の手紙 ===== */
.measure{max-width:760px;margin:0 auto}
.letter-body{margin-top:36px}
.letter-body p{font-size:1.02rem;line-height:2.1;color:var(--ink-2)}
.letter-body p + p{margin-top:1.5em}
.letter-sign{margin-top:2.2em!important;text-align:right;font-weight:700;color:var(--ink)!important}
@media(max-width:600px){.letter-body p{font-size:.98rem;line-height:2}}

/* ===== 社名に込めた意味 ===== */
.define{margin-top:36px;display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;padding:36px;border-radius:calc(var(--radius) + 4px);background:var(--surface);border:1px solid var(--line-soft);box-shadow:var(--shadow)}
.define .mark3{grid-template-columns:repeat(3,22px);gap:6px}
.define .mark3 span{width:22px;height:22px;border-radius:5px}
.define .formula{margin-top:0;text-align:left;font-size:clamp(1.3rem,2.4vw,1.6rem)}
.define p{margin-top:12px;color:var(--ink-muted);line-height:2}
@media(max-width:600px){.define{grid-template-columns:1fr;gap:18px;padding:24px 20px}}

/* ===== メンバー ===== */
.members{margin-top:36px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.member{padding:26px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line-soft);scroll-margin-top:calc(var(--header-h) + 16px)}
.member-top{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:center}
.member-top img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:var(--radius-sm)}
.member .nm{font-size:1.25rem;font-weight:700;line-height:1.5}
.member .nm small{display:block;font-family:var(--font-en);font-size:12px;font-weight:500;color:var(--ink-faint);letter-spacing:.06em}
.member .tags{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}
.member .tags span{font-size:12px;font-weight:700;padding:3px 10px;border-radius:var(--radius-pill);background:var(--brand-faint);color:var(--brand);border:1px solid var(--brand-soft);white-space:nowrap}
.member .tags span + span{background:var(--surface-soft);color:var(--ink-muted);border-color:transparent}
.journey{margin-top:22px;list-style:none;position:relative;padding-left:20px}
.journey::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:1.5px;background:var(--line)}
.journey li{position:relative;padding:6px 0;font-size:.95rem;font-weight:700;line-height:1.7}
.journey li::before{content:"";position:absolute;left:-20px;top:.85em;width:11px;height:11px;border-radius:50%;background:var(--surface);border:2px solid var(--line)}
.journey li.now::before{background:var(--brand);border-color:var(--brand)}
.journey li span{display:block;font-size:.84rem;font-weight:400;color:var(--ink-muted)}
.member .tlink{margin-top:16px;font-size:14px}
@media(max-width:900px){.members{grid-template-columns:1fr;gap:14px}}
@media(max-width:520px){.member{padding:20px 18px}.member-top{grid-template-columns:96px 1fr;gap:16px}}

/* ===== 採用：募集背景・福利厚生のカード ===== */
.cards2{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cards3{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{position:relative;padding:26px 24px 22px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line-soft)}
.bg-surface .card{background:var(--bg)}
.card .k{display:block;font-family:var(--font-en);font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--brand);text-transform:uppercase}
.card h3{margin-top:6px;font-size:1.1rem;font-weight:700;line-height:1.6}
.card p{margin-top:8px;font-size:.92rem;color:var(--ink-muted);line-height:1.95}
.card .cap{display:inline-block;margin-top:12px;font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:4px;background:var(--surface-soft);color:var(--ink-2)}
.card .ic{position:absolute;top:22px;right:22px;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--brand-faint);color:var(--brand)}
.card .ic svg{width:22px;height:22px}
@media(max-width:900px){.cards3{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.cards2,.cards3{grid-template-columns:1fr;gap:12px}.card{padding:22px 20px 18px}}

/* ===== 採用：募集要項の表 ===== */
.req{margin-top:40px;border-top:2px solid var(--ink)}
.req > div{display:grid;grid-template-columns:160px 1fr;gap:6px 32px;padding:20px 4px;border-bottom:1px solid var(--line)}
.req dt{font-weight:700;font-size:.98rem;line-height:1.85}
.req dd{font-size:.98rem;line-height:1.95;color:var(--ink)}
.req dd .sub{display:block;margin-top:4px;font-size:.86rem;color:var(--ink-muted);line-height:1.9}
@media(max-width:760px){.req > div{grid-template-columns:1fr;gap:2px;padding:16px 0}}
.fine{margin-top:20px;padding:18px 22px;border-radius:var(--radius-sm);background:var(--surface-soft);list-style:none}
.fine li{position:relative;padding-left:1em;font-size:.86rem;color:var(--ink-muted);line-height:1.9}
.fine li::before{content:"・";position:absolute;left:0}
.job-links{margin-top:28px}
.job-links p{font-weight:700;font-size:.95rem}
.job-links .btns{margin-top:12px}
.job-links .btn{min-height:48px;font-size:14.5px;padding:0 22px}
.rel{margin-top:22px;font-size:.88rem;color:var(--ink-muted);line-height:1.9}
.rel a{color:var(--brand-ink);border-bottom:1px solid var(--brand-soft);margin-right:14px;white-space:nowrap}

/* ===== 採用：正社員登用制度（情報公表）。本文は本番の原文のまま。動き（data-rv）を付けない（印刷・スクリーンショットで確実に出す） ===== */
.disclosure{margin-top:32px;padding:32px 34px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}
.disclosure h3{font-size:1.05rem;font-weight:700;line-height:1.7}
.disclosure h3 + p{margin-top:10px}
.disclosure * + h3{margin-top:28px}
.disclosure p{font-size:.95rem;line-height:1.95;color:var(--ink-2)}
.disclosure ul{list-style:none;margin-top:12px}
.disclosure li{font-size:.95rem;line-height:1.95;color:var(--ink-2);padding:3px 0}
.disclosure .k{font-weight:700;color:var(--ink)}
.disclosure ul.steps{margin:6px 0 4px 1.2em}
.disclosure .note{margin-top:12px;font-size:.86rem;color:var(--ink-muted)}
@media(max-width:600px){.disclosure{padding:22px 18px}}

/* ===== 採用：選考フロー ===== */
.flow{margin-top:40px;display:grid;grid-template-columns:repeat(6,1fr);gap:12px;list-style:none}
.flow li{position:relative;padding:20px 14px 18px;text-align:center;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line-soft)}
.flow li.goal{background:var(--brand);border-color:var(--brand);color:#fff}
.flow .no{display:block;font-family:var(--font-en);font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--brand)}
.flow li.goal .no{color:rgba(255,255,255,.8)}
.flow h3{margin-top:6px;font-size:1.02rem;font-weight:700;line-height:1.5}
.flow li:not(:last-child)::after{content:"";position:absolute;top:50%;right:-9px;width:7px;height:7px;border-top:1.5px solid var(--brand);border-right:1.5px solid var(--brand);transform:translateY(-50%) rotate(45deg);opacity:.6}
@media(max-width:900px){.flow{grid-template-columns:repeat(3,1fr)}.flow li:nth-child(3)::after{display:none}}
@media(max-width:520px){.flow{grid-template-columns:1fr 1fr;gap:10px}.flow li::after{display:none}}

/* ===== 採用：Wantedly ===== */
.wt{margin-top:28px;display:flex;justify-content:center}
.wt iframe{display:block;border-radius:var(--radius-sm)}

/* ===== 最後の相談（地は本番 HOME の最後の節「Arrival」：明るい地＋青い粒が寄り集まる。/assets/redesign/arrival-bg.css・js） ===== */
.cta-end{position:relative;overflow:clip;background:#fafbfc;color:var(--ink);padding:var(--sp-9) 0}
.cta-end .wrap{position:relative;z-index:1}
.cta-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
.cta-end .h2{font-size:clamp(1.9rem,3.4vw,2.5rem)}
.cta-end .btns{margin-top:32px}
.cta-end .line-link{margin-top:22px;display:inline-flex;align-items:center;gap:8px;color:var(--brand-ink);font-weight:700;font-size:14.5px;border-bottom:1px solid var(--brand-soft);padding-bottom:2px}
.cta-end .line-link .ar{width:13px;height:13px}
.info{margin-top:32px;border-top:1px solid var(--line)}
.info > div{padding:16px 0;border-bottom:1px solid var(--line-soft)}
.info .lbl{font-family:var(--font-en);font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--brand)}
.info p{margin-top:4px;font-size:.9rem;color:var(--ink-muted);line-height:1.95}
.info b{color:var(--ink);font-weight:700}
.info a{color:var(--ink);border-bottom:1px solid var(--line)}
.pr{margin-top:28px;list-style:none}
.pr li{position:relative;padding:10px 0 10px 30px;font-size:.92rem;line-height:1.85;color:var(--ink-muted)}
.pr li::before{content:"○";position:absolute;left:0;top:10px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--brand);color:#fff;font-family:var(--font-en);font-size:11px;font-weight:700;line-height:1}
.pr li b{display:block;color:var(--ink);font-weight:700}
.cta-one{max-width:880px;margin:0 auto;text-align:center}
.cta-one .lead{margin-left:auto;margin-right:auto}
.cta-one .btns{justify-content:center}
.cta-one .info{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);text-align:left;border-bottom:0}
.cta-one .info > div{padding:18px 20px 0 0;border-bottom:0}
.cta-one .info > div + div{padding-left:20px;border-left:1px solid var(--line-soft)}
@media(max-width:900px){.cta-grid{grid-template-columns:1fr;gap:36px}}
@media(max-width:760px){.cta-end{padding:72px 0}.cta-one .info{grid-template-columns:1fr;margin-top:36px}.cta-one .info > div,.cta-one .info > div + div{padding:16px 0;border-left:0;border-top:1px solid var(--line-soft)}.cta-one .info > div:first-child{border-top:0}}

/* フォーム（本番の #contactForm と同じ項目・name・入力→確認→完了の3段。見た目だけ新しくする） */
.form-card{position:relative;background:var(--surface);color:var(--ink);border-radius:var(--radius);padding:32px 32px 26px;border:1px solid var(--line-soft);box-shadow:0 1px 2px rgba(32,40,56,.04),0 30px 70px -36px rgba(32,40,56,.34)}
.cf-steps{list-style:none;display:flex;gap:6px;margin-bottom:22px}
.cf-steps li{flex:1;text-align:center;font-size:12.5px;font-weight:700;padding:8px 0;border-radius:var(--radius-pill);background:var(--surface-soft);color:var(--ink-faint)}
.cf-steps li.is-on{background:var(--brand);color:#fff}
.cf-steps li.is-done{background:var(--brand-faint);color:var(--brand)}
.cf-pane{display:grid;gap:16px}
.cf-pane[hidden]{display:none}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cf-field label{display:block;font-size:13.5px;font-weight:700;line-height:1.7}
.cf-req,.cf-opt{display:inline-block;margin-left:8px;vertical-align:1px;font-size:11px;font-weight:700;line-height:1.5;padding:1px 7px;border-radius:4px;white-space:nowrap}
.cf-req{background:var(--brand);color:#fff}
.cf-opt{background:var(--surface-soft);color:var(--ink-muted)}
.cf-field input,.cf-field select,.cf-field textarea{margin-top:6px;width:100%;font:inherit;font-size:16px;line-height:1.6;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink)}
.cf-field select{appearance:auto}
.cf-field input:focus,.cf-field select:focus,.cf-field textarea:focus{outline:2px solid var(--brand-soft);border-color:var(--brand);background:#fff}
.cf-actions .btn{width:100%}
.cf-actions-2{display:grid;grid-template-columns:1fr 2fr;gap:10px}
.cf-actions-2 .btn{min-height:52px;padding:0 16px}
.cf-status{font-size:13.5px;line-height:1.8;color:var(--ink-muted)}
.cf-status:empty{display:none}
.cf-status.is-err{color:#b42318}
.cf-lead{font-size:.92rem;color:var(--ink-2);line-height:1.9}
.cf-review > div{display:grid;grid-template-columns:8.5em 1fr;gap:4px 14px;padding:10px 0;border-bottom:1px solid var(--line-soft);font-size:.92rem;line-height:1.8}
.cf-review dt{font-weight:700;color:var(--ink-muted)}
.cf-review dd{white-space:pre-wrap;word-break:break-all}
.cf-review dd.is-empty{color:var(--ink-faint)}
.cf-privacy{margin-top:16px;font-size:12px;color:var(--ink-faint);line-height:1.8;text-align:center}
.cf-privacy a,.cf-status a{color:var(--brand-ink);border-bottom:1px solid var(--brand-soft)}
.cf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cf-done h3{font-size:1.15rem;font-weight:700}
.cf-done p{margin-top:8px;font-size:.92rem;color:var(--ink-muted);line-height:1.9}
@media(max-width:600px){.form-card{padding:22px 18px 18px}.cf-row{grid-template-columns:1fr}.cf-review > div{grid-template-columns:1fr;gap:0}}

/* ===== 動き：画面に入ったら少しだけ浮かび上がる（JSが動き、動きを減らす設定でないときだけ） ===== */
html.rv-on [data-rv]{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--d,0) * 90ms)}
html.rv-on [data-rv].is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}html.rv-on [data-rv]{opacity:1;transform:none}}
.quote .ln{display:block}
.h2 .ln-b{display:block}
.mid .t .ln{display:block}

/* =====================================================================
 * 残りのページ（2026-10-06 追加）：サービス一覧・診断の申し込み・職種ごとの募集・
 * プライバシーポリシー・データ削除・LINE・AI検索の自己チェック・404
 * 部品の形は HOME 試作（.svc-grp・.diag・.steps）と同じ。HOME の <style> から必要な所だけ写した
 * ===================================================================== */

/* ページの頭：写真なしの1段（法務・ツール・404） */
.ph-solo .ph-grid{grid-template-columns:1fr;max-width:820px}
.ph-solo h1 .main{font-size:clamp(1.9rem,3.4vw,2.6rem)}
.ph-solo .meta{margin-top:18px;display:flex;flex-wrap:wrap;gap:4px 20px;font-size:13.5px;color:var(--ink-muted)}
.ph-solo .meta a{color:var(--brand-ink);border-bottom:1px solid var(--brand-soft)}
@media(max-width:900px){.ph-solo h1 .main{font-size:clamp(1.65rem,7vw,2.1rem)}}

/* サービス一覧：最初の画面の右（3つの柱の目次） */
.ph-index{margin:0;padding:26px 26px 18px;border-radius:calc(var(--radius) + 4px);background:var(--surface);border:1px solid var(--line-soft);box-shadow:0 40px 80px -48px rgba(32,40,56,.45)}
.ph-index .k{font-family:var(--font-en);font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--brand)}
.ph-index ol{margin-top:10px;list-style:none}
.ph-index li + li{border-top:1px solid var(--line-soft)}
.ph-index a{display:grid;grid-template-columns:auto 1fr 15px;gap:4px 14px;align-items:center;padding:16px 0}
.ph-index .no{font-family:var(--font-en);font-size:24px;font-weight:600;color:var(--brand);letter-spacing:-.02em;line-height:1}
.ph-index b{display:block;font-size:1.08rem;font-weight:700;line-height:1.5}
.ph-index small{display:block;font-size:.82rem;color:var(--ink-faint);line-height:1.7}
.ph-index .ar{color:var(--brand);opacity:.7}
.ph-index a:hover b{color:var(--brand)}
.ph-index .foot{margin-top:6px;padding-top:12px;border-top:1px solid var(--line);font-size:.86rem;color:var(--ink-muted);line-height:1.85}
.ph-index .foot a{display:inline;padding:0;color:var(--brand-ink);border-bottom:1px solid var(--brand-soft)}

/* サービス一覧：困りごとから選ぶ */
.chooser{margin-top:40px;list-style:none;border-top:2px solid var(--ink)}
.chooser li{display:grid;grid-template-columns:1fr minmax(0,360px);gap:10px 40px;align-items:center;padding:20px 4px;border-bottom:1px solid var(--line)}
.chooser .q{font-size:1rem;font-weight:700;line-height:1.85}
.chooser .a{display:flex;flex-wrap:wrap;gap:8px}
.chooser .a a{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;padding:8px 16px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--bg);color:var(--ink);transition:border-color .2s,color .2s}
.chooser .a a:hover{border-color:var(--brand);color:var(--brand)}
.chooser .a a .ar{width:12px;height:12px;color:var(--brand)}
@media(max-width:760px){.chooser li{grid-template-columns:1fr;padding:18px 0}}

/* サービス一覧：柱ごとの節 */
.pillar-head{display:grid;grid-template-columns:1fr minmax(0,400px);gap:24px 56px;align-items:center}
.pillar-head .eyebrow .no{margin-right:10px}
.pillar-head .h2 small{display:block;margin-top:6px;font-size:.95rem;font-weight:500;color:var(--ink-muted);letter-spacing:.02em}
.pillar-fig{margin:0;border-radius:var(--radius);overflow:hidden;background:#fff;border:1px solid var(--line-soft)}
.pillar-fig img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media(max-width:900px){.pillar-head{grid-template-columns:1fr}.pillar-fig{max-width:420px}.pillar-fig img{aspect-ratio:12/5;object-fit:contain}}
.svc-cards{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.svc-cards.two{grid-template-columns:repeat(2,1fr)}
.svc-card{display:flex;flex-direction:column;padding:26px 24px 22px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line-soft);transition:border-color .3s,transform .3s,box-shadow .3s}
.bg-surface .svc-card{background:var(--bg)}
a.svc-card:hover{border-color:rgba(0,64,255,.35);transform:translateY(-3px);box-shadow:0 24px 48px -32px rgba(0,64,255,.45)}
.svc-card .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--brand-faint);border:1px solid var(--brand-soft)}
.svc-card .ico{width:24px;height:24px;fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.svc-card .ico .icon-accent{fill:var(--brand);stroke:var(--brand)}
.svc-card h3{margin-top:16px;font-size:1.12rem;font-weight:700;line-height:1.55}
.svc-card h3 small{display:block;margin-top:2px;font-size:.8rem;font-weight:500;color:var(--ink-faint)}
.svc-card p{margin-top:10px;font-size:.92rem;line-height:1.95;color:var(--ink-muted);flex:1}
.svc-card .go{margin-top:16px;font-size:14px;font-weight:700;color:var(--brand);display:flex;align-items:center;gap:8px}
.svc-card.own{background:transparent;border-style:dashed}
.svc-card.own .k{font-family:var(--font-en);font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--brand)}
.svc-card.own h3{margin-top:6px}
@media(max-width:900px){.svc-cards{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.svc-cards,.svc-cards.two{grid-template-columns:1fr;gap:12px}.svc-card{padding:22px 20px 18px}}

/* 無料診断の箱（HOME 試作と同じ） */
.diag{margin-top:40px;display:grid;grid-template-columns:300px 1fr auto;gap:32px;align-items:center;padding:24px 32px 24px 24px;border-radius:calc(var(--radius) + 4px);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.diag-art{margin:0;border-radius:var(--radius);overflow:hidden;background:#f7f9fd}
.diag-art img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:62% 50%}
.diag .k{font-family:var(--font-ui);font-size:12px;font-weight:700;color:var(--brand);letter-spacing:.08em}
.diag h3{margin-top:4px;font-size:1.3rem;font-weight:700;line-height:1.55}
.diag p{margin-top:8px;font-size:.92rem;color:var(--ink-muted);line-height:1.9;max-width:34em}
.diag p a{color:var(--brand-ink);border-bottom:1px solid var(--brand-soft)}
.diag .btns{flex-direction:column}
@media(max-width:1020px){.diag{grid-template-columns:220px 1fr}.diag .btns{grid-column:1/-1;flex-direction:row}}
@media(max-width:760px){.diag{grid-template-columns:1fr;gap:18px;padding:18px 18px 22px}.diag-art img{aspect-ratio:2/1}}

/* 進め方の4つの段階（HOME 試作と同じ）。採用の .disclosure の ul.steps（転換の要件）とぶつからないよう ol.steps に限る */
ol.steps{margin-top:48px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;list-style:none}
.step{position:relative;padding:28px 24px 26px;background:var(--surface);border-radius:var(--radius);border:1px solid var(--line-soft)}
.bg-surface .step{background:var(--bg)}
.step .no{font-family:var(--font-en);font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--brand);text-transform:uppercase;line-height:1.5}
.step .no b{display:block;margin-bottom:6px;font-size:30px;font-weight:600;letter-spacing:-.02em;line-height:1}
.step h3{margin-top:14px;font-size:1.1rem;font-weight:700;line-height:1.6}
.step p{margin-top:10px;font-size:.9rem;color:var(--ink-muted);line-height:1.95}
.step:not(:last-child)::after{content:"";position:absolute;top:50%;right:-12px;width:8px;height:8px;border-top:1.5px solid var(--brand);border-right:1.5px solid var(--brand);transform:translateY(-50%) rotate(45deg);opacity:.6}
.step-ic{position:absolute;top:24px;right:22px;display:grid;place-items:center;width:52px;height:52px;border-radius:12px;background:var(--bg);border:1px solid var(--line-soft)}
.bg-surface .step-ic{background:var(--surface)}
.step-ic img{width:34px;height:34px}
@media(max-width:900px){ol.steps{grid-template-columns:1fr 1fr}.step::after{display:none}}
@media(max-width:600px){ol.steps{grid-template-columns:1fr;gap:10px}.step{padding:22px 20px}}

/* 最後の相談：ボタンが3つのとき */
.cta-one .btns .btn{min-width:0}

/* 職種ごとの募集 */
.job-facts{margin-top:20px;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.job-facts li{font-size:13.5px;font-weight:700;padding:6px 14px;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--line);color:var(--ink-2)}
.note-box{margin-top:28px;padding:22px 24px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}
.bg-surface .note-box{background:var(--bg)}
.note-box h3{font-size:1rem;font-weight:700;line-height:1.7}
.note-box p{margin-top:6px;font-size:.92rem;line-height:1.95;color:var(--ink-muted)}
.note-box a{color:var(--brand-ink);border-bottom:1px solid var(--brand-soft)}
.job-place{margin-top:20px;font-size:.92rem;line-height:1.95;color:var(--ink-muted)}
.job-place b{color:var(--ink)}
.job-more{margin-top:28px;list-style:none;display:flex;flex-wrap:wrap;gap:10px 28px}
.job-more a{color:var(--brand-ink);font-weight:700;font-size:.95rem;border-bottom:1px solid var(--brand-soft)}

/* 法務のページ（本文は本番のまま。build.mjs が本番 _deploy から写す） */
.doc-body{max-width:820px}
.doc-body > .lead{margin-top:0;max-width:none;color:var(--ink-2);font-size:1rem}
.doc-body section{margin-top:44px;scroll-margin-top:calc(var(--header-h) + 16px)}
.doc-body h2{font-size:clamp(1.2rem,2vw,1.4rem);font-weight:700;line-height:1.6;display:flex;align-items:baseline;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.doc-body h2 .num{flex:none;font-family:var(--font-ui);font-size:13px;font-weight:700;color:var(--brand);letter-spacing:.06em}
.doc-body p{margin-top:14px;font-size:.98rem;line-height:2;color:var(--ink-2)}
.doc-body ol{margin-top:12px;padding-left:1.6em}
.doc-body ol li{padding:4px 0 4px .3em;font-size:.98rem;line-height:1.95;color:var(--ink-2)}
.doc-body a{color:var(--brand-ink);border-bottom:1px solid var(--brand-soft)}
.doc-body strong{font-weight:700;color:var(--ink)}
.doc-body .info-card{margin-top:18px;padding:20px 24px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}
.doc-body .info-card dl{display:grid;grid-template-columns:7em 1fr;gap:10px 20px}
.doc-body .info-card dt{font-size:.9rem;font-weight:700;color:var(--ink-muted);line-height:1.9}
.doc-body .info-card dd{font-size:.95rem;line-height:1.9;color:var(--ink)}
.doc-body .policy-foot{margin-top:56px;padding-top:20px;border-top:1px solid var(--line);font-size:.9rem;color:var(--ink-muted);text-align:right}
@media(max-width:600px){.doc-body .info-card{padding:16px 18px}.doc-body .info-card dl{grid-template-columns:1fr;gap:0}.doc-body .info-card dd{margin-bottom:10px}}

/* LINE */
.line-card{margin:0;padding:28px;border-radius:calc(var(--radius) + 4px);background:var(--surface);border:1px solid var(--line-soft);box-shadow:0 40px 80px -48px rgba(32,40,56,.45)}
.line-add{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;border-radius:var(--radius-pill);background:#06c755;color:#fff;font-family:var(--font-ui);font-weight:700;font-size:16px;letter-spacing:.04em;box-shadow:0 14px 30px -16px rgba(6,199,85,.8)}
.line-add:hover{background:#05b34c}
.line-qr{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center}
.line-qr img{width:150px;height:150px;border-radius:var(--radius-sm);border:1px solid var(--line-soft)}
.line-qr p{font-size:.9rem;line-height:1.9;color:var(--ink-muted)}
.line-qr p + p{margin-top:6px}
.line-qr a{color:var(--brand-ink);border-bottom:1px solid var(--brand-soft)}
.line-card .note{margin-top:18px;padding-top:16px;border-top:1px solid var(--line-soft);font-size:.9rem;line-height:1.9;color:var(--ink-2)}
.line-card .only-sp{display:none}
@media(max-width:760px){.line-card{padding:20px 18px}.line-card .only-sp{display:block;margin-bottom:18px}.line-qr{grid-template-columns:110px 1fr;gap:14px}.line-qr img{width:110px;height:110px}}
.send{margin-top:32px;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;counter-reset:s}
.send li{counter-increment:s;padding:22px 22px 20px;border-radius:var(--radius);background:var(--bg);border:1px solid var(--line-soft);font-weight:700;line-height:1.8}
.send li::before{content:"0" counter(s);display:block;font-family:var(--font-en);font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--brand)}
.send-note{margin-top:16px;font-size:.92rem;color:var(--ink-muted)}
.voices{margin-top:32px;list-style:none;display:grid;gap:12px}
.voices li{position:relative;padding:18px 22px 18px 52px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line-soft);font-size:.98rem;line-height:1.9}
.voices li::before{content:"";position:absolute;left:22px;top:26px;width:14px;height:14px;border-radius:4px;background:var(--brand-soft);border:1.5px solid var(--brand)}
@media(max-width:760px){.send{grid-template-columns:1fr;gap:10px}}

/* 診断の申し込み：要点3つ＋フォーム */
.apply-top{padding-top:28px}
.apply-top .cta-grid{margin-top:36px}
.apply-top h1{font-size:clamp(1.9rem,3.6vw,2.6rem);font-weight:700;line-height:1.45}
.apply-top h1 .pre{display:block;margin-bottom:12px;font-size:14px;color:var(--brand);letter-spacing:.06em}
.apply-top .lead{margin-top:16px}
.points{margin-top:28px;list-style:none;display:grid;gap:12px}
.points li{display:grid;grid-template-columns:36px 1fr;gap:2px 14px;padding:16px 18px;border-radius:var(--radius);background:rgba(255,255,255,.86);border:1px solid var(--line-soft)}
.points .n{grid-row:span 2;font-family:var(--font-en);font-size:22px;font-weight:600;color:var(--brand);line-height:1.2}
.points b{font-size:1rem;font-weight:700;line-height:1.7}
.points li > span{font-size:.88rem;color:var(--ink-muted);line-height:1.85} /* 子の span だけ（中の改行用の span で文字が小さくならないように） */
.apply-top .more{margin-top:20px}
.cf-hint{display:block;margin-top:4px;font-size:12.5px;font-weight:400;color:var(--ink-faint);line-height:1.7}
@media(max-width:900px){.apply-top{padding-top:20px}.apply-top .cta-grid{margin-top:24px}}

/* AI検索の自己チェック（本番の CSS を色・文字の役割名に置き換えたもの。動きは本番のスクリプトのまま） */
.aq-wrap{--col-sans:var(--font-sans);--col-serif:var(--font-sans);--col-text:var(--ink);--col-muted:var(--ink-muted);--col-faint:var(--ink-faint);--col-rule:var(--line);--col-brand:var(--brand);--col-soft:var(--surface-soft);--cx-radius:var(--radius);max-width:820px;margin:0 auto}
.aq-note{margin:0 0 14px;padding:20px 22px;border-radius:var(--cx-radius);background:linear-gradient(135deg,#eef3ff,#f7f9ff);border:1px solid rgba(0,64,255,.12);font:400 15px/1.9 var(--col-sans)}
.aq-note p+p{margin-top:8px}
.aq-note strong{font-weight:700}
.aq-privacy{display:flex;gap:10px;align-items:flex-start;margin:0 0 44px;padding:14px 18px;border-radius:14px;background:#fff;border:1px solid var(--col-rule);font:400 14px/1.8 var(--col-sans);color:var(--col-muted)}
.aq-privacy svg{flex:none;width:18px;height:18px;margin-top:4px;color:var(--col-brand)}
.aq-sec{margin:0 0 40px}
.aq-sec-h{display:flex;align-items:baseline;gap:12px;margin:0 0 6px;font:700 clamp(20px,3.2vw,24px)/1.5 var(--col-serif);letter-spacing:.02em}
.aq-sec-h .n{font:600 12px/1 Inter,sans-serif;letter-spacing:.14em;color:var(--col-brand)}
.aq-sec-lead{margin:0 0 18px;font:400 14.5px/1.85 var(--col-sans);color:var(--col-muted)}
.aq-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.aq-q{margin:0;padding:22px 24px 18px;border:1px solid var(--col-rule);border-radius:var(--cx-radius);background:#fff;min-width:0;transition:border-color .2s,box-shadow .2s;scroll-margin-top:96px}
.aq-q.is-missing{border-color:#c2410c;box-shadow:0 0 0 3px rgba(194,65,12,.12)}
.aq-q legend{float:left;width:100%;padding:0;margin:0 0 16px;font:700 16.5px/1.85 var(--col-sans);color:var(--col-text)}
.aq-q legend .qn{display:inline-block;min-width:2.4em;margin-right:4px;font:600 13px/1 Inter,sans-serif;letter-spacing:.06em;color:var(--col-brand)}
.aq-q legend+*{clear:both}
.aq-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.aq-opt{position:relative;display:block}
.aq-opt input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.aq-opt span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:6px 8px;border-radius:12px;border:1px solid rgba(32,40,56,.18);background:#fafbfc;font:600 15px/1.3 var(--col-sans);color:var(--col-text);text-align:center;transition:background .15s,border-color .15s,color .15s;pointer-events:none;white-space:nowrap}
.aq-opt input:hover+span{border-color:var(--col-brand)}
.aq-opt input:focus-visible+span{outline:3px solid rgba(0,64,255,.45);outline-offset:2px}
.aq-opt input:checked+span{border-color:var(--col-brand)}
.aq-opt.yes input:checked+span{background:var(--col-brand);color:#fff}
.aq-opt.no input:checked+span{background:#202838;border-color:#202838;color:#fff}
.aq-opt.unk input:checked+span{background:#e8ecf3;border-color:#586375;color:#202838}
@media (max-width:380px){.aq-opt span{padding:6px 4px}}
.aq-how{margin:12px 0 0}
.aq-how summary{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 2px;cursor:pointer;font:600 14px/1.4 var(--col-sans);color:var(--col-brand);list-style:none}
.aq-how summary::-webkit-details-marker{display:none}
.aq-how summary::before{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s;margin-right:4px}
.aq-how[open] summary::before{transform:rotate(45deg)}
.aq-how p{margin:4px 0 6px;font:400 14.5px/1.9 var(--col-sans);color:var(--col-muted)}
.aq-how code,.aq-res code{font:500 13.5px/1.6 ui-monospace,Menlo,monospace;background:var(--col-soft);padding:1px 6px;border-radius:5px;white-space:nowrap}
.aq-bar{position:sticky;bottom:0;z-index:20;margin:8px -12px 0;padding:14px 12px calc(14px + env(safe-area-inset-bottom));background:rgba(250,251,252,.97);border-top:1px solid var(--col-rule);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}
.aq-progress{margin:0;font:600 14px/1.5 var(--col-sans);color:var(--col-muted)}
.aq-progress b{font:700 18px/1 Inter,sans-serif;color:var(--col-text)}
.aq-msg{flex-basis:100%;order:3;margin:0;font:500 14px/1.7 var(--col-sans);color:#c2410c}
.aq-msg:empty{display:none}
.aq-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 28px;border-radius:999px;border:0;cursor:pointer;font:700 15.5px/1 var(--font-ui);letter-spacing:.02em;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s}
.aq-btn-primary{background:var(--cta);color:var(--cta-ink);box-shadow:0 14px 34px -16px rgba(0,64,255,.65)}
.aq-btn-primary:hover{transform:translateY(-1px);background:var(--cta-hover)}
.aq-btn-ghost{background:#fff;color:var(--col-text);border:1px solid rgba(32,40,56,.2)}
.aq-btn-ghost:hover{border-color:var(--col-brand);color:var(--col-brand)}
.aq-btn:focus-visible{outline:3px solid rgba(0,64,255,.45);outline-offset:3px}
.aq-btn svg{width:16px;height:16px}
.aq-res{margin:12px 0 0;scroll-margin-top:88px}
.aq-res[hidden]{display:none}
.aq-res-h{margin:0 0 18px;font:700 clamp(24px,3.6vw,30px)/1.5 var(--col-serif);letter-spacing:.02em}
.aq-res-h:focus{outline:none}
.aq-count{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 18px}
.aq-count div{padding:18px 20px;border-radius:var(--cx-radius);background:#fff;border:1px solid var(--col-rule)}
.aq-count dt{margin:0 0 6px;font:600 13.5px/1.4 var(--col-sans);color:var(--col-muted)}
.aq-count dd{margin:0;font:600 15px/1.4 var(--col-sans);color:var(--col-muted)}
.aq-count dd b{font:700 34px/1 Inter,sans-serif;color:var(--col-text);margin-right:4px}
.aq-count .sub{display:block;margin-top:6px;font:500 13px/1.5 var(--col-sans);color:var(--col-faint)}
.aq-res-lead{margin:0 0 26px;font:400 15.5px/1.95 var(--col-sans);color:var(--col-text)}
.aq-res-sub{margin:34px 0 14px;font:700 19px/1.5 var(--col-serif)}
.aq-todo{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.aq-todo>li{padding:20px 22px;border-radius:var(--cx-radius);background:#fff;border:1px solid var(--col-rule);border-left:4px solid var(--col-brand)}
.aq-todo>li.is-unk{border-left-color:#8a93a3}
.aq-tag{display:inline-block;margin:0 0 8px;padding:3px 10px;border-radius:999px;font:700 12px/1.5 var(--col-sans);letter-spacing:.04em;background:rgba(0,64,255,.08);color:var(--col-brand)}
.is-unk .aq-tag{background:#eef0f4;color:#586375}
.aq-todo h4{margin:0 0 8px;font:700 16.5px/1.7 var(--col-sans)}
.aq-todo p{margin:0 0 8px;font:400 15px/1.9 var(--col-sans);color:var(--col-text)}
.aq-todo .lbl{display:block;font:700 12.5px/1.6 var(--col-sans);letter-spacing:.06em;color:var(--col-faint);margin-top:6px}
.aq-todo .aq-how-r{color:var(--col-muted);font-size:14.5px}
.aq-read{display:flex;flex-wrap:wrap;gap:4px 18px;margin:8px 0 0;padding:0;list-style:none}
.aq-read a{display:inline-flex;align-items:center;min-height:44px;font:600 14.5px/1.6 var(--col-sans);color:var(--col-brand);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.aq-done-list{margin:22px 0 0}
.aq-done-list summary{display:inline-flex;align-items:center;min-height:44px;cursor:pointer;font:600 15px/1.4 var(--col-sans);color:var(--col-text)}
.aq-done-list ul{margin:6px 0 0;padding-left:1.3em;font:400 15px/2 var(--col-sans);color:var(--col-muted)}
.aq-actions{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0}
.aq-cta{margin:44px 0 0;padding:28px 26px;border-radius:var(--cx-radius);background:#fff;border:1px solid var(--col-rule)}
.aq-cta p{margin:0 0 16px;font:400 15.5px/1.95 var(--col-sans);color:var(--col-text)}
.aq-cta a.aq-cta-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:700 15.5px/1.5 var(--col-sans);color:var(--col-brand);text-decoration:none;border-bottom:1px solid currentColor}
.aq-src{margin:56px 0 0;padding-top:26px;border-top:1px solid var(--col-rule)}
.aq-src h2{margin:0 0 10px;font:700 17px/1.6 var(--col-serif)}
.aq-src p{margin:0 0 10px;font:400 14px/1.85 var(--col-sans);color:var(--col-muted)}
.aq-src ul{margin:0;padding-left:1.2em;font:400 14px/1.9 var(--col-sans);color:var(--col-muted)}
.aq-src a{color:var(--col-muted);text-decoration:underline;text-underline-offset:3px}
.aq-src li{padding:2px 0}
.aq-data{display:none}
@media (max-width:600px){
  .aq-q{padding:18px 16px 12px}
  .aq-q legend{font-size:16px;line-height:1.8}
  .aq-note{padding:18px}
  .aq-bar .aq-btn-primary{flex:1 1 100%}
  .aq-count dd b{font-size:30px}
  .aq-todo>li{padding:18px 16px}
  .aq-cta{padding:22px 18px}
  .aq-actions .aq-btn{flex:1 1 100%}
}
@media print{
  .gh,.gf,.gcta,.ph,.cta-end,#aqForm,.aq-actions,.aq-privacy,.aq-note{display:none!important}
  .aq-res{display:block!important}
  .aq-todo>li,.aq-count div,.aq-cta{break-inside:avoid}
}

/* 404 */
.nf-links{margin-top:28px;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.nf-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 20px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line-soft);font-weight:700;transition:border-color .2s,color .2s}
.nf-links a:hover{border-color:var(--brand);color:var(--brand)}
.nf-links .ar{color:var(--brand)}
.nf-en{margin-top:10px;font-family:var(--font-en);font-size:14px;color:var(--ink-faint)}
@media(max-width:760px){.nf-links{grid-template-columns:1fr;gap:10px}}
/* 職種ごとの募集：h1 の職種名は長いので一回り小さく。表の補足の行は <br> ではなく行ごとの塊にする */
.ph h1 .main.job{font-size:clamp(1.9rem,3.2vw,2.5rem)}
@media(max-width:900px){.ph h1 .main.job{font-size:clamp(1.6rem,7vw,2.1rem)}}
.req dd .sub .ln{display:block}
.doc-body .policy-foot .ln{display:block}
/* 見出しの中は jp_breaks が句の塊（.jp-ph）に分けるので、flex にせず文字の流れのまま並べる */
.aq-sec-h{display:block}
.aq-sec-h .n{display:inline-block;margin-right:12px;vertical-align:2px}
.doc-body h2{display:block}
.doc-body h2 .num{display:inline-block;margin-right:14px;vertical-align:2px}
.aq-cta a.aq-cta-link{display:inline-block}
.aq-cta a.aq-cta-link svg{display:inline-block;margin-left:6px;vertical-align:-2px}
/* 写真なしのページの頭と本文の間を詰める */
.ph-solo{padding-bottom:48px}
.ph-solo + .sec{padding-top:56px}
@media(max-width:760px){.ph-solo{padding-bottom:32px}.ph-solo + .sec{padding-top:40px}}
.apply-top h1 .ln{display:block}

/* 代表メッセージ：写真は本番と同じく手紙の署名の後。最初の画面は文字だけ */
.ph-grid.ph-solo{grid-template-columns:1fr;max-width:46rem}
.letter-shot{--lw:min(760px,calc(100vw - 32px));width:var(--lw);max-width:none;margin:clamp(34px,5vw,52px) calc((100% - var(--lw)) / 2) 0;border-radius:18px;overflow:hidden;border:1px solid var(--line-soft);box-shadow:0 18px 40px -28px rgba(32,40,56,.35)}
.letter-shot img{display:block;width:100%;height:auto}

/* ===== 本番の場面の部品（2026-10-06）：_redesign/shared/brand-scene・cube-scene・ribbon-scene ===== */
/* 代表メッセージの頭の右：本番 /message の「束ねる帯」 */
.ph-ribbon{width:100%;aspect-ratio:1.25/1;max-height:480px;margin-right:-4%}
@media(max-width:900px){.ph-ribbon{aspect-ratio:16/10;max-height:260px;margin:-8px 0 -16px}}
/* 社名に込めた意味：背景に本番 HOME の最初の画面の輪（節の地は場面と同じ #fafbfc） */
.sec-name{position:relative;overflow:clip;background:var(--bg);min-height:70vh;display:flex;align-items:center}
.sec-name > .wrap{position:relative;z-index:1;width:100%}
.sec-name .define{background:rgba(255,255,255,.94)}
/* 手紙の本文は、行の長さに合わせて幅を詰め、ページの中央に見えるようにする（2026-10-06「文章もう少し中央寄りに」） */
#letter .measure{max-width:680px}

/* =====================================================================
 * 会社概要・採用 v3（2026-10-06）：HOME v3（_redesign/home-2026-10/v3.html）の見た目に合わせる
 * <main class="pg lp v3p"> のページだけに効く（ほかのページの部品は変えない）
 * 英字の大見出し（飾り）＋日本語の小さな h2、節の地の交互、カード、青い相談の帯（2人の写真）、ARRIVAL の地の最後の節
 * 画像と枠は重ねない（2026-10-06 津嘉山さん）
 * ===================================================================== */
.v3p .bg-soft{background:var(--surface-soft)}
.v3p .sec{padding:120px 0}
@media(max-width:760px){.v3p .sec{padding:72px 0}}
.v3p .disp{display:block;font-family:var(--font-en);font-weight:800;font-size:clamp(3rem,7.4vw,5.6rem);line-height:1;letter-spacing:.02em;
  background:linear-gradient(100deg,var(--brand) 10%,#4d7bff 55%,#2455c8 95%);-webkit-background-clip:text;background-clip:text;color:transparent}
.v3p .ttl{text-align:center}
.v3p .ttl .h2-s{display:block;margin-top:12px;font-size:15px;font-weight:700;letter-spacing:.08em;color:var(--ink);line-height:1.6}
.v3p .ttl .lead{margin:20px auto 0;max-width:40em;font-size:1rem;color:var(--ink-muted)}
@media(max-width:760px){.v3p .disp{font-size:clamp(2.4rem,12vw,3.4rem)}.v3p .disp.long{font-size:clamp(1.9rem,8.6vw,2.8rem)}}
.v3p .btn .ar{margin-left:2px}

/* 1. ページの頭：英字の大見出し＋h1（ページ名＋会社の一文）＋ボタン。右は本番 HOME の輪（会社概要）か2人の写真（採用） */
.v3p .hz{position:relative;overflow:clip;padding:28px 0 112px;background:var(--bg)}
.v3p .hz::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(0,64,255,.09) 1px,transparent 1.2px);background-size:24px 24px;
  -webkit-mask-image:radial-gradient(ellipse 55% 75% at 80% 40%,#000 0%,transparent 70%);mask-image:radial-gradient(ellipse 55% 75% at 80% 40%,#000 0%,transparent 70%)}
.v3p .hz .wrap{position:relative;z-index:1}
.v3p .hz-grid{margin-top:56px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:48px;align-items:center}
.v3p .hz .disp{font-size:clamp(3.4rem,6.6vw,5.8rem);white-space:nowrap}
.v3p .hz-d .ln{display:block}
.v3p .hz h1{margin-top:22px}
.v3p .hz-t{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:700;letter-spacing:.08em;color:var(--ink);line-height:1.6}
.v3p .hz-t::before{content:"";width:24px;height:1.5px;background:var(--brand)}
.v3p .hz-d{display:block;margin-top:18px;font-size:clamp(1.35rem,2.2vw,1.8rem);font-weight:700;line-height:1.65;letter-spacing:.02em;color:var(--ink)}
.v3p .hz-d .co,.v3p .hz-d em{font-style:normal;color:var(--brand)}
.v3p .hz .sub{margin-top:22px;max-width:34em;font-size:15.5px;line-height:2;color:var(--ink-2)}
.v3p .hz .btns{margin-top:34px}
.v3p .hz-motif{position:relative;width:100%;aspect-ratio:1/1;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,#000 58%,transparent);mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,#000 58%,transparent)}
.v3p .hz-motif .hero-poster{position:absolute;inset:0;width:100%;height:100%;transition:opacity .9s ease}
.v3p .hz-motif:has(.bg-scene.is-on) .hero-poster{opacity:0}
.v3p .hz-motif .bg-scene.is-static{background:none;-webkit-mask-image:none;mask-image:none}
.v3p .hz-motif .bg-scene::after{display:none}
.v3p .hz .ph-pair img{border-radius:14px}
@media(max-width:900px){
  .v3p .hz{padding:20px 0 56px}
  .v3p .hz-grid{grid-template-columns:1fr;gap:28px;margin-top:36px}
  .v3p .hz .disp{font-size:clamp(2.8rem,14vw,3.8rem)}
  .v3p .hz h1{margin-top:14px}
  .v3p .hz-t{font-size:14.5px}
  .v3p .hz-d{margin-top:12px;font-size:clamp(1.12rem,5vw,1.4rem);line-height:1.7}
  .v3p .hz .sub{margin-top:16px;font-size:14.5px}
  .v3p .hz .btns{margin-top:26px;display:grid;grid-template-columns:1fr;gap:10px}
  .v3p .hz .btns .btn{width:100%}
  .v3p .hz-motif{max-width:260px;margin:0 auto;aspect-ratio:1/.8}
  .v3p .hz .ph-pair{max-width:420px;width:100%;margin:0 auto}
}

/* 表（会社概要・募集要項）：白い枠の中の定義の表 */
.v3p .tbl{margin:52px auto 0;max-width:920px;background:var(--surface);border:1px solid var(--line-soft);border-radius:16px;padding:12px 44px;box-shadow:0 30px 70px -52px rgba(32,40,56,.45)}
.v3p .tbl .co-table,.v3p .tbl .req{margin-top:0;border-top:0}
.v3p .tbl .co-row,.v3p .tbl .req > div{grid-template-columns:200px 1fr;padding:24px 0;border-bottom:1px solid var(--line-soft)}
.v3p .tbl .co-row:last-child,.v3p .tbl .req > div:last-child{border-bottom:0}
.v3p .tbl dd .ln{display:block}
.v3p .tbl-after{margin:28px auto 0;max-width:920px}
@media(max-width:760px){
  .v3p .tbl{margin-top:32px;padding:4px 20px;border-radius:14px}
  .v3p .tbl .co-row,.v3p .tbl .req > div{grid-template-columns:1fr;gap:4px;padding:18px 0}
}

/* 事業：HOME v3 の3枚のカード＋自社プロダクトの細い帯 */
.v3p .biz-grid{margin-top:52px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.v3p .bz{display:flex;flex-direction:column;border-radius:16px;background:var(--surface);border:1px solid var(--line-soft);overflow:hidden;box-shadow:0 24px 60px -48px rgba(32,40,56,.5)}
.v3p .bz-art{aspect-ratio:16/10;background:#eef3ff;overflow:hidden}
.v3p .bz-art img,.v3p .bz-art picture{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.v3p .bz-body{flex:1;display:flex;flex-direction:column;padding:26px}
.v3p .bz-n{font-family:var(--font-en);font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--brand)}
.v3p .bz h3{margin-top:4px;font-size:1.5rem;font-weight:700;line-height:1.45}
.v3p .bz-d{margin-top:12px;font-size:14.5px;line-height:2;color:var(--ink-2)}
.v3p .chips{margin-top:18px;list-style:none;display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start}
.v3p .chips > li > a,.v3p .chips > li > span{display:inline-block;font-size:13px;font-weight:700;line-height:1.5;padding:6px 12px;border-radius:999px;background:var(--brand-faint);border:1px solid var(--brand-soft);color:var(--brand-ink)}
.v3p .chips > li > span{background:var(--surface-soft);border-color:transparent;color:var(--ink-muted)}
.v3p .chips > li > a:hover{border-color:var(--brand);color:var(--brand)}
.v3p .bz-cta{margin-top:auto;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:15px;font-weight:700;color:var(--brand);border-top:1px solid var(--line-soft)}
.v3p .bz-body > :nth-last-child(2){margin-bottom:24px}
.v3p .prod{margin-top:20px;display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;padding:20px 26px;border-radius:14px;background:#202838;color:#fff}
.v3p .prod-k{font-family:var(--font-en);font-size:12px;font-weight:700;letter-spacing:.18em;color:#9bb6ff}
.v3p .prod-t{flex:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;font-size:15px;line-height:1.8}
.v3p .prod-t b{font-size:16px}
.v3p .prod-t span{color:rgba(255,255,255,.85)}
@media(max-width:1020px){.v3p .biz-grid{grid-template-columns:1fr;gap:14px}.v3p .bz{display:grid;grid-template-columns:240px 1fr}.v3p .bz-art{aspect-ratio:auto;height:100%}}
@media(max-width:640px){.v3p .biz-grid{margin-top:32px}.v3p .bz{display:flex}.v3p .bz-art{aspect-ratio:16/9;height:auto}.v3p .bz-body{padding:20px 18px}.v3p .bz h3{font-size:1.3rem}.v3p .prod{padding:18px}}

/* 本番の場面（立方体）を見出しの後ろに：HOME v3 の BUSINESS と同じ置き方 */
.v3p .ttl-scene{position:relative}
.v3p .ttl-scene > .bg-scene{top:-120px;bottom:-36px;left:calc(50% - 50vw);right:calc(50% - 50vw)}
.v3p .ttl-scene > :not(.bg-scene){position:relative;z-index:1}
@media(max-width:760px){.v3p .ttl-scene > .bg-scene{top:-72px;bottom:-24px}}

/* MEMBER：HOME v3 と同じ（写真と経歴は本番 /message のまま） */
.v3p .msg-list{margin:56px auto 0;max-width:1000px;display:grid;grid-template-columns:1fr 1fr;gap:40px}
.v3p .mem{display:grid;grid-template-columns:200px 1fr;gap:28px;align-items:start}
.v3p .mem img{width:100%;aspect-ratio:432/520;object-fit:cover;object-position:50% 25%;border-radius:12px}
.v3p .mem .role{font-size:13px;font-weight:700;color:var(--brand);letter-spacing:.04em}
.v3p .mem h3{margin-top:4px;font-size:1.35rem;font-weight:700;line-height:1.5}
.v3p .mem h3 span{margin-left:10px;font-family:var(--font-en);font-size:13px;font-weight:500;color:var(--ink-faint);letter-spacing:.04em}
.v3p .mem dl{margin-top:16px;border-top:1px solid var(--line-soft)}
.v3p .mem dl div{padding:10px 0;border-bottom:1px solid var(--line-soft);font-size:13.5px;line-height:1.75}
.v3p .mem dt{font-weight:700;color:var(--ink)}
.v3p .mem dd{color:var(--ink-muted)}
.v3p .more{margin-top:44px;text-align:center}
@media(max-width:900px){.v3p .msg-list{grid-template-columns:1fr;gap:36px;margin-top:36px}.v3p .mem{grid-template-columns:120px 1fr;gap:18px}.v3p .mem h3{font-size:1.2rem}.v3p .mem h3 span{display:block;margin:0}}

/* 青い相談の帯（HOME v3 と同じ。2人の写真は帯の下に揃え、文やボタンとは重ねない） */
.v3p .band{position:relative;overflow:clip;background:linear-gradient(105deg,#0040ff 0%,#1f4fe0 55%,#2455c8 100%);color:#fff}
.v3p .band-bg{position:absolute;inset:0;pointer-events:none}
.v3p .band-bg svg{width:100%;height:100%}
.v3p .band-in{position:relative;display:grid;grid-template-columns:1fr 412px;gap:32px;align-items:end;padding-top:56px}
.v3p .band-txt{padding-bottom:56px}
.v3p .band .t{font-size:clamp(1.3rem,2.4vw,1.75rem);font-weight:700;line-height:1.6;letter-spacing:.02em}
.v3p .band .t small{display:block;margin-top:10px;font-size:15px;font-weight:500;line-height:1.9;opacity:.92;max-width:36em}
.v3p .band .bb{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:640px}
.v3p .band .bb .btn{min-height:72px;font-size:17px;border-radius:14px;background:#fff;color:var(--ink);box-shadow:0 14px 30px -18px rgba(11,20,48,.6)}
.v3p .band .bb .btn:hover{transform:translateY(-1px);color:var(--brand)}
.v3p .band .bb .btn .ar{color:var(--brand)}
.v3p .band-names{margin-top:18px;font-size:13.5px;font-weight:500;letter-spacing:.04em;opacity:.9}
.v3p .band-names span{margin:0 .5em;opacity:.6}
.v3p .band-duo{align-self:end;display:flex;align-items:flex-end;justify-content:flex-end}
.v3p .band-duo img{width:200px;aspect-ratio:432/520;object-fit:cover;object-position:50% 20%;border-radius:14px 14px 0 0;border:6px solid rgba(255,255,255,.9);border-bottom:0;background:#e9edf3}
.v3p .band-duo img+img{margin-left:12px;position:relative}
@media(max-width:900px){
  .v3p .band-in{grid-template-columns:1fr;gap:20px;padding-top:40px}
  .v3p .band-txt{padding-bottom:0}
  .v3p .band .bb{grid-template-columns:1fr;gap:10px;margin-top:22px}
  .v3p .band .bb .btn{min-height:60px;font-size:16px}
  .v3p .band-duo{justify-content:center}
  .v3p .band-duo img{width:132px}
  .v3p .band-duo img+img{margin-left:10px}
}

/* ACCESS：写真と住所の枠を横に並べる（重ねない） */
.v3p .acc{margin:52px auto 0;max-width:1000px;display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:stretch}
.v3p .acc-ph{margin:0;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--line-soft)}
.v3p .acc-ph img{width:100%;height:100%;min-height:100%;aspect-ratio:4/3;object-fit:cover}
.v3p .acc-box{display:flex;flex-direction:column;padding:36px 36px 32px;border-radius:16px;background:var(--surface);border:1px solid var(--line-soft)}
.v3p .acc-box .lbl{font-family:var(--font-en);font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--brand)}
.v3p .acc-box .adr{margin-top:8px;font-size:15.5px;font-weight:700;line-height:1.9;color:var(--ink)}
.v3p .acc-box .adr .ln{display:block}
.v3p .acc-box .sta{margin-top:20px;font-size:14.5px;line-height:1.9;color:var(--ink-2)}
.v3p .acc-box .btn{margin-top:auto;align-self:flex-start}
.v3p .acc-box .sta + .btn{margin-top:28px}
@media(max-width:900px){.v3p .acc{grid-template-columns:1fr;gap:16px;margin-top:32px}.v3p .acc-ph img{height:auto}.v3p .acc-box{padding:24px 20px}.v3p .acc-box .btn{width:100%}}

/* 採用：募集職種のカード */
.v3p .jobs{margin:52px auto 0;max-width:1000px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.v3p .job{display:flex;flex-direction:column;padding:32px 32px 26px;border-radius:16px;background:var(--surface);border:1px solid var(--line-soft);box-shadow:0 24px 60px -48px rgba(32,40,56,.5);transition:transform .3s,border-color .3s}
.v3p .job:hover{transform:translateY(-2px);border-color:var(--brand)}
.v3p .job .n{font-family:var(--font-en);font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--brand)}
.v3p .job h3{margin-top:4px;font-size:1.4rem;font-weight:700;line-height:1.5}
.v3p .job dl{margin-top:18px;border-top:1px solid var(--line-soft)}
.v3p .job dl > div{display:grid;grid-template-columns:6.5em 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-soft);font-size:14px;line-height:1.85}
.v3p .job dt{font-weight:700;color:var(--ink)}
.v3p .job dd{color:var(--ink-2)}
.v3p .job .go{margin-top:auto;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:15px;font-weight:700;color:var(--brand)}
.v3p .job dl{margin-bottom:4px}
@media(max-width:900px){.v3p .jobs{grid-template-columns:1fr;gap:14px;margin-top:32px}.v3p .job{padding:24px 20px 20px}.v3p .job dl > div{grid-template-columns:1fr;gap:2px}}

/* 採用：働き方のカード・写真 */
.v3p .cards2,.v3p .photo2,.v3p .cards3,.v3p .flow{margin-left:auto;margin-right:auto;max-width:1000px}
.v3p .cards2{margin-top:52px}
.v3p .photo2{margin-top:20px}
.v3p .photo2 figure{border-radius:16px}
.v3p .card{border-radius:16px}
.v3p .disclosure{max-width:920px;margin-left:auto;margin-right:auto;border-radius:16px}

/* 最後の節（ARRIVAL の地）：英字の大見出しを HOME v3 の CONTACT と同じ青で */
.v3p .cta-end{padding:112px 0 104px}
.v3p .cta-end .disp{font-size:clamp(2.4rem,4.4vw,3.4rem);background:none;color:var(--brand)}
.v3p .cta-end .h2{margin-top:12px;font-size:clamp(1.35rem,2.4vw,1.75rem)}
@media(max-width:760px){.v3p .cta-end{padding:72px 0}}
.v3p .wp-note{max-width:40em;text-align:center;font-size:15px;line-height:2;color:var(--ink-2)}
.v3p .fine.tbl-after{max-width:920px}
/* 応募の帯（写真なし・ボタン1つ）：文とボタンを中央に */
.v3p .band-solo .band-in{grid-template-columns:1fr;padding-top:64px;text-align:center}
.v3p .band-solo .band-txt{padding-bottom:64px}
.v3p .band-solo .t small{margin-left:auto;margin-right:auto}
.v3p .band-solo .bb{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto}
@media(max-width:900px){.v3p .band-solo .band-in{padding-top:48px}.v3p .band-solo .band-txt{padding-bottom:48px}}
.v3p .band-solo .bb:has(.btn + .btn){grid-template-columns:1fr 1fr;max-width:640px}
@media(max-width:900px){.v3p .band-solo .bb:has(.btn + .btn){grid-template-columns:1fr}}

/* =====================================================================
 * 代表メッセージ v3（2026-10-06）：<body class="p-message"> だけに効く。.v3p の部品（.hz・.ttl・.disp・.band・.msg-list）に足す分
 * 頭の右の「束ねる帯」・手紙のカード・VALUES の番号付きカード・社名の幕間（HOME v3 の .interlude と同じ）・最後の CONTACT／CHECK（HOME v3 の .end と同じ）
 * ===================================================================== */
.p-message .hz-ribbon{aspect-ratio:1/.9}
.p-message .hz-ribbon .ribbon-scene{position:absolute;inset:0}
@media(max-width:900px){.p-message .hz-ribbon{max-width:420px;aspect-ratio:16/11}}
/* LETTER：手紙は白いカード。写真は署名のすぐ後、カードの中に角を少し丸めた長方形で */
.p-message .ltr{margin:52px auto 0;max-width:860px;padding:64px 72px 72px;background:var(--surface);border:1px solid var(--line-soft);border-radius:16px;box-shadow:0 30px 70px -52px rgba(32,40,56,.45)}
.p-message .ltr-h{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:700;line-height:1.6;letter-spacing:.02em;color:var(--ink)}
.p-message .ltr-h .ln-b{display:block}
.p-message .ltr-h::after{content:"";display:block;width:40px;height:2px;margin-top:24px;background:var(--brand)}
.p-message .ltr .letter-body{margin-top:32px}
.p-message .ltr .letter-shot{--lw:auto;width:100%;max-width:100%;margin:44px 0 0;border:0;border-radius:14px;box-shadow:none}
@media(max-width:760px){
  .p-message .ltr{margin-top:32px;padding:32px 20px 20px;border-radius:14px}
  .p-message .ltr-h{font-size:1.35rem}
  .p-message .ltr .letter-body{margin-top:24px}
  .p-message .ltr .letter-shot{margin-top:28px;border-radius:12px}
}
/* VALUES：5つの番号付きカード（PC は 3＋2） */
.p-message .vals{margin:52px auto 0;max-width:1080px;list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.p-message .val{grid-column:span 2;display:flex;flex-direction:column;padding:34px 30px 32px;border-radius:16px;background:var(--surface);border:1px solid var(--line-soft);box-shadow:0 24px 60px -48px rgba(32,40,56,.5)}
.p-message .val:nth-child(n+4){grid-column:span 3}
.p-message .val .n{font-family:var(--font-en);font-weight:800;font-size:2.6rem;line-height:1;letter-spacing:.02em;
  background:linear-gradient(100deg,var(--brand) 10%,#4d7bff 55%,#2455c8 95%);-webkit-background-clip:text;background-clip:text;color:transparent}
.p-message .val h3{margin-top:20px;padding-top:18px;border-top:1px solid var(--line-soft);font-size:1.2rem;font-weight:700;line-height:1.6}
.p-message .val p{margin-top:10px;font-size:14.5px;line-height:2;color:var(--ink-2)}
@media(max-width:1020px){.p-message .vals{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.p-message .val,.p-message .val:nth-child(n+4){grid-column:auto}.p-message .val:last-child{grid-column:1/-1}}
@media(max-width:640px){.p-message .vals{grid-template-columns:1fr;margin-top:32px}.p-message .val{padding:24px 20px 22px}.p-message .val .n{font-size:2.1rem}.p-message .val h3{margin-top:14px;padding-top:14px;font-size:1.12rem}}
/* 社名に込めた意味：HOME v3 の幕間と同じ（端から端まで・背景は brand-scene のループ） */
.p-message .itl{position:relative;overflow:clip;min-height:76vh;display:flex;align-items:center;background:var(--bg);text-align:center;padding:96px 0}
.p-message .itl-in{position:relative;z-index:1;width:100%}
.p-message .itl-h{display:inline-flex;align-items:center;gap:12px;margin-bottom:14px;font-size:15px;font-weight:700;letter-spacing:.08em;line-height:1.6;color:var(--ink)}
.p-message .itl-h::before,.p-message .itl-h::after{content:"";width:24px;height:1.5px;background:var(--brand)}
.p-message .itl .brand-lede{max-width:34em}
@media(max-width:760px){.p-message .itl{min-height:70vh;padding:72px 0}}
/* MEMBER：津嘉山の著者ページへのリンク */
.p-message .mem{scroll-margin-top:calc(var(--header-h) + 16px)}
.p-message .mem-link{margin-top:16px;font-size:14px}
/* CONTACT／CHECK：HOME v3 の .end と同じ */
.p-message .end{position:relative;overflow:clip;background:#fafbfc;padding:112px 0 104px}
.p-message .end .wrap{position:relative;z-index:1}
.p-message .end-grid{display:grid;grid-template-columns:1fr 1fr;max-width:1000px;margin:0 auto}
.p-message .end-col{padding:8px 48px;text-align:center;display:flex;flex-direction:column;align-items:center}
.p-message .end-col > p:not(.disp){flex:1 0 auto}
.p-message .end-col .line-slot{min-height:40px;display:flex;align-items:flex-start;justify-content:center}
.p-message .end-col + .end-col{border-left:1px solid var(--line)}
.p-message .end-col .disp{font-size:clamp(2.2rem,4vw,3.1rem);background:none;color:var(--brand)}
.p-message .end-col h2{margin-top:10px;font-size:15px;font-weight:700;letter-spacing:.04em}
.p-message .end-col p{margin:20px auto 0;max-width:24em;font-size:14.5px;line-height:2;color:var(--ink-2)}
.p-message .end-col .btn{margin-top:28px;min-width:280px}
.p-message .end-col .line-link{display:inline-flex;margin-top:14px;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--brand-ink);border-bottom:1px solid var(--brand-soft)}
.p-message .end-col .line-link .ar{width:13px;height:13px}
.p-message .end-info{margin:64px auto 0;max-width:1000px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);text-align:center}
.p-message .end-info > div{padding:22px 48px 0}
.p-message .end-info > div + div{border-left:1px solid var(--line-soft)}
.p-message .end-info .lbl{font-family:var(--font-en);font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--brand)}
.p-message .end-info p{margin-top:6px;font-size:.88rem;color:var(--ink-muted);line-height:1.95}
.p-message .end-info b{color:var(--ink)}
@media(max-width:900px){.p-message .end-col .line-slot:empty{display:none}.p-message .end{padding:72px 0}.p-message .end-grid{grid-template-columns:1fr}.p-message .end-col{padding:0 0 40px}.p-message .end-col + .end-col{border-left:0;border-top:1px solid var(--line);padding:40px 0 0}.p-message .end-col .btn{width:100%;min-width:0}
  .p-message .end-info{grid-template-columns:1fr;margin-top:48px}.p-message .end-info > div,.p-message .end-info > div + div{padding:18px 0;border-left:0;border-top:1px solid var(--line-soft)}.p-message .end-info > div:first-child{border-top:0}}
/* 手紙の本文は、文の区切りの改行（br-pc）をスマホでも残す（短い文が前の行の残りに入って「技術が」だけの行になるのを防ぐ） */
.p-message .letter-body .br-pc{display:inline}

/* LINE ページ：文章を減らし、緑のボタン1つで友だち追加（2026-10-06「LINEアイコンで一発でしょ」）。PC だけ小さな QR を添える */
.line-card--simple{display:grid;gap:20px;justify-items:center;text-align:center}
.line-add--big{min-height:72px;font-size:1.15rem;gap:12px;box-shadow:0 18px 36px -18px rgba(6,199,85,.55)}
.line-add--big svg{width:30px;height:30px}
.line-qr-mini{display:flex;align-items:center;gap:14px;font-size:.88rem;color:var(--ink-muted);line-height:1.6;text-align:left}
.line-qr-mini img{width:96px;height:96px;border-radius:var(--radius-sm);border:1px solid var(--line-soft)}
.line-qr-mini small{font-size:.8rem;color:var(--ink-faint)}
@media(max-width:760px){.line-qr-mini.only-pc{display:none}}

/* =====================================================================
 * スマホ特化（2026-10-06「スマホにも特化させて。文字のサイズ感・コンポーネントのサイズ感も」）
 * 値は tokens.css の --m-*。760px 以下だけに効かせ、PCの見た目は変えない。
 *   読む文 15px 以上（本文 16px・行の高さ 1.85）／注記・札 13px 以上／押すもの 44px 以上（主なボタン 52px）
 *   節の上下 64px／英字の大見出し 40〜52px／入力欄 16px・高さ 52px（iOS で拡大されない）
 * ===================================================================== */
@media(max-width:760px){
  body{font-size:var(--m-fs-body);line-height:var(--m-lh-body)}
  .sec,.v3p .sec{padding:var(--m-sec-y) 0}
  .v3p .cta-end,.cta-end,.p-message .end{padding:var(--m-sec-y) 0}
  .eyebrow{font-size:var(--m-fs-cap)}
  .h2{font-size:var(--m-fs-h2);line-height:var(--m-lh-head)}
  .lead{margin-top:16px;font-size:var(--m-fs-lead);line-height:var(--m-lh-lead)}
  .tbc{font-size:var(--m-fs-cap)}
  .btn{min-height:var(--m-btn-h);font-size:var(--m-btn-fs)}
  .tlink,.member .tlink,.p-message .mem-link{min-height:var(--m-tap);align-items:flex-end;padding-bottom:6px;font-size:15px}
  .cta-end .line-link,.p-message .end-col .line-link{display:inline-flex;align-items:center;min-height:var(--m-tap);font-size:15px}

  /* パンくず：文字は 13px、触れる高さは 44px */
  .crumb ol{font-size:var(--m-fs-cap);row-gap:0}
  .crumb a{display:inline-flex;align-items:center;min-height:var(--m-tap);min-width:var(--m-tap);border-bottom:0;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}

  /* ページの頭 */
  .ph h1 .pre,.apply-top h1 .pre{font-size:var(--m-fs-cap)}
  .ph .sub{font-size:var(--m-fs-lead);line-height:var(--m-lh-lead)}
  .ph .area{font-size:14px}
  .ph-facts dt{font-size:var(--m-fs-cap)}
  .ph-facts dd{font-size:14px}
  .ph-solo .meta{font-size:14px}
  .ph-index .k{font-size:var(--m-fs-cap)}
  .ph-index small{font-size:14px}
  .ph-index .foot{font-size:14px}

  /* 英字の大見出し（COMPANY / PROFILE / BUSINESS / MEMBER / ACCESS / CONTACT …） */
  .v3p .disp,.v3p .cta-end .disp,.p-message .end-col .disp{font-size:var(--m-fs-disp)}
  .v3p .hz .disp{font-size:clamp(44px,13.4vw,54px)}
  .v3p .hz-t,.v3p .hz .sub{font-size:var(--m-fs-read)}

  /* 会社の表（PROFILE）・募集要項 */
  .co-row dt small{font-size:var(--m-fs-cap)}
  .co-row dd .sub,.co-row dd .links{font-size:15px}
  .req dd .sub{font-size:var(--m-fs-read)}
  .fine li,.disclosure .note{font-size:14px}

  /* カード：内側 16〜20px、文は 15px */
  .pillar .no,.values .n,.card .k,.box .k,.svc-card.own .k,.diag .k,.step .no,.flow .no,.pr li::before,.send li::before{font-size:var(--m-fs-cap)}
  .pillar .inc,.journey li span,.job-facts li{font-size:14px}
  .pillar p,.box p,.values p,.card p,.svc-card p,.diag p,.step p,.note-box p,.job-place,.pr li,.send-note,.line-qr p,.line-card .note,.points li > span,.rel{font-size:var(--m-fs-read);line-height:1.85}
  .pillar .go,.svc-card .go,.chooser .a a{display:inline-flex;align-items:center;min-height:var(--m-tap);font-size:15px}
  .box li a{display:inline-flex;align-items:center;min-height:var(--m-tap);font-size:14px}
  .values h3 small,.member .nm small,.member .tags span,.card .cap,.svc-card h3 small{font-size:var(--m-fs-cap)}
  .card,.svc-card{padding:20px var(--m-card-pad) 18px}
  .step{padding:20px var(--m-card-pad)}
  .info .lbl,.p-message .end-info .lbl,.v3p .acc-box .lbl{font-size:var(--m-fs-cap)}
  .info p,.p-message .end-info p{font-size:15px}
  .doc-body h2 .num{font-size:var(--m-fs-cap)}
  .doc-body .info-card dt,.doc-body .policy-foot{font-size:15px}
  .nf-en{font-size:14px}
  .job-links .btn{font-size:15px}

  /* HOME と同じ部品（会社概要・採用の BUSINESS / MEMBER など） */
  .v3p .bz-n,.v3p .prod-k,.v3p .mem .role,.v3p .mem h3 span,.v3p .job .n{font-size:var(--m-fs-cap)}
  .v3p .bz-d,.v3p .acc-box .sta{font-size:var(--m-fs-read);line-height:1.9}
  .v3p .bz-art{aspect-ratio:2/1}
  .v3p .bz h3{font-size:20px}
  .v3p .chips > li > a{display:inline-flex;align-items:center;min-height:var(--m-tap);padding:6px 14px;font-size:14px}
  .v3p .chips > li > span{font-size:var(--m-fs-cap)}
  .v3p .mem{grid-template-columns:104px 1fr;gap:16px}
  .v3p .mem dl div{font-size:14px}
  .v3p .job dl > div{font-size:var(--m-fs-read)}
  .v3p .band-names{font-size:14px}
  .p-message .val p,.p-message .end-col p{font-size:var(--m-fs-read);line-height:1.9}
  .line-qr-mini{font-size:14px}
  .line-qr-mini small{font-size:var(--m-fs-cap)}

  /* フォーム：名前は読める大きさ、入力欄は 16px・高さ 52px。select は Safari で padding が効かないので見た目を作る */
  .cf-steps li{font-size:var(--m-fs-cap);padding:10px 0}
  .cf-field label{font-size:15px}
  .cf-req,.cf-opt{font-size:var(--m-fs-cap);padding:1px 8px}
  .cf-hint{font-size:var(--m-fs-cap)}
  .cf-field input,.cf-field select,.cf-field textarea{min-height:var(--m-input-h);font-size:var(--m-input-fs)}
  .cf-field select{-webkit-appearance:none;appearance:none;padding-right:40px;
    background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%23586375' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 14px center/14px no-repeat}
  .cf-status{font-size:14px}
  .cf-lead,.cf-review > div,.cf-done p{font-size:var(--m-fs-read)}
  .cf-privacy{font-size:var(--m-fs-cap)}
  .cf-privacy a{display:inline-block;padding:13px 0;margin:-13px 0}
  .cf-actions .btn,.cf-actions-2 .btn{min-height:var(--m-btn-h)}

  /* AI検索のセルフチェック */
  .aq-sec-h .n{font-size:var(--m-fs-cap)}
  .aq-sec-lead,.aq-how p,.aq-todo .aq-how-r{font-size:var(--m-fs-read)}
  .aq-how code,.aq-res code{font-size:15px;white-space:normal;overflow-wrap:anywhere}
  .aq-privacy,.aq-src p,.aq-src ul{font-size:var(--m-fs-read)}
  .aq-src a{display:inline-block;padding:8px 0}
  .aq-how summary{font-size:15px}
}

  /* 相談の帯の写真：帯の下の端に付けず、縦の真ん中に置く（2026-10-06「写真の位置、縦中央に」） */
  .v3p .band-in{align-items:center;padding-bottom:56px}
  .v3p .band-txt{padding-bottom:0}
  .v3p .band-duo{align-self:center}
  .v3p .band-duo img{border-radius:14px;border:6px solid rgba(255,255,255,.9)}
  @media(max-width:900px){.v3p .band-in{padding-bottom:40px}}
