
/* header*/

button{
   background-color: transparent;
   border: none;
   cursor: pointer;
   outline: none;
   padding: 0;
   appearance: none;
  }


h1{
  font-size: 50px;
  text-align: center;
  color: #000;
  line-height: 150%;
  letter-spacing: 2px;
  font-feature-settings : "palt";
}

p{
  font-size: 21px;
  line-height: 180%;
  margin: 0 auto;
  letter-spacing: 1px;
  font-feature-settings : "palt";
}

h2{
  font-size: 35px;
  text-align: center;
  line-height: 140%;
  font-feature-settings : "palt";
}

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

h1{
  font-size: 7vw;
  text-align: center;
  color: #000;
  line-height: 160%;
  letter-spacing: 1px;
  font-feature-settings : "palt";
}

p{
  font-size: 4.5vw;
  line-height: 180%;
  padding: 0 2%;
  letter-spacing: 1px;
  font-feature-settings : "palt";
}

h2{
  font-size: 6vw;
  text-align: center;
  line-height: 150%;
  padding: 0 10px;
  font-feature-settings : "palt";
}

}

.subbutton{
	width: 300px;
	max-width: 100%;
	position: fixed;
	right: 2%;
	margin: 0 auto;
	bottom: 3%;
	z-index: 100;
  filter: drop-shadow(0 0 3px rgba(0,0,0,0.4));
}


/*サブボタン*/


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

/*サブボタン*/

.subbutton{
  width: 230px;
	max-width: 100%;
	position: fixed;
	right: 2%;
	margin: 0 auto;
	bottom: 3%;
	z-index: 100;
  filter: drop-shadow(0 0 3px rgba(0,0,0,0.4));
}

}


a.hover_btn img{
   transition:all 0.5s ease;
   }
a:hover.hover_btn img{
   opacity: 0.7;
   filter: alpha(opacity=70);
   }



/* header */

.header{
  background-color: #FEFF8B;
  padding:20px 0  50px 0;
}

.header_main{
  width: 1300px;
  margin: 0 auto -430px;
  max-width: 100%;
}

.cta_btnarea{
  width: 850px;
  margin: 0 auto;
  max-width:100%;
  position: relative;
}

.finger{
  width: 100px;
  max-width: 100%;
  position: absolute;
  bottom: 100px;
  right: 0;
  z-index: 100;
}


.puyon {
  animation: puyon 1.5s linear 0s 1 ;
  animation-iteration-count:infinite;
}
@keyframes puyon {
  0%   { transform: scale(1.0, 1.0) translate(0%, 0%); }
  40%  { transform: scale(0.95, 1.2) translate(0%, -10%); }
  50%  { transform: scale(1.1, 0.9) translate(0%, 5%); }
  60%  { transform: scale(0.95, 1.05) translate(0%, -3%); }
  70%  { transform: scale(1.05, 0.95) translate(0%, 3%); }
  80%  { transform: scale(1.0, 1.0) translate(0%, 0%); }
  100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}

.btn_text{
  width: 700px;
  margin: 0 auto;
  max-width: 100%;
}

.btn_text p{
  font-size: 18px;
}

.header_parts{
  width: 100%;
}

