@charset "utf-8";
/* style_520vw.css : style_520.css ベースのレスポンシブ版。
   520px超はpx固定（max-width 520px 中央寄せ）、520px以下は vw で流動的にスケール。
   vw = px / 520 * 100。クラス構成・JS連携は同一。 */
body {
  min-width: 100%;
}

.gacha_wrap {
  min-height: 100vh;
  color: #414b64;
  font-family: "Zen Kaku Gothic New", sans-serif;
  background: #ffeff0;
}

.gacha_wrap img {
  height: auto;
}

.gacha_first {
  position: relative;
  max-width: 520px;
  min-height: 100vh;
  padding: 81.12px 27.73px 108.27px;
  margin: 0 auto;
  background: #ffeff0 url(../images/bg_01.png) 50% 0 / cover no-repeat;
  overflow: hidden;
}
.gacha {
  margin-bottom: 36.05px;
  font-size: 0;
  text-align: center;
}
.gacha > img {
  position: relative;
  width: 100%;
  max-width: 312.69px;
  margin: 0 auto;
  font-size: 0;
  z-index: 2;
}
.gacha_bg {
  position: absolute;
  top: 56.85px;
  left: 50%;
  width: 494.35px;
  transform: translateX(-50%);
  animation: rotation 32s linear infinite;
}

@keyframes rotation {
  0% {
    transform: translateX(-50%)rotate(0deg);
  }
  100% {
    transform: translateX(-50%)rotate(360deg);
  }
}

.gacha_title {
  position: absolute;
  top: 212.85px;
  left: 50%;
  width: 476.32px;
  transform: translateX(-50%);
  z-index: 3;
}
.gacha_capsule {
  position: absolute;
  width: 68.64px;
}
.gacha_capsule.capsule_1 {
  top: 27.73px;
  left: 30.51px;
}
.gacha_capsule.capsule_2 {
  top: 56.85px;
  right: 29.12px;
}
.gacha_capsule.capsule_3 {
  top: 520px;
  right: 34.67px;
}
.gacha_capsule.capsule_4 {
  top: 540.8px;
  left: 27.73px;
}
.gacha_txt {
  margin-bottom: 40.21px;
  font-size: 24.27px;
  text-align: center;
  letter-spacing: 4.16px;
  line-height: 1.4;
  font-weight: 600;
  color: #6e7b9f;
}
.gacha_btn_wrap {
  text-align: center;
}
.gacha_btn {
  display: block;
  margin-bottom: 22.88px;
  cursor: pointer;
}
.gacha_btn:last-child {
  margin-bottom: 0;
}

.gacha_noto {
  padding: 44.8px 16px 49.97px;
  font-size: 14.4px;
  line-height: 1.7;
  font-weight: 500;
}
.gacha_noto li {
  padding-left: 1em;
  text-indent: -1em;
}

.gacha_faq {
  margin-bottom: 74.67px;
}
.gacha_faq_title {
  width: 90.45px;
  margin: 0 auto 41.87px;
}
.gacha_faq_inner dl {
  margin-bottom: 18.67px;
  border-bottom: 1px solid #595959;
}
.gacha_faq_inner dl dt {
  position: relative;
  padding: 18.67px 60.2px 18.67px 0;
  font-size: 21.65px;
  font-weight: 500;
  text-align: center;
  cursor: pointer;
}
.gacha_faq_inner dl dt::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 23.89px;
  width: 19.41px;
  height: 1px;
  background: #414b64;
  transform: translateY(-50%);
}
.gacha_faq_inner dl dt::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 23.89px;
  width: 19.41px;
  height: 1px;
  background: #414b64;
  transform: translateY(-50%)rotate(90deg);
  transition: 0.3s;
}
.gacha_faq_inner dl dt.open::after {
  transform: translateY(-50%)rotate(0deg);
}
.gacha_faq_inner dl dd {
  display: none;
  padding: 0 0 18.67px;
}
.gacha_faq_inner dl dd span {
  display: inline-block;
  padding-left: 1em;
  text-indent: -1em;
}

