/* 忘年会LP スクロール演出 */

/* 斜めテープ */
body.bkFxBase .bkFxTape {
  position: relative;
  z-index: 6;
  height: 90px;
  margin: -45px 0;
  pointer-events: none;
}

/* 贈り物直後の帯だけ、上のコンテンツから少し離すため10px下げる（相殺方式で隙間なし） */
body.bkFxBase .bkFxTape--b {
  height: 100px;
  margin: -45px 0 -55px;
}

body.bkFxBase .bkFxTape--b .bkFxTape__band {
  top: 18px;
}

body.bkFxBase .bkFxTape__band {
  position: absolute;
  top: 8px;
  left: -40px;
  right: -40px;
  height: 74px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-top: 3px solid #E8380D;
  border-bottom: 3px solid #E8380D;
  background: #FFD926;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .16);
  transform: rotate(-1.5deg);
}

body.bkFxBase .bkFxTape--b .bkFxTape__band {
  border-color: #FFD926;
  background: #8E1C05;
  transform: rotate(1.3deg);
}

body.bkFxBase .bkFxTape__track {
  display: flex;
  width: max-content;
  color: #E8380D;
  font-family: inherit;
  font-size: 26px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .08em;
  white-space: nowrap;
  will-change: transform;
}

body.bkFxBase .bkFxTape--b .bkFxTape__track {
  color: #FFD926;
}

body.bkFxBase .bkFxTape__set {
  display: block;
  padding-right: .5em;
}

/* FAQカードの高さアニメーション */
body.bkFxBase .bonenkaiFaq__dl {
  height: var(--bkH, auto);
  overflow: hidden;
  transition: height .5s cubic-bezier(.34, 1.56, .64, 1);
}

body.bkFxBase .bonenkaiFaq__dd {
  display: block;
}

/* ビールジョッキ型「上へ」ボタン（共通のTOPボタンの代わりに右下へ配置） */
body.bkFxBase .bkFxTop {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 900;
  width: 60px;
  height: 72px;
  padding: 4px 2px 2px;
  border: 0;
  border-radius: 14px;
  background: rgba(142, 28, 5, .92);
  box-shadow: 0 6px 16px rgba(0, 0, 0, .3);
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .35s, transform .35s, background-color .2s;
  pointer-events: none;
}

body.bkFxBase .bkFxTop.show {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

body.bkFxBase .bkFxTop:hover {
  background: rgba(184, 38, 10, .95);
}

body.bkFxBase .bkFxTop svg {
  display: block;
  width: 100%;
  height: 52px;
}

body.bkFxBase .bkFxTop__label {
  display: block;
  color: #FFF;
  font-family: inherit;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .05em;
}

body.bkFxBase .bkFxTop__beer {
  transform: scaleY(var(--fill, 0));
  transform-box: fill-box;
  transform-origin: bottom;
}

body.bkFxBase .bkFxTop__foam {
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .3s, transform .3s;
}

body.bkFxBase .bkFxTop.full .bkFxTop__foam {
  opacity: 1;
  transform: none;
}

/* 空になったら「おかわり！」の吹き出しを出す */
body.bkFxBase .bkFxTop__bubble {
  position: absolute;
  right: calc(100% + 10px);
  bottom: 14px;
  padding: 7px 12px;
  border-radius: 999px;
  color: #8E1C05;
  background: #FFD926;
  box-shadow: 0 3px 10px rgba(0, 0, 0, .25);
  white-space: nowrap;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  opacity: 0;
  transform: translateX(8px) scale(.7);
  transform-origin: right center;
  transition: opacity .25s, transform .4s cubic-bezier(.34, 1.56, .64, 1);
  pointer-events: none;
}

body.bkFxBase .bkFxTop__bubble::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  width: 0;
  height: 0;
  margin-top: -5px;
  border: 5px solid transparent;
  border-left-color: #FFD926;
}

body.bkFxBase .bkFxTop.empty .bkFxTop__bubble {
  opacity: 1;
  transform: none;
}

