@charset "UTF-8";

/* header
-----------------------------------------------------*/
header {
    width: 100%;
    padding: 0;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 99999;
	background:rgba(255,255,255,0.00)
}
/* header FIX時 */
header.is-fix{
	background:rgba(255,255,255,1.00);
	position: fixed;
	animation: header .5s forwards;
}
header.is-fix.nomove {
	animation:none;
}
header.is-fix .header-right .nav_list li a{
	color:#333;
}

@keyframes header {
    0% {
        top: -80px;
    }
    100% {
        top: 0;
    }
}
header .header-in {
    width: 100%;
    height:80px;
    /* max-width: 1300px; */
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    background: #ffff;
}


header .header-left {
	width:20%;
    max-width: 270px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
header .header-left a img {
    margin:0 5% 0 auto;
	width:90%;
	max-width: 210px
}

/* header nav */
header .header-right {
    /*width: calc(100% - 270px);*/
	width:80%;
	height:100%;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
header .header-right nav{
	height:100%;
	width:860px;
}
header .header-right .nav_list {
	height:100%;
	width:100%;
    display: flex;
	justify-content: space-between;
	font-size:13px;
	line-height:1.4;	
}
header .header-right .nav_list li a{
	color:##000;
	display:flex;
	align-content: center;
	align-items: center;
	justify-content: center;
	text-align: center;
	flex-wrap: wrap;
	padding: 0 5px;
	height:100%;
}

header .header-right .nav_list li a.apply {
  background: #F14B78;
  box-shadow: 3px 3px 0 #B53759;
  border-radius: 100px;
  color: #fff;
  text-align: center;
  width: 279px;
  padding: 17px 10px;
  font-size: 20px;
  font-weight: bold;
  transition: 0.3s;
  display: block;
  margin: 10px 10px 10px 10px;
  height: 60px;
}

a.nowrap.apply:hover {
    box-shadow: unset;
    transform: translateY(4px);
}

header .header-right .nav_list li a.apply{
	position: relative;
}
header .header-right .nav_list li a.apply::before{
	position: absolute;
	content:none;
	width:23px;
	height:21px;
	top:0;
	bottom:0;
	left:30px;
	margin: auto;
	background-image: url("../images/icon_apply_w.svg") ;
	background-repeat: no-repeat;
	background-size: cover
	
}

header .header-right .nav_list li a.nowrap{
	white-space: nowrap;
}

@media (max-width: 768px) {
	header.is-fix{
		animation: none;
	}
	header .header-left {
		width:40vw;
		max-width: 40vw;
	}
	header .header-left a img {
		margin:0 0 0 auto;
		width:100%;
		max-width: 90%
	}

	/* header nav */
	header .header-right {
		width: 55vw;
	}
	
	header .gnav-wrap{
		width: 60vw!important;
		height: 100vh!important;
		background-color:rgba(255,255,255,0.90);
		background-color:rgba(225,232,207,0.90);
		position: fixed;
		top: 80px;
		right: -60vw;
		z-index: 9998;
		margin-top: 0;
		transition: .2s;
		box-shadow: -3px 3px 3px rgba(0, 0, 0, 0.1);
		overflow-y: none;
		padding-bottom: 20px;
	}	
	header .gnav-wrap.is-active{
		right: 0;
	}
	 header .header-right .nav_list {
		width:100%;
		display: block; 
		font-size:4vw;
		line-height:1.4;	
	}   
	header .header-right .nav_list li a{
		padding: 5vw 0 ;
		color:#333;
		border-bottom: 1px #333 solid
	}
	header .header-right .nav_list li a.apply {
		padding: 5vw 0 5vw 3vw;
		background: #000;
		color:#fff;
		box-shadow: none;
		border-radius: unset;
		margin: auto;
		height: auto;
	}
	header .header-right .nav_list li a.apply::before{
		position: absolute;
		left:13vw;
	}

	
	header .header-right .nav_btn{
		display: block;
		margin: 0;
		margin-right: 5vw;
		width: 8vw;
		height: 6vw;
		-webkit-transition: all .2s;
		transition: all .2s;
		box-sizing: border-box;
		cursor: pointer;
		position: relative;
	}
	header .header-right .nav_btn span{
		position: absolute;
		display: inline-block;
		left: 0;
		right: 0;
		margin: auto;
		width: 100%;
		height: 0.6vw;
		background-color: #333;
		-webkit-transition: all .2s;
		transition: all .2s;
		box-sizing: border-box;
	}
	header .header-right .nav_btn span:nth-of-type(1){
		top: 0;
	}
	header .header-right .nav_btn span:nth-of-type(2){
		top:0;
		bottom:0;
	}
	header .header-right .nav_btn span:nth-of-type(2)::after{
		position: absolute;
		top: 0;
		left: 0;
		content: '';
		width: 100%;
		height: 0.6vw;
		border-radius: 4px;
		-webkit-transition: all .2s;
		transition: all .2s;
		background-color: #333;
	}
	header .header-right .nav_btn span:nth-of-type(3){
		bottom: 0;
	}

	header .header-right .nav_btn.is-active span:nth-of-type(1){
		-webkit-transform: translateY(20px) scale(0);
		-ms-transform: translateY(20px) scale(0);
		transform: translateY(20px) scale(0);
	}
	header .header-right .nav_btn.is-active span:nth-of-type(2){
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);

	}
	header .header-right .nav_btn.is-active span:nth-of-type(2)::after{
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		transform: rotate(90deg);
	}
	header .header-right .nav_btn.is-active span:nth-of-type(3){
		-webkit-transform: translateY(-20px) scale(0);
		-ms-transform: translateY(-20px) scale(0);
		transform: translateY(-20px) scale(0);
	}
	/* header FIX時 */
		header.is-fix .header-right .nav_btn span{
			background-color: #333;
		}
		header.is-fix .header-right .nav_btn span:nth-of-type(2)::after{
			background-color: #333;
		}

	
}

/* 共通
-----------------------------------------------------*/
.cont-inn1{
	width:85%;
	max-width:1100px;
	margin:0 auto;
	padding: 150px 50px 0;
}

.cont-inn2{
	width:85%;
	max-width:1100px;
	margin:0 auto;
	padding: 80px 50px 0;
	text-align: center;
	/* background: #f5f5f5; */
}

.cont-inn1 h3{
	font-family: 'Montserrat', sans-serif;
	font-size: 32px;
	font-weight: 300;
	margin-bottom: 55px;
	line-height: 1;
	/* position: relative; */
}
.cont-inn1 h3::before{
	content:'';
	position: absolute;
	height:1px;
	width:40px;
	background: #333;
	top:0;
	bottom:0;
	left:-50px;
	margin: auto
}
.cont-inn1 .lead-txt {
    font-size: 44px;
	font-weight: bold;
	margin-bottom: 50px
}
.cont-inn1 .normal-txt {
    font-size: 16px;
	line-height: 2
}

.cont-inn2 h3{
	font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    font-weight: 300;
	margin-bottom: 15px;
	padding-bottom: 15px;
	color:#3c9a46;
	line-height: 1;
	position: relative
}
.cont-inn2 h3::after{
	content: '';
	position: absolute;
	width:40px;
	height:1px;
	background: #3c9a46;
	bottom:0px;
	right:0;
	left:0;
	margin: auto
}
.cont-inn2 .title-txt {
    font-size: 34px;
	font-weight: bold;
	line-height: 1;
	padding: 20px 40px;
	margin-bottom: 50px;
	background: #fff;
	color:#3c9a46;
	display: inline-block
}

.cap-txt{
	font-size:12px;
}
.co2{
	font-size:0.8em
}

.more_btn a{
	color:#fff;
	display: block;
	width:280px;
	padding: 10px;
	border: 2px solid #fff;
	border-radius: 30px;
	font-size:14px;
	text-align: center;
	position: relative
}
.more_btn a::after{
	content:'';
	position: absolute;
	height:1px;
	width:45px;
	background: #fff;
	top:0;
	bottom:0;
	right:-20px;
	margin: auto
}

@media (max-width: 768px) {
    .normal-txt {
        font-size: 3.2vw;
    }
	.cont-inn1{
		width:96%;
		padding: 15vw 5vw 0;
	}

	.cont-inn2{
		width:96%;
		padding: 10.6vw 5vw 0;
	}
	
	.cont-inn1 h3{
		font-family: 'Montserrat', sans-serif;
		font-size: 8vw;
		font-weight: 300;
		margin-bottom: 5vw;
		line-height: 1;
		position: relative
	}
	.cont-inn1 h3::before{
		content:'';
		position: absolute;
		height:1px;
		width:6vw;
		background: #333;
		top:0;
		bottom:0;
		left:-8vw;
		margin: auto
	}
	.cont-inn1 .lead-txt {
		font-size: 5.8vw;
		font-weight: bold;
		margin-bottom: 50px
	}
	.cont-inn1 .normal-txt {
		font-size: 4vw;
		line-height: 2
	}

	.cont-inn2 h3{
		font-family: 'Montserrat', sans-serif;
		font-size: 8vw;
		font-weight: 300;
		margin-bottom: 3vw;
		padding-bottom: 3vw;
		color:#3c9a46;
		line-height: 1;
		position: relative
	}
	.cont-inn2 h3::after{
		content: '';
		position: absolute;
		width:40px;
		height:1px;
		background: #3c9a46;
		bottom:0px;
		right:0;
		left:0;
		margin: auto
	}
.cont-inn2 .title-txt {
    font-size: 5vw;
	font-weight: bold;
	line-height: 1;
	padding: 4vw;
	margin-bottom: 5vw;
	background: #fff;
	color:#3c9a46;
	display: inline-block
}

.cap-txt{
	font-size:3vw;
}

.more_btn a{
		color:#fff;
		display: block;
		width:60vw;
		padding: 3vw;
		border: 2px solid #fff;
		border-radius: 8vw;
		font-size:3.6vw;
		text-align: center;
		position: relative;
		margin-left:5vw;
		margin-bottom: 5vw
	}
.more_btn a::after{
		content:'';
		position: absolute;
		height:1px;
		width:45px;
		background: #fff;
		top:0;
		bottom:0;
		right:-20px;
		margin: auto
	}
}

/* MV
-----------------------------------------------------*/
#mainvisual {
    width: 100%;
    padding: 230px 0 120px;
    background: url("../images/mv.png") center center no-repeat;
    background-size: cover;
    position: relative;
}
#mainvisual::after{
	position: absolute;
	content:'';
	width:100%;
	height:100%;
	bottom:-1px;
	left:0;
	right:0;
	background: url("../images/cover_cir.svg") center bottom no-repeat;
	background-size: 101%;
	z-index: 2;
}

