/* =========================================================
   品質改善ラボ (qa-lab) — SWELLネイティブ版ページ専用CSS
   本番(Elementor)デザイン完全再現
   ========================================================= */
:root{
  --qalab-accent:#0E6CFF;
  --qalab-ink:#1A1A1A;
  --qalab-sub:#6b7280;
  --qalab-soft:#f9fafa;
  /* 本番は固定幅ではなく「左右ガター120px固定の流動レイアウト」。
     画面幅-240px(左右120px)を基本に、広すぎないよう上限1690pxでキャップ。
     → 1425px幅:1185px / 1920px幅:1680px と本番の見え方に一致する */
  --qalab-cw:min(1690px, calc(100vw - 240px));
  /* 本番ではCheck/Report/Priceは全幅ではなくやや狭め(約1250〜1390px) */
  --qalab-cw-narrow:min(1340px, calc(100vw - 240px));
}

/* ページ全体: SWELLのコンテンツ幅制約を解除してフルワイドLPに */
.page-id-14770 .l-mainContent,
.page-id-14770 .l-mainContent__inner,
.page-id-14770 .p-main,
.page-id-14770 .post_content,
.page-id-14770 .l-article__body{ max-width:none !important; }
.page-id-14770 .l-mainContent__inner{ padding:0 !important; }
/* SWELL/WP constrainedレイアウトの内側コンテナ(約900px固定)を解除
   → 本番同等(1185px)まで広げる。これが無いと各セクションのmax-widthが効かない */
.page-id-14770 .post_content{
  --wp--style--global--content-size:var(--qalab-cw);
  --wp--style--global--wide-size:var(--qalab-cw);
}
/* SWELLのalignfull処理はインナーコンテナ自体を約899pxに再制約する。
   そのインナーコンテナを本番幅(1185px)へ広げ、中央寄せする。これが核心の修正。 */
.page-id-14770 .qalab-section > .wp-block-group__inner-container,
.page-id-14770 .qalab-hero > .wp-block-group__inner-container{
  max-width:var(--qalab-cw) !important;
  margin-left:auto !important; margin-right:auto !important;
  padding-left:0 !important; padding-right:0 !important;
}
/* インナーコンテナ内の直下要素も同幅まで許可 */
.page-id-14770 .qalab-section > .wp-block-group__inner-container > *{
  max-width:var(--qalab-cw) !important;
}
.page-id-14770 .post_content .alignfull{ max-width:none !important; }
/* Check/Report/Price は本番同様、コンテンツをやや狭め幅で中央寄せ */
.page-id-14770 .qalab-check > .wp-block-group__inner-container,
.page-id-14770 .qalab-report > .wp-block-group__inner-container,
.page-id-14770 .qalab-price > .wp-block-group__inner-container,
.page-id-14770 .qalab-check > .wp-block-group__inner-container > *,
.page-id-14770 .qalab-report > .wp-block-group__inner-container > *,
.page-id-14770 .qalab-price > .wp-block-group__inner-container > *{
  max-width:var(--qalab-cw-narrow) !important;
}
.page-id-14770 .post_content{ margin-top:0; }
.page-id-14770 .l-article > .l-article__body{ padding:0; }
.page-id-14770 .c-postTitle,
.page-id-14770 .p-postEyecatch,
.page-id-14770 .c-pageTitle{ display:none; }

.page-id-14770 .post_content > .wp-block-group{ margin-top:0; margin-bottom:0; }
.qalab-hero,
.qalab-section{ box-sizing:border-box; }
.qalab-hero *,
.qalab-section *{ box-sizing:border-box; }

/* ---------- 共通：ラベル & 見出し ---------- */
.qalab-label{
  display:flex; align-items:center; gap:8px;
  color:var(--qalab-sub); font-size:18px; font-weight:600;
  letter-spacing:.03em; margin:0 0 14px;
}
.qalab-label::before{
  content:""; width:9px; height:9px; border-radius:50%;
  background:var(--qalab-accent); display:inline-block; flex:none;
}
.qalab-h2{
  font-size:36px; font-weight:800; line-height:1.5;
  color:var(--qalab-ink); margin:0 0 36px; letter-spacing:.01em;
}
/* SWELLの .post_content h2{font-size/color/背景} を打ち消し本番(36px)に強制。
   .post_content h2 が高詳細度で勝つため、font-size/weight も !important で上書き必須 */
