#footer {
  max-width: 2000px;
  margin: 0 auto;
  width: 100%;
  background: #443823 !important;
  color: #FFFFFF;
  padding: 0 !important;
}
#footer a:hover {
  opacity: 0.7;
  color: #FFFFFF !important;
}
#footer .footer_container {
  padding: 48px 0;
  width: 955px;
  margin: 0 auto;
  text-align: left;
}
#footer ul {
  padding-left: 0;
}
#footer .sitemap {
  display: flex;
  gap: 1.42%;
  flex-wrap: wrap;
  width: 800px;
  margin-left: auto;
  margin-bottom: 30px;
}
#footer .sitemap .sitemap_list_01 {
  margin: 0 auto;
  width: 49.2%;
  display: inline-block;
}
#footer .sitemap .sitemap_list_01 li {
  margin-bottom: 19px;
  font-size: 22px;
  line-height: 1.2;
}
#footer .sitemap .sitemap_list_01 li a {
  color: #FFFFFF;
}
#footer .sitemap .sitemap_list_01 li p {
  font-size: 14px;
}
#footer .sitemap .sitemap_list_01 li img {
  width: 20px;
  height: 20px;
}
#footer .sitemap .category_menu > li:first-of-type {
  margin-bottom: 3px;
}
#footer .sitemap .sitemap_list__item--adjust {
  margin-top: 30px;
}
#footer .sitemap .sitemap_list_02 li {
  margin-bottom: 2%;
  padding-left: 4%;
}
#footer .sitemap .sitemap_list_02 li:first-child {
  margin-top: 0.9%;
}
#footer .sitemap .sitemap_list_02 li a {
  font-size: 16px;
  font-family: "游ゴシック体 Pr6N M", "Yu Gothic Pr6N M";
}
#footer .footer_bottom {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 35px;
}
#footer .footer_bottom__link {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 24px;
  margin-bottom: 15px;
}
#footer .footer_bottom__link li {
  font-size: 13px;
}
#footer .footer_bottom__link a {
  line-height: 1.3;
  color: #FFFFFF;
}
#footer .footer_bottom__copy {
  font-size: 12px;
}
#footer .footer_bottom__copy span {
  position: relative;
  padding-right: 15px;
}
#footer .footer_bottom__copy span:not(:first-child)::before {
  content: "|";
  position: absolute;
  left: -10px;
  top: -1px;
}
/*************************************************
* 小型ディスプレイ向けに上書き・追加（1160pxデザイン基準：幅768px~1160px）
*************************************************/
@media screen and (max-width: 1160px) {
  #footer {
    max-width: 1160px;
  }
  #footer .footer_container {
    width: 82.3%;
    padding: 48px 0;
  }
  #footer .sitemap {
    width: 83.8%;
    gap: 1.43%;
    margin-bottom: 50px;
  }
  #footer .sitemap .sitemap_list_01 {
    width: 49.28%;
    margin: 0;
  }
  #footer .sitemap .sitemap_list_01 li {
    margin-bottom: 19px;
  }
  #footer .sitemap .sitemap_list_02 li {
    margin-bottom: 2.67%;
    padding-left: 4%;
  }
  #footer .sitemap .sitemap_list_02 li:first-child {
    margin-top: 2%;
  }
  #footer .footer_bottom__info {
    min-width: 84.2%;
  }
  #footer .footer_bottom__logo {
    min-width: 120px;
  }
}
/*************************************************
* タブレット向けに上書き・追加（幅が767px以下の場合）
*************************************************/
@media screen and (max-width: 768px) {
  #footer {
    max-width: 768px;
  }
  #footer .footer_container {
    width: 85.9%;
    padding: 64px 0;
  }
  #footer .sitemap {
    width: 100%;
    margin: 0 0 3.9%;
  }
  #footer .sitemap .sitemap_list_01 {
    width: 48.5%;
  }
  #footer .sitemap .sitemap_list_01 li {
    margin-bottom: 6.25%;
  }
  #footer .sitemap .sitemap_list_02 li {
    margin-bottom: 2.5%;
    padding-left: 5.6%;
  }
  #footer .sitemap .sitemap_list_02 li:first-child {
    margin-top: 6px;
  }
  #footer .footer_bottom {
    gap: 4.56%;
    justify-content: flex-start;
  }
  #footer .footer_bottom__info {
    width: 61.2%;
    flex: 1;
  }
}
.to_top {
  position: fixed;
  bottom: 80px;
  right: 4%;
  width: 50px;
  height: 50px;
  z-index: 999;
  transition: transform 0.2s ease, opacity 0.3s ease;
  a:hover {
    opacity: 0.6;
  }
}
body.menu-open .to_top {
  display: none;
}
body.has-sticky-cv .to_top {
  transform: translateY(calc(-0.3 * var(--sticky-cv-offset, 0px)));
}