@charset "utf-8";
body {
  overflow-x: clip;
  position: relative;
  background-color: #052275;
  background-image:
    linear-gradient(rgba(255, 255, 255, .2) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .2) 1px, transparent 1px);
  background-size: 6.25vw  6.25vw;
  @media (max-width: 768px) {
    background-size: 80px 80px;
  }
}

/* ↓↓↓ frame-wrap ↓↓↓ */
.frame-wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  pointer-events: none;
  z-index: 10;

  .left-frame {
    position: absolute;
    top: min(80px, 6.25vw);
    left: 0;
    width: min(80px, 6.25vw);
    height: calc(100dvh - min(160px, 12.5vw));
    background-color: #fff;
    @media (max-width: 768px) {
      top: 64px;
      width: 10px;
      height: calc(100dvh - 144px);
    }
    &::before, &::after {
      content: '';
      position: absolute;
      top: 0;
      right: max(-19px, -1.484375vw);
      width: min(20px, 1.5625vw);
      height: min(20px, 1.5625vw);
      background: url(../img/common/corner-deco.svg) no-repeat;
      background-size: cover;
      scale: -1 1;
      @media (max-width: 768px) {
        right: -9px;
        width: 10px;
        height: 10px;
        background: url(../img/common/corner-deco_sp.svg) no-repeat;
        background-size: cover;
      }
    }
    &::after {
      top: unset;
      scale: -1 -1;
      bottom: 0;
    }
  }
  .right-frame {
    position: absolute;
    top: min(80px, 6.25vw);
    right: 0;
    width: min(80px, 6.25vw);
    height: calc(100dvh - min(160px, 12.5vw));
    background-color: #fff;
    @media (max-width: 768px) {
      top: 64px;
      width: 10px;
      height: calc(100dvh - 144px);
    }
    &::before, &::after {
      content: '';
      position: absolute;
      top: 0;
      left: max(-19px, -1.484375vw);
      width: min(20px, 1.5625vw);
      height: min(20px, 1.5625vw);
      background: url(../img/common/corner-deco.svg) no-repeat;
      background-size: cover;
      scale: 1 1;
      @media (max-width: 768px) {
        left: -9px;
        width: 10px;
        height: 10px;
        background: url(../img/common/corner-deco_sp.svg) no-repeat;
        background-size: cover;
      }
    }
    &::after {
      top: unset;
      scale: 1 -1;
      bottom: 0;
    }
  }
  .bottom-frame {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: min(80px, 6.25vw);
    background-color: #fff;
    @media (max-width: 768px) {
      bottom: 0px;
      height: 80px;
    }
  }
  .copyright {
    position: absolute;
    translate: 0 max(-90px, -7.03125vw);
    top: 50%;
    right: min(28px, 2.1875vw);
    font-size: min(1.4rem, 1.09375vw);
    font-family: var(--text-poppins);
    font-weight: 600;
    color: #052275;
    letter-spacing: 0.04em;
    writing-mode: sideways-rl;
  }
  .catchcopy01 {
    position: absolute;
    bottom: min(20px, 1.5625vw);
    left: min(17px, 1.328125vw);
    width: min(70px, 5.46875vw);
    @media (max-width: 768px) {
      bottom: 0;
      left: 10px;
      width: 252px;
    }
    picture {
      display: block;
      width: 100%;
    }
  }
  .catchcopy02 {
    position: absolute;
    bottom: min(10px, 0.78125vw);
    left: min(100px, 7.8125vw);
    width: min(349px, 27.265625vw);
    @media (max-width: 768px) {
      display: none;
    }
  }
}
/* ↑↑↑ frame-wrap ↑↑↑ */

/* ↓↓↓ fv ↓↓↓ */
.header-over {
  position: absolute;
  z-index: 16;
  top: 4.6875vw;
  left: 29.6875vw;
  width: 3.125vw;
  opacity: 0;
}

