header {
  padding: 30px 0 10px;

  .inner {
    position: relative;
    align-items: start;
    justify-content: space-between;
    padding-top: 0;
    padding-right: 1rem;
    padding-bottom: 2.2rem;
    border-bottom: none;

    .recruit {
      position: absolute;
      z-index: 99;
      top: 2.66rem;
      right: 1rem;
      bottom: auto;
      width: auto;
      margin: 0;
      padding: 10px 1.2rem;
      transform: translateY(100%);
    }
  }

  .menu {
    font-size: 0.8em;
    position: unset;
    height: 3em;
    margin-top: 1.1rem;
    border-top: 3px solid var(--color-dotline);
  }
}

footer {
  .toggle-submenu {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    margin-top: 2em;
    margin-bottom: 2em;
    padding-top: 0.5em !important;
    padding-bottom: 1em !important;
    cursor: pointer;
    border-top: 1px solid white;
    border-bottom: 1px solid white;
    gap: 1em;

    span:nth-child(1) {
      width: 1em;
      transform: rotate(-90deg);
    }

    &:has(+ .open) {
      span:nth-child(1) {
        transform: rotate(90deg);
      }
    }
  }

  .menu-content {
    &:not(.open) {
      display: none;
    }
  }

  .footer-logo {
    img {
      width: 50%;
      margin-right: 0;
      margin-left: auto;
    }
  }
}

footer, .open-menu-wrap {
  font-size: 0.75rem;

  .links {
    grid-template-columns: 1fr;

    > div:nth-child(2) > ul {
      grid-template-columns: 1fr;
    }

    > div:nth-child(3) {
      > div:first-child {
        p {
          width: 100%;
        }
      }

      > div:nth-child(2) {
        margin-left: 1.5rem;
      }
    }
  }

  .sub-grid {
    grid-column: unset;
    grid-template-columns: 1fr;

    > div:nth-child(3) {
      margin-top: 2rem;
      border-top: 1px solid white;

      grid-column: unset;

      img {
        width: 140px;
        margin-right: 0;
        margin-left: auto;
      }
    }
  }
}

.modal-wrapper {
  display: unset;
  padding-top: 3rem;
  padding-bottom: 5rem;
}

.left-top-block {
  position: absolute;
  z-index: 90;
  top: 8.25rem;
  left: 2rem;
  max-width: 130px;

  img {
    max-width: 80px;
  }

  p:first-of-type {
    font-size: 0.625rem;
    margin-top: 1.5rem;
  }

  p:last-of-type {
    font-size: 1rem;
    margin-top: 1rem;
    white-space: nowrap;
  }
}

.recruit .white.font-12 {
  font-size: .8rem;
  font-weight: bold;
  text-align: left;
}

/* ヘッダーメニュー用 共通に移植する */
header {
  margin-bottom: 10px;
  padding-bottom: 0;

  .inner {
    height: 100%;

    .logo-wrapper {
      padding: 0.8rem 1.2rem 0;
    }
  }
}

