/* page.css — 下層の主要ページ v2（2026-09-27 作り直し）
   笹木さんの指摘「個別ページのグラフィックを手を抜いている／AI的な装飾」への対応。
   やめたこと: 左の色線（片側だけの太い線はAI製の最も分かりやすい兆候・LP講座 素材③ #3）／"01 — ENGLISH" の番号付き英字ラベル／
              何でも白いカードに入れる（素材③ #8 箱癖）／全章同じ「左見出し・右本文」
   代わりに: 章ごとに組み方を変える（全面写真の帯・図・年表・大きな言葉・写真と文の左右分割）。区切りは余白と地色の切り替え（カタログ§3-4）で作る */

.pg{background:var(--bg)}
.pg section{position:relative}
.blk{padding:clamp(80px,10vw,150px) 0}
.blk.tint{background:#ece6db}
.blk.paper{background:var(--paper)}
.blk.ink{background:var(--ink);color:var(--on-dark)}
.blk.ink .h2,.blk.ink h3{color:#fff}
.kick{display:block;font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--teal);margin-bottom:14px}
.ink .kick,.photo .kick{color:rgba(246,243,238,.7)}
.h2x{font-weight:900;font-size:clamp(28px,3.2vw,50px);line-height:1.4;word-break:auto-phrase;text-wrap:balance}
.lead-x{margin-top:22px;font-size:clamp(16px,1.3vw,19px);line-height:2;color:var(--body);max-width:40em}
.ink .lead-x,.photo .lead-x{color:var(--on-dark-2)}
.c{text-align:center}.c .lead-x{margin-left:auto;margin-right:auto}
.body-x p{font-size:16.5px;line-height:2.05;color:var(--body)}
.body-x p+p{margin-top:1.15em}
.body-x b{color:var(--sumi)}
.ink .body-x p{color:var(--on-dark-2)}
.hl{background:linear-gradient(transparent 62%,rgba(250,145,0,.35) 62%);color:var(--sumi);font-weight:700}
.ink .hl{background:linear-gradient(transparent 62%,rgba(250,145,0,.55) 62%);color:#fff}

/* quotes band: the words heard at the first meeting, one per line, on a dimmed photograph */
.qband{padding:clamp(110px,13vw,190px) 0}
.qband .shade{background:rgba(20,19,18,.8)}
.qband .wrap{position:relative}
.qlist{list-style:none;margin-top:36px;display:grid;gap:clamp(14px,1.6vw,22px)}
.qlist li{font-weight:700;font-size:clamp(21px,2.5vw,38px);line-height:1.5;color:#fff;word-break:auto-phrase}
.qlist li:nth-child(even){padding-left:clamp(0px,6vw,110px);color:rgba(246,243,238,.72)}
.qend{margin-top:clamp(40px,5vw,70px);font-size:clamp(18px,1.6vw,24px);font-weight:500;line-height:1.9;color:var(--on-dark-2);max-width:40em}
.qend b{color:#fff}

/* three illustrated columns (no boxes) */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3.5vw,56px);margin-top:clamp(40px,5vw,64px)}
.trio figure{margin:0}
.trio img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#efe9df}
.trio .tag{display:inline-block;margin-top:20px;font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--gray)}
.trio .tag.co{color:var(--teal)}
.trio h3{margin-top:6px;font-size:clamp(19px,1.5vw,22px);font-weight:900;line-height:1.5;word-break:auto-phrase}
.trio p{margin-top:10px;font-size:15px;line-height:1.95;color:var(--body)}

/* split: picture and words side by side, alternating */
.split2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
.split2.rev>figure{order:2}
.split2 figure{margin:0}
.split2 img{width:100%;object-fit:cover}
.split2 figcaption{margin-top:8px;font-size:12.5px;color:var(--gray)}

/* the big statement (a line the page wants remembered) */
.stmt{font-weight:900;font-size:clamp(24px,2.6vw,40px);line-height:1.6;word-break:auto-phrase;text-wrap:balance}
.stmt .or{color:var(--or)}

/* busy x2: two pictures with what to do about each */
.pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);margin:48px 0 20px}
.pair figure{margin:0}
.pair img{width:100%;aspect-ratio:1;object-fit:cover;background:#efe9df}
.pair h4,.pair h3{margin-top:18px;font-size:19px;font-weight:900}
.pair p{margin-top:8px;font-size:15px;line-height:1.9;color:var(--body)}
.pair .to{margin-top:14px;padding-top:14px;border-top:1px solid var(--line2);font-weight:700;color:var(--sumi);display:flex;gap:10px}
.pair .to .ic-arr{color:var(--or);flex:0 0 auto;margin-top:.35em}

/* timeline: a rail with years that the text hangs on */
.tl{position:relative;margin-top:clamp(40px,5vw,70px);display:grid;gap:clamp(40px,5vw,70px)}
.tl::before{content:"";position:absolute;left:clamp(88px,10vw,150px);top:8px;bottom:8px;width:1px;background:var(--line2)}
.tl .rail{position:absolute;left:clamp(88px,10vw,150px);top:8px;width:2px;margin-left:-.5px;height:var(--rail,0%);background:var(--or);transition:height .2s linear}
.tl-i{display:grid;grid-template-columns:clamp(88px,10vw,150px) 1fr;gap:0 clamp(28px,4vw,60px);position:relative}
.tl-y{font-family:"Jost",sans-serif;font-weight:500;font-size:clamp(26px,2.6vw,40px);line-height:1;color:var(--sumi);text-align:right;padding-right:26px;position:relative}
.tl-y small{display:block;margin-top:8px;font-family:"Noto Sans JP",sans-serif;font-size:12px;font-weight:700;color:var(--gray);letter-spacing:.05em}
.tl-y::after{content:"";position:absolute;right:-6px;top:10px;width:11px;height:11px;border-radius:50%;background:var(--bg);border:2px solid var(--or)}
.tl-b{max-width:44em}

/* statements list (what we don't do) — hairlines, no boxes */
.slist{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(30px,5vw,80px);margin-top:44px}
.slist li{padding:26px 0 30px;border-top:1px solid var(--line2)}
.slist b{display:block;font-size:clamp(19px,1.6vw,23px);font-weight:900;line-height:1.5}
.slist span{display:block;margin-top:8px;font-size:15px;line-height:1.9;color:var(--body)}

/* comparison figure in lower pages */
.cmpfig{margin-top:48px}
.cmpfig .sc-row .bar,.cmpfig .sc-row{transition:transform 1s var(--e-out),opacity .6s}
.cmpfig.pre .sc-row .bar{transform:scaleX(0)}

/* ---------- LP-type service pages ---------- */
.lp-hero{position:relative;background:var(--paper);padding:calc(var(--hd-h) + 30px) 0 0;overflow:hidden}
.lp-hero .g{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(24px,4vw,60px);align-items:center;min-height:min(78vh,760px)}
.lp-hero .crumbs{color:var(--gray);margin-bottom:22px}
.lp-hero .eyebrow{display:inline-block;font-size:13.5px;font-weight:700;letter-spacing:.08em;color:var(--teal);margin-bottom:16px}
.lp-hero h1{font-weight:900;font-size:clamp(30px,3.6vw,56px);line-height:1.35;word-break:auto-phrase;text-wrap:balance}
.lp-hero h1 .or{color:var(--or)}
.lp-hero .hsub{margin-top:20px;font-size:clamp(15.5px,1.2vw,18px);line-height:1.95;color:var(--body);max-width:34em}
.lp-hero .kv{position:relative;margin-right:calc(-1 * var(--gut))}
.lp-hero .kv img{width:100%;aspect-ratio:16/10;object-fit:cover}
.lp-hero .cta{margin-top:30px}
.lp-hero .cta .note{font-size:13px;color:var(--gray);width:100%;margin-top:-4px}
.proof{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:clamp(36px,4vw,56px);border-top:1px solid var(--line2);background:var(--paper)}
.proof div{padding:22px 20px 26px;border-right:1px solid var(--line2)}
.proof div:last-child{border-right:0}
.proof b{display:block;font-family:"Jost","Noto Sans JP",sans-serif;font-weight:600;font-size:clamp(24px,2.2vw,34px);line-height:1.2;color:var(--sumi)}
.proof b small{font-size:.5em;font-weight:700;margin-left:2px}
.proof span{display:block;margin-top:6px;font-size:13px;color:var(--gray);line-height:1.6}

/* CTA block reused 3–5 times in LP-type pages (カタログ§3-3) */
.ctab{padding:clamp(56px,6vw,84px) 0;background:var(--ink);color:var(--on-dark);text-align:center}
.ctab p.t{font-size:clamp(19px,1.8vw,26px);font-weight:900;line-height:1.6;color:#fff;word-break:auto-phrase}
.ctab p.n{margin-top:10px;font-size:14px;color:var(--on-dark-2)}
.ctab .cta{justify-content:center;margin-top:24px}
.ctab.light{background:#ece6db;color:var(--sumi)}
.ctab.light p.t{color:var(--sumi)}.ctab.light p.n{color:var(--body)}

/* 7 types: a grid with rules, not cards */
.tgrid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:48px;border-top:1px solid var(--line2);border-left:1px solid var(--line2)}
.tgrid div{padding:26px 22px 28px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);background:var(--paper)}
.tgrid b{display:block;font-size:clamp(18px,1.4vw,21px);font-weight:900}
.tgrid p{margin-top:8px;font-size:14.5px;line-height:1.85;color:var(--body)}
.tgrid .last{background:var(--ink);color:var(--on-dark);display:flex;align-items:center}
.tgrid .last p{color:#fff;font-size:16px;font-weight:700;margin:0}

/* the two loops (why a company depends on the president) */
.loops{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,70px);align-items:center;margin-top:30px}
.loops svg{width:100%;height:auto;overflow:visible}
.loops .lp-path{fill:none;stroke:var(--line2);stroke-width:2}
.loops .lp-run{fill:none;stroke:var(--or);stroke-width:3;stroke-linecap:round}
.loops text{font-family:"Noto Sans JP",sans-serif;font-size:14px;font-weight:700;fill:var(--sumi)}
.loops .lp-c{font-size:17px;font-weight:900}
.loops .node{fill:var(--paper);stroke:var(--line2)}

/* outcomes: six lines, big and quiet */
.outs{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(24px,3vw,48px);margin-top:44px;counter-reset:o}
.outs li{counter-increment:o;padding:24px 0 26px;border-top:1px solid var(--line2);font-size:17px;font-weight:700;line-height:1.7}
.outs li::before{content:counter(o);display:block;font-family:"Jost",sans-serif;font-weight:500;font-size:34px;line-height:1;color:var(--or);margin-bottom:10px}

/* walls: three ordinary + the fourth that AI now carries */
.walls2{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,44px);margin-top:44px}
.walls2 h3{font-size:clamp(18px,1.4vw,21px);font-weight:900;line-height:1.55}
.walls2 h3 small{display:block;font-size:13px;font-weight:700;color:var(--gray);margin-bottom:6px;letter-spacing:.05em}
.walls2 p{margin-top:10px;font-size:15px;line-height:1.9;color:var(--body)}
.wall4{margin-top:clamp(40px,5vw,60px);display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;background:var(--ink);color:var(--on-dark);padding:clamp(28px,3.5vw,44px) clamp(24px,4vw,54px)}
.wall4 .n{font-family:"Jost",sans-serif;font-size:clamp(50px,6vw,90px);line-height:.9;color:var(--or)}
.wall4 h3{font-size:clamp(20px,1.8vw,26px);font-weight:900;color:#fff}
.wall4 p{margin-top:8px;color:var(--on-dark-2);line-height:1.9}

/* production line (GPTs) */
.chain{display:flex;flex-wrap:wrap;align-items:center;gap:10px 0;margin-top:30px}
.chain span{background:var(--paper);border:1px solid var(--line2);padding:9px 14px;font-size:14px;font-weight:700;white-space:nowrap}
.chain i{width:26px;height:2px;background:var(--or);position:relative;flex:0 0 26px}
.chain i::after{content:"";position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left:7px solid var(--or);border-right:0}
.chain span.me{background:var(--or);border-color:var(--or);color:var(--ink)}

/* deliverables in three groups */
.dgroups{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,44px);margin-top:40px}
.dgroups h3{font-size:15px;font-weight:700;color:var(--teal);padding-bottom:10px;border-bottom:1px solid var(--line2)}
.dgroups ul{list-style:none;margin-top:12px;display:grid;gap:8px}
.dgroups li{font-size:15px;line-height:1.7;padding-left:18px;position:relative}
.dgroups li::before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--or)}

