@charset "utf-8";
/*------------------------------------------------------------
	トップページ
------------------------------------------------------------*/
#main {
    width: auto;
}
#main .headLine01 span {
    font-size: 2.8rem;
}
#main .headLine01 {
    font-size: 3.9rem;
}
#main .mainImg {
    margin-bottom: 60px;
    padding: 255px 0 212px;
    text-align: center;
    background: url("../img/index/main_img.jpg") no-repeat center center;
    background-size: cover;
}
#main .news {
    padding-left: 85px;
    margin: 0 auto 79px;
    width: 604px;
}
#main .news h2 {
    margin: 0 8px 9px;
    font-size: 1.3rem;
    letter-spacing: 1px;
}
#main .news dl {
    font-size: 1.4rem;
    border-top: 1px solid #000;
}
#main .news dl dt {
    padding: 16px 0 0 7px;
    width: 90px;
    color: #009FE8;
    font-weight: bold;
    float: left;
}
#main .news dl dd {
    padding: 16px 0 18px 102px;
}
#main .news dl dd a {
    color: #000;
}
#main .news dl dd a:hover {
    text-decoration: underline;
}
#main .textInner {
    padding-top: 92px;
    margin-bottom: 93px;
    background: url("../img/index/bg01.jpg") no-repeat top center;
    background-size: 100% auto;
}
#main .textInner2 {
    padding-top: 52px;
    margin-bottom: 93px;
    background: url("../img/index/bg03.jpg") no-repeat top center;
    background-size: 100% auto;
}
#main .textInner .innerBox {
    padding: 58px 100px 55px;
    width: 890px;
    margin: 0 auto;
    color: #fff;
    background-color: #0F2F32;
    box-sizing: border-box;
}
#main .textInner2 .innerBox2 {
    padding: 58px 100px 55px;
    width: 890px;
    margin: 0 auto;
    color: #fff;
    background-color: #eeeeef;
    box-sizing: border-box;
}
#main .textInner .innerBox h2 {
    margin-bottom: 25px;
    font-size: 3.9rem;
    line-height: 1.53;
    font-weight: normal;
    text-align: center;
}
#main .textInner .innerBox p {
    line-height: 2;
}
#main .textInner .innerBox .ttl {
    margin-bottom: 15px;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
}
#main .textInner .innerBox .btn {
    margin: 62px auto 0;
    width: 353px;
}
#main .textInner .innerBox .btn a {
    padding: 8px 10px 5px;
    display: block;
    color: #fff;
    font-size: 2.4rem;
    text-align: center;
    border: 1px solid #fff;
}
#main .textInner .innerBox .btn a span {
    padding-right: 28px;
    display: inline-block;
    background: url("../img/index/icon01.png") no-repeat right center;
    background-size: 18px auto;
}
#main .textInner .innerBox .btn a:hover {
    opacity: 0.7;
}
#main .service .headLine01 span {
    margin-bottom: 4px;
}
#main .service .headLine01 {
    margin-bottom: 65px;
}
#main .service .comPhotoList li .photo::before {
    right: 21px;
    bottom: 16px;
}
#main .comPhotoList li .text p {
    padding-bottom: 11px;
}
#main .service {
    margin-bottom: 164px;
}
#main .faq {
    margin-bottom: 96px;
    padding: 108px 18px 50px 0;
    background: url( "../img/index/bg02.jpg") no-repeat top center;
    background-size: 100% auto;
}
#main .faq h2 {
    margin-bottom: 27px;
    color: #000;
    font-size: 3.9rem;
    font-weight: normal;
    text-align: center;
}
#main .faq .white {
    padding: 39px 0;
    margin: 0 auto;
    width: 895px;
    background-color: #fff;
}
#main .works .headLine01 {
    margin-bottom: 42px;
}
#main .works .link {
    margin: 0 auto 108px;
    width: 353px;
}
#main .works .link a {
    padding: 8px 0 2px;
    display: block;
    font-size: 2.4rem;
    text-align: center;
    border: 1px solid #000;
}
#main .works .link a span {
    padding-right: 28px;
    display: inline-block;
    background: url("../img/index/icon02.png") no-repeat right top 8px;
    background-size: 18px auto;
}
#main .works .link a:hover {
    opacity: 0.7;
}
#main .works .photoUl {
    margin-top: -30px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#main .works .photoUl li {
    margin-top: 30px;
    width: 540px;
}
#main .works .photoUl li a {
    width: 100%;
    display: table;
    background-color: #EEEEEF;
}
#main .photoUl li a > span {
    display: table-cell;
    vertical-align: middle;
}
#main .works .photoUl li a .num {
    width: 95px;
    color: #fff;
    text-align: center;
    transition: 0.3s;
    background-color: #0F2F32;
}
#main .works .photoUl li a .num span {
    margin-top: -1px;
    display: block;
    font-size: 4.3rem;
    font-weight: bold;
}
#main .works .photoUl li a:hover .num {
    background-color: #395356;
}
#main .works .photoUl li a .photo {
    padding: 22px 18px 22px 25px;
    width: 445px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    transition: 0.3s;
    justify-content: space-between;
}
#main .works .photoUl li a:hover .photo {
    opacity: 0.7;
}
#main .works .photoUl li a .photo span {
    width: 265px;
    color: #009FE8;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.35;
}
#main .works .photoUl li a .photo .img {
    width: 142px;
}
@media all and (-ms-high-contrast:none) {
    #main .comPhotoList li .text {
        height: 106px;
    }
    #main .comPhotoList li .photo {
        height: 343px;
    }
    #main .comPhotoList li:last-child .text {
        margin-top: -2px;
    }
    
}