#mainvisual h2 {
    width: 90%;
	max-width:760px;
    margin: 0 auto 35px;
}

#mainvisual .catch{
	width:75%;
	max-width:520px;
	display: flex;
	margin: 0 auto
}

#mainvisual .scr {
	position: absolute;
	bottom:60px;
	left:0;
	right:0;
	margin: auto;
    text-align: center;
	z-index: 3
}
#mainvisual .scr a{
	color: #fff;
	font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 500;
}
#mainvisual .scr::after{
	position: absolute;
	content:'';
	width:1px;
	height:50px;
	bottom:-60px;
	left:0;
	right:0;
	margin: auto;
	background: #fff
}

@media (max-width: 768px) {
    #mainvisual {
        width: 100%;
        padding: 28vw 0 36vw;
        background: url("../images/mv.png") center bottom no-repeat;
        background-size: cover;
        position: relative;
    }
	#mainvisual::after{
		position: absolute;
		content:'';
		width:100%;
		height:100%;
		bottom:-1px;
		left:0;
		right:0;
		background: url("../images/cover_cir.svg") center bottom no-repeat;
		background-size: 105%;
		z-index: 2;
	}


    #mainvisual h2 {
        width: 90%;
        margin: 6vw auto 5vw;
    }
	#mainvisual .catch{
		width:90%;
		max-width:90%;
		display: flex;
		margin: 0 auto
	}

}


