/* Simple arrow icon for FV CTA (no circle background) */
.c-arrow {
  display: inline-block;
  color: #fff;
  font-weight: 900;
  line-height: 1;
  vertical-align: middle;
}
/* ===== Hero CTA（SP優先） ===== */
.hero-content-left { display: flex; flex-direction: column; align-items: center; gap: 24px; }
.bzlis-cta__btn { width: 100%; display: flex; justify-content: center; }
.hero-section .bzlis__btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; background: var(--xb-cyan, #06a0be); color: #fff; font-size: 20px; font-weight: 800; padding: 18px 28px; border-radius: 12px; text-decoration: none; box-shadow: 0 6px 16px rgba(6,160,190,.28); width: 100%; max-width: 520px; }
.hero-section .bzlis__btn img { width: 28px; height: auto; }
.hero-section .bzlis__btn:hover { filter: brightness(.95); transform: translateY(-1px); }

/* ===== SP横スクロールのフォールバック（ロゴ） ===== */
@media (max-width: 1023px) {
  .splide__track { overflow-x: auto; -webkit-overflow-scrolling: touch; -ms-overflow-style: none; scrollbar-width: none; }
  .splide__track::-webkit-scrollbar { display: none; }
  .splide__list { display: flex; align-items: center; gap: 40px; padding: 0 20px; list-style: none; margin: 0; width: max-content; }
  .splide__slide img { height: 35px; width: auto; flex-shrink: 0; }
}

/* ===== Desktop tuning ===== */
@media (min-width: 1024px) {
  .hero-section .bzlis__btn { width: auto; font-size: 36px; padding: 33px 84px; border-radius: 21px; }
  .hero-section .bzlis__btn img { width: 54px; }
  .splide__track { overflow-x: hidden; }
  .splide__list { width: 100%; padding: 0; }
  .splide__slide img { height: 45px; }
}
/* Custom overrides to match the provided visual reference */
/* Theme */
:root { --xb-yellow:#ffeb00; --xb-cyan:#0bbbd9; --xb-black:#111; --xb-orange:#ff6b00; }

/* Global */
html, body { background: #fff !important; overflow-x: hidden; margin: 0; padding: 0; border: 0; font-family: "Noto Sans JP", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", "Meiryo", sans-serif; }
.layout { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; overflow: visible !important; }
/* 画像・メディアのデフォルトレスポンシブ化 */
img, video, canvas, svg { max-width: 100%; height: auto; }
/* 表の横スクロール許容 */
.u-overflow-x { overflow-x: auto; -webkit-overflow-scrolling: touch; }
table { width: 100%; border-collapse: collapse; }

/* Header */
.header.-bk { background: var(--xb-yellow); position: relative; z-index: 10000; overflow: visible; margin-bottom: 0; }
.header__inner { overflow: visible; }
.header__inner { max-width: none; width: 100%; margin: 0; padding: 17px 28px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; }
.header__nav.is-pc { margin-left: auto; }
.header__logo.-page { margin-right: auto; }
/* show logo image in header */
.header__logo.-page a { display: block; width: clamp(216px, 14.4vw, 264px); height: clamp(36px, 3.6vw, 48px); background: url("./口コミロボ™ヘッダーロゴ.webp") no-repeat left center/contain; text-indent: -9999px; overflow: hidden; }

/* Header nav (PC) */
.header__nav.is-pc { display: block; }
.header__nav-list { display: flex; gap: 44px; list-style: none; margin: 0; padding: 0; align-items: flex-start; justify-content: flex-end; }
.header__nav-list > li:last-child { padding-right: 0; }
.header__nav-list { flex-wrap: nowrap; }
/* 画面幅が狭い場合はナビの間隔を更に詰める */
@media (max-width: 1240px) {
  .header__nav-list { gap: 20px; }
}
@media (max-width: 1120px) {
  .header__nav-list { gap: 17px; }
  .header__nav-list .en, .header__nav-list .jp { font-size: 13px; }
}
@media (max-width: 1180px) {
  .header__nav-list { gap: clamp(14px, 3vw, 24px); }
}
@media (max-width: 1024px) {
  .header__nav-list .en, .header__nav-list .jp { font-size: 14px; }
}
.header__nav-list > li { position: relative; }
.header__nav-list a { text-decoration: none; color: #000; }
.header__nav-list .en { display: block; font-size: 16px; letter-spacing: .18em; text-transform: uppercase; text-align: right; line-height: 1.3; }
.header__nav-list .jp { display: block; font-size: 16px; text-align: right; line-height: 1.3; }

/* Dropdown under SERVICE */
.header__nav-list > li > div { position: absolute; top: 60px; left: 50%; transform: translateX(-50%); background: #fff; border: 1px solid #e5e5e5; border-radius: 4px; padding: 8px 0; min-width: 220px; display: none; box-shadow: 0 12px 28px rgba(0,0,0,.12); z-index: 3100; }
.header__nav-list > li:hover > div { display: block; }
.header__nav-list > li > div ul { list-style: none; margin: 0; padding: 0; }
.header__nav-list > li > div li a { display: block; padding: 10px 16px; font-size: 13px; white-space: nowrap; color: #111; }
.header__nav-list > li > div li a:hover { background: #f7f7f7; }

/* Visibility helpers to prevent duplication */
.is-pc { display: block !important; }
.is-sp { display: none !important; }
.header__nav-sp { display: none !important; position: absolute; top: 100%; left: 0; right: 0; z-index: 4000; }
.header__black-bg { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 3000; }
@media (max-width: 767px) {
  .is-pc { display: none !important; }
  .is-sp { display: block !important; }
  /* is-sp の影響でSPナビが常時表示されないよう、デフォルトは非表示に固定 */
  .header__nav-sp {
    display: none !important;
    position: fixed; /* 画面全体に固定して確実に前面表示 */
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 11000; /* オーバーレイより前面 */
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background: #fff;
    opacity: 0; visibility: hidden; pointer-events: none;
  }
  /* デフォルトは閉じた状態で非表示。open時のみ表示 */
  .header.-open .header__nav-sp { display: block !important; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; }
  /* 黒背景はヘッダーの外側要素に付与していないため、header内のもののみ表示 */
  .header.-open .header__black-bg { display: block; }
  .header__inner { padding: 12px 14px; }
  .header__logo.-page a { width: 216px; height: 38px; }
  /* 固定ヘッダー分の余白をメニュー内側に確保 */
  .header__nav-sp__inner { padding-top: 64px; }
}

/* ===== 【修正案1】横スクロール要素のはみ出し防止 ===== */
@media (max-width: 767px) {
  .bzlis-teigaku__graphs-scroll {
    width: 100% !important;
    max-width: 100vw !important;
    -webkit-overflow-scrolling: touch;
    overflow-x: auto; /* 念のため明示 */
  }
}

/* ===== 【修正案2】絶対配置パーツのはみ出し防止 ===== */
.bzlis-mondai,
.bzlis-plan {
  overflow-x: hidden;
}

/* FV削除に伴い、直下ロゴのマイナス余白をキャンセル（無効化） */
/* .bzlis-logos { margin-top: 0 !important; } */

/* SPナビの見た目調整 */
.header__nav-sp { background: #fff; border-top: 1px solid #eee; box-shadow: 0 10px 30px rgba(0,0,0,.12); }
.header__nav-sp__inner { width: 92%; max-width: 520px; margin: 0 auto; padding: 16px 0 24px; }
.header__nav-sp__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.header__nav-sp__list a { display: block; padding: 12px 10px; color: #111; text-decoration: none; border-radius: 8px; border: 1px solid #eee; background: #fafafa; }

/* ハンバーガーのタップ領域拡大 */
.header__burger { width: 42px; height: 38px; display: grid; align-items: center; justify-content: center; gap: 6px; cursor: pointer; z-index: 12000; position: relative; }
.header__burger-line { display: block; height: 3px; background: #111; border-radius: 2px; transition: transform .2s ease, opacity .2s ease, width .2s ease, margin .2s ease; }
/* 閉状態：上2本は長め、下は短く右寄せ */
.header__burger-line--1, .header__burger-line--2, .header__burger-line--3 { width: 28px; margin-left: 0; }
/* 開状態：均等幅にして綺麗なXへ */
.header.-open .header__burger-line--1 { transform: translateY(8px) rotate(45deg); width: 28px; margin-left: 0; }
.header.-open .header__burger-line--2 { opacity: 0; }
.header.-open .header__burger-line--3 { transform: translateY(-8px) rotate(-45deg); width: 28px; margin-left: 0; }
/* SP時：閉じているときは中央線を隠して「＝」風に */
@media (max-width: 767px) {
  .header:not(.-open) .header__burger-line--2 { opacity: 0; }
}
/* 開状態の「×」を正確に中央交差させる */
.header__burger { position: relative; }
.header.-open .header__burger-line--1,
.header.-open .header__burger-line--3 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: 50% 50%;
}
/* 既存のtranslateY回転指定を上書きし、中央で45°/ -45°に */
.header.-open .header__burger-line--1 { transform: translate(-50%, -50%) rotate(45deg); }
.header.-open .header__burger-line--3 { transform: translate(-50%, -50%) rotate(-45deg); }

/* Force-hide any reCAPTCHA badges/iframes if残骸がある場合 */
.grecaptcha-badge,
iframe[src*="recaptcha"],
iframe[src*="anchor"],
iframe[src*="saved_resource"],
textarea.g-recaptcha-response {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
}

/* Hero (FV) */
.bzlis { position: relative; background: #fff; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.bzlis-logo { position: absolute; left: 24px; top: 18px; z-index: 5; }
/* 旧FVレイアウト用スタイルを削除 */
/* .bzlis-fv { ... } 旧指定削除 */
/* .bzlis-fv__overlay { ... } 旧指定削除 */
/* .bzlis-fv__overlay-inner { ... } 旧指定削除 */
/* .bzlis-fv__col.-left { ... } 旧指定削除 */
/* .bzlis-fv__col.-right { ... } 旧指定削除 */
/* .bzlis-fv__img { ... } 旧指定削除 */
/* .bzlis-fv__img.-left { ... } 旧指定削除 */
/* .bzlis-fv__img.-right { ... } 旧指定削除 */
/* .bzlis-fv__img.-left[src$="＆.png"] { ... } 旧指定削除 */
/* .bzlis .bzlis-fv__col.-left .bzlis-fv__img.-left[src$="＆.png"] { ... } 旧指定削除 */
/* CTA button under left image */
.bzlis-fv__cta-btn { margin-top: 0; }
/* Emphasize FV CTA button size & visibility */
.bzlis .bzlis-fv__cta-btn .bzlis__btn {
  font-size: clamp(26px, 3.2vw, 40px) !important;
  padding: clamp(18px, 2vw, 24px) clamp(30px, 4vw, 52px) !important;
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(11,187,217,.35), 0 0 0 3px rgba(255,255,255,.9);
  justify-content: center;
  line-height: 1.2;
}
.bzlis-fv__cta-btn { display: block; text-align: center; align-self: center; }
@media (min-width: 1025px) {
  /* デスクトップではCTAボタンをより横長に */
  .bzlis-fv__cta-btn .bzlis__btn { min-width: 480px; padding-left: 56px; padding-right: 56px; }
}
.bzlis .bzlis-fv__cta-btn .bzlis__btn img { width: clamp(34px, 3.6vw, 44px) !important; }
/* CTA内のアイコン拡大に合わせて間隔を微調整 */
.bzlis .bzlis-fv__cta-btn .bzlis__btn { gap: 14px !important; }
/* removed line button */
/* Left image offset (push down a bit) */
.bzlis .bzlis-fv__col.-left .bzlis-fv__img.-left { margin-top: 24px; }
/* removed CTA/phone block */

@media (max-width: 767px) {
  /* .bzlis-fv__cta { margin-top: 0; } 無効化 */
  .bzlis .bzlis-fv__cta-btn .bzlis__btn { width: 100%; justify-content: center; font-size: 22px !important; padding: 18px 24px !important; border-radius: 12px; }
  /* CTAボタンを前面に固定 */
  .bzlis-fv__cta-btn { position: relative !important; z-index: 9001 !important; }
  .bzlis .bzlis-fv__cta-btn .bzlis__btn { position: relative !important; z-index: 9002 !important; }
  /* SP時のAND画像微調整 */
  .bzlis-fv__img.-left[src$="＆.png"] { max-width: 80% !important; margin-left: auto; margin-right: auto; display: block; }
  .bzlis .bzlis-fv__col.-left .bzlis-fv__img.-left[src$="＆.png"] { margin-top: 0; }
  /* SP時：FVが消えないように最小高を復帰（安定化用にsvh/dvhも後段で上書き） */
  /* まずはJSの --vh をフォールバックとして設定し、対応ブラウザでは安定単位 100svh を使用 */
  /* 旧FV関連のSP指定を無効化 */
  /* .bzlis-fv { ... } */
  /* .bzlis-fv__overlay-inner { ... } */
  /* .bzlis-fv__col.-left { ... } */
  /* .bzlis-fv__img.-left { ... } */
  /* .bzlis-fv__col.-right { ... } */
  .bzlis-fv__cta-btn { order: 3; grid-column: 1; justify-self: stretch; margin-top: -15px; }
  /* .bzlis-fv__img.-left, .bzlis-fv__img.-right { margin: 0; } 無効化 */
  /* .bzlis-fv__img.-right { filter: none; } 無効化 */
}

@media (min-width: 1025px) {
  /* .bzlis-fv__cta { margin-top: 160px; } 無効化 */
}

/* 強制的にCTAをさらに下げる（他CSS干渉対策） */
@media (min-width: 1025px) {
  .bzlis .bzlis-fv__col.-left .bzlis-fv__cta { margin-top: clamp(200px, 8vw, 260px) !important; }
  /* Ensure left image sits a bit lower on desktop */
  .bzlis .bzlis-fv__col.-left .bzlis-fv__img.-left { margin-top: 36px !important; }
  /* AND画像のみ更に下げる */
  .bzlis .bzlis-fv__col.-left .bzlis-fv__img.-left[src$="＆.png"] { margin-top: 54px !important; }
  /* 画像とCTAの間隔をさらに詰める */
  .bzlis .bzlis-fv__col.-left { gap: 20px; }
  .bzlis .bzlis-fv__col.-left .bzlis-fv__cta-btn { margin-top: -8px; }
}
.bzlis-fv__kicker { text-align: left; font-weight: 800; letter-spacing: .08em; margin: 0 0 14px; font-size: 14px; }
.bzlis-fv__badges { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.bzlis-badge { display: inline-block; padding: 10px 16px; border-radius: 8px; font-weight: 900; letter-spacing: .06em; color: #111; background: #fff; box-shadow: 0 6px 16px rgba(0,0,0,.08); }
.bzlis-badge.-orange { background: #ff9f1a; color: #111; }
.bzlis-badge.-pink { background: #ff4f8b; color: #fff; }
.bzlis-fv__and { font-weight: 900; font-size: 24px; }
.bzlis-fv__sub { margin: 6px 0 10px; font-size: 20px; font-weight: 800; }
.bzlis-fv__title { margin: 0 0 16px; font-size: clamp(28px, 5vw, 52px); line-height: 1.2; }
.bzlis-fv__title em { font-weight: 900; font-style: normal; }
/* .bzlis-fv__cta { position: absolute; left: 24px; bottom: 28px; } 無効化 */
.bzlis-fv__actions { margin: 10px 0 8px; }
.bzlis-fv__tel { display: flex; align-items: center; gap: 14px; margin: 10px 0 0; }
.bzlis-fv__tel-btn { display: inline-block; background: #111; color: #fff; border-radius: 999px; padding: 8px 14px; font-size: 12px; text-decoration: none; }
.bzlis-fv__tel-no { font-size: 22px; font-weight: 900; letter-spacing: .08em; }
.bzlis-fv__tel-note { font-size: 10px; color: #333; }
.bzlis-fv__inner { max-width: 1280px; width: 100%; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 0 24px; }
.bzlis-fv__body { flex: 1 1 54%; }
.bzlis-fv__body-txt img { width: 100%; height: auto; max-width: 720px; }
.bzlis-fv__pic { flex: 1 1 46%; text-align: right; }
.bzlis-fv__pic img { width: 100%; height: auto; max-width: 720px; }
.bzlis-fv__body-btn { margin-top: 20px; }
.bzlis-fv__body-btn .bzlis__btn { font-size: 18px; padding: 18px 28px; border-radius: 8px; }
.bzlis-fv__body-tel { display: inline-block; margin-top: 16px; }
.bzlis-fv__body-tel img { max-width: 420px; width: 100%; height: auto; }

/* FV right-side vertical scroll decorations */
.bzlis-fv__scroll { position: absolute; right: 0; top: 0; bottom: 0; width: 160px; display: flex; align-items: center; justify-content: center; gap: 16px; pointer-events: none; }
.bzlis-fv__scroll-moji, .bzlis-fv__scroll-logo { display: flex; flex-direction: column; gap: 24px; animation: bzlis-scroll 14s linear infinite; }
.bzlis-fv__scroll-moji img, .bzlis-fv__scroll-logo img { width: 110px; height: auto; opacity: .2; }
@keyframes bzlis-scroll { 0% { transform: translateY(0); } 100% { transform: translateY(-50%); } }

/* ===== FV 背景の控えめな図形装飾 ===== */
.bzlis-fv::before,
.bzlis-fv::after { content: ""; position: absolute; pointer-events: none; z-index: 0; }
/* 破線の円（右上） */
.bzlis-fv::after {
  width: clamp(120px, 12vw, 180px);
  height: clamp(120px, 12vw, 180px);
  right: clamp(2%, 4vw, 8%);
  top: clamp(40px, 6vw, 100px);
  border-radius: 50%;
  box-shadow: 0 10px 0 0 rgba(0,0,0,.04) inset;
  /* 破線風の枠線 */
  border: 3px dashed rgba(0,0,0,.45);
  opacity: .35;
}
/* プラス記号とリングを全体に散らすレイヤー */
.bzlis-fv::before {
  inset: 0;
  left: 0; bottom: 0; right: 0; top: 0;
  width: auto; height: auto;
  /* 複数の背景で＋とリングを上部・端寄りに配置 */
  background:
    /* リング(大/右上・端寄り) */
    radial-gradient(closest-side, transparent calc(50% - 1.5px), rgba(0,0,0,.40) calc(50% - 1.5px), rgba(0,0,0,.40) calc(50% + 1.5px), transparent calc(50% + 1.5px)) 94% 10%/180px 180px no-repeat,
    /* リング(中/上中央) */
    radial-gradient(closest-side, transparent calc(50% - 1.5px), rgba(0,0,0,.38) calc(50% - 1.5px), rgba(0,0,0,.38) calc(50% + 1.5px), transparent calc(50% + 1.5px)) 50% 6%/120px 120px no-repeat,
    /* リング(小/左上) */
    radial-gradient(closest-side, transparent calc(50% - 1.5px), rgba(0,0,0,.40) calc(50% - 1.5px), rgba(0,0,0,.40) calc(50% + 1.5px), transparent calc(50% + 1.5px)) 8% 14%/90px 90px no-repeat,
    /* リング(小/右端中段) */
    radial-gradient(closest-side, transparent calc(50% - 1.5px), rgba(0,0,0,.35) calc(50% - 1.5px), rgba(0,0,0,.35) calc(50% + 1.5px), transparent calc(50% + 1.5px)) 98% 48%/74px 74px no-repeat,
    /* リング(小/左端下段) */
    radial-gradient(closest-side, transparent calc(50% - 1.5px), rgba(0,0,0,.35) calc(50% - 1.5px), rgba(0,0,0,.35) calc(50% + 1.5px), transparent calc(50% + 1.5px)) 2% 66%/74px 74px no-repeat,
    /* ＋ (上左端) */
    linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.55)) 6% 18%/2px 18px no-repeat,
    linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.55)) 6% 18%/18px 2px no-repeat,
    /* ＋ (上右端) */
    linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.55)) 88% 22%/2px 18px no-repeat,
    linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.55)) 88% 22%/18px 2px no-repeat,
    /* ＋ (上中央) */
    linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.55)) 50% 14%/2px 18px no-repeat,
    linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.55)) 50% 14%/18px 2px no-repeat;
  opacity: .24;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.05));
}
/* SPでは装飾を抑制 */
@media (max-width: 767px) {
  .bzlis-fv::before, .bzlis-fv::after { display: none; }
}

/* Section wrappers */
.bzlis-tokucho, .bzlis-mondai, .bzlis-plan, .bzlis-yakusoku, .bzlis-step, .bzlis-qa, .bzlis-contact, .bzlp-blog { padding: 64px 0; background: #fff; }
/* planセクションは白、本文ブロックのみ黄色 */
.bzlis-plan { background: #fff; }
.bzlis-plan__body { background: var(--xb-yellow); margin-top: 0; padding: 64px 0 56px; }
@media (max-width: 767px) { .bzlis-plan__body { margin-top: 0; padding: 48px 0 40px; } }
.bzlis-tokucho__inner, .bzlis-mondai__inner, .bzlis-plan__body-inner, .bzlis-yakusoku__inner, .bzlis-step__inner, .bzlis-qa__inner, .bzlis-contact__body-inner, .top-blog__inner {
  max-width: none; width: 100%; margin: 0; background: transparent; padding: 40px 24px; border-radius: 0;
}
/* 見出し下まで黄色が来るように、黄色エリアの深さを調整（PC/SPで別値） */
:root { --plan-yellow-depth: 280px; }
@media (max-width: 767px) { :root { --plan-yellow-depth: 220px; } }

/* Make the features section stand out with white background */
.bzlis-tokucho { background: #fff !important; }
/* Tokucho: 上とのセクション間を詰める */
.bzlis-tokucho { padding-top: 40px; padding-bottom: 4px; }
@media (max-width: 767px) { .bzlis-tokucho { padding-top: 28px; padding-bottom: 0; } }

/* Tokucho section layout to match reference */
.bzlis-tokucho__inner { max-width: 1180px; margin: 0 auto; }
.bzlis-tokucho__heading { text-align: center; margin-bottom: 20px; }
.bzlis-tokucho__heading .lis_tokucho-ttl_1 p { margin: 0 0 8px; font-size: clamp(22px, 3.36vw, 38.4px); letter-spacing: .06em; font-weight: 700; }
/* 見出し画像（「アドキタ広告の3つの特徴」）のサイズと中央寄せ */
.bzlis-tokucho__heading img { display: block; margin: 0 auto; width: clamp(520px, 86%, 1080px); height: auto; }
@media (max-width: 767px) {
  /* SPでは画面幅に収まるようにして中央揃え */
  .bzlis-tokucho__heading img { width: 92%; max-width: 560px; }
  /* 見出しテキストもSPで中央寄せを強制 */
  .bzlis-tokucho__heading,
  .bzlis-tokucho__heading .lis_tokucho-ttl_1 { text-align: center !important; }
}

/* Teigaku section white card on yellow */
.bzlis-teigaku { background: var(--xb-yellow); margin-bottom: clamp(24px, 6vw, 96px); padding-bottom: clamp(48px, 8vw, 160px); }
.bzlis-teigaku__heading { display: block; }
.bzlis-teigaku__body { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.bzlis-teigaku__content { background: #fff; border: 2px solid #111; border-radius: 16px; padding: clamp(20px, 3vw, 40px); }
.bzlis-teigaku__pic01, .bzlis-teigaku__otoku, .bzlis-teigaku__otoku-gurahu { text-align: center; }
.bzlis-teigaku__pic01 picture img, .bzlis-teigaku__otoku-pic picture img, .bzlis-teigaku__otoku-gurahu picture img { max-width: 100%; height: auto; }
.bzlis-teigaku__sub-ttl { text-align: center; margin: 26px 0; font-size: clamp(18px, 3.2vw, 34px); font-weight: 800; line-height: 1.45; }
/* お得比較 行の二段構成（左：図、右：テキスト＋表） */
.bzlis-teigaku__otoku { display: grid; grid-template-columns: minmax(420px, 620px) 1fr; gap: clamp(16px, 2.4vw, 32px); align-items: start; margin-top: 12px; }
.bzlis-teigaku__otoku-pic { text-align: center; }
.bzlis-teigaku__otoku-pic picture img { max-width: 620px; width: 100%; height: auto; }
.bzlis-teigaku__otoku-body { text-align: left; }
.bzlis-teigaku__otoku-txt { margin: 0 0 14px; font-size: clamp(14px, 1.3vw, 16px); line-height: 1.9; color: #222; }
.bzlis-teigaku__otoku-gurahu { text-align: left; }
.bzlis-teigaku__otoku-gurahu picture img { max-width: 560px; width: 100%; height: auto; border: 1px solid #eee; border-radius: 8px; }

@media (max-width: 1024px) {
  .bzlis-teigaku__otoku { grid-template-columns: 1fr; }
  .bzlis-teigaku__otoku-body, .bzlis-teigaku__otoku-gurahu { text-align: center; }
}
@media (max-width: 767px) {
  .bzlis-teigaku { padding-bottom: 56px; }
}
/* スマホ時 お得テキストを左揃えにする */
@media (max-width: 767px) {
  .bzlis-teigaku__otoku-txt { text-align: left; }
}
/* 年間金額の強調数値のサイズ調整 */
.bzlis-teigaku__amount { font-size: 2.2em; }
@media (max-width: 1024px) {
  .bzlis-teigaku__amount { font-size: 1.8em; }
}
@media (max-width: 767px) {
  .bzlis-teigaku__amount { font-size: 1.5em; }
}
/* テキスト強調マーカー（下線マーカー風） */
.c-yellow-maker {
  display: inline;
  /* 下部のみ黄色を引く */
  background: none;
  background-image: linear-gradient(transparent 60%, var(--xb-yellow) 0);
  background-repeat: no-repeat;
  background-size: 100% .6em;
  background-position: 0 100%;
  padding: 0 .06em;
  font-style: normal;
  font-weight: 900;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

/* 黄色アンダーマーカーではなく、文字色だけを黄色にする用途 */
.c-yellow-text {
  color: #ffeb00;
  color: var(--xb-yellow);
  font-style: normal;
  font-weight: 900;
}

/* 見出し内の単語を黄色い箱で囲って強調する */
.c-yellow-box {
  display: inline-block;
  background: #ffeb00;
  background: var(--xb-yellow);
  color: #111;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  padding: .1em .25em;
  border-radius: 0;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

/* Mondai section on white background */
.bzlis-mondai { background: #fff !important; padding-top: 96px; position: relative; z-index: 6000; }
.bzlis-mondai__inner { max-width: 1180px !important; margin: 0 auto !important; padding: 40px 24px; }
.bzlis-mondai__heading { text-align: center; margin: 0 0 20px; }
.bzlis-mondai__heading picture img { display: block; margin: 0 auto; max-width: 980px; width: 100%; height: auto; }

/* Mondai content layout and separators */
.bzlis-mondai__content { display: block; }
.bzlis-mondai__item { padding: 6px 0 48px; border-top: 1px solid #111; }
.bzlis-mondai__item:first-child { border-top: 1px solid #111; }

/* Two-column layout for problem header + description */
.bzlis-mondai__item-mondai { display: grid; grid-template-columns: 480px 1fr; gap: 44px; align-items: start; }
.bzlis-mondai__item-mondai-heading-label { display: inline-block; background: #111; color: #fff; font-size: 12px; letter-spacing: .08em; padding: 6px 10px; border-radius: 2px; margin-bottom: 10px; }
.bzlis-mondai__item-mondai-heading-ttl { margin: 0; font-size: clamp(22px, 3.2vw, 38px); line-height: 1.35; font-weight: 800; text-align: left; }
.bzlis-mondai__item-mondai-txt { margin: 0; font-size: clamp(14px, 1.15vw, 16px); line-height: 2.0; color: #111; max-width: 980px; text-align: left; align-self: center; }

/* Arrow and そこで... */
.bzlis-mondai__item-arrow { text-align: center; margin: 14px 0 4px; }
.bzlis-mondai__item-arrow img { width: 30px; height: auto; opacity: .8; }
.bzlis-mondai__item-sokode { text-align: center; font-weight: 700; letter-spacing: .08em; margin: 6px 0 14px; }

/* Solution yellow box with badge */
.bzlis-mondai__item-kaiketu { position: relative; background: var(--xb-yellow); border: 2px solid #111; border-radius: 8px; padding: 18px 24px; }
.bzlis-mondai__item-kaiketu-ttl { margin: 0 0 10px; text-align: center; }
/* 見出し画像の最大幅と中央配置 */
.bzlis-mondai__item-kaiketu-ttl picture { display: block; margin: 0 auto; }
.bzlis-mondai__item-kaiketu-ttl picture img { display: block; margin: 0 auto; width: clamp(520px, 82%, 760px) !important; height: auto !important; }
/* 「小規模予算でも質の高い運用を保証」画像だけを約1.3倍に拡大 */
.bzlis-mondai__item-kaiketu-ttl picture img[alt="小規模予算でも質の高い運用を保証"] {
  transform: scale(1.3);
  transform-origin: center top;
}
/* 説明文はやや大きく・行間広め・中央寄せ */
.bzlis-mondai__item-kaiketu p { margin: 0; font-size: clamp(14px, 1.1vw, 16px); line-height: 2.0; text-align: left; color: #111; }
.bzlis-mondai__item-kaiketu-label { position: absolute; right: -18px; top: -22px; }
.bzlis-mondai__item-kaiketu-label img { width: 130px; height: auto; }

@media (max-width: 1024px) {
  .bzlis-mondai__item-mondai { grid-template-columns: 1fr; gap: 20px; }
}

@media (max-width: 767px) {
  .bzlis-mondai { padding-top: 48px; }
  .bzlis-mondai__item { padding: 4px 0 28px; }
  .bzlis-mondai__item-mondai-heading-ttl { font-size: clamp(26px, 7.8vw, 34px); }
  /* バッジが切れないように可視化（はみ出し許容） */
  .bzlis-mondai__item-kaiketu { padding: 14px 16px; overflow: visible !important; }
  .bzlis-mondai__item-kaiketu-label { right: -8px; top: -40px; }
  .bzlis-mondai__item-kaiketu-label img { width: 100px; }
  /* SPでは幅を端末幅にフィットさせつつ高さは自動 */
  .bzlis-mondai__item-kaiketu-ttl picture { width: 100%; }
  .bzlis-mondai__item-kaiketu-ttl picture img { width: 100% !important; max-width: 560px; height: auto !important; }
}

/* Black heading bars (full-bleed) */
.bzlis-bk-heading { background: #000; color: #fff; text-align: center; padding: 28px 16px 36px; margin: 0 auto 28px; width: 100%; position: relative; left: 0; transform: none; overflow: hidden; }
/* planセクションでは見出し直下の白帯が出ないように、下マージンを無効化 */
.bzlis-plan .bzlis-bk-heading { margin-bottom: 0; }
/* 見出し帯の上下ラインは不要に */
.bzlis-bk-heading::before,
.bzlis-bk-heading::after { content: none; }
.bzlis-bk-heading .bzlis-bk-heading__txt { display: inline-block; background: #fff; color: #111; font-weight: 800; font-size: clamp(18px, 2.2vw, 28px); line-height: 1; padding: 14px 26px; border-radius: 999px; margin: 0 auto 14px; box-shadow: 0 4px 14px rgba(0,0,0,.18); }
.bzlis-bk-heading .bzlis-bk-heading__ttl { font-size: clamp(14px, 1.6vw, 18px); opacity: .95; line-height: 1.6; }

/* Emphasize subtitle under fixed-price heading (teigaku section) */
.bzlis-teigaku__heading .bzlis-bk-heading__ttl { font-size: clamp(20px, 3vw, 34px); line-height: 1.7; }

/* Constrain mondai section width */
.bzlis-mondai__content { max-width: 1180px; margin: 0 auto; padding: 0 24px; }

/* Mondai section heading (image-like) */
.bzlis-mondai__heading { text-align: center; margin: 40px auto 18px; font-size: clamp(22px, 3.4vw, 40px); line-height: 1.45; font-weight: 800; }
.bzlis-mondai__heading em { font-style: normal; }

/* SP: 問題点の見出しをみちみち（両端そろえ）に */
@media (max-width: 767px) {
  .bzlis-mondai__heading {
    text-align: justify !important;
    text-justify: inter-ideograph;
    text-align-last: justify;
  }
  /* 最終行も両端に揃うよう疑似要素で幅を埋める */
  .bzlis-mondai__heading::after {
    content: "";
    display: inline-block;
    width: 100%;
  }
}

/* SP: 見出しをより大きくして画面いっぱいに見せる（前述の両端揃えを上書き） */
@media (max-width: 767px) {
  .bzlis-mondai__inner { padding-left: 16px; padding-right: 16px; }
  .bzlis-mondai__heading {
    font-size: clamp(24px, 7.4vw, 36px) !important;
    line-height: 1.22 !important;
    letter-spacing: normal !important;
    text-align: center !important;
    text-justify: auto !important;
    text-align-last: auto !important;
    margin-left: 0; margin-right: 0;
  }
  .bzlis-mondai__heading::after { display: none; }
  .bzlis-mondai__heading .c-yellow-box { padding: .12em .32em; }
}

/* Grids */
.bzlis-tokucho__content, .bzlis-jisseki__content, .bzlis-plan__content, .bzlis-step__content, .bzlis-qa__content { display: grid; gap: 24px; }
.bzlis-tokucho__content { grid-template-columns: repeat(3, 1fr); align-items: start; }
.bzlis-jisseki__content { grid-template-columns: 1fr; }
@media (min-width: 1025px) {
  .bzlis-jisseki__content { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.bzlis-plan__content { grid-template-columns: repeat(2, 1fr); }
.bzlis-step__content { grid-template-columns: 1fr; gap: 32px; }

/* Cards */
.bzlis-tokucho__item, .bzlis-jisseki__item, .bzlis-plan__item, .bzlis-step__item, .bzlis-qa__item { background: #fff; border: 1px solid #eee; border-radius: 8px; padding: 16px; box-shadow: 0 4px 12px rgba(0,0,0,.05); }
.bzlis-tokucho__item { background: #f7f7f7; border: 1px solid #efefef; border-radius: 12px; padding: 16px 16px 12px; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.bzlis-tokucho__item-box { text-align: center; width: 100%; }
.bzlis-tokucho__item-ttl { margin: 6px 0 6px; font-weight: 800; font-size: clamp(18px, 1.5vw, 21px); line-height: 1.3; text-align: center; }
.bzlis-tokucho__item-ttl em { display: block; font-style: normal; font-size: clamp(22px, 2vw, 28px); }
.bzlis-tokucho__item > p { text-align: center; margin: 8px 4px 0; line-height: 1.85; font-size: clamp(14px, 1.2vw, 16px); color: #222; }
.bzlis-tokucho__item-pic { margin: 4px 0 0; }
.bzlis-tokucho__item-pic img { max-width: 200px; width: 100%; height: auto; }

/* PC時：特徴セクションの文言と見出しをやや小さめに（参考画像に合わせて縮小） */
@media (min-width: 1025px) {
  .bzlis-tokucho__item { padding: 14px 14px 10px; }
  .bzlis-tokucho__item-pic img { max-width: 160px; }
  .bzlis-tokucho__item-ttl { font-size: 17px !important; }
  .bzlis-tokucho__item-ttl em { font-size: 21px !important; }
  .bzlis-tokucho__item > p { font-size: 16px !important; line-height: 1.9; }
}
.bzlis-qa__item-ttl { display: flex; align-items: center; gap: 10px; margin: 0; }
.bzlis-qa__item-body { margin-top: 10px; }

/* Jisseki (results) section */
.bzlis-jisseki { background: #fff !important; padding: 16px 0 64px; }
.bzlis-jisseki__inner { max-width: 1180px; margin: 0 auto; padding: 16px 24px 40px; }
.bzlis-jisseki__heading { text-align: center; margin: 0 0 10px; }
.bzlis-jisseki__heading picture source,
.bzlis-jisseki__heading picture img { max-width: 100%; height: auto; }
.bzlis-jisseki__heading picture img { display: block; margin: 0 auto; width: clamp(320px, 50%, 600px); height: auto; }
/* KPI 2カラム */
.bzlis-jisseki__kpi { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; align-items: stretch; margin: 0 0 20px; }
.bzlis-jisseki__kpi.-case { margin: 10px 0 0; }
/* KPIをカードの内側いっぱいに見せる調整 */
.bzlis-jisseki__item + .bzlis-jisseki__kpi.-case { margin-top: -6px; }
.bzlis-kpi__item { position: relative; background: #fffbe6; border: 2px solid #111; border-radius: 10px; padding: 14px 16px; box-shadow: 0 0 0 8px #fff, 0 0 0 9px #bdbdbd; }
.bzlis-kpi__label { display: inline-block; background: #ffeb00; color: #111; font-weight: 800; border-radius: 999px; padding: 6px 12px; font-size: 14px; letter-spacing: .04em; margin-bottom: 8px; }
.bzlis-kpi__value { display: flex; align-items: baseline; gap: 6px; }
.bzlis-kpi__num { font-size: clamp(48px, 9vw, 86px); color: #e60000; font-weight: 900; line-height: 1; }
.bzlis-kpi__unit { font-size: clamp(18px, 2.6vw, 28px); font-weight: 800; }
.bzlis-kpi__desc { font-size: clamp(18px, 2.6vw, 28px); font-weight: 800; color: #333; margin-left: 4px; }
@media (max-width: 767px) {
  .bzlis-jisseki__kpi { grid-template-columns: 1fr; gap: 12px; }
  .bzlis-kpi__item { padding: 12px 14px; box-shadow: 0 0 0 6px #fff, 0 0 0 7px #bdbdbd; }
}
/* （一時削除）.bzlis-jisseki__mini 関連スタイル */
.bzlis-jisseki__item { background: #fff; border: 1px solid #eee; border-radius: 12px; padding: 16px; box-shadow: 0 4px 12px rgba(0,0,0,.05); }
.bzlis-jisseki__item-case { display: inline-block; padding: 6px 12px; border-radius: 20px; background: #e9f5ff; color: #0b74d9; font-size: clamp(12px, 1.4vw, 14px); letter-spacing: .04em; margin-bottom: 6px; }
.bzlis-jisseki__item-ttl { margin: 0 0 6px; font-size: clamp(22px, 2.6vw, 30px); font-weight: 700; }
.bzlis-jisseki__item > p { font-size: clamp(15px, 1.3vw, 18px); line-height: 1.9; }
.bzlis-jisseki__item-pic img { width: 100%; height: auto; }
.bzlis-jisseki__sup { text-align: right; color: #888; font-size: 12px; margin-top: 8px; }
.bzlis-kiiro-box { background: var(--xb-yellow); border: 2px solid #555; border-radius: 12px; padding: 24px; box-shadow: 0 0 0 8px #fff, 0 0 0 9px #bdbdbd; }
.bzlis-jisseki__gyousyu { max-width: 980px; margin: 16px auto 0; }
.bzlis-jisseki__gyousyu-ttl { text-align: center; margin: 0 0 12px; font-size: 18px; font-weight: 700; position: relative; padding-bottom: 8px; }
.bzlis-jisseki__gyousyu-ttl::after { content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 160px; max-width: 60%; height: 3px; background: #111; border-radius: 999px; opacity: .9; }
/* 業種例ボックス内の本文の行間を広げて可読性を改善 */
.bzlis-jisseki__gyousyu p { line-height: 1.9; }
/* 売り込み無しボックス */
.bzlis-yakusoku__urikomi { margin-top: 24px; }
.bzlis-yakusoku__urikomi-ttl { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 20px; }
.bzlis-yakusoku__urikomi-ttl img { width: 22px; height: auto; }
.bzlis-yakusoku__urikomi p { margin: 0; line-height: 1.9; padding-top: 10px; border-top: 2px solid #111; }

/* Yakusoku (promises) section */
.bzlis-yakusoku { background: #fff !important; margin-top: 6px !important; padding-top: 48px !important; }
.bzlis-yakusoku__inner { max-width: 1180px; margin: 0 auto; padding: 40px 24px; }
.bzlis-yakusoku__heading { text-align: center; margin-bottom: 16px; }
.bzlis-yakusoku__heading picture img { display: block; margin: 0 auto; width: clamp(520px, 86%, 1080px); height: auto; }
@media (max-width: 767px) {
  .bzlis-yakusoku__heading picture img { width: 92%; max-width: 560px; }
}
.bzlis-yakusoku__content { grid-template-columns: repeat(3, minmax(0, 360px)); gap: 24px; justify-content: center; }
.bzlis-yakusoku__item { background: transparent; border: 0; border-radius: 0; padding: 0; box-shadow: none; }
.bzlis-yakusoku__item-ttl { text-align: center; margin: 0 0 10px; }
.bzlis-yakusoku__item .bzlis-tokucho__item-pic img { max-width: 180px; }
/* お約束：アイコンと見出しを囲う内側グレー枠 */
.bzlis-yakusoku__item .bzlis-tokucho__item-box { background: #f7f7f7; border: 1px solid #e9e9e9; border-radius: 12px; padding: 24px; text-align: center; }
.bzlis-yakusoku__item p { margin: 12px 4px 0; color: #333; }
/* Yakusoku tuning overrides */
.bzlis-yakusoku__content { gap: 28px; }
.bzlis-yakusoku__item > p { text-align: left; margin: 12px 6px 0; }
.bzlis-yakusoku__item .bzlis-tokucho__item-pic img { max-width: 220px; }
.bzlis-yakusoku__item .bzlis-tokucho__item-ttl { font-size: clamp(18px, 1.8vw, 24px); line-height: 1.35; margin: 8px 0 6px; font-weight: 800; }
.bzlis-yakusoku__item .bzlis-tokucho__item-box { padding: 26px; box-shadow: 0 6px 16px rgba(0,0,0,.06); }
/* 互いに重ならないよう、各カードを独立したスタッキングコンテキストに */
.bzlis-yakusoku__content { align-items: start; }
.bzlis-yakusoku__item { position: relative; isolation: isolate; }
.bzlis-yakusoku__item .bzlis-tokucho__item-box { position: relative; z-index: 0; }
.bzlis-yakusoku__item > p { position: relative; z-index: 0; margin-top: 10px; }
/* 行の高さが異なる場合でもカードが干渉しないように最小高を確保 */
.bzlis-yakusoku__item .bzlis-tokucho__item-box { min-height: 260px; }
@media (max-width: 767px) {
  .bzlis-yakusoku__item .bzlis-tokucho__item-pic img { max-width: 180px; }
  .bzlis-yakusoku__item .bzlis-tokucho__item-ttl { font-size: 20px; }
  .bzlis-yakusoku__item .bzlis-tokucho__item-box { min-height: unset; }
}

/* Yakusoku layout hardening: prevent overflow/overlap regardless of upstream CSS */
.bzlis-tokucho__content.bzlis-yakusoku__content > .bzlis-tokucho__item.bzlis-yakusoku__item { min-width: 0; overflow: hidden; box-sizing: border-box; }
.bzlis-yakusoku__item-ttl,
.bzlis-yakusoku__item > p { overflow-wrap: anywhere; word-break: break-word; }

/* Yakusoku cards: limit width so they don't visually collide with neighbors */
.bzlis-yakusoku__item {
  width: 100%;
  max-width: 360px;
  justify-self: center;
  box-sizing: border-box;
}
.bzlis-yakusoku__item > p {
  max-width: 360px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .bzlis-yakusoku__item,
  .bzlis-yakusoku__item > p { max-width: 100%; }
}

/* Yakusoku → LP promotion block */
.bzlis-yakusoku__sarani { text-align: center; font-weight: 800; font-size: 26px; letter-spacing: .08em; margin: 40px 0 12px; }
.bzlis-yakusoku__lp { max-width: 1180px; margin: 0 auto; padding: 12px 24px 0; display: grid; grid-template-columns: 640px 600px; gap: 36px; align-items: end; justify-content: center; position: relative; z-index: 10; }
.bzlis-yakusoku__lp-ttl { margin: 0 0 12px; text-align: center; grid-column: 1 / -1; width: 100%; position: relative; left: 0; transform: none; }
.bzlis-yakusoku__lp-ttl picture img { display: block; margin: 0 auto; height: auto; max-width: 860px; width: 100%; }
/* Step section */
.bzlis-step { background: var(--xb-yellow); padding: 48px 0; }
.bzlis-step__inner { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.bzlis-step__heading { text-align: center; margin-bottom: 18px; }
.bzlis-step__content { display: grid; gap: 18px; }
.bzlis-step__item { position: relative; background: #fff; border-radius: 16px; box-shadow: 0 8px 24px rgba(0,0,0,.08); display: grid; grid-template-columns: 180px 1fr; align-items: center; padding: 16px 18px; }
.bzlis-step__item-label { position: absolute; left: 10px; top: -26px; }
.bzlis-step__item-label img { height: 70px; width: auto; }
.bzlis-step__item-pic picture img { width: 160px; height: 160px; object-fit: cover; border-radius: 50%; }
.bzlis-step__item-heading { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; margin-bottom: 6px; }
.bzlis-step__item-ttl { margin: 0; font-size: 20px; font-weight: 800; }
.bzlis-step__item-free { background: #ff4f8b; color: #fff; border-radius: 999px; padding: 3px 10px; font-weight: 700; font-size: 12px; }
.bzlis-step__arrow { display: flex; justify-content: center; }
.bzlis-step__arrow img { width: 22px; height: auto; opacity: .85; }

@media (max-width: 767px) {
  .bzlis-step__item { grid-template-columns: 110px 1fr; padding: 12px; }
  .bzlis-step__item-label { left: 8px; top: -22px; }
  .bzlis-step__item-label img { height: 58px; }
  .bzlis-step__item-pic picture img { width: 100px; height: 100px; }
  .bzlis-step__item-ttl { font-size: 18px; }
}

/* QA section */
.bzlis-qa { background: #fff; padding: 48px 0; }
.bzlis-qa__inner { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.bzlis-qa__heading { text-align: center; margin: 0 0 18px; font-weight: 800; }
.bzlis-qa__content { display: grid; gap: 16px; }
.bzlis-qa__item { background: var(--xb-yellow); border-radius: 8px; padding: 16px; }
.bzlis-qa__item-ttl { display: flex; align-items: center; gap: 10px; margin: 0; padding: 8px 6px 10px; border-bottom: 2px solid #111; font-size: 18px; font-weight: 800; }
.bzlis-qa__item-ttl span { display: inline-block; }
.bzlis-qa__item-icon { width: 28px; height: 28px; object-fit: contain; }
.bzlis-qa__item-body { display: flex; gap: 10px; align-items: flex-start; padding: 8px 6px 0; }
.bzlis-qa__item-body p { margin: 0; line-height: 1.9; }

@media (max-width: 767px) {
  .bzlis-cta__btn .bzlis__btn { font-size: 18px; padding: 14px 20px; border-radius: 8px; }
  .bzlis-cta__btn .bzlis__btn img { width: 24px; }
  .bzlis-qa { padding: 32px 0; }
  .bzlis-qa__item-ttl { font-size: 16px; }
}
.bzlis-yakusoku__lp-content { display: contents; }
.bzlis-yakusoku__lp-body { max-width: 640px; }
.bzlis-yakusoku__lp-body-baloon { margin: 0 0 8px; }
.bzlis-yakusoku__lp-body-baloon img { width: 190px; height: auto; }
.bzlis-yakusoku__lp-body-ttl { font-size: 32px; line-height: 1.55; margin: 8px 0 14px; }
.bzlis-yakusoku__lp-body p { margin: 0 0 14px; color: #333; font-size: 17px; }
.bzlis-yakusoku__lp-body-gurahu img { max-width: 600px; width: 100%; height: auto; border: 1px solid #eee; border-radius: 8px; }
.bzlis-yakusoku__lp-pic { text-align: right; margin-top: -36px; align-self: end; }
.bzlis-yakusoku__lp-pic img { width: 100%; height: auto; max-width: 610px; filter: drop-shadow(0 14px 26px rgba(0,0,0,.16)); }
/* SP専用の実績例（本文直下）をデフォルト非表示 */
.bzlis-yakusoku__lp-pic--sp { display: none; }
/* スマホで重なり/はみ出しを防ぐための明示 */
.bzlis-yakusoku__lp-body { position: relative; z-index: 100; color: #111; }
.bzlis-yakusoku__lp-body-ttl,
.bzlis-yakusoku__lp-body p,
.bzlis-yakusoku__lp-body-gurahu { position: relative; z-index: 101; }
.bzlis-yakusoku__lp-pic { position: relative; z-index: 1; }

@media (max-width: 1024px) {
  .bzlis-yakusoku__lp { grid-template-columns: 1fr 480px; gap: 28px; }
  /* タブレット幅でも順序をSPと同様に（右側のPC用画像を隠し、本文直下のSP用を表示） */
  .bzlis-yakusoku__lp .bzlis-yakusoku__lp-pic:not(.bzlis-yakusoku__lp-pic--sp) { display: none; }
  .bzlis-yakusoku__lp-pic--sp { display: block; }
  /* iPad Safari 等の display: contents 不具合回避 */
  .bzlis-yakusoku__lp-content { display: block; }
}

@media (max-width: 767px) {
  .bzlis-tokucho { position: relative !important; z-index: 7000 !important; }
  .bzlis-yakusoku__lp { grid-template-columns: 1fr; padding: 0 16px; justify-items: center; }
  .bzlis-yakusoku__lp-pic { text-align: center; }
  .bzlis-yakusoku__lp-body-ttl { font-size: 22px; }
  .bzlis-yakusoku__lp-body-baloon img { width: 150px; }
  /* PC用右側画像はSPで隠す */
  .bzlis-yakusoku__lp .bzlis-yakusoku__lp-pic:not(.bzlis-yakusoku__lp-pic--sp) { display: none; }
  /* SP専用ブロックを表示（本文直下） */
  .bzlis-yakusoku__lp-pic--sp { display: block; margin-top: 15px !important; }
  /* 画像が画面外に出ないようガード */
  .bzlis-yakusoku__lp-body-gurahu { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .bzlis-yakusoku__lp-body-gurahu picture { display: block; max-width: 100%; }
  .bzlis-yakusoku__lp-body-gurahu img { display: block; width: 100%; height: auto; max-width: 600px; }
  /* セクション全体を最前面に */
  .bzlis-yakusoku__lp { z-index: 1000; }
  .bzlis-yakusoku__lp-body,
  .bzlis-yakusoku__lp-body-ttl,
  .bzlis-yakusoku__lp-body p,
  .bzlis-yakusoku__lp-body-gurahu { z-index: 1001; }
  /* 強制的に可視化（他CSSのdisplay:noneや透明化対策） */
  .bzlis-yakusoku__lp,
  .bzlis-yakusoku__lp-content,
  .bzlis-yakusoku__lp-body,
  .bzlis-yakusoku__lp-body-ttl,
  .bzlis-yakusoku__lp-body p,
  .bzlis-yakusoku__lp-body-gurahu { display: block !important; visibility: visible !important; opacity: 1 !important; }
  /* 文字色を明示（白指定の上書き） */
  .bzlis-yakusoku__lp-body-ttl,
  .bzlis-yakusoku__lp-body-ttl span,
  .bzlis-yakusoku__lp-body-ttl em,
  .bzlis-yakusoku__lp-body p { color: #111 !important; }
}

/* ======= 追加: スマホ時 FVの縦余白をさらに上に詰める ======= */
@media (max-width: 767px) {
  /* 旧FV画像系のSP微調整を無効化 */
  /* .bzlis-fv__overlay-inner { gap: 0 !important; } */
  /* .bzlis-fv__img.-right { margin-top: 0 !important; } */
  /* .bzlis-fv__img.-left { margin-top: 0 !important; } */
  /* .bzlis-fv__img { ... } */
}

/* ======= 追加: スマホ時 FVの相談ボタンを小さく＆中央揃え ======= */
@media (max-width: 767px) {
  /* コンテナをフル幅に */
  .bzlis-fv__cta-btn { justify-self: stretch !important; text-align: center !important; }
  /* ボタンを従来のフル幅サイズ感に復帰 */
  .bzlis .bzlis-fv__cta-btn .bzlis__btn {
    font-size: clamp(16px, 4.6vw, 20px) !important;
    padding: clamp(12px, 3.8vw, 16px) clamp(16px, 6vw, 24px) !important;
    width: calc(100% - 24px) !important;
    max-width: 420px !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
    margin-top: 6px !important;
    margin-bottom: 6px !important;
    white-space: normal !important;
    word-break: keep-all !important;
  }
  /* アイコンも少し小さく */
  .bzlis .bzlis-fv__cta-btn .bzlis__btn img { width: 28px !important; }
}

/* ===== ユーザー提案のスマホ最適化: 高さと間隔の明示上書き ===== */
@media (max-width: 767px) {
  /* 旧FV高さ・画像指定を無効化 */
  /* .bzlis-fv { min-height: auto !important; } */
  /* .bzlis-fv__cta-btn { margin-top: 16px !important; } */
  /* .bzlis-fv__img { ... } */
}

/* ===== SP: FV画像が過大にならないように安全上限を設定（他CSS干渉対策） ===== */
@media (max-width: 767px) {
  /* .bzlis-fv__img { ... } 無効化 */
  /* .bzlis-fv__img.-left { ... } 無効化 */
  /* .bzlis-fv__img.-right { ... } 無効化 */
}

/* ===== SP時に消える不具合対策（iOS Safariの display: contents バグ回避） ===== */
@media (max-width: 767px) {
  /* ラッパーを通常ブロックにして子要素を確実に描画 */
  .bzlis-yakusoku__lp-content { display: block; }
  /* アニメ用クラスが未初期化でも見えるように強制表示 */
  .js-scroll { opacity: 1 !important; transform: none !important; filter: none !important; }
  /* 画像の描画を明示 */
  .bzlis-yakusoku__lp-body-gurahu picture,
  .bzlis-yakusoku__lp-body-gurahu img { display: block; }
}

/* CTA */
.bzlis-cta { display: flex; flex-direction: column; gap: 10px; align-items: center; justify-content: center; margin: 36px auto 20px; max-width: 1180px; padding: 0; border: 0; border-radius: 0; background: transparent; }
/* CTAボタン（横並び2つ） */
.bzlis-cta__btn { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; justify-content: center; width: 100%; }
.bzlis-cta__btn .bzlis__btn { font-size: 22px; padding: 16px 28px; border-radius: 10px; line-height: 1; }
.bzlis-cta__btn .bzlis__btn img { width: 26px; transform: translateY(0); }
/* 色バリエーション */
.bzlis__btn.-line { background: #06C755; box-shadow: 0 4px 10px rgba(6,199,85,.25); }
.bzlis__btn.-mail { background: #06a0be; }
.bzlis-tokucho .bzlis-cta { max-width: 1180px; margin: 36px auto 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.bzlis-tokucho .bzlis-cta__tel img { max-width: 520px; width: 100%; height: auto; }
.bzlis-tokucho .bzlis-cta__btn .bzlis__btn { font-size: 22px; padding: 18px 36px; border-radius: 10px; }
.bzlis-tokucho .bzlis-cta__btn .bzlis__btn img { width: 28px; transform: translateY(0); }
.bzlis-plan .bzlis-cta { max-width: 1180px; margin: 18px auto 0; padding: 0; border: 0; border-radius: 0; background: transparent; justify-content: center; }
.bzlis-plan .bzlis-cta__tel img { max-width: 460px; width: 100%; }
.bzlis-plan .bzlis-cta__btn .bzlis__btn { font-size: 22px; padding: 18px 36px; border-radius: 10px; }
.bzlis__btn { display: inline-flex; align-items: center; gap: 10px; background: #06a0be; color: #fff; border-radius: 6px; padding: 14px 22px; text-decoration: none; font-weight: 700; transition: .2s; box-shadow: 0 4px 10px rgba(6,160,190,.25); }
.bzlis__btn:hover { filter: brightness(.95); transform: translateY(-1px); }
.bzlis__btn img { width: 20px; height: auto; }
.bzlis-cta__tel img, .bzlis-fv__body-tel img { max-width: 460px; width: 100%; }

/* --- Trial Button (yellow pill) --- */
.bzlis__btn.-trial {
  background: linear-gradient(180deg, #ffe100 0%, #ffbf00 100%) !important;
  color: #111 !important;
  border-radius: 9999px !important;
  padding: 14px 26px !important;
  font-weight: 900 !important;
  letter-spacing: .02em;
  box-shadow: 0 10px 24px rgba(255,170,0,.35), 0 2px 0 rgba(255,255,255,.65) inset !important;
  border: none !important;
  gap: 0 !important;
  white-space: nowrap !important;
}
.bzlis__btn.-trial:hover { filter: brightness(.98) !important; transform: translateY(-1px) !important; }

/* Icon circle with chevron */
.c-trial-icon { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; flex: 0 0 auto; background: radial-gradient(circle at 35% 30%, #fff 0%, #ffe680 45%, #f9b300 100%); box-shadow: inset 0 2px 3px rgba(255,255,255,.6), 0 1px 2px rgba(0,0,0,.2); }
.c-trial-icon::after { content: "›"; font-weight: 900; font-size: 18px; line-height: 1; transform: translateX(1px); color: #111; }

/* アイコンをテキスト矢印に置き換えてズレを解消（ボタン内のみ上書き） */
.bzlis__btn.-trial .c-trial-icon { display: inline-block !important; width: auto !important; height: auto !important; background: none !important; box-shadow: none !important; border: 0 !important; font-weight: 900; font-size: 1.1em; line-height: 1; margin-right: 0; vertical-align: middle; transform: none !important; }
.bzlis__btn.-trial .c-trial-icon::before { content: "▶"; color: #111; }
.bzlis__btn.-trial .c-trial-icon::after { content: none !important; }

@media (max-width: 767px) {
  .bzlis__btn.-trial { font-size: 20px !important; padding: 14px 24px !important; }
  .c-trial-icon { width: 24px; height: 24px; }
}
@media (min-width: 1024px) {
  .bzlis__btn.-trial { font-size: 22px !important; padding: 16px 26px !important; }
  .c-trial-icon { width: 26px; height: 26px; }
}

/* タップ領域・可読性の最小値確保 */
@media (max-width: 767px) {
  .bzlis__btn { min-height: 48px; padding: 16px 18px; font-size: 18px; }
  input, textarea, select, button { font-size: 16px; }
}

/* 他CSSの干渉を抑えるためのやや強い指定（必要最低限のみ） */
.bzlis .bzlis-cta { justify-content: center !important; max-width: 1180px !important; margin: 36px auto 20px !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; }
.bzlis-cta__tel picture { display: block; }
.bzlis-cta__tel img { display: block; height: auto; }

/* CTA（リッチ版）：電話とボタンを5.5:4.5でレイアウト */
.bzlis-cta.-rich { display: grid; grid-template-columns: 1fr; align-items: center; justify-items: center; gap: 8px; }
.bzlis-cta.-rich .bzlis-cta__btn { justify-content: center; justify-self: stretch; width: 100%; }
/* 電話画像を少し大きく */
.bzlis-tokucho .bzlis-cta__tel img { max-width: 700px; width: 100%; }
/* リッチCTAの整列とみちみち調整 */
.bzlis-cta.-rich .bzlis-cta__tel { justify-self: end; text-align: right; width: auto; }
/* グローバルの max-width:460px を上書き */
.bzlis-cta.-rich .bzlis-cta__tel img { max-width: 100% !important; width: 100%; height: auto; }
.bzlis-cta.-rich .bzlis-cta__btn .bzlis__btn { width: 100% !important; font-size: clamp(20px, 2.2vw, 28px); padding: clamp(16px, 1.6vw, 22px) clamp(24px, 3vw, 40px); border-radius: 9999px; justify-content: center; gap: 12px; }
/* CTA上部のリード文（＼ 〜 ／） */
.bzlis-cta__lead { font-weight: 800; color: #111; letter-spacing: .06em; opacity: .95; display: flex; align-items: center; gap: 10px; }
.bzlis-cta__lead .bzlead-slash { opacity: .38; }
.bzlis-cta__lead .bzlead-text { display: inline-block; }
/* SP: スラッシュ非表示・文字大きく（中央揃え） */
@media (max-width: 767px) {
  .bzlis-cta__lead { justify-content: center; font-size: 18px; text-align: center; }
  .bzlis-cta__lead .bzlead-slash { display: none; }
  .bzlis-cta__lead .bzlead-text { font-size: 20px; font-weight: 900; }
  /* CTA全体の中央寄せ */
  .bzlis-cta.-rich { grid-template-columns: 1fr; }
  .bzlis-cta.-rich .bzlis-cta__tel { justify-self: center; text-align: center; }
}
/* PC: リード文を大きく（中央）＋スラッシュ表示、ボタンとの間隔は約5px */
@media (min-width: 1024px) {
  .bzlis-cta__lead { font-size: clamp(24px, 3.2vw, 32px); margin-bottom: 0; text-align: center; justify-content: center; }
  .bzlis-cta__lead .bzlead-slash { display: inline; }
  .bzlis-cta.-rich { grid-template-columns: 1fr; gap: 8px; justify-items: center; }
  .bzlis-cta.-rich .bzlis-cta__tel { justify-self: center; text-align: center; }
  .bzlis__btn.-trial { font-size: 24px !important; padding: 16px 32px !important; }
}
/* テキストをボタン中央に（アイコン分の幅に影響されないように） */
.bzlis-cta.-rich .bzlis-cta__btn .bzlis__btn span { flex: 1 1 auto; text-align: center; }
.bzlis-cta.-rich .bzlis-cta__btn .bzlis__btn img { width: 36px; height: auto; }
/* CTAボタン左右マージン（横幅100%指定時のはみ出し防止も考慮） */
.bzlis-cta.-rich .bzlis-cta__btn .bzlis__btn { margin-left: 12px; margin-right: 12px; width: calc(100% - 24px) !important; }
/* アイコンをテキストの横に配置（spanの拡張を解除して並列中央寄せ） */
.bzlis-cta.-rich .bzlis-cta__btn .bzlis__btn span { flex: 0 0 auto; text-align: left; }

/* 左側（bzlis-cta__tel）にボタンを置いた場合も右側と同じサイズ/余白に揃える */
.bzlis-cta.-rich .bzlis-cta__tel .bzlis__btn {
  width: 100% !important;
  font-size: clamp(20px, 2.2vw, 28px);
  padding: clamp(16px, 1.6vw, 22px) clamp(24px, 3vw, 40px);
  border-radius: 12px;
  justify-content: center;
  gap: 12px;
  margin-left: 12px;
  margin-right: 12px;
  width: calc(100% - 24px) !important;
}
.bzlis-cta.-rich .bzlis-cta__tel .bzlis__btn img { width: 36px; height: auto; }
.bzlis-cta.-rich .bzlis-cta__tel .bzlis__btn span { flex: 0 0 auto; text-align: left; }

@media (min-width: 768px) {
  /* PC/タブレットでは左側ボタンも自動幅にして最大幅を制限 */
  .bzlis-cta.-rich .bzlis-cta__tel .bzlis__btn {
    width: auto !important;
    max-width: 400px;
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* 画像の電話CTAをテキスト版に置換したスタイル */
.bzlis-cta__tel.-text .c-telcard { display: block; text-decoration: none; color: #111; background: #fff; border: 2px solid #111; border-radius: 10px; padding: 10px 12px; box-shadow: 0 2px 0 rgba(0,0,0,.08) inset; }
.c-telcard__label { display: inline-block; background: #111; color: #fff; border-radius: 6px; padding: 4px 10px; font-size: 12px; letter-spacing: .06em; margin-bottom: 6px; }
.c-telcard__number { font-weight: 900; font-size: clamp(20px, 2.6vw, 28px); letter-spacing: .12em; }
.c-telcard__hours { font-size: 12px; color: #333; margin-top: 6px; }

@media (max-width: 767px) {
  .bzlis-cta__tel.-text .c-telcard { padding: 8px 10px; }
  .c-telcard__number { font-size: 20px; }
}

/* 電話のみのCTAを中央揃え（メールボタンなしのケース） */
.bzlis-cta.-rich > .bzlis-cta__tel:only-child { grid-column: 1 / -1; justify-self: center; text-align: center; width: 100%; }
.bzlis-cta.-rich > .bzlis-cta__tel:only-child img { display: block; margin: 0 auto; width: auto !important; max-width: 640px !important; }
/* FV内CTAボタンにも左右マージンを付与 */
.bzlis-fv__cta-btn .bzlis__btn { margin-left: 12px; margin-right: 12px; }
@media (max-width: 767px) {
  /* SP時、FVボタンは幅100%指定があるためcalcで内側余白分を差し引く */
  .bzlis-fv__cta-btn .bzlis__btn { width: calc(100% - 24px); }
}
/* PC時は相談ボタン(リッチCTA)の横幅を自動にして少し狭める */
@media (min-width: 768px) {
  .bzlis-cta.-rich .bzlis-cta__btn .bzlis__btn { width: auto !important; max-width: 400px; padding-left: 20px; padding-right: 20px; }
}
/* PC時は電話ブロックを内容幅にし、右端へ寄せる */
@media (min-width: 768px) {
  .bzlis-cta.-rich .bzlis-cta__tel { justify-self: start; width: auto; text-align: left; }
  .bzlis-cta.-rich .bzlis-cta__tel img { width: auto !important; max-width: 560px !important; display: block; margin-left: 24px; margin-right: 0; }
}
/* 電話ボタンをわずかに大きく、枠も少し大きく */
@media (min-width: 768px) {
  .bzlis .bzlis-cta.-rich { padding: 20px !important; border-width: 3px !important; border-radius: 12px !important; }
  .bzlis .bzlis-cta.-rich .bzlis-cta__tel img { max-width: 640px !important; }
}
@media (max-width: 767px) {
  .bzlis-cta.-rich { grid-template-columns: 1fr; }
  .bzlis-cta.-rich .bzlis-cta__btn { justify-content: center; }
}

/* CTA: 電話画像の左右マージンを均等に（中央揃え） */
.bzlis-cta.-rich .bzlis-cta__tel { text-align: center !important; }
.bzlis-cta.-rich .bzlis-cta__tel img { display: block; margin-left: auto !important; margin-right: auto !important; }

@media (min-width: 768px) {
  .bzlis-cta.-rich .bzlis-cta__tel { justify-self: stretch !important; width: 100% !important; text-align: center !important; }
  .bzlis-cta.-rich .bzlis-cta__tel img { width: auto !important; max-width: 640px !important; margin-left: auto !important; margin-right: auto !important; }
}

/* PC: CTAを1カラム（テキスト→ボタン）で左揃えに統一、スラッシュは非表示、改行なし */
@media (min-width: 1025px) {
  .bzlis-cta.-rich {
    grid-template-columns: 1fr !important;
    align-items: center !important;
    justify-items: start !important;
    gap: 8px !important;
  }
  .bzlis-cta.-rich .bzlis-cta__btn,
  .bzlis-cta.-rich .bzlis-cta__tel {
    justify-content: flex-start !important;
    justify-self: start !important;
    width: auto !important;
    text-align: left !important;
  }
  .bzlis-cta.-rich .bzlis-cta__btn .bzlis__btn {
    width: auto !important;
    max-width: none !important;
  }
  .bzlis-cta__lead { text-align: left !important; justify-content: flex-start !important; white-space: nowrap !important; }
  .bzlis-cta__lead .bzlead-slash { display: none !important; }
}

/* SP: 問い合わせセクションの電話画像が枠からはみ出さないように調整 */
@media (max-width: 767px) {
  .bzlis-contact .bzlis-cta.-rich > .bzlis-cta__tel:only-child img,
  .bzlis-cta.-rich > .bzlis-cta__tel:only-child img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
}

/* Contact form */
.bzlis-contact { background: transparent !important; position: relative; z-index: 0; }
/* 上端に黄色帯を少しかぶせて、見出しのはみ出しを視覚的に隠す */
.bzlis-contact::before { content: ""; position: absolute; left: 0; right: 0; top: 100px; bottom: 0; background: var(--xb-yellow); z-index: -1; pointer-events: none; }
/* 見出しの上余白を少し増やして安全マージンを確保 */
.bzlis-contact .bzlis-bk-heading { padding-top: clamp(40px, 6vw, 72px) !important; padding-bottom: 12px !important; z-index: 2; overflow: hidden !important; margin-top: 0 !important; margin-bottom: 6px !important; }
/* 見出し内の白ラベルを少し下げる */
.bzlis-contact .bzlis-bk-heading .bzlis-bk-heading__txt { margin-top: 16px !important; transform: none !important; }
.bzlis-contact .bzlis-cta { margin: 6px auto 12px !important; }
/* 問い合わせ直前のCTAを常に中央揃え（他のSP用レイアウト指定を上書き） */
.bzlis-contact .bzlis-cta__btn { justify-content: center !important; }
.bzlis-contact .bzlis-cta__btn a { flex: 0 0 auto !important; width: auto !important; }
@media (max-width: 767px) {
  .bzlis-contact .bzlis-bk-heading { padding-bottom: 8px !important; margin-bottom: 4px !important; }
  .bzlis-contact .bzlis-cta { margin: 6px auto 10px !important; }
}
.bzlis-contact__form { max-width: 860px; margin: 0 auto; background: #fff; border: 1px solid #e9e9e9; border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,.08); overflow: hidden; }
.bzlis-contact__form-ttl { background: var(--xb-cyan); color: #fff; text-align: center; font-weight: 800; letter-spacing: .06em; padding: 16px; margin: 0; }
.bzlis-contact__form-content { padding: 18px; }
.bzlis-contact__form-content-sup ol { margin: 0 0 18px; padding: 12px 16px 12px 32px; background: #f7f7f7; border: 1px solid #efefef; border-radius: 8px; color: #666; font-size: 13px; line-height: 1.8; }
.c-contact-form { margin-top: 6px; }
.c-contact-form__item { margin-bottom: 16px; }
.c-contact-form__label { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.c-contact-form__label-txt { font-weight: 700; }
.c-contact-form__label-required,
.c-contact-form__label-nini { display: inline-block; font-size: 11px; line-height: 1; padding: 4px 7px; border-radius: 999px; }
.c-contact-form__label-required { background: #ff4f4f; color: #fff; }
.c-contact-form__label-nini { background: #ddd; color: #333; }
.c-contact-form__input input,
.c-contact-form__input textarea { width: 100%; border: 1px solid #ddd; padding: 12px; border-radius: 6px; font-size: 14px; background: #fff; transition: box-shadow .15s ease, border-color .15s ease; }
.c-contact-form__input input:focus,
.c-contact-form__input textarea:focus { outline: none; border-color: var(--xb-cyan); box-shadow: 0 0 0 3px rgba(11,187,217,.15); }
.c-contact-form__input textarea { min-height: 180px; resize: vertical; }
.c-contact-form__checkbox .wpcf7-list-item { display: inline-flex; align-items: center; margin: 0 14px 6px 0; }
.c-contact-form__checkbox input[type="checkbox"] { accent-color: var(--xb-cyan); }
.c-contact-form__checkbox.-groupbox { background: #fffdf5; border: 1px solid #efe2c8; border-radius: 12px; padding: 10px 12px; box-shadow: 0 2px 10px rgba(0,0,0,.03) inset; }
.c-contact-form__submit { text-align: center; margin-top: 8px; }
.c-contact-form__submit input[type="submit"] { background: var(--xb-orange); color: #fff; border: none; border-radius: 8px; padding: 16px 28px; font-weight: 800; cursor: pointer; box-shadow: 0 6px 14px rgba(255,107,0,.28); letter-spacing: .04em; }
.c-contact-form__submit input[type="submit"]:hover { filter: brightness(.98); transform: translateY(-1px); }
.wpcf7-response-output { margin-top: 12px; border-radius: 8px; }
/* EFO: ヒントとエラー視認性 */
.c-contact-form__hint { margin-top: 6px; font-size: 12px; color: #666; }
.wpcf7-not-valid { border-color: #ff4f4f !important; box-shadow: 0 0 0 3px rgba(255,79,79,.15) !important; }
.wpcf7-form-control[aria-invalid="true"] { border-color: #ff4f4f; }
.wpcf7 form.submitting .c-contact-form__submit input[type="submit"] { opacity: .7; pointer-events: none; }
/* 2-step form */
.u-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,1px,1px); border: 0; }
.c-contact-form__progress { font-size: 13px; color: #666; margin-bottom: 8px; }
.c-contact-form__step { display: none; }
.c-contact-form__step.is-active { display: block; }
.c-contact-form__nav { display: flex; justify-content: space-between; gap: 10px; margin-top: 8px; }
.c-contact-form__btn { appearance: none; -webkit-appearance: none; background: #111; color: #fff; border: none; border-radius: 8px; padding: 12px 18px; font-weight: 800; cursor: pointer; }
.c-contact-form__btn.-next { background: var(--xb-cyan); }
.c-contact-form__btn.-back { background: #999; }

/* Plan cards emphasis */
.bzlis-plan__item { border: 1px solid #f0f0f0; padding: 20px; }
.bzlis-plan__item-ttl { font-size: 20px; font-weight: 700; text-align: center; margin: 8px 0 12px; }
.bzlis-plan__item-plan { background: #fafafa; border-radius: 8px; padding: 12px; }

/* Plan section visual styling */
.bzlis-plan__body-inner { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.bzlis-plan__content { gap: 32px; align-items: stretch; }
/* Card base */
.bzlis-plan__item { position: relative; background: #fff; border: 6px solid #ff4f8b; border-radius: 16px; padding: 18px 18px 24px; overflow: visible; box-shadow: 0 8px 20px rgba(0,0,0,.08); }
/* remove previous strap/badges if any */
.bzlis-plan__item::before, .bzlis-plan__item::after { content: none !important; display: none !important; }
.bzlis-plan__item-label { position: absolute; left: 0; top: -52px; z-index: 4; display: block; }
.bzlis-plan__item-label img { height: 100px; width: auto; display: block; transform: translateX(-10px); }
.bzlis-plan__item { padding-top: 38px; }
.bzlis-plan__item-ttl { color: #fff; text-align: center; margin: -38px -18px 12px; font-size: 22px; font-weight: 800; letter-spacing: .02em; background: #ff4f8b; padding: 18px 16px; border-radius: 10px 10px 0 0; }
.bzlis-plan__item-body { padding: 0 8px 4px; }
.bzlis-plan__item-sub-ttl { text-align: center; margin: 0 0 8px; font-size: 18px; line-height: 1.3; }
.bzlis-plan__item-sub-ttl em { font-size: 34px; font-weight: 900; }
.bzlis-plan__item-pic { text-align: center; margin: 6px 0 10px; }
.bzlis-plan__item-pic img { width: 180px; height: auto; }
/* ラベル画像を上に重ねても切れないように可視に */
.bzlis-plan__item { overflow: visible; }
/* Plan panels */
.bzlis-plan__item-plan { background: #f7f7f7; border: 1px solid #e5e5e5; border-radius: 12px; margin-top: 12px; padding: 14px; box-shadow: 0 2px 6px rgba(0,0,0,.03) inset; }
.bzlis-plan__item-plan-ttl { text-align: center; margin: 0 0 10px; font-size: 16px; font-weight: 800; color: #333; letter-spacing: .02em; }
.bzlis-plan__item-plan-price { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
/* 中央の仕切り線 */
.bzlis-plan__item-plan-price::before { content: ""; position: absolute; left: 50%; top: 10px; bottom: 10px; width: 1px; background: #e9e9e9; transform: translateX(-.5px); }
.bzlis-plan__item-plan-price-col { background: #fff; border-radius: 12px; padding: 14px 16px; text-align: center; font-weight: 900; border: 1px solid #efefef; line-height: 1.35; font-size: 24px; }
.bzlis-plan__item-plan-price-col span { display: block; font-size: 13px; color: #666; font-weight: 700; margin-bottom: 4px; }
/* 1カラム中央揃え（契約期間用） */
.bzlis-plan__item-plan-price.-single {
  grid-template-columns: 1fr;
}
.bzlis-plan__item-plan-price.-single::before { content: none; }

@media (max-width: 767px) {
  .bzlis-plan__item { padding: 42px 14px 20px; border-width: 6px; }
  .bzlis-plan__item-ttl { font-size: 20px; padding: 16px 14px; border-radius: 10px 10px 0 0; margin: -42px -14px 10px; }
  .bzlis-plan__item-label { left: 0; top: -40px; }
  .bzlis-plan__item-sub-ttl em { font-size: 28px; }
  .bzlis-plan__item-label img { height: 68px; }
  .bzlis-plan__item-label img[src$="lis_price-type-01.png"] { height: 84px; }
  .bzlis-plan__item-label img[src$="lis_price-type-02.png"] { height: 84px; }
  .bzlis-plan__content { gap: 16px; }
  .bzlis-plan__item-plan-ttl { font-size: 15px; }
  .bzlis-plan__item-plan-price-col { font-size: 20px; padding: 12px 14px; }
  .bzlis-plan__item-plan-price::before { top: 8px; bottom: 8px; }
}

/* 画像見出しが横にはみ出さないように幅を明示 */
.bzlis-bk-heading .bzlis-bk-heading__ttl picture,
.bzlis-bk-heading .bzlis-bk-heading__ttl img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}

/* 極小幅端末向けのレイアウト圧縮（iPhone SE等） */
@media (max-width: 375px) {
  .bzlis-bk-heading { padding: 14px 10px 18px; }
  .bzlis-bk-heading .bzlis-bk-heading__txt { font-size: 15px; padding: 10px 16px; }
  .bzlis-plan__body-inner { padding: 0 12px; }
  .bzlis-plan__item { padding: 36px 12px 16px; }
  .bzlis-plan__item-ttl { margin: -36px -12px 10px; }
  /* ラベルが画面外に出ないよう微調整 */
  .bzlis-plan__item-label { left: 6px; top: -32px; }
  .bzlis-plan__item-label img { height: 60px; transform: none; }
  .bzlis-plan__item-pic img { width: 150px; }
  .bzlis-plan__item-plan-price-col { font-size: 18px; padding: 10px 12px; }
}

/* Footer */
.footer { background: #000; color: #fff; }
.footer a { color: #fff; text-decoration: none; }

/* Footer (enhanced to match reference) */
.footer { background: #000; color: #fff; position: relative; }
.footer__inner { max-width: 1180px; margin: 0 auto; padding: 64px 24px 36px; text-align: center; }
.footer__logo { display: inline-flex; align-items: center; gap: 12px; margin: 0 auto 18px; }
.footer__logo img { width: clamp(120px, 14vw, 160px); height: auto; display: block; }
.footer__logo-txt { font-size: 12px; letter-spacing: .28em; opacity: .85; }
.footer__txt01 { margin: 18px 0 6px; font-size: clamp(18px, 2.4vw, 24px); font-weight: 800; letter-spacing: .06em; }
.footer__txt02 { margin: 0 0 22px; font-size: 14px; opacity: .9; }
.footer__contact { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; width: min(920px, 100%); margin: 0 auto 26px; }
.footer__contact-item { display: block; border: 1px solid var(--xb-yellow); color: var(--xb-yellow); border-radius: 4px; padding: 20px 16px; text-align: center; transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease; }
.footer__contact-item:hover { background: rgba(255,235,0,.08); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.25); }
.footer__contact-item-txt01 { font-weight: 800; font-size: clamp(22px, 3.2vw, 30px); letter-spacing: .08em; line-height: 1.2; }
.footer__contact-item-txt02 { margin-top: 6px; font-size: 12px; letter-spacing: .06em; }
.footer__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 22px; list-style: none; padding: 28px 0 0; margin: 16px 0 0; border-top: 1px solid rgba(255,255,255,.12); }
.footer__list a { color: #fff; font-size: 13px; opacity: .9; }
.footer__list a:hover { opacity: 1; text-decoration: underline; }
.footer__copyright { display: block; margin-top: 18px; opacity: .7; letter-spacing: .04em; }

@media (max-width: 767px) {
  .footer__inner { padding: 48px 16px 28px; }
  .footer__contact { grid-template-columns: 1fr; gap: 14px; }
  .footer__contact-item { padding: 18px 14px; }
}

/* Blog grid spacing */
.blog-list.blog-list--col3, .blog-list.blog-list--col4 { gap: 20px; }
.blog-item { border: 1px solid #eee; border-radius: 8px; overflow: hidden; background: #fff; }

/* Responsive tweaks */
@media (max-width: 767px) {
  .layout, .header__inner { width: 100%; box-shadow: none; padding: 14px 16px; }
  .bzlis-tokucho__content { grid-template-columns: 1fr; align-items: start; }
  .bzlis-jisseki__content, .bzlis-plan__content { grid-template-columns: 1fr; }
  .bzlis-bk-heading .bzlis-bk-heading__txt { font-size: 18px; }
  .bzlis-bk-heading { padding: 18px 12px; }
  .bzlis-logo { left: 12px; top: 10px; }
  /* 旧FVのSP再配置指定を無効化 */
  /* .bzlis-fv { padding: 0; } */
  /* .bzlis-fv__overlay-inner { ... } */
  /* .bzlis-fv__col.-left { ... } */
  /* .bzlis-fv__col.-right { ... } */
  /* .bzlis-fv__img.-left, .bzlis-fv__img.-right { ... } */
  /* .bzlis-fv__cta { ... } */
  .bzlis-fv__sub { font-size: 16px; }
  .bzlis-fv__tel { flex-direction: column; align-items: flex-start; gap: 6px; }
  .bzlis-fv__tel-no { font-size: 18px; }
  .bzlis-fv__inner { max-width: none; padding: 0 16px; flex-direction: column; align-items: stretch; gap: 20px; }
  .bzlis-fv__pic { order: 2; text-align: center; }
  .bzlis-fv__body { order: 1; }
  .bzlis-fv__scroll { display: none; }
  .bzlis-fv__body-txt img { max-width: 560px; }
  .bzlis-fv__body-tel img { max-width: 320px; }
  .bzlis-tokucho__inner { padding: 24px 16px; }
  /* CTA（汎用）：SP時は2カラムで等間隔 */
  .bzlis-cta { padding: 12px; }
  .bzlis-cta__btn { gap: 12px; }
  .bzlis-cta__btn a { flex: 1 1 calc(50% - 6px); justify-content: center; }
  .bzlis-tokucho .bzlis-cta { padding: 12px; gap: 12px; }
  .bzlis-tokucho .bzlis-cta__btn a { min-width: calc(50% - 8px); justify-content: center; }
  .bzlis-tokucho .bzlis-cta__btn .bzlis__btn { font-size: 18px; padding: 14px 20px; border-radius: 8px; }
  .bzlis-tokucho .bzlis-cta__btn .bzlis__btn img { width: 24px; transform: translateY(0); }
  .bzlis-plan .bzlis-cta { padding: 12px; gap: 12px; }
  .bzlis-plan .bzlis-cta__btn a { width: 100%; justify-content: center; }
  .bzlis-yakusoku__content { grid-template-columns: 1fr; }
  /* Plan: 上余白をさらに詰める（ゼロ） */
  .bzlis-plan { padding: 0 0 24px !important; }
  /* Plan: 見出し帯の上下パディングも最小化 */
  .bzlis-plan .bzlis-bk-heading { padding: 8px 8px !important; margin-bottom: 4px !important; }
  /* Plan本文（黄色帯）の上下余白をさらに圧縮 */
  .bzlis-plan__body { padding: 24px 0 24px !important; }
  /* 上セクション（実績）側の下余白も圧縮して境界を詰める */
  .bzlis-jisseki { padding-bottom: 24px !important; }
}

@media (max-width: 1024px) {
  .bzlis-fv { padding: 0; }
  .bzlis-fv__inner { gap: 28px; }
  .bzlis-fv__scroll { width: 120px; }
  .bzlis-jisseki__content { grid-template-columns: 1fr; }
}

/* ===== Hero CTA 強制上書き（PC・他スタイルより後に記述） ===== */
@media (min-width: 1024px) {
  .hero-section .bzlis-cta__btn .bzlis__btn {
    font-size: 30px !important;
    padding: 0.85em 1.6em !important; /* テキストに追従する余白 */
    border-radius: 0.9em !important;
    width: fit-content !important; /* テキスト幅に合わせる */
    min-width: unset !important;
    max-width: none !important;
    white-space: nowrap !important; /* 折り返し防止 */
    line-height: 1.1 !important;
  }
  .hero-section .bzlis-cta__btn .bzlis__btn img { width: 44px !important; }
}


/* ==========================================================================
   ▼▼▼【追記・修正はここから】新しいヒーローセsectionとカルーセルのための調整CSS ▼▼▼
   ========================================================================== */

/* ===== 基本的なリセット（保険） ===== */
.hero-section,
.hero-container,
.hero-content-left,
.hero-image-right,
.bzlis-logos {
    position: static;
    transform: none;
    min-height: 0;
    display: block; /* 一旦リセット */
}


/* ===== スマホ表示のスタイル (デフォルト) ===== */

/* --- ヒーローセクション --- */
.hero-section {
    background-color: var(--xb-yellow, #ffeb00);
    padding: 24px 16px;
}

.hero-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}

.hero-content-left,
.hero-image-right {
    width: 100%;
}

.hero-content-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px; /* FV左画像とCTAボタンの間の隙間 */
}

/* --- CTAボタン --- */
.bzlis-cta__btn {
    width: 100%;
    display: flex;
    justify-content: center;
}
.hero-section .bzlis__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--xb-cyan, #0bbbd9);
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    padding: 16px 24px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    width: 100%;
    max-width: 400px;
    box-shadow: 0 6px 16px rgba(11, 187, 217, 0.28);
    transition: transform 0.2s, filter 0.2s;
}
.hero-section .bzlis__btn:hover {
    filter: brightness(0.95);
    transform: translateY(-2px);
}
.hero-section .bzlis__btn img {
    width: 24px;
    height: auto;
}


/* --- ロゴカルーセル --- */
/* 元々のデザインを活かすため、マイナスマージンを調整して再適用 */
.bzlis-logos {
    margin-top: -6vw; /* 画面幅に応じて引き上げ量を調整 */
    padding-top: calc(6vw + 20px); /* 引き上げた分、内側の余白を増やす */
    position: relative; /* z-indexを効かせるため */
    z-index: 10;
}


/* ===== PC表示のスタイル (1024px以上) ===== */
@media (min-width: 1024px) {

    /* --- ヒーローセクション --- */
    .hero-section {
        padding: 60px 40px;
    }

    .hero-container {
        flex-direction: row;
        justify-content: center;
        align-items: center;
        max-width: 1280px;
        margin: 0 auto;
        gap: 40px;
    }

    .hero-content-left {
        flex: 0 0 45%;
        min-width: 0; /* flexアイテムのはみ出し防止 */
        align-items: flex-start; /* 左寄せ */
    }

    .hero-image-right {
        flex: 0 0 55%;
        min-width: 0; /* flexアイテムのはみ出し防止 */
    }

    /* --- PC用CTAボタン --- */
    .bzlis-cta__btn {
        justify-content: flex-start; /* 左寄せ */
    }
    .hero-section .bzlis__btn {
        width: auto; /* コンテンツに応じた幅に */
        font-size: 24px; /* PC用のサイズ */
        padding: 20px 48px;
    }
    .hero-section .bzlis__btn img {
        width: 32px;
    }

    /* --- ロゴカルーセル --- */
    /* PCでは引き上げ量を大きくする */
    .bzlis-logos {
        margin-top: -96px;
        padding-top: calc(96px + 30px);
    }
}

/* ========================================================================
   ▲▲▲【追記・修正はここまで】▲▲▲
   ======================================================================== */

/* (reverted) SP: 右画像とCTAボタンの上方向微調整は取り消し */

/* (reverted) SP: ロゴカルーセル位置調整は取り消し */
/* Naze section (why fixed price) */
.bzlis-naze { background: linear-gradient(180deg, #ffe600 0%, #ffeb00 60%, #fff176 100%); }
.bzlis-naze__inner { max-width: 1180px; margin: 0 auto; padding: 40px 24px; }
.bzlis-naze__heading { text-align: center; margin: 0 0 20px; line-height: 1.3; font-size: clamp(22px, 4.2vw, 42px); }
.bzlis-naze__heading em { font-size: clamp(40px, 6vw, 64px); font-weight: 800; }
.bzlis-naze__content { max-width: 980px; margin: 0 auto; display: grid; gap: 14px; }
.bzlis-naze__item { display: grid; grid-template-columns: 140px 1fr; align-items: stretch; height: auto; background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 12px rgba(0,0,0,.06); border: 1px solid #efefef; }
.bzlis-naze__item-num { background: #111; display: flex; align-items: center; justify-content: center; padding: 24px 12px; box-sizing: border-box; position: relative; }
.bzlis-naze__item-num::after { content: ""; position: absolute; right: -1px; top: 0; bottom: 0; width: 2px; background: #111; }
.bzlis-naze__item-num picture { display: block; width: 100%; max-width: 110px; margin: 0 auto; }
.bzlis-naze__item-num img { display: block; width: 100%; height: auto; object-fit: contain; margin: 0 auto; }
.bzlis-naze__item-num img { width: 72px; height: auto; }
.bzlis-naze__item-body { padding: 22px; display: flex; flex-direction: column; justify-content: center; gap: 10px; }
.bzlis-naze__item-ttl { margin: 0; font-weight: 700; font-size: 16px; position: relative; padding-bottom: 8px; }
.bzlis-naze__item-body p { margin: 0; font-size: 13px; line-height: 1.9; color: #222; }
/* underline for Naze item titles */
.bzlis-naze__item-ttl::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: #111; opacity: .3; }

@media (max-width: 767px) {
  .bzlis-naze__content { max-width: none; gap: 16px; }
  /* 見出しをSPでは少し小さめに調整 */
  .bzlis-naze__heading { font-size: clamp(18px, 5.6vw, 20px); line-height: 1.28; }
  .bzlis-naze__heading em { font-size: clamp(28px, 9vw, 36px); }
  /* 縦並びカード：上に黒帯（番号）、下に白カード本文 */
  .bzlis-naze__item { grid-template-columns: 1fr; border-radius: 14px; overflow: hidden; }
  .bzlis-naze__item-num { padding: 8px 8px; border-bottom: 2px solid #111; }
  .bzlis-naze__item-num::after { content: none; }
  .bzlis-naze__item-num picture { max-width: 100px; }
  .bzlis-naze__item-num img { width: 44px; }
  .bzlis-naze__item-body { padding: 14px 14px 16px; }
  .bzlis-naze__item-ttl { font-size: 14px; line-height: 1.55; padding-bottom: 6px; }
}

/* PC時：なぜ定額？セクションの文字を少し大きくして可読性を向上 */
@media (min-width: 1025px) {
  .bzlis-naze__item-ttl { font-size: 20px !important; line-height: 1.6; }
  .bzlis-naze__item-body p { font-size: 15px !important; }
}

/* ===== FV下 ロゴカルーセル ===== */
/* FVと同じ背景色で連続表示 */
.bzlis-logos { background: var(--xb-yellow, #ffeb00); padding: clamp(28px, 4vw, 64px) 0 0; position: relative; z-index: 0; }
@media (min-width: 1025px) {
  /* PC時の引き上げは新CSS側で管理（ここでは指定しない） */
}
.bzlis-logos__inner { max-width: none; width: 100%; margin: 0; padding: 0; position: relative; z-index: 3; }
/* 背景のmoji画像を横に流すカルーセル（回転を元に戻す） */
.bzlis-logos__bg { position: absolute; inset: 0; background: url("./KUCHIKOMI.webp") repeat-x center/contain; background-position: center center; opacity: 1; z-index: 1; pointer-events: none; animation: bzlogos-bg-move 90s linear infinite; }
@media (max-width: 767px) {
  .bzlis-logos__bg { animation-duration: 70s; }
}
/* .bzlis-logos__bg2 は不要になったため未使用 */
@keyframes bzlogos-bg-move { from { background-position-x: 0; } to { background-position-x: -2000px; } }
@keyframes bzlogos-bg2-move { from { background-position-x: 0; } to { background-position-x: -3000px; } }
#js-media-logos { width: 100%; }
#js-media-logos { visibility: visible !important; opacity: 1 !important; }
#js-media-logos-sp { width: 100%; }
#js-media-logos-sp { visibility: visible !important; opacity: 1 !important; }
#js-media-logos .splide__track { height: 64px; overflow: hidden; }
#js-media-logos .splide__list { display: flex; gap: 24px; align-items: center; will-change: transform; }
#js-media-logos .splide__list { transition-property: transform !important; transition-timing-function: linear !important; }
#js-media-logos .splide__slide { display: flex; align-items: center; justify-content: center; }
#js-media-logos .splide__slide img { height: clamp(34px, 4.2vw, 48px); width: auto; object-fit: contain; filter: drop-shadow(0 2px 4px rgba(0,0,0,.06)); }
@media (max-width: 767px) {
  #js-media-logos .splide__track { height: 52px; }
  #js-media-logos .splide__slide img { height: 34px; }
  /* SP: カルーセルをFVから少し下げる */
  .bzlis-logos.is-sp { margin-top: 0; }
}

/* SP専用: ロゴ位置は既定（0）に固定して高さのみ維持 */
@media (max-width: 767px) {
  .bzlis-logos.is-sp #js-media-logos-sp .splide__slide img { transform: translateY(-5px) !important; }
}

/* ===== 修正: SPのカルーセルをフロー上に固定配置（ブレ防止） ===== */
@media (max-width: 767px) {
  /* 旧：FV内にロゴを格納する指定は不要のため無効化 */
  /* .bzlis-fv__logos { grid-column: 1 / -1; order: 4; width: 100%; position: relative; z-index: 2; } */
  /* .bzlis-fv__logos .bzlis-logos { margin: 0 !important; padding: 6px 0 8px !important; transform: none !important; will-change: auto !important; position: relative; overflow: hidden; background-color: #fff24c; z-index: 0 !important; } */
  /* .bzlis-logos__bg { background-size: 120% auto !important; background-position: top center !important; top: 0 !important; height: 100% !important; } */
  /* .bzlis-logos__bg::after { content: ""; position: absolute; left: 0; right: 0; top: 56px; bottom: 0; background: #fff24c; pointer-events: none; } */
  /* .bzlis-fv { overflow: hidden; } */
  /* .bzlis-logos.-under-cta { margin: 0 !important; padding-top: 8px !important; padding-bottom: 12px !important; transform: none !important; } */
  /* .bzlis-fv + .bzlis-tokucho { padding-top: 20px !important; } */
}
@media (min-width: 768px) and (max-width: 1024px) {
  /* 位置を元に戻す（タブレットも-52px） + 内側余白を上下対称に（1.5倍縮小） */
  .bzlis-logos { margin-top: 0 !important; padding: 11px 0 !important; }
  .bzlis-logos::before {
    content: "";
    position: absolute; left: 0; right: 0; top: -27px; height: 27px;
    background: var(--xb-yellow, #ffeb00); z-index: 0;
  }
  .bzlis-logos::after {
    content: "";
    position: absolute; left: 0; right: 0; bottom: -27px; height: 27px;
    background: transparent; z-index: 0;
  }
}

/* ===== 追加: PC以外でカルーセルのロゴを少し大きく ===== */
@media (max-width: 1024px) {
  #js-media-logos .splide__track { height: 64px !important; }
  #js-media-logos .splide__slide img { height: 40px !important; }
}
@media (max-width: 767px) {
  #js-media-logos .splide__track { height: 56px !important; }
  #js-media-logos .splide__slide img { height: 38px !important; }
}

/* CSSフォールバック（Splide未マウント時） */
.bzlis-logos.-fallback #js-media-logos .splide__track { overflow: hidden; }
.bzlis-logos.-fallback #js-media-logos .splide__list { width: max-content; animation: bzlogos-marquee 54s linear infinite !important; }
@keyframes bzlogos-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ===== Graphs slider ===== */
.bzlis-teigaku__graphs .splide__track { overflow: hidden; }
.bzlis-teigaku__graphs .splide__slide picture,
.bzlis-teigaku__graphs .splide__slide img { display: block; width: 100%; height: auto; }
.bzlis-teigaku__graphs .splide__arrows .splide__arrow { background: rgba(0,0,0,.6); color: #fff; }
.bzlis-teigaku__graphs .splide__pagination__page.is-active { background: #111; }

/* 固定費セクション内 グラフ横スクロール（画像幅を広げて溢れさせる） */
.bzlis-teigaku__graphs-scroll { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; }
.bzlis-teigaku__graphs-scroll picture { display: block; }
.bzlis-teigaku__graphs-scroll img { display: block; width: auto; min-width: 0; max-width: 100%; }
@media (max-width: 1024px) {
  /* タブレットでの表示幅 */
  .bzlis-teigaku__graphs-scroll img { width: 700px !important; min-width: 700px !important; max-width: none !important; }
}
@media (max-width: 767px) {
  /* スマホでの表示幅 */
  .bzlis-teigaku__graphs-scroll img { width: 600px !important; min-width: 600px !important; max-width: none !important; }
}

/* ===== Lightbox ===== */
.c-lightbox { position: fixed; inset: 0; background: rgba(0,0,0,.8); display: none; align-items: center; justify-content: center; z-index: 9999; }
.c-lightbox.-open { display: flex; }
.c-lightbox__inner { max-width: 96vw; max-height: 96vh; padding: 0; }
.c-lightbox__inner img { display: block; max-width: 96vw; max-height: 96vh; width: auto; height: auto; margin: 0 auto; }
.u-no-scroll { overflow: hidden; }

/* ===== Mobile overflow hardening (without breaking PC layout) ===== */
/* ボックスサイズを境界内に収め、余白計算でのはみ出しを抑止 */
.layout *, .layout *::before, .layout *::after { box-sizing: border-box; }

/* よくはみ出す絶対配置パーツをSPでクリップ */
@media (max-width: 767px) {
  /* 問題解決バッジ */
  .bzlis-mondai__item-kaiketu { overflow: visible !important; }
  .bzlis-mondai__item-kaiketu-label { right: -25px; }

  /* プランラベルの左はみ出しを許容（切れ防止） */
  .bzlis-plan__item { overflow: visible !important; }
  .bzlis-plan__item-label img { transform: none; }

  /* 念のため主要ラッパーでの横はみ出しを遮断（意図的な横スクロールボックスは子要素側で維持） */
  html, body, .layout, main, .bzlis, .footer, .header { overflow-x: hidden !important; }

  /* 長文や内側グリッドの最小幅起因のはみ出し対策 */
  .bzlis [class*="__inner"],
  .bzlis [class*="__content"],
  .bzlis [class*="__body"],
  .bzlis [class*="__item"] { min-width: 0; }
}

/* タブレット幅でのグリッド縮退時のはみ出し防止（minmaxで0まで縮める） */
@media (max-width: 1024px) {
  .bzlis-yakusoku__lp { grid-template-columns: minmax(0, 1fr) 480px; }
  .bzlis-yakusoku__lp-body, .bzlis-yakusoku__lp-pic { min-width: 0; }
}

/* ===== バッジのレイヤーを最前面に固定 ===== */
/* 問題解決バッジ（黄色ボックス右上）を常に最前面へ */
.bzlis-mondai__item-kaiketu { position: relative; z-index: 8000; overflow: visible !important; }
.bzlis-mondai__item-kaiketu-label { position: absolute; z-index: 9000; }
/* プランのラベル（カード上部の帯）も最前面へ */
.bzlis-plan__item { position: relative; overflow: visible !important; }
.bzlis-plan__item-label { z-index: 9000; position: absolute; }
/* STEPラベル（丸いSTEP画像）も最前面へ */
.bzlis-step__item { position: relative; }
.bzlis-step__item-label { z-index: 9000; }
/* テキスト型の小バッジ（FV等に出る想定） */
.bzlis-badge { position: relative; z-index: 9000; }

/* ===== 小画面の可読性向上（フォントサイズ微増） ===== */
@media (max-width: 767px) {
  /* 問題点の本文テキストを少し大きく */
  .bzlis-mondai__item-mondai-txt { font-size: 16px !important; line-height: 2.0; }
  /* 解決ボックス内の説明も拡大 */
  .bzlis-mondai__item-kaiketu p { font-size: 15px !important; }
  /* 特徴カードの本文を拡大 */
  .bzlis-tokucho__item > p { font-size: 16px !important; }
  /* 定額セクション内の説明テキストを拡大 */
  .bzlis-teigaku__otoku-txt { font-size: 15px !important; }
  /* QA本文をわずかに拡大 */
  .bzlis-qa__item-body p { font-size: 15px !important; }
  /* なぜ定額？セクションの見出しと本文を拡大 */
  .bzlis-naze__item-ttl { font-size: 16px !important; }
  .bzlis-naze__item-body p { font-size: 15px !important; }
}

/* ===== SP: CTAを15px上に（強制上書き） ===== */
@media (max-width: 767px) {
  .hero-section .hero-cta-wrap.is-sp { margin-top: -29px !important; }
}

/* ===== PC: カルーセル内の広告媒体ロゴを10px上げる（強いセレクタで干渉回避） ===== */
@media (min-width: 1024px) {
  .bzlis-logos.is-pc #js-media-logos .splide__slide img {
    transform: translateY(-32px) !important;
    height: calc(clamp(34px, 4.2vw, 48px) + 10px) !important;
  }
  /* ロゴを上げた分、トラックの高さと上パディングを増やして見切れ防止 */
  .bzlis-logos.is-pc #js-media-logos .splide__track { height: 106px !important; padding-top: 32px !important; }
}

/* ===== PC表示修正: CTAとヒーローの安定化（優先度高の最終上書き） ===== */
@media (min-width: 1024px) {
  /* CTA: ボタンアイコンが親の img ルールで拡大されないよう強制 */
  .bzlis-cta.-rich .bzlis-cta__tel .bzlis__btn img { width: 30px !important; height: auto !important; }
  .bzlis-cta.-rich .bzlis-cta__btn .bzlis__btn img { width: 30px !important; height: auto !important; }

  /* CTA: PCは両ボタンとも自動幅＋最大幅を統一 */
  .bzlis-cta.-rich .bzlis-cta__btn .bzlis__btn,
  .bzlis-cta.-rich .bzlis-cta__tel .bzlis__btn {
    width: auto !important;
    max-width: 340px !important;
  }

  /* CTA: 両カラムとも中央寄せに統一 */
  .bzlis-cta.-rich { grid-template-columns: 1fr 1fr !important; }
  .bzlis-cta.-rich .bzlis-cta__tel,
  .bzlis-cta.-rich .bzlis-cta__btn {
    justify-self: center !important;
    text-align: center !important;
    width: auto !important;
  }

  /* Hero: 過度なオフセットと高さ制限を解除してクロップ防止 */
  .hero-content-left .hero-main-image,
  .hero-image-right img { top: 0 !important; transform: none !important; }
  .hero-cta-wrap.is-pc { top: 0 !important; }
  .hero-cta-wrap.is-pc .bzlis__btn { top: 0 !important; left: 0 !important; }
  .hero-section {
    max-height: none !important;
    overflow: visible !important;
    padding-bottom: 24px !important;
  }

  /* ===== PC: CTA枠のサイズとボタン間隔の最終調整 ===== */
  .bzlis-cta.-rich {
    max-width: 860px !important; /* さらにコンパクトに */
    padding: 8px 10px !important; /* 余白をさらに詰める */
    margin: 16px auto !important; /* 上下もさらに詰める */
    border-width: 2px !important;
    border-radius: 10px !important;
    gap: 8px !important; /* 2カラムの間隔をさらに縮小 */
  }
  /* ボタン左右のマージンも縮小 */
  .bzlis-cta.-rich .bzlis-cta__btn .bzlis__btn,
  .bzlis-cta.-rich .bzlis-cta__tel .bzlis__btn {
    margin-left: 4px !important;
    margin-right: 4px !important;
    max-width: 340px !important; /* 幅上限を統一して近づける */
    padding-left: 16px !important;
    padding-right: 16px !important;
    font-size: 22px !important;
    gap: 10px !important;
  }
}

/* ===== スマホ時：プランラベル画像を画面左端に揃える ===== */
@media (max-width: 767px) {
  /* 合計44pxの相殺位置から、さらに右へ15pxオフセット（＝-29px） */
  .bzlis-plan__item-label { left: -29px; }
}
@media (max-width: 375px) {
  /* 合計32pxの相殺位置から、さらに右へ15pxオフセット（＝-17px） */
  .bzlis-plan__item-label { left: -17px; }
}

/* ===== SP: 「お約束」見出し画像に左右16pxの余白を確保 ===== */
@media (max-width: 767px) {
  .bzlis-yakusoku__inner { padding-left: 16px !important; padding-right: 16px !important; }
  .bzlis-yakusoku__heading { margin-left: 0 !important; margin-right: 0 !important; }
  .bzlis-yakusoku__heading picture { display: block !important; margin: 0 auto !important; }
  /* 画像自体はデフォルトのサイズ規則（上部で定義済みの92%など）に委ねる */
}

/* ===== フルブリード解除（保険） ===== */
@media (max-width: 767px) {
  #bzlis-yakusoku .bzlis-yakusoku__heading {
    width: auto !important;
    margin-left: 0 !important;
    transform: none !important;
  }
}

/* ===== SP: お約束セクションのアイコン画像をより大きく（はみ出し防止） ===== */
@media (max-width: 767px) {
  .bzlis-yakusoku__item .bzlis-tokucho__item-pic img {
    width: clamp(220px, 78vw, 360px) !important;
    max-width: clamp(220px, 78vw, 360px) !important;
    height: auto !important;
  }
}

/* ===== SP: お約束セクションと前セクションの間隔を少し確保（12px） ===== */
@media (max-width: 767px) {
  /* 前セクション（plan）の下余白はゼロのまま、yakusokuの前に12pxの間隔を追加 */
  .bzlis-plan { padding-bottom: 0 !important; }
  .bzlis-yakusoku { margin-top: 12px !important; padding-top: 16px !important; }
  .bzlis-yakusoku__inner { padding-top: 0 !important; }
  .bzlis-yakusoku__heading { margin-top: 0 !important; }
  /* リッチCTAの下マージンが残っていると隙間が広がるためSPで詰める */
  .bzlis-plan .bzlis-cta { margin-bottom: 0 !important; }
}

/* ===== SP: FVを常に画面いっぱいにし、要素間隔を調整 ===== */
/* 旧FVのSP全画面指定を削除 */

/* ===== Hero section (スマホ優先) ===== */
.hero-section { background-color: var(--color-yellow, #ffeb00); padding: 40px 16px; }
.hero-container { display: flex; flex-direction: column; align-items: center; gap: 32px; }
.hero-content-left, .hero-image-right { width: 100%; }
.hero-cta-wrap { width: 100%; display: flex; justify-content: center; }
.hero-cta-wrap.is-pc { display: none; }
.hero-cta-wrap.is-sp { display: flex; }

/* ===== PC表示のスタイル (1024px以上) ===== */
@media (min-width: 1024px) {
  .hero-section { padding: 60px 40px; }
  .hero-container { display: grid; grid-template-columns: 45% 55%; align-items: center; justify-content: center; max-width: 1280px; margin: 0 auto; gap: 40px; }
  .hero-content-left { grid-column: 1; min-width: 0; }
  .hero-image-right { grid-column: 2; min-width: 0; }
  .hero-cta-wrap { grid-column: 1; justify-content: flex-start; align-self: start; margin-top: 12px; }
  .hero-cta-wrap.is-pc { display: flex; }
  .hero-cta-wrap.is-sp { display: none; }
  /* PC時：FV画像を1.2倍に拡大 */
  .hero-content-left .hero-main-image { transform: scale(1.05); transform-origin: left top; }
  .hero-image-right img { transform: scale(1.05); transform-origin: right top; }
}

/* ===== SP: ヒーローの縦間隔を圧縮し上揃えに ===== */
@media (max-width: 767px) {
  .hero-section { padding: 0 8px 6px; }
  .hero-container { gap: 0; align-items: flex-start; }
  .hero-content-left, .hero-image-right, .hero-cta-wrap { width: 100%; }
  .hero-content-left .hero-main-image, .hero-image-right img { display: block; margin: 0 !important; }
  /* 右画像をさらに上へ */
  .hero-image-right img { margin-top: -18px !important; }
  /* 右画像とCTAの間隔をさらに詰める */
  .hero-cta-wrap { margin: -14px 0 12px 0 !important; justify-content: center; }
  .hero-section .bzlis__btn { width: calc(100% - 16px); max-width: 420px; margin: 0 8px; padding: 14px 22px; border-radius: 12px; font-size: 22px; }
  /* カルーセルも間隔を詰める（旧指定無効化） */
  /* .bzlis-logos.is-sp { padding: 2px 0 6px !important; margin-top: 0 !important; } */
  /* カルーセルのサイズは従来に合わせて維持 */
  #js-media-logos-sp .splide__track { height: 62px !important; }
  #js-media-logos-sp .splide__slide img { height: 44px !important; }
}

/* ===== PC: FVの上余白を縮小（画像をより上へ） ===== */
@media (min-width: 1024px) {
  .hero-section { padding-top: 16px !important; }
}

/* ===== Hero: 背景の装飾図形（画像の後ろのレイヤー） ===== */
.hero-section { position: relative; overflow: hidden; }
/* コンテンツを前面へ（装飾は背面） */
.hero-container,
.hero-content-left,
.hero-image-right,
.hero-cta-wrap { position: relative; z-index: 1; }
/* ＋記号やリングを複数レイヤーで散らす */
.hero-section::before {
  content: "";
  position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background:
    /* リング(大/右上) */
    radial-gradient(closest-side, transparent calc(50% - 1.5px), rgba(0,0,0,.34) calc(50% - 1.5px), rgba(0,0,0,.34) calc(50% + 1.5px), transparent calc(50% + 1.5px)) 92% 8%/180px 180px no-repeat,
    /* リング(中/左上) */
    radial-gradient(closest-side, transparent calc(50% - 1.5px), rgba(0,0,0,.32) calc(50% - 1.5px), rgba(0,0,0,.32) calc(50% + 1.5px), transparent calc(50% + 1.5px)) 10% 14%/120px 120px no-repeat,
    /* リング(小/右中) */
    radial-gradient(closest-side, transparent calc(50% - 1.5px), rgba(0,0,0,.30) calc(50% - 1.5px), rgba(0,0,0,.30) calc(50% + 1.5px), transparent calc(50% + 1.5px)) 98% 52%/80px 80px no-repeat,
    /* リング(小/左下) */
    radial-gradient(closest-side, transparent calc(50% - 1.5px), rgba(0,0,0,.30) calc(50% - 1.5px), rgba(0,0,0,.30) calc(50% + 1.5px), transparent calc(50% + 1.5px)) 3% 74%/74px 74px no-repeat,
    /* ＋（上左） */
    linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)) 6% 18%/2px 18px no-repeat,
    linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)) 6% 18%/18px 2px no-repeat,
    /* ＋（上中央） */
    linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)) 50% 12%/2px 18px no-repeat,
    linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)) 50% 12%/18px 2px no-repeat,
    /* ＋（右上） */
    linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)) 88% 16%/2px 18px no-repeat,
    linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)) 88% 16%/18px 2px no-repeat;
  opacity: .24;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.05));
}
/* 破線円（右上・控えめ） */
.hero-section::after {
  content: "";
  position: absolute; pointer-events: none; z-index: 0;
  right: clamp(8px, 4vw, 40px); top: clamp(24px, 6vw, 80px);
  width: clamp(120px, 12vw, 180px); height: clamp(120px, 12vw, 180px);
  border-radius: 50%; border: 3px dashed rgba(0,0,0,.40); opacity: .35;
}
/* SPでは密度を少し下げる */
@media (max-width: 767px) {
  .hero-section::before { opacity: .18; }
  .hero-section::after { opacity: .28; width: 120px; height: 120px; right: 10px; top: 20px; }
}

/* SPでは装飾自体をオフ（PCのみ表示） */
@media (max-width: 767px) {
  .hero-section::before,
  .hero-section::after { content: none !important; display: none !important; }
}

/* ===== PC: FV左・右画像を現在位置からさらに上へ（相対移動でレイアウト影響なし） ===== */
@media (min-width: 1024px) {
  .hero-content-left .hero-main-image,
  .hero-image-right img {
    position: relative;
    top: -100px;
  }
}

/* ===== PC: FVの高さを制限してカルーセルまでを1画面に収める ===== */
@media (min-width: 1024px) {
  .hero-section {
    /* 画面高に追従しつつ、過大にならない上限を設定 */
    max-height: min(760px, calc(100vh - 80px));
    padding-top: 40px !important;
    padding-bottom: 0 !important;
    overflow: hidden;
  }
  /* 上下の詰めに合わせて間隔をやや縮める */
  .hero-container { gap: 28px !important; }
  /* CTAボタン行のみ さらに20px上へ（合計-90px） */
  .hero-cta-wrap.is-pc { position: relative; top: -90px; }
  /* CTAボタン自体を右20px/上20pxオフセット */
  .hero-cta-wrap.is-pc .bzlis__btn { position: relative; top: -20px; left: 20px; }
}

/* （ロールバック）ロゴ拡大の追加指定を削除して元サイズへ復帰 */



/* ===== SPロゴカルーセルの滑らかさを改善（GPU/線形補間/ジャダー抑制） ===== */
@media (max-width: 767px) {
  #js-media-logos-sp .splide__list {
    will-change: transform;
    transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transition-timing-function: linear !important;
  }
  #js-media-logos-sp .splide__track {
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
  }
}

/* ===== 「メールでどうぞ」見出し画像のサイズ調整（大きすぎ対応） ===== */
.bzlis-bk-heading .bzlis-bk-heading__ttl img[src$="メールでどうぞ.webp"] {
  width: clamp(220px, 70vw, 520px);
  height: auto;
  display: block;
  margin: 0 auto;
}

/* ===== 特定プランのラベル画像のみ1.2倍拡大 ===== */
.bzlis-plan__item-label img.-scale120 {
  transform: scale(1.2) !important;
  transform-origin: left center !important;
}

/* SP時：拡大したラベル画像を10px下げる */
@media (max-width: 767px) {
  .bzlis-plan__item-label img.-scale120 {
    transform: translateY(10px) scale(1.2) !important;
    transform-origin: left center !important;
  }
}

/* ===== PC: FV画像とCTAを30pxだけ上に（カルーセルはそのまま） ===== */
@media (min-width: 1024px) {
  .hero-content-left .hero-main-image,
  .hero-image-right img {
    position: relative !important;
    top: -80px !important;
  }
  .hero-cta-wrap.is-pc {
    position: relative !important;
    top: -80px !important;
  }
}

/* ===== FV下 ロゴを1.7倍へ（PC/タブレット・スマホ） ===== */
@media (min-width: 768px) {
  /* 元45px → 約1.7倍で約77px */
  .bzlis-logos.is-pc #js-media-logos .splide__slide img {
    height: 77px !important;
  }
  .bzlis-logos.is-pc #js-media-logos .splide__track {
    height: 132px !important; /* 見切れ防止のためトラック高を拡張 */
    padding-top: 36px !important; /* 上側に余白を確保 */
  }
}
@media (max-width: 767px) {
  /* 元35px → 約1.7倍で約60px */
  #js-media-logos-sp .splide__slide img {
    height: 60px !important;
  }
  #js-media-logos-sp .splide__track {
    height: 80px !important; /* 画像拡大に合わせて余白確保 */
  }
}

/* ===== カルーセルのスムーズ化（GPUヒント/線形補間の徹底） ===== */
#js-media-logos .splide__list {
  will-change: transform;
  transform: translateZ(0);
  backface-visibility: hidden;
  transition-timing-function: linear !important;
}
#js-media-logos .splide__slide img {
  backface-visibility: hidden;
  transform: translateZ(0);
}

/* ===== PC: 右サイド固定タブ ===== */
.c-side-tabs { position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 12000; display: grid; gap: 10px; }
.c-side-tab { position: static; right: auto; top: auto; transform: none; }
.c-side-tab__link { display: inline-block; writing-mode: vertical-rl; text-orientation: mixed; background: linear-gradient(180deg, #ffe100 0%, #ffbf00 100%); color: #111; font-weight: 900; letter-spacing: .1em; text-decoration: none; border-radius: 10px 0 0 10px; padding: 14px 10px; border: 2px solid #111; box-shadow: 0 8px 18px rgba(255,170,0,.35); }
/* PCタブ配色：無料トライアル=イエロー、問い合わせ=シアン */
.c-side-tab.-trial .c-side-tab__link { background: linear-gradient(180deg, #ffe100 0%, #ffbf00 100%); color: #111; }
.c-side-tab.-contact .c-side-tab__link { background: linear-gradient(180deg, #11c6e3 0%, #06a0be 100%); color: #fff; box-shadow: 0 8px 18px rgba(6,160,190,.35); }
.c-side-tab__link:hover { filter: brightness(.98); }
@media (max-width: 767px) { .c-side-tabs { display: none; } }

/* PC: 右サイドタブを上下に分けて重なり防止 */
/* 上下分離は .c-side-tabs のグリッドで制御（個別位置指定は不要） */

/* ===== SP: 追従フッターCTA ===== */
.c-sticky-footer { position: fixed; left: 0; right: 0; bottom: 0; z-index: 12000; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.95); backdrop-filter: saturate(180%) blur(8px); border-top: 1px solid rgba(0,0,0,.08); box-sizing: border-box; }
.menu-open .c-sticky-footer { display: none !important; }
.c-sticky-footer__stack { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; width: 100%; max-width: 520px; margin: 0 auto; }
.c-sticky-footer__btn { display: inline-flex; justify-content: center; align-items: center; width: 100%; text-align: center; text-decoration: none; background: linear-gradient(180deg, #ffe100 0%, #ffbf00 100%); color: #111; font-weight: 900; border-radius: 9999px; padding: 14px 18px; border: 2px solid #111; box-shadow: 0 10px 24px rgba(255,170,0,.35), 0 2px 0 rgba(255,255,255,.65) inset; line-height: 1.25; white-space: normal; }
/* SPフッターCTA配色：左=イエロー（トライアル）、右=シアン（問い合わせ） */
.c-sticky-footer__btn.-contact { background: linear-gradient(180deg, #11c6e3 0%, #06a0be 100%); color: #fff; border-color: #0a6b7d; box-shadow: 0 10px 24px rgba(11,187,217,.35), 0 2px 0 rgba(255,255,255,.45) inset; }
@supports (max-width: min(100%, 520px)) {
  .c-sticky-footer__btn { max-width: min(520px, calc(100% - 24px)); }
}
@media (max-width: 767px) {
  /* はみ出し防止（極小幅端末） */
  .c-sticky-footer { padding-left: 10px; padding-right: 10px; }
  .c-sticky-footer__btn { font-size: 16px; padding: 14px 16px; }
  /* 追従フッターに隠れないよう、フッター内側ボトム余白を追加 */
  .footer__inner { padding-bottom: calc(28px + 88px + env(safe-area-inset-bottom)); }
}
@media (min-width: 768px) { .c-sticky-footer { display: none; } }

/* 干渉対策: 他スタイルに左右されず中央寄せを維持（SP限定・最小限の!important） */
@media (max-width: 767px) {
  .c-sticky-footer.c-sticky-footer {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
  }
  .c-sticky-footer .c-sticky-footer__btn.c-sticky-footer__btn {
    margin-left: auto !important;
    margin-right: auto !important;
    width: auto !important;
    float: none !important;
    align-self: center !important;
  }
}

/* ===== PC: 「お約束」内の見出しサイズを他セクションに合わせて拡大 ===== */
@media (min-width: 1025px) {
  #bzlis-yakusoku .bzlis-yakusoku__item .bzlis-tokucho__item-ttl {
    font-size: 22px !important;
  }
}

/* ===== Header logo: 元のサイズ感に復帰（img要素を明示指定） ===== */
.header__logo.-page img {
  display: block;
  width: clamp(216px, 14.4vw, 264px);
  height: auto;
}

/* ===== ノートPC幅向けの左右マージン確保（既存デザイン維持の軽微調整） ===== */
@media (min-width: 1025px) and (max-width: 1366px) {
  /* お約束 → LP紹介ブロック：はみ出しやすい幅をわずかに縮め、内側余白を加える */
  .bzlis-yakusoku__lp { grid-template-columns: 560px 540px; gap: 24px; padding-left: 24px; padding-right: 24px; }
  /* 画像の最大幅も連動して微縮小（視覚は維持） */
  .bzlis-yakusoku__lp-body-gurahu img { max-width: 540px; }
  .bzlis-yakusoku__lp-pic img { max-width: 540px; }
}
