@charset "UTF-8";

.l-footer {
  --fu: 10px;
  --footer-arrow: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAUCAMAAACOLiwjAAAAPFBMVEVMaXERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERGWMS+VAAAAFHRSTlMALyIYB/jd7P11PtDCD7FNX5xRZaHmIYgAAAAJcEhZcwAACxMAAAsTAQCanBgAAABRSURBVHjabc85EsAwCANA34ANPpL//zWlyIzpthFSkBNwwrNAL6tBTx0Z6tQSFIkilBp1KI+6INO6oTJZrjDlfQvw0f6pr7Nc0e0m/MbJwdAPUucCmHnUOl0AAAAASUVORK5CYII=");
  font-family: 遊ゴシック体, Yu Gothic, YuGothic, ヒラギノ角ゴシック Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, Osaka, MS Pゴシック, MS PGothic, sans-serif;
  font-weight: 500;
  color: #111;
  letter-spacing: 0;
  line-height: 1;
  background-color: #fff;
}

@media screen and (max-width: 1240px) {
  .l-footer {
    --fu: 0.8064516129vw;
  }
}

@media screen and (max-width: 1023px) {
  .l-footer {
    --fu: 10px;
  }
}

@media screen and (max-width: 374px) {
  .l-footer {
    --fu: 2.6666666667vw;
  }
}

.l-footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.l-footer a {
  color: inherit;
  text-decoration: none;
}

.l-footer img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.l-footer button {
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  line-height: 0;
}

.l-footer a,
.l-footer button {
  transition: opacity 0.3s;
}

@media (hover: hover) {
  .l-footer a:hover,
  .l-footer button:hover {
    opacity: 0.7;
  }
}

@media screen and (max-width: 767px) {
  .l-footer {
    border-top: calc(0.1 * var(--fu)) solid #e6e6e6;
  }
}

.l-footer__cat {
  border-bottom: calc(0.1 * var(--fu)) solid #e6e6e6;
}

.l-footer__cat-body {
  max-width: calc(104 * var(--fu));
  padding: calc(3.2 * var(--fu)) calc(2 * var(--fu));
  margin-inline: auto;
}

.l-footer__cat-body dl {
  display: flex;
  align-items: center;
}

.l-footer__cat-body dt {
  font-size: calc(1.5 * var(--fu));
  width: calc(16 * var(--fu));
  min-width: calc(16 * var(--fu));
  font-weight: 500;
}

.l-footer__cat-body dd {
  padding-left: calc(3.2 * var(--fu));
  border-left: calc(0.1 * var(--fu)) solid #e6e6e6;
}

.l-footer__cat-body ul {
  display: flex;
  flex-wrap: wrap;
  column-gap: calc(4.2 * var(--fu));
}

.l-footer__cat-body li a {
  display: block;
  padding-block: calc(0.8 * var(--fu));
  font-size: calc(1.4 * var(--fu));
  line-height: 1.6428571429;
  position: relative;
  padding-right: calc(1.4 * var(--fu));
}

.l-footer__cat-body li a:after {
  content: "";
  display: inline-block;
  width: calc(0.6 * var(--fu));
  aspect-ratio: 6 / 12;
  background: #b5a04a;
  -webkit-mask-image: var(--footer-arrow);
  mask-image: var(--footer-arrow);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.l-footer__cat-sp {
  text-align: center;
  border-bottom: calc(0.2 * var(--fu)) solid #fa0046;
}

.l-footer__cat-sp a {
  display: inline-block;
  font-size: calc(1.4 * var(--fu));
  line-height: 1.6428571429;
  padding: calc(1.4 * var(--fu));
  position: relative;
}

.l-footer__cat-sp a:before {
  content: "";
  display: inline-block;
  width: calc(0.6 * var(--fu));
  aspect-ratio: 6 / 12;
  background: #b5a04a;
  -webkit-mask-image: var(--footer-arrow);
  mask-image: var(--footer-arrow);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.l-footer__bottom {
  max-width: calc(104 * var(--fu));
  margin-inline: auto;
  padding: calc(2.4 * var(--fu)) calc(2 * var(--fu));
  position: relative;
}

@media screen and (max-width: 767px) {
  .l-footer__bottom {
    padding: 0;
  }
}

.l-footer__toTop {
  width: calc(6.4 * var(--fu));
  aspect-ratio: 1;
  background-color: #dbaa00;
  position: absolute;
  top: 0;
  right: calc(2 * var(--fu));
  transform: translateY(-100%);
}

.l-footer__toTop img {
  width: 100%;
  height: 100%;
  max-width: none;
}

@media screen and (max-width: 767px) {
  .l-footer__toTop {
    width: calc(4 * var(--fu));
    top: calc(1.1 * var(--fu));
    transform: translateY(0);
  }
}

.l-footer__menu {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.l-footer__wrap {
  display: flex;
  flex-direction: column;
  gap: calc(1.2 * var(--fu));
}

.l-footer__list {
  display: flex;
  margin-left: calc(0.8 * var(--fu));
}

.l-footer__list li:first-of-type a {
  padding-left: 0;
}

.l-footer__list li:last-of-type {
  padding-right: 0;
}

.l-footer__list li + li {
  border-left: calc(0.1 * var(--fu)) solid #4d4d4f;
}

.l-footer__list a {
  font-size: calc(1.2 * var(--fu));
  line-height: 1.25;
  color: #4d4d4f;
  padding-inline: calc(0.8 * var(--fu));
}

.l-footer__copy {
  margin-inline: auto 0;
}

.l-footer__copy img {
  width: calc(14.2 * var(--fu));
}

.l-footer__copy p {
  text-align: right;
}

.l-footer__copy-txt {
  font-size: calc(1.1 * var(--fu));
  letter-spacing: 0;
  margin-top: calc(1.3 * var(--fu));
}

@media screen and (max-width: 767px) {
  .l-footer__copy-txt {
    font-size: calc(1 * var(--fu));
    margin-top: 0;
    padding-block: calc(0.6 * var(--fu)) calc(0.8 * var(--fu));
  }
}

.l-footer__privacy {
  padding: calc(0.4 * var(--fu)) calc(0.5 * var(--fu)) calc(1 * var(--fu));
  text-align: center;
}

.l-footer__privacy-list {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.l-footer__privacy-list li + li {
  border-left: calc(0.1 * var(--fu)) solid #4d4d4f;
}

.l-footer__privacy-list a {
  display: block;
  font-size: calc(1 * var(--fu));
  line-height: 1.2;
  letter-spacing: 0;
  color: #4d4d4f;
  padding-inline: calc(0.5 * var(--fu));
}

@media screen and (min-width: 768px) {
  .l-footer .u-sp-show {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .l-footer .u-sp-hide {
    display: none;
  }
}
