
a {
	color: #009a5b;
}

h2.subtitle {
	color: #009a5b;
}

h2.subtitle em {
	display: block;
	font-size: 20px;
}

h3.subtitle {
	border-bottom: 2px solid #009a5b;
	border-top: 2px solid #009a5b;
	color: #009a5b;
	font-size: 24px;
	padding: 8px 20px;
}

h4.pricemenu-title {
	background-color: #979797;
	color: white;
	font-size: 18px;
	padding: 10px 20px;
}

ul.notelist {
	margin: 0 0 0 1.0em;
}

div.indent {
	padding: 0 1.0em;
}

main {
	padding: 0;
}

div.mainimg-bg {
	background: #f1f7f7 url(images/mainimg_bg.png) no-repeat center bottom;
	background-size: cover;
	margin-top: 20px;
}

div.mainimg-bg div.maincopy {
	margin: 0 auto;
	padding: 130px 0 260px 0;
	width: 1000px;
}

div.mainimg-bg div.maincopy p {
	font-weight: 700;
}

div.mainimg-bg div.maincopy p:first-child {
	font-family: YuMincho, "Yu Mincho", serif;
	font-size: 18px;
}

div.mainimg-bg div.maincopy h1 {
	color: #009a5b;
	font-size: 68px;
	text-align: justify;
}

div.mainimg-bg div.maincopy h1 em {
	display: block;
	font-size: 32px;
	line-height: 1.3em;
	padding: 0 0 10px 0;
}

div.mainimg-bg div.maincopy p:nth-of-type(2) {
	font-size: 24px;
}

div.mainimg-bg div.maincopy p:nth-of-type(2) em {
	background-color: #009a5b;
	border-radius: 30px;
	color: #fcfbe3;
	margin-right: 5px;
	padding: 5px 30px;
}

div.mainimg-bg div.maincopy p:nth-of-type(2) strong {
	color: black;
}

div.mainimg-bg div.maincopy p:nth-of-type(3) {
	font-family: YuMincho, "Yu Mincho", serif;
	font-size: 26px;
}

div.problem {
	padding: 50px 240px 20px 0;
	position: relative;
}

div.problem h2 {
	font-size: 24px;
	text-align: justify;
}

div.problem h2 em {
	color: #c0b715;
	font-size: 32px;
	padding: 0 2px;
}

div.problem ul {
	border-top: 1px dotted #c0b715;
	width: 520px;
}

div.problem ul li {
	background: white url(images/problem_ul_li.svg) no-repeat 30px center;
	background-size: 30px;
	border-bottom: 1px dotted #c0b715;
	font-size: 18px;
	font-weight: 700;
	padding: 10px 20px 10px 80px;
}

div.problem div.img {
	bottom: 0;
	position: absolute;
	right: 70px;
}

div.arrow {
	text-align: center;
}

div.detail h2 {
	background-color: #979797;
	color: white;
	font-size: 25px;
	padding: 8px 20px;
}

div.detail ol {
	background-color: #979797;
	margin: 0 auto;
	padding: 20px 40px 20px 70px;
	position: relative;
	width: 500px;
}

div.detail ol li {
	color: white;
	font-size: 20px;
	font-weight: 700;
	padding: 8px 0 8px 12px;
}

div.flow {
	display: flex;
}

div.flow div.img {
	padding-right: 40px;
}

div.flow ul li {
	background: url(images/arrow.svg) no-repeat center bottom 12px;
	background-size: 80px;
	font-size: 15px;
	padding-bottom: 30px;
}

div.flow ul li:last-child {
	background: none;
	padding-bottom: 0;
}

div.flow ul li strong.title {
	background-color: #009a5b;
	border-radius: 30px;
	color: white;
	display: block;
	font-size: 18px;
	font-weight: 700;
	padding: 8px 40px;
}

div.flow ul li strong.title em {
	font-size: 16px;
	padding-right: 5px;
}

div.flow ul li span.detail {
	display: block;
	padding: 20px 30px;
}

div.flow ul li span.detail img {
	float: right;
	margin-top: -10px;
	padding-left: 20px;
}

div.notes {
	border: 3px solid #f3f3f3;
	color: #444444;
	padding: 20px 30px;
}

div.notes h3 {
	border-bottom: 4px solid #f3f3f3;
	font-size: 22px;
	padding-bottom: 10px;
}

table.list-table tr.header th:first-child {
	width: 470px;
}

div.notes p {
	border-left: 16px solid #444444;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2em;
	padding: 5px 10px 5px 15px;
}

div.contact {
	color: #444444;
}

div.contact h2 {
	font-size: 28px;
}

div.contact div.tel {
	background-color: white;
}

div.contact div.tel table th {
	background-color: #959595;
	border-bottom: 1px solid #d8d8d8;
	border-top: 1px solid #d8d8d8;
	color: white;
	font-weight: 700;
	padding: 20px;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
	width: 33%;
}

div.contact div.tel table td {
	background-color: white;
	border-bottom: 1px solid #d8d8d8;
	border-top: 1px solid #d8d8d8;
	padding: 20px 20px 20px 40px;
}