@charset "utf-8";

@media(max-width:960px) {
html{
		font-size: 80.5%!important;
}
body {
	font-family:"Meiryo", sans-serif;
	width: 100%;
}

a, a:hover{
	text-decoration: none;
}

header{
	width: 100%;
	height: auto;
	margin: 0 auto;
}



/* グローバルナビ */
#header_navi{
	display: none;
}

#gnav{
	height: 0px;
	background: none;
	z-index: 100;
}

.menu{
	display: none!important;
}

#nav_toggle{
	display: block;
}

.slicknav_menu{
	display: block;
    width: 100%;
	position: fixed;
	top: 0;
	left: 0;
    z-index: 10000;
    height: 7.0rem;
	background-color: #fff!important;
	align-items:center!important;
    padding-left: 18px;
}

.slicknav_menu:after{
	content: '';
	display: inline-block;
	width: 83%;
	height: 7.0rem;
	background-image: url(../images/logo.png);
	background-size: auto 2.2rem;
	background-repeat: no-repeat;
	background-position: left center;
	position: absolute;
	top: 0;
}

@media (orientation: landscape){
.slicknav_menu:after{
	background-size: auto 2.2rem;
}
}

.slicknav_nav ul{
	margin: 0;
	padding:1.6rem 0;
}

.slicknav_nav li{
	display: inline-block!important;
	padding: 0!important;
	margin: 0!important;
	width: 95%;
}

.slicknav_nav li a{
	padding: 0 5%;
	margin: 0;	
	font-size: 1.0rem;
	line-height: 4.5rem;
	border-bottom: 1px solid #fff;
}

.slicknav_nav .sel a, .slicknav_nav a:hover{
	background: #c80435;
	border-radius: 0;
    color: #fff!important;
    
}

#gnav{
	display: none;
}

.slicknav_btn{
	height: 3.0rem!important;
	position: fixed;
	right: 2%;
	top: 1.6rem;
	background: url(../images/menu_icon.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

.active{
	background-color: #fff;
    height: 100% !important;
    overflow: auto !important;
}

.active .slicknav_btn{
	height: 3.2rem!important;
	position: fixed;
	right: 2%;
	top: 1.6rem;
	background: url(../images/menu_icon.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

.slicknav_nav ul {
    height: 100% !important;
    overflow: auto !important;
    padding-right: 16px;
}

.slicknav_open{
	height: 8.0rem!important;
	overflow: hidden!important;
	transition-duration: 1.0s;
}

.slicknav_menu .slicknav_icon-bar{
	display: none;
}

.sp_navi{
	margin-top: 5.0rem!important;
}
.sp_navi li a{
	margin-left: 1.0em;
	font-size: 1.6rem;
	background-color: #fef1ee;
	color: #000!important;
}

.sp_navi .list{
	padding-top: 2.0rem!important;
	border-bottom: none;
}
.sp_navi .list a{
	height: 4.5rem;
	display: inline-block;
	background-color: none!important;
	background-color: #fff;
}

.sp_navi li .tel{
	width: 50%;
	background-image: url(../images/tel.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	margin-left: 10%
}

.sp_navi li .inquiry{
	width: 50%;
	background-image: url(../images/inquiry.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

.sp_navi li .facebook{
	width: 20%;
	background-image: url(../images/facebook.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

/* 共通 */

#page-top {
	position: fixed;
	right: 5%;
	bottom: 2.0rem;
}
#page-top a {
	display: block;
	padding: 10px;
}

#page-top a:hover {
	opacity: 0.5;
}

footer{
	width: 100%;
	margin: 0 auto;
	background:#303030;
}

footer .footer_navi{
	width: 80%;
	padding: 0 10%;
	padding-top: 1.0rem;
	padding-bottom: 30px;
	height: auto;
	margin: 0 auto;
	display: block;
	justify-content: inherit;
}

footer .footer_navi .address {
  line-height: initial;
  width: 100%;
padding-top: 20px;
  flex-direction: column;
}

footer .footer_navi .address .address_1 {
  font-size: 20px;
  font-weight: bold;
  background-repeat: no-repeat;
  padding-top: 12px;
  padding-left: 12px;
  
}

footer .footer_navi .address .address_2 {
  font-weight: normal;
  font-size: 16px;
}

footer .footer_navi ul li{
	text-indent: -2.5em;
	margin-left: 4.6em;
}

footer .footer_navi ul li a{
	font-size: 1.2rem;
	margin-bottom: 0.5em;
}

footer .footer_navi .sitemap {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-flex-direction: column;
    flex-direction: column;
    margin-top: 50px;
}

footer .copy{
	text-align: center;
	font-size: 1.1rem;
	line-height: 1.0em;
	width: 90%;
	padding: 0 5%;
	padding-top: 1.5em;
	padding-bottom: 1.5em;
}


/* トップ */

header{
	margin-top: 7.0rem;	
}

header .zoomslider{
	height: auto;
	z-index: 1;
	position: relative;
}

header .zoomslider:before{
  content: "";
  display: block;
  padding-bottom: 69%;
}

header #mv_read{
	width: 100%;
	height: auto;
}

header #mv_read:before{
  content: "";
  display: block;
  padding-bottom: 69%;
}

header #mv_read .inn{
	padding-top: 4.0rem;
}
header #mv_read .inn > div{
	display: flex;
	justify-content: center;
	align-items: center;
}

header #mv_read p{
	font-family: serif;
	font-weight: bold;
	font-size: 1.6rem;
	padding: 0 0.05em;
	line-height: 1.5em;
	color: #fff;
	text-shadow: 1px 1px 5px #000;
}

section#top{
	width: 100%;
	margin: 0 auto;
	padding: 3.0rem 0;
	display: block;
	justify-content: inherit;
}

