/*----------------
基本設定
-----------------*/
body{
  font-size: clamp(14px,4.5vw,17px);
  line-height: 1.7;
}
.pc{
  display: none;
}
.tab{
  display: none;
}
.mobi{
  display: block;
}
.pc.tab{
  display: none;
}
.wrapper{
  width: 95%;
}
h2 span{
  font-size: 14vw;
}
.grecaptcha-badge{
	bottom:80px!important;
}
/*----------------
header
-----------------*/
header{
  padding: 10px;
}
.logo img{
  width: 60%;
}

/*----------------
top
-----------------*/
.top-sp h1{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.form-btn{
  display: none;
}
/*----------------
feature
-----------------*/
.feature{
  padding: 60px 0;
  margin-top: 60px;
}
.feature h2{
  top: -20px;
}
.feature-con{
  font-size: 5vw;
  flex-wrap: wrap;
}
.feature-con:nth-of-type(2){
  flex-wrap: wrap-reverse;
  margin:6vw 0;
}
.feature-con img{
  width: 30%;
}
.feature-con li{
  padding-left: 30px;
}
.feature-con li::before{
  width: 20px;
}
/*----------------
reason
-----------------*/
.reason{
  padding: 0 0 50px;
}
.reason-ttl{
  font-size: 8vw;
  font-weight:900;
  margin-bottom: 30px;
}
.reason-ttl span{
  font-size: 9vw;
}
.reason dt{
  column-gap: 10px;
  margin-bottom: 10px;
}
.reason dt .num{
  font-size: 9vw;
}
.reason dt p{
  font-size: 5vw;
  font-weight: 900;
  line-height: 1.5;
  padding: 2px 15px;
}
.reason dd .big{
  font-size: 5vw;
}
/*----------------
work
-----------------*/
.work h2{
  top: -5vw;
}
.work-ttl{
  font-size: 6vw;
}
.work-inner{
  padding-top: 30vw;
}
.work-lead{
  font-size: 4.5vw;
}
.work-boxes{
  flex-wrap: wrap;
}
.work-box{
  width: 100%;
  aspect-ratio: unset;
  background-size: 100% 100%;
  margin-bottom: 20px;
}
.work-box p:first-of-type{
  font-size: 6vw;
}
.work .wrapper > dl{
  padding: 20px 10px;
  margin-bottom: 20px;
}
.work .wrapper > dl dt{
  font-size: 6vw;
}
.work .wrapper > dl dd{
  font-size: 4.5vw;
}
/*----------------
recruit
-----------------*/
.recruit{
  padding: 40px 0;
  margin-top: 80px;
}
.recruit-ttl{
  font-size: 6vw;
}
.recruit h2 span{
  top: -15vw;
}
.recruit table th{
	width:29%;
}
.recruit table th,
.recruit table td{
  padding: 10px;
}
/*----------------
entry
-----------------*/
.entry h2{
  font-size: 6vw;
}
.entry table{
  margin-top: 50px;
}
.entry th,
.entry td{
  display: block;
  width: 100%;
  padding: 0 0 10px;
}
.entry td{
  padding: 0 0 20px;
}
.entry tr:last-of-type td{
  padding-bottom: 0;
}
.submit{
  width: 80%;
  margin-top: 30px;
  font-size: 5vw;
}
/*----------------
footer
-----------------*/
footer{
  padding: 40px 0;
  margin-bottom: 70px;
}
.footer-fixed{
  display: block;
  position: fixed;
  bottom: 0;
  left: 0;
  padding: 5px;
  background: rgba(255,255,255,.8);
  width: 100%;
}
.footer-fixed img{
  width: auto;
  aspect-ratio: 140/29;
  max-height: 50px;
  display: block;
  margin: auto;
}