.global-menu {
  background: #000000;
}

.global-menu__inner {
  padding: 0;
}

.global-menu__panel {
  display: grid;
  grid-template-columns: 66.7vw 1fr;
  min-height: 100svh;
}

.global-menu__main {
  position: relative;
  display: flex;
  min-height: 100svh;
  flex-direction: column;
  padding: 4.25vw 4.1vw 5.3vw;
  background: #1a1a1a;
}

.global-menu__main::before {
  content: "";
  position: absolute;
  top: 8.45vw;
  left: 0;
  right: 0;
  height: 0.0625rem;
  background: rgba(255, 255, 255, 0.75);
}

.global-menu__logo {
  display: block;
  width: 8.9vw;
}

.global-menu__logo img {
  display: block;
  width: 100%;
  height: auto;
}

.global-menu__body {
  display: grid;
  grid-template-columns: 18vw 22vw 19vw;
  gap: 1.9vw;
  margin-top: 8.4vw;
}

.global-menu__primary-list,
.global-menu__secondary-list,
.global-menu__lineup ul {
  display: grid;
  gap: 1.35vw;
  margin: 0;
  padding: 0;
  list-style: none;
}

.global-menu__lineup ul {
  gap: 1.28vw;
  margin-top: 1.72vw;
}

.global-menu__primary-list a,
.global-menu__secondary-list a,
.global-menu__lineup h2,
.global-menu__lineup a {
  color: #eeeeee;
  text-decoration: none;
  letter-spacing: 0.08vw;
}

.global-menu__primary-list a,
.global-menu__secondary-list a,
.global-menu__lineup h2 {
  font-size: 1.12vw;
  font-weight: 900;
  line-height: 1.45;
}

.global-menu__lineup h2 {
  margin: 0;
}

.global-menu__lineup a {
  font-size: 0.98vw;
  font-weight: 500;
  line-height: 1.55;
}

.global-menu__primary-list {
  gap: 0.9vw;
}

.global-menu__lineup li:last-child {
  margin-top: 2.05vw;
}

.global-menu__lineup li:last-child a {
  font-size: 1.12vw;
  font-weight: 900;
  line-height: 1.45;
  letter-spacing: 0.08vw;
}

.global-menu__utility {
  display: flex;
  align-items: center;
  gap: 3vw;
  margin-top: auto;
}

.global-menu__event {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 17.8vw;
  min-height: 3.4vw;
  color: #eeeeee;
  font-size: 0.68vw;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.1vw;
  text-decoration: none;
  border: 0.0625rem solid rgba(255, 255, 255, 0.75);
}

.global-menu__sns {
  display: flex;
  align-items: center;
  gap: 1.35vw;
}

.global-menu__sns a {
  display: block;
  width: 3.35vw;
}

.global-menu__sns img {
  display: block;
  width: 100%;
  height: auto;
}

.global-menu__contact {
  display: flex;
  min-height: 100svh;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 5vw 4.5vw;
  color: #eeeeee;
  background: #000000;
  text-align: center;
}

.global-menu__contact-label {
  margin: 0;
  color: #eeeeee;
  font-size: 0.78vw;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.14vw;
}

.global-menu__tel {
  display: block;
  margin-top: 1.2vw;
  color: #eeeeee;
  font-size: 1.62vw;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.28vw;
  text-decoration: none;
}

.global-menu__hours {
  margin: 1.1vw 0 0;
  color: #eeeeee;
  font-size: 0.78vw;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04vw;
}

.global-menu__contact-buttons {
  display: grid;
  gap: 0.85vw;
  width: 17.8vw;
  margin-top: 2.05vw;
}

.global-menu__contact-buttons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.4vw;
  color: #eeeeee;
  font-size: 0.78vw;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.1vw;
  text-decoration: none;
  border: 0.0625rem solid rgba(255, 255, 255, 0.75);
}

.global-menu__close {
  top: 2.55vw;
  right: 4.2vw;
  width: 3.2vw;
}

.global-menu__close span {
  width: 3.2vw;
  height: 0.0625rem;
}

@media (max-width: 767px) {
  .global-menu__panel {
    display: block;
  }

  .global-menu__main {
    min-height: auto;
    padding: 9vw 4.5vw 9.8vw;
  }

  .global-menu__main::before {
    top: 21vw;
    left: 4.5vw;
    right: 4.5vw;
  }

  .global-menu__logo {
    width: 37vw;
  }

  .global-menu__close {
    top: 7.8vw;
    right: 8vw;
    width: 10.5vw;
    z-index: 100;
  }

  .global-menu__close span {
    width: 10.5vw;
    height: 0.32vw;
  }

  .global-menu__body {
    grid-template-columns: 1fr 1fr;
    gap: 12vw 8vw;
    margin-top: 18vw;
  }

  .global-menu__primary-list,
  .global-menu__secondary-list,
  .global-menu__lineup ul {
    gap: 4.2vw;
  }

  .global-menu__primary-list {
    gap: 2vw;
  }

  .global-menu__lineup ul {
    gap: 4.6vw;
    margin-top: 7vw;
  }

  .global-menu__primary-list a,
  .global-menu__secondary-list a,
  .global-menu__lineup h2 {
    font-size: 4.2vw;
    line-height: 1.25;
    letter-spacing: 0.06vw;
  }

  .global-menu__lineup a {
    font-size: 3.8vw;
    line-height: 1.35;
    letter-spacing: 0.04vw;
  }

  .global-menu__lineup li:last-child {
    margin-top: 6vw;
  }

  .global-menu__lineup li:last-child a {
    font-size: 4.2vw;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0.06vw;
  }

  .global-menu__secondary-list {
    grid-column: 1 / 3;
    grid-template-columns: 1fr;
    width: max-content;
    margin-top: 0;
  }

  .global-menu__utility {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 9vw;
    align-items: center;
    margin-top: 15vw;
  }

  .global-menu__event {
    width: 55vw;
    min-height: 11vw;
    font-size: 3.2vw;
    letter-spacing: 0.35vw;
  }

  .global-menu__sns {
    gap: 5vw;
  }

  .global-menu__sns a {
    width: 12vw;
  }

  .global-menu__contact {
    min-height: auto;
    padding: 17vw 5vw 19vw;
  }

  .global-menu__contact-label {
    font-size: 3.5vw;
    letter-spacing: 0.34vw;
  }

  .global-menu__tel {
    margin-top: 7vw;
    font-size: 8vw;
    letter-spacing: 1.2vw;
  }

  .global-menu__hours {
    margin-top: 6vw;
    font-size: 3.2vw;
    line-height: 1.6;
  }

  .global-menu__contact-buttons {
    gap: 5vw;
    width: 64vw;
    margin-top: 12vw;
  }

  .global-menu__contact-buttons a {
    min-height: 15vw;
    padding-block: 3.8vw;
    font-size: 3.5vw;
    letter-spacing: 0.38vw;
  }
}
