@charset "utf-8";

@media (max-width:1024px){
  body{
  min-width: 768px;
  }
  .slick-arrow,
  .pc{
    display: none!important;
  }
  .container {
    max-width: 96rem;
  }
  .l-section{
    margin-top: 6.4rem;
  }
  .phoneBtn{
  font-size: 3.6rem;
  }
  .headerTop .headerWrap h1,
  .header .headerWrap h1 {
    padding: 2.4rem 9.6rem;
  }
  .hamburger{
    top: 4.8rem;
  }
  .topNews{
    padding: 2.4rem 4.8rem;
  }
  .barInfo .info-list{
    padding-left: 2em;
  }
  .businessContent{
    width: calc(96%/3);
    height: auto;
  }
  .footerWrap{
    padding-top: 6.4rem;
  }
  .footerLeft{
    width: 50%;
  }
  .footerRightWrap {
    width: 75%;
  }
  .footerAdd h3{
    margin-right: 2.4rem;
  }
  .company,
  .business,
  .contact{
    margin-top: 17.3rem;
  }
  .busiTypeImg {
    width: 45%;
  }
  .busiTypeImg img{
    object-position: 65%;
  }
  .businessContentTxt {
    width: 55%;
  }
  .works_imgList_inner li{
    margin-bottom:1.2rem;
    margin-right: 1.2rem;
  }
  .top-info-list-wrapper{
    max-width: 7.2rem;
  }
}
@media (max-width:768px){
  /*全体*/
  body{
  min-width: 32rem;
  }
  .container {
    max-width: 76.8rem;
    padding: 0 2.4rem;
  }
 .largeTxt{
    font-size: 1.8rem;
    margin-top: 2.4rem;
  }
  .txt{
    margin-bottom: 2.4rem;
  }
  .jaTtl, .page-jaTtl {
    margin: 2.4rem auto;
  }
  .btnArrow{
    margin: 2.4rem auto;
  }
  .btnArrow:hover::before{
    content: none;
  }
  /*header*/
  .phoneBtn{
    font-size: 2.4rem;
    padding-left: 0;
  }
  .headerNav{
    padding-top: 9.6rem;
    font-size: 1.6rem;
  }
  .headerTop .headerWrap h1 ,
  .header .headerWrap h1  {
    padding: 1.6rem 6.4rem;
    width: 30%;
  }
  #header h1 img {
    width: 50%;
  }
  .hamburger {
    top: 3.2rem;
    right: 5.4rem;
    width: 3.6rem;
  }
  .hamburger span:nth-of-type(2) {
    top: 0.8rem;
  }
  .hamburger span:nth-of-type(3) {
    top: 1.6rem;
  }
  .hamburger span:nth-of-type(3)::after {
    width: 3.6rem;
    padding-top: 0.8rem;
    font-size: 1rem;
  }
  .headerNav li{
    padding: 1.6rem 0;
  }
  .headerNav li a{
    font-size: 1.8rem;
  }
  .headerNav li a::after {
    content: none;
  }
  .copy{
    width: 100%;
    font-size: 1.4rem;
  }
  /*bar-info*/
  .topNews{
    padding: 2.4rem;
  }
  .barInfo .info-list a{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
  }
  .barInfo .info-list {
    padding-left: 0;
  }
  .info-list_cat{
    padding: 0.8rem 1.2rem;
    width: 30%;
    text-align: center;
  }
  .info-list_date{
    width: 60%;
  }
  .info-list_ttl{
    margin-top: 0.8rem;
  }
  /*company*/
  .topCompanyLogo{
    display: none;
  }
  .mainLogo{
    max-width: 30%;
  }
  .topCompanyTxtarea {
    width: 55%;
  }
  /*business*/
  .topBusiness{
    padding: 4.8rem 0;
  }
  .businessWrapper{
    justify-content: space-between;
    margin-top: 4.8rem;
  }
  .businessContent{
    display: block;
    margin: 1.6rem auto;
  }
  .businessTxtarea{
    margin:0 auto;
  }
  .busiTtl{
    top: 15%;
  }
  .businessTxtarea .txt {
    bottom: 0;
    top: 70%;
    margin-bottom: 0;
    width: 80%;
  }
  /*infomation*/
  .topInfo{
    margin-bottom: 20px;
  }
  .topInfo_listWrapper{
    width: 95%;
  }
  .topInfo_listWrapper .info-list a{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
  }
  .topInfo_listWrapper .info-list {
    padding: 0;
  }
  .topInfo_listWrapper .info-list_cat{
    text-align: left;
    width: 15%;
    padding: 0.8rem 1.6rem;
  }
  .info-list_ttl{
    margin-top: 0.8rem;
  }
  /*works*/
  .topWorks{
    padding: 4.8rem 0;
  }
  .topWorkSlick{
    margin: 2.4rem auto 4.8rem;

  }
  .workBtn{
    margin: 0 0.8rem 2.4rem;
  }
  /*contact*/
  .topContact{
    padding-top: 0;
  }
  .topContactInner{
    margin-bottom: 50px;
  }
  .topContactInner .txt{
    text-align: center;
  } 
  .reception{
    text-align: center;
    font-size: 1.4rem;
  }
  /*back btn*/
  .backToTop{
    width: 5.4rem;
    height: 5.4rem;
    bottom: 7.2rem;
    right: 2%;
    transition: none;
  }
  .backToTop i{
    line-height: 5.4rem;
  }
  .backToTop.fixed {
    position: fixed;
    margin-bottom: 1.6rem;
    margin-right: 0.4rem;
    z-index: 999;
  }
  /*footer*/
  .footerWrap{
    flex-direction: column;
    padding: 4.8rem 0;
  }
  .footerAdd{
    width: 100%;
  }
  .footerLogo{
    display: block;
    margin: 0 auto;
    max-width: 35%;
  }
  .footerRightWrap {
    width: 100%;
  }
  .sitemapWrap{
    width: 100%;
    margin-top: 3.2rem;
  }
  .sitemap a::after {
    content: none;
  }
  /*下層page*/
  .company, .business, .contact {
    margin-top: 12.8rem;
  }
  /*companypage*/
  .companyMedia {
    margin: 4.8rem auto;
    align-items: center;
    justify-content: center;
  }
  .companyMedia img {
    max-width: 12.8rem;
    margin-right: 4.8rem;
  }
  .company .largeTxt{
    width: 40%;
  }
  .companyInformation{
    margin-bottom: 6.4rem;
  }
  .companyInformation dl {
    width: 100%;
  }
  .page-jaTtl {
    margin-bottom: 3.2rem;
  }
  iframe{
    width: 100%;
  }
  #recruit .ttlWrapper{
    padding-top: 9.6rem;
  }
   /*business*/
  .businessWrap{
    flex-wrap: wrap;
    margin: -9.6rem auto 4.8rem;
    padding-top: 9.6rem;
    padding-bottom: 4.8rem;
  }
  .busiTypeImg,
  .businessContentTxt{
    width: 100%;
  }
  .busiTypeImg img{
    height: auto;
  }
  .businessContentTxt{
    padding: 2.4rem 0;
  }
  /*works*/
  .works.l-section{
    margin-top: 0;
  }
  .worksList{
    justify-content: space-between;
  }
  .worksContent{
    margin-right:0;
    width: calc(98%/2);
  }
  .singleWorks{
    display: block;
    padding-bottom: 4.8rem;
  }
  .works_mainImg {
    padding: 1.2rem;
    margin-right: 1.2rem;
    width: 100%;
  }
  .works_singleImgList {
    width: 100%;
    padding: 1.2rem;
    margin-top: 1.2rem;
  }
  .works_imgList_inner li{
    width: calc(98% / 2) !important;
  }
  /*info*/
  .infoWrap{
    max-width: 90%;
  }
  /*contact*/
 .contactForm{
    padding-top: 2.4rem;
  }
  .contact dl {
    display: block;
    width: 100%;
    max-width: 76.8rem;
  }
  .contact dl dt,
  .contact dl dd {
    width: 100%;
    font-size: 1.4rem;
  }
  .contact dl dd input.postNumber{
    width: 8rem;
  }
  .topContact_inner{
    margin-bottom: 4.8rem;
  }
}

