#key h2 {
  height: 60vw;
  margin: 0px auto 16vw;
}
@media only screen and (min-width: 768px) {
  #key h2 {
    height: 445px;
    margin: 110px 164px 124px 0px;
  }
}

.f48 {
  font-size: 8vw;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.f33 {
  font-size: 6.4vw;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 768px) {
  .f48 {
    font-size: 48px;
  }
  .f33 {
    font-size: 33px;
  }
}
#lead h2 {
  background: url("../img/support/ttl_deco.png") no-repeat center left/10vw, url("../img/support/ttl_deco.png") no-repeat center right/10vw;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  text-align: center;
  padding: 0 12vw 1vw;
}
#lead .txt {
  margin-top: 7vw;
}
#lead .txt li + li {
  margin-top: 3vw;
}
@media screen and (min-width: 768px) {
  #lead h2 {
    background-size: auto;
    width: 513px;
    padding: 0 0 0;
  }
  #lead .txt {
    text-align: center;
    width: 500px;
    margin: 42px auto 0;
    letter-spacing: 0;
  }
  #lead .txt li + li {
    margin-top: 30px;
  }
}

#merit1 {
  padding-top: 20vw;
}
#merit1 h2 {
  text-align: center;
}
#merit1 .set1 .gr-txt {
  margin-top: 7vw;
}
#merit1 .set1 .gr-txt .txt {
  margin-top: 3vw;
}
#merit1 .set2 {
  margin-top: 10vw;
}
#merit1 .set2 .list {
  flex-wrap: wrap;
  border: 1px solid #777;
  margin-top: 5vw;
  padding: 7vw;
  border-radius: 15px;
}
#merit1 .set2 .list li {
  width: 50%;
  text-align: center;
}
#merit1 .set2 .list li:nth-child(-n+2) {
  border-bottom: 1px solid #777;
  padding-bottom: 3vw;
  margin-bottom: 3vw;
}
@media screen and (min-width: 768px) {
  #merit1 {
    padding-top: 157px;
  }
  #merit1 .wrap {
    max-width: 100%;
  }
  #merit1 .set1 {
    max-width: 1200px;
    margin: 0 auto;
  }
  #merit1 .set1 .photo {
    width: calc(50% - 70px);
  }
  #merit1 .set1 .gr-txt {
    width: 50%;
    margin-top: 50px;
  }
  #merit1 .set1 .gr-txt h2 {
    text-align: left;
  }
  #merit1 .set1 .gr-txt .txt {
    margin-top: 31px;
  }
  #merit1 .set2 {
    max-width: 900px;
    margin: 57px auto 0;
  }
  #merit1 .set2 .list {
    flex-wrap: nowrap;
    justify-content: flex-start;
    margin-top: 42px;
    padding: 34px 131px 36px 69px;
  }
  #merit1 .set2 .list li {
    width: auto;
    text-align: left;
    padding: 15px 0 13px;
  }
  #merit1 .set2 .list li:nth-child(-n+2) {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
  #merit1 .set2 .list li:nth-child(2) {
    border-right: 1px solid #777;
    padding-right: 133px;
    margin: 0 70px 0 111px;
  }
  #merit1 .set2 .list li:last-child {
    margin-left: 107px;
  }
}

#merit2 {
  background: url("../img/support/merit2_deco.png") no-repeat left top 10vw/50%;
  padding-top: 20vw;
}
#merit2 h2 {
  text-align: center;
}
#merit2 .set1 .txt {
  margin-top: 7vw;
}
#merit2 .set1 .txt li + li {
  margin-top: 3vw;
}
#merit2 .set2 {
  margin-top: 10vw;
}
#merit2 .set2 .gr-txt {
  margin-top: 7vw;
}
#merit2 .set2 .gr-txt .txt {
  margin-top: 3vw;
}
#merit2 .set3 {
  margin-top: 10vw;
}
#merit2 .set3 .list {
  border: 1px solid #777;
  margin-top: 5vw;
  padding: 7vw;
  border-radius: 15px;
}
#merit2 .set3 .list li {
  text-align: center;
}
@media screen and (min-width: 768px) {
  #merit2 {
    background-position: left top 80px;
    background-size: auto;
    padding-top: 146px;
  }
  #merit2 .wrap {
    max-width: 100%;
  }
  #merit2 .set1 .txt {
    text-align: center;
    width: 480px;
    margin: 31px auto 0;
    letter-spacing: 0;
  }
  #merit2 .set1 .txt li + li {
    margin-top: 30px;
  }
  #merit2 .set2 {
    max-width: 1200px;
    margin: 56px auto 0;
  }
  #merit2 .set2 .photo {
    order: 2;
    width: calc(50% - 70px);
  }
  #merit2 .set2 .gr-txt {
    order: 1;
    width: 50%;
    margin: 0;
    padding: 49px 0 0 100px;
  }
  #merit2 .set2 .gr-txt .txt {
    margin-top: 31px;
  }
  #merit2 .set3 {
    margin-top: 57px;
  }
  #merit2 .set3 .list {
    max-width: 900px;
    margin: 38px auto 0;
    padding: 50px 0 48px;
  }
}

