/* フッター。背景／余白はブロック設定。 */
.site-footer,
.site-footer p,
.site-footer a,
.site-footer .wp-block-navigation-item__content { color: var(--wp--preset--color--surface) !important; }
.site-footer .nav-main a:hover,
.site-footer .nav-corp .links a:hover { color: var(--wp--custom--footer-link-hover, var(--nardus)) !important; }

.site-footer .pre { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px 40px; padding-bottom: 22px; margin-bottom: 22px; border-bottom: 1px solid var(--wp--custom--footer-rule, color-mix(in srgb, var(--nardus) 50%, transparent)); }
.site-footer .brand-mark { margin: 0; display: inline-flex; align-items: center; }
.site-footer .brand-mark img { height: var(--wp--custom--logo-footer, 36px); width: auto; display: block; }

/* 住所ブロック。エディターのラッパー div にも flex を効かせる。 */
.site-footer .addr,
.site-footer .wp-block-hilton-site-address { flex: 1; min-width: 240px; }
.site-footer .addr { font-size: 13px; line-height: 1.5; letter-spacing: 0.02em; }
.site-footer .addr p { margin: 0; }
.site-footer .addr .tel-link { color: inherit; text-decoration: none; }
.site-footer .addr .name { display: block; font-family: var(--wp--custom--brand-ui, var(--wp--custom--brand-body)); font-weight: 700; font-size: 15px; line-height: 1.2; margin-bottom: 4px; }

.site-footer .social { margin: 0 0 0 auto; justify-content: center; }

/* 区切り線は外側の <nav> にのみ付ける（内側の ul に同じ class が付くため container を除外）。 */
.site-footer .nav-main:not(.wp-block-navigation__container) { padding-bottom: 16px; margin-bottom: 14px; border-bottom: 1px solid var(--wp--custom--footer-rule, color-mix(in srgb, var(--nardus) 50%, transparent)); }
.site-footer .nav-main .wp-block-navigation__container { display: flex; flex-wrap: wrap; gap: 12px 32px; }
.site-footer .nav-main a { font-size: 14px; font-weight: 500; letter-spacing: 0.04em; padding: 0; transition: color 0.15s; }
.site-footer .nav-main a:hover { color: var(--nardus); }

.site-footer .nav-corp { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px 24px; }
.site-footer .nav-corp .links .wp-block-navigation__container { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.site-footer .nav-corp .links a { font-size: 12px; letter-spacing: 0.04em; padding: 0; opacity: 0.85; transition: color 0.15s; }
.site-footer .nav-corp .links a:hover { opacity: 1; color: var(--nardus); }
.site-footer .nav-corp .copyright { margin: 0 0 0 auto; font-size: 12px; letter-spacing: 0.04em; white-space: nowrap; opacity: 0.85; }

.site-footer .trademark-notice { margin: 12px 0 0; font-size: 10px; line-height: 1.6; letter-spacing: 0.02em; text-align: right; opacity: 0.7; }

@media (max-width: 700px) {
  .site-footer .social { flex-basis: 100%; margin: 8px 0 0; justify-content: center; }
  /* スマホではロゴを中央寄せにする（PC は住所と左右に並ぶ）。 */
  .site-footer .pre { justify-content: center; }
  .site-footer .brand-mark { flex-basis: 100%; justify-content: center; }
}
