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

@media screen and (max-width: 1199px) {
    #access .mainvisual {
        margin-top: 60px;
    }
}

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

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

#access .mainvisual .inner__box__ttl {
    color: #fff;
    letter-spacing: 0.04rem;
    font-weight: 500;
    font-size: 3.6rem;
    font-family: industry, sans-serif;
    margin-top: calc(80px - (((3.6rem * 1.6) - 3.6rem) / 2));
}

@media screen and (max-width: 767px) {
    #access .mainvisual .inner__box__ttl {
        font-size: 2.6rem;
        margin-top: 60px;
    }
}

#access .mainvisual .inner__box__sub {
    font-size: 1.8rem;
    color: #fff;
    text-align: center;
}

@media screen and (max-width: 767px) {
    #access .mainvisual .inner__box__sub {
        font-size: 1.3rem;
    }
}

#access .breadcrumb {
    background: #f2f2f2;
    padding: 15px 0;
}

#access .breadcrumb__txt__link {
    color: #333;
    text-decoration: none;
}

#access .access {
    margin-top: 60px;
}

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

@media screen and (max-width: 767px) {
    #access .access__scr {
        overflow-x: scroll;
        white-space: nowrap;
    }
}

#access .access__scr table {
    width: 100%;
}

#access .access__scr table tr {
    width: 100%;
}

#access .access__scr table tr th {
    color: #fff;
    width: 19.167%;
    padding: 25px 10px;
    font-weight: bold;
    background: #222;
}

@media screen and (max-width: 1199px) {
    #access .access__scr table tr th {
        padding: 20px 10px;
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 767px) {
    #access .access__scr table tr th {
        padding: 20px;
        font-size: 1.2rem;
    }
}

#access .access__scr table tr td {
    width: 80.833%;
    padding: 25px 30px;
}

@media screen and (max-width: 1199px) {
    #access .access__scr table tr td {
        padding: 20px;
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 767px) {
    #access .access__scr table tr td {
        font-size: 1.2rem;
    }
}

#access .access__scr table, #access .access__scr th, #access .access__scr td {
    border: 1px solid #ccc;
    border-collapse: collapse;
}

#access .access iframe {
    margin-top: 60px;
    vertical-align: bottom;
}

@media screen and (max-width: 767px) {
    #access .access iframe {
        margin-top: 40px;
        height: 400px;
    }
}

#access .contact {
    margin-top: 80px;
}

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