.text {
  line-height: 1.77;
  font-size: 18px;
}

.kv-recruit {
  position: relative;
  margin: 0 auto min(20px, calc(20 / 1400 * 100vw)) auto;
  width: min(960px, calc(960 / 1400 * 100vw));
}

.sec-pr {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0 auto min(100px, calc(100 / 1400 * 100vw)) auto;
  width: min(860px, calc(860 / 1400 * 100vw));
  gap: min(70px, calc(70 / 1400 * 100vw));
}

.sec-pr .pr:nth-child(even) {
  transform: translateY(min(100px, calc(100 / 1400 * 100vw)));
}

.sec-pr .pr-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: min(12px, calc(12 / 1400 * 100vw));
}

.sec-pr .text {
  text-align: center;
  font-weight: 700;
}

.sec-pr .copy {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: absolute;
  z-index: 1;
  aspect-ratio: 1;
  font-weight: 700;
  color: var(--color-white);
  line-height: 1.28;
  top: max(-50px, calc(-50 / 1400 * 100vw));
  left: max(-50px, calc(-50 / 1400 * 100vw));
  width: min(160px, calc(160 / 1400 * 100vw));
  font-size: 25px;
}

.sec-pr .copy .narrow {
  display: inline-block;
  transform: scaleX(0.8);
  transform-origin: center;
  letter-spacing: 0;
}

.sec-pr .copy::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  -webkit-mask: url(../img/recruit/bg_copy.svg) no-repeat;
  -webkit-mask-size: 100% auto;
  mask: url(../img/recruit/bg_copy.svg) no-repeat;
  mask-size: 100% auto;
  animation: rotate_pc 18s linear infinite;
}

.sec-pr .copy[data-color=b-green]::before {
  background: var(--grad-b-green);
}

.sec-pr .copy[data-color=orange]::before {
  background: var(--grad-orange);
}

.sec-pr .copy[data-color=purple]::before {
  background: var(--grad-purple);
}

.sec-pr .copy[data-color=yellow]::before {
  background: var(--grad-yellow);
}

.sec-pr .copy[data-color=pink]::before {
  background: var(--grad-pink);
}

.sec-pr .copy[data-color=green]::before {
  background: var(--grad-green);
}

.sec-voice .voice-slider {
  margin: 0 auto;
  width: min(860px, calc(860 / 1400 * 100vw));
}

.sec-voice .voice-slider-thumb {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto min(25px, calc(25 / 1400 * 100vw)) auto;
  width: min(520px, calc(520 / 1400 * 100vw));
  gap: min(8px, calc(8 / 1400 * 100vw));
}

.sec-voice .voice-slider-thumb button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--color-beige-text);
  color: var(--color-white);
  transition: all 0.3s;
  width: min(80px, calc(80 / 1400 * 100vw));
  font-weight: 700;
  line-height: 1.33;
  font-size: 18px;
}

.sec-voice .voice-slider-thumb button.is-current {
  color: var(--color-beige-bg);
  background: var(--color-beige-bg-light);
}

.sec-voice .voice-slider-thumb button.is-current::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid #30c060;
}

.sec-voice .voice-slider-main {
  position: relative;
}

.sec-voice .voice-slider-main::after {
  content: "";
  pointer-events: none;
  position: absolute;
  z-index: 1;
  inset: 0;
  border: 2px solid var(--color-beige-bg);
  border-radius: min(20px, calc(20 / 1400 * 100vw));
}

.sec-voice .swiper-container {
  border-radius: min(20px, calc(20 / 1400 * 100vw));
}

.sec-voice .swiper-slide {
  padding: min(55px, calc(55 / 1400 * 100vw)) min(35px, calc(35 / 1400 * 100vw)) min(30px, calc(30 / 1400 * 100vw)) min(35px, calc(35 / 1400 * 100vw));
}

.sec-voice .swiper-slide .tag {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  background: #d6b7ad;
  color: var(--color-white);
  font-weight: 700;
  border-radius: 0 0 min(8px, calc(8 / 1400 * 100vw)) min(8px, calc(8 / 1400 * 100vw));
  padding: min(4px, calc(4 / 1400 * 100vw)) 0 min(2px, calc(2 / 1400 * 100vw)) 0;
  width: min(450px, calc(450 / 1400 * 100vw));
}

.sec-voice .swiper-slide .wrap {
  display: flex;
  align-items: center;
  gap: min(22px, calc(22 / 1400 * 100vw));
}

.sec-voice .swiper-slide .image {
  position: relative;
  width: min(260px, calc(260 / 1400 * 100vw));
}

.sec-voice .swiper-slide .image::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 3px solid var(--color-white);
}

.sec-voice .swiper-slide .texts {
  flex: 1;
}

.sec-voice .swiper-slide .texts .cmn-h3 {
  font-weight: 700;
  margin-bottom: min(4px, calc(4 / 1400 * 100vw));
}

