#pg_service .mv {
  background-image: url(../images/service/mv_sp.jpg); }
  @media screen and (min-width: 769px) {
    #pg_service .mv {
      background-image: url(../images/service/mv_pc.jpg); } }
#pg_service .mv_2 {
  background-image: url("../images/service/mv_sp_service_2.jpg"); }
  @media screen and (min-width: 769px) {
    #pg_service .mv_2 {
      background-image: url("../images/service/mv_pc_service_2.jpg"); } }

#pg_construction .mv {
  background-image: url(../images/service/mv_construction_sp.jpg); }
  @media screen and (min-width: 769px) {
    #pg_construction .mv {
      background-image: url(../images/service/mv_construction_pc.jpg); } }

#pg_business .mv {
  background-image: url(../images/service/mv_business_sp.jpg); }
  @media screen and (min-width: 769px) {
    #pg_business .mv {
      background-image: url(../images/service/mv_business_pc.jpg); } }
#pg_business .mv_2 {
  background-image: url(../images/service/mv_business_sp_2.jpg); }
  @media screen and (min-width: 769px) {
    #pg_business .mv_2 {
      background-image: url(../images/service/mv_business_pc_2.jpg); } }

@media screen and (min-width: 769px) {
  #pg_construction .links .block {
    width: calc(100% / 2); } }
#pg_construction .img_intermediate .bg {
  background-image: url(../images/service/construction_intermediate_sp.jpg); }
  @media screen and (min-width: 769px) {
    #pg_construction .img_intermediate .bg {
      background-image: url(../images/service/construction_intermediate_pc.jpg); } }
#pg_construction .block_mb {
  margin-bottom: 5rem; }
  @media screen and (min-width: 769px) {
    #pg_construction .block_mb {
      margin-bottom: 8rem; } }

.links .block {
  width: calc(100%); }
  @media screen and (min-width: 769px) {
    .links .block {
      width: calc(100% / 2); } }

.section_links .links .block.design .ph:after {
  background-image: url(../images/service/design_pc.jpg); }
.section_links .links .block.business .ph:after {
  background-image: url(../images/service/business_pc.jpg); }
.section_links .links .block.business_2 .ph:after {
  background-image: url(../images/service/business_pc_2.jpg); }
.section_links .links .block.here .ph:after {
  background-image: url("../images/common/here.png"); }

#pg_construction .section_1 h3 {
  text-align: left;
  width: 100%;
  font-size: 1.6rem;
  color: #333333;
  line-height: 1.4;
  margin-bottom: 4rem; }
#pg_construction .section_1 h4 {
  font-size: 1.4rem;
  margin-bottom: 3rem;
  text-align: left;
  line-height: 1.6; }
#pg_construction .section_1 .area {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  #pg_construction .section_1 .area h3 {
    margin-top: 5rem; }
  #pg_construction .section_1 .area .txt_box {
    width: 100%;
    margin-bottom: 4.5rem; }
    #pg_construction .section_1 .area .txt_box .part:not(:last-child) {
      margin-bottom: 6rem; }
  #pg_construction .section_1 .area .img_box {
    width: 100%;
    margin-bottom: 8rem; }
#pg_construction .img_intermediate .bg {
  width: 100vw;
  height: calc(100vw * 0.6);
  background-repeat: no-repeat;
  background-size: contain;
  margin-bottom: 5rem; }
#pg_construction .img_intermediate .fade_img {
  margin-bottom: 5rem; }
#pg_construction .block_2 h3 + .text {
  margin-bottom: 4rem; }
#pg_construction .block_2 .part:not(:last-child) {
  margin-bottom: 4rem; }
@media screen and (min-width: 769px) {
  #pg_construction .section_1 h3 {
    line-height: 1;
    font-size: 3.2rem;
    margin-bottom: 8rem; }
  #pg_construction .section_1 h4 {
    font-size: 1.9rem;
    margin-bottom: 4rem; }
  #pg_construction .section_1 .area h3 {
    margin-top: 14rem; }
  #pg_construction .section_1 .area .txt_box {
    width: 50%;
    margin-bottom: 0; }
    #pg_construction .section_1 .area .txt_box .part:not(:last-child) {
      margin-bottom: 7rem; }
  #pg_construction .section_1 .area .img_box {
    width: 40%;
    margin-bottom: 0; }
  #pg_construction .img_intermediate .bg {
    margin: 9rem auto 11rem;
    height: calc(100vw * 0.28);
    background-size: cover; }
  #pg_construction .img_intermediate .fade_img {
    margin: 9rem auto 11rem; }
  #pg_construction .block_2 h3 + .text {
    margin-bottom: 10rem; }
  #pg_construction .block_2 .part:not(:last-child) {
    margin-bottom: 9rem; } }

