@charset "UTF-8";

/*
	##### OGIS #####
	assets/css/style_pc.css
*/

/* --------------------------------------------------
critical / high priority
-------------------------------------------------- */

.main-menu-set {
  opacity: 0;
}
.closed .main-menu-set {
  display: flex;
  column-gap: calc(38 / 1400 * 100vw);
  animation: simple-fi .3s ease both;

  @media (width < 1200px) {
    column-gap: calc(19 / 1200 * 100vw);
  }
  @media (width < 860px) {
    display: none;
  }
  &.touch-device {
    display: none;
  }
  .bttn-area {
    display: flex;
    align-items: center;

    .now-recruiting {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 238px;
      height: 40px;
      font-weight: 700;
      font-size: 14px;
      letter-spacing: .04em;
      border: solid 1px currentColor;
      border-radius: 5px;
      color: currentColor;
      background-repeat: no-repeat;
      background-size: 9px 9px;
      background-position: right 13px center;
      background-image: url(../images/menu-ico_popup-blk.svg);
      will-change: background-image;

      @media (width > 1400px) {
        width: calc(238 / 1400 * 100vw);
        height: calc(40 / 1400 * 100vw);
        font-size: calc(14 / 1400 * 100vw);
        border-width: calc(1 / 1400 * 100vw);
        border-radius: calc(5 / 1400 * 100vw);
        background-size: calc(9 / 1400 * 100vw) calc(9 / 1400 * 100vw);
        background-position: right calc(13 / 1400 * 100vw) center;
      }
      @media (width < 1280px) {
        width: calc(238 / 1280 * 100vw);
        font-size: calc(14 / 1280 * 100vw);
        border-width: calc(1 / 1280 * 100vw);
        border-radius: calc(5 / 1280 * 100vw);
        background-size: calc(9 / 1280 * 100vw) calc(9 / 1280 * 100vw);
        background-position: right calc(13 / 1280 * 100vw) center;
      }
      @media (hover: hover) {
        transition: color .3s ease;

        &:hover {
          background-image: url(../images/menu-ico_popup-red.svg);
          color: var(--color-4);
        }
      }
    }
  }
  .first-col {
    display: contents;
  }
}

.closed .menu-footer {
  display: none;
}


.closed .flyout {
  transform-origin: top center;
  scale: 1 0;
  opacity: 0;
  visibility: hidden;
  padding: 18px;
  position: absolute;
  left: 0;
  top: 100%;
  z-index: +1;
  background-color: #fcfcfc;
  box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, .1);
  transition: scale 0s 3s, opacity .3s ease;

  .sub-menu {
    display: block;
    height: 26px;

    a {
      font-weight: 700;
      font-size: 11px;
      line-height: 1.3;
      white-space: nowrap;
      color: rgba(var(--rgb-6), .5);
      transition: color .3s ease;

      @media (hover: hover) {
        &:hover {
          color: rgba(var(--rgb-6), 1);
        }
      }
    }
  }
  @media (width > 1400px) {
    box-shadow: calc(1 / 1400 * 100vw) calc(1 / 1400 * 100vw) calc(2 / 1400 * 100vw) calc(1 / 1400 * 100vw) rgba(0, 0, 0, .1);

    .sub-menu {
      height: calc(26 / 1400 * 100vw);

      a {
        font-size: calc(11 / 1400 * 100vw);
      }
    }
  }
}


/* --------------------------------------------------
header
-------------------------------------------------- */

.header {
  display: block;
  width: 100dvw;
  height: 100px;
  background-color: #fff;
  position: fixed;
  z-index: 1000;

  @media (width > 1400px) {
    height: calc(100 / 1400 * 100dvw);
  }

  a {
    text-decoration: none;
  }
}

.header-inner {
  display: flex;
  align-items: center;
  height: 100%;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;

  .open & {
    justify-content: space-between;
  }

  @media (width > 1400px) {
    max-width: none;
  }

  .logo-set {
    display: block;
    height: 100%;
    margin: 0 calc(46 / 1400 * 100vw);

    a {
      display: flex;
      align-items: center;
      height: 100%;
      font-weight: 600;
      font-size: 13px;
      letter-spacing: .08em;

      @media (width > 1400px) {
        font-size: calc(13 / 1400 * 100vw);
      }

      @media (hover: hover) {
        opacity: 1;
        transition: opacity .3s ease;

        &:hover {
          opacity: .6;
        }
      }
      .main-logo {
        display: block;
        width: 44px;
        height: auto;
        margin-right: 5px;

        @media (width > 1400px) {
          width: calc(44 / 1400 * 100vw);
          margin-right: calc(5 / 1400 * 100vw);
        }
      }
    }
  }
}