.line_yellow{
  background: linear-gradient(transparent 70%, #FFEE00 50%);
}



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

   .header{
     background-color: #FEFF8B;
     padding:2% 0  15% 0;
   }

   .header_main{
     width: 100%;
     margin: 0 auto -68%;
   }

   .cta_btnarea{
     width: 100%;
     margin: 0 auto;
     position: relative;
   }

   .finger{
     width: 13%;
     position: absolute;
     bottom: 25%;
     right: 1%;
     z-index: 100;
   }

   .btn_text{
     width: 80%;
     margin: 0 auto;
   }

   .btn_text p{
     font-size: 4vw;
   }


   .line_yellow{
     background: linear-gradient(transparent 70%, #FFEE00 50%);
   }

 }

 /* header */


 /* contents_01 */

 .contents_01{
   background: url("../img/contents_bg_pc.png");
   background-position: center;
   background-repeat: no-repeat;
   background-size: cover;
   padding: 0;
 }

 .contents_title_01{
   width: 750px;
   margin: 30px auto 0;
   max-width: 100%;
 }

 .img_01{
   width: 1000px;
   max-width: 100%;
   margin: 50px auto 0;
 }

 .img_02{
   width: 900px;
   max-width: 100%;
   margin: 0 auto;
   padding: 20px 0 40px 0;
 }


.text_img_01{
  width: 800px;
  margin: 0 auto;
  max-width: 100%;
}

.parts_01{
  width: 100%;
  padding-top: 30px;
}



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

  .contents_01{
    background: url("../img/contents_bg_sp.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 0;
  }

  .contents_title_01{
    width: 90%;
    margin: 5% auto 0;
  }

  .img_01{
    width: 100%;
    margin: 5% auto 0;
  }

  .img_02{
    width: 95%;
    margin: 0 auto;
    padding: 2% 0 7% 0;
  }


 .text_img_01{
   width: 88%;
   margin: 0 auto;
 }

 .parts_01{
   width: 100%;
   padding-top: 5%;
 }

}

/* contents_02 */

.contents_02{
  background-color: #fff;
  padding: 0;
}

.contents_title_02{
  width: 800px;
  margin: 30px auto 0;
  max-width: 100%;
}

.img_03{
  width: 900px;
  margin: 50px auto 0;
  max-width: 100%;
}

.text_img_02{
  width: 600px;
  margin: 10px auto 0;
  max-width: 100%;
}

.point_area{
  width: 1000px;
  margin: -40px auto 0;
  max-width: 100%
}

.point_img{
  margin: -20px auto 0;
}

.text_img_03{
  width: 800px;
  margin:70px auto 0;
  max-width: 100%;
  padding-bottom: 30px;
}


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

  .contents_02{
    background-color: #fff;
    padding: 0;
  }

  .contents_title_02{
    width: 88%;
    margin: 5% auto 0;
  }

  .img_03{
    width: 95%;
    margin: 5% auto 0;
  }

  .text_img_02{
    width: 90%;
    margin: -1% auto 0;
  }

  .point_area{
    width: 95%;
    margin: -2% auto 0;
  }

  .point_img{
    margin: -1% auto 0;
  }

  .text_img_03{
    width: 95%;
    margin: 5% auto 0;
    padding-bottom: 5%;
  }

}

/* contents_02 */


/* contents_03 */

.contents_03{
  background-color: #E3F7FF;
  padding: 0;
}

.contents_title_03{
  width: 800px;
  margin: 0 auto ;
  max-width: 100%;
  padding: 40px 0 70px 0;
}

.user_voicearea{
  padding: 0 0 70px 0;
}

