@charset "utf-8";

html{}
  body{
    overflow-x: hidden;
    /*font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, sans-serif;*/
    font-size: 16px;
    font-weight: normal;
    color: rgba(62,62,62,1);
    /*line-height: 1.7;*/
    -webkit-text-size-adjust: 100%;
    position: relative;
    }
    a{color: rgba(35,24,21,1);}

.mainvisual{
  margin-top:150px;
  position:relative;
  overflow: hidden;
}
  .mainvisual-ttl{}

@media screen and (max-width: 750px) {
.mainvisual{
  margin-top:110px;
}
}

.intro{
  padding-top: 100px;
  padding-right: 20px;
  padding-bottom: 55px;
  padding-left: 20px;
  background-image: url(../images/intro-fig-02.jpg);
  position: relative;
  }
  .intro::before{
    content: "";
    width: 100%;
    height: 100px;
    background-image: url(../images/intro-fig-01.png);
    background-position: center top;
    background-repeat: repeat-x;
    background-size: 120px;
    position: absolute;
    top: 0;
    left: 0;
    }
  .intro-summary{
    margin-bottom: 1em;
    font-size: 20px;
    font-weight: bold;
    line-height: 2;
    text-align: center;
    }
    .intro-summary-maker{
      font-weight: bold;
      background:linear-gradient(transparent 60%, rgba(255,245,70,1) 60%);
      }
    .intro-emp-green{
      font-size: 1.25em;
      font-weight: bold;
      color: rgba(45,182,84,1);
      }
    .intro-emp-red{
      font-size: 1.25em;
      font-weight: bold;
      color: rgba(249,61,61,1);
      }  
  .intro-note{
    font-weight: bold;
    text-align: center;
    }
.intro-illustration{  
  width: 142px;
  position: absolute;
  right: calc((100% - 980px) / 2);
  bottom: 35px;
  }

.application{
  padding-top: 160px;
  padding-right: 20px;
  padding-bottom: 120px;
  padding-left: 20px;
  background-image: url(../images/condition-fig-02.jpg);
  background-repeat: repeat-y;
  background-position: center;
  background-size: 100%;
  }
  .ribbon-ttl{
    max-width: 640px;
    margin: 0 auto;
    position: relative;
    top: -90px;
    }
  .application-note{
    margin-top: -80px;
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    }
  .necessarily{
    max-width: 980px;
    margin: 0 auto 175px;
    padding-right: 20px;
    padding-bottom: 40px;
    padding-left: 20px;
    background-color: rgba(255,255,255,1);
    border-radius: 25px;
    }
    .necessarily-block{
      display: flex;
      max-width: 910px;
      margin: 0 auto 35px;
      }
      .necessarily-item{
        display: flex;
        flex-direction: column;
        align-items: center;
        width: calc(100% / 2);
        }
        .necessarily-item:first-of-type{
          padding-right: 15px;  
          border-right: dotted 2px rgba(74,74,74,1);
          }
        .necessarily-item:last-of-type{padding-left: 15px;}
      .necessarily-item-ttl{margin-bottom: 10px;}
      .necessarily-item-detail{
        max-width: 365px;
        margin-bottom: 20px;
        }
      .necessarily-item-note{
        font-weight: bold;
        line-height: 1.4;
        text-align: center;
        }
        .necessarily-item-note-link{
          font-weight: bold;
          color: rgba(232,56,47,1);
          text-decoration: underline;
          }
          .necessarily-item-note-link:hover{text-decoration: none;}
    .necessarily-points{
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-bottom: 40px;
      }
    .necessarily-points-item{
      font-size: 15px;
      font-weight: bold;
      }
    .necessarily-button{margin-bottom: 35px;}
    .necessarily-note{
      margin-bottom: 30px;
      font-weight: bold;
      text-align: center;
      }
    .necessarily-fig{
      max-width: 720px;
      margin: 0 auto;
      }

  .lottery{}
    .lottery-block{
      max-width: 980px;
      margin: 0 auto 35px;
      padding-right: 20px;
      padding-bottom: 40px;
      padding-left: 20px;
      background-color: rgba(255,255,255,1);
      border-radius: 25px;
      }
    .lottery-fig{
      max-width: 980px;
      margin: -20px auto 15px;
      }
    .lottery-note{
      font-weight: bold;
      text-align: center;
      }

