body {
  background: #D5E9C4;
  color: #3E3A39;
}

@media screen and (max-width: 750) {
  section {
    padding: 40px 16px;
  }
}
img {
  display: block;
  max-width: 100%;
}

.container {
  max-width: 912px;
}

header {
  padding: 8px 16px;
  background: #fff;
}

/*============================
#news
============================*/
section#news.news {
  text-align: center;
  font-size: min(100vw / 375 * ( 20 + 16 ) / 2 , 20px);
  font-weight: bold;  
  padding: min( 100vw / 750 * 13 , 13px) 0;
  background-color: #F9F075;
}
section#news.news div.container {
  width: calc(100vw - min( 100vw / 750 * 32 , 32px));
}
section#news.news div.container h2 {
}


section.lead img {
  width: 100%;
}

section.lead .container {
  position: relative;
  z-index: 1;
}

section.lead .btn {
  margin-top: 41.5%;
  font-size: 30px;
  font-weight: bold;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
}

section.lead .btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 430px;
  height: 94px;
  color: #fff;
  border-radius: 500px;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ff962d+0,ff7f00+100 */
  background: rgb(255,150,45); /* Old browsers */
  background: -moz-linear-gradient(top,  rgba(255,150,45,1) 0%, rgba(255,127,0,1) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top,  rgba(255,150,45,1) 0%,rgba(255,127,0,1) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom,  rgba(255,150,45,1) 0%,rgba(255,127,0,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff962d', endColorstr='#ff7f00',GradientType=0 ); /* IE6-9 */
  box-shadow: 0 7px 0 #5a3100;
  text-align: center;
  position: relative;
  z-index: 1;
  cursor: pointer;
  transition: opacity 600ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

section.lead .btn a:hover {
  opacity: .7;
}

section.lead .btn a:before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  margin-right: 30px;
  background: url(../img/btn_arr01.png) no-repeat center / contain;
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 1;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}

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

  section.lead .btn {
    font-size: 3.181vw;
  }

  section.lead .btn a {
    width: 45.599vw;
    height: 9.968vw;
    box-shadow: 0 0.742311770943796vw 0 #5a3100;
  }

  section.lead .btn a:before {
    width: 2.121vw;
    height: 2.121vw;
    margin-right: 3.181vw;
  }
}

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

  section.lead .btn {
    margin-top: 60%;
    font-size: 4.8vw;
  }

  section.lead .btn a {
    width: 70.667vw;
    height: 13.867vw;
    box-shadow: 0 0.933333333333333vw 0 #5a3100;
  }

  section.lead .btn a:before {
    width: 3.2vw;
    height: 3.2vw;
    margin-right: 5.333vw;
  }
}

section.price img {
  margin: 0 auto;
}
section.price dt, section.price dd {
  background: #fff;
  padding: 24px;
  margin-bottom: 2px;
}
section.price dt {
  padding: 16px;
  color: #31AD37;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
section.price dt.active {
  background: #31AD37;
  color: #fff;
}
section.price p {
  max-width: 752px;
  margin: 16px auto;
  display: block;
  font-size: 14px;
}
section.price small {
  font-size: 14px;
}

section.safety {
  background: #EDEEDD;
}

section.new h3, section.existing h3 {
  text-align: center;
  font-weight: bold;
  font-size: 32px;
  color: #31AD37;
  margin-top: 32px;
  margin-bottom: 24px;
}

form label {
  font-weight: bold;
}
form .submit {
  text-align: center;
  background: url("../img/icon_arrow_gray.svg") right 16px center/23px auto no-repeat, #DFDFDF;
  font-weight: bold;
  color: #888888;
  border: 3px solid #888888;
  padding: 16px 0px;
  border-radius: 16px;
  display: block;
  max-width: 532px;
  margin: 32px auto;
  width: 100%;
}
form input[type=checkbox]:checked + label + .submit {
  color: #3E3A39;
  border-color: #31AD37;
  background: url("../img/icon_arrow_green.svg") right 16px center/23px auto no-repeat, #F9F075;
}

.buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 24px;
}
@media screen and (max-width: 750px) {
  .buttons {
    display: block;
  }
}
.buttons .buttons__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(33.3333333333% - 8px);
          flex: 0 0 calc(33.3333333333% - 8px);
  margin-bottom: 16px;
}
.buttons .buttons__item a {
  text-align: center;
  background: url("../img/icon_arrow.svg") right 16px center/23px auto no-repeat, #CBE1FF;
  font-weight: bold;
  border: 3px solid #4396CC;
  padding: 16px 0px;
  border-radius: 16px;
  display: block;
}

.faq h2 {
  font-weight: bold;
  color: #31AD37;
  text-align: center;
  font-size: 56px;
  margin-bottom: 24px;
}
@media screen and (max-width: 750px) {
  .faq h2 {
    font-size: 32px;
  }
}
.faq p {
  font-weight: bold;
  margin-top: 24px;
}
@media screen and (max-width: 750px) {
  .faq .tex-a-right {
    text-align: left;
  }
}

footer {
  background: #328026;
  padding: 20px 16px 10px 16px;
}
footer .container {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 1fr;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
footer .container .footer__logo a {
  height: 40px;
}
footer .container .footer__logo a img {
  max-height: 40px;
}
footer .container .footer__nav {
  text-align: right;
}
footer .container .footer__nav a {
  font-weight: bold;
  color: #fff;
  text-decoration: underline;
}