@charset "utf-8";
@import url('./reset.css');
body {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	min-width: 320px;
	min-height: 100vh;
	background-color: #fff;
	color: #3d3133;
	font-family: 'Helvetica','Arial','Yu Gothic Medium','游ゴシック Medium', 'YuGothic','游ゴシック体','Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3',Meiryo,'メイリオ',sans-serif;
}

#header {
	flex: 0 0 auto;
	display: flex;
	height: 80px;
	background-color: #fbf9f1;
}
#header .hdTTL { flex: 1 1 auto; }
#header .hdTTL a {
	display: block;
	width: 100%;
	height: 100%;
	background: url('../img/general/title.svg') no-repeat left center;
	background-size: contain;
}
#header .hdNav {
	flex: 0 0 auto;
	display: flex;
	align-items: flex-end;
	gap: 10px;
	padding: 5px 10px;
}
@media screen and (max-width: 767px) {
	#header .hdNav { display: none; }
}
#header .hdNav a {
	display: flex;
	gap: 5px;
	font-size: 16px;
	color: #82797b;
}
#header .hdNav a::before { content: "∴"; }

#footer { flex: 0 0 auto; }
#footer::after {
	content: "";
	display: block;
	height: 20px;
	background-color: #9f0810;
}
#footer .ftMenu {
	display: flex;
	justify-content: center;
	padding: 30px 0;
	background-color: #f7f6f2;
}
#footer .ftMenu > dl {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 0;
}
#footer .ftMenu > dl >div > dt { color: #9f0810; }
#footer .ftMenu > dl >div > dd {
	padding-top: 2px;
	font-size: .9em;
	color: #82797b;
}
#footer .ftMenu > dl >div > * {
	display: flex;
	flex-direction: column;
}
#footer .ftMenu > dl >div > * > a {
	display: flex;
	gap: .4em;
	padding: 2px 10px;
}
#footer .ftMenu > dl >div > * > a:hover {
	text-decoration: underline;
	color: #06bac4;
}
#footer .ftMenu > dl >div > dd > a { padding-left: calc(.4rem + 25px); }
#footer .ftMenu > dl >div > * > a::before {
	content: "";
	width: 15px;
	background-repeat: no-repeat;
	background-position: left top;
}
#footer .ftMenu > dl >div > dt > a::before { background-image: url('../img/general/ftIcoL.png'); }
#footer .ftMenu > dl >div > dd > a::before { background-image: url('../img/general/ftIcoM.png'); }
#footer .ftAdd {
	padding: 54px 10px 15px;
	background: #fff url('../img/general/ftTTL.png') no-repeat center 20px;
	color: #82797b;
}
#footer .ftAdd > ul {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
}
#footer .ftAdd > ul > li {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 3px 1.0em;
}
/* menu */
#menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#menu > nav { width: 25%; }
@media screen and (max-width: 639px) {
	#menu > nav { width: 50%; }
}
#menu > nav > a {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 4px 0;
	height: 100%;
	padding: 10px 5px;
	line-height: 1.0em;
}
#menu > nav > a:hover::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(255, 255, 255, .2);
	z-index: 11;
}
@media screen and (min-width: 640px) {
	#menu > nav > a { flex-direction: column; }
}
#menu > nav:nth-child(1) > a { background-color: #a6d2b1; }
#menu > nav:nth-child(2) > a { background-color: #fabb45; }
#menu > nav:nth-child(3) > a { background-color: #f5aac8; }
#menu > nav:nth-child(4) > a { background-color: #acd4e9; }

/* main */
#main {
	flex: 1 0 auto;
	background-color: inherit;
}
/*parts*/
#goup {
	position: fixed;
	right: 10px;
	bottom: 25px;
	opacity: 0;
	visibility: hidden;
	transition: opacity 1s, visibility 1s, transform 1s;
	z-index: 1000;
}
#goup.isIn {
	opacity: 1;
	visibility: visible;
}
#goup a {
	position: relative;
	display: block;
	width: 40px;
	height: 40px;
	background-color: rgba(255,255,255,.9);
	border: 1px solid #3d3133;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
#goup a:hover { background-color: rgba(61,49,51,.1); }
#goup a::after{
	content: "";
	position: absolute;
	top: 6px;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 12px;
	height: 12px;
	border-left: 2px solid #3d3133;
	border-top: 2px solid #3d3133;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#breadcrumbs {
	height: 30px;
	padding: 0 10px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 30px;
	font-size: 14px;
	color: #959595;
}

