@charset "UTF-8"; /* CSS Document */
/* ---------------------------------------------------------------------------------------------

　   スライダー

--------------------------------------------------------------------------------------------- */
.main_visual {
    width: 100%;
    /*max-width: 1200px;*/
    margin: 0 auto;
}

.main_visual .slider {
    width: 100%;
}

.main_visual .slider li {
    list-style: none;
}

.main_visual .slider img {
    height: auto;
    width: 100%;
}

/* ---------------------------------------------------------------------------------------------

　   メッセージ

--------------------------------------------------------------------------------------------- */
/*-- 全体 --*/
.message_block {
    background: url("../../img/top/message_bg.jpg") no-repeat left center;
    background-size: cover;
    text-align: center;
    width: 100%;
    margin: 0 auto;
    padding-top: 58px;
    padding-bottom: 58px;
}

.message_block .message_inner {
}

.message_block .message_inner h2 {
    color: #BE7400;
    font-size: 34px;
    font-weight: normal;
    font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
    letter-spacing: -0.05em;
    line-height: 210%;
}

.message_block .message_inner p {
    color: #562D00;
    font-size: 16px;
    line-height: 190%;
}

.message_block .message_inner .message_img_wrap {
    margin: 38px auto 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 820px;
}

.message_block .message_inner .message_img_wrap img {
    width: 100%;
    max-width: 205px;
    height: auto;
    max-height: 205px;
}

@media only screen and (max-width: 840px) {
    .message_block .message_inner .message_img_wrap {
        width: 77%;
    }

    .message_block .message_inner .message_img_wrap img {
        max-width: 50%;
        max-height: 100%;
    }
}

@media only screen and (max-width: 650px) {
    .message_block {
        padding-top: 20px;
        padding-bottom: 38px;
    }

    .message_block .message_inner h2 {
        font-size: 22px;
    }

    .message_block .message_inner p {
        color: #562D00;
        font-size: 14px;
        line-height: 180%;
    }

    .message_block .message_inner .message_img_wrap {
        margin: 20px auto 0 auto;
    }
}

@media only screen and (max-width: 360px) {
    .message_block .message_inner h2 {
        font-size: 20px;
    }

    .message_block .message_inner p {
        font-size: 12px;
    }
}

/* ---------------------------------------------------------------------------------------------

　   施設のご案内

--------------------------------------------------------------------------------------------- */
.info_block {
    margin: 54px auto 0 auto;
    width: 100%;
    max-width: 1200px;
}

.info_block h2 {
    margin-bottom: 33px;
    text-align: center;
}

.info_block h2 img {
    width: 100%;
    max-width: 384.45px;
    height: auto;
    max-height: 39.09px;
}

.info_block .info_inner {
    display: flex;
    flex-wrap: wrap;
}

/*-- 各施設の囲み --*/
.info_block .info_inner .info {
    /* width: 33.33333333%; */
    /* width: 25%; */
    flex: 1;
}

.info_block .info_inner .info a {
    text-decoration: none;
}

/*-- 各施設 --*/
.info_block .info_inner .info.i_oshima {
    background: url("../../img/common/bg_green.jpg") repeat bottom left;
    background-size: cover;
    border-bottom: #006000 solid 7px;
}

.info_block .info_inner .info.i_gofuku {
    background: url("../../img/common/bg_orange.jpg") repeat bottom left;
    background-size: cover;
    border-bottom: #844D00 solid 7px;
}

.info_block .info_inner .info.i_tsumugi {
    background: url("../../img/common/bg_pink.jpg") repeat bottom left;
    background-size: cover;
    border-bottom: #8C0000 solid 7px;
}

.info_block .info_inner .info.i_tsumugi-is {
    background: url("../../img/common/bg_lightgreen.jpg") repeat bottom left;
    background-size: cover;
    border-bottom: #2a7a7a solid 7px;
}

/*-- 写真 --*/
.info_block .info_inner .info .i_img {
}

.info_block .info_inner .info .i_img img {
    width: 100%;
    height: auto;
}

/*-- 施設名・説明文・外観の囲み --*/
.info_block .info_inner .info .i_wrap {
    position: relative;
    width: 79%;
    margin: 0 auto;
}

/*-- 施設名ヘッダー --*/
.info_block .info_inner .info .i_wrap .i_header {
    /* position: absolute; */
    top: -40px;
    text-align: center;
    background-color: #ffffff;
    opacity: 0.8;
    width: 100%;
    margin: 0 auto;
    padding-top: 17px;
    padding-bottom: 18px;
    transition-duration: 0.5s;
    min-height: 80px;
    margin-top: -1.1em;
}

