@charset "utf-8";
main {
	padding-top: 60px;
	@media screen and (min-width:769px) {
		padding-top: 110px;
	}
	& section {
		& h2 {
			letter-spacing: -0.01em;
		}
		& h2:nth-of-type(n+2) {
			padding-top: 60px;
			@media screen and (min-width:769px) {
				padding-top: 100px;
			}
		}
		& .wrapper {
			margin-bottom: 1em;
			@media screen and (min-width:769px) {
				display: flex;
				justify-content: space-between;
			}
			& > div,
			& > ul,
			& > p:has(img) {
				@media screen and (min-width: 769px) {
					max-width: 470px;
					width: 47%;
				}
			}
			& > p:has(img) {
				margin-bottom: 0.5em;
				@media screen and (min-width: 769px) {
					margin-bottom: 0;
					margin-top: 0;
				}
			}
			& > p:has(img):nth-of-type(2) {
				@media screen and (min-width: 769px) {
					margin-top: 0 !important;
				}
			}
		}
	}
	& section:last-of-type {
		padding-bottom: 60px;
		@media screen and (min-width:769px) {
				padding-bottom: 100px;
		}
	}
	& section.header {
		padding: 0;
		& article {
			& h1 {
				font-size: 6.4vw;
				color: var(--txtgreen);
				letter-spacing: 0.2em;
				background-color: #d8eceb;
				margin: 10px 5% 0;
				padding: 15px;
				width: 90%;
				@media screen and (min-width:769px) {
					font-size: 187.5%;
					margin: 10px 0 10px;
					margin-inline: auto;
					max-width: 1000px;
					padding: 35px;
					width: 100%;
				}
			}
		}
		& .breadcrumbs {
			display: none;
			@media screen and (min-width:769px) {
				display: flex;
				margin-inline: auto;
				max-width: 1000px;
				position: relative;
			}
			& li {
				font-size: 87.5%;
			}
			& li:nth-child(n+2)::before {
				content: "〉";
				display: inline-block;
				margin-left: 10px;
				margin-right: 10px;
				font-size: 87.5%;
			}
		}
		& .section {
			width: 90%;
			margin-inline: auto;
			margin-top: 10px;
			@media screen and (min-width:769px) {
				width: 100%;
				font-size: 87.5%;
			}
			& li {
				& a {
					font-size: 3.733vw;
					font-weight: normal;
					@media screen and (min-width:769px) {
						font-size: 100%;
					}
				}
			}
		}
	}

	& section {
		& article {
			& p:nth-of-type(n+2) {
				margin-top: 1em;
			}
			& h2 + p,
			& .intro {
				color: var(--txtgreen);
				font-weight: bold;
			}
			& .intro + p {
				font-size: 3.733vw;
				@media screen and (min-width:769px) {
					font-size: 100%;
				}
			}
			& .intro_2 {
				font-size: 4.8vw;
				@media screen and (min-width:769px) {
					font-size: 112.5%;
				}
			}
			& .wrapper {
				& p {
					line-height: 1.7;
				}
			} /* wrapper */
			& div:has(table) {
				margin-top: 20px;
				overflow-x: scroll;
				@media screen and (min-width: 769px) {
					margin-top: 0;
					overflow-x: auto;
				}
				& table {
					width: 100%;
					& caption {
						font-size: 4.8vw;
						font-weight: bold;
						margin-bottom: 15px;
						@media screen and (min-width: 769px) {
							font-size: 112.5%;
						}
					}
					& tr {
						border-top: 1px solid var(--midline);
						& th,
						& td {
							line-height: 1.5;
							padding: 1em 10px;
/*
							padding-top: 1em;
							padding-bottom: 1em;
*/
							white-space: nowrap;
						}
						& th {
							color: var(--txtgreen);
							width: 5em;
							padding-left: 10px;
							padding-right: 10px;
							font-weight: normal;
							@media screen and (min-width: 769px) {
								padding-right: 20px;
							}
						}
						& td {
							& > span:not(.caution) {
								margin-left: 5.5em; /*outpatient で不要*/
							}
							@media screen and (min-width: 769px) {
								white-space: normal;
							}
							& .caution {
								line-height: 1;
							}
						}
					}
					& tr:first-of-type {
						border-top: 1px solid var(--grayline);
					}
					& tr:last-of-type {
						border-bottom: 1px solid var(--grayline);
					}
				}
			}
			& .wrapper_table_2 {
				overflow-x: auto;
				& tr {
					border-top: none !important;
					& th,
					& td {
						white-space: normal;
						padding-top: 0.5em;
						padding-bottom: 0.5em;
					}
					& th {
						position: static;
					}
				}
				& tr:first-of-type {
					& th,
					& td {
						padding-top: 0;
					}
				}
				& tr:last-of-type {
					border-bottom: none;
					& td {
						padding-bottom: 30px;
					}
				}
				@media screen and (min-width: 769px) {
					margin-left: 30px;
				}
			}
			& h3 {
				margin-top: 40px;
				color: var(--txtgreen);
				font-size: 5.333vw;
				font-weight: bold;
				margin-bottom: 20px;
				@media screen and (min-width: 769px) {
					font-size: 150%;
				}
			}
			& h3 + p + ol {
				margin-top: 0.5em;
			}
			& h4 {
				font-size: 4.8vw;
				font-weight: bold;
				margin-top: 30px;
				margin-bottom: 15px;
				line-height: 1.5;
				@media screen and (min-width: 769px) {
					font-size: 112.5%;
				}
			}
			& h4:nth-of-type(n+2) {
				margin-top: 2em;
			}
			& h4 + ul + p {
				margin-top: 1em;
			}
			& h4::before {
				content: "";
				display: inline-block;
				width: 0.8em;
				height: 0.8em;
				background-color: var(--txtgreen);
				border-radius: 50%;
				margin-right: 0.25em;
			}
			& h4 + p {
				font-size: 4.266vw !important;
				@media screen and (min-width: 769px) {
					font-size: 100% !important;
				}
			}
			& h5 {
				font-weight: bold;
				margin-top: 20px;
			}
			& dl {
				margin-top: 1em;
				& dt,
				& dd {
					@media screen and (min-width: 769px) {
						display: inline-block;
					}
				}
				& dt {
					color: var(--txtgreen);
					font-weight: normal;
					@media screen and (min-width: 769px) {
						width: 4em;
						margin-right: 1em;
					}
				}
				& dt:nth-of-type(n+2) {
					margin-top: 0.5em;
				}
			}
			& dl:nth-of-type(n+2) {
				margin-top: 0.5em;
			}
			& ul.caution {
				& li {
					text-indent: -1em;
					padding-left: 1em;
				}
			}
			& .external_link {
				& a::after {
					content: "";
					display: inline-block;
					background: url("../img/common/external_link_g.svg") no-repeat !important;
					height: 14px;
					width: 16px;
					vertical-align: middle;
					margin-left: 6px;
					@media screen and (min-width:769px) {
						height: 16px;
						width: 18px;
					}
				}
			}
			& .accordion_btn {
				margin-top: 20px;
				background-color: var(--green);
				color: #ffffff;
				padding: 10px;
				display: block;
				border-radius: 20px;
				text-align: center;
				font-weight: bold;
				position: relative;
				@media screen and (min-width: 769px) {
					width: fit-content;
					margin-inline: auto;
					padding: 10px 70px 10px 50px;
					border-radius: 25px;
				}
				& span {
					position: absolute;
					top: 50%;
					right: 20px;
					width: 20px;
					height: 1px;
					background-color: rgb(255, 255, 255);
					transition: all 0.3s ease-out;
				}
				& span::after {
					content: '';
					position: absolute;
					top: 0;
					right: 0;
					width: 20px;
					height: 1px;
					background-color: rgb(255, 255, 255);
					-webkit-transform: rotate(45deg);
					transform: rotate(90deg);
					transition: all 0.3s ease-out;
				}
			}
			& .accordion_btn:hover {
				cursor: pointer;
				opacity: 0.7;
			}
			& .accordion_btn.open {
				& span {
					background: none;
				}
				& span::after {
					transform: rotate(180deg);
				}
			}
			& .tel {
				text-align: center;
				margin-top: 20px;
				& a {
					padding: 10px 40px;
					background-color: #ffffff;
					border-radius: 50px;
					color: var(--txtgreen);
					font-size: 20px;
					border: 1px solid var(--txtgreen);
					display: inline-block;
				}
			}
			& div.column {
				background-color: var(--gray);
				padding: 1em;
				@media screen and (min-width: 769px) {
					margin-top: 20px;
					padding: 40px;
				}
				& h4 {
					margin-top: 0;
				}
				& .wrapper {
					margin-bottom: 0;
				}
			}
			& p.tel {
				& a {
					font-size: 5.333vw;
					line-height: 1;
					width: 100%;
					padding: 5px;
					@media screen and (min-width: 769px) {
						font-size: 125%;
						width: fit-content;
						padding: 10px 40px;
					}
				}
				& span {
					color: var(--text);
					font-size: 3.2vw;
					line-height: 1.7;
					@media screen and (min-width: 769px) {
						font-size: 62.22%;
					}
				}
				& span.guidance {
					color: var(--pink);
					@media screen and (min-width: 769px) {
						margin-left: 1em;
					}
				}
			}
		}
	}
}
	/* 総合案内 */
	/* 病院概要 */
