@charset "utf-8";
/* Generic Child-gekakinen Style-front
    front-page専用スタイル
    body.home
　　　-コンテナ div id="container" #container
　　　-共通要素 （ .btn.more-link ） 
    　-メインビジュアルスライダーdiv id="main-vis" #main-vis （bxslider）
    　-各コンテンツ section
　　　-メディアクエリ（ブレイクポイントごと）
*/
/*
ライムグリーン：#82ae46
グリーン：#6e7955→#007b43
ベージュ：#cbb994
*/

/* コンテナ div id="container" #container
---------------------------------------------------- */
body.home #container {
    margin: 0 auto;
    width: 100%;
}
/*メインコンテンツ - メインカラム*/
body.home main.content {
    float: none;
    margin: 0;
    padding: 00;
    width: 100%;
}

/* 共通要素
---------------------------------------------------- */
/* .btn.more-link */
p.btn.more-link{}
p.btn.more-link a{
    align-items: center;
    background-color: rgba(255,255,255,1.0);
    border: #82ae46 solid 1px;
    border-radius: 1.25em;
    color: #82ae46;
    display: inline-flex;
    height: 2.5em;
    justify-content: center;
    line-height: normal;
    padding: .5em 2em;
    text-decoration: none;
}
p.btn.more-link a::after{
    content: '\eac9';
    display: inline;
    font-family: 'Material Icons';
    padding: 0 .25em;
}
p.btn.more-link a:hover{
    background-color: rgba(130,174,70,.25);
}

/* メインビジュアルスライダーdiv id="main-vis" #main-vis （bxslider）
---------------------------------------------------- */
#main-vis{
    margin: 0 0 -30px;
    padding: 0;
    position: relative;
}
/*bxslider スタイルリセット*/
#main-vis .bx-wrapper {
    border: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    margin: 0;
	overflow: hidden; 
    padding: 0;
}
#main-vis .bx-wrapper .bx-viewport{
	overflow: visible !important;
	width: 1260px !important; /* スライド画像の横幅 */  
	margin: 0 auto;            
}
/*各スライド設定*/
#main-vis .bx-wrapper .bx-viewport .slider > div{
    align-items: center;
    display: flex;
    height: 450px;
    justify-content: center;
    position: relative;
}
#main-vis .bx-wrapper .bx-viewport .slider > div::before{
    background-color: transparent;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
        top:0;
        left: 0;
    transition: .6s;
    width: 100%;
}
#main-vis .bx-wrapper .bx-viewport .slider > div[aria-hidden="true"]::before{
    background-color: rgba(0,0,0,.35);
}
#main-vis .bx-wrapper .bx-viewport .slider > div .catch{
    background-color: rgba(255,255,255,.85);
    padding: 1rem;
    /*
    position: absolute;
        bottom: 60px;
        left: 25%;
    */
    text-align: center;
    width: fit-content;
}
#main-vis .bx-wrapper .bx-viewport .slider > div .catch h2{
    font-family: 'Noto Serif JP', serif;
    font-size: 2.25rem;
    font-weight: normal;
}
#main-vis .bx-wrapper .bx-viewport .slider > div .catch p.btn.more-link{
    margin: 0;
}
#main-vis .bx-wrapper .bx-viewport .slider > div .catch p.btn.more-link a , 
#main-vis .bx-wrapper .bx-viewport .slider > div .catch p.btn.more-link a:hover{
    background-color: transparent;
    border: none;
}
#main-vis .bx-wrapper .bx-viewport .slider > div .catch p.btn.more-link a::before{
    background-color:rgba(0,0,0,.0);
    content:"";
    pointer-events:auto;
    position:absolute;
        top:0;
        right:0;
        bottom:0;
        left:0;
    z-index:1;
}
/*スライダーの画像指定*/
#main-vis .bx-wrapper .bx-viewport .slider .slide01{
    background: url("../images/front/slide/slide01.jpg") center center no-repeat;
    background-size: cover;
}
#main-vis .bx-wrapper .bx-viewport .slider .slide02{
    background: url("../images/front/slide/slide02.jpg") center center no-repeat;
    background-size: cover;
}
#main-vis .bx-wrapper .bx-viewport .slider .slide03{
    background: url("../images/front/slide/slide03.jpg") center center no-repeat;
    background-size: cover;
}

