@charset "utf-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

* {
	margin: 0;
	padding: 0;
}

*, *:before, *:after {
  box-sizing: border-box;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

th {
	font-weight: normal;
	text-align: left;
}

img {
 	max-width: 100%;
 	height: auto;
	border: 0;
	vertical-align: bottom;
}
ul {
	list-style: none;
}

h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: normal;
}

/* utility */
.clearfix:after {
	content: ".";
	display: block;
	height: 0px;
	clear: both;
	visibility: hidden;
	font-size: 0;/*added for FF*/
}
.clearfix {
	display: inline-block;
	width: 100%;
}
/* Hides from IE-mac \*/
* html .clearfix {
	height: 1%;
}
.clearfix {
	display: block;
}
/* End hide from IE-mac */

.floatL {
	float: left;
}
.floatR {
	float: right;
}
.clearBoth {
	clear: both;
}
.taL {
	text-align: left;
}
.taC {
	text-align: center;
}
.taR {
	text-align: right;
}

.mt10 {
	margin-top: 10px;
}
.mt20 {
	margin-top: 20px;
}
.mt30 {
	margin-top: 30px;
}
.mt40 {
	margin-top: 40px;
}
.mt50 {
	margin-top: 50px;
}
.mt60 {
	margin-top: 60px;
}
.mt70 {
	margin-top: 70px;
}

.bold{
	font-weight: bold;
}

strong{
	font-weight: bold;
}

.clear_after:after {
	content: ".";
	display: block;
	height: 0px;
	clear: both;
	visibility: hidden;
	font-size: 0;/*added for FF*/
}

.center{
	text-align: center;
}

figure{
	text-align: center;
}
figure img{
	margin-bottom: 20px;
}

/*
*
* common
*
*/

body {
	font-family: -apple-system, "Noto Sans JP","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, sans-serif;
	font-size: 14px;
	line-height: 1.5;
	color: #000;
	background: #cddc39;
}

header, footer, nav, section, article, aside, main {
	display: block;
}

.loading{
	background:#cddc39;
	width: 100%;
	height: 100%;
	position: fixed;
}

.loader,
.loader:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}
.loader {
  margin: 200px auto;
  font-size: 5px;
  position: relative;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(255, 255, 255, 0.2);
  border-right: 1.1em solid rgba(255, 255, 255, 0.2);
  border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);
  border-left: 1.1em solid #ffffff;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}


.wrapper{
	background: #f7f8ed;
	opacity: 0;
}

.section:nth-child(odd){
	background: #cddc39;
}

.section:nth-child(odd):after{
	content: '';
	display: block;
	background: url(../img/sec_end_gr.png) no-repeat center #f7f8ed;
	height: 59px;
}

.section:nth-child(even):after{
	content: '';
	display: block;
	background: url(../img/sec_end_wh.png) no-repeat center #cddc39;
	height: 59px;
}

/*.bg_gr{
	background: #cddc39;
}

.bg_gr:after{
	content: '';
	display: block;
	background: url(../img/sec_end_gr.png) no-repeat center #f7f8ed;
	height: 59px;
}

.bg_wh:after{
	content: '';
	display: block;
	background: url(../img/sec_end_wh.png) no-repeat center #cddc39;
	height: 59px;
}*/

.shuei_l{
	font-family: "秀英丸ゴシック L","DNPShueiMGoStd-L";
}

.shuei_b{
	font-family: "秀英丸ゴシック B","DNPShueiMGoStd-B";
}

.inner p{
	line-height: 2em;
}

.inner p:not(:last-child){
	margin-bottom:30px;
}

.inner {
  transition: opacity 0.7s;
  -moz-transition: opacity 0.7s;
  -webkit-transition: opacity 0.7s;
  -o-transition: opacity 0.7s;
  transition: transform 0.7s;
  -moz-transition: transform 0.7s;
  -webkit-transition: transform 0.7s;
  -o-transition: transform 0.7s;
}

h3 span{
	display: inline-block;
}

.btn{
	background:#cddc39;
	border-radius: 100px;
	color: #000;
	display: block;
	font-family: "秀英丸ゴシック B","DNPShueiMGoStd-B";
	font-size: 24px;
	text-align:center;
	text-decoration:none; 
	margin: 0 auto;
	padding:1em 1.5em;
	max-width: 700px;
	width: 100%;
	transition: .2s;
}

.btn:hover{
	background:#d9e848;
}

.btn span{
	display: inline-block;
}

