/* Outpatient */
#outpatientsBox {
	padding: 0  0 80px;
}
.outpatientBoxes {
	margin: 48px 0 0;
}
.outpatientBoxes:first-of-type {
	margin: 0;
}
.outpatientBox {
	margin: 32px 0 0;
}
.outpatientBox:first-of-type {
	margin: 24px 0 0;
}
.outpatientBox table {
	width: 56%;
	margin: 24px auto 0;
	border-top: dotted 1px #afafaf;
	border-collapse: collapse;
}
.outpatientBox table.firstBox {
	margin: 16px auto 0;
}
.outpatientBox table tr {
	border-bottom: dotted 1px #afafaf;
}
.outpatientBox table th,
.outpatientBox table td {
	font-size: 1.4rem;
}
.outpatientBox table th {
	position: relative;
	width: 200px;
	font-size: 1.4rem;
	text-align: left;
	padding: 0 0 0 40px;
}
.outpatientBox table th:before {
	position: absolute;
	top: 50%;
	left: 24px;
	width: 6px;
	height: 6px;
	border-top: solid 1px #2f40af;
	border-right: solid 1px #2f40af;
	display: inline-block;
	content: "";
	transform: translateY(-50%) rotate(45deg);
}
.outpatientBox table td {
	line-height: 184%;
	padding: 16px 0;
}
.outpatientBox p {
	font-size: 1.4rem;
	line-height: 200%;
	margin: 16px 0 0;
}
.outpatientBox .imageBoxes {
	height: 100%;
	margin: 24px 0 0;
	display: flex;
		align-items: stretch;
}
.outpatientBox .imageBoxes .imageBox_1,
.outpatientBox .imageBoxes .imageBox_2 {
	width: 50%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
}
.outpatientBox .imageBoxes .imageBox_1 img,
.outpatientBox .imageBoxes .imageBox_2 img {
	margin: 0 auto;
	display: block;
}
.outpatientBox .imageBoxes .imageBox_1 img {
	width: 100%;
}
.outpatientBox .imageBoxes .imageBox_2 img {
	width: 88%;
}
.outpatientBox .imageBoxes .imageComm {
	font-size: 1.4rem;
	line-height: 168%;
	border: solid 1px #afafaf;
	border-radius: 8px;
	margin: 8px auto 0;
	padding: 16px;
	flex-grow: 1;
}
.outpatientBox .imageBoxes .imageBox_1 .imageComm {
	width: 100%;
}
.outpatientBox .imageBoxes .imageBox_2 .imageComm {
	width: 88%;
}
.outpatientBox .imageBoxes .imageComm strong {
	margin: 0 0 2px;
	display: block;
}
.outpatientBox ul {
	list-style: none;
	margin: 24px 0 0;
	padding: 0;
}
.outpatientBox ul.firstUl {
	margin: 16px 0 0;
}
.outpatientBox ul li {
	position: relative;
	line-height: 168%;
	padding: 0 0 8px 16px;
	font-size: 1.4rem;
}
.outpatientBox ul li:last-of-type {
	padding: 0 0 0 16px;
}
.outpatientBox ul li:before {
	position: absolute;
	top: 8px;
	left: 0;
	width: 6px;
	height: 6px;
	border-top: solid 1px #2f40af;
	border-right: solid 1px #2f40af;
	display: inline-block;
	content: "";
	transform: rotate(45deg);
}

/* First Time */
.outpatientBox .flowBoxes {
	margin: 24px 0 0;
	display: flex;
}
.outpatientBox .flowBox {
	position: relative;
	width: calc(100% / 4);
	padding: 16px 8px 0;
}
.outpatientBox .flowBox .innerBox {
	position: relative;
	height: 100%;
	border: solid 1px #2f4faf;
	border-radius: 8px;
	padding: 8px 8px 16px;
}
.outpatientBox .flowBox .innerBox span {
	position: absolute;
	top: -16px;
	left: 50%;
	width: 32px;
	height: 32px;
	color: #2f40af;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	line-height: 1;
	border: solid 1px #2f40af;
	border-radius: 16px;
	background-color: #fff;
	padding: 6px 0;
	display: block;
	transform: translateX(-50%);
}
.outpatientBox .flowBox .innerBox img {
	width: 100%;
	border-radius: 8px;
	display: block;
}
.outpatientBox .flowBox .innerBox p {
	line-height: 168%;
	margin: 8px 0 0;
	padding: 0 8px 0;
}
.outpatientBox .flowBox .innerBox:before {
	position: absolute;
	top: 50%;
	right: -16px;
	border-top: 16px solid transparent;
	border-bottom: 16px solid transparent;
	border-left: 16px solid #2f40af;
	transform: translateY(-50%);
	content: "";
}
.outpatientBox .flowBox .innerBox:after {
	position: absolute;
	top: 50%;
	right: -15px;
	border-top: 16px solid transparent;
	border-bottom: 16px solid transparent;
	border-left: 16px solid #fff;
	transform: translateY(-50%);
	content: "";
}
.outpatientBox .flowBox:last-of-type .innerBox:before,
.outpatientBox .flowBox:last-of-type .innerBox:after {
	content: none;
}

