@charset "UTF-8";
/* CSS Document */

main{}

/*----------コンテンツ枠----------*/
#conts{
  text-align: center;
  margin: 0 auto;
}
/*----------コンテンツ枠2----------*/
/*-----TOP-----*/
#conts-inner-top{
  margin-top: 1.093%;
}
  #conts-inner-top img{
    width: 92.1874%;
    margin: 0;
  }

/*----------コンテンツ枠2----------*/
/*----DEVELOPMENT/INFRA/DESIGN-----*/
#conts-inner{
  margin: 0 3.9063%;
  /*max-width: 120rem;*/
}
  #conts-inner div{
    position: relative;
    margin-top: 1.093%;
  }
  #conts-inner div img{
    width: 100%;
    /*margin: 1.093% 0 0;*/
  }
  /*サブタイトル*/
  #conts-inner h3{
    position: absolute;
    top: 50%;
    left: 0;
    color: #FFF;
    transform: translate(0,-50%);
    margin: 0 0 0 5.6144%;
    text-align: left;
  }
    #conts-inner h3 span.en{
      display: block;
      font-weight: 700;  
      font-size: clamp(3.8rem, (100vw - 1024px) * 33 / 896 + 3.8rem, 7.1rem);
      line-height: 1;
      margin: 0 0 3.5129%;
    }
    #conts-inner h3 span.jp{
      display: block;
      font-weight: 700;  
      font-size: clamp(1.4rem, (100vw - 1024px) * 12 / 896 + 1.4rem, 2.6rem);
      line-height: 1;
    }


/*----------内容----------*/
/*----TOP-----*/
/*メイン画像ありの場合の枠*/
.with-mainvisual-top{
  margin: 0 auto;
  padding: 10.422% 0 0 0;
  text-align: center;
}
/*ビジネス種類*/
/*枠*/
.b-type-wrap{
  display: flex;
  text-align: justify;
  margin: 0 0 5.8594%;
  position: relative;
  z-index: 1;
}
/*.b-type-wrap:first-child{
  margin: -5.8594% 0 5.8594%;
}*/
.b-type-wrap:nth-child(even){
  margin: -4.8828% 0 5.8594%;
  flex-direction: row-reverse;
}
.b-type-wrap:last-child{
  margin: 0;
}
  /*テキスト枠*/
  .b-type-wrap .b-txt{
    width: 41.9922%;
    margin: 0 4.7852% 0 3.9063%;
    padding: 1.3953% 0 0;
    box-sizing: border-box;
  }
  /*サブタイトル-----PC*/
  .b-type-wrap .b-txt h3.b-top{
  }
  .b-type-wrap .b-txt h3.b-top span.en{
      display: block;
      font-weight: 700;  
      font-size: clamp(3.8rem, (100vw - 1024px) * 33 / 896 + 3.8rem, 7.1rem);
      line-height: 1;
      margin: 0 0 2.3256%;
    }
  .b-type-wrap .b-txt h3.b-top span.jp{
      display: block;
      font-weight: 700;  
      font-size: clamp(1.4rem, (100vw - 1024px) * 12 / 896 + 1.4rem, 2.6rem);
      line-height: 1;
      margin: 0 0 6.0465%;
    }
  /*サブタイトル-----SP*/
  .b-type-wrap h3.b-top-sp,
  .b-type-wrap h3.b-top-sp span.en,
  .b-type-wrap h3.b-top-sp span.jp{
    display: none;
  }

  /*テキスト*/
  .b-type-wrap .b-txt p{
    font-size: 17px;
    line-height: 2;
    margin: 0 0 1rem;
    display: inline-block;
  }
  /*写真枠*/
  .b-type-wrap .b-photo{
    width: 49.2188%;
  }
  .b-type-wrap .b-photo img{
    width: 100%!important;
  }

/*----DEVELOPMENT/INFRA/DESIGN-----*/
/*メイン画像ありの場合の枠*/
.with-mainvisual{
  margin: 0 auto;
  padding: 11.6525% 0 0 0;
  text-align: center;
}
.b-item{
  width: 67.7966%;
  max-width: 120rem;
  margin: 0 auto 6.3559% auto;
  text-align: justify;
}
.b-item:last-child{
  margin: 0 auto 11.599%;
}
  .b-item .number{
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 3rem;
    letter-spacing: 0.09rem;
    display: flex;
    align-items: center;
    margin: 0 0 1.589%;
  }
  .b-item .number span{
    font-size: 3rem;
    font-weight: 700; 
    letter-spacing: 0.15rem;
    display: inline-block;
    margin: 0 0 0 1rem;
  }
  .b-item .number::before{
    content: '';
    display: block;
    width: 8rem;
    height: 1px;
    background-color: #000;
    margin: 0 1.5rem 0 0;
  }
  .b-item h4{
    font-weight: 700;  
    font-size: clamp(2.2rem, (100vw - 1024px) * 19 / 896 + 2.2rem, 4.1rem);
    color: #1D50A2;
    line-height: 1.5;
    margin: 5.1563% 0 1.4063%;
  }
  /*説明文*/
  .b-item p{
    font-size: 1.7rem;
    line-height: 2;
  }

