:root {
  --base01: #ffffff;
  --base02: #F9F9F9;
  --base03: #F5F5F5;
  --text: #333333;
  --text-back01: #EAF4C4;
  --text-back02: #EAF4C4;
  --text-back03: #FFEFF2;
  --main: #93B800;
  --accent: #FB3354;
  --plan-blue: #3E71AA;
}

:root {
  --value_xxxl: 6.4rem;
  --value_xxl: 5.6rem;
  --value_xl: 4.8rem;
  --value_l: 4rem;
  --value_m: 3.2rem;
  --value_xm: 2.4rem;
  --value_s: 1.8rem;
  --value_xs: 1.6rem;
  --value_xxs: 1.4rem;
  --value_xxs2: 1.2rem;
}

* {
  box-sizing: border-box;
}
html{
  font-size: 62.5%;
}

body {
  font-size: clamp(1.4rem, 1.236rem + 0.821vw, 1.8rem);
  line-height: 1.6;
  /* font-family: "Zen Kaku Gothic New",sans-serif,Helvetica, sans-serif, 'Noto Serif JP', Arial; */
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 300;
  font-style: normal;
  color: var(--text);
  /*ページ読み込み*/
  -webkit-animation: fadeIn 1.5s ease 0.3s 1 normal;
  animation: fadeIn 1.5s ease 0.3s 1 normal;
}
@media screen and (max-width:767px) {
  img{
    display: block;
    max-width: 100%;
  }
}
@media screen and (max-width:767px) {
  section{
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
}

h2{
  /* font-size: var(--value_l); */
  font-size: clamp(2rem, 1.179rem + 4.103vw, 4rem);
  text-align: center;
  margin-bottom: 64px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  font-style: normal;
}
@media screen and (max-width:767px) {
  h2 {
    /* font-size: var(--value_xm); */
    margin-bottom: 32px;
  }
}
h3 {
  /* font-size: var(--value_m); */
  font-size: clamp(2rem, 1.508rem + 2.462vw, 3.2rem);
  margin-bottom: 40px;
  font-weight: 900;
}
@media screen and (max-width:767px) {
  h3 {
    margin-bottom: 32px;
  }
}
h4 {
  /* font-size: var(--value_xm); */
  font-size: clamp(1.8rem, 1.554rem + 1.231vw, 2.4rem);
  font-weight: 700;
}
a{
  text-decoration: none;
  opacity: 1;
  transition: opacity 0.3s ease;
}
a:hover {
  opacity: 0.8;
}
ul{
  padding-left: 0;
}
.inner.container{
  max-width: 1000px;
}
@media screen and (min-width:768px) and (max-width:1024px) {
  .inner.container {
    padding: 0 5rem;
  }
}
.btn_contact{
  display: inline-block;
  background: var(--text);
  color: var(--base01);
  padding: 13px 25px;
  border-radius: 5px;
  font-size: var(--value_xs);
}
@media screen and (max-width:767px) {
  .btn_contact {
    padding: 13px;
  }
}
.btn_contact img{
  display: inline-block;
  margin-right: 13px;
  width: 30px;
}
@media screen and (max-width:767px) {
  .btn_contact span {
    display: none;
  }
  .btn_contact img {
    margin-right: 0;
  }
}
#MV{
  position: relative;
  z-index: 0;
  padding-bottom: clamp(2.4rem, -3.313rem + 23.437vw, 12.8rem);
}

#MV::before {
  content: '';
  background: url(../img/lp_recruit_2025/bg_mv.jpg);
  background-position: center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* filter: blur(8px); */
  z-index: -1;
  /* opacity: .6; */
}
@media screen and (max-width:767px) {
  #MV h1{
    text-align: center;
    margin-bottom: 8px;
    margin-top: 0;
  }
}
@media screen and (max-width:690px) {
  #MV h1 br{
    display: none;
  }
}
@media screen and (min-width:768px) {
  #MV h1 br {
    display: none;
  }
}
#MV h1 span{
  display: inline-block;
  background: var(--base01);
  padding: 10px 0 10px 20px;
  margin-bottom: 16px;
  font-size: clamp(2rem, 0.851rem + 5.744vw, 4.8rem);
  font-weight: 900;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
}
@media screen and (min-width:768px) {
  #MV h1 span {
    white-space: nowrap;
  }
}
@media screen and (max-width:767px) {
  #MV h1 span {
    padding: 10px 0 10px 10px;
  }
}

