body.active-menu{
  overflow-y: hidden;

  .header.is-fixed{
    background-color: var(--header-bg-color);
  }
}

.header {
  position: sticky;
  top: 0;
  z-index: 9;
  padding: 0.625rem 1.25rem;
  background-color: var(--header-bg-color);

  @media (width >= 1024px) {
    padding: 1.3125rem 1.25rem;
  }
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1280px;
  margin: 0 auto;

  @media (width >= 1024px) {
    gap: 0 2.5rem;
    justify-content: center;
  }
}

.header-logo-container {
  display: flex;
  gap: 0 1.25rem;
  align-items: center;
}

.header-logo-img {
  @media (width >= 1024px) {
    width: 50px;
    height: auto;
  }
}

.header-logo-text {
  font-family: var(--font-family-en);
  font-size: var(--text-en-10);
  font-weight: 300;
  color: var(--color-logo);
  letter-spacing: -0.02em;

  @media (width >= 1024px) {
    display: none;
  }
}

.header-nav {
  position: fixed;
  top: 60px;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 100vw;
  padding: 2rem;
  overflow: auto;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease;

  @media (width >= 1024px) {
    position: static;
    width: auto;
    padding: 0;
    overflow: inherit;
    visibility: visible;
    opacity: 1;
  }

  &.is-open {
    visibility: visible;
    background-color: var(--header-bg-color);
    opacity: 1;
  }
}

.header-nav-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 1rem;

  @media (width >= 1024px) {
    flex-wrap: nowrap;
    gap: 0 2.5rem;
  }
}

.header-nav-list-item {
  width: calc(50% - 0.5rem);
  overflow: hidden;

  @media (width >= 1024px) {
    width: auto;
  }
}

.header-nav-list-link {
  display: flex;
  flex-direction: column;
  font-size: var(--text-en-16);
  white-space: nowrap;

  @media (width >= 1024px) {
    font-size: var(--text-en-10);
    text-align: center;
  }

  .ja-label {
    font-size: var(--text-ja-13);

    @media (width >= 1024px) {
      font-size: var(--text-ja-11);
    }
  }

  transition: transform 0.3s ease, visibility 0.3s ease;

  &.next {
  
  }

 
}

.header-menu-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0;
  color: var(--color-dark-brown);
  background-color: transparent;
  border: none;

  @media (width >= 1024px) {
    display: none;
  }

  .en-label {
    font-size: var(--text-en-16);
    letter-spacing: 0.04em;
  }

  .ja-label {
    font-size: var(--text-ja-10);
  }
}


.header-menu-button-icon {
  background: transparent;

  &.is-clicked {
    color: rgb(0 0 0 / 0%);
    background-image: url("../img/icon/menu-close.svg");
    background-repeat: no-repeat;
    background-position: center center
  }
}