.hamburger {
  display: block;
  width: 62px;
  height: 62px;
  margin: auto 29px;
  position: relative;

  @media (width > 1400px) {
    width: calc(62 / 1400 * 100vw);
    height: calc(62 / 1400 * 100vw);
    margin: auto calc(29 / 1400 * 100vw);
  }
  @media (width < 1200px) {
    margin: auto calc(29 / 1200 * 100vw);
  }

  .bar-set {
    cursor: pointer;
    display: block;
    width: 37px;
    height: 26px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    @media (width > 1400px) {
      width: calc(37 / 1400 * 100vw);
      height: calc(26 / 1400 * 100vw);
    }
  }

  .bar {
    position: absolute;
    display: block;
    height: 2px;
    width: 100%;
    background-color: #000;
    transition: all .3s;

    &.upper {
      top: 0;
    }
    &.middle {
      top: 50%;
      margin-top: -1px;
    }
    &.bottom {
      bottom: 0;
    }

    .open & {
      background-color: #fff;
    }
    .open &.upper {
      top: 50%;
      transform: translateY(-1px) rotate(45deg) scaleX(1.37838)
    }
    .open &.middle {
      width: 0;
      opacity: 0
    }
    .open &.bottom {
      bottom: 50%;
      transform: translateY(1px) rotate(-45deg) scaleX(1.37838)
    }
  }
}

.closed .grand-menu {
  flex: 1 1 auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 100%;

  & > div {
    display: contents;
  }

  .corner-ttl {
    display: inline-block;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: .08em;
    cursor: pointer;
    transition: color .3s;
    padding: 20px 0;
    white-space: nowrap;

    @media (width > 1400px) {
      font-size: calc(15 / 1400 * 100vw);
      padding: calc(20 / 1400 * 100vw) 0;
    }
    @media (width < 1090px) {
      font-size: calc(15 / 1090 * 100vw);
      padding: calc(20 / 1090 * 100vw) 0;
    }

    &::after {
      content: '\003e';
      rotate: 90deg;
      display: inline-block;
      font-weight: 400;
      margin-left: .35em;
      line-height: 0;
    }

    @media (hover: hover) {
      &:hover {
        color: var(--color-4);
      }
    }
  }
  .main-menu {
    display: block;
    position: relative;

    @media (hover: hover) {
      & > li:hover > .flyout {
        scale: 1 1;
        opacity: 1;
        visibility: visible;
        transition: scale 0s 0s, opacity .3s ease;
      }
    }
  }
}


/* --------------------------------------------------
opened menu
-------------------------------------------------- */

.open .grand-menu {
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  width: 100dvw;
  height: 100vh;
  background-color: rgba(var(--rgb-6), .95);
  opacity: 0;
  animation: simple-fi .6s ease both;
  overflow: hidden;
  overflow-y: scroll;

  @media (width < 1042px) {
    overflow-x: auto;
  }

  & > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 100%;
    max-width: 1042px;
    margin: 0 auto;
    padding-top: 65px;

    @media (width > 1400px) {
      max-width: calc(1042 / 1400 * 100vw);
    }
  }

  .corner-ttl {
    display: inline-block;
    width: 188px;
    border-bottom: 1px solid #fff;
    font-weight: 600;
    font-size: 31.5px;
    line-height: 1;
    letter-spacing: .06em;
    color: rgba(255, 255, 255, 1);
    padding-bottom: 13px;

    @media (width > 1400px) {
      width: calc(188 / 1400 * 100vw);
      font-size: calc(31.5 / 1400 * 100vw);
      padding-bottom: calc(13 / 1400 * 100vw);
    }
    @media (width < 1042px) {
      width: calc(188 / 1042 * 100vw);
      font-size: calc(31.5 / 1042 * 100vw);
      padding-bottom: calc(13 / 1042 * 100vw);
    }

    a& {
      display: inline-flex;
      justify-content: space-between;
      align-items: center;

      &::after {
        content: '';
        display: inline-block;
        width: 15px;
        height: 11px;
        background: url(../images/arrw-r.svg) no-repeat center / contain;

        @media (width > 1400px) {
          width: calc(15 / 1400 * 100vw);
          height: calc(11 / 1400 * 100vw);
        }
        @media (width < 1042px) {
          width: calc(15 / 1042 * 100vw);
          height: calc(11 / 1042 * 100vw);
        }
      }

      @media (hover: hover) {
        transition: color .3s ease;

        &:hover {
          color: rgba(255, 255, 255, .5);
        }
        &::after {
          translate: 0 0;
          transition: translate .3s ease;
        }
        &:hover::after {
          translate: 50% 0
        }
      }
    }
  }
}


