/*LP:*/
.lpH1 {
	font-size: 2.6rem;
	line-height: 3.5rem;
	font-weight: bold;
	color: #1d5526;
}

.slideBoxWrap {
	background: url(/image/site/lp_bg_01.jpg) no-repeat right 50%;
	background-size: 96%;
	text-align: center;
	position: relative;
}

.slide {
  position: relative;
	max-width: 528px;
  width: 100%;
  height: 652px;
  overflow: hidden;
	margin: auto !important;
	box-shadow:5px 5px 10px 0px rgba(0,0,0,0.1);
}

@media screen and (max-width: 600px) {
	.slide {
		width: 350px;
		height: 432px;
	}
}

@media screen and (max-width: 480px) {
	.slide {
		width: 300px;
		height: 370px;
	}
}

@keyframes slideAnime{
	0% { left: 100%  }
   1% { left: 0     }
  32% { left: 0     }
  33% { left: -100% }
 100% { left: -100% }
}

@-webkit-keyframes slideAnime {
	0% { left: 100%  }
   1% { left: 0     }
  32% { left: 0     }
  33% { left: -100% }
 100% { left: -100% }
}

.slide img:nth-of-type(1) {
	animation-delay: 0s;
	-webkit-animation-delay: 0s;
}
.slide img:nth-of-type(2) {
	animation-delay: 4s;
	-webkit-animation-delay: 4s;
}
.slide img:nth-of-type(3) {
	animation-delay: 8s;
	-webkit-animation-delay: 8s;
}

.slide img {
	display: block;
  position: absolute;
	left: 100%;
  width: 100%;
  height: auto;
  animation: slideAnime 12s ease infinite;
  -webkit-animation: slideAnime 12s ease infinite;
}

.lpH1 {
	position: absolute;
	bottom: -20px;
  left: 20px;
	text-align: left;
	max-width: 768px;
	padding: 0 10px 0 0;
	font-size: 3.6rem;
	line-height: 4.5rem;
	text-shadow:1px 1px 0px #ffffff;
}

@media screen and (max-width: 480px) {
	.lpH1 {
		font-size: 2.8rem;
		line-height: 3.8rem;
		bottom: -30px;
	}
}

