@charset "utf-8";

/*============================
魅力
============================*/

#attractive {
    counter-reset: number;
}

#attractive p.lead {
    margin-bottom: 30px;
}

#attractive .flex {
    background: #ebebeb;
    align-items: stretch;
    position: relative;
}

#attractive .flex::before {
    content: "";
    background: #00057b;
    width: 65px;
    height: 65px;
    display: block;
    clip-path: polygon(0 0, 0% 100%, 100% 0);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
}

#attractive .flex::after {
    /* number カウンタの増加数をセット */
    counter-increment: number 1;
    /* 表示形式を指定 */
    content: counter(number) " ";
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    font-size: 26px;
    padding-left: 10px;
    z-index: 10;
}

#attractive .flex:not(:last-child) {
    margin-bottom: 40px;
}

#attractive .flex .photo {
    width: 240px;
    background: #fff;
    border: 2px solid #ebebeb;
}

#attractive .flex .text {
    flex: 1;
    padding: 20px 30px;
}

#service .lead {
    background: url(../images/01.jpg) no-repeat center center;
    -webkit-background-size: cover;
    background-size: cover;
    margin-bottom: 20px;
}

#service .lead p {
    color: #fff;
    font-weight: bold;
    font-size: 18px;
    padding: 90px 30px;
}

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

    #attractive .flex:not(:last-child) {
/*        margin-bottom: 20px;*/
    }

    #attractive .flex .photo {
        width: 100%;
        height: 0;
        padding-top: 60%;
        position: relative;
    }

    #attractive .flex .photo img {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
}

    #attractive .flex .text {
        flex: none;
        width: 100%;
        padding: 20px 25px;
    }
}