/* =========================================================
   ヘッダー（Figma: 01_top > header）
   ========================================================= */
.header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--header-h);
  padding: 0 calc(32 * var(--u));
  background: var(--color-white);
}

.header__logo {
  display: block;
  width: calc(200 * var(--u));
}

.header__logo img {
  width: 100%;
  height: auto;
}

.header__nav {
  display: flex;
  align-items: center;
  gap: calc(28 * var(--u));
  font-family: var(--font-en-cond);
  font-weight: 700;
  font-size: calc(16 * var(--u));
  letter-spacing: 0.04em;
  line-height: 1;
}

.header__nav a {
  color: var(--color-blue);
  text-decoration: underline;
  text-underline-offset: 0.25em;
  transition: color 0.2s ease, text-decoration-thickness 0.2s ease;
}

.header__nav a:hover,
.header__nav a:focus-visible {
  color: var(--color-sky);
  text-decoration-thickness: 2px;
}

.header__nav .header__town {
  display: grid;
  place-items: center;
  width: calc(120 * var(--u));
  height: calc(40 * var(--u));
  border-radius: 999px;
  background: var(--color-blue);
  color: var(--color-white);
  text-decoration: none;
  transition: background-color 0.32s ease, box-shadow 0.32s ease;
}

.header__nav .header__town:hover,
.header__nav .header__town:focus-visible {
  background: var(--color-blue-logo);
  box-shadow: 0 calc(8 * var(--u)) calc(22 * var(--u)) rgba(0, 71, 157, 0.24);
  color: var(--color-white);
}

.header__nav .header__town:active {
  background: #003f8d;
  box-shadow: 0 calc(4 * var(--u)) calc(12 * var(--u)) rgba(0, 71, 157, 0.2);
}

@media (prefers-reduced-motion: reduce) {
  .header__nav a,
  .header__nav .header__town {
    transition: none;
  }
}