.info_block .info_inner .info a:hover .i_wrap .i_header {
    opacity: 1;
}

/*-- 施設名 --*/
.info_block .info_inner .info .i_wrap .i_header h3 {
    font-size: 17px;
    font-weight: normal;
}

.info_block .info_inner .info .i_wrap .i_header h3 span {
    display: block;
    font-size: 24px;
    margin-top: 7px;
}

.info_block .info_inner .info .i_wrap .i_header h3 span small {
    display: block;
    font-size: 18px;
    margin-top: 0;
}

/*-- アイコン --*/
.info_block .info_inner .info .i_wrap .i_header h3 span img {
    position: relative;
    top: -2px;
    margin-right: 5px;
}

/*-- 背景 --*/
.info_block .info_inner .info.i_oshima .i_wrap .i_header h3 {
    color: #006000;
}

.info_block .info_inner .info.i_gofuku .i_wrap .i_header h3 {
    color: #844D00;
}

.info_block .info_inner .info.i_tsumugi .i_wrap .i_header h3 {
    color: #8C0000;
}

.info_block .info_inner .info.i_tsumugi-is .i_wrap .i_header h3 {
    color: #2a7a7a;
}

/*-- 説明文 --*/
.info_block .info_inner .info .i_wrap p {
    color: #000000;
    font-size: 16px;
    line-height: 150%;
    margin: 20px auto 3px auto;
    /* padding-top: 90px; */
    /* padding-top: 80%; */
}

/*-- 外観写真 --*/
.info_block .info_inner .info .i_wrap img.i_gaikan {
    width: 100%;
    height: auto;
}

/*-- 外観写真 --*/
.info_block .info_inner .info img.i_gaikan {
    display: block;
    width: 79%;
    height: auto;
    margin: 0 auto;
}

@media only screen and (max-width: 860px) {
    .info_block {
        margin: 32px auto 0 auto;
    }

    .info_block .info_inner {
        display: block;
        margin: 0 auto;
        width: 80%;
    }

    /*-- 各施設の囲み --*/
    .info_block .info_inner .info {
        width: 100%;
        margin-bottom: 30px;
    }
}

@media only screen and (max-width: 600px) {
    .info_block {
        margin: 22px auto 0 auto;
    }

    .info_block h2 {
        margin-bottom: 22px;
    }

    .info_block h2 img {
        width: 65%;
    }

    .info_block .info_inner {
        width: 100%;
    }

    /*-- 施設名 --*/
    .info_block .info_inner .info .i_wrap .i_header h3 {
        font-size: 15px;
    }

    .info_block .info_inner .info .i_wrap .i_header h3 span {
        font-size: 24px;
        margin-top: 7px;
    }

    /*-- 説明文 --*/
    .info_block .info_inner .info .i_wrap p {
        font-size: 14px;
        line-height: 180%;
        margin: 12px auto 3px auto;
        /* padding-top: 60px; */
    }
}

/* ---------------------------------------------------------------------------------------------

　   お知らせ

--------------------------------------------------------------------------------------------- */
.news_block {
}

.news_block .news_inner {
    margin: 73px auto 85px auto;
    width: 100%;
    max-width: 836px;
    display: flex;
}