/* About
-----------------------------------------------------*/
#cont-about {
    margin: 0 auto 0;
    padding: 0;
	background: url("../images/bg-about.png") bottom center no-repeat;
    background-size: 100%;
}
#cont-about .cont-inn1{
	padding-bottom: 150px;
	position: relative
}
#cont-about .cont-inn1::after{
	position: absolute;
	content:'';
	width:198px;
	height:198px;
	bottom:150px;
	right:0;
	background: url("../images/about-img01.png") center center no-repeat;
	background-size: 100%
}
#cont-about .cont-inn1 .normal-txt{
	width:calc(100% - 200px);
}
@media (max-width: 768px) {
	#cont-about {
		background-size: 180%;
	}
	
	#cont-about .cont-inn1{
		padding-bottom: 60vw;
		position: relative;
	}
	#cont-about .cont-inn1::after{
		position: absolute;
		content:'';
		width:30vw;
		height:30vw;
		bottom:15vw;
		right:20vw;
		background: url("../images/about-img01.png") center center no-repeat;
		background-size: 100%
	}
	#cont-about .cont-inn1 .normal-txt{
		width:100%;
	}

}



/* Service
-----------------------------------------------------*/
#cont-service {
    margin: 0 auto 0;
    padding: 0;
	background-color: #f5f5f5;
	background-image: url("../images/bg-service.png") ;
	background-position:  bottom center;
	background-repeat:  no-repeat;
    background-size: 100%;
}
#cont-service .cont-inn1{
	padding-bottom: 80px;
}

#cont-service .cont-inn1 .lead-txt,
#cont-service .cont-inn1 .normal-txt{
	width:calc(100% - 18%);
}

#cont-service .cont-inn1 .box1-inn,
#cont-service .cont-inn1 .box2{
	background-color: rgba(255,255,255,0.85);
	padding: 45px;
	border-radius: 8px;
	margin-top: 40px;
	box-shadow: 0px 0px 25px 0px rgba(220,220,220,0.60);
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#cont-service .cont-inn1 .box1{
	position: relative;

}
#cont-service .cont-inn1 .box1-inn{
	position: inherit;
	z-index: 2
}
#cont-service .cont-inn1 .box1::before{
	position: absolute;
	content:'';
	width:18%;
	height:100%;
	top:-70%;
	right:0;
	background-image: url("../images/service-img01.png") ;
	background-position:  top right;
	background-repeat:  no-repeat;
    background-size: 100%;
	z-index: 1
}


