/* --------------------------------------------------
    フローティング追従 CTA（画面下部・app.menu.jp 準拠）
   -------------------------------------------------- */
/* CTA 直上の累積マージンを詰めて見た目の余白を小さくする */
main {
  padding-bottom: 0;
}
.scroll-top-wrapper {
  margin-top: 16px;
}
.breadcrumbs {
  margin-top: 16px;
}

.floating-cta {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  background: #fff;
  z-index: 990;
}

.floating-cta__container {
  width: 100%;
}

.floating-cta__img {
  display: block;
  margin: 0 auto;
  padding: 0 2.9333%;
  width: auto;
  height: auto;
}

.floating-cta__img picture,
.floating-cta__img img {
  display: block;
  width: 100%;
  height: auto;
}

@media (min-width: 769px) {
  .floating-cta__img {
    padding: 14px 0 0;
    width: 448.21px;
  }
}

.floating-cta__code {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 4px;
  padding: 4px 12px 6px;
  line-height: 1.2;
}

.floating-cta__code .coupon-code-label {
  font-size: 11px;
  font-weight: bold;
  color: #333;
  white-space: nowrap;
}

.floating-cta__code .coupon-code-value {
  font-size: 13px;
  font-weight: 900;
  color: #333;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.floating-cta__code .coupon-copy-btn {
  margin-left: 6px;
  padding: 3px 6px;
  min-width: 48px;
  font-size: 11px;
  font-weight: bold;
  background-color: #eeeeee;
  color: #333;
  border: 1px solid #d0d0d0;
  border-radius: 4px;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color 0.2s;
}

.floating-cta__code .coupon-copy-btn:hover {
  background-color: #e0e0e0;
}

.floating-cta__code .coupon-copy-btn.is-copied {
  background-color: #43c66f;
  color: #fff;
  border-color: #43c66f;
}

@media (max-width: 768px) {
  body {
    padding-bottom: 31vw;
  }
}

@media (min-width: 769px) {
  body {
    padding-bottom: 130px;
  }
}
