@media screen and (min-width: 768.98px) {
    /* PC のとき */
    .o-anim-ready {
        animation: none !important;
        opacity: 1 !important; /* フェードを止めた時の保険 */
        transform: none !important;
    }
}

/* ■■■■■ 改行の範囲を一部変更 ■■■■■  */
/* --- sm: 576px ～ 768px --- */
@media (min-width: 576px) and (max-width: 768.98px) {
  br.vk_responsive-br {
    display: none !important;
  }
  br.vk_responsive-br.vk_responsive-br-sm {
    display: inline !important;
  }
}

/* --- md: 769px ～ 991px --- */
@media (min-width: 769px) and (max-width: 991.98px) {
  br.vk_responsive-br {
    display: none !important;
  }
  br.vk_responsive-br.vk_responsive-br-md {
    display: inline !important;
  }
}

/* ■■■■■ 768.98px（sm）以下で文字左寄せ ■■■■■  */
@media (max-width: 768.98px) {
  .left-sm {
    text-align: left !important;
  }
}

/* ■■■■■ カラムブロックのスマホ判定ブレークポイントを768pxに変更 ■■■■■  */
/* 元のテーマで設定されている781pxのスタイルを打ち消し */
/* 「モバイルで縦に並べる」がONのカラムブロックが対象 */
@media (min-width: 769px) and (max-width: 782.98px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) {
    flex-wrap: nowrap !important;
  }
}
 
/* 新しいブレークポイントとして768pxを設定 */
/* 「モバイルで縦に並べる」がONのカラムブロックが対象 */
@media (max-width: 768.98px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) {
    flex-wrap: wrap !important;
  }

  /* 縦並び時に画像を100%表示 */
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 100% !important;
    margin-left: 0 !important;
  }

  /* wp-block-image ブロック内の img 要素を対象とする */
  .wp-block-columns:not(.is-not-stacked-on-mobile) .wp-block-image {
      width: 100% !important;
  }
  
  .wp-block-columns:not(.is-not-stacked-on-mobile) .wp-block-image img {
      /* img 要素の幅を100%にする */
      width: 100% !important;
      /* heightはアスペクト比を維持するためにautoにするか、元の設定(aspect-ratio)を信頼します */
      height: auto !important; 
      /* object-fit: cover; の設定があるため、ここでは width: 100%; のみで十分なことが多いです */
  }
  
  /* figure タグ（.wp-block-image）に border スタイルが適用されている場合も、幅を100%にすることで親要素いっぱいに広げます。 */
  .wp-block-columns:not(.is-not-stacked-on-mobile) figure.wp-block-image {
      width: 100% !important;
      max-width: 100% !important;
  }
}

/* ■■■■■ カバーの文字に枠を付与 ■■■■■  */
.fv h2.wp-block-heading {
	text-shadow: -1px -1px 2px #000, 1px 1px 2px #000, 1px -1px 2px #000, -1px 1px 2px #000, -1px -1px 2px #000, 1px 1px 2px #000, 1px -1px 2px #000, -1px 1px 2px #000;
}
.fv h4.wp-block-heading {
	text-shadow: -1px -1px 1px #000, 1px 1px 1px #000, 1px -1px 1px #000, -1px 1px 1px #000, -1px -1px 1px #000, 1px 1px 1px #000, 1px -1px 1px #000, -1px 1px 1px #000;
}
@media (max-width: 480.98px) {
  .fv h2.has-xxx-huge-font-size {
    font-size: 38px !important;
  }
}
@media (max-width: 412.98px) {
  .fv h2.has-xxx-huge-font-size {
    font-size: 34px !important;
  }
}
@media (max-width: 393.98px) {
  .fv h2.has-xxx-huge-font-size {
    font-size: 32px !important;
  }
}
@media (max-width: 375.98px) {
  .fv h2.has-xxx-huge-font-size {
    font-size: 30px !important;
  }
}
@media (max-width: 360.98px) {
  .fv h2.has-xxx-huge-font-size {
    font-size: 28px !important;
  }
}
/* ■■■■■ FAQの文字色設定 ■■■■■  */
.faq .vk_faq .vk_faq_title:before {
  color: #e30013;
}
.faq .vk_faq .vk_faq_content:before {
  color: #1B365D;
}

/* ■■■■■ 配置設定 ■■■■■  */
.r-pad {
  max-width: 1200px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  margin-left: auto;
  margin-right: auto;
}

.c-pad {
  padding-left: 15px !important;
  padding-right: 0px !important;
  margin-left: auto;
  margin-right: auto;
}
/* 両端線スタイルの余白補正（ズレ防止） */
.r-mgn::before {
  margin-right: 0 !important;
  top: auto !important;
}

.r-mgn::after {
  margin-left: 0 !important;
  bottom: auto !important;
}

/* ■■■■■ メディアが縦並びになった時の文字位置調整 ■■■■■  */
.wp-block-media-text__content {
  padding-left: 24px !important;
  padding-right: 0px !important;
  margin-left: auto;
  margin-right: auto;
}

.left-media .wp-block-media-text__content{
  padding-left: 0px !important;
  padding-right: 24px !important;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 600.98px) {
.wp-block-media-text__content {
  padding-left: 0px !important;
  padding-right: 0px !important;
  margin-left: auto;
  margin-right: auto;
  }
}

@media (max-width: 600.98px) {
.left-media .wp-block-media-text__content {
  padding-left: 0px !important;
  padding-right: 0px !important;
  margin-left: auto;
  margin-right: auto;
  }
}
/* ■■■■■ 画面下フローボタンの文字設定 ■■■■■  */
@media (max-width: 426.98px) {
  .bfb_view_sp a.bfb_btn,
  .bfb_view_sp a.bfb_btn2 {
    font-size: 12px;
  }
}

@media (max-width: 382.98px) {
  .bfb_view_sp a.bfb_btn,
  .bfb_view_sp a.bfb_btn2 {
    font-size: 11px;
  }
}

.wp-block-media-text__content {
  width: 100% !important;   /* 右側カラム（テキスト領域）を常に最大幅に */
  max-width: 100% !important;
  box-sizing: border-box;
}