@charset "utf-8";
/* Generic Child-noda Style-front
    front-page専用スタイル
    body.home
　　　-コンテナ div id="container" #container
　　　-共通要素 （ .btn.more-link ）
    　-メインビジュアルスライダーdiv id="main-vis" #main-vis （bxslider）
    　-各コンテンツ section
　　　-メディアクエリ（ブレイクポイントごと）
*/
/*
    Green: #54baa4 rgba(84,186,164,1.00) 
    Blue: #769bb5 rgba(118,155,181,1.00)
    Pink: #f19ca7 rgba(241,156,167,1.00)
    Beige: #cbb994 rgba(203,185,148,1.00)
*/

/*TOPページ確認時用 - ポインタイベント無効化
a ,
a::after ,
a::before {
    pointer-events: none !important;
}
*/

/* コンテナ 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 a {
    align-items: center;
    background-color: rgba(255, 255, 255, 1.0);
    /* border-radius: .75em; */
    color: #fff;
    /* box-shadow: 3px 3px 8px 0px rgba(161, 186, 203, 0.4); */
    display: block;
    justify-content: center;
    line-height: normal;
    padding: .5em 2em;
    text-decoration: none;
    /* margin: 1em auto; */
    width: fit-content;
}

p.btn.more-link a:hover {
    background-color: rgba(84, 186, 164, .25);
}

/* メインビジュアルスライダーdiv id="main-vis" #main-vis （bxslider）
---------------------------------------------------- */
#main-vis {
    margin: 0;
    padding: 0;
    position: relative;
}
#main-vis .slider-wrapper {
    height: 740px;
    overflow: hidden;
    position: relative;
}
#main-vis .slider-wrapper .catch {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    padding: 1rem;
    position: absolute;
        top: 0;
        left: 0;
    width: 100%;
}
#main-vis .slider-wrapper .catch h2 {
    color: #00a6ba;
    font-family: 'Noto Serif JP', serif;
    font-size: 2.25rem;
    font-weight: normal;
    display: block;
    line-height: 1.75;
    margin: 5px 0;
    padding: 0 .25em;
    -webkit-text-stroke: 2px #fff;
    text-stroke: 2px #fff;
    paint-order: stroke;
}

/*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 {
    height: 740px !important;
    margin: 0 auto;
    width: 100%;
}
/*各スライド設定*/
#main-vis .bx-wrapper .bx-viewport .slider > .slide {
    align-items: center;
    display: flex;
    height: 800px;
    justify-content: center;
    position: relative !important;
}
/*
#main-vis .bx-wrapper .bx-viewport .slider > .slide .catch {
    padding: 1rem;
    text-align: center;
    width: fit-content;
}
#main-vis .bx-wrapper .bx-viewport .slider > .slide .catch h2 {
    color: #00a6ba;
    font-family: 'Noto Serif JP', serif;
    font-size: 2.25rem;
    font-weight: normal;
    display: block;
    line-height: 1.75;
    margin: 5px 0;
    padding: 0 .25em;
    -webkit-text-stroke: 2px #fff;
    text-stroke: 2px #fff;
    paint-order: stroke;
}
#main-vis .bx-wrapper .bx-viewport .slider >.slide .catch p.btn.more-link {
    margin: 0;
}
#main-vis .bx-wrapper .bx-viewport .slider > .slide .catch p.btn.more-link a,
#main-vis .bx-wrapper .bx-viewport .slider> .slide .catch p.btn.more-link a:hover {
    background-color: transparent;
    border: none;
}
#main-vis .bx-wrapper .bx-viewport .slider > .slide .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") no-repeat center;
    background-size: cover;
}
#main-vis .bx-wrapper .bx-viewport .slider .slide02 {
    background: url("../images/front/slide/slide02.jpg") no-repeat left center;
    background-size: cover;
}
#main-vis .bx-wrapper .bx-viewport .slider .slide03 {
    background: url("../images/front/slide/slide03.jpg") no-repeat center;
    background-size: cover;
}
#main-vis .bx-wrapper .bx-viewport .slider .slide04 {
    background: url("../images/front/slide/slide04.jpg") no-repeat left center;
    background-size: cover;
}

/* 各コンテンツ section
---------------------------------------------------- */
/* common 共通 --- */
#container .content section {
    margin: 0 0 60px;
}

#container .content section .section-wrap {
    margin: 0 auto;
    width: 90%;
    position: relative;
    align-items: center;
    display: block;
}

/* 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: transparent;
    border-bottom: #c0c0c0 solid .5px;
    display: flex;
    justify-content: flex-start;
    margin: 0;
    padding: 1rem 0;
    position: relative;
    transition: .3s;
}

.entry-list .section-wrap .article-list article:hover {
    opacity: .7;
    /* background-color: #f7f7f7; */
}

