@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,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;word-wrap:break-word;overflow-wrap:break-word;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display: block;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:inherit;}
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:super;}
sub{vertical-align:text-bottom;}
input,textarea,select,button{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select,button{*font-size:100%;}
legend{color:#000;}
img {vertical-align:top;}
input[type="radio"],input[type="checkbox"] {vertical-align: -2px;}
label {cursor: pointer;}


/* =Common
-------------------------------------------------------------- */
body {
	text-align: center;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}
img {
	max-width: 100%;
	height: auto;
}
input[type="submit"], input[type="reset"] {
	appearance: none;
	cursor: pointer;
}

/* clearfix */
.cf:before, .cf:after {content:"";display:table;}
.cf:after {clear:both;}
.clr {clear: both;}


/* =Styles 
-------------------------------------------------------------- */
body {
	/* win：游ゴシック、mac：游ゴシック、iPhone：San Francisco、ヒラギノ（-1px） */
	font-family: 'Hiragino Kaku Gothic ProN', YuGothic, -apple-system, BlinkMacSystemFont, 'Yu Gothic Medium', 'Yu Gothic', 'Hiragino Sans', Meiryo, sans-serif;
	color: #000;
	background: #fff;
}
a {
	text-decoration: none;
	color: #000;
}
@media ( min-width: 601px ){
	body {
		font-size: 14px;
	}
	.sp {
		display: none !important;
	}
}
@media ( min-width: 961px ){
	.sptab {
		display: none !important;
	}
}
@media ( max-width: 960px ){
	.pc {
		display: none !important;
	}
}
@media ( max-width: 600px ){
	body {
		font-size: 4vw;
	}
	.pctab {
		display: none !important;
	}
	.inner {
		padding: 0 4.4vw;
	}
}

/* IE11のみハック */
_:-ms-lang(x)::-ms-backdrop, .selector {

}


/* =header
-------------------------------------------------------------- */
.header,
.header .wrap {
	display: flex;
	align-items: center;
}
.header {
	justify-content: space-between;
}
.header .logo {
	align-self: flex-start;
}
@media ( min-width: 601px ){
	.header {
		padding: 13px 13px 16px 21px;
	}
	.header .wrap .btn {
		flex: 0 1 298px;
	}
	.header .wrap .btn.hoken {
		margin-left: auto;
	}
}
@media ( min-width: 961px ){
	.header .wrap {
		gap: 0 22px;
	}
	.header .logo {
		max-width: 20%;
	}
	.header .wrap {
		width: 50%;
	}
}
@media ( max-width: 960px ){
	.header .logo {
		width: 27%;
	}
	.header .wrap {
		max-width: 70%;
	}
	.header .wrap {
		gap: 0 1.5385vw;
	}
}
@media ( max-width: 600px ){
	.header {
		padding: 2.3077vw 2.5641vw 2.0513vw;
	}
}

/* = fixed_btn_wrap
-------------------------------------------------------------- */
.fixed_btn_wrap {
	position: fixed;
	bottom: -13px;
	left: 0;
	width: 100%;
	z-index: 15;
}
@media ( min-width: 961px ){
	.fixed_btn_wrap {
		padding: 10px 0 0;
		background: rgba(20,29,6,0.3);
	}
	.fixed_btn_wrap .btn a {
		display: inline-block;
	}
}
@media ( max-width: 960px ){
	.fixed_btn_wrap .btn a {
		display: block;
	}
}

/* =mv
-------------------------------------------------------------- */
.mv {
	position: relative;
}
.mv:not(.clean)::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	z-index: 10;
	background: rgba(20,29,6,0.3);
}
.mv .swiper {
	height: 100%;
}
.mv .swiper .swiper-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.mv .in {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	z-index: 11;
}
.mv .mv_catch {
	position: absolute;
	z-index: 11;
}
.mv .in .btn a {
	display: block;
}
.mv.clean .in .mv_catch {
	display: none;
}
.mv .swiper .swiper-slide.btn .inn {
	height: 100%;
}
@media ( min-width: 601px ) {
	.mv {
		height: 137.8205vw;
	}
}
@media ( min-width: 961px ) {
	.mv {
		height: 680px;
	}
}
@media ( min-width: 961px ){
	.mv .in {
		width: 80%;
		max-width: 980px;
	}
	.mv.clean .in {
		display: none;
	}
	.mv .swiper .swiper-slide.btn {
		padding: 0 20px;
		box-sizing: border-box;
		background: url(../../img/resp/text-top-banner.png)no-repeat;
		background-size: 669px auto;
		background-color: #FAFFF0;
    	background-position-x: -120px;
	}
	.mv .swiper .swiper-slide.btn .inn {
		position: relative;
		max-width: 1440px;
		height: 100%;
		margin: 0 auto;
		/* background: url(../../img/resp/fv_img.png)no-repeat left 70% bottom/100%; */
	}
	.mv .swiper .swiper-slide.btn .inn .top-banner {
		display: flex;
		justify-content: center;
		height: 100%;
		
	}
	.mv .swiper .swiper-slide.btn .inn .top-banner .text-top{
		max-width: 553px;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.mv .swiper .swiper-slide.btn .inn .top-banner .text-top img{
		object-fit: contain;
	}
	.mv .swiper .swiper-slide.btn .inn .top-banner .img-right{
		max-width: 550px;
		object-fit: contain;
		padding-top: 44px;
	}
	.mv .swiper .swiper-slide.btn .btn {
		position: absolute;
		width: 40.8%;
		max-width: 415px;
	}
	.mv .mv_catch {
		left: 0;
		bottom: 14.41%;
		width: 49.6%;
		max-width: 486px;
	}
	.mv .btn_wrap {
		position: absolute;
		right: 0;
		bottom: 14.26%;
		width: 44.38%;
	}
	.mv .btn_wrap .text_img {
		width: 63.21%;
		margin: 0 auto 5px;
	}
}
@media ( min-width: 961px ) and ( max-width: 1056px ){
	.mv .swiper .swiper-slide.btn .btn {
		top: 64%;
	}
}
@media ( min-width: 1057px ){
	.mv .swiper .swiper-slide.btn .btn {
		top: 64%;
	}
	.mv .swiper .swiper-slide.btn {
		background-position-x: 0;
	}
}
@media ( max-width: 960px ){
	.mv {
		margin: 0 0 21.0256vw;
	}
	.mv .swiper .swiper-slide.btn img {
		object-position: top;
	}
	.mv .swiper .swiper-slide.btn .inn {
		background: url(../../img/resp/top-sp-new.png)no-repeat top 20% center/cover;
	}
	.mv .mv_catch {
		left: 0;
		right: 0;
		bottom: 25.4%;
		margin: 0 auto;
		width: 73.8%;
	}
	.mv .in .btn {
		position: absolute;
		bottom: -27.4vw;
		left: 0;
		width: 100%;
		z-index: 10;
	}
	.mv .in .btn img {
		width: 100%;
	}
}
@media ( max-width: 600px ){
	.mv {
		height: 137.8205vw;
	}
}

/* =trouble
-------------------------------------------------------------- */

@media ( min-width: 601px ){
	.trouble {
		padding: 85px 0 52px;
	}
	.trouble .trouble_in {
		max-width: 1387px;
		padding: 0 20px;
		margin: 0 auto;
	}
	.trouble .sec_ttl {
		margin: 0 0 63px;
	}
	.trouble .contents {
		margin: 0 0 102px;
	}
	.trouble .btn_wrap .text_img {
		margin: 0 0 60px;
	}
}
@media ( min-width: 961px ){
	.trouble .contents ul {
		display: flex;
		justify-content: space-between;
	}
	.trouble .contents ul li {
		width: 32.37%;
	}
	.trouble .contents ul li:not(:last-child) {
		margin-right: 1.445%;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	.trouble .contents ul li:not(:last-child) {
		margin: 0 0 40px;
	}
}
@media ( max-width: 600px ){
	.trouble {
		padding: 12.8205vw 0 8.9744vw;
	}
	.trouble .sec_ttl {
		width: 89.23%;
		margin: 0 auto 11.0256vw;
	}
	.trouble .contents {
		margin: 0 0 11.0256vw;
	}
	.trouble .contents ul {
		padding: 0 6.6667vw;
	}
	.trouble .contents ul li:not(:last-child) {
		margin: 0 0 6.6667vw;
	}
	.trouble .btn_wrap .text_img {
		width: 93%;
		margin: 0 auto 7.1795vw;
	}
	.trouble .btn_wrap .btn {
		width: 88.2%;
		margin: 0 auto;
	}
}
/* =service
-------------------------------------------------------------- */
.service {
	position: relative;
	background-color: #EAEAEA;
}
.service::before,
.service::after {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
}
.service::after {
	bottom: 0;
}
.service .contents ul li {
	box-sizing: border-box;
}
.service .contents ul li .in {
	position: relative;
	border: 2px solid #73A521;
	background-color: #F0FFD6;
	box-sizing: border-box;
	box-shadow: 0 4px 4px rgba(0, 0, 0, .25);
}
.service .contents ul li .in .icon {
	position: absolute;
	z-index: 1;
}
.service .contents ul li .in .list_ttl {
	position: relative;
	background-color: #73A521;
	background-image: url(../../img/resp/icon_arrow_down.png);
	background-repeat: no-repeat;
	cursor: pointer;
}
.service .contents ul li .in .list_ttl::before,
.service .contents ul li .in .list_ttl::after {
	content: '';
	position: absolute;
}
.service .contents ul li .in .list_ttl::before {
	background: url(../../img/resp/service_ttl_left.png)no-repeat left top/100% 100%;
}
.service .contents ul li .in .list_ttl::after {
	background: url(../../img/resp/service_ttl_right.png)no-repeat left top/100% 100%;
}
.service .contents ul li .in .list_ttl.open {
	background-image: url(../../img/resp/icon_arrow_up.png);
}
.service .contents ul li .catch {
	position: relative;
}
.service .contents ul li .catch::after {
	content: '';
	position: absolute;
	bottom: 0;
}
.service .contents ul li.list_1 .catch::after {
	background: url(../../img/resp/service_catch_icon_1.png)no-repeat center/contain;
}
.service .contents ul li.list_2 .catch::after {
	background: url(../../img/resp/service_catch_icon_2.png)no-repeat center/contain;
}
.service .contents ul li.list_3 .catch::after {
	background: url(../../img/resp/service_catch_icon_3.png)no-repeat center/contain;
}
.service .contents ul li.list_4 .catch::after {
	background: url(../../img/resp/service_catch_icon_4.png)no-repeat center/contain;
}
@media ( min-width: 601px ){
	.service {
		padding: 96px 0 135px;
	}
	.service .service_in {
		max-width: 1091px;
		padding: 0 20px;
		margin: 0 auto;
	}
	.service .sec_ttl {
		margin: 0 0 68px;
	}
	.service .contents ul li {
		padding: 0 12px;
	}
	.service .contents ul li .in {
		padding: 9.26% 0 25px;
		border-radius: 26px;
	}
	.service .contents ul li .in .icon {
		top: -22px;
		left: -6px;
		width: 18.52%;
	}
	.service .contents ul li .in .list_ttl {
		padding: 15px calc(10% + 30px) 14px;
		margin: 0 0 21px;
		background-size: 30px 31px;
		background-position: center right 8.8%;
	}
	.service .contents ul li .in .list_ttl::before,
	.service .contents ul li .in .list_ttl::after {
		width: 12px;
		height: 116.67%;
		bottom: 0;
	}
	.service .contents ul li .in .list_ttl::before {
		left: -14px;
	}
	.service .contents ul li .in .list_ttl::after {
		right: -14px;
	}
	.service .contents ul li .in .list_ttl.open {
		background-size: 30px 19px;
	}
	.service .contents ul li .in .list_text {
		padding: 0 12px;
	}
	.service .contents ul li .in .catch {
		margin: 12px 0 0;
	}
	.service .contents ul li.list_1 .in .catch {
		width: 52.6%;
		padding: 0 11.2% 0 36.2%;
	}
	.service .contents ul li.list_1 .in .catch:after {
		width: 26.5%;
		height: 83.33%;
		left: 5.47%;
	}
	.service .contents ul li.list_2 .in .catch {
		width: 65.7%;
		padding: 0 2.7% 0 31.6%;
	}
	.service .contents ul li.list_2 .in .catch:after {
		width: 20.63%;
		height: 72.54%;
		left: 4.42%;
	}
	.service .contents ul li.list_3 .in .catch {
		width: 58.1%;
		padding: 0 5.7% 0 36.2%;
	}
	.service .contents ul li.list_3 .in .catch:after {
		width: 31.57%;
		height: 78.92%;
		left: 5%;
	}
	.service .contents ul li.list_4 .in .catch {
		width: 65.26%;
		padding: 0 4.84% 0 29.9%;
	}
	.service .contents ul li.list_4 .in .catch:after {
		width: 25.47%;
		height: 79.41%;
		left: 1.68%;
	}
}
@media ( min-width: 961px ){
	.service {
		margin: 72px 0 165px;
	}
	.service::before {
		top: -71px;
		height: 72px;
		background: url(../../img/resp/bg_service_top.png)no-repeat center/100% 100%;
	}
	.service::after {
		bottom: -164px;
		height: 165px;
		background: url(../../img/resp/bg_service_bottom.png)no-repeat center/100% 100%;
	}
	.service .contents ul {
		display: flex;
		flex-wrap: wrap;
	}
	.service .contents ul li {
		width: 45.87%;
	}
	.service .contents ul li:nth-child(odd) {
		margin-right: 8.26%;
	}
	.service .contents ul li:nth-child(n + 3) {
		margin-top: 68px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	.service {
		margin: 90px 0 135px;
	}
	.service::before {
		top: -89px;
		height: 90px;
	}
	.service::after {
		bottom: -134px;
		height: 135px;
	}
	.service .contents ul {
		max-width: 600px;
		margin: 0 auto;
	}
	.service .contents ul li:not(:first-child) {
		margin-top: 68px;
	}
}
@media ( max-width: 960px ){
	.service::before {
		background: url(../../img/resp/bg_service_top_sp.png)no-repeat center/100% 100%;
	}
	.service::after {
		background: url(../../img/resp/bg_service_bottom_sp.png)no-repeat center/100% 100%;
	}
}
@media ( max-width: 600px ){
	.service {
		padding: 0 0 17.9487vw;
		margin: 11.5385vw 0 17.3077vw;
	}
	.service::before {
		top: -11.5vw;
		height: 11.5385vw;
	}
	.service::after {
		bottom: -17.3vw;
		height: 17.3077vw;
	}
	.service .sec_ttl {
		width: 75.12%;
		margin: -1.5385vw auto 18.9744vw;
	}
	.service .contents {
		padding: 0 1.9231vw;
	}
	.service .contents ul li {
		padding: 0 2.3077vw;
	}
	.service .contents ul li:not(:first-child) {
		margin-top: 11.2821vw;
	}
	.service .contents ul li .in {
		padding: 8.4615vw 0 3.5897vw;
		border-radius: 6.6667vw;
	}
	.service .contents ul li .in .icon {
		top: -3.8462vw;
		left: -1.9846vw;
		width: 17.7%;
	}
	.service .contents ul li .in .list_ttl {
		padding: 3.0769vw 0;
		margin: 0 0 4.1026vw;
		background-size: 7.6923vw 7.1795vw;
		background-position: center right;
	}
	.service .contents ul li .in .list_ttl::before,
	.service .contents ul li .in .list_ttl::after {
		width: 2.3077vw;
		height: 116.67%;
		bottom: 0;
	}
	.service .contents ul li .in .list_ttl::before {
		left: calc(-2.3077vw - 2px);
	}
	.service .contents ul li .in .list_ttl::after {
		right: calc(-2.3077vw - 2px);
	}
	.service .contents ul li .in .list_ttl.open {
		background-size: 5.3846vw 3.5897vw;
		background-position: center right 1.3077vw;
	}
	.service .contents ul li .in .list_ttl img {
		margin: 0 auto;
	}
	.service .contents ul li:nth-child(1) .in .list_ttl img {
		width: 56.4103vw;
	}
	.service .contents ul li:nth-child(2) .in .list_ttl img {
		width: 51.2821vw;
	}
	.service .contents ul li:nth-child(3) .in .list_ttl img {
		width: 41.0256vw;
	}
	.service .contents ul li:nth-child(4) .in .list_ttl img {
		width: 30.7692vw;
	}
	.service .contents ul li .in .list_text {
		padding: 0 2.8205vw;
	}
	.service .contents ul li .in .catch {
		margin: 2.8205vw 0 0;
	}
	.service .contents ul li.list_1 .in .catch {
		width: 56.2%;
		padding: 0 7.6% 0 36.2%;
	}
	.service .contents ul li.list_1 .in .catch:after {
		width: 26.5%;
		height: 83.33%;
		left: 5.47%;
	}
	.service .contents ul li.list_2 .in .catch {
		width: 64.3%;
		padding: 0 0 0 34.8%;
	}
	.service .contents ul li.list_2 .in .catch:after {
		width: 27.5%;
		height: 92.5%;
		left: 3.93%;
	}
	.service .contents ul li.list_3 .in .catch {
		width: 61.8%;
		padding: 0 1% 0 36.2%;
	}
	.service .contents ul li.list_3 .in .catch:after {
		width: 25.8%;
		height: 100%;
		left: 6.4%;
	}
	.service .contents ul li.list_4 .in .catch {
		width: 62.3%;
		padding: 0 2.9% 0 34.8%;
	}
	.service .contents ul li.list_4 .in .catch:after {
		width: 31.4%;
		height: 114%;
		left: 1%;
	}
}

/* =voice
-------------------------------------------------------------- */
.voice .contents ul li {
	display: flex;
	flex-direction: column;
}
.voice .contents ul li .name_wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.voice .contents ul li .name_wrap .name {
	flex: 1 1 auto;
	color: #73A521;
	font-weight: bold;
	text-align: left;
}
.voice .contents ul li .name_wrap .name span {
	display: block;
	white-space: nowrap;
}
.voice .contents ul li .text {
	text-align: justify;
	height: 100%;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .25);
}
@media ( min-width: 601px ){
	.voice {
		padding: 86px 0 141px;
	}
	.voice .voice_in {
		max-width: 1127px;
		padding: 0 20px;
		margin: 0 auto;
	}
	.voice .sec_ttl {
		margin: 0 0 101px;
	}
	.voice .contents ul li .name_wrap {
		margin: 0 0 10px;
		line-height: 1.45;
	}
	.voice .contents ul li .text {
		border-radius: 0 25px 25px 25px;
	}
}
@media ( min-width: 961px ){
	.voice .contents ul {
		display: flex;
		justify-content: space-between;
	}
	.voice .contents ul li:not(:nth-child(2)) {
		width: 29.4%;
	}
	.voice .contents ul li:nth-child(2) {
		width: 30.5%;
	}
	.voice .contents ul li .name_wrap .name {
		font-size: min(20px,1.7746vw);
	}
	.voice .contents ul li .name_wrap .name span {
		font-size: min(26px,2.307vw);
	}
	.voice .contents ul li:not(:nth-child(2)) .name_wrap .icon {
		flex: 0 1 30.2%;
		margin-right: 4.2%;
	}
	.voice .contents ul li:nth-child(2) .name_wrap .icon {
		flex: 0 1 29%;
		margin-right: 4%;
	}
	.voice .contents ul li .text {
		font-size: min(20px,1.7746vw);
		line-height: 1.45;
		padding: 32px 20px 34px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	.voice .contents ul {
		padding: 0 4vw;
	}
	.voice .contents ul li:not(:last-child) {
		margin: 0 0 50px;
	}
	.voice .contents ul li .name_wrap .name {
		font-size: 20px;
	}
	.voice .contents ul li .name_wrap .name span {
		font-size: 26px;
	}
	.voice .contents ul li .name_wrap .icon {
		flex: 0 1 100px;
		margin-right: 4%;
	}
	.voice .contents ul li .text {
		font-size: 20px;
		line-height: 1.45;
		padding: 32px 20px 34px;
	}
}
@media ( max-width: 600px ){
	.voice {
		padding: 18.9744vw 0 12.0513vw;
	}
	.voice .sec_ttl {
		width: 35.6%;
		margin: 0 auto 8.9744vw;
	}
	.voice .contents ul {
		padding: 0 7.6923vw;
	}
	.voice .contents ul li:not(:last-child) {
		margin: 0 0 12.0513vw;
	}
	.voice .contents ul li .name_wrap {
		margin: 0 0 4.1026vw;
		line-height: 1.42;
	}
	.voice .contents ul li .name_wrap .name {
		font-size: 3.5897vw;
	}
	.voice .contents ul li .name_wrap .name span {
		font-size: 4.1026vw;
	}
	.voice .contents ul li .name_wrap .icon {
		flex: 0 1 13.8462vw;
		margin-right: 2.5641vw;
	}
	.voice .contents ul li .text {
		font-size: 3.3333vw;
		line-height: 1.46;
		padding: 3.3333vw 4.5vw;
		border-radius: 0 6.4103vw 6.4103vw 6.4103vw;
	}
}
/* =flow
-------------------------------------------------------------- */
.flow {
	position: relative;
	background-color: #73A521;
}
.flow::before,
.flow::after {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
}
.flow .contents ul {
	position: relative;
}
.flow .contents ul li {
	display: flex;
}
.flow .contents ul li .num {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #73A521;
	font-weight: bold;
	border-radius: 50%;
}
.flow .contents ul li .text {
	text-align: left;
}
@media ( min-width: 601px ){
	.flow {
		padding: 108px 0 125px;
	}
	.flow .flow_in {
		max-width: 1239px;
		padding: 0 20px;
		margin: 0 auto;
	}
	.flow .sec_ttl {
		margin: 0 0 101px;
	}
	.flow .contents ul li .num {
		font-size: 24px;
		flex: 0 0 45px;
		width: 45px;
		height: 45px;
	}
}
@media ( min-width: 961px ){
	.flow {
		margin: 55px 0 61px;
	}
	.flow::before {
		top: -54px;
		height: 55px;
		background: url(../../img/resp/bg_flow_top.png)no-repeat center/100% 100%;
	}
	.flow::after {
		bottom: -60px;
		height: 61px;
		background: url(../../img/resp/bg_flow_bottom.png)no-repeat center/100% 100%;
	}
	.flow .contents ul {
		display: flex;
		justify-content: space-between;
	}
	.flow .contents ul::before {
		content: '';
		position: absolute;
		top: 18.5px;
		left: 0;
		right: 0;
		width: 77.6%;
		height: 8px;
		margin: 0 auto;
		background: linear-gradient(to right, #EBFFE9 0%, #ffffba 70%, #ebf386 100%);
	}
	.flow .contents ul li {
		flex-direction: column;
		width: 22.4%;
	}
	.flow .contents ul li .num {
		margin: 0 auto 47px;
	}
	.flow .contents ul li:nth-child(1) .num,
	.flow .contents ul li:nth-child(2) .num {
		background-color: #EBFFE9;
	}
	.flow .contents ul li:nth-child(3) .num {
		background-color: #FFFFBA;
	}
	.flow .contents ul li:nth-child(4) .num {
		background-color: #EBF386;
	}
	.flow .contents ul li .img {
		height: 100%;
		margin: 0 0 11px;
	}
	.flow .contents ul li .text {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		color: #73A521;
		font-size: min(22px,1.7756vw);
		line-height: 1.5;
		padding: 23px 0 22px;
		border-radius: 20px;
		background-color: #FFFFBA;
	}
	.flow .contents ul li:not(:last-child) .text::after {
		content: '';
		position: absolute;
		top: 50%;
		right: -12.2%;
		width: 9.3%;
		height: 30px;
		transform: translateY(-50%);
		background: url(../../img/resp/flow_arrow.png)no-repeat center/contain;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	.flow {
		margin: 90px 0 54px;
	}
	.flow::before {
		top: -89px;
		height: 90px;
	}
	.flow::after {
		bottom: -53px;
		height: 54px;
	}
	.flow .contents ul {
		max-width: 600px;
		margin: 0 auto;
	}
	.flow .contents ul::before {
		top: 10%;
		left: 18.5px;
		width: 8px;
	}
	.flow .contents ul li:not(:last-child) {
		margin: 0 0 60px;
	}
	.flow .contents ul li .num {
		margin-right: 5%;
	}
	.flow .contents ul li .img {
		flex: 0 1 218px;
		margin-right: 30px;
	}
	.flow .contents ul li .text {
		font-size: 22px;
		line-height: 1.5;
	}
}
@media ( max-width: 960px ){
	.flow::before {
		background: url(../../img/resp/bg_flow_top_sp.png)no-repeat center/100% 100%;
	}
	.flow::after {
		background: url(../../img/resp/bg_flow_bottom_sp.png)no-repeat center/100% 100%;
	}
	.flow .contents ul::before {
		content: '';
		position: absolute;
		top: 10%;
		height: 78.6%;
		margin: 0 auto;
		background: linear-gradient(to bottom, #FFFFE9 0%,#FFFFBA 35%, #ebf386 100%);
	}
	.flow .contents ul li {
		align-items: center;
	}
	.flow .contents ul li:nth-child(1) .num {
		background-color: #FFFFE9;
	}
	.flow .contents ul li:nth-child(2) .num {
		background-color: #FFFFC5;
	}
	.flow .contents ul li:nth-child(3) .num {
		background-color: #F8FBA6;
	}
	.flow .contents ul li:nth-child(4) .num {
		background-color: #EDF58B;
	}
	.flow .contents ul li .text {
		color: #FFFFBA;
	}
}
@media ( max-width: 600px ){
	.flow {
		padding: 11.2821vw 0 23.0769vw;
		margin: 11.5385vw 0 6.9231vw;
	}
	.flow::before {
		top: -11.53vw;
		height: 11.5385vw;
	}
	.flow::after {
		bottom: -6.92vw;
		height: 6.9231vw;
	}
	.flow .sec_ttl {
		width: 48.46%;
		margin: 0 auto 14.6154vw;
	}
	.flow .contents ul {
		padding-left: 3.0769vw;
	}
	.flow .contents ul::before {
		top: 10%;
		left: 7.8462vw;
		width: 2.0513vw;
	}
	.flow .contents ul li:not(:last-child) {
		margin: 0 0 60px;
	}
	.flow .contents ul li .num {
		font-size: 6.1538vw;
		flex: 0 0 11.5385vw;
		height: 11.5385vw;
		margin-right: 1.5385vw;
	}
	.flow .contents ul li .img {
		flex: 0 1 27.6923vw;
		text-align: left;
	}
	.flow .contents ul li:nth-child(1) .img img {
		width: 27.1795vw;
	}
	.flow .contents ul li:nth-child(2) .img img {
		width: 23.5897vw;
	}
	.flow .contents ul li:nth-child(4) .img img {
		width: 22.3077vw;
	}
	.flow .contents ul li .text {
		font-size: 4.6154vw;
		line-height: 1.5;
	}
}
/* =qa
-------------------------------------------------------------- */

.qa .contents dl dt {
	position: relative;
	display: flex;
	align-items: center;
	color: #fff;
	text-align: left;
	background-color: #73A521;
	cursor: pointer;
	background-image: url(../../img/resp/icon_plus.png);
	background-repeat: no-repeat;
}
.qa .contents dl dt.on {
	background-image: url(../../img/resp/icon_minus.png);
}
.qa .contents dl dt::before {
	content: 'Q';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.qa .contents dl dt::after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 2px;
	background-color: #fff;
}
.qa .contents dl dd {
	text-align: left;
	background-color: #E3FFB2;
}
.qa .note {
	font-weight: bold;
	text-align: left;
	line-height: 1.25;
	text-indent: -1em;
	padding-left: 1em;
}
@media ( min-width: 601px ){
	.qa {
		padding: 88px 0 224px;
	}
	.qa .qa_in {
		max-width: 1135px;
		padding: 0 20px;
		margin: 0 auto;
	}
	.qa .sec_ttl {
		margin: 0 0 68px;
	}
	.qa .contents {
		margin: 0 0 50px;
	}
	.qa .contents dl {
		line-height: 1.46;
	}
	.qa .contents dl + dl {
		margin: 38px 0 0;
	}
	.qa .contents dl dt {
		padding-right: 70px;
		border-radius: 26px;
		background-size: auto;
		background-position: center right 20px;
	}
	.qa .contents dl dt::before {
		font-size: 36px;
		left: 44px;
	}
	.qa .contents dl dt::after {
		height: 40px;
		left: 109px;
	}
	.qa .contents dl dd {
		padding: 82px 45px 25px;
		margin: -51px 0 0;
		border-radius: 0 0 26px 26px;
	}
	.qa .contents dl dt::after {
		height: 40px;
	}
	.qa .note {
		font-size: 18px;
	}
}
@media ( min-width: 961px ){
	.qa .contents dl dt {
		font-size: 28px;
		min-height: 103px;
		padding-left: 135px;
	}
	.qa .contents dl dt::before {
		font-size: 36px;
		left: 44px;
	}
	.qa .contents dl dd {
		font-size: 24px;
	}
	.qa .contents dl dt::after {
		left: 109px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	.qa .contents dl dt {
		font-size: 20px;
		min-height: 103px;
		padding-left: 11.9%;
	}
	.qa .contents dl dt {
		background-size: auto;
		background-position: center right 20px;
	}
	.qa .contents dl dt::before {
		font-size: 30px;
		left: 3.87%;
	}
	.qa .contents dl dd {
		font-size: 18px;
	}
	.qa .contents dl dt::after {
		height: 40px;
		left: 9.6%;
	}
}
@media ( max-width: 600px ){
	.qa {
		padding: 15.641vw 0 15.8974vw;
	}
	.qa .sec_ttl {
		width: 26.15%;
		margin: 0 auto 2.0513vw;
	}
	.qa .contents {
		padding: 0 5.7692vw;
		margin: 0 0 8.9744vw;
	}
	.qa .contents dl {
		line-height: 1.4375;
	}
	.qa .contents dl + dl {
		margin: 5.1282vw 0 0;
	}
	.qa .contents dl dt {
		font-size: 4.1026vw;
		padding: 2.5641vw 8.0769vw 2.0513vw 20.0513vw;
		border-radius: 6.6667vw;
	}
	.qa .contents dl dt {
		background-size: 6.1538vw;
		background-position: center right 2vw;
	}
	.qa .contents dl dt::before {
		font-size: 9.2308vw;
		left: 5.1282vw;
	}
	.qa .contents dl dt::after {
		height: 7.9487vw;
		left: 15.9487vw;
	}
	.qa .contents dl dd {
		font-size: 3.5897vw;
		padding: 11.0256vw 6.1538vw 2.8205vw 5.1282vw;
		margin: -8.4615vw 0 0;
		border-radius: 0 0 6.6667vw 6.6667vw;
	}
	.qa .note {
		font-size: 3.0769vw;
		margin:  0 5.7692vw;
	}
}
/* =footer
-------------------------------------------------------------- */
.footer {
	background-color: #f0ffd6;
}
.footer .ft_head_text {
	color: #fff;
	text-align: center;
	font-weight: bold;
	background-color: #73A521;
}
.footer .wrap .info_wrap .tel_wrap,
.footer .wrap .info_wrap .tel_wrap a {
	color: #73A521;
	font-weight: bold;
}
.footer .wrap .info_wrap .fa_logo_wrap a {
	display: inline-block;
	color: #002b57;
	padding: 0.5em;
	margin-top: 0.5em;
	text-decoration: underline;
}
.footer .wrap .btn_wrap {
	display: flex;
	justify-content: space-between;
}
.footer .wrap .btn_wrap .btn a img {
	width: 100%;
}
.footer .copyright {
	color: #fff;
	background-color: #73A521;
}
@media ( min-width: 601px ){
	.footer .ft_head_text {
		padding: 30px 0;
	}
	.footer .wrap {
		padding: 60px 20px;
	}
	.footer .wrap .info_wrap .tel_wrap,
	.footer .wrap .info_wrap .tel_wrap a {
		color: #73A521;
	}
	.footer .wrap .info_wrap .tel_wrap p {
		font-size: 21px;
		margin: 0 0 10px;
	}
	.footer .wrap .info_wrap .tel_wrap .tel a {
		font-size: 45px;
	}
	.footer .wrap .info_wrap .fa_logo_wrap a {
		font-size: 18px;
	}
	.footer .wrap .btn_wrap .btn {
		width: 31.3%;
	}
	.footer .copyright {
		font-size: 12px;
		padding: 10px 0;
	}
}
@media ( min-width: 961px ){
	.footer .ft_head_text {
		font-size: 36px;
		padding: 30px 0;
	}
	.footer .wrap {
		max-width: 975px;
		margin: 0 auto;
	}
	.footer .wrap .info_wrap {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0 0 45px;
	}
	.footer .wrap .info_wrap .logo {
		width: 21.1%;
	}
	.footer .wrap .info_wrap .tel_wrap {
		flex:  0 1 auto;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	.footer .ft_head_text {
		font-size: 30px;
	}
	.footer .wrap .info_wrap {
		margin: 0 0 30px;
	}
	.footer .wrap .info_wrap .logo {
		margin: 0 0 30px;
	}
	.footer .wrap .info_wrap .tel_wrap {
		margin: 0 0 30px;
	}
}
@media ( max-width: 600px ){
	.footer .ft_head_text {
		font-size: 4.1026vw;
		padding: 5.6vw 0;
	}
	.footer .wrap {
		padding: 8vw 5.1282vw;
	}
	.footer .wrap .info_wrap {
		margin: 0 0 5.1282vw;
	}
	.footer .wrap .info_wrap .logo {
		width: 51.2821vw;
		margin: 0 auto 5.1282vw;
	}
	.footer .wrap .info_wrap .tel_wrap {
		margin: 0 0 5.1282vw;
	}
	.footer .wrap .info_wrap .tel_wrap,
	.footer .wrap .info_wrap .tel_wrap a {
		color: #41551D;
	}
	.footer .wrap .info_wrap .tel_wrap p {
		font-size: 5.3333vw;
		margin: 0 0 2.6667vw;
	}
	.footer .wrap .info_wrap .tel_wrap .tel a {
		font-size: 10.6667vw;
	}
	.footer .wrap .info_wrap .fa_logo {
		width: 70.6667vw;
		margin: 0 auto;
	}
	.footer .wrap .info_wrap .fa_logo img {
		width: 100%;
	}
	.footer .wrap .btn_wrap .btn {
		width: 32.3%;
	}
	.footer .copyright {
		font-size: 2.6667vw;
		padding: 2.6667vw 0;
	}
}