#MV h1 span strong{
  color: var(--main);
}
#MV p{
  font-size: clamp(1.6rem, 1.436rem + 0.821vw, 2rem);
  font-weight: 400;
  margin-bottom: 24px;
}
@media screen and (max-width:767px) {
  #MV p {
    /* font-size: var(--value_s); */
    margin-bottom: 8px;
  }
}
@media screen and (min-width:768px) {
  #MV .btn_cta.sp{
    display: none;
  }
}
@media screen and (max-width:767px) {
  #MV .btn_cta.pc {
    display: none;
  }
  #MV .btn_cta.sp{
    margin-top: 16px;
  }
}
#MV .btn_cta img {
  max-width: 100%;
}
@media screen and (min-width:768px) {
  #MV .btn_cta img{
    max-width: 442px;
  }
}
#MV .img_block img{
  max-width: 100%;
}
header{
  /* padding-top: var(--value_l); */
  padding-top:clamp(1.6rem, 0.282rem + 5.408vw, 4rem);
  margin-bottom: clamp(3.2rem, 1.882rem + 5.408vw, 5.6rem);
}
@media screen and (max-width:767px) {
  header .row{
    align-items: center;
  }
}
header .logo img{
  width: 160px;
}
@media screen and (max-width:767px) {
  header .logo img {
    width: 110px;
  }
}
header .btn{
  text-align: right;
}
#kadai{
  padding: 104px 0 60px;
}
@media screen and (max-width:767px) {
  #kadai {
    padding: 40px 0 20px;
  }
}
@media screen and (min-width:481px) {
  #kadai h2 br{
    display: none;
  }
}
@media screen and (max-width:767px) {
  #kadai h2 {
    line-height: 1.6;
  }
}
#kadai h2 strong {
  background: linear-gradient(transparent 50%, #FFFF06 50%);
}
#kadai h2 span{
  color: var(--accent);
  font-size: var(--value_xl);
}
@media screen and (max-width:767px) {
  #kadai h2 span {
    font-size: var(--value_m);
  }
}
#kadai .list{
  text-align: center;
}
#kadai ul{
  display: inline-block;
}
#kadai ul li{
  display: flex;
  /* flex-wrap: wrap; */
  align-items: center;
  gap: var(--value_xs);
  font-weight: 700;
  margin-bottom: var(--value_l);
  font-size: var(--value_m);
  font-weight: 700;
  text-align: left;
}
@media screen and (max-width:767px) {
  #kadai ul li {
    font-size: var(--value_s);
    gap: 10px;
    margin-bottom: 24px;
  }
}
#kadai ul li strong{
  color: var(--main);
  font-weight: 900;
}
#kadai ul li img {
  max-width: 50px;
}
@media screen and (max-width:767px) {
  #kadai ul li img {
    max-width: 32px;
  }
}
#kadai .illust{
  text-align: center;
}
#kadai .illust img {
  width: 100%;
}
@media screen and (min-width:768px) {
  #kadai .illust img{
    max-width: 463px;
    display: inline-block;
  }
}
@media screen and (max-width:767px) {
  #kadai .illust img {
    max-width: 300px;
    display: inline-block;
  }
}
#intro{
  padding: 128px 0 128px;
  background: var(--base02);
  position: relative;
  margin: 0px 0 0 0;
  /* padding: 80px 128px 0; */
  /* background: #fed; */
}
@media screen and (max-width:767px) {
  #intro {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}
@media screen and (min-width:768px) {
  #intro h2 {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media screen and (min-width:481px) {
  #intro h2 br{
    display: none;
  }
}
#intro::before {
  content: "";
  position: absolute;
  height: 60px;
  width: 100%;
  clip-path: polygon(50% 100%, 100% 0%, 0% 0%);
  background-color: var(--base01);
  top: 0;
  left: 0;
  color: #fff;
  text-align: center;
}
@media screen and (max-width:767px) {
  #intro::before{
    content: "";
    height: 30px;
  }
}
#intro .inner{
  position: relative;
  z-index: 2;
  /* min-height: 500px; */
}
#intro h2 img{
  max-width: 200px;
  display: inline-block;
  margin: 0 8px 0 16px;
  vertical-align: middle;
}
@media screen and (max-width:767px) {
  #intro h2 img {
    max-width: 110px;
    margin: 0 4px 0 8px;
  }
}
#intro h2 span {
  /* font-size: var(--value_xl); */
  font-size: clamp(2.4rem, 1.415rem + 4.923vw, 4.8rem);
  color: var(--accent);
}
#intro ul{
  margin-bottom: 80px;
}
#intro ul li{
  background: var(--base01);
  padding: clamp(2.4rem, 1.961rem + 1.803vw, 3.2rem);
  margin-bottom: 40px;
  border-radius: 20px;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
}
#intro .text p{
  font-size: clamp(1.4rem, 1.236rem + 0.821vw, 1.8rem);
}
#intro .title{
  align-items: center;
  margin-bottom: 24px;
}
#intro .title .icon{
  max-width: 60px;
}
@media screen and (max-width:767px) {
  #intro .title .icon {
    padding-right: 0;
    max-width: 40px;
  }
}
#intro .title img{
  max-width: 45px;
}
@media screen and (max-width:767px) {
  #intro .title img {
    max-width: 30px;
  }
}
#intro .title h3{
  border-bottom: 3px dashed var(--text);
  padding-bottom: 16px;
  display: inline-block;
  font-weight: 700;
  margin-bottom: 0;
}
@media screen and (max-width:767px) {
  #intro .title h3 {
    font-size: var(--value_s);
    padding-bottom: 8px;
    border-bottom: 2px dashed var(--text);
  }
}
#intro .title h3 span {
  font-weight: 900;
  color: var(--main);
}
#intro .illust{
  max-width: 320px;
  text-align: center;
}
#intro .illust img{
  display: inline-block;
  max-width: 320px;
}
@media screen and (max-width:767px) {
  #intro .illust img{
    max-width: 240px;
    display: inline-block;
  }
}
@media screen and (max-width:480px) {
  #intro .illust img {
    max-width: 100%;
  }
}
#kinou{
  background: var(--base01);
  border-radius: 20px;
  border: 5px solid var(--main);
  padding: 56px 40px 20px;
}
@media screen and (max-width:767px) {
  #kinou {
    padding: 24px 24px 8px;
  }
}
#kinou h3{
  display: flex;
  align-items: center;
  justify-content: center;
}
#kinou h3 img{
  max-width: 48px;
  margin-right: 16px;
}
@media screen and (max-width:767px) {
  #kinou h3 img {
    max-width: 45px;
    margin-right: 8px;
  }
}
#kinou h3 span{
  display: inline-block;
  border-bottom: 3px dashed var(--text);
  padding-bottom: 16px;
  text-align: center;
}
@media screen and (max-width:767px) {
  #kinou h3 span {
    padding-bottom: 8px;
  }
}
#kinou h3 span strong{
  color: var(--main);
}
#kinou h3 span strong.number{
  font-size: clamp(3.2rem, 2.544rem + 3.282vw, 4.8rem);
}
#kinou p{
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (max-width:767px) {
  #kinou p {
    margin-bottom: 32px;
  }
}
#kinou .col-md-6{
  margin-bottom: 32px;
}
@media screen and (max-width:767px) {
  #kinou .col-md-6 {
    margin-bottom: 24px;
  }
}
#kinou .col-md-6 .inner{
  background: var(--text-back01);
  border-radius: 5px;
  height: 100%;
}
#kinou .col-md-6 h4{
  background: var(--main);
  color: var(--base01);
  padding: 12px 24px;
  margin: 0;
  border-radius: 5px 5px 0 0;
  font-weight: 700;
}
@media screen and (max-width:767px) {
  #kinou .col-md-6 h4 {
    padding: 8px 16px;
  }
}
#kinou .col-md-6 h4 span {
  display: inline-block;
  width: 32px;
  height: 32px;
  border-radius: 100px;
  background: var(--base01);
  color: var(--main);
  text-align: center;
  margin-right: 13px;
}
@media screen and (max-width:767px) {
  #kinou .col-md-6 h4 span {
    width: 24px;
    height: 24px;
    margin-right: 8px;
  }
}
#kinou .col-md-6 p{
  text-align: left;
  padding: 16px 24px;
  margin-bottom: 0px;
}
@media screen and (max-width:767px) {
  #kinou .col-md-6 p {
    padding: 16px 16px;
  }
}
#cta{
  background-image: linear-gradient(138deg, #c7df72, #53d08a);
  padding: 80px 0px;
  margin: 0;
  border: none;
}
@media screen and (max-width:767px) {
  #cta {
    padding: 40px 0px;
  }
}
#cta .cta_inner{
  max-width: 824px;
  margin: 0 auto;
}
#cta .cta_inner .row{
  align-items: center;
  justify-content: center;
}
#cta h3{
  text-align: center;
}
#cta h3 span{
  background: var(--base01);
  display: inline-block;
  padding: .8rem 1.6rem;
  color: var(--main);
  /* font-size: var(--value_xm); */
  font-size: clamp(1.4rem, 0.99rem + 2.051vw, 2.4rem);
  margin-bottom: 1.6rem;
}
#cta h3 strong{
  color: var(--accent);
}
#cta .cover img{
  max-width: 350px;
}
@media screen and (max-width:767px) {
  #cta .cover{
    text-align: center;
    margin-bottom: 16px;
  }
  #cta .cover img {
    max-width: 180px;
    display: inline-block;
  }
}
#cta ul{
  margin-bottom: 20px;
}
#cta ul li{
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: clamp(1.6rem, 1.272rem + 1.641vw, 2.4rem);
  font-weight: 400;
  margin-bottom: 8px;
}
#cta ul li img{
  max-height: 18px;
  display: inline-block;
}
@media screen and (max-width:767px) {
  #cta ul li img {
    max-height: 14px;
  }
}
#cta .btn_cta img {
  width: 100%;
}
@media screen and (min-width:768px) {
  #cta .btn_cta img{
    max-width: 442px;
  }
}
#voice{
  padding: 128px 0;
  background: url(../img/lp_recruit_2025/bg_voice.png);
}
@media screen and (max-width:767px) {
  #voice {
    padding: 64px 0 32px;
    background-size: 16px auto;
  }
}
#voice h2{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 16px;
  color: var(--main);
  font-size: clamp(1.8rem, 0.897rem + 4.513vw, 4rem);
}
#voice h2 img{
  width: 72px;
  display: inline-block;
}
@media screen and (max-width:767px) {
  #voice h2 img {
    width: 56px;
  }
}
#voice h2 span {
  font-size: clamp(1.8rem, 1.554rem + 1.231vw, 2.4rem);
  color: var(--text);
  display: block;
  margin-bottom: 8px;
}
@media screen and (max-width:767px) {
  #voice .voice_block{
    margin-bottom: 32px;
  }
}
#voice .voice_block .inner{
  background: var(--base01);
  padding:clamp(2.4rem, 1.521rem + 3.606vw, 4rem);
  border-radius: 20px;
  max-width: 460px;
  height: 100%;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
}
#voice .voice_block .inner img{
  margin-bottom: 24px;
  max-width: 100%;
  display: inline-block;
}
@media screen and (max-width:767px) {
  #voice .voice_block .inner img {
    margin-bottom: 16px;
  }
}
#voice .voice_block .inner dl,
#voice .voice_block .inner dt,
#voice .voice_block .inner dd {
  margin-bottom: 0;
}
#voice .voice_block .inner dl{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
#voice .voice_block .inner dl dt{
  color: var(--main);
  font-weight: 400;
}
#voice .voice_block .inner h4{
  margin: 24px 0;
  color: var(--main);
  font-weight: 700;
}
@media screen and (max-width:767px) {
  #voice .voice_block .inner h4 {
    margin: 16px 0;
  }
  #voice .voice_block .inner p {
    margin-bottom: 0;
  }
}
#faq {
  padding: 128px 0;
}
@media screen and (max-width:767px) {
  #faq {
    padding: 64px 0 40px;
  }
}
#faq h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-size: clamp(1.8rem, 0.897rem + 4.513vw, 4rem);
}
#faq h2 img {
  max-width: 60px;
}
@media screen and (max-width:767px) {
  #faq h2 img {
    max-width: 48px;
  }
}
#faq dl{
  margin-bottom: 32px;
}
@media screen and (max-width:767px) {
  #faq dl {
    margin-bottom: 24px;
  }
}
#faq dl dt{
  padding: 16px 24px;
  margin-bottom: 24px;
  border-radius: 10px;
  cursor: pointer;
  background-color: var(--base03);
  background-image: url(../img/lp_recruit_2025/faq_arrow.png);
  background-position: 97% center;
  background-repeat: no-repeat;
  padding-right: 15px;
}
@media screen and (max-width:767px) {
  #faq dl dt {
    padding: 8px 16px;
    margin-bottom: 8px;
    background-position: 95% center;
    background-size: 16px auto;
  }
}
#faq dl dt.active {
  background-image: url(../img/lp_recruit_2025/faq_arrow02.png);
}
#faq dl dt span{
  color: var(--main);
}
#faq dl dd {
  margin-bottom: 0;
  display: none;
  /* height: 60px; */
}