.info {
	& section {
		& article {
			& .greeting {
				& p:has(img) {
					width: 80%;
					margin-inline: auto;
					margin-top: 1em;
					@media screen and (min-width:769px) {
						max-width: 250px;
						width: 25%;
						margin-top: 0;
					}
					& span {
						text-align: center;
						display: block;
						font-size: 4.8vw;
						margin-top: 0.5em;
						@media screen and (min-width:769px) {
							font-size: 112.5%;
						}
					}
				}
				& > div {
					@media screen and (min-width:769px) {
						width: 69%;
						max-width: 690px;
					}
				}
			}
			& #philosophy + p {
				margin-bottom: 0;
			}
			& .wrapper_table {
				overflow-x: visible;
				& tr {
					& th {
						position: static;
					}
					& td {
						white-space: normal;
						& .disc {
							& li {
								@media screen and (min-width: 769px) {
									display: inline-block;
									margin-right: 1em;
								}
							}
						}
					}
				}
			}
			& .wrapper_table_2 {
				& table {
					& tr {
						& th {
							width: 9em;
						}
					}
				}
			}
		} /* article */
	}
}
main {
	& section#procedure {
		& article {
			& .wrapper {
				margin-top: 20px;
				& > p {
					font-size: 4.8vw;
					line-height: 1.7;
					@media screen and (min-width: 769px) {
						max-width: 470px;
						width: 47%;
						font-size: 112.5%;
					}
				}
				& div.column {
					margin-top: 20px;
					background-color: var(--gray);
					padding: 1em;
					@media screen and (min-width: 769px) {
						padding: 18px;
						height: auto;
					}
					& p {
						color: var(--txtgreen);
						font-weight: bold;
						font-size: 4.8vw;
						@media screen and (min-width: 769px) {
							font-size: 112.5%;
						}
					}
					& ul {
						margin-top: 1em;
						margin-bottom: 0.5em;
						@media screen and (min-width: 769px) {
							display: flex;
							flex-wrap: wrap;
						}
						& li {
							font-size: 4vw;
							color: #ffffff;
							padding: 6px 1em;
							background-color: var(--green);
							border-radius: 24px;
							font-weight: bold;
							display: inline-block;
							@media screen and (min-width: 769px) {
								font-size: 93.75%;
								display: block;
								width: fit-content;
							}
						}
						& li:nth-child(2) {
							margin-top: 10px;
							@media screen and (min-width: 769px) {
								margin-top: 0;
							}
						}
						& li:nth-child(2n) {
							@media screen and (min-width: 769px) {
								margin-left: 10px;
							}
						}
						& li:nth-child(n+3) {
							margin-top: 10px;
						}
					}
				}
				& > div {
					& > ul {
						font-size: 4.8vw;
						@media screen and (min-width: 769px) {
							font-size: 112.5%;
						}
						& li {
							& .caution {
								margin-top: 0;
								margin-left: 1em;
							}
						}
					}
				}
			} /* wrapper */
			& .wrapper_2 {
				@media screen and (min-width: 769px) {
					flex-direction: row-reverse;
				}
				& .wrapper_table + div {
					margin-top: 30px;
					@media screen and (min-width: 769px) {
						margin-top: 0;
					}
				}
			}
			& ul.meals {
				margin-top: 20px;
				@media screen and (min-width: 769px) {
					display: flex;
					justify-content: space-between;
				}
				& > li {
					@media screen and (min-width: 769px) {
						max-width: 490px;
						width: 49%;
					}
					& > img {
						display: block;
						margin-bottom: 0.5em;
					}
				}
				& li:nth-child(n+2):has(img) {
					margin-top: 10px;
					@media screen and (min-width: 769px) {
						margin-top: 0;
					}
				}
			}
			& ul.meals + h4 {
				margin-top: 30px;
			}
			& .wrapper_3 {
				margin-top: 1em;
				& p.btn_2 {
					position: static;
					@media screen and (min-width: 769px) {
						display: inline-block;
					}
					& a {
						padding: 4px 20px;
						display: block;
						width: fit-content;
					}
				}
				& p.btn_2:nth-of-type(2) {
					@media screen and (min-width: 769px) {
						margin-top: 0;
						margin-left: 10px;
					}
				}
			}
		} /* article */ 
	} /*  section */
}
/* 医師紹介 */
section.staff {
	& article {
		& .wrapper_staff {
			border-top: 1px solid var(--grayline);
			& > div {
				padding-top: 1em;
				margin-top: 0;
				@media screen and (min-width: 769px) {
					display: flex;
				}
				& .wrapper_table_2 {
					margin-top: 10px;
					@media screen and (min-width: 769px) {
						margin-top: 5px;
					}
				}
				& > p {
					font-size: 5.333vw;
					margin-left: 10px;
					@media screen and (min-width: 769px) {
						font-size: 150%;
						width: 200px;
						margin-left: 1em;
					}
				}
			}
			& > div:nth-of-type(n+2) {
				border-top: 1px solid var(--midline);
			}
			& > div:last-of-type {
				border-bottom: 1px solid var(--grayline);
			}
		}
	}
}
/* 各種指針等 */
.guidelines {
	& main {
		& section.header {
			& .section {
				display: block;
				@media screen and (min-width: 769px) {
					display: block grid;
					grid-template-columns: repeat(3, 1fr);
				}
				& li {
					& a {
						border-radius: 30px;
						@media screen and (min-width: 769px) {
							border-radius: 25px;
						}
					}
				}
				& li:nth-child(n+2) {
					margin-top: 10px;
					@media screen and (min-width: 769px) {
						margin-top: 0;
					}
				}
			}
		}
		& section {
			& article {
				& h5,
				& h6 {
					font-weight: bold;
				}
				& h5 {
						margin-bottom: 0.75em;
					@media screen and (min-width: 769px) {
						margin-left: 1em;
					}
				}
				& div {
					& > p {
						@media screen and (min-width: 769px) {
							margin-left: 1em;
						}
					}
					& .additional_clause {
						border: 1px solid #cccccc;
						padding: 10px;
						font-size: 3.4vw;
						margin-top: 30px;
						@media screen and (min-width: 769px) {
							padding: 20px;
							font-size: 87.5%;
							margin-top: 40px;
						}
					}
					& a.pdf {
						padding: 2px 46px 2px 1.5em !important;
						display: inline-block;
					}
				}
				& > div:nth-of-type(n+2) {
					& h3 {
						margin-top: 60px;
						@media screen and (min-width: 769px) {
							margin-top: 100px;
						}
					}
				}
			}
		}
		& section#medical_safety_management,
		& section#infection_control {
			& article {
				& div {
					& > ol {
						list-style: none;
						counter-reset: number;
						& > li {
							position: relative;
							padding-left: 30px;
							margin-left: 0;
							@media screen and (min-width: 769px) {
								margin-left: 1em;
							}
							& > ol {
								list-style: none;
								counter-reset: number;
								& > li {
									position: relative;
									padding-left: 1.5em;
									font-size: 87.5%;
									margin-left: 0;
									& > span {
										color: var(--txtgreen);
										font-weight: bold;
										margin-right: 1em;
									}
								}
								& > li::before {
									counter-increment: number;
									content: counter(number);
									position: absolute;
									top: 4px;
									left: 0;
									width: 16px;
									height: 16px;
									border: 1px solid var(--txtgreen);;
									border-radius: 50%;
									font-size: 12px;
									text-align: center;
									line-height: 1.2;
									color: var(--txtgreen);
								}
								& li:has(span) {
									margin-top: 0.5em;
								}
							}
						}
						& > li::before {
							counter-increment: number;
							content: '（' counter(number) '）';
							position: absolute;
							left: -5px;
							color: var(--txtgreen);
						}
					}
				}
			}
		}
		& section#radiation_guideline {
			& article {
				& div {
					& > ol:first-of-type {
						list-style: auto;
						margin-left: 5%;
						margin-top: 1em;
						@media screen and (min-width: 769px) {
							margin-left: 1em;
						}
						& li {
							padding-left: 0.5em;
						}
						& li::before {
							content: '';
						}
					}
					& > ol {
						list-style: none;
						counter-reset: number;
						margin-top: 15px;
						& > li {
							position: relative;
							padding-left: 25px;
							margin-left: 0;
							@media screen and (min-width: 769px) {
								margin-left: 1em;
							}
							& > ol {
								& > li {
									& > ol {
										list-style: none;
										counter-reset: number;
										margin-top: 0.5em;
										& > li {
											position: relative;
											padding-left: 30px;
											margin-left: 0;
										}
										& > li::before {
											counter-increment: number;
											content: '' counter(number) ' ）';
											position: absolute;
											left: 5px;
											color: var(--txtgreen);
										}
									}
								}
							}
							& > p {
								margin-top: 1em;
							}
							& .list {
								margin-top: 0;
								text-decoration: underline;
							}
							& .list + ol {
								list-style: none;
								counter-reset: number;
								& > li {
									position: relative;
									padding-left: 30px;
									margin-left: 0;
									@media screen and (min-width: 769px) {
										margin-left: 1em;
									}
								}
								& > li::before {
									counter-increment: number;
									content: '（' counter(number) '）';
									position: absolute;
									left: 0;
									color: var(--txtgreen);
								}
								& ol {
									list-style: none;
									list-style-type: katakana;
									& li {
										padding-left: 0.5em;
										margin-left: 1em;
									}
									& > li::before {
										content: '';
									}
								}
							}
						}
						& > li::before {
							counter-increment: number;
							content: '' counter(number) ' ）';
							position: absolute;
							left: 0;
							color: var(--txtgreen);
						}
						& > li:nth-child(n+2) {
							margin-top: 0.5em;
							@media screen and (min-width: 769px) {
								margin-top: 20px;
							}
						}
					}
					& .wrapper_table {
						margin-top: 1.5em;
						& table {
							& tr {
								& td {
									text-align: center;
									vertical-align: middle;
								}
							}
						}
					}
					& .disc {
						margin-top: 1em;
						& li {
							& span {
								text-decoration: underline;
							}
						}
						& li:nth-child(n+2) {
							margin-top: 0.5em;
						}
					}
					& h6 + .disc {
						margin-top: inherit;
					}
					& .note {
						text-align: right;
						font-size: 3.733vw;
						@media screen and (min-width: 769px) {
							font-size: 87.5%;
						}
					}
				}
			}
		}
	} /* article */
}