.section {
  margin-bottom: 12rem; }
  .section .text:not(:last-child) {
    margin-bottom: 3rem; }
  .section .slick .col {
    position: relative; }
    .section .slick .col .caption {
      position: absolute;
      bottom: 1rem;
      left: 0;
      width: 100%; }
      .section .slick .col .caption .in {
        position: relative; }
        @media (max-width: 768px) {
          .section .slick .col .caption .in {
            width: 90%; } }
      .section .slick .col .caption br {
        display: none; }
      @media (min-width: 769px) {
        .section .slick .col .caption {
          bottom: 6rem; }
          .section .slick .col .caption br {
            display: block; } }
      .section .slick .col .caption h3 {
        text-align: left;
        color: #fff;
        display: block;
        margin-bottom: 1rem; }
        .section .slick .col .caption h3 .en, .section .slick .col .caption h3 .ja {
          font-size: 1.4rem; }
        .section .slick .col .caption h3 .num {
          font-size: 2rem; }
        @media (min-width: 769px) {
          .section .slick .col .caption h3 .en, .section .slick .col .caption h3 .ja {
            font-size: 2rem; }
          .section .slick .col .caption h3 .num {
            font-size: 3rem; } }
      .section .slick .col .caption .text {
        text-align: left;
        color: #fff;
        line-height: 1.6; }
  .section .slick .slick-counter {
    text-align: right;
    display: block;
    font-weight: bold;
    width: 95%;
    font-size: 1.4rem;
    margin: .4rem auto 0;
    color: #fff; }
  .section .slick .slick-arrow {
    background-color: rgba(0, 0, 0, 0.7);
    width: 40px;
    height: 40px;
    font-size: 0;
    position: absolute;
    display: inline-block;
    padding: 0 0 0 16px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 0px;
    border: none;
    right: -1rem;
    top: 40%;
    transform: translate(-50%);
    -webkit-transform: translate(-50%);
    -ms-transform: translate(-50%); }
    @media (min-width: 769px) {
      .section .slick .slick-arrow {
        width: 60px;
        height: 60px; } }
    .section .slick .slick-arrow:before, .section .slick .slick-arrow:after {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      content: "";
      vertical-align: middle; }
    .section .slick .slick-arrow:before {
      left: 9px;
      width: 15px;
      height: 15px;
      border-top: 1px solid #ffffff;
      border-right: 1px solid #ffffff;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }
      @media (min-width: 769px) {
        .section .slick .slick-arrow:before {
          width: 30px;
          height: 30px; } }
  .section .bind_slick .slick-arrow {
    display: none !important; }
  .section .bind_slick .photo {
    position: relative;
    width: 100%;
    height: 0; }
    .section .bind_slick .photo .bg {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center center;
      background-color: #ccc; }
  .section .bind_slick .box[name="slick_box_1"] .bg {
    background-image: url("../images/service/step_1_pc.jpg"); }
  .section .bind_slick .box[name="slick_box_2"] .bg {
    background-image: url("../images/service/step_2_pc.jpg"); }
  .section .bind_slick .box[name="slick_box_3"] .bg {
    background-image: url("../images/service/step_3_pc.jpg"); }
  .section .bind_slick .box[name="slick_box_4"] .bg {
    background-image: url("../images/service/step_4_pc.jpg"); }
  .section .bind_slick .box[name="slick_box_5"] .bg {
    background-image: url("../images/service/step_5_pc.jpg"); }
  .section .bind_slick .box[name="slick_box_6"] .bg {
    background-image: url("../images/service/step_6_pc.jpg"); }
  .section .bind_slick .box[name="slick_box_7"] .bg {
    background-image: url("../images/service/step_7-8_pc.jpg"); }
  .section .bind_slick .box[name="slick_box_9"] .bg {
    background-image: url("../images/service/step_9_pc.jpg"); }
  .section .bind_slick .box[name="slick_box_10"] .bg {
    background-image: url("../images/service/step_10_pc.jpg"); }
  .section .bind_slick .main_slick {
    width: 100%;
    margin-bottom: 20px; }
    .section .bind_slick .main_slick .photo {
      margin-bottom: 20px;
      padding-top: 55%; }
    .section .bind_slick .main_slick .textarea .tb {
      text-align: left;
      margin-bottom: 10px;
      font-size: 2rem;
      font-weight: 600; }
      .section .bind_slick .main_slick .textarea .tb > *:not(:last-child) {
        margin-right: 10px; }
      .section .bind_slick .main_slick .textarea .tb .num {
        font-size: 125%; }
  .section .bind_slick .sub_slick_wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .section .bind_slick .sub_slick_wrap .sub_slick {
      width: 60%;
      pointer-events: none; }
      .section .bind_slick .sub_slick_wrap .sub_slick .photo {
        padding-top: 80%; }
    .section .bind_slick .sub_slick_wrap .controller {
      width: 35%; }
      .section .bind_slick .sub_slick_wrap .controller .btns {
        font-size: 2rem;
        font-weight: 600; }
        .section .bind_slick .sub_slick_wrap .controller .btns .btn {
          cursor: pointer;
          position: relative;
          font-size: 1.5rem; }
          .section .bind_slick .sub_slick_wrap .controller .btns .btn::before {
            width: 100%;
            height: 1px;
            background: #000;
            position: absolute;
            bottom: -10px;
            transform: scaleX(0);
            transition: 0.33s transform;
            content: ""; }
          .section .bind_slick .sub_slick_wrap .controller .btns .btn:hover::before {
            transform: scaleX(1); }
      .section .bind_slick .sub_slick_wrap .controller .page {
        font-size: 1.5rem; }
  @media (max-width: 768px) {
    .section .bind_slick .controller {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      align-items: flex-end; }
      .section .bind_slick .controller .btns .btn {
        font-size: 2rem; }
        .section .bind_slick .controller .btns .btn:not(:last-child) {
          margin-bottom: 3rem; }
      .section .bind_slick .controller .page {
        font-size: 2rem; } }
  @media (min-width: 769px) {
    .section .bind_slick {
      display: flex; }
      .section .bind_slick .main_slick {
        width: 65%; }
      .section .bind_slick .sub_slick_wrap {
        width: 35%;
        display: block; }
        .section .bind_slick .sub_slick_wrap .sub_slick {
          width: 100%; }
        .section .bind_slick .sub_slick_wrap .controller {
          width: 100%;
          height: 15%;
          display: flex;
          justify-content: space-between;
          align-items: center;
          box-sizing: border-box;
          padding-left: 20px; }
          .section .bind_slick .sub_slick_wrap .controller .btns {
            display: flex;
            justify-content: flex-start;
            align-items: center; }
            .section .bind_slick .sub_slick_wrap .controller .btns > .btn:not(:last-child) {
              margin-right: 20px; }
          .section .bind_slick .sub_slick_wrap .controller .page {
            font-size: 2rem; } }

.text a {
  color: #333333;
  text-decoration: underline; }
  @media (min-width: 769px) {
    .text a:hover {
      text-decoration: none; } }

#pg_service .section_bg .bg_img {
  background-image: url("../images/service/bg_service.jpg"); }




#service {
    
}

#service p {
    font-size: 1.4rem;
    line-height: 2em;
    color: #FFFFFF;
}