.open .main-menu-set {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
  column-gap: 50px;
  width: 100%;
  margin-right: -35px;
  padding: 0 0 65px;
  opacity: 1;
  animation: simple-fi .3s ease 0s both;

  @media (width > 1400px) {
    column-gap: calc(50 / 1400 * 100vw);
    margin-right: calc(-35 / 1400 * 100vw);
    padding: 0 0 calc(65 / 1400 * 100vw)
  }
  @media (width < 1042px) {
    column-gap: calc(50 / 1042 * 100vw);
    margin-right: calc(-35 / 1042 * 100vw);
    padding: 0 0 calc(65 / 1042 * 100vw)
  }

  .first-col {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    grid-row: 1 / 3;

    & + .main-menu {
      grid-row: 1 / 3;
    }
  }
  .bttn-area {
    display: block;
    grid-column: 3 / 5;
    grid-row: 2 / 3;
    width: calc(100% - 35px);
    height: 100px;
    border: 1px solid #fff;
    border-radius: 5px;
    align-self: center;

    .now-recruiting {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: 100%;
      font-weight: 600;
      font-size: 17px;
      letter-spacing: .03em;
      line-height: 1;
      color: #fff;

      span {
        padding: 0 48px;
        position: relative;

        &::after {
          content: '';
          display: inline-block;
          width: 20px;
          height: 20px;
          background: url(../images/menu-ico_popup.svg) no-repeat center / contain;
          position: absolute;
          right: 0;
          top: 50%;
          translate: 0 -50%;
        }
      }
    }

    @media (width > 1400px) {
      width: calc(100% - calc(35 / 1400 * 100vw));
      height: calc(100 / 1400 * 100vw);

      .now-recruiting {
        font-size: calc(17 / 1400 * 100vw);

        span {
          padding: 0 calc(48 / 1400 * 100vw);

          &::after {
            width: calc(20 / 1400 * 100vw);
            height: calc(20 / 1400 * 100vw);
          }
        }
      }
    }
    @media (width < 1042px) {
      width: calc(100% - calc(35 / 1042 * 100vw));
      height: calc(100 / 1042 * 100vw);

      .now-recruiting {
        font-size: calc(17 / 1042 * 100vw);

        span {
          padding: 0 calc(48 / 1042 * 100vw);

          &::after {
            width: calc(20 / 1042 * 100vw);
            height: calc(20 / 1042 * 100vw);
          }
        }
      }
    }
    @media (hover: hover) {
      opacity: 1;
      transition: opacity .3s ease;

      &:hover {
        opacity: .5
      }
    }
  }
}
.open .flyout {
  padding: 19px 0 38px;

  .sub-menu {
    height: 38px;

    a {
      font-feature-settings: normal;
      font-weight: 700;
      font-size: 15.5px;
      line-height: 1.3;
      white-space: nowrap;
      color: #fff;
      opacity: .7;
      transition: opacity .3s ease;

      &::before {
        content: '\30fb';
        font-feature-settings: "fwid";
      }
  
      @media (hover: hover) {
        &:hover {
          opacity: 1;
        }
      }
    }
  }

  @media (width > 1400px) {
    padding: calc(19 / 1400 * 100vw) 0 calc(38 / 1400 * 100vw);

    .sub-menu {
      height: calc(38 / 1400 * 100vw);

      a {
        font-size: calc(15.5 / 1400 * 100vw);
      }
    }
  }
  @media (width < 1042px) {
    padding: calc(19 / 1042 * 100vw) 0 calc(38 / 1042 * 100vw);

    .sub-menu {
      height: calc(38 / 1042 * 100vw);

      a {
        font-size: calc(15.5 / 1042 * 100vw);
      }
    }
  }
}