.sec-voice .swiper-slide .texts .text + .cmn-h3 {
  margin-top: min(30px, calc(30 / 1400 * 100vw));
}

.sec-voice .voice-prev,
.sec-voice .voice-next {
  position: absolute;
  z-index: 100;
  top: 50%;
  transform: translateY(-50%);
  transition: background 0.3s;
  background: var(--color-beige-bg);
  aspect-ratio: 1;
  border-radius: 50%;
  width: min(52px, calc(52 / 1400 * 100vw));
}

.sec-voice .voice-prev::after,
.sec-voice .voice-next::after {
  content: "";
  position: absolute;
  top: 50%;
  aspect-ratio: 20/23;
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
  transition: background 0.3s;
  background: var(--color-white);
  width: min(20px, calc(20 / 1400 * 100vw));
}

.sec-voice .voice-prev {
  left: max(-26px, calc(-26 / 1400 * 100vw));
}

.sec-voice .voice-prev::after {
  left: 48%;
  transform: translate(-50%, -50%);
}

.sec-voice .voice-next {
  right: max(-26px, calc(-26 / 1400 * 100vw));
}

.sec-voice .voice-next::after {
  left: 52%;
  transform: translate(-50%, -50%) scale(-1, 1);
}

.sec-requirements {
  margin: 0 auto;
  width: min(780px, calc(780 / 1400 * 100vw));
}

.sec-requirements .cmn-table {
  margin-bottom: min(20px, calc(20 / 1400 * 100vw));
}

.sec-requirements .cmn-table th {
  width: min(180px, calc(180 / 1400 * 100vw));
}

.sec-requirements .cmn-table th,
.sec-requirements .cmn-table td {
  text-align: left;
  vertical-align: top;
}

.sec-requirements .salary div {
  display: flex;
}

.sec-requirements .salary dt {
  width: 4em;
}

.sec-requirements .salary dd {
  flex: 1;
}

.sec-requirements .caution {
  line-height: 1.5;
  font-size: 14px;
}

.sec-requirements .message {
  text-align: center;
  font-weight: 700;
  color: var(--color-beige-bg);
  margin-top: 2em;
  font-size: 24px;
}

.sec-requirements .message a {
  font-size: 18px;
}

.sec-requirements .message a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
  text-decoration-color: var(--colod-beige-bg);
  transition: text-decoration-color 0.3s;
}

.sec-flow {
  margin: 0 auto;
  width: min(780px, calc(780 / 1400 * 100vw));
}

.sec-flow .flow {
  display: flex;
  flex-direction: column;
}

.sec-flow .item:has(.no) {
  display: flex;
  align-items: center;
  gap: min(30px, calc(30 / 1400 * 100vw));
}

.sec-flow .item:not(:has(.no)) {
  position: relative;
  padding-top: min(60px, calc(60 / 1400 * 100vw));
}

.sec-flow .item:not(:has(.no))::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  aspect-ratio: 1;
  border-right: 2px solid var(--color-beige-bg);
  border-bottom: 2px solid var(--color-beige-bg);
  width: min(28px, calc(28 / 1400 * 100vw));
}

.sec-flow .item:not(:has(.no)) .cmn-h3 {
  font-weight: 700;
  text-align: center;
}

.sec-flow .no {
  width: min(78px, calc(78 / 1400 * 100vw));
}

.sec-flow .texts {
  flex: 1;
  padding: min(20px, calc(20 / 1400 * 100vw)) 0;
}

.sec-flow .texts .cmn-h3 {
  font-weight: 700;
  margin-bottom: min(2px, calc(2 / 1400 * 100vw));
}

.sec-flow .texts .text + .text {
  margin-top: 1em;
}

.sec-flow .item:nth-child(-n+6) .texts {
  border-bottom: 2px solid var(--color-beige-bg);
}

@media print, screen and (min-width: 769px) {
  .sec-pr .pr:nth-child(3) .copy,
  .sec-pr .pr:nth-child(4) .copy,
  .sec-pr .pr:nth-child(6) .copy {
    left: auto;
    right: max(-50px, calc(-50 / 1400 * 100vw));
  }
}

@media print and (hover: hover), screen and (min-width: 769px) and (hover: hover) {
  .sec-voice .voice-slider-thumb button:hover {
    color: var(--color-beige-bg);
    background: var(--color-beige-bg-light);
  }

  .sec-voice .voice-prev:hover,
  .sec-voice .voice-next:hover {
    background: #dfc7bf;
  }

  .sec-voice .voice-prev:hover::after,
  .sec-voice .voice-next:hover::after {
    background: #d0aca0;
  }
}

@media screen and (min-width: 769px) and (-ms-high-contrast: active), screen and (min-width: 769px) and (-ms-high-contrast: none) {
  .sec-voice .voice-slider-thumb button:hover {
    color: var(--color-beige-bg);
    background: var(--color-beige-bg-light);
  }

  .sec-voice .voice-prev:hover,
  .sec-voice .voice-next:hover {
    background: #dfc7bf;
  }

  .sec-voice .voice-prev:hover::after,
  .sec-voice .voice-next:hover::after {
    background: #d0aca0;
  }
}

