body {
    background-color: #ffffff;
    margin: 0;
    padding: 0;
    /* color: #626b71; */

}

h1,
h2,
h3,
h4,
p,
ul,
li,
table,
tr,
th,
td,
dl,
dt,
dd {
    margin: 0;
    padding: 0;
}
.raiin_top{
    width: 100%;
    height: 200px;
    background-image: url(../img/topimg3.webp);
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: cover;
}
.nyuin_top{
    width: 100%;
    height: 200px;
    background-image: url(../img/hospital9.webp);
    background-repeat: no-repeat;
    background-position:50% 30% ;
    background-size: cover;
}
/* .top_img .raiin_top img {
    width: 100%;
    height: 50vh;
} */
.cancer{
    background-image: url(../img/hospital6.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.care{
    background-image: url(../img/hospital8.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.privateroom{
    background-image: url(../img/hospital11.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.robot{
    background-image: url(../img/hospital7.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.top_img .news_top{
    width: 100%;
    height: 300px;
} 


.contener {
    padding:50px;
    /* padding-top: 50px;
    padding-bottom:50px; */
}
.contents{
    padding-top: 50px;
    padding-bottom:50px;
}
.contents .title {
    width: 100%;
margin-top: 10px;
margin-bottom: 50px;
    height: 4vh;
    /* padding: 10px 0; */
}

.contener .title h1 {
    width: 100%;
    /* height: 10vh; */
    padding: 10px;
    position: relative;
    /* font-size: 1.5em; */
    height: 100%;
    font-size: 3vh;
}

.contener h1::before {
    content: '';
    position: absolute;
    top: 0px;
    left: -10px;
    content: "";
    background-color: #171e79;
    width: 7px;
    height: 100%;
}

.contents div p span {
    display: block;

}



.contents .sub_title {
    width: 100%;
    /* display: flex;
    flex-direction: row; */

    padding: 20px 0;
}

.contener h2 {
    position: relative;
    /* font-size: 1.3em; */
    font-size: 2.4vh;
}

.contener h2::before {
    content: '';
    position: absolute;
    top: 0px;
    left: -10px;
    content: "";
    background-color: #171e79;
    width: 4px;
    height: 100%;
}

.contents .tel dl {
    padding: 15px;
    background-color: #b9b9b9;
}

.contents .tel dl dt {
    font-size: 2em;
}

.contents .tel dl dd {
    font-size: 1.5em;
    background-color: #1b04a1;
    color: rgb(255, 255, 255);
}

.tel{
    margin-top: 50px;
    margin-bottom: 50px;
}
table {
    border: 2px solid #CBC4B7;
    /*線の色の設定*/
    border-collapse: collapse;
}

table tr {
    display: flex;
    /* display: table-cell; */
    align-items: center;
}

/* .business_hours table tr .business_hours_data{
    display: flex;
    flex-direction: column;
} */
table tr th {
    min-width: 4em;

    padding: 16px;
    font-size: 0.875rem;
    /*文字サイズの設定*/
    line-height: 1.7;
    /*行間の設定*/
    text-align: left;
    white-space: nowrap;
    /*scope="row"のエリアの文字を改行無しにする*/
    font-weight: normal;
}

table tr td {
    /* border-bottom: 2px solid #CBC4B7; */
    padding: 16px;
    background-color: #fff;
    font-size: 0.875rem;
    line-height: 1.7;
}

table .bh {
    border-bottom: 2px solid #CBC4B7;
}

table .business_hours_data,
table .holiday_data {
    border-left: 2px solid #CBC4B7;
}

/* .contents .title h1,.contents .sub_title h2{
     font-size: 1.5vh;
} */
.kyukyu_photo {
    padding: 25px 40px;
    /* width: 100%; */
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.kyukyu_photo img {
    max-width: 80%;
    /* height:55vh; */
}

.sinryou_contents ul {
    width: 100%;
    list-style: none;
    display: flex;
    flex-direction: column;
    /* justify-content:center; */
    /* padding:30px; */

}

.sinryou_contents ul li {
    /* position: relative; */
    max-width: 100%;
    height: 50px;
    margin: 10px;

    /* padding:30px; */

}

.sinryou_contents ul li a {
    background-color: #5139d6;
    height: 100%;
    width: 100%;
    font-size: 2.2vh;
    text-decoration: none;
    display: flex;
    justify-content: row;
    align-items: center;
    border: 1px solid #000000;
    color: #ffffff;

}

.sinryou_contents ul li a img {
    width: 30px;
    height: 30px;
    margin-right: 30px;
    margin-left: 30px;

}




.geka_title_bg,.naika_title_bg,.hifuka_title_bg{
    
    display: flex;
    flex-direction: row;
    justify-content: center;
    width:100%;
   
}

.geka_bg_img,.hifuka_bg_img,.naika_bg_img{
    margin: 15px;
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 80%;
    height: 17vh;
    background-image: url(../img/sinryou_title2.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
}

.geka_bg_img span,.naika_bg_img span,.hifuka_bg_img span{
    font-size: 5vw;
    padding-left:10%;
}


.naika_title_bg .naika_title span,
.geka_title_bg .geka_title span {
    font-size: 5vw;
}

.hifuka_title_bg .hifuka_title span {
    font-size: 5vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-130%, -30%);
}




.sinryou_naiyou_text p,
.sinryou_jiseki_text p {
    width: 90%;
    padding: 10px;
}

.sinryou_naiyou_text p span,
.sinryou_jiseki_text p span {
    display: block;

}

.sinryou_department_contents div {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.sinryou_department_contents div ul {
    list-style: none;
    width: 80%;
    display: flex;
    flex-direction: column;
}

.sinryou_department_contents ul li {
    max-width: 100%;
    height: 50px;
    margin: 10px;
}

.sinryou_department_contents ul li a {
    background-color: #5139d6;
    height: 100%;
    width: 100%;
    font-size: 2.2vh;
    text-decoration: none;
    display: flex;
    justify-content: row;
    align-items: center;
    border: 1px solid #000000;
    color: #ffffff;

}

.sinryou_department_contents ul li a img {
    width: 30px;
    height: 30px;
    margin-right: 30px;
    margin-left: 30px;

}




.sinryou_department_contents .sinryou_naiyou {
  
    display: none;
    transition: 1s;
}

.sinryou_department_contents .sinryou_jiseki {
    display: none;
    transition: 1s;
}

.sinryou_department_contents .sinryou_naiyou.active {
 
    display: block;

}

.sinryou_department_contents .sinryou_jiseki.active {
    display: block;

}

.sinryou_department_contents .btn_naiyou,
.sinryou_department_contents .btn_jiseki {
    background-color: #5139d6;
    color: #ffffff;

}

.sinryou_department_contents .btn_naiyou.active,
.sinryou_department_contents .btn_jiseki.active {
    background-color: #ffffff;
    border: 1px solid #190675;
    color: #000000;
    transition: 1s;

}

.sinryou_department_contents .btn_naiyou img,
.sinryou_department_contents .btn_jiseki img {
    transform: rotate(0deg);
    width: 30px;
    height: 30px;

}

.sinryou_department_contents .btn_naiyou img.active,
.sinryou_department_contents .btn_jiseki img.active {
    transform: rotate(90deg);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    transition: 1s;
}

.sinryou_naiyou_sabtitle,
.sinryou_jiseki_sabtitle {
    color: #1b04a1;
    border-bottom: 1px solid rgb(23, 23, 117);
}



.annai_title {
    display: flex;
    flex-direction: row;
    justify-content: center;
width: 50%;

}
.annai_contener .annai{
    /* padding: 10px; */
    margin-top: 50px;
    margin-bottom: 50px;
    width: 100%;
    height: auto;
    display:flex;
    flex-direction: column;
    align-items: center;
}
.annai_title h1{
    padding-top: 10px;
    max-width:90%;
    position: relative;
    text-align: center;
    font-size: 1.5rem;
}
.annai_title h1:before{

    content: '';
    border-top: 4px solid #130872;
    display: block;
    position: absolute;
    width: 50px;
    left: calc(50% - 25px);/*50pxのボーダーラインを左から真ん中に持ってくる*/
    bottom:0;
    
}

.annai_contents{
    
    display: flex;
    justify-content: center;
    width: 60%;
}

.annai_contents ul {
    margin: 10px; 
    list-style: none;
    width: 100%;
}

.annai_contents ul li {
    

    max-width: 100%;
    height: 40px;
    margin: 10px;
}

.annai_contents ul li a {
    display: flex;
    /*なぜかdisplayがinline-blockになっていてwidthが効かない状態だったのでdisplayをflexにしてwidthが効くようにした*/
    flex-direction: row;
    align-items: center;
    width: 100%;
    height: 100%;
    background-color: #031ba0;
    text-decoration: none;
}

.annai_contents ul li a img {
   
    width: 20px;
    height: 20px;
    border-radius: 50%;
    margin: 0 30px;
}

.annai_contents ul li a span {
    color: #ffffff;
    font-size: 1rem;
}
.aisatu_bg,.rinen_bg{
    max-width: 70%;
}
.aisatu_bg img,.rinen_bg img{
    width: 100%;
    height: 60%;
}
.aisatu_sub_title,.rinen_sub_title{
    margin: 15px;
    display: flex;
    flex-direction: row;
    justify-content: center;
position: relative;
}
.sub_title_aisatu span,.sub_title_rinen span{
    font-size: 3vw;
    position: absolute;
    top:20%;
    color: rgb(255, 255, 255);
    left:calc(100% - 70%);
}
.doctor{

display: flex;
flex-direction: column;
align-items: center;

}
.doctor_img{
    max-width:50% ;
    max-height:100% ;
}


.doctor dl dt,.doctor dl dd{
    width: 100%;
    font-size: 1em;
    text-align: center;
}
.aisatu_text p{
    margin: 10px;
}

.messege{
    margin: 10px;
    background-color: #c7f0ff;
    padding: 10px;
}
.rinen_text h2{
    border-bottom:1px solid  rgb(23, 23, 117);
}

/* .rinen_bg img{
    width: 100%;
    height: 10vh;
} */


/* .rinen_bg {
    max-width: 80%;
    height: 60%;
} */

.access_info {

margin: 10px;

}
.access_info .access_map iframe{
    max-width:100%;
}
.access_text dl div{
margin-top: 15px;
}
.access_text dl dt{
    /* padding-bottom:10px ; */
    position: relative;
    border-bottom: 1px dotted rgb(134, 134, 134);
}
.access_text dl dt:before{
    content: '';
    position: absolute;
    top: 0px;
    left: -10px;
    content: "";
    background-color: #171e79;
    width: 2px;
    height: 100%;
}
.syozaichi{
    border-bottom: 1px solid rgb(134, 134, 134);
}

.access_text{
    margin: 10px;
}

.news_text{
    margin: 20px 10px;
}

@media(min-width:768px) {
    .contener {
        padding: 0 100px;
    }

    .sinryou_contents {
        width: 100%;
        display: flex;
        flex-direction: row;
        justify-content: center;
    }

    .sinryou_contents ul {
        max-width: 90%;
        list-style: none;
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        justify-content: space-between;
        padding: 30px;
    }

    .sinryou_contents ul li {      
        width: 45%;      
        height: 7vh;

    }
    .sinryou_department_contents {
        /* width: 100%; */
        display: flex;
        flex-direction: column;
    }

    .sinryou_department_contents>div>ul {
        display: flex;
        flex-direction: row;
        justify-content: space-around;
    }

    .sinryou_department_contents>div>ul>li {
        width: 45%;
    }

    .annai_contents{
    
        
        width: 100%;
    }

    .annai_contents ul {
        margin: 10px;
        /* padding: 0 40px; */
        list-style: none;
        max-width: 80%;
        /* display: flex;
        flex-direction: column;
        justify-content: center; */
    }
    
    .annai_contents ul li {
        
    
        width: 100%;
       
    }
    

    .annai_contents ul {
        display: flex;
        flex-direction: row;
        justify-content: space-around;
    }
    
    .access_info{
        display: flex;
        flex-direction: row;
        justify-content: center;
        /* align-items: center; */
    }
}