/* MVタイトル: 泡が立ち上る＋ローダー明けにふわっと浮かび上がる
   （元に戻す場合はこのブロックと bonenkai-fx.js の initTtlBubbles・bkFxTtlGo を削除） */
body.bkFxBase .bonenkaiMv__ttl {
  position: relative;
}

/* ローダーのフェード（0.9秒）に合わせて、ローダーのビールと同じように
   下から徐々に満ちるようにタイトルが現れる */
body.bkFxBase.bkFxTtlGo .bonenkaiMv__ttl {
  animation: bkFxTtlFill 1.4s cubic-bezier(.3, .6, .35, 1) both;
}

@keyframes bkFxTtlFill {
  0% { clip-path: inset(100% 0 0 0); }
  100% { clip-path: inset(0 0 0 0); }
}

/* 定位置に収まった後は、ごく控えめにゆらゆら浮遊し続ける */
body.bkFxBase .bonenkaiMv__ttl img {
  animation: bkFxTtlFloat 5.4s ease-in-out 1.4s infinite;
}

@keyframes bkFxTtlFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

body.bkFxBase .bkFxTtlBubbles {
  position: absolute;
  inset: -34px -44px;
  display: block;
  pointer-events: none;
}

body.bkFxBase .bkFxTtlBubble {
  position: absolute;
  left: var(--x, 50%);
  bottom: var(--y, 0%);
  width: var(--s, 10px);
  height: var(--s, 10px);
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, rgba(255, 255, 255, .95), rgba(255, 246, 214, .35));
  opacity: 0;
  animation: bkFxTtlBubble var(--d, 4s) linear var(--delay, 0s) infinite;
}

@keyframes bkFxTtlBubble {
  0% { opacity: 0; transform: translate(0, 0) scale(.4); }
  15% { opacity: .85; }
  75% { opacity: .6; }
  100% { opacity: 0; transform: translate(var(--drift, 0px), -110px) scale(1); }
}

/* SPでは下部固定の「検索条件を変更」バー（共通インクルード・高さ約45px）を避けて上に置く */
@media (max-width: 768px) {
  body.bkFxBase .bkFxTop {
    right: 12px;
    bottom: 70px;
  }
}

/* オープニング: 支給の背景画像（赤トーンの写真モザイク焼き込み済み）の上で、
   中央のジョッキが満タンになる */
#bkFxLoader {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  /* 画像ロード前は同系色で塗っておき、白見えを防ぐ */
  background: #551103 url("../image/common/loading_bg.webp") center / cover no-repeat;
  /* 本編MV（同じ写真モザイク）へ溶けるようにゆっくりフェード */
  transition: opacity .9s ease;
}

#bkFxLoader.unveil {
  opacity: 0;
  pointer-events: none;
}

#bkFxLoader .bkFxLoaderBeer {
  width: min(140px, 30vw);
  height: auto;
}

/* loading の後ろのドットが . → .. → ... でループする */
#bkFxLoader .bkFxLoaderText {
  margin: 22px 0 0;
  color: rgba(255, 255, 255, .85);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .3em;
}

#bkFxLoader .bkFxLoaderText i {
  font-style: normal;
}

#bkFxLoader .bkFxLoaderText i:nth-child(2) {
  animation: bkFxDot2 1.2s step-end infinite;
}

#bkFxLoader .bkFxLoaderText i:nth-child(3) {
  animation: bkFxDot3 1.2s step-end infinite;
}

@keyframes bkFxDot2 {
  0%, 32% {
    opacity: 0;
  }
  33%, 100% {
    opacity: 1;
  }
}

@keyframes bkFxDot3 {
  0%, 65% {
    opacity: 0;
  }
  66%, 100% {
    opacity: 1;
  }
}

#bkFxLoader .bkFxLoaderSkip {
  position: absolute;
  right: 22px;
  bottom: 22px;
  padding: 9px 18px;
  border: 1px solid rgba(255, 255, 255, .45);
  border-radius: 999px;
  color: #FFF;
  background: rgba(255, 255, 255, .08);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

