#open .mainvisual {
    height: 220px;
    background: url(../img/mainvisual.jpg) no-repeat center/cover;
}

@media screen and (max-width: 767px) {
    #open .mainvisual {
        height: 180px;
        margin-top: 60px;
    }
}

#open .mainvisual .inner {
    display: flex;
    justify-content: center;
    align-items: center;
}

#open .mainvisual__ttl {
    color: #fff;
    font-size: 3.2rem;
    font-family: tbchibirgothicplusk-pro, sans-serif;
}

@media screen and (max-width: 767px) {
    #open .mainvisual__ttl {
        font-size: 2.6rem;
    }
}

#open .open {
    margin-top: 85px;
}

@media screen and (max-width: 767px) {
    #open .open {
        margin-top: 60px;
    }
}

#open .open__ttl {
    color: #02a4c3;
    margin-top: calc(0px - (((2.6rem * 1.6) - 2.6rem) / 2));
    padding-bottom: calc(23px - (((2.6rem * 1.6) - 2.6rem) / 2));
    font-size: 2.6rem;
    font-family: tbchibirgothicplusk-pro, sans-serif;
    background: url(../img/bg_border01@2x.jpg) no-repeat left bottom/200px, url(../img/bg_border02@2x.jpg) repeat-x left bottom/1000px;
}

@media screen and (max-width: 767px) {
    #open .open__ttl {
        font-size: 2rem;
    }
}

#open .open__txt {
    margin-top: 30px;
}

#open .open__img {
    margin: 60px 0 0;
}

@media screen and (max-width: 767px) {
    #open .open__img {
        margin-top: 30px;
    }
}

#open .open__img img {
    width: 100%;
    max-width: 700px;
    margin: auto;
}

#open .open__img:nth-of-type(3) img {
    max-width: 479px;
}

#open .footer {
    margin-top: 80px;
}

@media screen and (max-width: 767px) {
    #open .footer {
        margin-top: 60px;
    }
}