section.access {
	padding-bottom: 0 !important;
	& article {
		& div {
			& dl {
				& dt {
					width: 5em;
				}
			}
			& h3 {
				margin-top: 0 !important;
			}
		}
		& .map {
			margin-bottom: 0;
		}
	}
}
/* 滝山クリニック */
.takiyama-clinic {
	& section#takiyama-clinic {
		& article {
			& > p:has(img) {
				max-width: 800px;
				margin-inline: auto;
			}
			& .wrapper {
				> p {
					margin-top: 1em;
					@media screen and (min-width: 769px) {
						margin-top: 0;
					}
				}
			}
		}
	}
	& footer {
		& .bnrs {
			padding: 40px 5% 40px;
			@media screen and (min-width: 769px) {
				padding: 60px 0 60px;
			}
		}
	}
}



/* 診療科案内 */
.headache section,
.internal_medicine section,
.fever section,
.orthopedic_surgery section,
.spine_clinic section,
.surgery section,
.urology section,
.plastic_surgery section,
.dermatology section {
	& article {
		.breadcrumbs + ul.section {
			@media screen and (min-width:769px) {
				grid-template-columns: repeat(5, 1fr);
			}
		}
	}
}

section.department_info,
section#dialysis {
	& article {
		& h2 {
			margin-top: 50px;
		}
		& h2 + p {
			color: var(--txt);
			font-weight: normal;
		}
		& h3 {
			margin-top: 40px;
		}
		& h3 + p,
		& h4 + div {
			font-size: 4.266vw;
			@media screen and (min-width: 769px) {
				font-size: 100%;
			}
		}
		& h4::before {
			content: "";
			display: inline-block;
			width: 0.8em;
			height: 0.8em;
			background-color: var(--txtgreen);
			border-radius: 50%;
			margin-right: 0.25em;
		}
		& ul + p {
			margin-top: 1em;
		}
		& .wrapper {
			& .wrapper_table {
				margin-top: 30px;
				width: 100%;
				@media screen and (min-width: 769px) {
					margin-top: 0;
				}
				& table {
					@media screen and (min-width: 769px) {
						font-size: 87.5%;
					}
					& tr {
						& td {
							padding-right: 10px;
							text-align: right;
							& ul {
								& li {
									& a {
										padding: 10px 30px;
										display: inline;
									}
								}
							}
						}
					}
				}
			}
			& .wrapper_table:first-of-type {
				margin-top: 0;
			}
		}
		& .wrapper_table.time {
			margin-top: 0;
			& table {
				@media screen and (min-width: 769px) {
					width: 47%;
					max-width: 470px;
				}
				& tr {
					& td {
						text-align: left;
						padding: 1em 0.5em;
					}
				}
			}
		}
		& .wrapper_table {
			& table {
				& tr {
					& th {
						font-weight: bold;
					}
					& td {
						& ul {
							& li {
								& a {
									padding: 10px 30px 10px 40px;
									display: inline-block;
									margin-top: 10px;
									@media screen and (min-width: 769px) {
										margin-top: 0;
										margin-left: 1em;
									}
								}
							}
						}
					}
				}
			}
		}
		& > .wrapper_table:nth-of-type(n+2) {
			@media screen and (min-width: 769px) {
/*				margin-top: 50px;*/
			}
		}
		& .wrapper_table.time_table {
			margin-top: 0;
			& table {
				& tr {
					& th,
					& td {
						font-size: 3.733vw;
						@media screen and (min-width: 769px) {
							font-size: 100%;
						}
					}
					& th {
						padding: 1em;
/*						width: auto;*/
					}
					& th:nth-of-type(n+2), th.time_zone, td {
						text-align: center;
					}
					& td {
						padding: 1em;
						> span {
							margin-left: 0;
						}
					}
					& th.time_zone {
						width: 3em;
					}
				}
			}
		}
		& .wrapper_table.time > table + .caution,
		& .wrapper_table.time_table > table + .caution {
			margin-top: 15px;
		}
		& .wrapper_table.time_table.internal_medicine {
			& table {
				& tr {
					& th.time_zone {
						position: static;
					}
				}
			}
		}
		& .wrapper_table.result {
			& table {
				& tr {
					& th,
					& td {
						font-size: 3.733vw;
						@media screen and (min-width: 769px) {
							font-size: 87.5%;
						}
					}
				}
			}
		}
	}
}
.orthopedic_surgery {
	& main {
		& section {
			& article {
				& .wrapper {
					@media screen and (min-width: 769px) {
						display: block grid;
						grid-template-columns: 35% 25% 35%;
						gap: 10px;
					}
				}
			}
		}
	}
}