/* terms: definition rows, no boxes */
.terms{display:grid;gap:0;margin-top:36px;border-top:1px solid var(--line2)}
.terms div{display:grid;grid-template-columns:minmax(150px,.26fr) 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line2)}
.terms dt{font-weight:900;font-size:16px}
.terms dd{font-size:15.5px;line-height:1.95;color:var(--body)}
.terms dd .big{display:block;font-size:clamp(19px,1.6vw,23px);font-weight:900;color:var(--sumi);margin-bottom:4px}

/* FAQ v2: hairlines and a plus sign */
.faq2{margin-top:36px;border-top:1px solid var(--line2)}
.faq2 details{border-bottom:1px solid var(--line2)}
.faq2 summary{list-style:none;cursor:pointer;padding:22px 52px 22px 0;font-weight:700;font-size:16.5px;line-height:1.6;position:relative}
.faq2 summary::-webkit-details-marker{display:none}
.faq2 summary::after,.faq2 summary::before{content:"";position:absolute;right:8px;top:50%;width:16px;height:2px;background:var(--sumi);transition:transform .3s}
.faq2 summary::before{transform:rotate(90deg)}
.faq2 details[open] summary::before{transform:rotate(0)}
.faq2 .a{padding:0 0 24px;font-size:15.5px;line-height:1.95;color:var(--body);max-width:52em}

