@charset "UTF-8";
/*-----------------------------------

	ページ内共通

-----------------------------------*/
.ttl_wrap h4 {
	font-family: "Zen Maru Gothic", serif;
	font-size: 35px;
	line-height: 1.5;
	text-align: center;
	color: #28AB45;
}

@media screen and (max-width: 640px){
	.ttl_wrap h4 {
		font-size: 18px;
	}
}

/*-----------------------------------

	contact_block

-----------------------------------*/
#contact_block {
	margin: 155px 0 147px;

}
#contact_block .adress_box {
	text-align: center;
	margin: auto;

}
#contact_block .adress_box p span.green_p,
#contact_block .adress_box p span.green_p a {
	color: #28AB45;
}
#contact_block .adress_box p span.green_p .tel {
	font-size: 27.2px;
}
#contact_block .gr_box {
	display: flex;
    flex-direction: column;
    align-items: center;
	padding: 44px 82px 72px 63px;
	margin-bottom: 94px;
}
#contact_block .gr_box .ttl_wrap {
	margin-bottom: 35px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#contact_block .gr_box .ttl_wrap p {
	position: relative;
	width: fit-content;
	font-family: "Zen Maru Gothic", serif;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 18px;
}
#contact_block .gr_box .ttl_wrap p::after {
	content: "";
	background: #28AB45;
	border-radius: 2px;
	display: flex;
	width: 100%;
	height: 2px;
	left: 0;
	top: 0;
}

#contact_block .gr_box .wrap {
	display: flex;
	flex-direction: row;
	gap: 58px;
}
#contact_block .gr_box .wrap .p_box {
	max-width: 505px;
	width: 50%;
	display: flex;
	flex-direction: column;
    justify-content: space-between;
}
#contact_block .gr_box .wrap picture {
	position: relative;
	max-width: 480px;
	width: 50%;
}
#contact_block .gr_box .wrap picture::after {
	content: "";
	background-image: url(../img/contact/deco.png);
	position: absolute;
	background-size: contain;
	background-repeat: no-repeat;
	width: 132px;
	height: 150px;
	left: -24px;
    bottom: -52px;
}
#contact_block .gr_box .wrap .p_box .tel_box {
	margin-left: auto;
}
#contact_block .gr_box .wrap .p_box .tel_box a {
	color: #28AB45;
	font-family: "Zen Maru Gothic", serif;
	font-size: 31px;
	font-weight: 700;
	letter-spacing: 0.08em;
}
#contact_block .gr_box .wrap .p_box .tel_box p {
	font-size: 15px;
	font-weight: 400;
}
@media screen and (max-width: 640px){
	#contact_block{
		margin: 80px 0;
	}
	#contact_block .gr_box {
		padding: 25px 20px;
		margin-bottom: 40px;
	}
	#contact_block .gr_box .wrap {
		flex-direction: column;
		gap: 30px;
	}
	#contact_block .gr_box .wrap picture ,
	#contact_block .gr_box .wrap .p_box {
		max-width: unset;
		width: 100%;
	}
	#contact_block .gr_box .wrap .p_box .tel_box {
		margin: auto;
		margin-top: 24px;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	#contact_block .gr_box .wrap picture::after {
		width: 67px;
		height: 86px;
		left: -24px;
		bottom: -28px;
	}
	#contact_block .gr_box .ttl_wrap p {
		font-size: 16px;
		margin-bottom: 10px;
	}
	#contact_block .gr_box .ttl_wrap {
		margin-bottom: 20px;
	}
	#contact_block .gr_box .wrap .p_box .tel_box a {
		font-size: 24px;
		margin-bottom: 10px;
	}
	#contact_block .gr_box .wrap .p_box .tel_box p {
		font-size: 13px;
	}
}
/*-----------------------------------

	faq_block

-----------------------------------*/
#faq_block {
	margin-top: 70px;
}
#faq_block .ttl_wrap h4 {
	margin-bottom: 82px;
}
#faq_block .wrap {
	margin-bottom: 146px;
}
#faq_block .faq_wrapper {
	max-width: 980px;
	width: 100%;
	margin: auto;
}
#faq_block .faq_wrapper .faq_box {
	margin-bottom: 54px;
}
#faq_block .faq_wrapper .faq_box:last-of-type {
	margin-bottom: 0;
}
#faq_block .faq_wrapper .faq_ttl {
	padding: 7px 12px 22px 50px;
    position: relative;
    font-size: 22px;
    font-weight: 500;
    display: flex;
    justify-content: space-between;
    line-height: 1.6;
}
#faq_block .faq_wrapper .faq_ttl .circle {
	width: 29px;
	height: 29px;
	border-radius: 50%;
	background-color: #E6E6E6;
	position: relative;
	aspect-ratio: 1;
}
#faq_block .faq_wrapper h4 .circle::before {
	content: "";
	background: url(../img/common/arrow_up_green.svg);
	position: absolute;
	background-size: contain;
	background-repeat: no-repeat;
	display: flex;
	width: 9px;
	height: 5px;
	left: 50%;
	top: 50%;
	transform: translate(-50% , -50%) rotate(180deg);
}
#faq_block .faq_wrapper h4.active .circle::before {
	transform: translate(-50% , -50%) rotate(0deg);
}

#faq_block .faq_wrapper .faq_ttl::before {
	content: "Q";
	position: absolute;
	display: flex;
	align-items: center;
    justify-content: center;
	background-color: #28AB45;
	padding-bottom: 4px;
	width: 40px;
	height: 40px;
	border-radius: 100%;
	color: #FFF;
	font-size: 19px;
	left: 0;
	top: 6px;
}
#faq_block .faq_wrapper .faq_ttl::after {
	content: "";
	position: absolute;
	display: flex;
	width: 100%;
	height: 2px;
	background: #E6E6E6;
	left: 0;
	bottom: 0;
}

#faq_block .faq_wrapper .faq_txt {
	position: relative;
	padding: 18px 0 0 50px;
}
#faq_block .faq_wrapper .faq_txt::before {
	content: "A";
	position: absolute;
	display: flex;
	align-items: center;
    justify-content: center;
	background-color: #E3F4E7;
	width: 40px;
	height: 40px;
	border-radius: 100%;
	color: #28AB45;
	font-size: 19px;
	left: 0;
}


@media screen and (max-width: 640px){
	#faq_block {
		margin-top: 40px;
	}
	#faq_block .ttl_wrap h4 {
		margin-bottom: 24px;
	}
	#faq_block .faq_wrapper .faq_ttl {
		font-size: 14px;
	}
	#faq_block .faq_wrapper .faq_txt::before ,
	#faq_block .faq_wrapper .faq_ttl::before {
		width: 28px;
		height: 28px;
		font-size: 14px;
	}
	#faq_block .faq_wrapper .faq_txt::before {
		font-size: 17px;
	}
	#faq_block .faq_wrapper .faq_box {
		margin-bottom: 22px;
	}
	#faq_block .wrap {
		margin-bottom: 65px;
	}
	#faq_block .faq_wrapper .faq_ttl {
		padding: 7px 12px 22px 42px;
	}
	#faq_block .faq_wrapper .faq_txt {
		padding: 18px 0 0 42px;
	}
	#faq_block .faq_wrapper .faq_ttl .circle {
		margin-left: 4px;
	}
}