@charset "UTF-8";

/* スマホ */
@media screen and (max-width: 590px) {
  .nav {
    display: block;
    text-align: left;
    margin-bottom: 10px;
  }
  nav .ml-auto li {
      display: block;
      border-bottom: none;
      padding-top: 20px;
  }
  .navbar-collapse .ml-auto li {
      border-bottom: none; 
  }
  .navbar-collapse {
      background-color: #fff;
      margin-top: 10px;
      padding: 20px;
  }
  .navbar-collapse li {
    border-bottom: 1px dotted #ccc;
    padding-bottom: 20px;
    padding-top: 20px;
  }
  .nav-rec,
  .nav-toi {
      margin-right: 0;
      padding: 0 20px;
  }
  .fixed-top {
      padding-top: 20px;
      }
  #header h1 {
    width: 100%;
    top: 30%;
    font-size: 36px;
    line-height: 1.8;
  }
  #header .fv-h1-sub {
      top: 34%;
      font-size: 16px;
      text-align: center;
      width: 100%;
      padding: 0 15px;
  }
  #header .fv-comment {
      top: 46%;
      left: 0;
      font-size: 16px;
      width: 100%;
      padding: 0 15px;
  }
  .cont01 .border-ti {
      top: 58%;
  }
  .title-all {
      text-align: center;
      height: 160px;
  }
  h2 {
      font-size: 36px;
      -ms-writing-mode: tb-rl;
      writing-mode: inherit;
      position: relative;
      top: 0;
      left: 0;
      letter-spacing: 5px;
  }
  .h2-sub {
      writing-mode: unset;
      display: block;
      margin-top: 10px;
      position: unset;
  }
  .border-ti {
      position: absolute;
      left: 35%;
      top: 55%;
      background: #8e8d8d!important;
      width: 30%;
      height: 1px;
  }
  .feature3 .col {
    margin-bottom: 30px;
  }
  .service-column .col-lg-4 {
    padding-right: 0;
    padding-left: 0;
  }
  .cont02 h2 {
    left:0;
  }
  .cont02 .border-ti, .cont04 .border-ti, .cont06 .border-ti, .cont08 .border-ti, .fea-cont02 .border-ti, .fea-cont04 .border-ti, .co-cont01 .border-ti, .co-cont06 .border-ti {
      left: 35%;
      top: 60%;
  }
  .cont02 .col-md-3 {
      margin-bottom: 0px;
  }
  .cont01-txt {
      margin-bottom: 30px;
      }
  .service-column {
      padding: 30px 20px 0; 
      margin-right: 10px;
      margin-left: 10px;
      margin-bottom: 30px;
    }
  .grey-column .container {
    padding-right: 0;
    padding-left: 0;2
  }
  .service-column h3 {
      margin-bottom: 0px;
      text-align: left;
      line-height: 1.8;
  }
  .service-column .col-md-4 {
    padding-left: 0;
    padding-right: 0;
  }
  .service-cont {
    margin-bottom: 30px;
    padding: 30px 20px 0;
  }
  .service-txt {
      margin-bottom: 20px;
  }
  .grey-column, .white-column {
      padding: 70px 15px 40px;
    }
  .cont03 .border-ti {
      top: 60%;
  }
  h3 {
    line-height: 1.8;
    font-size: 20px;
  }
  .engi-img img {
      width: 100%;
    }
  .engi-kensyu {
      padding: 30px 15px 0;
  }
  .engiee {
      padding: 20px;
      margin-bottom: 30px;
    }
  .engi-kensyu .col-md-4,
  .engi-kensyu .col-md-8 {
    padding-left: 0;
    padding-right: 0;
  }
  .otoiawase .col-lg-6 {
    padding-left: 0;
    padding-right: 0;
  }
  .cont04 h2 {
    left: 0;
  }
  .cont04 .cont01-txt {
      margin-top: 10px;
  }
  .interv-cont {
      position: relative;
      margin-left: 20%;
      height: auto;
      margin-bottom: 20px;
  }
  .interv-person02 {
      position: unset;
      margin-bottom: 20px;
    }
  .interv-person {
    margin-bottom: 20px;
  }
  .cont04 {
      background-color: #efefef;
      padding: 100px 0 30px;
  }
  .cont05 .border-ti {
      top: 60%;
      height: 1px;
  }
  .cont02 h2, .cont04 h2, .cont06 h2, .cont08 h2, .fea-cont02 h2, .fea-cont04 h2, .co-cont01 h2, .co-cont06 h2 {
      left: 0;
      font-size: 36px;
  }
  .status-img img {
      width: 100%;
    }
  .cont07 .grey-column {
      padding: 50px 15px;
  }
  .cont07 ul {
      margin-bottom: 30px;
      border-bottom: 1px solid #ccc;
      padding-bottom: 10px;
  }
  .cont07 ul.post-categories {
    border-bottom: none;
    padding-bottom: 0;
  }
  .cont07-txt {
      background-color: #fff;
      padding: 30px 15px;
  }
  .cont07 .col-md-9 {
    padding-right: 0;
    padding-left: 0;
  }
  .cont08 {
      padding: 30px 0;
  }
  .map-area {
      padding-right: 15px;
      padding-left: 15px;
  }
  .otoiawase .col-md-6 {
    padding-left: 0;
    padding-right: 0;
  }
  .otoi-cont {
      margin: 0;
      margin-bottom: 30px;
      padding: 30px 15px;
      }
  .more-bt {
      padding: 20px;
  }
  .otoi-cont-r {
      margin-bottom: 0;
  }
  .btn01, .btn02 {
      padding: 20px 30px;
      width: 100%;
  }
  footer {
    padding: 20px 0 0;
  }
  footer .foot-l,
  footer .foot-c,
  footer .foot-r {
    padding: 0 20px;
  }
  footer li {
    margin-bottom: 20px;
  }

  footer .foot-c {
    border-top: 1px solid #99020e;
    padding-top: 20px;
  }
  footer .foot-c li,
  footer .foot-r li {
    border-bottom: 1px solid #ccc;
    padding-bottom: 15px;
  }
  .fea-cont01 h3 {
      font-size: 22px;
      border-bottom: 2px solid #e60013;
      padding-bottom: 5px;
      position: unset;
      top: 100px;
      left: 40%;
      transform: none;
      margin-bottom: 30px;
  }
  .fea-cont01 {
      margin-bottom: 50px;
      padding-top: 50px;
      }

  .fea-kaikestu {
      font-size: 18px;
      margin-bottom: 30px;
      margin-top: 0;
      padding-left: 0;
  }
  .fea-cont01 .col-md-5 {
    padding-left: 0;
    padding-right: 0;
  }
  .fea-kaiketsu-l {
    margin-bottom: 30px;
  }
  .fea-kaiketsu-r {
      padding: 20px;
  }
  .fea-cont02 {
      padding: 30px 15px;
  }
  .rea-cont02 .grey-column {
    padding: 40px 0 20px;
  }
  .fea-cont02 .cont05-txt {
      padding: 50px 30px 20px;
    }
  .fea-cont03 h2 {
      font-size: 30px;
    }
  .fea-cont03 .border-ti {
      top: 50%;
      height: 1px;
  }
  .strong01-l {
    margin-bottom: 30px;
  }
  .fea-cont03 .cont05-txt {
      padding: 30px 15px;
  }
  .st-keiyaku {
    margin-bottom: 20px;
  }
  .strong02-cate {
      margin: 40px auto 0;
  }
  .strong02 .col-md-6 {
    margin-bottom: 30px;
    padding-left: 0;
    padding-right: 0;
  }
  .cont05-txt .col-md-6 {
    padding-left: 0;
    padding-right: 0;
  }
  .st03 img {
      width: 100%;
      margin: 20px auto 30px;
  }
  .fea-cont04 h2 {
    font-size: 33px;
  }
  .fea-cont04 img {
      width: 90px;
      height: auto;
      margin: 0 auto 20px;
  }
  .voice01 {
      margin-right: 0;
  }
  .arrow_box:after {
    display: none;
  }
  .service-fv {
      background-position: 80%;
  }
  .se-cont01 {
    padding-top: 30px;
  }
  .service-nav {
    margin-bottom: 30px;
  }
  .se-cont02 {
      padding-top: 50px;
  }
  .se-cont02-img {
      height: 200px;
    }
  .se-cont03 {
    margin-top: 40px;
  }
  .se-cont03 .grey-column,
  .se-cont04 .grey-column,
  .se-cont05 .grey-column {
    padding: 30px 15px;
  }
  .sys-nav {
      margin: 30px 0 40px;
      padding-right: 0;
  }
  .ser-jirei .col-md-4 {
    padding-left: 0;
    padding-right: 0;
  }
  .ser-jirei-cont {
    margin-bottom: 30px;
  }
  .ser-jirei .d-flex {
      margin-bottom: 0;
  }
  .skill-graph {
      margin-bottom: 0;
      margin-top: 0;
  }
  .skill-graph .d-flex {
    margin-bottom: 30px;
  }
  .ser-column p {
    margin-bottom: 30px;
  }
  .skill-graph .col-md-4 {
    padding-left: 5px;
    padding-right: 5px;
  }
  .company-fv {
      background-position: center bottom;
  }
  .co-cont02 h2 {
      left: 0;
  }
  .co-cont01 .col-md-9 {
    padding-left: 0;padding-right: 0;
  }
  .co-cont01 .table td, .co-cont01 .table th {
    display: block;
    width: 100%;
  }
  .co-cont01 .table th {
    padding: 5px 20px;
  }
  .co-cont01 .table td {
    padding: 20px;
  }
  .co-cont02 h2 {
    font-size: 35px;
  }
  .co-cont02 .border-ti {
      left: 36%;
      top: 60%;
      height: 1px;
  }
  .co-cont01 .table td:last-child, .co-cont01 .table th:last-child {
      border-bottom: 1px solid #ddd;
  }
  .location-l {
      padding: 30px 10px;
  }
  .location-column .col-md-4 {
    padding-left: 0;
    padding-right: 0;
  }
  .location-r {
    height: 400px;
  }
  .co-cont03 .grey-column h3 {
      left: 18%;
  }
  .group {
    margin-bottom: 20px;
  }
  .group02 {
      margin-top: 0;
  }
  .co-cont05 h2 {
    font-size: 30px;
  }
  .co-cont05 .border-ti {
      top: 60%;
  }
  .philo {
    margin-left: 0;
  }
  .co-cont06 h2,
  .co-cont07 h2 {
    font-size: 35px;
  }
  .co-cont06 .border-ti {
      height: 1px;
  }
  .timeline-content, .timeline-content-last {
      padding-left: 30px;
      height: 70px;
  }
  .timeline-content:before, .timeline-content-last:before {
      left: 98px;
      top: 0;
  }
  .timeline > li {
    display: flex;
  }
  .topmessage p {
      margin-left: 0;
  }
  .co-cont07 .grey-column {
      background: #efefef;
      background-size: contain;
      height: 100%;
  }
  .topmessage p {
    margin-bottom: 30px;
  }
  .message-fv {
      background-size: 250%;
      background-position: 60%;
  }
  .message-fv h1 {
    font-size: 36px;
  }
  .me-cont01 .grey-column {
      padding: 30px 15px 20px;
  }
  .me-cont-inner {
      padding: 30px;
      margin: 20px 0;
      line-height: 2.4;
  }
  .foot-sns li {
    display: inline-block;
    margin: 20px 30px;
  }
  .foot-sns {
    text-align: center;
  }
  .foot-sns i {
    font-size: 20px;
  }
  .feature-fv h1, .service-fv h1, .message-fv h1, .company-fv h1 {
      top: 25%;
  }
  .feature-fv .h1-sup, .service-fv .h1-sup, .message-fv .h1-sup, .company-fv .h1-sup {
      top: 20%;
  }
  .fea-cont03 .col-md-9 {
    padding-left: 0;
    padding-right: 0;
  }
  .breadclumb .container {
    padding-left: 5px;
  }
  .breadcrumb-container.theme1 a {
      padding: 5px!important;
    }
  .ser-column h4 {
      line-height: 1.8;
  }
  .co-cont01 .table td:last-child, .co-cont01 .table th:last-child {
      border-left: 1px solid #ddd;
      border-right: 1px solid #ddd;
  }
  .location-column .col-lg-4 {
      padding-right: 15px;
      height: auto;
  }
  .co-con02 .col-md-10 {
    padding-left: 0;
    padding-right: 0;
  }
  .location-l .table th {
      width: 27%;
  }
  .news-wrapper {
    overflow: hidden;
  }
  .article05-meta {
      font-size: 16px;
  }
  .article05 {
      margin: 20px!important;
      width: 90%!important;
      padding: 15px!important;
    }
  .post-category,
  .post-date {
    font-size: 14px!important;
  }
  .news-wrapper .post-title {
      font-size: 26px;
      line-height: 1.8;
      margin-bottom: 30px;
      width: 100%;
      padding: 0 15px;
      margin: 0 auto 30px;
      text-align: left;
  }
  .sns {
      padding-right: 15px;
      margin-bottom: 20px;
      text-align: right;
  }
  .news-day-cate {
      margin: 10px auto 50px;
  }
  .news-wrapper .post-content {
      overflow: hidden;
      margin: 50px auto;
      width: 90%;
      background-color: #fff;
      padding: 15px;
  }
  .mw_wp_form table th {
      width: 100%;
      padding: 20px 0 0;
    }
  .mw_wp_form table td.w50 textarea {
      width: 100%;
    }
  .nav-item a {
    display: block;
  }
  .btn03,
  .btn04 {
    display: block;
  }
  .news-fv h1,
  .conpany-fv h1 {
      top: 25%;
  }
  .article05-meta {
      font-size: 16px!important;
  }
  .location-column {
      background-color: #fff;
      margin-bottom: 30px;
      max-height: unset;
  }

}