.gacha_last_title {
  width: 123.95px;
  margin: 0 auto 32.11px;
}
.gacha_last_btns {
  display: flex;
  justify-content: center;
}
.gacha_first .gacha_last_btn {
  display: block;
  width: 246.4px;
}

.gacha_res {
  position: relative;
  display: none;
  max-width: 520px;
  padding: 0;
  margin: 0 auto;
  overflow: hidden;
}
.gacha_res--wallpaper {
  padding: 48.53px 41.6px 0;
  background: #ffeff0 url(../images/bg_02.png) 50% 0 / cover no-repeat;
  overflow: hidden;
}
.gacha_result--lucky_content {
  padding: 50.61px 41.6px 50px;
  background: #ffeff0 url(../images/bg_02.png) 50% 0 / cover no-repeat;
  overflow: hidden;
}
.gacha_res--congratulation_inner {
  position: relative;
  padding: 50.61px 41.6px 55.47px;
  background: #ffeff0 url(../images/bg_02.png) 50% 0 / cover no-repeat;
  overflow: hidden;
}
.gacha_res.gacha_res--wallpaper {
  background-image: url(../images/bg_04.png);
}
.gacha_res_head {
  position: relative;
  display: flex;
  margin-bottom: 24.96px;
  justify-content: center;
  align-items: center;
  gap: 22.19px;
  z-index: 1;
}
.gacha_res_head::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 466.35px;
  height: 116.48px;
  background: url(../images/lucky_title_bg.png) 50% 50% / contain no-repeat;
  transform: translate(-50%,-50%);
  z-index: -1;
}
.gacha_res_ttl {
  font-size: 36.05px;
  color: #6e7b9f;
  letter-spacing: 0;
}
.gacha_res_medal {
  max-width: 56.16px;
  font-size: 0;
}
.gacha_card {
  padding: 41.42px 10px !important;
  margin-bottom: 55.47px;
  background: #FFF;
  border-radius: 17.33px;
}
.gacha_result--lucky_content .gacha_card {
  display: none;
  padding: 27.73px 10px 24.96px;
  text-align: center;
  border: 2px solid #ffa8ba;
}
.gacha_card.gacha_card--coupon {
  padding-bottom: 6.93px;
}
.gacha_card_txt {
  margin-bottom: 19.41px;
  font-size: 17.70px;
  font-weight: 600;
  line-height: 1.3;
  color: #6e7b9f;
}
.gacha_card_ttl {
  margin-bottom: 30.51px;
  font-size: 39.90px;
  font-weight: 600;
  text-align: center;
  color: #6e7b9f;
  line-height: 1.1;
}
.gacha_card_ttl small {
  font-size: 23.57px;
  font-weight: 500;
}
.gacha_result--lucky_content .gacha_card_ttl {
  display: inline-block;
  font-size: 30.51px;
  color: #f4539f;
  background: linear-gradient(0deg, #fffed1 25%, transparent 25%, transparent 100%);
}
.gacha_card_name {
  margin-bottom: 13.87px;
  font-size: 30.51px;
  font-weight: 600;
  line-height: 1.3;
  color: #6e7b9f;
}
.gacha_card_name span {
  display: inline-block;
  font-size: 95%;
}
.gacha_card_name small {
  display: block;
  font-size: 18px;
}
.gacha_card_sub {
  margin: -16.64px 0 18.03px;
  font-size: 29.65px;
  text-align: center;
  font-weight: 600;
  color: #6e7b9f;
}
.gacha_card_lead {
  margin-bottom: 11.09px;
  font-size: 20.11px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  color: #f6577b;
}
.gacha_card_img {
  text-align: center;
}
.gacha_card_img.is-placeholder {
  position: relative;
  max-width: 180px;
  margin: 0 auto 34.67px;
  overflow: hidden;
}
.gacha_card_img.is-placeholder::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 217.761%;
  background: #6e7b9f;
}
.gacha_card_img.is-placeholder img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}
.gacha_card_note {
  margin: 44.37px 0;
  font-size: 20.11px;
  font-weight: 600;
  color: #f6577b;
}
.gacha_card_note small {
  display: inline-block;
  margin-top: 13.25px;
  font-size: 13.64px;
}
.gacha_coupon_code {
  font-size: 0 !important;
}

