/* ===== page-firerobo.css ｜ 協働型溶接ロボット ファイヤロボ LP（Figma 14621:46306 / 1440×10283）=====
   デザイン言語: 色/書体トークンは base.css。英ラベル(Lato SemiBold 16)＋和見出し(40 Bold)のペア、コンテンツ幅1200中央（--pad-side）、
   LP専用にオレンジのグラデボタン(.fr-btn)と青い平行四辺形バッジを追加。ルート地色は main（Solution帯で透ける）。 */
.fr{width:100%;background:var(--c-main)}
.fr-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:28px 88px;border-radius:var(--r-m);background:linear-gradient(133.75deg,#ff7100 0%,#ff8601 34%,#ffa800 75%,#f6af00 100%);color:var(--c-inverse);font-size:20px;font-weight:700;line-height:1.2;letter-spacing:.2px;white-space:nowrap;transition:opacity .35s var(--ease-out-quint)}
.fr-btn img{width:18px;height:18px;flex:none}
@media (hover:hover){.fr-btn:hover{opacity:.85}}
.fr-btn:focus-visible{outline:2px solid var(--c-main2);outline-offset:3px}

/* --- 共通見出し（英ラベル＋和見出し）--- */
.fr-title{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px}
.fr-title--left{align-items:flex-start}
.fr-title__en{display:flex;align-items:center;gap:8px;width:100%;font-family:var(--font-en);font-weight:600;font-size:var(--fs-h2-en2);line-height:1;white-space:nowrap;font-feature-settings:normal}
.fr-title__en img{width:17px;height:10px;flex:none}
.fr-title__en--center{justify-content:center}
.fr-title__en--pl40{padding-left:40px}.fr-title__en--pl60{padding-left:60px}.fr-title__en--pl98{padding-left:98px}
.fr-title__jp{font-size:40px;font-weight:700;line-height:1.6;letter-spacing:1.6px;text-align:center;white-space:nowrap}

/* ===== FV（14621:46307）h800 / bg base3＋テクスチャ(luminosity 16%) / 写真は1134×593を-68.45°回転 ===== */
.fr-fv{position:relative;height:800px;overflow:hidden;background:var(--c-base3)}
.fr-fv__tex{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:luminosity;opacity:.16;max-width:none;pointer-events:none}
.fr-fv__photo{position:absolute;left:calc(50% - 203px);top:207.5px;width:1134px;height:593px;transform:rotate(-68.45deg);pointer-events:none}
.fr-fv__photo img{width:100%;height:100%;object-fit:cover}   /* 箱と画像は同比率。比率保護のため cover を明示。SP写真は同じ <picture> の <source> で切り替わる */
.fr-fv__logo{position:absolute;left:calc(50% + 353px);top:607px;padding:12px 24px;background:rgba(255,255,255,.96);border-radius:var(--r-m)}
.fr-fv__logo-img{position:relative;width:260px;height:91px;overflow:hidden}
.fr-fv__logo-img img{position:absolute;left:-.07%;top:3.16%;width:100.15%;height:100%;max-width:none}
.fr-fv__body{position:absolute;left:max(30px,calc(50% - 640px));top:186px;display:flex;flex-direction:column;align-items:flex-start;gap:40px}
.fr-fv__copy{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.fr-fv__lead-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:40px}
.fr-fv__head{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.fr-fv__ttl{font-size:56px;font-weight:700;line-height:1.3;white-space:nowrap;font-feature-settings:normal}  /* Figma見出しは palt なし（全角送り） */
/* 2行目の詰め（Figma指定の字間） */
.fr-fv__k1{letter-spacing:-1px}.fr-fv__k2{letter-spacing:-3px}.fr-fv__k3{letter-spacing:-2px}.fr-fv__k4{letter-spacing:-5px}.fr-fv__k5{letter-spacing:1px}
.fr-fv__sub{width:459px;font-size:var(--fs-body-m);font-weight:500;line-height:1.6;letter-spacing:.16px;white-space:nowrap}
.fr-fv__sub em{font-style:normal;color:var(--c-text-sub)}
.fr-fv__badges{display:flex;align-items:flex-start;gap:8px;list-style:none}
.fr-fv__badge{position:relative;height:90px;background:var(--c-main);color:var(--c-inverse);clip-path:polygon(16px 0,100% 0,calc(100% - 16px) 100%,0 100%)}
.fr-fv__badge--1{width:227px}.fr-fv__badge--2{width:294px}.fr-fv__badge--3{width:201px}
.fr-fv__badge-in{position:absolute;left:16px;top:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:calc(100% - 32px);height:90px;padding:8px 12px;text-align:center}
.fr-fv__badge--2 .fr-fv__badge-in{top:3px;gap:4px}
.fr-fv__badge--3 .fr-fv__badge-in{top:3px;justify-content:flex-start}
.fr-fv__badge-label{width:100%;font-size:var(--fs-body-m);font-weight:500;line-height:1.6;letter-spacing:.16px;white-space:nowrap}
.fr-fv__badge-val{display:flex;align-items:flex-end;justify-content:center;gap:4px;width:100%;font-size:var(--fs-body-m);font-weight:500;line-height:1.6;letter-spacing:.16px;white-space:nowrap}
.fr-fv__badge-grp{display:flex;align-items:flex-end;white-space:pre}
.fr-fv__badge-val .u-en{font-weight:600;font-size:40px;line-height:1;letter-spacing:0}
.fr-fv__badge-big{font-weight:700;font-size:32px;line-height:1;letter-spacing:.32px}
.fr-fv__notes{width:354px;font-size:12px;font-weight:400;line-height:1.6;letter-spacing:.12px;color:var(--c-gray);white-space:nowrap}
.fr-fv .fr-btn{width:380px}

/* ===== Problem（14621:46362）pt120 gap56 pb100 / bg 白＋テクスチャ8% / 課題カードは1200×384内の絶対配置 ===== */
.fr-problem{position:relative;display:flex;flex-direction:column;align-items:center;gap:56px;padding:120px var(--pad-side) 100px;background:var(--c-base);overflow:hidden}
.fr-problem__tex{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.08;max-width:none;pointer-events:none}
.fr-problem__ttl{display:flex;flex-direction:column;align-items:center;gap:8px}
.fr-problem__ttl-s{font-size:32px;font-weight:500;line-height:1.3;letter-spacing:1.28px;text-align:center;white-space:nowrap}
.fr-problem__ttl-l{display:flex;align-items:flex-start;justify-content:center;gap:4px;font-size:40px;font-weight:700;line-height:1.3;letter-spacing:1.6px;color:var(--c-text-sub);white-space:nowrap}
.fr-problem__box{display:flex;align-items:flex-start}
.fr-problem__box span{display:flex;align-items:center;justify-content:center;padding:0 6px;background:var(--c-base);border:1px solid var(--c-border-sub)}
.fr-problem__box span+span{margin-left:-1px}
.fr-problem__grid{position:relative;width:1200px;max-width:100%;height:384px}
.fr-problem__illust{position:absolute;left:calc(50% - 122px);top:56px;width:300px;height:300px}
.fr-trouble{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:16px 40px;background:var(--c-base2);overflow:hidden;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px))}
.fr-trouble__in{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%}
.fr-trouble__ttl{display:block;font-size:20px;font-weight:500;line-height:1.6;letter-spacing:.2px;white-space:nowrap}
.fr-trouble__ttl b{font-weight:700;color:var(--c-text-sub)}
.fr-trouble__ic{display:inline-flex;align-items:center;justify-content:center;width:13.877px;height:11.987px;margin-right:8px;vertical-align:middle}
.fr-trouble__ic img{width:12.049px;height:6.885px;max-width:none;transform:rotate(30deg) scaleY(-1)}
.fr-trouble__txt{font-size:var(--fs-body-m);font-weight:400;line-height:1.6;letter-spacing:.16px;text-align:center;white-space:nowrap}
.fr-trouble--1{left:118px;top:0;width:324px;height:92px}
.fr-trouble--2{left:0;top:130px;width:355px;height:118px}
.fr-trouble--3{left:72px;top:282px;width:358px;height:92px}
.fr-trouble--4{left:813px;top:0;width:308px;height:92px}
.fr-trouble--5{left:885px;top:141px;width:314.877px;height:92px}
.fr-trouble--6{left:860px;top:282px;width:308.877px;height:92px}

