@charset "UTF-8";
/*
  ILCHI LP CSS Manager
  File: 05-b2.css
  Template: B2 健康改善・アクティブタイプ
  Site: イルチブレインヨガ金山スタジオ
  Updated: 2026-07-31

  管理方針
  - .iby-page.iby-design-b2 の内側だけに適用
  - フッターは09-footer.cssへ分離
  - ヘッダーとLightning本文枠は別ファイルで管理
*/

/* =========================================================
   0. B-2 Variables / Base
========================================================= */
.iby-page.iby-design-b2 {
  --iby-b2-main: #e98a3a;
  --iby-b2-main-dark: #c86c24;
  --iby-b2-green: #7aa66a;
  --iby-b2-bg: #fff8ef;
  --iby-b2-bg-soft: #f6fbf2;
  --iby-b2-text: #3a3028;
  --iby-b2-muted: #6f6258;
  --iby-b2-white: #ffffff;
  --iby-b2-radius: 22px;
  --iby-b2-shadow: 0 10px 30px rgba(80, 50, 20, 0.10);
  color: var(--iby-b2-text);
}

.iby-page.iby-design-b2,
.iby-page.iby-design-b2 * {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "Meiryo", sans-serif !important;
  box-sizing: border-box;
}

.iby-page.iby-design-b2 h1,
.iby-page.iby-design-b2 h2,
.iby-page.iby-design-b2 h3,
.iby-page.iby-design-b2 h4,
.iby-page.iby-design-b2 h5,
.iby-page.iby-design-b2 h6,
.iby-page.iby-design-b2 .wp-block-heading {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "Meiryo", sans-serif !important;
  font-weight: 800 !important;
}

/* =========================================================
   1. Common Section Parts
========================================================= */
.iby-page.iby-design-b2 .iby-active-section__head {
  text-align: center !important;
  margin-bottom: 36px !important;
}

.iby-page.iby-design-b2 .iby-active-section__label {
  display: block !important;
  margin: 0 auto 14px !important;
  padding: 0 !important;
  border: none !important;
  color: var(--iby-b2-main-dark) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.08em !important;
  text-align: center !important;
}

.iby-page.iby-design-b2 .iby-active-section__title {
  margin: 0 auto 20px !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  background-image: none !important;
  color: var(--iby-b2-text) !important;
  font-size: clamp(30px, 3.2vw, 42px) !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.02em !important;
  text-align: center !important;
}

.iby-page.iby-design-b2 .iby-active-section__lead {
  max-width: 760px !important;
  margin: 18px auto 0 !important;
  color: var(--iby-b2-muted) !important;
  font-size: 15.5px !important;
  font-weight: 400 !important;
  line-height: 1.9 !important;
  text-align: center !important;
}

.iby-page.iby-design-b2 .iby-active-btn,
.iby-page.iby-design-b2 .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 52px !important;
  padding: 0 28px !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  background: var(--iby-b2-main) !important;
  color: #fff !important;
  box-shadow: var(--iby-b2-shadow) !important;
}

.iby-page.iby-design-b2 .iby-active-btn:hover,
.iby-page.iby-design-b2 .wp-block-button__link:hover {
  background: var(--iby-b2-main-dark) !important;
  color: #fff !important;
}

/* テーマ既定の見出し装飾をB-2内では解除 */
.iby-page.iby-design-b2 h2,
.iby-page.iby-design-b2 h3,
.iby-page.iby-design-b2 .wp-block-heading {
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  background-image: none !important;
}

.iby-page.iby-design-b2 h2::before,
.iby-page.iby-design-b2 h2::after,
.iby-page.iby-design-b2 h3::before,
.iby-page.iby-design-b2 h3::after,
.iby-page.iby-design-b2 .wp-block-heading::before,
.iby-page.iby-design-b2 .wp-block-heading::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-active-section__head {
    margin-bottom: 28px !important;
  }

  .iby-page.iby-design-b2 .iby-active-section__label {
    font-size: 12px !important;
    margin-bottom: 10px !important;
  }

  .iby-page.iby-design-b2 .iby-active-section__title {
    font-size: 23px !important;
    line-height: 1.55 !important;
    margin-bottom: 16px !important;
  }

  .iby-page.iby-design-b2 .iby-active-section__lead {
    font-size: 13.5px !important;
    line-height: 1.85 !important;
  }

  .iby-page.iby-design-b2 .iby-active-btn,
  .iby-page.iby-design-b2 .wp-block-button__link {
    width: 100% !important;
  }
}

/* =========================================================
   2. Full Width Section Fix
========================================================= */
.iby-page.iby-design-b2 .iby-active-worry,
.iby-page.iby-design-b2 .iby-active-reason,
.iby-page.iby-design-b2 .iby-active-program,
.iby-page.iby-design-b2 .iby-active-voice,
.iby-page.iby-design-b2 .iby-active-flow,
.iby-page.iby-design-b2 .iby-active-safe,
.iby-page.iby-design-b2 .iby-active-cta,
.iby-page.iby-design-b2 .iby-active-access,
.iby-page.iby-design-b2 .iby-active-banners,
.iby-page.iby-design-b2 .iby-kakuremino,
.iby-page.iby-design-b2 .iby-active-trainer,
.iby-page.iby-design-b2 .iby-active-final-cta {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.iby-page.iby-design-b2 .iby-active-worry > .wp-block-group__inner-container,
.iby-page.iby-design-b2 .iby-active-reason > .wp-block-group__inner-container,
.iby-page.iby-design-b2 .iby-active-program > .wp-block-group__inner-container,
.iby-page.iby-design-b2 .iby-active-voice > .wp-block-group__inner-container,
.iby-page.iby-design-b2 .iby-active-flow > .wp-block-group__inner-container,
.iby-page.iby-design-b2 .iby-active-safe > .wp-block-group__inner-container,
.iby-page.iby-design-b2 .iby-active-cta > .wp-block-group__inner-container,
.iby-page.iby-design-b2 .iby-active-access > .wp-block-group__inner-container,
.iby-page.iby-design-b2 .iby-active-banners > .wp-block-group__inner-container,
.iby-page.iby-design-b2 .iby-kakuremino > .wp-block-group__inner-container,
.iby-page.iby-design-b2 .iby-active-trainer > .wp-block-group__inner-container,
.iby-page.iby-design-b2 .iby-active-final-cta > .wp-block-group__inner-container,
.iby-page.iby-design-b2 .iby-active-worry__inner,
.iby-page.iby-design-b2 .iby-active-reason__inner,
.iby-page.iby-design-b2 .iby-active-program__inner,
.iby-page.iby-design-b2 .iby-active-voice__inner,
.iby-page.iby-design-b2 .iby-active-flow__inner,
.iby-page.iby-design-b2 .iby-active-safe__inner,
.iby-page.iby-design-b2 .iby-active-cta__inner,
.iby-page.iby-design-b2 .iby-active-access__inner,
.iby-page.iby-design-b2 .iby-active-banners__inner,
.iby-page.iby-design-b2 .iby-kakuremino-inner,
.iby-page.iby-design-b2 .iby-active-trainer__inner,
.iby-page.iby-design-b2 .iby-active-final-cta__inner {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* =========================================================
   3. Hero
========================================================= */
.iby-page.iby-design-b2 .iby-active-hero.wp-block-cover,
.iby-page.iby-design-b2 .iby-active-hero {
  position: relative !important;
  min-height: 620px !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  background-color: #fff8ef !important;
  isolation: isolate !important;
}

.iby-page.iby-design-b2 .iby-active-hero .wp-block-cover__image-background {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  opacity: 1 !important;
  filter: saturate(1.03) contrast(1.02) brightness(1.00) !important;
}

.iby-page.iby-design-b2 .iby-active-hero .wp-block-cover__background {
  opacity: 0 !important;
}

.iby-page.iby-design-b2 .iby-active-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(
    90deg,
    rgba(255, 248, 239, 0.62) 0%,
    rgba(255, 248, 239, 0.42) 28%,
    rgba(255, 248, 239, 0.10) 54%,
    rgba(255, 248, 239, 0.00) 100%
  ) !important;
  pointer-events: none !important;
}

.iby-page.iby-design-b2 .iby-active-hero .wp-block-cover__inner-container {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 1220px !important;
  margin: 0 auto !important;
  padding: 80px 56px !important;
  box-sizing: border-box !important;
}

.iby-page.iby-design-b2 .iby-active-hero__copy {
  width: min(440px, 88%) !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  padding: 26px 26px !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, 0.62) !important;
  box-shadow: 0 12px 28px rgba(80, 50, 20, 0.08) !important;
  transform: translateX(-18px) !important;
}

.iby-page.iby-design-b2 .iby-active-hero__kicker {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-bottom: 14px !important;
  color: var(--iby-b2-main-dark) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  text-align: center !important;
}

.iby-page.iby-design-b2 .iby-active-hero__kicker::before,
.iby-page.iby-design-b2 .iby-active-hero__kicker::after {
  content: "" !important;
  width: 18px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: var(--iby-b2-main) !important;
}

.iby-page.iby-design-b2 .iby-active-hero__kicker::before {
  transform: rotate(35deg) !important;
}

.iby-page.iby-design-b2 .iby-active-hero__kicker::after {
  transform: rotate(-35deg) !important;
}

.iby-page.iby-design-b2 .iby-active-hero__title,
.iby-page.iby-design-b2 .iby-active-hero h1,
.iby-page.iby-design-b2 .iby-active-hero h2,
.iby-page.iby-design-b2 .iby-active-hero h3 {
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  background: none !important;
  color: var(--iby-b2-text) !important;
  font-size: clamp(31px, 3.2vw, 44px) !important;
  line-height: 1.32 !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
}

.iby-page.iby-design-b2 .iby-active-hero__title strong,
.iby-page.iby-design-b2 .iby-active-hero h1 strong,
.iby-page.iby-design-b2 .iby-active-hero h2 strong,
.iby-page.iby-design-b2 .iby-active-hero h3 strong {
  display: inline !important;
  color: var(--iby-b2-main) !important;
}

.iby-page.iby-design-b2 .iby-active-hero p {
  margin: 0 0 18px !important;
  color: var(--iby-b2-muted) !important;
  font-size: 15.5px !important;
  line-height: 1.85 !important;
}

.iby-page.iby-design-b2 .iby-active-hero__points {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  margin: 18px 0 26px !important;
  max-width: 300px !important;
}

