
header {
	position: absolute;
	width: 100%;
}

header h1 {
	margin: 0 auto ;
	padding-top: 90px;
	position: relative;
	z-index: 200;
}

header h1 em {
	position: absolute;
	top: 60px;
}

div.mainimg {
	background: url(images/top_mainimg.jpg) no-repeat center top;
	height: 1000px;
	padding-top: 300px;
	position: relative;
	z-index: 100;
}

div.mainimg h2 {
	padding: 100px 0 30px 0;
}

div.message p {
	color: white;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.6em;
	margin: 0;
	text-align: center;
}

div.message p:first-child {
	padding-bottom: 20px;
}

div.features {
	background: url(images/top_features_bg.gif) no-repeat center top;
	padding-bottom: 170px;
}

div.features h2 {
	color: #ac0055;
	font-size: 50px;
	padding: 20px 0 35px 0;
}

div.features h2 em {
	display: block;
	font-size: 32px;
}

div.features h2:after {
	color: #f8cfcc;
}

div.features ul.features-list {
	display: flex;
	justify-content: space-between;
	padding-top: 120px;
}

div.features ul.features-list li {
	border-radius: 15px;
	color: #ac0055;
	padding: 210px 30px 30px 30px;
	position: relative;
	width: 350px;
}

div.features ul.features-list li:nth-child(1) {
	background: url(images/top_features_list1.gif) no-repeat center top;
}

div.features ul.features-list li:nth-child(2) {
	background: url(images/top_features_list2.gif) no-repeat center top;
}

div.features ul.features-list li:nth-child(3) {
	background: url(images/top_features_list3.gif) no-repeat center top;
}

div.features ul.features-list li h3 {
	font-size: 50px;
	height: 120px;
	line-height: 1.4em;
}

div.features ul.features-list li h3 em {
	display: block;
	font-size: 21px;
	line-height: 1.4em;
}

div.features ul.features-list li p {
	font-weight: 700;
	margin: 25px 0;
}

div.features ul.features-list li span.img {
	border-radius: 50%;
	box-shadow: 0 0 12px #fad9d8;
	position: absolute;
	top: -100px;
}

div.flow {
	padding-bottom: 70px;
	position: relative;
}

div.flow div.title {
	background-color: #faf8d9;
	border-radius: 50%;
	height: 330px;
	left: 50%;
	margin-left: -285px;
	padding-top: 50px;
	position: absolute;
	top: -100px;
	width: 570px;
}

div.flow div.title h2:after {
	color: #dedaa2;
}

div.flow ul.flow-list {
	display: flex;
	justify-content: space-between;
	padding: 170px 0 100px 0;
	position: relative;
	z-index: 100;
}

div.flow ul.flow-list li {
	align-items: center;
	background-color: white;
	border-radius: 50%;
	display: flex;
	font-size: 19px;
	font-weight: 700;
	height: 160px;
	justify-content: center;
	position: relative;
	text-align: center;
	width: 160px;
}

div.flow ul.flow-list li:after {
	content: url(images/top_flow_arrow.svg);
	display: block;
	position: absolute;
	right: -38px;
	width: 45px;
	z-index: 100;
}

div.flow ul.flow-list li:nth-child(6):after {
	display: none;
}

div.flow ul.flow-list li em {
	color: #e99d98;
	font-size: 50px;
	left: 50%;
	position: absolute;
	top: -40px;
	transform: translateX(-50%);
}

div.flow ul.flow-list li p {
	font-size: 16px;
	line-height: 1.5em;
	position: absolute;
	text-align: center;
}

div.flow ul.flow-list li:nth-child(1) p {
	bottom: -84px;
	font-size: 20px;
	font-weight: 700;
}

div.flow ul.flow-list li:nth-child(1) p span.time {
	display: block;
	font-size: 13px;
	font-weight: 500;
}

div.flow ul.flow-list li:nth-child(2) p {
	bottom: -100px;
	left: 0;
	width: 320px;
}

ul.evaluation-list {
	background-color: white;
	border: 3px solid #a1c4d7;
	border-radius: 15px;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	padding: 30px 70px;
	width: 870px;
}

ul.evaluation-list li {
	background: url(images/ul_list_li.svg) no-repeat left 2px top 13px;
	background-size: 10px;
	margin: 0 1%;
	padding: 5px 0 5px 20px;
	width: 48%;
}

ul.evaluation-list li a:hover {
	color: #a1c4d7;
}

div.about {
	margin-top: 150px;
	position: relative;
}

div.about div.title {
	background-color: #d5f3d1;
	border-radius: 50%;
	height: 330px;
	left: 50%;
	margin-left: -330px;
	padding-top: 70px;
	position: absolute;
	top: -120px;
	width: 660px;
}

div.about div.title h2 {
	color: #2399ae;
}

div.about div.title h2:after {
	color: #a1c5cc;
}

div.about h3 {
	font-size: 39px;
	padding: 150px 0 20px 0;
	position: relative;
	z-index: 100;
}

div.about div.greeting p {
	font-weight: 700;
	line-height: 2.2em;
	margin: 20px 0;
}

div.about div.greeting p em {
	font-size: 17px;
}

div.about div.greeting p:last-child {
	line-height: 1.5em;
}

div.facility-detail {
	background-color: white;
	border-radius: 15px;
	padding: 30px 50px 50px 50px;
}

div.facility-detail h3 {
	background-color: #50ba42;
	border-radius: 10px;
	color: white;
	font-size: 26px;
}

div.facility-detail div.indent {
	padding: 0 70px;
}

div.facility-detail ul.notelist li {
	text-align: center;
}