
/*
-----------------
施工事例一覧 @PC
-----------------
*/
.caselist{
    width: 1080px;
    margin: 20px auto 0 auto;
}
.caselist h1{
    text-align: center;
    font-size: 24px;
    letter-spacing: 3px;
    padding: 0 0 20px 0;
    color: #000;
    position: relative;
}
.caselist h1 span{
    font-size: 11px;
    color: #5dc259;
    letter-spacing: 4px;
    display: block;
}
#caseitems:after{
    content:"";
    display:block;
    width: 100%;
    height:0;
}
@media screen and (max-width: 1080px){
    .caselist{
        width: 94vw;
        margin: 40px auto 0 auto;
    }
}
#caseitems{
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    flex-wrap: wrap;
}
#caseitems > li{
    width: 31.3%;
    padding: 1%;
    margin: 0 0 50px 0;
}
@media screen and (max-width: 780px){
    #caseitems > li{
        width: 98%;
        padding: 1%;
        margin: 0 0 50px 0;
    }
}
#caseitems > li a{
    display: block;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
#caseitems > li img{
    width: 100%;
    height: 220px;
    object-fit: cover;
}
#caseitems > li ul{
    display: flex;
    flex-wrap: wrap;
}
#caseitems > li ul li{
    line-height: 1em;
    padding: 8px 13px 8px 15px;
    margin: 10px 10px 0 0;
    font-size: 12px;
    letter-spacing: 2px;
    text-align: center;
    color: #fff;
    background: #5dc259;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
#caseitems > li span{
    padding: 10px 0 0 0;
    display: block;
    font-weight: 600;
    letter-spacing: 2px;
    font-size: 14px;
    color: #5dc259;
}
#caseitems > li p{
    font-size: 13px;
    font-weight: 500;
}
#categorynav{
    width: 100%;
    position: relative;
    z-index: 5;
    margin: 20px 0 0 0;
    padding: 0 0 40px 0;
}
#categorynav > li{
    width: 100%;
}
#categorynav > li:nth-child(1) > ul{
    background: #fff;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    font-size: 14px;
    margin: 20px 0 0 0;
}
#categorynav > li:nth-child(1) > ul > li{
    margin: 0 0 1px 0;
}
#categorynav > li:nth-child(1) > ul > li > p{
    font-weight: 500;
    letter-spacing: 3px;
    position: relative;
    padding: 20px;
    background: #f5f6f3;
}
#categorynav > li:nth-child(1) > ul > li > p:after{
    content:"＋";
    position: absolute;
    right:20px;
    font-size: 20px;
    color: #5dc259;
}
#categorynav > li:nth-child(1) > ul > li > p.open:after{
    content:"−";
    position: absolute;
    right:20px;
    font-size: 20px;
    color: #5dc259;
}
#categorynav > li:nth-child(1) > ul > li div{
    display: none;
    background: #f8f8f8;
    border-top: 1px solid #eee;
    padding: 20px;
}
#categorynav > li:nth-child(1) > ul > li div span{
    font-weight: 400;
    font-size: 14px;
    padding: 20px 0 0 0;
    display: inline-block;
}
#categorynav > li:nth-child(1) > ul > li div.open{
    display: block;
}
#categorynav > li:nth-child(1) > ul > li div.open ul{
    display: flex!important;
    flex-wrap: wrap;
    padding: 5px 0 0 0;
}
#categorynav > li:nth-child(1) > ul > li ul li{
    line-height: 2em;
    margin: 2px 0 0 0;
    letter-spacing: 3px;
    width: 33%;
}
@media screen and (max-width: 780px){
    #categorynav > li:nth-child(1) > ul > li ul li{
        line-height: 2em;
        margin: 5px 0 5px 0;
        letter-spacing: 3px;
        width: 100%;
    }
}
#categorynav > li:nth-child(1) > ul > li ul li.checkAllwrap{
    width: 100%;
}

#categorynav > li:nth-child(1) > ul > li > p span{
    padding: 0 0 0 10px;
    font-weight: 400;
    letter-spacing: 1px;
}

.close{
    display: inline-block;
    line-height: 1em;
    vertical-align: 10px;
    padding: 15px 50px 15px 15px;
    position: relative;
}
.close:before{
    content:"";
    width: 40px;
    height: 1px;
    background: #999;
    transform: rotate(45deg);
    position: absolute;
    right: 0;
    top: 23px;
}
.close:after{
    content:"";
    width: 40px;
    height: 1px;
    background: #999;
    transform: rotate(-45deg);
    position: absolute;
    right: 0;
    top: 23px;
}
.close:hover{
    cursor: pointer;
    opacity: 0.5;
}