#breadcrumbs > *:not(:last-child) {
	position: relative;
	padding-right: 14px;
}
#breadcrumbs a { color: #9f0810; }
#breadcrumbs a:hover,#breadcrumbs a:active { color: #06bac4; }
#breadcrumbs > *:not(:last-child)::after {
	content: "";
	position:absolute;
	top: 0;
	bottom: 0;
	right: 5px;
	margin: auto;
	width: 8px;
	height: 8px;
	border-top: 1px solid #50656e;
	border-right: 1px solid #50656e;
	transform: rotate(45deg);
}
@media screen and (min-width: 768px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
	}
}
#contents { padding-bottom: 80px; }
/*element*/
b { font-weight: bold; }
.eMA::after { content: attr(data-md); }
.eMA::before { content: attr(data-mn) "@"; }
.eHref a, a.eHref {
	text-decoration: underline;
	color: #9f0810;
}
.eHref a:hover, a.eHref:hover { color: #06bac4; }
.eWrap {
	max-width: 980px;
	margin: auto;
	padding-left: 10px;
	padding-right: 10px;
}
.eSep { padding-bottom: 60px; }
.eBlk { padding-bottom: 2em; }
.eRgt {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}
.eCtr {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.eMsg {
	display: flex;
	justify-content: center;
	color: #0075a9;
}
.eTitle {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 auto 20px;
	padding: 20px 10px 10px;
	font-size: 2.0em;
	line-height: 1.0em;
	z-index: 1;
}
.eTitle::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 100%;
	max-width: 400px;
	height: 30px;
	background: url('../img/general/eTitle.svg') no-repeat center center;
	background-size: 100% 30px;
	z-index: -1;
}
#pgPatient .eTitle::before { background-image: url('../img/general/eTitle1.svg'); }
#pgMedical .eTitle::before { background-image: url('../img/general/eTitle2.svg'); }
#pgClass .eTitle::before { background-image: url('../img/general/eTitle3.svg'); }
#pgRecruit .eTitle::before { background-image: url('../img/general/eTitle4.svg'); }
.eSubttl {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin: 0 auto 20px;
	font-size: 1.6em;
	line-height: 1.0em;
}
.eSubttl::before,
.eSubttl::after {
	content: "";
	flex: 1 1 auto;
	max-width: 80px;
	height: 5px;
	background-color: #bbe9eb;
}
.eMnttl {
	display: inline-block;
	margin-bottom: 10px;
	border-bottom: 3px solid #f5aac8;
	font-size: 1.2em;
	//font-weight: bold;
}
.eExttl {  font-size: 1.2em; }
#subMN {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 5px;
	max-width: 1200px;
	margin: auto;
	padding-bottom: 30px;
}
#subMN > * {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	min-width: 180px;
	padding: 10px 10px;
	border-radius: 10px;
	background-color: #dcd9d9;
	color: #fff;
}
#subMN > a { background-color: #bab4b5; }
#subMN  > a:first-child { background-color: #ec9cc4; }
#subMN  > a:nth-child(2) { background-color: #82c7ee; }
#subMN  > a:nth-child(3) { background-color: #f7cb58; }
#subMN  > a:nth-child(4) { background-color: #9cc75f; }
#subMN  > a:nth-child(5) { background-color: #FFB265; }
#subMN  > a:nth-child(6) { background-color: #e96b5c; }
#subMN  > a:hover { background-color: #ff8e8e; }
.eTbl {
	display: table;
	border-collapse: collapse;
	border-left: 1px solid #000;
	border-top: 1px solid #000;
	word-break: break-all;
	margin: 10px auto;
}
.eTbl > div { display:table-row; }
.eTbl > div > dt { background-color: #dcd9d9; }
.eTbl > div > dt,
.eTbl > div > dd {
	display: table-cell;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	padding: 10px;
}
.eImg {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
	padding-bottom: 20px;
}
.eBtn {
	display: flex;
	justify-content: center;
}
.eBtn a {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 240px;
	margin: 5px auto;
	padding: 10px 10px;
	border-radius: 100vh;
	background-color: #9f0810;
	color: #fff;
}
.eBtn a:hover { background-color: #f43e69; }
