@charset "UTF-8";

.main{
    min-height: 300px;
    margin: 0 0 40px;
    padding: 0 20px;
    background: url(../img/point/main_sp@2x.jpg?1215) no-repeat left top;
    background-size: contain;
}

.hx-point-ttl{
    /*line-height: 300px;*/
    margin: 0;
    padding: 20px 0;
    font-weight: bold;
    font-size: 20px !important; font-size: 2.0rem !important;
    color: #fff;
}

.hx-green{
    line-height: 1.7;
    margin: 0 0 30px;
    padding: 0;
    font-size: 20px !important; font-size: 2.0rem !important;
    color: #176E11;
}

.txt{
    margin: 0 0 20px;
    font-size: 16px !important; font-size: 1.6rem !important;
}

.box.bg-green{
    margin: 0;
    padding: 60px 0;
    background: #eff6e9;
}

.box.bg-green .wrapper{
    background: transparent;
}

.img-box.w-adjust{
    margin: 0 auto 20px;
}

.flex-box{
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: stretch;
    margin: 0 -10px;
}

.img-box{
    margin: 0 auto 30px;
}

.flex-box .img-box{
    margin: 0 10px;
}

.img-box img{
    border: 1px solid #343434;
}

.img-box.nobdr img{
    border: none;
}

.boxmb{
    margin: 0 0 40px !important;
}

.hx-leaf{
    margin: 0 0 30px;
    padding: 0 0 0 52px;
    background: url(../img/meisai_ico@3x.png) no-repeat left center;
    background-size: 36px 16px;
    font-weight: bold;
    font-size: 18px !important; font-size: 1.8rem !important;
}

.li-dot li{
    position: relative;
    margin: 0 0 10px;
    padding: 0 0 0 16px;
    background: transparent;
}

.li-dot li::before{
    position: absolute;
    content: " ";
    top: 50%;
    left: 0;
    width: 8px;
    height: 8px;
    margin: -4px 0 0;
    border-radius: 4px;
    background: #66cc1f;
}

.main-ttl-box{
    margin: 0 auto;
    width: 80%;
}

.service-ttl{
    margin: 0;
    padding: 20px 0 0;
}

.box.top .wrapper{
    position: relative;
}

.box.top .wrapper .pic{
    position: absolute;
    right: 0;
    top: -180px;
    width: 120px;
}

.hx-green.top{
    width: calc(100% - 130px);
}

.patent{
    display: block;
    margin: 0.5em 0 0;
}

@media only screen and (min-width: 768px) {

    .main{
        position: relative;
        height: 357px;
        padding: 20px 0 0;
        box-sizing: border-box;
        background: url(../img/point/main.jpg?11173) no-repeat left top;
        background-size: cover;
    }

    /*.main .inner{
        height: 277px;
        padding: 0 0 60px;
        background: url(../img/point/main_mockup_pc.png) no-repeat right 60px bottom;
        background-size: contain;
    }*/

    .hx-point-ttl{
        line-height: 277px;
        font-size: 40px !important; font-size: 4.0rem !important;
    }

    .hx-green{
        margin: 0 0 40px;
        text-align: center;
        font-size: 24px !important; font-size: 2.4rem !important;
    }

    .hx-green.top{
        font-size: 35px !important; font-size: 3.5rem;
    }

    .txt{
        margin: 0 0 30px;
        text-align: center;
    }

    #link_06 .txt,
    .txt.t-lft{
        text-align: left;
    }

    .box.bg-green{
        margin: 0;
        padding: 80px 0;
    }

    .img-box.nobdr{
        max-width: 600px;
        margin: 0 auto 60px;
    }

    .img-box.w-adjust{
        max-width: 600px;
        margin: 0 auto 30px;
    }

    .boxmb{
        margin: 0 0 80px !important;
    }

    .hx-leaf{
        margin: 0 0 40px;
        font-size: 24px !important; font-size: 2.4rem !important;
    }

    .li-dot li{
        position: relative;
        margin: 0 0 10px;
        padding: 0 0 0 24px;
        background: transparent;
    }

    .li-dot li::before{
        position: absolute;
        content: " ";
        top: 50%;
        left: 0;
        width: 10px;
        height: 10px;
        margin: -5px 0 0;
        border-radius: 5px;
        background: #66cc1f;
    }

    .main-ttl-box{
        margin: 0;
        width: 500px;
    }

    .box.top .wrapper .pic{
        position: absolute;
        right: 0;
        top: -300px;
        width: 250px;
    }

    .hx-green.top{
        width: calc(100% - 270px);
        text-align: left;
    }

    .box.top .txt{
        text-align: left;
    }

}

@media only screen and (min-width: 1140px){
    
    .main .inner{
        width: 1060px;
        margin: 0 auto;
    }

    .box .wrapper{
        width: 980px;
    }

}