@charset "utf-8";

#main_img {
    position: relative;
}

#main_img::after {
    content: "";
    display: block;
    width: 100%;
    height: 7px;
    background-image: url(../../common/img/k_colorline.svg);
    background-position: center center;
    background-size: 100%;
    position: absolute;
    bottom: -7px;
    right: 0;
}

#main_img img {
    width: 100%;
}

#main_img .title {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
}

#main_img .title .area {
    width: 100%;
}

#main_img .title .area .flex {
    display: inline-flex;
    align-items: center;
    height: 100px;
    width: 92%;
    padding: 0 10px 0 10px;
    background-color: #FFFFFF;
}

@media only screen and (min-width:768px) {
    #main_img::after {
        width: calc(600/1350 * 100%);
        bottom: -7px;
        right: -5px;
    }

    #main_img .title .area .flex {
        height: 108px;
        width: 437px;
        padding: 0 30px 0 30px;
    }
}

@media only screen and (min-width:980px) {
    #main_img .title .area .flex {
        height: 155px;
        width: 630px;
        padding: 0 50px 0 50px;
    }
}

@media only screen and (min-width:1200px) {
    #main_img .title .area {
        width: calc((100 - (6 * 2)) * 1%);
        max-width: none;
    }
}

article {
    margin-top: calc(7px + 40px);
}

article .area {
    max-width: 980px;
}

article .area,
article .area .block {
    display: flex;
    flex-flow: column;
    row-gap: 60px;
}

article .area .block {
    row-gap: 30px;
}

article .area .block h2 {
    font-size: 1.8rem;
    font-weight: normal;
    line-height: 1.6;
    display: flex;
    flex-flow: nowrap;
    column-gap: 10px;
}

article .area .block h2::before {
    content: "ー";
    display: block;
}

article .area .block .body .img {
    margin: 40px calc(50% - 50vw) -20px calc(50% - 50vw);
}

article .area .block .body .img img {
    width: 100%;
}

@media only screen and (min-width:768px) {

    article {
        margin-top: calc(7px + 120px);
    }

    article .area {
        row-gap: 100px;
    }

    article .area .block {
        row-gap: 45px;
    }

    article .area .block h2 {
        font-size: 2.8rem;
    }

    article .area .block .body .img {
        width: 100%;
        margin: 80px auto -20px auto;
    }
}

@media only screen and (min-width:980px) {
    article .area .block .body .img {
        width: 70vw;
        margin: 80px calc(50% - 50vw) 0 auto;
    }
}