/* ===== Solution 見出し帯（14621:46386）h374 / 上40.24%白＋青い斜め形PNG / 装飾は帯からはみ出すので solwrap で横だけ切る ===== */
.fr-solwrap{position:relative;overflow:hidden;background:var(--c-main)}
.fr-solhead{position:relative;height:374px;background:linear-gradient(180deg,#fff 0,#fff 150.5px,transparent 150.5px)}
.fr-solhead__shape{position:absolute;left:0;top:-1px;width:100%;height:374px;max-width:none;pointer-events:none}
.fr-solhead__word{position:absolute;left:0;right:0;top:138px;font-family:var(--font-en);font-weight:600;font-size:180px;line-height:1;text-align:center;color:var(--c-base2);opacity:.24;mix-blend-mode:soft-light;white-space:nowrap;pointer-events:none;font-feature-settings:normal}
.fr-solhead__ttl{position:absolute;left:0;right:0;top:165px;display:flex;flex-direction:column;align-items:center;gap:12px}
.fr-solhead__tag{padding:0 16px;background:#fff;border-bottom:1px solid #fff;border-radius:3px;font-size:var(--fs-h3);font-weight:500;line-height:1.6;letter-spacing:.28px;color:var(--c-text-sub);white-space:nowrap}
.fr-solhead__h2{display:flex;gap:2px;font-size:40px;font-weight:700;line-height:1.6;letter-spacing:1.6px;color:#fff;white-space:nowrap}
.fr-solhead__deco{position:absolute;max-width:none;pointer-events:none}
.fr-solhead__deco--1{left:calc(50% - 550.6px);top:137.2px;width:143.149px;height:89.966px;transform:rotate(-131.78deg) scaleY(-1)}
.fr-solhead__deco--2{left:calc(50% + 407.8px);top:303.9px;width:67.059px;height:44.976px;transform:rotate(172.12deg)}
.fr-solhead__deco--3{left:calc(50% + 104.6px);top:57.4px;width:104.11px;height:67.776px;transform:rotate(103.34deg)}
.fr-solhead__line--1{left:calc(50% + 28.3px);top:315.9px;width:503.375px;height:788.147px}
.fr-solhead__line--2{left:calc(50% - 804.7px);top:253.9px;width:272.375px;height:425.146px}
.fr-solhead__bar{position:absolute;width:50px;background:var(--c-base2);opacity:.24;mix-blend-mode:soft-light;transform:rotate(32.06deg);pointer-events:none}
.fr-solhead__bar--1{left:calc(50% + 416px);top:-35.5px;height:1267px}
.fr-solhead__bar--2{left:calc(50% - 673.1px);top:-19px;height:619px}

/* ===== Solution カード（14621:46405）pb120 px30 / 白カード px90 py60 gap60 / 3列 w360 ===== */
.fr-solution{position:relative;padding:0 var(--sp-side-l) 120px}
.fr-solution__card{display:flex;align-items:center;gap:60px;width:100%;max-width:1380px;margin-inline:auto;padding:60px 90px;background:var(--c-base);border-radius:var(--r-m)}
.fr-sol{display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:360px;flex:none}
.fr-sol__top{display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:100%}
/* 番号: 最終Figma（9/15 16140:11005）でスラッシュ廃止 → 数字40px＋2px下線（42×2、左2pxオフセット）。全体47×44 */
.fr-sol__num{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-family:var(--font-en);font-weight:600;font-size:40px;line-height:1;color:var(--c-main);font-feature-settings:normal}
.fr-sol__num::after{content:"";display:block;width:42px;height:2px;margin-left:2px;background:var(--c-main)}
.fr-sol__img{width:100%;height:260px;border-radius:var(--r-m);overflow:hidden}
.fr-sol__img img{width:100%;height:100%;object-fit:cover}
.fr-sol__body{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%}
.fr-sol__ttl{font-size:var(--fs-h4);font-weight:500;line-height:1.6;letter-spacing:.24px;color:var(--c-text-sub)}
.fr-sol__txt{width:100%;font-size:var(--fs-body-m);font-weight:400;line-height:1.6;letter-spacing:.16px}
.fr-solslant{display:block;width:100%;height:87px;max-width:none}

/* ===== User Interface（14621:46412）bg base3 pt80 pb120 gap56 / 同心半円は multiply ===== */
.fr-ui{position:relative;display:flex;flex-direction:column;align-items:center;gap:56px;padding:80px var(--pad-side) 120px;background:var(--c-base3);overflow:hidden}
.fr-ui__arcs{position:absolute;left:calc(50% - 440px);top:509px;width:880px;height:440px;pointer-events:none}
.fr-ui__arc{position:absolute;display:block;background:var(--c-base3);mix-blend-mode:multiply;border-radius:9999px 9999px 0 0}
.fr-ui__head{position:relative;display:flex;flex-direction:column;align-items:center;gap:24px;width:927px;max-width:100%}
.fr-ui__lead{width:100%;font-size:var(--fs-body-m);font-weight:500;line-height:1.6;letter-spacing:.16px;text-align:center}
.fr-ui__lead em{font-style:normal;color:var(--c-text-sub)}
.fr-ui__num{font-size:24px;letter-spacing:.24px}
.fr-ui__gallery{position:relative;display:flex;flex-direction:column;align-items:center;width:1200px;max-width:100%;height:539px}
.fr-ui__row{position:relative;display:flex;justify-content:center;width:100%;margin-bottom:-12px}
.fr-ui__stage{position:relative;width:1120px;height:508px}
.fr-ui__slot{position:absolute;display:flex;align-items:center;justify-content:center}
.fr-ui__slot--c{left:calc(50% - 190px);top:0;width:380px;height:457px;z-index:1}
.fr-ui__slot--r{left:786px;top:56px;width:333.72px;height:451.9px}
.fr-ui__slot--l{left:0;top:54.1px;width:333.72px;height:451.9px}
.fr-ui__pic{position:relative;flex:none;border-radius:var(--r-m);overflow:hidden}
.fr-ui__slot--c .fr-ui__pic{width:380px;height:457px}
.fr-ui__slot--r .fr-ui__pic{width:337px;height:405px;transform:rotate(8deg) scaleY(.99) skewX(8deg)}
.fr-ui__slot--l .fr-ui__pic{width:337px;height:405px;transform:rotate(-8deg) scaleY(.99) skewX(-8deg)}
.fr-ui__pic img{width:100%;height:100%;object-fit:cover}
.fr-ui__arrow{position:absolute;top:280px;z-index:2;width:48px;height:48px;padding:0;border:0;background:none;cursor:pointer;transition:opacity .35s var(--ease-out-quint)}
.fr-ui__arrow--prev{left:0}.fr-ui__arrow--next{right:0}
.fr-ui__arrow--prev img{transform:scaleX(-1)}
.fr-ui__arrow img{width:48px;height:48px}
@media (hover:hover){.fr-ui__arrow:hover{opacity:.7}}
.fr-ui__arrow:focus-visible{outline:2px solid var(--c-main2);outline-offset:3px;border-radius:50%}
/* 写真切替をスクリーンリーダーに伝えるための読み上げ専用テキスト（カンプに無いので視覚的には隠す） */
.fr-ui__status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.fr-ui__note{position:relative;padding:12px 24px;background:var(--c-base);border-radius:3px;font-size:12px;font-weight:400;line-height:1.6;letter-spacing:.12px;color:var(--c-gray);white-space:nowrap}

/* ===== Spec（14621:46436）bg 白 p120 gap80 / 表 w744 行py20 gap60 偶数行base2 / 背景写真は表列基準で左に回転配置 ===== */
.fr-spec{position:relative;display:flex;align-items:flex-start;gap:80px;padding:120px var(--pad-side);background:var(--c-base);overflow:hidden}
.fr-spec__head{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;align-self:stretch;gap:40px;flex:1 0 0;min-width:1px}
.fr-spec__robot{width:297px;height:360px;flex:none;margin-top:auto}
.fr-spec__robot img{display:block;width:100%;height:100%}
.fr-spec__lead{font-size:var(--fs-body-m);font-weight:500;line-height:1.6;letter-spacing:.16px;white-space:nowrap}
.fr-spec__table-wrap{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:24px;width:744px;flex:none}
.fr-spec__table{position:relative;width:100%;border-collapse:collapse}
.fr-spec__table tr{border-bottom:1px solid var(--c-border2)}
.fr-spec__table tr:nth-child(even){background:var(--c-base2)}
.fr-spec__table th{width:200px;padding:20px;font-size:var(--fs-body-m);font-weight:500;line-height:1.6;letter-spacing:.16px;text-align:center;color:#0f2a4f;vertical-align:middle}
.fr-spec__table td{padding:20px 20px 20px 80px;font-size:var(--fs-body-m);font-weight:400;line-height:1.6;letter-spacing:.16px;color:#1f2937;white-space:nowrap;vertical-align:middle}
.fr-spec__note{position:relative;width:100%;font-size:var(--fs-body-s);font-weight:400;line-height:1.6;letter-spacing:.14px;color:var(--c-gray);white-space:pre-wrap}
.fr-spec__bg{display:none;position:absolute;left:-799.3px;top:133.6px;width:489.48px;height:1088.159px;transform:rotate(-35.17deg);opacity:.32;background:#c8cacc;overflow:hidden;pointer-events:none}
.fr-spec__bg img{position:absolute;left:-18.39%;top:17.92%;width:241.1%;height:162.7%;max-width:none;mix-blend-mode:soft-light}  /* ctxの%値では写真の別部位が出たため、Figmaスクショとのテンプレート照合で実測した値 */

/* ===== Pricing（14621:46456）bg base3 py120 px160 gap21 / カード 373×418・中央 376×438（Recommend） ===== */
.fr-pricing{display:flex;flex-direction:column;align-items:center;gap:21px;padding:120px var(--pad-side);background:var(--c-base3)}
.fr-pricing__in{display:flex;flex-direction:column;align-items:center;gap:76px;width:100%}
.fr-pricing__head{display:flex;flex-direction:column;align-items:center;gap:24px;width:604px;max-width:100%}
.fr-pricing__lead{width:100%;font-size:var(--fs-body-m);font-weight:500;line-height:1.6;letter-spacing:.16px;text-align:center;white-space:pre-wrap}
/* 3カードは同階層（ベーシック 373 → スタンダード 376 → プレミアム 373、境界1pxずつ重ね＝1120）。z-index は cards 内で閉じる */
.fr-pricing__cards{display:flex;align-items:center;width:1120px;max-width:100%;isolation:isolate}
.fr-plan{display:flex;flex-direction:column;align-items:center;gap:28px;width:373px;height:418px;padding:40px 20px 32px;background:var(--c-base);border:1px solid var(--c-border2)}
.fr-plan--1{margin-right:-1px}
.fr-plan--rec{position:relative;z-index:2;width:376px;height:438px;margin-right:-1px;padding-top:50px;border-color:var(--c-border-sub)}
.fr-plan--3{position:relative;z-index:1}
.fr-plan__head{display:flex;flex-direction:column;align-items:center;gap:8px}
.fr-plan__name{display:flex;align-items:center;gap:12px;font-size:var(--fs-h3);font-weight:500;line-height:1.6;letter-spacing:.28px;white-space:nowrap}
.fr-plan__name img{width:32px;height:22px;flex:none}
.fr-plan__tag{border-bottom:1px solid var(--c-bg-inverse);font-size:var(--fs-body-m);font-weight:500;line-height:1.6;letter-spacing:.16px;white-space:nowrap}
.fr-plan__body{display:flex;flex-direction:column;align-items:center;gap:28px}
/* 価格: Figma は Lato Medium。Google Fonts の Lato に 500 が無いため 400 で代用 */
.fr-plan__price{font-family:var(--font-en);font-weight:400;line-height:1;color:var(--c-text-sub);text-align:center;white-space:nowrap;font-feature-settings:normal}
.fr-plan__price .yen{font-size:32px}.fr-plan__price .num{font-size:48px}.fr-plan__price .from{font-size:20px}
.fr-plan__list{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:284px;padding:16px 20px;background:var(--c-base2);border-radius:3px;list-style:none}
.fr-plan__list li{display:flex;align-items:center;gap:8px;width:100%;font-size:var(--fs-body-m);font-weight:500;line-height:1.6;letter-spacing:.16px}
.fr-plan__list li img{width:20px;height:20px;flex:none}
.fr-plan__list li span{flex:1 0 0;min-width:1px}
.fr-plan__list li.is-2l{align-items:flex-start}.fr-plan__list li.is-2l img{margin-top:2px}
/* おすすめバッジ: 最終Figma（9/15 14669:32060）162×45 / スタンダードカード基準で左107・上-20 / 本体155×45 pad 0 24 Noto 500 28px lh1.6 / 右に7pxの折り返し */
.fr-rec{position:absolute;left:106px;top:-21px;z-index:3;width:162px;height:45px}   /* Figma値 107/-20 からカード枠線1px分を差し引く（基準がカードのパディングボックスのため） */
.fr-rec__fold{position:absolute;left:155px;top:0;width:7px;height:20px}
.fr-rec__label{position:absolute;left:0;top:0;display:block;height:45px;padding:0 24px;background:var(--c-main);font-family:var(--font-jp,inherit);font-weight:500;font-size:28px;line-height:1.6;letter-spacing:.28px;color:var(--c-inverse);white-space:nowrap}
.fr-pricing__note{padding:12px 24px;background:#fff;border-radius:3px}
.fr-pricing__note p{width:677px;max-width:100%;font-size:var(--fs-body-s);font-weight:400;line-height:1.6;letter-spacing:.14px;color:var(--c-gray);white-space:pre-wrap}

/* ===== Flow（14621:46472）bg 白 p120 gap56 / 6列 w170 gap36 / 線 left127 top39 w947 ===== */
.fr-flow{display:flex;flex-direction:column;align-items:center;gap:56px;padding:120px var(--pad-side);background:var(--c-base)}
.fr-flow__head{display:flex;flex-direction:column;align-items:center;gap:24px;width:604px;max-width:100%}
.fr-flow__lead{width:100%;font-size:var(--fs-body-m);font-weight:500;line-height:1.6;letter-spacing:.16px;text-align:center}
.fr-flow__lead em{font-style:normal;color:var(--c-text-sub)}
.fr-flow__steps{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1200px;list-style:none}   /* 間隔は 1200−170×6＝180 を5等分＝36px（gap固定だと1201〜1259pxで横はみ出しするため space-between で吸収） */
.fr-flow__steps::before{content:"";position:absolute;left:127px;top:38px;width:947px;height:2px;background:var(--c-main2)}
.fr-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;width:170px;flex:none}
.fr-step__mark{position:relative;width:90px;height:78px}
.fr-step__mark img{position:absolute;left:5.9px;top:16.65px;width:78.208px;height:44.69px;max-width:none;transform:rotate(30deg) scaleY(-1)}
.fr-step__num{position:absolute;left:45px;top:27px;transform:translateX(-50%);font-family:var(--font-en);font-weight:600;font-size:24px;line-height:1;color:var(--c-inverse);white-space:nowrap;font-feature-settings:normal}
.fr-step__card{display:flex;flex-direction:column;align-items:flex-start;width:170px;height:180px;padding:12px 14px 8px;background:var(--c-base2);border-radius:var(--r-m)}
.fr-step__icon{display:flex;align-items:center;justify-content:center;width:142px;height:120px}
.fr-step__icon img{max-width:none}
.fr-step__label{width:100%;height:32px;font-size:var(--fs-h5);font-weight:500;line-height:1.6;letter-spacing:.2px;text-align:center;color:#0f2a4f}

/* ===== FAQ（14621:46484）bg base3 pt120 pb160 gap56 / 項目 h213（見出し97＋回答116） / 左上20px面取り ===== */
.fr-faq{display:flex;flex-direction:column;align-items:center;gap:56px;padding:120px var(--pad-side) 160px;background:var(--c-base3)}
.fr-faq__list{display:flex;flex-direction:column;gap:40px;width:1120px;max-width:100%}
.fr-faq__item{display:flex;flex-direction:column;width:100%}
.fr-faq__h{width:100%;font-size:inherit;font-weight:inherit}
.fr-faq__q{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;height:97px;padding:32px 40px;background:var(--c-base);border:0;border-bottom:1px solid var(--c-border2);clip-path:polygon(20px 0,100% 0,100% 100%,0 100%,0 20px);color:inherit;text-align:left;cursor:pointer;transition:background-color .35s var(--ease-out-quint)}
@media (hover:hover){.fr-faq__q:hover{background:#f7fbff}}
.fr-faq__q:focus-visible{outline:2px solid var(--c-main2);outline-offset:-2px}
.fr-faq__q-in{display:flex;align-items:center;gap:20px;white-space:nowrap}
.fr-faq__mark{font-family:var(--font-en);font-weight:600;font-size:24px;line-height:1;color:var(--c-text-sub);font-feature-settings:normal}
.fr-faq__q-text{font-size:var(--fs-h5);font-weight:500;line-height:1.6;letter-spacing:.2px;color:#0f2a4f}
.fr-faq__chev{width:20px;height:12px;flex:none;transform:scaleY(-1);transition:transform .35s var(--ease-out-quint)}
/* 閉じた状態（回答を隠す・矢印を下向きに）は JS が動く環境（html.js）でだけ適用。JSが読めない場合は回答を全件表示のままにする */
.js .fr-faq__item:not(.is-open) .fr-faq__chev{transform:none}
.fr-faq__a{display:flex;align-items:flex-start;gap:20px;width:100%;min-height:116px;padding:32px 40px;background:var(--c-base)}
.fr-faq__a .fr-faq__mark{width:17px;padding-top:4px;text-align:center;flex:none}
.fr-faq__a-text{flex:1 0 0;min-width:1px;font-size:var(--fs-body-m);font-weight:400;line-height:1.6;letter-spacing:.16px;color:#0f2a4f}
.fr-faq__a-text a{color:var(--c-text-sub);text-decoration:underline;text-underline-position:from-font}
.js .fr-faq__item:not(.is-open) .fr-faq__a{display:none}

/* ===== CTA（14621:46495）青帯 pt100 pb160 mb-60（フッターが60px重なる）/ 傾きパネル 1147×594 -6° ===== */
.fr-cta{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:60px;padding:100px 0 160px;margin-bottom:-60px;background:var(--c-main)}
.fr-cta__panel{position:absolute;left:calc(50% - 573.1px);top:-11.3px;width:1147px;height:594px;border:20px solid #fff;border-radius:32px;background:var(--c-base3);box-shadow:2px -1px 8px rgba(28,34,43,.05);transform:rotate(-6deg);pointer-events:none}
.fr-cta__panel img{display:none}
.fr-cta__panel::before{content:"";position:absolute;inset:0;border-radius:12px;background:url(../img/lower/firerobo_cta_texture.jpg) repeat 0 0/262px 370px;mix-blend-mode:darken;opacity:.3}  /* Figmaはタイル敷き（rawに262×370版あり） */
.fr-cta__panel::after{content:"";position:absolute;inset:-20px;border-radius:32px;box-shadow:inset 0 0 44px rgba(22,84,138,.3)}
.fr-cta__in{position:relative;display:flex;flex-direction:column;align-items:center;gap:40px;width:100%}
.fr-cta__head{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%}
.fr-cta__ttl{padding:4px 32px;background:#fff;border:1px solid var(--c-border-sub);border-radius:3px;font-size:40px;font-weight:700;line-height:1.6;letter-spacing:.4px;color:var(--c-text-sub);text-align:center;white-space:nowrap}
.fr-cta__txt{width:100%;font-size:var(--fs-body-m);font-weight:500;line-height:1.6;letter-spacing:.16px;text-align:center}
.fr-cta__gears{position:absolute;left:calc(50% + 296px);top:10px;width:124px;height:114px;pointer-events:none}
.fr-cta__gear{position:absolute;left:calc(50% - 444px);top:235px;width:135.75px;height:135.75px;transform:rotate(180deg) scaleY(-1);pointer-events:none}
.fr-cta__person{position:absolute;left:calc(50% - 378px);top:309.25px;width:99.75px;height:87.75px;transform:rotate(180deg) scaleY(-1);pointer-events:none}
/* このLPのFigmaフッターは pt140（共通 lower は100）。フッター本体は共通のまま、上余白だけ合わせる */
.fr .contact-footer--lower{padding-top:140px}
/* SP専用要素（SP改行・SPのみのFAQ8件目・Solution装飾ブロブ）はPCでは出さない。FVの写真＋ロゴのラッパーはPCでは箱を作らない（ロゴの絶対配置はFV基準のまま） */
.fr-sp,.fr-faq__item--sp,.fr-solhead__blob,.fr-problem__blob{display:none}
.fr-fv__visual{display:contents}

/* ===== SP（768px以下）: 最終Figma「ファイヤロボSP」（14669:43531 / 375×11553）実測値で組む =====
   実測は _review/final/sp_firerobo_tree.txt。基本余白は左右24px（FV・UIのみ18px）、セクション上下48px、見出し→本文24px、本文→コンテンツ40px。
   SPだけに出す要素は .fr-sp、PCだけに出す要素は .fr-pc（PC側の記述は変更していない） */
@media (max-width:768px){
  .fr-sp{display:revert}
  .fr-pc{display:none}
  .fr-btn{width:270px;padding:20px 0;font-size:16px;line-height:1.2;letter-spacing:.16px;gap:8px}
  /* 共通見出し: 英ラベル15px（アイコン17×10・gap6）＋和見出し28px Bold lh36.4 ls1.12、gap12 */
  .fr-title{gap:12px}
  .fr-title__en{gap:6px;font-size:15px}
  .fr-title__en--pl40,.fr-title__en--pl60,.fr-title__en--pl98{padding-left:0;justify-content:center}
  .fr-title__jp{font-size:28px;line-height:1.3;letter-spacing:1.12px;white-space:normal}

  /* ---- FV（h913）: 見出し→リード→ボタン→写真(斜め)＋ロゴ→数値バッジ2段→注記。写真は375×348で上辺74px・下辺74pxの斜めカット ---- */
  .fr-fv{display:flex;flex-direction:column;align-items:flex-start;height:auto;padding:105px 0 50px}   /* ヘッダー65＋40 */
  .fr-fv__tex{object-position:-260px 0}   /* Figma STRETCH: 画像高=セクション高、x=-260 */
  .fr-fv__body,.fr-fv__copy,.fr-fv__lead-wrap,.fr-fv__head{display:contents}
  .fr-fv__ttl{order:1;width:calc(100% - 36px);margin:0 18px;font-size:28px;line-height:39.2px;letter-spacing:.56px;white-space:normal;font-feature-settings:"palt"}   /* SPカンプの見出しは palt あり */
  .fr-fv__k1,.fr-fv__k2,.fr-fv__k3,.fr-fv__k4,.fr-fv__k5{letter-spacing:0}
  .fr-fv__sub{order:2;width:calc(100% - 36px);margin:24px 18px 0;font-size:16px;line-height:25.6px;letter-spacing:.16px;white-space:normal}
  .fr-fv .fr-btn{position:relative;z-index:1;order:3;width:270px;margin:24px auto 0}
  .fr-fv__visual{position:relative;display:block;order:4;width:100%;margin-top:-47px}   /* 写真上辺(y295)はボタン(283〜342)の下に潜る */
  /* PCの回転箱（絶対配置・1134×593・-68.45°）を解いて通常配置に。写真は <source> のSP版（750×696）が入る */
  .fr-fv__photo{position:relative;left:auto;top:auto;width:100%;height:auto;transform:none}
  .fr-fv__photo img{display:block;width:100%;height:auto;aspect-ratio:375/348;object-fit:cover;clip-path:polygon(0 21.26%,100% 0,100% 78.74%,0 100%)}
  .fr-fv__logo{position:absolute;left:auto;right:8px;top:auto;bottom:0;width:217px;height:81px;margin:0;padding:8px 16px}
  .fr-fv__logo-img{width:185px;height:65px}
  .fr-fv__notes{order:6;width:calc(100% - 36px);margin:16px 18px 0;font-size:12px;line-height:19.2px;letter-spacing:.12px;white-space:normal}
  /* バッジ: 1段目=補助金(258×62) / 2段目=本体価格(171×58)＋習得時間(174×58、9px重ね) 行間7 */
  .fr-fv__badges{order:5;display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;row-gap:7px;column-gap:0;width:336px;margin:20px auto 0}   /* 2段目 171＋174−9重ね＝336 */
  .fr-fv__badge{height:58px;clip-path:polygon(16px 0,100% 0,calc(100% - 16px) 100%,0 100%)}
  .fr-fv__badge--2{order:1;width:258px;height:62px}
  .fr-fv__badge--1{order:2;width:171px}
  .fr-fv__badge--3{order:3;width:174px;margin-left:-9px}
  .fr-fv__badge-in,.fr-fv__badge--2 .fr-fv__badge-in,.fr-fv__badge--3 .fr-fv__badge-in{left:16px;top:0;width:calc(100% - 32px);height:auto;justify-content:flex-start;gap:1px;padding:4px 12px}
  .fr-fv__badge--2 .fr-fv__badge-in{gap:4px}
  .fr-fv__badge-label{font-size:14px;line-height:22.4px;letter-spacing:.14px}
  .fr-fv__badge-val{gap:1px;font-size:14px;line-height:22.4px;letter-spacing:.14px}
  .fr-fv__badge-val .u-en{font-size:24px;line-height:24px}
  .fr-fv__badge-big{font-size:22px;font-weight:600;line-height:22px;letter-spacing:.22px}

  /* ---- Problem（h1089）: pt48 gap40 pb24 / 見出し→課題6件(327幅・角12px切り)→イラスト303 ---- */
  .fr-problem{gap:40px;padding:48px 24px 24px}
  .fr-problem__ttl{gap:12px}
  .fr-problem__ttl-s{font-size:24px;line-height:31.2px;letter-spacing:.96px}
  .fr-problem__ttl-l{flex-wrap:wrap;align-items:center;gap:4px 2px;font-size:30px;line-height:39px;letter-spacing:1.2px;white-space:normal}
  .fr-problem__box span{box-sizing:border-box;height:42px;padding:0 6px 4px;line-height:36px}
  .fr-problem__ttl-tail{display:contents}
  .fr-problem__ttl-br{flex-basis:100%;text-align:center}
  .fr-problem__grid{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;height:auto}
  .fr-problem__illust{position:relative;left:auto;top:auto;order:7;width:303px;height:303px;margin:4px 0 0}
  .fr-trouble,.fr-trouble--1,.fr-trouble--2,.fr-trouble--3,.fr-trouble--4,.fr-trouble--5,.fr-trouble--6{position:relative;left:auto;top:auto;width:100%;height:auto;padding:8px 12px 10px;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}
  /* SPカンプの並び順（PCとは異なる） */
  .fr-trouble--1{order:1}.fr-trouble--4{order:2}.fr-trouble--2{order:3}.fr-trouble--5{order:4}.fr-trouble--3{order:5}.fr-trouble--6{order:6}
  .fr-trouble__in{gap:4px}
  .fr-trouble__ttl{font-size:16px;line-height:25.6px;letter-spacing:.16px;white-space:normal;text-align:center}
  .fr-trouble__ic{margin-right:4px}
  .fr-trouble__txt{font-size:14px;line-height:22.4px;letter-spacing:.14px;white-space:normal}

  /* ---- Solution（h1576 = 斜め帯48＋本体1480＋斜め帯48）: 装飾はFigmaの行列をそのまま transform に写す ---- */
  .fr-solwrap{overflow:hidden}
  /* Problem側にはみ出す青いブロブ(R116)の上18pxは、Problem末尾に同じ形の複製を置いて表現（両セクションとも overflow:hidden のため） */
  .fr-problem__blob{position:absolute;left:0;top:100%;display:block;width:59.69px;height:33.93px;border-radius:2px;background:#7e9ecd;filter:blur(2px);transform-origin:0 0;transform:matrix(-.2307,.973,-.973,-.2307,336.78,-10.17);pointer-events:none}
  .fr-solhead{display:flex;flex-direction:column;align-items:center;gap:8px;height:auto;padding:96px 24px 0;background:none}
  .fr-solhead::before{content:"";position:absolute;left:0;top:0;width:100%;height:48px;background:#fff;clip-path:polygon(0 0,100% 0,0 100%)}   /* 上の斜め帯（白三角） */
  .fr-solhead__shape,.fr-solhead__bar--2,.fr-solslant{display:none}
  .fr-solhead__ttl{position:relative;top:auto;gap:8px}
  .fr-solhead__tag{padding:0 16px;font-size:24px;line-height:38.4px;letter-spacing:.24px}
  .fr-solhead__h2{display:block;font-size:30px;line-height:42px;letter-spacing:1.2px;text-align:center;white-space:normal}
  .fr-solhead__word{top:111px;font-size:104px;font-weight:600}
  .fr-solhead__deco{display:none}   /* PC用の線・飾り（.fr-solhead__line--1/2・deco--1〜3）はSPでは全て出さない（SPカンプ照合済みの状態） */
  .fr-solhead__blob{position:absolute;left:0;top:0;display:block;border-radius:2px;transform-origin:0 0;pointer-events:none}
  .fr-solhead__blob--1{width:81.48px;height:46.32px;background:#94d7f8;filter:blur(3px);transform:matrix(-.6663,-.7457,-.7457,.6663,98.83,67.76)}
  .fr-solhead__blob--2{width:49.34px;height:28.04px;background:#7e9ecd;filter:blur(5px);transform:matrix(-.9906,.1371,-.1371,-.9906,357.86,230.77)}
  .fr-solhead__blob--3{width:59.69px;height:33.93px;background:#7e9ecd;filter:blur(2px);transform:matrix(-.2307,.973,-.973,-.2307,336.78,-10.17)}
  .fr-solhead__bar--1{left:0;top:0;z-index:2;width:23.8px;height:603px;transform-origin:0 0;transform:matrix(.8475,.5307,-.5308,.8475,520.63,1124)}
  .fr-solution{padding:40px 18px 48px}
  .fr-solution::after{content:"";position:absolute;left:0;right:0;bottom:-48px;height:48px;background:#f0faff;clip-path:polygon(100% 0,100% 100%,0 100%)}   /* 下の斜め帯 */
  .fr-solwrap{padding-bottom:48px}
  .fr-solution__card{flex-direction:column;align-items:stretch;gap:32px;padding:24px 18px}
  .fr-sol{width:100%}
  .fr-sol__num{font-size:32px}
  .fr-sol__num::after{width:38px;margin-left:0}
  .fr-sol__img{height:auto;aspect-ratio:303/219}
  .fr-sol__ttl{font-size:20px;line-height:32px;letter-spacing:.2px}
  .fr-sol__txt{font-size:15px;line-height:24px;letter-spacing:.15px}

  /* ---- User Interface（h798）: 同心円は書き出しPNG(512×340)を下端中央に敷く。写真は339×245＋165×200×2 ---- */
  .fr-ui{gap:40px;padding:48px 18px;background:#f0faff url(../img/lower/firerobo_ui_arcs_sp.png) no-repeat 50% 100%/512px 340px}
  .fr-ui__arcs{display:none}
  .fr-ui__head{gap:24px;width:100%}
  .fr-ui__lead{font-size:15px;line-height:21px;letter-spacing:.15px}
  .fr-ui__num{font-size:24px;line-height:30px;letter-spacing:.24px}   /* 「5」は24px。2行目の行高はFigma実測30（リード全体h51） */
  .fr-ui__gallery{width:100%;height:auto;gap:16px}
  .fr-ui__row{margin-bottom:0}
  .fr-ui__stage{display:grid;grid-template-columns:1fr 1fr;gap:9px;width:100%;height:auto}
  .fr-ui__slot,.fr-ui__slot--c,.fr-ui__slot--r,.fr-ui__slot--l{position:relative;left:auto;top:auto;width:100%;height:auto}
  .fr-ui__slot--c{grid-column:1/-1;order:-1}
  .fr-ui__slot--c .fr-ui__pic,.fr-ui__slot--r .fr-ui__pic,.fr-ui__slot--l .fr-ui__pic{width:100%;height:auto;transform:none}
  .fr-ui__slot--c .fr-ui__pic{aspect-ratio:339/245}
  .fr-ui__slot--r .fr-ui__pic,.fr-ui__slot--l .fr-ui__pic{aspect-ratio:165/200}
  .fr-ui__arrow{display:none}
  .fr-ui__note{width:100%;padding:8px 16px;font-size:12px;line-height:19.2px;letter-spacing:.12px;white-space:normal;text-align:center}

  /* ---- Spec（h1405）: 見出し左寄せ＋ロボット切り抜き152×185 / 表は1行=項目名＋値の縦積み（境界1px重ね） ---- */
  .fr-spec{flex-direction:column;gap:56px;padding:48px 24px}
  .fr-spec::before{content:"";position:absolute;inset:0;background:url(../img/lower/firerobo_spec_bg_sp.jpg) no-repeat -301.7px 475.5px/977px 997.6px;mix-blend-mode:exclusion;opacity:.12;filter:brightness(.72) contrast(.88);pointer-events:none}
  .fr-spec::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#fff 0 72%,rgba(255,255,255,.8) 73%,rgba(255,255,255,0) 100%);pointer-events:none}
  .fr-spec__head{position:relative;z-index:1;flex:none;gap:24px;width:100%}
  .fr-spec__lead{width:220px;font-size:15px;line-height:24px;letter-spacing:.15px;white-space:normal}
  .fr-spec__robot{position:absolute;left:187px;top:8px;width:152px;height:185px;margin:0}
  .fr-spec__table-wrap{position:relative;z-index:1;width:100%;gap:16px}
  .fr-spec__bg{display:none}
  .fr-spec__table,.fr-spec__table tbody{display:block;width:100%}
  .fr-spec__table tr{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--c-border2);background:var(--c-base)}
  .fr-spec__table tr+tr{margin-top:-1px}
  .fr-spec__table tr:nth-child(even){background:var(--c-base2)}
  .fr-spec__table th,.fr-spec__table td{display:block;width:100%;padding:0;color:var(--c-text);text-align:left}
  .fr-spec__table th{font-size:15px;font-weight:500;line-height:24px;letter-spacing:.15px}
  .fr-spec__table td{font-size:15px;line-height:24px;letter-spacing:.15px;white-space:normal}
  .fr-spec__note{font-size:14px;line-height:22px;letter-spacing:.14px;white-space:normal}   /* 3行で66px（Figma実測） */

  /* ---- Pricing（h1510）: カード縦積み（ベーシック→48→スタンダード(おすすめ)→32→プレミアム）→16→注記 ---- */
  .fr-pricing{gap:16px;padding:48px 24px}
  .fr-pricing__in{gap:40px}
  .fr-pricing__head{gap:24px;width:100%}
  .fr-pricing__lead{font-size:15px;line-height:24px;letter-spacing:.15px;white-space:normal}
  .fr-pricing__cards{flex-direction:column;align-items:stretch;gap:48px;width:100%}
  .fr-plan,.fr-plan--rec{width:100%;height:auto;margin-right:0;padding:24px 16px;gap:24px}
  .fr-plan--3{margin-top:-16px}   /* スタンダード→プレミアムの間隔だけ32（48−16） */
  .fr-plan--1{margin-right:0}
  .fr-plan--rec{padding-top:32px}
  .fr-plan__head{gap:4px}
  .fr-plan__name{font-size:24px;line-height:38.4px;letter-spacing:.24px}
  .fr-plan__tag{font-size:15px;line-height:24px;letter-spacing:.15px}
  .fr-plan__body{gap:16px;width:284px}
  .fr-plan__price{display:flex;align-items:flex-end;justify-content:center;gap:0;height:40px;line-height:1}   /* Figmaは「¥9,980,000」1テキスト（Albert Sans 500 48px・¥は小さめグリフ）＋〜20px */
  .fr-plan__price .yen{font-size:28px;font-weight:700;padding-bottom:1px}.fr-plan__price .num{font-size:48px;font-weight:700;letter-spacing:-1px}.fr-plan__price .from{font-size:20px;margin-left:4px;padding-bottom:5px}   /* Albert Sans 500 の太さに Lato 700 で寄せ、字間-1pxで幅を合わせる */
  .fr-plan__list{gap:8px;width:100%;padding:12px 16px 16px}
  .fr-plan__list li{align-items:flex-start;font-size:15px;line-height:24px;letter-spacing:.15px}
  .fr-plan__list li img{margin-top:3px}
  .fr-plan__list li.is-2l img{margin-top:5px}
  .fr-rec{left:calc(50% - 62px);top:-21px;width:131px;height:35px;transform:none}   /* 上はカード枠線1px分を差し引く。左右は枠線が対称なので中央基準のまま */
  .fr-rec__fold{left:124px;top:0;width:7px;height:20px}
  .fr-rec__label{position:absolute;left:0;top:0;width:124px;height:35px;padding:0 24px 3px;font-size:20px;line-height:32px;letter-spacing:.2px;text-align:center}
  .fr-pricing__note{width:100%;padding:8px 16px}
  .fr-pricing__note p{width:100%;font-size:12px;line-height:19px;letter-spacing:.12px;text-align:center;white-space:normal}   /* 4行で76px（Figma実測） */

  /* ---- Flow（h732）: 縦の6ステップ。左に菱形マーク60×35＋縦線2px、右にカード251×68 ---- */
  .fr-flow{gap:40px;padding:48px 24px}
  .fr-flow__head{gap:24px;width:100%}
  .fr-flow__lead{font-size:15px;line-height:21px;letter-spacing:.15px;white-space:nowrap}
  .fr-flow__steps{display:flex;flex-direction:column;gap:16px;width:100%}
  .fr-flow__steps::before{display:block;left:29px;top:33px;width:2px;height:410px}
  .fr-step{flex-direction:row;align-items:center;gap:16px;width:100%;height:68px}
  .fr-step__mark{width:60px;height:35px;flex:none}
  .fr-step__mark img{display:none}
  .fr-step__mark::before{content:"";position:absolute;inset:0;background:var(--c-main2);clip-path:polygon(0 50%,16.8% 0,48.5% 0,99.75% 50.8%,83.2% 100%,50.5% 100%)}   /* 51.96×29.69の矩形を30°回転して60×35で切ったひし形 */
  .fr-step__num{left:50%;top:50%;transform:translate(-50%,-50%);font-size:16px}
  .fr-step__card{flex-direction:row;align-items:center;gap:10px;flex:1 0 0;min-width:1px;width:auto;height:68px;padding:4px 10px}
  .fr-step__icon{flex:none;width:60px;height:60px}
  .fr-step__icon img{max-width:40px;max-height:40px;width:auto;height:auto;transform:none}
  .fr-step__label{flex:1 0 0;min-width:1px;width:auto;height:auto;color:var(--c-text);font-size:16px;line-height:22.4px;letter-spacing:.16px;text-align:left}

  /* ---- FAQ（h951）: pt48 pb120 / 項目は白・左上20px切り・pad16（1行58・2行84）。8件目はSPのみ ---- */
  .fr-faq{gap:40px;padding:48px 24px 120px}
  .fr-faq__list{gap:16px}
  .fr-faq__item--sp{display:flex}
  .fr-faq__q{height:auto;padding:16px 12px 16px 16px;gap:12px;border-bottom:0;border-radius:0 3px 3px 3px;clip-path:polygon(20px 0,100% 0,100% 100%,0 100%,0 20px)}
  .fr-faq__q-in{align-items:flex-start;gap:8px;white-space:normal}
  .fr-faq__mark{width:16px;padding-top:3px;font-size:20px;line-height:20px;flex:none}
  .fr-faq__q-text{color:var(--c-text);font-size:16px;font-weight:500;line-height:26px;letter-spacing:.16px}   /* Figma lh25.6 → 1行26/2行52に丸める */
  .fr-faq__chev{width:16px;height:10px}
  .fr-faq__a{min-height:0;padding:0 16px 16px;gap:8px;border-radius:0 0 3px 3px}
  .fr-faq__a .fr-faq__mark{width:16px;padding-top:2px}
  .fr-faq__a-text{font-size:15px;line-height:24px;letter-spacing:.15px}

  /* ---- CTA（青帯h333）: パネル327×363は帯の上端より42px上に置き、白8px外枠・r12・内側影。フッターが32px重なる ---- */
  .fr-cta{display:block;height:333px;padding:0;margin-bottom:-32px;overflow:visible}
  .fr-cta__panel{left:24px;right:24px;top:-42px;width:auto;height:363px;border:0;border-radius:12px;background:var(--c-base3);box-shadow:0 0 0 8px #fff,2px -1px 8px rgba(28,34,43,.05);transform:none}
  .fr-cta__panel::before{border-radius:12px;background:url(../img/lower/firerobo_cta_texture.jpg) no-repeat -67.3px -156px/445.5px 519px;mix-blend-mode:darken;opacity:.3}
  .fr-cta__panel::after{inset:0;border-radius:12px;box-shadow:inset 0 0 20px rgba(22,84,138,.3)}
  .fr-cta__in{gap:20px;padding:18px 41px 0}
  .fr-cta__head{gap:16px}
  .fr-cta__ttl{width:auto;padding:4px 16px 6px;font-size:24px;line-height:33.6px;letter-spacing:.24px;white-space:normal}
  .fr-cta__txt{font-size:15px;line-height:24px;letter-spacing:.15px}
  .fr-cta .fr-btn{width:270px}
  .fr-cta__gears{left:auto;right:34px;top:-14px;width:76px;height:70px}
  .fr-cta__gear,.fr-cta__person{display:none}
  .fr .contact-footer--lower{padding-top:64px}
}

/* ===== タブレット（769〜1200px）: 固定px・絶対配置で組んだセクションを可変幅の Grid／縦積みへ =====
   769〜1200px の指定はこのブロック1か所にまとめる（Codex監査 2026-09-15 項目1〜4・15）。
   PC（1201px〜）と SP（768px以下）の見た目は変えない。 */
@media (min-width:769px) and (max-width:1200px){
  /* ---- FV: ロゴ箱は右端の余白に寄せる ---- */
  .fr-fv__logo{left:auto;right:var(--pad-side)}

  /* ---- Problem（項目3）: 吹き出し6件は2列Grid。中央イラストは絶対配置をやめ、全列を使って最後に置く（SPと同じ並び） ---- */
  .fr-problem__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%;height:auto}
  .fr-trouble,.fr-trouble--1,.fr-trouble--2,.fr-trouble--3,.fr-trouble--4,.fr-trouble--5,.fr-trouble--6{position:relative;left:auto;top:auto;width:100%;height:auto}
  .fr-problem__illust{position:relative;left:auto;top:auto;grid-column:1/-1;order:7;justify-self:center;width:300px;height:300px;margin-top:8px}

  /* ---- Solution: 固定座標の帯・飾りは出さない。3カードは可変幅で均等 ---- */
  .fr-solhead__bar,.fr-solhead__deco{display:none}
  .fr-sol{width:auto;flex:1 1 0;min-width:0}

  /* ---- User Interface（項目1）: 1120px固定ステージ＋絶対配置スロット（left:0／786px／中央380px）を3列Gridへ。
          写真の比率はPCと同じ（中央380:457・両脇337:405）、傾き変形は外す。矢印はSPと同様に出さない（3枚とも常に見えている） ---- */
  .fr-ui__arcs{display:none}
  .fr-ui__gallery{height:auto;gap:16px}
  .fr-ui__row{margin-bottom:0}
  .fr-ui__stage{display:grid;grid-template-columns:337fr 380fr 337fr;gap:16px;align-items:center;width:100%;height:auto}
  .fr-ui__slot,.fr-ui__slot--c,.fr-ui__slot--r,.fr-ui__slot--l{position:relative;left:auto;top:auto;width:100%;height:auto}
  .fr-ui__slot--c .fr-ui__pic,.fr-ui__slot--r .fr-ui__pic,.fr-ui__slot--l .fr-ui__pic{width:100%;height:auto;transform:none}
  .fr-ui__slot--c .fr-ui__pic{aspect-ratio:380/457}
  .fr-ui__slot--r .fr-ui__pic,.fr-ui__slot--l .fr-ui__pic{aspect-ratio:337/405}
  .fr-ui__arrow{display:none}

  /* ---- Spec（項目2）: ロボット297＋gap80＋表744＝1121px を要する横並びをやめ、見出し＋説明（左）／ロボット（右）→ 表（全幅）の縦積みに ---- */
  .fr-spec{flex-direction:column;gap:56px}
  .fr-spec__head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;column-gap:40px;row-gap:24px;align-items:start;flex:none;width:100%}
  .fr-spec__head .fr-title{grid-column:1;grid-row:1}
  .fr-spec__lead{grid-column:1;grid-row:2;white-space:normal}
  .fr-spec__robot{grid-column:2;grid-row:1/3;width:297px;max-width:40%;height:auto;aspect-ratio:297/360;margin-top:0}
  .fr-spec__table-wrap{width:100%}
  .fr-spec__table td{padding-left:40px;white-space:normal}
  .fr-spec__note .fr-pc{display:none}   /* PC（1440）の行末合わせ用の全角スペースは可変幅では「ありま　す」に見えるので出さない */

  /* ---- Pricing（項目4）: 3カードを2列Grid（ベーシック｜スタンダード／プレミアムは2列目の行を全幅で中央） ---- */
  .fr-pricing__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px;justify-items:center;align-items:center;width:100%}
  .fr-plan,.fr-plan--1,.fr-plan--rec{width:100%;max-width:376px;margin-right:0}
  .fr-plan--3{grid-column:1/-1}

  /* ---- Flow: 6ステップ（170px×6＋gap36×5＝1200px固定）を3列に折り返す ---- */
  .fr-flow__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 16px}
  .fr-flow__steps::before{display:none}
  .fr-step{width:100%}

  /* ---- CTA: 回転パネル（1147px固定）が可変幅ではみ出すため、親で横だけ切る ---- */
  .fr-cta{overflow:hidden}
}
