@charset "utf-8";

/* ==================================================
 * ==================================================
 * recruit-page
 * ==================================================
 * ================================================== */
.recruit-page{
  min-width: 0;
}

/* ==================================================
 * ==================================================
 * recruit-intro
 * ==================================================
 * ================================================== */
.recruit-intro{
  --recruit-intro-accent-color: var(--color-brand);
  --recruit-intro-subtle-color: rgba(255,255,255,.80);

  --recruit-intro-stage-height: min(180svh, max(120svh, 128vw));
  --recruit-intro-media-shift: 0px;
  --recruit-intro-media-scale: 1;
  --recruit-intro-media-scrim-side: linear-gradient(90deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.20) 45%, rgba(0,0,0,.48) 100%);
  --recruit-intro-media-scrim-bottom: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.25) 100%);

  position: relative;
}
.recruit-intro__inner{
  position: relative;
}
.recruit-intro__frame{
  width: 100vw;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  overflow: hidden;
  z-index: 0;
  transform: translateX(-50%);
}
.recruit-intro__media{
  position: absolute;
  inset: -10svh 0;
}
.recruit-intro__media::after{
  content: "";
  background:
    var(--recruit-intro-media-scrim-side),
    var(--recruit-intro-media-scrim-bottom);
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.recruit-intro__image{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.recruit-intro__main{
  position: relative;
  z-index: 1;
}
.recruit-intro__content{
  display: grid;
  grid-template-columns: fit-content(100%);
  align-content: center;
  justify-content: start;
  row-gap: clamp(1.5rem, 2vw, 2rem);
  width: min(100%, var(--layout-inner-width));
  min-height: var(--recruit-intro-stage-height);
  padding-top: calc(var(--layout-header-height) + var(--space-panel-block));
  padding-bottom: calc(env(safe-area-inset-bottom) + var(--space-panel-block));
  padding-inline: var(--layout-inner-padding);
  margin-inline: auto;
}
.recruit-intro__head{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  width: fit-content;
  max-width: 100%;
  min-width: 0;
}
.recruit-intro__title-en{
  color: var(--recruit-intro-accent-color);
  font-size: var(--fs-xs);
  font-weight: 600;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.recruit-intro__title-ja{
  font-size: var(--fs-6xl);
  font-weight: 600;
  line-height: 1.4;
}
.recruit-intro__body{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  min-width: 0;
}
.recruit-intro__lead{
  font-size: var(--fs-2xl);
}
.recruit-intro__text{
  color: var(--recruit-intro-subtle-color);
}

/* ==================================================
 * recruit-intro responsive 1025px
 * ================================================== */
@media (min-width: 1025px){
  .recruit-intro__content{
    justify-content: end;
  }
}

/* ==================================================
 * recruit-intro motion
 * ================================================== */
.recruit-page.is-recruit-intro-ready .recruit-intro__media{
  transform: translate3d(0, var(--recruit-intro-media-shift), 0) scale(var(--recruit-intro-media-scale));
  will-change: transform;
}
.recruit-page.is-recruit-intro-ready .recruit-intro__head{
  opacity: var(--recruit-intro-head-opacity, 0);
  transform: translate3d(0, var(--recruit-intro-head-offset, 2rem), 0);
  will-change: opacity, transform;
}
.recruit-page.is-recruit-intro-ready .recruit-intro__body{
  opacity: var(--recruit-intro-body-opacity, 0);
  transform: translate3d(0, var(--recruit-intro-body-offset, 2rem), 0);
  will-change: opacity, transform;
}

/* ==================================================
 * recruit-intro reduced motion
 * ================================================== */
@media (prefers-reduced-motion: reduce){
  .recruit-page.is-recruit-intro-ready .recruit-intro__media{
    transform: none;
    will-change: auto;
  }
  .recruit-page.is-recruit-intro-ready .recruit-intro__head,
  .recruit-page.is-recruit-intro-ready .recruit-intro__body{
    opacity: 1;
    transform: none;
    will-change: auto;
  }
}











/* ==================================================
 * ==================================================
 * recruit-message
 * ==================================================
 * ================================================== */
.recruit-message{
  width: 100%;
  min-width: 0;
}
.recruit-message__inner{
  display: grid;
  row-gap: clamp(3rem, 6vw, 6rem);
  min-width: 0;
}
.recruit-message__header{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  min-width: 0;
}
.recruit-message__meta{
  display: flex;
  align-items: center;
  column-gap: clamp(1rem, 1.5vw, 1.5rem);
}
.recruit-message__number{
  color: var(--recruit-muted);
  font-size: var(--fs-2xs);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: .12em;
}
.recruit-message__title-en{
  color: var(--recruit-brand-dark);
  font-size: var(--fs-xs);
  font-weight: 600;
  line-height: 1;
  letter-spacing: .2em;
}
.recruit-message__title-ja{
  font-size: var(--fs-5xl);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.02em;
}
.recruit-message__catch-wrap{
  min-width: 0;
}
.recruit-message__catch{
  font-size: clamp(2.75rem, 6vw, 6rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.045em;
}
.recruit-message__main{
  display: grid;
  row-gap: clamp(3rem, 5vw, 5rem);
  min-width: 0;
}
.recruit-message__media{
  aspect-ratio: 4 / 3;
  width: 100%;
  min-width: 0;
  overflow: hidden;
}
.recruit-message__image{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.recruit-message__content{
  display: grid;
  align-content: center;
  row-gap: clamp(1.5rem, 2.5vw, 2.5rem);
  width: min(100%, 40rem);
  min-width: 0;
}
.recruit-message__lead{
  font-size: var(--fs-xl);
  font-weight: 500;
  line-height: 1.9;
}
.recruit-message__text{
  color: var(--recruit-text);
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
}
.recruit-message__items{
  display: grid;
  min-width: 0;
  padding: 0;
  border-top: 1px solid var(--recruit-rule);
  margin: 0;
  list-style: none;
}
.recruit-message__item{
  display: grid;
  row-gap: clamp(.75rem, 1vw, 1rem);
  min-width: 0;
  padding-block: clamp(1.75rem, 3vw, 3rem);
  border-bottom: 1px solid var(--recruit-rule);
}
.recruit-message__item-title{
  color: var(--recruit-brand-dark);
  font-size: var(--fs-2xs);
  font-weight: 600;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.recruit-message__item-text{
  font-size: var(--fs-lg);
  font-weight: 500;
  line-height: 1.6;
}
.recruit-message__closing{
  text-align: center;
  display: grid;
  justify-items: center;
  row-gap: clamp(1.5rem, 2.5vw, 2.5rem);
  width: min(100%, 52rem);
  margin-inline: auto;
}
.recruit-message__closing::before{
  content: "";
  background: var(--recruit-brand-dark);
  display: block;
  width: clamp(3rem, 5vw, 5rem);
  height: 1px;
}
.recruit-message__closing-title{
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -.03em;
}
.recruit-message__closing-text{
  color: var(--recruit-text);
  width: min(100%, 32rem);
  line-height: 2;
}

/* ==================================================
 * recruit-message responsive 768px
 * ================================================== */
@media (min-width: 768px){
  .recruit-message__items{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .recruit-message__item{
    padding-inline: clamp(1.5rem, 3vw, 3rem);
  }
  .recruit-message__item:nth-child(even){
    border-left: 1px solid var(--recruit-rule);
  }
}

/* ==================================================
 * recruit-message responsive 1025px
 * ================================================== */
@media (min-width: 1025px){
  .recruit-message__main{
    grid-template-columns: minmax(0, 1.15fr) minmax(20rem, .85fr);
    align-items: center;
    column-gap: clamp(3rem, 6vw, 6rem);
  }
  .recruit-message__media{
    aspect-ratio: 4 / 3;
  }
  .recruit-message__content{
    justify-self: end;
  }
}



/* ==================================================
 * ==================================================
 * recruit-work
 * ==================================================
 * ================================================== */
.recruit-work{
  width: 100%;
  min-width: 0;
}
.recruit-work__inner{
  display: grid;
  row-gap: clamp(3rem, 6vw, 6rem);
  min-width: 0;
}
.recruit-work__header{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  min-width: 0;
}
.recruit-work__meta{
  display: flex;
  align-items: center;
  column-gap: clamp(1rem, 1.5vw, 1.5rem);
}
.recruit-work__number{
  color: var(--recruit-muted);
  font-size: var(--fs-2xs);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: .12em;
}
.recruit-work__title-en{
  color: var(--recruit-brand-dark);
  font-size: var(--fs-xs);
  font-weight: 600;
  line-height: 1;
  letter-spacing: .2em;
}
.recruit-work__title-ja{
  font-size: var(--fs-5xl);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.02em;
}
.recruit-work__intro{
  display: grid;
  row-gap: clamp(2rem, 4vw, 4rem);
  min-width: 0;
}
.recruit-work__catch{
  max-width: 12em;
  font-size: clamp(2.5rem, 5vw, 5rem);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.04em;
}
.recruit-work__body{
  display: grid;
  row-gap: clamp(1.5rem, 2.5vw, 2.5rem);
  width: min(100%, 42rem);
  min-width: 0;
}
.recruit-work__lead{
  font-size: var(--fs-xl);
  font-weight: 500;
  line-height: 1.9;
}
.recruit-work__text{
  color: var(--recruit-text);
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
}
.recruit-work__media{
  aspect-ratio: 4 / 3;
  width: 100%;
  min-width: 0;
  overflow: hidden;
}
.recruit-work__image{
  object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
  transition: transform 1400ms cubic-bezier(.22,1,.36,1);
}
html.is-ui-reveal-enhanced .recruit-page .recruit-work__media:not(.is-ui-reveal-visible) .recruit-work__image{
  transform: scale(1.06);
}
.recruit-work__items{
  display: grid;
  min-width: 0;
  padding: 0;
  border-top: 1px solid var(--recruit-rule);
  margin: 0;
  list-style: none;
}
.recruit-work__item{
  display: grid;
  align-content: start;
  row-gap: clamp(1.5rem, 2vw, 2rem);
  min-width: 0;
  padding-block: clamp(2rem, 3.5vw, 3.5rem);
  border-bottom: 1px solid var(--recruit-rule);
}
.recruit-work__item-head{
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  column-gap: clamp(1.25rem, 2vw, 2rem);
  min-width: 0;
}
.recruit-work__item-number{
  color: var(--recruit-muted);
  width: 2.5rem;
  padding-top: .25rem;
  font-size: var(--fs-2xs);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: .12em;
}
.recruit-work__item-titles{
  display: grid;
  row-gap: .75rem;
  min-width: 0;
}
.recruit-work__item-title-en{
  color: var(--recruit-brand-dark);
  font-size: var(--fs-2xs);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.recruit-work__item-title-ja{
  font-size: var(--fs-2xl);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -.02em;
}
.recruit-work__item-text{
  color: var(--recruit-text);
  padding-left: calc(2.5rem + clamp(1.25rem, 2vw, 2rem));
  font-size: var(--fs-sm);
  line-height: 2;
}

/* ==================================================
 * recruit-work responsive 768px
 * ================================================== */
@media (min-width: 768px){
  .recruit-work__items{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .recruit-work__item{
    padding-inline: clamp(1.5rem, 3vw, 3rem);
  }
  .recruit-work__item:nth-child(even){
    border-left: 1px solid var(--recruit-rule);
  }
}

/* ==================================================
 * recruit-work responsive 1025px
 * ================================================== */
@media (min-width: 1025px){
  .recruit-work__intro{
    grid-template-columns: minmax(0, .9fr) minmax(24rem, 1.1fr);
    align-items: start;
    column-gap: clamp(4rem, 8vw, 8rem);
  }
  .recruit-work__body{
    justify-self: end;
  }
  .recruit-work__media{
    aspect-ratio: 16 / 9;
  }
}

/* ==================================================
 * recruit-work reduced motion
 * ================================================== */
@media (prefers-reduced-motion: reduce){
  .recruit-work__image{
    transition: none;
  }
  html.is-ui-reveal-enhanced .recruit-page .recruit-work__media:not(.is-ui-reveal-visible) .recruit-work__image{
    transform: none;
  }
}




/* ==================================================
 * ==================================================
 * recruit-culture
 * ==================================================
 * ================================================== */
.recruit-culture{
  --recruit-culture-text: rgba(255,255,255,.72);
  --recruit-culture-muted: rgba(255,255,255,.48);

  width: 100%;
  min-width: 0;
}
.recruit-culture__inner{
  display: grid;
  row-gap: clamp(3rem, 6vw, 6rem);
  min-width: 0;
}
.recruit-culture__header{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  min-width: 0;
}
.recruit-culture__meta{
  display: flex;
  align-items: center;
  column-gap: clamp(1rem, 1.5vw, 1.5rem);
}
.recruit-culture__number{
  color: var(--recruit-culture-muted);
  font-size: var(--fs-2xs);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: .12em;
}
.recruit-culture__title-en{
  color: var(--recruit-brand);
  font-size: var(--fs-xs);
  font-weight: 600;
  line-height: 1;
  letter-spacing: .2em;
}
.recruit-culture__title-ja{
  color: var(--color-fg-light);
  font-size: var(--fs-5xl);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.02em;
}
.recruit-culture__intro{
  display: grid;
  row-gap: clamp(2rem, 4vw, 4rem);
  min-width: 0;
}
.recruit-culture__catch{
  color: var(--color-fg-light);
  max-width: 11em;
  font-size: clamp(2.75rem, 5.5vw, 5.5rem);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -.045em;
}
.recruit-culture__body{
  display: grid;
  row-gap: clamp(1.5rem, 2.5vw, 2.5rem);
  width: min(100%, 42rem);
  min-width: 0;
}
.recruit-culture__lead{
  color: var(--color-fg-light);
  font-size: var(--fs-xl);
  font-weight: 500;
  line-height: 1.9;
}
.recruit-culture__text{
  color: var(--recruit-culture-text);
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
}
.recruit-culture__items{
  display: grid;
  min-width: 0;
  padding: 0;
  border-top: 1px solid var(--recruit-rule-light);
  margin: 0;
  list-style: none;
}
.recruit-culture__item{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  min-width: 0;
  padding-block: clamp(2.5rem, 4vw, 4rem);
  border-bottom: 1px solid var(--recruit-rule-light);
}
.recruit-culture__item-number{
  color: var(--recruit-culture-muted);
  font-size: var(--fs-2xs);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: .12em;
}
.recruit-culture__item-title-en{
  color: var(--recruit-brand);
  font-size: var(--fs-2xs);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .18em;
}
.recruit-culture__item-title-ja{
  color: var(--color-fg-light);
  font-size: var(--fs-2xl);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -.02em;
}
.recruit-culture__item-text{
  color: var(--recruit-culture-text);
  max-width: 46rem;
  line-height: 2;
}

/* ==================================================
 * recruit-culture responsive 1025px
 * ================================================== */
@media (min-width: 1025px){
  .recruit-culture__intro{
    grid-template-columns: minmax(0, .9fr) minmax(24rem, 1.1fr);
    align-items: start;
    column-gap: clamp(4rem, 8vw, 8rem);
  }
  .recruit-culture__body{
    justify-self: end;
  }
  .recruit-culture__item{
    grid-template-columns: 3rem minmax(8rem, .65fr) minmax(12rem, .9fr) minmax(24rem, 1.75fr);
    align-items: start;
    column-gap: clamp(1.5rem, 3vw, 3rem);
  }
  .recruit-culture__item-number,
  .recruit-culture__item-title-en{
    padding-top: .5rem;
  }
}



/* ==================================================
 * ==================================================
 * recruit-flow
 * ==================================================
 * ================================================== */
.recruit-flow{
  width: 100%;
  min-width: 0;
}
.recruit-flow__inner{
  display: grid;
  row-gap: clamp(3rem, 6vw, 6rem);
  min-width: 0;
}
.recruit-flow__header{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  min-width: 0;
}
.recruit-flow__meta{
  display: flex;
  align-items: center;
  column-gap: clamp(1rem, 1.5vw, 1.5rem);
}
.recruit-flow__number{
  color: var(--recruit-muted);
  font-size: var(--fs-2xs);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: .12em;
}
.recruit-flow__title-en{
  color: var(--recruit-brand-dark);
  font-size: var(--fs-xs);
  font-weight: 600;
  line-height: 1;
  letter-spacing: .2em;
}
.recruit-flow__title-ja{
  font-size: var(--fs-5xl);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.02em;
}
.recruit-flow__intro{
  display: grid;
  row-gap: clamp(2rem, 4vw, 4rem);
  min-width: 0;
}
.recruit-flow__catch{
  max-width: 12em;
  font-size: clamp(2.5rem, 5vw, 5rem);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.04em;
}
.recruit-flow__body{
  display: grid;
  row-gap: clamp(1.5rem, 2.5vw, 2.5rem);
  width: min(100%, 42rem);
  min-width: 0;
}
.recruit-flow__lead{
  font-size: var(--fs-xl);
  font-weight: 500;
  line-height: 1.9;
}
.recruit-flow__text{
  color: var(--recruit-text);
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
}
.recruit-flow__items{
  display: grid;
  min-width: 0;
  padding: 0;
  margin: 0;
  list-style: none;
}
.recruit-flow__item{
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  column-gap: clamp(1.5rem, 3vw, 3rem);
  min-width: 0;
  position: relative;
}
.recruit-flow__item-marker{
  display: grid;
  grid-template-rows: auto auto 1fr;
  justify-items: center;
  min-height: 100%;
  position: relative;
}
.recruit-flow__item-number{
  color: var(--recruit-muted);
  padding-bottom: 1rem;
  font-size: var(--fs-2xs);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: .12em;
}
.recruit-flow__item-dot{
  background: var(--recruit-brand-dark);
  display: block;
  width: .625rem;
  height: .625rem;
  border-radius: 50%;
  position: relative;
  z-index: 1;
}
.recruit-flow__item:not(:last-child) .recruit-flow__item-marker::after{
  content: "";
  background: var(--recruit-rule);
  width: 1px;
  min-height: clamp(4rem, 8vw, 8rem);
  margin-top: .75rem;
}
.recruit-flow__item-content{
  display: grid;
  align-content: start;
  row-gap: clamp(.75rem, 1.25vw, 1.25rem);
  min-width: 0;
  padding-bottom: clamp(3rem, 6vw, 6rem);
}
.recruit-flow__item:last-child .recruit-flow__item-content{
  padding-bottom: 0;
}
.recruit-flow__item-time{
  color: var(--recruit-brand-dark);
  font-size: var(--fs-sm);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: .08em;
}
.recruit-flow__item-title{
  font-size: var(--fs-2xl);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -.02em;
}
.recruit-flow__item-text{
  color: var(--recruit-text);
  max-width: 46rem;
  line-height: 2;
}
.recruit-flow__note{
  color: var(--recruit-muted);
  padding-top: clamp(1.5rem, 2vw, 2rem);
  border-top: 1px solid var(--recruit-rule);
  font-size: var(--fs-xs);
  line-height: 1.8;
}

/* ==================================================
 * recruit-flow responsive 1025px
 * ================================================== */
@media (min-width: 1025px){
  .recruit-flow__intro{
    grid-template-columns: minmax(0, .9fr) minmax(24rem, 1.1fr);
    align-items: start;
    column-gap: clamp(4rem, 8vw, 8rem);
  }
  .recruit-flow__body{
    justify-self: end;
  }
  .recruit-flow__items{
    width: min(100%, 74rem);
    margin-left: auto;
  }
  .recruit-flow__item{
    grid-template-columns: 4.5rem minmax(0, 1fr);
  }
  .recruit-flow__item-content{
    grid-template-columns: minmax(6rem, .3fr) minmax(12rem, .7fr) minmax(24rem, 1.6fr);
    align-items: start;
    column-gap: clamp(2rem, 4vw, 4rem);
    row-gap: 0;
  }
  .recruit-flow__item-time{
    padding-top: .5rem;
  }
  .recruit-flow__item-title{
    padding-right: clamp(1rem, 2vw, 2rem);
  }
}

/* ==================================================
 * ==================================================
 * recruit-person
 * ==================================================
 * ================================================== */
.recruit-person{
  width: 100%;
  min-width: 0;
}
.recruit-person__inner{
  display: grid;
  row-gap: clamp(3rem, 6vw, 6rem);
  min-width: 0;
}
.recruit-person__header{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  min-width: 0;
}
.recruit-person__meta{
  display: flex;
  align-items: center;
  column-gap: clamp(1rem, 1.5vw, 1.5rem);
}
.recruit-person__number{
  color: var(--recruit-muted);
  font-size: var(--fs-2xs);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: .12em;
}
.recruit-person__title-en{
  color: var(--recruit-brand-dark);
  font-size: var(--fs-xs);
  font-weight: 600;
  line-height: 1;
  letter-spacing: .2em;
}
.recruit-person__title-ja{
  font-size: var(--fs-5xl);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.02em;
}
.recruit-person__catch-wrap{
  min-width: 0;
}
.recruit-person__catch{
  font-size: clamp(2.75rem, 6vw, 6rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.045em;
}
.recruit-person__main{
  display: grid;
  row-gap: clamp(3rem, 5vw, 5rem);
  min-width: 0;
}
.recruit-person__media{
  aspect-ratio: 4 / 3;
  width: 100%;
  min-width: 0;
  overflow: hidden;
}
.recruit-person__image{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.recruit-person__content{
  display: grid;
  align-content: center;
  row-gap: clamp(1.5rem, 2.5vw, 2.5rem);
  width: min(100%, 40rem);
  min-width: 0;
}
.recruit-person__lead{
  font-size: var(--fs-xl);
  font-weight: 500;
  line-height: 1.9;
}
.recruit-person__text{
  color: var(--recruit-text);
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
}
.recruit-person__items{
  display: grid;
  min-width: 0;
  padding: 0;
  border-top: 1px solid var(--recruit-rule);
  margin: 0;
  list-style: none;
}
.recruit-person__item{
  display: grid;
  align-content: start;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  min-width: 0;
  padding-block: clamp(2.5rem, 4vw, 4rem);
  border-bottom: 1px solid var(--recruit-rule);
}
.recruit-person__item-number{
  color: var(--recruit-muted);
  font-size: var(--fs-2xs);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: .12em;
}
.recruit-person__item-title{
  font-size: var(--fs-2xl);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -.02em;
}
.recruit-person__item-text{
  color: var(--recruit-text);
  line-height: 2;
}
.recruit-person__note{
  color: var(--recruit-muted);
  padding-top: clamp(1.5rem, 2vw, 2rem);
  border-top: 1px solid var(--recruit-rule);
  font-size: var(--fs-xs);
  line-height: 1.8;
}

/* ==================================================
 * recruit-person responsive 768px
 * ================================================== */
@media (min-width: 768px){
  .recruit-person__items{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .recruit-person__item{
    padding-inline: clamp(1.5rem, 3vw, 3rem);
  }
  .recruit-person__item + .recruit-person__item{
    border-left: 1px solid var(--recruit-rule);
  }
}

/* ==================================================
 * recruit-person responsive 1025px
 * ================================================== */
@media (min-width: 1025px){
  .recruit-person__main{
    grid-template-columns: minmax(0, 1.15fr) minmax(20rem, .85fr);
    align-items: center;
    column-gap: clamp(3rem, 6vw, 6rem);
  }
  .recruit-person__media{
    aspect-ratio: 4 / 3;
  }
  .recruit-person__content{
    justify-self: end;
  }
}


/* ==================================================
 * ==================================================
 * recruit-requirements
 * ==================================================
 * ================================================== */
.recruit-requirements{
  width: 100%;
  min-width: 0;
}
.recruit-requirements__inner{
  display: grid;
  row-gap: clamp(3rem, 6vw, 6rem);
  min-width: 0;
}
.recruit-requirements__header{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  min-width: 0;
}
.recruit-requirements__meta{
  display: flex;
  align-items: center;
  column-gap: clamp(1rem, 1.5vw, 1.5rem);
}
.recruit-requirements__number{
  color: var(--recruit-muted);
  font-size: var(--fs-2xs);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: .12em;
}
.recruit-requirements__title-en{
  color: var(--recruit-brand-dark);
  font-size: var(--fs-xs);
  font-weight: 600;
  line-height: 1;
  letter-spacing: .2em;
}
.recruit-requirements__title-ja{
  font-size: var(--fs-5xl);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.02em;
}
.recruit-requirements__intro{
  display: grid;
  row-gap: clamp(1.5rem, 2.5vw, 2.5rem);
  width: min(100%, 46rem);
  min-width: 0;
}
.recruit-requirements__lead{
  font-size: var(--fs-xl);
  font-weight: 500;
  line-height: 1.9;
}
.recruit-requirements__text{
  color: var(--recruit-text);
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
}
.recruit-requirements__list{
  min-width: 0;
  border-top: 1px solid var(--recruit-rule);
  margin: 0;
}
.recruit-requirements__item{
  display: grid;
  row-gap: 1rem;
  min-width: 0;
  padding-block: clamp(1.75rem, 3vw, 3rem);
  border-bottom: 1px solid var(--recruit-rule);
}
.recruit-requirements__term{
  color: var(--recruit-brand-dark);
  font-size: var(--fs-xs);
  font-weight: 600;
  line-height: 1.7;
}
.recruit-requirements__description{
  min-width: 0;
  margin: 0;
  font-size: var(--fs-base);
  line-height: 2;
}
.recruit-requirements__note{
  color: var(--recruit-muted);
  padding-top: clamp(1.5rem, 2vw, 2rem);
  border-top: 1px solid var(--recruit-rule);
  font-size: var(--fs-xs);
  line-height: 1.8;
}

/* ==================================================
 * recruit-requirements responsive 1025px
 * ================================================== */
@media (min-width: 1025px){
  .recruit-requirements__intro{
    width: min(58%, 46rem);
    margin-left: auto;
  }
  .recruit-requirements__list{
    width: min(100%, 74rem);
    margin-left: auto;
  }
  .recruit-requirements__item{
    grid-template-columns: minmax(10rem, .35fr) minmax(0, 1.65fr);
    column-gap: clamp(3rem, 6vw, 6rem);
  }
  .recruit-requirements__term{
    padding-top: .125rem;
  }
  .recruit-requirements__note{
    width: min(100%, 74rem);
    margin-left: auto;
  }
}



/* ==================================================
 * ==================================================
 * recruit-selection
 * ==================================================
 * ================================================== */
.recruit-selection{
  width: 100%;
  min-width: 0;
}
.recruit-selection__inner{
  display: grid;
  row-gap: clamp(3rem, 6vw, 6rem);
  min-width: 0;
}
.recruit-selection__header{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  min-width: 0;
}
.recruit-selection__meta{
  display: flex;
  align-items: center;
  column-gap: clamp(1rem, 1.5vw, 1.5rem);
}
.recruit-selection__number{
  color: var(--recruit-muted);
  font-size: var(--fs-2xs);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: .12em;
}
.recruit-selection__title-en{
  color: var(--recruit-brand-dark);
  font-size: var(--fs-xs);
  font-weight: 600;
  line-height: 1;
  letter-spacing: .2em;
}
.recruit-selection__title-ja{
  font-size: var(--fs-5xl);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.02em;
}
.recruit-selection__intro{
  display: grid;
  row-gap: clamp(1.5rem, 2.5vw, 2.5rem);
  width: min(100%, 46rem);
  min-width: 0;
}
.recruit-selection__lead{
  font-size: var(--fs-xl);
  font-weight: 500;
  line-height: 1.9;
}
.recruit-selection__text{
  color: var(--recruit-text);
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
}
.recruit-selection__items{
  display: grid;
  min-width: 0;
  padding: 0;
  border-top: 1px solid var(--recruit-rule);
  margin: 0;
  list-style: none;
}
.recruit-selection__item{
  display: grid;
  align-content: start;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  min-width: 0;
  padding-block: clamp(2.5rem, 4vw, 4rem);
  border-bottom: 1px solid var(--recruit-rule);
}
.recruit-selection__item-head{
  display: flex;
  align-items: center;
  column-gap: 1rem;
}
.recruit-selection__item-number{
  color: var(--recruit-muted);
  font-size: var(--fs-2xs);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: .12em;
}
.recruit-selection__item-title-en{
  color: var(--recruit-brand-dark);
  font-size: var(--fs-2xs);
  font-weight: 600;
  line-height: 1;
  letter-spacing: .18em;
}
.recruit-selection__item-title-ja{
  font-size: var(--fs-2xl);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -.02em;
}
.recruit-selection__item-text{
  color: var(--recruit-text);
  line-height: 2;
}
.recruit-selection__note{
  color: var(--recruit-muted);
  padding-top: clamp(1.5rem, 2vw, 2rem);
  border-top: 1px solid var(--recruit-rule);
  font-size: var(--fs-xs);
  line-height: 1.8;
}

/* ==================================================
 * recruit-selection responsive 768px
 * ================================================== */
@media (min-width: 768px){
  .recruit-selection__items{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .recruit-selection__item{
    padding-inline: clamp(1.5rem, 3vw, 3rem);
  }
  .recruit-selection__item:nth-child(even){
    border-left: 1px solid var(--recruit-rule);
  }
}

/* ==================================================
 * recruit-selection responsive 1025px
 * ================================================== */
@media (min-width: 1025px){
  .recruit-selection__intro{
    width: min(58%, 46rem);
    margin-left: auto;
  }
  .recruit-selection__items{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .recruit-selection__item{
    padding-inline: clamp(1.25rem, 2.5vw, 2.5rem);
  }
  .recruit-selection__item + .recruit-selection__item{
    border-left: 1px solid var(--recruit-rule);
  }
}



/* ==================================================
 * ==================================================
 * recruit-faq
 * ==================================================
 * ================================================== */
.recruit-faq{
  width: 100%;
  min-width: 0;
}
.recruit-faq__inner{
  display: grid;
  row-gap: clamp(3rem, 6vw, 6rem);
  min-width: 0;
}
.recruit-faq__header{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  min-width: 0;
}
.recruit-faq__meta{
  display: flex;
  align-items: center;
  column-gap: clamp(1rem, 1.5vw, 1.5rem);
}
.recruit-faq__number{
  color: var(--recruit-muted);
  font-size: var(--fs-2xs);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: .12em;
}
.recruit-faq__title-en{
  color: var(--recruit-brand-dark);
  font-size: var(--fs-xs);
  font-weight: 600;
  line-height: 1;
  letter-spacing: .2em;
}
.recruit-faq__title-ja{
  font-size: var(--fs-5xl);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.02em;
}
.recruit-faq__intro{
  display: grid;
  row-gap: clamp(1.5rem, 2.5vw, 2.5rem);
  width: min(100%, 46rem);
  min-width: 0;
}
.recruit-faq__lead{
  font-size: var(--fs-xl);
  font-weight: 500;
  line-height: 1.9;
}
.recruit-faq__text{
  color: var(--recruit-text);
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
}
.recruit-faq__items{
  border-top: 1px solid var(--recruit-rule);
}
.recruit-faq__item{
  border-bottom: 1px solid var(--recruit-rule);
}
.recruit-faq__summary{
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) 2rem;
  align-items: center;
  column-gap: clamp(1rem, 2vw, 2rem);
  min-width: 0;
  padding-block: clamp(1.75rem, 3vw, 3rem);
  cursor: pointer;
  list-style: none;
}
.recruit-faq__summary::-webkit-details-marker{
  display: none;
}
.recruit-faq__question-mark,
.recruit-faq__answer-mark{
  color: var(--recruit-brand-dark);
  font-size: var(--fs-sm);
  font-weight: 600;
  line-height: 1;
  letter-spacing: .08em;
}
.recruit-faq__question{
  font-size: var(--fs-lg);
  font-weight: 500;
  line-height: 1.7;
}
.recruit-faq__icon{
  display: block;
  width: 1rem;
  height: 1rem;
  margin-left: auto;
  position: relative;
}
.recruit-faq__icon::before,
.recruit-faq__icon::after{
  content: "";
  background: currentColor;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 300ms cubic-bezier(.22,1,.36,1);
}
.recruit-faq__icon::before{
  width: 1rem;
  height: 1px;
}
.recruit-faq__icon::after{
  width: 1px;
  height: 1rem;
}
.recruit-faq__item[open] .recruit-faq__icon::after{
  transform: translate(-50%, -50%) rotate(90deg);
}
.recruit-faq__answer{
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  column-gap: clamp(1rem, 2vw, 2rem);
  min-width: 0;
  padding: 0 2rem clamp(2rem, 3.5vw, 3.5rem) 0;
}
.recruit-faq__answer-text{
  color: var(--recruit-text);
  display: grid;
  row-gap: 1rem;
  line-height: 2;
}
.recruit-faq__answer-text p{
  margin: 0;
}

/* ==================================================
 * recruit-faq responsive 1025px
 * ================================================== */
@media (min-width: 1025px){
  .recruit-faq__intro{
    width: min(58%, 46rem);
    margin-left: auto;
  }
  .recruit-faq__items{
    width: min(100%, 74rem);
    margin-left: auto;
  }
  .recruit-faq__summary{
    grid-template-columns: 3rem minmax(0, 1fr) 3rem;
  }
  .recruit-faq__answer{
    grid-template-columns: 3rem minmax(0, 1fr);
    padding-right: 3rem;
  }
}

/* ==================================================
 * recruit-faq reduced motion
 * ================================================== */
@media (prefers-reduced-motion: reduce){
  .recruit-faq__icon::before,
  .recruit-faq__icon::after{
    transition: none;
  }
}

/* ==================================================
 * ==================================================
 * recruit-entry
 * ==================================================
 * ================================================== */
.recruit-entry{
  width: 100%;
  min-width: 0;
}
.recruit-entry__inner{
  display: grid;
  row-gap: clamp(3rem, 6vw, 6rem);
  min-width: 0;
}
.recruit-entry__header{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  min-width: 0;
}
.recruit-entry__meta{
  display: flex;
  align-items: center;
  column-gap: clamp(1rem, 1.5vw, 1.5rem);
}
.recruit-entry__number{
  color: var(--recruit-muted);
  font-size: var(--fs-2xs);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: .12em;
}
.recruit-entry__title-en{
  color: var(--recruit-brand-dark);
  font-size: var(--fs-xs);
  font-weight: 600;
  line-height: 1;
  letter-spacing: .2em;
}
.recruit-entry__title-ja{
  font-size: var(--fs-5xl);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.02em;
}
.recruit-entry__intro{
  display: grid;
  row-gap: clamp(1.5rem, 2.5vw, 2.5rem);
  width: min(100%, 46rem);
  min-width: 0;
}
.recruit-entry__lead{
  font-size: var(--fs-xl);
  font-weight: 500;
  line-height: 1.9;
}
.recruit-entry__text{
  color: var(--recruit-text);
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
}
.recruit-entry__phone{
  color: var(--color-fg-light);
  background: var(--color-bg-dark);
  min-width: 0;
  padding-block: clamp(3rem, 6vw, 6rem);
  padding-inline: clamp(1.5rem, 5vw, 5rem);
}
.recruit-entry__phone-content{
  display: grid;
  row-gap: clamp(1.25rem, 2vw, 2rem);
  width: min(100%, 58rem);
}
.recruit-entry__phone-title{
  color: rgba(255,255,255,.68);
  font-size: var(--fs-sm);
  font-weight: 500;
  line-height: 1.7;
}
.recruit-entry__phone-number{
  color: var(--color-fg-light);
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .75rem 1.25rem;
  width: fit-content;
  max-width: 100%;
  font-size: clamp(2.25rem, 5vw, 5rem);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -.035em;
  transition: opacity 200ms ease;
}
.recruit-entry__phone-number:hover,
.recruit-entry__phone-number:focus-visible{
  opacity: .72;
}
.recruit-entry__phone-label{
  color: var(--recruit-brand);
  font-size: var(--fs-xs);
  font-weight: 600;
  line-height: 1;
  letter-spacing: .18em;
}
.recruit-entry__phone-text{
  color: rgba(255,255,255,.68);
  font-size: var(--fs-xs);
  line-height: 1.8;
}
.recruit-entry__form{
  display: grid;
  row-gap: clamp(3rem, 5vw, 5rem);
  min-width: 0;
}
.recruit-entry__form-head{
  display: grid;
  row-gap: clamp(1rem, 1.5vw, 1.5rem);
  min-width: 0;
}
.recruit-entry__form-title{
  font-size: var(--fs-3xl);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -.02em;
}
.recruit-entry__form-text{
  color: var(--recruit-text);
  width: min(100%, 46rem);
  line-height: 2;
}
.recruit-entry__form-body{
  min-width: 0;
}

/* ==================================================
 * recruit-entry responsive 1025px
 * ================================================== */
@media (min-width: 1025px){
  .recruit-entry__intro{
    width: min(58%, 46rem);
    margin-left: auto;
  }
  .recruit-entry__phone-content{
    margin-left: auto;
  }
  .recruit-entry__form-head{
    width: min(58%, 46rem);
    margin-left: auto;
  }
}