/*--------------------------------------------------------------
	サイドバーのスタイル
--------------------------------------------------------------*/
.widget__wrap {
	display: block;
}

.widget .widget__block + .widget__block {
	margin-top: 30px;
}

.widget .widget__title {
	color: #fff;
	text-align: center;
	font-size: 16px;
	font-size: 1.6rem;
	margin: 0;
	padding: 5px 0;
	position: relative;
	border-radius: 5px;
	cursor: pointer;
}

.widget__block li {
	padding-left: 15px;
	position: relative;
	list-style: none;
	border-bottom: 1px dashed #d8d8d8;
}

.widget__block li::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 5px;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	font-family: "fontawesome";
	font-weight: 900;
	content:'\f0da';
}

.widget__block li a {
	padding: 12px 0px;
	box-sizing: border-box;
	display: block;
	text-decoration: none;
}

.widget .widget__wrap h4 {
	font-size: 18px;
	font-size: 1.8rem;
	padding-bottom: 0;
	border-bottom: 1px solid #ddd;
	margin: 0;
	margin-bottom: 20px;
}

.widget .widget__wrap ul {
	padding: 0;
}

.widget .widget__wrap ul li {
	/*widget内 liの設定*/
	line-height: 1;
	padding: 0 0 15px;
	overflow: visible;
}

.widget__info__program {
	width: 220px;
	margin: 0 auto;
}

.widget__block .required {
	font-size: 13px;
	font-size: 1.3rem;
	margin-top: 0;
	margin-bottom: 5px;
}

.widget__info__program dd {
	margin: 0 0 10px;
	text-align: right;
	white-space: nowrap;
	width: 130px;
	float: left;
	line-height: 1;
	font-size: 18px;
	font-size: 1.8rem;
}

.widget__info__program dt {
	margin: 0 0 10px;
	text-align: left;
	white-space: nowrap;
	width: 90px;
	float: left;
	line-height: 1;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: normal;
}

.widget .widget__link a {
	display: block;
	line-height: 30px;
	text-align: center;
	text-decoration: none;
	border: 1px solid #1bcddb;
	color: #666;
	background: #fff;
}

.widget .widget__link a:hover {
	color: #1bcddb;
}

.widget .widget__common__point {
	position: relative;
	display: inline-block;
	margin: 0 0 10px;
	padding: 3px 10px;
	width: 100%;
	color: #666;
	font-size: 16px;
	background: #FFF;
	border: solid 1px #ddd;
	box-sizing: border-box;
	line-height: 1.5;
	text-align: center;
}

.widget .widget__common__point:before {
	content: "";
	position: absolute;
	bottom: -24px;
	left: 50%;
	margin-left: -15px;
	border: 12px solid transparent;
	border-top: 12px solid #FFF;
	z-index: 2;
}

.widget .widget__common__point:after {
	content: "";
	position: absolute;
	bottom: -28px;
	left: 50%;
	margin-left: -17px;
	border: 14px solid transparent;
	border-top: 14px solid #ddd;
	z-index: 1;
}

.widget .widget__common__point p {
	margin: 0;
	padding: 0;
}

.widget .widget__contact__txt {
	text-align: center;
	font-size: 12px;
	font-size: 1.2rem;
	margin-top: 10px;
}

.widget #wp-calendar #next {
	/*カレンダーの次へを右寄せに*/
	text-align: right;
}

.widget + .widget {
	margin-top: 30px;
}

.widget__medical__subject {
		margin-left: 20px;
}

.widget__medical__subject li {
		position: relative;
		padding-left: 25px;
}


.time_area {
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
}

/* tableの設定*/
table.table__border__coloring {
	position: relative;
	width: 100%;
	margin: 0 0 40px;
	border-radius: 10px;
	box-shadow: 0px 10px 10px 0px rgba(0, 0, 0, 0.1);
	/*table内のセルの設定*/
	/* tableのtdの設定*/
	/* tableのthの設定*/
}

