@charset "UTF-8";
/* 採用情報 */
.p-recruit__inner {
  width: min(100% - 48px, 1200px);
  margin: auto;
}

main.recruit {
  padding: 0;
}

.p-recruit__mv {
  width: 100%;
  height: 100vh;
  background: url(../images/recruit/recmv.webp) center no-repeat;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-recruit__mv {
    height: 100dvh;
    background: url(../images/recruit/recmv-sp.webp) center no-repeat;
    background-size: cover;
  }
}
.p-recruit__mv h1 {
  font-size: clamp(2rem, 0.944rem + 4.51vw, 5rem);
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 1.2;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .p-recruit__mv h1 {
    letter-spacing: 0.07em;
    line-height: 1.8;
    writing-mode: vertical-rl;
    text-align: left;
    text-indent: -0.35em;
  }
}

.p-recruit__lead {
  text-align: center;
  padding: 100px 0;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-recruit__lead {
    text-align: left;
    padding: 60px 0;
  }
}
.p-recruit__lead::after {
  content: "Join Our Team.";
  display: block;
  width: 100%;
  text-align: center;
  font-family: "Roboto", sans-serif;
  font-size: clamp(2.875rem, -0.294rem + 13.52vw, 11.875rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.7;
  color: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}
.p-recruit__lead h2 {
  text-align: center;
  font-size: clamp(1.625rem, 1.493rem + 0.56vw, 2rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.1875;
  padding-bottom: 48px;
}
@media screen and (max-width: 768px) {
  .p-recruit__lead h2 {
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.5;
    padding-bottom: 32px;
  }
}
.p-recruit__lead h2 br {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-recruit__lead h2 br {
    display: block;
  }
}
.p-recruit__lead p {
  font-size: clamp(0.9375rem, 0.6rem + 0.19vw, 1.125rem);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 2.1;
}
@media screen and (max-width: 768px) {
  .p-recruit__lead p {
    font-size: 1rem;
    line-height: 1.75;
  }
}
@media screen and (max-width: 768px) {
  .p-recruit__lead p br {
    display: none;
  }
}
.p-recruit__lead ul {
  width: min(100%, 880px);
  margin: auto;
  padding-top: 60px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .p-recruit__lead ul {
    padding-top: 34px;
  }
}
.p-recruit__lead ul li {
  display: block;
  font-size: clamp(0.75rem, 0.662rem + 0.38vw, 1rem);
}
@media screen and (max-width: 768px) {
  .p-recruit__lead ul li {
    width: 49%;
    margin-bottom: 8px;
  }
  .p-recruit__lead ul li:nth-child(n+3) {
    margin-bottom: 0;
  }
}
.p-recruit__lead ul li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 60px;
  font-weight: 500;
  letter-spacing: 0.02em;
  background: #212121;
  border: #212121 1px solid;
  color: #fff;
  border-radius: 100px;
  padding: 0 32px;
  box-sizing: border-box;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .p-recruit__lead ul li a {
    width: 100%;
    height: 48px;
    padding: 0 15%;
    letter-spacing: -0.02em;
  }
}
.p-recruit__lead ul li a::after {
  content: "→";
  display: block;
  margin-left: 22px;
}
@media screen and (max-width: 768px) {
  .p-recruit__lead ul li a::after {
    margin: 0;
  }
}
.p-recruit__lead ul li a:hover {
  background: #fff;
  color: #212121;
}

.p-recruit__voicelist {
  background: linear-gradient(#0E79DD, #063F6B);
  border-radius: 90px;
  padding-top: 85px;
  padding-bottom: 235px;
  position: relative;
  z-index: 1;
  width: 100%;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-recruit__voicelist {
    border-radius: 40px;
    padding-top: 57px;
    padding-bottom: 90px;
  }
}
.p-recruit__voicelist.nobr {
  border-radius: 90px 90px 0 0;
}
@media screen and (max-width: 768px) {
  .p-recruit__voicelist.nobr {
    border-radius: 40px 40px 0 0;
  }
}
.p-recruit__voicelist::after {
  content: "Real Voices";
  display: block;
  width: 100%;
  text-align: center;
  font-family: "Roboto", sans-serif;
  font-size: clamp(3.875rem, 0.354rem + 15.02vw, 13.875rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  color: #003764;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}
.p-recruit__voicelist .p-recruit__inner {
  display: flex;
  align-items: flex-start;
  gap: 58px;
  padding-bottom: 67px;
}
@media screen and (max-width: 768px) {
  .p-recruit__voicelist .p-recruit__inner {
    display: block;
    padding-bottom: 54px;
  }
}
.p-recruit__voicelist h2 {
  font-family: "Roboto", sans-serif;
  font-size: 60px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #fff;
  flex: none;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .p-recruit__voicelist h2 {
    margin-top: 0;
    margin-bottom: 16px;
  }
}
.p-recruit__voicelist h2 span {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1;
  margin-top: 12px;
}
.p-recruit__voicelist h2 span::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #E60012;
  margin-right: 4px;
}
.p-recruit__voicelist .txt {
  flex: 1;
}
.p-recruit__voicelist .txt p {
  font-size: clamp(1rem, 0.956rem + 0.19vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.88;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .p-recruit__voicelist .txt p {
    line-height: 1.75;
  }
}
.p-recruit__voicelist h3 {
  font-size: clamp(2rem, 1.12rem + 3vw, 4.5rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1, 2;
  color: #fff;
  margin-bottom: 74px;
}
@media screen and (max-width: 768px) {
  .p-recruit__voicelist h3 {
    line-height: 1.5;
    margin-bottom: 28px;
  }
}
.p-recruit__voicelist.toprec {
  margin-top: -130px;
  padding-top: 100px;
  border-radius: 90px 90px 0 0;
}
@media screen and (max-width: 768px) {
  .p-recruit__voicelist.toprec {
    margin-top: -100px;
    padding-top: 30px;
    border-radius: 40px 40px 0 0;
  }
}
.p-recruit__voicelist.toprec::after {
  content: none;
}
.p-recruit__voicelist.toprec .p-top__entxt {
  margin-bottom: 46px;
}
@media screen and (max-width: 768px) {
  .p-recruit__voicelist.toprec .p-top__entxt {
    margin-bottom: 10px;
  }
}
.p-recruit__voicelist.toprec .p-top__entxt li {
  color: #015DB3;
}
.p-recruit__voicelist.toprec .p-recruit__inner {
  padding-bottom: 0;
  margin-bottom: 55px;
}
@media screen and (max-width: 768px) {
  .p-recruit__voicelist.toprec .p-recruit__inner {
    margin-bottom: 60px;
  }
}
.p-recruit__voicelist.toprec h2 {
  font-size: clamp(2.5rem, 2.045rem + 2.27vw, 3.75rem);
}
.p-recruit__voicelist.toprec h3 {
  font-size: clamp(2.5rem, 2.136rem + 1.82vw, 3.5rem);
  font-weight: 500;
  margin-bottom: 43px;
}
@media screen and (max-width: 768px) {
  .p-recruit__voicelist.toprec h3 {
    margin-bottom: 32px;
  }
}
.p-recruit__voicelist.toprec .p-top__btnmore {
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-recruit__voicelist.toprec .p-top__btnmore {
    position: relative;
    margin-top: 32px;
  }
}

.p-recruit__slider {
  color: #fff;
  width: calc(100% + 38px);
  margin-left: -19px;
}
@media screen and (max-width: 960px) {
  .p-recruit__slider {
    width: 100%;
    margin-left: 0;
  }
}
.p-recruit__slider .box {
  margin: 0 19px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-recruit__slider .box {
    margin: 0 16px;
  }
}
.p-recruit__slider .box figure {
  display: block;
  width: 100%;
  aspect-ratio: 332/425;
  margin-bottom: 17px;
}
@media screen and (max-width: 768px) {
  .p-recruit__slider .box figure {
    margin-bottom: 24px;
  }
}
.p-recruit__slider .box figure img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-recruit__slider .box p {
  font-size: clamp(0.875rem, 0.831rem + 0.19vw, 1rem);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  .p-recruit__slider .box p {
    line-height: 1.42;
  }
}
.p-recruit__slider .box dl {
  margin-top: 16px;
  border-top: #4878A0 1px solid;
  padding-top: 16px;
}
@media screen and (max-width: 768px) {
  .p-recruit__slider .box dl {
    padding-top: 10px;
  }
}
.p-recruit__slider .box dl dt {
  font-size: clamp(1rem, 0.956rem + 0.19vw, 1.125rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.55;
  padding-bottom: 4px;
}
@media screen and (max-width: 768px) {
  .p-recruit__slider .box dl dt {
    line-height: 1.75;
    padding-bottom: 8px;
  }
}
.p-recruit__slider .box dl dd {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  .p-recruit__slider .box dl dd {
    line-height: 1.4;
  }
}

.p-recruit__strength {
  padding-top: 190px;
  padding-bottom: 180px;
  padding-left: max(30px, (100% - 1200px) / 2);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-recruit__strength {
    display: block;
    padding-top: 80px;
    padding-bottom: 70px;
    padding-left: 0;
  }
}
@media screen and (min-width: 1680px) {
  .p-recruit__strength {
    padding-right: calc((100vw - 1680px) / 2);
  }
}
.p-recruit__strength::after {
  content: "Our Strengths";
  font-family: "Roboto", sans-serif;
  font-size: clamp(11.25rem, 9.621rem + 6.95vw, 15.875rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  writing-mode: vertical-rl;
  color: #fff;
  position: absolute;
  top: 190px;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-recruit__strength::after {
    content: none;
  }
}
.p-recruit__strength h2 {
  flex: none;
  font-size: clamp(1.5rem, 0.752rem + 3.19vw, 3.625rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  writing-mode: vertical-rl;
  padding-left: 46px;
  width: 13%;
}
@media screen and (max-width: 768px) {
  .p-recruit__strength h2 {
    width: 100%;
    letter-spacing: 0.03em;
    line-height: 1.2;
    writing-mode: horizontal-tb;
    padding-left: 0;
    text-align: center;
    margin-bottom: 46px;
  }
}
.p-recruit__strength .right {
  width: 76.3%;
}
@media screen and (max-width: 768px) {
  .p-recruit__strength .right {
    width: calc(100% - 24px);
    margin-left: auto;
  }
}
.p-recruit__strength .box {
  background: #fff;
  position: relative;
  border-radius: 30px;
  margin-bottom: 80px;
  overflow: hidden;
  margin-right: -5vw;
}
@media screen and (min-width: 1441px) {
  .p-recruit__strength .box {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-recruit__strength .box {
    border-radius: 20px 0 0 20px;
    margin-bottom: 60px;
  }
}
.p-recruit__strength .box.js-fade {
  transform: translateX(30px);
}
.p-recruit__strength .box.js-fade.is-show {
  transform: translateX(0);
}
.p-recruit__strength .box .p-recruit__point {
  font-family: "Roboto", sans-serif;
  font-size: clamp(0.875rem, 0.655rem + 0.94vw, 1.5rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1em;
  color: #0D6EC7;
  position: absolute;
  left: 16px;
  bottom: 100%;
}
@media screen and (max-width: 768px) {
  .p-recruit__strength .box .p-recruit__point {
    left: 18px;
  }
}
.p-recruit__strength .box .txt {
  padding: 80px;
  width: 65.5%;
  box-sizing: border-box;
}
@media screen and (max-width: 960px) {
  .p-recruit__strength .box .txt {
    padding: 40px 40px 60px;
  }
}
@media screen and (max-width: 768px) {
  .p-recruit__strength .box .txt {
    padding: 32px 24px 60px;
    width: 100%;
  }
}
.p-recruit__strength .box h3 {
  font-size: clamp(1.5rem, 1.016rem + 2.07vw, 2.875rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.2;
  padding-bottom: 32px;
}
.p-recruit__strength .box h3 span {
  display: block;
  font-size: clamp(0.563rem, 0.496rem + 0.28vw, 0.75rem);
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1.25;
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .p-recruit__strength .box h3 span {
    margin-bottom: 8px;
  }
}
.p-recruit__strength .box h4 {
  font-size: clamp(1rem, 0.736rem + 1.13vw, 1.75rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
  padding-bottom: 32px;
}
@media screen and (max-width: 768px) {
  .p-recruit__strength .box h4 {
    font-weight: 700;
    letter-spacing: 0.03em;
    padding-bottom: 16px;
  }
}
.p-recruit__strength .box p {
  font-size: clamp(1rem, 0.956rem + 0.19vw, 1.125rem);
  font-weight: 400;
  letter-spacing: -0.04em;
  line-height: 1.94;
}
@media screen and (max-width: 768px) {
  .p-recruit__strength .box p {
    letter-spacing: 0.03em;
    line-height: 1.875;
  }
}
@media screen and (max-width: 768px) {
  .p-recruit__strength .box p.pb {
    padding-bottom: 16px;
  }
}
.p-recruit__strength .box figure.pc {
  width: 34.5%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 768px) {
  .p-recruit__strength .box figure.pc {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .p-recruit__strength .box figure.sp {
    display: block;
    width: calc(100% + 48px);
    margin-left: -24px;
    margin-bottom: 32px;
  }
}
.p-recruit__strength .box figure img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-recruit__strength .area-btn {
  width: 100%;
  padding-top: 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-recruit__strength .area-btn {
    padding-top: 0;
    margin-top: -20px;
  }
}
.p-recruit__strength .area-btn p {
  display: inline-block;
  position: relative;
  color: #0D6EC7;
  font-size: clamp(0.875rem, 0.787rem + 0.38vw, 1.125rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.2;
}
.p-recruit__strength .area-btn p::before, .p-recruit__strength .area-btn p::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 20px;
  background: #0D6EC7;
}
.p-recruit__strength .area-btn p::before {
  transform: rotate(-15deg);
  margin-right: 15px;
  vertical-align: -4px;
}
.p-recruit__strength .area-btn p::after {
  transform: rotate(15deg);
  margin-left: 12px;
  vertical-align: -4px;
}

.p-recruit__entrybtn {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: min(75%, 660px);
  height: 112px;
  color: #fff;
  background: #0D6EC7;
  border: #0D6EC7 2px solid;
  padding: 0 60px;
  border-radius: 100px;
  transition: 0.3s;
  margin: 16px auto 0;
}
@media screen and (max-width: 768px) {
  .p-recruit__entrybtn {
    height: 70px;
    padding: 0 32px;
    margin-top: 8px;
  }
}
.p-recruit__entrybtn:hover {
  background: #fff;
  color: #0D6EC7;
}
.p-recruit__entrybtn b, .p-recruit__entrybtn span {
  display: block;
  line-height: 1;
}
.p-recruit__entrybtn b {
  font-family: "Roboto", sans-serif;
  font-size: clamp(1.5rem, 1.06rem + 1.88vw, 2.75rem);
  font-weight: 600;
  letter-spacing: 0.02em;
}
.p-recruit__entrybtn span {
  font-size: clamp(0.875rem, 0.831rem + 0.19vw, 1rem);
  font-weight: 400;
  letter-spacing: 0.05em;
}

.p-reruit__video {
  padding-bottom: 180px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-reruit__video {
    text-align: left;
    padding-bottom: 100px;
  }
}
.p-reruit__video::before {
  content: "Join Our Team.";
  display: block;
  width: 100%;
  text-align: center;
  font-family: "Roboto", sans-serif;
  font-size: clamp(2.875rem, -0.294rem + 13.52vw, 11.875rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.7;
  color: #fff;
  z-index: -1;
}
.p-reruit__video .p-recruit__inner {
  width: min(100% - 48px, 1100px);
}
.p-reruit__video iframe {
  display: block;
  aspect-ratio: 16/9;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-recruit__job {
  padding-top: 150px;
  padding-bottom: 105px;
  position: relative;
  background: #D7D4D0;
  z-index: 1;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-recruit__job {
    padding-top: 80px;
    padding-bottom: 32px;
    padding-left: 0;
  }
}
.p-recruit__job::after {
  content: "Build the Future With Us.";
  font-family: "Roboto", sans-serif;
  font-size: clamp(9.375rem, 7.923rem + 6.2vw, 13.5rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  writing-mode: vertical-rl;
  color: #CEC9C4;
  position: absolute;
  top: 128px;
  left: 0;
  z-index: -1;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-recruit__job::after {
    content: none;
  }
}
.p-recruit__job .p-recruit__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .p-recruit__job .p-recruit__inner {
    display: block;
  }
}
.p-recruit__job h2 {
  display: inline-block;
  font-size: clamp(1.625rem, 1.493rem + 0.56vw, 2rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.2;
  flex: none;
}
@media screen and (max-width: 768px) {
  .p-recruit__job h2 {
    margin-bottom: 32px;
  }
}
.p-recruit__job h2 span {
  display: block;
  font-family: "Inter", sans-serif;
  font-size: clamp(0.625rem, 0.581rem + 0.19vw, 0.75rem);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.2;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .p-recruit__job h2 span {
    margin-bottom: 8px;
  }
}
.p-recruit__job .right {
  width: 81.6%;
}
@media screen and (max-width: 768px) {
  .p-recruit__job .right {
    width: 100%;
  }
}

.p-recruit__list {
  border-radius: 30px;
  overflow: hidden;
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .p-recruit__list {
    border-radius: 20px;
    margin-bottom: 48px;
  }
}
.p-recruit__list:last-of-type {
  margin-bottom: 0;
}
.p-recruit__list .exerpt {
  background: #434342;
  padding: 48px 60px 40px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .p-recruit__list .exerpt {
    padding: 24px 24px 32px;
  }
}
.p-recruit__list .exerpt p {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.625;
  border-bottom: #999 1px solid;
  padding-bottom: 16px;
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .p-recruit__list .exerpt p {
    font-weight: 400;
  }
}
.p-recruit__list .exerpt p:last-of-type {
  margin-bottom: 0;
  padding-bottom: 40px;
  border-bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-recruit__list .exerpt p:last-of-type {
    padding-bottom: 32px;
  }
}
.p-recruit__list .exerpt .p-recruit__btn {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 182px;
  height: 50px;
  background: #eee;
  border-radius: 100px;
  padding-left: 24px;
  padding-right: 16px;
  font-size: clamp(0.938rem, 0.915rem + 0.09vw, 1rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  position: relative;
  text-align: left;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #212121;
  margin: auto;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .p-recruit__list .exerpt .p-recruit__btn {
    width: 157px;
    height: 48px;
    padding-left: 16px;
    padding-right: 15px;
  }
}
.p-recruit__list .exerpt .p-recruit__btn .btn-open__text {
  transition: 0.3s;
}
.p-recruit__list .exerpt .p-recruit__btn::before, .p-recruit__list .exerpt .p-recruit__btn::after {
  content: "";
  display: block;
  background: #666;
}
.p-recruit__list .exerpt .p-recruit__btn::before {
  width: 2px;
  height: 18px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 24px;
}
@media screen and (max-width: 768px) {
  .p-recruit__list .exerpt .p-recruit__btn::before {
    right: 23px;
  }
}
.p-recruit__list .exerpt .p-recruit__btn::after {
  width: 18px;
  height: 2px;
}
.p-recruit__list .exerpt .p-recruit__btn:hover {
  background: #212121;
  color: #fff;
}
.p-recruit__list .exerpt .p-recruit__btn:hover::before, .p-recruit__list .exerpt .p-recruit__btn:hover::after {
  background: #fff;
}
.p-recruit__list .exerpt .p-recruit__btn.active::before {
  opacity: 0;
}
.p-recruit__list h3 {
  font-size: clamp(1.125rem, 0.993rem + 0.56vw, 1.5rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.45;
  padding-bottom: 16px;
  border-bottom: #999 1px solid;
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .p-recruit__list h3 {
    letter-spacing: 0.02em;
    line-height: 1.55;
  }
}
.p-recruit__list .dtl {
  background: #fff;
  padding: 60px 60px 100px;
  display: none;
}
@media screen and (max-width: 768px) {
  .p-recruit__list .dtl {
    padding: 32px 16px 60px;
  }
}
.p-recruit__list .dtl dl {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-bottom: 58px;
}
@media screen and (max-width: 768px) {
  .p-recruit__list .dtl dl {
    margin-bottom: 28px;
  }
}
.p-recruit__list .dtl dl dt, .p-recruit__list .dtl dl dd {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.5625;
  border-bottom: #999 1px solid;
  padding-bottom: 32px;
  margin-bottom: 32px;
}
.p-recruit__list .dtl dl dt {
  width: 180px;
}
@media screen and (max-width: 768px) {
  .p-recruit__list .dtl dl dt {
    border-bottom: 0;
    width: 100%;
    padding-bottom: 16px;
    margin-bottom: 0;
    font-weight: 700;
  }
  .p-recruit__list .dtl dl dt br {
    display: none;
  }
}
.p-recruit__list .dtl dl dd {
  width: calc(100% - 180px);
}
@media screen and (max-width: 768px) {
  .p-recruit__list .dtl dl dd {
    letter-spacing: 0;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .p-recruit__list .p-recruit__entrybtn {
    width: 100%;
  }
}

.p-recruit__faq {
  padding: 156px 0;
}
@media screen and (max-width: 768px) {
  .p-recruit__faq {
    padding-top: 80px;
    padding-bottom: 90px;
  }
}
.p-recruit__faq .p-recruit__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .p-recruit__faq .p-recruit__inner {
    display: block;
  }
}
.p-recruit__faq h2 {
  display: inline-block;
  font-size: clamp(1.625rem, 1.493rem + 0.56vw, 2rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.2;
  flex: none;
}
@media screen and (max-width: 768px) {
  .p-recruit__faq h2 {
    margin-bottom: 32px;
  }
  .p-recruit__faq h2 br {
    display: none;
  }
}
.p-recruit__faq h2 span {
  display: block;
  font-family: "Inter", sans-serif;
  font-size: clamp(0.625rem, 0.581rem + 0.19vw, 0.75rem);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.2;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .p-recruit__faq h2 span {
    margin-bottom: 8px;
  }
}
.p-recruit__faq .right {
  width: 81.6%;
  padding-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .p-recruit__faq .right {
    width: 100%;
    padding-bottom: 48px;
  }
}
.p-recruit__faq .area-btn {
  width: 100%;
  text-align: center;
}
.p-recruit__faq .area-btn p {
  display: inline-block;
  position: relative;
  font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.5625;
}
@media screen and (max-width: 768px) {
  .p-recruit__faq .area-btn p {
    font-weight: 400;
    letter-spacing: 0.02em;
  }
}
.p-recruit__faq .area-btn p br {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-recruit__faq .area-btn p br {
    display: block;
  }
}

.p-recruit__conbtn {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: min(100%, 554px);
  height: 90px;
  border-radius: 100px;
  margin: 16px auto 0;
  color: #fff;
  background: #212121;
  border: #212121 1px solid;
  font-size: clamp(1rem, 0.773rem + 0.97vw, 1.5rem);
  font-weight: 400;
  letter-spacing: 0;
  padding: 0 32px;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .p-recruit__conbtn {
    height: 60px;
    padding-left: 24px;
    padding-right: 20px;
  }
}
.p-recruit__conbtn::before, .p-recruit__conbtn::after {
  content: "";
  display: block;
  transition: 0.3s;
}
.p-recruit__conbtn::before {
  width: 34px;
  aspect-ratio: 17/12;
  background: url(../images/recruit/mail.svg) center no-repeat;
  background-size: contain;
  margin-right: 16px;
}
@media screen and (max-width: 768px) {
  .p-recruit__conbtn::before {
    width: 25px;
    margin-right: 8px;
  }
}
.p-recruit__conbtn::after {
  width: 38px;
  aspect-ratio: 35/17;
  background: url(../images/recruit/arrow.svg) center no-repeat;
  background-size: contain;
  margin-left: auto;
}
.p-recruit__conbtn:hover {
  background: #fff;
  color: #212121;
}
.p-recruit__conbtn:hover::before, .p-recruit__conbtn:hover::after {
  filter: invert(100%);
}
.p-recruit__conbtn:hover::after {
  transform: translateX(5px);
}

.faq-list {
  background: #fff;
  border-radius: 10px;
  margin-bottom: 16px;
}
.faq-list:last-of-type {
  margin-bottom: 0;
}
.faq-list dt, .faq-list dd {
  font-size: 16px;
  position: relative;
}
.faq-list dt span, .faq-list dd span {
  font-family: "Inter", sans-serif;
  font-size: clamp(1.25rem, 1.074rem + 0.75vw, 1.75rem);
  font-weight: 500;
  line-height: 0.9;
  position: absolute;
}
@media screen and (max-width: 768px) {
  .faq-list dt span, .faq-list dd span {
    line-height: 1.2;
  }
}
.faq-list dt {
  cursor: pointer;
  transition: 0.3s;
  padding: 32px 102px;
}
@media screen and (max-width: 768px) {
  .faq-list dt {
    padding: 16px 57px;
  }
}
.faq-list dt span {
  color: #0D6EC7;
  top: 32px;
  left: 64px;
}
@media screen and (max-width: 768px) {
  .faq-list dt span {
    left: 32px;
    top: 16px;
  }
}
.faq-list dt::before, .faq-list dt::after {
  content: "";
  display: block;
  position: absolute;
  background: #666;
  top: 0;
  bottom: 0;
  margin: auto;
}
.faq-list dt::before {
  width: 2px;
  height: 24px;
  right: 43px;
}
@media screen and (max-width: 768px) {
  .faq-list dt::before {
    width: 1px;
    height: 18px;
    right: 24px;
  }
}
.faq-list dt::after {
  width: 24px;
  height: 2px;
  right: 32px;
}
@media screen and (max-width: 768px) {
  .faq-list dt::after {
    width: 18px;
    height: 1px;
    right: 16px;
  }
}
.faq-list dt:hover {
  color: #0D6EC7;
}
.faq-list dt.active::before {
  opacity: 0;
}
.faq-list dd {
  padding-top: 25px;
  display: none;
  width: calc(100% - 64px);
  padding: 25px 70px 32px;
  margin: auto;
  border-top: #ccc 1px solid;
}
@media screen and (max-width: 768px) {
  .faq-list dd {
    width: calc(100% - 32px);
    padding: 10px 41px 16px;
  }
}
.faq-list dd span {
  color: #E60012;
  left: 32px;
}
@media screen and (max-width: 768px) {
  .faq-list dd span {
    left: 16px;
  }
}

/* インタビュー */
.p-interview__mv {
  background: #0E77D8;
  padding-left: max(24px, (100% - 1200px) / 2);
  padding-top: 216px;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .p-interview__mv {
    padding: 110px 16px 32px;
    display: block;
  }
}
.p-interview__mv::before {
  content: "Interview";
  display: block;
  width: 100%;
  text-align: center;
  font-family: "Roboto", sans-serif;
  font-size: clamp(5.313rem, -0.852rem + 24vw, 18.875rem);
  font-weight: 900;
  color: #0D6DC7;
  letter-spacing: 0;
  line-height: 1.2;
  position: absolute;
  top: 68px;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-interview__mv::before {
    top: 120px;
  }
}
.p-interview__mv h1 {
  font-size: clamp(1.25rem, 0.625rem + 2vw, 2.625rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.4;
  margin-bottom: auto;
}
@media screen and (max-width: 768px) {
  .p-interview__mv h1 {
    padding-bottom: 31px;
    line-height: 1.6;
  }
}
.p-interview__mv h1 span {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1em;
  margin-bottom: 19px;
}
@media screen and (max-width: 960px) {
  .p-interview__mv h1 span {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 768px) {
  .p-interview__mv h1 span {
    display: none;
  }
}
.p-interview__mv h1 span::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  margin-right: 4px;
}
.p-interview__mv .txt {
  width: 39%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  flex-direction: column;
  padding-bottom: 50px;
}
@media screen and (max-width: 960px) {
  .p-interview__mv .txt {
    padding-bottom: 20px;
  }
}
@media screen and (max-width: 768px) {
  .p-interview__mv .txt {
    width: 100%;
    display: block;
    padding-bottom: 0;
  }
}
.p-interview__mv figure.pc {
  display: block;
  width: 57.5%;
  border-radius: 30px 0 0 0;
  overflow: hidden;
  aspect-ratio: 19/13;
}
@media screen and (max-width: 768px) {
  .p-interview__mv figure.pc {
    display: none;
  }
}
.p-interview__mv figure.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-interview__mv figure.sp {
    display: block;
    width: calc(100% + 48px);
    margin-left: -24px;
    aspect-ratio: 375/497;
    margin-bottom: 30px;
  }
}
.p-interview__mv figure img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-interview__mv h2 {
  display: flex;
  justify-content: flex-start;
  align-items: start;
  flex-direction: column;
  font-size: clamp(1.25rem, 0.966rem + 1.21vw, 1.875rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 2;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .p-interview__mv h2 {
    padding-bottom: 11px;
  }
}
.p-interview__mv h2 span {
  display: inline-block;
  font-size: clamp(0.875rem, 0.761rem + 0.48vw, 1.125rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 34px;
  padding: 0 12px;
  border-radius: 5px;
  background: #fff;
  color: #0D6EC7;
}
@media screen and (max-width: 960px) {
  .p-interview__mv h2 span {
    line-height: 30px;
  }
}
@media screen and (max-width: 768px) {
  .p-interview__mv h2 span {
    line-height: 27px;
  }
}
.p-interview__mv p {
  font-size: clamp(0.875rem, 0.818rem + 0.24vw, 1rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.5625;
  color: #fff;
}

.p-interview__content {
  padding-top: 70px;
  padding-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .p-interview__content {
    padding-top: 60px;
    padding-bottom: 80px;
  }
}
.p-interview__content .p-recruit__inner {
  background: #fff;
  border-radius: 30px;
  box-sizing: border-box;
  margin-bottom: 40px;
  padding: 48px 60px 64px;
}
@media screen and (max-width: 768px) {
  .p-interview__content .p-recruit__inner {
    border-radius: 20px;
    margin-bottom: 48px;
    padding: 32px 24px 48px;
  }
}
.p-interview__content .p-recruit__inner:last-of-type {
  margin-bottom: 0;
}
.p-interview__content h2 {
  font-size: clamp(0.875rem, 0.705rem + 0.73vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 2em;
  color: #0D6EC7;
  margin-bottom: 16px;
  text-indent: -26px;
  padding-left: 26px;
}
@media screen and (max-width: 768px) {
  .p-interview__content h2 {
    text-indent: -12px;
    padding-left: 12px;
  }
}
.p-interview__content h2::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 8px;
  background: #0D6EC7;
  vertical-align: 2px;
}
@media screen and (max-width: 768px) {
  .p-interview__content h2::before {
    width: 8px;
    height: 8px;
    margin-right: 4px;
  }
}
.p-interview__content h3 {
  font-size: clamp(1.25rem, 0.852rem + 1.7vw, 2.125rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.47;
  margin-bottom: 22px;
}
@media screen and (max-width: 768px) {
  .p-interview__content h3 {
    line-height: 1.6;
    margin-bottom: 16px;
  }
}
.p-interview__content p {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.875;
}
@media screen and (max-width: 768px) {
  .p-interview__content p {
    letter-spacing: -0.04em;
  }
}

.p-interview__img {
  display: block;
  width: 100%;
  aspect-ratio: 72/29;
}
@media screen and (max-width: 768px) {
  .p-interview__img {
    aspect-ratio: 75/88;
  }
}
.p-interview__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-interview__schedule {
  padding-top: 100px;
  padding-bottom: 120px;
  position: relative;
  z-index: 1;
  color: white;
}
@media screen and (max-width: 768px) {
  .p-interview__schedule {
    padding-top: 80px;
    padding-bottom: 60px;
  }
}
.p-interview__schedule .p-recruit__inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.p-interview__schedule .bgimg {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.p-interview__schedule .bgimg img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-interview__schedule .bgimg::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 32, 62, 0.9);
  position: absolute;
  top: 0;
  left: 0;
}
.p-interview__schedule h2 {
  font-size: clamp(1.625rem, 1.455rem + 0.73vw, 2rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.5;
  width: 100%;
  padding-bottom: 32px;
}
@media screen and (max-width: 768px) {
  .p-interview__schedule h2 {
    padding-bottom: 52px;
  }
}
.p-interview__schedule h2 span {
  display: block;
  font-family: "Inter", sans-serif;
  font-size: clamp(0.625rem, 0.568rem + 0.24vw, 0.75rem);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-bottom: 5px;
}
.p-interview__schedule dl {
  position: relative;
}
.p-interview__schedule dl:nth-of-type(1) {
  width: 55%;
}
@media screen and (max-width: 768px) {
  .p-interview__schedule dl:nth-of-type(1) {
    width: 100%;
  }
}
.p-interview__schedule dl:nth-of-type(2) {
  width: 42%;
}
@media screen and (max-width: 768px) {
  .p-interview__schedule dl:nth-of-type(2) {
    width: 100%;
  }
}
.p-interview__schedule dl dt, .p-interview__schedule dl dd {
  position: relative;
}
.p-interview__schedule dl dt::before, .p-interview__schedule dl dd::before {
  content: "";
  display: block;
  width: 1px;
  background: #666;
  position: absolute;
  left: 4px;
}
.p-interview__schedule dl dt {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.66;
  margin-bottom: 4px;
  padding-left: 18px;
  margin-bottom: 4px;
}
.p-interview__schedule dl dt span {
  display: block;
  width: 59px;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.03em;
}
.p-interview__schedule dl dt::before {
  top: 10px;
  height: 100%;
}
.p-interview__schedule dl dt::after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #0D6EC7;
  position: absolute;
  left: 0;
  top: 11px;
}
.p-interview__schedule dl dt:last-of-type::before {
  content: none;
}
@media screen and (max-width: 768px) {
  .p-interview__schedule dl dt:last-of-type::before {
    content: "";
  }
}
.p-interview__schedule dl dd {
  font-size: clamp(0.875rem, 0.818rem + 0.24vw, 1rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.375;
  padding-left: 77px;
  padding-bottom: 12px;
}
@media screen and (max-width: 768px) {
  .p-interview__schedule dl dd {
    line-height: 1.57em;
    padding-bottom: 15px;
  }
}
.p-interview__schedule dl dd::before {
  top: 0;
  height: calc(100% + 11px);
}
.p-interview__schedule dl dd:last-of-type::before {
  content: none;
}
@media screen and (max-width: 768px) {
  .p-interview__schedule dl dd:last-of-type::before {
    content: "";
  }
}
.p-interview__schedule dl:nth-of-type(2) dt:last-of-type::before, .p-interview__schedule dl:nth-of-type(2) dd:last-of-type::before {
  content: none;
}

.p-interview__advice {
  padding: 120px 0;
}
@media screen and (max-width: 768px) {
  .p-interview__advice {
    padding-top: 68px;
    padding-bottom: 86px;
  }
}
.p-interview__advice .box {
  position: relative;
  background: #fff;
  border-radius: 30px;
  padding: 32px 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .p-interview__advice .box {
    display: block;
    padding: 50px 24px;
    margin-bottom: 68px;
  }
}
.p-interview__advice h2 {
  display: inline-block;
  background: #0E77D8;
  line-height: 41px;
  padding: 0 30px;
  color: #fff;
  font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
  font-weight: 600;
  letter-spacing: 0.02em;
  border-radius: 10px;
  position: absolute;
  top: 0;
  left: 40px;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .p-interview__advice h2 {
    padding: 0;
    text-align: center;
    width: calc(100% - 48px);
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
.p-interview__advice p {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.875;
}
.p-interview__advice .txt {
  width: 79.5%;
}
@media screen and (max-width: 768px) {
  .p-interview__advice .txt {
    width: 100%;
  }
}
.p-interview__advice figure {
  display: block;
  width: 16.2%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-interview__advice figure {
    width: min(100%, 159px);
    margin: 27px auto 0;
  }
}
.p-interview__advice figure img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-interview__advice .area-btn {
  width: 100%;
  padding-top: 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-interview__advice .area-btn {
    padding-top: 0;
    margin-top: -20px;
  }
}
.p-interview__advice .area-btn p {
  display: inline-block;
  position: relative;
  color: #0D6EC7;
  font-size: clamp(0.875rem, 0.787rem + 0.38vw, 1.125rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.2;
}
.p-interview__advice .area-btn p::before, .p-interview__advice .area-btn p::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 20px;
  background: #0D6EC7;
}
.p-interview__advice .area-btn p::before {
  transform: rotate(-15deg);
  margin-right: 15px;
  vertical-align: -4px;
}
.p-interview__advice .area-btn p::after {
  transform: rotate(15deg);
  margin-left: 12px;
  vertical-align: -4px;
}

/* トップページ */
@-webkit-keyframes infinite-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@keyframes infinite-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@-webkit-keyframes img-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes img-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.p-top__btnmore {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 160px;
  height: 60px;
  font-size: clamp(0.75rem, 0.662rem + 0.38vw, 1rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  background: #212121;
  border: #212121 1px solid;
  color: #fff;
  border-radius: 100px;
  padding: 0 32px;
  box-sizing: border-box;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .p-top__btnmore {
    width: 180px;
    height: 48px;
    padding: 0 24px;
    letter-spacing: -0.02em;
  }
}
.p-top__btnmore::after {
  content: "→";
  display: block;
  margin-left: 22px;
}
@media screen and (max-width: 768px) {
  .p-top__btnmore::after {
    margin: 0;
  }
}
.p-top__btnmore:hover {
  background: #fff;
  color: #212121;
}

.p-top__ttl {
  font-family: "Roboto", sans-serif;
  font-size: clamp(2.5rem, 2.045rem + 2.27vw, 3.75rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1;
}
.p-top__ttl span {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #666;
}
.p-top__ttl span::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #E60012;
  margin-right: 4px;
}
@media screen and (max-width: 768px) {
  .p-top__ttl span::before {
    width: 6px;
    height: 6px;
    margin-right: 3px;
  }
}

.p-top__entxt {
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-animation: infinite-scroll 80s linear infinite;
          animation: infinite-scroll 80s linear infinite;
}
.p-top__entxt li {
  font-family: "Roboto", sans-serif;
  font-size: clamp(5.625rem, 4.261rem + 6.82vw, 9.375rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.77;
  white-space: nowrap;
  color: #fff;
  margin-right: 0.25em;
}

.p-top__mv {
  padding-top: 221px;
  overflow: hidden;
}
.p-top__mv .p-recruit__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-top__mv .p-recruit__inner {
    display: block;
    padding-bottom: 12px;
  }
}
.p-top__mv h1 {
  font-size: clamp(2.188rem, 1.392rem + 3.98vw, 4.375rem);
  font-weight: 700;
  padding-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .p-top__mv h1 {
    padding-bottom: 60px;
  }
}
.p-top__mv h1 span {
  display: block;
  font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
}

.p-top__slide {
  width: 100%;
  display: flex;
  overflow: hidden;
}
.p-top__slide ul {
  display: flex;
  flex-shrink: 0;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-animation: img-scroll 400s linear infinite;
          animation: img-scroll 400s linear infinite;
}
.p-top__slide ul li {
  width: min(61vw, 880px);
  aspect-ratio: 8/5;
  margin: 0 6px;
}
@media screen and (max-width: 768px) {
  .p-top__slide ul li {
    width: 911px;
    aspect-ratio: 911/522;
    margin: 0 18px;
  }
}
.p-top__slide ul li img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top__business {
  padding-top: 96px;
}
.p-top__business .p-recruit__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  padding-bottom: 70px;
}
@media screen and (max-width: 768px) {
  .p-top__business .p-recruit__inner {
    display: block;
    padding-bottom: 48px;
  }
}
@media screen and (max-width: 768px) {
  .p-top__business .p-top__ttl {
    margin-bottom: 32px;
  }
}
.p-top__business .txt {
  width: 57%;
}
@media screen and (max-width: 768px) {
  .p-top__business .txt {
    width: 100%;
    padding-bottom: 32px;
  }
}
.p-top__business h3 {
  font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.625;
  margin-bottom: 12px;
}
@media screen and (max-width: 768px) {
  .p-top__business h3 {
    margin-bottom: 16px;
  }
}
.p-top__business p {
  font-size: 16px;
  letter-spacing: 0.02em;
  line-height: 1.625;
}
.p-top__business .p-top__busnav {
  padding: 0 16px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
}
@media screen and (max-width: 768px) {
  .p-top__business .p-top__busnav {
    padding: 0 8px;
    grid-template-columns: 1fr;
    gap: 4px;
  }
}
.p-top__business .p-top__busnav li a {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 233/136;
  overflow: hidden;
  z-index: 1;
}
.p-top__business .p-top__busnav li a span {
  display: block;
  color: #fff;
  position: absolute;
  top: 32px;
  left: 32px;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.42;
}
@media screen and (max-width: 768px) {
  .p-top__business .p-top__busnav li a span {
    top: 20px;
    left: 20px;
  }
}
.p-top__business .p-top__busnav li a span b {
  display: block;
  font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-bottom: 12px;
}
.p-top__business .p-top__busnav li a figure {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: -1;
}
.p-top__business .p-top__busnav li a figure img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.7s;
}
.p-top__business .p-top__busnav li a:hover figure img {
  transform: scale(1.05);
}

.p-top__news {
  padding-top: 120px;
}
@media screen and (max-width: 768px) {
  .p-top__news {
    padding-top: 96px;
  }
}
.p-top__news .p-recruit__inner {
  display: flex;
  justify-content: space-between;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-top__news .p-recruit__inner {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .p-top__news .p-recruit__inner .p-top__ttl {
    margin-bottom: 32px;
  }
}
.p-top__news .p-recruit__inner .list {
  width: min(100% - 180px, 950px);
  min-height: 200px;
}
@media screen and (max-width: 768px) {
  .p-top__news .p-recruit__inner .list {
    width: 100%;
    padding-bottom: 32px;
    min-height: auto;
  }
}
.p-top__news .p-recruit__inner .list li {
  padding-bottom: 23px;
  margin-bottom: 32px;
  border-bottom: #999 1px solid;
}
@media screen and (max-width: 768px) {
  .p-top__news .p-recruit__inner .list li {
    display: block;
    padding-bottom: 24px;
    margin-bottom: 24px;
  }
}
.p-top__news .p-recruit__inner .list li:last-child {
  margin-bottom: 0;
}
.p-top__news .p-recruit__inner .list li span {
  font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.6;
  color: #666;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .p-top__news .p-recruit__inner .list li span {
    display: block;
    margin-bottom: 8px;
  }
}
.p-top__news .p-recruit__inner .list li a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 60px;
  font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.6;
}
.p-top__news .p-recruit__inner .list li a:hover {
  color: #A9111D;
}
.p-top__news .p-recruit__inner .list li a:hover span {
  color: #A9111D;
}
.p-top__news .p-top__btnmore {
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-top__news .p-top__btnmore {
    position: relative;
  }
}

.p-top__event {
  padding-top: 120px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-top__event {
    padding-top: 96px;
  }
}
.p-top__event .p-recruit__inner {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin-bottom: 76px;
}
@media screen and (max-width: 768px) {
  .p-top__event .p-recruit__inner {
    display: block;
    margin-bottom: 48px;
  }
}
@media screen and (max-width: 768px) {
  .p-top__event .p-top__ttl {
    margin-bottom: 32px;
  }
}
.p-top__event .list {
  width: min(100% - 180px, 950px);
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .p-top__event .list {
    display: block;
    width: 100%;
    padding-bottom: 32px;
  }
}
.p-top__event .list li {
  width: 46.3%;
}
@media screen and (max-width: 768px) {
  .p-top__event .list li {
    width: 100%;
    margin-bottom: 48px;
  }
}
@media screen and (max-width: 768px) {
  .p-top__event .list li:last-child {
    margin-bottom: 0;
  }
}
.p-top__event .list li a {
  font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.6;
}
.p-top__event .list li a figure {
  display: flex;
  justify-content: center;
  width: 100%;
  height: 311px;
  margin-bottom: 20px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-top__event .list li a figure {
    height: 231px;
  }
}
.p-top__event .list li a figure img {
  display: block;
  width: auto;
  height: 100%;
  transition: 0.7s;
}
.p-top__event .list li a span {
  display: block;
  font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.6;
  color: #666;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .p-top__event .list li a span {
    display: block;
    margin-bottom: 8px;
  }
}
.p-top__event .list li a:hover {
  color: #A9111D;
}
.p-top__event .list li a:hover span {
  color: #A9111D;
}
.p-top__event .list li a:hover figure img {
  transform: scale(1.05);
}
.p-top__event .p-top__btnmore {
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-top__event .p-top__btnmore {
    position: relative;
  }
}

.p-top__kumamoto {
  background: linear-gradient(#515151, #2D2D2D);
  padding-top: 156px;
  padding-bottom: 200px;
  position: relative;
  color: #fff;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-top__kumamoto {
    padding-bottom: 102px;
  }
}
.p-top__kumamoto .p-recruit__inner {
  padding-right: min(35%, 600px);
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .p-top__kumamoto .p-recruit__inner {
    padding-right: 0;
  }
}
.p-top__kumamoto .txt {
  position: relative;
  z-index: 1;
}
.p-top__kumamoto .txt::before {
  content: "";
  display: block;
  width: auto;
  height: calc(100% + 180px);
  aspect-ratio: 163/158;
  background: url(../images/top/kumamoto.webp) center no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  z-index: -1;
}
@media screen and (max-width: 960px) {
  .p-top__kumamoto .txt::before {
    height: auto;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .p-top__kumamoto .txt::before {
    width: 100%;
    height: auto;
    aspect-ratio: 667/642;
    background: url(../images/top/kumamoto-sp.webp) center no-repeat;
    background-size: contain;
    top: 0;
    left: 50%;
    transform: translateX(-50%) translateY(-130px);
  }
}
.p-top__kumamoto .txt::after {
  content: "";
  display: block;
  width: min(129%, 760px);
  aspect-ratio: 641/890;
  background: url(../images/top/kumamoto-img.webp) center no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 50%;
  left: calc(100% + 100px);
  transform: translateY(-50%);
  z-index: 1;
}
@media screen and (max-width: 960px) {
  .p-top__kumamoto .txt::after {
    left: calc(100% + 50px);
  }
}
@media screen and (max-width: 768px) {
  .p-top__kumamoto .txt::after {
    width: 100vw;
    max-width: none;
    background: url(../images/top/kumamoto-img-sp.webp) center no-repeat;
    background-size: 100% auto;
    position: relative;
    top: auto;
    left: auto;
    transform: translateY(0);
    margin-top: 87px;
    margin-inline: calc(50% - 50vw);
  }
}
.p-top__kumamoto h2 {
  font-size: clamp(1.75rem, 1.114rem + 3.18vw, 3.4rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.6;
  margin-bottom: 64px;
}
@media screen and (max-width: 768px) {
  .p-top__kumamoto h2 {
    margin-bottom: 32px;
  }
}
.p-top__kumamoto p {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 2.25;
}
.p-top__kumamoto ul {
  margin-top: 80px;
  border-top: #999 1px solid;
}
@media screen and (max-width: 768px) {
  .p-top__kumamoto ul {
    margin-top: 64px;
  }
}
.p-top__kumamoto ul li {
  border-bottom: #999 1px solid;
  font-size: clamp(1rem, 0.864rem + 0.68vw, 1.375rem);
  letter-spacing: 0.02em;
}
.p-top__kumamoto ul li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 500;
  width: 100%;
  height: 87px;
  padding-left: 33px;
  padding-right: 24px;
  background: rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 768px) {
  .p-top__kumamoto ul li a {
    height: 66px;
    padding: 0 24px;
  }
}
.p-top__kumamoto ul li a::after {
  content: "→";
  font-size: 14px;
  font-weight: 500;
  transition: 0.3s;
}
.p-top__kumamoto ul li a:hover {
  background: #000;
}
.p-top__kumamoto ul li a:hover::after {
  transform: translateX(5px);
}

.p-top__company {
  background: #D7D4D0;
  padding-top: 112px;
}
@media screen and (max-width: 768px) {
  .p-top__company {
    padding-top: 96px;
  }
}
.p-top__company::after {
  content: "";
  display: block;
  width: 100%;
  height: 680px;
  background: url(../images/top/recruit-bg.webp) center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .p-top__company::after {
    height: 456px;
    background: url(../images/top/recruit-bg-sp.webp) center no-repeat;
    background-size: cover;
  }
}
.p-top__company .p-recruit__inner {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .p-top__company .p-recruit__inner {
    display: block;
    margin-bottom: 102px;
  }
}
@media screen and (max-width: 768px) {
  .p-top__company .p-top__ttl {
    margin-bottom: 32px;
  }
}
.p-top__company .list {
  width: min(100% - 300px, 900px);
}
@media screen and (max-width: 768px) {
  .p-top__company .list {
    width: 100%;
    padding-bottom: 32px;
  }
}
.p-top__company .box {
  background: #fff;
  border-radius: 10px;
  margin-bottom: 8px;
}
.p-top__company .box:nth-last-of-type {
  margin-bottom: 0;
}
.p-top__company .box a {
  padding: 32px 146px 32px 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-top__company .box a {
    padding: 12px;
    display: block;
  }
}
.p-top__company .box a::after {
  content: "→";
  font-size: 14px;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #F0F0F0;
  position: absolute;
  top: 50%;
  right: 32px;
  transform: translateY(-50%);
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .p-top__company .box a::after {
    content: none;
  }
}
.p-top__company .box a:hover::after {
  background: #000;
  transform: translateY(-50%) translateX(5px);
  color: #fff;
}
.p-top__company .box a figure {
  width: 140px;
  align-items: center;
  border-radius: 10px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-top__company .box a figure {
    width: 130px;
    margin-bottom: 16px;
  }
}
.p-top__company .box a figure img {
  display: block;
}
.p-top__company .box a .txt {
  width: calc(100% - 172px);
}
@media screen and (max-width: 768px) {
  .p-top__company .box a .txt {
    width: 100%;
  }
}
.p-top__company .box a h3 {
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.04em;
  display: flex;
  justify-content: flex-end;
  flex-direction: row-reverse;
  align-items: center;
  margin-bottom: 12px;
}
@media screen and (max-width: 768px) {
  .p-top__company .box a h3 {
    display: block;
    position: absolute;
    top: 22px;
    left: 156px;
  }
}
.p-top__company .box a h3 span {
  font-family: "Inter", sans-serif;
  font-size: clamp(0.625rem, 0.58rem + 0.23vw, 0.75rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  margin-left: 16px;
  display: block;
}
@media screen and (max-width: 768px) {
  .p-top__company .box a h3 span {
    margin-left: 0;
  }
}
.p-top__company .box a p {
  font-size: 16px;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
.p-top__company .p-top__btnmore {
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-top__company .p-top__btnmore {
    position: relative;
  }
}