@charset "utf-8";

/********************************/
/*       メインヴィジュアル　　　 */
/********************************/
.__home_mainVisual_box {
    width: 100%;
    height: 80vh;
    position: relative;
}

.__home_mainVisual_catch_box {
    width: 20%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    position: relative;
    z-index: 1;
}


.__home_mainVisual_catch_box h2 {
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
    letter-spacing: 0.25em;
    line-height: 1.4em;
    font-size: 3.2vh;
}

.front {
    height: 36vh;
    white-space: nowrap;
    position: absolute;
    top: 5%;
    left: 5vw;
    -ms-writingSD-mode: tb-rl;
    writing-mode: vertical-rl;
    z-index: 2;
    overflow: hidden;
    color: #425DA9;
}

.back {
    height: 80vh;
    white-space: nowrap;
    position: absolute;
    top: 5%;
    left: 5vw;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    z-index: 1;
    color: #ffffff;
}

.__home_mainVisual_slider_box {
    width: 80%;
    height: 70vh;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    overflow: hidden;
    border-top-right-radius: 20px;
}

.__home_mainVisual_slider_box img {
    width: 100%;
    height: 70vh;
    object-fit: cover;
}

.__home_mainVisual_bg_box {
    width: 50%;
    height: 50%;
    border-bottom-left-radius: 10px;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
}

/********************************/
/*         トップスケジュール　　　　*/
/********************************/
.__home_top_schedule_box {
    width: auto;
    height: auto;
    position: absolute;
    right: 0;
    bottom: 15vh;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    padding: 20px;
    z-index: 999;
    font-size: 0.9em;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    transition: all 1s;
}

.__home_top_schedule_title {
    width: 20px;
    -ms-writingSD-mode: tb-rl;
    writing-mode: vertical-rl;
    display: flex;
    justify-content: center;
    align-items: center;
}

.__home_top_schedule_contents {
    width: calc(100% - 20px);
    margin-left: 20px;
}

.__home_top_schedule_contents table {
    width: 100%;
}

.__home_top_schedule_contents table th {
    border: solid 1px #dedede;
    padding: 15px;
    vertical-align: middle;
    text-align: center;
    font-weight: normal;
}

.__home_top_schedule_contents table td {
    border: solid 1px #dedede;
    padding: 15px;
    vertical-align: middle;
    text-align: center;
    font-weight: bold;
}

.__home_top_schedule_contentstable table th:first-child,
.__home_top_schedule_contentstable table td:first-child {
    border-left: none;
    font-family: 'Roboto', sans-serif;
}

.__home_top_schedule_contentstable table th:last-child,
.__home_top_schedule_contentstable table td:last-child {
    border-right: none;
}

.hide {
    transform: translateX(calc(100% - 55px));
    /* 上に消えるようにする */
    position: fixed;
}

.position {
    position: fixed;
}

#scrollArea {
    background-color: rgb(255, 0, 0);
    /* 見やすいように背景色を赤に */
    transition: .5s;
    /* スクロール時に一瞬で消えると物足りないので.hideの処理を0.5秒で行う */
    z-index: 100;
    /* 前面に表示されるようにする */
}



/********************************/
/*         　　お知らせ　　　　　　 */
/********************************/
.__home_information_box {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    flex-flow: column;
    flex-wrap: wrap;
}

.__home_info_box {
    width: 100%;
    height: auto;
    position: relative;
}

.__home_info_box h2 {
    width: 50%;
    border: solid 2px #425DA9;
    border-bottom: none;
    padding: 20px;
    background-color: #ffffff;
    position: relative;
    z-index: 1;
}

.__home_info_box ul {
    border-top: solid 2px #425DA9;
    position: relative;
    z-index: 0;
    top: -2px;
    padding: 20px;
    background-color: #ffffff;
}

.__home_info_box ul li {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    padding: 20px 0;
    border-bottom: dashed 1px #dedede;

}

.__home_info_title {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: flex-start;
    align-items: first baseline;
    font-size: 0.9rem;
}


.__home_info_date {
    font-family: 'Roboto', sans-serif;
    margin-right: 20px;
}

.__home_topix_box {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    background-color: #ffffff;
    padding: 40px;
}

.__home_topix_box h2 {
    margin-bottom: 40px;
}

