/* ===== 組み込み受託開発トップ（fsi-embedded.css の拡張） ===== */
.page-hero .bigsearch{margin:calc(30px * var(--sp-k)) 0 0 calc(72px * var(--sp-k));max-width:760px;box-shadow:var(--sh-2)}
.page-hero .bigsearch{border-color:var(--sol)}
.page-hero .bigsearch>svg{stroke:var(--sol)}
.ind-hero .bigsearch{margin:calc(30px * var(--sp-k)) 0 0;max-width:760px;box-shadow:0 18px 40px -24px rgba(0,10,30,.7)}

/* サービスラインアップ */
.lineup-lead{max-width:60em;margin:0 auto calc(34px * var(--sp-k));text-align:center;font-size:var(--fs-body);line-height:1.95;color:var(--ink-soft);font-weight:500}

/* 特徴 */
/* ヒーロー（TOP風アレンジ：MV背景＋中央寄せ＋検索＋人気KW） */
.page-hero.hero-top{position:relative;background:#f2f9f5;padding:calc(40px * var(--sp-k)) 0 calc(58px * var(--sp-k));text-align:center}
.page-hero.hero-top>.wrap{position:relative;z-index:2}
.page-hero.hero-top .crumbs{justify-content:flex-start;text-align:left}
.hero-eyebrow.sol{color:var(--sol)}
.hero-eyebrow.sol::before,.hero-eyebrow.sol::after{background:var(--sol)}
.hero-top .hero-sub em{font-style:normal;font-weight:900;color:var(--sol);word-break:auto-phrase}
.page-hero.hero-top .bigsearch{border-color:var(--sol);margin:calc(30px * var(--sp-k)) auto 0;text-align:left}

/* .whyset / .why-row / .why-fig / .why-tx / .fig-cap / .spec3 / .indp は共通CSSへ移設。以下は受託テーマ（緑）の差分のみ */
.why-fig .flow .step{background:color-mix(in oklab,var(--sol) 80%,#fff)}
.why-fig .flow .step.d{background:var(--sol)}
.why-fig .flow .step.e{background:var(--navy)}

/* 特徴の図（インラインSVG。器は .why-fig 既定パネル＝IoT図と同じ。文字はページフォント、数値は viewBox 単位）。Claude Design 支給 2026-09-16（受託トップ 1・4 図の図版更新）。font-size は viewBox 単位なので型スケールのトークンにしない */
.fig-svg text{font-family:inherit;font-weight:700;text-anchor:middle;dominant-baseline:central;fill:#1E293B}
.fig-svg .st text{font-size:18px;fill:#fff}
.fig-svg .st .dot{text-anchor:start}
.fig-svg .cap{font-size:17px}
.fig-svg .hd{font-size:14px;fill:#fff}
.fig-svg .li text{font-size:13px;text-anchor:start}
.fig-svg .li.g rect{fill:#00A86B;fill-opacity:.05}.fig-svg .li.g circle{fill:#00A86B}
.fig-svg .li.t rect{fill:#115E59;fill-opacity:.05}.fig-svg .li.t circle{fill:#115E59}

/* 受託トップ #why の図は可変にしない（2026-09-16 ユーザー指示「サイズ感がバラバラ」）: 箱は高さ 340px 固定、図は幅 400px 固定（縦長の IoT 図だけ 260px。SVG の余白は viewBox で詰めてある）。共通の .dg{width:100%} を上書き */
#why .why-fig{height:340px}
#why .why-fig .dg{width:400px;max-width:100%;height:auto}
#why .why-fig .dg.tall{width:260px}/* IoT 図。文字の大きさを他の図に揃える（2026-09-16 ユーザー指示 260px） */

/* 業界実績 */
.ind-ach{display:grid;gap:calc(24px * var(--sp-k))}
.iblock{border:1px solid var(--line);background:#fff;border-radius:var(--rd-lg);padding:calc(34px * var(--sp-k)) calc(36px * var(--sp-k)) calc(36px * var(--sp-k));box-shadow:var(--sh-1)}
.ib-top{display:grid;grid-template-columns:0.68fr 1.32fr;gap:calc(34px * var(--sp-k));align-items:start}
.ib-top .im{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--rd-md);display:block;border:1px solid var(--hair)}
.ib-top h3{font-size:calc(24px * var(--fs-k));font-weight:900;display:flex;align-items:center;gap:calc(11px * var(--sp-k));letter-spacing:-0.01em}
.ib-top h3::before{content:"";width:5px;height:23px;background:var(--sol);border-radius:2px;flex:none}
.ib-top p{font-size:var(--fs-body);color:var(--ink-soft);line-height:1.95;margin-top:calc(15px * var(--sp-k));font-weight:500}
.ib-chips{display:flex;flex-wrap:wrap;gap:calc(8px * var(--sp-k));margin-top:calc(20px * var(--sp-k))}
.ib-chips span{font-size:var(--fs-sub);font-weight:700;color:var(--ink-soft);background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--shape-pill);padding:calc(6px * var(--sp-k)) calc(15px * var(--sp-k))}
.ib-sol{margin-top:calc(30px * var(--sp-k));border-top:1px solid var(--line);padding-top:calc(28px * var(--sp-k))}
.ib-sol h4{text-align:center;font-size:var(--fs-card);font-weight:900;margin-bottom:calc(20px * var(--sp-k));letter-spacing:-0.01em}

.ib-grid a{display:flex;align-items:center;justify-content:space-between;gap:calc(10px * var(--sp-k));background:#f2f9f5;border:1px solid color-mix(in oklab,var(--sol) 16%,#fff);border-radius:10px;padding:calc(15px * var(--sp-k)) calc(16px * var(--sp-k));font-size:var(--fs-ui);font-weight:700;color:var(--ink);line-height:1.5;transition:.14s var(--ease)}
.ib-grid a svg{width:13px;height:13px;stroke:var(--sol);stroke-width:2.6;fill:none;flex:none}
.ib-grid a:hover{background:var(--sol);color:#fff;border-color:var(--sol);transform:translateY(-2px)}
.ib-grid a:hover svg{stroke:#fff}
.ib-foot{text-align:center;margin-top:calc(26px * var(--sp-k))}
.ib-foot .btn{padding:calc(15px * var(--sp-k)) calc(30px * var(--sp-k));font-size:var(--fs-ui);border-radius:var(--rd-btn)}
/* 仕様カード（プラットフォーム / ハードウェア） */

.speccard{border:1px solid var(--hair);background:#fff;border-radius:var(--rd-md);overflow:hidden;box-shadow:var(--sh-1);display:flex;flex-direction:column}
.speccard h3{background:var(--sol);color:#fff;font-size:var(--fs-cardsub);font-weight:900;padding:calc(15px * var(--sp-k)) calc(18px * var(--sp-k));text-align:center;letter-spacing:.01em}
.speccard ul{list-style:none;padding:calc(20px * var(--sp-k)) calc(22px * var(--sp-k)) calc(24px * var(--sp-k));display:grid;gap:calc(10px * var(--sp-k))}
.speccard li{font-size:var(--fs-body);color:var(--ink);display:flex;gap:calc(10px * var(--sp-k));line-height:1.6;font-weight:500}
.speccard li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--sol);flex:none;margin-top:calc(8px * var(--sp-k))}
.hw-note{text-align:center;font-size:var(--fs-body);color:var(--ink-soft);line-height:1.95;font-weight:500;margin:0 auto calc(32px * var(--sp-k));max-width:52em}

/* ハードウェア開発実績 */
.hwa{display:grid;gap:calc(14px * var(--sp-k))}
.hwa-row{border:1px solid var(--line);display:grid;grid-template-columns:210px 1fr;gap:calc(26px * var(--sp-k));align-items:center;background:#fff;border-radius:var(--rd-md);padding:calc(22px * var(--sp-k)) calc(26px * var(--sp-k));box-shadow:var(--sh-1)}
.hwa-row :is(h3,h4,h5,h6){font-size:var(--fs-cardsub);font-weight:900;display:flex;align-items:center;gap:calc(10px * var(--sp-k));letter-spacing:-0.01em}
.hwa-row :is(h3,h4,h5,h6)::before{content:"";width:5px;height:20px;background:var(--sol);border-radius:2px;flex:none}
.hwa-chips{display:flex;flex-wrap:wrap;gap:calc(8px * var(--sp-k))}
.hwa-chips span{font-size:var(--fs-sub);font-weight:600;color:var(--ink-soft);background:var(--bg-soft);border:1px solid var(--line);border-radius:7px;padding:calc(7px * var(--sp-k)) calc(13px * var(--sp-k));line-height:1.4}@media(max-width:1100px){.speccard-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:980px){.ib-top{grid-template-columns:1fr;gap:calc(22px * var(--sp-k))}.hwa-row{grid-template-columns:1fr;gap:calc(14px * var(--sp-k));align-items:start}}@media(max-width:700px){.ib-grid{grid-template-columns:1fr 1fr}.iblock{padding:calc(24px * var(--sp-k)) calc(20px * var(--sp-k)) calc(26px * var(--sp-k))}}