#cont-service .cont-inn1 .box1 .box-title{
	width:100%;
	margin-bottom: 40px
}
#cont-service .cont-inn1 .box1 .box-title img{
	width:90%;
	max-width: 630px;
	margin: 0 auto
}
#cont-service .cont-inn1 .box1 .box-inn-l{
	width:42%
}
#cont-service .cont-inn1 .box1 .box-inn-r{
	width:54%;
	text-align: center
}
#cont-service .cont-inn1 .box1 .box-inn-r img{
	width:90%;
	max-width: 390px;
	margin: 0 auto
}
#cont-service .cont-inn1 .box1 .box-inn-r .arrow img{
	width:13%;
	margin: 10px auto
}
#cont-service .cont-inn1 .box1 .box-inn-wrap{
	background: #e1e8cf;
	border-radius: 8px;
	border:#333 1px solid;
	padding: 15px;
}
#cont-service .cont-inn1 .box1 .box-inn-wrap .cap-txt{
	margin-top: 12px
}
#cont-service .cont-inn1 .box2 .box-title{
	width:100%;
	background: #e1e8cf;
	border-radius: 8px;
	border:#333 1px solid;
	padding: 25px;
	margin-bottom: 40px
}
#cont-service .cont-inn1 .box2 .box-title img{
	width:90%;
	max-width: 630px;
	margin: 0 auto
}
#cont-service .cont-inn1 .box2  .cap-txt{
	margin-top: 25px
}
@media (min-width: 1500px) {
	#cont-service {
		background-position:  top 400px center;
	}
}
@media (max-width: 768px) {
	#cont-service {
		margin: 0 auto 0;
		padding: 0;
		background-color: #f5f5f5;
		background-image: url("../images/bg-service.png") ;
		background-position:  bottom center;
		background-repeat:  no-repeat;
		background-size: 280%;
	}
	#cont-service .cont-inn1 .lead-txt,
	#cont-service .cont-inn1 .normal-txt{
		width:100%;
	}
	#cont-service .cont-inn1 .box1,
	#cont-service .cont-inn1 .box2{
		background: rgba(255,255,255,0.85);
		padding:5vw;
		border-radius: 8px;
		margin-top: 5vw;
		display: flex;
		flex-direction: column;
	}
	#cont-service .cont-inn1 .box1 .box-title{
		width:100%;
		margin-bottom: 5vw
	}
	#cont-service .cont-inn1 .box1 .box-title img{
		width:85%;
		max-width: 85%;
		margin: 0 auto
	}
	#cont-service .cont-inn1 .box1 .box-inn-l{
		width:100%;
		margin-bottom: 5vw
	}
	#cont-service .cont-inn1 .box1 .box-inn-r{
		width:100%;
		text-align: center
	}
	#cont-service .cont-inn1 .box1 .box-inn-r img{
		width:100%;
		max-width: 100%;
		margin: 0 auto
	}
	#cont-service .cont-inn1 .box1 .box-inn-r .arrow img{
		width:13%;
		margin: 1vw auto
	}
	#cont-service .cont-inn1 .box1 .box-inn-wrap{
		background: #e1e8cf;
		border-radius: 8px;
		border:#333 1px solid;
		padding: 2vw;
	}
	#cont-service .cont-inn1 .box1 .box-inn-wrap .cap-txt{
		margin-top: 12px
	}
	#cont-service .cont-inn1 .box2 .box-title{
		width:100%;
		background: #e1e8cf;
		border-radius: 8px;
		border:#333 1px solid;
		padding: 2vw;
		margin-bottom: 5vw
	}
	#cont-service .cont-inn1 .box2 .box-title img{
		width:90%;
		max-width: 90%;
		margin: 0 auto
	}
	#cont-service .cont-inn1 .box2  .cap-txt{
		margin-top: 3.5vw
	}

}

/* Cost
-----------------------------------------------------*/
#cont-cost{
    margin: 0 auto 0;
    padding: 0;
    background-color: #fff;
}
#cont-cost .lead-txt{
	width:100%;
	text-align: center;
	border-radius: 8px;
	padding: 100px 0;
	background-color:#3c9a46;
	background-image: url("../images/cost-img01.png");
	background-position:  bottom center;
	background-repeat:  no-repeat;
    background-size: cover;
	color:#fff;
	font-weight: bold;
	font-size:26px
}

#cont-cost .box1{
	background: rgba(255,255,255,0.85);
	padding:30px 0;
	border-radius: 8px;
	margin-top: 40px;
	box-shadow: 0px 0px 25px 0px rgba(220,220,220,0.60);
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#cont-cost .box1 .box-inn{
	padding: 0 30px;
	width:calc(100% / 3)
}
#cont-cost .box1 .box-inn + .box-inn{
	border-left:#dcdcdc 1px solid
}
#cont-cost .box1 .box-inn .title{
	width:100%;
	max-width: 230px;
	font-size:1.8vw;
	font-weight: bold;
	color:#fff;
	padding: 10px 5px;
	background: #333;
	border-radius: 32px;
	margin:0 auto 10px;
	line-height: 1
}
#cont-cost .box1 .box-inn .use{
	font-size:1.4vw;
}
#cont-cost .box1 .box-inn .family{
	margin: 10px 0 20px 0 ;
	border-radius: 8px;
}
#cont-cost .cap-txt{
	text-align: left;
	margin: 20px 20px 20px 80px;
}

@media (min-width: 1000px) {
	#cont-cost .box1 .box-inn .title{
		font-size:22px;
	}
	#cont-cost .box1 .box-inn .use{
		font-size:14px;
	}
}
@media (max-width: 768px) {
	#cont-cost .lead-txt{
		width:100%;
		text-align: center;
		border-radius: 8px;
		padding: 6vw 0;
		background-color:#3c9a46;
		background-image: url("../images/cost-img01.png");
		background-position:  bottom center;
		background-repeat:  no-repeat;
		background-size: cover;
		color:#fff;
		font-weight: bold;
		font-size:4vw
	}
	#cont-cost .box1{
		
		padding:4vw 0;
		border-radius: 8px;
		margin-top: 5vw;
		box-shadow: 0px 0px 25px 0px rgba(220,220,220,0.60);
		display: flex;
		flex-direction: column;

	}
	#cont-cost .box1 .box-inn{
		padding: 6vw ;
		width:90%;
		margin: 0 auto
	}
	#cont-cost .box1 .box-inn + .box-inn{
		border-left:none;
		border-top:#dcdcdc 1px solid
	}
	#cont-cost .box1 .box-inn .title{
		width:80%;
		max-width:80%;
		font-size:4vw;
		font-weight: bold;
		color:#fff;
		padding: 2vw 1vw;
		background: #333;
		border-radius: 32px;
		margin:0 auto 3vw;
		line-height: 1
	}
	#cont-cost .box1 .box-inn .use{
		font-size:3.5vw;
	}
	#cont-cost .box1 .box-inn .family{
		margin: 4vw 0 ;
		border-radius: 8px;
	}
	#cont-cost .cap-txt{
		text-align: left;
		margin-top: 3vw;
		margin: auto;
	}
}


/* Compare
-----------------------------------------------------*/
#cont-compare{
    margin: 0 auto ;
    padding-bottom:70px;
	background-color: #f5f5f5;

}