.__home_topix_item {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.__home_topix_item_img {
    width: 40%;
}

.__home_topix_item_content {
    width: 55%;
}

.__home_topix_item_content li {
    margin-bottom: 20px;
    text-align: justify;
    text-align-last: left;
    font-size: 0.9rem;
}

.__home_topix_item_content li:last-child {
    display: flex;
    justify-content: center;
    align-items: center;
}

.__home_topix_item_content li a {
    width: auto;
    padding: 10px 20px;
    border-radius: 25px;
    font-size: 0.9em;
    border: solid 1px #425DA9;
    transition: 1s;
}

.__home_topix_item_content li a:hover {
    background: #ffffff;
    color: #425DA9;
    transition: 1s;
}

/***********************************/
/*        　　　診療科目　　　　　　　*/
/***********************************/
.__home_department_box {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
}

.__home_department_box ul {
    width: 100%;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    margin-top: 20px;
}

.__home_department_box ul li {
    width: 30%;
    height: 200px;
    padding: 40px;
    position: relative;
    margin-bottom: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    border: solid 1px #dedede;
    background-color: #ffffff;
}

.__home_department_box ul li a {
    width: 100%;
    height: 100%;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    transition: 1s all;
}

.__home_department_box ul li:hover {
    background-color: #425DA9;
    color: #ffffff;
    transition: 1s all;
}

.__home_department_box ul li::after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: #425DA9;
    position: absolute;
    bottom: -20px;
    left: -20px;
    z-index: -1;
}

.__home_department_box ul li svg {
    width: 48px !important;
    aspect-ratio: 1 / 1;
    fill: #425DAA !important;
}

.__home_department_box ul li h3 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    z-index: 1;
}

.__home_department_box ul li h3 p {
    width: 100%;
    font-size: 0.8em;
    text-align: center;
    font-weight: normal;
}

.__home_department_box ul li h3 span {
    width: 100%;
    font-size: 0.4em;
    text-align: center;
    font-weight: normal;
}

/***********************************/
/*        　　　挨拶　　　　　　　　　　*/
/***********************************/
.__home_greeting_box {
    width: 100%;
    height: 320px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    float: left;
}

.__home_greeting_img_box {
    width: 40%;
    height: 100%;
}

.__home_greeting_img_box img {
    height: 100%;
    object-fit: cover;
}

.__home_greeting_contents_box {
    width: 50%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    position: relative;
}

.__home_greeting_contents_box h2 {
    text-align: right;
    font-weight: bold;
    font-family: 'Montserrat', sans-serif;
    position: absolute;
    top: 0;
    right: 0;
    color: #425DA9;
    opacity: 0.2;
    font-size: 6vw;
    z-index: -1;
}

.__home_greeting_contents_box h3 {
    width: 100%;
    margin-bottom: 20px;
    line-height: 1.6em;
    font-size: 1.6rem;
}

.__home_greeting_contents_box h3 span {
    background: linear-gradient(transparent 70%, rgba(253, 169, 84, 0.6) 70%);
}

.__home_greeting_contents_box p {
    width: 100%;
    text-align: justify;
    text-align-last: left;
    line-height: 1.6em;
    margin-top: 20px;
    font-size: 0.9rem;
}

