@charset "utf-8";

/*全体の設定
---------------------------------------------------------------------------*/
@keyframes fadeIn {
  0% {opacity: 0}
  85% {opacity: 0}
  100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
  0% {opacity: 0}
  85% {opacity: 0}
  100% {opacity: 1}
}
html {
  font-size: 62.5%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,form,figure{
  margin: 0;
  padding: 0;
  font:inherit;
}
body {
  color: #333;
  font-size: 1.6rem;
  margin: 0 auto;
  padding: 0;
  font-family: 'M PLUS Rounded 1c','Hiragino Kaku Gothic ProN',"ヒラギノ角ゴ Pro W3","游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic,Arial,Helvetica,Meiryo,'MS PGothic', Sans-serif;
  line-height: 1.5;
  min-width: 1000px;
  -webkit-animation: fadeIn 1s ease 0s 1 normal;
  animation: fadeIn 1s ease 0s  1 normal;
}
ul li{
  list-style: outside none none;
}
img {
  max-width: 100%;
  height: auto;
  border: none;
  vertical-align: bottom;
}
table {
  border-collapse:collapse;
  border-spacing: 0;
}
iframe{
  width: 100%;
}
address{
  font-style: normal;
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}
/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
  text-decoration:none;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  outline: none;
  color:#08C;
}
a:hover {
  opacity:0.85;
  text-decoration: none;
}
/*フォント設定
---------------------------------------------------------------------------*/
.mincho{
  font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3,"ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
/*カラー設定
---------------------------------------------------------------------------*/
:root {
  --main-color: #7CC86A;
  --sub-color1:#FAAF3B;
  --link-text-color: #;
}
/*見出し設定
---------------------------------------------------------------------------*/
.secTtl1{
  border-bottom: 1px solid #FFF;
  color: #FFF;
  font-size: 4.7rem;
  line-height: 1.75;
  font-weight: 700;
  text-align: center;
  margin-bottom: 4rem;
}
.secTtl2{
  border-bottom: 1px solid #B2B2B2;
  font-size: 4.7rem;
  line-height: 1.75;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 7.4rem;
}
.secTtl2 span{
  background-color: #FF3F68;
  border-radius: 50%;
  color: #FFF;
  display: inline-block;
  margin: 0 .2rem;
  width: 6.5rem;
  height: 6.5rem;
  line-height: 6.5rem;
}
.secTtl3{
  border-bottom: 1px solid #08A267;
  font-size: 4.5rem;
  line-height: 1.75;
  font-weight: 700;
  text-align: center;
  margin-bottom: 5.6rem;
}
/*共通部品
---------------------------------------------------------------------------*/
/*Slide
--------------------------------------*/
.slider{
  display: none;
}
.slider.slick-initialized{
  display: block;
}
/*ボタン設定
--------------------------------------*/
button,
input[type="submit"],
input[type="button"]{
  border: none;
  cursor: pointer;
  outline: none;
  -webkit-appearance: none;
}
/*水平線設定
--------------------------------------*/
.hrStyle1{
  border-width: 1px 0 0 0;
  border-style: solid;
  border-color: #000;
  margin-bottom: 20px;
}
/*テーブル設定
--------------------------------------*/

/*カラム設定
---------------------------------------------------------------------------*/
.flexCols {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap : wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flexAlignC{
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
.flexAlignEnd{
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
.flexJC {
  -webkit-box-pack:center;
  -webkit-justify-content:center;
  -ms-flex-pack: center;
  justify-content: center;
}
.flexCC {
  -webkit-box-pack:center;
  -webkit-justify-content:center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
.flexSbet{
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between
}
.flexSbetC{
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
.flexSard {
  -ms-flex-pack: distribute;
  -webkit-justify-content: space-around;
  justify-content: space-around;
}
/*Layout
---------------------------------------------------------------------------*/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  main {
    display: block;
  }
}
/*共通コンテンツ
--------------------------------------*/
.innerWrap{
  width: 900px;
  margin: 0 auto;
}
/*Header
---------------------------------------------------------------------------*/

/*FOOTER
---------------------------------------------------------------------------*/
.gFooter{
  background-color: var(--main-color);
  padding: 2rem 0;
}
.ftrNavi ul li{
  padding: 0 2.5rem;
  border-left: 1px solid #333;
  line-height: 1.2;
}
.ftrNavi ul li:nth-of-type(1){
  border-left: none;
}
.ftrNavi a{
  color: #333;
  font-size: 1.8rem;
  font-weight: 500;
}
/*--------------------------------------------------------------------------
□LP
---------------------------------------------------------------------------*/
/*mainVisual
--------------------------------------*/
.mainVisual{
  border-bottom: 1px solid #B2B2B2;
  width: 100%;
  height: 770px;
  text-align: center;
}
@media (min-width: 1000px) {
  .mainVisual{
    background: url(../images/lp/mv-bg@2x.jpg) no-repeat 50% calc(-4.375rem + ((1vw - 10px) * -55.4348)) / cover;
  }
}
@media (max-width: 999px) {
  .mainVisual{
    background: url(../images/lp/mv-bg@2x.jpg) no-repeat 50% 0 / 100% auto;
  }
}
.mvInr{
  padding: 5.5rem 0 3.4rem;
}
.mv_txtWrap{
  margin-bottom: 2.8rem;
}
.mainVisual p{
  font-size: 2.1rem;
  font-weight: 500;
  line-height: 1.7;
}
.mainVisual p span{
  color: #08A267;
  font-size: 2.6rem;
  font-weight: 700;
  margin: 0 .5rem;
}
/*Main
---------------------------------------------------------------------------*/
/*catch1
----------------------------------------*/
.catch1{
  padding: 3.5rem 0;
  text-align: center;
}
.catch1 h2{
  font-size: 4.3rem;
  font-weight: 700;
}
.catch1 h2 span{
  background: linear-gradient(transparent 55%, #FFFE00 55%);
  padding: 0 0 0 .5rem;
}
.catch1 p{
  color: #FF3F68;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1.25;
}
/*product1
----------------------------------------*/
.product1{
  background-color: var(--main-color);
  padding: 4.4rem 0 3.8rem;
}
.prod_box2col{
  width: 44rem;
  height: auto;
  margin-bottom: 3rem;
}
.prod_box2col:nth-of-type(2){
  margin-left: auto;
}
.prod_box2colInr{
  background-color: #fff;
  padding: .8rem 3rem 3rem;
}
.prod_box1colInr{
  background-color: #fff;
  padding: 1rem 3rem 3rem;
}
.prod_ttl{
  background-color: #4D4D4D;
  color: #FFF;
  font-size: 3rem;
  font-weight: 500;
  text-align: center;
  line-height: 7rem;
}
.prod_imgWrap{
  text-align: center;
  position: relative;
  margin-bottom: 2.5rem;
}
.prod_box1colInr .prod_imgWrap{
  width: 36.8rem;
  text-align: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
  margin-bottom: 0;
}
.prod_box2colInr .prod_imgWrap{
  height: 30.5rem;
}
.prod_img2{
  position: absolute;
  right: -3.5rem;
  bottom: -11.4rem;
}
.prod_price_ttl{
  background-color: #D2DF95;
  color: #08A167;
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.8rem;
  width: 12.4rem;
  text-align: center;
  margin-bottom: 0.2rem;
}
.prod_price1 {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 0.5rem;
}
.prod_price1 span{
  color: #FF3F68;
  font-size: 4rem;
}
.prod_price2{
  font-size: 2rem;
  font-weight: 700;
}
.prod_price2 .prod_price_ttl{
  margin-right: 1rem;
}
.prod_price3 {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.2;
}
.prod_price3_price{
  color: #FF3F68;
  font-size: 4rem;
}
.prod_price3 .prod_price_ttl{
  margin-right: 1rem;
}
.prod_price3 > p{
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
}
.prod_price3 span.prod_price3_price{
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
}
.prod_price3 span.prod_price3_unit{
  -ms-flex-item-align: end;
  align-self: flex-end;
  margin-bottom: 0.6rem;
}
.prod_date_table {
  border: 1px solid #808080;
  width: 100%;
  margin: 1rem 0;
}
.prod_date_table th{
  background-color: #08A167;
  border-bottom: 1px dashed #FFF;
  color: #FFF;
  text-align: left;
  width: 17.2rem;
  font-weight: 400;
  padding: .8rem .8rem;
}
.prod_date_table tr:last-of-type th{
  border-bottom: none;
}
.prod_date_table th span{
  font-size: 1.4rem;
}
.prod_date_table td{
  border-bottom: 1px solid #808080;
  font-weight: 400;
  padding: .8rem .8rem;
}
.prod_date_table tr:last-of-type td{
  border-bottom: none;
}
.prod_note1{
  padding-left: 1em;
  text-indent: -1em;
  margin-bottom: 0.8rem;
}
.prod_list li:before{
  content: "●";
  color:#D2DF95;
}
.prod_list span.listMark{
   color:#D2DF95;
   margin-left: 1rem;
 }
 /*catch2
----------------------------------------*/
.catch2{
  background: url(../images/lp/catch2-bg@2x.jpg) no-repeat 50% 50% / cover;
  text-align: center;
  padding: 5.4rem 0;
}
 /*feature
----------------------------------------*/
.feature{
  background: url(../images/lp/feature-bg@2x.jpg) no-repeat 50% 50% / cover;
  padding: 11.5rem 0 9.5rem;
}
.featInr{
  position: relative;
}
.featImg1{
  position: absolute;
  top: -18rem;
  left: 4rem;
}
.featImg2{
  position: absolute;
  top: -18rem;
  right: 5rem;
}
.featImg3{
  position: absolute;
  top: 2.5rem;
  right: 0.6rem;
}
.featImg4{
  position: absolute;
  bottom: -5rem;
  left: -2.5rem;
}
.featImg5{
  position: absolute;
  bottom: -5.5rem;
  right: -0.4rem;
}
.featListWrap{
  background-color: #fff;
  border: 1.5rem solid #D9EB93;
  border-radius: 1rem;
  padding: 1rem 4rem;
  width: 740px;
  margin: 0 auto;
}
.featList{
  counter-reset:number;
}
.featList li{
  border-bottom: 1px dashed #707070;
  font-size: 2.7rem;
  font-weight: 700;
  line-height: 1.4;
  padding: 1.6rem 0 1.6rem 5.6rem;
  position: relative;
}
.featList li:last-of-type{
  border-bottom: none;
}
.featList li:before{
  background-color: #D9EB93;
  border-radius: 50%;
  width: 3.3rem;
  height: 3.3rem;
  line-height: 3.3rem;
  font-size: 2.3rem;
  color: #08A167;
  counter-increment: number;
  content: counter(number);
  position: absolute;
  left: 1rem;
  top: 1.8rem;
  text-align: center;
}
.featList li span.pink{
  color: #FF3F68;
}
.featList li span.fz22{
  font-size: 2.2rem;
  font-weight: 500;
}
/*service
----------------------------------------*/
.service{
  padding: 9.5rem 0 0;
}
.serv_box{
  background-color: #FAAF3B;
  border-radius: 1rem;
  text-align: center;
  width: 28rem;
  padding: 0 1rem 1rem;
  margin-bottom: 3rem;
}
.serv_box h5{
  margin-top: -3rem;
}
.serv_imgWrap{
  margin: 1.8rem 0 1rem;
}
.serv_desc{
  color: #FFF;
  font-size: 2rem;
  font-weight: 400;
}
.serv_desc span{
  font-size: 1.7rem;
  display: inline-block;
  margin-top: 0.6rem;
}
/*flow
----------------------------------------*/
.flow{
  background-color: var(--main-color);
  padding: 7rem 0 9rem;
}
.flow_box{
  width: 100%;
  height: 13rem;
  padding: 0 3.6rem;
  position: relative;
}
.flow_box:nth-of-type(odd){
  background-color: #D8EA92;
}
.flow_box:nth-of-type(even){
  background-color: #FFF;
}
.flow_box:nth-of-type(1):before{
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.8rem 2.25rem 0 2.25rem;
  border-color: #D8EA92 transparent transparent transparent;
  position: absolute;
  bottom: -2.7rem;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 1;
}
.flow_box:nth-of-type(2):before{
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.8rem 2.25rem 0 2.25rem;
  border-color: #FFF transparent transparent transparent;
  position: absolute;
  bottom: -2.25rem;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 1;
}
.flow_box:nth-of-type(3){
  height: 15rem;
}
.flow_box:nth-of-type(3) .flow_box_num{
  position: relative;
  top:-1rem;
}
.flow_box_num{
  background-color: #08A167;
  color: #FFEF20;
  font-size: 2.5rem;
  text-align: center;
  width: 12rem;
  height: 4rem;
  line-height: 4rem;
  border-radius: 2rem;
}
.flow_box_num span{
  font-size: 3.5rem;
  font-weight: 700;
  vertical-align: text-bottom;
}
.flow_box_desc{
  font-size: 2.7rem;
  font-weight: 700;
  padding-left: 1rem;
}
.flow_box_desc span:not(.flow_box_note){
  font-size: 2.2rem;
  font-weight: 500;
}
.flow_box_note{
  font-size: 1.8rem;
  font-weight: 400;
  display: block;
}
.flow_box_img1{
  position: absolute;
  right: -2.6rem;
}
.flow_box_img2{
  position: absolute;
  right: 3.5rem;
  bottom: 0;
}
/*faq
----------------------------------------*/
.faq{
  background: url(../images/lp/faq-bg@2x.jpg) no-repeat 50% 50% / cover;
  padding: 8rem 0 10rem;
}
.faq h2{
  text-align: center;
}
.faq h2 span{
  border-radius: 2rem 2rem 0 0;
  background-color: #FAAF3B;
  color: #FFF;
  font-size: 4.5rem;
  font-weight: 700;
  display: inline-block;
  line-height: 9rem;
  height: 9rem;
  width: 48rem;
}
.faqInrWrap{
  background-color: #fff;
  border: .4rem solid #FAAF3B;
  border-radius: 1rem;
  padding: 1rem 4rem 4.8rem;
}
.faq dl{
  padding: 1.6rem 0;
  border-bottom: 1px dashed #989898;
}
.faq dt{
  background: url(../images/lp/faq-q@2x.png) no-repeat 0 50% / 7.8rem auto;
  color: #08A267;
  font-size: 2.5rem;
  font-weight: 700;
  padding: 0 0 0 8.4rem;
  min-height: 7.8rem;
  display: flex;
  align-items: center;
}
.faq dd{
  background: url(../images/lp/faq-a@2x.png) no-repeat 0 50% / 7.8rem auto;
  font-size: 2rem;
  font-weight: 400;
  padding: 0 0 0 8.4rem;
  min-height: 7.8rem;
  display: flex;
  align-items: center;
}
.faq dl:last-of-type{
  border-bottom: none;
}
.faq_tableWrap{
  padding-left: 7.5rem;
}
.faq_tableWrap h5{
  font-size: 2.3rem;
  font-weight: 500;
  margin-bottom: .2rem;
}
.faq_table{
  border: 2px solid #808080;
  font-size: 2.2rem;
  table-layout: fixed;
  width: 100%;
}
.faq_table th{
  background-color: #FEEED5;
  font-weight: 500;
  text-align: left;
  width: 24.2rem;
  border: 1px solid #808080;
  padding: 1.2rem 1.8rem;
}
.faq_table td{
  font-weight: 400;
  width: 24.2rem;
  border: 1px solid #808080;
  padding: 1.2rem 2.4rem;
}
/*offer
----------------------------------------*/
.offer{
  background-color: #D8EA92;
  padding: 7rem 0 7.5rem;
  position: relative;
}
.offer:before{
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7.2rem 5.6rem 0 5.6rem;
  border-color: #D8EA92 transparent transparent transparent;
  position: absolute;
  bottom: -7.2rem;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 1;
}
/*フォーム設定
--------------------------------------*/
.formType1 input:not([type="date"]):not([type="radio"]):not([type="checkbox"]):not([type="button"]):not([type="submit"]){
  background: #FFF;
  border: none;
  font-size: 1.8rem;
  outline: none;
  padding: 0 2rem;
  width: 100%;
  height: 7rem;
}
.formType1 input[type="date"]{
  background: #FFF;
  border: none;
  font-size: 1.8rem;
  outline: none;
  padding: 0 2rem;
  width: 100%;
  height: 7rem;
}
.formType1 textarea{
  background: #FFF;
  border: none;
  font-size: 1.8rem;
  outline: none;
  padding: 2rem;
  width: 100%;
  resize: vertical;
}
.formType1 input::placeholder {
  color: #999999;
}
.formType1 input[type="radio"],
.formType1 input[type="checkbox"] {
  cursor: pointer;
  width: 2rem;
  height: 2rem;
  vertical-align: middle;
  margin-bottom: 0.4rem;
  margin-right: 0.6rem;
}
.formType1 input[type="date"]{
  cursor: pointer;
}
.ft1_item{
  margin-bottom: 3.6rem;
}
.ft1_ttl{
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 0.4rem;
}
.radioGroup1,
.checkGroup1{
  background-color: #fff;
  padding: 2rem 1.4rem;
}
.radioGroup1 label,
.checkGroup1 label {
  cursor: pointer;
  margin-right: 3rem;
  display: inline-block;
  font-size: 1.8rem;
}
.checkGroup1 label {
  padding: .25rem 0;
}
.reqMark{
  color: #FF3F68;
}
.submit-btnWrap{
  text-align: center;
}
.btn-submit{
  background: #08A267;
  color: #fff;
  display: inline-block;
  font-size: 3rem;
  font-weight: 500;
  width: 40rem;
  height: 8rem;
  line-height: 8rem;
  position: relative;
  padding-right: 2.5rem;
  margin: 0 1rem;
}
.btn-submit:after{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 5.8rem;
  width: 1.5rem;
  height: 1.5rem;
  border-top: 3px solid #FFF;
  border-right: 3px solid #FFF;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.offerInput_nameWrap > div:nth-of-type(1){
 -ms-flex: 0 0 53.2rem;
 flex: 0 0 53.2rem;
}
.offerInput_nameWrap > div:nth-of-type(2){
 -ms-flex: 0 0 35.4rem;
 flex: 0 0 35.4rem;
 margin-left: auto;
}
.ft1_zipWrap > input{
 -ms-flex: 0 0 28rem;
 flex: 0 0 28rem;
}
.ft1_zipWrap span{
  margin: 0 .8rem;
  margin-bottom: 3rem;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
}
.offerInput_addrWrap input{
  margin-bottom: 3rem;
}
.offerInput_dateWrap:last-of-type{
  margin-top: 2rem;
}
.offerInput_dateWrap .radioGroup1{
  margin-left: 2rem;
}
.offer_note{
  font-size: 2.7rem;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
  margin-top: 6rem;
}
.date_placeholder1,
.date_placeholder2{
  display: none;
}
/*product2
----------------------------------------*/
.product2{
  background-color: var(--main-color);
  padding: 10rem 0 5rem;
}
.product2 .secTtl1{
  letter-spacing: 0.05em;
}
.product2 .prod_ttl{
  padding-top: 1.5rem;
  line-height: 5.5rem;
}
.product2 .prod_box2colInr{
  padding: 1.5rem 3rem;
}
.product2 .prod_box2colInr .prod_imgWrap{
  height: 24.5rem;
  margin-bottom: 1rem;
}
.product2 rt {
  font-size: 1.3rem;
}
.product2 .prod_price_ttl{
  line-height: 1.2;
  width: 9rem;
  padding: 0.3rem 0;
  margin-right: .5rem;
}
.product2 .prod_price3_unit:last-of-type{
  margin-left: 0.8rem;
}
/*ect
---------------------------------------------------------------------------*/
.floatL { float: left; }
.floatR { float: right; }
.alignL {text-align: left;}
.alignR {text-align: right;}
.alignCR {text-align: center;}

.pcNone{display: none!important;}
.pcNone-inl{display: none!important;}
.spNone{display: block!important;}
.spNone-inl{display: inline!important;}

.red{color: #FF3F68;}
.fw700{font-weight: 700;}
.textNone {text-indent: 100%;white-space: nowrap;overflow: hidden;line-height: 0;}

.fz15{font-size: 1.5rem;}