.merit{
  padding-right: 20px;
  padding-left: 20px;
  border-top: 8px solid rgba(229,247,234,1);
  border-bottom: 8px solid rgba(229,247,234,1);
  background-image: url(../images/merit-fig-08.jpg);
  background-size: cover;
  }
  .merit-ttl{
    max-width: 940px;
    margin: -80px auto 10px;
    }
  .merit-list{
    display: flex;
    flex-wrap: wrap;
    max-width: 980px;
    margin: 0 auto 30px;
    }
    .merit-item{width: calc(100% / 4);}
      .merit-item-fig{margin-bottom: 5px;}
      .merit-item-summary{
        padding-right: 30px;
        padding-left: 30px;
        font-size: 17px;
        font-weight: bold;
        }

.merit-movie{margin-bottom: 40px;}
  .merit-movie-ttl{
    max-width: 675px;
    margin: 0 auto 15px;
    }
  .merit-youtube{
    max-width: 600px;
    margin: 0 auto;
    }
    .merit-youtube-inner{
      width: 100%;
      padding-top: 56.25%;
      background-color: rgba(160,160,160,1);
      position: relative;
      }
      .merit-comingsoon,
      .merit-youtube iframe{
        width: 100%;
        height: 100%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        }
      .merit-comingsoon{
        display: flex;
        align-items: center;
        width: 80%;
        max-width: 440px;
        }
  .merit-button{margin-bottom: -40px;}

.simulation{
  padding-top: 95px;
  padding-right: 20px;
  padding-bottom: 130px;
  padding-left: 20px;
  background-color: rgba(228,249,254,1);
  background-image: url(../images/simulation-fig-05.png), url(../images/simulation-fig-06.png);
  background-size: 100%;
  background-position: center top, center bottom -15px;
  background-repeat: no-repeat;
  }
  .simulation-inner{
    max-width: 980px;
    margin: 0 auto;
    padding-top: 40px;
    padding-right: 30px;
    padding-bottom: 50px;
    padding-left: 30px;
    border-radius: 30px;
    background-color: rgba(255,255,255,1);
    position: relative;
    }
  .simulation-intro{
    max-width: 725px;
    margin: 0 auto 20px;
    }
  .simulation-ttl{
    max-width: 500px;
    margin: 0 auto;
    }
  .simulation-summary{
    margin-top: 10px;
    margin-bottom: 45px;
    padding-top: 15px;
    font-size: 17px;
    font-weight: bold;
    text-align: center;
    border-top: dotted 5px rgba(221,226,180,1); 
    }
  .simulation-deco01{
    width: 94px;
    position: absolute;
    top: 120px;
    left: 25px;
    }
  .simulation-deco02{
    width: 154px;
    position: absolute;
    right: 30px; 
    bottom: 35px;
    }

.faq{
  padding-top: 55px;
  padding-bottom: 55px;
  background-color: rgba(116,189,80,1);
  }
  .faq-inner{}
  .faq-intro{
    max-width: 680px;
    margin: 0 auto 25px;
    }

