@charset "UTF-8";

/*-------------------------
  main
---------------------------*/
.main {
    width: 100%;
    height: 650px;
    position: relative;
}

#main-slider {
    margin: auto;
    max-width: 1286px;
    width: 100%;
    height: 650px;
    overflow: hidden;
    position: relative;
}


@media screen and (max-width: 767px) {
    .main {
        width: 100%;
        height: 400px;
        position: relative;
    }

    #main-slider {
        width: 100%;
        height: 400px;
        overflow: hidden;
        position: relative;
    }
    
}



/*-------------------------
  content
---------------------------*/
.sec_ttl {
    font-weight: 400;
    font-size: 3.2rem;
    line-height: 1;
}

.sec_ttl .ja {
    display: block;
    font-size: 1.6rem;
    margin-top: 1.5rem;
}


@media screen and (max-width: 767px) {
    .sec_ttl {
        font-size: 2.4rem;
    }

    .sec_ttl .ja {
        font-size: 1.3rem;
        margin-top: .75rem;
    }
}



/*-------------------------
  concept
---------------------------*/
.concept {
    box-sizing: border-box;
    padding: 13rem 2rem 0;
    width: 100%;
}

.concept_el {
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    background: url(../img/top/mark_1.png) no-repeat left top / 54px;
    padding: 12rem 0 0 15rem;
    margin: auto;
    max-width: 1126px;
    width: 100%;
}

.concept_el__ttl {
    width: 18%;
}

.concept_el__detail {
    width: 67%;
}

.concept_el__detail .title {
    font-weight: 500;
    font-size: 2.8rem;
    line-height: 1.5;
}

.concept_el__detail .text {
    font-size: 1.6rem;
    margin-top: 3rem;
}

.concept_img {
    margin: 10rem auto 0;
    text-align: center;
}

.concept_img img {
    max-width: 1286px;
    width: 100%;
}


@media screen and (max-width: 1100px) {
    .concept {
        padding: 6rem 2rem 0;
    }

    .concept_el {
        display: block;
        padding: 12rem 0 0;
    }

    .concept_el__ttl {
        width: 100%;
    }

    .concept_el__detail {
        width: 100%;
        margin-top: 3rem;
    }

    .concept_el__detail .title {
        font-size: 1.7rem;
    }

    .concept_el__detail .text {
        font-size: 1.3rem;
        margin-top: 1.5rem;
    }

    .concept_img {
        margin: 5rem auto 0;
    }
}


@media screen and (max-width: 767px) {
    .concept_img img {
        max-width: 100%;
        width: auto;
    }
}




/*-------------------------
  top-menu
---------------------------*/
.top-menu {
    background: url(../img/top/menu_bg.jpg) no-repeat center bottom / 100%;
    box-sizing: border-box;
    margin-top: 29rem;
    padding: 0 2rem;
    width: 100%;
}

.top-menu_el {
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 0 18rem 8rem;
    margin: auto;
    max-width: 1286px;
    width: 100%;
}

.top-menu_el__ttl {
    width: 33%;
}

.top-menu_el__ttl .title {
    font-weight: 500;
    font-size: 2.8rem;
    line-height: 1.5;
    margin-top: 5rem;
}

.top-menu_el__ttl .text {
    font-size: 1.6rem;
    margin-top: 3rem;
}

.top-menu_el__img {
    text-align: center;
    width: 57%;
}

.top-menu_el__img img {
    max-width: 100%;
}

.top-menu .btn {
    margin-top: 7rem;
}


@media screen and (max-width: 1400px) {
    .top-menu {
        background: url(../img/top/menu_bg.jpg) no-repeat center bottom / 160%;
    }
}

@media screen and (max-width: 1100px) {
    .top-menu {
        margin-top: 14rem;
    }

    .top-menu_el {
        display: block;
        padding: 0 0 9rem;
    }

    .top-menu_el__ttl {
        width: 100%;
    }

    .top-menu_el__ttl .title {
        font-size: 1.7rem;
        margin-top: 2.5rem;
    }

    .top-menu_el__ttl .text {
        font-size: 1.3rem;
        margin-top: 1.5rem;
    }

    .top-menu_el__img {
        margin: 5rem auto 0;
        width: 90%;
    }

    .top-menu .btn {
        margin-top: 3.5rem;
    }
    
    .top-menu .btn a {
        margin: auto;
    }
}

