@charset "utf-8";

.header {
  background-color: #000000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99;

  .inner {
    padding: 11rem 0;
    max-width: 95%;
    width: 100%;
    margin: 0 auto;
    display: flex;

    justify-content: space-between;
    align-items: center;

    .h_logo {
      max-width: 338rem;
      width: 19%;
      display: block;

      @media (max-width: 900px) {
        max-width: 171rem;
        width: 100%;
      }
    }

    .nav {
      display: flex;
      max-width: 65%;
      width: 100%;
      flex-wrap: nowrap;
      margin-left: auto;
      justify-content: space-between;
    }
  }
}


/* ------------------------------
   ハンバーガー（三本線）
   div + span のみで構成
------------------------------ */
.hamburger {
  width: 40rem;
  height: 37rem;
  display: none;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  position: relative;
  transition: all .4s ease;
}

.hamburger::before,
.hamburger::after {
  content: "";
  background: url(/system_panel/uploads/images/nav_top.svg) no-repeat center/contain;
  width: 24rem;
  height: 11rem;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.hamburger::after {
  background-image: url(/system_panel/uploads/images/nav_bottom.svg);
  top: auto;
  bottom: 0;
}

.hamburger div {
  height: 5rem;
  width: 5rem;
  border-radius: 50px;
  background: #fff;
  display: block;
  transition: 0.3s ease;
}

/* 開いた時のアニメーション */
.hamburger.active {
  transform: rotate(90deg);
  transition: all .4s ease;


}


/* ------------------------------
   SPナビ（ハンバーガー用）
------------------------------ */
.sp-nav {
  position: fixed;
  display: flex;
  left: 0;
  transform: translateX(100%);
  transition: all .4s ease;
  width: 100%;
  background: var(--tangaroa);
  opacity: 0;
  visibility: hidden;
  flex-direction: column;
  overflow-y: auto;
  gap: 30rem;
  padding: 40rem 0;

  .child {
    text-align: center;
  }
}

.sp-nav.open {
  transform: translateX(0);
  transition: all .4s ease;
  opacity: 1;
  visibility: visible;
}

.sp-nav a {
  color: #fff;
  text-decoration: none;
}


@media (max-width: 1023px) {
  .header {
    .inner {
      .nav {
        display: none;
      }
    }

    .hamburger {
      display: flex;
    }
  }


}

.gjs-dashed {
  .sp-nav {
    display: flex !important;
    height: 100vh !important;
    top: 60px !important;
    right: 0 !important;
    left: auto !important;
    width: 30% !important;
    opacity: 1!important;
    visibility: visible!important;
    transform: translateX(0)!important;
  }
}