/* ----------------------------------------------------------
 careers / careers.html
---------------------------------------------------------- */

/* pagetitle
-------------------------------------------- */
.pagetitle {
  padding-block: 3rem;
}
.pagetitle .wrap {
  position: relative;
}
@media print, screen and (min-width: 768px) { /* SP以外 */
  .pagetitle .wrap .image {
    position: absolute;
    z-index: 10;
    right: 0;
    bottom: -16rem;
    width: 14rem;
    height: auto;
  }
}
@media print, screen and (min-width: 1061px) { /* PC */
  .pagetitle .copy {
    text-align: center;
  }
}
@media screen and (max-width: 1060px) { /* SP・Tab縦・PC狭幅 */
  .pagetitle::before {
    content: none;
  }
  .pagetitle::after {
    content: none;
  }
  .pagetitle .copy {
    text-align: left;
  }
  .pagetitle .wrap .image {
    bottom: -13rem;
    width: 13em;
    margin: 2rem auto 0;
  }
}

/* jobs
-------------------------------------------- */
section.jobs {
  padding-top: 8rem;
}
section.jobs .title-section {
  margin-bottom: 4rem;
}
@media screen and (max-width: 1060px) { /* SP・Tab縦・PC狭幅 */
  section.jobs {
    padding-top: 6rem;
    padding-bottom: 4rem;
  }
  section.jobs .title-section {
    margin-bottom: 2.5rem;
  }
}

/* ロゴアニメーション */
section.jobs .wrap.title-section {
  padding-top: 6rem;
}
section.jobs .wrap.title-section::before {
  content: "";
  position: absolute;
  top: initial;
  bottom: 100%;
  left: 50%;
  display: block;
  width: 200vw;
  height: auto;
  background-image: url("../images/tx-mothers.svg");
  background-repeat: repeat-x;
  background-position: 0 center;
  background-size: 104.167vw auto;
  aspect-ratio: 762 / 65;
  transform: translate(-50%, 50%);
  pointer-events: none;
  animation: mothersTextMarquee 42s linear infinite;
}
@keyframes mothersTextMarquee {
  0% {
    background-position-x: 104.167vw;
  }
  100% {
    background-position-x: 0;
  }
}
@media screen and (min-width: 744px) and (max-width: 1060px) { /* Tab縦・ PC狭幅 */
  section.jobs .wrap.title-section::before {
    background-size: 110vw auto;
    animation-name: mothersTextMarqueeTb;
  }
  @keyframes mothersTextMarqueeTb {
    0% {
      background-position-x: 110vw;
    }
    100% {
      background-position-x: 0;
    }
  }
}
@media screen and (max-width: 767px) { /* SP */
  section.jobs .wrap.title-section::before {
    background-size: 180vw auto;
    animation-name: mothersTextMarqueeSp;
  }
  @keyframes mothersTextMarqueeSp {
    0% {
      background-position-x: 180vw;
    }
    100% {
      background-position-x: 0;
    }
  }
}





/* jobs-item
-------------------------------------------- */
.jobs-item + .jobs-item {
  margin-top: 6rem;
}
section.jobs-item h3 {
  margin-bottom: 2rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--blue);
  color: var(--blue);
  font-weight: 600;
  font-size: 1.5rem;
}
section.jobs-item h4 {
  margin: 1rem 0;
  font-weight: 500;
  font-size: 1.125rem;
}
section.jobs-item dl  {
  margin-top: 2rem;
  border: 1px solid var(--lightblue);
  border-bottom: 0;
  background-color: var(--white);
}
section.jobs-item dl > dt {
  padding: 1rem;
  border-bottom: 1px solid var(--lightblue);
  background-color: var(--bgblue);
}
section.jobs-item dl > dd {
  padding: 1rem;
  border-bottom: 1px solid var(--lightblue);
}
section.jobs-item dl > dd p + p {
  margin-top: 1em;
}
section.jobs-item dl > dd .ul-normal li {
  margin-bottom: 0;
}

@media print, screen and (min-width: 1061px) { /* PC */
  section.jobs-item {
    max-width: 1100px;
    margin: 2rem auto;
  }
  section.jobs-item dl {
    display: grid;
    grid-template-columns: 18rem 1fr;
  }
  section.jobs-item dl > dt {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }
}
@media screen and (max-width: 1060px) { /* SP・Tab縦・PC狭幅 */
  .jobs-item + .jobs-item {
    margin-top: 4rem;
  }
  section.jobs-item {
    margin-inline: auto;
  }
  section.jobs-item h3 {
    margin-bottom: 1.5rem;
    font-size: clamp(1.25rem, 6vw, 1.5rem);
    line-height: 1.45;
  }
  section.jobs-item h4 {
    font-size: 1rem;
    line-height: 1.6;
  }
  section.jobs-item dl {
    margin-top: 1.5rem;
  }
  section.jobs-item dl > dt,
  section.jobs-item dl > dd {
    padding: 0.875rem;
  }
  section.jobs-item dl > dt {
    font-weight: 600;
  }
}


/* page-closing
-------------------------------------------- */
.page-closing {
  padding: 3rem 0;
  background-color: var(--white);
  text-align: center;
}
.page-closing h2 {
  margin-bottom: 1rem;
  font-weight: 600;
  font-size: 1.75rem;
  font-feature-settings: "halt";
}
@media screen and (max-width: 1060px) { /* SP・Tab縦・PC狭幅 */
  .page-closing {
    padding: 3rem 0;
  }
  .page-closing h2 {
    font-size: clamp(1.35rem, 6vw, 1.75rem);
    line-height: 1.5;
  }
}