/* 入院・面会 */
/* 面会について */
.hospitalization main section {
	& article {
		& p.tel {
			margin-top: 10px;
			margin-bottom: 10px;
			& a {
				padding: 10px;
				@media screen and (min-width: 769px) {
					padding: 10px 40px;
				}
			}
		}
		& h4 {
			margin-top: 0;
		}
		& h4 + p {
			font-size: 4.266vw !important;
			@media screen and (min-width: 769px) {
				font-size: 100% !important;
			}
		}
		& .wrapper {
			& div.column.column_2 {
			margin-top: 0 !important;
			& ul {
				& li:nth-child(2) {
					margin-top: 10px !important;
					@media screen and (min-width: 769px) {
						margin-top: 0 !important;
					}
				}
			}
		}
		& div.column.column_3 {
			margin-top: 0  !important;
			& ul {
				& li:nth-child(7),
				& li:nth-child(9),
				& li:nth-child(11) {
					@media screen and (min-width: 769px) {
						margin-left: 10px;
					}
				}
				& li:nth-child(10) {
					@media screen and (min-width: 769px) {
						margin-left: 0 !important;
					}
				}
			}
		}
			& .wrapper_table {
				@media screen and (min-width: 769px) {
					margin-top: 0;
				}
			}
		}
		
		& .disc.caution {
			margin-top: 1em;
			& li::before {
				background-color: var(--pink);
			}
		}
		& h3 + .disc {
			& li:nth-child(n+2) {
				margin-top: 1em;
			}
		}
		
		
		& dl {
			margin-top: 1em;
			@media screen and (min-width: 769px) {
				margin-top: 0;
			}
			& dt {
				width: auto;
			}
		}
		& .disc + dl {
			margin-top: 1em;
		}
		& .type {
			margin-top: 1em;
			& .tab-wrap {
				display: flex;
				flex-wrap: wrap;
			}
			& .tab-label {
				color: White;
				background: LightGray;
				padding: 20px;
				order: -1;
					span {
						color: #ffffff;
						margin-top: 0;
						margin-bottom: 0;
					}
				}
			}
			& .tab-content {
				width: 100%;
				display: none;
				margin-top: 1em;
				margin-bottom: 2em;
				& > div {
					margin-top: 1em;
					& table {
						& tr {
							& th {
								position: static;
							}
							& td {
								white-space: normal;
								padding-left: 1em;
								padding-right: 10px;
							}
						}
					}
				}
			}
			& .tab-content:last-of-type {
				margin-bottom: 0;
			}
			/* アクティブなタブ */
			& .tab-switch:checked+.tab-label {
				background: var(--green);
				font-weight: bold;
			}
			& .tab-switch:checked+.tab-label+.tab-content {
				 display: block;
			}
			/* ラジオボタン非表示 */
			& .tab-switch {
				display: none;
			}
		}
	}
}
/* お知らせ一覧 */
body > main > section.news > article {
	@media screen and (min-width: 769px) {
		max-width: 800px;
		width: 80%;
	}
}
section.news {
	& article {
		@media screen and (min-width: 769px) {
			max-width: 800px;
			width: 80%;
		}
		& .wrapper_dl {
			@media screen and (min-width: 769px) {
				width: auto;
				max-width: none;
			}
			& dl:nth-of-type(n+2) {
				margin-top: 0;
			}
		}
		& p:has(a) {
			margin-top: 30px;
		}
		& .btn_2 {
			bottom: -40px;
			top: auto;
		}
	}
}

