@charset "utf-8";

.sub #MainVisual,
.sub #MainVisual .main-image {
    position: initial;
}

.sub #MainVisual .main-image {
    animation: initial
}

.sub #MainVisual {
    background-image: url(../images/top/MainVisual/mainvisual1.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height: 60vh;
}

.sub #MainVisual .catch {
    top: 160px;
}

.sub #MainVisual .catch dl dt {
    line-height: 1.4;
    font-size: 6rem;
}

.sub #contents .section-head h2 {
    color: #333;
    position: inherit;
    text-align: left;
    font-size: 2.3rem;
    margin: 0 0 50px 0;
    font-weight: 600;
}

.sub .article-head h3 {
    font-size: 2rem !important;
    margin: 0 0 30px !important;
}

.sub #contents h2 span.en,
.sub .article-head h3 span.en {
    color: #007fff;
}

.sub .section-area.about .section-body,
.sub .section-area.recruit .section-body {
    margin: auto;
    max-width: 1024px;
}

.sub .section-area .article-area {
    margin: 0 0 60px;
}

.sub .section-area .article-area:last-child {
    margin: 0;
}

.sub .article-head h3 span.en {
    display: block;
}

.sub .article-head {
    margin: 30px 0;
    font-weight: 600;
}

.sub .section-area .article-area .article-body {
    margin: 0;
}

.sub #contents .section-area {
    padding: 200px 0 !important;
}

/*--------------- about ---------------*/
.sub #contents .about {
    padding: 200px 0 100px !important;
}

.sub #contents .about .inner {
    background-color: #fff;
    padding: 0 40px 40px;
}

.sub #contents .about,
.sub #contents .map,
.sub #contents .works,
.sub #contents .recruit {
    margin: 0 !important;
}

.sub #contents .map {
    padding: 0 0 200px !important;
}

/*
.sub #contents .about .article-body {
    margin: 0 0 50px;
}*/

/*--------------- works ---------------*/
.sub #contents .works {
    background: #f0f8ff;
}

.sub #contents .works .image img {
    margin: 0 0 30px 0;
    width: 100%;
}

.sub #contents .works .works-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.sub #contents .works ul li {
    border-bottom: dotted 2px #007fff;
    padding: 30px 15px 30px 30px;
    margin: 0 10px;
}

.sub #contents .works ul {
    column-count: 2;
    width: 100%;
}

.sub #contents .works ul li::before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 30px;
    height: 30px;
    background-size: contain;
    margin: 0 15px 0 0;
    background-repeat: no-repeat;
}

.sub #contents .works ul li:nth-child(1):before {
    background-image: url(../images/sub/hospital.svg);
}

.sub #contents .works ul li:nth-child(2):before {
    background-image: url(../images/sub/hotel.svg);
}

.sub #contents .works ul li:nth-child(3):before {
    background-image: url(../images/sub/bank.svg);
}

.sub #contents .works ul li:nth-child(4):before {
    background-image: url(../images/sub/school.svg);
}

.sub #contents .works ul li:nth-child(5):before {
    background-image: url(../images/sub/kanko.svg);
}

.sub #contents .works ul li:nth-child(6):before {
    background-image: url(../images/sub/bill.svg);
}

.sub #contents .works ul li:nth-child(7):before {
    background-image: url(../images/sub/airport.svg);
}

.sub #contents .works ul li:nth-child(8):before {
    background-image: url(../images/sub/kotsu.svg);
}

.sub #contents .works .image {
    width: 100%;
    max-width: 420px;
    margin: 0;
    position: relative;
    z-index: 100;
}

.sub #contents .works .works-list .article-body {
    width: 100%;
    margin: 0 0 0 -420px;
    padding: 0 0 0 480px;
}

/*--------------- recruit ---------------*/
.sub #contents .recruit .article-foot {
    background: #f0f8ff;
    padding: 50px;
}

.sub #contents .article-foot {
    text-align: center;
}

.sub #contents .recruit {
    background: initial;
    width: 100%;
    /*padding: 200px 0 0 !important;*/
    left: initial;
}

.sub #contents .recruit .inner {
    color: #333;
    margin: auto;
}

.sub #contents .recruit table.rec {
    width: 835px;
}

.sub .recruit .article-area,
.sub .recruit .section-head {
    margin: 0;
    width: 100%;
}

.sub #contents .recruit h2 {
    padding: 0;
}

/*--------------- contact ---------------*/
.sub #contents .contact {
    padding: 0 0 200px !important;
}

@media screen and (max-width: 1280px) {
    .sub #MainVisual .catch {
        top: 140px;
    }
    .sub #contents .section-area {
        padding: 160px 0 !important;
    }

    /*--------------- about ---------------*/
    .sub #contents .about {
        padding: 160px 0 80px !important;
    }

    /*--------------- Map ---------------*/
    .sub #contents .map {
        padding: 0 0 160px !important;
    }

    .sub #contents .works ul li {
        padding: 20px 10px;
    }

    /*--------------- Works ---------------*/
    .sub #contents .works .image {
        max-width: 35%;
    }

    .sub #contents .works .works-list .article-body {
        margin: 0 0 0 -35%;
        padding: 0 0 0 38.333333333333336%;
    }

    /*--------------- contact ---------------*/
    .sub #contents .contact {
        margin: 0 !important;
        padding: 0 0 160px !important;
    }
}

