/* Version 93: navigation visibility and consultation-route consistency only. */
.hpc-unified-header .hpc-header-menu,
.header.homeHeader .siteMenu {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Executive Transfer footer: match the Home page footer exactly. */
.hpc-home-footer {
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: 1fr 1fr auto !important;
  align-items: end !important;
  gap: 30px !important;
  margin: 0 !important;
  padding: 60px clamp(24px, 8vw, 130px) !important;
  border-top: 1px solid #ddd6ca !important;
  background: #fff !important;
  color: #4f4942 !important;
  text-align: left !important;
  font: 400 12px/1.5 "Noto Serif JP", "Yu Mincho", YuMincho, serif !important;
}

.hpc-home-footer__brand {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  color: #1d1b17;
  letter-spacing: .15em;
  font-family: Georgia, serif;
  font-size: 12px;
  line-height: 1.25;
}

.hpc-home-footer__brand img {
  width: 58px;
  height: 58px;
  object-fit: cover;
  border-radius: 50%;
}

.hpc-home-footer p,
.hpc-home-footer small {
  margin: 0;
}

.hpc-home-footer small {
  white-space: nowrap;
  font-size: 11px;
}

.hpc-home-footer a {
  color: inherit;
  text-decoration: none;
}

.hpc-home-footer__partner {
  display: inline-block;
  margin-top: 8px;
  padding-bottom: 3px;
  border-bottom: 1px solid rgba(167, 133, 70, .55);
}

@media (max-width: 800px) {
  .hpc-home-footer {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  .hpc-home-footer__brand {
    margin-bottom: 12px;
  }
}

.hpc-unified-header .hpc-header-menu nav,
.header.homeHeader .siteMenu nav {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.hpc-unified-header .hpc-header-menu nav a,
.header.homeHeader .siteMenu nav a {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex: 0 0 auto !important;
}

.hpc-unified-header .hpc-header-menu nav .hpc-our-story-link {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #1b1a18 !important;
}

.hpc-story-contact-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  margin-top: 8px;
  padding: 0 28px;
  border: 1px solid #a78546;
  color: #1b1a18 !important;
  font: 500 12px/1 Arial, sans-serif;
  letter-spacing: .12em;
  text-decoration: none;
  visibility: visible !important;
  opacity: 1 !important;
}

.hpc-story-contact-button:hover,
.hpc-story-contact-button:focus-visible {
  background: #a78546;
  color: #fff !important;
}

@media (max-width: 1100px) {
  .hpc-unified-header .hpc-header-menu,
  .header.homeHeader .siteMenu {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .hpc-unified-header .hpc-header-menu nav,
  .header.homeHeader .siteMenu nav {
    width: max-content !important;
    min-width: 100% !important;
    justify-content: flex-start !important;
  }
}

/* Japanese home hero: match the English home's light editorial background. */
@media (max-width: 800px) {
  /* Version 207: match the proven Our Story mobile navigation on every page. */
  .hpc-unified-header .hpc-header-menu,
  .header.homeHeader .siteMenu {
    width: 100% !important;
    overflow-x: hidden !important;
  }

  .hpc-unified-header .hpc-header-menu nav,
  .header.homeHeader .siteMenu nav {
    width: 100% !important;
    min-width: 100% !important;
    height: 46px !important;
    padding: 0 12px !important;
    justify-content: space-between !important;
    gap: 8px !important;
    box-sizing: border-box !important;
    align-items: center !important;
    overflow: visible !important;
  }

  .hpc-unified-header .hpc-header-menu nav a,
  .header.homeHeader .siteMenu nav a,
  .story-nav__inner a {
    height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    align-self: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    /* True geometric centering: do not offset the links inside the menu band. */
    transform: none !important;
    font-size: 9px !important;
    line-height: 1 !important;
    letter-spacing: .10em !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
  }

  /* Version 212: keep each mobile menu link geometrically centered in the
     full 46px navigation band, regardless of legacy page-level rules. */
  body header .hpc-header-menu nav > a,
  body header .siteMenu nav > a,
  body header .story-nav__inner > a {
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1 !important;
    transform: none !important;
  }

  .story-nav__inner {
    height: 46px !important;
    align-items: center !important;
  }

  body:has(.homeHeader) .hero {
    background: var(--cream) !important;
  }

  body:has(.homeHeader) .mobileHeroCopy {
    color: var(--ink) !important;
    background: var(--cream) !important;
  }

  body:has(.homeHeader) .mobileHeroCopy h1 {
    color: var(--ink) !important;
  }

  body:has(.homeHeader) .mobileHeroCopy span {
    color: var(--muted) !important;
  }

  body:has(.homeHeader) .trust {
    color: var(--ink) !important;
    background: #fff !important;
    border-top: 1px solid #e7e1d7;
    border-bottom: 1px solid #e7e1d7;
  }

  body:has(.homeHeader) .hero > .trust,
  .homeHeader + .hero .trust {
    color: #1b1a18 !important;
    background-color: #fff !important;
    background-image: none !important;
  }

  body:has(.homeHeader) .trust span,
  .homeHeader + .hero .trust span {
    color: #1b1a18 !important;
  }
}

/* HPC FOOTER CTA BROWN V9 START */
/* HOME・Galleryと同じブラウンへ、フッター直前の相談ボタンだけを統一 */
.cta .cta-button,
.cta .button,
.closing .cta-button,
.closing .button,
.custom .cta-button,
.custom .button,
.hpc-home-cta .cta-button,
.hpc-home-cta .button,
.hpc-home-cta__button,
.hpc-top-page-cta .cta-button,
.hpc-top-page-cta .button,
.hpc-top-page-cta__button {
  background: #987744 !important;
  border-color: #987744 !important;
  color: #ffffff !important;
}
/* HPC FOOTER CTA BROWN V9 END */
