/* -----------------------------------------------------
	lp_footer
	/lan/keizoku/2105/ のフッターと同じ見た目。
	各LPの汎用 footer / footer p 指定に負けないよう、要素ではなくクラスで当てる
----------------------------------------------------- */
.lp_footer {
  margin: 0;
  padding: min(4vw, 40px) 0 min(2vw, 20px);
  background: #373B47;
  color: #fff;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .lp_footer {
    padding: 11.71875vw 5.20833vw;
  }
}

.lp_footer p {
  font-family: inherit;
}

/* a / ul は .lp_footer_inner に限る。subscpay のように追従CTAを同じ footer に入れるLPで、ボタンの色を奪わないため */
.lp_footer_inner a {
  color: inherit;
  text-decoration: none;
}

.lp_footer_inner ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.lp_footer_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1000px;
  width: 95%;
  margin: 0 auto;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .lp_footer_inner {
    flex-direction: column;
    width: 100%;
  }
  .lp_footer_wrap_t {
    margin-inline: 0 auto;
  }
}

.lp_footer_logo {
  margin-bottom: min(2.4vw, 24px);
}

@media screen and (max-width: 768px) {
  .lp_footer_logo {
    margin-bottom: 5.20833vw;
  }
}

.lp_footer_logo img {
  width: min(29.3vw, 293px);
  height: auto;
}

@media screen and (max-width: 768px) {
  .lp_footer_logo img {
    width: 57.29167vw;
  }
}

.lp_footer .lp_footer_text {
  margin: 0;
  font-size: min(1.4vw, 14px);
  line-height: 1.8;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .lp_footer .lp_footer_text {
    font-size: 3.38542vw;
  }
}

.lp_footer_wrap_b {
  margin-block: 0 min(1vw, 10px);
}

@media screen and (max-width: 768px) {
  .lp_footer_wrap_b {
    width: 100%;
    margin-block: 5.20833vw 7.8125vw;
  }
}

.lp_footer_wrap_b ul {
  display: flex;
  align-items: center;
  gap: min(4vw, 40px);
}

@media screen and (max-width: 768px) {
  .lp_footer_wrap_b ul {
    flex-direction: column;
    align-items: flex-start;
    gap: 2.60417vw;
  }
}

.lp_footer_wrap_b li {
  font-size: min(1.6vw, 16px);
}

@media screen and (max-width: 768px) {
  .lp_footer_wrap_b li {
    font-size: 3.64583vw;
  }
}

.lp_footer .lp_footer_copy {
  margin: 0;
  color: #fff;
  font-size: min(1.2vw, 12px);
  font-weight: normal;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .lp_footer .lp_footer_copy {
    font-size: 2.60417vw;
    text-align: left;
  }
}

/* 追従CTA（data-lp-footer-hide）はフッターが見えている間だけ下へ退避させる。
   各LPの表示クラス（.l_footer.show / .fl.fixed / footer .fixed_banner.show = 最大 0,2,1）より
   詳細度を上げて、読み込み順に頼らず上書きする */
html body.is-lp-footer-in-view [data-lp-footer-hide] {
  transform: translateY(100%);
}