.menu-footer {
  opacity: 0;
  animation: simple-fi .3s ease .1s both;
  font-size: 12px;
  letter-spacing: .02em;
  color: rgba(255, 255, 255, .7);
  padding-bottom: 65px;
  justify-items: flex-end;

  @media (width > 1400px) {
    font-size: calc(12 / 1400 * 100vw);
  }
  @media (width < 1042px) {
    font-size: calc(12 / 1042 * 100vw);
  }

  .second-menu {
    display: flex;

    li {
      display: inline-block;
      padding: 0 1em;
      font-weight: 600;

      & + & {
        border-left: 1px solid currentColor
      }

      @media (hover: hover) {
        a {
          opacity: 1;
          transition: opacity .3s ease;

          &:hover {
            opacity: .5;
          }
        }
      }
    }
  }
  .copyright {
    font-weight: 400;
    text-align: center;
    margin-top: 1.5em;
  }
}



/* --------------------------------------------------
contents
-------------------------------------------------- */

/* main title */

.mv-area {
  display: block;
  width: calc(1298 / 1400 * 100vw);
  height: calc(360 / 1400 * 100vw);
  position: relative;
  margin: 0 auto;

  .main-image {
    display: block;
    width: 100%;
    height: 100%;
  }
  .main-ttl-area {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    padding-left: calc(68 / 1400 * 100vw);
    background-image: linear-gradient(120deg, var(--color-6) calc(435 / 1298 * 100vw), transparent 0);

    .main-ttl-set {
      color: #fff;
      display: inline-flex;
      flex-direction: column-reverse;
      row-gap: calc(14 / 1400 * 100vw);

      .en {
        font-weight: 300;
        font-size: calc(20 / 1400 * 100vw);
        letter-spacing: .05em;

        &::after {
          content: '';
          display: block;
          width: calc(16 / 1400 * 100vw);
          height: 1px;
          background-color: var(--color-4);
          margin-top: calc(18 / 1400 * 100vw);

          @media (width > 1400px) {
            height: calc(1 / 1400 * 100vw);
          }
        }
      }
      .main-ttl {
        font-weight: 600;
        font-size: calc(40 / 1400 * 100vw);
        letter-spacing: .1em;
        line-height: 1.3;
        margin-bottom: .8em;
      }
    }
  }
  &.no-img {
    height: calc(240 / 1400 * 100vw);
    background-color: var(--color-6);
    clip-path: polygon(4.853621% 0, 100% 0, 100% 54.166667%, 95.146379% 100%, 0 100%, 0 45.833333%);

    .main-ttl-area {
      background-image: none;
      justify-content: center;
      padding: 0;

      .main-ttl-set {
        align-items: center;
        text-align: center;

        .en::after {
          margin-left: auto;
          margin-right: auto;
        }

        .main-ttl {
          margin-bottom: 0;
        }
      }
    }
  }
}


/* text */

.txt-15 {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.87
}
.txt-14 {
  font-size: 14px;
  line-height: 1.87;
}
@media (width > 1400px) {
  .txt-15 {
    font-size: calc(15 / 1400 * 100vw);
  }
  .txt-14 {
    font-size: calc(14 / 1400 * 100vw);
  }
}


/* --------------------------------------------------
footer
-------------------------------------------------- */

.crumb-area {
  width: 100%;
  max-width: 1298px;
  height: 42px;
  margin: 0 auto;
  border-top: solid 1px var(--color-5);

  @media (width > 1400px) {
    max-width: calc(1298 / 1400 * 100vw);
    height: calc(42 / 1400 * 100vw);
  }

  .crumb {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    max-width: 1100px;
    padding-left: 10px;
    margin: 0 auto;
    font-size: 12px;
    color: var(--color-6);

    @media (width > 1400px) {
      max-width: calc(1100 / 1400 * 100vw);
      padding-left: calc(10 / 1400 * 100vw);
      font-size: calc(12 / 1400 * 100vw);
    }

    li + li::before {
      content: '\003e';
      font-feature-settings: "fwid";
      padding: 0 1em;
      vertical-align: middle;
    }
    a {
      text-decoration: none;

      .home &::before {
        content: '';
        display: inline-block;
        width: 10px;
        height: 10px;
        background: url(../images/ico-home.svg) no-repeat center / contain;
        vertical-align: baseline;
        margin-right: .5em;

        @media (width > 1400px) {
          width: calc(10 / 1400 * 100vw);
          height: calc(10 / 1400 * 100vw);
        }
      }
      @media (hover: hover) {
        opacity: 1;
        transition: opacity .3s ease;

        &:hover {
          opacity: .5
        }
      }
    }
  }
}

