@charset "utf-8";
/* CSS Document */

.footer-container .footer {
  background: #fff;
  padding: 65px 0 0;
  font-size: 12px;
  text-align: center;
}

/* 共通 */
.footer-container .footer a,
.footer-container .footer a:hover,
.footer-container .footer a:focus {
  text-decoration: none;
}
.footer-container .footer .bt-d-flex {
  display: flex;
}
.footer-container .footer .bt-s-between {
  justify-content: space-between;
}
.footer-container address {
  margin-bottom: 0;
  line-height: calc(22 / 13);
}

/* スライドコンテンツ */
.footer-slide__contents {
    background-color: #fcf2f4;
    padding: 30px 0;
}
.footer-slide__list {
  max-width: calc(1440px + 60px + 60px);
  margin-left: auto;
  margin-right: auto;
  padding: 0 60px;
}
.footer-slide__list li {
  display: flex;
  align-items: center;
}
.footer-slide__list a {
  font-weight: 500;
  line-height: calc(18/12);
}
.footer-slide__list-icon {
  margin-right: 25px;
  height: 32px;
}
.footer-slide__list-icon.exchange {
  height: 36px;
}

/* snsアイコン */
.footer-sns {
  border-bottom: 1px solid #ece7e9;
  padding: 80px 0px 13px;
}
.footer-sns__contents {
  max-width: calc(1440px + 60px + 60px);
  margin: 0 auto;
  padding: 0 59px 0 60px;
}
.footer-sns__logo .breadcrumbs {
  padding: 0 17px;
  margin: 0;
}
.footer-sns__logo .breadcrumbs li {
  margin-right: 10px;
  position: relative;
  display: inline-flex;
  align-items: center;
}
.footer-sns__logo .breadcrumbs li.isTopPage::after {
  content: '';
  display: inline-block;
  width: 17px;
  height: 13px;
  background: url(/assets/images/footer/icon_arrow_right.svg) no-repeat center center;
  background-size: contain;
  margin-left: 10px;
  flex-shrink: 0;
  align-self: center;
}

.footer-sns__logo .breadcrumbs li + li::before {
  content: '';
  display: inline-block;
  width: 5px;
  height: 11px;
  background: url(/assets/images/common/icon_arrow_right.png) no-repeat center center;
  background-size: contain;
  margin-right: 10px;
  flex-shrink: 0;
  align-self: center;
}
.footer-sns__logo .breadcrumbs li > a {
  font-size: 12px;
  color: #000;
  font-weight: initial;
}
.footer-sns__icon ul {
  display: flex;
  align-items: center;
}
.footer-sns__icon li {
  margin-right: 10px;
  line-height: 15px;
}
.footer-sns__icon li:last-child {
  margin-right: 0;
}
.footer-sns__icon .link img {
  height: 15px;
}

/* ガイド */
.footer-link {
  padding: 43px 0 0;
  max-width: calc(1440px + 60px + 60px);
  margin: 0 auto;
}
.footer-link__contents {
  padding: 0 60px;
}
.footer-link__guide {
  padding: 0 17px;
}
.footer-link__guide {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 56px;
}
.footer-link__guide li {
  text-align: left;
  margin-bottom: 5px;
}
.footer-link__guide a {
  font-weight: 500;
  line-height: calc(22 / 12);
  letter-spacing: 0;
}
.footer-link__guide a:hover,
.footer-link__guide a:focus {
  color: #444;
}
.footer-link__regist-disclaimer {
  margin-bottom: 10px;
}
.footer-link__regist-regist > a {
  width: 180px;
  height: 45px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #000;
  border-color: #000;
  color: #fff;
  font-size: 12px;
  font-family: 'Noto Sans JP';
  font-weight: initial;
  margin: 0 auto;
  padding: 10px 20px 12px;
}
.footer-link__regist-regist > a:hover,
.footer-link__regist-regist > a:focus,
.footer-link__regist-regist > a:active {
  background-color: #000;
  border-color: #000;
  color: #fff;
}

