@charset "utf-8";
/* reset */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, select, input, textarea, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	border: 0;
}
ol, ul {
	list-style: none;
}
img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
/* html */
html {
	font-size: 16px;
}
/* body */
body {
	color: #4e4848;
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
	line-height: 1.6;
	background: #fff;
}
/* article */
.article {
	max-width: 1000px;
	margin: 0 auto;
}
/* title */
h1, h2, h3 {
	line-height: 1.4;
}
h1, h2, .txt-01 {
	font-family: 'Noto Serif JP', "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-weight: 400;
}
h1 {
	margin: 6% 0 4%;
	font-size: 2.5rem;
	text-align: center;
}
h2 {
	margin: 0 6% 4%;
	padding-bottom: .2em;
	font-size: 1.875rem;
	text-align: center;
	border-bottom: solid 2px black;
}
h3 {
	position: relative;
	margin: 0 6% 3%;
	padding: .5em 1em;
	color: #fff;
	font-size: 1.5rem;
	background: #79b8ab;
}
h3::before {
	position: absolute;
	content: '';
	top: 100%;
	left: 0;
	border: none;
	border-right: solid 1em #999;
	border-bottom: solid .75em transparent;
}
/* txt */
.txt-01 {
	padding: 0 6% 6%;
	font-size: 1.5rem;
}
.txt-02 {
	padding: 0 6% 6%;
	font-size: 1.25rem;
}
.txt-03 {
	padding: 0 6% 6%;
	font-size: 1.125rem;
}
.txt-04 {
	padding: 1% 6% 6%;
}
/* bg */
.bg-01 {
	margin-bottom: 6%;
	padding: 4% 0;
	background: #f9f3e8;
}
.bg-02 {
	padding: 0 0 4%;
	background: #e9f4e4;
}
.bg-03 {
	padding: 0 0 4%;
	background: #fbffe9;
}
/* ol */
.ol-01 {
	counter-reset: my-counter;
}
.ol-01 li {
	position: relative;
	margin: 0 6% 2%;
	padding-left: 2em;
	font-size: 1.125rem;
}
.ol-01 li:before {
	content: counter(my-counter);
	counter-increment: my-counter;
	position: absolute;
	top: 0;
	left: 0;
	height: 1.6em;
	width: 1.6em;
	color: #fff;
	text-align: center;
	background: #afa322;
	border-radius: 50%;
}
/* margin */
.mb-20 {
	margin-bottom: 2%;
}
.mb-40 {
	margin-bottom: 4%;
}
/* sp */
.sp {
	display: none;
}
@media screen and (max-width: 758px) {
	html {
		font-size: 14px;
	}
	h1 {
		font-size: 1.6rem;
	}
	h2, .txt-01 {
		font-size: 1.4rem;
	}
	h3 {
		font-size: 1.2rem;
	}
	.sp {
		display: block;
	}
}