/*----------------
基本設定
-----------------*/
:root {
  --header-h: 60px;
}
body{
  font-size: 2vw;
}
.ttl{
  font-size: 3vw
}
.pc{
  display: none;
}
.tab{
  display: block;
}
.mobi{
  display: none;
}
.pc.tab{
  display: block;
}
.mobi.tab{
  display: block;
}
.wrapper{
  width: calc(100% - 2rem);
}
/*----------------
header
-----------------*/
header ul{
  column-gap: 5vw;
}
header ul li{
  width: auto;
}
header ul li:last-of-type{
  width: 150px;
}
header ul li a{
  height: 60px;
}
header ul .contact-btn::before{
  right: 10px;
}
/*----------------
top
-----------------*/
.top{
  margin-top: 60px;
}
.top_txt{
  padding: 20px;
}
.top_txt h1{
  font-size: 5vw;
}
.top_txt span{
  font-size: 3vw;
}
/*----------------
about
-----------------*/
.about{
  padding: 50px 2vw;
  background: linear-gradient(90deg, rgba(74, 111, 165, 1), rgba(194, 224, 221, 1) 90%);
}
.about_inner h2{
  font-size: 4vw;
}
.about_inner-txt{
  font-size: 2.5vw;
}
/*----------------
onayami
-----------------*/
.onayami{
  padding: 120px 2vw 50px;
}
.onayami_inner{
  margin: 0;
}
.onayami_inner h2{
  font-size: 3vw;
}
.onayami_inner h2::before{
  width: 80px;
}
.onayami_inner li{
  width: calc(50% - 10px);
  padding: 20px 10px;
  font-size: 2.2vw;
  column-gap: 20px;
  height: 120px;
}
.onayami_inner li img{
  width: 5vw;
}
.onayami_txt{
  font-size: 2.5vw;
  margin: 30px 0 0;
}
/*----------------
solution
-----------------*/
.solution{
  padding: 80px 2vw;
  margin: 0;
  background-size: cover;
}
.solution_box{
  padding: 20px;
}
.solution_box h2{
  font-size: 4vw;
}
.solution_txt p{
  font-size: 2.5vw;
}
/*----------------
cta
-----------------*/
.cta{
  background-size: cover;
  padding: 50px 0;
}
.cta_inner{
  width: 90%;
}
/*----------------
service
-----------------*/
.service{
  padding: 50px 2vw;
}
.service_wrap{
  width: 100%;
  overflow: hidden;
}
.service_list-wrap{
  height: 27.5vw;
  margin-bottom: 30px;
}
.service_list-item{
  left: 0;
  padding: 20px;
  width: 55%;
}
.service_list-wrap > img{
  width: 95%;
  right: 0;
}
.service_list-txt{
  font-size: 2vw;
}
.service_list-item p{
  font-size: 2.5vw;
}
/*----------------
company
-----------------*/
.company{
  padding: 50px 2vw;
}
.company table{
  width: 100%;
}
/*----------------
profile
-----------------*/
.profile{
  width: 100%;
  padding: 50px 2vw;
}
.profile_inner{
  column-gap: 20px;
}
.profile_inner-bio{
  flex-wrap: wrap;
}
.profile_inner-bio dl{
  width: 100%;
}
.link-btn{
  width: 40%;
  font-size: 2.5vw;
}

/*----------------
page
-----------------*/
.page-wrap h1{
  margin: 0 0 50px;
}

/*----------------
page contact
-----------------*/
.contact-tb{
  padding: 30px 1rem;
}
.contact-tb th{
  width: 35%;
}
.optional,
.required{
  right: 20px;
}
/*----------------
page service
-----------------*/
.page-service-inner{
  flex-wrap: wrap-reverse;
  align-items: center;
  justify-content: center;
  margin-bottom: 30px;
}
.page-service-inner p:first-of-type{
  margin-bottom: 20px;
}
.page-service-inner:nth-of-type(2){
  flex-wrap: wrap;
}
.page-service-inner h2{
  margin: 20px 0;
}
.page-service-txt{
  width: 100%;
}
.page-service-inner img{
  width: 100%;
}