/* 交通アクセスページ */
.access {
	& section {
		& article {
			& dl {
				& dt {
					width: 5em !important;
				}
				& dd {
					@media screen and (min-width: 769px) {
						width: calc(100% - 7em);
					}
				}
			}
			& .map {
				margin-top: 1em;
				iframe {
					width: 100%;
				}
			}
			& > ul {
				@media screen and (min-width: 769px) {
					display: flex;
					gap: 20px;
				}
				& > li {
					& h3 {
						font-size: 4.8vw;
						@media screen and (min-width: 769px) {
							font-size: 112.5%;
						}
					}
					& .bus_map > p,
					& .mfp-hide + .disc {
						margin-top: 0.5em;
						font-size: 4vw;
						@media screen and (min-width: 769px) {
							font-size: 93.75%;
						}
					}
					& span {
						font-weight: bold;
					}
				}
			}
		}
	}
}
/* お問い合わせ */
/* よくある質問 */
section#faq {
	& article {
		& dl {
			& dt,
			& dd {
				width: 100%;
				padding: 20px;
				display: flex;
			}
			& dt {
				background-color: var(--green);
				color: #ffffff;
				font-size: 4.8vw;
				line-height: 1.3;
				cursor: pointer;
				align-items: center;
				position: relative;
				padding-right: 24px;
				padding: 15px 40px 15px 20px;
				@media screen and (min-width: 769px) {
					font-size: 112.5%;
				}
				& span {
					position: absolute;
					top: 50%;
					right: 20px;
					width: 20px;
					height: 2px;
					background-color: #ffffff;
					transition: all 0.3s ease-out;
				}
				& span::after {
					content: '';
					position: absolute;
					top: 0;
					right: 0;
					width: 20px;
					height: 2px;
					background-color: #ffffff;
					-webkit-transform: rotate(45deg);
					transform: rotate(90deg);
					transition: all 0.3s ease-out;
				}
			}
			& dt::before {
				content: "Q";
				display: inline-block;
				background-color: #ffffff;
				padding: 10px 13px;
				background-size: contain;
				margin-right: 10px;
				border-radius: 50%;
				font-size: 20px;
				line-height: 1.0;
				color: var(--txtgreen);
			}
			& dt.open {
				span::after {
					transform: rotate(180deg);
				}
			}
			& dd {
				border: 1px solid var(--green);
				border-top: none;
			}
			& dd::before {
				content: "A";
				display: inline-block;
				background-color: var(--pink);
				padding: 2px 13px;
				margin-right: 10px;
				border-radius: 50%;
				font-size: 20px;
				color: #ffffff;
				font-weight: bold;
				height: 40px;
				margin-top: 5px;
			}
		}
		& > p {
			margin-top: 20px;
		}
	}
}

