@charset "UTF-8";
/* =========================================================
   BUSINESS（3HP business.pdf）
   各 top 値は「PDF上のY座標 − セクション開始Y」
   行間は現行サイト基準（本文 1.8／複数行の見出し・引用 1.6）。行間変更で文章ブロックの高さが変わった分は、
   後続要素の top とセクション高さを詰めて「ブロック下端〜次の要素」の余白をデザインどおりに保っている
   ========================================================= */

.page-business .ttl__en::before { background: #5dc8f5; }
.page-business .ttl__ja { letter-spacing: 0; color: var(--c-text2); }
.page-business .ttl__en { color: var(--c-text2); letter-spacing: .25em; }
.hang { margin-left: -.5em; }

/* ---------- INTRO + OVERVIEW (y66–2016) ---------- */
.bz-intro { height: 1866px; } /* 行間変更で −23 */
.bz-intro__wm { left: -14px; top: -1px; font-size: 110px; line-height: 110px; writing-mode: vertical-rl; }
.bz-intro__en { left: 103px; top: 58px; }
.bz-intro__ja { left: 99px; top: 99px; line-height: 45px; }
.bz-intro__lead { left: 99px; top: 169px; font-size: 12px; line-height: 1.8; letter-spacing: 0; color: var(--c-sub2); white-space: nowrap; }

.bz-anchor { left: 97px; top: 269px; width: 496px; height: 101px; border-top: 1px solid #bce6ef; border-bottom: 1px solid #bce6ef; }
.bz-anchor a {
  position: absolute; display: flex; align-items: center; gap: 16px; height: 20px;
  font-size: 12px; line-height: 20px; letter-spacing: .06em; white-space: nowrap; transition: opacity .2s;
}
.bz-anchor a::before { content: ""; width: 17px; height: 17px; background: url("../img/common/arrow-down.svg") center / 100% 100% no-repeat; }
.bz-anchor a:hover { opacity: .6; }
.bz-anchor a:nth-child(1) { left: 6px; top: 17px; }
.bz-anchor a:nth-child(2) { left: 125px; top: 17px; }
.bz-anchor a:nth-child(3) { left: 260px; top: 17px; }
.bz-anchor a:nth-child(4) { left: 6px; top: 64px; }
.bz-anchor a:nth-child(5) { left: 125px; top: 64px; }

.bz-intro__img { left: 665px; top: 63px; width: 353px; height: 354px; overflow: hidden; --cx: 29px; --cy: 39px; }
.bz-intro__img img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }

.bz-ov__wm { left: 543px; top: 402px; font-size: 110px; }
.bz-ov__en { left: 102px; top: 508px; }
.bz-ov__ja { left: 98px; top: 550px; line-height: 45px; }
.bz-ov__lead { left: 98px; top: 619px; font-size: 12px; line-height: 1.8; letter-spacing: .02em; color: var(--c-sub2); white-space: nowrap; }

/* flow diagram（3HP business.pdf 2026-10 改訂版。PDF座標 − 66 − 10（上の行間変更分） = top） */
.bz-flow__defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.bz-fs { top: 707px; width: 0; height: 0; }
.bz-fs--1 { left: 128px; }
.bz-fs--2 { left: 450px; }
.bz-fs--3 { left: 768px; }
.bz-fs > * { position: absolute; }
.bz-step { left: 0; top: 0; font-size: 10px; font-weight: 700; line-height: 14px; letter-spacing: .2em; color: #b3b3b3; white-space: nowrap; }
.bz-step b { display: block; margin: 5px 0 0 -1px; font-size: 24px; line-height: 24px; letter-spacing: .1em; }
.bz-fs__name { top: 2.2px; font-size: 14px; font-weight: 500; line-height: 20px; letter-spacing: .13em; color: #5dc9f5; white-space: nowrap; }
.bz-fs--1 .bz-fs__name { left: 58.6px; }
.bz-fs--2 .bz-fs__name { left: 48.8px; }
.bz-fs--3 .bz-fs__name { left: 58.8px; }
.bz-fs__name small { position: absolute; left: 2.2px; top: 23.6px; font-size: 8px; font-weight: 400; line-height: 12px; letter-spacing: 0; color: var(--c-sub2); }
.bz-fs--1 .bz-fs__ill { left: 15.2px; top: 76.9px; width: 185.9px; height: 152.3px; }
.bz-fs--2 .bz-fs__ill { left: -7.6px; top: 71.9px; width: 217.6px; height: 157.3px; }
.bz-fs--3 .bz-fs__ill { left: -18.4px; top: 73.7px; width: 266.7px; height: 157.3px; }
.bz-flow__arrow { top: 848.4px; width: 80px; font-size: 8px; line-height: 13px; text-align: center; color: var(--c-sub2); white-space: nowrap; }
.bz-flow__arrow--1 { left: 343px; top: 845.6px; line-height: 1.8; } /* 2行：行間 1.8。下端（矢印との間隔）を保つため上へ */
.bz-flow__arrow--2 { left: 660px; }
.bz-flow__arrow::after {
  content: ""; position: absolute; left: 15px; top: 26.7px; width: 51px; height: 10px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 10'%3E%3Cpath d='M0 5H49.3' stroke='%23333' stroke-width='1'/%3E%3Cpath d='M45.6 9.5 44.8 8.7 48.9 5 44.8 1.3 45.6.5 50.5 5Z' fill='%23333'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
}
.bz-flow__arrow--1::after { top: 29.5px; }
.bz-flow__arrow--2::after { left: 17.6px; }
/* 場内オペレーション帯（8工程を1本の帯に。STEP 02 のイラスト中心 x=551 に揃えて吊り下げ） */
.bz-ops { left: 197px; top: 936px; width: 708px; }
.bz-ops__notch { position: absolute; left: 344px; top: 0; width: 20px; height: 12px; background: #f2f2f2; clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.bz-ops__list {
  display: grid; grid-template-columns: repeat(8, 1fr); height: 80px; margin: 12px 0 0; padding: 0 12px; list-style: none;
  background: #f2f2f2; --ic-bg: #f2f2f2; --cx: 16.8px; --cy: 16.1px;
}
.bz-ops__list li { position: relative; padding-top: 47px; font-size: 9px; line-height: 13px; text-align: center; color: var(--c-text); white-space: nowrap; }
.bz-ops__list li + li::before { content: ""; position: absolute; left: -3px; top: 25px; width: 6px; height: 8px; background: #5dc9f5; clip-path: polygon(0 0, 100% 50%, 0 100%); }
.bz-ops__list svg { position: absolute; left: 50%; top: 29px; translate: -50% -50%; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.1; stroke-linejoin: round; stroke-linecap: round; color: #5dc9f5; }
.bzi-bg { fill: var(--ic-bg); } /* アイコン内の「背景色で塗る」面（帯の背景色 --ic-bg を継承） */
.bz-ops__list small { display: block; font-size: 7.5px; line-height: 11px; color: var(--c-sub2); }
/* 運営を支える管理業務（番号・矢羽根なしの独立チップ） */
.bz-ops__func { position: relative; display: flex; justify-content: center; gap: 12px; margin: 16px 0 0; padding: 0; list-style: none; }
.bz-ops__func li { display: flex; align-items: center; justify-content: center; width: 112px; height: 36px; background: #e3e7fb; font-size: 10px; line-height: 14px; letter-spacing: .06em; color: var(--c-text); white-space: nowrap; --cx: 8px; --cy: 11px; }
.bz-ops__func li.bz-ops__etc { position: absolute; left: calc(50% + 252px); bottom: 0; width: auto; height: auto; background: none; font-size: 9px; line-height: 12px; letter-spacing: .04em; color: var(--c-sub2); }
.bz-func__cap { left: 197px; top: 1098px; width: 708px; font-size: 10px; line-height: 14px; text-align: center; color: #5dc9f5; white-space: nowrap; }
.bz-func__cap::before, .bz-func__cap::after { content: ""; position: absolute; top: 6.5px; width: 100.8px; height: 1px; background: #5dc9f5; opacity: .6; }
.bz-func__cap::before { left: 0; }
.bz-func__cap::after { right: 0; }
.bz-flow__rule { left: 123px; top: 1140px; width: 889px; height: 1px; background: #bcd8dd; }

.bz-ov__h3 { top: 1188px; font-size: 15.4px; font-weight: 700; line-height: 24px; letter-spacing: .06em; color: var(--c-text2); white-space: nowrap; }
.bz-ov__txt { top: 1237px; font-size: 9.6px; line-height: 1.8; color: var(--c-sub2); white-space: nowrap; }
.bz-ov__h3--ops, .bz-ov__txt--ops { left: 126px; }           /* 現場オペレーション・倉庫管理 */
.bz-ov__h3--delivery, .bz-ov__txt--delivery { left: 606px; } /* 配送管理 */

.bz-client { left: 116px; top: 1367px; width: 874px; height: 385px; background: #333; --cx: 44px; --cy: 58px; }
.bz-client__ttl { left: 175px; top: 1450px; font-size: 30px; font-weight: 700; line-height: 1.6; letter-spacing: -.02em; color: #fff; white-space: nowrap; }
.bz-client__txt { left: 172px; top: 1566px; font-size: 12px; line-height: 1.8; color: #fff; white-space: nowrap; }
/* 荷主ロゴ（看板写真を廃止し、写真のあった位置に白パネルで大きく表示。コクヨ＝黒ロゴ） */
.bz-client__logos { left: 634px; top: 1447px; width: 311px; height: 242px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 30px; padding-bottom: 8px; background: #fff; --cx: 26px; --cy: 35px; }
.bz-client__logos img { display: block; height: auto; }
.bz-client__logos img:first-child { width: 168px; }
.bz-client__logos img:last-child { width: 192px; }

/* ---------- STRENGTH (y2016–3728) ---------- */
.bz-str { height: 1692px; background: #f3f3f3; } /* 行間変更で −20 */
.bz-str__wm { left: 523px; top: -14px; font-size: 110px; color: #fff; }
.bz-str__en { left: 100px; top: 81px; }
.bz-str__ja { left: 96px; top: 122px; line-height: 45px; }
.bz-str__lead, .bz-str__txt { font-size: 12px; line-height: 24px; letter-spacing: 0; color: #7c7c7c; white-space: nowrap; }
.bz-str__txt { line-height: 1.8; }
.bz-str__lead { left: 92px; top: 208px; }
.bz-str__no {
  width: 44px; height: 28px; display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 700; line-height: 1; color: var(--c-text); --cx: 6px; --cy: 9px;
}
.bz-str__h3 { font-size: 15.4px; font-weight: 700; line-height: 24px; letter-spacing: .06em; color: var(--c-text2); white-space: nowrap; }
.bz-str__list { width: 522px; }
.bz-str__list li {
  position: relative; display: flex; align-items: center; padding-left: var(--tx);
  font-size: 12px; line-height: 1.8; letter-spacing: 0; color: var(--c-text2); white-space: nowrap;
}
.bz-str__list li + li { border-top: 1px solid #dcdcdc; }
.bz-str__list li::before { content: ""; position: absolute; left: var(--sq); top: calc(50% - 3.5px); width: 7px; height: 7px; background: #eb6d60; }
.bz-str__list li.l2::before { top: calc(50% - 14.3px); } /* 1行目の中央 */
.bz-str__img { width: 353px; height: 258px; overflow: hidden; --cx: 29px; --cy: 40px; }
.bz-str__img img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; }
/* 01 現場力・センター運営 */
.bz-str__no--1 { left: 92px; top: 315px; background: #5dc8f5; }
.bz-str__h3--1 { left: 92px; top: 367px; }
.bz-str__txt--1 { left: 92px; top: 416px; }
.bz-str__list--1 { left: 94px; top: 528px; --sq: 3px; --tx: 27px; }
.bz-str__list--1 li:nth-child(1) { height: 34px; }
.bz-str__list--1 li:nth-child(2) { height: 36px; }
.bz-str__list--1 li:nth-child(3) { height: 38px; }
.bz-str__img--1 { left: 655px; top: 381px; height: 259px; --cx: 30px; --cy: 41px; }
.bz-str__img--1 img { object-position: 62% 50%; }
/* 02 物流ネットワーク・企画力 */
.bz-str__no--2 { left: 85px; top: 750px; background: #58c185; }
.bz-str__h3--2 { left: 85px; top: 803px; }
.bz-str__txt--2 { left: 85px; top: 852px; }
.bz-str__list--2 { left: 80px; top: 956px; --sq: 2px; --tx: 26px; }
.bz-str__list--2 li:nth-child(1) { height: 32px; }
.bz-str__list--2 li:nth-child(2) { height: 36px; }
.bz-str__list--2 li:nth-child(3) { height: 36px; }
.bz-str__img--2 { left: 648px; top: 817px; }
/* 03 次世代物流（DX・AI・自動化） */
.bz-str__no--3 { left: 85px; top: 1176px; background: #b3c1f9; }
.bz-str__h3--3 { left: 85px; top: 1229px; }
.bz-str__txt--3 { left: 85px; top: 1278px; }
.bz-str__list--3 { left: 88px; top: 1389px; --sq: 3px; --tx: 26px; }
.bz-str__list--3 li:nth-child(1) { height: 64px; }
.bz-str__list--3 li:nth-child(2) { height: 36px; }
.bz-str__list--3 li:nth-child(3) { height: 60px; }
.bz-str__list--3 li:nth-child(4) { height: 38px; }
.bz-str__img--3 { left: 648px; top: 1243px; }

/* ---------- SAFETY & QUALITY / VOICE (y3728–4806) ---------- */
.bz-safe { height: 553px; } /* 現場の声を非公開中（カード下端 446px＋下余白 107px）。公開時は 1068px */
.bz-safe__wm { left: 95px; top: -19px; font-size: 110px; }
.bz-safe__en { left: 99px; top: 82px; }
.bz-safe__ja { left: 95px; top: 124px; line-height: 45px; }
.bz-safe__lead { left: 95px; top: 195px; font-size: 12px; line-height: 24px; letter-spacing: .04em; color: var(--c-sub2); white-space: nowrap; }
.bz-safe__card { top: 266px; width: 297px; height: 180px; border-top: 3px solid var(--bar); }
.bz-safe__card h3, .bz-safe__card p { position: absolute; white-space: nowrap; }
.bz-safe__card h3 { top: 37px; font-size: 16px; font-weight: 700; line-height: 24px; letter-spacing: .06em; color: var(--c-text2); }
.bz-safe__card p { font-size: 10px; line-height: 1.8; color: var(--c-sub2); }
.bz-safe__card--safety { left: 100px; --bar: #5dc8f5; }
.bz-safe__card--safety img { left: 231px; top: 18.5px; width: 37px; height: 44px; }
.bz-safe__card--safety h3 { left: 29px; }
.bz-safe__card--safety p { left: 29px; top: 74px; }
.bz-safe__card--quality { left: 413px; --bar: #58c185; }
.bz-safe__card--quality img { left: 230px; top: 13.5px; width: 37px; height: 54px; }
.bz-safe__card--quality h3 { left: 28px; }
.bz-safe__card--quality p { left: 28px; top: 77px; }
.bz-safe__card--award { left: 724px; --bar: #b3c1f9; }
.bz-safe__card--award img { left: 231px; top: 15.5px; width: 36px; height: 49px; }
.bz-safe__card--award h3 { left: 28px; }
.bz-safe__card--award p { left: 28px; top: 78px; }

.bz-voice { left: 105px; top: 524px; width: 921px; height: 437px; background: #333; --cx: 51px; --cy: 70px; }
.bz-voice__img { left: 551px; top: 595px; width: 408px; height: 294px; overflow: hidden; --cx: 34px; --cy: 45px; }
.bz-voice__img img { position: absolute; left: -28px; top: -24px; width: 512px; height: 342px; }
.bz-voice__line { left: 912px; top: 829px; width: 60px; height: 80px; overflow: visible; }
.bz-voice__q { left: 183px; top: 603px; font-size: 24px; font-weight: 700; line-height: 1.6; text-indent: -.5em; color: #fff; white-space: nowrap; }
.bz-voice__meta { left: 184px; top: 775px; font-size: 12px; line-height: 20px; color: #b3b3b3; white-space: nowrap; }
.bz-voice__more { left: 185px; top: 834px; gap: 30px; font-size: 12px; letter-spacing: .06em; color: #fff; }
.bz-voice__more .arrow { width: 28px; height: 28px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Ccircle cx='14' cy='14' r='13.6' fill='none' stroke='%23fff' stroke-width='.8'/%3E%3Cpath d='M8 14h11.5' stroke='%23fff' stroke-width='.8'/%3E%3Cpath d='M16.2 11 19.8 14l-3.6 3' fill='none' stroke='%23fff' stroke-width='.8'/%3E%3C/svg%3E"); }

/* ---------- CASE STUDY (y4806–5559) ---------- */
.bz-case { height: 747px; background: #f1f1f1; } /* 行間変更で −6 */
.bz-case__wm { left: 452px; top: -13px; font-size: 110px; color: #fff; }
.bz-case__en { left: 109px; top: 75px; }
.bz-case__ja { left: 105px; top: 116px; line-height: 45px; letter-spacing: .02em !important; }
.bz-case__lead { left: 105px; top: 187px; font-size: 12px; line-height: 24px; letter-spacing: .04em; color: var(--c-sub2); white-space: nowrap; }
.bz-case__card { top: 238px; width: 297px; height: 249px; background: #fff; --cx: 21px; --cy: 28px; }
.bz-case__card > * { position: absolute; left: 28px; white-space: nowrap; }
.bz-case__tag {
  top: 30px; width: 55px; height: 23px; display: flex; align-items: center; justify-content: center;
  background: #009fc0; font-size: 8px; font-weight: 500; line-height: 1; letter-spacing: .06em; color: #fff; --cx: 6px; --cy: 9px;
}
.bz-case__card h3 { top: 72px; font-size: 14px; font-weight: 700; line-height: 24px; letter-spacing: .06em; color: var(--c-text2); }
.bz-case__txt { top: 104px; font-size: 10px; line-height: 1.8; letter-spacing: .02em; color: var(--c-sub2); }
.bz-case__num { left: 29px; top: 180px; font-size: 14px; font-weight: 700; line-height: 24px; letter-spacing: .06em; color: var(--c-text2); }
.bz-case__sub { left: 29px; top: 205px; font-size: 8px; line-height: 16px; color: var(--c-sub2); }
.bz-case__more { top: 499px; gap: 18px; letter-spacing: .04em; transform: translateX(-100%); white-space: nowrap; } /* 右端揃え */
/* 各カード（共同配送／ピッキング／パレット輸送）の位置。MORE は left＝右端（自身の幅ぶん左へ） */
.bz-case__card--delivery { left: 110px; }
.bz-case__card--delivery .bz-case__txt { top: 106px; }
.bz-case__more--delivery { left: 408px; }
.bz-case__card--picking { left: 419px; }
.bz-case__more--picking { left: 718px; }
.bz-case__card--pallet { left: 729px; top: 237px; height: 250px; --cy: 29px; }
.bz-case__card--pallet .bz-case__tag { top: 31px; height: 22px; }
.bz-case__card--pallet h3 { top: 73px; }
.bz-case__card--pallet .bz-case__sub { top: 206px; }
.bz-case__more--pallet { left: 1027px; top: 498px; }

.bz-cta__ttl { left: 166px; top: 607px; font-size: 24px; font-weight: 700; line-height: 36px; letter-spacing: .02em; color: var(--c-text2); white-space: nowrap; }
.bz-cta__txt { left: 166px; top: 649px; font-size: 12px; line-height: 20px; letter-spacing: .04em; color: var(--c-sub2); white-space: nowrap; }
.bz-cta__btn {
  left: 724px; top: 601px; width: 252px; height: 70px; display: flex; align-items: center; justify-content: space-between;
  padding: 0 40px 0 31px; background: #eb6d60; font-size: 12px; font-weight: 700; line-height: 1; letter-spacing: .06em; color: var(--c-text2);
  --cx: 17px; --cy: 22px; transition: opacity .2s;
}
.bz-cta__btn:hover { opacity: .8; }
.bz-cta__btn .arrow { width: 27px; height: 27px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Ccircle cx='14' cy='14' r='14' fill='%23fff'/%3E%3Cpath d='M8.5 14h11' stroke='%23393939' stroke-width='.8'/%3E%3Cpath d='M17 11.8 19.8 14 17 16.2' fill='none' stroke='%23393939' stroke-width='.8'/%3E%3C/svg%3E"); }

/* ---------- FOOTER ---------- */

/* =========================================================
   SP（〜767px）… SPデザインなし。well-being / TOP の SP 作法に合わせて1カラム化
   - 各セクションの .inner を縦フレックスにしてフロー配置
   - 物流フロー図（.bz-flow）は STEP ごとの縦積み＋下向き矢印、作業帯はSTEP 02直下に4列×2段、管理業務は2×2チップ
   - 荷主・現場の声の黒ボックスはラッパー（.bz-clientwrap / .bz-voicewrap）を背景にして中身を縦積み
   ========================================================= */
@media (max-width: 767px) {
  .page-business main .inner { display: flex; flex-direction: column; }
  .page-business main .inner > .abs,
  .bz-clientwrap > .abs, .bz-voicewrap > .abs { position: relative; left: auto !important; top: auto !important; flex: none; }
  .page-business .ttl__en { z-index: 1; margin: 0 0 0 20px; }
  .page-business .ttl__ja { line-height: 43px !important; margin: 8px 0 0 18px; z-index: 1; white-space: normal; }
  .page-business main .inner > .ttl__bg { height: 0; min-height: 0; overflow: visible; font-size: 60px; line-height: 60px; top: -25px !important; }
  .bz-intro__lead, .bz-ov__lead, .bz-str__lead, .bz-safe__lead, .bz-case__lead { margin: 15px 20px 0; white-space: normal; letter-spacing: 0; }
  .bz-str__lead, .bz-case__lead { line-height: 1.8; } /* SPでは折り返して複数行 */
  .page-business main br { display: none; }
  .page-business main .bz-client__ttl br, .page-business main .bz-voice__q br { display: inline; }
  .page-business .hang { margin-left: 0; }

  /* ---------- INTRO ---------- */
  .bz-intro .inner { padding: 17px 0 80px; }
  .page-business main .inner > .bz-intro__wm { position: absolute; left: auto !important; right: -1.5px; top: 2px !important; height: auto; transform: rotate(180deg); }
  .bz-anchor { width: auto; height: 105px; margin: 32px 20px 0; }
  .bz-anchor a::before { width: 18px; height: 18px; }
  .bz-anchor a:nth-child(3n+1) { left: 6px !important; }
  .bz-anchor a:nth-child(3n+2) { left: 118px !important; }
  .bz-anchor a:nth-child(3n) { left: 232px !important; }
  .bz-anchor a:nth-child(-n+3) { top: 23px !important; }
  .bz-anchor a:nth-child(n+4) { top: 60px !important; }
  .bz-intro__img { width: auto; height: auto; aspect-ratio: 335 / 240; margin: 40px 20px 0; --cx: 28px; --cy: 38px; }
  .bz-intro__img img { left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; }

  .bz-ov__wm { margin-top: 80px; left: 40px !important; }
  .bz-ov__ja { margin-right: 0; }

  /* 物流フロー図（縦）… STEPごとに「見出し → イラスト → 作業ボックス」を縦積みし、下向き矢印でつなぐ。作業帯はSTEP 02の直下 */
  .bz-flow { display: flex; flex-direction: column; margin: 44px 20px 0; }
  .bz-flow .abs { position: relative; left: auto; top: auto; }
  .bz-fs { display: grid; grid-template-columns: auto 1fr; column-gap: 18px; width: auto; height: auto; }
  .bz-fs > * { position: static; }
  .bz-step { grid-column: 1; grid-row: 1; }
  .bz-fs__name { grid-column: 2; grid-row: 1; padding-top: 1px; font-size: 16px; line-height: 22px; letter-spacing: .1em; white-space: normal; }
  .bz-fs__name small { position: static; display: block; margin-top: 4px; font-size: 11px; line-height: 16px; }
  .bz-fs .bz-fs__ill { grid-column: 1 / -1; justify-self: center; height: auto; margin-top: 14px; }
  .bz-fs--1 .bz-fs__ill { width: 214px; }
  .bz-fs--2 .bz-fs__ill { width: 250px; }
  .bz-fs--3 .bz-fs__ill { width: 307px; }
  .bz-flow__arrow { display: flex; align-items: center; justify-content: center; gap: 12px; width: auto; height: 74px; font-size: 11px; line-height: 16px; }
  .bz-flow__arrow::after { position: static; order: -1; width: 10px; height: 44px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 44'%3E%3Cpath d='M5 0V42.8' stroke='%23333' stroke-width='1'/%3E%3Cpath d='M9.5 39.1 8.7 38.3 5 42.4 1.3 38.3.5 39.1 5 44Z' fill='%23333'/%3E%3C/svg%3E"); }
  /* 場内オペレーション帯（STEP 02 の直下に吊り下げ、4列×2段）＋管理業務チップ（2×2） */
  .bz-fs--1 { order: 1; } .bz-flow__arrow--1 { order: 2; } .bz-fs--2 { order: 3; } .bz-ops { order: 4; }
  .bz-flow__arrow--2 { order: 5; } .bz-fs--3 { order: 6; } .bz-func__cap { order: 7; } .bz-flow__rule { order: 8; }
  .bz-ops { width: auto; }
  .bz-ops__notch { left: calc(50% - 10px); }
  .bz-ops__list { grid-template-columns: repeat(4, 1fr); row-gap: 14px; height: auto; padding: 18px 6px 18px; --cx: 14px; --cy: 18px; }
  .bz-ops__list li { padding-top: 40px; font-size: 10px; line-height: 14px; white-space: normal; }
  .bz-ops__list li + li::before { top: 16px; }
  .bz-ops__list li:nth-child(5)::before { left: 1px; }
  .bz-ops__list svg { top: 16px; scale: 1.15; }
  .bz-ops__list small { font-size: 8px; line-height: 11px; letter-spacing: -.02em; }
  .bz-ops__func { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
  .bz-ops__func li { width: auto; height: 42px; font-size: 12px; }
  .bz-ops__func li.bz-ops__etc { position: static; grid-column: 1 / -1; justify-self: end; margin-top: -2px; font-size: 10px; }
  .bz-ops + .bz-flow__arrow { margin-top: 6px; }
  .bz-func__cap { width: auto; margin-top: 30px; font-size: 12px; line-height: 1.8; white-space: normal; }
  .bz-func__cap span { display: block; }
  .bz-func__cap::before, .bz-func__cap::after { position: static; display: block; width: 48px; margin-left: auto; margin-right: auto; }
  .bz-func__cap::before { margin-bottom: 12px; }
  .bz-func__cap::after { margin-top: 12px; }
  .bz-flow__rule { width: auto; margin-top: 44px; }

  .bz-ov__h3 { margin: 36px 20px 0; white-space: normal; }
  .bz-ov__txt { margin: 10px 20px 0; font-size: 11px; white-space: normal; }

  /* 荷主（黒ボックス） */
  .bz-clientwrap { display: flex; flex-direction: column; margin: 50px 20px 0; padding: 36px 24px 44px; background: #333; --cx: 30px; --cy: 40px; }
  .bz-clientwrap, .bz-voicewrap { clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--cy)), calc(100% - var(--cx)) 100%, 0 100%); }
  .bz-client { display: none; }
  .bz-client__ttl { font-size: 20px; letter-spacing: 0; }
  .bz-client__txt { margin-top: 16px; white-space: normal; }
  .bz-client__logos { width: auto; height: auto; aspect-ratio: 287 / 190; margin-top: 26px; padding: 0 0 6px; gap: 22px; --cx: 22px; --cy: 30px; }
  .bz-client__logos img:first-child { width: 140px; }
  .bz-client__logos img:last-child { width: 162px; }

  /* ---------- STRENGTH ---------- */
  .bz-str .inner { padding-bottom: 70px; }
  .bz-str__wm { margin-top: 70px; left: 150px !important; }
  .bz-str .inner > :nth-child(5)  { order: 10; } .bz-str .inner > :nth-child(6)  { order: 11; } .bz-str .inner > :nth-child(9)  { order: 12; } .bz-str .inner > :nth-child(7)  { order: 13; } .bz-str .inner > :nth-child(8)  { order: 14; }
  .bz-str .inner > :nth-child(10) { order: 20; } .bz-str .inner > :nth-child(11) { order: 21; } .bz-str .inner > :nth-child(14) { order: 22; } .bz-str .inner > :nth-child(12) { order: 23; } .bz-str .inner > :nth-child(13) { order: 24; }
  .bz-str .inner > :nth-child(15) { order: 30; } .bz-str .inner > :nth-child(16) { order: 31; } .bz-str .inner > :nth-child(19) { order: 32; } .bz-str .inner > :nth-child(17) { order: 33; } .bz-str .inner > :nth-child(18) { order: 34; }
  .bz-str__no { align-self: flex-start; margin: 50px 0 0 20px; }
  .bz-str__h3 { margin: 12px 20px 0; white-space: normal; }
  .bz-str__img { width: auto !important; height: auto !important; aspect-ratio: 335 / 240; margin: 16px 20px 0; --cx: 28px !important; --cy: 38px !important; }
  .bz-str__img img { left: 0 !important; top: 0 !important; width: 100%; height: 100%; object-fit: cover; }
  .bz-str__txt { margin: 16px 20px 0; white-space: normal; }
  .bz-str__list { width: auto; margin: 14px 20px 0; }
  .bz-str__list li { display: block; height: auto !important; padding: 10px 0 10px 22px; white-space: normal; }
  .bz-str__list li::before, .bz-str__list li.l2::before { left: 3px; top: 17px; }

  /* ---------- SAFETY & QUALITY / VOICE ---------- */
  .bz-safe .inner { padding-bottom: 80px; }
  .bz-safe__wm { margin-top: 70px; left: 150px !important; }
  .page-business main .inner > .bz-safe__wm { font-size: 36px; line-height: 36px; top: -4px !important; }
  .bz-safe__card { width: auto; height: auto; margin: 15px 20px 0; padding: 30px 24px 26px; background: #fff; box-shadow: 0 0 0 1px #ededed inset; }
  .bz-safe__lead + .bz-safe__card { margin-top: 30px; }
  .bz-safe__card h3, .bz-safe__card p { position: static; white-space: normal; }
  .bz-safe__card p { margin-top: 12px; }
  .bz-safe__card img { left: auto !important; right: 24px; }

  .bz-voicewrap { margin: 50px 20px 0; padding: 30px 24px 36px; background: #333; --cx: 30px; --cy: 40px; }
  .bz-voice, .bz-voice__line { display: none; }
  .bz-voice__img { width: auto; height: auto; aspect-ratio: 287 / 206; --cx: 22px; --cy: 30px; }
  .bz-voice__img img { left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; }
  .bz-voice__q { margin-top: 26px; padding-left: .5em; font-size: 20px; }
  .bz-voice__meta { margin-top: 14px; white-space: normal; }
  .bz-voice__more { margin-top: 22px; gap: 20px; }

  /* ---------- CASE STUDY ---------- */
  .bz-case .inner { padding-bottom: 80px; }
  .bz-case__wm { margin-top: 70px; left: 110px !important; }
  .bz-case__card { width: auto; height: auto !important; margin: 20px 20px 0; padding: 30px 24px 30px; --cx: 21px; --cy: 28px !important; }
  .bz-case__lead + .bz-case__card { margin-top: 30px; }
  .bz-case__card > * { position: static; white-space: normal; }
  .bz-case__tag { width: 64px; height: 23px !important; }
  .bz-case__card h3 { margin-top: 14px; }
  .bz-case__txt { margin-top: 8px; }
  .bz-case__num { margin-top: 14px; }
  .bz-case__sub { margin-top: 2px; }
  .bz-case__more { align-self: flex-end; margin: 14px 20px 0 0; gap: 16px; transform: none; }
  .bz-cta__ttl { margin: 60px 20px 0; font-size: 22px; }
  .bz-cta__txt { margin: 8px 20px 0; line-height: 1.8; white-space: normal; }
  .bz-cta__btn { width: auto; height: 60px; margin: 22px 20px 0; padding: 0 24px; }

  /* ---------- FOOTER ---------- */
}
