@charset "utf-8";
/* CSS Document */
/*----------------------------------------------
mv_area
----------------------------------------------*/
header {
	background:url("./images/mv.jpg") no-repeat center center;
	background-size: cover;
	border-bottom: 10px solid #002d6a;
}

header .mv_area{
	width:100%;
	height: 100%;
	position: relative;
	display: flex;
	justify-content: center;
	align-content:center;
	align-items: center;
}

header .mv_area .mv_txt{
	width:530px;
	height: 522px;
	position: relative;
	z-index: 4;
	text-align: center;
	padding: 50px 80px;
	background: rgba(255,255,255,0.9);
	box-shadow:0 0 3px rgba(0,0,0,0.3);
}

header .mv_txt .mv_list01 {
	margin-bottom: 45px;}

header .mv_txt .mv_list01 li{
	border-radius: 20px;
	background: #002d6a;
	color:#FFF;
	width: 24%;
	font-size: 1.8rem;
	font-weight: bold;
}

header .mv_txt h2{
	font-size: 4rem;
	line-height: 1.2em;
	color:#002D6A;
}

header .mv_txt h2 strong{
	display: block;
	font-size: 4rem;
	letter-spacing: 0.1em;
}

header .mv_txt h2 strong{
	margin-bottom: 20px;
}

header .mv_txt .serif{
	border-top:2px solid #333;
	border-bottom:2px solid #333;
	margin: 30px 0;
	padding: 30px 10px;
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.2em;
	letter-spacing: 0.01em;
}


/*contact_thanks*/
header.thanks .mv_area .mv_txt{
	padding:20px 40px;
    height:200px!important;
}

header.thanks .mv_txt .mv_list01 {
	margin-bottom: 30px;}

header.thanks .mv_txt h2{
	font-size: 3.5rem;
	line-height: 1.2em;
}

header.thanks .mv_txt h2 strong{
	display: block;
	font-size:3.5rem;
	letter-spacing: 0.1em;
}
header.thanks .mv_txt h2 img{
	width: 90%;
	height: auto;
	margin: 0 auto;
	display: block;
}

/*----------------------------------------------
inbound
----------------------------------------------*/

#inbound{
	background:url("./images/inbound_bg.jpg") no-repeat center center;
	background-size: cover;	
}

#inbound .inner{
	padding: 80px 0;
}

.baloon01{
	justify-content: center;
	width: auto;
	height: auto;
	position: relative;
	margin-bottom: 40px;
}
.baloon01 p{
	background:#002d6a;
	text-align: center;
	color:#FFF;
	font-weight: bold;
	font-size: 3rem;
	border-radius: 15px;
	padding:15px 20px;
	display: inline-block;
}
.baloon01:after{
	content: "";
	display: block;
	height:16px;
	width: 24px;
	background: url("images/baloon_arrow.svg") no-repeat center center;
	background-size: cover;
	position: absolute;
	bottom: -16px;
}

#inbound h2{
	font-size:4rem;
	text-align: center;
	margin-bottom: 70px;
}

#inbound .graph{
	width:80%;
	height: auto;
	margin: 0 auto;
}

/*----------------------------------------------
#measures
----------------------------------------------*/

#measures{
	background:#002d6a;
	padding: 85px 0;
	position: relative;
	margin-bottom: 63px;
}
#measures:after{
	content: "";
	display: block;
	width: 100px;
	height: 63px;
	background:url("images/measures_arrow.svg") no-repeat center center;
	background-size: cover;
	position: absolute;
	bottom: -63px;
	right:50%;
	margin-right: -50px;}

#measures h2{
	color:#FFF;
	font-size: 4rem;
	text-align: center;
	margin-bottom: 60px;
}

#measures .check_list{
	background: #FFF;
	border-radius: 20px;
	padding:20px 60px 60px;
	position: relative;
}

#measures .check_list:after{
	content: "";
	display: block;
	width: 306px;
	height: 405px;
	background:url("images/measures_ph01.png") no-repeat center center;
	background-size: cover;
	position: absolute;
	bottom: -85px;
	right:0;
}

.check_list ol li{
	font-weight: bold;
	font-size:2.5rem;
	margin-top: 40px;
	padding-right: 150px;
	flex-wrap: nowrap;
	justify-content:flex-start;
	align-items: center;
}