table.table__border__coloring thead th {
	background-color: #ebebeb;
}

table.table__border__coloring thead th:first-child {
	border-radius: 10px 0 0 0;
}

table.table__border__coloring thead th:last-child {
	border-radius: 0 10px 0 0;
}

table.table__border__coloring th,
table.table__border__coloring td {
	text-align: center;
}

table.table__border__coloring th {
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: normal;
	border-bottom: none;
	padding: 7px 0;
}

table.table__border__coloring td {
	font-size: 20px;
	font-size: 2.0rem;
	line-height: 1;
	padding: 28px 0;
	background: #fff;
}

table.table__border__coloring tbody th {
	border-left: none;
	border-right: none;
}

table.table__border__coloring::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 999;
}

table.table__border__coloring th:first-child {
	text-align: left;
	width: 38%;
	padding: 0 0 0 30px;
}

.time_area table.table__border__coloring th:first-child {
	width: 27%;
	padding: 0 0 0 50px;
}

table.table__border__coloring tr:last-child td {
	border-bottom: none;
}

table.table__border__coloring tbody tr:first-child {
	border-bottom: 1px dashed #d8d8d8;
}

table.table__border__coloring tbody tr:last-child th:first-child {
	border-radius: 0 0 0 10px;
}

table.table__border__coloring tbody tr:last-child td:last-child {
	border-radius: 0 0 10px 0;
}

table.table__border__coloring::before {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}


@media screen and (min-width: 768px) and ( max-width: 1024px) {
	table.table__border__coloring th:first-child {
		width: 25%;
	}

	.time_area table.table__border__coloring th:first-child {
		width: 25%;
		padding: 0 0 0 30px;
	}

}



@media screen and (max-width : 767px) {
	.time_area {
		max-width: unset;
		width: 100%;
		margin: 0;
	}

	table.table__border__coloring th {
		font-size: 15px;
		font-size: 1.5rem;
	}

	table.table__border__coloring::before {
		width: 100%;
		height: 100%;
	}

	table.table__border__coloring th:first-child {
		padding: 0 0 0 15px;
	}

	.time_area table.table__border__coloring th:first-child {
		width: 30%;
		padding: 0 0 0 15px;
	}


}



/*--------------------------------------------------------------
	calendar widgetのカレンダーの設定
--------------------------------------------------------------*/
#wp-calendar th,
#wp-calendar td {
	/*カレンダーのセルの設定*/
	padding: 3px;
	text-align: center;
	vertical-align: middle;
}

#wp-calendar #today {
	/*今日の設定*/
	background: #ccc;
}

#wp-calendar tbody th a,
#wp-calendar tbody td a {
	/*リンクの文字の設定*/
	font-weight: bold;
	color: #999;
}

.widget-medical_subject {
	margin-left: 0;
}

.widget-medical_subject li {
	list-style: disc inside;
	position: relative;
	padding-left: 25px;
}



@media screen and (min-width: 768px) and ( max-width: 1024px) {

}



@media screen and (max-width : 767px) {
	.widget__wrap {
		display: none;
		background: #f6f6f6;
		padding: 20px;
		margin-bottom: 30px;
	}

	.widget__wrap .widget__common a img {
		margin: 0 auto;
	}

	.widget {
		/*widgetの１blockの設定*/
		margin-bottom: 0;
	}

	.widget dt,
	.widget dd {
		/*widget内の定義リスト内*/
		text-align: center;
	}

	.widget h3.widget__title {
		/*スマホ時のウィジェットのタイトルスタイル*/
		font-weight: normal;
	}

	#main {
		padding: 0;
	}

	#sidebar {
		padding: 50px 0 0;
	}

	.widget + .widget {
		margin-top: 10px;
	}

}



/*--------------------------------------------------------------
	電話の設定
--------------------------------------------------------------*/
.widget .widget__block .widget__common img:hover {
	opacity: .6;
}