/*
-----------------
施工事例詳細 @PC
-----------------
*/
.case{
    width: 1080px;
    margin: 20px auto 0 auto;
}
@media screen and (max-width: 1080px){
    .case{
        width: 94vw;
        margin: 40px auto 0 auto;
    }
}
.caseheader{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.caseheader span{
    width: 150px;
    height: 50px;
    background: #5dc259;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    letter-spacing: 2px;
}
.caseheader h1{
    width: calc(100% - 190px);
    background: #f5f3e1;
    display: flex;
    align-items: center;
    padding: 0 20px 0 20px;
    letter-spacing: 2px;
}
.caseheader img{
    width: calc(100% - 40px);
    height: 640px;
    padding: 20px;
    background: #f5f6f3;
    border-top: 1px solid #eee;
    object-fit: cover;
}



.caseinfo{
    width: 100%;
    margin: 40px 0 0 0;
}
.caseinfo table{
    width: 100%;
}
.caseinfo table tr{
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}
.caseinfo table tr th{
    width: 180px;
    color: #5dc259;
    text-align: left;
    padding: 10px 20px 10px 20px;
    font-size: 15px;
    letter-spacing: 2px;
}
.caseinfo table tr td{
    padding: 10px 20px 10px 20px;
    font-size: 15px;
    letter-spacing: 2px;
}

.casetxt p{
    padding: 20px;
    letter-spacing: 2px;
    line-height: 1.8em;
    background: #f5f6f3;
    margin: 40px 0 0 0;
}
.caseimg ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 20px 0 0 0;
}
.caseimg ul li{
    width: 31%;
    text-align: center;
}
.caseimg ul li p{
    background: #f5f3e1;
    padding: 5px 0 5px 0;
}
.caseimg ul li img{
    width: 100%;
}

@media screen and (max-width: 780px){
    .caseheader span{
        width: calc(100% - 40px);
        height: 50px;
        background: #5dc259;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #fff;
        letter-spacing: 2px;
        padding: 0 20px 0 20px;
        font-size: 15px;
    }
    .caseheader h1{
        width: calc(100% - 40px);
        background: #f5f3e1;
        display: flex;
        align-items: left;
        padding: 10px 20px 10px 20px;
        letter-spacing: 2px;
    }
    .caseheader img{
        width: calc(100% - 40px);
        height: 360px;
        padding: 20px;
        background: #f5f6f3;
        border-top: 1px solid #eee;
        object-fit: cover;
    }
    .caseinfo table tr th{
        width: calc(100% - 40px);
        color: #5dc259;
        text-align: left;
        padding: 20px 20px 0 20px;
        font-size: 15px;
        letter-spacing: 2px;
        display: block;
    }
    .caseinfo table tr td{
        width: calc(100% - 40px);
        padding: 0 20px 20px 20px;
        font-size: 15px;
        letter-spacing: 2px;
        display: block;
    }
    .caseimg ul li{
        width: 100%;
        text-align: center;
        margin: 20px 0 0 0;
    }
    .caseimg ul li img{
        width: 100%;
        display: block;
        width: 100%;
        height: 360px;
        object-fit: cover;
    }
    .casetxt p{
        padding: 20px;
        letter-spacing: 2px;
        line-height: 1.8em;
        background: #f5f6f3;
        margin: 40px 0 0 0;
        font-size: 15px;
    }
}
@media screen and (max-width: 480px){
    .caseheader img{
        width: calc(100% - 40px);
        height: 220px;
        padding: 20px;
        background: #f5f6f3;
        border-top: 1px solid #eee;
        object-fit: cover;
    }
    .caseimg ul li img{
        width: 100%;
        display: block;
        width: 100%;
        height: 220px;
        object-fit: cover;
    }
}

/*
-----------------
pageback
-----------------
*/
.pageback{
    text-align: center;
    padding: 20px 0 0 0;
    margin: 40px 0 0 0;
    border-top: 1px solid #dcdcdc;
}
.pageback a{
    padding: 0 0 5px 0;
    color: #5dc259;
}
.pageback a i{
    padding: 0 10px 0 0;
}
.pageback a:hover{
    border-bottom: none;
}