:root {
  --footer-logo-height: 56px;
  --footer-columns-2: 1fr 1fr;
  --footer-columns-3: 1fr 1fr 1fr;
}
@media (width <= 768px) {
  :root {
    --footer-logo-height: 42px;
    --footer-columns-3: 1fr 1fr;
  }
}
@media (width <= 480px) {
  :root {
    --footer-logo-height: 24px;
  }
}

body footer {
  background-color: var(--color-lightgray);
  padding: var(--padding-value);
  padding-bottom: 0;
  color: var(--color-gray);
}
body footer a {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
body footer a img {
  height: var(--footer-logo-height);
}
body footer .footer-content {
  display: flex;
}
body footer .footer-content section {
  flex: 1;
  margin: var(--margin-value);
  border-right: var(--border-linewidth) solid var(--color-gray);
  padding-right: calc(2 * var(--padding-value));
}
body footer .footer-content section:last-of-type {
  border-right: var(--margin-value) 0;
  padding-right: 0;
}
body footer .footer-content section h3 {
  font-size: var(--fontsize-large);
  margin: var(--margin-value);
  color: var(--color-black);
  text-align: center;
}
body footer .footer-content section ul {
  text-align: center;
  padding-bottom: var(--padding-value);
  display: grid;
  grid-auto-flow: row;
  gap: var(--margin-value);
  align-items: stretch;
}
body footer .footer-content section ul.grid-columns-2 {
  grid-template-columns: var(--footer-columns-2);
}
body footer .footer-content section ul.grid-columns-3 {
  grid-template-columns: var(--footer-columns-3);
}
body footer .footer-content section ul li {
  background-color: var(--color-palegray);
  border-radius: var(--border-radius);
  display: flex;
  align-items: center;
}
body footer .footer-content section ul li:has(a.lock) {
  background-color: color-mix(in srgb, var(--color-palegray), black 30%);
  color: var(--color-white);
}
body footer .footer-content section ul a {
  display: block;
  width: 100%;
  padding: var(--padding-value);
}
body footer div.footer-postscript {
  font-size: var(--fontsize-small);
  padding: var(--padding-value);
  border-top: var(--border-linewidth) solid var(--color-gray);
}
body footer div.footer-postscript h4 {
  font-size: var(--fontsize-medium);
}
body footer div.footer-postscript ol {
  list-style: lower-roman;
  padding-left: var(--padding-list);
  margin-left: var(--margin-value);
}
body footer div.footer-postscript.annotation ol {
  list-style: katakana-iroha;
}
body footer div.footer-ud {
  font-size: var(--fontsize-medium);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--padding-value);
  border-top: var(--border-linewidth) solid var(--color-gray);
  padding-right: 0;
}
body footer div.footer-ud img {
  -o-object-fit: contain;
     object-fit: contain;
  height: var(--footer-logo-height);
}
body footer div.footer-ud p {
  white-space: wrap;
  color: var(--color-black);
  margin: var(--margin-value);
}
body footer div.footer-bottom {
  font-size: var(--fontsize-small);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  padding: var(--padding-value);
  border-top: var(--border-linewidth) solid var(--color-gray);
  padding-right: 0;
}
body footer div.footer-bottom img {
  height: var(--footer-logo-height);
}
body footer div.footer-bottom p {
  white-space: wrap;
}
body footer div.footer-bottom ul {
  display: flex;
  color: var(--color-black);
  white-space: nowrap;
  flex-wrap: wrap;
  justify-content: right;
}
body footer div.footer-bottom ul li {
  margin: var(--padding-value);
}
body footer div.footer-bottom ul li:first-child {
  margin-left: 0;
}/*# sourceMappingURL=footer.css.map */