@charset "utf-8";
.footer__wrap {
  padding-top: 0;
  position: relative;
}

.footer__about {
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  /* padding-top: 127px;
  padding-bottom: 183px; */
  background: url(../imgs/common/footer_bg_img.jpg) center center / cover no-repeat;
}
.footer__about-logo {
  width: 100%;
  max-width: 165px;
  margin: 0 auto 68px;
}
.footer__about-text {
  color: #fff;
  font-size: 33px;
  text-align: center;
  line-height: 1.81;
  margin-bottom: 57px;
}
.footer__about-btn {
  max-width: 261px;
  margin: 0 auto 76px !important;
}
.footer__about-text.small {
  color: #fff;
  font-size: 13px;
  font-family: "FP-こぶりなゴシック StdN W3";
  text-align: center;
  line-height: 1.49;
  margin-bottom: 0;
}

.footer__nav {
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  /* padding-top: 312px;
  padding-bottom: 345px; */
  position: relative;
}
.footer__navList {
  width: 100%;
  max-width: 1015px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 45px 51px;
}
.footer__navItem {
  width: calc(100% / 4);
  max-width: 215px;
}
.footer__navItem a {
  font-size: 13px;
  line-height: 1.75;
  letter-spacing: 0.06em;
  display: block;
  padding-bottom: 5px;
  padding-left: 5px;
  border-bottom: 1px solid #4a4a4a;
  position: relative;
}
.footer__navItem a::after {
  content: "";
  display: block;
  width: 48px;
  height: 9px;
  background: url("../imgs/common/footer_arrow.png") center center / cover no-repeat;
  position: absolute;
  top: 41%;
  right: 8px;
  z-index: 1;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transition: all 0.3s;
}
.footer__navItem a:hover:after {
  right: 0;
}
.footer__navText {
  width: 84px;
  min-width: 65px;
  position: absolute;
  top: 50%;
  left: 3px;
  z-index: -1;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}
.footer__navText img.img--sp {
  display: none;
}

.footer__box {
  padding-top: 95px;
  padding-bottom: 38px;
  background-color: #232223;
}
.topPage-footer .footer__box{
  padding-bottom: 80px;
}


.footer__logo {
  width: 100%;
  max-width: 82px;
  margin: 0 auto 40px;
}
.footer__logo a {
  display: block;
}
.footer__sns {
  margin-bottom: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
}
.footer__snsPic {
  width: 17px;
}
.footer__snsPic--x {
  width: 14px;
}
.footer__snsLink {
  display: block;
  width: 100%;
  height: 100%;
}
.footer__address {
  color: #e4e4e4;
  font-family: "FP-こぶりなゴシック StdN W3";
  font-size: 10px;
  text-align: center;
  margin-bottom: 110px;
  line-height: 2.7;
}
.footer__link {
  width: 100%;
  max-width: 240px;
  margin: 0 auto 22px;
  display: flex;
  justify-content: center;
  gap: 0 45px;
}
.footer__linkBtn {
  color: #e4e4e4;
  font-size: 12px;
  display: block;
  line-height: 1.75;
}
.footer__copy {
  color: #003353;
  font-size: 12px;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 1440px) {
  .footer__navText {
    width: 5.8333vw;
  }
}

@media screen and (max-width: 1280px) {
  .footer__navList {
    max-width: 748px;
  }
  .footer__navItem {
    width: calc(100% / 3);
  }
}

@media screen and (max-width: 950px) {
  .footer__navList {
    max-width: 482px;
  }
  .footer__navItem {
    width: calc(100% / 2);
  }
}

@media screen and (max-width: 750px) {
  .footer__about {
    padding-top: 90px;
    padding-bottom: 120px;
  }
  .footer__about-logo {
    max-width: 105px;
    margin: 0 auto 50px;
  }
  .footer__about-text {
    font-size: 23px;
    margin-bottom: 40px;
  }
  .footer__about-btn {
    margin: 0 auto 55px !important;
  }
}

@media screen and (max-width: 700px) {
  .footer__nav {
    /* padding-top: 220px;
    padding-bottom: 215px; */
  }
  .footer__navList{
    row-gap: 30px;
  }
  .footer__navItem a{
    padding: 5px 0;
  }
  .footer__navText {
    width: 270px;
    min-width: initial;
    height: auto;
    position: absolute;
    top: 0;
    left: 3px;
    transform: initial;
    -webkit-transform: initial;
    -ms-transform: initial;
    -moz-transform: initial;
    -o-transform: initial;
  }
  .footer__navText img.img--pc {
    display: none;
  }
  .footer__navText img.img--sp {
    display: block;
  }
}

@media screen and (max-width: 550px) {
  .footer__navList {
    max-width: 215px;

  }
  .footer__navItem {
    width: 100%;
  }
  .footer__about-logo{
    margin-bottom: 30px;
    width: 80px;
  }
  .footer__about-text{
    margin-bottom: 20px;
    font-size: 18px;
  }
  .footer__about-btn{
    margin-bottom: 30px!important;
  }
}