/*
*
* header
*
*/
header{
	display: flex;
	margin-bottom: 100px;
	padding-top: 40px;
}

h1{
	margin-right: auto; 
}

/*
*
* section01
*
*/

.catch{
	font-family: "秀英丸ゴシック B","DNPShueiMGoStd-B";
	font-size: 48px;
	text-align: center;
	margin-bottom: 100px;
}

.text{
	background:url(../img/sec01_img1.png) no-repeat bottom right;
	background-size: 142px;
	padding: 40px 0 0 20px;
}

/*
*
* section02
*
*/

#section02 h2 {
	font-family: "秀英丸ゴシック L","DNPShueiMGoStd-L";
	font-size: 24px; 
	text-align: center;
	margin: 60px 0;
}


#section02 h2 span:first-child{
	font-family: "秀英丸ゴシック B","DNPShueiMGoStd-B";
	font-size: 36px;
}

#section02 h2 span:first-child:after{
	content: '';
	display: block;
	background: #e7f420;
	height: 26px;
	margin-top: -20px;
}

#section02 .list{
	display: flex;
	justify-content: space-around;
}

#section02 li{
	width: 225px;
	text-align: center;
}

#section02 li:not(:last-child){
	margin-bottom: 30px;
}

#section02 li img{
	margin-bottom: 25px;
}


/*
*
* section03
*
*/

#section03 h2{
	text-align:center;
}

#section03 h2 img{
	width: 929px;
}

#section03 .inner{
	margin-bottom: 60px;
}

.loopSliderWrap {
    top: 0;
    left: 0;
    height: 200px;
    overflow: hidden;
    position: absolute;
}
 
.loopSlider {
    margin: 0 auto 80px;
    width: 100%;
    height: 200px;
    text-align: left;
    position: relative;
    overflow: hidden;
}
 
.loopSlider ul {
    height: 200px;
    float: left;
    overflow: hidden;
}
 
.loopSlider ul li {
    width: 306px;
    height: 200px;
    float: left;
    display: inline;
    overflow: hidden;
}

.loopSliderWrap:after {
    content: "";
    display: none;
    clear: none;
}


/*
*
* section04
*
*/

#section04{
	padding-top: 50px;
}

#section04 .point_list{
	margin-bottom: 60px;
}

#section04 .point_list> div:not(:last-child){
	border-bottom: 2px solid #e7e8d8;
	margin-bottom: 60px;
	padding-bottom:60px;
}

#section04 .point_list> div:nth-child(odd) .zigzag{
	flex-direction: row-reverse;
}

#section04 .list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#section04 .sec04_img4 li{
	text-align: center;
}

#section04 .sec04_img4 img{
	width: 100%;
	max-width: 400px;
}

#section04 li{
	width: 50%;
}

/*#section04 li:nth-of-type(2){
	margin-bottom: 30px;
}*/

#section04 li img{
	margin-bottom: 30px;
}

#section04 li div{
	margin: 0 40px;
}

#section04 li h3{
	font-family: "秀英丸ゴシック B","DNPShueiMGoStd-B";
	font-size: 30px;
	margin-bottom: 30px;
}

#section04 p > span{
	display: inline-block;
}

/*
*
* section05
*
*/

#section05 h2{
	font-family: "秀英丸ゴシック B","DNPShueiMGoStd-B";
	font-size: 30px;
	text-align: center;
	margin-bottom: 60px;
	padding-top: 60px;
}

.movie_area{
	width: 720px;
	height: 405px;
	margin: 0 auto;
}

.movie_area iframe{
	width: 100%;
	height: 100%;
}

/*
*
* section06
*
*/

#section06 h2{
	font-family: "秀英丸ゴシック B","DNPShueiMGoStd-B";
	font-size: 30px;
	text-align: center;
	margin-bottom: 60px;
	padding-top: 60px;
}
.price_bg{
	background-color: #f4f4f4;
	padding-top: 60px;
}
.price_sub {
	font-size: 18px;
	text-align: center;
	font-weight: bold;
}

.price_box {
	border-radius: 10px;
	width: 310px;
	color: #ffffff;
	text-align: center;
	padding: 40px 0 0;
	box-sizing: border-box;
	height: 810px;
}

.price_yellow_green {
	background-color: #afc328;
}

.price_light_green {
	background-color: #79c442;
}

.price_dark_green {
	background-color: #45bb45;
}

.price_box h3 {
	font-size: 24px;
	line-height: 1.1;
	margin-bottom: 30px;
}

.price_box_sub {
	font-size: 17px;
}

