/* ----------------------------------------------------------------
   Footer CSS - 全LP共通
----------------------------------------------------------------- */

/* ========== Utility Classes (used in footer) ========== */
.mx_auto {
  margin-left: auto;
  margin-right: auto;
}

.disp_block {
  display: block !important;
}

.disp_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.fs18 {
  font-size: 4.8vw;
}

@media (min-width: 375px) {
  .fs18 {
    font-size: 18px;
  }
}

.fw700 {
  font-weight: 700 !important;
}

/* ========== Footer Styles ========== */
.footer {
  text-align: left;
  line-height: 1.5;
  font-size: 16px;
  color: #000;
  margin-top: 4.53vw;
  padding: 10.4vw 0 17.8666666666vw;
  background: #eae8e9;
}

.footer img {
  display: block;
  max-width: 100%;
  height: auto;
}

.footer a:link,
.footer a:visited {
  color: #000;
}

.footer_sns {
  width: 44.8%;
  margin-top: 11.46vw;
}

.footer_sns_line {
  width: 12.2666666666vw;
}

.footer_sns_ig {
  width: 10.4vw;
}

.footer_sns_x {
  width: 9.0666666666vw;
}

.footer_sns_fb {
  width: 11.2vw;
  margin-top: -1vw;
}

.footer_nav {
  width: 76%;
}

.footer_nav_inner {
  margin-top: 17.33vw;
  gap: 13.3vw 0;
}

.footer_nav_category {
  margin-bottom: 7.73vw;
}

.footer_nav_share {
  width: 100%;
}

.footer_nav_share .footer_sns {
  width: 62.1333333333vw;
  margin: 0 auto 0 0;
}

.footer_nav_onlinestore {
  width: 100%;
}

.footer_nav_onlinestore li,
.footer_nav_help li {
  font-size: 3.7333333333vw;
  line-height: 2.07;
}

.footer_nav_onlinestore li::before,
.footer_nav_help li::before {
  content: "・ ";
}

.footer_nav_onlinestore li a {
  text-decoration: underline;
}

.footer_help {
  gap: 14.13vw 0;
}

.footer_help01,
.footer_help02 {
  width: 100%;
}

.footer_tagwrapper {
  width: 76%;
  margin-top: 25.33vw;
}

.footer_copyright {
  margin-top: 6.13vw;
  letter-spacing: 0.03em;
  font-size: 1.2rem;
  text-align: center;
}

/* ========== Tablet / PC ========== */
@media (min-width: 768px) {
  .footer {
    margin-top: 60px;
    padding: 50px 0;
  }

  .footer_sns {
    width: 126px;
    margin-top: 48px;
  }

  .footer_sns_line {
    width: 35px;
  }

  .footer_sns_ig {
    width: 30px;
  }

  .footer_sns_x {
    width: 25px;
  }

  .footer_sns_fb {
    width: 32px;
    margin-top: -3px;
  }

  .footer_nav {
    width: 560px;
    margin-top: 50px;
  }

  .footer_junonline {
    width: 247px;
  }

  .footer_nav_inner {
    margin-top: 65px;
    gap: 50px 0;
  }

  .footer_nav_category {
    margin-bottom: 30px;
    font-size: 16px;
  }

  .footer_nav_share {
    width: 260px;
  }

  .footer_nav_share .footer_sns {
    width: 175px;
    margin: 0;
  }

  .footer_nav_onlinestore {
    width: 50%;
  }

  .footer_nav_onlinestore li,
  .footer_nav_help li {
    font-size: 12px;
    line-height: 1.83;
  }

  .footer_nav_onlinestore li::before,
  .footer_nav_help li::before {
    content: "・ ";
  }

  .footer_nav_onlinestore li a {
    text-decoration: underline;
  }

  .footer_nav_help {
    width: 100%;
  }

  .footer_help {
    gap: 0;
  }

  .footer_help01 {
    width: 125px;
  }

  .footer_help02 {
    width: calc(100% - 125px);
  }

  .footer_tagwrapper {
    width: 100%;
    margin-top: 70px;
  }

  .footer_tag {
    width: 215px;
    margin-inline: auto;
  }

  .footer_copyright {
    margin-top: 15px;
    text-align: center;
    font-size: 11px;
  }
}

/* ========== Desktop ========== */
@media (min-width: 1200px) {
  .footer_nav {
    width: 90%;
    max-width: 1240px;
  }

  .footer_nav_inner {
    width: 860px;
  }

  .footer_nav_onlinestore {
    width: 300px;
  }

  .footer_nav_help {
    width: 300px;
  }
}