#menu {
  top: 85px;
  left: 50%;
  width: 100vw;
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.intro {
  height: var(--intro-height);
  --intro-height: 175vh;
  clip-path: polygon(0 0, 100% 0, 100% calc(var(--intro-height) - 15vh), 0% 100%);

  @media screen and (width <= 375px) {
    --intro-height: 150vh;
  }

  @media screen and (width <= 320px) {
    --intro-height: 135vh;
  }

  .intro-grid {
    padding-right: 1rem;
    padding-left: 1rem;
    grid-template-columns: 1fr;

    > div:nth-child(1) {
      margin-left: 0;

      > div:nth-child(1) {
        flex-direction: column;
        gap: 1rem;
      }

      > div:nth-child(2) {
        margin: 7rem auto 4rem;
      }

      > div:nth-child(3) {
        img {
          display: none;
        }
      }
    }

    > div:nth-child(2) {
      > img {
        width: min(100%, 420px);
        height: auto;
        margin-top: -2rem;
        margin-right: auto;
        margin-left: auto;
      }
    }
  }

  &.intro-ceo-message {
    --intro-height: 210vh;

    @media screen and (width <= 375px) {
      --intro-height: 175vh;
    }

    @media screen and (width <= 320px) {
      --intro-height: 155vh;
    }
  }

  &.heroes-top {
    --intro-height: 210vh;

    @media screen and (width <= 375px) {
      --intro-height: 175vh;
    }

    @media screen and (width <= 320px) {
      --intro-height: 155vh;
    }
  }

  &.intro-managers {
    height: var(--intro-height);
    padding-top: 6rem;
    --intro-height: 145vh;
    clip-path: polygon(0 0, 100% 0, 100% calc(var(--intro-height) - 15vh), 0% 100%);

    @media screen and (width <= 425px) {
      --intro-height: 140vh;
    }

    @media screen and (width <= 375px) {
      --intro-height: 115vh;
    }

    .intro-grid2 {
      margin-top: 2rem;
      grid-template-columns: 1fr;

      .intro-logo {
        width: 5rem;
      }

      > div:nth-child(2) {
        img:nth-child(1) {
          width: 10rem;
          margin-top: 1rem;
        }
      }
    }

    .intro-grid {
      padding-top: 3rem;
      padding-right: 1rem;
      padding-left: 1rem;
      grid-template-columns: 1fr;

      > div:nth-child(1) {
        > div:nth-child(1) {
          flex-direction: row;
          gap: 1rem;
        }

        > div:nth-child(2) {
          margin-top: 10rem;
        }
      }

      > div:nth-child(2) {
        > img {
          width: auto;
          height: calc(100vh - 120px);
          margin-top: -2rem;
        }
      }
    }
  }

  &.intro-history {
    height: var(--intro-height);
    padding-top: 4rem;
    --intro-height: 170vh;
    clip-path: polygon(0 0, 100% 0, 100% calc(var(--intro-height) - 15vh), 0% 100%);

    @media screen and (width <= 375px) {
      --intro-height: 170vh;
    }

    @media screen and (width <= 320px) {
      --intro-height: 135vh;
    }

    img {
      width: 420px;
    }
  }
}

.flip-card:hover .flip-card-inner {
  transform: none;
}

#menu {
  top: 2.6em;
  right: -2.8rem;
  left: unset;
  width: calc(100vw + 2rem);
  transform: none;
  background-color: transparent;

  .links {
    display: flex;
    flex-direction: column;
    margin-top: 0;

    * {
      font-size: var(--font-size-15);
      font-weight: 700;
      color: var(--color-black);
    }
  }

  .guide {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 5px;
    padding-bottom: 5px;
    background-color: white;
    gap: 0.5em;

    li:first-child {
      margin-top: 0.5em;
    }

    li {
      margin-bottom: 0;
    }
  }

  .open-menu-wrap {
    background-color: transparent;
  }

  .inner {
    overflow-y: scroll;
    height: calc(100vh - 30px);
    margin-right: 0;
    margin-left: 0;
    padding-top: 0;
    padding-right: 0;
    padding-left: 0;
    background-color: transparent;
  }

  div:has(> .toggle-accordion-image) {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.5rem 3rem;
    border-bottom: 2px solid white;
    background-color: rgba(0, 0, 200, 0.9);

    .toggle-accordion-image {
      transform: translateY(-50%);
    }

    &:has(+ .close) {
      .toggle-accordion-image {
        transform: translateY(-50%) rotate(180deg);
      }
    }
  }

  .menu-text-images {
    display: flex;
    flex-direction: column;
    gap: 1em;

    img:first-child {
      width: 12em;
    }
  }

  .links {
    > .sub-grid.guide {
      padding-top: 1.5em;
      padding-bottom: 1.5em;
      background-color: rgba(0, 0, 200, 0.9);

      * {
        color: white;
      }
    }

    > div:last-child {
      padding-top: 4em;
      padding-bottom: 5em;
      background-color: rgba(0, 0, 200, 0.9);
    }

    > div:nth-child(1) {
      .menu-text-images {
        img:first-child {
          width: 80px;
        }

        img:last-child {
          width: 140px;
        }
      }
    }

    > div:nth-child(2) {
      .menu-text-images {
        img:first-child {
          width: 192px;
        }

        img:last-child {
          width: 80px;
        }
      }
    }

    > div:nth-child(3) {
      .menu-text-images {
        img:first-child {
          width: 123px;
        }

        img:last-child {
          width: 104px;
        }
      }
    }
  }
}

