@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}

.sp-only {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp-only {
    display: block;
  }
}

.recruit-bg {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .recruit-bg {
    overflow: hidden;
    width: 100%;
    height: 100vh;
    position: absolute;
  }
}
.recruit-bg figure {
  position: absolute;
  right: 0;
  top: 0;
}
.recruit-bg figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.recruit-bg figure:nth-child(1) {
  width: 610px;
  height: 606px;
}
@media screen and (max-width: 1440px) {
  .recruit-bg figure:nth-child(1) {
    width: 42.361vw;
    height: 42.083vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit-bg figure:nth-child(1) {
    top: 27.907vw;
    width: 55.814vw;
    height: auto;
    right: -11.628vw;
  }
}
.recruit-bg figure:nth-child(2) {
  top: 564px;
}
@media screen and (max-width: 1440px) {
  .recruit-bg figure:nth-child(2) {
    top: 39.167vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit-bg figure:nth-child(2) {
    top: 130.93vw;
    width: 44.186vw;
  }
}
.recruit-bg figure:nth-child(3) {
  top: 2342px;
}
@media screen and (max-width: 1440px) {
  .recruit-bg figure:nth-child(3) {
    top: 162.639vw;
  }
}
.recruit-title {
  padding: 132px 50px 15px;
  text-align: left;
  border-bottom: 1px solid #B1B1B1;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1440px) {
  .recruit-title {
    padding: 9.167vw 3.472vw 1.042vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit-title {
    padding: 15.349vw 5.814vw 1.744vw;
    padding-top: 18.605vw;
    padding-left: 6.977vw;
    padding-bottom: 9.302vw;
  }
}
.recruit-title .inner {
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 1440px) {
  .recruit-title .inner {
    max-width: 83.333vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit-title .inner {
    max-width: 100%;
  }
}
.recruit-title h1 {
  width: 100%;
  max-width: 671px;
  position: relative;
  padding-bottom: 25px;
  margin-bottom: 60px;
}
@media screen and (max-width: 1440px) {
  .recruit-title h1 {
    max-width: 46.597vw;
    padding-bottom: 1.736vw;
    margin-bottom: 4.167vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit-title h1 {
    max-width: 66.977vw;
    padding-bottom: 4.186vw;
    margin-bottom: 9.302vw;
  }
}
.recruit-title h1 span {
  display: block;
}
.recruit-title h1:before {
  content: "";
  display: block;
  width: 53px;
  height: 5px;
  background: linear-gradient(90deg, #FADA61, #FF9188, #FF5ACD);
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 1440px) {
  .recruit-title h1:before {
    width: 3.681vw;
    height: 0.347vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit-title h1:before {
    width: 9.86vw;
    height: 0.93vw;
  }
}
.recruit-title .catch {
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 74px;
}
@media screen and (max-width: 1440px) {
  .recruit-title .catch {
    font-size: 2.5vw;
    margin-bottom: 5.139vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit-title .catch {
    font-size: 6.512vw;
    margin-bottom: 13.953vw;
  }
}
.recruit-title .txt {
  font-size: 16px;
  font-weight: bold;
  line-height: 2;
  margin-bottom: 28px;
}
@media screen and (max-width: 1440px) {
  .recruit-title .txt {
    font-size: 1.111vw;
    margin-bottom: 1.944vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit-title .txt {
    font-size: 3.721vw;
    margin-bottom: 3.256vw;
  }
}
.recruit-title .scroll {
  width: fit-content;
  margin: 0 auto;
  font-size: 18px;
  font-weight: normal;
  text-align: center;
  margin-top: 68px;
}
@media screen and (max-width: 1440px) {
  .recruit-title .scroll {
    font-size: 1.25vw;
    margin-top: 4.722vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit-title .scroll {
    font-size: 3.349vw;
    margin-top: 7.907vw;
    position: relative;
    left: -18.605vw;
  }
}
.recruit-title .scroll a {
  display: block;
  margin-bottom: 10px;
}
@media screen and (max-width: 1440px) {
  .recruit-title .scroll a {
    margin-bottom: 0.694vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit-title .scroll a {
    margin-bottom: 1.163vw;
  }
}
.recruit-title .scroll i {
  display: inline-block;
  width: 1px;
  height: 40px;
  background-color: #fff;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 1440px) {
  .recruit-title .scroll i {
    height: 2.778vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit-title .scroll i {
    height: 9.302vw;
  }
}
.recruit-title .scroll i:before {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #B1B1B1;
  opacity: 1;
  z-index: 1;
  transition: 0.3s;
  transform: translateY(0%);
  animation: scrollmove 2s linear infinite;
}

@keyframes scrollmove {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(150%);
  }
}
.sec01 {
  padding: 80px 0 10px;
  overflow: hidden;
}
@media screen and (max-width: 1440px) {
  .sec01 {
    padding: 5.556vw 0 0.694vw;
  }
}
@media screen and (max-width: 767px) {
  .sec01 {
    padding: 9.302vw 0 9.302vw;
  }
}
.sec01 .inner {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 50px;
}
@media screen and (max-width: 1440px) {
  .sec01 .inner {
    max-width: 76.389vw;
    padding: 0 3.472vw;
  }
}
@media screen and (max-width: 767px) {
  .sec01 .inner {
    max-width: 100%;
    padding: 0 4.651vw;
  }
}

.recruit {
  width: 100%;
  position: relative;
  z-index: 2;
}
.recruit .flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0;
}
.recruit .recruit-item {
  width: 100%;
  padding-bottom: 76px;
}
@media screen and (max-width: 1440px) {
  .recruit .recruit-item {
    padding-bottom: 5.278vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .recruit-item {
    padding-bottom: 9.302vw;
  }
}
.recruit .recruit-item + .recruit-item {
  padding-top: 80px;
  border-top: 1px solid #B1B1B1;
}
@media screen and (max-width: 1440px) {
  .recruit .recruit-item + .recruit-item {
    padding-top: 5.556vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .recruit-item + .recruit-item {
    padding-top: 9.302vw;
  }
}
.recruit .recruit-h2 {
  margin-bottom: 48px;
}
@media screen and (max-width: 1440px) {
  .recruit .recruit-h2 {
    margin-bottom: 3.333vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .recruit-h2 {
    margin-bottom: 5.581vw;
  }
}
.recruit .recruit-h2 span {
  display: block;
  font-weight: bold;
  color: #000;
}
.recruit .recruit-h2 span + span {
  margin-top: 18px;
}
@media screen and (max-width: 1440px) {
  .recruit .recruit-h2 span + span {
    margin-top: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .recruit-h2 span + span {
    margin-top: 1.86vw;
  }
}
.recruit .recruit-h2 .en {
  font-size: 16px;
  color: #9F3E6A;
}
@media screen and (max-width: 1440px) {
  .recruit .recruit-h2 .en {
    font-size: 1.111vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .recruit-h2 .en {
    font-size: 2.791vw;
  }
}
.recruit .recruit-h2 .ja {
  font-size: 36px;
}
@media screen and (max-width: 1440px) {
  .recruit .recruit-h2 .ja {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .recruit-h2 .ja {
    font-size: 5.581vw;
  }
}
.recruit .recruit-h2 .s {
  font-size: 24px;
}
@media screen and (max-width: 1440px) {
  .recruit .recruit-h2 .s {
    font-size: 1.667vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .recruit-h2 .s {
    font-size: 4.186vw;
  }
}
.recruit .works-list {
  width: 100%;
}
.recruit .works-list ul {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .recruit .works-list ul {
    flex-wrap: wrap;
    gap: 4.651vw 0;
  }
}
.recruit .works-list ul li {
  width: 25%;
  border-right: 1px solid #B1B1B1;
  padding: 0 30px;
  text-align: center;
}
@media screen and (max-width: 1440px) {
  .recruit .works-list ul li {
    padding: 0 2.083vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .works-list ul li {
    width: 50%;
    padding: 0 3.488vw;
  }
}
.recruit .works-list ul li figure {
  display: inline-block;
}
.recruit .works-list ul li figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 5px;
}
@media screen and (max-width: 1440px) {
  .recruit .works-list ul li figure img {
    border-radius: 0.347vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .works-list ul li figure img {
    border-radius: 0.698vw;
  }
}
.recruit .works-list ul li p {
  font-size: 22px;
  font-weight: bold;
}
@media screen and (max-width: 1440px) {
  .recruit .works-list ul li p {
    font-size: 1.528vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .works-list ul li p {
    font-size: 4.093vw;
  }
}
.recruit .works-list ul li:last-child {
  border-right: none;
}
@media screen and (max-width: 767px) {
  .recruit .works-list ul li:nth-child(2n) {
    border-right: none;
  }
}
.recruit .requirements .recruit-h2 {
  width: 20%;
}
@media screen and (max-width: 767px) {
  .recruit .requirements .recruit-h2 {
    width: 100%;
  }
}
.recruit .requirements .requirements-list {
  padding-top: 40px;
  width: 80%;
}
@media screen and (max-width: 1440px) {
  .recruit .requirements .requirements-list {
    padding-top: 2.778vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .requirements .requirements-list {
    padding-top: 0;
    width: 100%;
  }
}
.recruit .requirements .requirements-list dl {
  width: 100%;
  flex-wrap: wrap;
}
.recruit .requirements .requirements-list dl dt, .recruit .requirements .requirements-list dl dd {
  padding: 0.5em 1em;
  padding-bottom: 26px;
  border-bottom: 1px solid #B1B1B1;
  border-left: 1px solid #B1B1B1;
}
@media screen and (max-width: 1440px) {
  .recruit .requirements .requirements-list dl dt, .recruit .requirements .requirements-list dl dd {
    padding-bottom: 1.806vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .requirements .requirements-list dl dt, .recruit .requirements .requirements-list dl dd {
    padding: 0.5em 1em;
  }
}
.recruit .requirements .requirements-list dl dt:nth-last-child(-n+2), .recruit .requirements .requirements-list dl dd:nth-last-child(-n+2) {
  border-bottom: none;
}
.recruit .requirements .requirements-list dl dt {
  width: 33%;
  font-size: 22px;
  font-weight: bold;
  padding-top: 28px;
  padding-left: 18px;
}
@media screen and (max-width: 1440px) {
  .recruit .requirements .requirements-list dl dt {
    font-size: 1.528vw;
    padding-top: 1.944vw;
    padding-left: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .requirements .requirements-list dl dt {
    width: 30%;
    font-size: 3.023vw;
    padding-top: 0.6em;
    padding-left: 1em;
  }
}
.recruit .requirements .requirements-list dl dt .s {
  font-size: 18px;
}
@media screen and (max-width: 1440px) {
  .recruit .requirements .requirements-list dl dt .s {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .requirements .requirements-list dl dt .s {
    font-size: 3.349vw;
  }
}
.recruit .requirements .requirements-list dl dd {
  width: 67%;
  font-size: 16px;
  font-weight: 500;
  line-height: 2.5625;
  padding-top: 20px;
  padding-left: 60px;
}
@media screen and (max-width: 1440px) {
  .recruit .requirements .requirements-list dl dd {
    font-size: 1.111vw;
    padding-top: 1.389vw;
    padding-left: 4.167vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .requirements .requirements-list dl dd {
    width: 70%;
    font-size: 3.023vw;
    line-height: 2;
    padding-top: 0.5em;
    padding-left: 1em;
  }
}
.recruit .flow {
  padding-bottom: 80px;
}
@media screen and (max-width: 1440px) {
  .recruit .flow {
    padding-bottom: 5.556vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .flow {
    padding-bottom: 9.302vw;
  }
}
.recruit .flow .recruit-h2 {
  width: 20%;
}
@media screen and (max-width: 767px) {
  .recruit .flow .recruit-h2 {
    width: 100%;
  }
}
.recruit .flow .flow-list {
  width: 80%;
  border-left: 1px solid #B1B1B1;
  padding: 10px 0 20px;
  padding-left: 22px;
  margin-top: 42px;
}
@media screen and (max-width: 1440px) {
  .recruit .flow .flow-list {
    padding: 0.694vw 0 1.389vw;
    padding-left: 1.528vw;
    margin-top: 2.917vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .flow .flow-list {
    width: 100%;
    padding: 0;
    margin-top: 0;
    border-left: none;
    overflow-x: scroll;
  }
}
.recruit .flow .flow-list figure {
  width: 100%;
  max-width: 783px;
}
@media screen and (max-width: 1440px) {
  .recruit .flow .flow-list figure {
    max-width: 54.375vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .flow .flow-list figure {
    width: 139.535vw;
    max-width: 139.535vw;
    padding: 4.651vw 0;
    background-color: #fff;
  }
}
.recruit .flow .flow-list figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.recruit .entry {
  padding-bottom: 40px;
}
@media screen and (max-width: 1440px) {
  .recruit .entry {
    padding-bottom: 2.778vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .entry {
    padding-bottom: 4.651vw;
  }
}
.recruit .entry .recruit-h2 {
  width: 20%;
}
@media screen and (max-width: 767px) {
  .recruit .entry .recruit-h2 {
    width: 100%;
  }
}
.recruit .entry .entry-flex {
  width: 80%;
  padding-top: 37px;
  justify-content: right;
  gap: 0 8%;
}
@media screen and (max-width: 1440px) {
  .recruit .entry .entry-flex {
    padding-top: 2.569vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .entry .entry-flex {
    width: 100%;
    padding-top: 0;
  }
}
.recruit .entry .entry-flex .flex-l {
  width: 30%;
  padding-top: 4px;
}
@media screen and (max-width: 1440px) {
  .recruit .entry .entry-flex .flex-l {
    padding-top: 0.278vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .entry .entry-flex .flex-l {
    width: 100%;
    padding-top: 0.465vw;
  }
}
.recruit .entry .entry-flex .flex-l p {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.875;
}
@media screen and (max-width: 1440px) {
  .recruit .entry .entry-flex .flex-l p {
    font-size: 1.111vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .entry .entry-flex .flex-l p {
    font-size: 3.023vw;
  }
}
.recruit .entry .entry-flex .flex-r {
  width: 52.5%;
}
@media screen and (max-width: 767px) {
  .recruit .entry .entry-flex .flex-r {
    width: 100%;
    padding: 6.977vw 0;
  }
}
.recruit .entry .entry-flex .flex-r .link-btn a {
  display: block;
  width: 350px;
  height: 67px;
  background-color: #000;
  border-radius: 4px;
  color: #fff;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 1440px) {
  .recruit .entry .entry-flex .flex-r .link-btn a {
    width: 24.306vw;
    height: 4.653vw;
    border-radius: 0.278vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .entry .entry-flex .flex-r .link-btn a {
    width: 100%;
    max-width: 81.395vw;
    height: auto;
    margin: 0 auto;
    border-radius: 0.93vw;
  }
}
.recruit .entry .entry-flex .flex-r .link-btn a span {
  font-size: 18px;
  font-weight: bold;
  line-height: 3.7222222222;
}
@media screen and (max-width: 1440px) {
  .recruit .entry .entry-flex .flex-r .link-btn a span {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .entry .entry-flex .flex-r .link-btn a span {
    font-size: 3.349vw;
  }
}
.recruit .entry .entry-flex .flex-r .link-btn a i {
  width: 24px;
  height: 21px;
  position: absolute;
  top: 50%;
  right: 32px;
  transform: translateY(-50%);
}
@media screen and (max-width: 1440px) {
  .recruit .entry .entry-flex .flex-r .link-btn a i {
    width: 1.667vw;
    height: 1.458vw;
    right: 2.222vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .entry .entry-flex .flex-r .link-btn a i {
    width: 4.465vw;
    height: 3.907vw;
    right: 5.953vw;
  }
}
.recruit .entry .entry-flex .flex-r .link-btn a i img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.recruit .entry .entry-flex .flex-r .link-btn a:hover {
  opacity: 0.6;
}
.recruit .faq {
  justify-content: space-between;
  padding-top: 60px !important;
  padding-bottom: 50px;
}
@media screen and (max-width: 1440px) {
  .recruit .faq {
    padding-top: 4.167vw !important;
    padding-bottom: 3.472vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .faq {
    padding-top: 6.977vw !important;
    padding-bottom: 5.814vw;
  }
}
.recruit .faq .recruit-h2 {
  width: 30%;
}
@media screen and (max-width: 767px) {
  .recruit .faq .recruit-h2 {
    width: 100%;
  }
}
.recruit .faq .faq-list {
  width: 68.2%;
  padding-top: 43px;
}
@media screen and (max-width: 1440px) {
  .recruit .faq .faq-list {
    padding-top: 2.986vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .faq .faq-list {
    width: 100%;
    padding-top: 0;
  }
}
.recruit .faq .faq-list .item {
  width: 100%;
  border-bottom: 1px solid #B1B1B1;
  border-left: 1px solid #B1B1B1;
}
.recruit .faq .faq-list .item:first-child {
  border-top: 1px solid #B1B1B1;
}
.recruit .faq .faq-list .item .slide-btn {
  position: relative;
}
.recruit .faq .faq-list .item .slide-btn:hover {
  cursor: pointer;
  background-color: rgba(0, 0, 0, 0.3);
}
.recruit .faq .faq-list .item .slide-btn:before, .recruit .faq .faq-list .item .slide-btn:after {
  content: "";
  display: block;
  width: 24px;
  height: 2px;
  position: absolute;
  top: 50%;
  right: 20px;
  background-color: #000;
  transition: 0.3s;
}
@media screen and (max-width: 1440px) {
  .recruit .faq .faq-list .item .slide-btn:before, .recruit .faq .faq-list .item .slide-btn:after {
    width: 1.667vw;
    right: 1.389vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .faq .faq-list .item .slide-btn:before, .recruit .faq .faq-list .item .slide-btn:after {
    width: 4.465vw;
    right: 3.721vw;
  }
}
.recruit .faq .faq-list .item .slide-btn:before {
  transform: rotate(90deg);
}
.recruit .faq .faq-list .item .slide-btn.open {
  background-color: #fff;
}
.recruit .faq .faq-list .item .slide-btn.open:hover {
  background-color: #fff;
}
.recruit .faq .faq-list .item .slide-btn.open:before {
  transform: rotate(180deg);
}
.recruit .faq .faq-list .item .slide-btn h3 {
  font-size: 16px;
  font-weight: bold;
  padding: 22px;
  padding-left: 60px;
}
@media screen and (max-width: 1440px) {
  .recruit .faq .faq-list .item .slide-btn h3 {
    font-size: 1.111vw;
    padding: 1.528vw;
    padding-left: 4.167vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .faq .faq-list .item .slide-btn h3 {
    font-size: 3.023vw;
    padding: 3.488vw;
    padding-left: 4.651vw;
    padding-right: 10.465vw;
  }
}
.recruit .faq .faq-list .item .slide-item {
  padding: 22px;
  padding-left: 60px;
  padding-top: 10px;
  padding-bottom: 30px;
  background-color: #fff;
}
@media screen and (max-width: 1440px) {
  .recruit .faq .faq-list .item .slide-item {
    padding: 1.528vw;
    padding-left: 4.167vw;
    padding-top: 0.694vw;
    padding-bottom: 2.083vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .faq .faq-list .item .slide-item {
    padding: 2.558vw;
    padding-left: 4.651vw;
    padding-top: 1.163vw;
    padding-bottom: 4.651vw;
  }
}
.recruit .faq .faq-list .item .slide-item p {
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
}
@media screen and (max-width: 1440px) {
  .recruit .faq .faq-list .item .slide-item p {
    font-size: 1.111vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit .faq .faq-list .item .slide-item p {
    font-size: 3.023vw;
  }
}