.over-frame {
  position: absolute;
  width: 100%;
  height: min(max(800px, 62.5vw), 100vh);
  height: min(max(800px, 62.5vw), 100svh);
  min-height: 600px;
  z-index: 11;
  pointer-events: none;
  overflow: hidden;
  @media (max-width: 768px) {
    z-index: 9;
  }
  div[class*="deco"] {
    position: absolute;
    opacity: 0;
  }
  .deco01 {
    top: 20%;
    right: 4.375vw;
    width: 3.75vw;
    @media (max-width: 768px) {
      top: 23.988005997001498%;
      right: 2.1333333333333333%;
      width: 8.799999999999999vw;
    }
  }
  .deco02 {
    top: 50%;
    right: 4.375%;
    width: 21.09375vw;
    @media (max-width: 768px) {
      top: 49.92503748125937%;
      right: -8%;
      width: 26.4vw;
    }
  }
  .deco03 {
    bottom: 8.88888888888889%;
    right: 36.25%;
    width: 2.34375vw;
    @media (max-width: 768px) {
      top: 67.01649175412294%;
      right: 34.66666666666667%;
      width: 5.333333333333334vw;
    }
  }
  .deco04 {
    bottom: 3.4722222222222223%;
    right: 12.96875%;
    width: 10.9375vw;
    @media (max-width: 768px) {
      top: 73.01349325337331%;
      right: 4.533333333333333%;
      width: 32.8vw;
    }
  }
}

.fv {
  position: relative;
  width: 100%;
  height: min(max(800px, 62.5vw), 100vh);
  height: min(max(800px, 62.5vw), 100svh);
  min-height: 600px;
  z-index: 5;
  overflow-x: clip;
  .fv-image {
    position: absolute;
    translate: 0 -50%;
    top: 50%;
    left: 18.75%;
    width: 62.57812499999999vw;
    @media (max-width: 768px) {
      translate: 0 0;
      top: 37.78110944527736%;
      left: 6.933333333333333%;
      width: 86.66666666666667vw;
    }
  }
  .wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  div[class*="deco"] {
    position: absolute;
    opacity: 0;
  }
  .deco01 {
    top: 20.27777777777778%;
    left: 18.75%;
    width: 3.75vw;
    @media (max-width: 768px) {
      display: none;
    }
  }
  .deco02 {
    top: 19.86111111111111%;
    left: 24.84375%;
    width: 2.5vw;
    @media (max-width: 768px) {
      top: 14.992503748125937%;
      left: 18.4%;
      width: 6.4vw;
    }
  }
  .deco03 {
    top: 18.333333333333332%;
    right: 33.515625%;
    width: 7.8125vw;
    @media (max-width: 768px) {
      top: 31.484257871064468%;
      right: 28.26666666666667%;
      width: 20.8vw;
    }
  }
  .deco04 {
    top: 18.47222222222222%;
    right: 23.828125%;
    width: 7.421875vw;
    @media (max-width: 768px) {
      top: 20.839580209895054%;
      right: 42.66666666666667%;
      width: 21.066666666666666vw;
    }
  }
  .deco05 {
    top: 18.88888888888889%;
    right: 19.140625%;
    width: 3.75vw;
    @media (max-width: 768px) {
      top: 21.289355322338828%;
      right: 29.333333333333332%;
      width: 9.866666666666667vw;
    }
  }
  .deco06 {
    top: 0;
    right: 0;
    width: 18.75vw;
    @media (max-width: 768px) {
      top: 64px;
      right: 0;
      width: 15.742128935532234vw;
    }
  }
  .deco07 {
    top: 31.666666666666664%;
    left: 12.5%;
    width: 5.390625vw;
    @media (max-width: 768px) {
      top: 29.685157421289354%;
      left: 21.333333333333336%;
      width: 15.466666666666667vw;
    }
  }
  .deco08 {
    top: 41.388888888888886%;
    left: 16.875%;
    width: 3.75vw;
    @media (max-width: 768px) {
      top: 35.98200899550225%;
      left: 16%;
      width: 8.533333333333333vw;
    }
  }
  .deco09 {
    top: 33.33333333333333%;
    right: 17.734375%;
    width: 0.703125vw;
    @media (max-width: 768px) {
      top: 29.235382308845576%;
      right: 19.2%;
      width: 2.1333333333333333vw;
    }
  }
  .deco10 {
    top: 42.36111111111111%;
    right: 11.25%;
    width: 2.5vw;
    @media (max-width: 768px) {
      top: 34.63268365817092%;
      right: 7.733333333333333%;
      width: 6.4vw;
    }
  }
  .deco11 {
    top: 53.61111111111111%;
    left: 12.578125%;
    width: 0.9375vw;
    @media (max-width: 768px) {
      top: unset;
      bottom: 28.035982008995504%;
      left: 11.2%;
      width: 2.666666666666667vw;
    }
  }
  .deco12 {
    bottom: 31.11111111111111%;
    left: 11.25%;
    width: 2.5vw;
    @media (max-width: 768px) {
      bottom: 26.38680659670165%;
      left: 18.4%;
      width: 6.4vw;
    }
  }
  .deco13 {
    bottom: 31.11111111111111%;
    left: 17.5%;
    width: 2.5vw;
    @media (max-width: 768px) {
      bottom: 26.38680659670165%;
      left: 29.86666666666667%;
      width: 6.4vw;
    }
  }
  .deco14 {
    bottom: 13.61111111111111%;
    left: 28.4375%;
    width: 17.1875vw;
    @media (max-width: 768px) {
      bottom: unset;
      top: 59.220389805097454%;
      left: 17.599999999999998%;
      width: 30.4vw;
    }
  }
  .deco15 {
    bottom: 15.833333333333332%;
    left: 52.578125%;
    width: 3.75vw;
    @media (max-width: 768px) {
      bottom: 15.742128935532234%;
      left: 43.46666666666666%;
      width: 9.866666666666667vw;
    }
  }
  .deco16 {
    bottom: 21.944444444444443%;
    left: 47.5%;
    width: 5.078125vw;
    @media (max-width: 768px) {
      bottom: 33.88305847076462%;
      left: unset;
      right: 13.333333333333334%;
      width: 14.399999999999999vw;
    }
  }
  .deco17 {
    bottom: -6.805555555555555%;
    left: -3.75%;
    width: 22.5vw;
    @media (max-width: 768px) {
      display: none;
    }
  }
  .deco18 {
    top: 22.22222222222222%;
    left: 1.875%;
    width: 7.8125vw;
    @media (max-width: 768px) {
      top: 23.388305847076463%;
      left: -3.4666666666666663%;
      width: 18.133333333333333vw;
    }
  }  
}
/* ↑↑↑ fv ↑↑↑ */

