.headerInner {
  position: fixed;
  top: clamp(30.8px, 2.3vw, 44px);
  right: clamp(16px, 16.7vw, 320px);
  z-index: 100;
}
@media (max-width: 1380px) {
  .headerInner {
    right: 36px;
  }
}
@media (max-width: 1024px) {
  .headerInner {
    top: 0;
    right: 0;
    transform: translateX(100%);
    width: 100%;
    height: 100lvh;
    background: rgba(0, 0, 155, 0.95);
    opacity: 0;
    transition: transform 0.3s ease;
  }
  .headerInner.-ready {
    opacity: 1;
  }
  .headerInner.-active {
    transform: translateX(0);
  }
}

.headerBase {
  width: calc(100vw - clamp(16px, 16.7vw, 320px) * 2);
  height: 1px;
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
}

.headerLogo {
  white-space: nowrap;
  position: fixed;
  left: clamp(16px, 16.7vw, 320px);
  top: clamp(19.5px, 1.5vw, 28px);
  z-index: 20;
  width: clamp(179.2px, 13.3vw, 256px);
}
@media (max-width: 1380px) {
  .headerLogo {
    left: clamp(16px, 1.9vw, 36px);
  }
}
.headerLogo img {
  width: 100%;
  object-fit: contain;
}

.headerBg {
  width: 100vw;
  height: clamp(77px, 5.7vw, 110px);
  position: fixed;
  top: 0;
  left: 0;
  background-color: white;
  z-index: 19;
  pointer-events: none;
}

@media (max-width: 1024px) {
  .headerNav {
    overflow-y: scroll;
    max-height: 100%;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.headerList {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(0px, 2.1vw, 40px);
}
@media (max-width: 1024px) {
  .headerList {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    padding-top: 150px;
    padding-bottom: 150px;
    padding-left: 16px;
    padding-right: 16px;
  }
}

.headerItem {
  position: relative;
}
.headerItem.-tab {
  display: none;
}
@media (max-width: 1024px) {
  .headerItem.-tab {
    display: block;
  }
}
@media (max-width: 1024px) {
  .headerItem {
    width: 100%;
    text-align: left;
    border-bottom: 1px solid rgba(255, 255, 255, 0.6);
    max-width: 700px;
  }
}
.headerItem:hover .headerSub {
  opacity: 1;
  transform: translate(-50%, 0);
  pointer-events: auto;
}

.headerSub {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -20%);
  opacity: 0;
  transition: all 0.3s ease;
  z-index: 5;
  pointer-events: none;
}
@media (max-width: 1024px) {
  .headerSub {
    display: none;
  }
}

.headerSubList {
  background-color: white;
  padding-left: clamp(35px, 2.6vw, 50px);
  padding-right: clamp(35px, 2.6vw, 50px);
  padding-top: clamp(14px, 1vw, 20px);
  padding-bottom: clamp(14px, 1vw, 20px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(6.3px, 0.5vw, 9px);
}

.headerSubLink {
  white-space: nowrap;
  font-size: clamp(1.4rem, (0.8vw), 1.6rem);
  font-weight: 500;
  line-height: 1;
}

.headerLink {
  white-space: nowrap;
  font-size: clamp(1.6rem, (0.9vw), 1.8rem);
  font-weight: bold;
  line-height: 1;
  width: 100%;
  position: relative;
}
@media (max-width: 1024px) {
  .headerLink {
    max-width: 100vw;
    padding-top: 1.5em;
    padding-bottom: 1.5em;
    padding-left: clamp(21px, 1.6vw, 30px);
    color: white;
  }
  .headerLink::after {
    content: "";
    display: block;
    width: clamp(8.3px, 0.6vw, 12px);
    height: clamp(8.3px, 0.6vw, 12px);
    background-color: #d40522;
    border-radius: 50%;
    position: absolute;
    right: clamp(21px, 1.6vw, 30px);
    top: 50%;
    transform: translateY(-50%);
  }
}

.headerCloseTrigger {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  z-index: 4;
}
.headerCloseTrigger.-active {
  display: block;
}

.burger {
  cursor: pointer;
  position: fixed;
  top: clamp(28px, 2.3vw, 45px);
  right: clamp(26px, 4.6vw, 88px);
  z-index: 101;
  padding: 5px;
  display: none;
  z-index: 120;
}
@media (max-width: 1024px) {
  .burger {
    display: block;
  }
}

.burgerWrap {
  width: 20px;
  height: 15px;
  position: relative;
}

.burgerBar {
  height: 3px;
  width: 30px;
  background-color: #00009b;
  position: absolute;
  left: 50%;
  transition: all 0.3s ease;
}
.burgerBar:nth-of-type(1) {
  top: 0%;
  transform: translate(-50%, 0%) rotate(0deg);
}
.burgerBar:nth-of-type(1).-active {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  background-color: white;
}
.burgerBar:nth-of-type(2) {
  top: 100%;
  transform: translate(-50%, -100%) rotate(0deg);
}
.burgerBar:nth-of-type(2).-active {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  background-color: white;
}