.user_voiceox{
  width: 900px;
  margin: 0 auto ;
  max-width: 100%;
  border: solid #212054 5px;
  border-radius: 30px;
  background: url("../img/user_voice_bg.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  filter: drop-shadow(15px 15px 0 rgba(260,160,140,1));
  box-sizing: border-box;
  padding: 30px;
}

.user_name{
  width: 300px;
  margin: -50px auto 0;
  max-width: 100%;

}

.user_textarea{
  width: 900px;
  margin: 0 auto;
  display: flex;
  max-width: 100%;
}

.user_text{
  width: 650px;
}

.user_text p{
  font-size: 19px;
  padding-right: 10px;
}

.user_icon{
  width: 20%;
  height: 20%;
  margin: auto 0;
}

.img_04{
  width: 900px;
  margin: 0 auto;
  max-width: 100%;
  padding-bottom: 50px;
}

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

  .contents_03{
    background-color: #E3F7FF;
    padding: 0;
  }

  .contents_title_03{
    width: 85%;
    margin: 0 auto ;
    padding: 5% 0 7% 0;
  }

  .user_voicearea{
    padding: 0 0 10% 0;
  }

  .user_voiceox{
    width: 95%;
    margin: 0 auto ;
    border: solid #212054 3px;
    border-radius: 20px;
    background: url("../img/user_voice_bg.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    filter: drop-shadow(5px 5px 0 rgba(260,160,140,1));
    box-sizing: border-box;
    padding: 3% 3% 7% 3%;
  }

  .user_name{
    width: 55%;
    margin: -8% auto 0;
  }

  .user_textarea{
    width: 100%;
    margin: 5% auto 0;
    display: flex;
    flex-wrap: wrap;

  }

  .user_text{
    width: 100%;
  }

  .user_text p{
    font-size: 4vw;
    padding-right: 0;
    line-height: 180%;
  }

  .user_icon{
    width: 40%;
    height: 40%;
    margin: 5% auto 0;
  }

  .img_04{
    width: 900px;
    margin: 0 auto;
    max-width: 100%;
    padding-bottom: 50px;
  }



}

/* contents_03 */


  /* cta */


 .btn{
max-width: 95%;
width: 800px;
display: block;
margin: 0 auto;
z-index: 100;
}

.btn_area{
  max-width: 95%;
  width: 1000px;
  display: block;
  margin: -10px auto 0;
  padding: 0 0 10px 0;
}

.form-control{
	 width: 700px;
	 padding: 10px 0;
	 display: block;
	 margin: 20px auto 10px;
	 color: #888;
	 text-align: center;
	 font-size: 21px;
	 max-width: 100%;
   border: solid #888 2px;
   border-radius: 3px;
   z-index: 100;
 }


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

  .btn{
 width: 100%;
 display: block;
 margin: 0 auto;
 z-index: 100;
 }

 .btn_area{
   width: 90%;
   display: block;
   margin: -5% auto 0;
   padding: 1% 0 2% 0;
 }

 .form-control{
    width: 90%;
     padding: 3% 0;
     display: block;
     margin: 3% auto 0;
     color: #888;
     text-align: center;
     font-size: 4vw;
     border: solid #888 2px;
     border-radius: 3px;
  }

}

/* cta */



/* pcで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
@media screen and (max-width:767px){
	.pc { display: none !important; }
	.sp { display: block !important;}
}



/*文字装飾*/

.font_size_40{
	font-size: 40px;
}


.font_size_50{
	font-size: 50px;
}


.font_size_60{
	font-size: 60px;
}

.font_size_90{
	font-size: 90px;
}


.font_size_9sp{
	font-size: 9vw;
}

.font_size_15sp{
	font-size: 15vw;
}

.font_size_7sp{
	font-size: 7vw;
}


.font_size_7sp{
	font-size: 7vw;
}


.font_size_8sp{
	font-size: 8vw;
}

.font_size_5sp{
	font-size: 5vw;
	line-height: 150%;

}

.font_size_4sp{
	font-size: 4vw;
	line-height: 150%;
}


.font_size_6sp{
	font-size: 6vw;
}


.font_size_27{
	font-size: 27px;
}

.font_size_25{
	font-size: 25px;
}

.font_size_21{
	font-size: 21px;
}


.font_size_30{
	font-size: 30px;
}

.font_size_18{
	font-size: 18px;
}


.font_size_15{
	font-size: 15px;
	line-height: 170%;
}

.font_w{
	font-weight: 700;
}

.font_w_900{
	font-weight: 900;
}


.italic{
  font-style: italic;
}

.border_b{
	text-decoration: underline;
}

.border_r{
	text-decoration: underline #E70000;
}

.border_w{
	text-decoration: underline #fff;
}

.border_ol{
	text-decoration: underline #f97417;
}

.border_bl{
	text-decoration: underline #07BEE8;
}

.border_gr{
	text-decoration: underline #008E45;
}

.border_rbl{
	text-decoration: underline;
	color: #00FFFF;
}

.border_y{
	text-decoration: underline #FFEE00;
}

.border_line_orange{
  border-bottom: solid #f97417 5px;
}




.font_red{
	color: #E70000;
}

.font_y{
	color: #FFEE00;
}

.font_bl{
	color: #07BEE8;
}