@media (max-width:520px){
  .sp{
    display: block;
  }
  .largeTxt{
    margin-bottom: 2.4rem;
  }
  .logo_layer{
    width: 50%;
  }
  .headerTop .headerWrap h1, .header .headerWrap h1{
    width: 50%;
  }
  .hamburger{
    top: 1.6rem;
  }
  /*topView*/
  .topFade-slick img{
    height: 70vh;
    object-fit: cover;
  }
  .topCompanyTxtarea .largeTxt{
    text-align: center;
  }
  /*topPage*/
  .topCompanyInner{
    display: block;
  }
  .mainLogo {
    max-width: 50%;
  }
  .topCompanyTxtarea{
    width: 100%;
  }
  .businessWrapper{
    justify-content: center;
    flex-wrap: wrap;
  }
  .businessContent{
    width: 100%;
    display: flex;
    justify-content: center;
  }
  .businessTxtarea .txt{
    top: 85%;
  }
  .topInfo_listWrapper .info-list_cat{
    width: 30%;
  }
  .info-list_cat,
  .info-list_date{
    width: 45%;
  }
  .topContact{
    margin-bottom: 6.4rem;
  }
  .topContactInner .txt{
    text-align: justify;
  }
  .topContactInner .phoneBtn{
    font-size: 4.8rem;
    margin: 2.4rem auto 2rem;
  }
  .footerWrap{
    padding: 2.4rem 0;
  }
  .footLogo{
    width: 40%;
    padding: 2.4rem 0 0;
  }
  .sitemapWrap{
    margin-top: 4.8rem;
  }
  .sitemap, .footListWrap{
    flex-wrap: wrap;
  }
  .sitemap ul:last-of-type {
    width: 100%;
  }
  .footBusinessList li{
    width: calc(100% / 3);
  }
  .footBusinessList li:nth-of-type(2){
    padding-right: 0.4rem;
  }
  .footerAdd {
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  /*underpage*/
  .companyMedia{
    flex-wrap: wrap;
  }
  .companyMedia img{
    margin-right: 0;
  }
  .companyMedia .largeTxt{
    width: 100%;
    text-align: center;
    margin-top: 2.4rem;
  }
  .companyInformation{
    flex-wrap: wrap;
  }
  .busiType{
    font-size: 2.4rem;
  }
  .businessContentTxt .txt{
    letter-spacing: 0.1rem;
  }
  .businessWrap{
    padding-bottom: 0;
  }
  .worksContent {
    width: 100%;
  }
  .works .page-jaTtl{
    color: #f2f3f3;
  }
  .works .txt{
    text-align: left;
  }
  .works_imgList_inner li {
    width: calc(95% / 2) !important;
  }
  .contactForm{
    margin-top: 2.4rem;
  }
  .privacyHead{
    padding-top: 6.4rem;
    margin-top: -6.4rem;
  }
  .privacyTxt {
    padding: 1.2rem;
    max-width: 32rem;
    margin-top: 2.4rem;
  }
  .privacyAgree_wrapper,
  .submit-btn{
    margin-top: 2.4rem;
  }
}


