@font-face{font-family:"IonIcons";src:url("//code.ionicframework.com/ionicons/2.0.1/fonts/ionicons.eot?v=2.0.1");src:url("//code.ionicframework.com/ionicons/2.0.1/fonts/ionicons.eot?v=2.0.1#iefix") format("embedded-opentype"),url("//code.ionicframework.com/ionicons/2.0.1/fonts/ionicons.ttf?v=2.0.1") format("truetype"),url("//code.ionicframework.com/ionicons/2.0.1/fonts/ionicons.woff?v=2.0.1") format("woff"),url("//code.ionicframework.com/ionicons/2.0.1/fonts/ionicons.svg?v=2.0.1#Ionicons") format("svg");font-weight:normal;font-style:normal}

body {
	overflow: hidden;
	background-color: #fff;
	font-family: 'Noto Sans JP','Yu Gothic','YuGothic',sans-serif;
}

.pcv {
	display: block;
}
.spv {
	display: none;
}
header{
	position: fixed;
	background-color: rgba(255,255,255,1);
	width: 100%;
	height: 50px;
	margin: 0 auto;
	z-index: 9;
	transition: all 0.3s linear;
	display: block;
}
.logo_min img{
	width: 150px;
	height: auto;
	float: left;
	padding:10px 0 0 20px ;
}
.main {
	width: 100%;
	height: 100vh;
	margin: 0 auto;
	z-index: 1;
	background: url("../images/kv_bg.jpg") no-repeat left;
	background-size:cover;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	overflow: hidden;

	background-position: center;
	opacity: 0;position: relative;
}
.container01 {
	width: 100%;
	margin: 0 auto;
	position: relative;
	transition:1.0s;
	opacity: 0;
	padding: 30px 0 0 0;
}
.container {
	width: 1280px;
	margin: 0 auto;
	position: relative;
	transition:1.0s;
	opacity: 0;
	padding: 30px 0 0 0;
}
.container02 {
	width: 680px;
	margin: 0 auto;
	position: relative;
	transition:1.0s;
	opacity: 0;
	padding: 30px 0 0 0;
}
.container.active,.container01.active,.container02.active{
	padding: 0 0 0 0;
	opacity: 1;
}
.logo {
	position: absolute;
	top:35%;
	left:5%;
	display: block;
	width: 225px;
	height: 108px;
	opacity: 0;
	z-index: 2;
}
.logo_sp {
	display: none;
}
.main p.copy_pc{
	position: absolute;
	top:48%;
	left:20%;
	text-align: center;
	display: block;
	line-height: 1.7;
	font-size: 1.5rem;
	opacity: 0;
	z-index: 2;
}
.main p.copy_sp{
	display: none;
}
.wa{
	position: absolute;
	top:25%;
	left:20%;
	text-align: center;
	display: block;
	line-height: 1.7;
	font-size: 1.5rem;
	z-index: 0;
}
.cta{
	position: absolute;
	top:62%;
	left:18%;
	text-align: center;
	display: block;
	line-height: 1.7;
	font-size: 1.5rem;
	z-index: 2;
}
.performance{
	clear:both;
	width: 100%;
	height:674px;
	margin: 0 auto;
	text-align: center;
	background: url("../images/performance_bg.jpg") no-repeat center;
	background-size:cover;
	overflow: hidden;
	background-attachment: fixed;
}
.performance h2{
	width: 100%;
	padding:170px 0 0 0 ;
}
.number_wrap {
	padding:50px 0 25px 0;
	float: left;
}
.num_manzoku_wrap {
	width:360px;
	float: left;
	text-align: center;
	padding:25px 0 40px 0;
	margin:0 35px 0 65px;
	background-color:#fff;
	box-shadow:0px 0px 9px 0px #c1c1c1;
}
.num_manzoku {
	font-size: 5rem!important;
	line-height:1;
	color:#24ae78;
}
.num_manzoku span.par{
	font-size: 1.2rem!important;
	color:#000;
}
.manzoku {
	font-size: 1.2rem!important;
	color:#000;
	clear: both;
	display: block;
	text-align: center;
}
.num_nenkan_wrap {
	width:360px;
	float: left;
	text-align: center;
	padding:25px 0 40px 0;
	margin:0 35px 0 0;
	background-color:#fff;
	box-shadow:0px 0px 9px 0px #c1c1c1;
}
.num_nenkan {
	font-size: 5rem!important;
	line-height:1;
	color:#24ae78;
}
.num_nenkan span.par{
	font-size: 1.2rem!important;
	color:#000;
}
.nenkan {
	font-size: 1.2rem!important;
	color:#000;
	clear: both;
	display: block;
	text-align: center;
	width:100%;
}
.num_ruikei_wrap {
	width:360px;
	float: left;
	text-align: center;
	padding:25px 0 40px 0;
	margin:0 0 0 0;
	background-color:#fff;
	box-shadow:0px 0px 9px 0px #c1c1c1;
}
.num_ruikei {
	font-size: 5rem!important;
	line-height:1;
	color:#24ae78;
}
.num_ruikei span.par{
	font-size: 1.2rem!important;
	color:#000;
}
.ruikei {
	font-size: 1.2rem!important;
	color:#000;
	clear: both;
	display: block;
	text-align: center;
	width:100%;
}
.concept{
	width: 100%;
	height: 800px;
	margin: 0 auto;
	background: url("../images/concept_bg.jpg") no-repeat bottom;
}
.concept h2{
	width: 100%;
	text-align: center;
	padding:160px 0 0 0 ;
}
.concept span{
	background:linear-gradient(transparent 60%, #ff6 60%);
	font-weight:bold;
}
.concept p{
	width: 55%;
	padding:50px 0 0 5% ;
	display: block;
	line-height: 2;
	font-size: 1.2rem;
	text-align: left;
	color:#000;
	letter-spacing: 1px;
}


.feature{
	width: 100%;
	margin: 0 auto  150px auto;
}
.feature h2{
	width: 100%;
	line-height: 1.7;
	font-size: .95rem;
	color:#000;
	text-align: center;
	letter-spacing: 2px;
	padding:160px 0 0 0 ;
}
.feature p{
	width: 100%;
	padding:50px 0 50px 0 ;
	display: block;
	line-height: 2;
	font-size: 1.2rem;
	text-align: center;
	color:#000;
	letter-spacing: 1px;
}
.feature01,.feature03{
	width: 100%;
	clear: both;
	height: 404px;
}
.feature01_right {
	width: 50%;
	float: left;
	height: 420px;
	background: url(../images/feature01.jpg) no-repeat left top;
	background-size:cover;
	display: block;
}
.feature03_right {
	width: 50%;
	float: left;
	height: 420px;
	background: url(../images/feature03.jpg) no-repeat left top;
	background-size:cover;
	display: block;
}
.feature01_left,.feature03_left {
	width: 41%;
	float: left;
	height: 420px;
	padding:0 4% 0 5% ;
	background: url(../images/feature_bg.jpg) no-repeat left top;
	background-size:cover;
	display: block;
}
.feature01_left h3,.feature03_left h3{
	color: #126b37;
	padding:80px 0 15px 0;
	font-size: 2rem;
	line-height: 1.3;
	font-weight:bold;
}
.feature01_left h3 img,.feature03_left h3 img{
	width: 136px;
	height: 26px;
}
.feature01_left p,.feature03_left p{
	width: 100%;
	color: #000;
	padding:0 0 10px 0;
	font-size: 1.1rem;
	line-height: 2;
	text-align: left;
}
.feature02 {
	width: 100%;
	clear: both;
	height: 404px;
}
.feature02_left_pc{
	width: 50%;
	float: left;
	height: 404px;
	background: url(../images/feature02.jpg) no-repeat right top;
	background-size:cover;
	display: block;
}
.feature02_left_sp{
	display: none;
}
.feature02_right {
	width: 40%;
	float: left;
	height: 404px;
	background: url(../images/feature_bg.jpg) no-repeat left top;
	background-size:cover;
	display: block;
	padding:0 5% ;
}
.feature02_right h3{
	color: #126b37;
	padding:100px 0 15px 0;
	font-size: 2rem;
	line-height: 1.3;
	font-weight:bold;
}
.feature02_right h3 img{
	width: 136px;
	height: 26px;
}
.feature02_right p{
	width: 100%;
	color: #000;
	padding:0 0 10px 0;
	font-size: 1.1rem;
	line-height: 2;
	text-align: left;
}
.support{
	width: 100%;
	height: 790px;
	margin: 50px auto;
	background-color:#24ae78;
	position: relative;
}
.container_su {
	width: 100%;
	height: 890px;
	margin: 0 auto 0 auto;
	position: absolute;
	top:-70px;
	background: url("../images/support_bg.png") no-repeat center;
	z-index: 0;
}
.support h2{
	width: 100%;
	text-align: center;
	padding:160px 0 0 0 ;
}
.support h3{
	width: 100%;
	line-height: 1.7;
	font-size: 1.5rem;
	color:#fff;
	text-align: center;
	letter-spacing: 2px;
	padding:40px 0 0 0 ;
	font-weight: bold;
}
.support p{
	width: 100%;
	padding:20px 0 0 0;
	display: block;
	line-height: 2;
	font-size: 1.2rem;
	text-align: center;
	color:#fff;
	letter-spacing: 1px;
}
.support .lm{
	width: 100%;
	text-align: center;
	padding:40px 0 0 0 ;
}

.flow{
	width: 100%;
	margin: 50px auto 250px auto;
	position: relative;
}
.flow h2{
	width: 100%;
	text-align: center;
	padding:160px 0 40px 0 ;
}
.support p{
	width: 100%;
	padding:20px 0 0 0;
	display: block;
	line-height: 2;
	font-size: 1.2rem;
	text-align: center;
	color:#fff;
	letter-spacing: 1px;
}
.step_pc{
	width: 100%;
	text-align: center;
	padding:40px 0 0 0 ;
	display: block;
}
.step_sp{
	display: none;
}
.step{
	width: 100%;
	text-align: center;
	padding:40px 0 0 0 ;
}
p.step01{
	position: absolute;
	top:640px;
	left:40px;
	width: 280px;
	display: block;
	line-height: 1.8;
	font-size: 1rem;
	text-align: left;
	color:#000;
	letter-spacing: 1px;
}
p.step02{
	position: absolute;
	top:640px;
	left:350px;
	width: 280px;
	display: block;
	line-height: 1.8;
	font-size: 1rem;
	text-align: left;
	color:#000;
	letter-spacing: 1px;
}
p.step03{
	position: absolute;
	top:640px;
	left:655px;
	width: 280px;
	display: block;
	line-height: 1.8;
	font-size: 1rem;
	text-align: left;
	color:#000;
	letter-spacing: 1px;
}
p.step04{
	position: absolute;
	top:640px;
	left:965px;
	width: 280px;
	display: block;
	line-height: 1.8;
	font-size: 1rem;
	text-align: left;
	color:#000;
	letter-spacing: 1px;
}

.button {
	z-index: 9999999999;
  position: relative;
  display: inline-block;
  padding: .6em 7em;
  border: 2px solid #fff;
  color: #fff;
  text-align: center;
  text-decoration: none;
  transition: .3s;
	overflow: hidden;
	font-family:'Noto Sans JP','Yu Gothic','YuGothic',sans-serif;

}
.button:hover {
  color: #000;
}

.button::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  content: '';
  width: 120%;
  height: 100%;
  background: #fff;
  transform-origin: right top;
  transform: skewX(-30deg) scale(0, 1);
  transition: transform .3s;
}
.button:hover::before {
  transform-origin: left top;
  transform: skewX(-30deg) scale(1, 1);
}