/* お問い合わせ */
section#faq {
	& article {
		& dl,
		& > p {
			@media screen and (min-width: 769px) {
				max-width: 900px;
				width: 90%;
				margin-inline: auto;
			}
		}
	}
}

/*
section.contact {  mw wp form 
	article {
		> div {
			@media screen and (min-width: 769px) {
				max-width: 900px;
				width: 90%;
				margin-inline: auto;
			}
		}
		form {
			.table_wrapper {
				table {
					width: 100%;
					border-collapse: collapse;
					tr {
						th,
						td {
							display: block;
							width: 100%;
							padding-left: 10px;
							word-wrap: break-word;
							overflow-wrap: break-word;
							@media screen and (min-width: 769px) {
								display: table-cell;
								width: auto;
							}
						}
						td {
							padding-top: 0;
							line-height: 1.7;
							@media screen and (min-width: 769px) {
								padding-top: 1em;
							}
							> span {
								margin-left: 0!important;
								display: block;
								
							}
							> input,
							> textarea {
								background-color: var(--gray);
								padding: 10px;
								width: calc(100% - 10px);
								box-sizing: border-box;

								@media screen and (min-width: 769px) {
									width: calc(100% - 10px);
								}
							}
						}
					}
				}
			}
			#btn_submit {
				text-align: center;
				input,
				button {
					background-color: var(--green);
					color: #fff;
					border: 0;
					padding: 15px 30px;
					font-size: 4.8vw;
					margin-top: 20px;
					border-radius: 25px;
					@media screen and (min-width: 769px) {
						font-size: 112.5%;
					}
				}
			}
		}
	}
}
*/
/* お問い合わせ snow monkey form*/
#contact {
	& article {
		& form {
			@media screen and (min-width: 769px) {
				max-width: 900px;
				width: 90%;
				margin-inline: auto;
			}
			& ol > li:nth-child(n+2) {
				margin-top: 0;
			}
			& .smf-form {
				& > .smf-item {
					padding-left: 10px;
					border-top: 1px solid var(--grayline);
					padding-bottom: 1em;
					@media screen and (min-width: 769px) {
						display: flex;
					}
					& .smf-item__col--label {
						@media screen and (min-width: 769px) {
							width: 200px;
						}
						& .smf-item__label {
							padding-top: 1em;
							padding-bottom: 1em;
							color: var(--txtgreen);
						}
						& .smf-item__label.medical_card_number {
							padding-bottom: 0;
						}
					}
					& .smf-item__col--controls {
						@media screen and (min-width: 769px) {
							margin-left: 40px;
							padding-top: 0.5em;
							width: calc(100% - 250px);
						}
						& .smf-text-control input,
						& .smf-textarea-control textarea {
							width: calc(100% - 10px);
							border: none;
							background-color: var(--gray);
							@media screen and (min-width: 769px) {
								width: 100%;
							}
						}
						& span {
							margin-top: calc(var(--_half-leading) * 0.75em);
						}
					}
				}
				& > .smf-item.contact_content {
					border-bottom: 1px solid var(--grayline);
					padding-bottom: 1em;
				}
				/* > .smf-item  */
				& .smf-item.agreement {
					@media screen and (min-width: 769px) {
						display: block;
						text-align: center;
					}
					& .smf-item__col--label {
						@media screen and (min-width: 769px) {
							width: auto;
						}
						& .smf-item__label {
							padding-top: 2em;
							& span {
								line-height: 1.7;
								& a {
									text-decoration: underline;
									&:hover {
										text-decoration: none;
									}
								}
							}
						}
					}
				}
				& > p {
					margin-top: 30px;
					@media screen and (min-width: 769px) {
						text-align: center;
					}
				}
			}
			& .required {
				& .smf-item__label__text::after {
					content: "必須";
					display: inline-block;
					background-color: var(--pink);
					color: #ffffff;
					padding: 5px 8px;
					margin-left: 5px;
					font-size: 3.2vw;
					border-radius: 10px;
					@media screen and (min-width: 769px) {
						font-size: 75%;
					}
				}
			}
			& .smf-action {
				margin-top: 2em;
				& span {
					& button {
						background-color: var(--green);
						padding: 15px 40px;
						display: block;
						border-radius: 25px;
						text-align: center;
						background-image: none;
						color: #ffffff;
						margin-inline: auto;
						border: none;
						&:hover {
							opacity: 0.7;
						}
						&[data-action="back"] {
							background-color: #cccccc;
						}
					}
				}
			}
			& .smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number {
				background-color: var(--green);
			}
			& .agreement_content {
				margin-top: 20px;
				background-color: var(--gray);
				padding: 2em;
				height: 200px;
				overflow-y: scroll;
				@media screen and (min-width: 769px) {
					max-width: 600px;
					width: 60%;
					margin-inline: auto;
				}
				& h2 {
					color: var(--txtgreen);
					margin-top: 0;
					margin-bottom: 20px;
					@media screen and (min-width: 769px) {
						font-size: 125%;
					}
				}
				& h2 + p {
					font-size: 4.266vw;
					font-weight: normal;
					color: var(--text);
					@media screen and (min-width: 769px) {
						font-size: 100%;
					}
				}
				& ol {
					& li {
						font-size: 3.733vw;
						@media screen and (min-width: 769px) {
							font-size: 87.5%;
						}
						& h4 {
							margin-top: 1em;
							margin-bottom: 0.5em;
							font-size: 4.266vw;
							@media screen and (min-width: 769px) {
								font-size: 100%;
							}
						}
					}
				}
				& dl {
					& dt {
						width: auto;
						display: block;
					}
					& dd {
						font-size: 3.733vw;
						@media screen and (min-width: 769px) {
							font-size: 87.5%;
						}
					}
				}
			}
		} /* form */
		& form[data-screen="confirm"] { /* 確認画面 */
			& .smf-form {
				& > .smf-item {
					@media screen and (min-width: 769px) {
						padding-bottom: 0;
						& .smf-item__col--controls {
							padding-top: 1em;
							padding-bottom: 1em;
						}
					}
				}
			}
			& .smf-action {
				display: flex;
				justify-content: center;
			}
			& p.agreement_txt {
				display: none;
			}
			& .agreement_content {
				display: none;
			}
		}
		& form[data-screen="complete"] { /* 確認画面 */
			& .smf-form {
				& .smf-complete-content {
					& p.btn {
						margin-top: 2em;
						line-height: 1.5;
						& a {
							width: 12em;
							margin: 0 auto;
						}
					}
				}
			}
		}
	} /* article */
}

	
/* 回復期リハビリテーション */
.rehabilitation {
	& main {
		& section {
			& article {
				& .wrapper_table + div {
					margin-top: 1em;
				}
			}
		}
	}
}
/* 透析 */
section#dialysis {
	& article {
		& div {
			& .wrapper_table.time {
				& table {
					& tr {
						& th,
						& td {
							text-align: center;
						}
					}
				}
			}
		}
	}
}