/* Consultation */
.outpatientBoxes.consultation table th {
	width: 240px;
}

/* Parking */
.outpatientBoxes.parking table th {
	width: 240px;
}
.outpatientBoxes.parking table th span {
	font-size: 1.2rem;
	font-weight: lighter;
	margin: 2px 0 0;
	display: block;
}

@media screen and (max-width:414px) {
	/* Outpatient */
	#outpatientsBox {
		padding: 0  0 64px;
	}
	.outpatientBoxes {
		margin: 32px 0 0;
	}
	.outpatientBox {
		margin: 24px 0 0;
	}
	.outpatientBox:first-of-type {
		margin: 16px 0 0;
	}
	.outpatientBox table {
		width: 100%;
	}
	.outpatientBox table tr {
		border: none;
	}
	.outpatientBox table th,
	.outpatientBox table td {
		display: block;
	}
	.outpatientBox table th {
		width: 100%;
		padding: 16px 0 0 16px;
	}
	.outpatientBox table th:before {
		top: auto;
		bottom: 8px;
		left: 0;
		transform: translateY(0) rotate(45deg);
	}
	.outpatientBox table td {
		line-height: 168%;
		border-bottom: dotted 1px #afafaf;
		padding: 8px 0 16px 0;
	}
	.outpatientBox p {
		line-height: 184%;
	}
	
	/* First Time */
	.outpatientBox .flowBoxes {
		display: block;
	}
	.outpatientBox .flowBox {
		width: 100%;
		padding: 16px 0 0 16px;
	}
	.outpatientBox .flowBox:first-of-type {
		padding: 0 0 0 16px;
	}
	.outpatientBox .flowBox .innerBox span {
		top: 50%;
		left: -16px;
		transform: translate(0, -50%);
	}
	.outpatientBox .flowBox .innerBox:before {
		top: 100%;
		left: 50%;
		right: auto;
		border-top: 16px solid #2f40af;
		border-bottom: 16px solid transparent;
		border-left: 16px solid transparent;
		border-right: 16px solid transparent;
		transform: translate(-50%, 0);
	}
	.outpatientBox .flowBox .innerBox:after {
		top: calc(100% - 1px);
		left: 50%;
		right: auto;
		border-top: 16px solid #fff;
		border-bottom: 16px solid transparent;
		border-left: 16px solid transparent;
		border-right: 16px solid transparent;
		transform: translate(-50%, 0);
	}
	.outpatientBox .imageBoxes {
		display: block;
	}
	.outpatientBox .imageBoxes .imageBox_1,
	.outpatientBox .imageBoxes .imageBox_2 {
		width: 100%;
		margin: 24px 0 0;
		display: block;
	}
	.outpatientBox .imageBoxes .imageBox_1:first-of-type,
	.outpatientBox .imageBoxes .imageBox_2:first-of-type {
		margin: 0;
	}
	.outpatientBox .imageBoxes .imageBox_1 img,
	.outpatientBox .imageBoxes .imageBox_2 img {
		width: 100%;
		margin: 0;
	}
	.outpatientBox .imageBoxes .imageBox_1 .imageComm,
	.outpatientBox .imageBoxes .imageBox_2 .imageComm {
		width: 100%;
		padding: 16px;
	}
	
	/* Parking */
	.outpatientBoxes.parking table th {
		width: 100%;
	}
	.outpatientBoxes.parking table th span {
		margin: 0;
		display: inline-block;
	}
}