.page-id-14770 .post_content h2.qalab-h2,
.page-id-14770 .post_content h2.qalab-cta__title{
  font-size:36px !important; font-weight:700 !important; line-height:1.5 !important;
  color:var(--qalab-ink) !important;
  background:none !important; border:0 !important; padding:0 !important;
}
/* ===== 本番(Elementor)フォントサイズ強制ブロック =====
   SWELLの .post_content p / h2 / h3 が高詳細度で勝ち、本文・見出しが縮小される。
   .page-id-14770 .post_content + !important で本番デスクトップ値に固定する。 */
.page-id-14770 .post_content p.qalab-label{ font-size:18px !important; line-height:1.6 !important; }
.page-id-14770 .post_content p.qalab-feat__desc{ font-size:15px !important; line-height:1.95 !important; }
.page-id-14770 .post_content p.qalab-report__lead{ font-size:14px !important; line-height:1.9 !important; }
.page-id-14770 .post_content p.qalab-report__cap{ font-size:14px !important; }
.page-id-14770 .post_content p.qalab-cta__text{ font-size:15px !important; line-height:1.95 !important; }
.page-id-14770 .post_content .qalab-check__title{ font-size:21px !important; font-weight:800 !important; }
.page-id-14770 .post_content .qalab-check__list li{ font-size:14px !important; }

