@charset "UTF-8";
:root {
  --inner-scale: 1;
  --vw-base: calc(520 / var(--inner-scale));
  --inner: 410;
  --inner-500: 500;
}
@media screen and (max-width: 999px) {
  :root {
    --inner-scale: calc(0.9 / (410 / 520));
  }
}
@media screen and (max-width: 767px) {
  :root {
    --vw-base: calc(520 * 0.3);
    --inner-scale: 1;
  }
}

/*------------------------------
header
------------------------------*/
header {
  padding-top: min( 15 * 100vw / var(--vw-base) , 15/var(--vw-base) * 1440px );
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 1000;
}
@media (max-width: 767px) {
  header {
    padding-top: min( 10 * 100vw / var(--vw-base) , 10/var(--vw-base) * 1440px );
  }
}

@media (min-width: 768px) {
  .header__inner {
    width: 96%;
  }
}

.header__content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-items: flex-start;
  padding: 0 13.8% 0 2.3%;
}
@media (min-width: 768px) {
  .header__content {
    position: relative;
  }
}
@media (max-width: 767px) {
  .header__content {
    padding: 0 3%;
  }
}

.header__logo {
  width: calc(110 / var(--inner) * 100%);
}
@media (max-width: 767px) {
  .header__logo {
    width: calc(200 / var(--inner) * 100%);
  }
}

.header__menu {
  display: flex;
}
.header__menu li:nth-child(n+2) {
  margin-left: min( 12 * 100vw / var(--vw-base) , 12/var(--vw-base) * 1440px );
}
.header__menu li a {
  display: inline-block;
  font-size: min( 5 * 100vw / var(--vw-base) , 5/var(--vw-base) * 1440px );
  font-weight: 400;
  line-height: 2.7;
  color: #fff;
}
@media (max-width: 767px) {
  .header__menu {
    display: none;
  }
}

.header__menu li:has(.header-sub) {
  position: relative;
}
@media (hover: hover) {
  .header__menu li:has(.header-sub):hover .header-sub {
    display: block;
  }
}

.header-sub {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -1%);
  width: min( 36 * 100vw / var(--vw-base) , 36/var(--vw-base) * 1440px );
  max-width: unset;
  background: rgba(51, 51, 51, 0.8);
  padding: 1em 0.5em;
  display: none;
}
.header-sub a:nth-child(n+2) {
  padding-top: 10%;
}

.drawer-icon {
  z-index: 300;
  transition: transform 0.5s ease 0s;
  width: min( 18 * 100vw / var(--vw-base) , 18/var(--vw-base) * 1440px );
  aspect-ratio: 130/75;
  z-index: 400;
  cursor: pointer;
}
@media (min-width: 768px) {
  .drawer-icon {
    position: absolute;
    top: 0%;
    right: 0%;
    transform: translate(0%, 10%);
  }
}
@media (max-width: 767px) {
  .drawer-icon {
    display: block;
    width: min( 12 * 100vw / var(--vw-base) , 12/var(--vw-base) * 1440px );
  }
}
.drawer-icon.is-active .drawer-icon__bar1 {
  transform: rotate(-45deg);
  top: 8px;
  background: #000;
}
.drawer-icon.is-active .drawer-icon__bar2 {
  display: none;
}
.drawer-icon.is-active .drawer-icon__bar3 {
  transform: rotate(45deg);
  top: 8px;
  background: #000;
}

.drawer-icon__bars {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}

.drawer-icon__bar1,
.drawer-icon__bar2,
.drawer-icon__bar3 {
  position: absolute;
  width: 100%;
  aspect-ratio: 100/2;
  background: #fff;
  top: 0;
  left: 0;
}

.drawer-icon__bar1 {
  top: 0;
  transition: transform 0.3s;
}

.drawer-icon__bar2 {
  top: 50%;
  transform: translateY(0, -50%);
}

.drawer-icon__bar3 {
  top: 100%;
  transition: transform 0.3s;
}

.drawer-content {
  width: 200px;
  height: 100%;
  position: fixed;
  top: 0;
  right: 0;
  background: #F6F6F6;
  padding: 50px 40px;
  z-index: 299;
  transform: translateX(105%);
  transition: transform 0.5s ease 0s;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain; /* scroll伝番防止 */
}
.drawer-content.is-active {
  transform: translateX(0);
}
@media (min-width: 768px) {
  .drawer-content {
    width: 300px;
  }
}

.drawer-menu li:nth-child(n+2) {
  margin-top: 50px;
}
.drawer-menu li a {
  display: block;
  font-size: min( 6 * 100vw / var(--vw-base) , 6/var(--vw-base) * 1440px );
  position: relative;
  padding-left: 1em;
}
.drawer-menu li a::before {
  content: "";
  position: absolute;
  background: #595757;
  width: 0.5em;
  height: 1px;
  transform: translate(0%, -50%);
  top: 50%;
  left: 0%;
}

.drawer-sub {
  margin-top: 25px;
}
.drawer-sub a::before {
  display: none;
}
.drawer-sub a:nth-child(n+2) {
  margin-top: 25px;
}

.drawer-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(51, 51, 51, 0.8);
  z-index: 298;
  display: none;
}
.drawer-background.is-active {
  display: block;
}
/*# sourceMappingURL=header.css.map */