.font_rbl{
	color: #00FFFF;
}


.font_wh{
	color: #fff;
}

.font_bk{
	color: #000;
}

.font_ol{
	color: #f97417;
}

.font_red02{
	color: #E72D32;
}

.font_gr{
	color: #43C606;
}

.font_bk{
	color: #ED2087;
}


.text_marker{
	background: #ffff66;
}

.text_marker_b{
	background: #00ffff;
}

.text_marker_r{
	background: #E70000;
}

.border_line_pink{
  background: linear-gradient(transparent 50%, #FFE9E9 50%);
}

.border_line_blue{
  background: linear-gradient(transparent 50%, #EBFEFF 50%);
}

.border_line_yellow{
  border-bottom: solid #FFEE00 2px;
}



/*グラデーション*/


/* 拡大・縮小 */

.keyframe5{
	animation-name: anim_sc;
	transform: scale(0.95,0.95);
}
@keyframes anim_sc {
	100% {
		transform: scale(1,1);
	}
}

.animation{
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 0.7s;
}





/*点滅*/

.flash{
	animation: flash 1.5s linear infinite;
}

@keyframes flash {
	0%,100% {
		opacity: 1;
	}

	50% {
		opacity: 0;
	}
}



a{text-decoration: none;}
img{
	max-width:100%;
	display: block;
	margin: 0;
	padding:0;
	vertical-align: bottom;
}

.container{
	width: 100%;
	max-width: 100%;
	position: relative;
	overflow: hidden;
}

/*footer*/
footer.footer_detail{
	padding: 1% 0 ;
	display: block;
	text-align: center;
	background:#000;
}


footer .copyright{
	font-size: 14px;
	text-align: center;
	color: #fff;
}
/* 特商法に基づく表記 */
footer .commers p{
	color:#fff;
	font-size: 14px;
	text-align: center;
	text-decoration: underline;
  letter-spacing: 0;
}
@media screen and (max-width:767px){
	footer .commers p{
		padding: 2% 0;
    letter-spacing: 0;
    font-size: 4vw;
	}
	footer.footer_detail{
		padding: 3% 0 5% 0;
		display: block;
		text-align: center;
		background:#000;
	}

}
@media screen and (min-width:768px){
	footer .commers p{
		padding:0 0 1%;
	}
}


/* fuwafuwaっていうアニメーションはこんなふうだよ！ */
.fuwafuwa {
	-webkit-animation-name: fuwafuwa; /* fuwafuwaっていうアニメーションをしてね！ */
	-webkit-animation-duration: 1.5s;
	-webkit-animation-iteration-count: infinite;
	/*-webkit-animation-direction:alternate;*/
	-webkit-animation-timing-function: ease;
	-moz-animation-name: fuwafuwa;
	-moz-animation-duration: 1.5s;
	-moz-animation-iteration-count: infinite;
	/*-moz-animation-direction:alternate;*/
	-moz-animation-timing-function: ease;
}
@-webkit-keyframes fuwafuwa {
	0% {-webkit-transform:translate(0, 0);}
	50% {-webkit-transform:translate(0, -15px);}
	100% {-webkit-transform:translate(0, 0);}
}
@-moz-keyframes fuwafuwa {
	0% {-moz-transform:translate(0, 0);}
	50% {-moz-transform:translate(0, -15px);}
	100% {-moz-transform:translate(0, 0);}
}

.bound {
	animation: bound 3s infinite;
}
@keyframes bound {
	0% { transform:translateY(0) }
	5% { transform:translateY(0) }
	10% { transform:translateY(0) }
	20% { transform:translateY(-25px) }
	25% { transform:translateY(0) }
	30% { transform:translateY(-15px) }
	50% { transform:translateY(0) }
	100% { transform:translateY(0) }
}

/* フェードインアニメーション */

.fadein{opacity : 0;transform : translate(0, 50px);transition : all 500ms;}
.fadein_right {opacity: 0; transform: translate(50px,0); transition: all 1000ms;}
.fadein_left {opacity: 0;	transform: translate(-50px,0); transition: all 500ms;}
.fadein.scrollin,.fadein_right.scrollin,.fadein_left.scrollin{opacity : 1;transform : translate(0, 0);}

.fadeIn_bottom {
  transform: translate3d(0, -50px, 0);
  transition: 1s;
  opacity: 0;
}

.fadeIn_bottom.animated {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

/*フェードインさせる */

.fadeIn {
	animation: fadeIn 2s ease 0s 1 normal;
	-webkit-animation: fadeIn 2s ease 0s 1 normal;
}

@keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}


/*--- 拡大・縮小 ---*/
.keyframe {
	animation-name: anim_sc;
	transform: scale(0.9, 0.9);
}

@keyframes anim_sc {
	100% {
		transform: scale(1, 1);
	}
}

.animation {
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1s;
}

@keyframes skew {
       0% {transform: skew(0deg, 0deg);}
       5% {transform: skew(5deg, 4.2deg);}
       10% {transform: skew(-4deg, -3deg);}
       15% {transform: skew(3deg, 2.2deg);}
       20% {transform: skew(-2deg, -1.5deg);}
       25% {transform: skew(0.9deg, 0.9deg);}
       30% {transform: skew(-0.6deg, -0.6deg);}
       35% {transform: skew(0.3deg, 0.3deg);}
       40% {transform: skew(-0.2deg, -0.2deg);}
       45% {transform: skew(0.1deg, 0.1deg);}
       50% {transform: skew(0deg, 0deg);}
   }

   @keyframes animScale {
   0% { transform: scale(0.8, 0.8); }
   5% { transform: scale(1.2, 1.2); }
   10% { transform: scale(1, 1); }
   15% { transform: scale(1.1, 1.1); }
   20% { transform: scale(1, 1); }
   100% { transform: scale(1, 1); }
   }


   .btn_animation {
     margin: 0 auto;
     max-width: 100%;
     display: block;
     cursor: pointer;
     border-radius: 500px;
     -webkit-animation: btnwrapanime 11s infinite;
     animation: btnwrapanime 1.5s infinite;
     -webkit-box-shadow: 0 0 0 0 rgba(0, 188, 0, 1);
     box-shadow: 0 0 0 0 rgba(0, 188, 0, 1); }
   @-webkit-keyframes btnwrapanime {
     70% {
       -webkit-box-shadow: 0 0 0 50px rgba(233, 30, 99, 0);
       box-shadow: 0 0 0 50px rgba(233, 30, 99, 0); }
     100% {
       -webkit-box-shadow: 0 0 0 0 rgba(233, 30, 99, 0);
       box-shadow: 0 0 0 0 rgba(233, 30, 99, 0); } }
   @keyframes btnwrapanime {
     70% {
       -webkit-box-shadow: 0 0 0 50px rgba(233, 30, 99, 0);
       box-shadow: 0 0 0 50px rgba(233, 30, 99, 0); }
     100% {
       -webkit-box-shadow: 0 0 0 0 rgba(233, 30, 99, 0);
       box-shadow: 0 0 0 0 rgba(233, 30, 99, 0); } }
     @media (max-width: 750px) {
       @-webkit-keyframes btnwrapanime {
         70% {
           -webkit-box-shadow: 0 0 0 25px rgba(233, 30, 99, 0);
           box-shadow: 0 0 0 25px rgba(233, 30, 99, 0); }
         100% {
           -webkit-box-shadow: 0 0 0 0 rgba(233, 30, 99, 0);
           box-shadow: 0 0 0 0 rgba(233, 30, 99, 0); } }
       @keyframes btnwrapanime {
         70% {
           -webkit-box-shadow: 0 0 0 25px rgba(233, 30, 99, 0);
           box-shadow: 0 0 0 25px rgba(233, 30, 99, 0); }
         100% {
           -webkit-box-shadow: 0 0 0 0 rgba(233, 30, 99, 0);
           box-shadow: 0 0 0 0 rgba(233, 30, 99, 0); } } }
