/* footer */
footer {
  padding: 50px 30px 32px;
  min-width: 320px;
  background-color: #FFFFFF;
  border-top: solid 1px #1F5B9A;
}

#top footer {
  padding: 50px 30px 32px;
}

.footer__container {
  margin: 0 auto;
  width: 100%;
  max-width: 1170px;
}

.footer__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 63px;
  align-items: center;
}

.footer__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style-type: none;
  width: 100%;
  line-height: 3.12;
  margin-right: 15px;
  padding: 0;
  gap: 80px;
}

.footer__logo {
  max-width: 199px;
  margin-right: 104px;
  font-size: 24px;
}

.footer__logo:hover {
  opacity: 0.8;
}

.footer__logo-img {
  width: 150px;
}

.footer__link {
  text-align: center;
}

.footer__link a {
  text-decoration: none;
  letter-spacing: 0.08;
  font-weight: bold;
  color: #1e5b9a;
}

.footer__link a:hover {
  opacity: 0.8;
}

.footer__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

.footer__privacy-text a {
  text-decoration: none;
  color: #4d463d;
}

.footer__copylight-text {
  margin-right: 15px;
  color: #4d463d;
}

.page-top {
  position: fixed;
  bottom: 33px;
  right: 15px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 74px 0 23px 17px;
  border-color: transparent transparent transparent #1e5b9a;
  display: none;
  z-index: 12;
}

.page-top:hover {
  opacity: 0.8;
}

/*フッタ背景上辺斜め*/

.backGrey {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 100vw 115px 0px;
  border-color: transparent transparent #f5f5f5 transparent;
}

@media screen and (max-width: 1110px) {
  .footer__main {
    justify-content: space-between;
  }
  .footer__logo {
    margin-right: 60px;
  }
  .footer__list {
    gap: 40px;
    font-size: 14px;
    width: fit-content;
  }
}

@media screen and (max-width: 860px) {
  .footer__logo {
    margin-right: 40px;
  }
  .footer__list {
    gap: 20px;
  }
}

@media screen and (max-width: 768px) {
  /*footer {
        padding: 50px 30px 32px;
    }
    
    #top footer {
        padding: 25% 30px 32px;
    }
    */

  .footer__main {
    display: block;
    margin-bottom: 35px;
    font-size: 1.4rem;
  }

  .footer__logo-img {
    width: 120px;
  }
  .footer__list {
    display: block;
    padding-left: 0;
    width: 100%;
  }

  .footer__link {
    position: relative;
    width: 100%;
    text-align: left;
    line-height: 4.28;
    border-bottom: 1px solid #d2d2d2;
    padding-left: 16px;
  }

  .footer__link--top {
    margin-top: 27px;
    border-top: 1px solid #d2d2d2;
  }

  .footer__link::before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto 19px auto auto;
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid #1e5b9a;
    border-right: 1px solid #1e5b9a;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .footer__link a {
    display: block;
  }

  .footer__text {
    display: block;
    padding-left: 11px;
    font-size: 1.2rem;
    letter-spacing: 0.02em;
  }

  .footer__privacy-text {
    margin-bottom: 39px;
    letter-spacing: 0.08em;
  }

  .footer__copylight-text {
    margin-right: 0;
  }

  .page-top {
    position: fixed;
    bottom: 17px;
    right: 10px;
    border-width: 48px 0 15px 11px;
  }
}

/*スマホ*/

@media screen and (max-width: 480px) {
  .backGrey {
    border-width: 0 100vw 45px 0px;
  }
}