.condition{
  padding-top: 70px;
  padding-right: 20px;
  padding-bottom: 90px;
  padding-left: 20px;
  background-image: url(../images/condition-fig-03.png), url(../images/condition-fig-02.jpg);
  background-repeat: repeat-x, repeat-y;
  background-position: center top, center;
  background-size: 1400px, 100%;
  }
  .condition-button{padding-bottom: 20px;}
  .condition-note{
    margin-bottom: 45px;
    font-weight: bold;
    text-align: center;
    }
  .condition-main{
    max-width: 990px;
    margin: 0 auto;
    padding-right: 5px;
    padding-bottom: 5px;
    padding-left: 5px;
    border-radius: 20px;
    border: 5px solid rgba(255,255,255,1);
    box-shadow: 5px 5px 8px 0px rgba(135,135,62,.6);
    background: url(../images/condition-fig-04.jpg);
    }
    .condition-ttl{
      max-width: 320px;
      margin: 0 auto;
      padding-top: 15px;
      padding-bottom: 15px;
      }
  .condition-list{
    padding-top: 35px;
    padding-right: 35px;
    padding-bottom: 35px;
    padding-left: 35px;
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
    background-color: rgba(255,255,255,1);
    }
    .condition-item{}
      .condition-item-ttl{
        display: flex;
        align-items: center;
        font-size: 17px;
        font-weight: bold;
        color: rgba(45,182,84,1);
        line-height: 1.8;
        }
        .condition-item-ttl::before{
          content: "";
          width: 15px;
          height: 15px;
          margin-right: 3px;
          background-image: url(../images/condition-fig-05.jpg);
          background-size: 15px;
        }
      .condition-item-summary{
        font-size: 17px;
        font-weight: bold;
        line-height: 1.8;
        }

.button-base{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 480px;
  height: 80px;
  margin: 0 auto;
  font-size: 20px;
  font-weight: bold;
  color: rgba(255,255,255,1);
  border-radius: 40px;
  transition: .3s;
  position: relative;
  }
  .button-base::after{
    content: "";
    width: 10px;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    top: 0;
    right: 25px;
    }
  .button-base:hover{opacity: .7;}
  .red.button-base{
    border: 5px solid rgba(249,103,103,1);
    background-color: rgba(249,61,61,1);
    }
    .red.button-base::after{background-image: url(../images/arrow-white.png);}
  .green.button-base{
    border: 5px solid rgba(218,245,234,1);
    background-color: rgba(70,185,6,1);
    }
    .green.button-base::after{background-image: url(../images/arrow-orange.png);}
  .blue.button-base{
    border: 5px solid rgba(1,151,214,1);
    background-color: rgba(23,121,188,1);
    }
    .blue.button-base::after{background-image: url(../images/arrow-orange.png);}
  .orange.button-base{
    border: 5px solid rgba(254,209,123,1);
    background-color: rgba(255,178,0,1);
    }
    .orange.button-base::after{background-image: url(../images/arrow-white.png);}
  .gray.button-base{
    border: 5px solid rgba(150,150,150,1);
    background-color: rgba(150,150,150,1);
    }
    .gray.button-base::after{background-image: url(../images/arrow-white.png);}
  .btn-noactive.button-base{
    pointer-events: none;
    }
  .btn-noactive.button-base:hover{opacity: 1;}

@media screen and (max-width: 992px) {
  
.intro{padding-top: 80px;}
  .intro::before{background-size: 100px;}
  .intro-summary{font-size: 18px;}
  .intro-note{font-size: 14px;}
  .intro-illustration{  
    width: 120px;
    right: 30px;
    }

.application{
  padding-top: 130px;
  padding-bottom: 80px;
  }
  .ribbon-ttl{
    max-width: 512px;
    top: -80px;
    }
  .application-note{
    margin-top: -70px;
    font-size: 18px;
    }
  .necessarily{margin-bottom: 140px;}  
  .necessarily-points{align-items: flex-start;}

.merit-ttl{
  max-width: 750px;
  margin: -60px auto 10px;
  }
  .merit-list{
    padding-right: 20px;
    padding-left: 20px;
    }
  .merit-item-summary{font-size: 16px;}
  .merit-button{margin-bottom: -30px;}

.simulation{
  padding-top: 70px;
  padding-bottom: 100px;
  }
  .simulation-inner{
    padding-top: 30px;
    padding-right: 20px;
    padding-bottom: 40px;
    padding-left: 20px;
    }
  .simulation-intro{max-width: 580px;}
  .simulation-ttl{max-width: 400px;}
  .simulation-summary{
    margin-bottom: 35px;
    font-size: 16px;
    }
  .simulation-deco01{
    width: 75px;
    top: 100px;
    left: 20px;
    }
  .simulation-deco02{
    width: 123px;
    right: 20px; 
    bottom: 25px;
    }

.faq{
  padding-top: 40px;
  padding-right: 20px;
  padding-bottom: 40px;
  padding-left: 20px;
  }
  .faq-inner{}
  .faq-intro{
    max-width: 654px;
    margin: 0 auto 20px;
    }

.condition{
  padding-top: 50px;
  padding-bottom: 60px;
  }
  .condition-note{margin-bottom: 30px;}
  .condition-ttl{max-width: 256px;}
  .condition-list{
    padding-top: 25px;
    padding-right: 25px;
    padding-bottom: 25px;
    padding-left: 25px;
    }
  .condition-item-ttl{font-size: 16px;}
  .condition-item-summary{font-size: 16px;}

.button-base{
  width: 380px;
  height: 60px;
  font-size: 18px;
  }
  .button-base::after{
    width: 8px;
    right: 20px;
    }

} /* max-width: 992px */