.gacha_wchance {
  font-size: 19.41px;
  text-align: center;
}
.gacha_wchance--simple {
  /* padding-top: 62.4px; */
}
.gacha_wchance_ttl {
  display: block;
  width: 309.01px;
  margin: 0 auto 36.05px;
}
.gacha_wchance_txt {
  margin-bottom: 41.6px;
}
.gacha_wchance_txt .mark {
  display: inline-block;
  padding: 4.85px 8.2px 4.85px 10.17px;
  margin-right: 3px;
  font-weight: 500;
  color: #FFF;
  line-height: 1.2;
  background: #f6577b;
}
.gacha_email_title {
  display: block;
  text-align: center;
  margin-bottom: 15.95px;
  font-size: 22.09px;
  font-weight: 700;
  color: #d40000;
}
.gacha_email_field input[type="text"],
.gacha_email_field input[type="email"],
.gacha_email_field input[type="number"],
.gacha_email_field input[type="tel"],
.gacha_email_field input[type="password"] {
  width: 100%;
  max-width: 417.39px;
  height: 47.15px;
  padding: 0 12.17px 2.1px;
  background: #FFF;
  border: 1px solid #595959;
}
.gacha_email_field {
  margin-bottom: 15.25px;
}
.gacha_email_label {
  display: block;
  max-width: 417.39px;
  margin: 0 0 4.85px;
  font-size: 13.33px;
  font-weight: 700;
  text-align: left;
  color: #d40000;
}
.gacha_mail {
  max-width: 296.53px;
  margin: 0 auto;
}
.gacha_mail_note {
  display: none;
  padding: 39.52px 11.09px 0;
  margin: 0 -41.6px;
  font-size: 14.56px;
  line-height: 1.4;
  font-weight: 500;
}
.gacha_email_error {
  margin-bottom: 6px;
  font-size: 12px;
  color: red;
  text-align: center;
}

.other_faq {
  margin-bottom: 0;
}
.gacha_cta {
  position: relative;
  max-width: 449.28px;
  margin: 0 auto;
}
.gacha_cta_badge {
  position: absolute;
  top: 50%;
  left: 0;
  width: 119.25px;
  transform: translateY(-50%);
}
.gacha_wallpaper_w {
  width: 458.72px;
  max-width: 100%;
  padding: 88.75px 0 44.37px;
  margin: 0 auto;
}
.gacha_thanks {
  padding: 62.4px 0 69.97px;
  font-size: 19.41px;
  text-align: center;
  background: url(../images/bg_03.png) 50% 100% / cover no-repeat;
}
.gacha_thanks_ttl {
  max-width: 208px;
  margin: 0 auto 27.73px;
}
.gacha_thanks_txt {
  margin-bottom: 33.28px;
}
.gacha_back {
  max-width: 193.44px;
  margin: 0 auto;
  font-size: 0;
}
.gacha_coupon {
  margin: 55.47px 0 85.97px;
  background: #FFF;
  border: 1.39px solid #6e7b9f;
  border-radius: 10.4px;
}
.gacha_coupon_toggle {
  position: relative;
  display: flex;
  width: 100%;
  max-width: 436.8px;
  height: 58.93px;
  margin: 0 auto;
  font-size: 21.49px;
  font-weight: 500;
  line-height: 1.1;
  color: #6e7b9f;
  align-items: center;
  justify-content: center;
}
.gacha_coupon_icon::before {
  position: absolute;
  content: "+";
  top: 15.25px;
  right: 29.81px;
  font-size: 27.73px;
  line-height: 1;
}
.gacha_coupon_toggle[aria-expanded="true"] .gacha_coupon_icon::before {
  content: "ー";
}
.gacha_coupon_body {
  display: none;
}

