header {
  position: fixed;
  width: 100%;
  z-index: 1000000;

  > div {
    align-items: center;
    display: flex;
    height: 11.6rem;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    transition: all .5s;
    width: 100%;
    @media (width >= 961px) {
      height: 14rem;
    }

    > a {
      background: #fff;
      border-radius: 0 0 1.5rem;
      display: inline-block;
      height: 100%;
      padding: 4.7rem 2.6rem;
      position: relative;
      width: auto;
      z-index: 1000000;
      @media (width >= 961px) {
        border-radius: 0 0 2.8rem;
        padding: 5.5rem 4.5rem;
      }
      img {
        display: block;
        height: auto;
        width: 14.8rem;
        @media (width >= 961px) {
          width: 20rem;
        }
      }
    }

    .main-menu {
      display: none;
      @media (width >= 1201px) {
        display: inline-block;
        padding: 0 11.3rem 0 0;
        width: auto;

        > ul {
          align-items: center;
          display: flex;
          justify-content: space-between;
          list-style: none;
          margin: 0;
          padding: 0;

          > li {
            margin: 0 0 0 2.8rem;

            a {
              color: #fff;
              font-size: 1.6rem;
              text-decoration: none;

              &:hover {
                text-decoration: underline;
              }
            }
            
            &:nth-of-type(2), &:nth-of-type(3) {
              &::after {
                background: url(../img/icon-out-w.png) center center / cover no-repeat;
                content: "";
                display: inline-block;
                height: 1.3rem;
                margin: 0 0 0 .8rem;
                width: 1.3rem;
              }
            }
          }
        }
      }
    }

    input[type="checkbox"] {
      display: none;
    }

    label {
      background: #E6E61F;
      border-radius: 50%;
      cursor: pointer;
      display: flex;
      flex-direction: column;
      gap: 0.4rem;
      height: 6rem;
      justify-content: center;
      position: absolute;
      right: 2rem;
      top: 4rem;
      transition: .5s;
      width: 6rem;
      z-index: 1000000;

      span {
        background: #1A1A1A;
        display: block;
        height: .1rem;
        left: 50%;
        position: absolute;
        top: 2.7rem;
        transform: translateX(-50%);
        transition: 0.5s;
        width: 2.4rem;
        &:nth-of-type(2) {
          top: 3.4rem;
        }
      }
    }

    .hum-menu {
      background: #FAFAFA;
      height: 100%;
      overflow: auto; 
      padding: 11.6rem 2rem 7rem;
      position: fixed;
      right: -100%;
      top: 0;
      transition: .5s;
      width: 100%;
      z-index: 100000;
      @media (width >= 961px) {
        padding: 10rem 0 0 52.1rem;
        width: 91rem;
      }
      
      &::-webkit-scrollbar {
        width: 0;
      }
      &::-webkit-scrollbar-thumb,
      &::-webkit-scrollbar-track {
        background: transparent;
      }

      > ul {
        list-style: none;
        margin: 0;
        padding: 0;

        > li {
          border-bottom: .1rem solid #DDDDDD;
          font-size: 1.8rem;
          line-height: 2.1rem;
          margin: 0;
          padding: 2rem 0;
          position: relative;

          &::after {
            background: url(../img/icon-ku.png) center center / cover no-repeat;
            content: "";
            display: block;
            height: 1rem;
            position: absolute;
            right: 0;
            top: 2.55rem;
            transform: rotate(-90deg);
            width: 1rem;
            @media (width >= 961px) {
              display: none;
            }
          }

          > a {
            color: #1A1A1A;
            display: block;
            text-decoration: none;
          }

          &:first-of-type,
          &:nth-of-type(2),
          &:nth-of-type(8) {
            &::after {
              transform: rotate(0);
              transition: .5s;
            }
            @media (width >= 961px) {

              > a {
                display: none;
              }

              &::before {
                background: #E6E61F;
                content: "";
                display: block;
                height: .2rem;
                left: 0;
                position: absolute;
                top: 5.3rem;
                width: 2.9rem;
              }
            }
          }
          &:nth-of-type(3) {
            &::after {
              background: url(../img/icon-out-b.png) center center / cover no-repeat;
              transform: rotate(0);
            }
          }
          @media (width >= 961px) {
            border: 0;
            font-size: 2.4rem;
            line-height: 1.8;
            margin: 0 0 2rem;
            padding: 0;

            &:first-of-type {
              left: 8rem;
              position: absolute;
              top: 10rem;
            }
            &:nth-of-type(2) {
              left: 8rem;
              position: absolute;
              top: 28.6rem;
            }
            &:nth-of-type(8) {
              left: 8rem;
              position: absolute;
              top: 47.2rem;
              >a {
                display: block;
                margin: 0 0 2rem;
              }
              .sub-menu {
                li {
                  font-size: 1.8rem!important;
                  line-height: 1.5;
                  padding: 0 0 .7rem!important;
                }
              }
            }
            &#menu-item-76, &#menu-item-81 {
              > a {
                &::after {
                  background: url(../img/icon-out-b.png) center center / cover no-repeat;
                  content: "";
                  display: inline-block;
                  height: 2rem;
                  margin: 0 0 .5rem 1.5rem;
                  vertical-align: middle;
                  width: 2rem;
                }
              }
            }
          }

          .sub-menu {
            height: 0;
            list-style: none;
            margin: 0;
            padding: 0 0 0 1em;
            opacity: 0;
            overflow: hidden;
            transition: .5s;
            @media (width >= 961px) {
              height: auto;
              opacity: 1;
              padding: 0;
            }

            li {
              padding: 0 0 2rem;
              &:last-of-type {
                padding: 0;
              }
              @media (width >= 961px) {
                font-size: 1.8rem;
                line-height: 1.8;
                padding: 0 0 .7rem;
                &:first-of-type {
                  font-size: 2.4rem;
                  margin: 0 0 2rem;
                  padding: 0;
                }
                &:last-of-type {
                  padding: 0;
                }
              }

              a {
                color: #1A1A1A;
                text-decoration: none;
                width: 100%;
              }
            }
          }

          &.open {
            &::after {
              transform: rotate(-180deg);
            }
            > .sub-menu {
              height: auto;
              opacity: 1;
              padding: 2rem 0 0 1em;

              #menu-item-77 {
                a::after {
                  background: url(../img/icon-out-b.png) center center / cover no-repeat;
                  content: "";
                  display: inline-block;
                  height: 1rem;
                  margin: 0 0 .4rem 1rem;
                  vertical-align: middle;
                  width: 1rem;
                };
              }
            }
          }
        }
      }
    }

    input.check:checked~.hum-menu {
      right: 0;
    }

    input.check:checked~label>span {
      &:first-of-type {
        top: 50%;
        transform: translate(-50%, -50%) rotate(-38deg);
      }
      &:nth-of-type(2) {
        top: 50%;
        transform: translate(-50%, -50%) rotate(38deg);
      }
    }

  }
}

body.active header,
body.page header {
  @media (width >= 961px) {
    background: #fff;
  }

  > div {
    height: 8rem;

    > a {
      padding: 2.9rem 2.6rem;
      @media (width >= 961px) {
        padding: 2.5rem 4.5rem;
      }
    }

    .main-menu {
      > ul {
        > li {
          a {
            color: #1A1A1A;
          }
          &:nth-of-type(2), &:nth-of-type(3) {
            &::after {
              background: url(../img/icon-out-b.png) center center / cover no-repeat;
            }
          }
        }
      }
    }

    label {
      top: 1rem;
    }
  }
}