.check_list ol li:last-child{
	padding-right: 200px;
}

.check_list ol li:before{
	content: "";
	display:block;
	vertical-align: top;
	margin-right: 20px;
	width: 34px;
	height: 42px;
	background:url("images/check.svg") no-repeat center left;
	background-size: contain;
	flex-basis:5%;
}

.check_list strong{
	flex-basis: 90%;
}

/*----------------------------------------------
#feature
----------------------------------------------*/

#feature .inner > p{
	height: 100px;
	width: auto;
	padding: 40px 0 0;
	text-align: center;
}

#feature .title_area{
	width:690px;
	margin: 0 auto;
}

#feature .title_area p {
	/*width:340px;*/
	height: auto;
	margin: 0 auto;
	font-size: 3rem;
	position: relative;
	font-weight: bold;
}
#feature .title_area p .ruby {
	width: 50%;
	position: absolute;
	top:0;
	left: calc( 61px + 9.5em );
	text-align: left;
	font-size: 1.6rem;
	letter-spacing: 0.5em;
	line-height: 1;
	font-weight: normal;
}

#feature .title_area p > img{
	width: 61px;
	height: 71px;
}

#feature .title_area h2{
	font-size:4rem;
	text-align: center;
	padding-top: 30px;
	line-height: 1;
}

#feature .title_area h2 img{
	width: 327px;
	height: auto;
	display: inline-block;
	margin-right: 0.3em;
}

/*feature_list01*/
#feature .feature_list01{
	margin: 100px 0 0;
}
#feature .feature_list01 .ph img{
	display: block;
}

#feature .feature_list01 li.flex_box{
	background: #f4f4f4;
}

#feature .feature_list01 li.flex_box:first-of-type{
	margin-bottom: 65px;
}

#feature .feature_list01 li .txt_area{
	width:calc( 50% - 100px );
	padding:0 50px;
}

#feature .feature_list01 .number_icon,
#feature .feature_list02 .number_icon{
	width:50px;
	height: 50px;
	margin-right: 15px;
}

#feature .feature_list01 h3,
#feature .feature_list02 h3{
	font-size: 2.4rem;
	margin: 0 0 25px;
	justify-content: flex-start;
}

#feature .feature_list01 h3 span,
#feature .feature_list02 h3 span{
	display: block;
}

#feature .feature_list01 .icon_list{
	margin:40px 0 0;	
}

#feature .trouble{
	background:url("./images/trouble_img01.svg") #FFF no-repeat right bottom;
	background-size: 400px 225px;
	border:5px solid #002d6a;
	border-radius: 20px;
	margin: 50px auto 0;
	padding: 50px;
	width: calc( 85% - 100px);
	position: relative;
}

#feature .trouble:before{
	content: "";
	display: block;
	width: 63px;
	height: 104px;
	background: url("images/trouble_arrow.svg") no-repeat center top;
	position: absolute;
	top: -92px;
	left: 380px;
}

#feature .trouble h3{
	font-size: 2.6rem;
	margin: 0 0 24px;
}

#feature .trouble p{
	width: 60%;
}

/*feature_list02*/
#feature .feature_list02 {
	margin-top: 65px;
	align-items: stretch;
}

#feature .feature_list02 li{
	width: 30%;
}
#feature .feature_list02 li h3{
	justify-content: center;
}

#feature .feature_list02 li:nth-of-type(2) .f_small{
	font-size: 1.8rem;
}

#feature .feature_list02 .ph{
	width: 70%;
	margin: 0 auto;
}
#feature .feature_list02 .ph img{
	width: 100%;
	height: auto;
}

/*mechanism*/
#feature .mechanism{
	background:#fefbee;
	margin: 60px 0;
	padding: 60px;
}

#feature .mechanism h3{
	border-radius: 30px;
	background: #002d6a;
	color:#FFF;
	padding: 10px 20px;
	font-size:2.4rem;
	font-weight: bold;
	margin: 0 auto 25px;
	text-align: center;
	width: 20em;
}

#feature .mechanism_list li{
	width: 22%;
	position: relative;
}