.entry-list .section-wrap .article-list article .entry-meta {
    color: #212121;
    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: #333;
    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;
    display: block;
    justify-content: end;
    float: left;
}

/* フロントトップ - 重要なお知らせ div#attention */
#attention {
    position: absolute;
    width: 60%;
    margin: 0 auto;
    box-shadow: 0px 2px 5px 2px rgba(221, 221, 221, 0.50);
    border-radius: 30px;
    bottom: -5%;
    left: 50%;
    transform: translate(-50%, 0%);
}

#container .content section #attention .section-wrap {
    align-items: stretch;
    display: flex;
    justify-content: space-between;
    padding: 0;
    width: 100%;
    background-color: #fff;
    border-radius: 30px;
}

#attention .section-wrap h3 {
    color: #fff;
    background-color: #f2a0a1;
    border-radius: 30px 0 0 30px;
    font-size: 1rem;
    width: 30%;
    align-items: center;
    justify-content: center;
    display: flex;
}

#attention .section-wrap h3::before {
    color: #fff;
    content: "\e001";
    font-family: 'Material Icons';
    padding: 0 .25rem 0 0;
}

#attention .section-wrap .article-list {
    width: 65%;
    margin: 1% 2%;
}

#attention .section-wrap article {
    align-items: center;
    color: #333;
    display: flex;
    flex: 1;
    opacity: 1;
    padding: 1rem .5rem;
    margin: 0;
    position: relative;
    transition: .3s;
    border-bottom: #ddd solid 1px;
}

#attention .section-wrap article:last-child {
    border-bottom: 0;
}

#attention .section-wrap article:hover {
    opacity: .8;
}

/* #attention .section-wrap article::after {
    content: "\f138";
    display: block;
    font-family: FontAwesome;
} */

#attention .section-wrap article .entry-meta {
    color: #333;
    margin: 0;
}

#attention .section-wrap article .entry-meta time {
    padding: 0 1rem 0 0;
}

#attention .section-wrap article .entry-title {
    flex: 1;
    font-size: 1rem;
    font-weight: normal;
}

#attention .section-wrap article .entry-title a {
    color: #333;
    text-decoration: none;
}

#attention .section-wrap 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);
}

/* ピックアップ #pickup
---------------------------------------------------- */
section#pickup {
    margin: 0;
}

#pickup .section-wrap {
    padding: 50px 0;
}

#pickup header {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 1rem;
}

#pickup header h2 {
    color: #333;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 36px;
    text-align: center;
}

#pickup header h2 span {
    display: block;
    color: #0058e1;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 500;
    font-style: normal;
    padding-top: 10px;
}

#pickup .contents {
    max-width: 1200px;
    margin: 0 auto;
}

#pickup .contents ul {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#pickup .contents ul li {
    align-items: center;
    background-color: #fff;
    border-radius: 10px;
    border: solid 3px #a2c2e6;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 1rem 0;
    padding: 1.5em 0;
    position: relative;
    transition: .3s;
    width: 19%;
}

#pickup .contents ul li p,
#pickup .contents ul li h3 {
    font-size: 1em;
    text-align: center;
    width: 100%;
}

#pickup .contents ul li p {
    margin: 0 0 1rem;
}

#pickup .contents ul li h3 a {
    color: rgba(0, 0, 0, 1.00);
    font-weight: normal;
    text-decoration: none;
}

#pickup .contents ul li h3 a::before {
    color: #0058e1;
    content: "\e1c4";
    font-family: 'Material Icons';
    padding: 0 .25rem 0 0;
}

#pickup .contents ul li h3 a::after {
    background-color: rgba(0, 0, 0, 0);
    border: rgba(44, 169, 225, 0.00) solid 2px;
    border-radius: 10px;
    content: "";
    pointer-events: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transition: .3s;
    z-index: 1;
}

#pickup .contents ul li:hover {
    opacity: .7;
    transition: .3s;
}

/* 来院案内 section id="visit-info" #visit-info 
---------------------------------------------------- */
#container .content #visit-info {
    background: url("../images/front/bg_visit_info.png") no-repeat center bottom;
    background-size: cover;
    margin: 0;
    padding: 100px 0;
}

#container .content #visit-info .section-wrap {
    max-width: 1240px;
}

/* 来院案内 - 本日の診療受付 div.contents#today */
#today {
    background-color: #fff;
    border-radius: 2rem;
    margin: 0 auto 50px;
    padding: 2rem;
    width: 90%;
}

#today header {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 1rem;
}

#today header h2 {
    color: #333;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 30px;
    text-align: center;
}

#today header h2 span {
    display: block;
    color: #00a6ba;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 500;
    font-style: normal;
    padding-top: 10px;
}

#today header h2 .day {
    font-family: "Poppins", sans-serif;
    letter-spacing: .1rem;
}

#today header h2 .week {
    font-size: 1.25rem;
}

#today header h2 .time {
    font-family: "Poppins", sans-serif;
    letter-spacing: .1rem;
}