/* 各コンテンツ section
---------------------------------------------------- */
/* common 共通 --- */
#container .content section{
    margin: 0 0 100px;
}
#container .content section .section-wrap{
    margin: 0 auto;
    width: 1240px;
}
/* common 共通 - h2見出し --- */
#container .content section .section-wrap > h2{
    font-size: 3em;
    margin: 0 0 2rem;
    text-align: center;
}
#container .content section .section-wrap > h2::after{
    background-color: #39bec5;
    content: "";
    display: block;
    height: 5px;
    margin: 1rem auto 0;
    width: 50px;
}
/* common 共通 - .entry-list（お知らせ・ブログ新着表示 共通） --- */
.entry-list .section-wrap .article-list{
    margin: 0 auto;
}
.entry-list .section-wrap .article-list article{
    align-items: center;
    background-color: #fff;
    border-bottom: #ddd dotted 1px;
    display: flex;
    justify-content: flex-start;
    margin: 0;
    padding: 1rem 0;
    position: relative;
    transition: .3s;
}
.entry-list .section-wrap .article-list article:first-child{
    border-top: #ddd dotted 1px;
}
.entry-list .section-wrap .article-list article::after{
    content: '\e5df';
    display: inline-block;
    font-family: 'Material Icons';
    padding: 0;
}
.entry-list .section-wrap .article-list article:hover{
    background-color: #f7f7f7;
}
.entry-list .section-wrap .article-list article .entry-meta{
    color: #666;
    margin: 0;
}
.entry-list .section-wrap .article-list article .entry-meta .entry-time{
    display: inline-block;
    padding: 0 0 0 .5em;
    width: 10em;
}
.entry-list .section-wrap .article-list article .entry-meta .category{
    background-color: #ddd;
    border: #ddd solid 1px;
    border-radius: 5px;
    color: #666;
    display: inline-block;
    padding: .25em;
    text-align: center;
    width: 12em;
}
.entry-list .section-wrap .article-list article .entry-title{
    flex: 1;
    font-size: 1rem;
    font-weight: normal;
    padding: 0 0 0 1em;
}
.entry-list .section-wrap .article-list article .entry-title a{
    color: #000;
    text-decoration: none;
}
.entry-list .section-wrap .article-list article .entry-title a::after{
    position:absolute;
        top:0;
        right:0;
        bottom:0;
        left:0;
    z-index:1;
    pointer-events:auto;
    content:"";
    background-color:rgba(0,0,0,0);
}
.entry-list .section-wrap p.btn.more-link {
    margin: 2rem auto;
    text-align: center;
}

/* #upper-link --- */
section#upper-link{}
section#upper-link .section-wrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}
section#upper-link .section-wrap .link-box{
    align-items: center;
    background-color: #fff;
    border: #eee solid 1px;
    border-radius: 1.5rem 1.5rem 0 0 / 1.5rem 1.5rem 0 0;
    box-shadow: 0 10px 10px -10px #666;
    display: flex;
    flex-direction: column;
    padding: 2px;
    position: relative;
    transition: .3s;
    width: 23%;
}
section#upper-link .section-wrap .link-box:hover{
    background-color: #f7f7f7;
}
section#upper-link .section-wrap .link-box::after{
    background-color: #82ae46;
    content: "";
    display: block;
    height: 3px;
    width: 100%;
}
section#upper-link .section-wrap .link-box h3{
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-family: 'Noto Serif JP', serif;
    font-weight: normal;
    padding: 1.5em 0;
    text-align: center;
}
section#upper-link .section-wrap .link-box h3::after{
    content: "";
    display: block;
    height: 60px;
    width: 60px;
}
section#upper-link .section-wrap .link-box.schedule h3::after{
    background: url("../images/front/upper-link/ico_schedule.png") no-repeat center center;
    background-size: contain;
}
section#upper-link .section-wrap .link-box.visit h3::after{
    background: url("../images/front/upper-link/ico_visit.png") no-repeat center center;
    background-size: contain;
}
section#upper-link .section-wrap .link-box.admission h3::after{
    background: url("../images/front/upper-link/ico_admission.png") no-repeat center center;
    background-size: contain;
}
section#upper-link .section-wrap .link-box.medical_checkup h3::after{
    background: url("../images/front/upper-link/ico_medical_checkup.png") no-repeat center center;
    background-size: contain;
}
section#upper-link .section-wrap .link-box.access h3::after{
    background: url("../images/front/upper-link/ico_access.png") no-repeat center center;
    background-size: contain;
}
section#upper-link .section-wrap .link-box h3 a{
    color: #000;
    padding: 0 0 1em;
    text-decoration: none;
}
section#upper-link .section-wrap .link-box h3 a::after{
    position:absolute;
        top:0;
        right:0;
        bottom:0;
        left:0;
    z-index:1;
    pointer-events:auto;
    content:"";
    background-color:rgba(0,0,0,0);
}