/* PCスクラブ */
@media (min-width: 769px) {
  /* サイト共通CSSの body{overflow-x:hidden} は body をスクロールコンテナ化するため、
     配下の position:sticky が一切効かなくなる（ピン留めがそのまま流れてしまう）。
     overflow-x:clip はスクロールコンテナを作らないので、横方向のクリップは維持したまま
     sticky が生きる。ここだけ差し替える */
  body.bkFxOn {
    overflow-x: clip;
  }

  body.bkFxOn .bkFxScrub {
    opacity: 1;
    transition: none !important;
  }

  body.bkFxOn .bonenkaiMv__slider,
  body.bkFxOn .bonenkaiMv__inner {
    will-change: transform, opacity;
  }

  body.bkFxOn .bkFxPin--points {
    height: calc(100vh + 2200px);
  }

  body.bkFxOn .bkFxPin--points .bonenkaiPoints {
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    /* 上はサイト共通ヘッダー（常時約55px）、下はページネーションドットのぶんを空ける */
    padding: 60px 0 44px;
  }

  body.bkFxOn .bkFxPin--points .bonenkaiPoints__inner {
    width: 100%;
    max-width: none;
  }

  body.bkFxOn .bkFxTrack {
    display: flex;
    gap: 34px;
    width: max-content;
    /* カード幅は画面幅に追従（低い画面では下のmax-heightタイヤが上書き） */
    padding: 0 calc((100vw - min(41vw, 740px)) / 2);
    will-change: transform;
  }

  body.bkFxOn .bkFxTrack .bonenkaiPoints__box {
    box-sizing: border-box;
    flex: 0 0 min(41vw, 740px);
    width: min(41vw, 740px);
    margin-top: 70px;
    /* カードは全て同じ高さ（flexのstretch）になるため、内容の少ないカードで
       下に空白が溜まらないよう、「画像＋テキスト」のまとまりを残り空間の上下中央に置く */
    display: flex;
    flex-direction: column;
  }

  /* 余った縦空間は要素間に均等分散させ、1カ所に大きな空白を作らない */
  body.bkFxOn .bkFxTrack .bonenkaiPoints__box {
    justify-content: space-evenly;
  }

  /* ビンゴカードのボタンを小さくして全カード共通の高さを下げ、
     その分カード（＝画像）を大きく表示できるようにする */
  body.bkFxOn .bkFxTrack .bonenkaiPoints__btn {
    width: 260px;
    height: 44px;
    font-size: 14px;
    margin-top: 12px;
  }

  body.bkFxOn .bkFxDots {
    position: absolute;
    left: 50%;
    bottom: 30px;
    display: flex;
    gap: 10px;
    transform: translateX(-50%);
  }

  body.bkFxOn .bkFxDots i {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .4);
    transition: background-color .25s, transform .25s;
  }

  body.bkFxOn .bkFxDots i.on {
    background: #FFF;
    transform: scale(1.35);
  }

  /* お客様の声はピン留めせず通常の縦並び。1枚ずつ下から迫り上がるだけ */
  body.bkFxOn .bonenkaiVoice__box {
    will-change: transform, opacity;
  }

  body.bkFxOn .bkFxPin--fullset {
    height: calc(100vh + 1600px);
  }

  body.bkFxOn .bkFxPin--fullset .bonenkaiFullSet {
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    /* サイト共通ヘッダーに隠れないよう上を空ける。左右はカードが画面端に付かないよう20px */
    padding: 60px 20px 0;
  }

  body.bkFxOn .bkFxPin--fullset .bonenkaiFullSet__pointsItem {
    will-change: transform, opacity;
  }

  body.bkFxOn .bkFxDone {
    /* サイズは参照LP（bonenkai_test）の __closing に合わせる */
    margin: min(2.9vw, 55px) 0 0;
    color: #E8380D;
    font-family: inherit;
    font-size: clamp(28px, 2.6vw, 50px);
    font-weight: 900;
    text-align: center;
    opacity: 0;
    transform: translateY(10px) scale(.9);
    transition: opacity .35s, transform .45s cubic-bezier(.3, 1.5, .5, 1);
  }

  body.bkFxOn .bkFxDone.show {
    opacity: 1;
    transform: none;
  }

  body.bkFxOn .bonenkaiGift__bnrs {
    perspective: 1100px;
  }

  body.bkFxOn .bonenkaiGift__bnr {
    backface-visibility: hidden;
    transform-origin: 50% 100%;
    will-change: transform, opacity;
  }

  /* 法人: ポイントと同じピン留め＋横パン */
  body.bkFxOn .bkFxPin--hojin {
    height: calc(100vh + 900px);
  }

  body.bkFxOn .bkFxPin--hojin .bonenkaiHojin {
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    /* サイト共通ヘッダーに隠れないよう上を空ける */
    padding: 60px 0 0;
  }

  body.bkFxOn .bonenkaiHojin__pic {
    will-change: transform, opacity;
  }

  /* リード文はMV直下の通常フローのまま（ピンのスペーサーはFV下部に白い空洞を作るので廃止）。
     MV側の強パララックス（JS）で「写真の上にせり上がってくる」見え方を作る。
     影は乗り上がりの境界を強調する */
  body.bkFxOn .bonenkaiLead {
    position: relative;
    z-index: 2;
    box-shadow: 0 -16px 36px rgba(0, 0, 0, .10);
  }

  /* 特典: ピン留めして6枚がめくれ終わるまで進ませない */
  body.bkFxOn .bkFxPin--gift {
    height: calc(100vh + 900px);
  }

  body.bkFxOn .bkFxPin--gift .bonenkaiGift {
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    /* サイト共通ヘッダーに隠れないよう上を空ける */
    padding: 60px 20px 0;
  }

  /* 低い画面（14インチノート等）対策：
     justify-content:center はコンテンツが100vhからあふれると上下両方に切れて
     タイトルが欠けるため、「収まる時は上下センター・あふれた時は上寄せ」になる
     上下autoマージン方式にする */
  body.bkFxOn .bkFxPin--points .bonenkaiPoints,
  body.bkFxOn .bkFxPin--fullset .bonenkaiFullSet,
  body.bkFxOn .bkFxPin--gift .bonenkaiGift,
  body.bkFxOn .bkFxPin--hojin .bonenkaiHojin {
    justify-content: flex-start;
  }

  body.bkFxOn .bkFxPin--points .bonenkaiPoints__inner,
  body.bkFxOn .bkFxPin--gift .bonenkaiGift__inner,
  body.bkFxOn .bkFxPin--hojin .bonenkaiHojin__inner {
    margin-top: auto;
    margin-bottom: auto;
  }

  /* フルセットは末尾の「これ、ぜんぶ入ってます。」ごと上下センターに */
  body.bkFxOn .bkFxPin--fullset .bonenkaiFullSet__inner {
    margin-top: auto;
  }

  body.bkFxOn .bkFxPin--fullset .bkFxDone {
    margin-bottom: auto;
  }
}

