
#title {
	margin: 10px auto 50px auto;
	padding: 0;
	width: 950px;
}

#title h2 {
	color: #009a5b;
	font-size: 38px;
	font-weight: 700;
	line-height: 1.5em;
}

#title h2 span.comment {
	border-bottom: 1px solid #009a5b;
	border-top: 1px solid #009a5b;
	display: block;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3em;
	margin: 20px 0;
	padding: 8px 20px;
}

h3.subtitle {
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4em;
	padding-bottom: 10px;
}

h3.subtitle:after {
	background-color: #009a5b;
	content: "";
	display: block;
	height: 4px;
	margin: 20px auto 0 auto;
	width: 100px;
}

h4.item-title {
	color: #009a5b;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.4em;
}

strong.marker {
	background: url(images/marker.gif) repeat-x center bottom;
	color: #666666;
	font-size: 15px;
	font-weight: 700;
	padding: 0 3px;
}

div.area {
	background: url(images/area.gif) no-repeat right top 10px;
	background-size: 550px;
	padding: 20px 70px 110px 70px;
}

div.area p.copy {
	background-color: #f4c63c;
	border-radius: 20px;
	color: white;
	font-size: 15px;
	font-weight: 700;
	margin: 0 auto;
	padding: 5px 10px;
	text-align: center;
	width: 240px;
}

div.cleaning ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

div.cleaning ul li {
	margin: 6px;
}

div.cleaning ul li a {
	background-color: #dfeeed;
	border-radius: 30px;
	box-shadow: 0 0 5px #efefef;
	color: #009a5b;
	display: block;
	font-size: 16px;
	padding: 15px 30px;
	text-decoration: none;
}

div.cleaning ul li:nth-child(1) a,
div.cleaning ul li:nth-child(2) a {
	font-weight: 700;
}

div.cleaning ul li a:hover {
	background-color: #fff9e6;
	color: #f4c63c;
}

div.requirement {
	display: flex;
	justify-content: space-between;
}

div.requirement div.req {
	padding: 0 20px;
	width: 49%;
}


div.requirement div.req ul {
	border-top: 1px dotted #89c1bd;
	padding-top: 0;
}

div.requirement div.req ul li {
	background: url(images/req_list_li.svg) no-repeat 16px 15px;
	background-size: 10px;
	border-bottom: 1px dotted #89c1bd;
	margin: 0;
	padding: 10px 30px 10px 40px;
}

table.merit {
	border-collapse: separate;
	border-spacing: 4px;
}

table.merit th {
	background-color: #89c1bd;
	border-radius: 0 0 0 30px;
	color: white;
	font-size: 19px;
	font-weight: 700;
	padding: 15px 20px;
	width: 330px;
}

table.merit th span.num {
	display: block;
	font-size: 14px;
	font-weight: 500;
	padding-bottom: 2px;
}

table.merit th span.num em {
	padding-left: 5px;
}

table.merit td {
	background-color: #f5f5f5;
	border-radius: 0 30px 0 0;
	line-height: 1.8em;
	padding: 15px 30px;
	width: 620px;
}

ul.flow {
	display: flex;
	justify-content: center;
}

ul.flow li {
	background-color: white;
	font-size: 15px;
	line-height: 1.8em;
	margin-right: 30px;
	position: relative;
	width: 260px;
}

ul.flow li:first-child {
	width: 350px;
}

ul.flow li:last-child {
	margin: 0;
}

ul.flow li:after {
	content: url(images/flow_arrow.svg);
	display: block;
	position: absolute;
	right: -38px;
	top: 50%;
	transform: translateY(-50%);
	width: 45px;
	z-index: 100;
}

ul.flow li:nth-child(4):after {
	content: none;
}

ul.flow li p.num {
	color: white;
	font-size: 15px;
	font-weight: 700;
	margin: 0;
	padding: 8px 20px;
	text-align: center;
}

ul.flow li:nth-child(1) p.num {
	background-color: #bcdcd9;
}

ul.flow li:nth-child(2) p.num {
	background-color: #add4d1;
}

ul.flow li:nth-child(3) p.num {
	background-color: #a2ceca;
}

ul.flow li:nth-child(4) p.num {
	background-color: #89c1bd;
}

ul.flow li p.num em {
	font-size: 24px;
	padding-left: 5px;
}

ul.flow li h4 {
	color: #89c1bd;
	font-size: 20px;
	font-weight: 700;
	padding: 15px 20px 10px 20px;
}

ul.flow li div.text {
	padding: 0 20px 20px 20px;
}

ul.flow li div.text p a.link-btn {
	font-weight: 700;
	padding: 15px 40px 15px 30px;
}

ul.faq {
	border-bottom: 1px dotted #666666;
	line-height: 1.5em;
	list-style-type: none;
	margin: 5px 0 0 1.3em;
}

ul.faq li {
	border-top: 1px dotted #666666;
	display: block;
	line-height: 1.5em;
	padding: 10px 40px 10px 20px;
}

ul.faq li.question {
	background: url(../images/link_btn_green.png) no-repeat right 10px center;
}

ul.faq li.answer {
	border-top: none;
	display: none;
	padding: 5px 0 10px 50px;
}

ul.faq li.question:hover {
	background-color: #fffee1;
	color: black;
	cursor: pointer;
}

ul.faq li em {
	color: white;
	display: table-cell;
	font-weight: 700;
	margin-right: .2em;
	padding: 5px;
	text-align: center;
	vertical-align: middle;
	width: 100px;
}

ul.faq li.question em {
	background-color: #89c1bd;
}

ul.faq li.answer em {
	background-color: #f4c63c;
}

ul.faq li strong,
ul.faq li span {
	display: table-cell;
	font-weight: normal;
	padding: 0 20px;
	vertical-align: middle;
}

ul.faq li.answer span.link {
	display: block;
	padding: 15px 0;
}

ul.faq li.answer span.link a.link-btn {
	font-size: 85%;
	padding: 8px 50px 8px 40px;
}

ul.faq li ul.notelist li {
	border: none;
	padding: 3px 0;
}

ul.faq li ul.notelist li span {
	display: inline;
	padding-left: 0;
}