.lp-fb {
  position: fixed;
  left: 50%;
  bottom: var(--lp-fb-bottom-pc, 20px);
  transform: translate(-50%, 120%);
  width: min(calc(100% - 40px), var(--lp-fb-max, 960px));
  z-index: var(--lp-fb-z, 9999);
  opacity: 0;
  pointer-events: none;
  transition: transform .35s ease, opacity .35s ease;
  box-sizing: border-box;
}
.lp-fb.is-visible {
  transform: translate(-50%, 0);
  opacity: 1;
  pointer-events: auto;
  aria-hidden: false;
}
.lp-fb--bottom_left {
  left: 20px;
  transform: translate(0, 120%);
}
.lp-fb--bottom_left.is-visible {
  transform: translate(0, 0);
}
.lp-fb--bottom_right {
  left: auto;
  right: 20px;
  transform: translate(0, 120%);
}
.lp-fb--bottom_right.is-visible {
  transform: translate(0, 0);
}
.lp-fb__link {
  display: block;
  line-height: 0;
  text-decoration: none;
}
.lp-fb img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--lp-fb-radius, 0px);
}
.lp-fb--shadow img {
  box-shadow: 0 8px 24px rgba(0,0,0,.22);
}
.lp-fb__close {
  position: absolute;
  top: -12px;
  right: -12px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 0;
  background: rgba(0,0,0,.78);
  color: #fff;
  font-size: 20px;
  line-height: 28px;
  text-align: center;
  cursor: pointer;
  z-index: 2;
  padding: 0;
}
.lp-fb__close:hover { opacity: .85; }
.lp-fb--hide-pc { display: none; }
@media (max-width: 767px) {
  .lp-fb {
    width: calc(100% - 24px);
    bottom: calc(var(--lp-fb-bottom-sp, 10px) + env(safe-area-inset-bottom));
  }
  .lp-fb--bottom_left {
    left: 12px;
  }
  .lp-fb--bottom_right {
    right: 12px;
  }
  .lp-fb__close {
    top: -10px;
    right: -8px;
    width: 26px;
    height: 26px;
    font-size: 18px;
    line-height: 26px;
  }
  .lp-fb--hide-pc { display: block; }
  .lp-fb--hide-sp { display: none; }
}
