@charset "utf-8";
/* CSS Document */

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
ヘッダー
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/

header#glo_header {
  position: fixed;
  z-index: 1000;

  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 0 2rem;
  box-sizing: border-box;

  @media screen and (max-width: 980px) {
    /* general.cssの#page_wrapのpadding-topと連動 */
    height: 4.8rem;
    width: 100%;
    padding: 0;
  }

  .header_inner {
    padding: 1.6rem;
    margin: auto;
    width: 96%;
    max-width: 1440px;
    box-sizing: border-box;
    position: relative;
    background-color: rgba(255, 255, 255, 0.9);
    box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.2);
    border-radius: 0 0 0.8rem 0.8rem;

    @media screen and (max-width: 980px) {
      width: 100%;
      padding: 1rem;
      border-radius: 0;
    }
    .header_logo {
      width: 20rem;
      aspect-ratio: 147/36;
      @media screen and (max-width: 480px) {
        width: auto;
        height: 2.8rem;
      }
    }
  }
}

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
ハンバーガーボタン
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/

/*--------------------*/
/* PC */
/*--------------------*/
@media screen and (min-width: 981px) {
  .header_nav_wrap {
    .menu_btn {
      display: none;
    }
  }
}

/*--------------------*/
/* スマートフォン */
/*--------------------*/
@media screen and (max-width: 980px) {
  .header_nav_wrap {
    .menu_btn {
      position: absolute;
      z-index: 20000;
      width: auto;
      height: 100%;
      aspect-ratio: 1/1;
      border: none;
      right: 0;
      bottom: 0;
      box-sizing: border-box;
      background: rgba(0, 0, 0, 0);
      transition: all 0.2s;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      gap: 10%;

      &:focus {
        /*ボタンクリック時の枠線消し*/
        outline: 0;
      }

      span.bar {
        transform-origin: center;
        display: block;
        height: 1px;
        width: 60%;
        background-color: #000;
        transition: all 0.2s;
      }

      &.open {
        span {
          background-color: #fff;
        }
        .bar1 {
          transform: rotate(45deg);
        }

        .bar2 {
          opacity: 0;
        }

        .bar3 {
          transform: rotate(-45deg);
          margin-top: -28%;
        }
      }
    }
  }
}

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
メニュー背景  
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/

/*--------------------*/
/* PC */
/*--------------------*/
@media screen and (min-width: 981px) {
  .header_nav_wrap {
    .menu_bg {
      display: none;
    }
  }
}

/*--------------------*/
/* スマートフォン */
/*--------------------*/
@media screen and (max-width: 980px) {
  .header_nav_wrap {
    .menu_bg {
      /* 全画面の場合 */
      /* display: none; */

      /* 横からのスライドの場合 */
      position: fixed;
      width: 100%;
      height: 100%;
      z-index: 1005;
      background-color: rgba(0, 0, 0, 0.3);
      visibility: hidden;
      top: 0;
      left: 0;
      opacity: 0;
      transition: 0.3s;

      &.open {
        /* 横からのスライドの場合 */
        visibility: visible;
        opacity: 1;
      }
    }
  }
}

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
メニュー
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/

/*--------------------*/
/* PC */
/*--------------------*/
@media screen and (min-width: 981px) {
  .header_nav_wrap {
    z-index: 100;
    position: absolute;
    right: 1.6rem;
    top: 50%;
    transform: translateY(-50%);
    .glo_menu_wrap {
      margin: 0 auto;
      display: flex;
      gap: 2rem;
      .glo_menu {
        display: flex;
        align-items: center;
        margin: auto;
        gap: 3rem;
        @media screen and (max-width: 1024px) {
          gap: 2rem;
        }
        li.menu-item {
          display: flex;

          a {
            font-size: var(--fsize_m);
            text-decoration: none;
            display: block;
            line-height: 1.5;
            color: #000;
            letter-spacing: 0.1em;
          }

          &.current-menu-item {
            .underline {
              &:hover {
                opacity: 1;
              }
              span::after {
                transform: scale(1, 1);
                transform-origin: right top;
              }
            }
          }
        }
      }
    }
  }
}

/*--------------------*/
/* スマートフォン */
/*--------------------*/
@media screen and (max-width: 980px) {
  .header_nav_wrap {
    .glo_menu_wrap {
      height: 100vh;
      height: 100dvh;
      padding-top: 4.8rem;
      box-sizing: border-box;
      overflow-y: auto;
      top: 0;
      position: absolute;
      background-color: var(--color-deep-blue);
      z-index: 1010;
      transition: 0.3s;
      width: 90vw;
      right: -90vw;
      max-width: 480px;
      padding: 5rem 2.4rem 0;
      &.open {
        box-shadow:
          4px 0 8px rgba(0, 0, 0, 0.016),
          0 0.9px 1.1px rgba(0, 0, 0, 0.1),
          0 4px 4px rgba(0, 0, 0, 0.6);
        right: 0;
        animation: manufadein 0.3s ease-in;
      }

      /* メニューの中身 */
      .glo_menu {
        li.menu-item {
          border-bottom: 1px solid #5d86b5;
          &:last-child {
            border-bottom: none;
          }
          a {
            text-decoration: none;
            display: block;
            font-size: var(--fsize_l);
            padding: 1.25em 0;
            color: #fff;
            position: relative;
            &::after {
              content: "";
              display: block;
              position: absolute;
              width: 0.375em;
              aspect-ratio: 1/1;
              border-top: 2px solid #fff;
              border-right: 2px solid #fff;
              right: 1rem;
              top: 50%;
              transform: translateY(-40%) rotate(45deg);
            }
          }
        }
      }

      /* お問い合わせ */
      .maru_button.size-s {
        margin-top: 3rem;
        border: 1px solid #fff;
        font-size: var(--fsize_l);
      }
    }
  }
}
@keyframes manufadein {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}