#cont-compare .box1{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#cont-compare .box1 .box-inn{
	padding: 0;
	width:calc((100% - 35px) / 2);
	background: #fff;
	border-radius: 8px;
}
#cont-compare .box1 .box-inn .top{
	width:100%;
	font-size:1.8vw;
	font-weight: bold;
	color:#fff;
	padding: 15px 5px;
	background: #eb676e;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;	
	margin:0 ;
	line-height: 1
}
#cont-compare .box1 .box-inn.b-l .top{
	background: #eb676e;
}
#cont-compare .box1 .box-inn.b-r .top{
	background: #3c9a46;
}
#cont-compare .box1 .box-inn .bottom{
	padding: 30px 20px
}
#cont-compare .box1 .box-inn .bottom .title{
	font-size:2.0vw;
	font-weight: bold;
	margin-bottom: 15px
}
#cont-compare .box1 .box-inn.b-l .bottom .title{
	color: #eb676e;
}
#cont-compare .box1 .box-inn.b-r .bottom .title{
	color: #3c9a46;
}

#cont-compare .box1 .box-inn .bottom table{
	font-size:1.2vw;
	width:100%;
	border-top:#c2c2c2 1px solid;
	border-left:#c2c2c2 1px solid;
	border-collapse: collapse;
  	border-spacing: 0;
}
#cont-compare .box1 .box-inn.b-l .bottom table th{
	font-weight: bold;
	background: #f3ddde
}
#cont-compare .box1 .box-inn.b-r .bottom table th{
	font-weight: bold;
	background: #e1e8cf
}
#cont-compare .box1 .box-inn .bottom table th,
#cont-compare .box1 .box-inn .bottom table td{
	border-bottom:#c2c2c2 1px solid;
	border-right:#c2c2c2 1px solid;

}
#cont-compare .box1 .box-inn .bottom table td span{
	color:#e37600
}

#cont-compare .box1 .box-inn .bottom .cap-txt{
	margin-top: 15px;
	font-size:1.0vw;
	text-align: left
}

#cont-compare .more_btn a{
	margin: 40px auto 0;
	color: #3c9a46;
	border:2px #3c9a46 solid;
}
#cont-compare .more_btn a::after{
	background: #3c9a46;
}

@media (min-width: 1000px) {
	#cont-compare .box1 .box-inn .top{
		font-size:18px;
	}
	#cont-compare .box1 .box-inn .bottom .title{
		font-size:20px;
	}
	#cont-compare .box1 .box-inn .bottom table{
		font-size:14px;
	}	
	#cont-compare .box1 .box-inn .bottom .cap-txt{
		font-size:12px
	}
}

@media (max-width: 768px) {
	#cont-compare .box1{
		display: flex;
		flex-direction: column
	}
	#cont-compare .box1 .box-inn{
		padding: 0;
		width:100%;
		background: #fff;
		border-radius: 8px;
	}
	#cont-compare .box1 .box-inn + .box-inn{
		margin-top: 5vw
	}
	#cont-compare .box1 .box-inn .top{
		width:100%;
		font-size:4vw;
		font-weight: bold;
		color:#fff;
		padding: 3vw 0;
		background: #eb676e;
		border-top-left-radius: 8px;
		border-top-right-radius: 8px;	
		margin:0 ;
		line-height: 1
	}

	#cont-compare .box1 .box-inn .bottom{
		padding: 4vw
	}
	#cont-compare .box1 .box-inn .bottom .title{
		font-size:3.6vw;
		font-weight: bold;
		margin-bottom: 3vw
	}

	#cont-compare .box1 .box-inn .bottom table{
		font-size:3vw;
		width:100%;
		border-top:#c2c2c2 1px solid;
		border-left:#c2c2c2 1px solid;
		border-collapse: collapse;
		border-spacing: 0;
	}


	#cont-compare .box1 .box-inn .bottom .cap-txt{
		margin-top: 3vw;
		font-size:3vw;
		text-align: left
	}
	#cont-compare .more_btn a{
		margin-top:10vw;
	}
	
	}

/* Support
-----------------------------------------------------*/
#cont-support{
    margin: 0 auto ;
    padding-bottom:70px;
	background-color: #a9c95a;
	background: url("../images/bg-support.png") bottom center no-repeat;
    background-size: cover;

}
#cont-support .cont-inn2 h3{
	color:#fff;
}
#cont-support .cont-inn2 h3::after{
	background: #fff;
}
#cont-support .cont-inn2 .title-txt {
	color:#a9c95a;
}


#cont-support .box1{
	display: flex;;
	justify-content: space-between;
	flex-wrap: wrap;
	padding-top:25px
}
#cont-support .box1 .box-inn{
	padding: 35px 25px 30px;
	width:calc((100% - 20px) / 2);
	background: #e1e8cf;
	border:#333 2px solid;
	border-radius: 8px;
	position: relative;
}

#cont-support .box1 .box-inn .box-title{
	position: absolute;
	width:calc(100% - 50px);
	top:-2.2vw;
	font-size:2.2vw;
	color:#fff;
	background: #333;
	border-radius: 30px;
}
#cont-support .box1 .box-inn img{
	width:40%;
	margin: 20px auto
}
#cont-support .box1 .box-inn .normal-txt{
	font-size:1.6vw;
	font-weight: bold
}
#cont-support .box1 .box-inn .normal-txt span{
	background: #e37600;
	color:#fff;
	padding: 2px
}

