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

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

header#glo_header {
  top: 0;
  left: 0;
  position: fixed;
  z-index: 1000;
  width: 100%;
  background-color: #fff;
  @media screen and (max-width: 1024px) {
    height: 6.8rem;
  }

  .header_inner {
    height: 12rem;
    max-width: 100rem;
    width: 100%;
    padding: 0 2rem;
    margin: auto;
    position: relative;

    @media screen and (max-width: 1024px) {
      height: 100%;
      padding: 0;
    }
    /* ロゴ ----------*/
    .header_logo {
      width: 20rem;
      position: absolute;
      left: 2rem;
      top: 3.3rem;
      @media screen and (max-width: 1024px) {
        width: 16rem;
        top: 1.8rem;
      }

      a {
        display: block;
      }
    }
  }
}
/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
テロップ
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/
.telop_wrap {
  background-color: var(--color-blue);
  padding: 2.4rem 0;
  overflow: hidden;
  position: relative;
  z-index: 20;
  @media screen and (max-width: 1024px) {
    padding: 1.2rem 0;
  }
  .header_telop {
    .telop {
      padding: 0 0.5em;
      a {
        color: #fff;
        font-size: 2.4rem;
        letter-spacing: 0.08em;
        font-weight: 900;
        @media screen and (max-width: 1024px) {
          font-size: 1.4rem;
        }
      }
    }
  }
}

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

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

/*--------------------*/
/* スマートフォン */
/*--------------------*/
@media screen and (max-width: 1024px) {
  .header_nav_wrap {
    .menu_btn {
      position: absolute;
      z-index: 20000;
      width: 6.8rem;
      height: 6.8rem;
      border: none;
      right: 0;
      bottom: 0;
      padding: 2rem;
      box-sizing: border-box;
      background: rgba(0, 0, 0, 0);
      transition: all 0.2s;
      background-color: var(--color-light_blue);

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

      span.bar {
        transform-origin: center;
        display: block;
        height: 1px;
        background-color: #fff;
        transition: all 0.2s;
        margin: 0.6rem 0;
      }

      &.open {
        background: rgba(0, 0, 0, 0.3);

        .bar {
          background-color: #fff;
        }

        .bar1 {
          transform: rotate(45deg);
        }

        .bar2 {
          opacity: 0;
        }

        .bar3 {
          transform: rotate(-45deg);
          margin-top: -1.4rem;
        }

        &.plustext {
          .text {
            color: #fff;
          }
        }
      }
    }
  }
}

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

/*--------------------*/
/* PC */
/*--------------------*/
@media screen and (min-width: 1025px) {
  .header_nav_wrap {
    .glo_menu_wrap {
      .glo_menu {
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 100;
        position: fixed;
        left: 0;
        top: 12rem;
        width: 100%;
        padding: 1.8rem 0;
        background-color: var(--color-ex_light_blue);

        li.menu-item {
          border-left: 1px solid var(--color-blue);
          &:first-child {
            border-left: none;
          }
          a {
            text-decoration: none;
            display: block;
            padding: 0 3.2rem;
            font-size: 2.2rem;
            font-weight: 900;
            color: var(--color-blue);
            line-height: 1.1;
            span {
              display: inline-block;
              letter-spacing: 0.05em;

              padding-left: 0.05em;
            }
          }
        }
      }
      /* フリーダイアル ----------*/
      .freedial_wrap {
        display: flex;
        position: absolute;
        right: 2rem;
        top: 0;
        @media screen and (max-width: 1024px) {
          display: block;
          position: static;
        }
        h3 {
          display: none;
        }
        .freedial {
          padding: 2.9rem 1.6rem 0;
          border-left: 1px solid var(--color-blue);
          width: 19.8rem;
          h5 {
            font-size: 1.4rem;
            font-weight: 900;
            letter-spacing: 0.02em;
            margin-bottom: 0.7rem;
          }
          .icon {
            display: inline-block;
            width: 3.6rem;
            vertical-align: middle;
            margin-right: 0.5rem;
            svg {
              fill: var(--color-blue);
            }
          }
          .number {
            display: inline-block;
            width: 15.3rem;
            vertical-align: middle;
          }
          &.oita {
            order: 1;
          }
          &.kumamoto {
            order: 2;
          }
          &.fukuoka {
            order: 3;
          }
        }

        .hours {
          padding-top: 2.7rem;
          order: 4;
          h6 {
            font-size: 1rem;
            font-weight: 700;
            margin-bottom: 0.4rem;
            span {
              color: var(--color-blue);
            }
          }
          p {
            font-size: 1.4rem;
            line-height: 1.21;
            font-weight: 700;
          }
        }
      }
      .banner_online {
        display: none;
      }
    }
  }
}