@media not all and (max-width: 768px) {

.intro-summary .spbr{display: none;}

} /* max-width: 768px */

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

body{font-size: 14px;}

.intro{padding-top: 60px;}
  .intro::before{background-size: 80px;}
  .intro-note{font-size: 14px;}
  .intro-illustration{  
    width: 120px;
    right: 20px;
    bottom: 20px;
    }

.application{
  padding-top: 90px;
  padding-right: 15px;
  padding-bottom: 70px;
  padding-left: 15px;
  }
  .ribbon-ttl{
    max-width: 410px;
    top: -60px;
    }
  .application-note{
    margin-top: -60px;
    font-size: 16px;
    }
  .necessarily{
    margin-bottom: 100px;
    padding-right: 15px;
    padding-left: 15px;
    border-radius: 15px;
    }  
  .necessarily-item-note{font-size: 14px;}
  .necessarily-points-item{
    padding-left: 1em;
    font-size: 13px;
    text-indent: -1em;
    }
  .necessarily-note{
    padding-left: 1em;
    text-align: left;
    text-indent: -1em;
    }
    .necessarily-note br{display: none;}

.lottery-block{
  padding-right: 15px;
  padding-left: 15px;
  border-radius: 15px;
  }
  .lottery-note{
    padding-left: 1em;
    font-size: 13px;
    text-align: left;
    text-indent: -1em;
    }

.merit{
  padding-right: 15px;
  padding-left: 15px;
  }
  .merit-ttl{
    max-width: 600px;
    margin: -50px auto 10px;
    }
  .merit-list{
    max-width: 600px;
    margin: 0 auto 30px;
    padding: 0;
    }
  .merit-item{width: calc((100% - 20px) / 2);}
  .merit-item:not(:nth-of-type(2n+2)){margin-right: 20px;}
  .merit-item:nth-of-type(-n+2){margin-bottom: 30px;}
  .merit-item-summary{
    padding-right: 20px;
    padding-left: 20px;
    font-size: 14px;
    }
  .merit-button{margin-bottom: -25px;}

.simulation{
  padding-top: 50px;
  padding-right: 15px;
  padding-bottom: 70px;
  padding-left: 15px;
  }
  .simulation-inner{
    padding-top: 30px;
    padding-bottom: 30px;
    }
  .simulation-intro{max-width: 464px;}
  .simulation-ttl{max-width: 320px;}
  .simulation-deco01{
    width: 65px;
    top: 70px;
    left: 10px;
    }
  .simulation-deco02{
    width: 100px;
    right: 15px; 
    bottom: 10px;
    }

.faq{
  padding-top: 30px;
  padding-right: 15px;
  padding-bottom: 30px;
  padding-left: 15px;
  }