#feature .mechanism_list li:after{
	content: "";
	width: 20px;
	height: 40px;
	background:url("images/arrow01.svg") no-repeat center center;
	background-size: cover;
	position: absolute;
	left: -30px;
	top: 50%;
	margin-top: -20px;
}
#feature .mechanism_list li:first-child:after{
	content: "";
	width: 0;
	height: 0;
	background:none;
	background-size: cover;
	position: absolute;
	left:0;
	top:0;
	margin-top:0;
}

#feature .mechanism_list p{
	font-size:1.5rem;
	justify-content: flex-start;
	line-height: 1.5em;
}

#feature .mechanism_list li:nth-of-type(2) p{
	font-size:1.3rem;
}

#feature .mechanism_list .icon_m{
	width: 54px;
	height: auto;
	padding-right: 10px;
}

#feature .mechanism_list .icon01{
	width: 100px;
	height:135px;
	margin: 0 auto 20px;
	display: block;
}
#feature .mechanism_list .icon02{
	width: 140px;
	height:110px;
	margin: 30px auto 20px;
	display: block;
}
#feature .mechanism_list .icon03{
	width: 110px;
	height: 110px;
	margin: 30px auto 20px;
	display: block;	
}
#feature .mechanism_list .icon04{
	width:  87px;
	height: 110px;
	margin: 30px auto 20px;
	display: block;	
}

/*campaign*/

#feature .campaign{
	text-align: center;
	font-weight: bold;
	padding-bottom: 70px;
	position: relative;
}

#feature .campaign .start_now{
	display: inline-block;
	font-size: 2.4rem;
	width: auto;
	height: auto;
	position: relative;
	margin-bottom: 30px;
}

#feature .campaign .baloon02{
	background:url("images/baloon02.svg") no-repeat center;
	width: 170px;
	height: 148px;
	padding: 25px 0 0;
	text-align: center;
	color:#FFF;
	position: absolute;
	top:12%;
	right:12%;
	font-size: 3rem;
	line-height:1.2em;
}

#feature .campaign .start_now:before{
	content: "";
	display: inline-block;
	width: 14px;
	height: 23px;
	background:url("images/title_line01.svg") no-repeat center center;
	padding-right: 20px;
	vertical-align: bottom;
}
#feature .campaign .start_now:after{
	content: "";
	display: inline-block;
	width: 14px;
	height: 23px;
	background:url("images/title_line02.svg") no-repeat center center;
	padding-left: 20px;
	vertical-align: bottom;
}

#feature .campaign .normal{
	font-size: 4rem;
	padding-bottom:134px;
	background: url("images/arrow_big.svg") no-repeat center 80%;
	background-size: 72px 67px;
	
}

#feature .campaign .normal .f_big{
	font-size: 6rem;
	margin: 0 5px;
}

#feature .campaign .special{
	padding: 20px 0 0;
	font-size: 4.8rem;
	width: auto;
	height: auto;
	position: relative;
	margin-bottom: 20px;
	justify-content: center;
	align-content:center;
	align-items: baseline;
}

#feature .campaign .special .monthry{
	background: #e9574c;
	font-size: 4rem;
	color: #FFF;
	text-align:center;
	display: inline-block;
	padding: 20px;
	border-radius:40px;
	vertical-align: top;
	margin: 0 15px 0 0;
	position: relative;
	top: -15px;
}

#feature .campaign .special .f_big.color04{
	font-size: 8rem;
}

#feature .campaign .special_txt{
	font-size: 3rem;
	margin-bottom: 60px;
}

/*----------------------------------------------
#flow
----------------------------------------------*/

#flow{
	background: url("images/bg_border.jpg");
	padding: 0 0 75px;
}
#flow .flow_list {
	align-items:flex-start;
	margin-bottom: 100px;
}
#flow .flow_list li{
	width: 22%;
	position: relative;
}

#flow .flow_list li:after{
	content: "";
	width: 20px;
	height: 40px;
	background:url("images/arrow01.svg") no-repeat center center;
	background-size: cover;
	position: absolute;
	left: -40px;
	top: 35%;
	margin-top: -20px;
}

#flow .flow_list li:first-child:after{
	content: "";
	width: 0;
	height: 0;
	background:none;
	background-size: cover;
	position: absolute;
	left:0;
	top:0;
	margin-top:0;
}