#top .top_greeting {
  width: 100%;
  filter: drop-shadow(0px 2px 4px rgba(0,0,0,0.3));
  text-align: center;
}

#top .info-area{
	width: 96%;
	max-width: 786px;
	padding: 2.4rem 0;
	height: auto;
}

#top .info-area .news p {
  font-size: 14px;
  line-height: 1.4em;
}

#top .info-area .ttl{
	width: 94%;
	margin: 0 auto;
}

#top .info-area .ttl h2{
	font-size: 1.8rem;
	height: 1.8rem;
}

#top .info-area .ttl p{
	height: 2.8rem;
}

#top .info-area .news{
  height: 150px;
  width: 94%;
  padding: 0 4%;
    padding-top: 0px;
    padding-bottom: 0px;
  padding-top: 15px;
  padding-bottom: 25px;
  overflow-y: scroll;
}


#top .info-area .news > div{
	width: 98%;
	padding-bottom: 0.2em;
	margin-bottom: 16px;
	border-bottom: 1px dashed #000000;
}

#top .info-area .news p{
	font-size: 1.3rem;
}

.box_more {
  position: relative;
  font-size: 15px;
  width: 130px;
}

.box_more a {
  background: transparent url(../images/ico_arr01.png) no-repeat 0 5px !important;
  padding: 0 0 0 17px;
  text-decoration: none !important;
  font-size: 15px;
  font-weight: bold;
  color: #666;
}

#top .book_introduction{
	width: 100%;
	padding: 2.0rem 0 1.0rem;;
	height: auto;
}

#top .book_introduction h2{
	font-size: 1.8rem;
	line-height: 1.3em;
	margin: 0 5%;
}

#top .book_introduction .link{
	position: absolute;
	right: 5%;
	top: 2.0rem;
}

#top .bx-wrapper{
	margin: 1.5rem auto!important;
	min-width: 0;
	width: 80%;
}

#top .book_introduction .slide_s li{
	width: 33%;
}

#pick_up .inn .cate ul li{
font-size: 15px;
}

#top .book_introduction .slide_s li .book_introduction_img{
	width: 90%;
	height: auto;
	overflow: hidden;
}

#top .book_introduction .slide_s li .book_introduction_img img{
	width: 100%;
	height: auto;
}

#top .book_introduction .slide_s li .book_introduction_txt{
	width: 90%;
	font-size: 1.0rem;
	line-height: 1.3em;
	margin: 12px auto 0;
}

