.header-sns,
.globalMenu-sns {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  list-style: none;
}

.header-sns {
  grid-column: 3;
  gap: clamp(10px, 0.9vw, 14px);
  justify-self: end;
  margin: 0;
}

.header-sns li,
.globalMenu-sns li {
  flex: 0 0 auto;
}

.header-sns a,
.globalMenu-sns a {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  transition: opacity 0.5s, color 0.5s, border-color 0.5s;
}

.header-sns a {
  width: clamp(24px, 1.9vw, 26px);
  height: clamp(24px, 1.9vw, 26px);
  font-size: clamp(12px, 0.9vw, 13px);
}

@media (any-hover: hover) {
  .globalMenu-sns a:hover {
    opacity: 0.7;
  }

  .header-sns a:hover {
    border-color: #f1ff80;
    color: #f1ff80;
  }
}

.globalMenu {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.globalMenu .globalMenu-sns {
  gap: 18px;
  margin: 40px auto 0;
  padding-bottom: calc(8px + env(safe-area-inset-bottom));
}

.globalMenu .globalMenu-sns a {
  width: 46px;
  height: 46px;
  font-size: 20px;
}

header.fixed.is-nav-checking .header-list,
header.fixed.is-nav-checking .header-sns {
  visibility: hidden;
}

header.fixed {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) auto 72px;
  align-items: center;
  column-gap: clamp(10px, 1vw, 18px);
  flex-wrap: nowrap;
  justify-content: stretch;
}

header.fixed .header-logo {
  grid-column: 1;
  justify-self: start;
  width: 110px;
  margin: 0 20px;
}

header.fixed .header-list {
  grid-column: 2;
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: clamp(8px, 0.8vw, 18px);
  min-width: 0;
  margin: 0;
  overflow: hidden;
}

header.fixed .header-list > li {
  flex: 0 0 auto;
}

header.fixed .header-list > li > a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(12px, 0.68vw, 14px);
  line-height: 1.35;
  text-align: center;
  white-space: nowrap;
}

header.fixed.is-collapsed {
  grid-template-columns: 150px minmax(0, 1fr) auto 72px;
}

header.fixed.is-collapsed .header-list {
  display: none !important;
}

@media (max-width: 1440px) {
  header.fixed,
  header.fixed.is-collapsed {
    grid-template-columns: 150px minmax(0, 1fr) auto 64px;
    column-gap: 10px;
  }

  header.fixed .header-list {
    gap: 8px;
  }

  .header-sns {
    gap: 8px;
  }

  .header-sns a {
    width: 24px;
    height: 24px;
    font-size: 12px;
  }
}

@media (max-width: 1280px) {
  header.fixed,
  header.fixed.is-collapsed {
    grid-template-columns: 140px minmax(0, 1fr) auto 72px;
    column-gap: 6px;
  }

  header.fixed .header-logo {
    margin: 0 15px;
  }

  .header-sns {
    gap: 6px;
  }

  .header-sns a {
    width: 22px;
    height: 22px;
    font-size: 11px;
  }
}

@media (max-width: 1180px) {
  header.fixed,
  header.fixed.is-collapsed {
    grid-template-columns: 136px minmax(0, 1fr) auto 74px;
    column-gap: 4px;
  }

  header.fixed .header-list {
    gap: 6px;
  }

  .header-sns {
    gap: 5px;
  }
}

@media (max-width: 767px) {
  header.fixed,
  header.fixed.is-collapsed {
    grid-template-columns: 150px minmax(0, 1fr) auto 52px;
    column-gap: 4px;
    justify-content: stretch;
  }

  header.fixed .header-list {
    display: none !important;
  }

  .header-sns {
    grid-column: 3;
    display: flex;
    gap: 8px;
    justify-self: end;
    transform: translateX(-18px);
  }

  .header-sns a {
    width: 22px;
    height: 22px;
    font-size: 11px;
  }

  .header-sns a i {
    display: block;
    line-height: 1;
    transform: translateY(1px);
  }

  .globalMenu {
    padding-top: 44px;
    padding-bottom: 24px;
  }

  .globalMenu .globalMenu-ttl {
    width: 220px;
  }

  .globalMenu .globalMenu-list {
    margin-top: 30px;
  }

  .globalMenu .globalMenu-list > ul > li {
    height: 92px;
  }

  .globalMenu .globalMenu-list > ul > li > a {
    font-size: 20px;
  }

  .globalMenu .globalMenu-sns {
    gap: 18px;
    margin-top: 40px;
  }

  .globalMenu .globalMenu-sns a {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

@media (max-width: 360px) {
  header.fixed,
  header.fixed.is-collapsed {
    grid-template-columns: 142px minmax(0, 1fr) auto 52px;
    column-gap: 3px;
  }

  header.fixed .header-logo {
    margin: 0 16px;
  }

  .header-sns {
    gap: 4px;
    transform: translateX(-18px);
  }

  .header-sns a {
    width: 20px;
    height: 20px;
    font-size: 10px;
  }
}
