@charset "UTF-8";

/* フッター
***************************************************************/
footer {
  border-radius: 80px 80px 0 0;
  margin-top: -80px;
  padding: 50px 113px 30px 120px;
  background-color: #665c5c;
  position: relative;
}

footer .text_box1 {
  display: flex;
  justify-content: space-between;
}

footer .text_box1 img {
  width: 348px;
}

footer .text_box1 nav ul.footer_nav {
  display: flex;
}

footer .text_box1 nav ul.footer_nav li {
  padding: 0 20px;
  border-right: 1px solid #fff;
}

footer .text_box1 nav ul.footer_nav li:first-of-type {
  padding: 0 20px 0 0;
}

footer .text_box1 nav ul.footer_nav li:last-of-type {
  padding: 0 0 0 20px;
  border-right: none;
}

footer .text_box1 nav ul.footer_nav li a {
  font-weight: bold;
  line-height: 23px;
  color: #fff;
}

footer .text_box2 {
  margin-top: 11px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

footer .text_box2 ul.sns {
  display: flex;
  gap: 20px;
}

footer .text_box2 ul.sns li a img {
  width: 26px;
}

footer .text_box2 ul.info li {
  font-size: 13px;
  line-height: 2;
  color: #fff;
  font-weight: 900;
}

footer .text_box2 ul.info li span {
  font-weight: bold;
}

footer p.copy_right {
  font-size: 13px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  margin-top: 50px;
}

footer p.copy_right span {
  font-weight: 900;
}

@media screen and (min-width: 768px) {
  footer .text_box2 ul.info li a {
    pointer-events: none;
  }
}

@media screen and (max-width: 1280px) {
  footer .text_box1 {
    display: block;
  }

  footer .text_box1 nav ul.footer_nav {
    margin-top: 20px;
  }
}

@media screen and (max-width: 1120px) {
  footer {
    padding: 50px 50px 30px 50px;
  }
}

@media screen and (max-width: 767px) {
  footer {
    border-radius: 60px 60px 0 0;
    padding: 80px 15px 30px;
  }

  footer .text_box1 {
    flex-flow: column;
    gap: 42px;
    align-items: center;
    text-align: center;
  }

  footer .text_box1 img {
    width: 244px;
  }

  footer .text_box1 nav ul.footer_nav {
    display: flex;
    flex-wrap: wrap;
    row-gap: 20px;
    justify-content: center;
  }

  footer .text_box1 nav ul.footer_nav li {
    padding: 0 14px;
  }

  footer .text_box1 nav ul.footer_nav li:first-of-type {
    padding: 0 14px 0 0;
  }

  footer .text_box1 nav ul.footer_nav li:last-of-type {
    padding: 0 0 0 14px;
  }

  footer .text_box1 nav ul.footer_nav li a {
    font-size: 15px;
    line-height: 22px;
  }

  footer .text_box2 {
    margin-top: 50px;
    flex-flow: column;
    gap: 30px;
    align-items: center;
    text-align: center;
  }

  footer p.copy_right {
    margin-top: 40px;
  }
}