.image-btn01 {
    width:300px;
	background-color:#24ae78;
    height: 70px;
	border-radius: 100px;
	cursor: pointer;
	color:#fff;
    margin:15px 0 0 0;
	font-size:1rem;
	font-weight: bold;
}

.contact{
	width: 100%;
	padding: 20px 0 100px 0;
	text-align: center;
}
.contact h2{
	width: 100%;
	text-align: center;
	padding:80px 0 50px 0 ;
}
.contact p{
	padding:0 0 40px 0;
	display: block;
	line-height: 1.7;
	font-size: 1rem;
	color:#000;
	letter-spacing: 1px;
	width: 700px;
}
table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
}
tr.short {
	width: 100%;
	float: left;
	padding: 0 0 0 0;
	margin:0 0 30px 0;
}
tr.short_center {
	width: 100%;
	float: left;
	padding: 0 0 0 0;
	margin:0 0 30px 0;
}
td.short_center {
	width: 100%;
	float: left;
	padding: 0 0 0 0;
	margin:10px 0 30px 0;
}
span.small02 {
	font-size:0.85em;
}
table th {
	font-size: 1rem;
	font-weight: normal;
	line-height: 1.5;
	letter-spacing: 1px;
	padding: 0 0 10px 0;
	text-align: left;
	display: block;
	width: 100%;
}
table td {
	font-size: 14px;
	line-height: 1.1;
	letter-spacing: 1px;
	padding: 0 0;
	text-align: left;
	display: block;
	width: 100%;
}