.price_month {
	background-color: rgba(255,255,255,0.15);
	font-size: 16px;
	padding: 25px 0;
}

.price_month span {
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
}

.price_list {
	font-size: 15px;
	color: #000000;
}

.price_list li {
	padding: 30px 0;
	position: relative;
	box-sizing: border-box;
	height: 82px;
}

.price_yellow_green .price_list li:nth-child(odd) {
	background-color: #f8fbe9;
}
.price_light_green .price_list li:nth-child(odd) {
	background-color: #efffe4;
}
.price_dark_green .price_list li:nth-child(odd) {
	background-color: #e9f9e9;
}
.price_list li:nth-child(even) {
	background-color: #ffffff;
}

.uchikeshi {
	text-decoration: line-through;
	color: #a8a7a7;
}

.font_red {
	color: #be0000;
}

.icon_check:after {
	content: url(../img/icon_check.png);
	display: block;
	position: absolute;
	top: 30px;
	right: 30px;
}

.icon_none:after {
	content: url(../img/icon_none.png);
	display: block;
	position: absolute;
	top: 30px;
	right: 30px;
}

.price_list .price_list_long {
	padding: 19px 0;
}

.price_type {
	font-size: 18px;
	padding-top: 35px;
}
.price_type:after {
	content: '';
	display: block;
	width: 90px;
	height: 25px;
	border-bottom: 1px solid rgba(255,255,255,0.5);
	margin: 0 auto;
}

.price_comment {
	padding: 0 25px;
	text-align: left;
	line-height: 1.8;
	margin-top: 25px;
}

.price_box_parent {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}

.cap{
	font-size: .85em;
	margin-bottom: 80px !important;
}

.special{
	position: relative;
}

.special_inner{
	background: #fff;
	border: 1px solid #000;	
	text-align: center;
	padding: 70px 0;
	position: relative;
}

.special_inner .title{
	position: relative;
	width: 334px;
	margin: 0 auto 30px;
}

.special_inner .title .ribbon{
	position: absolute;
	top: -100px;
	left: -20px;
}

.float {
  animation: float 2s linear infinite;
  transform-origin: 50% 50%;
}

@keyframes float {
  0% { transform: translateY(0) }
  50% { transform: translateY(-8px) }
  100% { transform: translateY(0) }
}

.cracker li{
	position: absolute;
	z-index: 3;
}

.cracker li:nth-of-type(1){
	top:-3%;
	left: -3%;
}

.cracker li:nth-of-type(2){
	top:3%;
	right: -3%;
}

.cracker li:nth-of-type(3){
	bottom:-3%;
	left: 5%;
}

.cracker li:nth-of-type(4){
	bottom:3%;
	right: 5%;
}



/*
*
* section07
*
*/
#section07 .inner{
	margin-bottom: 0;
}

#section07:after{
	content: none;
}

#section07 h2{
	font-family: "秀英丸ゴシック L","DNPShueiMGoStd-L";
	font-size: 24px;
	text-align: center;
	margin-bottom: 80px;
	padding-top: 80px;
}

#section07 h2 span{
	font-family: "秀英丸ゴシック B","DNPShueiMGoStd-B";
	font-size: 36px;
}

#section07 h3{
	font-family: "秀英丸ゴシック B","DNPShueiMGoStd-B";
	font-size: 30px;
	text-align: center;
	margin-bottom:30px; 
}

#section07 .list{
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px;
}

#section07 .list li{
	background: #fff;
	text-align: center;
	width: 460px;
	padding: 40px;
}

#section07 .list .form img{
	width: 303px;
	margin-bottom: 20px;
}

#section07 .list .tel{
	background: url(../img/sec07_img2.png) no-repeat bottom right 30px #fff;
	background-size: 142px;
}

#section07 .list .tel a{
	display: block;
	width: 373px;
	margin: 0 auto 30px;
}

#section07 .list .tel p{
	text-align: left;
}

#section07 .btn{
	background:#fbffbc;
}

#section07 .btn:hover{
	background:#fff;
}

/*
*
* form
*
*/
#form{
	width: 100%;
}

#form iframe{
	width: 100%;
	min-height: 1800px;
}

/*
*
* footer
*
*/
footer {
	background:#fff;
	font-size: 12px;
	text-align: center;
	padding: 20px 10px;
}

#page-top {
    position: fixed;
    /*bottom: 20px;*/
	bottom:-70px;
    right: 20px;
	z-index:999;
}

#move-page-top {
	display: block;
	width: 50px;
	height: 50px;
	cursor: pointer;
}