/* ↓↓↓ intro-box ↓↓↓ */
.intro-box {
  position: relative;
  margin-top: min(74px, 5.78125vw);
  overflow-x: clip;
  @media (max-width: 768px) {
    margin-top: 33px;
  }
  .inner {
    max-width: 1280px;
    margin: 0 auto;
    container-type: inline-size;
    @media (max-width: 768px) {
      max-width:100%;
    }
  }
  .content {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding-inline: 12.5cqw;
    z-index: 1;
    @media (max-width: 768px) {
      padding-inline: 8.533333333333333vw;
      @media (max-width: 768px) {
        padding-inline: 32px;
      }
    }

    .text_wrap {
      @media (max-width: 768px) {
        max-width: 450px;
        margin: 0 auto;
      }
      .text {
        position: relative;
        z-index: 1;
        font-size: 1.5625cqw;
        font-weight: 700;
        color: #fff;
        letter-spacing: 0.1em;
        line-height: 2.4;
        @media (max-width: 768px) {
          font-size: 2.0rem;
        }
        + .text {
          margin-top: 3.90625cqw;
          @media (max-width: 768px) {
            margin-top: 50px;
          }
        }
      }
    }

    .image {
      position: absolute;
      top: 16.40625cqw;
      left: 0;
      width: 100%;
      @media (max-width: 768px) {
        top: unset;
        translate: -50% 0;
        left: 50%;
        bottom: 42px;
        width: 774px;
      }
    }
  }
  div[class*="deco"] {
    position: absolute;
  }
  .wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .deco01 {
    top: -10.9375cqw; 
    left: 24.84375cqw;
    width: 3.75cqw;
    @media (max-width: 768px) {
      display: none;
    }
  }
  .deco02 {
    top: 0;
    right: 23.90625cqw;
    width: 2.5cqw;
    @media (max-width: 768px) {
      top: 51px;
      right: 31px;
      width: 24px;
    }
  }
  .deco03 {
    top: 6.328125cqw;
    right: 23.90625cqw;
    width: 2.5cqw;
    @media (max-width: 768px) {
      top: 100px;
      right: 31px;
      width: 6.4vw;
    }
  }
  .deco04 {
    top: -5.78125cqw; 
    right: 0;
    width: 15.625cqw;
    @media (max-width: 768px) {
      top: -66px;
      right: -62px;
      width: 117px;
    }
  }
  .deco05 {
    top: 11.484375cqw;
    left: 4.6875cqw;
    width: 3.125cqw;
    @media (max-width: 768px) {
      top: 431px;
      left: 0;
      width: 33px;
    }
  }
  .deco06 {
    top: 18.59375cqw;
    right: 24.21875cqw;
    width: 7.8125cqw;
    @media (max-width: 768px) {
      top: 386px;
      right: 0;
      width: 68px;
    }
  }
  .deco07 {
    top: 17.5cqw;
    right: 10.625cqw;
    width: 3.75vw;
    @media (max-width: 768px) {
      display: none;
    }
  }
  .deco08 {
    top: 29.765625cqw;
    right: 37.421875cqw;
    width: 3.75cqw;
    @media (max-width: 768px) {
      display: none;
    }
  }
  .deco09 {
    bottom: -10.859375cqw;
    left: 0;
    width: 15.625cqw;
    @media (max-width: 768px) {
      display: none;
    }
  }
  .deco10 {
    bottom: -3.2031249999999996cqw;
    left: 29.531249999999996cqw;
    width: 3.75cqw;
    @media (max-width: 768px) {
      bottom: -85px;
      left: 62px;
      width: 33px;
    }
  }
  .deco11 {
    bottom: -9.0625cqw;
    left: 48.75cqw;
    width: 2.5cqw;
    @media (max-width: 768px) {
      bottom: 315px;
      left: unset;
      right: 42px;
      width: 24px;
    }
  }
  .deco12 {
    bottom: -5.078125cqw;
    right: 30.312499999999996cqw;
    width: 1.875cqw;
    @media (max-width: 768px) {
      bottom: -72px;
      right: 124px;
      width: 19px;
    }
  }
  .deco13{
    bottom: -8.046875cqw;
    right: 13.28125cqw;
    width: 10.9375cqw;
    @media (max-width: 768px) {
      bottom: -151px;
      right: 20px;
      width: 70px;
    }
  }
}
/* ↑↑↑ intro-box ↑↑↑ */

