@charset "utf-8";

@media (max-width: 768px) {
  .body-bg1.color03 {
    background-image: url(/recruit/assets/img/common/body-bg1-color03_sp.png);
    height: 101%;
  }
}

@media (max-width: 890px) {
  .menu_common {
    display: none;
  }
}

header .h_logo-group {
  .h_logo_link {
    .h_name {
      @media (max-width: 890px) {
        color: #15479E;
      }
    }
  }
}

/* ↓↓↓ main_wrap ↓↓↓ */
.main_wrap {
  display: flex;
  justify-content: center;
  width: calc(100vw - 230px);
  padding-block: 96px 120px;
  margin-left: auto;
  padding-right: 40px;
  padding-left: 20px;

  @media (max-width: 1024px) {
    padding-right: 30px;
    padding-left: 10px;
  }

  @media (max-width: 890px) {
    width: 100%;
    padding-inline: 16px;
  }

  @media (max-width: 768px) {
    width: 100%;
    padding: 80px 16px 96px
  }

  .container {
    position: relative;
    width: calc(869px + 48px * 2);
    max-width: 100%;
    background-color: #FFECED;
    border-radius: 12px;
    box-shadow: var(--shadow02);
    transform: translateZ(0px);
    overflow: clip;
    padding: 56px 48px 136px;


    @media (max-width: 1024px) {
      width: 100%;
    }

    @media (max-width: 890px) {
      width: 100%;
      max-width: 730px;
      border-radius: 12px;
      padding: 56px 16px 77px;
      margin: 0 auto;
    }

    @media (max-width: 768px) {
      width: 100%;
      border-radius: 12px;
      padding: 32px 16px 77px;
      margin: 0 auto;
    }

    .en_deco {
      position: absolute;
      width: 100%;
      left: 0;

      @media (max-width: 768px) {
        gap: 8px;
      }

      &.top {
        top: max(-0.75rem, (var(--vw) * -12));

        @media (max-width: 768px) {
          top: -8px;
        }
      }

      &.bottom {
        bottom: max(-0.625rem, (var(--vw) * -10));

        @media (max-width: 768px) {
          bottom: -8px;
        }
      }

      .splide__list {
        display: flex;
        will-change: transform;
        transition-timing-function: linear;
        transform: translateZ(0);
      }

      .en {
        /* width: fit-content; */
        font-size: 80px;
        font-family: var(--lato);
        font-weight: 900;
        line-height: 1;
        letter-spacing: 0;
        color: rgba(255, 255, 255, .56);

        @media (max-width: 768px) {
          font-size: 48px;
        }
      }
    }

    .container_ttl {
      position: relative;
      margin: 0 auto;
      z-index: 1;

      .sub {
        font-size: 14px;
        font-weight: 400;
        letter-spacing: 0.05em;
        text-align: center;

        @media (max-width: 768px) {
          font-size: 14px;
        }

        .num {
          font-family: var(--lato);
          letter-spacing: 0;
          margin-right: min(0.5rem, (var(--vw) * 8));

          @media (max-width: 768px) {
            margin-right: 8px;
          }
        }
      }

      .ttl {
        /* font-size: min(2.5rem, (var(--vw) * 40)); */
        font-size: 40px;
        font-family: var(--shingoB);
        line-height: 1.2857142857142858;
        letter-spacing: 0;
        text-align: center;

        @media (max-width: 768px) {
          font-size: 28px;
          margin-top: 6px;
        }
      }
    }
  }
}
/* ↑↑↑ main_wrap ↑↑↑ */
/* ↓↓↓ anchor_conts ↓↓↓ */
.anchor_conts {
  margin-top: 40px;
  @media (max-width: 890px) {
    margin-top: 40px;
  }
  .link {
    display: flex;
    flex-wrap: wrap;
    background-color: #fff;
    border-radius: 12px;
    padding: min(2rem, (var(--vw) * 32)) min(2.625rem, (var(--vw) * 42)) min(2rem, (var(--vw) * 32)) min(3rem, (var(--vw) * 48));
    border: 4px solid transparent;
    transition: border 300ms ease, background-color 300ms ease;
    box-sizing: border-box;

    @media (max-width: 890px) {
      padding: 24px 16px;
    }

    @media (max-width: 768px) {
      flex-direction: column;
      border-radius: 12px;
      padding: 24px 16px;
    }

    &::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      translate: -50% -50%;
      width: calc(100% + 16px);
      height: calc(100% + 16px);
      border: 4px solid transparent;
      border-radius: 12px;
      transition: border 300ms 0s ease;
      opacity: 0;
    }

    &:focus-visible {
      outline: none;
      background-color: #FFF4F4;
      border: 4px solid #FFD9DC;
      &::before {
        border: 4px solid #FFB2BB;
        opacity: 1;
      }
      .img {
        img {
          scale: 1.1;
        }
      }
    }

    &:active {
      .group {
        color: #5F5F5F;
      }
    }

    + .link {
      margin-top: 24px;
      @media (max-width: 768px) {
        margin-top: 10px;
      }
    }
    .img {
      width: clamp(180px, -7.118rem + 33.083vw, 224px);
      height: fit-content;
      border-radius: 12px;
      overflow: clip;
      box-shadow: var(--shadow02);
      @media (max-width: 890px) {
        width: 224px;
      }
      @media (max-width: 768px) {
        width: 100%;
        border-radius: 12px;
      }
      img {
        transition: scale 300ms ease;
      }
    }
    .group {
      flex: 1;
      margin-left: min(1.875rem, (var(--vw) * 30));
      transition: color 300ms ease;
      @media (max-width: 768px) {
        width: 100%;
        margin-left: 0;
        margin-top: 16px;
      }
      .num {
        width: fit-content;
        font-size: 12px;
        font-family: var(--lato);
        font-weight: 900;
        letter-spacing: 0.01em;
        border-radius: 4px;
        background-color: #FFD9DC;
        padding: 2px 8px;
        @media (max-width: 768px) {
          font-size: 12px;
          border-radius: 4px;
          padding: 2px 8px;
        }
      }
      .text {
        margin-top: 16px;
        font-size: max(min(1.5rem, (var(--vw) * 24)), 20px);
        font-family: var(--shingoB);
        line-height: 1.333333;
        @media (max-width: 768px) {
          margin-top: 16px;
          font-size: 20px;
          line-height: 1.4;
        }
      }
    }
    .icon {
      width: 32px;
      aspect-ratio: 1 / 1;
      display: block;
      margin-top: auto;
      margin-left: max(min(2.5rem, (var(--vw) * 40)), 20px);
      @media (max-width: 768px) {
        width: 32px;
        margin-top: -16px;
        margin-left: auto;
      }
    }
    @media (min-width: 769px) {
      &:hover {
        border: 4px solid #FFD9DC;
        background-color: #FFF4F4;
        .img {
          img {
            scale: 1.1;
          }
        }
      }
    }
    &:not([href]) {
      position: relative;
      pointer-events: none;
      &::after {
        content: '';
        position: absolute;
        top: -4px;
        left: -4px;
        width: calc(100% + 8px);
        height: calc(100% + 8px);
        background-color: rgba(199, 199, 199, 0.3);
        z-index: -1;
        border-radius: 12px;
      }
      .img {
        position: relative;
        /* &::after {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background-color: rgba(199, 199, 199, 0.3);
        } */
      }
      .group {
        flex: 1;
        margin-left: min(1.875rem, (var(--vw) * 30));
        @media (max-width: 768px) {
          width: 100%;
          margin-left: 0;
          margin-top: 16px;
        }
        .num {
          background-color: #C7C7C7;
          color: rgba(95, 95, 95, 0.3);
        }
        .text {
          position: relative;
          color: rgba(95, 95, 95, 0.3);
          &::after {
            display: block;
            content: 'Coming Soon';
            position: relative;
            font-size: 16px;
            font-weight: 900;
            color: rgba(95, 95, 95, 0.3);
            font-family: var(--lato);
            margin-top: 5px;
            @media (max-width: 768px) {
              font-size: 16px;
              margin-top: 0;
            }
          }
        }
      }
      .icon {
        display: none;
      }
    }
  }
}
/* ↑↑↑ anchor_conts ↑↑↑ */