.gacha_steps {
  position: relative;
  padding: 13.87px 24.27px 37.44px;
}
.gacha_steps::before {
  content: "";
  position: absolute;
  top: 27.73px;
  left: 63.79px;
  width: 2.08px;
  height: 70%;
  background: #ffa1b6;
}
.gacha_step_title {
  display: flex;
  font-size: 20.8px;
  gap: 23.57px;
  line-height: 1.4;
  color: #ffa1b6;
  align-items: center;
}
.gacha_step_no {
  position: relative;
  width: 81.81px;
  min-width: 81.81px;
  z-index: 1;
}
.gacha_step_no::before {
  content: "";
  position: absolute;
  top: -18.03px;
  left: 0;
  right: 0;
  bottom: -18.03px;
  background: #FFF;
  z-index: -1;
}
.gacha_step_ttl {
  font-size: inherit;
}
.gacha_step_main {
  padding: 22.88px 0 22.88px 105.39px;
  font-size: 13.87px;
}

.gacha_wchance.gacha_wchance--full {
  position: relative;
  background: #FFF;
}
.gacha_wchance_deco {
  position: absolute;
}
.gacha_wchance_deco--gift {
  top: -42.29px;
  right: 15.95px;
  width: 76.96px;
}
.gacha_wchance_deco--bag {
  left: 13.17px;
  bottom: -32.59px;
}
.gacha_res--lucky .gacha_thanks {
  background: url(../images/bg_03.png) 50% 50% / cover no-repeat;
}
.gacha_res--wallpaper .gacha_thanks {
  margin: 0 -41.6px;
  background: transparent;
}
.gacha_res--congratulation .gacha_item {
  position: relative;
}
.gacha_res--congratulation_inner .gacha_cta_badge {
  top: 27%;
}
.gacha_res--congratulation_inner .gacha_card_img {
  margin-bottom: 38.13px;
}
.gacha_card_ttl_icon {
  display: block;
  font-size: 0;
}
.gacha_card_balloon {
  position: absolute;
  bottom: 0;
  opacity: 0;
  z-index: 1;
}
.gacha_card_balloon.balloon1 {
  right: -8.32px;
}
.gacha_card_balloon.balloon2 {
  right: -13.87px;
}
.gacha_card_balloon.balloon3 {
  left: -13.87px;
}
.gacha_card_balloon.balloon4 {
  left: 6.93px;
}
.gacha_card_balloon.balloon5 {
  right: 3.47px;
}
.gacha_card_balloon.balloon6 {
  left: -9.71px;
}

.gacha_res--inner_note .gacha_noto {
  padding: 55.47px 0 2.32px;
}
.gacha_noto_title {
  text-align: center;
}
.gacha_noto_title .mark {
  display: inline-block;
  padding: 4.85px 8.2px 4.85px 10.17px;
  margin-bottom: 19.41px;
  font-weight: 500;
  color: #FFF;
  line-height: 1.2;
  background: #f6577b;
}

.gacha_cta_title {
  padding: 33.28px 41.6px;
  margin: 0 -41.6px;
  font-size: 26.83px;
  font-weight: 600;
  text-align: center;
  line-height: 1.2;
  background: #ffb6c2;
}
.gacha_cta_list {
  padding: 44.37px 0;
}
.gacha_cta_list li {
  display: flex;
  padding-left: 20.8px;
  margin-bottom: 27.04px;
  font-size: 20.8px;
  line-height: 1.4;
  font-weight: 500;
  align-items: center;
  gap: 20.11px;
}
.gacha_cta_list li:last-child {
  margin-bottom: 0;
}
.gacha_cta_list li span {
  display: flex;
  width: 40.21px;
  height: 40.21px;
  padding-bottom: 2.32px;
  font-size: 24.6px;
  font-weight: 500;
  line-height: 1.2;
  background: #fcb0c9;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
}
.gacha_cta_list li:nth-child(2) span {
  background: #fbcada;
}
.gacha_cta_list li:nth-child(3) span {
  background: #fccbdb;
}
.gacha_cta_list li:nth-child(4) span {
  background: #f8e1e8;
}