.__home_greeting_box_bg {
    width: 100%;
    height: 70%;
    background-color: #f5f5f5;
    background: -moz-linear-gradient(45deg, #f5f5f5, #efefef);
    background: -webkit-linear-gradient(45deg, #f5f5f5, #efefef);
    background: linear-gradient(45deg, #f5f5f5, #efefef);
    position: absolute;
    top: 15%;
    left: 0;
    z-index: -1;
}

.__home_greeting_contents_box a {
    width: auto;
    padding: 10px 20px;
    border-radius: 25px;
    font-size: 0.9em;
    border: solid 1px #425DA9;
    transition: 1s;
    margin-top: 20px;
}

.__home_greeting_contents_box a:hover {
    background: #ffffff;
    color: #425DA9;
    transition: 1s;
}

/***********************************/
/*        　　診療内容　　　　　　　　*/
/***********************************/
.__home_diagnosis_box {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
}

.__home_diagnosis_box>ul {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 40px;
}

.__home_diagnosis_box>ul>li {
    width: 48%;
    display: flex;
    justify-content: space-between;
    background-color: #ffffff;
    border: solid 1px #dedede;
    padding: 40px;
    margin-bottom: 40px;
    position: relative;
}


.__home_diagnosis_box>ul>li:nth-child(1),
.__home_diagnosis_box>ul>li:nth-child(2) {
    width: 100%;
}

.__home_diagnosis_box>ul>li:nth-child(1)>div>ul>li {
    width: calc((100% / 3) - 20px);

}


.__home_diagnosis_box_item_img {
    width: 20%;
    aspect-ratio: 1 / 1;
}

.__home_diagnosis_box_item_img img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.__home_diagnosis_box_item_contents {
    width: 100%;
    height: auto;
    display: flex;
    flex-flow: column;
}

.__home_diagnosis_box_item_contents>p {
    padding: 10px;

}

.__home_diagnosis_box_item_contents h3 {
    margin: 0 10px 10px;
    display: flex;
    justify-content: flex-start;
    font-weight: normal;
}

.__home_diagnosis_box_item_contents h3 svg {
    width: 38px !important;
    aspect-ratio: 1 / 1;
    color: #425DA9;
}

.__home_diagnosis_box_item_contents_title {
    margin-left: 10px;
    display: flex;
    justify-content: left;
    flex-flow: column;
}

.__home_diagnosis_box_item_contents_title p {
    text-align: left;
    font-size: 0.8em;
}

.__home_diagnosis_box_item_contents_title span {
    font-size: 0.4em;
}

.__home_diagnosis_box_item_contents ul {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    margin-top: 10px;
}

.__home_diagnosis_box_item_contents ul li {
    width: calc((100% / 2) - 20px);
    display: flex;
    justify-content: center;
    align-items: stretch;
    margin: 10px 10px 10px;
    position: relative;
}

.__home_diagnosis_box_item_contents ul li::after {
    content: '';
    position: absolute;
    bottom: 0px;
    right: 0px;
    border-bottom: solid 20px #425DA9;
    /*   border-top: solid 20px transparent; */
    border-left: solid 20px transparent;
    /*border-right: solid 20px transparent;*/
}

.__home_diagnosis_box_item_contents ul li:hover::after {
    border-bottom: solid 20px #ffffff;
}

.__home_diagnosis_box_item_contents ul li a {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    padding: 20px 20px;
    border: solid 1px #ededed;
    font-size: 14px;
    transition: 1s;
}

.__home_diagnosis_box_item_contents ul li a:hover {
    background: #425DA9;
    color: #ffffff;
    transition: 1s;
}

.__home_diagnosis_box_item_contents ul li a svg {
    width: 48px;
    height: 48px;
    margin-bottom: 10px;
}

.__home_diagnosis_box_item_contents ul>li>a>span {
    font-size: 0.8em;
}

.__home_diagnosis_box_item_contents ul li a p span {
    font-size: 0.8em;
}

.__home_diagnosis_box_item_contents_table {
    width: 100%;
    height: auto;
    margin-top: 20px;
}

.__home_diagnosis_box_item_contents_table p {
    width: 100%;
    padding: 10px;
    font-size: 0.8em;
}

.__home_diagnosis_box_item_contents_table table {
    width: 100%;
    height: auto;
    font-size: 0.8em;
}

.__home_diagnosis_box_item_contents_table table tr td {
    border: solid 1px #dedede;
    padding: 20px;
    vertical-align: middle;
}

.__home_diagnosis_box_item_contents_table table tr td:first-child {
    border-left: none;
}

.__home_diagnosis_box_item_contents_table table tr td:last-child {
    border-right: none;
}

.__home_diagnosis_box_item_contents_button_box {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.__home_button {
    max-width: 180px;
    padding: 10px 20px;
    border-radius: 25px;
    font-size: 0.9em;
    border: solid 1px #425DA9;
    transition: 1s;
    margin-top: 20px;
    text-align: center;
}

.__home_button:hover {
    background: #ffffff;
    color: #425DA9;
    transition: 1s;
}

/**********　スライダー　start　************/
#__home_bottom_slider>.swiper-containers {
    width: 100%;
    height: 250px;
    overflow: hidden;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    _::-webkit-full-page-media, _:future, #__home_bottom_slider>.swiper-containers {
        width: 100%;
        height: 250px;
        overflow: hidden;
    }
  }


#__home_bottom_slider>div>div>.swiper-slide {
    aspect-ratio: 1 / 1;
    height: 250px;
}

#__home_bottom_slider>div>div>.swiper-slide img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

#__home_bottom_slider>.swiper-containers .swiper-wrapper {
    transition-timing-function: linear;
}

/**********　スライダー　end  ************/