@media screen and (max-width: 767px) {
    .top-menu {
        margin-top: 8rem;
    }
}

@media screen and (max-width: 480px) {
    .top-menu {
        background: url(../img/top/menu_bg.jpg) no-repeat center bottom / 190%;
    }

    .top-menu_el {
        padding: 0 0 4.5rem;
    }
}



/*-------------------------
  gallery
---------------------------*/
.gallery {
    box-sizing: border-box;
    padding: 21rem 0 12rem;
    width: 100%;
}

.gallery_ttl {
    background: url(../img/top/mark_2.png) no-repeat right top / 54px;
    padding: 9rem 2rem 0;
    margin: 0 auto 4rem;
    max-width: 1126px;
    width: 100%;
}

.gallery .btn {
    margin: 4rem auto 0;
    max-width: 1126px;
    width: 100%;
}

.gallery .btn a {
    margin-left: auto;
}


@media screen and (max-width: 1150px) {
    .gallery_ttl {
        background: url(../img/top/mark_2.png) no-repeat calc(100% - 20px) top / 54px;
    }
}


@media screen and (max-width: 1100px) {
    .gallery {
        padding: 10rem 0 6rem;
    }
}



/*-------------------------
  top-news
---------------------------*/
.top-news {
    box-sizing: border-box;
    margin-top: 12rem;
    padding: 0 2rem;
    width: 100%;
    overflow: hidden;
}

.top-news_el {
    margin: auto;
    max-width: 1126px;
    width: 100%;
    padding: 8rem 0 8rem 9rem;
    position: relative;
}

.top-news_el::before {
    content: "";
    background: #f0f0f0;
    width: 200%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.top-news_el__detail {
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 6rem;
}

.top-news_el__detail .CMS-NEWS-INDEX {
    width: 75%;
    margin: 0;
    padding: 0;
}

.top-news_el__detail .btn {
    width: 20%;
}

.top-news_el__detail .btn a {
    margin-left: auto;
}


@media screen and (max-width: 1150px) {
    .top-news_el {
        padding: 8rem 2rem 8rem 6rem;
    }

    .top-news_el__detail {
        display: block;
    }

    .top-news_el__detail .CMS-NEWS-INDEX {
        width: 100%;
    }

    .top-news_el__detail .btn {
        margin-top: 4rem;
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    .top-news {
        margin-top: 6rem;
    }

    .top-news_el {
        padding: 4rem 0 4rem 2rem;
    }

    .top-news_el__detail {
        margin-top: 3rem;
    }
}



/*-------------------------
  top-access
---------------------------*/
.top-access {
    box-sizing: border-box;
    padding: 18rem 2rem 14rem;
    width: 100%;
    overflow: hidden;
}

.top-access_el {
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: auto;
    max-width: 1126px;
    width: 100%;
}

.top-access_el__info {
    max-width: 425px;
    width: 100%;
}

.top-access_el__info .list {
    margin-top: 2rem;
}

.top-access_el__info .list dl {
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid #a7a7a7;
    font-size: 1.6rem;
    padding: 2.2rem 0;
}

.top-access_el__info .list dl .small {
    font-size: 1.4rem;
}

.top-access_el__info .list dl a {
    color: #333;
    text-decoration: underline;
}

.top-access_el__info .list dt {
    width: 28%;
}

.top-access_el__info .list dd {
    width: 70%;
}

.top-access_el__img .image {
    position: relative;
    right: -12rem;
}

.top-access_el__img .image img {
    max-width: 100%;
}

.top-access_el__img .btn {
    margin-top: 6rem;
}

.top-access_el__img .btn a {
    margin-left: auto;
}


@media screen and (max-width: 1150px) {
    .top-access_el {
        display: block;
    }

    .top-access_el__info {
        max-width: 100%;
    }

    .top-access_el__img {
        margin: 5rem 0 0;
    }

    .top-access_el__img .image {
        right: auto;
        text-align: right;
    }
}

@media screen and (max-width: 767px) {
    .top-access {
        padding: 9rem 2rem 7rem;
    }

    .top-access_el__info .list dl {
        padding: 1.25rem 0;
        font-size: 1.3rem;
        letter-spacing: .05em;
    }

    .top-access_el__info .list dl .small {
        font-size: 1.2rem;
    }

    .top-access_el__img .btn {
        margin-top: 3rem;
    }
}