.gacha_wchance_others {
  padding: 27.73px 16.64px 55.47px;
  background: #FFF;
}
.gacha_wchance_others .other_faq {
  max-width: 412.27px;
  margin: 0 auto;
}
.gacha_wchance--other_note {
  margin-top: 32.59px;
  font-size: 13.87px;
  line-height: 1.7;
  font-weight: 500;
}

.gacha_animation {
  display: none;
  max-width: 520px;
  margin: 0 auto;
}
.gacha_animation img {
  width: 100%;
}

/* ============================================================
   画面状態の表示制御（script.js が .gacha_wrap / 各要素に付与）
   first(既定) → is-playing(GIF) → is-result(結果)
   ============================================================ */
.gacha_wrap.is-playing .gacha_first,
.gacha_wrap.is-result  .gacha_first { display: none; }
.gacha_wrap.is-playing .gacha_animation { display: block; }
/* 結果は該当の gacha_res のみ表示 */
.gacha_res.is-active { display: block; }
/* ラッキー賞は当選した景品カードのみ表示 */
.gacha_result--lucky_content .gacha_card.is-active { display: block; }
/* クーポンの使い方アコーディオンは送料無料クーポン当選時のみ */
.gacha_res--lucky .gacha_coupon { display: none; }
.gacha_res--lucky .gacha_coupon.is-active { display: block; }

/* ============================================================
   アニメーション（ページ最下部にまとめて追加）
   ============================================================ */

/* ① 上下ふわふわ（汎用）
   ・ふわふわさせたい要素に class="gacha_floatY" を付与するだけ。
   ・transform で位置指定している要素には併用しない（transformが競合します）。 */
@keyframes gacha_floatY {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-8.32px); }
}
.gacha_floatY {
  animation: gacha_floatY 3s ease-in-out infinite;
  will-change: transform;
}

/* 例：1枚目のカプセルを上下ふわふわ（速度・開始をずらして自然に。不要なら削除可） */
.gacha_capsule {
  animation: gacha_floatY 3s ease-in-out infinite;
  will-change: transform;
}
.gacha_capsule.capsule_1 { animation-duration: 3.2s; animation-delay: 0s;  }
.gacha_capsule.capsule_2 { animation-duration: 2.6s; animation-delay: .4s; }
.gacha_capsule.capsule_3 { animation-duration: 3.6s; animation-delay: .2s; }
.gacha_capsule.capsule_4 { animation-duration: 2.9s; animation-delay: .6s; }

/* ② 風船がふわ〜と上へゆっくり飛んでいく
   ・.gacha_card_balloon（position:absolute; bottom:-69.33px;）が前提。
   ・上昇距離は --balloon-rise で調整可（既定 -526.93px）。
   ・上へ抜ける演出。見切れさせたくない場合は親側の overflow に注意。 */
/* 上昇（縦方向のみ・等速〜減速でなめらか）。横揺れは子img側に分離して
   中間での速度リセットをなくし、カクつきを防止。 */