#flow .flow_list h3{
	width:240px;
	height: 240px;
	margin-bottom: 30px;
}

/*----------------------------------------------
#faq
----------------------------------------------*/
#faq .inner{
	padding: 0 0 80px;
}

#faq .faq_list{
	width: 100%;
}
h2.resp-accordion {
    margin-top: 12px !important;
    margin-bottom: 0;
    width: 100% !important;
    position: relative;

}

#faq .faq_list ul{
	display:none;
}

#faq .faq_list h2{
	padding:30px 40px 0 0;
	margin-top:30px!important; 
	border-top: 1px solid #d9e3ee;
	position: relative;
	width:calc(100% - 40px)!important;
	height: auto;
	font-size: 2rem;
	font-weight: bold;
	display: flex!important;
	justify-content: flex-start;
	align-items: stretch;
	align-content: center;
}

#faq .faq_list h2:first-of-type{
	border-top: 1px solid #d9e3ee;
}

#faq .faq_list h2 span{ flex-basis: 90%;}

#faq .faq_list h2:before{
	content: "";
	display:block;
	width: 26px;
	height: 26px;
	background:url("images/qa_icon01.svg") no-repeat center center;
	background-size:contain;
	margin: 0 15px 0 0;
}
#faq .faq_list .answer {
	padding: 0 0 30px;
	border-bottom: 1px solid #d9e3ee;
}

#faq .faq_list .answer .tab {
	padding: 10px 0 10px 2em;
	display: none;
}
#faq .faq_list .answer .tab p{
	justify-content: flex-start;
	align-items: stretch;
	align-content: stretch;
}

#faq .faq_list .answer .tab p:before{
	content: "A.";
	padding-right: 5px;
	color:#86adde;
}

#faq .ph{
	background: url("images/faq_img01.jpg") no-repeat center center;
	background-size: cover;
	width: 100%;
	height: 480px;
}

/*tab*/

.resp-arrow {
    width: 30px;
    height: 15px;
    float: none;
    position: absolute;
    right: 10%;
    top: 40%;
}

.resp-arrow::after {
    content: url(images/arrow_down.svg);
}

.resp-tab-active .resp-arrow::after {
    content: url(images/arrow_up.svg);
}

/*----------------------------------------------
#contact
----------------------------------------------*/

#contact{
	background: url("images/bg_border.jpg");
	padding: 0 0 75px;}

#contact p{
	text-align: center;
	margin-bottom: 65px;
}

#contact .form_area{
	background:#FFF;
	box-shadow: 0 0 3px rgba(0,0,0,0.5);
	padding: 60px 140px;
}

#contact .form_area dl{
	padding:30px 0;
	border-bottom: 1px solid #d9e3ee;
	position: relative;
	width: 100%;
	height: auto;
	justify-content: flex-start;
}

#contact .form_area dl:first-of-type{
	border-top: 1px solid #d9e3ee;
}

#contact .form_area dt{
	font-size: 2rem;
	font-weight: bold;
	padding: 0 25px 0 0;
	width: 25%;
}

#contact .form_area dt .required{
	background: #e9574c;
	border-radius: 10px;
	color:#FFF;
	text-align: center;
	font-size: 1.4rem;
	padding:5px 15px;
}
#contact .form_area dd input,
#contact .form_area dd textarea{
	border:1px solid #d8d9d9;
	border-radius: 3px;
	padding: 10px;
	font-size: 1.8rem;
	width: auto!important;
	height: auto!important;
}

#contact .privacy{
	height: 360px;
	border: 1px solid #d8d9d9;
	overflow: scroll;
	padding: 20px 30px;
	margin: 30px 0;
	font-size: 1.6rem;
	border-radius: 3px;
}

#contact .privacy h3{
	margin: 30px 0 10px;
}
#contact .privacy h4{
	margin:40px 0 5px;
	font-weight: normal;
}
#contact .privacy .privacy_list {
	padding: 0 0 50px;
}
#contact .privacy .privacy_list ol{
	padding: 30px 40px;
	list-style: decimal;
	padding-left: 1.5em;
}

#contact .agree{
	text-align:center;
	margin-bottom: 30px;
}