.footer-area {
  display: block;
  width: 100vw;
  padding-top: 105px;
  padding-bottom: 32px;
  border-bottom: 14px solid var(--color-4);
  background-color: var(--color-6);
  position: relative;

  .footer-inner {
    display: block;
    width: 100%;
    max-width: 930px;
    margin: 0 auto;

    @media (width > 1400px) {
      max-width: calc(930 / 1400 * 100vw);
    }
  }
  .catch {
    .catch-ttl {
      font-weight: 600;
      font-size: 88px;
      color: #fff;
      text-align: center;
      margin-bottom: 20px;
    }
    .lead {
      font-weight: 700;
      font-size: 18px;
      letter-spacing: .08em;
      text-align: center;
      color: #fff;
    }

    @media (width > 1400px) {
      & .catch-ttl {
        font-size: calc(88 / 1400 * 100vw);
        margin-bottom: calc(20 / 1400 * 100vw);
      }
      & .lead {
        font-size: calc(18 / 1400 * 100vw);
      }
    }
    @media (width < 930px) {
      & .catch-ttl {
        font-size: calc(88 / 930 * 100vw);
        margin-bottom: calc(20 / 930 * 100vw);
      }
      & .lead {
        font-size: calc(18 / 930 * 100vw);
      }
    }

    .related-bttns {
      display: flex;
      justify-content: space-between;
      margin: 60px 0 0;

      li {
        display: block;
        width: 442px;
        height: 184px;
        border-radius: 5px;
        overflow: hidden;
        background-color: #fff;

        a, dl {
          display: block;
          width: 100%;
          height: 100%;
        }
        a {
          padding: 22px 29px;
          text-decoration: none;
          position: relative;

          dt .en {
            font-weight: 600;
            font-size: 16px;
            letter-spacing: .08em;
            display: inline-block;
            margin-bottom: 39px;

            &::after {
              content: '';
              display: inline-block;
              width: 54px;
              height: 1px;
              margin-left: 10px;
              margin-bottom: .25em;
            }
          }
          dt .jp {
            display: inline-block;
            font-weight: 700;
            font-size: 26px;
            letter-spacing: .14em;
            margin-bottom: 27px;
          }
          dd {
            font-weight: 600;
            font-size: 14px;
            letter-spacing: .1em;
          }

          &::after {
            content: '';
            display: inline-block;
            width: 45px;
            height: 45px;
            background-position: center;
            background-repeat: no-repeat;
            background-size: contain;
            position: absolute;
            right: 28px;
            bottom: 22px;
          }

          .req & {
            color: var(--color-6);
            background-color: #fff;

            & dt .en::after {
              background-color: var(--color-6)
            }
            &::after {
              background-image: url(../images/footer-arrw-r-b.svg);
            }
          }
          .faq & {
            color: #fff;
            background-color: var(--color-3);

            & dt .en::after {
              background-color: #fff;
            }
            &::after {
              background-image: url(../images/footer-arrw-r-w.svg);
            }
          }

          @media (hover: hover) {
            opacity: 1;
            transition: opacity .3s ease;

            &::after {
              translate: 0 0;
              transition: translate .3s ease;
            }
            &:hover {
              opacity: .6;
            }
            &:hover::after {
              translate: 15% 0;
            }
          }
        }
      }
      @media (width > 1400px) {
        margin: calc(60 / 1400 * 100vw) 0 0;

        & li {
          width: calc(442 / 1400 * 100vw);
          height: calc(184 / 1400 * 100vw);
          border-radius: calc(5 / 1400 * 100vw);

          a {
            padding: calc(22 / 1400 * 100vw) calc(29 / 1400 * 100vw);

            dt .en {
              font-size: calc(16 / 1400 * 100vw);
              margin-bottom: calc(39 / 1400 * 100vw);

              &::after {
                width: calc(54 / 1400 * 100vw);
                height: calc(1 / 1400 * 100vw);
                margin-left: calc(10 / 1400 * 100vw);
              }
            }
            dt .jp {
              font-size: calc(26 / 1400 * 100vw);
              margin-bottom: calc(27 / 1400 * 100vw);
            }
            dd {
              font-size: calc(14 / 1400 * 100vw);
            }
            &::after {
              width: calc(45 / 1400 * 100vw);
              height: calc(45 / 1400 * 100vw);
              right: calc(28 / 1400 * 100vw);
              bottom: calc(22 / 1400 * 100vw);
            }
          }
        }
      }
      @media (width < 930px) {
        margin: calc(60 / 930 * 100vw) 0 0;

        & li {
          width: calc(442 / 930 * 100vw);
          height: calc(184 / 930 * 100vw);
          border-radius: calc(5 / 930 * 100vw);

          a {
            padding: calc(22 / 930 * 100vw) calc(29/ 930 * 100vw);

            dt .en {
              font-size: calc(16 / 930 * 100vw);
              margin-bottom: calc(39 / 930 * 100vw);

              &::after {
                width: calc(54 / 930 * 100vw);
                height: calc(1 / 930 * 100vw);
                margin-left: calc(10 / 930 * 100vw);
              }
            }
            dt .jp {
              font-size: calc(26 / 930 * 100vw);
              margin-bottom: calc(27 / 930 * 100vw);
            }
            dd {
              font-size: calc(14 / 930 * 100vw);
            }
            &::after {
              width: calc(45 / 930 * 100vw);
              height: calc(45 / 930 * 100vw);
              right: calc(28 / 930 * 100vw);
              bottom: calc(22 / 930 * 100vw);
            }
          }
        }
      }
    }
  }
  .back2top {
    display: block;
    width: 60px;
    height: 60px;
    position: absolute;
    right: 53px;
    bottom: 34px;

    a, img {
      display: block;
      width: 100%;
      height: 100%;
    }

    @media (width > 1400px) {
      width: calc(60 / 1400 * 100vw);
      height: calc(60 / 1400 * 100vw);
      right: calc(53 / 1400 * 100vw);
      bottom: calc(34 / 1400 * 100vw);
    }
    @media (width < 1036px) {
      right: auto;
      left: calc(50% + 405px)
    }
    @media (width < 930px) {
      left: calc(50% + calc(405 / 930 * 100vw));
      width: calc(60 / 930 * 100vw);
      height: calc(60 / 930 * 100vw);
      bottom: calc(34 / 930 * 100vw);
    }
    @media (hover: hover) {
      a {
        opacity: 1;
        transition: opacity .3s ease;
      }
      a:hover {
        opacity: .5;
      }
    }
  }
}