#top .book_introduction .slide_s li .book_introduction_txt.en{
	font-size: 0.8em;
}


#top .book_introduction .bx-wrapper .bx-prev, #top .book_introduction .bx-wrapper .bx-next {
	top: 8.0rem!important;
}

#pick_up{
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 3.0rem 0 1.0rem;
	background-image: none;
	text-align: center;
}

#pick_up .inn{
	width: 100%;
	max-width: 767px;
	margin: 0 auto;
    justify-content: center;
      gap:30px;
}

#pick_up h2{
	font-size: 2.6rem;
	line-height: 1.0em;
      color: #000;
  font-weight: bold;
  padding-bottom: 8px;

}

#pick_up .inn .banner{
	margin: 0 auto;
	display: flex;
	justify-content: center;
	filter: drop-shadow(0px 2px 4px rgba(0,0,0,0.3));
}

#pick_up .inn .banner:nth-child(2n) {
	margin: 0 auto;
}

#pick_up .inn .banner a{
	width: 90%;
	height: auto;
	overflow: hidden;
}

#pick_up .inn .banner a img{
	width: 90%;
	transition-duration: 1.0s;
	margin-bottom: 2.0rem!important;
}

#pick_up .inn .banner a:hover img{
	transform: scale(1.0);
	transition-duration: 1.0s;
}

/* コンテンツ */
header #mv{
	width: 100%;
	max-width: 960px;
	height: auto;
}

header .patients, header .intern, header .medical_personnel, header .others{
	background-size: 100% auto;
}


header #mv .inn{
	width: 100%;
	max-width: 767px;
	height: auto;
	position: relative;
}

header .patients .inn, header .intern .inn, header .medical_personnel .inn, header .others .inn{
	background-size: cover;
}

header #mv .inn .ttl{
	position: relative;
	font-size: 2.0rem;
	line-height: 1.0em;
	padding: 1.0em;
	color: #fff;
	right: 0;
	top: 0;
	text-align: center;
}

header .greeting {
  background: url(../images/page_mv02.jpg);
    background-position-x: 0%;
    background-position-y: 0%;
    background-repeat: repeat;
  background-repeat: no-repeat;
  background-position: center bottom;
}

header #pankuzu{
	height: auto;
}

header #pankuzu ul{
	width: 94%;
	padding: 0.5em 0;
}

header #pankuzu li{
	font-size: 1.4rem;
	line-height: 1.4em;
}

#content{
	width: 94%;
	padding: 0 3%;
	padding-top: 2.0rem;
	padding-bottom: 2.0rem;
	display: block;
	justify-content: inherit;
}

/*スタッフ紹介*/

.mar_t_40 {
	padding-top: 20px;
	padding-bottom: 30px;
	margin-bottom: 20px;
}

.study {
    padding-bottom: 1em;
    margin-bottom: 16px;
    border-bottom: 1px dashed #000000;
}

.study_box {
    margin: 1em 0;
    padding: 5px 0 10px 0;
    background-color: #f6f6f6;
    border: 1px solid #999;
    border-radius: 10px;
    margin-left: 0.5em;
    text-decoration: none;
}

.study_box ul{
	list-style: none;
}
.study_box li{
    display: inline;
    margin-right: 15px;
}

.study_box ul li a{
	display: inline-block;
	vertical-align: middle;
	color: #323232;
	font-size: 16px;
	line-height: 1.4em;
	margin-bottom: 7px;
	color: #2d2d2d;
}

.study_box ul li a:hover{
	color: #0099cc;
}

/* 丸リスト*/
#content section ul{
	color: #3c3c3c;
	font-size: 16px;
	line-height: 1.7em;
	margin: 20px 0 0 1em;
}

#content section ul a{
    padding-left: 14px;
    background: transparent url(../images/ico_arrow_02.png) no-repeat 3px center;
	text-decoration: underline;
}

#content section ul a:hover{
	opacity: 0.5;	
	text-decoration: none;
}

#content section ul a[target$='_blank']{
    padding-left: 21px;
    background: transparent url(../images/ico_web.png) no-repeat 3px center;
}

