/*メイン画像
------------------------------*/
/*
.main {display: block; overflow: hidden; position: relative; padding-top: 700px; margin-top: 15px;}

.main img {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); object-fit: cover; object-position: center center; width: 100%; height: 100%; transition: 0.3s;}

@media (max-width: 767px) {
	.main {padding-top: 300px; margin-top: 0;}
}

@media (max-width: 450px) {
	.main {padding-top: 250px;}
}
*/
.main{
	position: relative;
}
.main::after{
	height: 60px;
	content: '';
	width: 100%;
	bottom: 0;
	background: rgba(255, 255, 255, 0.25);
	position: absolute;
}
.slider{
	aspect-ratio: 10/4;
	width: 100%;
	overflow: hidden;
	position: relative;
}
.slider div{
	width: 100%;
	aspect-ratio: 10/4;
	overflow: hidden;
	position: relative;
}
.slider div img{
	width: 100%;
	object-fit: cover;
	object-position:center;
}

.pn {
	position: absolute;
	cursor: pointer;
	height: 0;
	width: 40px;
	height: 40px;
	content: "";
	bottom: 10px;

	transform: translateY(-50%);
	z-index: 1;

  }

  
  .pn.top-prev {
	background: url("../images/arrow_down02.svg") no-repeat;
	background-position: left;
	background-size: auto 100%;
	transform:rotate(90deg);
	left: 0;
  }
  
  .pn.top-next {
	background: url("../images/arrow_down02.svg") no-repeat;
	background-position: right;
	background-size: auto 100%;
	right: 10px;
	transform:rotate(270deg);
  }

  @media (max-width: 767px) {
	.main::after{
		height: 25px;
	}
	.pn {
		width: 15px;
		height: 15px;
		bottom: 5px;
	}
  }