#cont-support .box1 .box-inn .cap-txt{
	margin-top: 15px;
	font-size:1.0vw;
}


@media (min-width: 1000px) {
	#cont-support .box1 .box-inn .normal-txt{
		font-size:18px;
	}
	#cont-support .box1 .box-inn .box-title{
			top:-24px;
		font-size:24px;
	}
	#cont-support .box1 .box-inn .cap-txt{
		font-size:12px
	}
}

@media (max-width: 768px) {
	#cont-support .box1{
		display: flex;;
		flex-direction: column;
		padding-top:3.6vw
	}
	#cont-support .box1 .box-inn{
		padding: 6vw 4vw 4vw;
		width:100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center
	}
	#cont-support .box1 .box-inn + .box-inn{
		margin-top: 6vw
	}

	#cont-support .box1 .box-inn .box-title{
		position: absolute;
		width:calc(100% - 50px);
		top:-3vw;
		font-size:4vw;
		color:#fff;
		background: #333;
		border-radius: 30px;
	}
	#cont-support .box1 .box-inn img{
		width:18vw;
		margin: 1vw auto 0
	}
	#cont-support .box1 .box-inn .normal-txt{
		width:calc(100% - 20vw);
		font-size:3.3vw;
		font-weight: bold
	}
	#cont-support .box1 .box-inn .normal-txt span{
		background: #e37600;
		color:#fff;
		padding: 2px
	}

	#cont-support .box1 .box-inn .cap-txt{
		width:100%;
		margin-top: 3vw;
		font-size:3vw;
	}

	
	}


/* Flow
-----------------------------------------------------*/
#cont-flow {
    margin: 0 auto 0;
    padding: 0;
	background-color: #f5f5f5;
	background-image: url("../images/bg-flow.png");
	background-position:top center;
	background-repeat:  no-repeat;
    background-size: 100%;
}


#cont-flow .cont-inn1 .box1{
	margin-top: 75px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#cont-flow .cont-inn1 .box1 .box-inn{
	width:calc((100% - 9%) / 3);
	border:#333 2px solid;
	border-radius: 4px;
	background: #fff;
	text-align: center;
	padding-bottom: 20px
}
#cont-flow .cont-inn1 .box1 .arrow{
	width:4.5%;
	display: flex;
	align-items: center;
	justify-content: center
}
#cont-flow .cont-inn1 .box1 .arrow img{
	width:66%
}
#cont-flow .cont-inn1 .box1 .box-inn .box-title{
	width:100%;
	color:#fff;
	background: #333;
	border-top-left-radius: 1px;
	border-top-right-radius: 1px;
	font-family: 'Montserrat', sans-serif;
    font-size: 32px;
    font-weight: 300;
}


#cont-flow .cont-inn1 .box1 .box-inn .box-img{
	margin: 0 auto;
	background: #f3f6ec
}

#cont-flow .cont-inn1 .box1 .box-inn .normal-txt{
	padding: 20px 0;
	font-size:1.3vw;
	line-height: 1.4;
	font-weight: bold
}
#cont-flow .cont-inn1 .box1 .box-inn .normal-txt span{
	color:#3c9a46
}
#cont-flow .box1 .box-inn .cap-txt{
	font-size:1.0vw;
}


@media (min-width: 1100px) {
	#cont-flow .cont-inn1 .box1 .box-inn .normal-txt{
		font-size:17px;
	}
	#cont-flow .cont-inn1 .box1 .box-inn  .box-title{
		font-size:32px;
	}
	#cont-flow .box1 .box-inn .cap-txt{
		font-size:12px
	}
}


@media (max-width: 768px) {
	#cont-flow {
		margin: 0 auto 0;
		padding: 0;
		background-color: #f5f5f5;
		background-image: url("../images/bg-flow.png");
		background-position:top center;
		background-repeat:  no-repeat;
		background-size: 110%;
	}
	#cont-flow .cont-inn1 .box1{
		margin-top: 10vw;
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
	}

	#cont-flow .cont-inn1 .box1 .box-inn{
		width:100%;
		border:#333 2px solid;
		border-radius: 4px;
		background: #fff;
		text-align: center;
		padding-bottom: 3vw
	}
	#cont-flow .cont-inn1 .box1 .arrow{
		width:4vw;
		margin: 0 auto;
		transform: rotate(90deg);
		display: block;

	}
	#cont-flow .cont-inn1 .box1 .arrow img{
		width:100%
	}
	#cont-flow .cont-inn1 .box1 .box-inn .box-title{
		width:100%;
		color:#fff;
		background: #333;
		border-top-left-radius: 1px;
		border-top-right-radius: 1px;
		font-family: 'Montserrat', sans-serif;
		font-size: 6vw;
		font-weight: 300;
	}


	#cont-flow .cont-inn1 .box1 .box-inn .box-img{
		margin: 0 auto;
		background: #f3f6ec
	}

	#cont-flow .cont-inn1 .box1 .box-inn .normal-txt{
		padding: 5vw 5vw 3vw;
		font-size:3.6vw;
		line-height: 1.4;
		font-weight: bold
	}
	#cont-flow .cont-inn1 .box1 .box-inn .normal-txt span{
		color:#3c9a46
	}
	#cont-flow .box1 .box-inn .cap-txt{
		font-size:3vw;
	}

	
}


/* Other Plan
-----------------------------------------------------*/
#cont-otherplan {
    margin: 0 auto 0;
    padding: 0;
	background-color: #f5f5f5;
	background-image: url("../images/bg-otherplan.png");
	background-position:bottom center;
	background-repeat:  no-repeat;
    background-size: 100%;
}
#cont-otherplan .cont-inn1{
	padding-bottom: 100px;

}