/* フルHDノート等（高さ911〜1150px）: 幅広画面ではコンテンツが大きくなりすぎて
   100vhからはみ出す（ポイントはカードがドットに被る）ため、一段コンパクトにする */
@media (min-width: 769px) and (max-height: 1150px) {
  body.bkFxOn .bkFxTrack {
    padding: 0 calc((100vw - 650px) / 2);
  }

  body.bkFxOn .bkFxTrack .bonenkaiPoints__box {
    flex-basis: 650px;
    width: 650px;
  }

  body.bkFxOn .bkFxPin--points .bonenkaiPoints__ttl {
    max-width: 560px;
  }

  body.bkFxOn .bkFxPin--fullset .bonenkaiFullSet__ttl {
    max-width: 800px;
  }

  body.bkFxOn .bkFxPin--fullset .bonenkaiFullSet__points {
    max-width: 1200px;
    margin-top: 40px;
  }

  body.bkFxOn .bkFxPin--fullset .bkFxDone {
    margin-top: 16px;
    font-size: clamp(24px, 1.8vw, 36px);
  }
}

/* 高さ911〜970px: カードをもう一段縮小（本文も行数が増えないよう16px固定） */
@media (min-width: 769px) and (max-height: 970px) {
  body.bkFxOn .bkFxTrack {
    padding: 0 calc((100vw - 590px) / 2);
  }

  body.bkFxOn .bkFxTrack .bonenkaiPoints__box {
    flex-basis: 590px;
    width: 590px;
  }

  body.bkFxOn .bkFxPin--points .bonenkaiPoints__ttl {
    max-width: 500px;
  }

  body.bkFxOn .bkFxPin--points .bonenkaiPoints__txt {
    font-size: 16px;
  }

  /* タイトル3行化(ttl_fullset差し替え)対応: この帯域はフルセットの縮小指定が無く、
     800px幅のままだと画像高さ224pxで「これ、ぜんぶ入ってます。」が100vhから切れる。
     旧2行画像と同等の高さ(≒180px)になる幅まで縮める */
  body.bkFxOn .bkFxPin--fullset .bonenkaiFullSet__ttl {
    max-width: 640px;
  }
}