@media only screen and (max-width: 768.8px) {
  .text {
    font-size: 1.8rem;
  }

  .kv-recruit {
    width: 89.3333333333vw;
    margin-bottom: 4vw;
  }

  .sec-pr {
    grid-template-columns: 1fr;
    width: 89.3333333333vw;
    gap: 10.6666666667vw;
    margin-bottom: 0;
    margin-top: 10.6666666667vw;
  }

  .sec-pr .pr:nth-child(even) {
    transform: translateY(0);
  }

  .sec-pr .pr-inner {
    gap: 3.2vw;
  }

  .sec-pr .copy {
    font-size: 1.7rem;
  }

  .sec-pr .copy {
    top: -4vw;
    left: -4vw;
    width: 28.8vw;
  }

  .sec-pr .pr:nth-child(even) .copy {
    left: auto;
    right: -4vw;
  }

  .sec-voice .voice-slider {
    width: 89.3333333333vw;
  }

  .sec-voice .voice-slider-thumb {
    margin-bottom: 6.6666666667vw;
    width: 68.2666666667vw;
    gap: 2.1333333333vw;
  }

  .sec-voice .voice-slider-thumb button {
    font-size: 1.8rem;
  }

  .sec-voice .voice-slider-thumb button {
    width: 21.3333333333vw;
  }

  .sec-voice .voice-slider-main::after {
    border-radius: 4vw;
  }

  .sec-voice .swiper-container {
    border-radius: 4vw;
  }

  .sec-voice .swiper-wrapper {
    align-items: flex-start;
  }

  .sec-voice .swiper-slide {
    padding: 18.6666666667vw 5.3333333333vw 8vw 5.3333333333vw;
  }

  .sec-voice .swiper-slide .tag {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0 0 3.2vw 3.2vw;
    padding: 0;
    width: 60vw;
    height: 16vw;
  }

  .sec-voice .swiper-slide .wrap {
    flex-direction: column;
    gap: 5.3333333333vw;
  }

  .sec-voice .swiper-slide .image {
    width: 48vw;
  }

  .sec-voice .swiper-slide .texts .cmn-h3 {
    margin-bottom: 1.0666666667vw;
  }

  .sec-voice .swiper-slide .texts .text + .cmn-h3 {
    margin-top: 10.6666666667vw;
  }

  .sec-voice .voice-prev,
  .sec-voice .voice-next {
    top: 4vw;
    transform: translateY(0);
    width: 8vw;
  }

  .sec-voice .voice-prev::after,
  .sec-voice .voice-next::after {
    width: 3.0666666667vw;
  }

  .sec-voice .voice-prev {
    left: 4vw;
  }

  .sec-voice .voice-next {
    right: 4vw;
  }

  .sec-requirements {
    width: 89.3333333333vw;
  }

  .sec-requirements .cmn-table {
    margin-bottom: 5.3333333333vw;
  }

  .sec-requirements .cmn-table th {
    width: 21.3333333333vw;
    text-align: center;
  }

  .sec-requirements .cmn-table th,
  .sec-requirements .cmn-table td {
    vertical-align: middle;
  }

  .sec-requirements .salary div {
    flex-direction: column;
  }

  .sec-requirements .salary dt {
    margin-top: 1em;
  }

  .sec-requirements .caution {
    font-size: 1.4rem;
  }

  .sec-requirements .message {
    font-size: 2.4rem;
  }

  .sec-requirements .message a {
    font-size: 1.8rem;
  }

  .sec-flow {
    width: 89.3333333333vw;
  }

  .sec-flow .item:has(.no) {
    gap: 2.6666666667vw;
  }

  .sec-flow .item:not(:has(.no)) {
    padding-top: 10.6666666667vw;
  }

  .sec-flow .item:not(:has(.no))::before {
    top: -4vw;
    width: 8vw;
  }

  .sec-flow .no {
    width: 15.2vw;
  }

  .sec-flow .texts {
    padding: 5.3333333333vw 0;
  }

  .sec-flow .texts .cmn-h3 {
    margin-bottom: 1.0666666667vw;
  }
}

@media screen and (min-width: 769px) and (max-width: 1399.8px) {
  .text {
    font-size: 1.8rem;
  }

  .sec-pr .copy {
    font-size: 2.5rem;
  }

  .sec-voice .voice-slider-thumb button {
    font-size: 1.8rem;
  }

  .sec-requirements .caution {
    font-size: 1.4rem;
  }

  .sec-requirements .message {
    font-size: 2.4rem;
  }

  .sec-requirements .message a {
    font-size: 1.8rem;
  }
}

@media (hover: hover) {
  .sec-requirements .message a:hover {
    text-decoration-color: transparent;
  }
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .sec-requirements .message a:hover {
    text-decoration-color: transparent;
  }
}