#plan{
  padding: 128px 0;
  background: var(--base03);
}
@media screen and (max-width:767px) {
  #plan {
    padding: 64px 0;
  }
}
@media screen and (max-width:767px) {
  #plan .row{
    gap: 24px;
  }
}
#plan h2{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
@media screen and (min-width:481px) {
  #plan h2 br{
    display: none;
  }
}
#plan h2 img{
  max-width: 75px;
}
@media screen and (max-width:767px) {
  #plan h2 img{
    max-width: 60px;
  }
}
#plan h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-size: clamp(1.8rem, 0.897rem + 4.513vw, 4rem);
}
@media screen and (max-width:767px) {
  #plan h2 {
    gap: 8px;
  }
}
#plan p,
.plan_small,
.plan_medium,
.plan_large {
  text-align: center;
}
#plan p{
  margin-bottom: 64px;
}
@media screen and (max-width:767px) {
  #plan p {
    margin-bottom: 32px;
  }
}
.plan_small,
.plan_medium,
.plan_large{
  color: var(--base01);
  padding: clamp(2.4rem, 1.961rem + 1.803vw, 3.2rem);
  height: 100%;
  border-radius: 20px;
  border: 3px solid var(--base01);
  /* box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1); */
}
.plan_small{
  background: var(--plan-blue);
}
.plan_medium {
  background: var(--main);
}
.plan_large {
  background: var(--accent);
}
.plan_small h4,
.plan_medium h4,
.plan_large h4{
  border-bottom: 1px dashed var(--base01);
  display: inline-block;
  padding-bottom: 8px;
  margin-bottom: 24px;
}
@media screen and (max-width:767px) {
  .plan_small h4,
  .plan_medium h4,
  .plan_large h4 {
    margin-bottom: 8px;
  }
}
.plan_small h4 span,
.plan_medium h4 span,
.plan_large h4 span {
  font-size: clamp(1.4rem, 1.236rem + 0.821vw, 1.8rem);
  display: block;
  font-weight: 300;
  margin-bottom: 12px;
}
.price span{
  display: inline-block;
  font-size: clamp(2.4rem, 1.744rem + 3.282vw, 4rem);
  font-weight: 700;
  margin: 0 4px;
}
.peaple{
  background: var(--base01);
  /* padding: 8px 16px; */
  border-radius: 5px;
  margin-top: 16px;
  font-weight: 400;
}
.peaple span{
  font-size: var(--value_m);
  font-weight: 700;
  display: inline-block;
  margin: 0 4px;
}
.plan_small .peaple{
  color: var(--plan-blue);
}
.plan_medium .peaple{
 color: var(--main);
}
.plan_large .peaple{
 color: var(--accent);
}
.plus{
  margin: 32px 0;
  text-align: center;
}
@media screen and (max-width:767px) {
  .plus {
    margin: 16px 0;
  }
}
.plus img{
  display: inline-block;
  max-width: 40px;
}
@media screen and (max-width:767px) {
  .plus img {
    max-width: 24px;
  }
}
#plan .option{
  background: var(--base01);
  border-radius: 20px;
  padding: 32px;
  display: flex;
  /* flex-wrap: wrap; */
  /* align-items: center; */
  align-items: stretch;
  /* box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1); */
}
@media screen and (max-width:767px) {
  #plan .option {
    flex-direction: column;
  }
}
#plan .option p{
  margin: 0;
  text-align: left;
}
#plan .option p span{
  font-size: var(--value_xxs);
}
#plan .option .detail{
  display: flex;
  align-items: center;
  text-align: left;
  gap: 32px;
}
@media screen and (max-width:767px) {
  #plan .option .detail {
    flex-direction: column;
    gap: 24px;
  }
}
#plan .option .price{
  white-space: nowrap;
}
#plan .option h4{
  color: var(--main);
  height: 100%;
  text-align: center;
}
@media screen and (min-width:768px) {
  #plan .option h4 {
    white-space: nowrap;
  }
}
@media screen and (min-width:481px) {
  #plan .option h4 {
    border-right: 2px dashed var(--text);
    padding-right: 32px;
    margin-right: 32px;
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width:767px) {
  #plan .option h4 {
    border-bottom: 2px dashed var(--text);
    padding-bottom: 13px;
  }
}
@media screen and (max-width:767px) {
  #plan .option h4 br{
    display: none;
  }
}
#plan .option .price {
  text-align: center;
}
footer{
  background: var(--text);
  color: var(--base01);
  text-align: center;
  padding: 80px 0 64px;
}
@media screen and (max-width:767px) {
  footer {
    padding: 40px 0 32px;
  }
}
footer .logo img{
  display: inline-block;
}
@media screen and (max-width:767px) {
  footer .logo img {
    max-width: 120px;
  }
}
footer .logo {
  text-align: center;
  margin-bottom: 24px;
}
@media screen and (max-width:767px) {
  footer .logo {
    margin-bottom: 16px;
  }
}
footer .copyright{
  font-size: clamp(1.2rem, 1.118rem + 0.41vw, 1.4rem);
  margin-top: 40px;
}