/* ---------- HERO ---------- */
.qalab-hero{
  background:linear-gradient(180deg,#ffffff 0%,#eef3fb 100%);
  padding:64px 24px 80px;
  overflow:hidden;
}
.qalab-hero__inner{ max-width:var(--qalab-cw); margin-inline:auto; gap:36px; align-items:center; }
/* SWELLのデフォルトコンテンツ幅(約1190px)がヒーロー内カラムを再制約して左右余白が出るのを打ち消す */
.page-id-14770 .qalab-hero > .wp-block-group__inner-container > .qalab-hero__inner{ max-width:var(--qalab-cw) !important; width:100% !important; }
.qalab-eyebrow{
  color:var(--qalab-sub); font-size:19px; font-weight:600;
  letter-spacing:.04em; margin:0 0 20px;
}
.qalab-hero__title{
  font-size:70px; font-weight:800; line-height:1.4;
  color:var(--qalab-ink); margin:0 0 40px; letter-spacing:.01em;
}
/* SWELLの .post_content h1/見出しサイズ上書きを打ち消して本番級の大きさに */
.page-id-14770 .post_content h1.qalab-hero__title{
  font-size:70px !important; line-height:1.4 !important;
  font-weight:800 !important; color:var(--qalab-ink) !important;
  background:none !important; padding:0 !important;
}
.qalab-hero__title .qalab-accent{ color:var(--qalab-accent); }

.qalab-hero__icons{ gap:26px; margin:8px 0 46px; max-width:600px; }
.qalab-hero__icons .wp-block-column{ flex-basis:0; }
.qalab-hero__icon{ margin:0 auto 14px; display:flex; justify-content:center; }
/* 本番同様：アイコンを円形ボーダーのバッジに */
.qalab-hero__icon img{
  width:108px !important; height:108px !important; padding:29px; object-fit:contain;
  border:1px solid rgba(20,40,80,.12); border-radius:50%; background:#fff;
  box-shadow:0 4px 14px rgba(20,40,80,.06);
}
.qalab-hero__icon-label{
  font-size:17px; line-height:1.5; color:#2b323b;
  font-weight:700; margin:0; text-align:center;
}

/* CTAボタン（共通） */
.qalab-hero__cta .qalab-btn .wp-block-button__link,
.qalab-btn .wp-block-button__link{
  background:var(--qalab-accent); color:#fff; font-weight:700;
  font-size:15px; padding:15px 34px; border-radius:8px;
  box-shadow:0 8px 18px rgba(14,108,255,.28); transition:all .25s ease;
}
/* FV左カラムのCTAは存在感を強める */
.qalab-hero__cta .qalab-btn .wp-block-button__link{
  font-size:19px; padding:21px 54px; border-radius:10px;
}
.qalab-btn .wp-block-button__link:hover{
  background:#0a57d0; transform:translateY(-1px);
}

/* HEROダッシュボード（実画像 dashboard.png：本番同様フラット＋右ブリードで大きく） */
.qalab-hero__right{ overflow:visible; position:relative; }
.qalab-hero__dash{ margin:0; }
.qalab-hero__dash img{
  width:122%; max-width:none; height:auto; border-radius:14px;
  /* 本番同様の3Dパース傾き（右奥へ） */
  transform:perspective(2000px) rotateY(-13deg) rotateX(3deg);
  transform-origin:center center;
  box-shadow:0 30px 70px rgba(20,40,80,.18);
  border:1px solid #eef2f7;
}

/* ヘッダーCTAボタンを本番同様に青へ。
   カスタムヘッダー .walkers-header は page-id-9(#body_wrap) の外側にあるため
   .page-id-14770 では届かない。本CSSは qa-lab ページでのみenqueueされるので
   非スコープ指定で実質ページ限定の上書きになる。既定はオレンジ #EC922F。 */
.walkers-menu .menu-item-3912{
  background:#0E6CFF !important;
  border-color:#0E6CFF !important;
}
.walkers-menu .menu-item-3912:hover{
  background:#fff !important;
  border-color:#0E6CFF !important;
}
.walkers-menu .menu-item-3912 a{ color:#fff !important; }
.walkers-menu .menu-item-3912 a:hover{ color:#0E6CFF !important; }

/* ---------- Problem ---------- */
.qalab-problem{ background:var(--qalab-soft); padding:56px 24px; }
.qalab-problem .qalab-label,
.qalab-problem .qalab-h2,
.qalab-problem .qalab-problem__cards{ max-width:var(--qalab-cw); margin-inline:auto; }
.qalab-problem__cards{ gap:24px; }
.qalab-problem__text{
  background:#fff; border-radius:12px; padding:40px 24px;
  box-shadow:0 8px 24px rgba(20,40,80,.05);
  font-size:20px; line-height:1.9; color:#4b5563; font-weight:600;
  margin:0; height:100%; display:flex; align-items:center; justify-content:center;
}
/* 本番(Elementor)準拠：カード本文は20px。SWELLの .post_content p を打ち消す */
.page-id-14770 .post_content .qalab-problem__text{ font-size:20px !important; }

/* ---------- Feature ---------- */
.qalab-feature{ background:#fff; padding:56px 24px; }
.qalab-feature > .qalab-label,
.qalab-feature > .qalab-h2{ max-width:var(--qalab-cw); margin-inline:auto; }
.qalab-feat{ max-width:var(--qalab-cw); margin:0 auto 40px !important; gap:44px; }
.qalab-feat:last-of-type{ margin-bottom:0 !important; }
/* rev rows already have the image column first in DOM order,
   so they must render in normal row direction (image LEFT / text RIGHT).
   Applying row-reverse here would double-flip them. */
.page-id-14770 .qalab-feat,
.page-id-14770 .qalab-feat--rev{ flex-direction:row !important; }
.qalab-feat__num{
  color:var(--qalab-accent); font-size:20px; font-weight:800;
  margin:0 0 10px; letter-spacing:.05em;
}
.qalab-feat__title{
  font-size:32px; font-weight:700; line-height:1.45;
  color:#000; margin:0 0 18px; letter-spacing:.02em;
}
/* 特徴見出し：サイズ32px(本番準拠)・太字(ユーザー指定)・装飾なし。
   SWELLの .post_content h3{背景・左ボーダー・padding} を打ち消す */
.page-id-14770 .post_content h3.qalab-feat__title{
  font-size:32px !important; font-weight:700 !important; line-height:1.45 !important;
  color:#000 !important; letter-spacing:.02em !important;
  background:none !important; border:0 !important; padding:0 !important;
}
.qalab-feat__desc{
  font-size:15px; line-height:1.95; color:#5b6472; margin:0;
}
/* 本番同様：図版はカラム幅いっぱいに表示（max-heightによる縮小・中央浮きを廃止） */
.qalab-feat__img{ margin:0; width:100%; }
.page-id-14770 .qalab-feat .qalab-feat__img{ width:100% !important; }
.qalab-feat__img img{
  width:100% !important; height:auto !important; max-height:none !important;
  object-fit:contain; border-radius:12px; display:block;
}
/* row02のベン図(透過PNG 676x611)は本番同様に小さく中央寄せ（カラム幅いっぱいにしない） */
.qalab-feat__img img[src*="feature2-image"]{
  width:auto !important; max-width:470px !important; margin-inline:auto; border-radius:0;
}

/* ---------- Check Point ---------- */
.qalab-check{ background:var(--qalab-soft); padding:56px 24px; }
.qalab-check > .qalab-label,
.qalab-check > .qalab-h2,
.qalab-check__cards{ max-width:var(--qalab-cw); margin-inline:auto; }
.qalab-check__cards{ gap:24px; align-items:stretch; }
.qalab-check__card{
  background:#fff; border-radius:12px; padding:28px 26px 30px;
  box-shadow:0 8px 24px rgba(20,40,80,.05);
}
.qalab-check__num{
  color:var(--qalab-accent); font-size:18px; font-weight:800; margin:0 0 8px;
}
.qalab-check__title{
  font-size:21px; font-weight:800; color:var(--qalab-ink);
  margin:0 0 18px; padding-bottom:0;
}
.qalab-check__list{ list-style:none; margin:0; padding:0; }
.qalab-check__list li{
  position:relative; padding:11px 0 11px 26px;
  font-size:13px; line-height:1.6; color:#4b5563;
  border-bottom:1px solid #f0f2f5;
}
.qalab-check__list li::before{
  content:""; position:absolute; left:0; top:12px;
  width:15px; height:15px; border:1.5px solid #c7ccd6; border-radius:4px;
}
.qalab-check__etc{
  text-align:right; color:#9aa1ad; font-size:13px; margin:14px 0 0;
}

/* ---------- Report Sample ---------- */
.qalab-report{ background:#fbfcff; padding:56px 24px; }
.qalab-report > .qalab-label,
.qalab-report > .qalab-h2,
.qalab-report > .qalab-report__lead,
.qalab-report__imgs{ max-width:var(--qalab-cw); margin-inline:auto; }
.qalab-report__lead{
  font-size:14px; line-height:1.9; color:#5b6472; margin:0 0 36px;
}
.qalab-report__imgs{ gap:24px; }
.qalab-report__img{ margin:0; }
.qalab-report__img img{
  width:100%; height:auto; border-radius:10px;
  border:1px solid #e9edf3; box-shadow:0 8px 24px rgba(20,40,80,.06);
}
.qalab-report__cap{
  font-size:13px; color:#5b6472; font-weight:600; margin:14px 0 0;
}

/* ---------- Price ---------- */
.qalab-price{ background:#fff; padding:56px 24px; }
.qalab-price > .qalab-label,
.qalab-price > .qalab-h2,
.qalab-price__card{ max-width:var(--qalab-cw); margin-inline:auto; }
/* 本番(Elementor)準拠：左30%の青ボックス＋右70%の極淡グレーパネル。
   コンテンツは中央寄せ。数値は「5=黒(数量)」「3・万円(税込)=青(価格)」。 */
.qalab-price__card{
  display:grid; grid-template-columns:30% 1fr;
  border-radius:4px; overflow:hidden;
  box-shadow:0 8px 24px rgba(20,40,80,.06);
}
.qalab-price__free{
  background:var(--qalab-accent); color:#fff;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:8px; padding:51px 33px; text-align:center;
}
.qalab-price__free-label{ font-size:20px; font-weight:400; margin:0; line-height:1.6; letter-spacing:.02em; }
.qalab-price__free-num{ font-size:36px; font-weight:400; margin:0; line-height:1.1; }
.qalab-price__detail{
  background:#F9FAFA; padding:32px 24px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px;
}
.qalab-price__tags{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.qalab-price__tag{
  background:var(--qalab-accent); color:#fff; font-size:14px; font-weight:400;
  padding:8px 16px; border-radius:4px; border:1px solid var(--qalab-accent); text-align:center;
}
.qalab-price__amount{
  margin:0; display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap;
}
.qalab-price__old{
  color:#555E64; text-decoration:line-through; font-weight:400; font-size:24px;
  font-family:"Inter","Noto Sans JP",sans-serif;
}
.qalab-price__arrow{ color:#9aa1ad; font-size:20px; }
.qalab-price__phrase{
  display:inline-flex; align-items:center; gap:2px;
  font-size:20px; font-weight:400; color:#000; line-height:1.6;
}
.qalab-price__num{
  font-family:"Inter","Noto Sans JP",sans-serif; font-size:36px; font-weight:400;
  line-height:1; color:#000;
}
.qalab-price__num--accent{ color:var(--qalab-accent); }
.qalab-price__yen{ font-size:14px; font-weight:400; color:var(--qalab-accent); }
.qalab-price__note{ font-size:15px; line-height:1.9; color:#333; margin:0; text-align:center; }

/* ---------- CTA ---------- */
.qalab-cta{
  background:linear-gradient(120deg,#5b9bff 0%,#bcd6ff 100%);
  padding:64px 24px;
}
.qalab-cta__card{
  background:#fff; border-radius:14px; max-width:1000px; margin-inline:auto;
  padding:56px 40px 60px; box-shadow:0 20px 50px rgba(20,40,80,.12);
}
.qalab-cta__title{
  font-size:30px; font-weight:800; line-height:1.55;
  color:var(--qalab-ink); margin:0 0 22px;
}
.qalab-cta__text{
  font-size:14.5px; line-height:1.95; color:#5b6472; margin:0 0 30px;
}

/* ---------- Minimal Footer（本番Elementor同等）----------
   既存のステージング共通フッターを隠し、本番同等のミニマル版に差し替える。
   本CSSは qa-lab でのみenqueueされるため非スコープで安全。 */
#walkers-footer,
#footer,
#simulate-button-wrap,
.walkers-footer,
.l-footer,
.l-footer__foot,
.p-fixBanner,
.c-toTop,
.c-toTop + .l-footer{ display:none !important; }
.qalab-minfooter{
  background:#f6f6f6;
  padding:48px 24px 40px;
}
.qalab-minfooter__inner{
  max-width:var(--qalab-cw); margin:0 auto; text-align:center;
}
.qalab-minfooter__logo{ display:inline-block; margin:0 0 22px; }
.qalab-minfooter__logo img{
  height:34px; width:auto; display:block; margin:0 auto;
}
.qalab-minfooter__nav{
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:14px 30px; margin:0;
}
.qalab-minfooter__nav a{
  color:#121212; font-size:14px; font-weight:600; text-decoration:none;
}
.qalab-minfooter__nav a:hover{ opacity:.7; }
.qalab-minfooter__bar{
  background:#2b303b; padding:13px 24px; text-align:center;
}
.qalab-minfooter__bar p{
  color:#ffffff; font-size:13px; font-weight:700; margin:0; letter-spacing:.02em;
}

/* ---------- スクロール連動アニメーション（本番Elementor fadeIn / fadeInUp 再現）----------
   JSが要素に .qalab-anim（初期非表示）を付与し、ビューポート進入時に .qalab-in を付与。
   JS無効・prefers-reduced-motion時は要素は通常表示のまま（プログレッシブエンハンスメント）。 */
@media (prefers-reduced-motion: no-preference){
  .qalab-anim{
    opacity:0;
    transition:opacity .9s ease, transform .9s ease;
    will-change:opacity, transform;
  }
  .qalab-anim.qalab-anim--up{ transform:translateY(40px); }
  .qalab-anim.qalab-in{ opacity:1; transform:none; }
}

/* ---------- responsive（本番Elementor準拠：タブレット834px / モバイル600px の2段階）----------
   本番は834pxまで多段組みを維持し、600pxで1列化する。
   各 wp:columns は is-not-stacked-on-mobile 指定でWPコアの781px段組み崩れを無効化し、
   下記モバイル(≤600)指定で明示的に1列へスタックさせる（hero__iconsは3列維持）。 */

/* ===== タブレット ≤834px：多段組みは維持し、余白・文字サイズを縮小 ===== */
@media (max-width:834px){
  :root{ --qalab-cw:100%; --qalab-cw-narrow:100%; }

  .qalab-hero{ padding:48px 32px 56px; }
  .qalab-hero__inner{ gap:24px; }
  .qalab-hero__title,
  .page-id-14770 .post_content h1.qalab-hero__title{ font-size:44px !important; line-height:1.4 !important; margin-bottom:28px; }
  .qalab-eyebrow{ font-size:16px; margin-bottom:14px; }
  .qalab-hero__icons{ gap:16px; margin:6px 0 32px; }
  .qalab-hero__icon img{ width:84px !important; height:84px !important; padding:22px; }
  .qalab-hero__icon-label{ font-size:14px; }
  .qalab-hero__cta .qalab-btn .wp-block-button__link{ font-size:17px; padding:16px 38px; }
  .qalab-hero__dash img{ width:108%; }

  .qalab-problem,
  .qalab-check,
  .qalab-report,
  .qalab-price{ padding:48px 32px; }
  .qalab-feature{ padding:48px 32px; }
  .qalab-cta{ padding:52px 32px; }

  /* SWELL既定の見出し余白をリセット（タブレットも本番同等にコンパクト化） */
  .page-id-14770 .post_content h2.qalab-h2,
  .page-id-14770 .post_content h2.qalab-cta__title,
  .page-id-14770 .post_content h3.qalab-feat__title,
  .page-id-14770 .post_content h3.qalab-check__title{ margin-top:0 !important; }

  .qalab-h2,
  .page-id-14770 .post_content h2.qalab-h2,
  .page-id-14770 .post_content h2.qalab-cta__title{ font-size:30px !important; margin:0 0 28px !important; }

  .qalab-feat{ gap:28px; margin-bottom:32px !important; }
  .qalab-feat__title,
  .page-id-14770 .post_content h3.qalab-feat__title{ font-size:26px !important; margin:0 0 14px !important; }
  .qalab-feat__desc,
  .page-id-14770 .post_content p.qalab-feat__desc{ font-size:14px !important; }

  .qalab-problem__cards,
  .qalab-check__cards,
  .qalab-report__imgs{ gap:16px; }
  .qalab-problem__text,
  .page-id-14770 .post_content .qalab-problem__text{ font-size:17px !important; padding:30px 18px; }
  .qalab-check__card{ padding:24px 20px 26px; }
  .qalab-check__title,
  .page-id-14770 .post_content h3.qalab-check__title{ margin:0 0 14px !important; }
}

/* ===== モバイル ≤600px：多段組みを1列へスタック（本番同等）===== */
@media (max-width:600px){
  :root{ --qalab-cw:100%; --qalab-cw-narrow:100%; }

  /* is-not-stacked-on-mobile を打ち消して1列スタック（ヒーローは本番同様2カラム維持＝除外、hero__iconsも3列維持） */
  .page-id-14770 .qalab-problem__cards.is-not-stacked-on-mobile,
  .page-id-14770 .qalab-feat.is-not-stacked-on-mobile,
  .page-id-14770 .qalab-check__cards.is-not-stacked-on-mobile,
  .page-id-14770 .qalab-report__imgs.is-not-stacked-on-mobile{ flex-wrap:wrap !important; }
  .page-id-14770 .qalab-problem__cards > .wp-block-column,
  .page-id-14770 .qalab-feat > .wp-block-column,
  .page-id-14770 .qalab-check__cards > .wp-block-column,
  .page-id-14770 .qalab-report__imgs > .wp-block-column{ flex-basis:100% !important; }

  /* ===== ヒーロー：本番同様モバイルでも2カラム（テキスト62% / ウィジェット38%）を維持 ===== */
  .qalab-hero{ padding:34px 16px 42px; }
  .page-id-14770 .qalab-hero__inner.is-not-stacked-on-mobile{ flex-wrap:nowrap !important; gap:8px !important; align-items:center !important; }
  .page-id-14770 .qalab-hero__inner > .qalab-hero__left{ flex:0 0 61% !important; max-width:61% !important; }
  .page-id-14770 .qalab-hero__inner > .qalab-hero__right{ flex:0 0 36% !important; max-width:36% !important; order:0 !important; }
  .qalab-eyebrow{ font-size:11px; margin-bottom:8px; }
  .qalab-hero__title,
  .page-id-14770 .post_content h1.qalab-hero__title{ font-size:19px !important; line-height:1.5 !important; margin-bottom:14px; }
  .qalab-hero__icons{ gap:6px !important; margin:6px 0 16px; max-width:none; }
  .qalab-hero__icon{ margin:0 auto 7px; }
  .qalab-hero__icon img{ width:32px !important; height:32px !important; padding:7px; }
  .qalab-hero__icon-label{ font-size:9px; line-height:1.35; }
  .qalab-hero__cta .qalab-btn{ width:100%; }
  .qalab-hero__cta .qalab-btn .wp-block-button__link{ font-size:13px !important; padding:12px 8px !important; width:100%; text-align:center; box-sizing:border-box; }
  .qalab-hero__dash img{ width:100% !important; max-width:100% !important; transform:none !important; border-radius:8px; }

  .qalab-problem,
  .qalab-check,
  .qalab-report,
  .qalab-price{ padding:44px 18px; }
  .qalab-feature{ padding:44px 18px; }
  .qalab-cta{ padding:44px 18px; }

  /* SWELL既定の見出し余白（h2 mt=104px / h3 mt=63px 等が過大）をqa-lab見出しでリセットし、
     本番同等のコンパクトな縦リズムに合わせる（モバイルのみ・デスクトップは不変） */
  .page-id-14770 .post_content h2.qalab-h2,
  .page-id-14770 .post_content h2.qalab-cta__title,
  .page-id-14770 .post_content h3.qalab-feat__title,
  .page-id-14770 .post_content h3.qalab-check__title{ margin-top:0 !important; }

  .qalab-h2,
  .page-id-14770 .post_content h2.qalab-h2,
  .page-id-14770 .post_content h2.qalab-cta__title{ font-size:26px !important; margin:0 0 22px !important; }

  .qalab-feat{ gap:18px; margin-bottom:36px !important; }
  .qalab-feat__title,
  .page-id-14770 .post_content h3.qalab-feat__title{ font-size:23px !important; margin:0 0 12px !important; }
  .qalab-problem__text,
  .page-id-14770 .post_content .qalab-problem__text{ font-size:16px !important; padding:28px 20px; }

  /* ===== Check Point：本番同様にカード内の余白を詰める ===== */
  .qalab-check__card{ padding:22px 18px 20px; }
  .qalab-check__num{ font-size:16px; margin:0 0 4px; }
  .qalab-check__title,
  .page-id-14770 .post_content h3.qalab-check__title{ font-size:19px !important; margin:0 0 12px !important; }
  .qalab-check__list li,
  .page-id-14770 .post_content .qalab-check__list li{ font-size:13px !important; padding:8px 0 8px 24px; margin:0 !important; }
  .qalab-check__list li::before{ top:10px; width:14px; height:14px; }
  .qalab-check__etc{ font-size:12px; margin:10px 0 0; }

  /* ===== Features：rev行(02/04)はDOM上で画像カラムが先頭。
     モバイル縦積み時はテキストを先頭へ戻し、本番同様「番号→見出し→本文→画像」の順にする ===== */
  .page-id-14770 .qalab-feat--rev > .wp-block-column:first-child{ order:2 !important; }
  .page-id-14770 .qalab-feat--rev > .wp-block-column:last-child{ order:1 !important; }

  /* feature図版は本番同様カラム幅いっぱい（ベン図含む）。はみ出しは max-width:100% で防止 */
  .page-id-14770 .qalab-feat .qalab-feat__img img{
    max-width:100% !important; width:100% !important; height:auto !important;
    margin-inline:auto !important;
  }
  .qalab-feat__img img[src*="feature2-image"]{
    max-width:100% !important; width:100% !important; margin-inline:auto !important;
  }

  /* ===== Report：本番同様に画像・余白を圧縮（縦に間延びさせない） ===== */
  .qalab-report__lead{ margin:0 0 22px; }
  .qalab-report__imgs{ gap:18px; }
  .qalab-report__cap{ font-size:12px; margin:10px 0 0; }
  /* レポート図版は最大高さを抑え本番同等の横長比率に近づける（はみ出し防止＆間延び解消） */
  .page-id-14770 .qalab-report__img img{
    max-width:100% !important; width:100% !important; height:auto !important;
    max-height:210px !important; object-fit:cover !important; object-position:top !important;
  }

  .qalab-price__card{ grid-template-columns:1fr; }
  .qalab-price__tags{ justify-content:center; }
  .qalab-price__free{ padding:36px 22px; }
  .qalab-price__detail{ padding:28px 22px; gap:18px; }
  .qalab-price__free-num{ font-size:32px; }
  .qalab-price__phrase{ font-size:17px; }
  .qalab-price__num{ font-size:30px; }
  .qalab-price__old{ font-size:20px; }

  .qalab-cta__card{ padding:40px 22px 44px; }
  .qalab-cta__title,
  .page-id-14770 .post_content h2.qalab-cta__title{ font-size:23px !important; }
}