input[type="text"]{
	font-size: 1rem;
	letter-spacing: 1px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	text-align: left;
	height: 38px;
    padding: 0px 10px;
    border:1px solid #ddd;
    color:#000;
    width: 100%;
	box-sizing: border-box;
}
tr.short01 {
	width: 640px;
	float: left;
	margin:0 0 30px 0;
}
input[type="text"]:focus, textarea:focus {
	border: 1px solid #666;
}
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="submit"]::focus, input[type="button"]::focus {
	outline-offset: -2px;
}
textarea{
	padding: 5px 10px;
	font-size: 1rem;
	letter-spacing: 1px;
	color: #000;
	border: solid 1px #ccc;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 103%;
	height: 200px;
}

.red{
	color:#9a0000;
	border:1px solid #9a0000;
	padding:2px 3px;
	font-size: .8rem;
}

.select-wrap {
    position: relative;
}
.select-wrap:before {
    z-index: 1;
    position: absolute;
    right: 15px;
    top: 0;
    content: "\f123";
    font-family: "IonIcons";
    line-height: 43px;
    color: #7F878C;
    pointer-events: none;
}

select{
    outline:none;
    -moz-appearance: none;
    text-indent: 0.01px;
    text-overflow: '';
    background: none transparent;
    vertical-align: middle;
    font-size: inherit;
    color: inherit;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    height: 40px;
    padding: 0px 10px;
    border:1px solid #ddd;
    color:#000;
    width: 100%;
	background-color: #fff;
	float: left;
	box-sizing: border-box;
}
select option{
  background-color: #fff;
  color: #333;
}
select::-ms-expand {
  display: none;
}
select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}
.checkbox-input{
  display: none;
}
.checkbox-parts{
  padding-left: 20px;
  position:relative;
  margin-right: 20px;
}
.checkbox-parts::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 12px;
  height: 12px;
  border: 1px solid #000;
  border-radius: 2px;
}
.checkbox-input:checked + .checkbox-parts{
  color: #000;
}
.checkbox-input:checked + .checkbox-parts::after{
  content: "";
  display: block;
  position: absolute;
  top: -5px;
  left: 5px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #000;
  border-right: 3px solid #000;
}