.footer-nav {
  a {
    text-decoration: none;
   }

  .corner-ttl {
    display: inline-block;
    width: 168px;
    border-bottom: 1px solid #fff;
    font-weight: 600;
    font-size: 20px;
    line-height: 1;
    letter-spacing: .02em;
    color: rgba(255, 255, 255, 1);
    padding-bottom: 14px;

    @media (width > 1400px) {
      width: calc(168 / 1400 * 100vw);
      font-size: calc(20 / 1400 * 100vw);
      padding-bottom: calc(14 / 1400 * 100vw);
    }
    @media (width < 930px) {
      width: calc(168 / 930 * 100vw);
      font-size: calc(20 / 930 * 100vw);
      padding-bottom: calc(14 / 930 * 100vw);
    }

    a& {
      display: inline-flex;
      justify-content: space-between;
      align-items: center;

      &::after {
        content: '';
        display: inline-block;
        width: 14px;
        height: 10px;
        background: url(../images/arrw-r.svg) no-repeat center / contain;

        @media (width > 1400px) {
          width: calc(14 / 1400 * 100vw);
          height: calc(10 / 1400 * 100vw);
        }
        @media (width < 930px) {
          width: calc(14 / 930 * 100vw);
          height: calc(10 / 930 * 100vw);
        }
      }

      @media (hover: hover) {
        transition: color .3s ease;

        &:hover {
          color: rgba(255, 255, 255, .5);
        }
        &::after {
          translate: 0 0;
          transition: translate .3s ease;
        }
        &:hover::after {
          translate: 50% 0
        }
      }
    }
  }
}