#contact .btn button{
	width:520px;
	height: 80px;
	margin: 0 auto;
	display: block;
	background:none;
	border:none;
	cursor: pointer;
}

#contact .btn img{
	width: 100%;
	height: 100%;
	display: block;
}

/*contact_thanks*/

#contact_thanks .inner{
	margin: 100px auto;
	padding:50px;
	background: url("images/bg_border.jpg");
	text-align: center;
}
#contact_thanks .inner h2{
	font-size: 2.4rem;
	margin-bottom: 20px;
}
#contact_thanks .inner p{
	font-size: 2rem;
}

@media only screen and (max-width: 1200px) {
	/* タブレット */

	#feature .feature_list01 .ph{
		width: 50%;
	}
	#feature .feature_list01 .ph img{
		width: 100%;
		height: auto;
	}

	#feature .feature_list01 li .txt_area{
		width:calc( 50% - 60px );
		padding:10px 30px;
	}
	#feature .feature_list01 li .txt_area p{
		font-size: 1.6rem;
	}
	
	#feature .feature_list01 .icon_list{
		margin:20px 0 0;	
	}
	
	#feature .trouble{
		width:calc( 90% - 40px );
	}
	
	#feature .campaign .special.flex_box{
		padding: 20px 0 0;
		font-size: 3rem;
		width: auto;
		height: auto;
		position: relative;
		margin-bottom: 50px;
		display: block;
		line-height: 1.8em;
	}

	#feature .campaign .special .monthry{
		font-size: 2.6rem;
		display: inline-block;
		padding: 10px 20px;
		border-radius:30px;
		margin: 0 auto 20px;
		position: relative;
		top: 10px;
		left:-10px;
		line-height: 1;
	}

	#feature .campaign .special .f_big.color04{
		font-size: 7rem;
	}
	
	#feature .campaign .baloon02{
		background:url("images/baloon02.svg") no-repeat center;
		width: 126px;
		height: 100px;
		font-size: 2rem;
		top:22%;
		right:15%;
	}
	
	#feature .campaign .special_txt{
		font-size: 2.6rem;
	}
	
	#feature .trouble:before{
		content: "";
		display: none;
		width: 0;
		height: 0;
		background:none;
		position: absolute;
		top: 0;
		left: 0;
	}

	.check_list ol li:last-child{
		padding-right: 200px;
	}
	
	.check_list ol li{
		align-items: stretch;
	}
	
	#flow .flow_list li{
		width: 20%;
		position: relative;
	}
	
	#flow .flow_list h3{
		width:150px;
		height: 150px;
		display: block;
		margin:0 auto 30px;
	}
	
	#contact .form_area{
		padding: 30px;
	}
	
	#faq .faq_list h2{
		padding:20px 40px 0 0;
		font-size: 1.6rem;
		margin-top: 20px;
	}

	#faq .faq_list h2:before{
		width: 20px;
		height: 20px;
		margin: 0 10px 0 0;
	}

	#faq .faq_list .answer .tab {
		padding: 10px 0 10px 2em;
	}
	
	#faq .faq_list .answer .tab p{
		flex-wrap: nowrap;
	}
	
	.resp-arrow {
		width: 20px;
		height: 10px;
		float: none;
		position: absolute;
		right: 0;
		top: 40%;
	}

}