.siteName {
	font-size: 9.4vw;
	line-height: normal;
	letter-spacing: -0.3rem;
	color: #1d7726;
  	background: -webkit-linear-gradient(0deg, #1d7726, #b4fa00);
	background-clip: text;
  	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-weight: bold;
	margin: 40px 15px 30px 15px;
	text-align: left;
}

@media screen and (min-width: 769px) {
	.siteName { font-size: 7.6rem; }
}

.trialTermBox { text-align: center; }

.trialTermBox p {
	font-size: 2rem;
	line-height: 3rem;
	font-weight: bold;
}

.trialTermBox .trialTerm { color: #13c713; }

.trialTermBox p a { font-size: 1.6rem; }

.lpVideoBox {
	position: relative;
	max-width: 96%;
	margin: 0 auto 210px auto;
	text-align: center;
}

@media screen and (max-width: 480px) {
	.lpVideoBox { margin: 0 auto 250px auto; }
}

.lpVideoBox video {
	max-width: 100%;
	height: auto;
}

.videoCaptionBox {
	background: rgb(5,140,255);
	background: linear-gradient(0deg, rgba(5,140,255,0.9) 0%, rgba(23,191,55,0.9) 100%);
	position: absolute;
	bottom: -150px;
	left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
	width: 90%;
	color: #ffffff;
	padding: 30px 10px;
}

@media screen and (max-width: 480px) {
	.videoCaptionBox { bottom: -200px; }
}

.videoCaptionBox p {
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 2.4rem;
}

.videoCaptionBtn a {
	display: block;
	color: #ffffff;
	border: solid 2px #ffffff;
	width: 50%;
	height: 70px;
	line-height: 70px;
	vertical-align: middle;
	border-radius: 35px;
	margin: 30px auto 0 auto;
	font-size: 2.4rem;
	font-weight: bold;
	color: #ffffff;
}

.videoCaptionBtn a:visited, .videoCaptionBtn a:hover { color: #ffffff !important; }

@media screen and (max-width: 480px) {
	.videoCaptionBox a {
		font-size: 1.8rem;
		height: 60px;
		line-height: 60px;
	}
}

section { margin: 0 0 60px 0; }

#login h2 {
	width: 70%;
	margin: 0 auto 20px auto;
	text-align: center;
	font-weight: bold;
	font-size: 3rem;
	color: #3fa366;
}

h2 span {
	border-top: solid 2px #3fa366;
	display: block;
	padding: 10px 0 0 0;
	margin: 10px auto 0 auto;
	font-size: 1.4rem;
	color: #404040;
}

.contentIn {
	padding: 0 10px 30px 10px;
	text-align: center;
	font-weight: bold;
}

.colorBgCont {
	background-color: rgb(255,255,255);
	background-image: linear-gradient(0deg, rgba(5,140,255,1) 0%, rgba(23,191,55,1) 92%, rgba(255,255,255,1) 92%, rgba(255,255,255,1) 100%);
}

.colorBgCont2 {
	background: #f2f2f2;
	padding: 30px 0;
}

.leftImg {
	text-align: left;
	margin: 0 10px 30px 0;
}

.rightImg {
	text-align: right;
	margin: 0 0 30px 10px;
}

.leftImg img, .rightImg img {
	max-width: 90%;
	height: auto;
}

.contTxt {
	font-size: 1.6rem;
	line-height: 2.6rem;
	font-weight: bold;
	padding: 20px 0 0 0;
}

.colorBgCont .contTxt { color: #ffffff; }

.colorBgCont .contTxt span { color: #F5D83F; }

.contTxt span { color: #3fa366 }

.contImg {
	width: 96%;
	margin: 0 auto 20px auto;
}

.colorBgCont .contImg {
	padding: 20px 0;
}

.signUpBtnSingle a {
	display: block;
	width: 50%;
	height: 80px;
	line-height: 80px;
	vertical-align: middle;
	border-radius: 40px;
	font-weight: bold;
	font-size: 2.4rem;
	background: rgb(10,201,68);
	background: linear-gradient(120deg, rgba(10,201,68,1) 0%, rgba(56,201,244,1) 100%);
	color: #ffffff;
	margin: 30px auto 0 auto;
	text-align: center;
	color: #ffffff;
}

.signUpBtnSingle a:visited, .signUpBtnSingle a:hover { color: #ffffff !important; }

@media screen and (max-width: 480px) {
	.signUpBtnSingle a {
		font-size: 2rem;
		height: 60px;
		line-height: 60px;
		width: 60%;
	}
}

.contImg { position: relative; }

.imgCaptionBox {
	background: #ffffff;
	position: absolute;
	bottom: -60px;
	left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
	width: 90%;
	padding: 30px 10px;
}

.imgCaptionBox p {
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 2.4rem;
}

.imgCaptionBox p span { color: #3fa366; }

.howToBox {
	background: #f2f2f2;
	padding: 20px 10px;
	margin: 0 0 30px 0;
}

.howToBox dt span {
	color: #3fa366;
	display: block;
	padding: 10px 0 20px 0;
	font-size: 2rem;
	font-weight: bold;
}

.howToBox dt img {
	max-width: 140px;
	height: auto;
}

@media screen and (max-width: 480px) {
	.howToBox dt img { width: 70px; }
}

.howToBox dd {
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 2.4rem;
}

.mainBottomTxt {
	font-size: 2rem;
	line-height: 3rem;
	color: #3fa366;
	margin: 0 0 30px 0;
	font-weight: bold;
	text-align: center;
}

.btnBox li a {
	display: block;
	width: 70%;
	margin: 0 auto 20px auto;
	border-radius: 30px;
	height: 60px;
	line-height: 60px;
	text-align: center;
	font-weight: bold;
	font-size: 2.4rem;
}

.btnBox .purchasedBtn a { border: solid 2px #178ebf; }

.footerCopyright {
	background: #3fa366;
	text-align: center;
	color: #ffffff;
	font-size: 1.4rem;
	padding: 20px 10px;
}

/* スクロール時のフェードイン */
.fadeInUp {
  opacity : 0;
  transition: 1s;
  -webkit-transition: 1s;
}

.delayItem {
  opacity: 0;
}

.delayItem1 {
  -webkit-animation: example 0.5s ease 0.5s 1 forwards;
  animation: example 0.5s ease 0.5s 1 forwards;
}

.delayItem2 {
	animation-delay:1.5s;
	opacity:0;
  animation-name:delay2;
  animation-duration:1s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

@keyframes delay2 {
0% {
 opacity: 0;
 transform: translateY(50px);
}
  100%{
    opacity: 1;
    transform: translateY(0);
  }
}

.delayItem3 {
  animation-delay:2s;
	opacity:0;
  animation-name:delay3;
  animation-duration:1s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

@keyframes delay3 {
0% {
 opacity: 0;
 transform: translateX(-50px);
}
  100%{
    opacity: 1;
    transform: translateX(0);
  }
}

.delayItem4 {
	animation-delay:2.5s;
	opacity:0;
  animation-name:delay4;
  animation-duration:1s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

@keyframes delay4 {
0% {
 opacity: 0;
 transform: translateX(-50px);
}
  100%{
    opacity: 1;
    transform: translateX(0);
  }
}

.delayItem5 {
	animation-delay:3s;
	opacity:0;
  animation-name:delay5;
  animation-duration:1s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

@keyframes delay5 {
0% {
 opacity: 0;
 transform: translateY(50px);
}
  100%{
    opacity: 1;
    transform: translateX(0);
  }
}

@-webkit-keyframes example {
  100% {
    opacity: 1;
  }
}
@keyframes example {
  100% {
    opacity: 1;
  }
}

/* ---- 下層ページ --------------------------------*/
#contents_sub{
	max-width:768px;
	margin:0 auto;
	/*padding-top: 15px;*/
}

.contents_sub{
	max-width:768px;
	/*width:96%;*/
	margin:0 auto;
}

.infoPage p {
	line-height: 2.4rem;
	width: 96%;
	margin: 0 auto;
}

#contents_sub .img_linenone,#contents .img_linenone{
	line-height:0;
	padding:0;
	margin:0 auto;
	display:block;
}

#contents_sub h3 {
	background: rgb(5,140,255);
	background: linear-gradient(0deg, rgba(5,140,255,0.9) 0%, rgba(23,191,55,0.9) 100%);
	color:#ffffff;
	padding:8px 2.5%;
	font-size:1.8rem;
	margin:20px auto;
	font-weight: bold;
}

#contents_sub h5{/* --救出用-- */
	background-color:#f4f7eb;
	color:#1a1a1a;
	padding:8px 2.5%;
	font-size:1.4rem;
	margin:25px auto;
}

#contents_sub h6.otameshi{
	padding: .5em .75em;
	margin:20px auto;
	background: -webkit-linear-gradient(top, #b6dfde 0%, #66c4ec 100%);
	background: linear-gradient(to bottom, #b6dfde 0%, #66c4ec 100%);
	color: #fff;
	text-align:center;
	font-size:1.8rem;
	font-weight:bold;
	text-shadow: 1px 2px 2px rgba(0, 0, 0, .5);
	width: 95%;
    border-radius: 10px;
}
#contents_sub h6.otameshi span.kiiro{
	color:#ffff99;
}
#contents_sub h6.otameshi span.chui{
	font-size:1.6rem;
}

#contents_sub ol{
	margin-left: 48px;
	margin-right:2.5%;
	font-size:1.4rem;
}

#contents_sub .top_back,#contents .top_back{ margin: 0 0 0 10px; }

#contents_sub .top_back a,#contents .top_back a{
	text-decoration: none;
	text-shadow: none;
	font-weight: normal;
}

.twoContetnsSide {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}

.twoContetnsSide div:first-child {
	margin: 0 20px 0 0;
}

.twoContetnsSide div p {
	width: auto;
}

/* ---- 未ログイン時トップ --------------------------------*/
h1.top_image{
	position:relative;
	z-index:1;
}

/*斜め背景*/
.top_line_inner {
	box-sizing: boder-box;
	width: 100%;
	max-width: 768px;
	height: 100%;
	margin: 0 auto;
	padding: 20% 0px;
	color: #fff;
	text-align: center;
	position:relative;
}
.top_line_inner img{
	margin:0;
	line-height:100%;
	display:block;
}

/*斜めカラー*/
.top_line.otameshi:before{
	background-color:#ff8a5e;
}
.top_line.green:before{
	background-color:#a6d82f;
}
.top_line.blue:before{
	background-color:#66c4ec;
	margin-top: -3%;
}
.top_line.blue{
	padding: 15% 0 16.5% 0;
}
.top_line.blue .top_line_inner{
	padding: 0% 0 5% 0;
}
.top_line.pink:before{
	background-color:#ff97b1;
	margin-top: -3%;
}
.top_line.pink .top_line_inner{
	padding: 5% 0;
}

/*動画風スライド*/
.top_slide{
}
.top_slide li{
	margin:0 10px;
	display:none;
}
.top_slide li img{
	width:200px;
}
.top_slide_bk{
	background-color:#000;
	padding:10px 0;
}
@media screen and (min-width:768px) {
	.top_slide li img{
		width:auto;
	}
}

/*追尾フッタ*/
.top_foot_btn{
	position:fixed;
	bottom:5px;
	right:5px;
	width:100px;
	display:none;
}
@media screen and (min-width:768px) {
	.top_foot_btn{
		bottom:20px;
		right:20px;
		width:200px;
	}
}


a .top_otameshi{
	background-color:#ff8a5e;
	padding:20px 1%;
	text-align:center;
	text-decoration: none!important;
}
a .top_otameshi h5{
	font-size:2.5rem;
	color:#fff;
	margin-bottom:15px;
}
a .top_otameshi h6{
	font-size:1.3rem;
	letter-spacing: 0.15rem;
	color:#fff;
}
a .top_otameshi h6 span{
	font-weight:bold;
	color:#FBFF9C;
}

/* ---- contact --------------------------------*/
.contact_text{
	padding:0 2.5%;
}
.contact_text p{
	font-size:0.75rem;
	font-size:1.3rem;
  margin-bottom:1.8rem;
}
.contact_text h4{
	position: relative;
	border:1px solid #666;
	border-radius: 8px;
	padding:10px 2.5%;
	margin-bottom:10px;
	font-size:1.5rem;
	background-color:#fff;
}
.contact_text h4::before,
.contact_text h4::after {
	position: absolute;
	top: 100%;
	left: 30px;
	content: '';
	height: 0;
	width: 0;
	border: 9px solid transparent;
}
.contact_text h4::before {
	border-top: 11px solid #666;
}
.contact_text h4::after {
	margin-top: -2px;
	border-top: 11px solid #fff;
}

.contact_text h5{
	border-bottom:1px solid #888;
	border-top:1px solid #888;
	padding: 3px 4px!important;
	margin: 0 5px!important;
	font-size: 1.4rem!important;
	font-weight:normal!important;
}

.contact_text .red{
	color:#EC4F82;
	border:1px dashed #EC4F82;
	padding:10px 2.5%!important;
	margin:20px auto;
	line-height:160%;
	text-align:left;
}


.contact_text .box{
	border: orange 1px solid;
	padding:20px!important;
	margin:30px auto;
	color:#1a1a1a;
}

/* ---- regist --------------------------------*/

.regist_box h4.regist_point{
	font-size:1.35rem;
	color:#333;
	width:95%;
	margin:0 auto;
	letter-spacing: 0.1rem;
}
.regist_box h4.regist_point span.line{
	background:rgba(0, 0, 0, 0) linear-gradient(transparent 50%, #fffbaf 0%) repeat scroll 0 0;
}

.regist_box li.regist_box_list span.point{
	margin-left:10px;
	background-color:#ffb4a1;
	padding:3px 8px;
	color:#fff;
	text-shadow: 0 0 0;
	font-size:1.15rem;
	letter-spacing: 0.09rem;
	border-radius: 4px;
}
.regist_box li.regist_box_list:nth-child(1) span.point{
	background-color:#ffb4a1;
}
.regist_box li.regist_box_list:nth-child(2) span.point{
	background-color:#ffa577;
}
.regist_box li.regist_box_list:nth-child(3) span.point{
	background-color:#ff8177;
}
.regist_box li.regist_box_list:nth-child(4) span.point{
	background-color:#ff6377;
}
.regist_box li.regist_box_list:nth-child(5){
	padding-bottom:20px;
}
.regist_box .regist_img{
	width:95%;
	margin:15px auto;
	text-align:center;
}
.regist_box .regist_img .regist_img_list{
	display:block!important;
	width: 30%;
	margin: 1.65%;
	float: left;
    height: auto;
	cursor: pointer!important;
}
.regist_box .regist_img img{
	width:100%;
	height:auto;
	display:block;
}
/*.regist_box .regist_img.point1200 img,.regist_box .regist_img.point2400 img{
	width:24%;
	margin:0.5%;
    float: left;
    height: auto;
}
.regist_box .regist_img.point1200 img,.regist_box .regist_img.point2400 img{
	width:24%;
	margin:0.5%;
    float: left;
    height: auto;
}
@media screen and (max-width:768px) {
    .regist_box .regist_img.point1200 img,.regist_box .regist_img.point2400 img{
	width: 30%;
    margin: 1.65%;
	}
	.regist_box .regist_img.point1200 img,.regist_box .regist_img.point2400 img{
	width: 30%;
	margin: 1.65%;
	}
}*/

.regist_box li.regist_box_list:nth-child(5) .regist_img {
	text-align:center;
}
.regist_box li.regist_box_list:nth-child(5) .regist_img img{
	width:80%;
	margin:0 auto;
	float:inherit;
}
.regist_box li.regist_box_list .regist_img .login_paybtn img{
	width:100%;
}
.regist_box sup{
	font-size: 1.1rem;
	text-align: left;
	line-height: 1.8rem;
	display: block;
	margin-top: 15px;
	color:#aaa;
}
#contents_sub p.regist_what{
	margin:0 auto;
	padding:0 2.5%;
	text-align:right;
	font-size:1rem;
	letter-spacing: 0rem !important;
	line-height: 1.5rem !important;
}
#contents_sub p.regist_what a{
	color:#aaa;
	letter-spacing: 0rem !important;
	line-height: 1.5rem !important;
}
#contents_sub p.otameshi_point{
	color: #FA9573;
    text-align: center;
    border: 1px solid #FA9573;
    width: 95%!important;
    margin: 0 auto;
    font-weight: bold;
    padding: 5px!important;
    margin-bottom: 10px;
	font-size:1.4rem!important;
	letter-spacing: 0.1rem;
}
#contents_sub p.otameshi_point_position{
	text-align:right!important;
	padding:5px 0!important;
	margin-bottom: -15px!important;
}

/* ---- ログインページ --------------------------------*/
.login_btn{
	text-align:center;
}
.login_btn a{
	display:block;
}
.login_btn img{
	margin:5px auto 0 auto;
	width:250px;
	height:auto;
	cursor:pointer;
}


/* ---- 決済ログインボタン --------------------------------*/
.login_paybtn{
	margin:0 auto;
	padding:0;
}
.login_paybtn li{
	width:100%;
	height:auto;
	text-align:center;
	margin-bottom: 10px;
}
.login_paybtn li a{
	padding:0;
}
.login_paybtn li a:hover{
	padding:0;
}
.login_paybtn li img{
	border:none!important;
	padding:0!important;
	border-radius: 0px!important;
	width:250px;
	height:auto;
}

/* メールフォーム　ポップアップ */
#mail_form_panel.mail_form_regist .ui-btn{
	margin-top:1.3em;
}
#mail_form_panel label{
	margin-bottom:0;
	line-height:150%;
	font-size: 1.2rem;
}
#mail_form_panel #mail_error,#mail_form_panel #mail_regist_error,#mail_remind_form_panel #mail_error2{
	font-size: 1.2rem;
	line-height:150%;
	color:#B82629;
	margin:10px auto;
}
#mail_form_panel .ui-input-text{
	margin-top:0px;
}
#mail_form_panel.dialog-dialog{
	padding-top:80px;
}