@keyframes gacha_balloonRise {
  0%   { transform: translateY(0); opacity: 0; }
  10%  { opacity: 1; }
  85%  { opacity: 1; }
  100% { transform: translateY(var(--balloon-rise, -568.53px)); opacity: 0; }
}
/* 左右のゆらぎ＋傾き（開始と終了を同じ値にしてシームレスにループ） */
@keyframes gacha_balloonSway {
  0%   { transform: translateX(0)    rotate(-3deg); }
  50%  { transform: translateX(7.63px) rotate(3deg); }
  100% { transform: translateX(0)    rotate(-3deg); }
}
.gacha_card_balloon {
  /* forwards で終了状態（上・透明）を保持し、再生後に元位置へ戻る“カクッ”を防止 */
  animation: gacha_balloonRise 3.5s cubic-bezier(.33, .18, .3, 1) 1 forwards;
  will-change: transform, opacity;
}
.gacha_card_balloon img {
  animation: gacha_balloonSway 2.6s ease-in-out infinite;
  will-change: transform;
}
/* 各風船で速度・開始タイミングをずらして自然に */
.gacha_card_balloon.balloon1 { animation-duration: 1.9s;  animation-delay: 0s;   }
.gacha_card_balloon.balloon2 { animation-duration: 1.7s;   animation-delay: .8s; }
.gacha_card_balloon.balloon3 { animation-duration: 2.2s;  animation-delay: .3s; }
.gacha_card_balloon.balloon4 { animation-duration: 1.8s;   animation-delay: 1s;  }
.gacha_card_balloon.balloon5 { animation-duration: 2s;  animation-delay: 1.1s; }
.gacha_card_balloon.balloon6 { animation-duration: 2.1s; animation-delay: 1.2s;   }
/* 横揺れも風船ごとに少しずらす */
.gacha_card_balloon.balloon2 img { animation-duration: 3s;   animation-delay: .2s; }
.gacha_card_balloon.balloon3 img { animation-duration: 2.3s; animation-delay: .5s; }
.gacha_card_balloon.balloon4 img { animation-duration: 2.8s; animation-delay: .1s; }
.gacha_card_balloon.balloon5 img { animation-duration: 2.4s; animation-delay: .6s; }
.gacha_card_balloon.balloon6 img { animation-duration: 3.1s; animation-delay: .3s; }