/*来院案内 - 本日の診療受付：受付診療科表示*/
#today .time-table-wrap {
    display: none;
    height: auto;
    margin: 20px 0 0;
}

#today>p {
    margin: 0;
    text-align: center;
}

/*来院案内 - 本日の診療受付：受付診療科表示 - 午前・午後切り替えタブ*/
#today .time-table-wrap .tab-group {
    border-bottom: #00a6ba solid 3px;
    display: flex;
    justify-content: center;
}

#today .time-table-wrap .tab-group li {
    background-color: #f5f5f5;
    border-radius: 10px 10px 0 0;
    color: #333;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1rem;
    font-weight: bold;
    margin: 0 .25rem;
    padding: .5rem 0;
    text-align: center;
    transition: .3s;
    width: 15%;
}

#today .time-table-wrap .tab-group li:hover {
    cursor: pointer;
    opacity: .8;
}

#today .time-table-wrap .tab-group li.active {
    background-color: #00a6ba;
    color: #fff;
}

/*来院案内 - 本日の診療受付：受付診療科表示 - 診療受付*/
.time-table {
    padding: .5rem 0;
    margin: 0;
    width: 100%;
}

.time-table .panel {
    display: none;
}

.time-table .panel.active {
    display: block;
}

.time-table .panel .closed {
    color: #ff7474;
    font-weight: bold;
    text-align: center;
}

.time-table .panel ul {
    column-count: 3;
    column-gap: 3%;
    list-style: none;
    margin: 0 0 1rem;
}

.time-table .panel ul li {
    border-bottom: #ddd dotted 1px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: .5em 0;
    text-align: left;
}

.time-table .panel ul li span {
    color: #666;
    display: block;
    font-size: .875em;
    font-weight: normal;
    max-width: 45%;
    text-align: right;
}

.time-table .panel ul li span.time {
    padding: 0 0 0 1rem;
}

.time-table .panel ul li span.comment {
    max-width: 100%;
    width: 100%;
}

/*来院案内 - 本日の診療受付：関連リンクボタン*/
#today .today-link {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 2rem 0 -3rem 0;
}

#today .today-link li {
    margin: 0 .5rem;
    width: 25%;
}

#today .today-link li a {
    align-items: center;
    background-color: rgba(0, 166, 186, 1);
    border: rgba(0, 166, 186, 1) solid 1px;
    border-radius: 1.5em;
    color: #fff;
    display: flex;
    height: 3rem;
    justify-content: center;
    line-height: normal;
    padding: .5rem 2rem;
    text-decoration: none;
}

#today .today-link li a:hover {
    background-color: #fff;
    color: rgba(0, 166, 186, 1);
}

#today .today-link li a::before {
    content: "";
    font-family: FontAwesome;
    padding: 0 .25rem 0 0;
}

#today .today-link li.schedule a::before {
    content: "\f073";
}

#today .today-link li.closed a::before {
    content: "\f273";
}

#today .today-link li.section a::before {
    content: "\f0f1";
}

/* 来院案内 - 予約センター div.contents#reserv */
#reserv {
    text-align: center;
    margin: 0 auto 2em;
}

#reserv h3 {
    color: #555;
}

/* #reserv h3::before {
    content: "\f095";
    display: inline;
    font-family: FontAwesome;
    padding: 0 .25rem 0 0;
} */

#reserv>p {
    margin: 0;
}

#reserv .phone {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.75rem;
    font-weight: 500;
}

#reserv .date {
    font-weight: bold;
    margin: 0 0 1rem;
}

/* コンテンツリンク #contents-link
---------------------------------------------------- */
section#contents-link {
    margin: 0;
}

#contents-link .section-wrap {
    padding: 50px 0;
    max-width: 1200px;
}

#contents-link .contents ul {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#contents-link .contents ul li {
    align-items: center;
    background-color: #fff;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0;
    padding: .5em 0;
    position: relative;
    transition: .3s;
    width: 30%;
}

#contents-link .contents ul li:first-child {
    width: 100%;
    display: block;
}

#contents-link .contents ul li p {
    border-radius: 10px;
    width: 100%;
    background-size: cover;
}

#contents-link .contents ul li:nth-child(1) p {
    background: url("../images/front/contents-link/cont01.png") center no-repeat;
    height: 400px;
}

#contents-link .contents ul li:nth-child(2) p {
    background: url("../images/front/contents-link/cont02.png") center no-repeat;
    height: 180px;
}

#contents-link .contents ul li:nth-child(3) p {
    background: url("../images/front/contents-link/cont03.png") center no-repeat;
    height: 180px;
}

#contents-link .contents ul li:nth-child(4) p {
    background: url("../images/front/contents-link/cont04.png") center no-repeat;
    height: 180px;
}

#contents-link .contents ul li h3 {
    font-size: 16px;
    text-align: left;
    width: 100%;
}