.footer-menu-set {
  display: grid;
  grid-template-columns: repeat(4, 168px);
  grid-template-rows: repeat(2, 1fr);
  column-gap: 86px;
  width: 100%;
  padding: 60px 0 65px;

  @media (width > 1400px) {
    grid-template-columns: repeat(4, calc(168 / 1400 * 100vw));
    column-gap: calc(86 / 1400 * 100vw);
    padding: calc(60 / 1400 * 100vw) 0 calc(65 / 1400 * 100vw)
  }
  @media (width < 930px) {

    grid-template-columns: repeat(4, calc(168 / 930 * 100vw));
    column-gap: calc(86 / 930 * 100vw);
    padding: calc(60 / 930 * 100vw) 0 calc(65 / 930 * 100vw)
  }

  .first-col {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    grid-row: 1 / 3;

    & + .footer-menu {
      grid-row: 1 / 3;
    }
  }
  .bttn-area {
    display: block;
    grid-column: 3 / 5;
    grid-row: 2 / 3;
    width: 100%;
    height: 88px;
    border: 1px solid #fff;
    border-radius: 5px;
    align-self: center;

    .now-recruiting {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: 100%;
      font-weight: 600;
      font-size: 15px;
      letter-spacing: .03em;
      line-height: 1;
      color: #fff;

      span {
        padding: 0 44px;
        position: relative;

        &::after {
          content: '';
          display: inline-block;
          width: 18px;
          height: 18px;
          background: url(../images/menu-ico_popup.svg) no-repeat center / contain;
          position: absolute;
          right: 0;
          top: 50%;
          translate: 0 -50%;
        }
      }
    }

    @media (width > 1400px) {
      height: calc(88 / 1400 * 100vw);

      .now-recruiting {
        font-size: calc(15 / 1400 * 100vw);

        span {
          padding: 0 calc(44 / 1400 * 100vw);

          &::after {
            width: calc(18 / 1400 * 100vw);
            height: calc(18 / 1400 * 100vw);
          }
        }
      }
    }
    @media (width < 930px) {
      height: calc(88 / 930 * 100vw);

      .now-recruiting {
        font-size: calc(15 / 930 * 100vw);

        span {
          padding: 0 calc(44 / 930 * 100vw);

          &::after {
            width: calc(18 / 930 * 100vw);
            height: calc(18 / 930 * 100vw);
          }
        }
      }
    }
    @media (hover: hover) {
      opacity: 1;
      transition: opacity .3s ease;

      &:hover {
        opacity: .5
      }
    }
  }
}
.footer-menu .sub-list {
  padding: 25px 0 51px;

  .sub-menu {
    display: block;
    height: 28px;
    overflow: visible;

    a {
      font-weight: 700;
      font-size: 13px;
      line-height: 1.3;
      white-space: nowrap;
      color: #fff;
      opacity: .7;
      transition: opacity .3s ease;

      @media (hover: hover) {
        &:hover {
          opacity: 1;
        }
      }
    }
  }

  @media (width > 1400px) {
    padding: calc(25 / 1400 * 100vw) 0 calc(51 / 1400 * 100vw);

    .sub-menu {
      height: calc(28 / 1400 * 100vw);

      a {
        font-size: calc(13 / 1400 * 100vw);
      }
    }
  }
  @media (width < 930px) {
    padding: calc(25 / 930 * 100vw) 0 calc(51 / 930 * 100vw);

    .sub-menu {
      height: calc(28 / 930 * 100vw);

      a {
        font-size: calc(13 / 930 * 100vw);
      }
    }
  }
}

.copyright-area {
  font-size: 12px;
  letter-spacing: .02em;
  color: rgba(255, 255, 255, .7);
  width: 100%;;
  max-width: 1200px;
  padding: 0 1em;
  margin: 0 auto;

  @media (width > 1400px) {
    font-size: calc(12 / 1400 * 100vw);
    max-width: calc(1200 / 1400 * 100vw);
  }
  @media (width < 1042px) {
    font-size: calc(12 / 1042 * 100vw);
  }

  .second-menu {
    display: flex;
    margin-left: -1em;

    li {
      display: inline-block;
      padding: 0 1em;
      font-weight: 600;

      & + & {
        border-left: 1px solid currentColor
      }
      a {
        text-decoration: none;

        @media (hover: hover) {
          opacity: 1;
          transition: opacity .3s ease;
      
          &:hover {
            opacity: .5;
          }
        }
      }
    }
  }
  .copyright {
    font-weight: 400;
    margin-top: 1.5em;
  }
}

