@charset "utf-8";

/* ↓↓↓ common ↓↓↓ */
:root {
  --text-color: #1C1C1C;
  --text-shippori: "Shippori Mincho", serif;
  --text-zenkaku: "Zen Kaku Gothic New", sans-serif;
  --color-green: #0099B3;
  --color-green2: #006680;
}

@media (max-width: 768px) {
  body {
    min-width: 100%;
  }
}

#main {
  width: 100% !important;
  padding: 0 !important;

  address,
  caption,
  dd,
  dt,
  em,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  li,
  p,
  small,
  strong {
    font-weight: inherit;
    font-style: inherit
  }

  li,
  ol,
  ul {
    list-style: none
  }

  table {
    border-collapse: collapse
  }

  .header img,
  main img,
  .footer img {
    width: 100%;
    height: auto;
    border: 0;
    vertical-align: bottom;
    display: inline-block
  }

  a {
    color: var(--text-color);
  }

  a:hover {
    text-decoration: none
  }

  br {
    letter-spacing: 0
  }
}



#main * {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-feature-settings: "palt";
  font-family: var(--text-shippori);

  &:focus {
    outline: 0
  }

}

#smtb {
  width: 100%;
  height: 100%;
  color: var(--text-color);
  width: 100%;
  height: 100%;
  overflow-x: clip;
  position: relative;
}

.-noscroll {
  overflow: clip;
  scrollbar-gutter: stable;
}

.-pc {
  display: block;
}

.-sp {
  display: none;
}

@media (max-width: 768px) {
  .-pc {
    display: none;
  }

  .-sp {
    display: block;
  }
}

.-wb {
  display: inline-block;
}

/* ↑↑↑ common ↑↑↑ */

#smtb {
  width: 100%;
  min-width: 1280px;

  @media (max-width: 768px) {
    min-width: 100%;
  }

  /* ↓↓↓ header ↓↓↓ */
  .header {
    width: 100%;
    height: 80px;
    background-color: rgba(255, 255, 255, 0.85);
    position: sticky;
    top: 0;
    left: 0;
    display: flex;
    z-index: 1;

    @media (max-width: 768px) {
      height: 64px;
      background-color: rgba(255, 255, 255, 1);
    }
  }

  .header-logo {
    width: 395px;
    height: 100%;
    padding-left: 40px;
    display: flex;
    align-items: center;
    gap: 30px;

    @media (max-width: 768px) {
      width: auto;
      padding-left: 20px;
      gap: 24px;
    }

    .site-logo {
      display: block;
      width: 200px;

      @media (max-width: 768px) {
        width: 162px;
      }
    }

    .site-name {
      font-size: 12px;
      font-weight: 500;
      letter-spacing: 0.02em;
      line-height: 1.333;

      @media (max-width: 768px) {
        font-size: 12px;
      }
    }
  }

  .header-menu {
    height: 100%;
    margin-left: auto;
    padding-right: 48px;

    @media (max-width: 768px) {
      display: none;
      position: absolute;
      top: 64px;
      left: 0;
      width: 100%;
      height: calc(100vh - 64px);
      padding-right: 0;
      padding-bottom: 30px;
      background-color: #fff;
      overflow-y: scroll;
    }
  }

  .header-menu-list .menu,
  .header-menu-list li,
  .header-menu-list {
    height: 100%;
    display: block;

    @media (max-width: 768px) {
      height: auto;
      width: 100%;
    }
  }

  .header-menu-list {
    display: flex;
    align-items: center;
    gap: 20px;

    @media (max-width: 768px) {
      flex-direction: column;
      gap: 0;
    }
  }

  .header-menu-list .menu {
    display: grid;
    place-content: center;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1;
    position: relative;

    @media (max-width: 768px) {
      padding: 20px;
      font-size: 16px;
      text-align: left;
      place-content: flex-start;
      border-bottom: 1px solid #707070;
      position: relative;

      &::after {
        content: '';
        position: absolute;
        top: 18px;
        right: 20px;
        width: 10px;
        height: 18px;
        background-color: var(--color-green);
        mask-image: url(../img/common/right-arrow.png);
        mask-repeat: no-repeat;
        mask-size: contain;
        mask-position: center;
      }
    }


    &::before {
      content: '';
      position: absolute;
      bottom: 28px;
      left: 0;
      width: 100%;
      height: 1px;
      background-color: var(--color-green);
      scale: 0 1;
      transition: scale 300ms 0s ease;
    }

    @media (min-width: 769px) {
      &:hover::before {
        scale: 1 1;
      }
    }
  }

  header .sp-menu {
    display: none;
    width: 64px;
    height: 64px;
    position: relative;
    background-color: var(--color-green);
    cursor: pointer;

    @media (max-width: 768px) {
      display: block;
      margin-left: auto;
    }

    span {
      position: absolute;
      left: 50%;
      translate: -50% 0;
      display: block;
      width: 28px;
      height: 1px;
      background-color: #fff;
      transition: top 0.2s ease 0.2s, transform 0.2s ease 0s, opacity 0.2s ease 0.2s;

      &:nth-of-type(1) {
        top: 24px;
      }

      &:nth-of-type(2) {
        top: 32px;
      }

      &:nth-of-type(3) {
        top: 40px;
      }
    }

    &.is-active {
      span {
        transition: top 0.2s ease 0s, transform 0.2s ease 0.2s, opacity 0s ease 0.2s;

        &:nth-of-type(1) {
          top: 32px;
          transform: rotate(45deg);
        }

        &:nth-of-type(2) {
          opacity: 0;
        }

        &:nth-of-type(3) {
          top: 32px;
          transform: rotate(-45deg);
        }
      }
    }
  }

  /* ↑↑↑ header ↑↑↑ */

  /* ↓↓↓ main ↓↓↓ */
  main {
    width: 100%;
    position: relative;
  }

  /* ↑↑↑ main ↑↑↑ */

}

@media (min-width: 1281px) {}

@media (max-width: 1280px) {}

@media (max-width: 768px) {}

@media (max-width: 480px) {}

@media (max-width: 375px) {}