#contents-link .contents ul li h3 a {
    color: rgba(0, 0, 0, 1.00);
    font-weight: normal;
    text-decoration: none;
}

#contents-link .contents ul li h3 a::before {
    color: #00a6ba;
    content: "\e1c4";
    font-family: 'Material Icons';
    padding: 0 .25rem 0 0;
}

#contents-link .contents ul li h3 a::after {
    background-color: rgba(0, 0, 0, 0);
    border: rgba(44, 169, 225, 0.00) solid 2px;
    border-radius: 10px;
    content: "";
    pointer-events: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transition: .3s;
    z-index: 1;
}

#contents-link .contents ul li:hover {
    opacity: .7;
    transition: .3s;
}

/* #news
---------------------------------------------------- */
#container .content section#news {
    display: flex;
    margin: 0 auto;
    background-color: rgba(234, 244, 252, .5);
}


#container .content section#news .section-wrap {
    max-width: 860px;
    display: block;
    margin: 40px auto;
}

section#news .section-wrap header {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    padding: 0;
    float: left;
    width: 30%;
}

section#news .section-wrap header h2 {
    color: #333;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 36px;
    text-align: left;
}

section#news .section-wrap header h2 span {
    display: block;
    color: #0058e1;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 500;
    font-style: normal;
    padding-top: 10px;
}

section#news .section-wrap header p.btn.more-link {
    margin: 0;
}

section#news .section-wrap .article-list {
    float: right;
    overflow-y: scroll;
    max-height: 360px;
    /* max-width: 860px; */
    width: 70%;
    /* margin: 1rem auto; */
    /* padding: 0 2rem 0 0; */
    position: relative;
    justify-content: center;
}

section#news p.btn.more-link a {
    color: #333;
    background-color: transparent;
    display: flex;
    padding: 0;
    padding-top: 25px;
    margin: 0 auto;
}

section#news p.btn.more-link a::after {
    content: "\e941";
    font-family: 'Material Icons';
    font-size: 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: #0058e1;
    color: #fff;
    width: 60px;
    height: 60px;
    border-radius: 30px;
    margin-left: 1em;
}

section#news p.btn.more-link a:hover {
    opacity: .7;
    transition: .3s;
}

/* 採用情報ピックアップ（研修医・看護師） #recruit_especially
---------------------------------------------------- */
#container .content section#recruit_especially {
    padding: 0;
    margin: 0;
}

#container .content section#recruit_especially .section-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
    width: 100%;
}

#recruit_especially .section-wrap>div {
    align-items: flex-end;
    display: flex;
    margin: 0 0;
    padding: 320px 0 0 0;
    position: relative;
    width: 50%;
}

#recruit_especially .section-wrap>div:hover {
    opacity: .7;
    transition: .3s;
}

#recruit_especially .section-wrap>#resident {
    background: url("../images/front/recruit_especially/bg_resident.jpg") center no-repeat;
    justify-content: flex-end;
}

#recruit_especially .section-wrap>#nurse {
    background: url("../images/front/recruit_especially/bg_nurse.jpg") center no-repeat;
    justify-content: flex-start;
    background-position-x: 15%;
}

#recruit_especially .section-wrap>div>div {
    align-items: end;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
}

#recruit_especially .section-wrap>div>div header {
    background-color: #fff;
    border-bottom: #ddd solid 3px;
    padding: 1rem;
    text-align: center;
    width: 100%;
}

#recruit_especially .section-wrap>div>div header h2 {
    font-weight: normal;
    padding: 0 0 1rem;
}

#recruit_especially .section-wrap>div>div header h3 {
    font-family: 'Noto Serif JP', serif;
    font-weight: normal;
}

#recruit_especially .section-wrap>div#resident>div header {
    border-bottom-color: #5b7bba;
}

#recruit_especially .section-wrap>div#resident>div header h2 {
    color: #5b7bba;
}

#recruit_especially .section-wrap>div#nurse>div header {
    border-bottom-color: #f0908d;
}

#recruit_especially .section-wrap>div#nurse>div header h2 {
    color: #f0908d;
}

#recruit_especially .section-wrap>div>div .btn.more-link {
    margin: 0;
    display: flex;
}

#recruit_especially .section-wrap>div#resident>div .btn.more-link::before {
    border-top: 4rem solid #5b7bba;
    border-left: 0 solid transparent;
    border-right: 1rem solid transparent;
    transform: rotate(0.5turn);
    box-sizing: border-box;
    content: "";
    height: 4rem;
    display: flex;
}

#recruit_especially .section-wrap>div#nurse>div .btn.more-link::before {
    border-top: 4rem solid #f0908d;
    border-left: 0 solid transparent;
    border-right: 1rem solid transparent;
    transform: rotate(0.5turn);
    box-sizing: border-box;
    content: "";
    height: 4rem;
    display: flex;
}