/* ↓↓↓ ttl-wrap ↓↓↓ */
.ttl-wrap {
  .line {
    display: block;
    width: 6.875cqw;
    aspect-ratio: 88 / 4;
    background-image: var(--grad01);
    @media (max-width: 768px) {
      width: 76px;
      aspect-ratio: 76 / 3;
    }
  }
  .en {
    font-size: 1.09375cqw;
    font-family: var(--text-poppins);
    color: #fff;
    margin-top: 1.25vw;
    letter-spacing: 0.24em;
    @media (max-width: 768px) {
      font-size: 10px;
      margin-top: 8px;
    }
  }
  .ttl {
    font-size: 2.5cqw;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #fff;
    margin-top: 1.875vw;
    @media (max-width: 768px) {
      font-size: 2.4rem;
      margin-top: 16px;
    }
  }
}
/* ↑↑↑ ttl-wrap ↑↑↑ */
/* ↓↓↓ news-box ↓↓↓ */
.news-box {
  margin-top: min(160px, 12.5vw);
  @media (max-width: 768px) {
    margin-top: 135px;
  }
  .inner {
    max-width: 1280px;
    margin: 0 auto;
    container-type: inline-size;
    @media (max-width: 768px) {
      max-width: 100%;
    }
  }
  .content {
    display: flex;
    gap: 6.25cqw;
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding-inline: 12.5cqw;
    @media (max-width: 768px) {
      flex-direction: column;
      gap: 40px;
      padding-inline: 32px;
      max-width: 512px;
    }
    .ttl-wrap {
      @media (max-width: 768px) {
      }
      .btn {
        display: block;
        position: relative;
        width: 12.5cqw;
        aspect-ratio: 160 / 64;
        font-size: 1.171875cqw;
        font-weight: 700;
        letter-spacing: 0.04em;
        color: #052275;
        border: 0.078125cqw solid #fff;
        background-color: #fff;
        margin-top: 3.125cqw;
        padding: 1.5625cqw 2.109375cqw 1.5625cqw 3.046875cqw;
        border-radius: 100px;
        transition: background-color 300ms ease, color 300ms ease;
        @media (max-width: 768px) {
          position: absolute;
          translate: -50% 0;
          left: 50%;
          bottom: 0;
          width: 200px;
          aspect-ratio: 200 / 64;
          font-size: 1.5rem;
          border: unset;
          margin-top: 0;
          padding: 21px 48px 21px 60px;
        }

        &::before {
          content: '';
          position: absolute;
          translate: 0 -50%;
          top: 50%;
          left: 1.25cqw;
          width: 0.9375cqw;
          aspect-ratio: 1 / 1;
          border-radius: 50%;
          background-image: var(--grad02);
          @media (max-width: 768px) {
            left: 16px;
            width: 12px;
          }
        }

        &::after {
          content: '';
          position: absolute;
          translate: 0 -50%;
          top: 50%;
          left: 1.25cqw;
          width: 0.9375cqw;
          aspect-ratio: 1 / 1;
          border-radius: 50%;
          background-color: #fff;
          opacity: 0;
          transition: opacity 300ms ease;
          @media (max-width: 768px) {
            left: 12px;
            width: 12px;
          }
        }

        @media (min-width: 769px) {
          &:hover {
            background-color: #052275;
            color: #fff;

            &::after {
              opacity: 1;
            }
          }
        }
      }
    }
    .news-block {
      width: 56.25cqw;
      @media (max-width: 768px) {
        width: 100%;
        max-width: 450px;
        padding-bottom: 104px;
        margin: 0 auto;
      }
      .news-list {
        width: 100%;
        padding-block: 2.5cqw;
        display: block;
        position: relative;

        @media (max-width: 768px) {
          padding-block: 24px;
        }

        &:first-of-type {
          padding-top: 0;
        }

        &::before {
          content: '';
          position: absolute;
          bottom: 0;
          left: 0;
          width: 100%;
          height: 1px;
          background-color: #fff;
          transform-origin: right center;
          transition: scale 300ms 0s ease;
        }

        &::after {
          content: '';
          position: absolute;
          bottom: 0;
          left: 0;
          width: 100%;
          height: 1px;
          background-color: #fff;
          opacity: 0.2;
          scale: 0 1;
          transform-origin: left center;
          transition: scale 300ms 0s ease;
        }

        .day {
          font-family: var(--text-poppins);
          font-size: 1.09375cqw;
          font-weight: 600;
          letter-spacing: 0.04em;
          line-height: 1;
          color: #fff;
          display: block;

          @media (max-width: 768px) {
            font-size: 1.4rem;
          }
        }

        .text {
          margin-top: 1.25cqw;
          padding-right: 5.625cqw;
          font-size: 1.171875cqw;
          font-weight: 500;
          line-height: 1.866666666666667;
          color: #fff;
          text-align: justify;
          word-break: break-all;
          position: relative;

          @media (max-width: 768px) {
            margin-top: 16px;
            padding-right: 55px;
            font-size: 1.5rem;
          }
        }

        .text .icon {
          position: absolute;
          bottom: 0;
          right: 0;
          width: 3.125cqw;
          aspect-ratio: 1/1;
          border-radius: 50%;
          box-sizing: border-box;
          display: block;
          overflow: hidden;

          @media (max-width: 768px) {
            width: 40px;
            border-radius: 50%;
          }

          &::after {
            content: '';
            position: absolute;
            width: 100%;
            height: 100%;
            border-radius: 50%;
            box-sizing: border-box;
            background-color: var(--color-navy);
            border: 1px solid #fff;
            transition: opacity 300ms 0s ease;
            @media (max-width: 768px) {
              opacity: 0;
            }
          }

          &::before {
            content: '';
            position: absolute;
            width: 100%;
            height: 100%;
            border-radius: 50%;
            background-image: var(--grad02);
            transition: opacity 300ms 0s ease;
          }

          img {
            display: block;
            position: absolute;
            top: 29%;
            left: 50%;
            translate: -50% 0%;
            width: 1.875cqw;
            aspect-ratio: 24/17;
            z-index: 2;

            @media (max-width: 768px) {
              top: 30%;
              width: 24px;
            }

            img {
              display: block;
            }
          }
        }

        @media (min-width: 769px) {
          &:hover {
            &::before {
              scale: 0 1;
            }
            &::after {
              scale: 1 1;
            }

            .text .icon {
              &::after {
                opacity: 0;
              }
            }
          }
        }
      }
    }
  }
}
/* ↑↑↑ news-box ↑↑↑ */