@media screen and (max-width: 815px) {
    /*----------------------------------------------
	mv_area
	----------------------------------------------*/
	header {
		background:none;
		border-bottom: none;
	}

	header .mv_area{
		width:100%;
		height: auto;
		position: relative;
		display: flex;
		justify-content: center;
		align-content:center;
		align-items: center;
	}

	header .mv_area .mv_txt{
		width:94%;
		height: auto;
		position: relative;
		z-index: 4;
		text-align: center;
		padding: 25px 3%;
		background:#002d6a;
		box-shadow:none;
	}

	header .mv_txt .mv_list01 {
		margin-bottom: 20px;
		width: 100%;
	}

	header .mv_txt .mv_list01 li{
		font-size: 1.4rem;
		color: #002d6a;
		background:#FFF;
	}

	header .mv_txt h2{
		font-size: 3.8rem;
		line-height: 1.2em;
		color:#ffff00;
	}

	header .mv_txt h2 strong{
		display: block;
		font-size:4.4rem;
		letter-spacing: 0.1em;
	}

	header .mv_txt .serif{
		margin: 30px 0;
		padding: 30px 10px;
		font-size: 1.6rem;
		color:#FFF;
		border-top: 1px solid #FFF;
		border-bottom: 1px solid #FFF;
	}
	
	
	header .sp_show img {display: block;}
	
	header .mv_txt .service{
		width: 90%;
		height: auto;
		margin: 0 auto 20px;
	}
	
	/*contact_thanks*/
	header.thanks .mv_area .mv_txt{
		padding:20px 3%;
		height:auto!important;
	}

	header.thanks .mv_txt .mv_list01 {
		margin-bottom: 20px;}

	header.thanks .mv_txt h2{
		font-size:3rem;
	}

	header.thanks .mv_txt h2 strong{
		font-size: 4rem;
	}

	/*----------------------------------------------
	inbound
	----------------------------------------------*/

	#inbound{
		background:url("./images/inbound_bg.jpg") no-repeat center center;
		background-size: cover;	
	}

	#inbound .inner{
		padding: 40px 0;
	}

	.baloon01{
		margin-bottom: 20px;
	}
	.baloon01 p{
		font-size: 2rem;
		border-radius: 15px;
		padding:10px 15px;
	}

	#inbound h2{
		font-size:3rem;
		line-height: 1.8em;
		margin-bottom: 40px;
	}

	#inbound .graph{
		width:100%;
	}
	
	/*----------------------------------------------
	#measures
	----------------------------------------------*/

	#measures{
		padding:50px 0 45px;
		margin-bottom: 30px;
	}
	#measures:after{
		content: "";
		display: block;
		width: 50px;
		height: 31px;
		background:url("images/measures_arrow.svg") no-repeat center center;
		background-size: cover;
		position: absolute;
		bottom: -31px;
		right:50%;
		margin-right: -25px;}

	#measures h2{
		font-size: 2.4rem;
		margin-bottom: 30px;
		line-height: 1.5em;
		text-align: left;
		position: relative;
		z-index: 2;
	}

	#measures .check_list{
		background: #FFF;
		border-radius: 20px;
		padding:10px 30px 30px;
		position: relative;
	}

	#measures .check_list:after{
		content: "";
		display: block;
		width: 110px;
		height: 146px;
		background:url("images/measures_ph01.png") no-repeat center center;
		background-size: cover;
		position: absolute;
		top: -146px;
		right:0;
		z-index: 1;
	}

	.check_list ol li{
		font-weight: bold;
		font-size:1.6rem;
		margin-top: 20px;
		padding-right: 0;
		flex-wrap: nowrap;
		justify-content:flex-start;
		align-items: stretch;
	}

	.check_list ol li:before{
		content: "";
		display: block;
		width: 20px;
		height: 25px;
		background:url("images/check.svg") no-repeat center left;
		background-size: contain;
		flex-basis:6%;
		margin-right:10px;
	}

	.check_list ol li:last-child{
		padding-right: 0;
	}
	.check_list strong{
		flex-basis: 92%;
	}
	
	/*----------------------------------------------
	#feature
	----------------------------------------------*/

	#feature .inner > p{
		height: auto;
		width:100%;
		padding: 20px 0;
	}

	#feature .title_area{
		width:100%;
	}

	#feature .title_area p {
		width:100%;
		height: auto;
		margin: 0 auto;
		font-size: 2rem;
		justify-content: center;
	}
	#feature .title_area p .ruby {
		width: 50%;
		position: absolute;
		top:-5px;
		right:0;
		left:18%;
		text-align: right;
		font-size: 1.2rem;
		letter-spacing: 0.3em;
	}

	#feature .title_area p > img{
		width: 51px;
		height: 61px;
		display: block;
		margin-right: 20px;
	}

	#feature .title_area h2{
		font-size:3rem;
		padding-top: 20px;
		line-height: 1.5em;
	}
	#feature .title_area h2 img{
		width: 80%;
		height: auto;
		margin:0 auto;
		display: block;
	}

	/*feature_list01*/
	#feature .feature_list01{
		margin: 50px 0 0;
	}

	#feature .feature_list01 .ph{
		width: 100%;
	}
	#feature .feature_list01 li.flex_box:first-of-type{
		margin-bottom: 40px;
	}

	#feature .feature_list01 li.flex_box:nth-of-type(2){
		flex-direction: column-reverse;
	}

	#feature .feature_list01 li .txt_area{
		width:90%;
		padding:40px 5%;
	}

	#feature .feature_list01 .number_icon,
	#feature .feature_list02 .number_icon{
		width:50px;
		height: 50px;
		margin-right: 15px;
	}

	#feature .feature_list01 h3,
	#feature .feature_list02 h3{
		font-size: 1.8rem;
		margin: 0 0 15px;
		flex-wrap: nowrap;
		justify-content: flex-start;
	}

	#feature .feature_list01 h3 span,
	#feature .feature_list02 h3 span{
		display: block;
	}

	#feature .feature_list01 .icon_list{
		margin:40px 0 0;	
	}

	#feature .trouble{
		background:url("./images/trouble_img01.svg") #FFF no-repeat center bottom;
		background-size: 266px 150px;
		border:5px solid #002d6a;
		border-radius: 20px;
		margin: 50px auto 0;
		padding: 40px 5% 162px;
		width:calc( 90% - 40px );
	}

	#feature .trouble h3{
		font-size: 1.8rem;
		margin: 0 0 15px;
		text-align: center;
	}

	#feature .trouble p{
		width: 100%;
	}

	/*feature_list02*/
	#feature .feature_list02 {
		margin-top: 50px;
	}

	#feature .feature_list02 li{
		width: 100%;
		margin-bottom: 30px;
	}

	#feature .feature_list02 li:nth-of-type(2) .f_small{
		font-size: 1.4rem;
	}


	/*mechanism*/
	#feature .mechanism{
		background:#fefbee;
		margin: 0 0 40px;
		padding: 60px 5%;
	}

	#feature .mechanism h3{
		border-radius: 30px;
		padding: 5px 5%;
		font-size:1.5rem;
		font-weight: bold;
		margin: 0 auto 25px;
		text-align: center;
		width:90%;
	}

	#feature .mechanism_list li{
		width:100%;
		position: relative;
	}

	#feature .mechanism_list li:after{
		content: "";
		width: 100%;
		height: 20px;
		display: block;
		background:url("images/arrow01_sp.svg") no-repeat center center;
		background-size:auto;
		position: relative;
		left:0;
		top:0;
		margin: 20px 0;
	}
	
	#feature .mechanism_list li:first-child:after{
		content: "";
		width: 100%;
		height: 20px;
		display: block;
		background:url("images/arrow01_sp.svg") no-repeat center center;
		background-size:auto;
		position: relative;
		left:0;
		top:0;
		margin: 20px 0;
	}
	
	#feature .mechanism_list li:last-child:after{
		content: "";
		width: 0;
		height: 0;
		background:none;
		background-size: cover;
		position: absolute;
		left:0;
		top:0;
		margin-top:0;
	}

	#feature .mechanism_list p.flex_box{
		flex-wrap: nowrap;
		font-size:1.5rem;
		justify-content: flex-start;
		line-height: 1.5em;
	}

	#feature .mechanism_list li:nth-of-type(2) p{
		font-size:1.3rem;
	}


	/*campaign*/

	#feature .campaign{
		padding-bottom:50px;
	}

	#feature .campaign .start_now{
		display: inline-block;
		font-size: 2rem;
		margin-bottom: 20px;
	}

	#feature .campaign .normal{
		font-size: 3rem;
		padding-bottom: 100px;
		background: url("images/arrow_big.svg") no-repeat center bottom;
		background-size: 72px 67px;

	}

	#feature .campaign .normal .f_big{
		font-size: 5rem;
		line-height: 1.8em;
		margin: 0 5px;
	}

	#feature .campaign .baloon02{
		background:url("images/baloon02.svg") no-repeat center;
		width: 126px;
		height: 100px;
		font-size: 2rem;
		padding: 20px 0 0;
		line-height:1.2em;
		position: absolute;
		top:22%;
		right: 0;
		left:65%;
	}
	
	#feature .campaign .special.flex_box{
		padding: 20px 0 0;
		width: auto;
		height: auto;
		position: relative;
		margin-bottom: 20px;
		justify-content: center;
		align-content:center;
		align-items: baseline;
	}

	#feature .campaign .special .monthry{
		background: #e9574c;
		font-size: 3.4rem;
		color: #FFF;
		text-align:center;
		display: inline-block;
		vertical-align: top;
		margin: 0 auto 20px ;
		position: relative;
		top: 0;
		left:0;
	}

	#feature .campaign .special .f_big.color04{
		font-size: 7rem;
	}

	#feature .campaign .special_txt{
		font-size: 2.2rem;
		margin-bottom: 40px;
		line-height: 1.5em;
	}

	/*----------------------------------------------
	#flow
	----------------------------------------------*/

	#flow{
		background: url("images/bg_border.jpg");
		padding: 0 0 50px;
	}
	#flow .flex_box.flow_list {
		display: block;
		margin-bottom: 50px;
	}
	#flow .flow_list li{
		width:100%;
		position: relative;
	}

	#flow .flow_list li:after{
		content: "";
		width:100%;
		height: 20px;
		display: block;
		background:url("images/arrow01_sp.svg") no-repeat center center;
		background-size:auto;
		position: relative;
		left:0;
		top:0;
		margin: 20px 0;
	}
	#flow .flow_list li:first-child:after{
		content: "";
		width:100%;
		height: 20px;
		display: block;
		background:url("images/arrow01_sp.svg") no-repeat center center;
		background-size:auto;
		position: relative;
		left:0;
		top:0;
		margin: 20px 0;
	}

	#flow .flow_list li:last-child:after{
		content: "";
		width: 0;
		height: 0;
		background:none;
		background-size: cover;
		position: absolute;
		left:0;
		top:0;
		margin-top:0;
	}

	#flow .flow_list h3{
		width:150px;
		height:150px;
		margin:0 auto 20px;
	}
	#flow .flow_list p{
		text-align: center;
	}

	/*----------------------------------------------
	#faq
	----------------------------------------------*/
	#faq .inner{
		padding: 0 0 40px;
	}

	#faq .ph{
		background: url("images/faq_img01.jpg") no-repeat center center;
		background-size: cover;
		width: 100%;
		height: 240px;
	}
	/*----------------------------------------------
	#contact
	----------------------------------------------*/

	#contact{
		background: url("images/bg_border.jpg");
		padding: 0 0 50px;}

	#contact .form_area{
		padding: 30px 5%;
	}

	#contact .form_area dl{
		padding:15px 0;
		border-bottom: 1px solid #d9e3ee;
		position: relative;
		width: 100%;
		height: auto;
		justify-content:center;
	}

	#contact .form_area dt{
		font-size: 1.6rem;
		padding: 0;
		width: 100%;
		margin-bottom: 10px;
	}

	#contact .form_area dd input,
	#contact .form_area dd textarea{
		border:1px solid #d8d9d9;
		border-radius: 3px;
		padding: 10px;
		font-size: 1.8rem;
		width: calc( 100% - 20px)!important;
	}

	#contact .privacy{
		height: 250px;
		padding: 20px 30px;
		margin: 30px 0;
		font-size: 1.4rem;
	}

	#contact .privacy h3{
		margin: 20px 0 10px;
	}
	#contact .privacy h4{
		margin:30px 0 5px;
		font-weight: normal;
	}
	#contact .privacy .privacy_list {
		padding: 0 0 40px;
	}
	#contact .privacy .privacy_list ol{
		padding: 10px;
	}

	#contact .agree{
		text-align:center;
		margin-bottom: 30px;
	}

	#contact .btn button{
		width:100%;
		height:auto;
	}

	#contact .btn img{
		width: 100%;
		height: 100%;
		display: block;
	}
	
	/*contact_thanks*/

	#contact_thanks .inner{
		margin: 100px auto;
		padding:50px 5%;
		background: url("images/bg_border.jpg");
		text-align: center;
	}
	#contact_thanks .inner h2{
		font-size: 2rem;
		margin-bottom: 20px;
	}
	#contact_thanks .inner p{
		font-size: 1.4rem;
	}

}

@media screen and (max-width: 480px) {
	/*縦画面*/
}
		
	