#recruit_especially .section-wrap>div>div .btn.more-link a {
    padding: 1em 3em;
}

#recruit_especially .section-wrap>div>div .btn.more-link a::after {
    background-color: rgba(0, 0, 0, 0);
    border: rgba(44, 169, 225, 0.00) solid 2px;
    border-radius: 10px;
    content: "";
    pointer-events: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transition: .3s;
    z-index: 1;
}

#recruit_especially .section-wrap>div#resident>div .btn.more-link a {
    background-color: #5b7bba;
}

#recruit_especially .section-wrap>div#resident>div .btn.more-link::before:hover {
    background-color: #fff;
}

#recruit_especially .section-wrap>div#nurse>div .btn.more-link a {
    background-color: #f0908d;
}

/* ウィジェット（バナーエリア） #bnr-widget
---------------------------------------------------- */
section#widget-banner-area {
    background-color: #f7f7f7;
    margin: 0 !important;
    padding: 0;
}

section#widget-banner-area .section-wrap {
    margin: 0 auto;
    width: 1240px;
}

section#widget-banner-area .section-wrap .bnr-area.slick {
    padding: 2rem 0;
    position: relative;
}

section#widget-banner-area .section-wrap .bnr-area.slick .slick-track {
    align-items: center;
    display: flex;
}

section#widget-banner-area .section-wrap .bnr-area.slick li {
    align-items: center;
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 0;
}

section#widget-banner-area .section-wrap .bnr-area.slick li h2 {
    display: none;
}

/*左右送り（バナー枚数超過の時のみ表示）*/
section#widget-banner-area .section-wrap .bnr-area.slick .slide-arrow {
    height: 2rem;
    margin: 0;
    text-align: center;
    width: 2rem;
    z-index: 250;
}

section#widget-banner-area .section-wrap .bnr-area.slick .slide-arrow:hover {
    cursor: pointer;
}

section#widget-banner-area .section-wrap .bnr-area.slick .slide-arrow::before {
    color: rgba(0, 0, 0, .50);
    content: "";
    display: inline;
    font-family: 'Material Icons';
    font-size: 2rem;
    line-height: 1;
}

section#widget-banner-area .section-wrap .bnr-area.slick .slide-arrow.slick-disabled::before {
    color: rgba(0, 0, 0, .50);
}

section#widget-banner-area .section-wrap .bnr-area.slick .slide-arrow.next-arrow {
    position: absolute;
    top: calc(50% - 1rem);
    right: 0;
}

section#widget-banner-area .section-wrap .bnr-area.slick .slide-arrow.next-arrow::before {
    content: '\e5e1';
}

section#widget-banner-area .section-wrap .bnr-area.slick .slide-arrow.prev-arrow {
    position: absolute;
    top: calc(50% - 1rem);
    left: 0;
}

section#widget-banner-area .section-wrap .bnr-area.slick .slide-arrow.prev-arrow::before {
    content: '\e2ea';
}



/* perfect-scrollbar.js スクロールバー設定 */
.ps__rail-x,
.ps__rail-y {
    opacity: 0.6 !important;
}

.ps__thumb-y {
    background-color: #769bb5 !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;
}

/* メディアクエリ（ブレイクポイントごと）
---------------------------------------------------- */
@media(max-width:1366px) {

    /* メインビジュアルスライダーdiv id="main-vis" #main-vis （bxslider）
---------------------------------------------------- */
    #main-vis {
        margin: 0 0 -150px;
    }

    #main-vis .bx-wrapper .bx-viewport {
        width: 100% !important;
        /* スライド画像の横幅 */
    }

    #main-vis .bx-wrapper .bx-viewport .slider .slide01 {}

    #attention {
        width: 80%;
    }

    #container .content section#pickup {
        margin: 200px 0 60px 0;
    }
}


@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;
    }

    /* メインビジュアルスライダーdiv id="main-vis" #main-vis （bxslider）
---------------------------------------------------- */
    /*各スライド設定*/
    #main-vis .bx-wrapper .bx-viewport .slider .slide01 {}

    /* 来院案内 section id="visit-info" #visit-info 
---------------------------------------------------- */
    #container .content #visit-info {
        padding: 70px 0;
    }

    /* 来院案内 - 本日の診療受付 div.contents#today */
    #today {
        margin: 0 auto 50px;
        padding: 2rem;
        width: 100%;
    }

    /*来院案内 - 本日の診療受付：関連リンクボタン*/
    #today .today-link li {
        margin: 0 .25rem;
        width: 30%;
    }
}