/*--------------------*/
/* スマートフォン */
/*--------------------*/
@media screen and (max-width: 1024px) {
  .header_nav_wrap {
    .glo_menu_wrap {
      height: calc(100vh - 6.8rem);
      box-sizing: border-box;
      overflow-y: auto;
      top: 6.8rem;
      left: 0;
      position: absolute;
      background-color: var(--color-blue);
      z-index: 1010;
      transition: 0.3s;
      width: 100vw;
      padding: 1.5rem 2rem 2rem;
      opacity: 0;
      visibility: hidden;
      &.open {
        opacity: 1;
        visibility: visible;
      }

      /* メニューの中身 */
      .glo_menu {
        max-width: 48rem;
        margin: auto;
        li.menu-item {
          border-bottom: 1px solid #fff;

          &:nth-child(1),
          &:nth-child(2) {
            display: none;
          }
          &:last-child {
            border: none;
          }
          > a {
            display: block;
            font-size: 2.2rem;
            letter-spacing: 0.05em;
            font-weight: 900;
            color: #fff;
            padding: 1em 1rem;
            position: relative;
            &::after {
              content: "";
              display: block;
              position: absolute;
              width: 1.1rem;
              aspect-ratio: 1/2;
              background-image: url(../img/common/icon-sankaku.svg);
              background-size: contain;
              background-repeat: no-repeat;
              right: 1rem;
              top: 50%;
              transform: translateY(-50%);
            }
          }
        }
      }

      /* フリーダイアル ----------*/
      .freedial_wrap {
        background-color: #fff;
        max-width: 48rem;
        margin: auto auto 1.3rem;
        h3 {
          background-color: #f02424;
          color: #fff;
          text-align: center;
          font-size: 2.4rem;
          font-weight: 900;
          letter-spacing: 0.05em;
          padding-left: 0.05em;
          padding: 1.5rem 0;
        }
        .freedial {
          padding: 2rem 0;
          display: flex;
          justify-content: center;
          align-items: center;
          border-bottom: 1px solid var(--color-blue);
          h5 {
            font-size: 1.4rem;
            font-weight: 900;
            letter-spacing: 0.02em;
            word-break: keep-all;
            text-align: left;
            width: 4.08em;
            line-height: 1.24;
            margin-right: 1.2rem;
          }
          .icon {
            width: 4rem;
            margin: 0.2rem 0.9rem 0 0;
            svg {
              fill: var(--color-blue);
            }
          }
          .number {
            width: 17.2rem;
          }
        }

        .hours {
          padding-top: 1.3rem;
          display: flex;
          justify-content: center;
          align-items: baseline;
          h6 {
            font-size: 1.2rem;
            font-weight: 700;
            letter-spacing: 0.02em;
            &::after {
              content: "／";
            }
            span {
              color: var(--color-blue);
            }
          }
          p {
            font-size: 1.6rem;
            font-weight: 700;
            br {
              display: none;
            }
          }
        }
      }

      .banner_online {
        border: 2px solid #fff800;
        background-color: #e32934;
        display: flex;
        padding: 1.5rem 2.9rem 1.5rem 0.8rem;
        align-items: center;
        max-width: 48rem;
        margin: auto;
        box-sizing: border-box;
        justify-content: center;
        .icon {
          width: 7.5rem;
          flex-shrink: 0;
          margin-right: 0.6rem;
        }
        .text {
          width: 22rem;
        }
      }
    }
  }
}
