@charset "UTF-8";
/* ----関数設定---- */
/* ----------------------------------------------------------------------
footer
---------------------------------------------------------------------- */
#footer .footer_inner {
  width: 90%;
  max-width: 1700px;
  margin-inline: auto;
  margin-top: 13rem;
}
#footer .footer_flex_wrapper {
  display: flex;
  justify-content: space-between;
  gap: 6rem 4rem;
  margin-bottom: 6rem;
}
#footer .footer_menu_wrapper {
  display: flex;
  gap: 5rem 9rem;
}
#footer .footer_address_wrapper {
  font-family: "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
}
#footer .footer_address_wrapper .footer_logo {
  width: max(34rem, 240px);
  margin-bottom: 3rem;
}
#footer .footer_address_wrapper .footer_address {
  color: #666666;
  font-size: max(1.6rem, 14px);
  margin-bottom: 1.5rem;
}
#footer .footer_address_wrapper .footer_map {
  color: #666666;
}
#footer .footer_address_wrapper .footer_map span {
  margin-right: 6px;
}
#footer .footer_address_wrapper .footer_map span img {
  width: 12px;
  height: 17px;
  object-fit: contain;
}
#footer .footer_menu_item:not(:last-child) {
  margin-left: 4.4rem;
}
#footer .footer_menu_item a {
  color: #3e3a39;
  font-size: max(1.8rem, 15px);
  line-height: 1.2;
  white-space: nowrap;
  position: relative;
}
#footer .footer_menu_item a span.header_en_sub {
  display: block;
  color: #898989;
  letter-spacing: 0.3em;
  margin-right: 4px;
  font-size: max(1.5rem, 12px);
}
#footer .footer_menu_item a::before {
  content: "";
  width: 15px;
  height: 15px;
  background-image: url("../images/mori_icon.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: -20px;
  right: 1px;
  display: block;
  opacity: 0;
  transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  #footer .footer_menu_item a:hover::before {
    opacity: 1;
  }
}
#footer .footer_contact_btn {
  font-family: "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
  text-align: center;
}
#footer .footer_contact_btn a {
  display: inline-block;
  letter-spacing: 0.15em;
  font-size: 17px;
  color: #666666;
  background-color: #fff;
  padding: 14px 33px;
  border-radius: 100px;
  border: 1px solid #666666;
  transition: opacity 0.3s;
}
#footer .footer_contact_btn a span {
  display: inline-block;
  width: 28px;
  height: 19px;
  margin-right: 12px;
}
#footer .footer_contact_btn a span img {
  object-fit: contain;
}
@media (hover: hover) and (pointer: fine) {
  #footer .footer_contact_btn a:hover {
    opacity: 0.6;
  }
}
#footer .footer_copyright {
  border-top: 1px solid #666666;
}
#footer .footer_copyright .copyright_inner {
  width: 90%;
  max-width: 1700px;
  margin-inline: auto;
  padding: 12px 0;
  color: #666;
  font-family: "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
  font-size: 11px;
}
@media screen and (max-width: 1140px) {
  #footer .footer_flex_wrapper {
    flex-direction: column;
    align-items: center;
  }
  #footer .footer_address_wrapper {
    text-align: center;
  }
  #footer .footer_address_wrapper .footer_logo {
    margin-inline: auto;
  }
  #footer .footer_copyright {
    text-align: center;
  }
}
@media screen and (max-width: 1140px) and (max-width: 820px) {
  #footer .footer_menu_wrapper {
    flex-direction: column;
  }
}