@charset "UTF-8";

/*========================== 基本設定 ============================*/
html,body {
width:100%;
margin:0;
padding:0;
}

body {
	font-family: 'Hiragino Kaku Gothic Pro', 'Meiryo', 'MS PGothic',sans-serif;
	color: #000000;	
	margin: 0px; 
	padding: 0px; 
	text-align: left;
	font-size: 18px;
	line-height: 1.5;
}

/* a:link { color: #CC0003; }
a:visited { color: #CC0003; }
a:hover { color: #CC0003; }
a:active { color: #CC0003; } */

.pc {display: block !important;}
.sp {display: none !important;}
.w100 {width: 100%;}
.w50 {width: 50%;}
.bdr { border:1px solid #000; }

/*
* clearfix
*/
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	font-size: 1px;
	line-height: 0;
}
.clearfix { display: inline-block; }
.clearfix { display: block; }

/*========================== 共通layout styles ============================*/

	.wrap {
	text-align: left;
	width:100%;
	min-width:1320px;
	margin: 0;
	padding:0;
	box-sizing: border-box;
	}

	.container {
	text-align: left;
	max-width:1320px;
	width:100%;
	margin: auto;
	padding:0 20px;
	box-sizing: border-box;
	}

	.flexbox {
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding:0;
	margin-left: auto;
	box-sizing: border-box;
	}

	.flexbox img{
	width:100%;
	}

section h2{
	font-size:42px;
	line-height:1.6em;
	font-feature-settings: "palt";
	text-align:center;
	color:#2B6040;
}