/*リード文*/
p.privacy-lead{
  line-height: 2;
  padding: 0 0 5rem;
}

/*ボタン右揃え*/
.btn-wrap{
  display: flex;
  justify-content: flex-end;
}
/*ページ下部ボタン*/
.btn-wrap-back{
  border-top: #000000 solid 1px;
  padding: 2.484rem;
  display: flex;
  justify-content: center;
}

@media screen and (min-width: 1921px){
  #conts-inner-top img.mv,
  #conts-inner div img.mv{
    height: 80rem;
    /*width: 100%;*/
    object-fit: cover;
  }
}

@media screen and (max-width: 768px){
  #conts-inner-top{
    font-size: 1.4rem;
    margin: 0rem;
  }
   #conts-inner{
    font-size: 1.4rem;
    margin: 0 2.4rem;
  }
    #conts-inner div{
      margin-top: 0;
  }
  /*サブタイトル*/
    #conts-inner h3 span.en{
      font-size: clamp(2.6rem, (100vw - 375px) * 2 / 393 + 2.6rem, 2.8rem);
      margin: 0 0 1rem 0;
    }
    #conts-inner h3 span.jp{
      font-size: clamp(1.3rem, (100vw - 375px) * 1 / 393 + 1.3rem, 2.4rem);
    }
  
  /*メイン画像ありの場合の枠*/
  .with-mainvisual{
    padding: 8rem 0 0;
  }
  /*----------内容----------*/
  /*----TOP-----*/
  /*メイン画像ありの場合の枠*/
  .with-mainvisual-top{
    padding: 4rem 0 0 0;
  }
  /*ビジネス種類*/
  /*枠*/
  .b-type-wrap{
    display: block;
    margin: 0 0 5rem;
    width: 100%;
  }
  .b-type-wrap:nth-child(even){
    display: block;
    margin: 0 0 5rem;
    width: 100%;
  }
  .b-type-wrap:nth-of-type(1){
    margin: -3rem 0 5rem;
  }
    /*テキスト枠*/
  .b-type-wrap .b-txt{
    width: auto;
    margin: 0 24px;
    padding: 18px 0 0;
  }
  /*サブタイトル-----PC*/
  .b-type-wrap .b-txt h3.b-top,
  .b-type-wrap .b-txt h3.b-top span.en,
  .b-type-wrap .b-txt h3.b-top span.jp{ 
    display: none;
  }
  /*サブタイトル-----SP*/
  .b-type-wrap h3.b-top-sp{ 
    display: block;
    margin: 0 0 0 2.4rem;
  }
    .b-type-wrap h3.b-top-sp span.en{
      font-size: clamp(2.6rem, (100vw - 375px) * 2 / 393 + 2.6rem, 2.8rem);
      font-weight: 700;
      display: block;
      line-height: 1;
      margin: 0 0 0.8rem;
    }
    .b-type-wrap h3.b-top-sp span.jp{
      font-size: clamp(1.3rem, (100vw - 375px) * 1 / 393 + 1.3rem, 2.4rem);
      font-weight: 700;
      display: block;
      line-height: 1;
      margin: 0 0 2rem;
    }
    /*テキスト*/
    .b-type-wrap .b-txt p{
      font-size: 15px;
      line-height: 1.8;
    }
  /*写真枠*/
  .b-type-wrap .b-photo{
    width: auto;
    margin: 0 0 0 2.4rem;
  }
   .b-type-wrap .b-photo2{
    width: auto;
    margin: 0 2.4rem 0 -2.4rem;
  }

  .b-type-wrap .b-photo img{
    width: 100%!important;
  }
  
  /*----DEVELOPMENT/INFRA/DESIGN-----*/
  .b-item{
    width: 94.444%;
    max-width: none;
    margin: 0 auto 8rem auto;
  }
  .b-item:last-child{
    margin: 0 auto 6rem;
  }
  .b-item .number{
    font-size: 1.3rem;
    line-height: 2.2rem;
    margin: 0 0 1.5rem;
  }
  .b-item .number span{
    font-size: 2.2rem;
    margin: 0 0 0 0.5rem;
  }
    .b-item .number::before{
      width: 2rem;
      margin: 0 1rem 0 0;
  }
  /*説明文*/
  .b-item p{
    font-size: 1.5rem;
  }
}




