.iby-page.iby-design-b2 .iby-active-hero__point {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  padding: 7px 13px !important;
  border-radius: 999px !important;
  background: rgba(122, 166, 106, 0.14) !important;
  border: 1px solid rgba(122, 166, 106, 0.28) !important;
  color: #36542f !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.iby-page.iby-design-b2 .iby-active-hero__point::before {
  content: "✓" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  margin-right: 7px !important;
  border-radius: 50% !important;
  background: var(--iby-b2-green) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

.iby-page.iby-design-b2 .iby-active-hero .wp-block-buttons {
  margin-top: 18px !important;
}

.iby-page.iby-design-b2 .iby-active-hero .wp-block-button__link {
  min-height: 48px !important;
  min-width: 220px !important;
  padding: 0 28px !important;
  font-size: 15px !important;
}

@media (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-active-hero.wp-block-cover,
  .iby-page.iby-design-b2 .iby-active-hero {
    min-height: 620px !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero .wp-block-cover__image-background {
    object-position: 63% center !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero::before {
    background: linear-gradient(
      90deg,
      rgba(255, 248, 239, 0.80) 0%,
      rgba(255, 248, 239, 0.58) 48%,
      rgba(255, 248, 239, 0.18) 100%
    ) !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero .wp-block-cover__inner-container {
    padding: 34px 16px 36px !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero__copy {
    width: calc(100% - 32px) !important;
    max-width: 340px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 22px 20px !important;
    transform: none !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.68) !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero__kicker {
    gap: 7px !important;
    font-size: 11.5px !important;
    margin-bottom: 9px !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero__kicker::before,
  .iby-page.iby-design-b2 .iby-active-hero__kicker::after {
    width: 12px !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero__title,
  .iby-page.iby-design-b2 .iby-active-hero h1,
  .iby-page.iby-design-b2 .iby-active-hero h2,
  .iby-page.iby-design-b2 .iby-active-hero h3 {
    font-size: 23px !important;
    line-height: 1.34 !important;
    letter-spacing: 0 !important;
    margin-bottom: 13px !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero__title strong {
    display: block !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero p {
    font-size: 12.5px !important;
    line-height: 1.7 !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero__points {
    gap: 6px !important;
    margin: 14px 0 16px !important;
    max-width: 100% !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero__point {
    padding: 6px 10px !important;
    font-size: 11.5px !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero__point::before {
    width: 16px !important;
    height: 16px !important;
    font-size: 10px !important;
    margin-right: 6px !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero .wp-block-button,
  .iby-page.iby-design-b2 .iby-active-hero .wp-block-button__link {
    width: 100% !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero .wp-block-button__link {
    min-height: 43px !important;
    font-size: 12.5px !important;
  }
}

@media (max-width: 360px) {
  .iby-page.iby-design-b2 .iby-active-hero__copy {
    max-width: 292px !important;
    padding: 18px 17px !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero__title,
  .iby-page.iby-design-b2 .iby-active-hero h1,
  .iby-page.iby-design-b2 .iby-active-hero h2,
  .iby-page.iby-design-b2 .iby-active-hero h3 {
    font-size: 21px !important;
    line-height: 1.34 !important;
  }
}

/* =========================================================
   4. Worry
========================================================= */
.iby-page.iby-design-b2 .iby-active-worry {
  background: linear-gradient(180deg, #fff8ef 0%, #ffffff 100%) !important;
  padding: 78px 24px 84px !important;
}

.iby-page.iby-design-b2 .iby-active-worry__inner {
  max-width: 1120px !important;
  margin: 0 auto !important;
}

.iby-page.iby-design-b2 .iby-active-worry__grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
  margin-top: 44px !important;
}

.iby-page.iby-design-b2 .iby-active-worry__card {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  min-height: 96px !important;
  padding: 22px 24px !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(233, 138, 58, 0.18) !important;
  box-shadow: 0 12px 28px rgba(80, 50, 20, 0.07) !important;
}

.iby-page.iby-design-b2 .iby-active-worry__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, var(--iby-b2-main) 0%, #f3aa45 100%) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  box-shadow: 0 8px 18px rgba(233, 138, 58, 0.22) !important;
}

.iby-page.iby-design-b2 .iby-active-worry__card p {
  margin: 0 !important;
  color: var(--iby-b2-text) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}

@media (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-active-worry {
    padding: 48px 20px 56px !important;
  }

  .iby-page.iby-design-b2 .iby-active-worry .iby-active-section__title {
    font-size: 23px !important;
    line-height: 1.55 !important;
  }

  .iby-page.iby-design-b2 .iby-active-worry .iby-active-section__lead {
    margin-top: 16px !important;
    font-size: 13.5px !important;
    line-height: 1.85 !important;
  }

  .iby-page.iby-design-b2 .iby-active-worry__grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin-top: 30px !important;
  }

  .iby-page.iby-design-b2 .iby-active-worry__card {
    min-height: auto !important;
    padding: 16px 17px !important;
    border-radius: 18px !important;
  }

  .iby-page.iby-design-b2 .iby-active-worry__icon {
    width: 38px !important;
    height: 38px !important;
    font-size: 13px !important;
  }

  .iby-page.iby-design-b2 .iby-active-worry__card p {
    font-size: 15px !important;
  }
}

/* =========================================================
   5. Reason
========================================================= */
.iby-page.iby-design-b2 .iby-active-reason {
  position: relative !important;
  padding: 82px 24px 88px !important;
  background: radial-gradient(circle at top left, rgba(233, 138, 58, 0.12), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f6fbf2 100%) !important;
}

.iby-page.iby-design-b2 .iby-active-reason__inner {
  max-width: 1120px !important;
  margin: 0 auto !important;
}

.iby-page.iby-design-b2 .iby-active-reason__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  max-width: 1040px !important;
  margin: 48px auto 0 !important;
}

.iby-page.iby-design-b2 .iby-active-reason__illust,
.iby-page.iby-design-b2 .iby-active-reason__icon,
.iby-page.iby-design-b2 .iby-active-reason__lineart {
  display: none !important;
}

.iby-page.iby-design-b2 .iby-active-reason__card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 520px !important;
  padding: 30px 28px 0 !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(122, 166, 106, 0.22) !important;
  box-shadow: 0 14px 36px rgba(80, 50, 20, 0.08) !important;
}

.iby-page.iby-design-b2 .iby-active-reason__card::before,
.iby-page.iby-design-b2 .iby-active-reason__card::after {
  content: none !important;
  display: none !important;
}

.iby-page.iby-design-b2 .iby-active-reason__head {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 18px !important;
}

.iby-page.iby-design-b2 .iby-active-reason__num {
  position: static !important;
  margin: 0 !important;
  color: rgba(233, 138, 58, 0.48) !important;
  font-size: 30px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

.iby-page.iby-design-b2 .iby-active-reason__badge {
  position: relative !important;
  width: 46px !important;
  height: 46px !important;
  flex: 0 0 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  background: linear-gradient(135deg, #f6a346 0%, #e87820 100%) !important;
  box-shadow: 0 10px 22px rgba(232, 120, 32, 0.18) !important;
}

.iby-page.iby-design-b2 .iby-active-reason__badge::after {
  content: "" !important;
  position: absolute !important;
  inset: -6px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(233, 138, 58, 0.20) !important;
}

.iby-page.iby-design-b2 .iby-active-reason__badge span {
  position: relative !important;
  z-index: 1 !important;
}

.iby-page.iby-design-b2 .iby-active-reason__card--body .iby-active-reason__badge {
  background: linear-gradient(135deg, #8ab875 0%, #6f9f5f 100%) !important;
  box-shadow: 0 10px 22px rgba(122, 166, 106, 0.18) !important;
}

.iby-page.iby-design-b2 .iby-active-reason__card--body .iby-active-reason__num {
  color: rgba(122, 166, 106, 0.52) !important;
}

.iby-page.iby-design-b2 .iby-active-reason__card h3 {
  position: relative !important;
  z-index: 2 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  color: var(--iby-b2-text) !important;
  font-size: 22px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
}

.iby-page.iby-design-b2 .iby-active-reason__line {
  position: relative !important;
  z-index: 2 !important;
  width: 54px !important;
  height: 3px !important;
  margin: 14px 0 18px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #f0a24b 0%, rgba(240, 162, 75, 0.20) 100%) !important;
}

.iby-page.iby-design-b2 .iby-active-reason__card--body .iby-active-reason__line {
  background: linear-gradient(90deg, #7aa66a 0%, rgba(122, 166, 106, 0.22) 100%) !important;
}

.iby-page.iby-design-b2 .iby-active-reason__card p {
  position: relative !important;
  z-index: 2 !important;
  margin: 0 !important;
  padding-right: 0 !important;
  color: var(--iby-b2-muted) !important;
  font-size: 14.5px !important;
  line-height: 1.95 !important;
}

.iby-page.iby-design-b2 .iby-active-reason__media {
  position: relative !important;
  z-index: 1 !important;
  margin: auto -28px 0 !important;
  height: 210px !important;
  overflow: hidden !important;
  border-radius: 0 0 24px 24px !important;
}

.iby-page.iby-design-b2 .iby-active-reason__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-active-reason {
    padding: 50px 20px 64px !important;
  }

  .iby-page.iby-design-b2 .iby-active-reason .iby-active-section__title {
    font-size: 22px !important;
    line-height: 1.55 !important;
  }

  .iby-page.iby-design-b2 .iby-active-reason .iby-active-section__lead {
    font-size: 13px !important;
    line-height: 1.8 !important;
  }

  .iby-page.iby-design-b2 .iby-active-reason__grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    margin-top: 34px !important;
    margin-bottom: 0 !important;
  }

  .iby-page.iby-design-b2 .iby-active-reason__card {
    min-height: auto !important;
    padding: 26px 24px 0 !important;
    border-radius: 22px !important;
  }

  .iby-page.iby-design-b2 .iby-active-reason__num {
    font-size: 27px !important;
  }

  .iby-page.iby-design-b2 .iby-active-reason__badge {
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
    font-size: 16px !important;
  }

  .iby-page.iby-design-b2 .iby-active-reason__card h3 {
    font-size: 20px !important;
  }

  .iby-page.iby-design-b2 .iby-active-reason__card p {
    font-size: 13.5px !important;
    line-height: 1.85 !important;
  }

  .iby-page.iby-design-b2 .iby-active-reason__media {
    margin-left: -24px !important;
    margin-right: -24px !important;
    height: 220px !important;
    border-radius: 0 0 22px 22px !important;
  }
}

@media (max-width: 380px) {
  .iby-page.iby-design-b2 .iby-active-reason__media {
    height: 190px !important;
  }
}

/* =========================================================
   6. Program
========================================================= */
.iby-page.iby-design-b2 .iby-active-program {
  padding: 84px 24px 90px !important;
  background: linear-gradient(180deg, #f6fbf2 0%, #fff8ef 100%) !important;
}

.iby-page.iby-design-b2 .iby-active-program__inner {
  max-width: 1080px !important;
  margin: 0 auto !important;
}

.iby-page.iby-design-b2 .iby-active-program__steps {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 22px !important;
  margin-top: 52px !important;
}

.iby-page.iby-design-b2 .iby-active-program__steps::before {
  content: "" !important;
  position: absolute !important;
  top: 34px !important;
  left: 8% !important;
  right: 8% !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, rgba(233, 138, 58, 0.35), rgba(122, 166, 106, 0.35)) !important;
  z-index: 0 !important;
}

.iby-page.iby-design-b2 .iby-active-program__step {
  position: relative !important;
  z-index: 1 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  text-align: center !important;
}

.iby-page.iby-design-b2 .iby-active-program__num {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 68px !important;
  height: 68px !important;
  margin: 0 auto 22px !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, #f29a2e 0%, #e87820 100%) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  box-shadow: 0 12px 28px rgba(233, 138, 58, 0.24) !important;
}

.iby-page.iby-design-b2 .iby-active-program__num::before {
  content: "STEP" !important;
  position: absolute !important;
  top: -22px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  color: var(--iby-b2-main-dark) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
}

.iby-page.iby-design-b2 .iby-active-program__body {
  min-height: 150px !important;
  padding: 26px 22px 24px !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.95) !important;
  border: 1px solid rgba(233, 138, 58, 0.18) !important;
  box-shadow: 0 12px 30px rgba(80, 50, 20, 0.07) !important;
}

.iby-page.iby-design-b2 .iby-active-program__body h3 {
  margin: 0 0 10px !important;
  padding: 0 0 8px !important;
  border: none !important;
  border-bottom: 2px solid rgba(233, 138, 58, 0.28) !important;
  color: var(--iby-b2-text) !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
}

.iby-page.iby-design-b2 .iby-active-program__body p {
  margin: 0 !important;
  color: var(--iby-b2-muted) !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}

.iby-page.iby-design-b2 .iby-active-program__note {
  margin: 38px auto 0 !important;
  max-width: 760px !important;
  padding: 24px 28px !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.76) !important;
  border: 1px solid rgba(122, 166, 106, 0.22) !important;
  text-align: center !important;
}

.iby-page.iby-design-b2 .iby-active-program__note p {
  margin: 0 !important;
  color: var(--iby-b2-muted) !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
}

@media (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-active-program {
    padding: 56px 20px 62px !important;
  }

  .iby-page.iby-design-b2 .iby-active-program__steps {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin-top: 34px !important;
  }

  .iby-page.iby-design-b2 .iby-active-program__steps::before {
    top: 0 !important;
    bottom: 0 !important;
    left: 30px !important;
    right: auto !important;
    width: 2px !important;
    height: auto !important;
    opacity: 0.55 !important;
    background: linear-gradient(180deg, rgba(233, 138, 58, 0.35), rgba(122, 166, 106, 0.35)) !important;
  }

  .iby-page.iby-design-b2 .iby-active-program__step {
    display: grid !important;
    grid-template-columns: 58px 1fr !important;
    gap: 12px !important;
    align-items: stretch !important;
    text-align: left !important;
  }

  .iby-page.iby-design-b2 .iby-active-program__num {
    width: 56px !important;
    height: 56px !important;
    margin: 0 !important;
    border-radius: 17px !important;
    font-size: 13px !important;
  }

  .iby-page.iby-design-b2 .iby-active-program__num::before {
    content: "" !important;
    display: none !important;
  }

  .iby-page.iby-design-b2 .iby-active-program__body {
    min-height: auto !important;
    padding: 18px 16px !important;
    border-radius: 18px !important;
  }

  .iby-page.iby-design-b2 .iby-active-program__body h3 {
    font-size: 15.5px !important;
    line-height: 1.45 !important;
  }

  .iby-page.iby-design-b2 .iby-active-program__body p {
    font-size: 13px !important;
    line-height: 1.7 !important;
  }

  .iby-page.iby-design-b2 .iby-active-program__note {
    margin-top: 28px !important;
    padding: 20px 18px !important;
    border-radius: 20px !important;
  }

  .iby-page.iby-design-b2 .iby-active-program__note p {
    font-size: 13.5px !important;
    line-height: 1.8 !important;
  }
}

@media (max-width: 360px) {
  .iby-page.iby-design-b2 .iby-active-program__step {
    grid-template-columns: 52px 1fr !important;
    gap: 10px !important;
  }

  .iby-page.iby-design-b2 .iby-active-program__num {
    width: 50px !important;
    height: 50px !important;
    font-size: 12px !important;
    border-radius: 15px !important;
  }

  .iby-page.iby-design-b2 .iby-active-program__body {
    padding: 16px 14px !important;
  }
}

/* =========================================================
   7. Voice
========================================================= */
.iby-page.iby-design-b2 .iby-active-voice {
  padding: 84px 24px 90px !important;
  background: linear-gradient(180deg, #fff8ef 0%, #ffffff 100%) !important;
  text-align: center !important;
}

.iby-page.iby-design-b2 .iby-active-voice__inner {
  max-width: 1080px !important;
  margin: 0 auto !important;
}

.iby-page.iby-design-b2 .iby-active-voice hr,
.iby-page.iby-design-b2 .iby-active-voice .wp-block-separator {
  display: none !important;
}

.iby-page.iby-design-b2 .iby-active-voice__grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  margin-top: 44px !important;
}

.iby-page.iby-design-b2 .iby-active-voice__card {
  position: relative !important;
  padding: 28px 24px 26px !important;
  border: 1px solid rgba(122, 166, 106, 0.22) !important;
  border-radius: 26px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 14px 34px rgba(70, 80, 45, 0.08) !important;
  text-align: left !important;
}

.iby-page.iby-design-b2 .iby-active-voice__card::before,
.iby-page.iby-design-b2 .iby-active-voice .wp-block-column::before {
  content: none !important;
  display: none !important;
}

.iby-page.iby-design-b2 .iby-active-voice__card figure,
.iby-page.iby-design-b2 .iby-active-voice__card .wp-block-image {
  text-align: center !important;
  margin-bottom: 18px !important;
}

.iby-page.iby-design-b2 .iby-active-voice__card .wp-block-image img,
.iby-page.iby-design-b2 .iby-active-voice__card img {
  width: 108px !important;
  height: 108px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  display: block !important;
  margin: 0 auto !important;
}

.iby-page.iby-design-b2 .iby-active-voice__card h3,
.iby-page.iby-design-b2 .iby-active-voice__card .wp-block-heading {
  color: var(--iby-b2-text) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
  letter-spacing: 0.01em !important;
  margin: 0 0 16px !important;
  text-align: center !important;
  border: none !important;
}

.iby-page.iby-design-b2 .iby-active-voice__card p {
  margin: 0 !important;
  color: var(--iby-b2-muted) !important;
  font-size: 14px !important;
  line-height: 1.85 !important;
  text-align: left !important;
}

.iby-page.iby-design-b2 .iby-active-voice__card p:last-child,
.iby-page.iby-design-b2 .iby-active-voice__card strong {
  color: var(--iby-b2-main-dark) !important;
  font-weight: 800 !important;
  text-align: center !important;
}

.iby-page.iby-design-b2 .iby-active-voice__card p:last-child {
  margin-top: 14px !important;
}

.iby-page.iby-design-b2 .iby-active-voice__button,
.iby-page.iby-design-b2 .iby-active-voice .wp-block-buttons {
  justify-content: center !important;
  margin-top: 34px !important;
}

.iby-page.iby-design-b2 .iby-active-voice .wp-block-button__link {
  min-width: 190px !important;
  min-height: 50px !important;
  padding: 0 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(90deg, #f29a2e 0%, #e87820 100%) !important;
  color: #fff !important;
  border-radius: 999px !important;
  border: none !important;
  box-shadow: 0 12px 24px rgba(232, 120, 32, 0.22) !important;
}

.iby-page.iby-design-b2 .iby-active-voice .wp-block-button__link:hover {
  background: linear-gradient(90deg, #e87820 0%, #cf6418 100%) !important;
  color: #fff !important;
}

@media (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-active-voice {
    padding: 56px 20px 62px !important;
  }

  .iby-page.iby-design-b2 .iby-active-voice__grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    margin-top: 32px !important;
  }

  .iby-page.iby-design-b2 .iby-active-voice__card {
    padding: 24px 20px 22px !important;
    border-radius: 22px !important;
  }

  .iby-page.iby-design-b2 .iby-active-voice__card h3,
  .iby-page.iby-design-b2 .iby-active-voice__card .wp-block-heading {
    font-size: 18px !important;
    line-height: 1.55 !important;
    margin-bottom: 14px !important;
  }

  .iby-page.iby-design-b2 .iby-active-voice__card p {
    font-size: 13.5px !important;
    line-height: 1.8 !important;
  }

  .iby-page.iby-design-b2 .iby-active-voice .wp-block-button,
  .iby-page.iby-design-b2 .iby-active-voice .wp-block-button__link {
    width: 100% !important;
  }
}

@media (max-width: 360px) {
  .iby-page.iby-design-b2 .iby-active-voice__card h3,
  .iby-page.iby-design-b2 .iby-active-voice__card .wp-block-heading {
    font-size: 17px !important;
  }

  .iby-page.iby-design-b2 .iby-active-voice__card p {
    font-size: 13px !important;
  }
}

/* =========================================================
   8. Flow
========================================================= */
.iby-page.iby-design-b2 .iby-active-flow {
  padding: 84px 24px 90px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fff8ef 100%) !important;
}

.iby-page.iby-design-b2 .iby-active-flow__inner {
  max-width: 1080px !important;
  margin: 0 auto !important;
}

.iby-page.iby-design-b2 .iby-active-flow__list {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 22px !important;
  margin-top: 48px !important;
}

.iby-page.iby-design-b2 .iby-active-flow__item {
  position: relative !important;
  padding: 30px 24px 28px !important;
  border-radius: 26px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(233, 138, 58, 0.18) !important;
  box-shadow: 0 14px 34px rgba(80, 50, 20, 0.07) !important;
  text-align: left !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.iby-page.iby-design-b2 .iby-active-flow__item:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 18px 38px rgba(80, 50, 20, 0.10) !important;
}

.iby-page.iby-design-b2 .iby-active-flow__num {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 46px !important;
  margin-bottom: 18px !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #f29a2e 0%, #e87820 100%) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  box-shadow: 0 10px 22px rgba(233, 138, 58, 0.22) !important;
}

.iby-page.iby-design-b2 .iby-active-flow__body h3 {
  margin: 0 0 10px !important;
  padding: 0 0 8px !important;
  border: none !important;
  color: var(--iby-b2-text) !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
}

.iby-page.iby-design-b2 .iby-active-flow__body h3::after {
  content: "" !important;
  display: block !important;
  width: 42px !important;
  height: 2px !important;
  margin-top: 8px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--iby-b2-main), var(--iby-b2-green)) !important;
}

.iby-page.iby-design-b2 .iby-active-flow__body p {
  margin: 0 !important;
  color: var(--iby-b2-muted) !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}

@media (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-active-flow {
    padding: 56px 20px 62px !important;
  }

  .iby-page.iby-design-b2 .iby-active-flow__list {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    margin-top: 34px !important;
  }

  .iby-page.iby-design-b2 .iby-active-flow__item {
    display: grid !important;
    grid-template-columns: 56px 1fr !important;
    gap: 14px !important;
    align-items: flex-start !important;
    padding: 22px 18px !important;
    border-radius: 20px !important;
  }

  .iby-page.iby-design-b2 .iby-active-flow__num {
    width: 50px !important;
    height: 50px !important;
    margin-bottom: 0 !important;
    border-radius: 16px !important;
    font-size: 13px !important;
  }

  .iby-page.iby-design-b2 .iby-active-flow__body h3 {
    font-size: 16px !important;
    margin-bottom: 7px !important;
  }

  .iby-page.iby-design-b2 .iby-active-flow__body p {
    font-size: 13.5px !important;
    line-height: 1.75 !important;
  }
}

/* =========================================================
   9. Safe
========================================================= */
.iby-page.iby-design-b2 .iby-active-safe {
  padding: 84px 24px 90px !important;
  background: linear-gradient(180deg, #fff8ef 0%, #f6fbf2 100%) !important;
}

.iby-page.iby-design-b2 .iby-active-safe__inner {
  max-width: 1080px !important;
  margin: 0 auto !important;
}

.iby-page.iby-design-b2 .iby-active-safe__layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.8fr) !important;
  gap: 34px !important;
  align-items: stretch !important;
  margin-top: 46px !important;
}

.iby-page.iby-design-b2 .iby-active-safe__box {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 22px !important;
  margin-top: 0 !important;
}

.iby-page.iby-design-b2 .iby-active-safe__item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 16px !important;
  padding: 26px 26px !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(122, 166, 106, 0.24) !important;
  box-shadow: 0 12px 30px rgba(70, 80, 45, 0.07) !important;
}

.iby-page.iby-design-b2 .iby-active-safe__check {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  background: var(--iby-b2-green) !important;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 900 !important;
}

.iby-page.iby-design-b2 .iby-active-safe__body h3 {
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: none !important;
  color: var(--iby-b2-text) !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
}

.iby-page.iby-design-b2 .iby-active-safe__body p {
  margin: 0 !important;
  color: var(--iby-b2-muted) !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}

.iby-page.iby-design-b2 .iby-active-safe__visual {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 300px !important;
  height: 100% !important;
  padding: 26px !important;
  border-radius: 32px !important;
  background: radial-gradient(circle at top right, rgba(233, 138, 58, 0.16), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(246, 251, 242, 0.9)) !important;
  border: 1px solid rgba(122, 166, 106, 0.22) !important;
  box-shadow: 0 16px 36px rgba(70, 80, 45, 0.08) !important;
  overflow: hidden !important;
}

.iby-page.iby-design-b2 .iby-active-safe__visual::before {
  content: "" !important;
  position: absolute !important;
  width: 150px !important;
  height: 150px !important;
  left: -42px !important;
  bottom: -42px !important;
  border-radius: 50% !important;
  background: rgba(122, 166, 106, 0.14) !important;
}

.iby-page.iby-design-b2 .iby-active-safe__visual::after {
  content: "" !important;
  position: absolute !important;
  width: 90px !important;
  height: 90px !important;
  right: 26px !important;
  top: 28px !important;
  border-radius: 50% !important;
  background: rgba(233, 138, 58, 0.12) !important;
}

.iby-page.iby-design-b2 .iby-active-safe__visual img {
  position: relative !important;
  z-index: 1 !important;
  width: 210px !important;
  height: 210px !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  border-radius: 18px !important;
}

@media (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-active-safe {
    padding: 56px 20px 62px !important;
  }

  .iby-page.iby-design-b2 .iby-active-safe__layout {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    margin-top: 32px !important;
  }

  .iby-page.iby-design-b2 .iby-active-safe__box {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .iby-page.iby-design-b2 .iby-active-safe__visual {
    order: -1 !important;
    min-height: auto !important;
    padding: 20px !important;
    border-radius: 24px !important;
  }

  .iby-page.iby-design-b2 .iby-active-safe__visual img {
    width: 190px !important;
    height: 190px !important;
  }

  .iby-page.iby-design-b2 .iby-active-safe__item {
    padding: 20px 18px !important;
    border-radius: 20px !important;
    gap: 13px !important;
  }

  .iby-page.iby-design-b2 .iby-active-safe__check {
    width: 30px !important;
    height: 30px !important;
    font-size: 15px !important;
  }

  .iby-page.iby-design-b2 .iby-active-safe__body h3 {
    font-size: 16px !important;
  }

  .iby-page.iby-design-b2 .iby-active-safe__body p {
    font-size: 13.5px !important;
    line-height: 1.75 !important;
  }
}

@media (max-width: 360px) {
  .iby-page.iby-design-b2 .iby-active-safe__visual img {
    width: 170px !important;
    height: 170px !important;
  }
}

/* =========================================================
   10. Middle CTA
========================================================= */
.iby-page.iby-design-b2 .iby-active-cta {
  padding: 72px 24px 76px !important;
  background: radial-gradient(circle at top right, rgba(233, 138, 58, 0.16), transparent 34%),
    linear-gradient(180deg, #f6fbf2 0%, #fff8ef 100%) !important;
}

.iby-page.iby-design-b2 .iby-active-cta__inner {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 48px 42px !important;
  border-radius: 34px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(233, 138, 58, 0.22) !important;
  box-shadow: 0 18px 44px rgba(80, 50, 20, 0.10) !important;
  text-align: center !important;
}

.iby-page.iby-design-b2 .iby-active-cta__label {
  margin-bottom: 14px !important;
  color: var(--iby-b2-main-dark) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
}

.iby-page.iby-design-b2 .iby-active-cta__title {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  color: var(--iby-b2-text) !important;
  font-size: clamp(30px, 3.4vw, 42px) !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
}

.iby-page.iby-design-b2 .iby-active-cta__text {
  max-width: 680px !important;
  margin: 24px auto 0 !important;
  color: var(--iby-b2-muted) !important;
  font-size: 15.5px !important;
  line-height: 1.9 !important;
}

.iby-page.iby-design-b2 .iby-active-cta__buttons {
  margin-top: 34px !important;
}

.iby-page.iby-design-b2 .iby-active-cta__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 260px !important;
  min-height: 56px !important;
  padding: 0 34px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #f29a2e 0%, #e87820 100%) !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  box-shadow: 0 14px 28px rgba(232, 120, 32, 0.24) !important;
}

.iby-page.iby-design-b2 .iby-active-cta__button:hover {
  background: linear-gradient(90deg, #e87820 0%, #cf6418 100%) !important;
  color: #fff !important;
}

.iby-page.iby-design-b2 .iby-active-cta__note {
  margin: 20px auto 0 !important;
  color: var(--iby-b2-muted) !important;
  font-size: 12.5px !important;
  line-height: 1.7 !important;
}

@media (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-active-cta {
    padding: 58px 20px 64px !important;
  }

  .iby-page.iby-design-b2 .iby-active-cta__inner {
    padding: 34px 22px !important;
    border-radius: 26px !important;
  }

  .iby-page.iby-design-b2 .iby-active-cta__label {
    font-size: 12px !important;
  }

  .iby-page.iby-design-b2 .iby-active-cta__title {
    font-size: 24px !important;
    line-height: 1.55 !important;
  }

  .iby-page.iby-design-b2 .iby-active-cta__text {
    font-size: 13.5px !important;
    line-height: 1.85 !important;
  }

  .iby-page.iby-design-b2 .iby-active-cta__button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    font-size: 14px !important;
  }
}

/* =========================================================
   11. Access
========================================================= */
.iby-page.iby-design-b2 .iby-active-access {
  padding: 68px 24px 62px !important;
  margin-bottom: 0 !important;
  background: linear-gradient(180deg, #fff8ef 0%, #f6fbf2 100%) !important;
}

.iby-page.iby-design-b2 .iby-active-access__inner {
  max-width: 1100px !important;
  margin: 0 auto !important;
}

.iby-page.iby-design-b2 .iby-active-access__layout {
  display: grid !important;
  grid-template-columns: 0.9fr 1.1fr !important;
  gap: 28px !important;
  align-items: stretch !important;
  margin-top: 44px !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.iby-page.iby-design-b2 .iby-active-access__info {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
}

.iby-page.iby-design-b2 .iby-active-access__card {
  padding: 20px 22px !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(122, 166, 106, 0.22) !important;
  box-shadow: 0 10px 28px rgba(80, 50, 20, 0.07) !important;
}

.iby-page.iby-design-b2 .iby-active-access__label {
  display: inline-flex !important;
  align-items: center !important;
  margin-bottom: 8px !important;
  color: var(--iby-b2-main-dark) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
}

.iby-page.iby-design-b2 .iby-active-access__card p {
  margin: 0 !important;
  color: var(--iby-b2-text) !important;
  font-size: 14.5px !important;
  line-height: 1.8 !important;
}

.iby-page.iby-design-b2 .iby-active-access__map {
  min-height: 420px !important;
  border-radius: 26px !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(233, 138, 58, 0.20) !important;
  box-shadow: 0 14px 34px rgba(80, 50, 20, 0.10) !important;
}

.iby-page.iby-design-b2 .iby-active-access__map iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 420px !important;
  border: 0 !important;
}

@media (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-active-access {
    padding: 56px 20px 54px !important;
  }

  .iby-page.iby-design-b2 .iby-active-access__layout {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    margin-top: 32px !important;
  }

  .iby-page.iby-design-b2 .iby-active-access__card {
    padding: 18px 18px !important;
    border-radius: 18px !important;
  }

  .iby-page.iby-design-b2 .iby-active-access__card p {
    font-size: 13.5px !important;
  }

  .iby-page.iby-design-b2 .iby-active-access__map {
    min-height: 300px !important;
    border-radius: 20px !important;
  }

  .iby-page.iby-design-b2 .iby-active-access__map iframe {
    min-height: 300px !important;
  }
}

/* =========================================================
   12. Banners / Campaign
========================================================= */
.iby-page.iby-design-b2 .iby-active-banners {
  padding: 64px 24px 92px !important;
  background: linear-gradient(180deg, #f6fbf2 0%, #fff8ef 100%) !important;
}

.iby-page.iby-design-b2 .iby-active-banners__inner {
  max-width: 1000px !important;
  margin: 0 auto 38px !important;
}

.iby-page.iby-design-b2 .ilchi-monthly-campaign,
.iby-page.iby-design-b2 .iby-active-banners .ilchi-monthly-campaign,
.iby-page.iby-design-b2 .iby-active-banners .iby-active-banners__chakra,
.iby-page.iby-design-b2 .iby-active-banners figure.iby-active-banners__chakra,
.iby-page.iby-design-b2 .iby-active-banners .wp-block-image.iby-active-banners__chakra {
  width: 100% !important;
  max-width: 780px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

.iby-page.iby-design-b2 .iby-active-banners .ilchi-monthly-campaign {
  margin-top: 34px !important;
  margin-bottom: 28px !important;
}

.iby-page.iby-design-b2 .ilchi-monthly-campaign__link {
  display: block !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 14px 34px rgba(80, 50, 20, 0.10) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.iby-page.iby-design-b2 .ilchi-monthly-campaign__link:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 18px 42px rgba(80, 50, 20, 0.14) !important;
}

.iby-page.iby-design-b2 .iby-active-banners .ilchi-monthly-campaign img,
.iby-page.iby-design-b2 .iby-active-banners .iby-active-banners__chakra img,
.iby-page.iby-design-b2 .iby-active-banners figure.iby-active-banners__chakra img,
.iby-page.iby-design-b2 .iby-active-banners .wp-block-image.iby-active-banners__chakra img {
  display: block !important;
  width: 100% !important;
  max-width: 740px !important;
  height: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 34px rgba(80, 50, 20, 0.10) !important;
}

.iby-page.iby-design-b2 .iby-active-banners__chakra {
  margin-top: 24px !important;
}

.iby-page.iby-design-b2 .iby-active-banners figure {
  margin-bottom: 0 !important;
}

.iby-page.iby-design-b2 .iby-b2-recommend-banners {
  max-width: 860px !important;
  margin: 0 auto !important;
}

.iby-page.iby-design-b2 .iby-b2-recommend-banners .wp-block-image,
.iby-page.iby-design-b2 .iby-b2-recommend-banners .ilchi-banner {
  margin: 0 0 22px !important;
}

.iby-page.iby-design-b2 .iby-b2-recommend-banners img {
  width: 100% !important;
  max-width: 780px !important;
  aspect-ratio: 1200 / 320 !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 auto !important;
  border-radius: 24px !important;
  box-shadow: 0 10px 30px rgba(80, 50, 20, 0.08) !important;
}

@media (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-active-banners {
    padding: 54px 20px 68px !important;
  }

  .iby-page.iby-design-b2 .iby-active-banners__inner {
    margin-bottom: 28px !important;
  }

  .iby-page.iby-design-b2 .ilchi-monthly-campaign,
  .iby-page.iby-design-b2 .iby-active-banners .ilchi-monthly-campaign,
  .iby-page.iby-design-b2 .iby-active-banners .iby-active-banners__chakra,
  .iby-page.iby-design-b2 .iby-active-banners figure.iby-active-banners__chakra,
  .iby-page.iby-design-b2 .iby-active-banners .wp-block-image.iby-active-banners__chakra {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .iby-page.iby-design-b2 .iby-active-banners .ilchi-monthly-campaign {
    margin-top: 28px !important;
    margin-bottom: 22px !important;
  }

  .iby-page.iby-design-b2 .iby-active-banners .ilchi-monthly-campaign img,
  .iby-page.iby-design-b2 .iby-active-banners .iby-active-banners__chakra img,
  .iby-page.iby-design-b2 .iby-active-banners figure.iby-active-banners__chakra img,
  .iby-page.iby-design-b2 .iby-active-banners .wp-block-image.iby-active-banners__chakra img,
  .iby-page.iby-design-b2 .iby-b2-recommend-banners img {
    max-width: 100% !important;
    border-radius: 16px !important;
  }
}


/* =========================================================
   12.5 Kakuremino / Related Activity
========================================================= */
.iby-page.iby-design-b2 .iby-kakuremino {
  padding: 0 22px !important;
  background: linear-gradient(180deg, #fff8ef 0%, #f6fbf2 100%) !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-inner {
  position: relative !important;
  max-width: 1120px !important;
  min-height: 380px !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 12px 30px rgba(80, 50, 20, 0.08) !important;
  isolation: isolate !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center right !important;
  display: block !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-inner::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.96) 0%,
    rgba(255, 255, 255, 0.90) 38%,
    rgba(255, 248, 239, 0.46) 66%,
    rgba(255, 248, 239, 0.12) 100%
  ) !important;
  pointer-events: none !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-content {
  position: relative !important;
  z-index: 2 !important;
  width: min(470px, 100%) !important;
  padding: 28px 34px 26px !important;
  color: var(--iby-b2-text) !important;
}

.iby-page.iby-design-b2 .iby-kakuremino h2 {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: var(--iby-b2-text) !important;
  font-size: clamp(24px, 2.1vw, 30px) !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.02em !important;
  text-align: left !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-lead {
  margin: 0 0 14px !important;
  color: var(--iby-b2-text) !important;
  font-size: 12.5px !important;
  line-height: 1.65 !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-list {
  display: grid !important;
  gap: 0 !important;
  margin: 0 0 14px !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-item {
  display: grid !important;
  grid-template-columns: 40px 1fr !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid rgba(80, 50, 20, 0.12) !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  background: rgba(122, 166, 106, 0.12) !important;
  box-shadow: inset 0 0 0 1px rgba(122, 166, 106, 0.10) !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-icon img {
  width: 21px !important;
  height: 21px !important;
  object-fit: contain !important;
  display: block !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-item h3 {
  margin: 0 0 4px !important;
  padding: 0 !important;
  color: #477334 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-item p {
  margin: 0 !important;
  color: var(--iby-b2-text) !important;
  font-size: 12.5px !important;
  line-height: 1.65 !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-note {
  margin: 0 0 14px !important;
  color: var(--iby-b2-muted) !important;
  font-size: 12.5px !important;
  line-height: 1.65 !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 210px !important;
  min-height: 42px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  background: #ef5f8d !important;
  color: #fff !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  box-shadow: 0 14px 28px rgba(239, 95, 141, 0.24) !important;
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-button:hover {
  transform: translateY(-2px) !important;
  background: #dc4d7c !important;
  color: #fff !important;
  box-shadow: 0 18px 34px rgba(239, 95, 141, 0.30) !important;
}

@media (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-kakuremino {
    padding: 0 20px !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-inner {
    min-height: auto !important;
    border-radius: 26px !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-bg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    object-position: center right !important;
    opacity: 0.28 !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-inner::before {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.90) 58%, rgba(255, 248, 239, 0.72) 100%) !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-content {
    width: 100% !important;
    padding: 24px 22px 26px !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino h2 {
    margin-bottom: 18px !important;
    font-size: 26px !important;
    line-height: 1.45 !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-lead {
    margin-bottom: 24px !important;
    font-size: 13.5px !important;
    line-height: 1.9 !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-lead br {
    display: none !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-item {
    grid-template-columns: 48px 1fr !important;
    gap: 13px !important;
    padding: 16px 0 !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-icon {
    width: 44px !important;
    height: 44px !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-icon img {
    width: 27px !important;
    height: 27px !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-item h3 {
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-item p {
    font-size: 12.5px !important;
    line-height: 1.75 !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-note {
    margin-bottom: 22px !important;
    font-size: 12.5px !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-button {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Connect Kakuremino with adjacent B-2 sections */
.iby-page.iby-design-b2 .iby-active-banners:has(+ .iby-kakuremino) {
  padding-bottom: 0 !important;
}

.iby-page.iby-design-b2 .iby-active-banners + .iby-kakuremino,
.iby-page.iby-design-b2 .iby-kakuremino + .iby-active-trainer {
  margin-top: 0 !important;
}

.iby-page.iby-design-b2 .iby-kakuremino {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: linear-gradient(180deg, #fff8ef 0%, #fff8ef 48%, #f6fbf2 100%) !important;
}

.iby-page.iby-design-b2 .iby-kakuremino + .iby-active-trainer {
  padding-top: 58px !important;
  background: linear-gradient(180deg, #f6fbf2 0%, #fff8ef 46%, #f6fbf2 100%) !important;
}
/* =========================================================
   13. Trainer
========================================================= */
.iby-page.iby-design-b2 .iby-active-trainer {
  padding: 86px 24px 92px !important;
  background: radial-gradient(circle at top left, rgba(122, 166, 106, 0.12), transparent 32%),
    linear-gradient(180deg, #fff8ef 0%, #f6fbf2 100%) !important;
}

.iby-page.iby-design-b2 .iby-active-trainer__inner {
  max-width: 1000px !important;
  margin: 0 auto !important;
}

.iby-page.iby-design-b2 .iby-active-trainer__card {
  display: grid !important;
  grid-template-columns: 300px 1fr !important;
  gap: 34px !important;
  align-items: center !important;
  margin-top: 44px !important;
  padding: 42px !important;
  border-radius: 34px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(233, 138, 58, 0.20) !important;
  box-shadow: 0 18px 44px rgba(80, 50, 20, 0.10) !important;
}

.iby-page.iby-design-b2 .iby-active-trainer__photo {
  max-width: 280px !important;
  margin: 0 auto !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 12px 30px rgba(80, 50, 20, 0.10) !important;
}

.iby-page.iby-design-b2 .iby-active-trainer__photo img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
}

.iby-page.iby-design-b2 .iby-active-trainer__tag {
  display: inline-flex !important;
  margin-bottom: 14px !important;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  background: rgba(233, 138, 58, 0.12) !important;
  color: var(--iby-b2-main-dark) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
}

.iby-page.iby-design-b2 .iby-active-trainer__name,
.iby-page.iby-design-b2 .iby-active-trainer__name a {
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  background-image: none !important;
  text-decoration: none !important;
  color: var(--iby-b2-text) !important;
  font-size: 28px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
}

.iby-page.iby-design-b2 .iby-active-trainer__name::before,
.iby-page.iby-design-b2 .iby-active-trainer__name::after {
  content: none !important;
  display: none !important;
}

.iby-page.iby-design-b2 .iby-active-trainer__message {
  margin: 0 0 16px !important;
  color: var(--iby-b2-muted) !important;
  font-size: 15px !important;
  line-height: 1.95 !important;
}

.iby-page.iby-design-b2 .iby-active-trainer__message:last-child {
  margin-bottom: 0 !important;
}

@media (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-active-trainer {
    padding: 62px 20px 68px !important;
  }

  .iby-page.iby-design-b2 .iby-active-trainer__card {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    margin-top: 32px !important;
    padding: 24px 22px !important;
    border-radius: 26px !important;
  }

  .iby-page.iby-design-b2 .iby-active-trainer__photo {
    max-width: 230px !important;
    border-radius: 22px !important;
  }

  .iby-page.iby-design-b2 .iby-active-trainer__name {
    font-size: 22px !important;
    text-align: center !important;
  }

  .iby-page.iby-design-b2 .iby-active-trainer__tag {
    display: flex !important;
    justify-content: center !important;
    width: fit-content !important;
    margin: 0 auto 14px !important;
  }

  .iby-page.iby-design-b2 .iby-active-trainer__message {
    font-size: 13.5px !important;
    line-height: 1.9 !important;
  }
}

/* =========================================================
   14. Final CTA
========================================================= */
.iby-page.iby-design-b2 .iby-active-final-cta {
  position: relative !important;
  padding: 92px 24px 104px !important;
  background: radial-gradient(circle at 12% 18%, rgba(122, 166, 106, 0.16), transparent 28%),
    radial-gradient(circle at 88% 82%, rgba(233, 138, 58, 0.16), transparent 30%),
    linear-gradient(180deg, #f6fbf2 0%, #fff8ef 100%) !important;
  overflow: hidden !important;
}

.iby-page.iby-design-b2 .iby-active-final-cta__inner {
  position: relative !important;
  z-index: 1 !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 54px 44px 50px !important;
  border-radius: 36px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(233, 138, 58, 0.22) !important;
  box-shadow: 0 20px 48px rgba(80, 50, 20, 0.12) !important;
  text-align: center !important;
}

.iby-page.iby-design-b2 .iby-active-final-cta__label {
  margin-bottom: 14px !important;
  color: var(--iby-b2-main-dark) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
}

.iby-page.iby-design-b2 .iby-active-final-cta__title {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  color: var(--iby-b2-text) !important;
  font-size: clamp(30px, 3.3vw, 42px) !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
}

.iby-page.iby-design-b2 .iby-active-final-cta__text {
  max-width: 700px !important;
  margin: 24px auto 0 !important;
  color: var(--iby-b2-muted) !important;
  font-size: 15.5px !important;
  line-height: 1.95 !important;
}

.iby-page.iby-design-b2 .iby-active-final-cta__buttons {
  display: flex !important;
  justify-content: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin-top: 34px !important;
}

.iby-page.iby-design-b2 .iby-active-final-cta__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 220px !important;
  min-height: 56px !important;
  padding: 0 30px !important;
  border-radius: 999px !important;
  font-size: 15.5px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

.iby-page.iby-design-b2 .iby-active-final-cta__button--main {
  background: linear-gradient(90deg, #f29a2e 0%, #e87820 100%) !important;
  color: #fff !important;
  box-shadow: 0 14px 28px rgba(232, 120, 32, 0.26) !important;
}

.iby-page.iby-design-b2 .iby-active-final-cta__button--sub {
  background: #fff !important;
  color: var(--iby-b2-main-dark) !important;
  border: 1px solid rgba(233, 138, 58, 0.36) !important;
  box-shadow: 0 10px 24px rgba(80, 50, 20, 0.08) !important;
}

.iby-page.iby-design-b2 .iby-active-final-cta__button:hover {
  transform: translateY(-2px) !important;
}

.iby-page.iby-design-b2 .iby-active-final-cta__button--main:hover {
  background: linear-gradient(90deg, #e87820 0%, #cf6418 100%) !important;
  color: #fff !important;
}

.iby-page.iby-design-b2 .iby-active-final-cta__button--sub:hover {
  background: rgba(233, 138, 58, 0.08) !important;
  color: var(--iby-b2-main-dark) !important;
}

.iby-page.iby-design-b2 .iby-active-final-cta__note {
  max-width: 680px !important;
  margin: 22px auto 0 !important;
  color: var(--iby-b2-muted) !important;
  font-size: 12.5px !important;
  line-height: 1.75 !important;
}

@media (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-active-final-cta {
    padding: 66px 20px 78px !important;
  }

  .iby-page.iby-design-b2 .iby-active-final-cta__inner {
    padding: 38px 22px 36px !important;
    border-radius: 28px !important;
  }

  .iby-page.iby-design-b2 .iby-active-final-cta__label {
    font-size: 12px !important;
  }

  .iby-page.iby-design-b2 .iby-active-final-cta__title {
    font-size: 24px !important;
    line-height: 1.55 !important;
  }

  .iby-page.iby-design-b2 .iby-active-final-cta__text {
    font-size: 13.5px !important;
    line-height: 1.9 !important;
  }

  .iby-page.iby-design-b2 .iby-active-final-cta__buttons {
    gap: 10px !important;
    margin-top: 28px !important;
  }

  .iby-page.iby-design-b2 .iby-active-final-cta__button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 52px !important;
    font-size: 14px !important;
  }

  .iby-page.iby-design-b2 .iby-active-final-cta__note {
    font-size: 11.5px !important;
  }
}
/* =========================
   B-2 関連おすすめ・キャンペーン情報 / 背景
========================= */
.iby-page.iby-design-b2 .iby-active-banners.iby-b2-recommend-banners {
  position: relative;
  background: linear-gradient(180deg, #f5f8f1 0%, #f8f3e9 100%) !important;
  padding: 88px 0 92px !important;
  overflow: hidden;
}

/* 背景のやわらかな装飾 */
.iby-page.iby-design-b2 .iby-active-banners.iby-b2-recommend-banners::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 15% 20%, rgba(206, 220, 196, 0.22) 0%, rgba(206, 220, 196, 0) 38%),
    radial-gradient(circle at 85% 15%, rgba(243, 227, 201, 0.22) 0%, rgba(243, 227, 201, 0) 36%);
  pointer-events: none;
}

/* 中身を背景より前面に配置 */
.iby-page.iby-design-b2 .iby-active-banners.iby-b2-recommend-banners > * {
  position: relative;
  z-index: 1;
}
/* B-2 おすすめバナーセクションを全幅背景で表示 */
.iby-page.iby-design-b2 .wp-block-group.alignfull.iby-active-banners.iby-b2-recommend-banners {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
  max-width: 100vw !important;
}
/* =========================================================
   Footer separation note
   フッターの装飾は09-footer.cssで管理するため、05-b2.cssには含めない。
========================================================= */

/* =========================================================
   B-2 Related Activity / Height Balance
   2026-06 adjustment
   ========================================================= */

/* PC：関連活動を少しコンパクトにし、写真との高さバランスを整える */
.iby-page.iby-design-b2 .iby-kakuremino {
  padding-left: 22px !important;
  padding-right: 22px !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-inner {
  min-height: 430px !important;
  display: flex !important;
  align-items: center !important;
  border-radius: 26px !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-bg {
  object-position: center right !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-content {
  width: min(455px, 100%) !important;
  padding: 30px 34px 28px !important;
}

.iby-page.iby-design-b2 .iby-kakuremino h2 {
  margin-bottom: 12px !important;
  font-size: clamp(23px, 2vw, 28px) !important;
  line-height: 1.36 !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-lead {
  margin-bottom: 12px !important;
  font-size: 12.5px !important;
  line-height: 1.6 !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-list {
  margin-bottom: 12px !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-item {
  grid-template-columns: 38px 1fr !important;
  gap: 9px !important;
  padding: 6px 0 !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-icon {
  width: 32px !important;
  height: 32px !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-icon img {
  width: 20px !important;
  height: 20px !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-item h3 {
  font-size: 14.5px !important;
  line-height: 1.4 !important;
  margin-bottom: 3px !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-item p {
  font-size: 12.2px !important;
  line-height: 1.58 !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-note {
  margin-bottom: 12px !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-button {
  min-height: 40px !important;
  min-width: 205px !important;
  font-size: 12.3px !important;
}

/* タブレット：横幅が狭い時は背景を薄め、文字優先 */
@media (max-width: 900px) {
  .iby-page.iby-design-b2 .iby-kakuremino-inner {
    min-height: auto !important;
    display: block !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-bg {
    opacity: 0.24 !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-inner::before {
    background: linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.97) 0%,
      rgba(255, 255, 255, 0.94) 58%,
      rgba(255, 248, 239, 0.72) 100%
    ) !important;
  }
}

/* スマホ：見やすさ優先で余白を整える */
@media (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-kakuremino {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-content {
    padding: 26px 22px 28px !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino h2 {
    font-size: 24px !important;
    line-height: 1.45 !important;
    margin-bottom: 14px !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-lead {
    margin-bottom: 18px !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-item {
    grid-template-columns: 46px 1fr !important;
    gap: 12px !important;
    padding: 13px 0 !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-icon {
    width: 42px !important;
    height: 42px !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-icon img {
    width: 25px !important;
    height: 25px !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-item h3 {
    font-size: 15.5px !important;
    line-height: 1.45 !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
  }
}



/* =========================================================
   B-2 Related Activity / Larger Height Restore
   2026-06 adjustment
   ========================================================= */

/* PC：関連活動は他ページと同じ背景画像型のまま、高さを大きめに戻す */
@media (min-width: 901px) {
  .iby-page.iby-design-b2 .iby-kakuremino {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-inner {
    min-height: 520px !important;
    display: flex !important;
    align-items: center !important;
    border-radius: 26px !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-bg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center right !important;
    opacity: 1 !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-inner::before {
    background: linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.96) 0%,
      rgba(255, 255, 255, 0.90) 38%,
      rgba(255, 248, 239, 0.46) 66%,
      rgba(255, 248, 239, 0.12) 100%
    ) !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-content {
    width: min(490px, 100%) !important;
    padding: 42px 38px 40px !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino h2 {
    margin-bottom: 16px !important;
    font-size: clamp(26px, 2.3vw, 34px) !important;
    line-height: 1.38 !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-lead {
    margin-bottom: 18px !important;
    font-size: 13px !important;
    line-height: 1.75 !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-list {
    margin-bottom: 18px !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-item {
    grid-template-columns: 42px 1fr !important;
    gap: 11px !important;
    padding: 9px 0 !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-icon {
    width: 36px !important;
    height: 36px !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-icon img {
    width: 22px !important;
    height: 22px !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-item h3 {
    font-size: 15.5px !important;
    line-height: 1.45 !important;
    margin-bottom: 4px !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-item p {
    font-size: 12.8px !important;
    line-height: 1.7 !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-note {
    margin-bottom: 18px !important;
    font-size: 12.5px !important;
    line-height: 1.65 !important;
  }

  .iby-page.iby-design-b2 .iby-kakuremino-button {
    min-height: 44px !important;
    min-width: 220px !important;
    font-size: 12.8px !important;
  }
}

/* =========================================================
   B2 BUTTON TEXT VERTICAL CENTER FINAL
   金山B2：全ボタンの文字を高さ中央へ揃える
   2026-07-31
========================================================= */

/* ボタン外側の行高・不要余白をリセット */
.iby-page.iby-design-b2 .wp-block-buttons,
.iby-page.iby-design-b2 .wp-block-button {
  line-height: 1 !important;
}

/* B2内の全ボタンをflexで上下左右中央揃え */
.iby-page.iby-design-b2 .wp-block-button__link,
.iby-page.iby-design-b2 .iby-active-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1.2 !important;
  vertical-align: middle !important;
}

/* エディターがspan・strong・pを補った場合も中央位置を維持 */
.iby-page.iby-design-b2 .wp-block-button__link > span,
.iby-page.iby-design-b2 .wp-block-button__link > strong,
.iby-page.iby-design-b2 .wp-block-button__link > p,
.iby-page.iby-design-b2 .iby-active-btn > span,
.iby-page.iby-design-b2 .iby-active-btn > strong,
.iby-page.iby-design-b2 .iby-active-btn > p {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}

/* 意図しない改行タグがボタン内へ入った場合は無効化 */
.iby-page.iby-design-b2 .wp-block-button__link > br,
.iby-page.iby-design-b2 .iby-active-btn > br {
  display: none !important;
}

/* 体験談ボタンの高さを明示して視覚上の中央を固定 */
.iby-page.iby-design-b2 .iby-active-voice .wp-block-button__link {
  height: 50px !important;
  min-height: 50px !important;
  line-height: 1 !important;
}

/* =========================================================
   KANAYAMA B2 / VOICE TITLE ONE LINE
   PC：体験談カード見出しを1行に統一
   2026-07-31
========================================================= */
@media screen and (min-width: 992px) {
  .iby-page.iby-design-b2 .iby-active-voice__card h3,
  .iby-page.iby-design-b2 .iby-active-voice__card .wp-block-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 28px !important;
    margin: 0 0 16px !important;
    font-size: 17px !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  .iby-page.iby-design-b2 .iby-active-voice__card h3 br,
  .iby-page.iby-design-b2 .iby-active-voice__card .wp-block-heading br,
  .iby-page.iby-design-b2 .iby-active-voice__card h3 p,
  .iby-page.iby-design-b2 .iby-active-voice__card .wp-block-heading p {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* =========================================================
   KANAYAMA B2 / HERO PC MATCH SAPPORO SAMPLE
   PC：HEROを全面背景画像＋左側コピーカードへ統一
   2026-07-31
========================================================= */
@media screen and (min-width: 768px) {

  /* HEROを画面幅いっぱいに固定 */
  .iby-page.iby-design-b2 .iby-active-hero.wp-block-cover,
  .iby-page.iby-design-b2 .iby-active-hero {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: 560px !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  /* クラシックエディター環境でも画像を背景として絶対配置 */
  .iby-page.iby-design-b2 .iby-active-hero > .wp-block-cover__image-background,
  .iby-page.iby-design-b2 .iby-active-hero .wp-block-cover__image-background {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero > .wp-block-cover__background,
  .iby-page.iby-design-b2 .iby-active-hero .wp-block-cover__background {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    margin: 0 !important;
  }

  /* 見本と同じ位置へコピーカードを配置 */
  .iby-page.iby-design-b2 .iby-active-hero .wp-block-cover__inner-container {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 985px !important;
    min-height: 560px !important;
    margin: 0 auto !important;
    padding: 40px 0 !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero__copy {
    width: 340px !important;
    max-width: 340px !important;
    margin: 0 !important;
    padding: 24px 20px !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.72) !important;
    transform: none !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero__kicker {
    margin-bottom: 12px !important;
    font-size: 12px !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero__title,
  .iby-page.iby-design-b2 .iby-active-hero h1,
  .iby-page.iby-design-b2 .iby-active-hero h2,
  .iby-page.iby-design-b2 .iby-active-hero h3 {
    margin-bottom: 14px !important;
    font-size: 32px !important;
    line-height: 1.32 !important;
    letter-spacing: 0 !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero p {
    margin-bottom: 14px !important;
    font-size: 13px !important;
    line-height: 1.75 !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero__points {
    gap: 6px !important;
    max-width: 100% !important;
    margin: 14px 0 18px !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero__point {
    padding: 5px 10px !important;
    font-size: 12px !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero__point::before {
    width: 16px !important;
    height: 16px !important;
    margin-right: 6px !important;
    font-size: 10px !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero .wp-block-buttons {
    margin-top: 0 !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero .wp-block-button__link {
    width: auto !important;
    min-width: 170px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 22px !important;
    font-size: 12.5px !important;
  }
}

/* =========================================================
   KANAYAMA B2 / HERO SMARTPHONE FIX
   クラシックエディターでも画像を全面背景として固定
   2026-07-31
========================================================= */
@media screen and (max-width: 767px) {

  .iby-page.iby-design-b2 .iby-active-hero.wp-block-cover,
  .iby-page.iby-design-b2 .iby-active-hero {
    position: relative !important;
    display: flex !important;
    align-items: flex-end !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: 620px !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff8ef !important;
  }

  /* 小さな通常画像として表示される状態を解除 */
  .iby-page.iby-design-b2 .iby-active-hero > .wp-block-cover__image-background,
  .iby-page.iby-design-b2 .iby-active-hero .wp-block-cover__image-background {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 0 !important;
    display: block !important;
    float: none !important;
    clear: none !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: 63% center !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero > .wp-block-cover__background,
  .iby-page.iby-design-b2 .iby-active-hero .wp-block-cover__background {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero .wp-block-cover__inner-container {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 620px !important;
    margin: 0 !important;
    padding: 34px 16px 36px !important;
    box-sizing: border-box !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero__copy {
    position: relative !important;
    z-index: 3 !important;
    width: calc(100% - 32px) !important;
    max-width: 340px !important;
    margin: 0 auto !important;
    padding: 22px 20px !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.78) !important;
    transform: none !important;
  }
}

@media screen and (max-width: 380px) {
  .iby-page.iby-design-b2 .iby-active-hero.wp-block-cover,
  .iby-page.iby-design-b2 .iby-active-hero,
  .iby-page.iby-design-b2 .iby-active-hero .wp-block-cover__inner-container {
    min-height: 600px !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero__copy {
    width: calc(100% - 24px) !important;
    max-width: 330px !important;
    padding: 20px 18px !important;
  }
}

/* =========================================================
   KANAYAMA B2 / HERO SMARTPHONE KICKER ONE LINE
   iPhone SE幅でもキャッチコピーを1行に保持
   2026-07-31
========================================================= */
@media screen and (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-active-hero__kicker {
    flex-wrap: nowrap !important;
    gap: 5px !important;
    font-size: 10.5px !important;
    line-height: 1.4 !important;
    letter-spacing: 0.02em !important;
    white-space: nowrap !important;
  }

  .iby-page.iby-design-b2 .iby-active-hero__kicker::before,
  .iby-page.iby-design-b2 .iby-active-hero__kicker::after {
    flex: 0 0 10px !important;
    width: 10px !important;
  }
}

/* =========================================================
   KANAYAMA B2 / SMARTPHONE SECTION BALANCE FIX
   選ばれる理由の画像縮小・見出しの不自然な末尾改行を調整
   2026-07-31
========================================================= */
@media screen and (max-width: 767px) {

  /* 選ばれる理由：カード下部画像をスマホではコンパクトに */
  .iby-page.iby-design-b2 .iby-active-reason__media {
    height: 150px !important;
  }

  .iby-page.iby-design-b2 .iby-active-reason__media img {
    object-position: center 52% !important;
  }

  /* プログラム内容：末尾の「ン」だけが3行目へ落ちるのを防ぐ */
  .iby-page.iby-design-b2 .iby-active-program .iby-active-section__title {
    font-size: 19px !important;
    line-height: 1.55 !important;
    letter-spacing: 0 !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  /* 体験された方の声：「の声」だけが次行へ残るのを防ぐ */
  .iby-page.iby-design-b2 .iby-active-voice > .iby-active-voice__inner > .iby-active-section__title,
  .iby-page.iby-design-b2 .iby-active-voice .iby-active-section__title {
    font-size: 20px !important;
    line-height: 1.55 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }
}

@media screen and (max-width: 360px) {
  .iby-page.iby-design-b2 .iby-active-reason__media {
    height: 140px !important;
  }

  .iby-page.iby-design-b2 .iby-active-program .iby-active-section__title {
    font-size: 17.5px !important;
  }

  .iby-page.iby-design-b2 .iby-active-voice .iby-active-section__title {
    font-size: 17px !important;
  }
}

/* =========================================================
   KANAYAMA B2 / SMARTPHONE REASON IMAGE CROP FIX
   画像高さはコンパクトなまま、人物の頭部が切れない位置へ調整
   2026-07-31
========================================================= */
@media screen and (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-active-reason__media img {
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 20% !important;
    transform: none !important;
  }
}

@media screen and (max-width: 360px) {
  .iby-page.iby-design-b2 .iby-active-reason__media img {
    object-position: center 16% !important;
  }
}

/* =========================================================
   KANAYAMA B2 / SMARTPHONE REASON IMAGE HEIGHT FINAL
   札幌B2見本に合わせ、カード画像を縦方向に戻す
   2026-07-31
========================================================= */
@media screen and (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-active-reason__media {
    height: 190px !important;
  }

  .iby-page.iby-design-b2 .iby-active-reason__media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }
}

@media screen and (max-width: 360px) {
  .iby-page.iby-design-b2 .iby-active-reason__media {
    height: 180px !important;
  }
}

/* =========================================================
   KANAYAMA B2 / SMARTPHONE REASON IMAGE HEIGHT PLUS
   見本に近づけるため、スマホ画像の縦幅を少し追加
   2026-07-31
========================================================= */
@media screen and (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-active-reason__media {
    height: 210px !important;
  }
}

@media screen and (max-width: 360px) {
  .iby-page.iby-design-b2 .iby-active-reason__media {
    height: 200px !important;
  }
}

/* =========================================================
   KANAYAMA B2 / FLOW HEADING UNDERLINE FINAL
   見出し文字幅に合わせ、下線をオレンジ一色へ統一
   2026-07-31
========================================================= */
.iby-page.iby-design-b2 .iby-active-flow__body h3 {
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
}

.iby-page.iby-design-b2 .iby-active-flow__body h3::after {
  width: 100% !important;
  max-width: none !important;
  background: var(--iby-b2-main) !important;
  background-color: var(--iby-b2-main) !important;
  background-image: none !important;
}

/* =========================================================
   KANAYAMA B2 / ACCESS MAP FULL HEIGHT FINAL
   PC・スマホとも、地図を白い枠の下端まで表示
   2026-07-31
========================================================= */
.iby-page.iby-design-b2 .iby-active-access__map {
  position: relative !important;
  align-self: stretch !important;
  height: 100% !important;
  min-height: 420px !important;
}

.iby-page.iby-design-b2 .iby-active-access__map iframe {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

@media screen and (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-active-access__map {
    width: 100% !important;
    height: 320px !important;
    min-height: 320px !important;
    align-self: auto !important;
  }

  .iby-page.iby-design-b2 .iby-active-access__map iframe {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }
}

/* =========================================================
   KANAYAMA B2 / KAKUREMINO BUTTON CENTER FINAL
   関連活動：問い合わせボタンを中央配置・文字を上下中央へ統一
   2026-07-31
========================================================= */
.iby-page.iby-design-b2 .iby-kakuremino-button,
.iby-page.iby-design-b2 .iby-kakuremino-button:visited {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 220px !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 18px auto 0 !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
  color: #ffffff !important;
  line-height: 1 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-button > span,
.iby-page.iby-design-b2 .iby-kakuremino-button > strong,
.iby-page.iby-design-b2 .iby-kakuremino-button > p {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  line-height: 1 !important;
}

.iby-page.iby-design-b2 .iby-kakuremino-button > br {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-kakuremino-button,
  .iby-page.iby-design-b2 .iby-kakuremino-button:visited {
    width: 100% !important;
    max-width: 280px !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 18px auto 0 !important;
  }
}

/* =========================================================
   KANAYAMA B2 / TRAINER PHOTO FULL IMAGE FIX
   2026-07-31
   - 元画像の3:4比率を維持
   - object-fit: cover による上下切れを解消
   - 写真を少し小さくしてカード内の高さを抑える
========================================================= */

.iby-page.iby-design-b2 .iby-active-trainer__photo {
  width: 100% !important;
  max-width: 225px !important;
}

.iby-page.iby-design-b2 .iby-active-trainer__photo img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
}

@media screen and (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-active-trainer__photo {
    max-width: 205px !important;
  }
}

/* =========================================================
   KANAYAMA B2 / TRAINER PHOTO BOTTOM GAP REMOVE FINAL
   2026-07-31
   - 画像下に残るテーマ由来のmargin/paddingを完全解除
   - 写真枠と画像の高さを一致
========================================================= */
.iby-page.iby-design-b2 .iby-active-trainer__photo {
  display: block !important;
  padding: 0 !important;
  line-height: 0 !important;
  background: transparent !important;
}

.iby-page.iby-design-b2 .iby-active-trainer__photo img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: inherit !important;
  vertical-align: top !important;
}


/* =========================================================
   KANAYAMA B2 / TRAINER PHOTO AUTO-P GAP REMOVE
   2026-07-31
   クラシックエディターが画像を自動で囲む p の余白を解除
========================================================= */

.iby-page.iby-design-b2 .iby-active-trainer__photo {
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
}

.iby-page.iby-design-b2 .iby-active-trainer__photo > p {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

.iby-page.iby-design-b2 .iby-active-trainer__photo > p > img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: top !important;
}


/* =========================================================
   KANAYAMA B2 / FINAL CTA BUTTON ALIGN FINAL
   2026-07-31
   - 2ボタンの幅と高さを統一
   - 文字を上下左右中央へ固定
   - クラシックエディターの自動 p / br に対応
========================================================= */

.iby-page.iby-design-b2 .iby-active-final-cta__buttons {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
}

/* 自動挿入された p がある場合 */
.iby-page.iby-design-b2 .iby-active-final-cta__buttons > p {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

.iby-page.iby-design-b2 .iby-active-final-cta__button,
.iby-page.iby-design-b2 .iby-active-final-cta__button:visited,
.iby-page.iby-design-b2 .iby-active-final-cta__buttons > p > .iby-active-final-cta__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 250px !important;
  width: 250px !important;
  min-width: 250px !important;
  max-width: 250px !important;
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 22px !important;
  box-sizing: border-box !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-align: center !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}

/* ボタン内にタグが追加されても中央位置を維持 */
.iby-page.iby-design-b2 .iby-active-final-cta__button > span,
.iby-page.iby-design-b2 .iby-active-final-cta__button > strong,
.iby-page.iby-design-b2 .iby-active-final-cta__button > p {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  line-height: 1 !important;
}

.iby-page.iby-design-b2 .iby-active-final-cta__button > br,
.iby-page.iby-design-b2 .iby-active-final-cta__buttons > br {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-active-final-cta__buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .iby-page.iby-design-b2 .iby-active-final-cta__buttons > p {
    width: 100% !important;
  }

  .iby-page.iby-design-b2 .iby-active-final-cta__button,
  .iby-page.iby-design-b2 .iby-active-final-cta__button:visited,
  .iby-page.iby-design-b2 .iby-active-final-cta__buttons > p > .iby-active-final-cta__button {
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 18px !important;
    font-size: 14px !important;
  }
}


/* =========================================================
   KANAYAMA B2 / INFORMATION CARDS
   2026-08-01
   トレーナー紹介と最終CTAの間
========================================================= */

/* 全幅セクション */
.iby-page.iby-design-b2 .iby-active-news {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 calc(50% - 50vw) !important;
  padding: 88px 24px 94px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(233, 138, 58, 0.10), transparent 27%),
    radial-gradient(circle at 88% 82%, rgba(122, 166, 106, 0.11), transparent 28%),
    linear-gradient(180deg, #f6fbf2 0%, #fff8ef 100%) !important;
}

.iby-page.iby-design-b2 .iby-active-news__inner {
  width: 100% !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

/* 3カード */
.iby-page.iby-design-b2 .iby-active-news__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  margin-top: 42px !important;
}

.iby-page.iby-design-b2 .iby-active-news__card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  min-height: 330px !important;
  margin: 0 !important;
  padding: 32px 28px 28px !important;
  border: 1px solid rgba(233, 138, 58, 0.20) !important;
  border-radius: 26px !important;
  background: rgba(255, 255, 255, 0.95) !important;
  box-shadow: 0 14px 34px rgba(80, 50, 20, 0.09) !important;
  overflow: hidden !important;
}

.iby-page.iby-design-b2 .iby-active-news__card::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  height: 6px !important;
  background: var(--iby-b2-main) !important;
}

.iby-page.iby-design-b2 .iby-active-news__card--info::before {
  background: var(--iby-b2-green) !important;
}

.iby-page.iby-design-b2 .iby-active-news__card--blog::before {
  background: linear-gradient(
    90deg,
    var(--iby-b2-main) 0%,
    var(--iby-b2-green) 100%
  ) !important;
}

.iby-page.iby-design-b2 .iby-active-news__number {
  position: absolute !important;
  top: 21px !important;
  right: 24px !important;
  color: rgba(58, 48, 40, 0.10) !important;
  font-size: 46px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -0.04em !important;
}

.iby-page.iby-design-b2 .iby-active-news__label {
  position: relative !important;
  z-index: 1 !important;
  width: fit-content !important;
  margin: 0 0 18px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  background: rgba(233, 138, 58, 0.12) !important;
  color: var(--iby-b2-main-dark) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.08em !important;
}

.iby-page.iby-design-b2 .iby-active-news__card--info .iby-active-news__label {
  background: rgba(122, 166, 106, 0.14) !important;
  color: #587c4d !important;
}

.iby-page.iby-design-b2 .iby-active-news__card h3 {
  position: relative !important;
  z-index: 1 !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: var(--iby-b2-text) !important;
  font-size: 23px !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
  box-shadow: none !important;
}

.iby-page.iby-design-b2 .iby-active-news__card h3::before,
.iby-page.iby-design-b2 .iby-active-news__card h3::after {
  content: none !important;
  display: none !important;
}

.iby-page.iby-design-b2 .iby-active-news__card p {
  margin: 0 0 25px !important;
  color: var(--iby-b2-muted) !important;
  font-size: 14px !important;
  line-height: 1.9 !important;
}

.iby-page.iby-design-b2 .iby-active-news__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 50px !important;
  margin: auto 0 0 !important;
  padding: 0 18px !important;
  border: 1px solid var(--iby-b2-main) !important;
  border-radius: 999px !important;
  background: var(--iby-b2-main) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(200, 108, 36, 0.18) !important;
}

.iby-page.iby-design-b2 .iby-active-news__card--info .iby-active-news__button {
  border-color: var(--iby-b2-green) !important;
  background: var(--iby-b2-green) !important;
  box-shadow: 0 8px 18px rgba(88, 124, 77, 0.16) !important;
}

.iby-page.iby-design-b2 .iby-active-news__button:hover {
  border-color: var(--iby-b2-main-dark) !important;
  background: var(--iby-b2-main-dark) !important;
  color: #fff !important;
}

.iby-page.iby-design-b2 .iby-active-news__card--info .iby-active-news__button:hover {
  border-color: #587c4d !important;
  background: #587c4d !important;
}

/* 最終CTAとの接続 */
.iby-page.iby-design-b2 .iby-active-news + .iby-active-final-cta {
  margin-top: 0 !important;
}

/* スマホ */
@media screen and (max-width: 767px) {

  .iby-page.iby-design-b2 .iby-active-news {
    padding: 64px 20px 70px !important;
  }

  .iby-page.iby-design-b2 .iby-active-news__grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    margin-top: 32px !important;
  }

  .iby-page.iby-design-b2 .iby-active-news__card {
    min-height: 0 !important;
    padding: 27px 22px 22px !important;
    border-radius: 22px !important;
  }

  .iby-page.iby-design-b2 .iby-active-news__number {
    top: 18px !important;
    right: 20px !important;
    font-size: 40px !important;
  }

  .iby-page.iby-design-b2 .iby-active-news__label {
    margin-bottom: 14px !important;
    font-size: 10px !important;
  }

  .iby-page.iby-design-b2 .iby-active-news__card h3 {
    margin-bottom: 12px !important;
    font-size: 20px !important;
  }

  .iby-page.iby-design-b2 .iby-active-news__card p {
    margin-bottom: 20px !important;
    font-size: 13.5px !important;
    line-height: 1.85 !important;
  }

  .iby-page.iby-design-b2 .iby-active-news__button {
    min-height: 48px !important;
    font-size: 13px !important;
  }
}


/* =========================================================
   KANAYAMA B2 / INFORMATION BUTTON TEXT CENTER
   2026-08-01
   ボタン内テキストを高さの中央へ固定
========================================================= */

.iby-page.iby-design-b2 .iby-active-news__button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 50px !important;
  min-height: 50px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}

.iby-page.iby-design-b2 .iby-active-news__button::before,
.iby-page.iby-design-b2 .iby-active-news__button::after {
  line-height: 1 !important;
}

@media screen and (max-width: 767px) {
  .iby-page.iby-design-b2 .iby-active-news__button {
    height: 48px !important;
    min-height: 48px !important;
  }
}


/* =========================================================
   KANAYAMA B2 / INFORMATION BUTTON FINE ADJUSTMENT
   2026-08-01
   自動挿入されたbrを除去し、文字を1px上へ
========================================================= */

.iby-page.iby-design-b2 .iby-active-news__button br {
  display: none !important;
}

.iby-page.iby-design-b2 .iby-active-news__button {
  text-indent: 0 !important;
}

.iby-page.iby-design-b2 .iby-active-news__button {
  transform: translateY(-1px) !important;
}


/* =========================================================
   KANAYAMA B2 / INFORMATION BUTTON OPTICAL CENTER FINAL
   2026-08-01
   ボタン本体は動かさず、文字だけを約1px上へ
========================================================= */

.iby-page.iby-design-b2 .iby-active-news__button {
  transform: none !important;
  padding-top: 0 !important;
  padding-bottom: 2px !important;
}
