
/*　home 共通
------------------------------------------------------------------------------------------------*/

.fv{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: calc(100vh - 15rem);
  min-height: calc(14.5vw + 35rem);
  padding-bottom: 14.5vw;
  background: url(../images/home/fv-bg-btm.png) center bottom no-repeat;
  background-size: 100% auto;
  text-align: center;
}
.fv .h1-top{
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 0.2em;
}
.fv h1{
  font-size: 5.6rem;
  letter-spacing: 0.04em;
  line-height: 1.4;
}
.fv .btn-wrap{
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin-top: 4rem;
}


.home-news .content{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3rem;
  height: 7rem;
  font-size: 1.4rem;
}
.news-swiper{
  flex: 1;
}
.news-swiper .swiper-wrapper{
  height: 2em;
}
.news-swiper .swiper-slide{
  display: grid;
  grid-template-columns: 11rem auto;
}
.news-swiper .swiper-slide .date{
  font-weight: 700;
  letter-spacing: 0.08em;
}
.news-swiper .swiper-slide .ttl{
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-swiper .swiper-slide a{
  color: #fff;
  font-weight: 700;
  text-decoration: underline;
}
.home-news .btn{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 11.5rem;
  height: 3.7rem;
  border-radius: 1.9rem;
  background: #fff;
  font-weight: 700;
}


.home-intro{
  padding: 8rem 0;
}
.home-intro .box-1{
  padding: 8rem 0;
  text-align: center;
  font-weight: 700;
  position: relative;
}
.home-intro .box-1 p{
  font-size: 1.8rem;
}
.home-intro .box-1 big{
  display: block;
  font-size: 3rem;
  line-height: 1.6;
  margin-top: 1em;
}
.home-intro .box-1 img.img1,
.home-intro .box-1 img.img2{
  width: 44rem;
  border-radius: 2rem;
  position: absolute;
}
.home-intro .box-1 img.img1{
  left: -26.6rem;
  top: 20rem;
}
.home-intro .box-1 img.img2{
  right: -24.7rem;
  top: 13rem;
}
.home-intro .wrap{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
  margin-top: 4rem;
}
.home-intro .wrap .wh-box{
  padding: 3.6rem;
}
.home-intro .wrap .wh-box h2{
  font-size: 3.6rem;
  text-align: center;
  letter-spacing: 0.04em;
  margin-bottom: 0.5em;
}
.home-intro .wrap .wh-box .arrow-btn{
  width: 100%;
  margin-top: 3rem;
}


.home-message{
  padding: 10rem 0;
}
.message-wrap{
  display: grid;
  grid-template-columns: 44rem 1fr;
  gap: 8rem;
}
.message-wrap .img{
  position: relative;
}
.message-wrap .img img{
  border-radius: 2rem;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.message-wrap .img .name{
  font-size: 2.4rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
  filter: drop-shadow(0 0 1.2rem #000);
  position: absolute;
  right: 2rem;
  bottom: 5rem;
}
.message-wrap .img .name small{
  display: block;
  font-size: 1.4rem;
  letter-spacing: 0;
}
.message-wrap .txt h3{
  margin-bottom: 1em;
}
.message-wrap .txt big{
  display: block;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  margin-bottom: 1em;
}


.obi-swiper{
  pointer-events: none;
}
.obi-swiper .swiper-wrapper{
  transition-timing-function: linear;
}
.obi-swiper img{
  width: 100%;
  max-width: unset;
}




/*　採用ページ 共通
------------------------------------------------------------------------------------------------*/

.recruit-intro{
  padding: 10rem 0 12rem;
}
.recruit-intro h2{
  font-size: 3.6rem;
  letter-spacing: 0.04em;
  text-align: center;
  margin-bottom: 3rem;
}
.recruit-intro h2 + p{
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 10rem;
}




/*　business 共通
------------------------------------------------------------------------------------------------*/

.business .sec-1{
  padding: 10rem 0;
}
.business .sec-1 h2{
  font-size: 3.6rem;
  letter-spacing: 0.04em;
  text-align: center;
  margin-bottom: 3rem;
}
.business .sec-1 h2 + p{
  font-size: 1.8rem;
  text-align: center;
}
.business .sec-2{
  padding: 8rem 0;
}
.business .sec-2 .wh-box:not(:last-child){
  margin-bottom: 5.6rem;
}
.business .sec-2 .wh-box .ttl-2{
  margin-bottom: 4rem;
}
.business .minutes ul li{
  display: block;
  background: #F3F5F9;
  border-radius: 2rem;
  padding: 2.5rem 3rem;
}
.business .minutes ul li + li{
  margin-top: 2rem;
}
.business .minutes ul li .ttl-wrap{
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-bottom: 2rem;
}
.business .minutes ul li .ttl-wrap .num{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 7rem;
  height: 7rem;
  border-radius: 3.5rem;
  border: 0.2rem solid;
  font-size: 3.2rem;
}
.business .minutes ul li .ttl-wrap h3{
  font-size: 2.4rem;
}
.business .details ul li{
  display: grid;
  grid-template-columns: 23rem 1fr;
  gap: 3rem;
  background: #F3F5F9;
  border-radius: 2rem;
  padding: 3rem;
}
.business .details ul li + li{
  margin-top: 2rem;
}
.business .details ul li h3{
  font-size: 2.4rem;
  margin-bottom: 0.5em;
}
.business .details ul li img.img{
  border-radius: 1.2rem;
}
.business .numbers ul{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
.business .numbers ul li{
  display: block;
  background: #F3F5F9;
  border-radius: 2rem;
  padding: 2.5rem;
}
.business .numbers ul li h3{
  font-size: 2.4rem;
  text-align: center;
  margin-bottom: 2rem;
}
.business .numbers ul li p.bl{
  display: flex;
  justify-content: center;
  align-items: baseline;
  font-size: 4rem;
  font-weight: 600;
  gap: 0.2em;
}
.business .numbers ul li p.bl big{
  font-size: 9rem;
  font-weight: 600;
  line-height: 1;
}
.business .numbers ul li img.graph4{
  margin-top: -9%;
}
.business .numbers ul li p.bl big.zero{
  font-size: 14.7rem;
  margin-bottom: 1rem;
}
.business .numbers ul li img.infinite{
  width: 14.5rem;
  margin: 5.3rem auto;
}




/*　voice 共通
------------------------------------------------------------------------------------------------*/

.voice .sec-1{
  padding: 10rem 0;
}
.voice .sec-1 h2{
  font-size: 3.6rem;
  letter-spacing: 0.04em;
  text-align: center;
  margin-bottom: 3rem;
}
.voice .sec-1 h2 + p{
  font-size: 1.8rem;
  text-align: center;
}

.voice .sec-2{
  padding: 8rem 0;
}
ul.voice-li li{
  display: block;
  background: #F3F5F9;
  border-radius: 2rem;
  padding: 4.8rem;
}
ul.voice-li li + li{
  margin-top: 4rem;
}
ul.voice-li li .wrap{
  display: grid;
  grid-template-columns: 28.4rem 1fr;
  gap: 4rem;
  align-items: flex-start;
}
ul.voice-li li .wrap img{
  width: 100%;
  height: 22.3rem;
  border-radius: 1.2rem;
  object-fit: cover;
}
ul.voice-li li .wrap .ttl-wrap{
  display: flex;
  align-items: center;
  gap: 2.4rem;
}
ul.voice-li li .wrap .ttl-wrap h3{
  font-size: 3.4rem;
  font-weight: 700;
}
ul.voice-li li .wrap .label-wrap{
  display: flex;
  gap: 1rem;
}
ul.voice-li li .wrap .label-wrap .label{
  font-size: 1.6rem;
  line-height: 2;
  border-radius: 1em;
  padding: 0 0.75em;
  background: #E6EAF0;
}
ul.voice-li li .wrap h4.h4-1{
  margin: 0.5em 0 0.4em;
  font-size: 2rem;
}
ul.voice-li li h4.h4-2{
  font-size: 2.4rem;
  margin: 4rem 0 0.5em;
  padding-left: 5.2rem;
  position: relative;
}
ul.voice-li li h4.h4-2::before{
  content: "";
  display: block;
  width: 4rem;
  height: 1px;
  background: #191A1D;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}




/*　guideline 共通
------------------------------------------------------------------------------------------------*/

.guideline-sec-1{
  padding: 4rem 0;
}
.guideline-sec-1 ul.anchor-li{
  margin-top: 0;
}

.guideline-sec-2{
  padding: 8rem 0;
}
.guideline-sec-2 .wh-box{
  padding-bottom: 4.8rem;
}
.guideline-sec-2 .wh-box:not(:first-child){
  margin-bottom: 4.8rem;
}
.guideline-sec-2 .wh-box h2{
  font-size: 2.8rem;
  letter-spacing: 0.04em;
  margin-bottom: 4rem;
}
.guideline-sec-2 .wh-box dl{
  display: grid;
  grid-template-columns: 21rem 1fr;
  border-top: 1px solid #E6EAF0;
}
.guideline-sec-2 .wh-box dl dt,
.guideline-sec-2 .wh-box dl dd{
  padding: 2rem;
  border-bottom: 1px solid #E6EAF0;
}
.guideline-sec-2 .wh-box dl dt{
  display: flex;
  align-items: center;
  background: #F9FAFC;
}
.guideline-sec-2 .wh-box h3{
  line-height: 1.9;
  margin-bottom: 0.8em;
}
.guideline-sec-2 .wh-box h3:not(:first-child){
  margin-top: 2rem;
}
table.salary,
table.salary td,
table.salary th{
  border: 1px solid #ADADAD;
}
table.salary td,
table.salary th{
  font-weight: 400;
  padding:  0.2em 1.5em;
  height: 1.9em;
}
table.salary thead th{
  text-align: center;
  background: #E7EAF0;
}
table.salary tbody th{
  padding: 0.2em 0.7em;
  text-align: left;
}
table.salary tbody th small{
  font-size: 65%;
  vertical-align: top;
}
table.salary tbody td{
  background: #F3F5F9;
  text-align: right;
}
table.salary + small{
  display: block;
  font-size: 1.2rem;
  color: #646464;
  margin-top: 2rem;
}
.guideline-sec-2 .wh-box a.arrow-btn{
  width: 28rem;
  margin: 4rem auto 0;
}




/*　recruit 共通
------------------------------------------------------------------------------------------------*/

.recruit .sec-1{
  padding: 10rem 0;
}
.recruit .sec-1 h2{
  font-size: 3.6rem;
  letter-spacing: 0.04em;
  text-align: center;
  margin-bottom: 3rem;
}
.recruit .sec-1 h2 + p{
  font-size: 1.8rem;
  text-align: center;
}
.recruit .sec-1 ul.anchor-li{
  grid-template-columns: repeat(2, 1fr);
}
.recruit .sec-2{
  padding: 8rem 0;
}
.recruit .sec-2 .wh-box:not(:last-child){
  margin-bottom: 5.6rem;
}
.recruit .sec-2 .wh-box .ttl-2{
  margin-bottom: 4rem;
}
.recruit .sec-2 .wh-box .ttl-2:not(:first-child){
  margin-top: 5rem;
}
.recruit .sec-2 .wh-box h3.h3-1{
  font-size: 2.4rem;
  margin: 4rem 0 2rem;
}
.recruit .sec-2 .wh-box .route{
  margin-top: 5rem;
}
.recruit .sec-2 .wh-box .box{
  background: #F3F5F9;
  padding: 2rem 2.5rem;
  border-radius: 1.2rem;
  font-size: 1.4rem;
  margin-top: 3rem;
}
.recruit .sec-2 .wh-box .box h3.h3-2{
  margin-bottom: 0.5em;
}




/*　faq 共通
------------------------------------------------------------------------------------------------*/

.faq-sec p.p-1{
  text-align: center;
}
.faq-sec a.insta-btn{
  margin: 4rem auto 8rem;
}
.faq-sec h2{
  font-size: 2.8rem;
  letter-spacing: 0.04em;
  margin-bottom: 2rem;
}
ul.faq-li{
  border-top: 1px solid #E6EAF0;
}
ul.faq-li li{
  display: block;
  border-bottom: 1px solid #E6EAF0;
  padding: 2.4rem 0;
}
ul.faq-li li h3,
ul.faq-li li .answer{
  padding-left: 3.2rem;
  position: relative;
}
ul.faq-li li h3::before,
ul.faq-li li .answer::before{
  font-size: 1.8rem;
  font-weight: 700;
  position: absolute;
  left: 0;
  top: -0.15em;
}
ul.faq-li li h3::before{
  content: "Q.";
  color: #2545C9;
}
ul.faq-li li .answer::before{
  content: "A.";
}
ul.faq-li li h3{
  margin-bottom: 0.9em;
}




/*　company 共通
------------------------------------------------------------------------------------------------*/

.company .sec-1{
  background: url(../images/company/sec-1-bg.jpg) center center no-repeat;
  background-size: cover;
  color: #fff;
  text-align: center;
  padding: 10rem 0;
}
.company .sec-1 .ext-btn{
  margin: 3rem auto 0;
}
.company .sec-2{
  padding: 8rem 0;
}
.company .sec-2 h2.ttl-2{
  margin-bottom: 0.1em;
}
.company .sec-2 .insta-wrap{
  margin-top: 4rem;
}




/*　blog 共通
------------------------------------------------------------------------------------------------*/

ul.blog-li{
  border-top: 1px solid #E6EAF0;
}
ul.blog-li li{
  display: grid;
  grid-template-columns: 12rem 1fr;
  border-bottom: 1px solid #E6EAF0;
  padding: 2.4rem 0;
}
ul.blog-li li .ttl{
  font-weight: 400;
  line-height: 1.9;
}

.nav-links ul{
  font-family: "Poppins", sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.8rem;
  font-size: 1.8rem;
  margin-top: 4rem;
}
.nav-links ul li{
  display: block;
}
.nav-links ul li .page-numbers.current{
  color: #2545C9;
  font-weight: 700;
}
.nav-links ul li a.page-numbers:hover{
  color: #2545C9;
  opacity: 1;
}


.post{
  max-width: 80rem;
  margin: 0 auto;
}
.post h1{
  font-size: 3.2rem;
  letter-spacing: 0.04em;
  margin-bottom: 0.3em;
}
.post .date{
  margin-bottom: 4rem;
}
.post .post-txt a{
  font-weight: 700;
  text-decoration: underline;
}
.post .post-txt big{
  font-size: 2rem;
  font-weight: 700;
}
.post .post-txt img{
  margin: 4rem auto;
}
.post .post-txt p{
  margin: 1.5em 0;
}
.post .post-txt ul,
.post .post-txt ol{
  margin-left: 1.5em;
}
.post a.back-btn{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20rem;
  line-height: 5.6rem;
  border-radius: 2.8rem;
  border: 1px solid;
  background: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  margin: 5rem auto 0;
}




/*　low 共通
------------------------------------------------------------------------------------------------*/

.low h2{
  font-size: 2.4rem;
  margin: 4rem 0 0.7em;
}
.low h2:first-child{
  margin-top: 0;
}
.low ul,
.low ol{
  margin-left: 1.5em;
}
.low ul.asterisk{
  margin-left: 0.8em;
}
.low ul.asterisk li{
  display: block;
  position: relative;
}
.low ul.asterisk li::before{
  content: "*";
  position: absolute;
  left: -0.8em;
  top: 0;
}




/*　contact 共通
------------------------------------------------------------------------------------------------*/

.contact .sec-1{
  padding: 8rem 0;
}
.contact .sec-1 p{
  text-align: center;
}
ul.contact-btn-li{
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin-top: 4rem;
}
ul.contact-btn-li li{
  display: block;
}
ul.contact-btn-li li a.tel-btn,
ul.contact-btn-li li a.mail-btn{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 28rem;
  height: 5.6rem;
  border-radius: 2.8rem;
  text-align: center;
  font-weight: 700;
  line-height: 1.3;
}
ul.contact-btn-li li a.tel-btn{
  background: #3D69FA;
  color: #fff;
  font-size: 1.6rem;
}
ul.contact-btn-li li a.tel-btn small{
  font-size: 1.2rem;
  font-weight: 400;
}
ul.contact-btn-li li a.mail-btn{
  background: #fff;
  color: #3D69FA;
  border: 0.2rem solid #3D69FA;
}


.contact .sec-2{
  padding: 8rem 0;
}


.form .ttl-2{
  text-align: center;
  margin-bottom: 4rem;
}
dl.form-dl{
  display: grid;
  grid-template-columns: 1fr 67rem;
  border-top: 1px solid #C1C1C1;
}
dl.form-dl dt,
dl.form-dl dd{
  padding: 2rem 0;
  border-bottom: 1px solid #C1C1C1;
}
dl.form-dl dd{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 1.2rem;
}
dl.form-dl dt::before{
  content: "任意";
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.7;
  padding: 0 0.5em;
  border-radius: 0.3em;
  background: #AEB3C6;
  color: #fff;
  margin-right: 1rem;
}
dl.form-dl dt.required::before{
  content: "必須";
  background: #EA2762;
}
.form input[type=text],
.form input[type=email],
.form textarea,
.form .select-wrap select{
  display: block;
  width: 100%;
  border-radius: 0.8rem;
  padding: 0.7em 0.8em;
  background: #fff;
  color: inherit;
  border: 1px solid #AEB3C6;
  font-size: 1.6rem;
}
.form textarea{
  height: 21rem;
  resize: none;
}
.form .agree{
  background: #F0F4F7;
  padding: 2.4rem;
  border-radius: 1.2rem;
  margin-top: 4rem;
}
.form input[type=submit]{
  display: block;
  width: 32rem;
  line-height: 6.4rem;
  border-radius: 3.2rem;
  background: #3D69FA;
  color: #fff;
  border: none;
  font-size: 1.8rem;
  font-weight: 700;
  margin: 4rem auto 0;
  transition: opacity 0.3s;
}
input[type=submit]:hover{
  opacity: 0.7;
}


.file-wrap{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 1.2rem;
}
.file-wrap .delete{
  color: #EA2762;
}


.select-wrap{
  width: 12rem;
  position: relative;
}
.select-wrap::before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 4.8rem;
  background: url(../images/common/select-arrow.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  right: 1rem;
  top: 0;
  pointer-events: none;
}
.select-wrap select {
  padding-right: 3.2rem;
}


.radio,
.wpcf7-radio{
  display: flex;
  flex-wrap: wrap;
  column-gap: 2.4rem;
}
.radio label{
  position: relative;
}
.radio input[type=radio]{
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
}
.radio input[type=radio] + span{
  display: inline-block;
  padding-left: calc(2.4rem + 0.5em);
  line-height: 2.4rem;
  cursor: pointer;
  position: relative;
}
.radio input[type=radio] + span::before{
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 2.4rem;
  height: 2.4rem;
  box-sizing: border-box;
  border: 1px solid #AEB3C6;
  background: #fff;
  border-radius: 50%;
}
.radio input[type=radio]:checked + span::after{
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -0.7rem;
  left: 0.5rem;
  width: 1.4rem;
  height: 1.4rem;
  background: #2545C9;
  border-radius: 50%;
}


.checkbox{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  text-align: center;
}
.checkbox label{
  position: relative;
}
.checkbox a{
  text-decoration: underline;
}
.checkbox input[type=checkbox]{
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
}
.checkbox input[type=checkbox] + span{
  display: inline-block;
  padding-left: calc(2.4rem + 0.5em);
  line-height: 2.4rem;
  cursor: pointer;
  position: relative;
}
.checkbox input[type=checkbox] + span::before{
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 2.4rem;
  height: 2.4rem;
  box-sizing: border-box;
  background: #fff;
  border-radius: 0.6rem;
}
.checkbox input[type=checkbox]:checked + span::after{
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -0.9rem;
  left: 0.75rem;
  width: 0.6rem;
  height: 1.1rem;
  transform: rotate(43deg);
  border-bottom: 0.3rem solid #2545C9;
  border-right: 0.3rem solid #2545C9;
}


.form-complete{
  padding: 8rem 0 12rem;
}
.form-complete h2{
  font-size: 3.6rem;
  letter-spacing: 0.04em;
  text-align: center;
  margin-bottom: 3rem;
}
.form-complete h2 + p{
  text-align: center;
}


.wpcf7-list-item {
  margin: 0;
}
.wpcf7-spinner{
  display: none;
  margin: 2em auto 0;
}
.form.submitting .wpcf7-spinner{
  display: block;
}
.wpcf7-not-valid-tip{
  width: 100%;
  color: #EA2762;
  font-size: 90%;
  margin-top: 0.5em;
}
.wpcf7-response-output{
  text-align: center;
}




/*　スマホ
------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 768px){

/*　home SP
------------------------------------------------------------------------------------------------*/



.fv{
  height: calc(100vh - 18.4rem);
  min-height: 44rem;
  padding-bottom: 3rem;
  background-image: url(../images/home/fv-bg-top_sp.png), url(../images/home/fv-bg-btm_sp.png);
  background-position: center top, center bottom;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.fv .h1-top{
  font-size: 1.6rem;
}
.fv h1{
  font-size: 2.9rem;
}
.fv .btn-wrap{
  gap: 1.2rem;
  margin-top: 2rem;
}


.home-news .content{
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 1.2rem;
  height: 12rem;
}
.news-swiper{
  flex: unset;
  margin: 0;
}
.news-swiper .swiper-wrapper{
  height: 3.3em;
}
.news-swiper .swiper-slide{
  grid-template-columns: 100%;
  gap: 0.2em;
}
.news-swiper .swiper-slide .date{
  line-height: 1;
}
.home-news .btn{
  height: 3.2rem;
}


.home-intro{
  padding: 4rem 0;
}
.home-intro .box-1{
  padding: 2rem 1.6rem 22.2rem;
  text-align: left;
  font-weight: 400;
}
.home-intro .box-1 p{
  font-size: 1.4rem;
}
.home-intro .box-1 big{
  font-size: 2rem;
  font-weight: 700;
  margin-top: 1.2em;
}
.home-intro .box-1 img.img1,
.home-intro .box-1 img.img2{
  width: calc(50vw - 0.6rem);
  height: 14.2rem;
  object-fit: cover;
  top: unset;
  bottom: 4rem;
}
.home-intro .box-1 img.img1{
  border-radius: 0 1.2rem 1.2rem 0;
  left: -1.6rem;
}
.home-intro .box-1 img.img2{
  border-radius: 1.2rem 0 0 1.2rem;
  right: -1.6rem;
}
.home-intro .wrap{
  grid-template-columns: 100%;
  gap: 2rem;
  margin-top: 2rem;
}
.home-intro .wrap .wh-box{
  padding: 3rem 1.6rem;
}
.home-intro .wrap .wh-box h2{
  font-size: 2.4rem;
}
.home-intro .wrap .wh-box .arrow-btn{
  margin-top: 2rem;
}


.home-message{
  padding: 4rem 0;
}
.message-wrap{
  grid-template-columns: 100%;
  gap: 4rem;
}
.message-wrap .img{
  width: 26.2rem;
  margin: 0 auto;
}
.message-wrap .img img{
  border-radius: 1.2rem;
  height: auto;
}
.message-wrap .img .name{
  font-size: 1.8rem;
  right: 1.6rem;
  bottom: 2.8rem;
}
.message-wrap .img .name small{
  font-size: 1.2rem;
}
.message-wrap .txt h3{
  margin-bottom: 1.2em;
}
.message-wrap .txt big{
  font-size: 2rem;
  margin-bottom: 1.2em;
}




/*　採用ページ SP
------------------------------------------------------------------------------------------------*/

.recruit-intro{
  padding: 4rem 0;
}
.recruit-intro h2{
  font-size: 2rem;
  margin-bottom: 2rem;
}
.recruit-intro h2 + p{
  font-size: 1.4rem;
  text-align: left;
  margin-bottom: 4rem;
}




/*　business SP
------------------------------------------------------------------------------------------------*/

.business .sec-1{
  padding: 4rem 0;
}
.business .sec-1 h2{
  font-size: 2rem;
  margin-bottom: 2rem;
}
.business .sec-1 h2 + p{
  font-size: 1.4rem;
  text-align: left;
}
.business .sec-2{
  padding: 4rem 0;
}
.business .sec-2 .wh-box:not(:last-child){
  margin-bottom: 2rem;
}
.business .sec-2 .wh-box .ttl-2{
  margin-bottom: 2rem;
}
.business .minutes ul li{
  border-radius: 1.2rem;
  padding: 1.6rem 1.2rem;
}
.business .minutes ul li + li{
  margin-top: 2rem;
}
.business .minutes ul li .ttl-wrap{
  gap: 1rem;
  margin-bottom: 1.6rem;
}
.business .minutes ul li .ttl-wrap .num{
  width: 4.8rem;
  height: 4.8rem;
  font-size: 2.1rem;
}
.business .minutes ul li .ttl-wrap h3{
  font-size: 1.6rem;
}
.business .details ul li{
  grid-template-columns: 100%;
  gap: 1.6rem;
  border-radius: 1.2rem;
  padding: 1.6rem 1.2rem;
}
.business .details ul li + li{
  margin-top: 1rem;
}
.business .details ul li h3{
  font-size: 1.6rem;
  margin-bottom: 0.5em;
}
.business .details ul li img.img{
  border-radius: 1.2rem;
}
.business .numbers ul{
  gap: 1rem;
}
.business .numbers ul li{
  border-radius: 1.2rem;
  padding: 1.6rem 0;
}
.business .numbers ul li.full{
  grid-column: span 2;
  padding: 1.6rem 1.2rem;
}
.business .numbers ul li h3{
  font-size: 1.6rem;
  margin-bottom: 1rem;
}
.business .numbers ul li p.bl{
  font-size: 2.8rem;
  gap: 0.1em;
}
.business .numbers ul li p.bl big{
  font-size: 6rem;
}
.business .numbers ul li img.graph4{
  margin-top: -7%;
}
.business .numbers ul li p.bl big.zero{
  font-size: 6rem;
  margin: 0.5rem 0 1rem;
}
.business .numbers ul li img.infinite{
  width: 8.2rem;
  margin: 2rem auto;
}




/*　voice SP
------------------------------------------------------------------------------------------------*/

.voice .sec-1{
  padding: 4rem 0;
}
.voice .sec-1 h2{
  font-size: 2rem;
  margin-bottom: 2rem;
}
.voice .sec-1 h2 + p{
  font-size: 1.4rem;
  text-align: left;
}

.voice .sec-2{
  padding: 4rem 0;
}
ul.voice-li li{
  border-radius: 1.2rem;
  padding: 3rem 1.6rem 2rem;
}
ul.voice-li li + li{
  margin-top: 2rem;
}
ul.voice-li li .wrap{
  grid-template-columns: 100%;
  gap: 1.6rem;
}
ul.voice-li li .wrap img{
  height: auto;
}
ul.voice-li li .wrap .ttl-wrap{
  flex-wrap: wrap;
}
ul.voice-li li .wrap .label-wrap .label{
  font-size: 1.4rem;
}
ul.voice-li li .wrap h4.h4-1{
  font-size: 1.6rem;
}
ul.voice-li li h4.h4-2{
  font-size: 1.6rem;
  margin: 2rem 0 0.5em;
  padding-left: 2rem;
}
ul.voice-li li h4.h4-2::before{
  width: 1.5rem;
  top: 0.8em;
  transform: unset;
}




/*　guideline SP
------------------------------------------------------------------------------------------------*/

.guideline-sec-1 ul.anchor-li li a{
  height: 5.6rem;
}

.guideline-sec-2{
  padding: 4rem 0;
}
.guideline-sec-2 .wh-box{
  padding: 2.4rem 2rem 4rem;
}
.guideline-sec-2 .wh-box:not(:first-child){
  margin-bottom: 2rem;
}
.guideline-sec-2 .wh-box h2{
  font-size: 2rem;
  margin-bottom: 2rem;
}
.guideline-sec-2 .wh-box dl{
  grid-template-columns: 100%;
  border-top: 0;
}
.guideline-sec-2 .wh-box dl dt{
  padding: 0.8rem 2rem;
  border-top: 1px solid #E6EAF0;
  margin-bottom: 1.6rem;
}
.guideline-sec-2 .wh-box dl dd + dt{
  margin-top: 1.6rem;
}
.guideline-sec-2 .wh-box dl dd{
  padding: 0;
  border-bottom: 0;
}
.guideline-sec-2 .wh-box h3:not(:first-child){
  margin-top: 1.6rem;
}
table.salary td,
table.salary th{
  padding:  0.2em 0.9rem;
  font-size: 1.2rem;
}
table.salary tbody th{
  padding: 0.2em 0.7rem;
}
table.salary + small{
  font-size: 1.1rem;
  margin-top: 1.6rem;
}
.guideline-sec-2 .wh-box a.arrow-btn{
  margin: 3rem auto 0;
}




/*　recruit SP
------------------------------------------------------------------------------------------------*/

.recruit .sec-1{
  padding: 4rem 0;
}
.recruit .sec-1 h2{
  font-size: 2rem;
  margin-bottom: 2rem;
}
.recruit .sec-1 h2 + p{
  font-size: 1.4rem;
  text-align: left;
}
.recruit .sec-1 ul.anchor-li{
  grid-template-columns: 100%;
}
.recruit .sec-2{
  padding: 4rem 0;
}
.recruit .sec-2 .wh-box:not(:last-child){
  margin-bottom: 4rem;
}
.recruit .sec-2 .wh-box .ttl-2{
  font-size: 2rem;
  margin-bottom: 2rem;
}
.recruit .sec-2 .wh-box .ttl-2:not(:first-child){
  margin-top: 4rem;
}
.recruit .sec-2 .wh-box h3.h3-1{
  font-size: 1.6rem;
  margin: 2rem 0 1.6rem;
}
.recruit .sec-2 .wh-box .route{
  margin-top: 2.4rem;
  overflow-x: scroll;
}
.recruit .sec-2 .wh-box .route img{
  max-width: 61.8rem;
}
.recruit .sec-2 .wh-box .box{
  padding: 2rem;
  margin-top: 2.4rem;
}
.recruit .sec-2 .wh-box .box h3.h3-2{
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 0.8em;
}




/*　faq SP
------------------------------------------------------------------------------------------------*/

.faq-sec p.p-1{
  text-align: left;
}
.faq-sec a.insta-btn{
  margin: 2.4rem auto 4rem;
}
.faq-sec h2{
  font-size: 2rem;
}
ul.faq-li li{
  padding: 1.6rem 0;
}
ul.faq-li li h3,
ul.faq-li li .answer{
  padding-left: 3rem;
}
ul.faq-li li h3::before,
ul.faq-li li .answer::before{
  font-size: 1.6rem;
}
ul.faq-li li h3{
  margin-bottom: 0.8em;
}




/*　company SP
------------------------------------------------------------------------------------------------*/

.company .sec-1{
  background: url(../images/company/sec-1-bg_sp.jpg) center center no-repeat;
  background-size: cover;
  padding: 4rem 0;
}
.company .sec-1 .ext-btn{
  margin: 2rem auto 0;
}
.company .sec-2{
  padding: 4rem 0;
}
.company .sec-2 h2.ttl-2{
  margin-bottom: 0.1em;
}
.company .sec-2 h2.ttl-2 + a{
  font-size: 1.2rem;
}
.company .sec-2 .insta-wrap{
  margin-top: 3rem;
}




/*　blog SP
------------------------------------------------------------------------------------------------*/

ul.blog-li li{
  grid-template-columns: 100%;
  padding: 1.6rem 0;
}
ul.blog-li li .date{
  margin-bottom: 0.1em;
}

.nav-links ul{
  font-size: 1.6rem;
}


.post h1{
  font-size: 2rem;
}
.post .date{
  margin-bottom: 3rem;
}
.post .post-txt big{
  font-size: 1.6rem;
}
.post .post-txt img{
  margin: 3rem auto;
}
.post a.back-btn{
  width: 28rem;
  line-height: 4.6rem;
  margin: 3rem auto 0;
}




/*　low SP
------------------------------------------------------------------------------------------------*/

.low h2{
  font-size: 1.6rem;
  margin: 2.4rem 0 0.7em;
}




/*　contact SP
------------------------------------------------------------------------------------------------*/

.contact .sec-1{
  padding: 4rem 0;
}
.contact .sec-1 p{
  text-align: left;
}
ul.contact-btn-li{
  flex-direction: column;
  align-items: center;
  margin-top: 3rem;
}
ul.contact-btn-li li a.tel-btn,
ul.contact-btn-li li a.mail-btn{
  width: 31rem;
  height: 4.6rem;
}
ul.contact-btn-li li a.tel-btn small{
  font-size: 1rem;
}


.contact .sec-2{
  padding: 4rem 0;
}


.form .ttl-2{
  margin-bottom: 2rem;
}
dl.form-dl{
  grid-template-columns: 100%;
}
dl.form-dl dt{
  padding: 1.6rem 0 1.2rem;
  border-bottom: 0;
}
dl.form-dl dd{
  padding: 0 0 1.6rem;
  gap: 1rem;
}
dl.form-dl dt::before{
  font-size: 1.2rem;
  margin-right: 0.9rem;
}
.form input[type=text],
.form textarea,
.form .select-wrap select{
  padding: 0.8em;
  font-size: 1.4rem;
}
.form textarea{
  height: 15rem;
}
.form .agree{
  margin-top: 3rem;
}
.form input[type=submit]{
  width: 28rem;
  line-height: 5.6rem;
  font-size: 1.6rem;
  margin: 3rem auto 0;
}


.file-wrap{
  column-gap: 1rem;
}


.select-wrap{
  width: 100%;
}


.radio,
.wpcf7-radio{
  column-gap: 3rem;
  row-gap: 1rem;
}
.radio input[type=radio] + span{
  padding-left: calc(2.2rem + 0.5em);
  line-height: 2.2rem;
}
.radio input[type=radio] + span::before{
  width: 2.2rem;
  height: 2.2rem;
}
.radio input[type=radio]:checked + span::after{
  margin-top: -0.6rem;
  width: 1.2rem;
  height: 1.2rem;
}


.checkbox input[type=checkbox] + span{
  padding-left: calc(2rem + 0.5em);
  line-height: 2rem;
}
.checkbox input[type=checkbox] + span::before{
  width: 2rem;
  height: 2rem;
  border-radius: 0.4rem;
}
.checkbox input[type=checkbox]:checked + span::after{
  left: 0.55rem;
}


.form-complete{
  padding: 6rem 0 8rem;
}
.form-complete h2{
  font-size: 2rem;
  margin-bottom: 2rem;
}
.form-complete h2 + p{
  text-align: left;
}




}/*　スマホここまで */