.w1000 {
    max-width: 1080px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 0 40px;
    box-sizing: border-box;
}

.serviceCc {
    font-size: 1.6rem;
}


.serviceDtl {
    display: flex;
    max-width: 1000px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 70px 0;
    border-bottom: 1px solid #666666;
}

.serviceDtl:nth-child(2n+1) {
    flex-flow: row-reverse;
}

.serviceDtlL {
    width: 400px;
    margin-right: 50px;
}

.serviceDtlL2 {
    margin-right: 0!important;
    margin-left: 50px;
}

.serviceDtlR {
    flex: 1;
}

.serviceDtlL img {
    transition: all 0.5s ease;
}
.serviceDtlL img:hover {
    opacity: 0.8;
}

.serviceDtl h3 {
    font-size: 2.4rem;
    font-weight: 400;
    color: #FFFFFF;
    margin-bottom: 24px;
    letter-spacing: 0.1em;
    line-height: 1.3em;
}

.serviceDtl h3 span {
    color: #ED9258;
    font-size: 1.6rem;
    font-family: 'Noto Serif JP', serif;
}
.servKominka {
    color: #FFFFFF!important;
}

.serviceBtn a {
    display: inline-block;
    color: #FFFFFF;
    font-size: 1.4rem;
    padding: 14px 64px;
    border: 1px solid #FFFFFF;
    margin-right: 20px;
    background: url(../images/service/serviceArr.svg) no-repeat;
    background-size: 7px auto;
    background-position: top 14px right 16px;
    transition: all 0.5s ease;
}
.serviceBtn a:hover {
    background-color: #FFFFFF;
    color: #111111;
}

.serviceDtlR p {
    margin-bottom: 20px;
}





@media (max-width: 767px) {
    
   .serviceDtl {
       display: block;
    }
    .serviceDtlL,
    .serviceDtlL2,
    .serviceDtlR
    {
        width: 100%;
        margin:0;
    }
    .w1000 {
        padding: 0 5%;
    }
    .serviceDtlR {
        padding: 0 5%;
        margin-top: 30px;
        box-sizing: border-box;
    }
    .serviceDtlR h3 {
        text-align: center;
    }
    .serviceBtn {
        text-align: center;
    }
    .serviceBtn2 a {
        width: 45%;
        margin: 0 2%;
        padding: 14px 0;
    }


}