@media(max-width:1024px) {

    /* 共通要素
---------------------------------------------------- */

    /* メインビジュアルスライダーdiv id="main-vis" #main-vis （bxslider）
---------------------------------------------------- */
    /*各スライド設定*/
    #main-vis {
        margin: 0 0 -180px;
    }
    
    #main-vis .slider-wrapper {
        height: 560px;
    }
    #main-vis .slider-wrapper .catch h2 {
        font-size: 2rem;
    }
    #main-vis .bx-wrapper .bx-viewport {
        height: 560px !important;
    }
    #main-vis .bx-wrapper .bx-viewport .slider > .slider {
        height: 560px;
    }
    /*スライダーの画像指定*/
    #main-vis .bx-wrapper .bx-viewport .slider .slide02 {
        background: url("../images/front/slide/slide02.jpg") no-repeat center left 25% ;
        background-size: cover;
    }

    /* 各コンテンツ 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 {
        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;
    }

    .entry-list .section-wrap p.btn.more-link {
        float: none;
    }

    /* フロントトップsection id="front-top" #front-top （#front-nav #main-vis / #attention）
---------------------------------------------------- */
    /* フロントトップ - メインビジュアル div#main-bis（bxslider） */
    #container .content #front-top {
        /* min-height: 100vh; */
        height: auto;
    }

    /* フロントトップ - フロントナビ div.front-nav */
    #front-nav {
        display: flex;
        flex: 1;
        flex-direction: column;
    }

    #front-nav .section-wrap {
        display: flex;
        flex-direction: column;
        flex: 1;
    }

    #front-nav .section-wrap ul {
        flex: 1;
    }

    #front-nav .section-wrap ul li {
        padding: 1rem 0;
    }

    /* フロントトップ - メインビジュアル div#main-bis（bxslider） */
    /*各スライド設定*/
    #main-vis .bx-wrapper .bx-viewport .slider>div {
        height: 60vh;
    }

    #main-vis .bx-wrapper .bx-viewport .slider>div .catch {
        width: 100%;
    }

    #main-vis .bx-wrapper .bx-viewport .slider>div .catch h2 {
        font-size: 2rem;
    }

    /* 重要なお知らせ section id="attention" #attention
---------------------------------------------------- */
    #attention {
        width: 95%;
        bottom: -35%;
    }

    #attention .section-wrap h3 {}

    /* ピックアップ section id="pickup" #pickup
---------------------------------------------------- */
    #container .content section#pickup {
        margin: 380px 0 60px 0;
    }

    #pickup .contents ul {
        width: 80%;
        justify-content: space-between;
        margin: 0 auto;
    }

    #pickup .contents ul li {
        width: 49%;
    }

    /* 来院案内 section id="visit-info" #visit-info 
---------------------------------------------------- */
    #container .content #visit-info {
        padding: 50px 0;
    }

    /* 来院案内 - 本日の診療受付 div.contents#today */
    /*来院案内 - 本日の診療受付：受付診療科表示 - 診療受付*/
    .time-table {
        overflow-y: scroll;
        margin: 1rem 0;
        max-height: 300px;
        padding: 0 1rem 0 0;
        position: relative;
    }

    .time-table .panel ul {
        column-count: 2;
    }

    /* コンテンツリンク #contents-link
---------------------------------------------------- */
    #contents-link .contents ul li {
        width: 48%;
        padding: 0;
    }

    #contents-link .contents ul li:first-child {
        width: 48%;
        display: flex;
    }

    #contents-link .contents ul li:nth-child(1) p,
    #contents-link .contents ul li:nth-child(2) p,
    #contents-link .contents ul li:nth-child(3) p,
    #contents-link .contents ul li:nth-child(4) p {
        background-size: 100%;
    }


    #contents-link .contents ul li:nth-child(1) p {
        height: 180px;
        background-size: 100%;
    }

    /* お知らせ #news
---------------------------------------------------- */
    section#news .section-wrap header {
        justify-content: center;
        padding: 0;
        width: 100%;
    }

    section#news .section-wrap header h2 {
        text-align: center;
    }

    /* perfect-scrollbar.js スクロールバー設定 */
    .ps__rail-x,
    .ps__rail-y {
        opacity: 0.6 !important;
    }

    .ps__thumb-y {
        background-color: rgba(0, 166, 186, .4) !important;
    }

    /*来院案内 - 本日の診療受付：関連リンクボタン*/
    #today .today-link {
        justify-content: space-evenly;
        margin: 2rem -2rem -3rem;
    }

    #today .today-link li {
        margin: 0;
        width: 33%;
    }

    #today .today-link li a {
        padding: .5rem 1rem;
    }

    /* #news --- */
    #container .content section#news {
        position: relative;
    }

    section#news::before,
    section#news::after {
        background-position: center;
        height: 30vh;
        opacity: .25;
        position: absolute;
        top: calc(50% - 15vh);
        width: 25%;
    }

    section#news::before {
        left: 0;
    }

    section#news::after {
        right: 0;
    }

    section#news .section-wrap {
        z-index: 1;
    }

    section#news .section-wrap .article-list {
        margin: 0 auto;
        width: 90%;
    }
}

@media(min-width:769px) {}

