/*タイトル
------------------------------*/
.title {font-size: 2.1rem; position: relative; padding-left: 45px; font-weight: 500; margin-bottom: 30px; line-height: 1.3; border-bottom: solid 1px var(--color-green);}

.title:before {content: ""; position: absolute; left: 0; top: 0;background: url('../images/icon_heart.png') no-repeat; 
	width: 40px; height:28px; background-size: auto 100%; }

.title span {display: block; font-size: 1.1rem;}

.sub .title {margin: 50px 0 30px;}
.sub .title:first-of-type {margin-top: 0;}

.pagetitle {background: var(--color-green-ulight); padding: 25px; position: relative;}
.pagetitle:after {content: ""; position: absolute; left: 0; bottom: -4px; width: 100%; height: 4px; background: linear-gradient(#eee,#fff)}
.pagetitle h1 {max-width: 1100px; margin: 0 auto; font-size: 2rem; font-weight: 400;}

.small_title {font-size: 1.5rem; font-weight: 400; margin-bottom: 10px;}
.small_title:before {content: "■"; color: var(--color-sky-slight); display: inline-block; margin-right: 3px;}

.ishi .title {font-size: 2.1rem; position: relative; padding: 0; padding-top: 10px; font-weight: 400; margin-bottom: 30px; line-height: 1.3; border-bottom: none;}
.ishi .title:before {content: ""; background: none; position: absolute; left: 0; top: 0; border-top: 1px solid var(--color-green); width: 60px;}

.news_important .pagetitle { background: #BE1E5A; color: #fff; }

/*パンくずリスト
------------------------------*/
.pankuzu {max-width: 1140px; padding: 15px 20px; font-size: 1.2rem; color: var(--color-green); line-height: 1.4;}
.pankuzu a{color: var(--color-green); text-decoration: underline;}

/*お問い合わせボックス
------------------------------*/
.contactbox {border: 1px solid var(--color-green); border-radius: 13px; padding: 10px 20px; background: #fdfdfd;}
.contactbox_title {font-size: 1.5rem; font-weight: 500; margin-bottom: 5px; color: var(--color-green);}
.contactbox_tel {margin-bottom: 5px;}
.contactbox_tel strong {font-size: 2.0rem;}
.contactbox_tel img {width: 23px; margin-right: 8px;}
.contactbox_tel a {text-decoration: underline;}
.contactbox_info {font-size: 0.9rem; letter-spacing: 0; line-height: 1.4;}

/*外来担当表テーブル
------------------------------*/
.gairai_table {border-collapse: collapse; width: 100%; max-width: 700px;}
.gairai_table th, .gairai_table td {border: 1px solid #ddd; padding: 20px 10px; text-align: center; line-height: 1.4; font-size: 1.2rem;}
.gairai_table thead th {padding: 10px; background: var(--color-green); color: #fff; font-weight: 400;}
.gairai_table tbody th {text-align: right; white-space: nowrap; font-weight: 400;}
.gairai_table tbody td {width: calc(100% / 6);}

.gairai_table th.gairai_table1 {background: #fff; border: 0;}
.gairai_table th.gairai_table2 {border-top: 0; border-left: 0;}
.gairai_table th.gairai_table3 {border-bottom: 0; border-left: 0;}

@media (max-width: 767px) {
	.gairai_table tbody th {padding-left: 0;}
	.gairai_table th, .gairai_table td {font-size: 0.7rem; padding: 20px 4px;}
}

/*診療時間テーブル
------------------------------*/
.table_open {width: 100%; border-collapse: collapse;}
.table_open caption {background: var(--color-green); padding: 7px 10px; text-align: left; font-size: 1.3rem; color: #fff;}
.table_open th, .table_open td {padding:  10px 5px; text-align: center; font-size: 1.4rem;}
.table_open th {font-weight: 400;}
.table_open tbody tr:first-child {border-bottom: 1px solid var(--color-green);}
.table_open tbody th {text-align: left; white-space: nowrap;}
.table_open tbody th span {display: inline-block; width: 3em;}
.table_open tbody td {width: calc(100% / 6); color: var(--color-green)}
.table_open tbody td.close {color: var(--color-black);}

/*休診日
------------------------------*/
.kyushinbi {color: var(--color-red); padding-left: 6em; font-size: 1.3rem; line-height: 1.5; letter-spacing: 0;}
.kyushinbi span {display: inline-block; width: 6em; margin-left: -6em;}

/*アンカー
------------------------------*/
.ancher_top {height: 20px; margin-top: -20px;}

@media (max-width: 767px) {
	.ancher_top {height: 80px; margin-top: -80px;}
	.ancher {height: 30px; margin-top: -30px;}
}

/*ボックス
------------------------------*/
.box_time {background: var(--color-green-slight); padding: 30px; font-weight: 500; font-size: 1.7rem;}
.box_time a {color: var(--color-green); text-decoration: underline;}

/*タブ
------------------------------*/
.tab_block {background: var(--color-green-slight); padding: 0 20px; margin-bottom: 40px;}
.tab {display: flex; gap: 3px; height: 60px; max-width: 680px; margin: 0;}
a.tab_button {display: flex; flex-basis: calc(100% / 3); border-top: 3px solid var(--color-green-ulight); height: 60px; align-items: center; background: var(--color-green-ulight); justify-content: center; letter-spacing: 0; font-size: 1.4rem; line-height: 1.3; padding: 0 10px 3px; transition: 0.3s;}
.tab_button.active {border-color: var(--color-green); background: #fff;}
a.tab_button i {font-size: 1.3rem;}

.contents main a.tab_button {color: #111;}
.contents main a.tab_button.active {color: var(--color-green);}
.contents main a.tab_button:hover {text-decoration: none; color: var(--color-green)}

@media (max-width: 767px) {
	.tab_block {margin: 0 -20px 40px;}
}

@media (max-width: 600px) {
	a.tab_button {font-size: 1.1rem;}
	a.tab_button i {font-size: 0.9rem;}
}

/*固定
------------------------------*/
@media (min-width: 768px) {
	.fix {position: sticky; margin-bottom: 0; top: 160px;}
}

/*種類の一覧テーブル
------------------------------*/
.type_table {border-collapse: separate; border-spacing: 0 10px; width: 100%; }
.type_table th, .type_table td {padding: 10px 20px; line-height: 1.8; letter-spacing: 0;  color: #1b1b1b;font-size: 1.4rem;}
.type_table th {font-weight: normal;}
.type_table thead {background: #e5e5e5;}
.type_table thead th {border-bottom: 1px solid #777; white-space: nowrap;}
.type_table tbody {background: #fafafa;}
.type_table tbody th, .type_table tbody td {border-bottom: 1px solid #777;}
.type_table tbody th {text-align: left; color: var(--color-green-dark)}

@media (max-width: 1023px) {
	.type_table th, .type_table td {
		display: block;
		width: 100%;
		padding: 10px; font-size: 1.4rem;}
	.type_table thead {
		display: none;
	}
	.type_table tbody td:first-child{
		font-weight: bold;
	}
	.type_table.kensa tbody td:first-child::before{
		content: '名称：';
	}
	.type_table.kensa tbody td:nth-child(2),
	.type_table tbody td:nth-child(3){
		margin-bottom: 20px;
	}
}