.policy {
	& main {
		& section {
			& article {
				& h3 + p {
					font-size: 4.266vw !important;
					@media screen and (min-width: 769px) {
						font-size: 100% !important;
					}
				}
				& ul {
					& li {
						font-size: 3.733vw;
						@media screen and (min-width: 769px) {
							font-size: 87.5% !important;
						}
					}
				}
			}
		}
	}
}
/* 流れ */
section.step {
	& article {
	counter-reset: num;
		& .wrapper {
			background-color: var(--gray);
			padding: 30px;
			position: relative;
			display: flex;
			@media screen and (min-width: 769px) {
				width: 90%;
				max-width: 900px;
				margin-inline: auto;
				padding: 40px 40px 30px 40px;
			}
			& .flow_ico {
				position: relative;
				width: 32%;
				counter-increment: num;
				@media screen and (min-width: 769px) {
					width: 18%;
				}
				& p {
					width: 80px;
					padding: 25px;
					background-color: #ffffff;
					border-radius: 50%;
					@media screen and (min-width: 769px) {
						width: 140px;
						padding: 35px;
					}
				}
			}
			& .flow_ico::before {
				position: absolute;
				top: -10px;
				content: counter(num,decimal-leading-zero);
				margin-right: 10px;
				display: inline-block;
				padding: 10px;
				background-color: var(--green);
				color: #ffffff;
				border-radius: 50%;
				font-weight: bold;
				font-size: 3.2vw;
				line-height: 1.3;
				@media screen and (min-width: 768px) {
					font-size: 100%;
				}
			}
			& .flow_ico + div {
				width: 76%;
				max-width: none;
			}
			& h3 {
				margin-top: 0;
			}
			& h3 + p {
				font-size: 4.266vw;
				@media screen and (min-width: 768px) {
					font-size: 100%;
				}
			}
		}
		& .wrapper:nth-of-type(n+2)::before {
			content: "";
			display: block;
			background: var(--green);
			height: calc(tan(60deg) * 20px / 2);
			width: 40px;
			clip-path: polygon(0 0, 100% 0, 50% 100%);
			position: absolute;
			top: -28px;
			left: 0;
			right: 0;
			margin: auto;
		}
		& .wrapper:nth-of-type(n+2) {
			margin-top: 40px;
		}
		& .caution {
			text-indent: -1em;
			padding-left: 1em;
			display: block;
			margin-top: 0;
		}
	}
}
.equipment {
	& main {
		& section {
			& article {
				& h3 + p {
					font-size: 4.8vw;
					margin-bottom: 10px;
					@media screen and (min-width:769px) {
						font-size: 112.5%;
						margin-bottom: 20px;
					}
				}
			}
		}
		& section.examination {
			& article {
				& p:has(img) {
					@media screen and (min-width: 769px) {
						max-width: 470px;
						width: 47%;
					}
				}
			}
		}
	}
}