.news_block .news_inner .news_header {
    background: url("../../img/top/bg_orange.jpg") repeat bottom center;
    width: 32%;
    margin-right: 3%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.news_block .news_inner .news_header h2, .news_block .news_inner .news_header h2 img {
    width: 100%;
    max-width: 119.34px;
    height: auto;
    max-height: 27.76px;
}

.news_block .news_inner .news_cont {
    width: 65%;
}

.news_block .news_inner .news_cont .news {
    border-bottom: dotted 1px #FF8B00;
    padding: 20px;
    display: flex;
}

.news_block .news_inner .news_cont .news .date {
    color: #595959;
    font-size: 17px;
    margin-right: 36px;
}

.news_block .news_inner .news_cont .news h3 a {
    color: #562D00;
    font-size: 17px;
    font-weight: normal;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition-duration: 0.7s;
}

.news_block .news_inner .news_cont .news h3 a:hover {
    opacity: 0.6;
}

@media only screen and (max-width: 860px) {
    .news_block .news_inner {
        margin: 36px auto 45px auto;
        width: 90%;
    }

    .news_block .news_inner .news_header {
        width: 30%;
        margin-right: 2%;
    }

    .news_block .news_inner .news_cont {
        width: 68%;
    }

    .news_block .news_inner .news_cont .news .date {
        margin-right: 18px;
    }
}

@media only screen and (max-width: 600px) {
    .news_block .news_inner {
        display: block;
        margin: 26px auto 35px auto;
    }

    .news_block .news_inner .news_header {
        width: 100%;
        margin-right: 0;
        padding-top: 11px;
        padding-bottom: 12px;
        border-top-left-radius: 7px;
        border-top-right-radius: 7px;
        text-align: center;
    }

    .news_block .news_inner .news_header h2, .news_block .news_inner .news_header h2 img {
        width: 70%;
        max-width: 119.34px;
        height: auto;
        max-height: 27.76px;
    }

    .news_block .news_inner .news_cont {
        width: 100%;
    }

    .news_block .news_inner .news_cont .news {
        padding: 10px;
    }

    .news_block .news_inner .news_cont .news .date {
        font-size: 11px;
        margin-right: 8px;
    }

    .news_block .news_inner .news_cont .news h3 a {
        font-size: 14px;
    }
}

@media only screen and (max-width: 400px) {
    .news_block .news_inner .news_cont .news {
        display: block;
    }
}

/* ---------------------------------------------------------------------------------------------

　   ブログ

--------------------------------------------------------------------------------------------- */
.blog_block {
    background-image: url("../../img/top/blog_bg_left.jpg"), url("../../img/top/blog_bg_right.jpg");
    background-repeat: no-repeat, no-repeat;
    background-size: contain, contain;
    background-position: left, right;
    width: 100%;
    margin: 0 auto;
    padding-top: 58px;
    padding-bottom: 31px;
}

.blog_block h2 {
    margin: 0 auto;
    text-align: center;
}

.blog_block h2 img {
    width: 100%;
    max-width: 257.46px;
    height: auto;
    max-height: 39.09px;
}

.blog_block .blog_inner {
    margin: 55px auto 55px auto;
    width: 100%;
    max-width: 986px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.blog_block .blog_inner .blog {
    width: 25%;
    max-width: 224px;
}

.blog_block .blog_inner .blog:nth-of-type(even) {
    margin-top: 36px;
}

.blog_block .blog_inner .blog .trmg {
    /*写真*/
    position: relative;
    overflow: hidden;
    margin-bottom: 12px;
}

.blog_block .blog_inner .blog .trmg:before {
    content: "";
    display: block;
    padding-top: 100%;
}

.blog_block .blog_inner .blog .trmg img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    object-fit: cover;
    transition-duration: 0.7s;
}

.blog_block .blog_inner .blog .trmg img:hover {
    opacity: 0.7;
}

.blog_block .blog_inner .blog .date {
    color: #595959;
    font-size: 17px;
    margin-bottom: 8px;
}

.blog_block .blog_inner .blog h3 a {
    color: #562D00;
    font-size: 17px;
    font-weight: normal;
    text-decoration: none;
    line-height: 170%;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition-duration: 0.7s;
}

.blog_block .blog_inner .blog h3 a:hover {
    opacity: 0.6;
}

@media only screen and (max-width: 1000px) {
    .blog_block {
        background-image: url("../../img/top/blog_bg_left.jpg"), none;
        background-size: 100%, contain;
        background-position: left top, right;
        padding-top: 30px;
        padding-bottom: 0;
    }

    .blog_block .blog_inner {
        margin: 28px auto 0 auto;
        width: 90%;
        max-width: 90%;
    }

    .blog_block .blog_inner .blog {
        width: 46%;
        max-width: 46%;
        margin-bottom: 36px;
    }

    .blog_block .blog_inner .blog:nth-of-type(even) {
        margin-top: 0;
    }

    .blog_block .blog_inner .blog .trmg {
        width: 100%;
        max-width: 100%;
    }

    .blog_block .blog_inner .blog h3 a {
        -webkit-line-clamp: 2;
    }
}

@media only screen and (max-width: 650px) {
    .blog_block h2 img {
        width:48%;
    }

    .blog_block .blog_inner .blog .trmg {
        /*写真*/
        margin-bottom: 5px;
    }

    .blog_block .blog_inner .blog .trmg img {
        margin-bottom: 5px;
    }

    .blog_block .blog_inner .blog .date {
        color: #595959;
        font-size: 11px;
        margin-bottom: 0;
    }

    .blog_block .blog_inner .blog h3 a {
        font-size: 13px;
        line-height: 160%;
        -webkit-line-clamp: 3;
    }
}