.condition{
  padding-top: 40px;
  padding-right: 15px;
  padding-bottom: 50px;
  padding-left: 15px;
  background-size: 1000px, 1000px;
  }
  .condition-note{
    margin-bottom: 20px;
    padding-left: 1em;
    text-align: left;
    text-indent: -1em;
    }
  .condition-note br{display: none;}
  .condition-ttl{max-width: 205px;}
  .condition-list{
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    padding-left: 20px;
    }
    .condition-item-ttl{font-size: 14px;}
    .condition-item-summary{font-size: 14px;}

.button-base{
  width: 300px;
  height: 50px;
  font-size: 16px;
  }
  .button-base::after{
    width: 7px;
    right: 15px;
    }
  .red.button-base{border: 3px solid rgba(249,103,103,1);}
  .green.button-base{border: 3px solid rgba(218,245,234,1);}
  .blue.button-base{border: 3px solid rgba(1,151,214,1);}
  .orange.button-base{border: 3px solid rgba(254,209,123,1);}

} /* max-width: 768px */

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

.intro{padding-top: 50px;}
  .intro::before{background-size: 70px;}
  .intro-summary{
    font-size: 16px;
    text-align: left;
    }
  .intro-summary .spbr{display: none;}
  .intro-note{
    font-size: 13px;
    text-align: left;
    }
  .intro-illustration{  
    width: 100px;
    right: 10px;
    bottom: 10px;
    }

.application-note{
  margin-top: -40px;
  font-size: 14px;
  line-height: 1.6;
  text-align: left;
  }
  .application-note br{display: none;}
  .ribbon-ttl{top: -50px;}
  .necessarily{
    margin-bottom: 60px;
    }  
  .necessarily-block{
    flex-direction: column;
    margin-bottom: 10px;  
    }
  .necessarily-item{width: 100%;}
  .necessarily-item:first-of-type{
    margin-bottom: 30px;
    padding-right: 0;  
    border-right: 0;
    }
  .necessarily-item:last-of-type{padding-left: 0;}
  .necessarily-item-ttl{
    width: 90%;
    max-width: 340px;
    }
  .necessarily-item-detail{max-width: 100%;}
  .necessarily-item-note{
    padding-left: 1em;
    text-align: left;
    text-indent: -1em;
    }
  .necessarily-item-note br{display: none;}
  .lottery-fig{margin-top: 0;}

.merit-ttl{
  max-width: 400px;
  margin: -35px auto 10px;
  }
  .merit-item{width: calc((100% - 15px) / 2);}
  .merit-item:not(:nth-of-type(2n+2)){margin-right: 15px;}
  .merit-item-summary{
    padding-right: 10px;
    padding-left: 10px;
    }
  .merit-button{margin-bottom: -25px;}

.simulation{
  padding-top: 40px;
  padding-bottom: 50px;
  }
  .simulation-intro{
    max-width: 100%;
    width: calc(100% - 140px);
    }
  .simulation-ttl{
    width: 90%;
    max-width: 400px;
    }
  .simulation-summary{
    margin-bottom: 20px;
    font-size: 14px;
    text-align: left;
    }
    .simulation-summary br{display: none;}
  .simulation-deco01{
    width: 50px;
    top: 20px;
    left: 15px;
    }
  .simulation-deco02{
    width: 70px;
    top: 25px;
    right: 10px; 
    bottom: auto;
    }

.faq-intro{max-width: 400px;}

.condition-ttl{max-width: 160px;}

.button-base{
  width: 100%;
  max-width: 290px;
  height: 45px;
  font-size: 15px;
  }
  .button-base::after{
    width: 7px;
    right: 15px;
    }

} /* max-width: 576px */

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

.application-note{margin-top: -30px;}
.ribbon-ttl{top: -40px;}

.simulation-intro{width: calc(100% - 100px);}
  .simulation-ttl{
    width: 90%;
    max-width: 400px;
    }
  .simulation-deco01{width: 40px;}
  .simulation-deco02{width: 50px;}


} /* max-width: 476px */ 

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

.intro-summary{font-size: 15px;}

.simulation-intro{width: calc(100% - 80px);}
.simulation-deco01{width: 30px;}
.simulation-deco02{width: 40px;}
 

} /* max-width: 376px */ 