@charset "UTF-8";
/*-----------------------------------------------------
 * footer
 *----------------------------------------------------*/

.l-footer {
  padding: 14.9333333333vw 0 0;
  width: 100%;
  font-family: "Shippori Mincho", serif;
  background-color: #fff;
}
.l-footer a,
.l-footer a:active,
.l-footer a:focus,
.l-footer a:hover,
.l-footer a:visited {
  color: #3f4960;
  text-decoration: none;
}
.l-footer__inner {
  padding: 0 0 10.6666666667vw;
  margin: 0 auto;
  width: 89.3333333333vw;
}
/*----- logo -----*/
.l-footer-logo {
  display: block;
  padding: 0;
  margin: 0 auto 3.2vw;
  width: 35.7333333333vw;
  height: auto;
}
.l-footer-logo img {
  display: block;
  padding: 0;
  margin: 0;
  width: 100%;
  height: auto;
}
/*----- sns -----*/
.l-footer-navi-social {
  padding: 0;
  margin: 0 auto 12.8vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
.l-footer-navi-social li {
  padding: 0;
  margin: 0;
  width: 6.4vw;
  height: 6.4vw;
}
.l-footer-navi-social li:not(:last-child) {
  margin-right: 4.2666666667vw;
}
.l-footer-navi-social li a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.l-footer-navi-social li img {
  display: block;
  padding: 0;
  margin: 0;
  width: 100%;
  height: auto;
}
/*----- sitemap -----*/
.l-footer-sitemap {
  display: block;
  padding: 0;
  margin: 0 auto;
}
.l-footer-sitemap__block {
  display: block;
  padding: 0;
  margin: 0;
  width: 100%;
}
.l-footer-sitemap__list {
  padding: 0;
  margin: 0;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 700;
}
.l-footer-sitemap__list li {
  background: url(../img/common/arrow-right-black.svg) right center no-repeat;
  background-size: 6.4vw;
  border-bottom: .2666666667vw solid #dadce5;
}
.l-footer-sitemap__list li a {
  display: block;
  padding: 4.2666666667vw 6.4vw 4.2666666667vw 0;
}
.l-footer-sitemap__list li.l-footer-sitemap__acc_trigger {
  padding: 4.2666666667vw 6.4vw 4.2666666667vw 0;
  margin: 0;
  background: url(../img/common/icon-plus-black.svg) right center no-repeat;
  background-size: 6.4vw;
}
.l-footer-sitemap__list li.l-footer-sitemap__acc_trigger.js-active {
  background: url(../img/common/icon-minus-black.svg) right center no-repeat;
  background-size: 6.4vw;
}
.l-footer-sitemap__list li.l-footer-sitemap__acc_content {
  display: none;
  background: 0 0;
}
.l-footer-sitemap__sublist {
  padding: 4.2666666667vw 0;
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.5;
  font-weight: 400;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.l-footer-sitemap__sublist li {
  background: 0 0;
  border: none;
  width: 50%;
}
.l-footer-sitemap__sublist li a {
  display: block;
  padding: 2.6666666667vw 0;
}
.l-footer-sitemap__list_option {
  padding: 8.5333333333vw 0;
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.5;
  font-weight: 400;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.l-footer-sitemap__list_option li {
  background: 0 0;
  border: none;
  margin-right: 5.3333333333vw;
}
.l-footer-sitemap__list_option li a {
  display: block;
  padding: 2.1333333333vw 0;
}
/*----- 補足事項 -----*/
.l-footer-note {
  display: block;
  padding: 0;
  margin: 0 auto;
  font-size: 1.2rem;
  line-height: 1.5;
  text-align: left;
  color: #8f96aa;
}
.l-footer-note a {
  color: #8f96aa;
  text-decoration: none;
}
.l-footer-note a:active,
.l-footer-note a:focus,
.l-footer-note a:hover,
.l-footer-note a:visited {
  color: #8f96aa;
  text-decoration: none;
}
/*----- copyright -----*/
.l-footer-copyright {
  display: block;
  padding: 9.0666666667vw 5.3333333333vw;
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.5;
  text-align: center;
  background-color: #f7f7f9;
}

/* pagetop ▼
----------------------------------------*/
.l-footer-pagetop {
  display: block;
  width: 17.0666666667vw;
  height: 17.0666666667vw;
  margin: auto;
  margin-bottom: 8.5333333333vw;
  cursor: pointer;
  background-color: #f7f7f9;
  background-image: url(../img/common/arrow-up-black.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 8.5333333333vw;
  border-radius: 100%;
}
.l-footer-pagetop__fixed {
  width: 9.6vw;
  height: 9.6vw;
  margin: auto;
  position: fixed;
  bottom: 2.6666666667vw;
  right: 2.6666666667vw;
  background-size: 50%;
}

@media screen and (min-width:769px) {
  .l-footer {
    padding: 60px 0 0;
  }
  .l-footer__inner {
    padding: 0 0 56px;
    width: 1100px;
  }
  /*----- logo -----*/
  .l-footer-logo {
    margin: 0 auto 22px;
    width: 191px;
  }
  /*----- sns -----*/
  .l-footer-navi-social {
    margin: 0 auto 80px;
  }
  .l-footer-navi-social li {
    width: 28px;
    height: 28px;
  }
  .l-footer-navi-social li:not(:last-child) {
    margin-right: 20px;
  }
  /*----- sitemap -----*/
  .l-footer-sitemap {
    margin: 0 auto 56px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
  }
  .l-footer-sitemap__block {
    width: 200px;
  }
  .l-footer-sitemap__block:not(:last-child) {
    margin-right: 100px;
  }
  .l-footer-sitemap__list {
    font-size: 1.6rem;
  }
  .l-footer-sitemap__list li {
    background: 0 0;
    border-bottom: none;
  }
  .l-footer-sitemap__list li:not(:last-child) {
    margin-bottom: 24px;
  }
  .l-footer-sitemap__list li a {
    display: inline;
    padding: 0;
  }
  .l-footer-sitemap__list li.l-footer-sitemap__acc_trigger {
    display: none;
  }
  .l-footer-sitemap__list li.l-footer-sitemap__acc_content {
    display: block;
  }
  .l-footer-sitemap__sublist {
    display: block;
    padding: 0;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .l-footer-sitemap__sublist li {
    width: 100%;
  }
  .l-footer-sitemap__sublist li:not(:last-child) {
    margin-bottom: 12px;
  }
  .l-footer-sitemap__sublist li a {
    display: inline;
    padding: 0;
  }
  .l-footer-sitemap__list_option {
    display: block;
    padding: 0;
    font-size: 1.6rem;
    font-weight: 700;
  }
  .l-footer-sitemap__list_option li {
    margin: 0;
    width: 100%;
  }
  .l-footer-sitemap__list_option li:not(:last-child) {
    margin-bottom: 24px;
  }
  .l-footer-sitemap__list_option li a {
    display: inline;
    padding: 0;
  }
  /*----- 補足事項 -----*/
  .l-footer-note {
    font-size: 1.4rem;
    line-height: 1.8;
    text-align: center;
  }
  .l-footer-copyright {
    padding: 52px 20px;
  }
  
  /* pagetop ▼
  ----------------------------------------*/
  .l-footer-pagetop {
    width: 80px;
    height: 80px;
    margin-bottom: 64px;
    background-size: 40px;
  }
  .l-footer-pagetop:hover {
    opacity: .5;
  }
  .l-footer-pagetop__fixed {
    width: 64px;
    height: 64px;
    margin: auto;
    right: 20px;
    bottom: 20px;
  }
}
