@charset "UTF-8";
.global-nav {
  position: fixed;
  left: calc(50vw + 10% + 5px);
  top: 0;
  bottom: 0;
  margin: auto;
  height: 98svh;
  max-width: 380px;
  width: 100%;
  background-color: #fff;
  transition: all 0.6s;
  z-index: 200;
  overflow-y: auto; /* メニューが多くなったらスクロールできるように */
  visibility: hidden;
  opacity: 0;
  padding: 20px 40px;
  border-radius: 30px;
}
.global-nav .global-nav-inner {
  height: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 50px;
}
.global-nav .global-nav-inner .list a {
  padding: 8px 0;
  display: grid;
  grid-template-columns: 1fr 23px;
  border-bottom: 1px solid #1f1f1f;
  opacity: 1;
}
.global-nav .global-nav-inner .list a::after {
  content: "";
  width: 23px;
  height: 23px;
  background-image: url(../images/icon_ar_right_small.svg);
}
.global-nav .global-nav-inner .btn {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 14px;
}
.global-nav .global-nav-inner .btn .btnFuki {
  margin-top: 24px;
}

.black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 100;
  background-color: #1f1f1f;
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s;
  cursor: pointer;
  pointer-events: all;
}

/* 表示された時用のCSS */
.nav-open {
  overflow: hidden;
}
.nav-open .global-nav {
  max-width: 380px;
  border-radius: 30px;
  left: calc(50vw + 10% + 5px);
  visibility: visible;
  opacity: 1;
  pointer-events: all;
}
.nav-open .black-bg {
  opacity: 0.5;
  visibility: visible;
}
.nav-open .hamburger__line {
  width: 30px !important;
  left: 6px !important;
}
.nav-open .hamburger__line.hamburger__line--1 {
  transform: rotate(45deg);
  top: 20px !important;
}
.nav-open .hamburger__line.hamburger__line--2 {
  width: 0;
  left: 50%;
  opacity: 0;
}
.nav-open .hamburger__line.hamburger__line--3 {
  transform: rotate(-45deg);
  top: 20px !important;
}

@media only screen and (max-width: 767px) {
  .global-nav {
    position: fixed;
    left: auto;
    top: 0;
    right: -40px;
    height: 100vh;
    background-color: #fff;
    transition: all 0.6s;
    z-index: 200;
    overflow-y: auto; /* メニューが多くなったらスクロールできるように */
    visibility: hidden;
    opacity: 0;
  }
  .hamburger {
    cursor: pointer;
    background-color: #000;
  }
  .hamburger .hamburger__line {
    position: absolute;
    left: 39px;
    width: 26px;
    height: 2px;
    background-color: #fff;
    transition: all 0.6s;
  }
  .hamburger .hamburger__line.hamburger__line--1 {
    top: 18px;
  }
  .hamburger .hamburger__line.hamburger__line--2 {
    top: 26px;
  }
  .hamburger .hamburger__line.hamburger__line--3 {
    top: 34px;
  }
  .nav-open .hamburger .hamburger__line.hamburger__line--1 {
    top: 25px;
  }
  .nav-open .hamburger .hamburger__line.hamburger__line--3 {
    top: 25px;
  }
}
.secHeader {
  position: sticky;
  top: 0px;
  left: 0px;
  width: 100%;
  pointer-events: none;
  max-width: 390px;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 18px;
}
.secHeader .logo {
  display: block;
  pointer-events: all;
  width: -moz-fit-content;
  width: fit-content;
}
.secHeader .hamburger {
  pointer-events: all;
  position: relative;
  border-radius: 50%;
  width: 42px; /* クリックしやすいようにちゃんと幅を指定する */
  height: 42px; /* クリックしやすいようにちゃんと高さを指定する */
  cursor: pointer;
  z-index: 300;
  background-color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
}
.secHeader .hamburger .hamburger__line {
  position: absolute;
  left: 10px;
  width: 22px;
  height: 2px;
  border-radius: 1px;
  background-color: #fff;
  transition: all 0.6s;
}
.secHeader .hamburger .hamburger__line.hamburger__line--1 {
  top: 15px;
}
.secHeader .hamburger .hamburger__line.hamburger__line--2 {
  top: 21px;
}
.secHeader .hamburger .hamburger__line.hamburger__line--3 {
  top: 27px;
}

.secHeader .headerWidth {
  background-color: rgba(255, 255, 255, 0);
  transition: 0.3s;
}

.onScroll .secHeader .headerWidth {
  transition: 0.3s;
}

@media only screen and (max-width: 767px) {
  .onScroll .hamburger {
    opacity: 1;
    pointer-events: all;
    transition: 0.3s;
  }
}
.secHeader .headerWidth {
  transition: 0.3s;
  opacity: 1;
  pointer-events: all;
  z-index: 20;
  pointer-events: none;
}
.secHeader .headerWidth a {
  pointer-events: all;
}
.secHeader .hamburger {
  transition: 0.3s;
  opacity: 1;
  pointer-events: all;
}

.onScroll {
  transition: 0.3s;
}
.onScroll .secHeader .headerWidth {
  transition: 0.3s;
  opacity: 0;
  pointer-events: none;
}
.onScroll .secHeader .hamburger {
  transition: 0.3s;
  opacity: 0;
  pointer-events: none;
}

@media print, screen and (min-width: 900px) {
  .global-nav {
    left: 50vw;
  }
  .nav-open .global-nav {
    left: calc(50vw + 5px);
  }
}
@media print, screen and (min-width: 1024px) {
  .global-nav {
    left: calc(50vw + 10% + 5px);
  }
  .nav-open .global-nav {
    left: calc(50vw + 10% + 5px);
  }
}
@media print, screen and (max-width: 899px) {
  .global-nav {
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    border-radius: 0;
    padding: 20px;
  }
  .nav-open .global-nav {
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    border-radius: 0;
  }
}
@media print, screen and (max-width: 500px) {
  .global-nav {
    max-width: initial;
  }
  .nav-open .global-nav {
    max-width: initial;
  }
  .secHeader {
    max-width: initial;
  }
}
@media print, screen and (max-width: 390px) {
  .global-nav {
    left: 0;
    right: 0;
    margin: auto;
  }
  .nav-open .global-nav {
    left: 0;
    right: 0;
    margin: auto;
  }
}/*# sourceMappingURL=hamburger.css.map */