/* 端末の「視差効果を減らす」設定を尊重してアニメOFF */
@media (prefers-reduced-motion: reduce) {
  .gacha_floatY,
  .gacha_capsule,
  .gacha_card_balloon,
  .gacha_card_balloon img { animation: none; }
}
/* ▼ 520px以下：px を vw に変換して流動的にスケール（vw = px/520*100） */
@media screen and (max-width: 520px) {
  .gacha_first {
    max-width: 100vw;
    padding: 15.6vw 5.33vw 20.82vw;
  }
  .gacha {
    margin-bottom: 6.933vw;
  }
  .gacha > img {
    max-width: 60.133vw;
  }
  .gacha_bg {
    top: 10.933vw;
    width: 95.067vw;
  }
  .gacha_title {
    top: 40.933vw;
    width: 91.6vw;
  }
  .gacha_capsule {
    width: 13.2vw;
  }
  .gacha_capsule.capsule_1 {
    top: 5.333vw;
    left: 5.867vw;
  }
  .gacha_capsule.capsule_2 {
    top: 10.933vw;
    right: 5.6vw;
  }
  .gacha_capsule.capsule_3 {
    top: 100vw;
    right: 6.667vw;
  }
  .gacha_capsule.capsule_4 {
    top: 104vw;
    left: 5.333vw;
  }
  .gacha_txt {
    margin-bottom: 7.733vw;
    font-size: 4.667vw;
    letter-spacing: 0.8vw;
  }
  .gacha_btn {
    margin-bottom: 4.4vw;
  }
  .gacha_noto {
    padding: 8.615vw 3.077vw 9.610vw;
    font-size: 2.769vw;
  }
  .gacha_faq {
    margin-bottom: 14.360vw;
  }
  .gacha_faq_title {
    width: 17.394vw;
    margin: 0 auto 8.052vw;
  }
  .gacha_faq_inner dl {
    margin-bottom: 3.590vw;
  }
  .gacha_faq_inner dl dt {
    padding: 3.590vw 12.923vw 3.590vw 0;
    font-size: 4.163vw;
  }
  .gacha_faq_inner dl dt::before {
    right: 4.594vw;
    width: 3.733vw;
  }
  .gacha_faq_inner dl dt::after {
    right: 4.594vw;
    width: 3.733vw;
  }
  .gacha_faq_inner dl dd {
    padding: 0 0 3.590vw;
  }
  .gacha_last_title {
    width: 23.837vw;
    margin: 0 auto 6.175vw;
  }
  .gacha_first .gacha_last_btn {
    width: 47.385vw;
  }
  .gacha_res {
    max-width: 100vw;
  }
  .gacha_res--wallpaper {
    padding: 9.333vw 8vw 0;
  }
  .gacha_res--wallpaper .gacha_thanks {
    margin: 0 -8vw;
  }
  .gacha_result--lucky_content {
    padding: 9.733vw 8vw 12vw;
  }
  .gacha_res--congratulation_inner {
    padding: 9.733vw 8vw 10.667vw;
  }
  .gacha_res_head {
    margin-bottom: 4.8vw;
    gap: 4.267vw;
  }
  .gacha_res_head::after {
    width: 89.683vw;
    height: 22.400vw;
  }
  .gacha_res_ttl {
    font-size: 6.933vw;
  }
  .gacha_res_medal {
    max-width: 10.8vw;
  }
  .gacha_card {
    padding: 8vw;
    margin-bottom: 10.667vw;
    border-radius: 3.333vw;
  }
  .gacha_result--lucky_content .gacha_card {
    padding: 5.333vw 2vw 4.800vw;
    border-width: 0.385vw;
  }
  .gacha_card.gacha_card--coupon {
    padding-bottom: 1.333vw;
  }
  .gacha_card_txt {
    margin-bottom: 3.733vw;
    font-size: 3.404vw;
  }
  .gacha_card_ttl {
    margin-bottom: 5.867vw;
    font-size: 7.673vw;
  }
  .gacha_card_ttl small {
    font-size: 4.533vw;
  }
  .gacha_result--lucky_content .gacha_card_ttl {
    font-size: 5.867vw;
  }
  .gacha_card_name {
    margin-bottom: 2.667vw;
    font-size: 5.867vw;
  }
  .gacha_card_name small {
    font-size: 3.46vw;
  }
  .gacha_card_sub {
    margin: -3.2vw 0 3.467vw;
    font-size: 5.702vw;
  }
  .gacha_card_lead {
    margin-bottom: 2.133vw;
    font-size: 3.867vw;
  }
  .gacha_card_img.is-placeholder {
    max-width: 49.067vw;
    margin: 0 auto 6.667vw;
  }
  .gacha_card_note {
    margin: 8.533vw 0;
    font-size: 3.867vw;
  }
  .gacha_card_note small {
    margin-top: 2.548vw;
    font-size: 2.623vw;
  }
  .gacha_wchance {
    font-size: 3.733vw;
  }
  .gacha_wchance_ttl {
    width: 59.425vw;
    margin: 0 auto 6.933vw;
  }
  .gacha_wchance_txt {
    margin-bottom: 8vw;
  }
  .gacha_wchance_txt .mark {
    padding: 0.933vw 1.577vw 0.933vw 1.956vw;
    margin-right: 0.577vw;
  }
  .gacha_email_title {
    margin-bottom: 3.067vw;
    font-size: 4.248vw;
  }
  .gacha_email_field input[type="text"],
  .gacha_email_field input[type="email"],
  .gacha_email_field input[type="number"],
  .gacha_email_field input[type="tel"],
  .gacha_email_field input[type="password"] {
    max-width: 80.267vw;
    height: 9.067vw;
    padding: 0 2.340vw 0.404vw;
  }
  .gacha_email_field {
    margin-bottom: 2.933vw;
  }
  .gacha_email_label {
    max-width: 80.267vw;
    margin: 0 0 0.933vw;
    font-size: 2.563vw;
    font-weight: 700;
    text-align: left;
  }
  .gacha_mail {
    max-width: 57.025vw;
  }
  .gacha_mail_note {
    padding: 7.600vw 2.133vw 0;
    margin: 0 -8.000vw;
    font-size: 2.800vw;
  }
  .gacha_cta {
    max-width: 86.4vw;
  }
  .gacha_cta_badge {
    width: 22.933vw;
  }
  .gacha_wallpaper_w {
    width: 88.215vw;
    padding: 17.067vw 0 8.533vw;
  }
  .gacha_thanks {
    padding: 12vw 0 13.456vw;
    font-size: 3.733vw;
  }
  .gacha_thanks_ttl {
    max-width: 40vw;
    margin: 0 auto 5.333vw;
  }
  .gacha_thanks_txt {
    margin-bottom: 6.4vw;
  }
  .gacha_back {
    max-width: 37.2vw;
  }
  .gacha_coupon {
    margin: 10.667vw 0 16.533vw;
    border: 0.267vw solid #6e7b9f;
    border-radius: 2vw;
  }
  .gacha_coupon_toggle {
    max-width: 84vw;
    height: 11.333vw;
    font-size: 4.133vw;
  }
  .gacha_coupon_icon::before {
    top: 2.933vw;
    right: 5.733vw;
    font-size: 5.333vw;
  }
  .gacha_steps {
    padding: 2.667vw 4.667vw 7.2vw;
  }
  .gacha_steps::before {
    top: 5.333vw;
    left: 12.267vw;
    width: 0.4vw;
  }
  .gacha_step_title {
    font-size: 4vw;
    gap: 4.533vw;
  }
  .gacha_step_no {
    width: 15.733vw;
    min-width: 15.733vw;
  }
  .gacha_step_no::before {
    top: -3.467vw;
    bottom: -3.467vw;
  }
  .gacha_step_main {
    padding: 4.4vw 0 4.4vw 20.267vw;
    font-size: 2.667vw;
  }
  .gacha_res--inner_note .gacha_noto {
    padding: 10.667vw 0 0.446vw;
  }
  .gacha_noto_title .mark {
    padding: 0.933vw 1.577vw 0.933vw 1.956vw;
    margin-bottom: 3.733vw;
  }
  .gacha_cta_title {
    padding: 6.400vw 8.000vw;
    margin: 0 -8.000vw;
    font-size: 5.160vw;
  }
  .gacha_cta_list {
    padding: 8.533vw 0;
  }
  .gacha_cta_list li {
    padding-left: 4.000vw;
    margin-bottom: 5.200vw;
    font-size: 4.000vw;
    gap: 3.867vw;
  }
  .gacha_cta_list li span {
    width: 7.733vw;
    height: 7.733vw;
    padding-bottom: 0.446vw;
    font-size: 4.731vw;
  }
  .gacha_wchance_others {
    padding: 5.333vw 3.200vw 10.667vw;
  }
  .gacha_wchance_others .other_faq {
    max-width: 79.283vw;
  }
  .gacha_wchance--other_note {
    margin-top: 6.267vw;
    font-size: 2.667vw;
  }
  .gacha_wchance_deco--gift {
    top: -8.133vw;
    right: 3.067vw;
    width: 14.8vw;
  }
  .gacha_wchance_deco--bag {
    left: 2.533vw;
    bottom: -6.267vw;
  }
  .gacha_res--congratulation_inner .gacha_card_img {
    margin-bottom: 7.333vw;
  }
  .gacha_card_balloon.balloon1 {
    right: -1.6vw;
  }
  .gacha_card_balloon.balloon2 {
    right: -2.667vw;
  }
  .gacha_card_balloon.balloon3 {
    left: -2.667vw;
  }
  .gacha_card_balloon.balloon4 {
    left: 1.333vw;
  }
  .gacha_card_balloon.balloon5 {
    right: 0.667vw;
  }
  .gacha_card_balloon.balloon6 {
    left: -1.867vw;
  }
  .gacha_animation {
    max-width: 100vw;
  }
  @keyframes gacha_floatY {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-1.6vw); }
  }
  @keyframes gacha_balloonRise {
    0%   { transform: translateY(0); opacity: 0; }
    10%  { opacity: 1; }
    85%  { opacity: 1; }
    100% { transform: translateY(var(--balloon-rise, -109.333vw)); opacity: 0; }
  }
  @keyframes gacha_balloonSway {
    0%   { transform: translateX(0)    rotate(-3deg); }
    50%  { transform: translateX(1.467vw) rotate(3deg); }
    100% { transform: translateX(0)    rotate(-3deg); }
  }
}