@media screen and (max-width: 1136px) {
    .sub #contents .section-area {
        padding: 120px 0 !important;
    }

    /*--------------- about ---------------*/
    .sub #contents .about {
        padding: 120px 0 60px !important;
    }

    /*--------------- Map ---------------*/
    .sub #contents .map {
        padding: 0 0 120px !important;
    }

    /*--------------- Works ---------------*/
    .sub #contents .works .image {
        max-width: 28.40909090909091%;
    }

    .sub #contents .works .works-list .article-body {
        margin: 0 0 0 -28.40909090909091%;
        padding: 0 0 0 32.196969696969695%;
    }

    /*--------------- contact ---------------*/
    .sub #contents .contact {
        margin: 0 !important;
        padding: 0 0 120px !important;
    }
}

@media screen and (max-width: 1024px) {
    .sub #MainVisual {
        height: 40vh;
    }

    .sub #MainVisual .catch {
        top:80px;
    }

    .sub #MainVisual .catch dl dt {
        font-size: 4.5rem;
    }

    /*
    .sub #contents .section-area.about,
    .sub #contents .section-area.works,
    .sub #contents .section-area.recruit {
        padding: 180px 0 !important;
    }*/
    .sub #contents .section-area {
        padding: 100px 0 !important;
    }

    /*--------------- about ---------------*/
    .sub #contents .about {
        padding: 100px 0 50px !important;
    }

    .sub #contents .about .inner {
        padding: 0 30px 30px;
    }

    /*--------------- Map ---------------*/
    .sub #contents .map {
        padding: 0 0 100px !important;
    }


    /*--------------- Works ---------------*/

    .sub #contents .works .image {
        margin: 0 auto 30px;
        max-width: inherit !important;
        display: flex;
        justify-content: space-around;
    }

    .works .image img {
        max-width: 47.5%;
        margin: 0 5% 0 0 !important;
    }

    .works .image img:last-child {
        margin: 0 !important;
    }

    .sub #contents .works .works-list {
        display: block;
        max-width: 835px;
        margin: 0 auto;
    }

    .sub #contents .works .works-list .article-body {
        margin: 0;
        padding: 0;
    }

    .sub #contents .works ul li {
        padding: 20px 10px 20px 20px;
    }

    .sub #contents .works .article-body {
        justify-content: center;
    }

    /*--------------- Recruit ---------------*/
    .sub #contents .recruit .article-foot {
        padding: 40px;
    }

    /*--------------- contact ---------------*/
    .sub #contents .contact {
        margin: 0 !important;
        padding: 0 0 100px !important;
    }

}

@media screen and (max-width: 960px) {}

@media screen and (max-width: 835px) {
    .sub #MainVisual {
        height: 35vh;
    }

    .sub #MainVisual .catch {
        padding: 0 60px;
    }

    .sub #MainVisual .catch dl dt {
        font-size: 4rem;
        line-height: 1.5;
    }
    .sub #MainVisual .catch dl dd {
        color: #fef252;
        margin: 10px 0 0;
    }
    .sub #MainVisual .catch {
        top: 70px;
    }

    /*.sub #contents .section-area.about,
    .sub #contents .section-area.works,
    .sub #contents .section-area.recruit {
        padding: 150px 0 !important;
    }*/
    .sub #contents .section-area {
        padding: 80px 0 !important;
    }



    /*--------------- about ---------------*/
    .sub #contents .about {
        padding: 80px 0 40px !important;
    }

    .sub #contents .about .inner {
        padding: 0 25px 25px;
    }

    /*--------------- Map ---------------*/
    .sub #contents .map {
        padding: 0 0 80px !important;
    }

    /*--------------- Recruit ---------------*/
    .sub #contents .recruit .article-foot {
        padding: 40px 30px;
    }

    /*--------------- contact ---------------*/
    .sub #contents .contact {
        padding: 0 0 80px !important;
    }

}

@media screen and (max-width: 750px) {
    .sub #MainVisual {
        background-image: url(../images/top/MainVisual/mainvisual_sp1.jpg);
    }

    .sub #MainVisual .catch {
        padding: 0px 25px;
        top:80px;
    }

    .sub #MainVisual .catch dl dt {
        font-size: 3.5rem;
    }

    #MainVisual .catch dl dd {
        margin: 10px 0 0;
    }

    /*--------------- Recruit ---------------*/
    .sub #contents .recruit .article-foot {
        padding: 40px 25px;
    }
}

@media screen and (max-width: 640px) {
    .sub #contents .works ul {
        column-count: 1;
    }

    .sub #MainVisual .catch {
        top: 120px;
    }

    .sub #MainVisual .catch dl dt {
        font-size: 3rem;
    }

    /*
    .sub #contents .section-area.about,
    .sub #contents .section-area.works,
    .sub #contents .section-area.recruit {
        padding: 100px 0 !important;
    }
*/

    .sub #contents .works ul li {
        padding: 15px;
    }
}

@media screen and (max-width: 480px) {
    .sub #MainVisual {
        height: 25vh;
    }

    .sub #MainVisual .catch {
        top: 80px;
    }

    .sub #MainVisual .catch dl dt {
        font-size: 2.5rem;
    }

    .sub #MainVisual .catch dl dd {
        line-height: 1;
        font-size: 3vw;
        letter-spacing: 0;
    }

    .sub #contents .works .image img {
        max-width: 50%;
    }


    /*.sub #contents .section-area.contact {
        padding: 80px 0 150px !important;
    }*/
    .sub #contents .section-area {
        padding: 60px 0 !important;
    }

    /*--------------- about ---------------*/
    .sub #contents .about {
        padding: 60px 0 30px !important;
    }

    /*--------------- Map ---------------*/
    .sub #contents .map {
        padding: 0 0 60px !important;
    }

    /*--------------- contact ---------------*/
    .sub #contents .contact {
        padding: 0 0 60px !important;
    }
}

@media screen and (max-width: 350px) {}