/* 高さの低い画面ではコンテンツを縮小して「100vh−ヘッダー60px」に収める */
@media (min-width: 769px) and (max-height: 910px) {
  /* 画像の高さ制限は使わず、カード幅を画面の高さに連動させて100vh内に収める */
  body.bkFxOn .bkFxTrack {
    --bkCardW: min(650px, calc((100vh - 545px) * 1.6 + 96px));
    padding: 0 calc((100vw - var(--bkCardW)) / 2);
  }

  body.bkFxOn .bkFxTrack .bonenkaiPoints__box {
    flex-basis: var(--bkCardW);
    width: var(--bkCardW);
    margin-top: 60px;
  }

  body.bkFxOn .bkFxPin--points .bonenkaiPoints__ttl {
    max-width: 450px;
  }

  body.bkFxOn .bkFxPin--points .bonenkaiPoints__txt {
    font-size: 16px;
  }

  body.bkFxOn .bkFxPin--fullset .bonenkaiFullSet__ttl {
    max-width: 540px;
  }

  /* 番号バッジはカード上端から45pxはみ出すため、リード文との間隔は55px以上を確保する。
     カード枠は参照LPと同じ幅まで広げ、写真の高さは固定して100vh内に収める */
  body.bkFxOn .bkFxPin--fullset .bonenkaiFullSet__points {
    max-width: 1200px;
    margin-top: 55px;
  }

  body.bkFxOn .bkFxPin--fullset .bonenkaiFullSet__pointsPic img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 250px;
    margin: 0 auto;
  }

  body.bkFxOn .bkFxPin--fullset .bkFxDone {
    /* タイトル3行化(ttl_fullset差し替え)後、8pxではカードと密着して見えるため拡大 */
    margin-top: 18px;
    font-size: 20px;
  }

  /* 贈り物: 内側を広げず、圧縮＋下余白でバナー最下段が帯と重ならないようにする */
  body.bkFxOn .bkFxPin--gift .bonenkaiGift__inner {
    max-width: 1000px;
  }

  body.bkFxOn .bkFxPin--gift .bonenkaiGift {
    padding-bottom: 30px;
  }

  body.bkFxOn .bkFxPin--gift .bonenkaiGift__ttl {
    max-width: 600px;
  }

  body.bkFxOn .bkFxPin--gift .bonenkaiGift__bnrs {
    margin-top: 40px;
  }
}

@media (min-width: 769px) and (max-height: 800px) {
  /* ポイントは 910px 以下タイヤの高さ連動カード幅で収まるため、個別指定なし */

  body.bkFxOn .bkFxPin--fullset .bonenkaiFullSet__ttl {
    /* 3行画像(2128x596)は450px幅だとh=126pxで窮屈。旧2行時代と同等の高さに抑える */
    max-width: 400px;
  }

  body.bkFxOn .bkFxPin--fullset .bonenkaiFullSet__points {
    max-width: 1200px;
    margin-top: 55px;
  }

  body.bkFxOn .bkFxPin--fullset .bonenkaiFullSet__pointsPic img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 200px;
    margin: 0 auto;
  }

  /* 贈り物の圧縮は 910px 以下タイヤ側で適用済み */
}