.medical_personnel {
	& main {
		& section {
			& article {
				& h2 + p {
					color: var(--text);
					font-weight: normal;
				}
				& > p:nth-of-type {
					margin-top: 1em;
				}
				& ul.disc {
					margin-top: 30px;
				}
/*
				p.tel {
					a {
						font-size: 4vw;
						line-height: 1.5;
						@media screen and (min-width: 769px) {
							font-size: 125%;
						}
					}
					span {
						color: var(--text);
						font-size: 14px;
						display: block;
						margin-left: 1em;
					}
				}
*/
				& div.wrapper_table {
					& table {
						& tr {
							& th,
							& td {
								white-space: nowrap;
							}
							& th {
								width: 8em;
								@media screen and (min-width: 769px) {
									width: 10em;
								}
							}
							& td {
								word-break: break-word;
								white-space: normal;
								font-size: 3.733vw;
								padding: 0.5em;
								@media screen and (min-width: 769px) {
									font-size: 100%;
									padding: 1em;
									white-space: nowrap;
								}
								& span.caution {
									margin-top: 1em;
									display: inline-block;
									line-height: 1.5;
								}
								& a {
									text-decoration: underline;
									&:hover {
										text-decoration: none;
									}
								}
							}
						}
					}
				}
			} /* article */
		} /* section */
		
	}
}

.dialysis {
	& main {
		& section {
			& article {
				& h2 {
					padding-top: 0;
				}
				& p:has(img) {
					@media screen and (min-width: 769px) {
						max-width: 470px;
						width: 47%;
					}
				}
			}
		}
	}
}

.checkups {
	& main {
		& section {
			& article {
				& p.btn {
					& a {
						font-size: 100%;
						padding: 5px 48px 5px 24px !important;
						border-radius: 20px;
						span {
							text-align: center;
							display: inline-block;
						}
					}
					& a::after {
						position: absolute;
						top: 18px;
						background: url("../img/common/external_link_w.svg") no-repeat !important;
					}
					& a:hover::after {
						background: url("../img/common/external_link_g.svg") no-repeat !important;
						@media screen and (min-width:769px) {
							height: 16px;
							width: 18px;
						}
					}
				}
				& .wrapper_table.price_list {
					& table {
						& tr:first-of-type,
						& tr:last-of-type {
							& th {
								text-align: center;
								span {
									font-size: 3.733vw;
									@media screen and (min-width: 769px) {
										font-size: 87.5%;
									}
								}
							}
						}
						& tr {
							& td {
								white-space: nowrap;
								& span.text {
									font-size: 3.733vw;
									@media screen and (min-width: 769px) {
										font-size: 87.5%;
										margin-left: 0;
									}
								}
							}
						}
					}
				}
			}
			& h5 {
				margin-bottom: 1em;
			}
			& p.caution {
				margin-top: 1em;
				& span {
					margin-left: 1.75em;
				}
			}
		}
	}
}
.recruit {
	& main {
		& section {
			& article {
				& .wrapper {
					margin-bottom: 0;
					& div {
						@media screen and (min-width: 769px) {
							width: 33%;
						}
						& h2 {
							margin-top: 40px;
							@media screen and (min-width: 769px) {
								margin-top: 0;
							}
						}
						& ul {
							& li {
								& a {
									text-decoration: underline;
									&:hover {
										text-decoration: none;
									}
								}
							}
						}
					}
				}
				& .wrapper_table {
					& tr {
						& td {
							white-space: normal; /* tmp */
							& .disc {
								& li {
									& .caution {
										margin-top: 0.25em;
										display: block;
										margin-bottom: 0.75em;
									}
								}
							}
							& > .caution {
								display: block;
								text-indent: -1em;
								padding-left: 1em;
								line-height: 1.5;
								margin-top: 0;
							}
						}
					}
					& > .caution {
						margin-top: 15px;
						text-indent: -1em;
						padding-left: 1em;
						display: block;
					}
				}
			}
			& p + .disc {
				margin-top: 0.75em;
			}
			& p.tel {
				& a {
					padding: 5px 40px 10px;
				}
			}
		}
	}
}