/* 規約関連 */
.footer-subfooter {
  padding: 0 60px;
}
.footer-subfooter__contents {
  margin-top: 86px;
  padding: 17px 0 22px;
  border-top: 1px solid #ece7e9;
  align-items: center;
}
.footer-subfooter__terms ul {
  display: flex;
}
.footer-subfooter__terms li {
  margin-right: 20px;
  text-align: left;
}
.footer-subfooter__contents .footer-subfooter__terms a,
.footer-subfooter__contents .footer-subfooter__copyright {
  color: #747474;
}
.footer-subfooter__contents .footer-subfooter__terms a {
  font-size: 10px;
  font-family: 'Noto Sans JP';
}
.footer-subfooter__contents .footer-subfooter__copyright {
  font-size: 13px;
}

/* PC & tablet  */
@media (min-width: 992px) {
  /* 共通 */
  .footer-container .footer .pc-d-flex {
    display: flex;
  }
  .footer-container .footer .pc-s-between {
    justify-content: space-between;
  }
}

/* SP only */
@media (max-width: 991px) {
  .footer-container .footer {
    padding: 60px 0 0;
  }
  /* 共通 */
  .footer-container .footer .sp-d-flex {
    display: flex;
  }
  .footer-container .footer .sp-j-center {
    justify-content: center;
  }

  /* スライドコンテンツ */
  .footer-slide__contents {
    padding: 30px 0 20px;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap;
    gap: 15px;
    max-width: 100%;
    overflow: hidden;
    position: relative;
  }
  .footer-slide__list {
    padding: 0;
  }
  .footer-slide__list ul {
    padding: 0 40px;
    display: flex;
    flex-wrap: nowrap;
    gap: 80px;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: none;        /* Firefox */
    -ms-overflow-style: none;     /* IE 10+ */
  }
  .footer-slide__list ul::-webkit-scrollbar {
    display: none;                /* Chrome, Safari */
  }
  .footer-slide__list li {
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex-shrink: 0;
  }
  .footer-slide__list-icon {
    margin-right: 0;
    margin-bottom: 21px;
  }
  .footer-slide__list-icon.exchange {
    margin-bottom: 17px;
  }

  /* snsアイコン */
  .footer-sns {
    padding: 62px 0 17px;
  }
  .footer-sns__contents {
    padding: 0;
  }
  .footer-sns__logo {
    text-align: left;
    padding: 0 26px;
  }
  .footer-sns__icon {
    padding: 0 24px;
  }
  .footer-sns__logo .breadcrumbs,
  .footer-sns__icon ul {
    padding: 0;
  }
  .footer-sns__logo .breadcrumbs {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: none;
  }
  .footer-sns__logo .breadcrumbs li {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
  }
  .footer-sns__logo .breadcrumbs li.isTopPage::after {
    width: 14px;
    height: 14px;
  }

  /* ガイド */
  .footer-link {
    padding: 17px 32px 85px;
  }
  .footer-link__contents {
    padding: 0;
  }
  .footer-link__guide {
    padding: 0 16px 4px;
  }
  .footer-link__guide li {
    margin-bottom: 28px;
  }
  .footer-link__guide-link {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    text-decoration: none;
    gap: 1em;
  }
  .footer-link__guide a {
    font-weight: 500;
    position: relative;
  }
  .footer-link__guide-text {
    line-height: 1.6;
    word-break: break-word;
    max-width: 90%;
  }
  .footer-link__guide-icon {
    width: 14px;
    height: 14px;
    background: url(/assets/images/footer/icon_arrow_right.svg) no-repeat center center;
    background-size: contain;
    flex-shrink: 0;
    position: absolute;
    top: 3px;
    right: -6px;
  }
  .footer-sns__icon ul {
    align-items: center;
  }
  .footer-sns__icon li {
    margin-right: 15px;
  }
  .footer-sns__icon li:last-child,
  .footer-subfooter__terms li:last-child {
    margin-right: 0;
  }
  .footer-sns__icon .link img {
    width: 20px;
    height: auto;
  }
  .footer-link__regist-regist {
    margin-bottom: 25px;
    display: flex;
    justify-content: center;
  }
  .footer-link__regist-regist > a {
    width: 280px;
    margin: 7px auto 4px;
  }

  /* 規約関連 */
  .footer-subfooter {
    padding: 0;
  }
  .footer-subfooter__contents {
    margin-top: 27px;
    border-top: initial;
    padding: 0;
  }
  .footer-subfooter__terms {
    align-items: center;
    margin-bottom: 8px;
  }
  .footer-subfooter__copyright address {
    margin-bottom: 0;
  }
}
