/* サイトフッター(白シート。暗転で締めない。直前の[7]アクセスが紙白のため、積層の境目が読めるよう白にしている) */
/* ══ [8] フッター(白シート) ══ */
  .aplaza-footer {
    position: relative;
    z-index: 2;
    background: var(--surface);
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    box-shadow: 0 -28px 60px -38px rgba(80, 79, 80, 0.3);
    margin-top: calc(-1 * var(--radius-lg));
    padding: clamp(70px, 9vw, 120px) clamp(24px, 6vw, 104px) clamp(28px, 3vw, 40px);
  }
  .aplaza-footer__inner { max-width: 1080px; margin-inline: auto; }
  .aplaza-footer__top {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: clamp(32px, 5vw, 80px);
    align-items: start;
  }
  .aplaza-footer__logo img { height: clamp(34px, 3.6vw, 46px); width: auto; }
  .aplaza-footer__open {
    margin-top: 1.6em;
    font-family: "Zen Maru Gothic", var(--font-body);
    font-weight: 700;
    font-size: clamp(0.95rem, 1.3vw, 1.1rem);
    letter-spacing: 0.06em;
  }
  .aplaza-footer__office {
    margin-top: 1.8em;
    font-size: 0.85rem;
    line-height: 2.2;
  }
  .aplaza-footer__office-name { font-weight: 700; }
  .aplaza-footer__office a { text-decoration: underline; text-underline-offset: 0.25em; }
  .aplaza-footer__office a:hover, .aplaza-footer__office a:focus-visible { color: var(--accent-deep); }
  .aplaza-footer__office a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .aplaza-footer__nav ul { list-style: none; display: grid; gap: 0.9em; }
  .aplaza-footer__nav a {
    display: inline-block;
    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    transition: color 0.35s var(--ease), transform 0.35s var(--ease);
  }
  .aplaza-footer__nav a:hover, .aplaza-footer__nav a:focus-visible {
    color: var(--accent-deep);
    transform: translateX(4px);
  }
  .aplaza-footer__nav a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .aplaza-footer__nav .aplaza-footer__recruit::after { content: "↗"; font-size: 0.9em; margin-left: 0.4em; }
  .aplaza-footer__bottom {
    margin-top: clamp(48px, 6vw, 80px);
    padding-top: 22px;
    border-top: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
    gap: 0.8em 2em;
    flex-wrap: wrap;
    font-size: 0.72rem;
    color: var(--ink-soft);
  }
  .aplaza-footer__bottom a {
    text-decoration: underline;
    text-underline-offset: 0.25em;
  }
  .aplaza-footer__bottom a:hover,
  .aplaza-footer__bottom a:focus-visible { color: var(--accent-deep); }
  .aplaza-footer__bottom a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  @media (max-width: 720px) {
    .aplaza-footer__top { grid-template-columns: 1fr; }
  }