/* #about --- */
section#about{
    background-color: rgba(203,185,148,.10);
}
section#about .section-wrap{
    align-items: center;
    display: flex;
    justify-content: space-around;
    padding: 3rem 0;
}
section#about .section-wrap > header , 
section#about .section-wrap > div{
    width: 50%;
}
section#about .section-wrap > header{
    text-align: center;
}
section#about .section-wrap > header h2{
    color:#007b43;
    font-family: 'Noto Serif JP', serif;
}

/* #news --- */
section#news{}
section#news .section-wrap{
    border: #cbb994 double 3px;
    padding: 1rem;
}
section#news .section-wrap header{
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 1rem;
}
section#news .section-wrap header h2{
    font-family: 'Roboto', sans-serif;
}
section#news .section-wrap header p.btn.more-link {
    margin: 0;
}
section#news .section-wrap .article-list{
    overflow-y: scroll;
    height: 360px;
    margin: 1rem;
    padding: 0 2rem 0 0;
    position: relative;
}
/* perfect-scrollbar.js スクロールバー設定 */
.ps__rail-x, .ps__rail-y {
    opacity: 0.6 !important;
}
.ps__thumb-y {
    background-color: rgba(203,185,148,.50) !important;
}
section#news .section-wrap .article-list article .entry-meta .category{
    background-color:rgba(130,174,70,.25);
    border: rgba(130,174,70,.25) solid 1px;
}
section#news .section-wrap .article-list article .entry-meta .category.important{
    background-color:rgba(236,109,113,.25);
    border: rgba(236,109,113,.25) solid 1px;
}

/* #contents-link --- */
section#contents-link{
    border-top: #ddd solid 1px;
    margin: 0 !important;
}
section#contents-link .section-wrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
section#contents-link .section-wrap .link-box{
    background-color: #fff;
    border-left: #ddd solid 1px;
    padding: 1rem;
    position: relative;
    transition: .3s;
    width: calc( 100% / 3 );
}
section#contents-link .section-wrap .link-box:hover{
    background-color: #f7f7f7;
}
section#contents-link .section-wrap .link-box:last-child{
    border-right: #ddd solid 1px;
}
section#contents-link .section-wrap .link-box figure{
    position: relative;
}
section#contents-link .section-wrap .link-box figure p{
	height: auto;	/*画像の高さ*/
    margin: 0;
	overflow: hidden;	/*拡大時にはみ出た部分を隠す*/
	width: auto;	/*画像の幅*/
}
section#contents-link .section-wrap .link-box figure p img{
	display: block;
    height: auto;
	transition-duration: .3s;	/*変化に掛かる時間*/
    width: 100%;
}
section#contents-link .section-wrap .link-box:hover figure p img{
	transform: scale(1.05);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
}
section#contents-link .section-wrap .link-box figure h3{
    background-color: #fff;
    border-radius: 0 .5rem 0 0 / 0 .5rem 0 0;
    display: inline-block;
    font-family: 'Noto Serif JP', serif;
    line-height: 1;
    padding: 1rem 1rem 0 0;
    position: absolute;
        bottom: 0;
        left: 0;
    transition: .3s;
    width: auto;
}
section#contents-link .section-wrap .link-box:hover figure h3{
    background-color: #f7f7f7;
}
section#contents-link .section-wrap .link-box .btn.more-link{
    line-height: 100%;
    margin: 0;
    padding: 0;
    text-align: right;
}
section#contents-link .section-wrap .link-box .btn.more-link a{
    align-items: right;
    background-color: transparent;
    border: none;
    border-radius: none;
    height: auto;
    justify-content: flex-end;
    padding: 0;
    text-decoration: none;
}
section#contents-link .section-wrap .link-box .btn.more-link a:hover{
    background-color: transparent;
}
section#contents-link .section-wrap .link-box .btn.more-link a::before{
    position:absolute;
        top:0;
        right:0;
        bottom:0;
        left:0;
    z-index:1;
    pointer-events:auto;
    content:"";
    background-color:rgba(0,0,0,0);
}