/* ↓↓↓ internship-box ↓↓↓ */
.internship-box {
  display: block;
  width: 100%;
  aspect-ratio: 1280 / 480;
  max-height: 480px;
  margin-top: min(150px, 11.71875vw);
  background-image: var(--grad01);
  border: 1px solid #fff;
  overflow: hidden;
  box-sizing: border-box;
  @media (max-width: 768px) {
    aspect-ratio: 375 / 520;
    max-height: 520px;
    height: fit-content;
    margin-top: 80px;
  }
  .inner {
    max-width: 1280px;
    margin: 0 auto;
    container-type: inline-size;
    @media (max-width: 768px) {
      max-width: 100%;
    }
  }

  .content {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    padding-inline: 12.5cqw;
    @media (max-width: 768px) {
      padding-inline: 32px;
    }
    .ttl-wrap {
      position: relative;
      padding-top: 5cqw;
      @media (max-width: 768px) {
        padding-top: 60px;
        width: fit-content;
        margin: 0 auto;
      }
      .line {
        background-image: unset;
        background-color: #fff;
      }

      .btn {
        display: block;
        position: relative;
        width: 22.5cqw;
        aspect-ratio: 288 / 64;
        font-size: 1.171875cqw;
        font-weight: 700;
        letter-spacing: 0.04em;
        color: #052275;
        border: 0.078125cqw solid #fff;
        background-color: #fff;
        margin-top: 3.125cqw;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 100px;
        transition: background-color 300ms ease, color 300ms ease;
        @media (max-width: 768px) {
          width: 310px;
          aspect-ratio: 310 / 64;
          font-size: 15px;
          border: none;
          margin-top: 40px;
        }
        &::before {
          content: '';
          position: absolute;
          translate: 0 -50%;
          top: 50%;
          left: 1.25cqw;
          width: 0.9375cqw;
          aspect-ratio: 1 / 1;
          border-radius: 50%;
          background-image: var(--grad02);
          @media (max-width: 768px) {
            left: 24px;
            width: 12px;
          }
        }

        &::after {
          content: '';
          position: absolute;
          translate: 0 -50%;
          top: 50%;
          left: 1.25cqw;
          width: 0.9375cqw;
          aspect-ratio: 1 / 1;
          border-radius: 50%;
          background-color: #fff;
          opacity: 0;
          transition: opacity 300ms ease;
          @media (max-width: 768px) {
            left: 24px;
            width: 12px;
          }
        }

        @media (min-width: 769px) {
          &:hover {
            background-color: #052275;
            color: #fff;

            &::after {
              opacity: 1;
            }
          }
        }
      }
    }
    .deco {
      position: absolute;
      translate: -50% 0;
      top: -9.375cqw;
      left: 50%;
      width: calc(100% + 2px);
      @media (max-width: 768px) {
        top: 0;
        translate: -190px 0;
        width: 412px;
      }
    }
  }
}
/* ↑↑↑ internship-box ↑↑↑ */

