@charset "utf-8";
@import "setting-custom.css";
/* === CSS変数は setting-custom.cssを読み込み === */

body {
  color: var(--bgcolor-darkblue);
  font-family: var(--sub-font);
}
/* テキストアニメーション 力強いスライドイン */
.js-reveal {
  .reveal-line {
    display: block;
    overflow: hidden;
  }

  .reveal-line > span {
    display: inline-block;
    transform: translateY(110%);
  }

  &.is-active {
    .reveal-line > span {
      animation: revealUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    }
  }
}

@keyframes revealUp {
  to {
    transform: translateY(0);
  }
}


.lower-inner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    @media (max-width: 1200px) {
        padding: 0 20px;
    }
}
/* 下層ページ h2見出し */
 .lower-comn__head {
  margin-bottom: 50px;
    h2 {
        margin: 0;
        font-size: 3.6rem;
        line-height: 1;
        font-weight: 800;
        color: var(--bgcolor-darkblue);
        font-family: var(--hiragino-font);
        letter-spacing: 0.07em;
        @media (max-width: 767px) {
            font-size: 2.7rem;
            line-height: 1.1;
        }
    }
 }


/* ーーーーーーーーーーーーーーーーーーーーーーーーーー
 下層ページ　MV
ーーーーーーーーーーーーーーーーーーーーーーーーーー */
.lower_head {
  position: relative;
  overflow: hidden;
  height: 540px;
  @media (max-width: 767px) {
    height: 310px;
  }

  /* & #header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
  } */

  & .lower-mv {
    z-index: 1;
    width: 100%;
    background: url(../img/common/recruit-comn-bg.png) center/cover no-repeat;
    overflow: hidden;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;

    & .lower-mv__content {
      text-align: center;
      z-index: 2;
      color: #333;
      @media (max-width: 767px) {
        position: relative;
        top: 30px;
      }
      .lower-ttl {
        margin: 0;
        font-size: 15rem;
        font-family: var(--helvetica-neue-font);
        font-weight: 800;
        line-height: 1;
        letter-spacing: -0.5rem;
        display: flex;
        flex-direction: column;
        @media (max-width: 1230px) {
          font-size: 14.5rem;
        }
        @media (max-width: 1150px) {
          font-size: 14rem;
        }
        @media (max-width: 1024px) {
          font-size: 11rem;
        }
        @media (max-width: 820px) {
          font-size: 9.5rem;
          letter-spacing: -0.1rem;
        }
        @media (max-width: 768px) {
          font-size: 8.1rem;
        }
        @media (max-width: 767px) {
            font-size: 4.3rem;
        }
    }
    .lower-txt {
        font-size: 2.7rem;
        text-align: left;
        background: linear-gradient(135deg, #184078 0%, #00265a 100%);
        color: transparent;
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        text-fill-color: transparent;
        font-family: var(--main-font);
        font-weight: 700;
        letter-spacing: 0.2rem;
        line-height: 1.5;
        @media (max-width: 767px) {
            font-size: 1.6rem;
            letter-spacing: 0.1rem;
        }
    }
    }
  }
}
.js-lower-title-anime {
  opacity: 0;
  filter: blur(14px);
  transform: translateY(24px) scale(1.02);
  transition:
    opacity .8s cubic-bezier(.165, .84, .44, 1),
    filter .8s cubic-bezier(.165, .84, .44, 1),
    transform .8s cubic-bezier(.165, .84, .44, 1);

  &.is-show {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0) scale(1);
  }

  .lower-txt {
    display: block;
  }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーー
 テキストの背景アニメーションムービー
ーーーーーーーーーーーーーーーーーーーーーーーーーー */
  .mask-text {
    font-size: 5rem;
    font-weight: 800;
    line-height: 0.95;
    text-transform: uppercase;
    letter-spacing: -0.04em;
    margin: 0;

    /* ▼ お好きな画像のURLに変更してください */
    background-image: url('../img/common/txt-anime-move.png');
    
    /* 1. 画像を要素の「3倍」の大きさにする（超巨大化） */
    background-size: 200% 200%;
    
    /* 念のためリピートもオン（保険） */
    background-repeat: repeat;
    
    /* テキストで切り抜き */
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    /* 8秒かけてゆっくり動き、反転ループ */
    animation: safeMove 8s ease-in-out infinite alternate;
  }

  /* 2. 移動範囲を制限し、絶対に「端（0%や100%）」を見せない */
  @keyframes safeMove {
    0% {
      /* スタート地点を画像の内側に設定 */
      background-position: 10% 10%;
    }
    100% {
      /* ゴール地点も画像の中央付近でストップさせる */
      background-position: 50% 50%;
    }
  }

  @media (max-width: 600px) {
    .mask-text { font-size: 3rem; }
  }

/* ーーーーーーーーーーーーーーーーーーーーーーーーーー
 XCEEDを知る
ーーーーーーーーーーーーーーーーーーーーーーーーーー */
.column_message {
  position: relative;
  padding: 180px 0 200px;
  overflow: hidden;
  background: var(--bgcolor-darkblue);
  color: #fff;
  @media (max-width: 767px) {
    padding: 100px 0;
  }
  .lower-inner {
    display: grid;
    grid-template-columns: 1fr 1.08fr;
    gap: 70px;
    align-items: start;
    @media (max-width: 1024px) {
    grid-template-columns: 0.8fr 1.08fr;
    }
    @media (max-width: 820px) {
      grid-template-columns: 1fr;
    }
  }

  .message__bg {
    position: absolute;
    left:0;
    top: 30%;
    margin: 0;
    color: rgba(255,255,255,0.09);
    font-size: clamp(7rem, 10vw, 18.7rem);
    font-weight: 700;
    font-family: var(--helvetica-neue-font);
    line-height: 0.88;
    letter-spacing: -0.01em;
    white-space: nowrap;
    pointer-events: none;
  }

  .message__left,
  .message__right {
    position: relative;
    z-index: 1;
  }


  .message__left {
    padding-top: 12px;
    text-align: left;
  }

  .message__left h2 {
    margin: 0;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.02em;
    font-family: var(--hiragino-font);
    @media (max-width: 767px) {
      font-size: 2.7rem;
    }
  }

  .message__right h3 {
    margin: 0 0 32px;
    font-size: 3.9rem;
    font-weight: 600;
    font-family: var(--sub-font);
    line-height: 1.55;
    letter-spacing: 0.04em;
    @media (max-width: 767px) {
      font-size: 2.7rem;
    }
  }

  .message__right p {
    margin: 0;
    max-width: 520px;
    font-size: 2rem;
    font-weight: 600;
    line-height: 2;
    font-family: var(--sub-font);
    letter-spacing: 0.05em;
    @media (max-width: 820px) {
      font-size: 1.7rem;
      line-height: 2;
    }
    @media (max-width: 767px) {
      font-size: 1.6rem;
    }
  }
  .message__right {
    .js-reveal {
  .reveal-line {
    display: block;
    overflow: hidden;
  }

  .reveal-line-inner {
    display: inline-block;
    transform: translateY(110%);
  }

  &.is-active {
    .reveal-line-inner {
      animation: revealUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    }
  }
}


  }


}

@keyframes revealUp {
  to {
    transform: translateY(0);
  }
}

/* メッセージ */
.column_representative {
  padding: 110px 0 120px;
  background: #fff;
  color: #101827;
  @media (max-width: 767px) {
    padding: 70px 0;
  }
.representative__content {
  display: grid;
  grid-template-columns: calc(50% - 29px) calc(50% - 29px);
  gap: 58px;
  @media (max-width: 820px) {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

.representative__image img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.representative__text {
  padding-top: 2px;
  @media (max-width: 820px) {
    margin: 0 auto;
  }
}

.representative__text h3 {
  margin-bottom: 40px;
  font-size: 4rem;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: 0.06em;
  @media (max-width: 767px) {
    font-size: 2.7rem;
  }
}

.representative__text p {
  margin: 0 0 18px;
  color: #263244;
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 2.15;
  letter-spacing: 0.04em;
  @media (max-width: 767px) {
    font-size: 1.6rem;
  }
}

.representative__sign {
  max-width: 320px;
  width: 100%;
  margin-top: 30px;
  text-align: right;
  margin-left: auto;
  @media (max-width: 767px) {
    margin-left: initial;
    margin: 30px auto 0;
    max-width: 260px;
  }
}

.representative__sign p {
  margin: 0 0 8px;
  color: #263244;
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
}

.representative__sign img {
  width: 100%;
  height: auto;
  display: inline-block;
}
.about-video {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 7px;
  overflow: hidden;
  margin: 55px auto 0;
}

@media (min-width: 768px) {
  .about-video {
    max-width: 1100px;
  }
}
}




/* MISSION,VISION,VALUE */
.column_mvv {
  background: var(--bgcolor-white);
  padding: 100px 0;
  @media (max-width: 767px) {
    padding: 70px 0;
  }

.mvv__section {
  height: 70svh;
  position: sticky;
  top: 0;
  background:var(--bgcolor-white);
  overflow: hidden;
  @media (max-width: 1024px) {
    height: 50svh;
  }
  @media (max-width: 767px) {
    height: 80svh;
  }
    .paint-drop,
  .paint-splash {
    animation: none;
  }

  &.is-active {
    .paint-drop {
      animation: paintDropFast .13s cubic-bezier(.25, .7, .25, 1) forwards;
      animation-delay: .3s;
    }

    .paint-splash {
      animation: splashFast .11s cubic-bezier(.2, 1.25, .3, 1) forwards;
      animation-delay: .41s;
    }
  }
}
.mvv__section .paint {
  position: absolute;
  top: 50%;
  left: 42%;
  transform: translate(-50%, -50%);
  width: 430px;
  height: 430px;
  z-index: 0;
  pointer-events: none;
    opacity: .7;
  @media (max-width: 1024px) {
    left: 38%;
    width: 360px;
    height: 360px;
  }

  @media (max-width: 767px) {
top: 16%;
            left: 80%;
    width: 260px;
    height: 260px;
  }
}

.mvv__section .paint-area {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.mvv__section .paint-drop {
  position: absolute;
  left: 50%;
  top: -80px;
  width: 42px;
  height: 42px;
  background: #6b6c8d;
  border-radius: 50%;
  transform: translateX(-50%);
  transform-origin: center bottom;
  filter: blur(.4px);
  z-index: 5;
  opacity: 0;

  @media (max-width: 767px) {
    width: 30px;
    height: 30px;
  }
}

.mvv__section .paint-splash {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 430px;
  max-width: none;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -50%) scale(.08) rotate(-2deg);
  transform-origin: center center;
  filter: blur(7px);
  z-index: 1;

  @media (max-width: 767px) {
    width: 260px;
  }
}

.mvv__inner {
  height: 70svh;
  display: grid;
  grid-template-columns: 42% 1fr;
  align-items: center;
  gap: 90px;
    position: relative;
  z-index: 2;
  @media (max-width: 1024px) {
    grid-template-columns: 45% 1fr;
    height: 50svh;
    gap: 50px;
  }
  @media (max-width: 820px) {
    grid-template-columns: 48% 1fr;
  }
  @media (max-width: 767px) {
    grid-template-columns: 1fr;
    gap: 32px;
    align-content: center;
    height: 80svh;
  }
  
}

.mvv__section h3.mask-text {
  margin: 0;
  font-family: var(--helvetica-neue-font);
  font-size: 11rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.04em;
  @media (max-width: 1160px) {
    font-size: 10rem;
  }
   @media (max-width: 820px) {
    font-size: 8rem;
   }
   @media (max-width: 767px) {
    font-size: 6rem;
   }



}

.mvv__text h4 {
  margin: 0 0 28px;
  font-size: 4.1rem;
  font-weight: 800;
  line-height: 1.55;
  letter-spacing: 0.05em;
  @media (max-width: 1024px) {
    font-size: 3.8rem;
  }
  @media (max-width: 820px) {
    font-size: 2.7rem;
  }
  @media (max-width: 767px) {
    font-size: 2.7rem;
  }
}

.mvv__text p {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.04em;
  @media (max-width: 820px) {
    font-size: 1.6rem;
    line-height: 1.9;
  }
}

/* 重なり順 */
.mvv__section:nth-child(1) {
  z-index: 1;
}

.mvv__section:nth-child(2) {
  z-index: 2;
}

.mvv__section:nth-child(3) {
  z-index: 3;
}
}


/* なぜ未経験から〜 */
.column_growth {
  position: relative;
  padding: 130px 0 0;
  overflow: hidden;
  color: #fff;
  background: var(--bgcolor-darkblue);
  @media (max-width: 767px) {
    padding: 100px 0 0;
  }
}

.growth__inner {
  position: relative;
  z-index: 2;
  margin: 0 auto 130px;
  @media (max-width: 767px) {
    margin-bottom: 70px;
  }
}

.growth__head {
  margin-bottom: 36px;
  text-align: center;
}

.growth__head h2 {
  font-size: 4.3rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  font-family: var(--hiragino-font);
  @media (max-width: 1024px) {
    font-size: 4rem;
  }
  @media (max-width: 820px) {
    font-size: 3.1rem;
  }
  @media (max-width: 767px) {
    font-size: 2.7rem;
  }
}

.growth__head p {
  margin: 55px auto;
  text-align: center;
  color: var(--fontcolor-white);
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 1.9;
  letter-spacing: 0.08em;
  @media (max-width: 767px) {
    font-size: 1.6rem;
  }
}

.growth__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 42px;
}

.growth-card {
  min-height: 250px;
  padding: 22px 26px 28px;
  border: 1px solid rgba(255,255,255,0.52);
  background: rgba(255,255,255,0.025);
  @media (max-width: 820px) {
    min-height: auto;
  }
}
.growth__cards,
.growth__links {
  @media (max-width: 820px) {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.growth-card span {
  display: block;
  margin-bottom: 8px;
  color: var(--fontcolor-white);
  font-family: var(--din-font);
  text-align: center;
  font-size: 4.5rem;
  font-weight: 200;
  line-height: 1;
  letter-spacing: 0.05em;
  @media (max-width: 767px) {
    margin-bottom: 13px;
  }
}

.growth-card h3 {
  margin-bottom: 35px;
  font-size: 3.3rem;
  font-family: var(--hiragino-font);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.04em;
  text-align: center;
  @media (max-width: 1024px) {
    font-size: 3rem;
  }
  @media (max-width: 767px) {
    font-size: 2.7rem;
  }
}

.growth-card p {
  margin: 0;
  font-size: 1.7rem;
  line-height: 1.7;
  letter-spacing: 0.05em;
  @media (max-width: 767px) {
    font-size: 1.6rem;
  }
}

.growth__links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 42px;
  margin-top: 28px;
  @media (max-width: 820px) {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.growth__links a {
  padding: 30px 20px;
  display: grid;
  place-items: center;
  background: var(--bgcolor-white);
  color: var(--bgcolor-darkblue);
  text-decoration: none;
  font-size: 2.1rem;
  font-family: var(--hiragino-font);
  font-weight: 700;
  letter-spacing: 0.15em;
  transition: opacity 0.3s ease, transform 0.3s ease;
  @media (max-width: 820px) {
    font-size: 2rem;
  }
  @media (max-width: 767px) {
    padding: 20px 15px;
  }
}

.growth__links a:hover {
  opacity: 0.86;
  transform: translateY(-3px);
}

.growth-marquee {
  position: relative;
  z-index: 1;
  margin-top: 50px;
  width: 100%;
  overflow: hidden;
  @media (max-width: 820px) {
    margin-top: 0;
  }
}

.growth-marquee__track {
  display: flex;
  width: max-content;
  animation: growthMarquee 55s linear infinite;
  @media (max-width: 767px) {
    animation: growthMarquee 65s linear infinite;
  }
}

.growth-marquee__track span {
  flex-shrink: 0;
  padding-right: 48px;
  color: rgba(255,255,255,0.13);
  font-family: var(--helvetica-neue-font);
  font-size: clamp(8rem, 8vw, 13rem);
  font-weight: 900;
  line-height: 0.9;
  letter-spacing: 0;
  letter-spacing: -0.1rem;
  white-space: nowrap;

}

@keyframes growthMarquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーー
 データで見るXCEED
ーーーーーーーーーーーーーーーーーーーーーーーーーー */
/* .column_message--growth {
  .message__bg {
    top: 20%;
  }
  .message__left {
    @media (max-width: 767px) {
      display: none;
    }
  }
  .message__right {
    p {
      padding-bottom: 25px;
    }
    p:last-child {
      padding-bottom: 0;
    }
  }
} */

.column_data {
  padding: 130px 0 140px;
  @media (max-width: 767px) {
    padding: 70px 0;
  }
  p {
    font-weight: 600;
    font-size: 1.9rem;
    padding-bottom: 25px;
    &:last-child {
      padding-bottom: 0;
    }
  @media (max-width: 767px) {
    font-size: 1.6rem;
  }
  }
}
.column_career-data {
  padding: 110px 0 130px;
  background: #f2f2f2;
  color: #101827;

  .pt70 {
    padding-top: 100px;
  }
.career-data__title {
  margin: 0 0 36px;
  font-size: 2.6rem;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.career-data__title--second {
  margin-top: 72px;
}

.career-data__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  @media (max-width: 820px) {
    grid-template-columns: repeat(2, 1fr);
  }
  @media (max-width: 767px) {
    grid-template-columns: 1fr;
  }
}


.data-card {
  min-height: 190px;
  padding: 40px 20px;
  background: #fff;
  text-align: center;
  display: grid;
  align-content: center;
}

.data-card h3 {
  position: relative;
  margin: 0 0 30px;
  padding-bottom: 18px;
  font-size: 2rem;
  font-family: var(--hiragino-font);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
}

.data-card h3::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 50px;
  height: 2px;
  transform: translateX(-50%);
  background: #101827;
}



.data-card p small {
  margin-left: 6px;
  font-size: 2.1rem;
  font-weight: 700;
  font-family: var(--hiragino-font);
  letter-spacing: 0;
}

.data-card em {
  font-size: 1.8rem;
  font-style: normal;
  font-weight: 600;
  font-family: var(--main-font);
  line-height: 1.6;
  @media (max-width: 767px) {
    font-size: 1.6rem;
  }
}

.career-data__message {
  display: grid;
  grid-template-columns: 48% 1fr;
  gap: 56px;
  padding: 50px 48px;
  background: #fff;
  margin-top: 6px;
  align-items: center;
  @media (max-width: 820px) {
    padding: 50px 38px;
  }
  @media (max-width: 767px) {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 34px 24px;
  }
}


.career-data__message .txt {
  color: #bf2344;
  font-size: 2.3rem;
  font-family: var(--hiragino-font);
  font-weight: 700;
  padding-bottom: 5px;
  border-bottom: 2px solid #173e76;
  @media (max-width: 767px) {
    font-size: 1.9rem;
  }
}

.data-card .time,
.career-data__message .num,
.data-card p {
  margin: 0 0 16px;
  color: #bf2344;
  font-family: var(--din-font);
  font-size: 10rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.04em;
  @media (max-width: 1024px) {
    font-size: 8.8rem;
  }
  @media (max-width: 767px) {
    font-size: 7.8rem;
  }
}
.data-card .time {
  font-size: 7rem;
}

.career-data__message h3 {
  margin: 22px 0 0;
  font-size: 5.3rem;
  font-weight: 800;
  line-height: 1.35;
  font-family: var(--hiragino-font);
  letter-spacing: 0.03em;
  @media (max-width: 1024px) {
    font-size: 4.5rem;
  }
  @media (max-width: 820px) {
    font-size: 3.3rem;
  }
  @media (max-width: 767px) {
    font-size: 2.7rem;
  }
}
.career-data__message .num  {
  font-size: 6.3rem;
  margin-right: 3px;
}

.career-data__message h3 strong {
  color: #c81f4a;
  font-style: normal;
}

.career-data__message p {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.04em;
}

.career-data__links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  margin-top: 30px;
  @media (max-width: 767px) {
    grid-template-columns: 1fr;
  }
}

.career-data__links a {
  height: 64px;
  display: grid;
  place-items: center;
  background: #fff;
  color: #101827;
  text-decoration: none;
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.career-data__links a:hover {
  opacity: 0.8;
  transform: translateY(-3px);
}
}




/* ーーーーーーーーーーーーーーーーーーーーーーーーーー
 働き方と制度
ーーーーーーーーーーーーーーーーーーーーーーーーーー */
.column_career-path {
  padding: 120px 0 130px;
  background: var(--bgcolor-white);
  color: #101827;
  @media (max-width: 767px) {
    padding: 70px 0;
  }

.career-path__head {
  margin-bottom: 72px;
  @media (max-width: 767px) {
    margin-bottom: 30px;
  }
}


.career-path__head p {
    margin: 70px 0;
    font-size: 2.9rem;
    font-weight: 600;
    line-height: 1.55;
    letter-spacing: 0.06em;
  @media (max-width: 767px) {
    font-size: 1.9rem;
    margin: 30px 0 0;
  }
}

.career-path__chart {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
  align-items: end;
  margin-bottom: 70px;
  @media (max-width: 767px) {
      display: flex;
      gap: 12px;
      overflow-x: auto;
      align-items: flex-end;
      margin-bottom: 45px;
      padding: 30px 20px 18px;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
  }
}

.career-path__bar {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  @media (max-width: 767px) {
      flex: 0 0 150px;
      scroll-snap-align: start;
  }
}

.career-path__term {
  margin-bottom: 10px;
  color: #014a97;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 2.4rem;
  font-weight: 900;
  font-style: italic;
  line-height: 1;
  text-align: center;
  opacity: 0;
  transform: translateY(20px);
  transition: 0.6s ease;
  @media (max-width: 767px) {
    font-size: 1.9rem;
  }
}
.career-path__bar--01 .career-path__term {
  animation-delay: 0.2s;
}

.career-path__bar--02 .career-path__term {
  animation-delay: 0.32s;
}

.career-path__bar--03 .career-path__term {
  animation-delay: 0.44s;
}

.career-path__bar--04 .career-path__term {
  animation-delay: 0.56s;
}

.career-path__bar--05 .career-path__term {
  animation-delay: 0.68s;
}

.career-path__box {
  height: var(--bar-h);
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 22px 14px;
  color: #fff;
  text-align: center;
  transform-origin: bottom;
  opacity: 0;
  transform: scaleY(0);
  transition: 1.1s cubic-bezier(0.22, 1, 0.36, 1);
}
.career-path__chart.is-show .career-path__term {
  opacity: 1;
  transform: translateY(0);
}

.career-path__chart.is-show .career-path__box {
  opacity: 1;
  transform: scaleY(1);
}

.career-path__bar--01 .career-path__box {
  --bar-h: 170px;
  background: #d1d1d7;
  color: #101827;
  animation-delay: 0s;
  @media (max-width: 767px) {
    --bar-h: 140px;;
  }
}

.career-path__bar--02 .career-path__box {
  --bar-h: 210px;
  background: #8b8d9c;
  animation-delay: 0.12s;
  @media (max-width: 767px) {
    --bar-h: 175px;
  }
}

.career-path__bar--03 .career-path__box {
  --bar-h: 250px;
  background: #5d5f74;
  animation-delay: 0.24s;
  @media (max-width: 767px) {
    --bar-h: 210px;
  }
}

.career-path__bar--04 .career-path__box {
  --bar-h: 292px;
  background: #464961;
  animation-delay: 0.36s;
  @media (max-width: 767px) {
    --bar-h: 245px;
  }
}

.career-path__bar--05 .career-path__box {
  --bar-h: 350px;
  background: var(--bgcolor-darkblue);
  animation-delay: 0.48s;
  @media (max-width: 767px) {
    --bar-h: 285px;
  }
}
.career-path__bar--01 .career-path__box,
.career-path__bar--01 .career-path__term {
  transition-delay: 0s;
}

.career-path__bar--02 .career-path__box,
.career-path__bar--02 .career-path__term {
  transition-delay: 0.12s;
}

.career-path__bar--03 .career-path__box,
.career-path__bar--03 .career-path__term {
  transition-delay: 0.24s;
}

.career-path__bar--04 .career-path__box,
.career-path__bar--04 .career-path__term {
  transition-delay: 0.36s;
}

.career-path__bar--05 .career-path__box,
.career-path__bar--05 .career-path__term {
  transition-delay: 0.48s;
}

.career-path__box h3 {
  margin-bottom: 10px;
  font-size: 2.1rem;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.04em;
  @media (max-width: 767px) {
    font-size: 1.8rem;
  }
}

.career-path__box p {
  font-size: 1.7rem;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: 0.03em;
  @media (max-width: 767px) {
    font-size: 1.6rem;
    font-weight: 500;
  }
}


.career-path__note {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  border: 1px solid #101827;
  padding: 30px 0;
  @media (max-width: 820px) {
    grid-template-columns: 1fr;
    padding: 30px 20px;
  }
}

.career-path__note-item {
  padding: 34px 42px 38px;
  @media (max-width: 767px) {
    padding: 34px 0 38px;
  }
}

.career-path__note-item + .career-path__note-item {
  border-left: 1px solid #014a97;
  @media (max-width: 820px) {
    border-left: none;
    border-top: 1px solid #014a97;
  }
}

.career-path__note-item h3 {
  margin: 0 0 22px;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.04em;

}

.career-path__note-item p {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
}
/* @keyframes barGrow {
  from {
    transform: scaleY(0);
    opacity: 0.4;
  }
  to {
    transform: scaleY(1);
    opacity: 1;
  }
}
@keyframes termFadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
} */

/* XCEED AWARD */
.column_award {
  padding: 90px 0 110px;
  color: #111733;
  background: #000;
  background:url("../img/system/award_bg.png") center / cover no-repeat;
  @media (max-width: 767px) {
    padding: 70px 0;
  }
  .award__head {
    margin-bottom: 52px;
    p {
      margin: 0;
      font-size: 1.7rem;
      font-weight: 600;
      line-height: 1.7;
      letter-spacing: 0.05em;

      @media (max-width: 767px) {
        font-size: 1.6rem;
      }
    }
  }

  .award__category {
    margin-bottom: 70px;
  }

  .award__category h3,
  .award__gallery h3 {
    margin-bottom: 20px;
    font-size: 2.3rem;
    font-weight: 600;
    letter-spacing: 0.05em;

    @media (max-width: 767px) {
      font-size: 1.7rem;
    }
  }

  .award__list {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 18px 16px;
  }

  .award-card {
    grid-column: span 2;
    min-height: 185px;
    padding: 35px 24px;
    background: rgba(255,255,255,0.72);
    border: 1px solid #111733;
    text-align: center;
    backdrop-filter: blur(2px);

    &:nth-child(4) {
      grid-column: 2 / span 2;
    }

    &:nth-child(5) {
      grid-column: 4 / span 2;
    }

    @media (max-width: 820px) {
      grid-column: span 3;

      &:nth-child(4),
      &:nth-child(5) {
        grid-column: span 3;
      }
    }

    @media (max-width: 767px) {
      grid-column: 1 / -1;
      min-height: auto;

      &:nth-child(4),
      &:nth-child(5) {
        grid-column: 1 / -1;
      }
    }
  }

  .award-card__icon {
    margin-bottom: 25px;
    display: grid;
    place-items: center;

    img {
      object-fit: contain;
    }
  }

  .award-card h4 {
    position: relative;
    margin-bottom: 20px;
    padding-bottom: 15px;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.1em;

    &::after {
      content: "";
      position: absolute;
      left: 50%;
      bottom: 0;
      width: 36px;
      height: 1px;
      transform: translateX(-50%);
      background: #0059a7;
    }
  }

  .award-card p {
    margin: 0;
    text-align: left;
    font-size: 1.6rem;
    line-height: 1.7;
    letter-spacing: 0.04em;
  }

  .award__gallery {
    margin-top: 48px;
  }

  .award-slider {
    position: relative;

    .splide__slide img {
      width: 100%;
      aspect-ratio: 900 / 500;
      display: block;
      object-fit: cover;
    }

    .splide__arrow {
      width: 56px;
      height: 56px;
      background: #fff;
      opacity: 1;
      box-shadow: 0 10px 28px rgba(0,0,0,0.1);

      svg {
        fill: #111733;
        width: 18px;
        height: 18px;
      }
    }

    .splide__arrow--prev {
      left: 24px;
    }

    .splide__arrow--next {
      right: 24px;
    }

    @media (max-width: 767px) {
      .splide__arrow {
        width: 34px;
        height: 34px;
        background: rgba(255,255,255,0.5);
      svg {
        width: 13px;
        height: 13px;
      }
      }

      .splide__arrow--prev {
        left: 12px;
      }

      .splide__arrow--next {
        right: 12px;
      }
    }
  }
}

/* 福利厚生・待遇 */
.column_benefit {
  padding: 100px 0 50px;
  color: #111733;
  .benefit__box {
    border: 1px solid #111733;
    padding: 48px 70px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 120px;
    row-gap: 56px;

    @media (max-width: 1024px) {
      padding: 42px 48px;
      column-gap: 70px;
    }

    @media (max-width: 820px) {
      grid-template-columns: 1fr;
      row-gap: 36px;
    }

    @media (max-width: 767px) {
      padding: 30px 22px;
    }
  }

  .benefit__item {
    h3 {
      margin-bottom: 5px;
      font-size: 1.8rem;
      font-weight: 600;
      line-height: 1.5;
      letter-spacing: 0.04em;

      @media (max-width: 767px) {
        font-size: 1.7rem;
      }
    }

    p {
      margin: 0;
      color: #33384a;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 1.9;
      letter-spacing: 0.04em;
      @media (max-width: 767px) {
        font-size: 1.5rem;
      }
    }
  }
}

/* 研修・教育体制 */
.column_training {
  padding: 50px 0 70px;
  color: #111733;

  .training__lead {
    margin: 0 0 42px;
    font-size: 1.7rem;
    font-weight: 600;
    line-height: 1.8;
    letter-spacing: 0.06em;

    @media (max-width: 767px) {
      margin-bottom: 28px;
      font-size: 1.6rem;
    }
  }

  .training__steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    min-height: 430px;
    overflow: hidden;

    @media (max-width: 1024px) {
      min-height: 400px;
    }

    @media (max-width: 820px) {
      grid-template-columns: repeat(2, 1fr);
      min-height: auto;
    }

    @media (max-width: 767px) {
      grid-template-columns: 1fr;
    }
  }

  .training-step {
    min-height: 430px;
    padding: 98px 34px 50px;
    color: #fff;
    opacity: 0;
  transform: translateY(60px);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    @media (max-width: 1024px) {
      min-height: 400px;
      padding: 80px 26px 42px;
    }

    @media (max-width: 820px) {
      min-height: 330px;
      padding: 60px 28px 36px;
    }

    @media (max-width: 767px) {
      min-height: auto;
      padding: 46px 24px;
    }

    span {
      display: block;
      margin-bottom: 50px;
      font-family: var(--hiragino-font);
      font-size: 3rem;
      font-weight: 600;
      font-style: italic;
      line-height: 1;
      text-align: center;
      letter-spacing: -0.02em;

      @media (max-width: 1024px) {
        margin-bottom: 42px;
        font-size: 2.6rem;
      }

      @media (max-width: 767px) {
        margin-bottom: 15px;
      }
    }

    h3 {
      margin: 0 0 24px;
      font-size: 2.1rem;
      font-weight: 600;
      font-family: var(--main-font);
      line-height: 1.5;
      letter-spacing: 0.04em;
      text-align: center;

      @media (max-width: 1024px) {
        font-size: 1.9rem;
      }

      @media (max-width: 767px) {
        margin-bottom: 16px;
        font-size: 1.8rem;
      }
    }

    p {
      margin: 0;
      font-size: 1.6rem;
      font-weight: 500;
      font-family: var(--main-font);
      line-height: 1.7;
      letter-spacing: 0.04em;

      @media (max-width: 767px) {
        font-size: 1.5rem;
      }
    }
  }

  .training-step--01 {
    background: #82abd8;
    animation-delay: 0s;
  }

  .training-step--02 {
    background: #346eac;
    animation-delay: 0.14s;
  }

  .training-step--03 {
    background: #21286c;
    animation-delay: 0.28s;
  }

  .training-step--04 {
    background: var(--bgcolor-darkblue);
    animation-delay: 0.42s;
  }
  .growth__links {
    margin-top: 50px;
  }
  .growth__links a {
    border: 1px solid #333;
  }
}
.training-step.is-show {
  opacity: 1;
  transform: translateY(0);
}

/* 順番ディレイ */
.training-step--01.is-show {
  transition-delay: 0s;
}

.training-step--02.is-show {
  transition-delay: 0.15s;
}

.training-step--03.is-show {
  transition-delay: 0.3s;
}

.training-step--04.is-show {
  transition-delay: 0.45s;
}



/* ーーーーーーーーーーーーーーーーーーーーーーーーーー
 インタビュー　一覧
ーーーーーーーーーーーーーーーーーーーーーーーーーー */
.tax-jobtype,
.single-interview,
.post-type-archive-interview {
.lower_head {
    & .lower-mv {
        & .lower-mv__content {
            .lower-ttl {
                letter-spacing: 0;
                @media (max-width: 767px) {
                  letter-spacing: 0.1rem;
                }
            }
        }
    }
}
}

.interview-archive02 {
  padding: 90px 0 120px;
  background: #fff;
  color: var(--bgcolor-darkblue);
  .growth__links {
    margin-top: 100px;
    a {
      border: 1px solid var(--bgcolor-black);
    }
  }


  .interview-archive02__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 58px 36px;

    @media (max-width: 1024px) {
      gap: 46px 28px;
    }

    @media (max-width: 820px) {
      grid-template-columns: repeat(2, 1fr);
    }

    @media (max-width: 767px) {
      grid-template-columns: 1fr;
      gap: 42px;
    }
  }

  .interview-card02 {
    display: block;
    color: inherit;
    text-decoration: none;

    &:hover {
      .interview-card02__img img {
        transform: scale(1.06);
      }

      h2 {
        color: #0059a7;
      }
    }
  }

  .interview-card02__img {
    margin-bottom: 18px;
    background: #d9d9d9;
    overflow: hidden;
    aspect-ratio: 320 / 420;
    border-radius: 10px;

    img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      transition: transform 0.6s ease;
    }
  }

  .interview-card02__noimage {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: #333;
    font-size: 1.2rem;
    letter-spacing: 0.04em;
  }

  .interview-card02__body {
    h2 {
      margin: 0 0 20px;
      font-size: 1.55rem;
      font-weight: 800;
      line-height: 1.7;
      letter-spacing: 0.04em;
      transition: color 0.3s ease;
    display: -webkit-box; /* 必須 */
    -webkit-box-orient: vertical; /* 必須 */
    -webkit-line-clamp: 2; /* 行数を制限 */
    overflow: hidden; /* はみ出た部分を非表示 */

      @media (max-width: 767px) {
        font-size: 1.45rem;
      }
    }
  }

  .interview-card02__meta {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(17, 24, 39, 0.16);

    span {
      flex-shrink: 0;
      font-size: 1.7rem;
      font-weight: 800;
    }

    small {
      color: #777;
      font-size: 1.3rem;
      font-weight: 600;
      line-height: 1.6;
      text-align: right;
    }
  }

  .interview-archive02__pager {
    margin-top: 76px;
    display: flex;
    justify-content: center;
    gap: 23px;
    font-size: 1.7rem;
    a {
      border-bottom: 1px solid #8b8b8b;
    }
    a,
    span {
      width: 40px;
      height: 40px;
      display: grid;
      place-items: center;
      color: var(--bgcolor-darkblue);
      text-decoration: none;
    }

    .current {
      border: 1px solid var(--bgcolor-darkblue);
      border-radius: 50%;
    }
  }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーー
 インタビュー　詳細
ーーーーーーーーーーーーーーーーーーーーーーーーーー */
.interview-single {
  background: #fff;
  padding-top: 100px;
  @media (max-width: 767px) {
    padding-top: 50px;
  }
}

.iv-single {
  display: grid;
  grid-template-columns: 45% minmax(0, 55%);
  min-height: 100vh;
  align-items: start;
  overflow: visible;

  @media (max-width: 900px) {
    display: block;
  }
}

.iv-single__body {
  order: 2;
  min-width: 0;
  padding: 50px 60px 0;
  overflow-wrap: break-word;

  @media (max-width: 900px) {
    padding: 35px 20px 0;
  }
}

.iv-profile {
  margin-bottom: 80px;

  h2 {
    font-size: 2.9rem;
    font-weight: 600;
    text-align: center;
    padding-bottom: 35px;
    @media (max-width: 900px) {
      font-size: 2.7rem;
      padding-bottom: 17px;
    }
    &::after {
      content: "";
      background: var(--bgcolor-black);
      width: 50px;
      height: 2px;
      left: 50%;
      display: block;
      margin: 30px auto;
    }
  }

  h3 {
    margin-bottom: 20px;
    font-size: 2.7rem;
    font-weight: 700;
    line-height: 1.55;

    @media (max-width: 767px) {
      font-size: 2.1rem;
    }
  }
}

.iv-profile__text {
  font-size: 1.7rem;
  line-height: 2;
  font-weight: 500;
  @media (max-width: 767px) {
    font-size: 1.6rem;
  }
}

.iv-profile__name {
  margin-top: 28px;

  ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 14px;
    padding: 0;
    list-style: none;
  }

  li {
    padding: 5px 13px;
    border-radius: 999px;
    background: #346eac;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 600;
  }

  p {
    margin: 0;
    font-size: 2.6rem;
    font-weight: 900;
  }

  span {
    margin-right: 10px;
    font-size: 1.5rem;
  }
}

.iv-block {
  padding: 72px 0;
  border-top: 1px solid rgba(17, 24, 39, 0.14);
  @media (max-width: 900px) {
    padding: 70px 0 60px;
  }

  h2 {
    margin-bottom: 20px;
    font-size: 2.7rem;
    font-weight: 700;
    line-height: 1.55;

    @media (max-width: 767px) {
      font-size: 2.1rem;
    }
  }
}

.iv-block__text {
  font-size: 1.7rem;
  line-height: 2;
  font-weight: 400;
  @media (max-width: 767px) {
    font-size: 1.6rem;
  }
  p {
    margin: 0 0 18px;
  }
}

.iv-block__sp-img {
  display: none;
  margin-bottom: 28px;
  border-radius: 10px;
  overflow: hidden;

  img {
    width: 100%;
    height: auto;
    display: block;
  }

  @media (max-width: 900px) {
    display: block;
  }
}

.iv-block__text h5 {
    font-size: clamp(1.6rem, 2.214vw, 1.8rem);
    margin-top: 2em;
}

.iv-visual {
  order: 1;
  position: sticky;
  top: 0;
  height: 100vh;
  align-self: start;
  min-width: 0;
  overflow: hidden;
  background: #edf1f7;
  border-radius: 0 10px 10px 0;
  transition: border-radius 0.4s ease;

  @media (max-width: 900px) {
    display: none;
  }
}

.iv-visual.is-end {
  border-radius: 0;
}

.iv-visual__inner {
  position: relative;
  width: 100%;
  height: 100%;
}

.iv-visual__img {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: scale(1);
  transition: opacity 0.6s ease;

  &.is-active {
    opacity: 1;
    z-index: 2;
  }

  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
}

.iv-schedule {
  padding: 50px 0;
  background: #fff;

  h2 {
    margin: 0 0 56px;
    font-size: 3rem;
    font-weight: 900;
    letter-spacing: 0.04em;
  }

  dl {
    margin: 0;
  }

  .iv-schedule__row {
    display: grid;
    grid-template-columns: 170px 40px minmax(0, 1fr);
    column-gap: 24px;
    position: relative;
    padding-bottom: 30px;

    &::before {
      content: "";
      position: absolute;
      left: 189px;
      top: 14px;
      bottom: -14px;
      width: 3px;
      background: #1e5ea8;
    }

    &::after {
      content: "";
      position: absolute;
      left: 190px;
      top: 0;
      transform: translateX(-50%);
      width: 22px;
      height: 22px;
      border: 4px solid #1e5ea8;
      border-radius: 50%;
      background: #fff;
      z-index: 1;
    }

    &:last-child {
      padding-bottom: 0;

      &::before {
        display: none;
      }
    }
  }

  dt {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    color: #1e5ea8;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 2.3rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
  }

  dd {
    grid-column: 3;
    grid-row: 1;
    min-width: 0;
    margin: 0;
    padding-top: 2px;
    color: var(--bgcolor-darkblue);
    font-size: 1.7rem;
    font-weight: 600;
    line-height: 1.7;
    letter-spacing: 0.04em;

    strong,
    b {
      display: block;
      margin-bottom: 6px;
      font-size: 1.7rem;
      font-weight: 800;
    }
  }

  @media (max-width: 767px) {
    padding: 30px 0;

    h2 {
      margin-bottom: 36px;
      font-size: 2.4rem;
    }

    .iv-schedule__row {
      grid-template-columns: 100px 28px minmax(0, 1fr);
      column-gap: 12px;
      padding-bottom: 45px;

      &::before {
                left: 123px;
                top: 0;
                bottom: 0;
                width: 2px;
      }

      &::after {
                left: 124px;
                width: 16px;
                height: 16px;
        border-width: 3px;
      }
    }

    dt {
      font-size: 1.6rem;
    }

    dd {
      font-size: 1.35rem;

      strong,
      b {
        font-size: 1.45rem;
      }
    }
  }
}

.iv-pager {
  max-width: 960px;
  margin: 0 auto;
  padding: 100px 20px 90px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  align-items: center;
  text-align: center;

  > div {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  a {
    min-width: 170px;
    height: 54px;
    padding: 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(17, 24, 39, 0.22);
    border-radius: 999px;
    color: var(--bgcolor-darkblue);
    background: #fff;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-decoration: none;
    transition: 0.3s ease;

    &:hover {
      color: #fff;
      background: var(--bgcolor-darkblue);
    }
  }

  .iv-pager__archive a,
  > div:nth-child(2) a {
    color: #fff;
    background: var(--bgcolor-darkblue);
    border-color: var(--bgcolor-darkblue);

    &:hover {
      opacity: 0.82;
    }
  }

  @media (max-width: 767px) {
    padding: 70px 20px;
    grid-template-columns: 1fr;
    gap: 12px;

    a {
      width: 100%;
    }
  }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーー
 404
ーーーーーーーーーーーーーーーーーーーーーーーーーー */
.error404-page {
  background: #fff;
}

.error404-content {
  position: relative;
  min-height: 70vh;
  padding: 130px 20px 150px;
  display: grid;
  place-items: center;
  overflow: hidden;

}

.error404-content::before {
  content: "NOT FOUND";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -54%);
  color: rgba(17, 24, 39, 0.045);
  font-size: clamp(7rem, 13vw, 18rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.04em;
  white-space: nowrap;
  pointer-events: none;
}

.error404-content__inner {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.error404-content__num {
  margin: 0 0 12px;
  color: var(--bgcolor-darkblue);
  font-size: clamp(8rem, 15vw, 15rem);
  font-weight: 900;
  line-height: 0.9;
  letter-spacing: -0.01em;
}

.error404-content h1 {
  position: relative;
  margin: 0 0 34px;
  padding-bottom: 22px;
  color: var(--bgcolor-darkblue);
  font-size: 2.6rem;
  font-weight: 900;
  letter-spacing: 0.06em;
}

.error404-content h1::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 76px;
  height: 2px;
  transform: translateX(-50%);
  background: var(--bgcolor-darkblue);
}

.error404-content__text {
  margin: 0 0 46px;
  color: #4b5563;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.04em;
}

.error404-content__btn {
  min-width: 250px;
  height: 62px;
  padding: 0 30px 0 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  border-radius: 999px;
  background: var(--bgcolor-darkblue);
  color: #fff;
  text-decoration: none;
  font-size: 1.45rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.error404-content__btn span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: var(--bgcolor-darkblue);
  font-size: 1.5rem;
  line-height: 1;
}

.error404-content__btn:hover {
  transform: translateY(-4px);
  opacity: 0.86;
}

@media (max-width: 767px) {
  .error404-content {
    min-height: 62vh;
    padding: 90px 20px 110px;
  }

  .error404-content__text {
    font-size: 1.35rem;
  }

  .error404-content__btn {
    width: 100%;
  }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーー
 募集要項　一覧
ーーーーーーーーーーーーーーーーーーーーーーーーーー */
.recruit-archive {
  .growth__links {
    margin-top: 70px;
    a {
    border: 1px solid var(--bgcolor-darkblue);
  }
  }
  .recruit-list__empty {
    text-align: center
  }
}
.recruit-list {
  padding: 90px 0 120px;
  background: #fff;
  color: var(--bgcolor-darkblue);

  .recruit-list__filter {
    display: flex;
    justify-content: center;
    gap: 24px;
        margin: 50px auto 70px;
        padding-top: 70px;
        border-top: 1px solid #eee;


    @media (max-width: 767px) {
      gap: 5px;
      margin: 30px auto 30px;
      padding-top: 30px;
    }

    a {
      width: 170px;
      height: 48px;
      display: grid;
      place-items: center;
      border: 1px solid var(--bgcolor-darkblue);
      color: var(--bgcolor-darkblue);
      text-decoration: none;
      font-size: 1.7rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      transition: 0.3s ease;

      @media (max-width: 767px) {
        width: 100%;
        font-size: 1.6rem;
      }

      &:hover {
        background: var(--bgcolor-darkblue);
        color: #fff;
      }
    }
  }

  .recruit-list__items {
    border-top: 1px solid rgba(17, 24, 39, 0.28);
  }

  .recruit-card {
    position: relative;
    min-height: 74px;
    display: grid;
    grid-template-columns: 110px 1fr 46px;
    gap: 28px;
    align-items: center;
    padding: 31px 18px 31px 32px;
    border-bottom: 1px solid rgba(17, 24, 39, 0.28);
    color: var(--bgcolor-darkblue);
    text-decoration: none;
    transition: background 0.3s ease;

    @media (max-width: 767px) {
      grid-template-columns: 1fr 42px;
      gap: 12px;
      padding: 20px 0;
    }

    &::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      width: 0;
      height: 100%;
      background: var(--bgcolor-darkblue);
      transition: width 0.35s ease;
      z-index: 0;
    }

    &:hover {
      &::before {
        width: 100%;
      }

      .recruit-card__cat,
      .recruit-card__title {
        color: #fff;
      }

      .recruit-card__arrow {
        background: #fff;
        color: var(--bgcolor-darkblue);
        transform: translateX(5px);
      }
    }
  }

  .recruit-card__cat,
  .recruit-card__title,
  .recruit-card__arrow {
    position: relative;
    z-index: 1;
  }

  .recruit-card__cat {
    display: grid;
    place-items: center;
    min-height: 24px;
    border: 1px solid currentColor;
    font-size: 1.4rem;
    font-weight: 500;

    @media (max-width: 767px) {
      width: fit-content;
      padding: 3px 14px;
    }
  }

  .recruit-card__cat.new {
  color: #2563eb;
  border-color: #2563eb;
  background: rgba(37, 99, 235, 0.08);
  }
  .recruit-card__cat.mid {
  color: #e11d48;
  border-color: #e11d48;
  background: rgba(225, 29, 72, 0.08);
  }
  /* ホバー時（黒背景に乗る前提） */
.recruit-card:hover .recruit-card__cat {
  color: #fff;
  border-color: #fff;
  background: transparent;
}

  .recruit-card__title {
    margin: 0;
    font-size: 1.9rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    white-space: nowrap; /* 折り返し無しにする */
    overflow: hidden; /* はみ出た部分を非表示 */
    text-overflow: ellipsis; /* 語尾を3点リーダーに */

    @media (max-width: 767px) {
      grid-column: 1;
      font-size: 1.6rem;
    }
  }

  .recruit-card__arrow {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    justify-self: end;
    border-radius: 50%;
    background: #333;
    color: #fff;
    font-size: 1.5rem;
    transition: 0.3s ease;

    @media (max-width: 767px) {
      grid-column: 2;
      grid-row: 1 / 3;
      width: 30px;
      height: 30px;
      font-size: 1.3rem;
    }
  }

}
/* ーーーーーーーーーーーーーーーーーーーーーーーーーー
 募集要項　詳細
ーーーーーーーーーーーーーーーーーーーーーーーーーー */
.recruit-detail {
  position: relative;
  padding: 110px 0 130px;
  color: var(--bgcolor-darkblue);
  overflow: hidden;

  &::before {
    content: "RECRUITMENT";
    position: absolute;
    left: 50%;
    top: 70px;
    color: rgba(17, 24, 39, 0.045);
    font-size: clamp(5rem, 13vw, 10rem);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.04em;
    pointer-events: none;
    transform: translateX(-50%);
    width: 100%;
    text-align: center;
  }

  .recruit-detail__inner {
    position: relative;
    z-index: 1;
    max-width: 1080px;

  }

  .recruit-detail__head {
    margin-bottom: 70px;
    text-align: center;

    h1 {
      position: relative;
      margin: 22px 0 0;
      padding-bottom: 24px;
      font-size: 4.2rem;
      font-weight: 900;
      line-height: 1.45;
      letter-spacing: 0.04em;

      &::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 0;
        width: 90px;
        height: 3px;
        transform: translateX(-50%);
        background: var(--bgcolor-darkblue);
      }

      @media (max-width: 1024px) {
        font-size: 3.4rem;
      }

      @media (max-width: 767px) {
        font-size: 2.6rem;
      }
    }
  }

  .recruit-detail__cat {
    display: inline-grid;
    place-items: center;
    min-width: 112px;
    min-height: 30px;
    padding: 4px 18px;
    border: 1px solid var(--bgcolor-darkblue);
    background: #fff;
    color: var(--bgcolor-darkblue);
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.08em;
  }

  .recruit-detail__table {
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(17, 24, 39, 0.16);
    box-shadow: 0 30px 80px rgba(17, 24, 39, 0.08);
    backdrop-filter: blur(4px);
  }

  .recruit-detail__row {
    display: grid;
    grid-template-columns: 32% 1fr;
    min-height: 86px;
    border-bottom: 1px solid rgba(17, 24, 39, 0.14);

    &:last-child {
      border-bottom: none;
    }

    @media (max-width: 767px) {
      grid-template-columns: 1fr;
    }
  }

  .recruit-detail__label {
    position: relative;
    padding: 28px 38px;
    display: flex;
    align-items: center;
    background: rgba(17, 24, 39, 0.035);
    border-right: 1px solid rgba(17, 24, 39, 0.14);
    font-size: 1.7rem;
    font-weight: 800;
    line-height: 1.7;
    letter-spacing: 0.04em;

    @media (max-width: 767px) {
      padding: 20px 22px 12px;
      border-right: none;
      font-size: 1.6rem;
    }
  }

  .recruit-detail__value {
    padding: 28px 40px;
    display: flex;
    align-items: center;
    color: #333847;
    font-size: 1.55rem;
    font-weight: 650;
    line-height: 2;
    letter-spacing: 0.04em;

    @media (max-width: 767px) {
      padding: 10px 22px 22px;
      font-size: 1.4rem;
    }
  }

  .recruit-detail__entry {
    margin-top: 48px;
    text-align: center;

    a {
      min-width: 350px;
      height: 62px;
      padding: 0 30px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
      border-radius: 999px;
      background: var(--bgcolor-darkblue);
      color: #fff;
      font-size: 1.55rem;
      font-weight: 900;
      letter-spacing: 0.06em;
      text-decoration: none;
      transition: transform 0.3s ease, opacity 0.3s ease;

      &:hover {
        opacity: 0.88;
      }
    }
  }

.recruit-detail__pager {
  margin-top: 120px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 24px;
  align-items: center;

  a {
    min-height: 56px;
    padding: 0 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(17, 24, 39, 0.2);
    border-radius: 999px;
    background: #fff;
    color: var(--bgcolor-darkblue);
    font-size: 1.4rem;
    font-weight: 800;
    text-decoration: none;
    transition: 0.3s ease;

    &:hover {
      background: var(--bgcolor-darkblue);
      color: #fff;
      transform: translateY(-3px);
    }
  }

  .recruit-detail__prev {
    grid-column: 1;
    justify-self: start;
  }

  .recruit-detail__archive {
    grid-column: 2;
    justify-self: center;

    a {
      min-width: 260px;
      background: var(--bgcolor-darkblue);
      color: #fff;
    }
  }

  .recruit-detail__next {
    grid-column: 3;
    justify-self: end;
  }

  @media (max-width: 767px) {
    grid-template-columns: 1fr 1fr;
    gap: 18px 16px;
    margin-top: 76px;

    .recruit-detail__prev {
      grid-column: 1;
      grid-row: 1;
      justify-self: start;
    }

    .recruit-detail__next {
      grid-column: 2;
      grid-row: 1;
      justify-self: end;
    }

    .recruit-detail__archive {
      grid-column: 1 / -1;
      grid-row: 2;
      justify-self: center;

      a {
        min-width: 260px;
      }
    }
  }
}
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーー
 エントリーフォーム
ーーーーーーーーーーーーーーーーーーーーーーーーーー */

.entry,
.confirm,
.thanks {
  .lower_head {
    & .lower-mv {
        & .lower-mv__content {
            .lower-ttl {
              letter-spacing: 0.4rem;
              @media (max-width: 767px) {
                letter-spacing: 0.1rem;
              }
    }
   }
  }
 }
 form {
  @media (max-width: 1079px) {
    padding: 0 20px;
  }
 }
 .sec_title {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto 30px;
  font-family: var(--main-font);
  @media (max-width: 1079px) {
    padding: 0 20px;
  }
 }
}

.column_contact {
  padding-top: 100px;
  @media (max-width: 767px) {
    padding-top: 50px;
  }
}
.entry-form {
  max-width: 1080px;
  margin: 0 auto;
  color: var(--bgcolor-darkblue);

  .entry-form__row {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 34px;
    padding: 24px 0;
    border-bottom: 1px solid rgba(17, 24, 39, 0.18);
    @media (max-width: 767px) {
      grid-template-columns: 1fr;
      gap: 12px;
      padding: 22px 0;
    }
  }

  .entry-form__head {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 14px;
    align-items: center;
    font-size: 1.7rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    @media (max-width: 767px) {
      grid-template-columns: auto auto 1fr;
      justify-content: start;
      font-size: 1.6rem;
    }

    em {
      min-width: 42px;
      padding: 4px 8px;
      display: inline-grid;
      place-items: center;
      background: var(--bgcolor-darkblue);
      color: #fff;
      font-size: 1.3rem;
      font-style: normal;
      font-weight: 500;
      line-height: 1;
    }

    small {
      grid-column: 1 / -1;
      margin-top: -4px;
      color: #666;
      font-size: 1.1rem;
      font-weight: 600;
      line-height: 1.5;
    }
  }

  .entry-form__body {
    min-width: 0;
  }

  input[type="text"],
  input[type="email"],
  input[type="tel"],
  select,
  textarea {
    width: 100%;
    min-height: 52px;
    border: none;
    border-radius: 0;
    background: #f1f2f4;
    padding: 0 18px;
    color: var(--bgcolor-darkblue);
    font-size: 1.5rem;
    font-weight: 600;
    outline: none;
    transition: background 0.25s ease, box-shadow 0.25s ease;
  }

  textarea {
    min-height: 150px;
    padding: 18px;
    resize: vertical;
  }

  input:focus,
  select:focus,
  textarea:focus {
    background: #fff;
    box-shadow: inset 0 0 0 2px var(--bgcolor-darkblue);
  }

  select {
    appearance: none;
    background-image:
      linear-gradient(45deg, transparent 50%, #666 50%),
      linear-gradient(135deg, #666 50%, transparent 50%);
    background-position:
      calc(100% - 18px) 22px,
      calc(100% - 12px) 22px;
    background-size: 6px 6px;
    background-repeat: no-repeat;
  }

  .entry-form__body--radio {
    display: flex;
    align-items: center;
    min-height: 52px;

    .wpcf7-radio {
      display: flex;
      gap: 34px;
      flex-wrap: wrap;
    }

    .wpcf7-list-item {
      margin: 0;
    }

    label {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 1.5rem;
      font-weight: 700;
    }

    input[type="radio"] {
      width: 18px;
      height: 18px;
      accent-color: var(--bgcolor-darkblue);
    }
  }

  .entry-form__body--date {
    display: flex;
    align-items: flex-start;
    gap: 10px 14px;
    flex-wrap: wrap;

    .wpcf7-form-control-wrap {
      width: 130px;
      display: block;
    }

    input {
      width: 100%;
    }

    > span:not(.wpcf7-form-control-wrap) {
      padding-top: 15px;
      font-size: 1.5rem;
      font-weight: 800;
    }

    .wpcf7-not-valid-tip {
      white-space: nowrap;
    }
  }
  .entry-form__privacy {
    padding: 34px 0;
    border-bottom: 1px solid rgba(17, 24, 39, 0.18);
    text-align: center;

    p {
      margin: 0 0 20px;
      font-size: 1.4rem;
      font-weight: 800;
      line-height: 1.8;
    }
  }

  .entry-form__privacy-check {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;

    @media (max-width: 767px) {
      align-items: flex-start;
    }

    em {
      min-width: 42px;
      padding: 4px 8px;
      display: inline-grid;
      place-items: center;
      background: var(--bgcolor-darkblue);
      color: #fff;
      font-size: 1.1rem;
      font-style: normal;
      font-weight: 800;
      line-height: 1;
      writing-mode: horizontal-tb;
      white-space: nowrap;
    }
  }

  .entry-form__privacy-input {
    display: flex;
    align-items: center;
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.7;
    text-align: left;

    .wpcf7-form-control-wrap,
    .wpcf7-acceptance,
    .wpcf7-list-item,
    label {
      display: inline-flex;
      align-items: center;
      margin: 0;
      width: 18px;
      margin-right: 7px;
    }

    label {
      gap: 10px;
    }

    input[type="checkbox"] {
      width: 18px;
      height: 18px;
      margin: 0;
      flex-shrink: 0;
      accent-color: var(--bgcolor-darkblue);
    }
  }

  .entry-form__submit {
    margin-top: 36px;
    text-align: center;

    input[type="submit"] {
      max-width: 350px;
      width: 100%;
      height: 64px;
      border: none;
      border-radius: 999px;
      background: var(--bgcolor-darkblue);
      color: #fff;
      font-size: 1.55rem;
      font-weight: 900;
      letter-spacing: 0.06em;
      cursor: pointer;
      transition: transform 0.3s ease, opacity 0.3s ease;
    }

    input[type="submit"]:hover {
      transform: translateY(-4px);
      opacity: 0.88;
    }
  }

  .wpcf7-not-valid-tip {
    margin-top: 8px;
    font-size: 1.2rem;
    font-weight: 700;
  }
}


/* ーーーーーーーーーーーーーーーーーーーーーーーーーー
 エントリーフォーム（確認）
ーーーーーーーーーーーーーーーーーーーーーーーーーー */
.entry-confirm {
  max-width: 1080px;
  margin: 0 auto;
  color: var(--bgcolor-darkblue);

  .entry-confirm__row {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 34px;
    padding: 26px 0;
    border-bottom: 1px solid rgba(17, 24, 39, 0.18);

    @media (max-width: 767px) {
      grid-template-columns: 1fr;
      gap: 10px;
      padding: 22px 0;
    }
  }

  .entry-confirm__label {
    font-size: 1.5rem;
    font-weight: 900;
    letter-spacing: 0.04em;
  }

  .entry-confirm__value {
    min-height: 32px;
    color: #333847;
    font-size: 1.55rem;
    font-weight: 600;
    line-height: 1.9;
    letter-spacing: 0.04em;
    white-space: pre-wrap;
    word-break: break-word;

    @media (max-width: 767px) {
      font-size: 1.4rem;
    }
  }

  .entry-confirm__buttons {
    margin: 45px auto 70px;
    display: flex;
    justify-content: center;
    gap: 22px;

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

    input {
      min-width: 230px;
      height: 62px;
      border-radius: 999px;
      border: 1px solid var(--bgcolor-darkblue);
      background: #fff;
      color: var(--bgcolor-darkblue);
      font-size: 1.5rem;
      font-weight: 900;
      letter-spacing: 0.06em;
      cursor: pointer;
      transition: 0.3s ease;

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

      &:hover {
        transform: translateY(-3px);
        background: var(--bgcolor-darkblue);
        color: #fff;
      }
    }

    input[type="submit"] {
      background: var(--bgcolor-darkblue);
      color: #fff;

      &:hover {
        opacity: 0.86;
      }
    }
  }
}
.entry-flow {
  position: relative;
  padding: 0 20px 0;
  overflow: hidden;
}
.entry-flow__inner {
  position: relative;
  z-index: 1;
  max-width: 970px;
  margin: 0 auto 70px;
}

.entry-flow__block {
  position: relative;
  text-align: center;
}

.entry-flow__block + .entry-flow__block {
  margin-top: 55px;
}

.entry-flow__en {
  margin: 0 0 5px;
  color: var(--bgcolor-darkblue);
  font-family: var(--helvetica-neue-font);
  font-size: 1.3rem;
  font-weight: 900;
  letter-spacing: .18em;
}

.entry-flow__ttl {
  position: relative;
  margin: 0 0 34px;
  padding-bottom: 24px;
  color: #30333a;
  font-size: clamp(2.4rem, 3.5vw, 3.2rem);
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: .06em;
}

.entry-flow__ttl::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 118px;
  height: 5px;
  background: var(--bgcolor-darkblue);
  transform: translateX(-50%);
}

.entry-flow__text {
  margin: 0 0 34px;
  color: #333847;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: .07em;
}


.entry-flow__block--web {
  padding: 72px 0 0;
  border-top: 1px solid rgba(24, 27, 57, .14);
}

@media screen and (max-width: 767px) {

  .entry-flow__inner {
    margin-bottom: 50px;
  }

  .entry-flow__block + .entry-flow__block {
    margin-top: 50px;
  }

  .entry-flow__ttl {
    font-size: 2.3rem;
    margin-bottom: 25px;
  }

  .entry-flow__block--web {
    padding-top: 56px;
  }
}


.contact_note {
  max-width: 970px;
  margin: 0 auto 56px;
  border: 1px solid rgba(17, 24, 39, 0.16);
  overflow: hidden;
  @media (max-width: 969px) {
    padding: 0;
    border: none;
  }
  .contact_note__tit {
    position: relative;
    padding: 24px 72px 24px 32px;
    background: var(--bgcolor-darkblue);
    color: #fff;
    cursor: pointer;

    @media (max-width: 767px) {
      padding: 20px 58px 20px 22px;
    }

    p {
      margin: 0;
      font-size: 1.9rem;
      font-weight: 900;
      letter-spacing: 0.06em;

      @media (max-width: 767px) {
        font-size: 1.6rem;
      }
    }

    &::after {
      content: "+";
      position: absolute;
      right: 30px;
      top: 50%;
      transform: translateY(-50%);
      font-size: 2.8rem;
      font-weight: 300;
      line-height: 1;

      @media (max-width: 767px) {
        right: 22px;
      }
    }

    &.open::after {
      content: "−";
    }
  }

  .accordion_content {
    max-height: 0;
    margin: 0;
    padding: 0 36px;
    overflow: hidden;
    opacity: 0;
    list-style: none;
    background: #fff;
    transition: max-height 0.4s ease, padding 0.4s ease, opacity 0.3s ease;

    @media (max-width: 767px) {
      padding: 0 22px;
    }

    li {
      position: relative;
      padding-left: 22px;
      color: #333847;
      font-size: 1.6rem;
      font-weight: 700;
      line-height: 1.9;
      letter-spacing: 0.04em;

      & + li {
        margin-top: 12px;
      }

      &::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0.85em;
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: var(--bgcolor-darkblue);
      }
    }
  }

  .contact_note__tit.open + .accordion_content {
    max-height: 800px;
    padding: 30px 36px 34px;
    opacity: 1;

    @media (max-width: 767px) {
      padding: 24px 22px;
    }
  }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーー
 エントリーありがとうございます
ーーーーーーーーーーーーーーーーーーーーーーーーーー */
.entry-thanks {
  padding: 120px 0 140px;
  text-align: center;

  .entry-thanks__inner {
    max-width: 780px;
    margin: 0 auto;
    padding: 0 20px;
  }

  .entry-thanks__icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 28px;
    border-radius: 50%;
    background: var(--bgcolor-darkblue);
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 3.2rem;
    font-weight: 900;
    animation: pop 0.5s ease;
    @media (max-width: 767px) {
      width: 60px;
      height: 60px;
      font-size: 2.7rem;
    }
  }

  @keyframes pop {
    0% { transform: scale(0.6); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
  }

  .entry-thanks__title {
    margin: 0 0 18px;
    font-size: 3.2rem;
    font-weight: 900;
    letter-spacing: 0.04em;

    @media (max-width: 767px) {
      font-size: 2.4rem;
    }
  }

  .entry-thanks__lead {
    margin: 0 0 36px;
    font-size: 1.6rem;
    font-weight: 700;
    color: #444;
  }

  .entry-thanks__box {
    margin: 0 auto 50px;
    padding: 32px 36px;
    border: 1px solid rgba(17, 24, 39, 0.16);
    background: #f8f9fb;
    font-size: 1.5rem;
    line-height: 2;
    font-weight: 600;
    color: #333;

    @media (max-width: 767px) {
      padding: 24px 20px;
    }
  }

  .entry-thanks__actions {
    display: flex;
    justify-content: center;
    gap: 20px;

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

  .entry-thanks__btn {
    min-width: 240px;
    height: 60px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--bgcolor-darkblue);
    color: #fff;
    font-size: 1.5rem;
    font-weight: 900;
    text-decoration: none;
    transition: 0.3s ease;

    &:hover {
      transform: translateY(-3px);
      opacity: 0.85;
    }
  }

  .entry-thanks__btn--ghost {
    background: #fff;
    color: var(--bgcolor-darkblue);
    border: 1px solid var(--bgcolor-darkblue);

    &:hover {
      background: var(--bgcolor-darkblue);
      color: #fff;
    }
  }
}


/* ーーーーーーーーーーーーーーーーーーーーーーーーーー
 プライバシーポリシー
ーーーーーーーーーーーーーーーーーーーーーーーーーー */
.privacy-policy {
  .lower_head {
    & .lower-mv {
        & .lower-mv__content {
            .lower-ttl {
              letter-spacing: 0.4rem;
              font-size: 12rem;
              @media (max-width: 1230px) {
                font-size: 10rem;
              }
              @media (max-width: 1150px) {
                font-size: 14rem;
              }
              @media (max-width: 1024px) {
                font-size: 9rem;
              }
              @media (max-width: 820px) {
                font-size: 8rem;
              }
              @media (max-width: 768px) {
                font-size: 7.1rem;
              }
              @media (max-width: 767px) {
                  font-size: 3.3rem;
                  letter-spacing: 0.1rem;
              }
    }
   }
  }
 }
}

.privacy-page {
  background: #fff;
  color: var(--bgcolor-darkblue);
}

.privacy-content {
  position: relative;
  padding: 110px 0 130px;
  overflow: hidden;

  .privacy-content__inner {
    position: relative;
    z-index: 1;
    max-width: 1040px;
  }

  .privacy-content__head {
    margin-bottom: 64px;
    text-align: center;

    span {
      display: block;
      margin-bottom: 12px;
      color: #0059a7;
      font-size: 1.3rem;
      font-weight: 900;
      letter-spacing: 0.16em;
    }

    h1 {
      position: relative;
      margin: 0;
      padding-bottom: 22px;
      font-size: 3.6rem;
      font-weight: 900;
      line-height: 1.45;
      letter-spacing: 0.04em;

      &::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 0;
        width: 86px;
        height: 3px;
        transform: translateX(-50%);
        background: var(--bgcolor-darkblue);
      }

      @media (max-width: 767px) {
        font-size: 2.6rem;
      }
    }
  }

  .privacy-content__body {
    padding: 54px 64px 60px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(17, 24, 39, 0.14);
    box-shadow: 0 30px 80px rgba(17, 24, 39, 0.08);
    backdrop-filter: blur(4px);

    @media (max-width: 767px) {
      padding: 34px 22px 40px;
    }
  }

  .privacy-content__lead {
    margin: 0 0 46px;
    color: #333847;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 2.1;
    letter-spacing: 0.04em;

    @media (max-width: 767px) {
      font-size: 1.6rem;
    }
  }

  section {
    padding: 34px 0;
    border-top: 1px solid rgba(17, 24, 39, 0.12);

    &:first-of-type {
      padding-top: 0;
      border-top: none;
    }

    &:last-of-type {
      padding-bottom: 0;
    }

    h2 {
      position: relative;
      margin: 0 0 18px;
      font-size: 2rem;
      font-weight: 900;
      line-height: 1.6;
      letter-spacing: 0.04em;

      @media (max-width: 767px) {
        font-size: 1.9rem;
      }
    }

    p,
    li {
      color: #333847;
      font-size: 1.7rem;
      font-weight: 600;
      line-height: 2.05;
      letter-spacing: 0.04em;

      @media (max-width: 767px) {
        font-size: 1.6rem;
      }
    }

    p {
      margin: 0;
    }

    ul {
      margin: 12px 0 0;
      padding: 0;
      list-style: none;

      li {
        position: relative;
        padding-left: 1.2em;

        &::before {
          content: "・";
          position: absolute;
          left: 0;
          top: 0;
        }
      }
    }

    a {
      color: #0059a7;
      font-weight: 800;
      text-decoration: underline;
      text-underline-offset: 4px;
    }
  }

  .privacy-content__btn {
    margin-top: 56px;
    text-align: center;

    a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      min-width: 230px;
      height: 60px;
      padding: 0 28px;
      border-radius: 999px;
      background: var(--bgcolor-darkblue);
      color: #fff;
      font-size: 1.5rem;
      font-weight: 900;
      letter-spacing: 0.05em;
      text-decoration: none;
      transition: transform 0.3s ease, opacity 0.3s ease;

      span {
        width: 32px;
        height: 32px;
        display: grid;
        place-items: center;
        border-radius: 50%;
        background: #fff;
        color: var(--bgcolor-darkblue);
        transition: transform 0.3s ease;
      }


    }
  }
}


.recruit-list__filter,
.recruit-detail__inner {
.growth__links {
  margin-top: 100px;
  @media (max-width: 767px) {
    margin-top: 70px;
  }
  a {
    border: 1px solid #333;
  }
}
}