/* #blogs --- */
section#blogs{
    background-color:rgba(130,174,70,.10);
    margin: 0 !important;
    padding: 1rem;
}
section#blogs .section-wrap{
    background-color: #fff;
    padding: 1rem;
}
section#blogs .section-wrap header{
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 1rem;
}
section#blogs .section-wrap header h2{
    color: rgba(130,174,70,1.0);
    font-family: 'Roboto', sans-serif;
}
section#blogs .section-wrap header p.btn.more-link {
    margin: 0;
}
section#blogs .section-wrap .article-list{
    margin: 0;
    padding: 1rem;
    position: relative;
}
section#blogs .section-wrap .article-list article .entry-meta .category{
    background-color:#fff;
    border: rgba(130,174,70,1.0) solid 1px;
}
section#blogs .section-wrap .article-list article .entry-meta .category.hospital{
    border: rgba(130,174,70,1.0) solid 1px;
}
section#blogs .section-wrap .article-list article .entry-meta .category.nurse{
    border: rgba(236,109,113,1.0) solid 1px;
}
section#blogs .section-wrap .article-list article .entry-meta .category.resident{
    border: rgba(37,183,192,1.0) solid 1px;
}

/* メディアクエリ（ブレイクポイントごと）
---------------------------------------------------- */
@media(max-width:1366px) {
/* メインビジュアルスライダーdiv id="main-vis" #main-vis （bxslider）
---------------------------------------------------- */
    #main-vis .bx-wrapper .bx-viewport{
        width: 100% !important; /* スライド画像の横幅 */  
    }
}


@media(max-width:1260px) {
/* 各コンテンツ section
---------------------------------------------------- */
    /* common 共通 --- */
    #container .content section{
        margin: 0 0 70px;
    }
    #container .content section .section-wrap{
        width: 90%;
    }
    /* common 共通 - h2見出し --- */
    #container .content section .section-wrap > h2{
        font-size: 2.5em;
    }
}
@media(max-width:1024px) {
/* 共通要素
---------------------------------------------------- */
    /* .btn.more-link */
    p.btn.more-link{}
    p.btn.more-link a{
        border-radius: 1em;
        height: 2em;
        padding: .25em 1em;
    }
    
/* メインビジュアルスライダーdiv id="main-vis" #main-vis （bxslider）
---------------------------------------------------- */
    /*各スライド設定*/
    #main-vis .bx-wrapper .bx-viewport .slider > div .catch h2{
        font-size: 2rem;
    }
    #main-vis .bx-wrapper .bx-viewport .slider > div .catch p{
        font-size: 1rem;
    }
    
/* 各コンテンツ section
---------------------------------------------------- */
    /* common 共通 --- */
    #container .content section{
        margin: 0 0 50px;
    }
    /* common 共通 - h2見出し --- */
    #container .content section .section-wrap > h2{
        font-size: 1.75em;
    }
    /* common 共通 - .entry-list（お知らせ・ブログ新着表示 共通） --- */
    .entry-list .section-wrap .article-list article{
        border-bottom: #ccc dotted 1px;
        flex-wrap: wrap;
        padding: .5rem 0;
    }
    .entry-list .section-wrap .article-list article::after{
        display: none;
    }
    .entry-list .section-wrap .article-list article .entry-meta , 
    .entry-list .section-wrap .article-list article .entry-title{
        width: 100%;
    }
    .entry-list .section-wrap .article-list article .entry-meta{
        align-items: center;
        display: flex;
        flex-wrap: wrap;
    }
    .entry-list .section-wrap .article-list article .entry-meta .entry-time{
            padding: 0 .5em;
            width: auto;
    }
    .entry-list .section-wrap .article-list article .entry-meta .category{
            width: auto;
    }
    .entry-list .section-wrap .article-list article .entry-title{
        padding: .5em 0 0;
    }
    .entry-list .section-wrap .article-list article .entry-title::before{
        content: '\e5df';
        display: inline-block;
        font-family: 'Material Icons';
        padding: 0;
    }

    /* #upper-link --- */
    section#upper-link .section-wrap .link-box{
        width: 48%;
        margin: 0 0 1rem;
    }

    /* #about --- */
    section#about .section-wrap{
        flex-wrap: wrap;
        position: relative;
    }
    section#about .section-wrap > header , 
    section#about .section-wrap > div{
        width: 100%;
    }
    section#about .section-wrap > div{
        margin: 0 0 3rem;
    }
    section#about .section-wrap > header .btn.more-link{
        margin: 0;
        position: absolute;
            bottom: 3rem;
            right: 0;
    }

    /* #news --- */
    section#news .section-wrap .article-list{
        margin: 0;
    }

    /* #contents-link --- */
    section#contents-link .section-wrap{
        width: 100% !important;
    }
    section#contents-link .section-wrap .link-box:first-child{
        border-left: none;
    }
    section#contents-link .section-wrap .link-box:last-child{
        border-right: none;
    }
    section#contents-link .section-wrap .link-box figure p{
        height: 240px;	/*画像の高さ*/
    }
    section#contents-link .section-wrap .link-box figure p img{
        height: 100%;
        width: 100%;
        object-fit: cover;
    }
}
@media(min-width:769px) {}
@media(max-width:768px) {
/* メインビジュアルスライダーdiv id="main-vis" #main-vis （bxslider）
---------------------------------------------------- */
    #main-vis{
        margin: 0 0 30px;
    }
    /*各スライド設定*/
    #main-vis .bx-wrapper .bx-viewport .slider > div{
        height: 300px;
    }
    /*各スライド設定*/
    #main-vis .bx-wrapper .bx-viewport .slider > div .catch h2{
        font-size: 1.25rem;
    }
    #main-vis .bx-wrapper .bx-viewport .slider > div .catch p{
        font-size: .845rem;
    }
    