.thanks{
	width: 100%;
	margin: 0 auto 100px auto;
	text-align: center;
}
.thanks h2{
	width: 100%;
	line-height: 1.7;
	font-size: 1.4rem;
	color:#000;
	letter-spacing: 2px;
	padding:40px 0 30px 0 ;
	font-weight: bold;
}
.thanks p{
	padding:0 0 0 0 ;
	display: block;
	line-height: 2;
	font-size: .85rem;
	color:#000;
	letter-spacing: 1px;
}
.logo01 {
	padding:10% 0 0 0 ;
	ext-align: center;
	width: 100%;
}
.logo01 img{
	max-width: 300px;
	height:auto;
}


/*----------footer------------------------------------------------------------------*/

#footer {
	width: 100%;
	text-align: center;
	font-size:.7rem;
	padding: 0 0 10px 0;
}
.footer {
	width: 100%;
	text-align: center;
	float: left;
	position: relative;
	z-index: 0;
	padding: 20px 0 20px 0;
}
.footer p {
	font-size: 7pt;
	padding: 0 0 0 0;
	color: #999;
}

.switch {
	visibility: hidden;
}
.go-top {
	position: fixed; /*固定表示*/
	bottom: 1em;
	right: 1em;
	border-radius: 100%;
	text-decoration: none;
	border:1px #000 solid;
	padding: 1em;
	display: none; /*通常は非表示に*/
	height: 20px;
	width: 20px;
	z-index: 800;
	background-color:#fff;
	opacity: 0.7;
}
.go-top img {
	height: 20px;
	width: 20px;
}
table.kakunin {
	margin: 0 0 50px 0;
	float: left;
}
table.kakunin tr {
	font-size: .9rem;
	font-weight: normal;
	line-height: 1.5;
	letter-spacing: 1px;
	padding: 15px 0;
	text-align: left;
	display: block;
	float: left;
	width:100%!important;
	border-bottom:1px solid #cacaca;
	box-sizing: border-box;
}
table.kakunin th {
	font-size: .9rem;
	font-weight: normal;
	line-height: 1.5;
	letter-spacing: 1px;
	padding: 0 0 0 0;
	text-align: left;
	display: block;
	float: left;
	width:25%!important;
}
table.kakunin td {
	font-size: .9rem;
	line-height: 1.5;
	letter-spacing: 1px;
	padding: 0 0 0 0;
	text-align: left;
	display: block;
	float: left;
	width:75%!important;
}
.final_point{
	width: 100%;
	height: 0px;
	margin: 0 auto;
	text-align: center;
	background-size:cover;
	overflow: hidden;
}
.entry{
	width: 100%;
	padding: 0 0 0 0;
	text-align: center;
}
.entry h2{
	width: 100%;
	text-align: center;
	padding:130px 0 30px 0 ;
}
.entry p{
	padding:0 0 40px 0;
	display: block;
	line-height: 1.7;
	font-size: 1rem;
	color:#000;
	letter-spacing: 1px;
	width: 700px;
}


.privacy{
	width: 1024px;
	height: auto;
	margin: 0 auto 100px auto;
}

.privacy h2{
	width: 100%;
	text-align: center;
	padding:80px 0 50px 0 ;
}
.privacy h3{
	width: 100%;
	padding:35px 0 5px 0;
	display: block;
	line-height: 1.8;
	font-size: 1.5rem;
	text-align: left;
	font-weight: bold;
	color:#126b37;
	letter-spacing: 1px;
	border-bottom:1px solid #126b37;
	margin-bottom:10px;
}
.privacy ol{
	padding:0 0 0 0 ;
	display: block;
	line-height: 2;
  font-size: 12pt;
	color:#000;
	letter-spacing: 1px;

}

.box26 {
    position: relative;
    margin: 2em 10% 2em 10%;
    padding: 0.5em 1em;
    border: solid 3px #95ccff;
    border-radius: 8px;
}
.box26 .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #95ccff;
    font-weight: bold;
}
.box26 p {
    margin: 0;
    padding: 0;
}
