/*** FOOTER ***/
.footer {
  --top-button-size: 3.5rem;
  padding-block: 8rem 5rem;
  background-color: #fff;
  text-align: center;
}
.footer .foot-logo img {
  margin-block: 3rem 2rem;
  width: 180px;
}
.footer .foot-logo:before, .footer .foot-logo:after {
  content: "";
  opacity: 0.2;
  display: block;
  margin-inline: auto;
  width: 1px;
  height: 4.375rem;
  background: #000;
}
.footer .supporter-logo {
  margin-block: 2rem;
  display: flex;
  gap:8rem;
  justify-content: center;
  align-items: center;
}

.footer .supporter-logo img:last-child {
  margin-left: 1rem;
}

.footer .text {
  padding-top: 2rem;
}
.footer .copyright {
  opacity: 0.4;
  margin-bottom: 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25em; /* 1.09375rem */
}
.footer .right-info {
  opacity: 0.2;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.25em; /* 0.9375rem */
}

.btn-top {
  position: fixed;
  right: 2rem;
  bottom: 1.5rem;
  z-index: 101;
  visibility: hidden;
  opacity: 0;
  display: block;
  border: 0.5px solid rgba(0, 0, 0, 0.4);
  width: var(--top-button-size);
  height: var(--top-button-size);
  background-color: #FFF;
  background-color: rgba(0, 0, 0, 0.8);
  overflow: hidden;
  color: #010101;
  color: #FFF;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 2.75rem;
  text-align: center;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.btn-top:where(:hover, :focus) {
  border-color: #000;
  background-color: #F2F2F2;
  background-color: #000;
}
.btn-top.is-visible {
  visibility: visible;
  opacity: 1;
}