/* 共通ヘッダーだけを管理。stickyは通常フロー内で元のヘッダー高さを維持。 */
.az-header { position:sticky;top:0;z-index:1000;height:var(--header-height,94px);background:#fff;transition:box-shadow .2s ease; }
.az-header.az-header--scrolled { box-shadow:0 3px 18px #132c5310; }
.az-header .az-header__inner { width:calc(100% - 80px);max-width:1440px;margin-inline:auto;height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px; }
.az-header .az-brand { display:inline-flex;align-items:center;gap:16px;text-decoration:none;color:#3154e8;flex:none; }
.az-header .az-brand__name { font:750 29px/1 Arial,sans-serif;letter-spacing:-1px; }
.az-header .az-brand__company { color:#475569;font:500 10px/1.6 "Yu Gothic",sans-serif;letter-spacing:.04em; }
.az-header .az-brand img { display:block;width:60px;height:60px;object-fit:contain; }
.az-header .az-header__nav { display:flex;align-items:center;gap:26px; }
.az-header .az-header__link { display:inline-flex;align-items:center;min-height:44px;color:#25364d;font:600 11px/1.5 Arial,sans-serif;letter-spacing:.04em;text-decoration:none;white-space:nowrap; }
.az-header .az-header__link[href]:hover { color:#3154e8; }
.az-header .az-header__contact { color:#fff;background:#3154e8;padding:0 22px;border-radius:4px; }
.az-header [aria-disabled="true"] { cursor:default; }
.az-header a:focus-visible,.az-header button:focus-visible { outline:3px solid #3d91f5;outline-offset:5px; }
.az-header .az-header__toggle { display:none; }
html { scroll-padding-top:110px; }
@media(min-width:1024px) and (max-width:1199px) {
  .az-header .az-header__inner { width:calc(100% - 48px);gap:20px; }
  .az-header .az-brand { gap:10px; }
  .az-header .az-brand__company { font-size:9px; }
  .az-header .az-header__nav { gap:18px; }
  .az-header .az-header__contact { padding-inline:16px; }
}
@media(max-width:1023px) {
  .az-header { height:auto;min-height:80px; }
  .az-header .az-header__inner { width:calc(100% - 64px);flex-wrap:wrap;min-height:80px;padding-block:22px; }
  .az-header .az-header__nav { width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;padding-top:20px; }
  .az-header.az-header--enhanced { height:var(--header-height,80px); }
  .az-header.az-header--enhanced .az-header__inner { flex-wrap:nowrap;min-height:0;padding-block:0; }
  .az-header.az-header--enhanced .az-header__toggle { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;padding:8px;border:0;background:transparent;color:#3154e8;cursor:pointer; }
  .az-header .az-header__toggle span { display:block;width:23px;height:1.5px;background:currentColor;transition:transform .2s ease,opacity .2s ease; }
  .az-header .az-header__toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
  .az-header .az-header__toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .az-header .az-header__toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
  .az-header.az-header--enhanced .az-header__nav { position:fixed;inset:var(--header-height,80px) 0 0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;width:100%;height:calc(100dvh - var(--header-height,80px));padding:36px 32px;overflow-y:auto;background:#fff;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease; }
  .az-header.az-header--open .az-header__nav { visibility:visible;opacity:1;transform:none; }
  .az-header .az-header__link { min-height:52px;font-size:14px;border-bottom:1px solid #edf1f7; }
  .az-header .az-header__contact { margin-top:14px;justify-content:center;border:0; }
}
@media(max-width:767px) {
  .az-header { min-height:74px; }
  .az-header .az-header__inner { width:calc(100% - 40px);min-height:74px; }
  .az-header.az-header--enhanced { height:74px; }
  .az-header .az-brand { gap:12px; }
  .az-header .az-brand__name { font-size:25px; }
  .az-header .az-brand__company { font-size:9px; }
  .az-header.az-header--enhanced .az-header__nav { inset:74px 0 0;height:calc(100dvh - 74px);padding:28px 24px; }
  html { scroll-padding-top:90px; }
}
@media(prefers-reduced-motion:reduce) {
  .az-header,.az-header * { transition:none!important; }
}
/* SERVICE詳細の既存タブレットヘッダー高を保持し、本文位置を変えない。 */
@media(min-width:768px) and (max-width:1023px) {
  .service-detail .az-header.az-header--enhanced { height:94px; }
  .service-detail .az-header.az-header--enhanced .az-header__nav { inset:94px 0 0;height:calc(100dvh - 94px); }
}
@media(max-width:767px) {
  .az-header.az-header--enhanced { height:var(--header-height,74px);min-height:0; }
  .az-header.az-header--enhanced .az-header__nav { top:var(--header-height,74px);height:calc(100dvh - var(--header-height,74px)); }
}
.az-page-top { display:block;width:0;height:0;margin:0;padding:0;border:0; }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

@media(max-width:767px){.az-header .az-brand img{width:48px;height:48px}}

/* 全ページ共通：会社名とメニューの可読性を高める。 */
.az-header .az-brand__company{font-size:14px}
.az-header .az-header__link{font-size:14px}
@media(min-width:1024px) and (max-width:1199px){.az-header .az-brand__company{font-size:13px}.az-header .az-header__nav{gap:16px}}
@media(max-width:1023px){.az-header .az-header__link{font-size:16px}}
@media(max-width:767px){.az-header .az-brand__company{font-size:12px}}

.az-header .az-brand__company{font-weight:700}

/* 会社名をヘッダーナビゲーションと同じ文字色に統一。 */
.az-header .az-brand__company{color:#25364d}

/* 共通ヘッダーの会社名・ナビゲーションを現在値から3px拡大。 */
.az-header .az-brand__company{font-size:17px}
.az-header .az-header__link{font-size:17px}
@media(min-width:1024px) and (max-width:1199px){.az-header .az-brand__company{font-size:16px}}
@media(max-width:1023px){.az-header .az-header__link{font-size:19px}}
@media(max-width:767px){.az-header .az-brand__company{font-size:15px}}

/* ヘッダー通常メニューのホバー・キーボードフォーカス色。 */
.az-header .az-header__link:not(.az-header__contact){transition:color .2s ease}
.az-header .az-header__link:not(.az-header__contact):hover,
.az-header .az-header__link:not(.az-header__contact):focus-visible{color:#3154E8}
@media(prefers-reduced-motion:reduce){.az-header .az-header__link:not(.az-header__contact){transition:none}}

/* 現在開いているページを青で表示。JS無効でも状態を保持。 */
.az-header .az-header__link[aria-current="page"],.az-header .az-brand[aria-current="page"] .az-brand__company{color:#3154E8}
.az-header .az-header__contact[aria-current="page"]{background:#fff;box-shadow:inset 0 0 0 1px #3154E8}
