/*----------------
基本設定
-----------------*/
body{
  font-size: 1.8vw;
}
section > h2{
  font-size: 4vw;
}
.pc{
  display: none;
}
.tab{
  display: block;
}
.mobi{
  display: none;
}
.pc.tab{
  display: block;
}
.wrapper{
  width: 95%;
}
/*----------------
gsap
-----------------*/
.top-hero-ttl-main p {
  font-size: 3vw;
}
.top-hero-ttl-main .bg-red,
.top-hero-ttl-main .bg-white {
  font-size: 4vw;
}
.top-hero-ttl-sub {
  font-size: 2vw;
  padding: 1vw 2vw;
}
/*----------------
header
-----------------*/
.pc-nav .logo{
  font-size: 2vw;
  padding-left: 8vw;
	margin-left: 1.5vw;
}
.pc-nav .logo::before{
  width: 7vw;
}
.pc-nav ul {
  column-gap: 20px;
}
/*----------------
about
-----------------*/
.about{
  margin-top: 50px;
  padding: 0 2.5%;
}
.about::before{
  top: 3vw;
}
.about-box h2{
  font-size: 3vw;
  padding-left: 6vw;
}
.about-box h2::before{
  width: 4vw;
}
.about-box{
  padding: 30px 0;
}
.about-box-inner{
  margin-top: 30px;
}
.about-box-inner-txt{
  margin-left: 6vw;
  font-size: 2vw;
}
.about-box-inner p:first-of-type{
  margin-bottom: 30px;
}
.about-box-inner img{
  width: 35%;
}
.about-box:last-of-type img{
  margin-right: 30px;
}
/*----------------
お悩み
-----------------*/
.onayami{
  padding: 30px 2.5%;
}
.onayami ul{
  padding: 80px;
  margin: 0 auto 60px;
  background-position: top right;
}
.onayami li{
  font-size: 2vw;
}
.onayami-txt h3{
  font-size: 3vw;
}
.onayami-txt p{
  font-size: 2vw;
  margin-bottom: 30px;
}
/*----------------
service
-----------------*/
.service{
  padding: 120px 2.5% 0;
}
.service h3{
  font-size: 2.5vw;
}
.service-con h4{
  font-size: 3.5vw;
}
.service-con-box{
  width:40%;
}
.service-con-box-inner{
  width: 100%;
  padding: 20px 10px;
  font-size: 2vw;
}
.service-con-box-inner img{
  width: 5vw;
}
.service-con-txt p{
  margin-top: 30px;
}
/*----------------
reason
-----------------*/
.reason{
  padding: 30px 2.5%;
}
.reason-con {
  column-gap: unset;
  margin: 30px 0 0;
}
.reason-con-inner{
  width: calc(95% / 4);
  height: 340px;
}
.reason-con-inner p{
  font-size: 2vw;
}
/*----------------
事務所概要
-----------------*/
.company{
  margin: 50px 2.5%;
}
.company-con{
  margin: 50px 0 0;
}
.company-con-txt p.serif{
  font-size: 2vw;
}
.company-info table{
  margin-bottom: 30px;
}
.company-info td{
  padding: 10px 2vw;
}
/*----------------
ご相談の流れ
-----------------*/
.flow{
  padding: 50px 2.5%;
}
.flow h2{
  margin-bottom: 30px;
}
.flow-con{
  width: 90%;
}
.flow-con:not(:last-of-type){
  margin: 0 auto 8vw;
}
.flow-con-num{
  font-size: 5vw;
}
.flow-con-num span{
  font-size: 2vw;
}
.flow-con-txt{
  font-size: 2vw;
}
.flow > p{
  font-size: 2vw;
  margin-top: 3vw;
}
/*----------------
cta
-----------------*/
.cta-box p{
  font-size: 3vw
}
.cta-box a{
  font-size: 4vw;
  padding: 10px;
  width: 70%;
}
.cta-box a::after{
  width: 40px;
}
/*----------------
よくあるご質問
-----------------*/
.qa{
  padding: 50px 2.5%;
}
.qa-list{
  padding: 50px 2.5%;
  margin-top: 30px;
}
.qa-list li:nth-of-type(odd){
  font-size: 2vw;
}
.qa-list li:nth-of-type(even){
  margin-bottom: 30px;
}
/*----------------
事業所案内
-----------------*/
.info{
  margin: 50px 2.5%;
}
.info-con{
  width: 90%;
  margin-top: 50px;
}
.info table{
  margin-bottom: 50px;
}
/*----------------
footer
-----------------*/
.footer-nav{
	column-gap:20px;
}
.footer-wrap{
  margin: 0 2.5%;
  width: calc(100% - 5%);
}
footer > p{
  margin-top: 30px;
}
.footer-fixed{
  display: none;
}
/*----------------
page single
-----------------*/
.page h1{
  font-size: 4vw;
}
/*----------------
contact
-----------------*/
.contact-wrap th{
  font-size: 2.3vw;
  width: 35%;
}
.contact-txt{
  font-size: 2.3vw;
}