#form {
  position: relative;
  z-index: 2;
  padding-top: 20vw;
}
#form .deco {
  position: absolute;
  top: 7vw;
  left: 0;
  width: 40%;
  z-index: -1;
}
#form .wrap {
  background: #f6f5ef;
  border-radius: 15px;
  margin: 0 4%;
  padding: 10vw 4% 20vw;
}
#form h2 {
  text-align: center;
  background: url("../img/support/ttl_deco.png") no-repeat center bottom/10vw auto;
  padding-bottom: 4vw;
}
#form .fcform__main {
  margin-top: 10vw;
}
#form #privacy_checkbox a {
  display: inline-block;
  text-decoration: none;
  border-bottom: 1px solid #908c6b;
  padding-bottom: 4px;
}
#form #privacy_checkbox a:hover {
  border-color: transparent;
}
@media screen and (max-width: 767px) {
  #form .form-row {
    display: block;
    padding: 0;
  }
  #form .form-row .form-caption {
    display: block;
    width: 100%;
    position: relative;
    margin-bottom: 20px;
  }
  #form .form-row + .form-row {
    margin-top: 30px;
  }
  #form .form-row.mt-sp {
    margin-top: 10px;
  }
  #form .form-row .i-custom {
    margin: 10px;
  }
  #form .form-row .yubin-bango .yubin-postal-code small {
    display: block;
    margin: 10px 0 20px;
    line-height: 1.5;
  }
  #form .form-row .yubin-bango .yubin-locate {
    margin-bottom: 10px;
  }
  #form #privacy_checkbox .i-custom span {
    font-size: 12px;
  }
  #form .form-submit:after,
  #form .form-back:after {
    right: 30px;
  }
}
@media screen and (min-width: 768px) {
  #form {
    padding: 142px 20px 0;
  }
  #form .deco {
    width: auto;
    top: 423px;
    z-index: -1;
  }
  #form .wrap {
    margin: 0 auto;
    padding: 55px 20px 100px;
  }
  #form h2 {
    background-size: auto;
    padding-bottom: 25px;
  }
  #form .fcform__main {
    width: 714px;
    margin: 78px auto 0;
  }
  #form .fcform__main .fc-form .mb48 {
    margin-bottom: 50px;
  }
  #form .fcform__main .fc-form .mb30 {
    margin-bottom: 34px;
  }
  #form .fcform__main .fc-form .mb16 {
    margin-bottom: 16px;
  }
  #form .fcform__main .form-row + .form-row {
    margin-top: 18px;
  }
  #form .fcform__main .fc-confirm .form-row + .form-row {
    margin-top: 30px;
  }
  #form .fcform__main .fc-confirm .form-caption.vtop {
    padding-top: 0;
  }
  #form .yubin-bango .yubin-postal-mark {
    font-size: 16px;
  }
  #form .yubin-bango .yubin-postal-input {
    width: 120px;
  }
  #form .yubin-bango .yubin-postal-input input {
    padding: 9px 18px;
  }
  #form .yubin-bango .yubin-postal-code {
    margin-bottom: 6px;
  }
  #form .yubin-bango .yubin-postal-code small {
    display: inline-block;
    font-size: 14px;
    letter-spacing: 0.05em;
    padding-left: 19px;
  }
  #form .yubin-bango {
    margin-bottom: 7px;
  }
  #form #privacy_checkbox_box {
    font-size: 14px;
  }
}

#other {
  position: relative;
  padding: 40vw 0px 16vw;
  background: url("../img/shared/icon_dots.png") no-repeat center top 30vw/74px;
}
#other .sec6-deco1 {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 50%;
}
#other .sec6-deco2 {
  position: absolute;
  top: 10vw;
  right: 0px;
  width: 36%;
}
@media only screen and (min-width: 768px) {
  #other {
    padding: 262px 0px 70px;
    background-position: top 207px center;
  }
  #other .wrap {
    max-width: 1200px;
  }
  #other .sec6-deco1 {
    width: 414px;
    top: -62px;
  }
  #other .list-banner2 li {
    width: 100%;
  }
  #other .sec6-deco2 {
    width: 332px;
    top: 80px;
  }
}

#thanks {
  text-align: center;
  padding: 200px 3%;
}/*# sourceMappingURL=support.css.map */