/*--------------------------------------------------
  = Base
--------------------------------------------------*/
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,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;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
}
*, *::before, *::after {
  box-sizing: border-box;
}
ol, ul {
	list-style: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
	display: block;
}
html {
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	scroll-behavior: smooth;
	font-size: 62.5%;
}
body {
	position: relative;
	width: 100%;
	color: #1b1b1b;
	line-height: 1.62;
	font-size: 2.6rem;
	font-family: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-style: normal;
	font-weight: 400;
  letter-spacing: 0.02em;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}
a {
  color: #1b1b1b;
	text-decoration: none;
	cursor: pointer;
	transition: all .2s;
}
strong {
	font-weight: bold;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
	html {
		font-size: 62.5%;
	}
	body {
		position: relative;
		max-width: 750px;
		margin: 0 auto;
	}
	.sp {
		display: none !important;
	}
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
	}
}
/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	html {
		font-size: calc(100vw / 75);
	}
	body {
		min-width: 300px;
		line-height: 1.53;
	}
	.pc {
		display: none !important;
	}
}

/*--------------------------------------------------
  = Page
--------------------------------------------------*/
#wrapper {
	overflow: hidden;
}
.header {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #fff;
	height: 10rem;
}
.header .logo {
	width: 17.5rem;
}
.contact_btn {
	display: flex;
	padding: 3rem;
}
.contact_btn.col__1 {
	flex-direction: column;
	padding: 0;
}
.contact_btn.fixed {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	justify-content: center;
	background-color: rgba(0,0,0,0.45);
	z-index: 100;
}
.contact_btn .btn {
	display: block;
	position: relative;
	width: 33rem;
	font-size: 3rem;
	color: #fff;
	font-weight: bold;
	border-radius: 0.8rem;
	letter-spacing: 0.04em;
	padding: 2.5rem 2.5rem 2.5rem 7.5rem;
}
.contact_btn:not(.col__1) .btn + .btn {
	margin-left: 3rem;
}
.contact_btn .btn.tel {
	background-color: #12bedd;
	box-shadow: 0 0.7rem 0 #1098b1;
}
.contact_btn .btn.line {
	background-color: #39cd26;
	box-shadow: 0 0.7rem 0 #28a018;
}
.contact_btn .btn::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 1.9rem;
}
.contact_btn .btn.tel::before {
	width: 4rem;
	height: 4rem;
	background: url(../img/icon_tel.svg) no-repeat 50%/100%;
}
.contact_btn .btn.line::before {
	width: 4.1rem;
	height: 4rem;
	background: url(../img/icon_line.svg) no-repeat 50%/100%;
}
.contact_btn.col__1 .btn {
	width: 64rem;
	text-align: center;
	margin: 0 auto;
}
.contact_btn.col__1 .btn + .btn {
	margin-top: 4rem;
}
.contact_btn.col__1 .btn::before {
	left: 10rem;
}
.inner {
	padding: 0 3rem;
}
.listBox {
	padding: 4rem 0 6rem;
}
.listBox > li {
	position: relative;
	background-color: #fff;
	box-shadow: 0 0 2rem rgba(0,0,0,0.2);
	padding: 3rem 2rem;
}
.listBox > li + li {
	margin-top: 3.5rem;
}
.listBox > li .num {
	position: absolute;
	top: 0;
	left: 0;
	width: 12rem;
	height: 12rem;
	color: #fff;
	font-size: 4.7rem;
	letter-spacing: 0;
	font-family: 'Oswald', sans-serif;
	background: url(../img/cause_num_bg.png) no-repeat;
	background-size: 100% auto;
	padding-left: 1.2rem;
	z-index: 1;
}
.listBox > li h3 {
	font-size: 3.2rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	background: url(../img/line01.png) no-repeat center bottom;
	background-size: 100% auto;
	padding: 2.5rem 0 5rem;
	margin-bottom: 1.5rem;
}
.listBox > li p {
	line-height: 1.65;
	margin-bottom: 1rem;
}
.note01 li {
	font-size: 2rem;
	text-indent: -2.6rem;
  margin-left: 2.6rem;
  line-height: 1.8;
}
.note01 li::before {
	content: "※";
}
.ttl {
	margin-bottom: 5rem;
}
.sec_merit {
	height: 112rem;
	padding-top: 4rem;
	background: url(../img/merit_bg.png) no-repeat center top;
	background-size: 100% auto;
}
.sec_merit .list01 {
	padding: 10rem 4rem 0;
}
.list01 li {
	position: relative;
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.65;
	padding-left: 4.5rem;
}
.list01 li + li {
	margin-top: 3rem;
}
.list01 li::before {
	content: "";
	display: block;
	position: absolute;
	top: 0.9rem;
	left: 0;
	width: 3.5rem;
	height: 3.2rem;
	background: url(../img/list01.png) no-repeat;
	background-size: 100%;
}
.column {
	display: flex;
}
.column__2 {
	justify-content: space-between;
}
.column__2 .item {
	width: 47.5%;
}
.sec_flow_cont {
	border: 0.8rem solid #b99b71;
	padding-top: 4rem;
	padding-bottom: 5rem;
}
.sec_flow .img {
	margin-bottom: 2rem;
}
.sec_faq {
	padding: 4rem 0 6rem;
	background: url(../img/faq_bg.jpg) repeat-y center top;
	background-size: 100% auto;
}
.faq_box {
	border: 0.2rem solid #a98335;
}
.faq_box .item .txt {
	position: relative;
	padding: 1.8rem 3rem 1.8rem 7rem;
}
.faq_box .item .txt.q {
	color: #fff;
	font-weight: 500;
	background-color: #a98335;
}
.faq_box .item .txt.a {
	background-color: #fff;
	padding-bottom: 3rem;
}
.faq_box .item .txt::before {
	display: block;
	position: absolute;
	left: 2rem;
  top: 1.8rem;
  font-family: 'Oswald', sans-serif;
  line-height: 1;
  font-size: 3.8rem;
}
.faq_box .item .txt.q::before {
	content: "Q";
	color: #fff;
}
.faq_box .item .txt.a::before {
	content: "A";
	color: #a98335;
}
.sec_rectuit {
	padding: 4rem 0 6rem;
}
.sec_rectuit h3 {
	padding-top: 2rem;
	margin-bottom: 3rem;
}
.list li {
	margin-left: 2.6rem;
}
.table01 {
	margin-bottom: 4rem;
}
.table01,
.table01 tr {
	width: 100%;
	display: block;
	position: relative;
}
.table01 tr {
	border-bottom: 1px dotted #333;
}
.table01 th,
.table01 td {
	display: inline-block;
	font-size: 2.4rem;
	line-height: 1.6;
	vertical-align: top;
}
.table01 th {
	position: relative;
	width: 28%;
	font-weight: bold;
	letter-spacing: 0.06em;
	padding: 2.5rem 2rem 2.5rem 3.7rem;
}
.table01 th::before {
	content: "";
	display: block;
	position: absolute;
	top: 3.2rem;
	left: 0;
	width: 2.7rem;
	height: 2.5rem;
	background: url(../img/icon01.png) no-repeat;
	background-size: 100%;
}
.table01 td {
	width: 70%;
	padding: 2.5rem 0;
}
.sec_contact {
	padding: 6rem 0 6rem;
	background-color: #faf8f6;
}
.heading {
	position: relative;
	font-size: 3.4rem;
	text-align: center;
	font-weight: bold;
	padding-bottom: 3.5rem;
	background: url(../img/line02.png) no-repeat center bottom;
	background-size: 45rem auto;
}
.footer {
	margin-bottom: 15.5rem;
}
.copyright {
	font-size: 2.4rem;
	color: #fafafa;
	letter-spacing: 0.08em;
	text-align: center;
	background-color: #313131;
	padding: 2rem 2rem 3rem;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
	.contact_btn .btn:hover {
		opacity: .8s;
	}
	.contact_btn.fixed {
		padding: 2rem;
	}
	.contact_btn.fixed .btn {
		font-size: 2.5rem;
		padding: 1.5rem 2.5rem 1.5rem 8.5rem;
	}
}
/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {

}