/*追加*/
header {
  padding: 10px 0 10px;

  .menu.tab {
    position: fixed;
    top: inherit;
    right: 1rem;
    left: unset;
  }
}

.board.top3, .board.top1 {
  overflow: hidden;
}

.board.top1 {
  padding-right: 2.5em;
}

.inner.container.tab .links .footer-logo {
  display: none;
}

#menu {
  .guide {
    padding-bottom: 10px;
  }

  & .links {
    * {
      font-size: 1rem;
      font-weight: normal;
      line-height: 1.8;

    }
  }
}

#menu {
  & div:has(> .toggle-accordion-image) {
    .toggle-accordion-image {
      transform: translateY(-50%) rotate(180deg);
    }
  }
}

#menu {
  & div:has(> .toggle-accordion-image) {
    &:has(+ .close) {
      .toggle-accordion-image {
        transform: translateY(-50%) rotate(0deg);
      }
    }
  }
}

#menu {
  .d-flex + .guide.menu-head {
    > li:first-child {
      margin-left: -1em;

      a {
        font-size: 1.1rem;
        font-weight: bold;
      }
    }
  }
}

.left-top-block {
  z-index: 900;
  top: 6rem;
}

footer, .open-menu-wrap {
  & .sub-grid {
    & > div:nth-child(3) {
      > div {
        margin-top: 2em;
      }
    }
  }
}

.inner.container.tab:last-of-type {
  display: none;
}

/*SPハンバーガーメニュー用*/
#menu {
  & .links {
    gap: 0;
  }
}

#menu {
  .d-flex + .guide.menu-head {
    padding: 1rem 2rem;
    opacity: .95;
  }
}

#menu {
  & .links {
    > div:nth-child(2) > ul.close {
      display: none;
    }
  }
}

#menu {
  & .links {
    & > div:nth-child(1), & > div:nth-child(2), & > div:nth-child(3) {
      > div:first-child {
        margin-right: 1em;
        border-bottom: 1px solid white;
      }
    }

    div:last-child img {
      width: 30%;
      margin-top: -2.8rem;
    }
  }
}

#menu {
  z-index: 99999999999;
}

.intro {
  &.intro-ceo-message {
    @media screen and (width <= 375px) {
      --intro-height: 220vh;
    }
  }
}

header {
  z-index: 999;
  background-color: transparent;
}

.left-top-block {
  z-index: 0;
  top: 6rem;
}

.generalbg + .sm-profiles {
  margin-top: -7.5em;
}

/*0628追加*/

.heroes-top2 {
  width: 10em;
  margin-top: -3em;
}

.heroes-top2 img:first-child {
  width: 6em;
}

header {
  .inner {
    padding-top: 0;
  }
}

footer {
span.gaibulink{

img {
    width: 12px;
    display: inline-flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    /* height: 100%; */
    margin-left: 5px;

}
}
}


.open-menu-wrap {
span.gaibulink{

img {
width: 12px;
    display: inline-flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    /* height: 100%; */
    margin-left: 5px;
filter: brightness(0) saturate(100%)
}
}
}

/* 説明会バナー追加 */

.foot_kotei {
  position: fixed;
  right: 0;
  bottom: 0;
  box-shadow: 0 0 10px #ccc;
  max-width: 60%;
  transition: .5s;
  width: 80%;
}