@media (max-width: 768px) {
	#cont-otherplan {
		margin: 0 auto 0;
		padding: 0;
		background-color: #f5f5f5;
		background-image: url("../images/bg-otherplan.png");
		background-position:bottom center;
		background-repeat:  no-repeat;
		background-size: 130%;
	}
		#cont-otherplan .cont-inn1{
		padding-bottom: 40vw;

	}
}


/* Parsonal Plan
-----------------------------------------------------*/
#cont-parsonalplan{
	background: #a9c95a;
}
#cont-parsonalplan .cont-inn{
	width:85%;
	max-width:1100px;
	margin:0 auto;
	padding: 80px 50px 0;
	color:#fff
}

#cont-parsonalplan .cont-inn h3{
    font-size: 30px;
    font-weight: bold;
	line-height: 1;
	display: inline-block;
	padding: 15px 15px 15px 0 ;
	background: #fff;
	color:#a9c95a;
	position: relative
}
#cont-parsonalplan .cont-inn h3::before{
	content:'';
	position: absolute;
	height:100%;
	width:100px;
	background: #fff;
	top:0;
	bottom:0;
	left:-100px;
	margin: auto
}
#cont-parsonalplan .cont-inn .box{
	width:100%;
	padding:70px 0 0 50px ;
	border-left:1px solid #fff;
	display: flex;
	justify-content: space-between;
	align-items: center
}
#cont-parsonalplan .cont-inn .box .box-inn{
	width:48%
}
#cont-parsonalplan .cont-inn .box:last-child{
	padding-bottom: 80px
}
#cont-parsonalplan .cont-inn .box h4{
    font-size: 26px;
    font-weight: bold;
	line-height: 1;
	position: relative;
}
#cont-parsonalplan .cont-inn .box  h4::before{
	content:'';
	position: absolute;
	height:1px;
	width:45px;
	background: #fff;
	top:0;
	bottom:0;
	left:-50px;
	margin: auto
}

#cont-parsonalplan .cont-inn .normal-txt {
    font-size: 16px;
	line-height: 2;
	padding: 80px 0
}


	
@media (max-width: 768px) {

	#cont-parsonalplan .cont-inn{
		width:100%;
		max-width:100%;
		margin:0 auto;
		padding: 10vw 7vw 0;
		color:#fff
	}

	#cont-parsonalplan .cont-inn h3{
		font-size: 6vw;
		font-weight: bold;
		line-height: 1;
		display: inline-block;
		padding: 4vw 4vw 4vw 0 ;
		background: #fff;
		color:#a9c95a;
		position: relative
	}
	#cont-parsonalplan .cont-inn h3::before{
		content:'';
		position: absolute;
		height:100%;
		width:10vw;
		background: #fff;
		top:0;
		bottom:0;
		left:-10vw;
		margin: auto
	}
	#cont-parsonalplan .cont-inn .box{
		width:100%;
		padding:10vw 0 0 8vw ;
		border-left:1px solid #fff;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: center
	}
	#cont-parsonalplan .cont-inn .box .box-inn{
		width:100%
	}
	#cont-parsonalplan .cont-inn .box:last-child{
		padding-bottom: 10vw
	}
	#cont-parsonalplan .cont-inn .box h4{
		font-size: 26px;
		font-weight: bold;
		line-height: 1;
		position: relative;
	}
	#cont-parsonalplan .cont-inn .box  h4::before{
		content:'';
		position: absolute;
		height:1px;
		width:6vw;
		background: #fff;
		top:0;
		bottom:0;
		left:-8vw;
		margin: auto
	}

	#cont-parsonalplan .cont-inn .normal-txt {
		font-size: 16px;
		line-height: 2;
		padding: 5vw 0
	}


	
	}

/* Contact
-----------------------------------------------------*/
#cont-contact {
    margin: 0 auto 0;
    padding: 0;
	background: url("../images/bg-contact.png") top center no-repeat;
    background-size: cover;
}
#cont-contact .cont-inn1{
	padding-bottom: 175px;
	color:#fff
	
}
#cont-contact .cont-inn1 h3::before{
	background: #fff;
}
#cont-contact .cont-inn1 .normal-txt{
	width:calc(100% - 200px);
}

#cont-contact .cont-inn1 .info{
	margin-top: 60px
}
#cont-contact .cont-inn1 .info .info-name{
	font-size: 22px;
    font-weight: bold;
}
#cont-contact .cont-inn1 .info .info-tel{
	font-family: 'Montserrat', sans-serif;
    font-size: 56px;
    font-weight: 500;
	position: relative;
	padding-left: 46px
}
#cont-contact .cont-inn1 .info .info-tel a{
	color:#fff
}
#cont-contact .cont-inn1 .info .info-tel::before{
	content:'';
	position: absolute;
	top:0;
	bottom:0;
	left:0;
	margin: auto;
	background: url("../images/icon-tel.png") center left no-repeat;
	background-size:contain;
	width:46px;
	height:46px;
}
#cont-contact .cont-inn1 .info .info-time{
	font-size: 18px;
    font-weight: bold;
}

