@charset "UTF-8";
.global-nav {
  position: fixed;
  left: auto;
  top: 0;
  right: -40px;
  width: 40%;
  height: 100svh;
  background-color: #fff;
  transition: all 0.6s;
  z-index: 200;
  overflow-y: auto; /* メニューが多くなったらスクロールできるように */
  visibility: hidden;
  opacity: 0;
  padding: 90px 40px 160px;
}
.global-nav .global-nav-inner .global-nav-head {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-bottom: 24px;
}
.global-nav .global-nav-inner .global-nav-head .logo {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
.global-nav .global-nav-inner .global-nav-mid details {
  padding: 6px 0;
  border-top: 2px solid #000;
}
.global-nav .global-nav-inner .global-nav-mid details:last-of-type {
  border-bottom: 2px solid #000;
  margin-bottom: 32px;
}
.global-nav .global-nav-inner .global-nav-mid details summary {
  font-size: 17px;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: space-between;
}
.global-nav .global-nav-inner .global-nav-mid details summary a {
  font-size: 17px;
  font-weight: 800;
}
.global-nav .global-nav-inner .global-nav-mid details summary .cursor {
  width: 13px;
  height: 13px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.global-nav .global-nav-inner .global-nav-mid details summary .cursor:after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  content: "";
  display: block;
  width: 13px;
  height: 1px;
  background-color: #c8161d;
  margin: auto;
  transition: 0.3s;
}
.global-nav .global-nav-inner .global-nav-mid details summary .cursor:before {
  content: "";
  display: block;
  width: 13px;
  height: 1px;
  background-color: #c8161d;
  transform: rotate(90deg);
  transition: 0.3s;
}
.global-nav .global-nav-inner .global-nav-mid details > a {
  font-size: 15px;
  font-weight: 700;
  display: block;
  margin-left: 18px;
  padding: 2px 0;
}
.global-nav .global-nav-inner .global-nav-mid details[open] summary .cursor:after {
  content: "";
  display: block;
  width: 13px;
  height: 1px;
  background-color: #c8161d;
  transition: 0.3s;
}
.global-nav .global-nav-inner .global-nav-mid details[open] summary .cursor:before {
  content: "";
  display: block;
  width: 13px;
  height: 1px;
  background-color: #c8161d;
  transform: rotate(0deg);
  transition: 0.3s;
}
.global-nav .global-nav-inner .global-nav-mid .txtlink {
  display: block;
  font-size: 17px;
  font-weight: 800;
  padding: 4px 0;
}
.global-nav .global-nav-inner .global-nav-mid .otherwindow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  font-size: 15px;
  font-weight: 700;
}
.global-nav .global-nav-inner .global-nav-mid .otherwindow img {
  width: 13px;
  height: 13px;
}
.global-nav .global-nav-inner .global-nav-bottom {
  margin-top: 40px;
}
.global-nav .global-nav-inner .global-nav-bottom span {
  background-color: #000000;
  color: #ffffff;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  font-size: 22px;
  padding: 0px 1px 1px;
  line-height: 1.2em;
  font-weight: 800;
  margin-bottom: 10px;
}
.global-nav .global-nav-inner .global-nav-bottom span:last-of-type {
  margin-top: 24px;
}
.global-nav .global-nav-inner .global-nav-bottom a {
  padding: 2px 0;
  max-width: inherit;
  width: 100%;
  border-bottom: 2px solid #000;
  font-size: 20px;
}
.global-nav .global-nav-inner .global-nav-bottom a img {
  width: 140px;
}

.hamburger {
  position: fixed;
  right: 22px;
  top: 19px;
  width: 54px; /* クリックしやすいようにちゃんと幅を指定する */
  height: 54px; /* クリックしやすいようにちゃんと高さを指定する */
  cursor: pointer;
  z-index: 300;
  background-color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
}
.hamburger .hamburger__line {
  position: absolute;
  left: 14px;
  width: 26px;
  height: 2px;
  background-color: #fff;
  transition: all 0.6s;
}
.hamburger .hamburger__line.hamburger__line--1 {
  top: 19px;
}
.hamburger .hamburger__line.hamburger__line--2 {
  top: 27px;
}
.hamburger .hamburger__line.hamburger__line--3 {
  top: 35px;
}

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

/* 表示された時用のCSS */
.nav-open {
  overflow: hidden;
}
.nav-open .global-nav {
  left: auto;
  top: 0;
  right: 0;
  visibility: visible;
  opacity: 1;
}
.nav-open .black-bg {
  opacity: 0.3;
  visibility: visible;
}
.nav-open .hamburger__line.hamburger__line--1 {
  transform: rotate(45deg);
  top: 26px;
}
.nav-open .hamburger__line.hamburger__line--2 {
  width: 0;
  left: 50%;
}
.nav-open .hamburger__line.hamburger__line--3 {
  transform: rotate(-45deg);
  top: 26px;
}

@media only screen and (max-width: 767px) {
  .global-nav {
    position: fixed;
    left: auto;
    top: 0;
    right: -40px;
    width: 86%;
    height: 100vh;
    background-color: #fff;
    transition: all 0.6s;
    z-index: 200;
    overflow-y: auto; /* メニューが多くなったらスクロールできるように */
    visibility: hidden;
    opacity: 0;
  }
  .hamburger {
    position: fixed;
    left: auto;
    top: auto;
    right: 0;
    bottom: 14px;
    width: 104px; /* クリックしやすいようにちゃんと幅を指定する */
    height: 52px; /* クリックしやすいようにちゃんと高さを指定する */
    cursor: pointer;
    z-index: 300;
    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 .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;
  }
  .hamburger {
    opacity: 0;
    pointer-events: none;
    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;
}

.scrollPlus {
  transition: 0.3s;
}
.scrollPlus .secHeader .headerWidth {
  background-color: #fff;
  transition: 0.3s;
  opacity: 1;
  pointer-events: all;
  z-index: 20;
}
.scrollPlus .secHeader .hamburger {
  transition: 0.3s;
  opacity: 1;
  pointer-events: all;
}/*# sourceMappingURL=hamburger.css.map */