/* people (JOEL adds): three columns separated by space */
.adds2{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px);margin-top:44px}
.adds2 h3{font-size:clamp(18px,1.4vw,21px);font-weight:900;line-height:1.55}
.adds2 p{margin-top:10px;font-size:15px;line-height:1.9;color:var(--body)}

/* form panel embedded on LP pages */
.fpanel{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,72px);align-items:start}
.fpanel .form{max-width:none}
.fpanel .form .fld input,.fpanel .form .fld select,.fpanel .form .fld textarea{background:#fff}

/* works cases v2 (still a card: an illustration + three rows is the content itself) */
.case{box-shadow:none;background:var(--paper)}
.case dd.voice{background:transparent;padding:0;font-size:16px;line-height:1.95;color:var(--sumi);font-weight:500}
.case .ed{display:block;font-size:13px;color:var(--gray);margin-bottom:4px}
.case .sp{display:block;font-size:12.5px;font-weight:700;color:var(--teal);margin-top:12px}

@media (max-width:900px){
  .trio,.split2,.pair,.slist,.lp-hero .g,.loops,.outs,.walls2,.dgroups,.adds2,.fpanel{grid-template-columns:1fr}
  .split2.rev>figure{order:0}
  .lp-hero .kv{margin-right:0}
  .proof{grid-template-columns:1fr 1fr}
  .proof div:nth-child(2){border-right:0}
  .proof div{border-bottom:1px solid var(--line2)}
  .tgrid{grid-template-columns:1fr 1fr}
  .tl::before,.tl .rail{left:64px}
  .tl-i{grid-template-columns:64px 1fr;gap:0 22px}
  .tl-y{font-size:20px;padding-right:16px}
  .tl-y small{font-size:10.5px}
  .terms div{grid-template-columns:1fr;gap:6px}
  .wall4{grid-template-columns:1fr;gap:6px}
  .qlist li:nth-child(even){padding-left:0}
}

/* v2 追記 */
.cmpfig .sc-row .bar{transition:transform 1.1s var(--e-out)}
.note-row{grid-template-columns:1.3fr .7fr;gap:28px;align-items:start;margin-bottom:1.15em}
.note-row img{aspect-ratio:3/4;object-fit:cover}
.blk.ink .split2 img{background:#efe9df}
@media (max-width:900px){.note-row{grid-template-columns:1fr}.note-row figure{max-width:260px}}

/* ---------- 仕組み経営導入パッケージ LP（2026-09-27） ---------- */
.lp-hero .pain{font-size:clamp(14.5px,1.1vw,16px);line-height:1.9;color:var(--body);margin-bottom:18px;max-width:34em}
.lp-hero .eyebrow{font-size:14px;letter-spacing:.06em;color:var(--sumi);padding-bottom:8px;border-bottom:2px solid var(--or)}
.lp .ctab{padding:clamp(64px,7vw,96px) 0}
/* two cycles that keep going round: a dot orbits each ring */
.cycles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cyc{position:relative;aspect-ratio:1;max-width:320px;width:100%;margin:0 auto}
.cyc .ring{position:absolute;inset:17%;border:2px dashed #c9bfae;border-radius:50%;animation:spin 9s linear infinite}
.cyc.c2 .ring{animation-duration:12s}
.cyc .dot{position:absolute;left:50%;top:-7px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--or);box-shadow:0 0 0 5px rgba(250,145,0,.2)}
@keyframes spin{to{transform:rotate(360deg)}}
.cyc .c{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;color:var(--sumi)}
.cyc .n{position:absolute;background:var(--paper);padding:5px 10px;font-size:12.5px;font-weight:700;line-height:1.45;color:var(--sumi);text-align:center;white-space:nowrap;box-shadow:0 6px 16px -10px rgba(20,19,18,.4)}
.cyc .n.t{left:50%;top:9%;transform:translate(-50%,-50%)}
.cyc .n.b{left:50%;bottom:9%;transform:translate(-50%,50%)}
.cyc .n.r{right:0;top:52%;transform:translateY(-50%)}
.cyc .n.l{left:0;top:52%;transform:translateY(-50%)}
.cyc.c1 .n.r{top:68%}.cyc.c1 .n.l{top:68%}
.outs{grid-template-columns:1fr;margin-top:0}
.outs li::before{content:none}
.outs li{padding:20px 0 22px 34px;position:relative;font-size:clamp(16px,1.3vw,18.5px)}
.outs li::after{content:"";position:absolute;left:0;top:30px;width:18px;height:10px;border-left:2.5px solid var(--or);border-bottom:2.5px solid var(--or);transform:rotate(-45deg)}
.prin h3{font-size:clamp(20px,1.7vw,25px)}
.coach{grid-template-columns:.8fr 1.2fr;margin-bottom:24px}
.coach img{aspect-ratio:4/3}
.casepick{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px);margin-top:36px}
.casepick a{display:block;background:var(--paper)}
.casepick img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s var(--e-out)}
.casepick a{overflow:hidden}
.casepick span{display:block;padding:14px 16px 18px;font-size:14px;font-weight:700;line-height:1.6}
.casepick a:hover img{transform:scale(1.03)}
.fbox{background:var(--bg);color:var(--sumi);padding:clamp(24px,3vw,40px)}
.blk.ink .more{color:#fff}
@media (prefers-reduced-motion:reduce){.cyc .ring{animation:none}}
@media (max-width:900px){
  .cycles{grid-template-columns:1fr}
  .coach,.casepick{grid-template-columns:1fr}
  .cyc{max-width:300px}
}
.chain span{color:var(--sumi)}.chain span.me{color:var(--ink)}
.cyc .c{font-size:13px;color:var(--gray)}
.cyc .n.l{left:-9%}.cyc .n.r{right:-9%}
.cycles{gap:clamp(20px,4vw,56px);padding:0 4%}

/* ---------- AI×仕組み化パッケージ LP ---------- */
.forl{list-style:none;margin-top:36px;display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(30px,5vw,70px)}
.forl li{padding:24px 0 26px 36px;border-top:1px solid var(--line2);position:relative}
.forl li::before{content:"";position:absolute;left:0;top:32px;width:18px;height:10px;border-left:2.5px solid var(--or);border-bottom:2.5px solid var(--or);transform:rotate(-45deg)}
.forl b{display:block;font-size:clamp(16.5px,1.3vw,19px);font-weight:900;line-height:1.6}
.forl span{display:block;margin-top:6px;font-size:14.5px;line-height:1.85;color:var(--body)}
.abc3{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,44px);margin-top:48px;position:relative}
.abc3::before{content:"";position:absolute;left:30px;right:30px;top:30px;height:2px;background:linear-gradient(90deg,var(--or),#f6c27a)}
.abc3 li{position:relative}
.abc3 .lt{position:relative;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:var(--ink);color:#fff;font-family:"Jost",sans-serif;font-size:26px;font-weight:600}
.abc3 .k{margin-top:18px;font-size:13px;font-weight:700;color:#8a5a1c;letter-spacing:.1em}
.abc3 h3{margin-top:4px;font-size:clamp(19px,1.6vw,23px);font-weight:900;line-height:1.5}
.abc3 li>p:not(.k){margin-top:12px;font-size:15px;line-height:1.95;color:var(--body)}
@media (max-width:900px){.forl,.abc3{grid-template-columns:1fr}.abc3::before{display:none}}
.outs.two{grid-template-columns:1fr 1fr;gap:0 clamp(30px,5vw,70px);margin-top:40px}@media (max-width:900px){.outs.two{grid-template-columns:1fr}}
.outs li,.forl b,.forl span,.slist b,.slist span{word-break:auto-phrase;text-wrap:pretty}

/* 考え方 章2（B案・2026-09-27）: 図2枚＋右に「見えにくい理由」の欄。本文を横幅の途中で折り返させない */
.bridge{margin-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px)}
.bridge p{font-size:clamp(16px,1.25vw,18px);line-height:2;color:var(--body)}
.bridge p:first-child{font-weight:700;color:var(--sumi)}
.duo{display:grid;grid-template-columns:1fr 1fr .85fr;gap:clamp(24px,3.5vw,56px);margin-top:clamp(40px,5vw,64px);align-items:start}
.duo figure{margin:0}
.duo img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#efe9df}
.duo h3{margin-top:18px;font-size:clamp(19px,1.5vw,22px);font-weight:900;line-height:1.5;word-break:auto-phrase}
.duo figure p{margin-top:10px;font-size:15px;line-height:1.95;color:var(--body)}
.duo-note{align-self:stretch;background:var(--ink);color:var(--on-dark);padding:clamp(26px,3vw,40px);display:flex;flex-direction:column;justify-content:center}
.duo-note p{font-size:15.5px;line-height:2;color:var(--on-dark-2)}
.duo-note p.em{margin-top:18px;font-size:clamp(17px,1.4vw,20px);font-weight:700;line-height:1.8;color:#fff}
@media (max-width:900px){.bridge,.duo{grid-template-columns:1fr}}

/* ---------- 会社について v2（2026-09-27） ---------- */
.whom{align-items:start}
.whom-q{list-style:none;margin-top:30px;display:grid;gap:14px}
.whom-q li{font-size:clamp(17px,1.45vw,21px);font-weight:700;line-height:1.7;color:var(--sumi);padding-left:1.1em;position:relative;word-break:auto-phrase}
.whom-q li::before{content:"";position:absolute;left:0;top:.8em;width:.5em;height:2px;background:var(--or)}
.scale{margin-top:36px}
.scale .bar{height:10px;border-radius:999px;background:linear-gradient(90deg,#f6c27a,var(--or));position:relative;overflow:hidden}
.scale .bar i{position:absolute;inset:0;background:rgba(255,255,255,.35);transform-origin:right;transition:transform 1.4s var(--e-out)}
.scale.in .bar i,.reveal.in .scale .bar i{transform:scaleX(0)}
.scale .ends{display:flex;justify-content:space-between;margin-top:10px;font-size:13px;font-weight:700;color:#5f5a54}
.scale-t{margin-top:18px;font-size:15.5px;line-height:1.95;color:var(--body)}
.why4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.5vw,36px);margin-top:44px}
.why4 img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#efe9df}
.why4 h3{margin-top:16px;font-size:clamp(17px,1.3vw,20px);font-weight:900;line-height:1.5}
.why4 p{margin-top:8px;font-size:14.5px;line-height:1.9;color:var(--body)}
.mv{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);margin-top:44px}
.mv .k,.vk{font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--or)}
.mv .t{margin-top:10px;font-size:clamp(21px,2vw,30px);font-weight:900;line-height:1.55;color:#fff;word-break:auto-phrase}
.mv .d{margin-top:12px;font-size:15px;line-height:1.95;color:var(--on-dark-2)}
.vk{margin-top:clamp(48px,6vw,80px)}
.val6{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:18px;border-top:1px solid rgba(246,243,238,.2)}
.val6 li{padding:22px 22px 24px 0;border-bottom:1px solid rgba(246,243,238,.2)}
.val6 b{display:block;font-size:clamp(20px,1.8vw,26px);font-weight:900;color:#fff}
.val6 span{display:block;margin-top:6px;font-size:14.5px;line-height:1.8;color:var(--on-dark-2)}
.mv-foot{margin-top:36px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px}
.mv-foot p{font-size:15px;color:var(--on-dark-2);max-width:44em}
.facts{display:flex;gap:40px;margin:22px 0 20px}
.facts b{display:block;font-family:"Jost","Noto Sans JP",sans-serif;font-size:clamp(34px,3.4vw,50px);font-weight:600;line-height:1;color:var(--sumi)}
.facts b small{font-size:.42em;margin-left:3px;font-family:"Noto Sans JP",sans-serif}
.facts span{display:block;margin-top:6px;font-size:13px;font-weight:700;color:#5f5a54}
.hist2{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:48px;position:relative}
.hist2::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:linear-gradient(90deg,#e0d6c6,var(--or))}
.hist2 li{position:relative;padding:34px 18px 0 0}
.hist2 li::before{content:"";position:absolute;left:0;top:2px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:3px solid var(--or)}
.hist2 b{display:block;font-size:17px;font-weight:900;line-height:1.4}
.hist2 b small{display:block;font-family:"Jost",sans-serif;font-size:14px;font-weight:500;color:#8a5a1c;margin-top:2px}
.hist2 span{display:block;margin-top:8px;font-size:13.5px;line-height:1.85;color:var(--body)}
.prof{grid-template-columns:.8fr 1.2fr;align-items:start}
.prof img{aspect-ratio:4/5;object-fit:cover;object-position:62% 50%}
@media (max-width:1100px){.why4{grid-template-columns:1fr 1fr}.hist2{grid-template-columns:repeat(3,1fr);row-gap:36px}.hist2::before{display:none}}
@media (max-width:900px){.mv,.val6,.prof{grid-template-columns:1fr}.val6{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.why4,.hist2,.val6{grid-template-columns:1fr}}

/* ---------- 代表メッセージ v2（2026-09-27）: 実写の写真のヒーロー／道のりの帯／中央の読み物の列＋引用・写真で区切る ---------- */
.msg-hero{background:var(--paper);padding:calc(var(--hd-h) + 26px) 0 0;overflow:hidden}
.msg-hero .g{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(24px,4vw,64px);align-items:end}
.msg-hero .crumbs{color:var(--gray);margin-bottom:26px}
.msg-hero .eyebrow{display:inline-block;font-size:14px;font-weight:700;padding-bottom:8px;border-bottom:2px solid var(--or)}
.msg-hero h1{margin-top:24px;font-size:clamp(28px,3.2vw,48px);font-weight:900;line-height:1.45;word-break:auto-phrase}
.msg-hero .who{margin:28px 0 clamp(40px,6vw,90px);font-size:16px;font-weight:700}
.msg-hero .who small{display:block;font-size:12.5px;font-weight:500;color:var(--gray);margin-bottom:2px}
.msg-hero .ph{margin:0 calc(-1 * var(--gut)) 0 0}
.msg-hero .ph img{width:100%;aspect-ratio:4/3.4;object-fit:cover;object-position:60% 30%}
.journey-b{background:var(--ink);padding:clamp(34px,4vw,50px) 0}
.journey{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);position:relative}
.journey::before{content:"";position:absolute;left:0;right:0;top:7px;height:2px;background:linear-gradient(90deg,rgba(246,243,238,.25),var(--or))}
.journey li{position:relative;padding:28px 14px 0 0}
.journey li::before{content:"";position:absolute;left:0;top:0;width:14px;height:14px;border-radius:50%;background:var(--ink);border:2px solid rgba(246,243,238,.6)}
.journey li.now::before{background:var(--or);border-color:var(--or)}
.journey b{display:block;font-size:15px;font-weight:900;color:#fff;line-height:1.45}
.journey span{display:block;margin-top:6px;font-size:12.5px;line-height:1.7;color:var(--on-dark-2)}
.msg2{padding:clamp(64px,8vw,110px) 0}
.msg2 .ch{max-width:42em;margin:0 auto}
.msg2 .ch+.ch{margin-top:clamp(64px,8vw,100px)}
.msg2 h2{font-size:clamp(22px,2.1vw,30px);font-weight:900;line-height:1.5;padding-bottom:14px;margin-bottom:26px;border-bottom:1px solid var(--line2)}
.msg2 p{font-size:16.5px;line-height:2.1;color:var(--body)}
.msg2 p+p{margin-top:1.3em}
.msg2 p b{color:var(--sumi)}
.msg2 .pull{margin:40px -8% 36px;font-size:clamp(22px,2.4vw,34px);font-weight:900;line-height:1.6;color:var(--sumi);text-align:center;word-break:auto-phrase}
.msg2 .wide{margin:40px -18%}
.msg2 .wide img{width:100%;aspect-ratio:16/8;object-fit:cover}
.msg2 .wide figcaption{margin-top:10px;font-size:13px;color:var(--gray);text-align:center}
.side-ph{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:center;margin:0 -12%}
.side-ph img{width:100%;aspect-ratio:4/3;object-fit:cover}
.side-ph figure{margin:0}
.sign2{display:flex;align-items:center;gap:16px;justify-content:flex-end;margin-top:44px!important}
.sign2 img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 20%}
.sign2 span{font-weight:700;color:var(--sumi);font-size:16px;line-height:1.5}
.sign2 small{display:block;font-size:12.5px;font-weight:500;color:var(--gray)}
@media (max-width:1100px){.msg2 .wide{margin:36px 0}.side-ph{margin:0}.msg2 .pull{margin:36px 0}}
@media (max-width:900px){.msg-hero .g,.side-ph{grid-template-columns:1fr}.msg-hero .ph{margin:0 calc(-1 * var(--gut))}.msg-hero .who{margin-bottom:24px}.journey{grid-template-columns:1fr 1fr;row-gap:26px}.journey::before{display:none}}
/* 考え方 章3（トップの「やることは一つ」と同じ整理）: 二つの中身を左右に同じ重さで、最後の一文は中央に */
.dir2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);margin-top:48px;align-items:start}
.dir2 h3{font-size:clamp(18px,1.5vw,22px);font-weight:900;padding-bottom:12px;margin-bottom:18px;border-bottom:2px solid var(--or);display:inline-block}
.stmt.sm{font-size:clamp(20px,1.9vw,28px)}
.dir-then{max-width:46em;margin:clamp(48px,6vw,72px) auto 0;padding-top:32px;border-top:1px solid var(--line2);text-align:left}
.dir-then p{font-size:16.5px;line-height:2.05;color:var(--sumi)}
@media (max-width:900px){.dir2{grid-template-columns:1fr}}
/* 代表メッセージ: 本文・写真・引用をすべて同じ幅の1列にそろえる（幅がばらばらだと落ち着かない） */
.msg2 .ch{max-width:760px}
.msg2 .wide,.msg2 .pull{margin-left:0;margin-right:0}
.msg2 .wide img{aspect-ratio:16/9}
.msg2 .pull{text-align:left;padding:26px 0;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.msg2 .sign2{justify-content:flex-start}
/* 会社概要: 表だけを中央の列に */
.prof1{max-width:880px;margin:0 auto}
.msg-hero .ph{margin:0}
.dir-then{max-width:none;margin:clamp(48px,6vw,72px) 0 0;display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:start}
.dir-then .stmt{margin:0}
@media (max-width:900px){.dir-then{grid-template-columns:1fr}}