@media(max-width:768px) {

    /* メインビジュアルスライダーdiv id="main-vis" #main-vis （bxslider）
---------------------------------------------------- */
    #main-vis {
        margin: 0 0 -60px;
    }
    #main-vis .slider-wrapper .catch h2 {
        font-size: 1.25rem;
    }
    #main-vis .bx-wrapper .bx-viewport .slider .slide01 {}

    /* 各コンテンツ section
---------------------------------------------------- */
    /* common 共通 --- */
    #container .content section {
        margin: 0 0 30px;
    }

    /* #attention --- */
    #attention {
        width: 95%;
        bottom: -40%;
    }

    /* #pickup --- */
    #container .content section#pickup {
        margin: 250px 0 60px 0;
    }

    #pickup header h2 {
        font-size: 30px;
    }

    #pickup .contents ul {
        width: 90%;
    }

    /* 来院案内 section id="visit-info" #visit-info 
---------------------------------------------------- */
    /* 来院案内 - 本日の診療受付 div.contents#today */
    /*来院案内 - 本日の診療受付：受付診療科表示 - 診療受付*/
    #today header h2 {
        font-size: 24px;
    }

    .time-table .panel ul {
        column-count: 1;
    }

    .time-table .panel ul li {
        /* justify-content: flex-start; */
    }

    .time-table .panel ul li span {
        text-align: left;
    }

    /*来院案内 - 本日の診療受付：関連リンクボタン*/
    #today .today-link {
        justify-content: center;
        margin: 1rem 0 0;
    }

    #today .today-link li {
        margin: .5rem 0;
        width: 70%;
    }

    /* perfect-scrollbar.js スクロールバー設定 */
    .ps__rail-x,
    .ps__rail-y {
        opacity: 0.6 !important;
    }

    .ps__thumb-y {
        background-color: rgba(0, 166, 186, .4) !important;
    }

    /* #contents-link --- */
    #contents-link .contents ul li {
        width: 46%;
    }

    #contents-link .contents ul li:nth-child(1) {
        width: 46%;
    }

    #contents-link .contents ul li:nth-child(1) p,
    #contents-link .contents ul li:nth-child(2) p,
    #contents-link .contents ul li:nth-child(3) p,
    #contents-link .contents ul li:nth-child(4) p {
        background-size: cover;
        height: 120px;
    }

    /* #news --- */
    section#news .section-wrap header h2 {
        font-size: 30px;
    }

    section#news .section-wrap header h2 span {
        font-size: 16px;
    }

    /* 採用情報ピックアップ（研修医・看護師） #recruit_especially
---------------------------------------------------- */
    #container .content section#recruit_especially {
        background: url("../images/front/recruit_especially/img_flower_top.png") left top no-repeat;
        background-size: 150%;
        padding: 0;
        margin: 0;
    }

    #container .content section#recruit_especially .section-wrap {
        background: none;
    }

    #recruit_especially .section-wrap>div {
        align-items: center;
        display: flex;
        margin: 0;
        padding: 160px 0 0;
        position: relative;
        width: 50%;
    }

    #recruit_especially .section-wrap>#resident {
        /* background: #5b7bba url("../images/front/recruit_especially/bg_resident.jpg") center top no-repeat; */
        background-size: cover;
        justify-content: center;
    }

    #recruit_especially .section-wrap>#nurse {
        /* background: #f0908d url("../images/front/recruit_especially/bg_nurse.jpg") center top no-repeat; */
        background-size: cover;
        justify-content: center;
    }

    #recruit_especially .section-wrap>div>div {
        width: 100%;
    }

    #recruit_especially .section-wrap>div>div header h3 {
        font-size: 1rem;
    }

    #recruit_especially .section-wrap>div>div .btn.more-link {
        /* margin: 1rem 0 0 0; */
    }

    #recruit_especially .section-wrap>div#resident>div .btn.more-link a {
        /* background-color: rgba(255, 255, 255, 1.00);
        color: #5b7bba; */
    }

    /* #recruit_especially .section-wrap>div#resident>div .btn.more-link a:hover {
        background-color: rgba(255, 255, 255, .75);
    } */

    #recruit_especially .section-wrap>div#nurse>div .btn.more-link a {
        /* background-color: rgba(255, 255, 255, 1.00);
        color: #f0908d; */
    }

    #recruit_especially .section-wrap>div>div .btn.more-link a:hover {
        background-color: rgba(255, 255, 255, 1);
    }
}

