

@media screen and (max-width:800px) {
.post_content img{
    max-width: none !important;
}
 }

/* ----------------------------------------------------------------------
サービス
---------------------------------------------------------------------- */
.service_category_content .post_list.type2 .content {
  width: 100% !important;
}
.service_category_content .post_list.type2 .item {
    width: 100%;
}
.service_category_content .post_list.type2 .item:nth-child(2n) {
    border-left: 1px solid #ddd;}

.service_category_content .post_list.type2 .desc {
    display: block!important;
    line-height: 2!important;
    max-height: none!important;
    overflow: visible!important;
    visibility: inherit! important;
    margin-top: 15px;
}
.service_category_content .post_list.type2 .desc span {
    display: block;
}
.service_category_content .post_list.type2 a:hover {
    color: #000;
        }

@media screen and (max-width:1100px) {
        .service_category_content .post_list.type2 .title {
            font-size: 16px !important;
            position: relative!important;
            left: 00px!important;
            top: 0px!important;
            width: calc(100% - 190px)!important;
            height: auto!important;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
        }
    .service_category_content .post_list.type2 .desc {
            margin-top: 10px !important;
        }
        .service_category_content .post_list.type2 a {
        min-height: auto !important;
    }
    
    
}
/* ----------------------------------------------------------------------
service
---------------------------------------------------------------------- */
#header_slider_wrap,#bread_crumb,#page_header{
    display: none;
}
#page_contents {
    padding-bottom: 0px;
}
body.hide_breadcrumb #container {
    padding-top: 0px; 
}
#page_contents .post_content {
    max-width: none;
    margin: 0 auto;
    padding: 0 0px;
    overflow: hidden;
}
.right{
    text-align: right;
}


.contents,.case{
    font-size: clamp(20px, 1.5vw, 45px);
    width: 80%;
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
}



.title{
    color: #2A4F99;
    font-size: clamp(35px, 4.2vw, 80px);
    font-weight: 900;
    margin-bottom: 0.8vw;
    letter-spacing: 0.05em;
}
.sub_title {
    color: #2A4F99;
    font-size: clamp(20px, 2vw, 42px);
    font-weight: 700;
    margin-bottom: 2vw;
    padding-left: 2em;
    line-height: 1.6em;
}
.catch_line {
    border-image: linear-gradient(to right, #68b7e7, #5c99e8) 1;
    width: 56%;
    margin-left: 0;
    margin-right: auto;
    border-bottom: 8px solid;
    padding-bottom: 10px;
    margin-bottom: 2.5vw;
    display: inline-block;
}
.txt_block dl{
    margin-bottom: 1.5em;
}
.txt_block dt{
    color: #2A4F99;
    font-size: clamp(18px, 1.8vw, 30px);
    font-weight: 700;
    margin-bottom: 0.5vw;
    line-height: 1.6em;
}
.txt_block dd{
    font-size: clamp(15px, 1vw, 23px);
    font-weight: 700;
    line-height: 2;
    margin-left: 1.8em;
}

@media screen and (max-width:800px) {
#page_header{
    display: none !important ;
}
 .contents,.case{
    width: 90%;
}
  .sub_title {
    margin-bottom: 0;
    padding-left: 0em;
      display: block;
        margin-top: 5px;
} 
    
    
.catch_line {
    width: 56%;
    border-bottom: 4px solid;
    padding-bottom: 10px;
    margin-bottom: 2.5vw;
    display: inline-block;
}
    
.txt_block dl{
    margin-bottom: 1em;
}
.txt_block dd{
    line-height: 1.8;
    font-size: 4vw;
}
.txt_block dt{
    font-size: 5vw
}
}

/* ----------------------------------------------------------------------
MV
---------------------------------------------------------------------- */
#mv{
    background-image: url(../img/service/item_01.png);
    background-repeat: no-repeat;
    background-position: left center;
    padding-top: 8vw;
    padding-bottom: 8vw;
    position: relative;
    background-size: auto 80%;
}

#mv p {
    color: #2A4F99;
    font-size: clamp(16px, 1.2vw, 23px);
    font-weight: 700;
    line-height: 2.6;
}
#mv img{
    position: absolute;
    right: 0px;
    width: 39%;
    z-index: -1;
    bottom: 10%;
}