/* さらに低い画面ではピン留め演出そのものを無効化し、
   通常の縦積みレイアウトで表示する（どの高さでもコンテンツが切れない保険） */
@media (min-width: 769px) and (max-height: 719px) {
  body.bkFxOn .bkFxPin {
    height: auto;
  }

  body.bkFxOn .bkFxPin .bonenkaiPoints,
  body.bkFxOn .bkFxPin .bonenkaiFullSet,
  body.bkFxOn .bkFxPin .bonenkaiGift,
  body.bkFxOn .bkFxPin .bonenkaiHojin {
    position: static;
    height: auto;
    display: block;
    overflow: visible;
    padding: 70px 20px;
  }

  body.bkFxOn .bkFxPin .bonenkaiPoints__inner {
    max-width: 1000px;
    margin: 0 auto;
  }

  body.bkFxOn .bkFxPin--points .bonenkaiPoints__ttl {
    max-width: 608px;
  }

  body.bkFxOn .bkFxPin--fullset .bonenkaiFullSet__ttl {
    max-width: 690px;
  }

  body.bkFxOn .bkFxPin--fullset .bonenkaiFullSet__points {
    max-width: 1000px;
    margin-top: 70px;
  }

  body.bkFxOn .bkFxTrack {
    display: block;
    width: auto;
    padding: 0;
    margin: 0;
    transform: none !important;
  }

  body.bkFxOn .bkFxTrack .bonenkaiPoints__box {
    width: auto;
    flex: none;
    margin-top: 70px;
  }

  /* 静的表示ではボタンを通常サイズに戻す（縮小はピン留め表示専用） */
  body.bkFxOn .bkFxTrack .bonenkaiPoints__btn {
    width: 320px;
    height: 60px;
    font-size: 16px;
    margin-top: 20px;
  }

  body.bkFxOn .bkFxDots {
    display: none;
  }

  /* ピン留め無効時も「これ、ぜんぶ入ってます。」は常時表示する */
  body.bkFxOn .bkFxDone {
    opacity: 1;
    transform: none;
  }

  body.bkFxOn .bkFxPin .bkFxScrub {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* PCで初期化後にSP幅へ変えた場合も既存レイアウトへ戻す */
@media (max-width: 768px) {
  body.bkFxOn .bkFxPin {
    height: auto;
  }

  body.bkFxOn .bkFxPin .bonenkaiPoints,
  body.bkFxOn .bkFxPin .bonenkaiFullSet,
  body.bkFxOn .bkFxPin .bonenkaiGift,
  body.bkFxOn .bkFxPin .bonenkaiHojin {
    position: static;
    height: auto;
    display: block;
    overflow: visible;
  }

  body.bkFxOn .bkFxTrack {
    display: block;
    width: auto;
    padding: 0;
    transform: none !important;
  }

  body.bkFxOn .bkFxTrack .bonenkaiPoints__box {
    width: auto;
    flex: none;
  }

  body.bkFxOn .bkFxDots,
  body.bkFxOn .bkFxDone {
    display: none;
  }

  body.bkFxOn .bkFxScrub {
    opacity: 1 !important;
    transform: none !important;
  }

  body.bkFxOn .bonenkaiMv__slider,
  body.bkFxOn .bonenkaiMv__inner {
    opacity: 1 !important;
    transform: none !important;
  }

  body.bkFxOn .bonenkaiSec--dot {
    background-position: center top, left top !important;
  }

  body.bkFxOn .bonenkaiSec--stripe {
    background-position: left top, right top !important;
  }
}

/* モーション軽減時はFAQを瞬時に開閉する */
@media (prefers-reduced-motion: reduce) {
  .bonenkai .bonenkaiFaq__dt + .bonenkaiFaq__dd {
    display: none;
  }

  .bonenkai .bonenkaiFaq__dt.active + .bonenkaiFaq__dd {
    display: block;
  }
}