/* ↓↓↓ recruit-box ↓↓↓ */
.recruit-box {
  margin-block: min(100px, 7.8125vw);
  @media (max-width: 768px) {
    margin-block: 80px;
  }
  .inner {
    max-width: 1280px;
    margin: 0 auto;
    container-type: inline-size;
    @media (max-width: 768px) {
      max-width: 100%;
    }
  }
  .content {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding-inline: 12.5cqw;
    @media (max-width: 768px) {
      padding-inline: 32px;
    }
    .ttl-wrap {
      .line {
        margin: 0 auto;
      }
      .en, .ttl {
        text-align: center;
      }
    }

    .btn-wrap {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 1.875cqw;
      width: 100%;
      margin-top: 6.25cqw;
      @media (max-width: 768px) {
        justify-content: unset;
        gap: 15px;
        max-width: 450px;
        margin: 40px auto 0;
      }
      .btn {
        display: block;
        position: relative;
        width: 17.34375cqw;
        aspect-ratio: 222 / 120;
        @media (max-width: 768px) {
          width: calc((100% - 15px) / 2);
          height: 106px;
          aspect-ratio: 147 / 106;
        }
        z-index: 0;
        &::before {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          width: calc(100% - 0.15625cqw);
          height: calc(100% - 0.15625cqw);
          border: 0.078125vw solid #fff;
          border-radius: 20px;
          background-image: var(--grad02);
          z-index: -1;
          @media (max-width: 768px) {
            width: calc(100% - 2px);
            height: calc(100% - 2px);
            border: 1px solid #fff;
          }
        }
        &::after {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          width: calc(100% - 0.15625cqw);
          height: calc(100% - 0.15625cqw);
          border: 0.078125vw solid #fff;
          border-radius: 20px;
          background-color: #052275;
          z-index: -1;
          transition: opacity 300ms ease;
          @media (max-width: 768px) {
            width: calc(100% - 2px);
            height: calc(100% - 2px);
            border: 1px solid #fff;
          }
        }
        .head {
          padding: 1.171875cqw 0 0 1.171875cqw;
          font-size: 1.40625cqw;
          font-weight: 700;
          color: #fff;
          letter-spacing: 0.04em;
          @media (max-width: 768px) {
            padding: 16px 0 0 16px;
            font-size: 1.8rem;
          }
        }
        .arrow-wrap {
          display: block;
          position: absolute;
          bottom: 1.25cqw;
          right: 1.25cqw;
          width: 1.875cqw;
          aspect-ratio: 1 / 1;
          @media (max-width: 768px) {
            bottom: 16px;
            right: 16px;
            width: 24px;
          }
          &::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: calc(100% - 0.15625cqw);
            height: calc(100% - 0.15625cqw);
            border-radius: 50%;
            border: 0.078125cqw solid #fff;
            background-color: transparent;
            opacity: 0;
            transition: opacity 300ms ease;
            @media (max-width: 768px) {
              width: calc(100% - 2px);
              height: calc(100% - 2px);
              border: 1px solid #fff;
            }
          }
          &::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border-radius: 50%;
            background-image: var(--grad02);
            transition: opacity 300ms ease;
          }
          .arrow {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: url(../img/top/arrow.svg) no-repeat;
            background-size: cover;
            z-index: 1;
          }
        }
        @media (min-width: 769px) {
          &:hover {
            &::after {
              opacity: 0;
            }
            .arrow-wrap {
              &::before {
                opacity: 1;
              }
              &::after {
                opacity: 0;
              }
            }
          }
        }
      }
    }
  }
}
/* ↑↑↑ recruit-box ↑↑↑ */

/* ↓↓↓ common ↓↓↓ */
.js-typing span {
  opacity: 0;
  display: inline-block;
}
/* ↑↑↑ common ↑↑↑ */

@media (min-width: 1281px) {}

@media (max-width: 1280px) {}

@media (max-width: 768px) {}

@media (max-width: 480px) {}

@media (max-width: 375px) {}