/* 数リスト*/
#content section ol{
	color: #3c3c3c;
	font-size: 16px;
	line-height: 1.7em;
	margin: 20px 0 20px 2.5em;
}

#content section ol a{
	color: #3c3c3c;
    padding-left: 14px;
    background: transparent url(../images/ico_arrow_02.png) no-repeat 3px center;
	text-decoration: underline;
}

#content section ol a:hover{
	opacity: 0.5;	
	text-decoration: none;
}

#content section h1{
	font-weight: normal;
	font-size: 1.8em;
	padding: 8px 8px 8px 0;
	margin:0 0 30px 0;
	line-height: 1.4;
	color: #2d2d2d;
	border-bottom: solid 3px #ffc9ce;
	position: relative;
}

#content section h1::after{
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #e02e40;
  bottom: -3px;
  width: 20%;
}

#content section h2{
  margin: 1.5em 0;
  padding: 10px;
  font-size: 1.2em;
  font-weight: normal;
  line-height: 1.4;
  background-color: #99ccff;
}

#content section h3{
  margin: 1.5em 0 1em 0;
  font-size: 1.1em;
  font-weight: 500;
  line-height: 1.4;
  border-left: 10px solid #49d2cd;
  padding-top: 4px;
  padding-left: 16px;
}

#content section h4 {
    font-size: 18px;
    font-weight: bold;
    padding: 8px 0px;
	margin: 15px 0;
}

.box {
  margin: 1em 0 1em 10px;
  padding: 7px 15px;
  background-color: #f6f6f6;
  border: 1px solid #999;
  border-radius: 10px;
}

/* 表*/
table.main_table {
    width: 100%;
    padding: 0;
    margin: 1.5em auto;
    border: solid 1px #CCC;
    font-weight: normal;
    font-size: 14px;
	color: #333;
	font-family: "Meiryo", sans-serif;
    border-collapse: collapse;
    border-spacing: 0;
    background-color: white;
	line-height: 1.9em;
}

table.staff th {
    width: 12%;
}

table.main_table th {
    background: #e5f0f4;
    border-bottom: 1px solid #CCC;
    border-right: 1px solid #CCC;
    padding: 6px;
    vertical-align: middle;
    line-height: 1.4;
    font-weight: bold;
    text-align: center;
}

table.main_table td {
    border-bottom: 1px solid #CCC;
    border-right: 1px solid #CCC;
    vertical-align: middle;
    padding: 6px;
}

table.main_table td.point {
    background: #f5f5f5;
    text-align: center;
}

table.main_table td.small {
    font-size: 12px;
    padding: 2px;
    text-align: center;
}

table.staff td.room {
    text-align: center;
}

th, td {
    font-weight: normal;
}

#content #side_navi{
	width: 100%;
	max-width: 960px;
	padding-bottom: 3.0rem;
}

#content #side_navi #title_submenu{
	font-size: 1.8rem;
	width: 100%;
	text-align: center;
	cursor: pointer;
	color: #fff;
	background-color: #3c3c3c;
	height: 5.0rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background-image: url(../images/submenu_back.png);
	background-repeat: no-repeat;
	background-position: right 2% center;
	background-size: auto 40%;
}

#content #side_navi ul li{
	font-size: 1.8rem;
	width: 100%;
	height: 5.0rem;
      box-sizing: border-box;
}

#content #side_navi ul li:first-child{
	border-top: none;
}

#content #side_navi ul li a{
	height: 5.0rem;
    position: relative;
    bottom: 1px;
}

#content section{
	width: 100%;
	height: auto;
	min-height: inherit;
	margin-left: 0;
	padding: 2.0rem 0;
    
}

#content section p{
	font-size: 1.1rem;
	line-height: 1.6em;
}

.fltlft {
    text-align: center;
}

.news > div {
    width: 100%;
    padding-bottom: 0.2em;
    margin-bottom: 16px;
    border-bottom: 1px dashed #000000;
}

@media (orientation: landscape){
#content section p{
	font-size: 1.1rem;
	line-height: 1.6em;
}

#content div.scroll{
overflow-x: scroll;
}
