.sec01 {
  padding: 165px 0 90px;
  margin: 0 0 100px;
  background: url(../images/recruit/requirements/visual_pc.jpg) no-repeat center;
  background-size: cover;
}
.sec01 h2 {
  text-align: center;
  color: #fff;
}
.sec01 h2 b {
  font-size: 4rem;
  letter-spacing: 0.04em;
}
.sec01 h2 span {
  display: block;
  text-align: center;
}

@media (max-width: 750px) {
  .sec01 {
    padding: 47% 0 21%;
    margin: 0 0 16%;
    background: url(../images/recruit/requirements/visual_sp.jpg) no-repeat center;
    background-size: cover;
  }
  .sec01 h2 b {
    font-size: 3rem;
  }
  .sec01 h2 span {
    font-size: 1.6rem;
  }
}
.sec02 {
  margin: 0 0 100px;
  transform: translateY(25px);
  opacity: 0;
  transition: opacity 1s 0s, transform 1s 0s ease;
}
.sec02.js--ing {
  opacity: 1;
  transform: translateY(0);
}
.sec02 ul.flex {
  gap: 0 14px;
}
.sec02 li {
  width: 32.5423728814%;
  position: relative;
}
.sec02 li a {
  display: block;
  padding: 0.7em 0;
  text-align: center;
  color: #fff;
  font-weight: bold;
  background-color: #36b0e9;
  border-radius: 10px;
  transition: opacity 0.2s 0s ease;
}
.sec02 li.new a {
  background-color: #fd5993;
}
.sec02 li.career a {
  background-color: #27b498;
}
.sec02 li.part-time a {
  background-color: #f08925;
}
.sec02 li a.js--on {
  opacity: 0.5;
}
.sec02 li a .fa-circle-arrow-right {
  position: absolute;
  right: 25px;
  top: 0;
  bottom: 0;
  margin: auto;
}

@media (max-width: 750px) {
  .sec02 {
    margin: 0 0 15%;
    padding: 0 4%;
  }
  .sec02 ul.flex {
    flex-direction: column;
    gap: 3vw 0;
  }
  .sec02 li {
    width: 100%;
  }
  .sec02 li a {
    font-size: 2rem;
  }
  .sec02 li a .fa-circle-arrow-right {
    right: 3%;
  }
}
.sec03 {
  margin: 0 0 50px;
  scroll-margin-top: 150px;
  transform: translateY(25px);
  opacity: 0;
  transition: opacity 1s 0s, transform 1s 0s ease;
}
.sec03.js--ing {
  opacity: 1;
  transform: translateY(0);
}
.sec03 p.txt__stop {
  font-size: 3rem;
  text-align: center;
  font-weight: bold;
}
.sec03 h3 {
  margin: 0 0 35px;
  text-align: center;
}
.sec03 h3.new {
  color: #fd5993;
}
.sec03 h3.career {
  color: #27b498;
}
.sec03 h3.part-time {
  color: #f08925;
}
.sec03 div.bg {
  padding: 80px 0;
  background-color: #e9eced;
}
.sec03 ul.sec03__tab__btn {
  margin: 0 0 40px;
  gap: 0 20px;
  justify-content: space-between;
}
.sec03 ul.sec03__tab__btn li {
  width: 48.9583333333%;
  border: none;
}
.sec03 ul.sec03__tab__btn li a {
  display: block;
  padding: 0.9em 0.5em;
  text-align: center;
  color: #fff;
  background-color: #f08925;
  border-radius: 10px;
  font-feature-settings: "palt";
}
.sec03 ul.sec03__tab__btn li a.on {
  color: #f08925;
  background-color: #fff;
}
.sec03 h4 {
  font-weight: normal;
  margin: 0 0 10px;
}
.sec03 ul {
  margin: 0 0 30px;
}
.sec03 li {
  border: 1px solid #cccccc;
  border-bottom: none;
}
.sec03 li:last-child {
  border-bottom: 1px solid #cccccc;
}
.sec03 dt {
  width: 192px;
  padding: 0.7em;
  display: flex;
  align-items: center;
  color: #fff;
  background-color: #383838;
  font-weight: bold;
}
.sec03 dd {
  display: flex;
}
.sec03 dd p {
  width: 767px;
  padding: 0.7em;
  background-color: #fff;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.sec03 dd p a {
  color: #2174C7;
  text-decoration: underline;
}
.sec03 dd p a.js--on {
  text-decoration: none;
}
.sec03 p.btn {
  width: 400px;
  margin: 0 auto 60px;
}
.sec03 .bnr__wrapper {
  justify-content: center;
  align-items: center;
}
.sec03 li.bnr {
  border: none;
  margin: 0;
  width: 400px;
}
.sec03 li.bnr01 {
  margin: 0 20px 0 0;
}
.sec03 p.btn a {
  display: block;
  padding: 0.8em 0;
  text-align: center;
  color: #fff;
  background-color: #f08925;
  border-radius: 10px;
  transition: opacity 0.2s 0s ease;
}
.sec03 p.btn a.js--on {
  opacity: 0.5;
}

@media (max-width: 750px) {
  .sec03 {
    margin: 0 0 11%;
  }
  .sec03 p.txt__stop {
    font-size: 2rem;
  }
  .sec03 h3 {
    font-size: 2.4rem;
    margin: 0 0 10%;
  }
  .sec03 div.bg {
    padding: 10% 4%;
  }
  .sec03 ul.sec03__tab__btn {
    margin: 0 0 9%;
    flex-direction: column;
    gap: 3vw 0;
  }
  .sec03 ul.sec03__tab__btn li {
    width: 100%;
  }
  .sec03 ul.sec03__tab__btn li a {
    padding: 0.9em 0.5em;
    font-size: 1.6rem;
  }
  .sec03 h4 {
    font-size: 1.6rem;
    margin: 0 0 4%;
  }
  .sec03 ul {
    margin: 0 0 6%;
  }
  .sec03 dl.flex {
    flex-direction: column;
  }
  .sec03 dt {
    width: 100%;
    box-sizing: border-box;
  }
  .sec03 dd p {
    width: 100%;
    box-sizing: border-box;
  }
  .sec03 p.btn {
    width: 81.1594202899%;
    margin: 0 auto 10.6666666667%;
  }
  .sec03 .bnr__wrapper {
    flex-direction: column;
  }
  .sec03 li.bnr {
    width: 81.1594202899%;
  }
  .sec03 li.bnr01 {
    margin: 0 0 5.3333333333%;
  }
  .sec03 p.btn a {
    padding: 1.2em 0;
    font-size: 1.6rem;
  }
}