@media screen and (max-width:800px) {
#mv{
    padding-top: 20px;
    padding-bottom: 20px;
    background-position: left bottom 30px;
    background-size: auto 60%;
}
    #mv p {
    line-height: 1.8;
}
#mv .sub_title{
    margin-bottom: 10px;
    }
    
#mv img {
        right: -32px;
        top: 14px;
        bottom: auto;
        width: 48%;
}

}

/* ----------------------------------------------------------------------
common
---------------------------------------------------------------------- */

.back{
    background-image: url(../img/service/back.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding-bottom: 10vw;
}


/* ----------------------------------------------------------------------
case
---------------------------------------------------------------------- */

.case{
}

.case .copy{
    color: #FFF;
    font-size: clamp(16px, 2vw, 42px);
    font-weight: 700;
    margin-bottom: 0.5vw;
    line-height: 1.6em;
}

.case p{
    font-size: clamp(16px, 1vw, 23px);
    font-weight: 700;
    line-height: 1.7;
    width: 28vw;
        
}

.case>div{
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
}
.case div img{
    width: 88%;
    height: auto;
}

.case>div .txt_block{
    position: absolute;  
    text-align: left;
}

.case_02,.case_04,.case_05,.case_07{
    text-align: right;
}


.case_01 .txt_block{
    top: 13.5vw;
    left: 6vw;
}
.case_01 .txt_block p{
    max-width: 550px;
}
.case_02 .txt_block{
    top: 14vw;
    left: 58%;
}
.case_02 .txt_block p{
    width: 28vw;
    max-width: 550px;
}


.case_03 .txt_block{
    top: 10vw;
    left: 6vw;
}
.case_03 .txt_block p{
    width: 24vw;
    max-width: 500px;
}

.case_04 .txt_block{
    top: 9vw;
    left: 64%;
}
.case_04 .txt_block p{
    width: 25vw;
}
.case_05 .txt_block{
    top: 12.5vw;
    left: 17vw;
}
.case_05 .txt_block p{
    width: 40vw;
    max-width: 700px;
}
.case_06 .txt_block{
    z-index: 2;
    top: 10vw;
    left: 4vw;
}
.case_06 img{
    z-index: 1;
    position: relative;
}
.case_07 {
    margin-top: -3vw;
}
.case_07 .txt_block{
    top: 4vw;
    right: 6vw;
}
.case .case_07 img{
    width: 66%;
    margin: -5vw;
}
.case .case_07 p{
    width:35vw;
}
.case_08 .txt_block{
    top: 7vw;
    left: 11vw;
}

.case_08 .txt_block p{
    max-width: 550px;
}

@media screen and (max-width:800px) {
    
.case .copy{
    font-size: 4.8vw;
}

.case p{
    font-size:3.6vw;
        
}
    
 .case p {
    width: 100%;
}  
.case .txt_block p{
    width: 100%;
}
    
.case div img{
  width: 140%;
margin-left: -20%;
}

.case_02,.case_04,.case_05,.case_07{
    text-align: left;
}

.case_01 .txt_block{
        top: 28.5vw;
        left: 4vw;
}
.case_02 .txt_block{
    top: 28vw;
    left: 4%;
}
.case .case_02 img{
        width: 123%;
        margin-left: -10%;
}
    
.case .case_03 img{
        width: 114%;
        margin-left: -8%;
}
    
.case_03 .txt_block{
        top: 33vw;
        left: 4vw;
}
    .case .case_04 img{
        width: 120%;
        margin-left: -10%;
}
.case_04 .txt_block{
        top: 28vw;
        left: 5%;
}
.case .case_05 img{
        width: 129%;
        margin-left: -14%;
}
    
.case_05 .txt_block{
        top: 24.5vw;
        left: 3vw;
}
    .case_05 .txt_block p{
    width: 221px;
}
.case_06 .txt_block{
    z-index: 2;
        top: 25vw;
    left: 4vw;
    width: 91% !important;
}
.case_06 img{
        width: 139% !important;
        margin-left: -14% !important;
}
.case_07 {
    margin-top: -3vw;
}
.case .case_07 img{
        width: 131% !important;
        margin-left: -7% !important;
        margin: auto;
        margin-top: -24vw;
}
.case .case_07 .txt_block{        
    top: 29vw;
        right: 0vw;
        width: 95% !important;
}
.case_08 .txt_block{
        top: 28vw;
        left: 2vw;
}

}


/* ----------------------------------------------------------------------
consulting
---------------------------------------------------------------------- */
#consulting{
    padding-top: 5vw;
    padding-bottom: 15vw;
    position: relative;
    background-image: url(../img/service/item_01.png);
    background-repeat: no-repeat;
    background-position: left 5vw bottom;
    background-size: 25% auto;
}