/* 各コンテンツ section
---------------------------------------------------- */
    /* #contents-link --- */
    section#contents-link{
        border-bottom: none;
    }
    section#contents-link .section-wrap .link-box{
        align-items: center;
        border-bottom: #ddd solid 1px;
        border-left: none;
        display: flex;
        justify-content: space-between;
        width: 100%;
    }
    section#contents-link .section-wrap .link-box figure{
        align-items: center;
        display: flex;
        justify-content: flex-start;
    }
    section#contents-link .section-wrap .link-box figure p{
        height: auto;	/*画像の高さ*/
        width: 100px;	/*画像の幅*/
    }
    section#contents-link .section-wrap .link-box figure h3{
        background-color: transparent;
        border-radius: none;
        padding: 0 0 0 1rem;
        position: relative;
    }
    section#contents-link .section-wrap .link-box:hover figure h3{
        background-color: transparent;
    }
    section#contents-link .section-wrap .link-box > p:not(.btn){
        display: none;
    }
}
@media(max-width:767px) {}
@media(max-width:576px) {
/* メインビジュアルスライダーdiv id="main-vis" #main-vis （bxslider）
---------------------------------------------------- */
    /*各スライド設定*/
    #main-vis .bx-wrapper .bx-viewport .slider > div{
        height: 240px;
    }
    
/* 各コンテンツ section
---------------------------------------------------- */
    /* common 共通 --- */
    #container .content section{
        margin: 0 0 30px;
    }
    #container .content section .section-wrap{
        width: 94%;
    }
    /* common 共通 - h2見出し --- */
    #container .content section .section-wrap > h2{
        font-size: 1.75em;
    }

    /* #upper-link --- */
    section#upper-link .section-wrap .link-box{
        border-radius: 5px;
        box-shadow: none;
        margin: 0 0 .25rem;
        width: 100%;
    }
    section#upper-link .section-wrap .link-box h3{
        align-items: center;
        display: flex;
        flex-direction:row-reverse;
        justify-content: flex-end;
        padding: 1rem;
        text-align: left;
        width: 100%;
    }
    section#upper-link .section-wrap .link-box h3::after{
        height: 40px;
        width: 40px;
    }
    section#upper-link .section-wrap .link-box h3 a{
        padding: 0 1em;
    }

    /* #news --- */
    section#news .section-wrap .article-list{
        padding: 0 1rem 0 0;
    }
    
    /* #contents-link --- */
    section#contents-link .section-wrap .link-box{
        display: block;
    }
    section#contents-link .section-wrap .link-box .btn.more-link{
        text-align: left;
        padding: .5rem 0 0 0;
    }
    
    /* #blogs --- */
    section#blogs{
        padding: 1rem 0;
    }
    section#blogs .section-wrap{
        padding: 0;
    }
}
@media(max-width:350px) {}