/*新着情報
------------------------------*/
.topnews {display: flex; flex-wrap: wrap;}
.topnews_title {flex-basis: 300px; background: var(--color-green-light); color: #fff; padding: 20px; text-align: center; display: flex; align-items: center;}
.topnews_title h2 {font-weight: 400; font-size: 2.5rem;}
.topnews_title span {display: block;font-size: 1.3rem; margin-bottom: 5px;}
.topnews_content {flex-basis: calc(100% - 500px); background: var(--color-green-ulight); padding: 0 20px;}
.topnews_more {flex-basis: 200px; padding: 0 30px 20px 30px; display: flex; align-items: flex-end; background: var(--color-green-ulight);}

/*新着情報：リスト*/
.topnews_list li {border-bottom: 2px dotted var(--color-sky-slight);}
.topnews_list li:last-child {border-bottom: 0;}
.topnews_list li a {display: block; padding: 15px 15px 15px 100px; line-height: 1.3;}
.topnews_list li a span {display: inline-block; width: 100px; margin-left: -100px; font-size: 1.2rem;}
.topnews_list li a:hover {color: var(--color-green);}
li.topnews_list--sticky a{
	display: inline-block;
	position: relative;
}
.topnews_list--sticky a::after{
	position: absolute;
	content: '';
	width: 20px;
	height: 100%;
	background: url(../images/icon-pin.svg) no-repeat;
	background-position: center;
	background-size: 100% auto;
	left: 100%;
	top: -4px;
}
.topnews_list li a .new_icon{
	color: #fff;
	font-size: 1.2rem;
	display: inline-block;
	padding: 10px 5px 9px;
	background:	#F58220;
	border-radius: 5px;
	line-height: 0;
	letter-spacing: 0.1rem;

}

/*新着情報：ボタン*/
.topnews_button {border: 2px solid var(--color-sky-slight); height: 44px; width: 100%; line-height: 40px; border-radius: 22px; text-align: center; font-size: 1.4rem; transition: 0.3s;}
.topnews_button:hover {background: var(--color-sky-slight);}

/*重要なお知らせ
------------------------------*/
.topnews-important{
	
}
.topnews-important .topnews_title{
	background: #BE1E5A;
}
.topnews-important > .topnews_content{
	flex-basis: calc(100% - 300px);
	background: #FEFAFC;
}
.topnews-important > .topnews_content > .topnews_list li {
	border-bottom: 1px dotted #ccc;
}
.topnews-important > .topnews_content > .topnews_list li:last-child {border-bottom: 0;}
.topnews-important > .topnews_content > .topnews_list li a {
	color: #BE1E5A;
}

@media (max-width: 900px) {
	.topnews_list li a {padding: 15px 0; font-size: 1.2rem;}
	.topnews_list li a span {display: block; width: auto; margin: 0 0 7px 0; font-size: 1.2rem;}
	.topnews_list--sticky a::after{
		left: 100%;
	}
}

@media (max-width: 767px) {
	.topnews_content{
		width: 100%;
	}
	.topnews_title {flex-basis: 100%; padding: 15px 0;}
	.topnews_title h2 {font-size: 1.6rem;}
	.topnews_title span {display: block;font-size: 0.8rem; margin-bottom: 5px;}
	.topnews_content {flex-basis: 100%; padding: 0 20px 0 15px;}
	.topnews_more {flex-basis: 100%;}
	
	.topnews_button {width: 200px; margin: 10px auto 0;}
	.topnews_list li a {
		position: relative;
	}
	.topnews_list li a .new_icon{
		position: absolute;
		left: 105px;
		top: 15px;
	}
}

/*ブロック
------------------------------*/
.block_top {padding: 50px 20px;}
.block_top_inner {max-width: 1100px;}

/*外来担当表
------------------------------*/
.gairai {max-width: 1100px;}

.gairaiblock {display: flex; flex-wrap: wrap;}
.gairaiblock_table {flex-basis: calc(100% - 300px);}
.gairaiblock_info {flex-basis: 300px;padding-left: 30px;}

@media (max-width: 767px) {
	.gairaiblock_table {flex-basis: 100%;}
	.gairaiblock_info {flex-basis: 100%; padding: 30px 0 0 0; max-width: 260px;}
}

/*外来担当表：休診案内*/
.b_kyushin {display: block; border: 1px solid var(--color-green); color: var(--color-green); padding: 7px 10px; border-radius: 13px; display: flex; align-items: center; font-weight: 500; background: #fdfdfd; font-size: 1.5rem; margin-bottom: 10px;}
.b_kyushin img {margin-right: 15px;}
.b_kyushin:hover {background: var(--color-green-slight);}

/*診療・面会について
------------------------------*/
.block_shinryo {padding: 50px 20px; background: var(--color-green-slight);}
.shinryo {display: flex; flex-wrap: wrap; max-width: 1100px;}
.shinryo_content1 {flex-basis: 30%; line-height: 1.6; padding-right: 30px;}
.shinryo_content1 dl{
	margin-top: 20px;
}
.shinryo_content1 dl dt{
	background: var(--color-green);
	padding:3px 5px ;
	color: #fff;
	margin-bottom: 5px;
	font-size: 1.4rem;
}
.shinryo_content1 dl dd{
	font-size: 1.4rem;
	margin-bottom: 10px;
}
.shinryo_content1  b{
	font-weight: boldgairai_table;
}
.shinryo_content2 {flex-basis: 70%;}

@media (max-width: 890px) {
	.shinryo_content1 {flex-basis: 100%; padding: 0 0 40px 0;}
	.shinryo_content2 {flex-basis: 100%;}
}

/*診療日カレンダー
------------------------------*/

.shinryo_cal {display: flex; flex-wrap: wrap;}
.shinryo_cal1 {flex-basis: 50%; padding-right: 30px; aspect-ratio: 374/253;}
.shinryo_cal2 {flex-basis: 50%;}

@media (max-width: 650px) {
	.shinryo_cal1 {flex-basis: 100%; padding: 0 0 20px 0;}
	.shinryo_cal2 {flex-basis: 100%;}
}

/*カレンダー
------------------------------*/
.cal {background: #fff; border-radius: 10px; padding-bottom: 10px;}
.cal_header{padding: 15px 13px;}
.cal_header a,.cal_header span {display:block;}
.cal_header strong{display: block; text-align: center; font-size: 1.5rem; line-height: 21px; letter-spacing: 1px; font-weight:500;}
.cal_prev{float: left; cursor: pointer;}
.cal_next{float: right; cursor: pointer;}

.table_cal {width: 100%; border-collapse: collapse;}
.table_cal th, .table_cal td {font-size: 1.4rem; text-align: center; height: 32px;}

.today{font-weight: bold;}
.close1 {display: inline-block; width: 23px; height: 23px; background:#fcbdbd; border-radius: 50%; line-height: 23px;}
.close2 {display: inline-block; width: 23px; height: 23px; background: #bce6f7; border-radius: 50%; line-height: 23px;}
.close3 {display: inline-block; width: 23px; height: 23px; background: #f1c0fa; border-radius: 50%; line-height: 23px;}

.cal_desc {display: flex; align-items: center; margin-bottom: 10px; font-size: 1.3rem;}
.cal_desc span {flex-basis: 23px; margin-right: 10px;}

/*アクセス
------------------------------*/
.access {display: flex; flex-wrap: wrap; align-items: center;}
.access_map {flex-basis: calc(100% - 350px); padding-right: 40px;}
.access_info {flex-basis: 350px;}
.access_info p{line-height: 1.8rem;}
.access_map_link{
	display: block;
	width: fit-content;
	margin: 20px auto 0;
	background: var(--color-green);
	color: #fff;
	padding: 10px 20px;
	border-radius: 10px;
	
}
.access_map_link:hover{
	background: var(--color-green-light);
}
.map {height: 0; overflow: hidden; padding-bottom: 60%; position: relative;}
.map iframe {position: absolute; left: 0; top: 0; height: 100%; width: 100%;}
.map::after{
	content: '';
	width: 200px;
	height: 20px;
	background: #fff;
	position: absolute;
	left: 10px;
	top: 90px;
}
.access_contact {max-width: 260px; margin: 0;}
.access_traffic_list{
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid #eeeeee;
}
.access_traffic_list li{
	padding:5px 0 5px 30px;
	margin-bottom: 10px;
	font-size: 1.4rem;
	position: relative;
	text-align: left;
}
.access_traffic_list li::before{
	content: '';
	width: 20px;
	height: 20px;
	background: var(--color-green);
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.access_traffic_list li.train::before{
	background: url(../images/icon_train.png) no-repeat;
	background-position: center;
	background-size: auto 100%;
}
.access_traffic_list li.bus::before{
	background: url(../images/icon_bus.png) no-repeat;
	background-position: center;
	background-size: auto 100%;
}
.access_traffic_list li.car::before{
	background: url(../images/icon_car.png) no-repeat;
	background-position: center;
	background-size: auto 100%;
}
@media (max-width: 945px) and (min-width: 851px) {
	.map::after{display: none;}
}
@media (max-width: 850px) {
	.access_map {flex-basis: 100%; padding: 0 0 30px 0;}
	.access_info {flex-basis: 100%; text-align: center;}
	.map {padding-bottom: 75%;}
	.access_contact {margin: 0 auto;}
	.map::after{display: block;}
	.access_traffic_list{
		width: fit-content;
		margin: 10px auto 0;
	}
}
@media (max-width: 460px) {
	.map::after{display: none;}
}

.shinryo_content1_more{
	border: 1px solid var(--color-green);
	padding: 10px;
	border-radius: 5px;	
	background: #fff;
	font-weight: bold;
	text-align: center;
}
.shinryo_content1_more a{
	color: var(--color-red);
	text-decoration: underline;
	font-weight: 900;
}