@media(max-width:576px) {

    /* メインビジュアルスライダーdiv id="main-vis" #main-vis （bxslider）
---------------------------------------------------- */
    /*各スライド設定*/
    #main-vis {
        margin: 0 0 -60px;
    }

    /* 各コンテンツ section
---------------------------------------------------- */
    /* common 共通 --- */
    #container .content section {
        margin: 0 0 30px;
    }

    /* common 共通 - h2見出し --- */
    #container .content section .section-wrap>h2 {
        font-size: 1.75em;
    }

    /* common 共通 - .entry-list（お知らせ・ブログ新着表示 共通） --- */
    .entry-list .section-wrap .article-list article {
        margin: 0 1rem;
        padding: 1rem 0;
    }

    /* フロントトップ - 重要なお知らせ div#attention */
    #attention {
        width: 100%;
        box-shadow: none;
        /* background-color: rgba(233, 84, 107, .25); */
    }

    #container .content section#front-top #attention .section-wrap {
        flex-wrap: wrap;
        padding: 0;
        width: 100%;
        border-radius: 0;
        box-shadow: none;
    }

    #attention .section-wrap h3 {
        background-color: #f2a0a1;
        padding: 1rem;
        text-align: center;
        width: 100%;
        border-radius: 0;
    }

    #attention .section-wrap .article-list {
        width: 100%;
        margin: 0;
    }

    #attention .section-wrap article {
        color: #000;
        display: block;
        /* padding: .5rem; */
        position: relative;
    }

    #attention .section-wrap article:last-child {
        border-bottom: #ddd solid 1px;
    }

    #attention .section-wrap article::after {
        color: #f2a0a1;
        position: absolute;
        top: calc(50% - .5rem);
        right: .5rem;
    }

    #attention .section-wrap article .entry-meta {
        color: #000;
    }

    #attention .section-wrap article .entry-meta time {
        padding: 0;
    }

    #attention .section-wrap article .entry-title {
        padding: 0 1rem 0 0;
    }

    #attention .section-wrap article .entry-title a {
        color: #000;
    }

    /* #pickup --- */
    #pickup .section-wrap {
        padding: 30px 0;
    }

    #pickup header h2 {
        font-size: 24px;
    }

    #pickup .contents ul {
        width: 100%;
    }

    #pickup .contents ul li {
        width: 100%;
        padding: 0;
        margin: .25em 0;
    }

    #pickup .contents ul li p {
        margin: auto;
        padding: .5em;
        width: 20%;
    }

    #pickup .contents ul li p img {
        width: 90%;
    }

    #pickup .contents ul li h3 {
        text-align: left;
        width: 75%;
    }

    #pickup .contents ul li h3 a::before {
        display: none;
    }

    /* 来院案内 section id="visit-info" #visit-info 
---------------------------------------------------- */
    #container .content #visit-info {
        padding: 30px 0;
    }

    /* 来院案内 - 本日の診療受付 div.contents#today */
    #today {
        padding: 1rem;
    }

    #today header {
        align-items: center;
        flex-direction: column;
        justify-content: center;
    }

    #today header h2 {
        font-size: 22px;
    }

    /*来院案内 - 本日の診療受付：受付診療科表示 - 午前・午後切り替えタブ*/
    #today .time-table-wrap .tab-group li {
        width: 25%;
    }

    /*来院案内 - 本日の診療受付：受付診療科表示 - 診療受付*/
    .time-table {
        max-height: 240px;
    }

    /*来院案内 - 本日の診療受付：関連リンクボタン*/
    #today .today-link li {
        margin: .5rem 0;
        width: 90%;
    }

    #today .today-link li a {
        padding: .5rem;
    }

    /* #news --- */
    #container .content section#news .section-wrap {
        width: 100%;
    }

    section#news .section-wrap header h2 {
        font-size: 24px;
    }

    section#news .section-wrap .article-list {
        padding: 0;
        width: 100%;
    }

    /* #recruit_especially --- */
    #recruit_especially .section-wrap>div>div .btn.more-link {
        /* width: 100%; */
    }

    #recruit_especially .section-wrap>div>div .btn.more-link a {
        padding: .5em 1em;
    }

    #recruit_especially .section-wrap>div#nurse>div .btn.more-link::before {
        display: none;
    }

    #recruit_especially .section-wrap>div#resident>div .btn.more-link::before {
        display: none;
    }

    /* ウィジェット（バナーエリア） #bnr-widget
---------------------------------------------------- */
    section#widget-banner-area .bnr-area.slick .slide-arrow {
        height: 1.5rem;
        width: 1.5rem;
    }

    section#widget-banner-area .bnr-area.slick .slide-arrow::before {
        font-size: 1.5rem;
    }

    section#widget-banner-area .bnr-area.slick .slide-arrow.next-arrow {
        position: absolute;
        right: -.25rem;
    }

    section#widget-banner-area .bnr-area.slick .slide-arrow.prev-arrow {
        position: absolute;
        left: -.25rem;
    }

    section#widget-banner-area#bnr-widget .bnr-area.slick .slide-arrow.next-arrow {
        right: -3%;
    }

    section#widget-banner-area#bnr-widget .bnr-area.slick .slide-arrow.prev-arrow {
        left: -3%;
    }

}

@media(max-width:420px) {}

@media(max-width:350px) {}