section h2 span{
	background:linear-gradient(transparent 50%, #F8FAC5 50%);
}

/*========================== layout styles ============================*/

/* FV */

.fv {
	background: url(images/fv-bg.png) no-repeat #E0F8E4;
	background-size: 105% auto;
	background-position: center 30px;
	text-align: center;
	padding:50px 0 100px 0;
}


.fv div.fv-area{
	position:relative;
	text-align: left;
	max-width:1280px;
	width:100%;
	height:100%;
	box-sizing: border-box;
	align-items: center;
	margin:0 auto!important;
}

.fv div.fv-area div.title{
	position:absolute;
	left:0;
	top:30px;
	z-index:10;
}
.fv div.fv-area div.title p img{
	width:380px;
	height:auto;
	margin:0 0 0 30px;
}
.fv div.fv-area div.title h1{
	padding:0;
	margin:10px auto;
}
.fv div.fv-area div.title h1 img{
	width:545px;
	height:auto;
}
.fv div.fv-area div.fv-img{
	text-align: right;
}

.fv div.fv-area div.fv-img img{
	width:755px;
	height:auto;
}

.fv div.catch{
	font-size:32px;
	font-weight:bold;
	color:#2B6040;
	text-align: center!important;
	margin:50px 0;
}

.fv div.catch img{
	display:block;
	width:450px;
	height:auto;
	margin:50px auto 0 auto ;
}


/* cv */

section.cv{
	background: url(images/cv-bg.png) no-repeat #E0F8E4;
	background-size: cover;
	background-position: center top;

}
section.cv02{
	background: url(images/cv02-bg.png) no-repeat #F1FFC3;
	background-size: cover;
	background-position: center top;
}

section.cv div.container{
	height:400px;
}

section.cv02 div.container{
	height:350px;
}

section.cv div a,
section.cv02 div a {
	position:relative;
	display:block;
	background: url('images/cv-btn.png') no-repeat;
	background-position: center;
	background-size: cover;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 405px!important;
	height: 136px;
	text-align:center;
	font-size:40px;
	font-weight:900;
	font-feature-settings: "palt";
	line-height:136px;
	color:#ffffff;
}

section.cv div a::after,
section.cv02 div a::after {
	position:absolute;
	content: "";
	display: inline;
	width: 136px;
	height: 100px;
	top:10px;
	right:-156px;
	background: url('images/cv-icon.png') no-repeat;
	background-position: center;
	background-size: cover;
	padding:0;
	margin:0;
}



/* detail */

section.detail{
	background-color:#E0F8E4;
	padding:100px 0 0 0;
}

section.detail div.detail-inside {
	background: url(images/detail-bg.png) no-repeat,linear-gradient(180deg, rgb(255, 255, 255)30%, rgb(236, 255, 222));
	background-size: 105% auto;
	background-position: center top;
	text-align: center;
	padding:180px 0 100px 0;
}

section.detail div.detail-inside div.copy{
	font-size: 24px;
	font-weight:bold;
	margin-bottom:80px;
}

section.detail div.container{
	text-align: center;
	padding:10px 110px!important;
}

section.detail div.container div.flexbox{
	position:relative;
	height:530px;
}

section.detail div.container div.flexbox div{
	position:absolute;
	text-align: left;
}


section.detail div.container div.flexbox div:nth-child(odd){
	width:50%!important;
	z-index:10;
	top:0;
	left:40px;
}

section.detail div.container div.flexbox div:nth-child(even){
	width:50%!important;
	z-index:0;
	top:200px;
	right:40px;
}


/* flow */

section.flow{
	background: url(images/flow-bg.png) no-repeat #FFFFFF;
	background-size: 100% auto;
	background-position: center 0;
	font-size: 18px;
	text-align: center;
	padding:130px 0 0 0;
}

section.flow h2{
	position:relactive;
}

section.flow h2::before{
	content: "";
	display: block;
	width: 72px;
	height: 72px;
	top:0;
	left:0;
	right:0;
	margin:0 auto 10px auto;
	background: url('images/flow-midashi.png') no-repeat;
	background-position: center;
	background-size: contain;
}

section.flow ul{
	width:770px;
	margin:0 auto;
}

section.flow ul li{
	margin:75px 0 50px 0;
	align-items: center;
}

section.flow ul li h3{
	font-size:32px;
	color:#12A24B;
}

section.flow ul li p span{
	display:block;
	font-size:12px;
}

section.flow ul li div img{
	width:200px;
	height:auto;
}
section.flow ul li div:nth-child(even){
	width:560px;
}


/* menu */

section.menu{
	background: url(images/menu-bg.png) no-repeat,linear-gradient(360deg, rgb(255, 255, 255)30%, rgb(236, 255, 222));
	background-size: 100% auto;
	background-position: center 0;
	font-size: 18px;
	text-align: center;
	padding:200px 0 0 0;
}

section.menu div.container{
	width: 960px;
}

section.menu div.container img{
	width: 100%;
}

section.menu h2{
	position:relactive;
	margin-bottom:70px;
}

section.menu h2::before{
	content: "";
	display: block;
	width: 77px;
	height: 64px;
	top:0;
	left:0;
	right:0;
	margin:0 auto 10px auto;
	background: url('images/menu-midashi.png') no-repeat;
	background-position: center;
	background-size: contain;
}

section.menu div.plan-a{
	width: 640px;
	margin:0 auto;
}

section.menu div.plan-a h3{
	position:relactive;
	font-size:32px;
	color:#12A24B;
	text-align: center;
}

section.menu div.plan-a h3::before{
	content: "";
	display: block;
	width: 72px;
	height: 72px;
	top:0;
	left:0;
	right:0;
	margin:0 auto 10px auto;
	background: url('images/menu-plan_a.png') no-repeat;
	background-position: center;
	background-size: contain;
}

section.menu p.price{
	font-size:18px;
	text-align:center;
}

section.menu p.price span{
	font-size:8px;
	text-align:center;
	padding-left:10px;
}

section.menu div.plan-a dl{
	width: 440px;
	margin:0 auto 20px auto;
}

section.menu div.plan-a dt{
	font-size:12px;
	color:#ffffff;
	padding:5px 10px;
	background-color:#000000;
}
section.menu div.plan-a dd{
	font-size:14px;
	padding:5px 10px;
}

section.menu div.plan-a p.plan-text{
	text-align:left;
	margin:20px auto;
}

section.menu div.plan-a div.plan-info{
	margin:0 auto;
}
section.menu div.plan-a div.plan-info div{
	width: 50%;
}

section.menu div.plan-a div.plan-info div.text{
	background: url('images/menu-text-bg.png') no-repeat;
	background-size:60%;
	background-position: center;
	text-align:center;
	line-height:2em;
	font-weight:bold;
	padding:60px 0 0 0 ;
}

section.menu div.otherplan{
	position:relative;
	width: 100%;
	background-color:#F7F7F7;
	border-radius:30px;
	margin-top:100px;
}

section.menu div.otherplan h3{
	position:absolute;
	top:-20px;
	left: 50%;
	transform: translateX(-50%);
	font-size:32px;
}

section.menu div.otherplan div.flexbox{
	margin:60px auto;
}


section.menu div.otherplan div.plan-b,
section.menu div.otherplan div.plan-c{
	position:relactive;
	text-align: left;
	font-size:24px;
	line-height:1em;
	width: 300px;
	margin-left:80px;
}

section.menu div.otherplan div.plan-b::before{
	position:absolute;
	content: "";
	display: block;
	width: 72px;
	height: 72px;
	top:50%;
	transform: translateY(-50%);
	margin-left:-80px;
	background: url('images/menu-plan_b.png') no-repeat;
	background-position: center;
	background-size: contain;
}

section.menu div.otherplan div.plan-c::before{
	position:absolute;
	content: "";
	display: inline-block;
	width: 72px;
	height: 72px;
	top:50%;
	transform: translateY(-50%);
	margin-left:-80px;
	background: url('images/menu-plan_c.png') no-repeat;
	background-position: center;
	background-size: contain;
}

section.menu div.otherplan h4{
	margin-bottom:10px;
}

section.menu div.otherplan p.price{
	text-align:left;
}

section.menu div.otherplan p.explan{
	font-size:14px;
}


/* lineup */

section.lineup{
	background: url(images/lineup-bg.png) no-repeat #ECF8ED;
	background-size: 100% auto;
	background-position: center 0;
	font-size: 18px;
	text-align: center;
	padding:300px 0 0 0;
}

section.lineup div.container{
	width: 960px;
	border:1px solid #ECF8ED;
}

section.lineup h2{
	position:relactive;
	margin-bottom:70px;
}

section.lineup h2::before{
	content: "";
	display: block;
	width: 77px;
	height: 64px;
	top:0;
	left:0;
	right:0;
	margin:0 auto 10px auto;
	background: url('images/lineup-midashi.png') no-repeat;
	background-position: center;
	background-size: contain;
}
section.lineup div.flexbox{
align-items: center;
margin-bottom:45px;
}

section.lineup div.reverse{
flex-direction: row-reverse;
}

section.lineup div.flexbox div{
	width: 48%;
}

section.lineup div.flexbox div.img01 img{
box-shadow: 6px 6px 0px #12A24B;
border-radius:30px;
}

section.lineup div.flexbox div.img02 img{
box-shadow: 6px 6px 0px #ECB35E;
border-radius:30px;
}

section.lineup div.flexbox p.icon{
	position:absolute;
	width: 112px;
	height: 112px;
	line-height: 80px;
	background-color: #fff;
	border-radius: 50%;
	text-align: center;
	top:-60px;
	left: 52%;
	transform: translateX(-52%);
	border:5px solid #ECF8ED
}
section.lineup div.flexbox p.icon img{
	width: 80%;
}

section.lineup div.flexbox div.fukidashi{
	position:relative;
	background: url('images/lineup-fukidashi01.png') no-repeat;
	background-position: center;
	background-size: 100%;
	height:200px;
	padding:50px 20px 0 60px;
}

section.lineup div.flexbox div.fukidashi h3{
	font-size:32px;
	color:#12A24B;
	padding:0;
	margin:0;
}

section.lineup div.reverse{
flex-direction: row-reverse;
}

section.lineup div.reverse div.fukidashi{
	position:relative;
	background: url('images/lineup-fukidashi02.png') no-repeat;
	background-position: center;
	background-size: 100%;
	height:200px;
	padding:40px 20px 0 30px;
}

section.lineup div.reverse p.icon{
	left: 45%;
	transform: translateX(-45%);
	line-height: 70px;
}

/* voice */

section.voice{
	background: url(images/voice-bg.png) no-repeat #FFFFFF;
	background-size: 100% auto;
	background-position: center 0;
	font-size: 18px;
	text-align: center;
	padding:200px 0 100px 0;
}

section.voice div.container{
	width: 900px;
}

section.voice h2{
	position:relactive;
	margin-bottom:70px;
}

section.voice h2::before{
	content: "";
	display: block;
	width: 77px;
	height: 64px;
	top:0;
	left:0;
	right:0;
	margin:0 auto 10px auto;
	background: url('images/voice-midashi.png') no-repeat;
	background-position: center;
	background-size: contain;
}

section.voice div.flexbox{
	flex-direction:column;
}


section.voice div.flexbox div{
	position:relative;
	width:80%;
	border-radius:30px;
	padding:60px 20px 20px 20px;
	margin:80px auto 0 auto;
}

section.voice div.flexbox div img{
	position:absolute;
	width:100px;
	height:100px;
	top:-50px;
	left: 50%;
	transform: translateX(-50%);
}

section.voice div.flexbox div:nth-child(odd){
background-color:#F3FFC3;
}

section.voice div.flexbox div:nth-child(even){
background-color:#ECFFDF;
}

/* faq */

section.faq{
	background: url(images/faq-bg.png) no-repeat #F1FFC3;
	background-size: 100% auto;
	background-position: center 0;
	font-size: 18px;
	text-align: center;
	padding:183px 0 90px 0;
}

section.faq div.container{
	width: 900px;
}

section.faq h2{
	position:relactive;
	margin-bottom:70px;
}

section.faq h2::before{
	content: "";
	display: block;
	width: 77px;
	height: 64px;
	top:0;
	left:0;
	right:0;
	margin:0 auto 10px auto;
	background: url('images/faq-midashi.png') no-repeat;
	background-position: center;
	background-size: contain;
}

.faq div.conts-area {
	width: 70%;
	text-align: left;
	margin:0 auto;
}

.faq div.conts-area h3 {
	position: relative;
	display: block;
	background-color:#E1FF86;
	border-radius:10px 10px 0 0;
	margin:30px 0 0 0;
	padding : 40px 20px 40px 100px;
	text-align: left;
	align-items: baseline;
	font-size:24px;
	font-weight:Bold;
	color: #000000;
}
.faq div.conts-area h3:before {
	position: absolute;
	content: "";
	top: 50%;
	transform: translateY(-50%);
	left:15px;
	width: 60px;
	height: 60px;
	line-height: 35px;
	background: url('images/faq-q.png') no-repeat;
	background-position: center;
	background-size: contain;
	text-align: center;
}

.faq div.conts-area p.answer {
	position: relative;
	background-color:#ffffff;
	border-radius: 0 0 10px 10px;
	padding : 40px 20px 40px 100px ;
	align-items: baseline;
	margin-top:5px;
}

.faq div.conts-area p.answer:before {
	position: absolute;
	content: "";
	top: 50%;
	transform: translateY(-50%);
	left:15px;
	width: 60px;
	height: 60px;
	line-height: 35px;
	background: url('images/faq-a.png') no-repeat;
	background-position: center;
	background-size: contain;
	text-align: center;
}

.faq div.conts-area p.answer span{
	font-weight:bold;
}

/*footer */

section.footer {
	background: url(images/footer-bg.png) no-repeat #12A24B;
	background-size: 100% auto;
	background-position: center top;
	padding:150px 0 50px 0;
}

section.footer div.container{
	text-align: center;
	font-size:16px;
	color:#ffffff;
}

@media screen and (max-width: 1024px) {
	.wrap {
	width:100%;
	min-width:100%;
	}

	.container {
	width:100%;
	min-width:100%;
	padding:0 10px!important;
	}
}


/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Tablet_breakpoint

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */


@media screen and (max-width: 959px) {

body {
	font-size: 14px;
	line-height: 1.4;
}
.pc { display:none!important; }
.sp { display:inline!important; }

/*========================== 共通layout styles ============================*/

	.wrap {
	width:100%;
	min-width:100%;
	}

	.container {
	width:100%;
	min-width:100%;
	padding:0 10px!important;
	}

section h2{
	font-size:32px!important;
	line-height:1.5em;
}

/* FV */

.fv {
	background: url(images/fv-bg.png) no-repeat #E0F8E4;
	background-size: auto 70%;
	background-position: -200px 10px;
	text-align: center;
	padding:10px 0 30px 0!important;
}

.fv div.fv-area div.title p img{
	width:40%;
	margin:0 0 0 0;
}

.fv div.fv-area div.title h1 img{
	width:60%;
	height:auto;
}

.fv div.fv-area div.fv-img img{
	width:100%;
	height:auto;
	margin-top:250px;
}


/* cv */
section.cv div a,
section.cv02 div a {
	top: 35%;
	transform: translateY(-345%);
	left: 30%;
	transform: translateX(-30%);

}

/* detail */

section.detail div.container{
	text-align: center;
	padding:10px 0!important;
}

section.detail div.detail-inside {
	background: url(images/detail-bg.png) no-repeat,linear-gradient(180deg, rgb(255, 255, 255)30%, rgb(236, 255, 222));
	background-size: 180% auto;
	background-position: center top;
	text-align: center;
	padding:60px 0 0 0;
}

section.detail div.container div.flexbox{
	position:relative;
	height:700px;
}

section.detail div.container div.flexbox div:nth-child(odd){
	width:80%!important;
	z-index:10;
	top:0;
	left:10px;
}

section.detail div.container div.flexbox div:nth-child(even){
	width:80%!important;
	z-index:0;
	top:300px;
	right:10px;
}

/* menu */

section.menu{
	padding:200px 0 60px 0;
}

section.menu div.container{
	width: 100%;
}

section.menu div.container img{
	width: 100%;
}

section.menu div.otherplan div.flexbox{
	width:70%;
	margin:60px auto;
}

section.menu div.otherplan div.plan-b,
section.menu div.otherplan div.plan-c{
	width: 200px;
	margin-left:20px;
}

/* lineup */

section.lineup{
	padding:200px 0 100px 0;
}

section.lineup div.container{
	width: 100%;
}

section.lineup div.flexbox{
align-items: center;
margin-bottom:40px;
	text-align: center;
}

section.lineup div.reverse{
flex-direction: row-reverse;
}

section.lineup div.flexbox div{
	width: 100%;
}


section.lineup div.flexbox div.img01 img{
box-shadow: 6px 6px 0px #12A24B;
border-radius:30px;
margin-bottom:80px;
width: 96%;
}

section.lineup div.flexbox div.img02 img{
box-shadow: 6px 6px 0px #ECB35E;
border-radius:30px;
margin-bottom:80px;
width: 96%;
}

section.lineup div.flexbox p.icon{
	position:absolute;
	width: 100px;
	height: 100px;
	line-height: 70px;
	background-color: #fff;
	border-radius: 50%;
	text-align: center;
	top:-50px;
	left: 50%;
	transform: translateX(-50%);
	border:5px solid #ECF8ED
}
section.lineup div.flexbox p.icon img{
	width: 80%;
}

section.lineup div.flexbox div.fukidashi{
	position:relative;
	background: none;
	background-position: center;
	background-size: 100%;
	height:auto;
	padding:60px 20px 20px 20px;
	background-color: #ffffff;
	border-radius:60px;
}

section.lineup div.flexbox div.fukidashi h3{
	font-size:32px;
	color:#12A24B;
	padding:0;
	margin:0 0 10px 0;
}

section.lineup div.reverse{
flex-direction: row-reverse;
}

section.lineup div.reverse div.fukidashi{
	position:relative;
	background: none;
	background-position: center;
	background-size: 100%;
	height:auto;
	padding:60px 20px 20px 20px;
	background-color: #ffffff;
	border-radius:60px;
}

section.lineup div.reverse p.icon{
	line-height: 60px;
	left: 50%;
	transform: translateX(-50%);
}

section.lineup p.explan{
	text-align: center;
}

/* voice */

section.voice{
	padding:150px 0 0 0;
}

section.voice div.container{
	width: 100%;
	margin-bottom:100px;
}

/* faq */
section.faq{
	padding:150px 0 90px 0;
}

section.faq div.container{
	width: 100%!important;
}

.faq div.conts-area {
	width: 100%;
	text-align: left;
	margin:0 auto;
}

/*footer */

section.footer {
	padding:100px 0 50px 0;
}

}



/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

SP_breakpoint

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */

@media only screen and (max-width: 480px) {

body {
	font-size: 14px;
	line-height: 1.4;
}
.pc { display:none!important; }
.sp { display:inline!important; }

/*========================== 共通layout styles ============================*/

	.wrap {
	width:100%;
	min-width:100%;
	}

	.container {
	width:100%;
	min-width:100%;
	padding:0 10px!important;
	}

section h2{
	font-size:32px!important;
	line-height:1.5em;
}

		
/*========================== layout styles ============================*/

/* FV */

.fv {
	background: url(images/fv-bg.png) no-repeat #E0F8E4;
	background-size: auto 50%;
	background-position: -100px 10px;
	text-align: center;
	padding:10px 0 30px 0!important;
}


.fv div.fv-area{
	position:relative;
	text-align: left;
	max-width:100%;
	width:100%;
	height:100%;
	box-sizing: border-box;
	align-items: center;
	margin:0 auto!important;
}

.fv div.fv-area div.title{
	position:absolute;
	left:0;
	top:10px;
	z-index:10;
}
.fv div.fv-area div.title p{
	width:100%;
	text-align:right;
}
.fv div.fv-area div.title p img{
	width:60%;
	margin:0 0 0 0;
}
.fv div.fv-area div.title h1{
	padding:0;
	margin:10px auto;
}
.fv div.fv-area div.title h1 img{
	width:70%;
	height:auto;
}
.fv div.fv-area div.fv-img{
	text-align: right;

}

.fv div.fv-area div.fv-img img{
	width:100%;
	height:auto;
	margin-top:160px;
}

.fv div.catch{
	font-size:20px;
	font-weight:bold;
	color:#2B6040;
	text-align: center;
	margin:20px 0;
}

.fv div.catch img{
	display:block;
	width:70%;
	height:auto;
	margin:20px auto 0 auto ;
}


/* cv */

section.cv{
	background: url(images/cv-bg.png) no-repeat #E0F8E4;
	background-size: cover;
	background-position: center top;

}
section.cv02{
	background: url(images/cv02-bg.png) no-repeat #F1FFC3;
	background-size: cover;
	background-position: center top;
}

section.cv div.container{
	width:100%;
	height:300px;
}

section.cv02 div.container{
	width:100%;
	height:200px;
}


section.cv div a,
section.cv02 div a {
	position:relative;
	display:block;
	background: url('images/cv-btn.png') no-repeat;
	background-position: center;
	background-size: cover;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 240px!important;
	height: 80px!important;
	text-align:center;
	font-size:20px;
	font-weight:900;
	font-feature-settings: "palt";
	line-height:80px;
	color:#ffffff;
	margin:0 0 0 5% ;
}

section.cv div a::after,
section.cv02 div a::after {
	position:absolute;
	content: "";
	display: inline;
	width: 78px;
	height: 60px;
	top:10px;
	right:-80px;
	background: url('images/cv-icon.png') no-repeat;
	background-position: center;
	background-size: cover;
	padding:0;
	margin:0;
}


/* detail */

section.detail{
	background-color:#E0F8E4;
	padding:30px 0 0 0;
}

section.detail h2{
	font-size:24px!important;
	line-height:1.8em;
}

section.detail div.detail-inside {
	background: url(images/detail-bg.png) no-repeat,linear-gradient(180deg, rgb(255, 255, 255)30%, rgb(236, 255, 222));
	background-size: 180% auto;
	background-position: center top;
	text-align: center;
	padding:60px 0 0 0;
}



section.detail div.detail-inside div.copy{
	font-size: 14px;
	font-weight:bold;
	margin-bottom:30px;
}

section.detail div.container{
	text-align: center;
	padding:10px 0!important;
}

section.detail div.container div.flexbox{
	position:relative;
	height:300px;
}

section.detail div.container div.flexbox div{
	position:absolute;
	text-align: left;
}


section.detail div.container div.flexbox div:nth-child(odd){
	width:60%!important;
	z-index:10;
	top:0;
	left:10px;
}

section.detail div.container div.flexbox div:nth-child(even){
	width:60%!important;
	z-index:0;
	top:110px;
	right:10px;
}


/* flow */

section.flow{
	background: url(images/flow-bg.png) no-repeat #FFFFFF;
	background-size: 100% auto;
	background-position: center 0;
	font-size: 14px;
	text-align: center;
	padding:70px 0 0 0;
}

section.flow h2{
	position:relactive;
}

section.flow h2::before{
	content: "";
	display: block;
	width: 72px;
	height: 72px;
	top:0;
	left:0;
	right:0;
	margin:0 auto 10px auto;
	background: url('images/flow-midashi.png') no-repeat;
	background-position: center;
	background-size: contain;
}

section.flow ul{
	width:100%;
	margin:0 auto;
}

section.flow ul li{
	margin:30px 0 30px 0;
	align-items: start;
}

section.flow ul li h3{
	font-size:20px!important;
	color:#12A24B;
}



section.flow ul li p span{
	display:block;
	font-size:12px;
}

section.flow ul li div:nth-child(odd){
	width:40%;
	height:auto;
}

section.flow ul li div img{
	width:100%;
	height:auto;
}
section.flow ul li div:nth-child(even){
	width:58%;
}


/* menu */

section.menu{
	background: url(images/menu-bg.png) no-repeat,linear-gradient(360deg, rgb(255, 255, 255)30%, rgb(236, 255, 222));
	background-size: 100% auto;
	background-position: center 0;
	font-size: 14px;
	text-align: center;
	padding:100px 0 30px 0;
}

section.menu div.container{
	width: 100%;
}

section.menu div.container img{
	width: 100%;
}

section.menu h2{
	position:relactive;
	margin-bottom:70px;
}

section.menu h2::before{
	content: "";
	display: block;
	width: 77px;
	height: 64px;
	top:0;
	left:0;
	right:0;
	margin:0 auto 10px auto;
	background: url('images/menu-midashi.png') no-repeat;
	background-position: center;
	background-size: contain;
}

section.menu div.plan-a{
	width: 100%;
	margin:0 auto;
}

section.menu div.plan-a h3{
	position:relactive;
	font-size:28px;
	color:#12A24B;
	text-align: center;
}

section.menu div.plan-a h3::before{
	content: "";
	display: block;
	width: 50px;
	height: 50px;
	top:0;
	left:0;
	right:0;
	margin:0 auto 10px auto;
	background: url('images/menu-plan_a.png') no-repeat;
	background-position: center;
	background-size: contain;
}

section.menu p.price{
	font-size:18px;
	text-align:center;
}

section.menu p.price span{
	font-size:12px;
	text-align:center;
	padding-left:10px;
}

section.menu div.plan-a dl{
	width: 100%;
	margin:10px auto 20px auto;
}

section.menu div.plan-a dt{
	font-size:12px;
	color:#ffffff;
	padding:5px 10px;
	background-color:#000000;
	width: 100%;
	text-align:center;
}
section.menu div.plan-a dd{
	font-size:14px;
	padding:5px 10px;
	text-align:center!important;
}

section.menu div.plan-a p.plan-text{
	text-align:left;
	margin:20px auto;
}

section.menu div.plan-a div.plan-info{
	margin:0 auto;
}
section.menu div.plan-a div.plan-info div{
	width: 50%;
}

section.menu div.plan-a div.plan-info div.text{
	background: url('images/menu-text-bg.png') no-repeat;
	background-size:60%;
	background-position: center;
	text-align:center;
	font-weight:bold;
	padding:30px 0 0 0 ;
	font-size:14px;
}

section.menu div.otherplan{
	position:relative;
	width: 100%;
	background-color:#F7F7F7;
	border-radius:30px;
	margin-top:50px;
	padding-left:20px;
}

section.menu div.otherplan h3{
	position:absolute;
	top:-10px;
	left: 50%;
	transform: translateX(-50%);
	font-size:24px;
	width:100%;
	text-align:center;
}

section.menu div.otherplan div.flexbox{
	margin:30px auto ;
	flex-direction: column;
}


section.menu div.otherplan div.plan-b,
section.menu div.otherplan div.plan-c{
	position:relactive;
	text-align: left;
	font-size:24px;
	line-height:14px;
	width: 100%;
	margin-left:20px;
	margin-top:20px;
	margin-bottom:10px;
	box-sizing: border-box;
}

section.menu div.otherplan div.plan-b::before{
	position:absolute;
	content: "";
	display: inline-block;
	width: 50px;
	height: 50px;
	top:75px;
	margin-left:-60px;
	background: url('images/menu-plan_b.png') no-repeat;
	background-position: center;
	background-size: contain;
}

section.menu div.otherplan div.plan-c::before{
	position:absolute;
	content: "";
	display: inline-block;
	width: 50px;
	height: 50px;
	top:170px;
	margin-left:-60px;
	background: url('images/menu-plan_c.png') no-repeat;
	background-position: center;
	background-size: contain;
}

section.menu div.otherplan h4{
	font-size:20px;
	margin-bottom:10px;
}

section.menu div.otherplan p.price{
	text-align:left;
}

section.menu div.otherplan p.explan{
	font-size:14px;
	margin-top:5px;
}


/* lineup */

section.lineup{
	background: url(images/lineup-bg.png) no-repeat #ECF8ED;
	background-size: 100% auto;
	background-position: center 0;
	font-size: 14px;
	text-align: center;
	padding:120px 0 0 0;
}

section.lineup div.container{
	width: 100%;
}

section.lineup h2{
	position:relactive;
	margin-bottom:70px;
}

section.lineup h2::before{
	content: "";
	display: block;
	width: 77px;
	height: 64px;
	top:0;
	left:0;
	right:0;
	margin:0 auto 10px auto;
	background: url('images/lineup-midashi.png') no-repeat;
	background-position: center;
	background-size: contain;
}
section.lineup div.flexbox{
align-items: center;
margin-bottom:20px;
	text-align: center;
}

section.lineup div.reverse{
flex-direction: row-reverse;
}

section.lineup div.flexbox div{
	width: 100%;
}


section.lineup div.flexbox div.img01 img{
box-shadow: 6px 6px 0px #12A24B;
border-radius:30px;
margin-bottom:80px;
width: 96%;
}

section.lineup div.flexbox div.img02 img{
box-shadow: 6px 6px 0px #ECB35E;
border-radius:30px;
margin-bottom:80px;
width: 96%;
}

section.lineup div.flexbox p.icon{
	position:absolute;
	width: 100px;
	height: 100px;
	line-height: 70px;
	background-color: #fff;
	border-radius: 50%;
	text-align: center;
	top:-50px;
	left: 50%;
	transform: translateX(-50%);
	border:5px solid #ECF8ED
}
section.lineup div.flexbox p.icon img{
	width: 80%;
}

section.lineup div.flexbox div.fukidashi{
	position:relative;
	background: none;
	background-position: center;
	background-size: 100%;
	height:auto;
	padding:60px 20px 20px 20px;
	background-color: #ffffff;
	border-radius:60px;
}

section.lineup div.flexbox div.fukidashi h3{
	font-size:24px;
	color:#12A24B;
	padding:0;
	margin:0 0 10px 0;
}

section.lineup div.reverse{
flex-direction: row-reverse;
}

section.lineup div.reverse div.fukidashi{
	position:relative;
	background: none;
	background-position: center;
	background-size: 100%;
	height:auto;
	padding:60px 20px 20px 20px;
	background-color: #ffffff;
	border-radius:60px;
}

section.lineup div.reverse p.icon{
	line-height: 60px;
	left: 50%;
	transform: translateX(-50%);
}

section.lineup p.explan{
	text-align: center;
}

/* voice */

section.voice{
	background: url(images/voice-bg.png) no-repeat #FFFFFF;
	background-size: 100% auto;
	background-position: center 0;
	font-size: 14px;
	text-align: center;
	padding:70px 0 70px 0;
}

section.voice div.container{
	width: 100%;
}

section.voice h2{
	position:relactive;
	margin-bottom:70px;
}

section.voice h2::before{
	content: "";
	display: block;
	width: 77px;
	height: 64px;
	top:0;
	left:0;
	right:0;
	margin:0 auto 10px auto;
	background: url('images/voice-midashi.png') no-repeat;
	background-position: center;
	background-size: contain;
}

section.voice div.flexbox div{
	position:relative;
	width:100%;
	border-radius:30px;
	padding:60px 20px 20px 20px;
	margin-top:80px;
}

section.voice div.flexbox div img{
	position:absolute;
	width:100px;
	height:100px;
	top:-50px;
	left: 50%;
	transform: translateX(-50%);
}

section.voice div.flexbox div:nth-child(odd){
background-color:#ECFFDF;
}

section.voice div.flexbox div:nth-child(even){
background-color:#F3FFC3;
}

section.voice div.reverse{
flex-direction: row-reverse;
}

/* faq */

section.faq{
	background: url(images/faq-bg.png) no-repeat #F1FFC3;
	background-size: 100% auto;
	background-position: center 0;
	font-size: 14px;
	text-align: center;
	padding:80px 0 90px 0;
}

section.faq div.container{
	width: 100%;
}

section.faq h2{
	position:relactive;
	margin-bottom:30px;
}

section.faq h2::before{
	content: "";
	display: block;
	width: 77px;
	height: 64px;
	top:0;
	left:0;
	right:0;
	margin:0 auto 10px auto;
	background: url('images/faq-midashi.png') no-repeat;
	background-position: center;
	background-size: contain;
}

.faq div.conts-area {
	width: 100%;
	text-align: left;
	margin:0 auto;
}

.faq div.conts-area h3 {
	position: relative;
	display: block;
	background-color:#E1FF86;
	border-radius:10px 10px 0 0;
	margin:30px 0 0 0;
	padding : 20px 20px 20px 60px;
	text-align: left;
	align-items: baseline;
	font-size:20px;
	font-weight:Bold;
	color: #000000;
}
.faq div.conts-area h3:before {
	position: absolute;
	content: "";
	top: 50%;
	transform: translateY(-50%);
	left:10px;
	width: 40px;
	height: 40px;
	line-height: 35px;
	background: url('images/faq-q.png') no-repeat;
	background-position: center;
	background-size: contain;
	text-align: center;
}

.faq div.conts-area p.answer {
	position: relative;
	background-color:#ffffff;
	border-radius: 0 0 10px 10px;
	padding : 20px 20px 20px 60px ;
	align-items: start;
	margin-top:5px;
}

.faq div.conts-area p.answer:before {
	position: absolute;
	content: "";
	top: 20px;
	transform: translateY(0%);
	left:10px;
	width: 40px;
	height: 40px;
	line-height: 35px;
	background: url('images/faq-a.png') no-repeat;
	background-position: center;
	background-size: contain;
	text-align: center;
}

.faq div.conts-area p.answer span{
	font-weight:bold;
}

/*footer */

section.footer {
	background: url(images/footer-bg.png) no-repeat;
	background-size: 100% auto;
	background-position: center top;
	padding:10% 0 0 0;
}

section.footer div.container{
	text-align: center;
	font-size:10px;
	color:#ffffff;
	background-color: #12A24B;
	padding:10px 0 20px 0!important;
}



}