@media (max-width: 768px) {
	#cont-contact {
		margin: 0 auto 0;
		padding: 0;
		background: url("../images/bg-contact.png") top center no-repeat;
		background-size: 120%;
	}
	#cont-contact .cont-inn1{
		padding-bottom: 10vw;
		color:#333

	}
	#cont-contact .cont-inn1 h3{
	 color:#fff
	}

	#cont-contact .cont-inn1 .lead-txt {
		color:#fff
	}
	
	
	
	#cont-contact .cont-inn1 h3::before{
		background: #fff;
	}
	#cont-contact .cont-inn1 .normal-txt{
		margin-top: 28vw;
		width:100%;
	}

	#cont-contact .cont-inn1 .info{
		margin-top: 5vw;
		padding: 3vw;
		background: #e1e8cf;
		border-radius: 8px
	}
	#cont-contact .cont-inn1 .info .info-name{
		font-size: 3.6vw;
		font-weight: bold;
	}
	#cont-contact .cont-inn1 .info .info-tel{
		font-family: 'Montserrat', sans-serif;
		font-size: 10vw;
		font-weight: 500;
		position: relative;
		padding-left: 46px
	}
	#cont-contact .cont-inn1 .info .info-tel a{
		color:#333
	}
	#cont-contact .cont-inn1 .info .info-tel::before{
		content:'';
		position: absolute;
		top:0;
		bottom:0;
		left:0;
		margin: auto;
		background: url("../images/icon-tel_b.png") center left no-repeat;
		background-size:contain;
		width:46px;
		height:46px;
	}
	#cont-contact .cont-inn1 .info .info-time{
		margin-top: 5vw;
		font-size: 3vw;
		font-weight: bold;
	}
   
}






/* footer
-----------------------------------------------------*/
footer {
    width: 100%;
    padding: 0 0 20px;
    background: #fff;
    position: relative;
    z-index: 999;
}
footer .fix-cta{
	position: fixed;
	width:180px;
	height:180px;
	bottom:50px;
	right:50px;
	opacity: 0;
	 -webkit-transition: 0.7s ease-in-out;
    -moz-transition: 0.7s ease-in-out;
    -o-transition: 0.7s ease-in-out;
    transition: 0.7s ease-in-out;
}
footer .fix-cta.is-active{
	opacity: 1
}

footer .inner {
    width: 90%;
    max-width: 1170px;
    margin: 0 auto;
    padding: 70px 0 0;
}
footer .inner ul{
	font-size: 14px;
    line-height: 1;
	display: flex;
	align-items: center;
	margin-bottom: 70px
		
}

footer .inner ul .footer-logo{
	width:200px;
	margin-right: 40px
}
footer .inner ul li+li{
	margin-left: 40px
}
footer .inner .copyright {
    text-align: right;
    color: #c9c9c9;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 500;
}

@media (max-width: 768px) {

	footer {
		width: 100%;
		padding: 0 0 25vw;
		background: #f5f5f5;
		position: relative;
		z-index: 999;
	}
	footer .fix-cta{
		position: fixed;
		background: #333;
		width:100%;
		height:20vw;
		bottom:0;
		right:0;
		opacity: 0;
		 -webkit-transition: 0.7s ease-in-out;
		-moz-transition: 0.7s ease-in-out;
		-o-transition: 0.7s ease-in-out;
		transition: 0.7s ease-in-out;
		z-index: 1000
	}
	footer .fix-cta.is-active{
		opacity: 1
	}

	footer .inner {
		width: 90%;
		max-width: 90%;
		margin: 0 auto;
		padding: 10vw 0 0;
	}
	footer .inner ul{
		font-size: 14px;
		line-height: 1;
		display: flex;
		flex-direction: column;
		margin-bottom: 0

	}
	footer .inner ul li{
		width:100%;
		margin-bottom: 3vw;
	}

	footer .inner ul li+li{
		margin-left: 0
	}
	footer .inner .copyright {
		text-align: left;
		color: #c9c9c9;
		font-family: 'Montserrat', sans-serif;
		font-size: 3vw;
		font-weight: 500;
	}


}


/* スクロールエフェクト
---------------------------------------------------------------------------- */
.is-effect {
    -webkit-transition: 1.0s ease-in-out;
    -moz-transition: 1.0s ease-in-out;
    -o-transition: 1.0s ease-in-out;
    transition: 1.0s ease-in-out;
}

.is-effect-fade {
    opacity: 0;
}
.is-effect-right {
    opacity: 0;
    -webkit-transform: translate(60px, 0);
    -moz-transform: translate(60px, 0);
    -ms-transform: translate(60px, 0);
    -o-transform: translate(60px, 0);
    transform: translate(60px, 0);

    -webkit-transition: 1.0s ease-in-out;
    -moz-transition: 1.0s ease-in-out;
    -o-transition: 1.0s ease-in-out;
    transition: 1.0s ease-in-out;
}
.is-effect-left {
    opacity: 0;
    -webkit-transform: translate(-60px, 0);
    -moz-transform: translate(-60px, 0);
    -ms-transform: translate(-60px, 0);
    -o-transform: translate(-60px, 0);
    transform: translate(-60px, 0);
}
.is-effect-up {
    opacity: 0;
    -webkit-transform: translate(0, 60px);
    -moz-transform: translate(0, 60px);
    -ms-transform: translate(0, 60px);
    -o-transform: translate(0, 60px);
    transform: translate(0, 60px);
}
.is-effect-down {
    opacity: 0;
    -webkit-transform: translate(0, -60px);
    -moz-transform: translate(0, -60px);
    -ms-transform: translate(0, -60px);
    -o-transform: translate(0, -60px);
    transform: translate(0, -60px);
}

.is-effect-on {
    opacity : 1;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
}