#mail_form_remind{
	line-height:150%;
	font-size:1.2rem;
	cursor:pointer;
}

#mail_remind_form_panel{
	line-height:150%;
	padding-top:80px;
}

#mail_remind_form_panel label{
	font-size:1.2rem;
}

.mail_form_pass{
	padding:0 20px;
}
.mail_form_pass #mail_form_panel label{
	font-size:1.3rem;
	margin-top:20px;
}

.mail_form_pass #mail_form_panel .ui-btn{
	margin-top:1.3em;
}


/* ---- login complete --------------------------------*/
ul.niretsu {
    width:80%;
    margin:0 auto;
	list-style:none;
	padding:0.3em 0 1em 0;
}
ul.niretsu li{
	width:46%;
	float:left;
	margin-left:8%;
}
ul.niretsu li:nth-last-child(2n){
	margin-left:0%;
}
ul.niretsu li img{
	width:100%;
	height:auto;
}


/* ---- メンテナンス --------------------------------*/
.maintenance{
	background-color: #fff3ec;
	top: 0;
	padding-top: 33px;
	height:100vh;
	text-align:center;
	color:#666;
}

.maintenance h2{
	padding: 10px 0px;
	border: #ffdada 3px;
	border-style: dotted none;
	font-size: 1.1rem;
	background-color: #fff;
	margin:40px auto;
	text-align:center;
}



/* ---- copyright --------------------------------*/
copyright{
	display:block;
	text-align:center;
	padding:20px 0;
	font-size:1.6rem;
	font-weight:normal;
	color:#666;
}

/* ---- 調整 --------------------------------*/
#contents{
	padding-bottom:0!important;
}

.view_btn{
	width:80%;
	margin:15px auto;
	display:block;
	padding:5px 0;
	text-align:center;
	font-size:1.8rem;
	text-decoration: none;
	background-color:#febf02;
	border:1px solid #febf02;
	color:#fff!important;
	border-radius: 3px;
}
@media screen and (min-width:768px) {
    .view_btn{
		padding:15px 0;
		font-size:2.2rem;
	}
}
.view_btn:hover{
	background-color:#fff;
	color:#febf02!important;
}