#consulting .img{
    position: absolute;
    width: 50vw;
    height: auto;
    top: 12vw;
    right: 2vw;
}
#consulting .catch_line {
    width: 62%;
}
#consulting .contents .txt_block{
    width: 33vw;
    margin-bottom: 5vw;
}

@media screen and (max-width:800px) {
   #consulting{
    padding-top: 30px;
    padding-bottom: 30px;
}

#consulting .contents .txt_block{
    width: 100%;
}
#consulting .catch_line {
    width: 74%;
}
 #consulting .img{
        position: relative;
        width: 99%;
        height: auto;
        top: auto;
        right: auto;
     margin-bottom: 30px;
}
 
 #consulting .txt_block dl:last-child{
    margin-bottom: 0;
}   
 }   

/* ----------------------------------------------------------------------
operation
---------------------------------------------------------------------- */
#operation{
    margin-top: -10vw;
    position: relative;
}
#operation>img{
    position: absolute;
    width: 50vw;
    height: auto;
    top: 14vw;
    left: 2vw;
}
#operation .title{
    text-align: right;
}
#operation .case{
    margin-top: 5vw;
}

#operation .catch_line {
    width: 56%;
    padding-bottom: 10px;
    margin-bottom: 2.5vw;
}

#operation .contents  .txt_block{
    width: 45%;
    margin-left: 55%;
}
@media screen and (max-width:800px) {
    #operation{
    margin-top: 15px;
}
    #operation>img{
    position: absolute;
    width: 90vw;
    height: auto;
    top: 17vw;
    left: 2vw;
}
    
#operation .contents  .txt_block{
    width: 100%;
    margin-left: 0%;
    margin-top: 290px;
}
    
    }

/* ----------------------------------------------------------------------
construction
---------------------------------------------------------------------- */
#construction{
    padding-top: 5vw;
    padding-bottom: 15vw;
    position: relative;
    background-image: url(../img/service/item_01.png);
    background-repeat: no-repeat;
    background-position: left 9vw bottom;
    background-size: 25% auto;
}

#construction .catch_line {
    width: 74%;
}

#construction .txt_block{
    width: 33vw;
    margin-bottom: 5vw;}

.col_02{
    margin-bottom: 5vw;
    display: flex;
    justify-content: space-between;
}


.col_02 div{
    width: 100%;
}

.col_02 dl{
    margin-bottom: 3vw;
}

.col_02 dt{
    color: #2A4F99;
    font-size: clamp(14px, 1.8vw, 30px);
    font-weight: 700;
    margin-bottom: 0.5vw;
    line-height: 1.6em;
}

.col_02 dd{
    font-size: clamp(16px, 1vw, 23px);
    font-weight: 700;
    line-height: 2.2;
    margin-left: 1.8em;}


@media screen and (max-width:800px) {
    #construction{
        background-position: right 0vw bottom 5px;
        background-size: 32% auto;
}
    
#construction .catch_line {
    width: 88%;
}

    .col_02{
    display: inherit;
}


.col_02 div{
    width: 100%;
}
   .col_02 dt{
    font-size: 5vw;
}

.col_02 dd{
    font-size: 4vw;
    line-height: 1.8;
    }

    
}

/* ----------------------------------------------------------------------
outsourcing
---------------------------------------------------------------------- */
#outsourcing{}

#outsourcing .catch_line {
    width: 75%;
    margin-bottom: 2vw;
}
#outsourcing  .title{
    text-align: right;
}
#outsourcing .col_02 {
    margin-bottom: 0; 
    margin-left: 25%;
}


@media screen and (max-width:800px) {
  
#outsourcing .catch_line {
    width: 85%;
}
#outsourcing .col_02 {
    margin-left: 12%;
} 
    }
