footer {
  background: #0CAE75;
  padding-top: 127px;
  position: relative;
}
footer:before {
  content: "";
  width: 100%;
  height: 101px;
  background: url(../img/footer_bg.svg) no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
footer .db_bnr {
  display: table;
  margin: 0 auto 26px;
  width: 235px;
}
footer .db_bnr img {
  border-radius: 10px;
  border: 4px solid #BEFEC0;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
footer .db_bnr:hover img {
  opacity: 0.95;
  border-color: #16D07D;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
footer .list {
  border-top: 3px solid #BEFEC0;
  background: #0CAE75;
  padding: 6px 0 20px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 55px;
  color: #fff;
  -webkit-font-feature-settings: "palt" on;
          font-feature-settings: "palt" on;
}
footer .list a {
  color: #fff;
  text-decoration: none;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  font-size: 12px;
  font-weight: 700;
  line-height: 15px;
  letter-spacing: 0.15em;
}
footer .list a:hover {
  opacity: 0.8;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
footer .list .copyright {
  font-size: 12px;
  font-weight: 700;
  line-height: 15px;
  letter-spacing: 0.15em;
}
@media (min-width: 1921px) {
  footer {
    padding-top: clamp(127px, 6.6111vw, 200px);
  }
  footer:before {
    height: clamp(101px, 5.25767vw, 158px);
  }
}
@media (max-width: 767px) {
  footer {
    padding-top: 40px;
    padding-bottom: env(safe-area-inset-bottom);
  }
  footer:before {
    background: url(../img/footer_bg_sp.svg) no-repeat center/cover;
    position: absolute;
    height: 20px;
  }
  footer .list {
    gap: 40px;
    padding: 8px 0 20px 0;
  }
  footer .db_bnr {
    width: 208px;
    margin-bottom: 23px;
  }
}

.loopslider_wrap {
  overflow: hidden;
}

.loopslider {
  -webkit-animation: loopslider 120s linear infinite;
          animation: loopslider 120s linear infinite;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 2400px;
  height: 100%;
}

@-webkit-keyframes loopslider {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-1200px);
            transform: translateX(-1200px);
  }
}

@keyframes loopslider {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-1200px);
            transform: translateX(-1200px);
  }
}
@media (min-width: 768px) {
  .loopslider {
    -webkit-animation: loopslider 140s linear infinite;
            animation: loopslider 140s linear infinite;
    width: 3840px;
  }
  @-webkit-keyframes loopslider {
    0% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
    100% {
      -webkit-transform: translateX(-1920px);
              transform: translateX(-1920px);
    }
  }
  @keyframes loopslider {
    0% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
    100% {
      -webkit-transform: translateX(-1920px);
              transform: translateX(-1920px);
    }
  }
}
.required {
  color: #FFF;
  font-size: 13px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 1.3px;
  border-radius: 3px;
  background: #0CAE75;
  display: inline-block;
  width: 45px;
  padding: 3px 0 1px;
  text-align: center;
}

@media (max-width: 767px) {
  .spbr {
    display: block !important;
  }
}
@media (min-width: 768px) {
  .pcbr {
    display: block !important;
  }
}
.price_table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.price_table thead th {
  color: #FFF;
  font-size: 22px;
  font-weight: 700;
  line-height: 25px;
  letter-spacing: 2.2px;
  background: #333;
  padding: 20px 0;
}
.price_table thead th:first-child {
  border-radius: 20px 0 0 0;
}
.price_table thead th:last-child {
  border-radius: 0 20px 0 0;
}
.price_table tbody tr:not(:last-child) th,
.price_table tbody tr:not(:last-child) td {
  border-bottom: 1px solid #333;
}
.price_table tbody tr:last-child th:first-child,
.price_table tbody tr:last-child td:first-child {
  border-radius: 0 0 0 20px;
}
.price_table tbody tr:last-child th:last-child,
.price_table tbody tr:last-child td:last-child {
  border-radius: 0 0 20px 0;
}
.price_table tbody th,
.price_table tbody td {
  font-size: 19px;
  font-weight: 700;
  line-height: 25px;
  letter-spacing: 1.9px;
  background: #e3f9ed;
  padding: 22px 5px 21px;
  text-align: center;
}
.price_table tbody td {
  padding-left: 22px;
}
.price_table .price {
  font-size: 22px;
  line-height: 25px;
  letter-spacing: 2.2px;
}
.price_table .yen {
  margin-left: 2px;
}
.price_table .tax {
  font-size: 17px;
  line-height: 25px;
  letter-spacing: 1.7px;
  margin-left: 8px;
}
.price_table .bg_green1 {
  background: #6BD16E;
}
.price_table .bg_green2 {
  background: #0CAE75;
}
.price_table .bg_green3 {
  background: #006E3F;
}
@media (max-width: 767px) {
  .price_table thead th,
  .price_table thead td {
    font-size: 15px;
    line-height: 25px;
    letter-spacing: 1.5px;
    padding: 10px 0;
  }
  .price_table thead th:first-child,
  .price_table thead td:first-child {
    border-radius: 9px 0 0 0;
  }
  .price_table thead th:last-child,
  .price_table thead td:last-child {
    border-radius: 0 9px 0 0;
  }
  .price_table tbody tr:last-child th:first-child,
  .price_table tbody tr:last-child td:first-child {
    border-radius: 0 0 0 9px;
  }
  .price_table tbody tr:last-child th:last-child,
  .price_table tbody tr:last-child td:last-child {
    border-radius: 0 0 9px 0;
  }
  .price_table tbody th,
  .price_table tbody td {
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 1.4px;
    padding: 11px 5px 10px 26px;
    text-align: left;
  }
  .price_table tbody td {
    padding-left: 30px;
    font-size: 17px;
    line-height: 20px;
    letter-spacing: 1.7px;
  }
  .price_table .price {
    font-size: 17px;
    line-height: 20px;
    letter-spacing: 1.7px;
  }
  .price_table .yen {
    font-size: 17px;
    line-height: 17px;
    letter-spacing: 1.7px;
  }
  .price_table .tax {
    font-size: 13px;
    line-height: 16px;
    letter-spacing: 1.3px;
    display: block;
    margin: 2px 0 0;
  }
}

@media (max-width: 767px) {
  .scrollable {
    overflow-x: auto;
    margin: 0 17.5px;
    border-radius: 10px;
  }
  .scrollable .price_table {
    width: 657px !important;
  }
  .scrollable .price_table thead th:first-child {
    width: 120px;
  }
  .scroll_txt {
    color: #0CAE75;
    text-align: right;
    font-family: "Black Han Sans", sans-serif;
    font-size: 14px;
    line-height: 15px;
    letter-spacing: 2.1px;
    padding-right: 84px;
    position: relative;
    -webkit-transform: translate(0px, 23px);
            transform: translate(0px, 23px);
  }
  .scroll_txt:after {
    content: "";
    width: 55px;
    height: 12px;
    background: url(../img/arrow_scroll.svg) no-repeat center/cover;
    position: absolute;
    bottom: 4px;
    right: 23px;
    margin: auto;
  }
}
.top_about {
  padding: 90px 0 72px;
  background: #E3F9EE;
  position: relative;
}
.top_about:after {
  content: "";
  width: 100%;
  height: 101px;
  background: url(../img/earl_about.svg) no-repeat center/cover;
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  margin: auto;
}
.top_about .add_container h2 {
  text-align: center;
  font-size: 37px;
  font-weight: 700;
  line-height: 55px;
  letter-spacing: 3.7px;
  display: table;
  margin: 0 auto 31px;
  position: relative;
}
.top_about .add_container h2:before, .top_about .add_container h2:after {
  content: "";
  width: 59px;
  height: 51px;
  background: url(../img/about_title_line.svg) no-repeat center/cover;
  position: absolute;
  bottom: 3px;
}
.top_about .add_container h2:before {
  right: calc(100% + 51px);
}
.top_about .add_container h2:after {
  left: calc(100% + 47px);
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.top_about .add_container .txt_wrap {
  text-align: center;
  font-size: 29px;
  font-weight: 700;
  line-height: 52.536px;
  letter-spacing: 2.9px;
  margin-bottom: 83px;
}
.top_about .add_container .txt_wrap .num {
  font-size: 38px;
  letter-spacing: 3.8px;
}
.top_about .add_container .txt_wrap .color {
  color: #0CAE75;
}
.top_about .main_block .wrapper {
  background: #fff;
  padding: 56px 19px 76px 20px;
  border-radius: 80px;
  border: 6px solid #0CAE75;
  -webkit-box-shadow: 0 0 20px 0 rgba(245, 245, 245, 0.1);
          box-shadow: 0 0 20px 0 rgba(245, 245, 245, 0.1);
  position: relative;
}
.top_about .main_block .wrapper:after {
  content: "";
  width: 73px;
  height: 35px;
  background: url(../img/ic_arrow1.svg) no-repeat center/cover;
  position: absolute;
  top: calc(100% + 5px);
  left: 196px;
}
.top_about .main_block .wrapper:before {
  content: "";
  width: 231px;
  height: 292px;
  background: url(../img/jushin-bot-img01.png) no-repeat center/cover;
  position: absolute;
  top: calc(100% - 151px);
  left: -85px;
  z-index: 1;
}
.top_about .main_block .txt_wrap {
  text-align: center;
  font-size: 21px;
  font-weight: 700;
  line-height: 42px;
  letter-spacing: 2.1px;
}
.top_about .main_txt {
  margin-bottom: 47px;
}
.top_about .main_txt .txt1 {
  color: #0CAE75;
  text-align: center;
  font-size: 32px;
  font-weight: 700;
  line-height: 52.536px;
  letter-spacing: 3.2px;
  margin-bottom: 12px;
}
.top_about .main_txt .txt1 .large {
  font-size: 38px;
  letter-spacing: 3.8px;
}
.top_about .main_txt .txt2 {
  text-align: center;
  font-size: 29px;
  font-weight: 700;
  line-height: 29px;
  letter-spacing: 2.9px;
}
.top_about .main_txt .txt2 .line {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, rgba(255, 241, 92, 0.6)));
  background: linear-gradient(transparent 50%, rgba(255, 241, 92, 0.6) 50%);
  padding: 0 10px 10px;
}
.top_about .headline_block {
  -webkit-transform: translate(-46px, -42px);
          transform: translate(-46px, -42px);
}
.top_about .headline_block .title {
  font-family: "Black Han Sans", sans-serif;
  color: #0CAE75;
  text-align: center;
  font-size: 75px;
  font-weight: 400;
  line-height: 80px;
  letter-spacing: 3.75px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media (max-width: 767px) {
  .top_about {
    padding: 49px 0 99px;
  }
  .top_about:after {
    height: 50px;
  }
  .top_about .container {
    max-width: calc(100% - 39px);
  }
  .top_about .add_container h2 {
    font-size: 23px;
    line-height: 27.634px;
    letter-spacing: 2.3px;
    margin: 0 auto 20px;
  }
  .top_about .add_container h2:before, .top_about .add_container h2:after {
    width: 31px;
    height: 26px;
    bottom: 1px;
  }
  .top_about .add_container h2:before {
    right: calc(100% + 22px);
  }
  .top_about .add_container h2:after {
    left: calc(100% + 23px);
  }
  .top_about .add_container .txt_wrap {
    font-size: 17px;
    line-height: 31px;
    letter-spacing: 0.85px;
    margin-bottom: 32px;
  }
  .top_about .add_container .txt_wrap .num {
    font-size: 21px;
    line-height: 31px;
    letter-spacing: 1.05px;
  }
  .top_about .add_container .txt_wrap .lineSP {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(56%, transparent), color-stop(50%, #BEFEC0));
    background: linear-gradient(transparent 56%, #BEFEC0 50%);
    padding: 0 6px 6px;
    display: inline-block;
    line-height: 30px;
    letter-spacing: 1.7px;
  }
  .top_about .main_block .wrapper {
    border-radius: 40.195px;
    border: 3.015px solid #0CAE75;
    -webkit-box-shadow: 0 0 10.049px 0 rgba(245, 245, 245, 0.1);
            box-shadow: 0 0 10.049px 0 rgba(245, 245, 245, 0.1);
    padding: 30px 0 49px 1px;
  }
  .top_about .main_block .wrapper:before {
    width: 105px;
    height: 132px;
    top: calc(100% - 47px);
    left: 85px;
  }
  .top_about .main_block .wrapper:after {
    width: 34px;
    height: 17px;
    top: calc(100% + 3px);
    left: 211px;
  }
  .top_about .main_block .txt_wrap {
    font-size: 14px;
    line-height: 25px;
    letter-spacing: 1.4px;
  }
  .top_about .main_txt {
    margin-bottom: 23px;
  }
  .top_about .main_txt .txt1 {
    font-size: 17px;
    line-height: 26.396px;
    letter-spacing: 1.7px;
    margin-bottom: 7px;
  }
  .top_about .main_txt .txt1 .large {
    font-size: 21px;
    line-height: 26.396px;
    letter-spacing: 2.1px;
  }
  .top_about .main_txt .txt2 {
    font-size: 16px;
    line-height: 14.571px;
    letter-spacing: 1.6px;
  }
}
@media (min-width: 768px) {
  .top_about .add_container .txt_wrap .linePC {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, #BEFEC0));
    background: linear-gradient(transparent 50%, #BEFEC0 50%);
    padding: 0 12px 7px;
  }
  .top_about .primary_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .top_about .main_block {
    width: 1055px;
  }
  .top_about .main_block .wrapper {
    width: 910px;
    margin-left: auto;
  }
}
@media (min-width: 1921px) {
  .top_about {
    padding-bottom: clamp(75px, 4.6vw, 135px);
  }
  .top_about:after {
    height: clamp(75px, 5.3vw, 158px);
  }
}
@media (min-width: 768px) and (max-width: 1254px) {
  .top_about:after {
    bottom: -2px;
  }
}

.top_moreover {
  background: #16D07D;
}
.top_moreover h3 {
  color: #FFF;
  text-align: center;
  font-size: 42px;
  font-weight: 700;
  font-size: 37px;
  line-height: 55px;
  letter-spacing: 3.7px;
  margin-bottom: 46px;
}
.top_moreover h3 .txt_moreover {
  font-size: 42px;
  letter-spacing: 4.2px;
  display: inline-block;
  position: relative;
  padding: 0 106px 5px;
}
.top_moreover h3 .txt_moreover:before, .top_moreover h3 .txt_moreover:after {
  content: "";
  background: url(../img/moreover_line.svg) no-repeat center/cover;
  width: 59px;
  height: 51px;
  position: absolute;
  top: 3px;
  margin: auto;
}
.top_moreover h3 .txt_moreover:before {
  left: 0;
}
.top_moreover h3 .txt_moreover:after {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
  right: 0;
}
.top_moreover .question_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 0 30px 21px;
  gap: 42px;
}
.top_moreover .question_list li {
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  line-height: 38px;
  letter-spacing: 1.1px;
  width: 253px;
  height: 253px;
  border-radius: 200px;
  border: 9px solid #006E3F;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 9px 0 0;
  background: url(../img/question_bg.png) no-repeat center/cover, #E3F9EE;
  margin-bottom: 40px;
  position: relative;
}
.top_moreover .question_list li:after {
  content: "";
  width: 40px;
  height: 36px;
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  margin: auto;
}
.top_moreover .question_list li:nth-child(1):after {
  background: url(../img/arrow_question1.svg) no-repeat center/cover;
  left: 4px;
}
.top_moreover .question_list li:nth-child(2):after {
  background: url(../img/arrow_question2.svg) no-repeat center/cover;
  right: 2px;
}
.top_moreover .question_list li:nth-child(3):after {
  background: url(../img/arrow_question3.svg) no-repeat center/cover;
  right: 7px;
}
.top_moreover .ansewer_block {
  background: url(../img/pattern_bg.png) repeat left top, #0CAE75;
  max-width: 1150px;
  width: 100%;
  margin: auto;
  padding: 90px 0 86px 144px;
  border-radius: 120px 120px 0 0;
  position: relative;
}
.top_moreover .ansewer_block:after {
  content: "";
  background: url(../img/top_moreover_img.png) no-repeat center/cover;
  position: absolute;
  bottom: 0;
  right: 71px;
  width: 392px;
  height: 387px;
}
.top_moreover .ansewer_block h4 {
  color: #FFF;
  font-size: 33px;
  font-weight: 700;
  line-height: 55px;
  letter-spacing: 3.3px;
  margin-bottom: 43px;
  padding-left: 2px;
}
.top_moreover .ansewer_block h4 .line {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(62%, transparent), color-stop(50%, rgba(255, 255, 255, 0.3)));
  background: linear-gradient(transparent 62%, rgba(255, 255, 255, 0.3) 50%);
  color: #C2FF59;
  font-size: 37px;
  letter-spacing: 3.7px;
  display: inline-block;
  padding: 0 10px;
  -webkit-transform: translate(-11px, 5px);
          transform: translate(-11px, 5px);
}
.top_moreover .ansewer_block .txt_wrap {
  color: #FFF;
  font-size: 18px;
  font-weight: 700;
  line-height: 36px;
  letter-spacing: 1.8px;
}
@media (min-width: 768px) {
  .top_moreover h3 .line_pc {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(66%, transparent), color-stop(50%, rgba(255, 255, 255, 0.3)));
    background: linear-gradient(transparent 66%, rgba(255, 255, 255, 0.3) 50%);
    display: inline-block;
    padding: 0 10px 5px;
  }
}
@media (max-width: 767px) {
  .top_moreover {
    padding: 12px 0 0;
  }
  .top_moreover .container {
    max-width: calc(100% - 40px);
  }
  .top_moreover h3 {
    font-size: 21px;
    line-height: 27.634px;
    letter-spacing: 2.1px;
    margin-bottom: 15px;
  }
  .top_moreover h3 .txt_moreover {
    font-size: 23px;
    letter-spacing: 2.3px;
    padding: 0 54px 8px;
  }
  .top_moreover h3 .txt_moreover::before, .top_moreover h3 .txt_moreover:after {
    width: 30px;
    height: 26px;
    top: 0;
  }
  .top_moreover h3 .line_sp {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(55%, transparent), color-stop(50%, rgba(255, 255, 255, 0.3)));
    background: linear-gradient(transparent 55%, rgba(255, 255, 255, 0.3) 50%);
    display: inline-block;
    padding: 0 5px;
    margin-bottom: 11px;
  }
  .top_moreover h3 .line_sp.last-child {
    margin-bottom: 0;
  }
  .top_moreover .question_list {
    margin: 0 auto;
    gap: 0 32px;
    max-width: 480px;
    width: 100%;
  }
  .top_moreover .question_list li {
    width: 145px;
    height: 145px;
    font-size: 14px;
    line-height: 22px;
    letter-spacing: 0.7px;
    border: 5.127px solid #006E3F;
    padding: 4px 0 0;
    margin-bottom: 38px;
  }
  .top_moreover .question_list li.sp1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .top_moreover .question_list li.sp1:after {
    left: 6px;
  }
  .top_moreover .question_list li.sp2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .top_moreover .question_list li.sp2:after {
    background: url(../img/arrow_question3.svg) no-repeat center/cover;
    right: 8px;
  }
  .top_moreover .question_list li.sp3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-top: -49px;
  }
  .top_moreover .question_list li.sp3:after {
    background: url(../img/arrow_question2.svg) no-repeat center/cover;
    right: 1px;
  }
  .top_moreover .question_list li:after {
    width: 19px;
    height: 17px;
  }
  .top_moreover .ansewer_block {
    border-radius: 40px 40px 0 0;
    margin-top: -2px;
    padding: 43px 25px 166px;
  }
  .top_moreover .ansewer_block:after {
    width: 182px;
    height: 176px;
    right: 124px;
    bottom: 1px;
  }
  .top_moreover .ansewer_block h4 {
    font-size: 20px;
    line-height: 29px;
    letter-spacing: 2px;
    margin-bottom: 29px;
    padding-left: 4px;
  }
  .top_moreover .ansewer_block h4 .line {
    font-size: 21px;
    line-height: 27.634px;
    letter-spacing: 2.1px;
    -webkit-transform: translate(-3px, 3px);
            transform: translate(-3px, 3px);
    padding: 0 5px;
  }
  .top_moreover .ansewer_block .txt_wrap {
    font-size: 14px;
    line-height: 25px;
    letter-spacing: 1.4px;
  }
}

.top_feature {
  padding: 122px 0 93px;
  background: #F8F8F8;
  position: relative;
  z-index: 0;
}
.top_feature:before {
  content: "";
  width: calc(200vw - 260px);
  height: 100%;
  border-radius: 0 0 180px 0;
  border-right: solid 7px #0CAE75;
  border-bottom: solid 7px #0CAE75;
  position: absolute;
  top: 0;
  right: clamp(20px, 20px + 240 * (100vw - 1170px) / 670, 290px);
  background: #F8F8F8;
  z-index: -1;
}
.top_feature:after {
  content: "";
  width: 200vw;
  height: 210px;
  background: #0CAE75;
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -2;
}
.top_feature h2 {
  font-size: 30px;
  font-weight: 700;
  line-height: 30px;
  letter-spacing: 4.5px;
  margin-bottom: 72px;
}
.top_feature h2 .color {
  color: #0CAE75;
}
.top_feature h2 .num {
  font-size: 50px;
  letter-spacing: 7.5px;
}
.top_feature .feature_parts:not(:last-child) {
  margin-bottom: 64px;
}
.top_feature .feature_parts .col {
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
.top_feature .feature_parts figure {
  position: relative;
}
.top_feature .feature_parts figure figcaption {
  position: absolute;
  font-family: "Black Han Sans", sans-serif;
  font-size: 11px;
  line-height: 15.385px;
  letter-spacing: 0.55px;
  width: 106px;
  height: 95px;
  position: absolute;
  bottom: -1px;
  left: -1px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 0;
  overflow: hidden;
}
.top_feature .feature_parts figure figcaption:after {
  content: "";
  width: 190px;
  height: 190px;
  background: #DCFFEE;
  position: absolute;
  bottom: -104px;
  left: -84px;
  border-radius: 50%;
  z-index: -1;
}
.top_feature .feature_parts figure figcaption .wrapper {
  -webkit-transform: translate(-10px, 12px);
          transform: translate(-10px, 12px);
}
.top_feature .feature_parts figure figcaption .num {
  font-size: 41px;
  line-height: 33px;
  letter-spacing: 2.05px;
  display: block;
}
.top_feature .feature_parts .title {
  padding: 22px 0 20px;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 2px;
}
.top_feature .feature_parts .title .large {
  color: #0CAE75;
  font-size: 22px;
  letter-spacing: 2.2px;
}
.top_feature .feature_parts.col1 .title_wrap {
  max-width: 596px;
  margin: auto;
  padding: 22px 5px 25px 14px;
  font-size: 18px;
  font-weight: 700;
  line-height: 36px;
  letter-spacing: 1.8px;
}
.top_feature .feature_parts.col1 .title_wrap .large {
  font-size: 24px;
  line-height: 32px;
  letter-spacing: 2.4px;
  margin-bottom: 10px;
}
.top_feature .feature_parts.col1 .title_wrap .large .color {
  color: #0CAE75;
  font-size: 26px;
  letter-spacing: 2.6px;
}
@media (max-width: 767px) {
  .top_feature {
    padding: 64px 0 46px;
  }
  .top_feature:before {
    border-radius: 0 0 78px 0;
  }
  .top_feature h2 {
    font-size: 21px;
    line-height: 20.942px;
    letter-spacing: 3.15px;
    padding-left: 16px;
    margin-bottom: 30px;
  }
  .top_feature h2 .num {
    font-size: 35px;
    line-height: 27.923px;
    letter-spacing: 5.25px;
  }
  .top_feature h2 .sp_line {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(57%, transparent), color-stop(50%, #BEFEC0));
    background: linear-gradient(transparent 57%, #BEFEC0 50%);
    display: inline-block;
    padding: 13px 6px 5px 6px;
  }
  .top_feature h2 .sp_last {
    padding-top: 11px;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, transparent), color-stop(50%, #BEFEC0));
    background: linear-gradient(transparent 65%, #BEFEC0 50%);
  }
  .top_feature .container {
    margin: 0 30px 0 15px;
  }
  .top_feature .feature_parts {
    margin: 0 26px;
    padding-right: 26px;
  }
  .top_feature .feature_parts:not(:last-child) {
    margin-bottom: 20px;
  }
  .top_feature .feature_parts .col {
    max-width: 581px;
    width: 100%;
  }
  .top_feature .feature_parts .col:not(:last-child) {
    margin-bottom: 20px;
  }
  .top_feature .feature_parts .title {
    font-size: 17px;
    line-height: 27px;
    letter-spacing: 0.85px;
    padding: 12px 0 20px;
  }
  .top_feature .feature_parts .title .large {
    font-size: 17px;
    line-height: 27px;
    letter-spacing: 0.85px;
  }
  .top_feature .feature_parts figure figcaption {
    width: 83px;
    height: 68px;
  }
  .top_feature .feature_parts figure figcaption:after {
    width: 125px;
    height: 125px;
    bottom: -68px;
    left: -54px;
  }
  .top_feature .feature_parts figure figcaption .wrapper {
    font-size: 8.699px;
    line-height: 10.162px;
    letter-spacing: 0.435px;
    -webkit-transform: translate(-13px, 12px);
            transform: translate(-13px, 12px);
  }
  .top_feature .feature_parts figure figcaption .num {
    font-size: 27.083px;
    line-height: 21.798px;
    letter-spacing: 1.354px;
    -webkit-transform: translate(3px, 0px);
            transform: translate(3px, 0px);
  }
  .top_feature .feature_parts.col1 .title_wrap {
    max-width: 100%;
    padding: 11px 20px 19px;
    font-size: 14px;
    line-height: 25px;
    letter-spacing: 1.4px;
  }
  .top_feature .feature_parts.col1 .title_wrap .large {
    font-size: 17px;
    line-height: 27px;
    letter-spacing: 0.85px;
    text-align: center;
    margin-bottom: 13px;
  }
  .top_feature .feature_parts.col1 .title_wrap .large .color {
    font-size: 17px;
    line-height: 27px;
    letter-spacing: 0.85px;
  }
}
@media (min-width: 768px) {
  .top_feature .wrraper {
    max-width: 980px;
    width: 100%;
    margin: auto;
  }
  .top_feature h2 {
    padding-left: 2px;
  }
  .top_feature h2 .pc_line {
    text-align: center;
    line-height: 40px;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(74%, transparent), color-stop(50%, #BEFEC0));
    background: linear-gradient(transparent 74%, #BEFEC0 50%);
    display: inline-block;
    padding: 15px 6px 0 13px;
  }
  .top_feature .container {
    max-width: 1110px;
    width: 100%;
  }
  .top_feature .feature_parts {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .top_feature .feature_parts.col2 {
    gap: 62px 60px;
  }
  .top_feature .feature_parts.col2 .col {
    max-width: 460px;
    width: 100%;
  }
  .top_feature .feature_parts.col3 {
    gap: 45px;
  }
  .top_feature .feature_parts.col3 .col {
    max-width: 340px;
    width: 100%;
  }
  .top_feature .feature_parts.col1 figure figcaption {
    font-size: 14.5px;
    line-height: 20.537px;
    letter-spacing: 0.725px;
    width: 143px;
    height: 116px;
  }
  .top_feature .feature_parts.col1 figure figcaption .wrapper {
    -webkit-transform: translate(-13px, 12px);
            transform: translate(-13px, 12px);
  }
  .top_feature .feature_parts.col1 figure figcaption .num {
    font-size: 55px;
    line-height: 44.052px;
    letter-spacing: 2.75px;
    padding-top: 2px;
  }
  .top_feature .feature_parts.col1 figure figcaption:after {
    width: 253px;
    height: 253px;
    bottom: -138px;
    left: -110px;
  }
}

.top_voice {
  padding: 93px 0 85px;
  background: #0CAE75;
}
.top_voice .headline {
  text-align: center;
  margin-bottom: 81px;
}
.top_voice .headline .en {
  color: #A1F5A1;
  text-align: center;
  font-family: "Black Han Sans";
  font-size: 25px;
  line-height: 38.872px;
  letter-spacing: 2.5px;
  display: inline-block;
  position: relative;
  padding: 0 45px 0;
  margin-left: 3px;
  margin-bottom: 21px;
}
.top_voice .headline .en:before, .top_voice .headline .en:after {
  content: "";
  width: 24px;
  height: 29px;
  position: absolute;
  background: url(../img/voice_title_line.svg) no-repeat center/cover;
  bottom: 7px;
}
.top_voice .headline .en:before {
  left: 0;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.top_voice .headline .en:after {
  right: 0;
}
.top_voice h2 {
  max-width: 791px;
  color: #FFF;
  text-align: center;
  font-size: 30px;
  font-weight: 700;
  line-height: 42px;
  letter-spacing: 3px;
  padding: 13px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
.top_voice h2:before {
  content: "";
  width: 791px;
  height: 205px;
  background: url(../img/voice_title_frame.png) no-repeat center/cover;
  position: absolute;
  top: -3px;
  left: 0;
  right: 0;
  margin: auto;
}
.top_voice h2 .inner {
  width: 755px;
  background: #16D07D;
  display: block;
  padding: 27px 30px 28px;
  border-radius: 80px;
}
.top_voice h2 .inner .ic {
  padding-left: 103px;
  display: block;
  position: relative;
}
.top_voice h2 .inner .ic:before {
  content: "";
  width: 88px;
  height: 82px;
  background: url(../img/ic_logo.png) no-repeat center/cover;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 39px;
  margin: auto;
}
.top_voice .voice_parts {
  max-width: 1095px;
  width: 100%;
  margin: auto;
}
.top_voice .voice_parts .col {
  padding: 30px 35px 35px 35px;
  border-radius: 60px;
  background: #BEFEC0;
  -webkit-box-shadow: 5px 7px 10px 0 rgba(115, 115, 115, 0.15);
          box-shadow: 5px 7px 10px 0 rgba(115, 115, 115, 0.15);
}
.top_voice .voice_parts h3 {
  font-size: 22px;
  font-weight: 700;
  line-height: 29px;
  letter-spacing: 2.2px;
  border-radius: 50px;
  padding: 0 30px;
  background: #FFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 80px;
  margin-bottom: 24px;
}
.top_voice .voice_parts h3 .ic {
  width: 80px;
}
.top_voice .voice_parts h3 .ttl {
  display: block;
  text-align: center;
  width: 100%;
  padding-left: 3px;
}
.top_voice .voice_parts .contents_innner {
  padding: 0 15px;
}
.top_voice .voice_parts .txt_wrap {
  font-size: 16px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.6px;
}
.top_voice .voice_parts .clinic_name {
  border-top: 3px solid #0CAE75;
  padding: 12px 0 0 9px;
  font-size: 17px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.7px;
}
@media (max-width: 767px) {
  .top_voice {
    padding: 42px 0 63px;
  }
  .top_voice .container {
    max-width: calc(100% - 45px);
  }
  .top_voice .headline {
    margin-bottom: 47px;
  }
  .top_voice .headline .en {
    font-size: 21px;
    line-height: 34.955px;
    letter-spacing: 2.1px;
    padding: 0 41px 0;
    margin-bottom: 11px;
  }
  .top_voice .headline .en:before, .top_voice .headline .en:after {
    width: 22px;
    height: 27px;
    bottom: 6px;
  }
  .top_voice .headline .en:after {
    right: 3px;
  }
  .top_voice h2 {
    font-size: 17px;
    line-height: 22px;
    letter-spacing: 1.19px;
    padding: 0;
    height: clamp(96px, 26.666vw, 102px);
  }
  .top_voice h2:before {
    max-width: 356px;
    width: 100%;
    height: clamp(124px, 34.444vw, 131px);
    background: url(../img/voice_title_frame_sp.png) no-repeat center/cover;
  }
  .top_voice h2 .inner {
    padding: 0 0 2px;
    max-width: clamp(322px, 89.444vw, 332px);
    width: 100%;
    height: 86px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .top_voice h2 .inner .ic {
    padding-left: 35px;
  }
  .top_voice h2 .inner .ic:before {
    width: 51px;
    height: 47px;
    left: -26px;
  }
  .top_voice .voice_parts .col {
    padding: 18px 15px 27px 15px;
    border-radius: 40px;
    -webkit-box-shadow: 3.333px 4.667px 6.667px 0 rgba(115, 115, 115, 0.15);
            box-shadow: 3.333px 4.667px 6.667px 0 rgba(115, 115, 115, 0.15);
  }
  .top_voice .voice_parts .col:not(:last-child) {
    margin-bottom: 25px;
  }
  .top_voice .voice_parts h3 {
    font-size: 16px;
    line-height: 23px;
    letter-spacing: 1.6px;
    padding: 0 19px;
    min-height: 55px;
    margin-bottom: 17px;
  }
  .top_voice .voice_parts h3 .ic {
    width: 54px;
  }
  .top_voice .voice_parts h3 .ttl {
    margin-left: -10px;
    padding: 3px 0 0;
  }
  .top_voice .voice_parts .contents_innner {
    padding: 0 10px;
  }
  .top_voice .voice_parts .txt_wrap {
    font-size: 14px;
    line-height: 25px;
    letter-spacing: 1.4px;
    margin-bottom: 19px;
  }
  .top_voice .voice_parts .clinic_name {
    font-size: 15px;
    line-height: 25px;
    letter-spacing: 1.5px;
    padding: 7px 0 0 6.667px;
  }
}
@media (max-width: 420px) {
  .top_voice:before {
    height: clamp(124px, 34.444vw, 131px);
  }
}
@media (min-width: 768px) {
  .top_voice .voice_parts {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 45px;
  }
  .top_voice .voice_parts .contents_innner {
    min-height: 240px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.top_loopslider {
  height: 109px;
  background: url(../img/loopslide.png) repeat-x center center, #16D07D;
  -webkit-animation: loopScroll 4s linear infinite;
          animation: loopScroll 4s linear infinite;
  background-size: 280px 74px;
  border-bottom: 6px solid #333;
}
@media (max-width: 767px) {
  .top_loopslider {
    height: 75px;
    background: url(../img/loopslide_sp.png) repeat-x center center, #16D07D;
    background-size: 179px 53px;
    border-bottom: 5.434px solid #333;
  }
}

@-webkit-keyframes loopScroll {
  0% {
    background-position: 0 center;
  }
  100% {
    background-position: -280px center;
  }
}

@keyframes loopScroll {
  0% {
    background-position: 0 center;
  }
  100% {
    background-position: -280px center;
  }
}
@media (max-width: 767px) {
  @-webkit-keyframes loopScroll {
    0% {
      background-position: 0 center;
    }
    100% {
      background-position: -179px center;
    }
  }
  @keyframes loopScroll {
    0% {
      background-position: 0 center;
    }
    100% {
      background-position: -179px center;
    }
  }
}
.top_flow {
  padding: 109px 0 30px;
  background: #16D07D;
  position: relative;
  margin-bottom: 100px;
}
.top_flow:after {
  content: "";
  width: 100%;
  height: 100px;
  background: url(../img/earl_flow.svg) no-repeat center/cover;
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  right: 0;
  margin: auto;
}
.top_flow .arrow_wrap {
  margin-bottom: 60px;
  position: relative;
}
.top_flow .arrow_wrap:after {
  content: "";
  width: 150px;
  height: 36px;
  background: url(../img/arrow_flow.svg) no-repeat center/cover;
  position: absolute;
  top: calc(100% + 17px);
  left: 0;
  right: 0;
  margin: auto;
}
.top_flow .lead_box {
  max-width: 690px;
  height: 230px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  color: #FFF;
  font-size: 30px;
  font-weight: 700;
  line-height: 45px;
  letter-spacing: 4.5px;
  text-align: center;
  border-radius: 40px;
  background: url(../img/pattern_flow_bg.png) no-repeat center/cover, #039356;
  overflow: hidden;
  padding: 0 0 12px 5px;
}
.top_flow .lead_box .color {
  color: #C2FF59;
}
.top_flow .lead_box .num {
  font-size: 50px;
  letter-spacing: 7.5px;
}
.top_flow .lead_box .line {
  display: inline-block;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(57%, transparent), color-stop(50%, #6BD16E));
  background: linear-gradient(transparent 57%, #6BD16E 50%);
  padding: 0 10px;
  -webkit-transform: translate(-1px, 6px);
          transform: translate(-1px, 6px);
  letter-spacing: 3px;
}
.top_flow .flow_container {
  max-width: 1118px;
  width: 100%;
  margin: 0 auto 64px;
}
.top_flow .flow_container .col {
  border-radius: 50px;
  background: #DCFFEE;
  margin-top: 73px;
  padding: 61px 0 71px;
  position: relative;
}
.top_flow .flow_container .ic {
  text-align: center;
}
.top_flow .flow_container .ic img {
  width: 157px;
}
.top_flow .flow_container .step {
  text-align: center;
  color: #BEFEC0;
  font-family: "Black Han Sans", sans-serif;
  font-size: 17px;
  line-height: 25px;
  letter-spacing: 2.55px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 141px;
  height: 131px;
  background: #16D07D;
  border-radius: 100px;
  position: absolute;
  top: -90px;
  left: 0;
  right: 0;
  margin: auto;
  padding-bottom: 21px;
}
.top_flow .flow_container .step .num {
  display: block;
  font-size: 42px;
  font-weight: 400;
  line-height: 37px;
  letter-spacing: 2.1px;
}
.top_flow .flow_container .title {
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  line-height: 36px;
  letter-spacing: 2.2px;
}
.top_flow .txt_container .txt {
  color: #FFF;
  font-size: 26px;
  font-weight: 700;
  line-height: 40px;
  letter-spacing: 2.6px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 30px;
  padding-left: 2px;
}
.top_flow .txt_container .txt .ic {
  width: 75px;
}
@media (max-width: 767px) {
  .top_flow {
    padding: 50px 0 29px;
    margin-bottom: 20px;
  }
  .top_flow:after {
    height: 21px;
  }
  .top_flow .container {
    max-width: calc(100% - 40px);
  }
  .top_flow .arrow_wrap:after {
    width: 102px;
    height: 25px;
    top: calc(100% + 13px);
  }
  .top_flow .lead_box {
    height: 145px;
    font-size: 20px;
    line-height: 29px;
    letter-spacing: 2px;
    border-radius: 30px;
    padding: 0 0px 10px 5px;
  }
  .top_flow .lead_box .num {
    font-size: 34px;
    line-height: 27.634px;
    letter-spacing: 3.4px;
  }
  .top_flow .lead_box .color {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(57%, transparent), color-stop(50%, #6BD16E));
    background: linear-gradient(transparent 57%, #6BD16E 50%);
    font-size: 21px;
    line-height: 27.634px;
    letter-spacing: 2.1px;
    display: inline-block;
    padding: 0px 5px 2px;
  }
  .top_flow .lead_box .line {
    font-size: 20px;
    line-height: 29px;
    letter-spacing: 2px;
    padding: 0 4px;
  }
  .top_flow .flow_container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 31px 20px;
    max-width: 320px;
    margin-bottom: 46px;
  }
  .top_flow .flow_container .step {
    font-size: 10.54px;
    line-height: 15.5px;
    letter-spacing: 1.581px;
    width: 87.42px;
    height: 85.56px;
    border-radius: 62px;
    top: calc(env(safe-area-inset-top) - 60px);
    padding-bottom: 13px;
    clip-path: inset(30px 0 0 0 round 50%);
  }
  .top_flow .flow_container .step .num {
    font-size: 26.04px;
    line-height: 22.94px;
    letter-spacing: 1.302px;
  }
  .top_flow .flow_container .ic img {
    width: 97px;
  }
  .top_flow .flow_container .title {
    font-size: 15px;
    line-height: 19px;
    letter-spacing: 1.5px;
  }
  .top_flow .flow_container .col {
    width: 150px;
    min-height: 160px;
    border-radius: 31px;
    padding: 25px 0 0;
    margin-top: 19px;
    position: relative;
  }
  .top_flow .flow_container .col:nth-child(1) {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .top_flow .flow_container .col:nth-child(1):after {
    content: "";
    width: 10px;
    height: 20px;
    background: #DCFFEE;
    position: absolute;
    top: 8px;
    bottom: 0;
    left: 100%;
    margin: auto;
    clip-path: polygon(100% 50%, 0 0, 0 100%);
  }
  .top_flow .flow_container .col:nth-child(2) {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .top_flow .flow_container .col:nth-child(2) .ic {
    margin-bottom: 3px;
  }
  .top_flow .flow_container .col:nth-child(2) .ic img {
    -webkit-transform: translate(0, 5px);
            transform: translate(0, 5px);
    width: 92px;
  }
  .top_flow .flow_container .col:nth-child(2):after {
    content: "";
    width: 20px;
    height: 10px;
    background: #DCFFEE;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin: auto;
    clip-path: polygon(50% 100%, 100% 0, 0 0);
  }
  .top_flow .flow_container .col:nth-child(3) {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .top_flow .flow_container .col:nth-child(3) .ic {
    margin-bottom: 3px;
  }
  .top_flow .flow_container .col:nth-child(3) .ic img {
    width: 90px;
    -webkit-transform: translate(0, 6px);
            transform: translate(0, 6px);
  }
  .top_flow .flow_container .col:nth-child(3):after {
    content: "";
    width: 10px;
    height: 20px;
    background: #DCFFEE;
    position: absolute;
    top: 5px;
    bottom: 0;
    right: calc(100% - 1px);
    margin: auto;
    clip-path: polygon(0 50%, 100% 100%, 100% 0);
  }
  .top_flow .flow_container .col:nth-child(4) {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .top_flow .flow_container .col:nth-child(4) .ic {
    margin-bottom: 3px;
  }
  .top_flow .flow_container .col:nth-child(4) .ic img {
    width: 92px;
    -webkit-transform: translate(1px, 5px);
            transform: translate(1px, 5px);
  }
  .top_flow .txt_container .txt {
    font-size: 17px;
    line-height: 27px;
    letter-spacing: 1.7px;
    gap: 14px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 0;
  }
  .top_flow .txt_container .txt .ic {
    width: 50px;
  }
}
@media (min-width: 768px) {
  .top_flow .flow_container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
  }
  .top_flow .flow_container .col:not(:last-child) {
    position: relative;
  }
  .top_flow .flow_container .col:not(:last-child):after {
    content: "";
    width: 15px;
    height: 30px;
    background-color: #DCFFEE;
    position: absolute;
    top: 0;
    bottom: 14px;
    left: calc(100% - 1px);
    margin: auto;
    clip-path: polygon(100% 50%, 0 0, 0 100%);
  }
  .top_flow .txt_container .txt .center {
    text-align: center;
    display: block;
  }
}
@media (min-width: 1921px) {
  .top_flow {
    margin-bottom: clamp(100px, 5.25767vw, 171px);
  }
  .top_flow:after {
    height: clamp(100px, 5.25767vw, 157px);
  }
}

.top_price {
  padding: 74px 0 93px;
}
.top_price h2 {
  text-align: center;
  font-size: 30px;
  font-weight: 700;
  line-height: 40px;
  letter-spacing: 4.5px;
  margin-bottom: 97px;
}
.top_price h2 .en {
  font-family: "Black Han Sans", sans-serif;
  font-size: 25px;
  font-weight: 400;
  line-height: 38.872px;
  letter-spacing: 2.5px;
  display: inline-block;
  padding: 0 44px;
  position: relative;
  margin-bottom: 25px;
}
.top_price h2 .en:before, .top_price h2 .en:after {
  content: "";
  width: 24px;
  height: 29px;
  position: absolute;
  bottom: 7px;
  background: url(../img/price_title_line.svg) no-repeat center/cover;
}
.top_price h2 .en:before {
  left: -4px;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.top_price h2 .en:after {
  right: 0;
}
.top_price h2 .line {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(57%, transparent), color-stop(50%, #BEFEC0));
  background: linear-gradient(transparent 57%, #BEFEC0 50%);
  display: inline-block;
  padding: 0 10px 0;
  margin-bottom: 16px;
}
.top_price h2 .color {
  color: #0CAE75;
  font-size: 30px;
  font-weight: 700;
  line-height: 40px;
  letter-spacing: 4.5px;
}
.top_price h2 .num {
  color: #0CAE75;
  font-size: 50px;
  line-height: 40px;
  letter-spacing: 7.5px;
}
.top_price .lead_txt {
  padding: 1px 10px 0 20px;
  border-radius: 15px;
  background: #F8F8F8;
  max-width: 868px;
  width: 100%;
  margin: 0 auto 39px;
  min-height: 85px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.top_price .lead_txt .txt {
  font-size: 21px;
  font-weight: 700;
  line-height: 30px;
  letter-spacing: 2.1px;
  padding-left: 58px;
  position: relative;
}
.top_price .lead_txt .txt:before {
  content: "";
  width: 48px;
  height: 34px;
  background: url(../img/ic_note.svg) no-repeat center/cover;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.top_price .lead_txt .txt .dotted_underline {
  position: relative;
  padding: 0 6px 10px 0;
}
.top_price .lead_txt .txt .dotted_underline:after {
  content: "";
  width: calc(100% + 5px);
  height: 3px;
  background: url(../img/dots_pattern.png) repeat center;
  position: absolute;
  bottom: 0;
  left: -5px;
}
.top_price .lead_txt .txt .size01 {
  font-size: 27px;
  letter-spacing: 2.7px;
}
.top_price .lead_txt .txt .size02 {
  font-size: 29px;
  letter-spacing: 2.9px;
  color: #FA5168;
}
.top_price .lead_txt .txt .free {
  padding-left: 7px;
}
.top_price .price_container {
  padding: 78px 0 60px;
  border-radius: 0 50px 50px 50px;
  border: 5px solid #333;
  background: #FFF;
  max-width: 1012px;
  width: 100%;
  margin: auto;
  position: relative;
}
.top_price .price_container:not(:last-child) {
  margin-bottom: 84px;
}
.top_price .price_container h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 407px;
  height: 80px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 50px;
  background: #0CAE75;
  color: #FFF;
  font-size: 25px;
  font-weight: 700;
  line-height: 30px;
  letter-spacing: 3.75px;
  position: absolute;
  top: -42px;
  left: -47px;
}
.top_price .price_container .inner {
  max-width: 770px;
  width: 100%;
  margin: auto;
}
.top_price .price_container .primary_box {
  padding: 0 15px 32px;
  position: relative;
}
.top_price .price_container .primary_box:after {
  content: "";
  width: 100%;
  height: 2px;
  background: #333;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.top_price .price_container .primary_box .txt {
  padding-left: 70px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.6px;
}
.top_price .price_container .primary_box .color {
  color: #0CAE75;
  margin: 0 7px;
}
.top_price .price_container .list {
  padding-left: 12px;
  margin-bottom: 10px;
}
.top_price .price_container .list li {
  padding-left: 55px;
  position: relative;
  font-size: 24px;
  font-weight: 700;
  line-height: 25px;
  letter-spacing: 2.4px;
}
.top_price .price_container .list li:not(:last-child) {
  margin-bottom: 35px;
}
.top_price .price_container .list li:before {
  content: "";
  width: 34px;
  height: 34px;
  background: url(../img/ic_list.svg) no-repeat center/cover;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.top_price .price_container .list li .ttl {
  min-width: 161px;
  display: inline-block;
}
.top_price .price_container .list li .price {
  color: #0CAE75;
  font-size: 32px;
  line-height: 30px;
  letter-spacing: 1.6px;
  padding-right: 3px;
}
.top_price .price_container .list li .tax {
  font-size: 21px;
  line-height: 25px;
  letter-spacing: 2.1px;
  display: inline-block;
  -webkit-transform: translate(0, 2px);
          transform: translate(0, 2px);
}
.top_price .price_container .list li .other {
  width: 130px;
  display: inline-block;
  border-radius: 5px;
  background: #EAEAEA;
  text-align: center;
  font-size: 21px;
  line-height: 25px;
  letter-spacing: 2.1px;
  padding: 5px 5px 5px;
  -webkit-transform: translate(0, -4px);
          transform: translate(0, -4px);
  margin-left: 30px;
}
.top_price .price_container .note_box {
  padding: 24px 5px 0 29px;
}
.top_price .price_container .note_box h4 {
  width: 129px;
  height: 33px;
  border-radius: 50px;
  background: #E3F9EE;
  font-size: 16px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.6px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 4px;
}
.top_price .price_container .note_list {
  padding-left: 10px;
  margin-bottom: 30px;
}
.top_price .price_container .note_list li {
  font-size: 16px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.6px;
}
.top_price .price_container.container_typeB h3 {
  background: #16D07D;
}
.top_price .price_container.container_typeB .inner {
  max-width: 900px;
}
.top_price .price_table.primary thead th:first-child {
  width: 300px;
}
@media (min-width: 768px) {
  .top_price .price_container.container_typeB .price_table.secondary thead th:first-child {
    width: 190px;
  }
  .top_price .price_container.container_typeB .price_table.secondary thead th:last-child {
    width: 250px;
  }
  .top_price .price_container.container_typeB .price_table.secondary .price {
    font-size: 20px;
    line-height: 25px;
    letter-spacing: 1px;
  }
  .top_price .price_container.container_typeB .price_table.secondary .yen {
    font-size: 19px;
    line-height: 25px;
    letter-spacing: 1.9px;
  }
  .top_price .price_container.container_typeB .price_table.secondary .tax {
    font-size: 16px;
    line-height: 25px;
    letter-spacing: 1.6px;
    margin-left: 4px;
  }
  .top_price .price_container.container_typeB .price_table.secondary tbody th,
  .top_price .price_container.container_typeB .price_table.secondary tbody td {
    padding: 19px 0 18px 20px;
  }
  .top_price .price_container.container_typeB .price_table.secondary tbody th {
    padding: 19px 15px 18px;
  }
  .top_price .price_container.container_typeB .price_table.secondary tbody td {
    padding: 19px 0 18px 20px;
    text-align: center;
  }
}
@media (max-width: 767px) {
  .top_price {
    padding: 53px 0 57px;
  }
  .top_price .container {
    max-width: calc(100% - 51px);
  }
  .top_price h2 {
    font-size: 20px;
    line-height: 27.923px;
    letter-spacing: 3px;
    margin-bottom: 66px;
  }
  .top_price h2 .en {
    font-size: 21px;
    line-height: 34.955px;
    letter-spacing: 2.1px;
    padding: 0 39px;
    margin-bottom: 10px;
  }
  .top_price h2 .en:before, .top_price h2 .en:after {
    bottom: 5px;
    width: 22px;
    height: 27px;
  }
  .top_price h2 .en:before {
    left: 0;
  }
  .top_price h2 .color {
    font-size: 20px;
    line-height: 27.923px;
    letter-spacing: 3px;
  }
  .top_price h2 .line {
    margin-bottom: 11px;
  }
  .top_price h2 .num {
    font-size: 35px;
    line-height: 27.923px;
    letter-spacing: 5.25px;
  }
  .top_price h2 .second {
    font-size: 21px;
    line-height: 20.942px;
    letter-spacing: 3.15px;
  }
  .top_price .lead_txt {
    padding: 4px 3px 12px 3px;
    width: calc(100% - 15px);
    margin-bottom: 15px;
  }
  .top_price .lead_txt .txt {
    font-size: 14.5px;
    line-height: 21.256px;
    letter-spacing: 1.45px;
    padding-left: 38px;
  }
  .top_price .lead_txt .txt:before {
    width: 27px;
    height: 19px;
    bottom: auto;
    left: 7px;
  }
  .top_price .lead_txt .txt .dotted_underline {
    padding: 0 3px 7px 0;
  }
  .top_price .lead_txt .txt .dotted_underline:after {
    content: "";
    width: calc(100% + 5px);
    height: 2px;
    left: -5px;
    background: url(../img/dots_pattern_sp.png) repeat center;
  }
  .top_price .lead_txt .txt .spbr {
    margin-bottom: 11px;
  }
  .top_price .lead_txt .txt .size01 {
    font-size: 17px;
    line-height: 21.256px;
    letter-spacing: 1.7px;
  }
  .top_price .lead_txt .txt .size02 {
    font-size: 17px;
    line-height: 21.256px;
    letter-spacing: 1.7px;
  }
  .top_price .price_container {
    padding: 43px 0 42px;
    border-radius: 0 40px 40px 40px;
  }
  .top_price .price_container:not(:last-child) {
    margin-bottom: 63px;
  }
  .top_price .price_container h3 {
    width: 200px;
    font-size: 17px;
    line-height: 30px;
    letter-spacing: 2.55px;
    height: 50px;
    top: -29px;
    left: -16px;
  }
  .top_price .price_container .list {
    padding-left: 15px;
    margin-bottom: 27px;
  }
  .top_price .price_container .list li {
    font-size: 15px;
    line-height: 25px;
    letter-spacing: 1.5px;
    padding-left: 30px;
  }
  .top_price .price_container .list li:not(:last-child) {
    margin-bottom: 12px;
  }
  .top_price .price_container .list li:before {
    width: 23px;
    height: 23px;
    bottom: auto;
    top: 5px;
  }
  .top_price .price_container .list li .ttl {
    font-size: 16px;
    line-height: 25px;
    letter-spacing: 1.6px;
    min-width: auto;
    margin-right: 9px;
  }
  .top_price .price_container .list li .price {
    font-size: 23px;
    line-height: 30px;
    letter-spacing: 1.15px;
    padding-right: 5px;
  }
  .top_price .price_container .list li .tax {
    font-size: 15px;
    line-height: 25px;
    letter-spacing: 1.5px;
  }
  .top_price .price_container .list li .other {
    display: block;
    margin: 12px 0 0;
    font-size: 15px;
    line-height: 25px;
    letter-spacing: 1.5px;
    padding: 5px 5px 3px;
  }
  .top_price .price_container .primary_box {
    padding: 0 0px 36px;
  }
  .top_price .price_container .primary_box .txt {
    font-size: 14px;
    line-height: 25px;
    letter-spacing: 1.4px;
    padding: 0 22px;
  }
  .top_price .price_container .primary_box .color {
    margin: 0 6px;
  }
  .top_price .price_container .note_box {
    padding: 24px 5px 0 15px;
  }
  .top_price .price_container .note_box h4 {
    font-size: 15px;
    line-height: 20px;
    letter-spacing: 1.5px;
  }
  .top_price .price_container .note_list {
    padding: 0 14px 0 13px;
  }
  .top_price .price_container .note_list li {
    font-size: 14px;
    line-height: 25px;
    letter-spacing: 1.4px;
  }
  .top_price .price_container.container_typeB {
    padding: 44px 0 42px;
  }
  .top_price .price_container.container_typeB .price_table.secondary thead th:last-child {
    width: 190px;
  }
  .top_price .price_container.container_typeB .price_table.secondary tbody th,
  .top_price .price_container.container_typeB .price_table.secondary tbody td {
    padding: 11px 5px 10px 29px;
  }
  .top_price .price_table {
    width: calc(100% - 35px);
    margin: 0 auto;
  }
  .top_price .price_table.primary thead th:first-child {
    width: 120px;
  }
  .top_price .price_table .consultation {
    padding-left: 58px;
  }
}

.top_faq {
  position: relative;
  z-index: 0;
}
.top_faq:after {
  content: "";
  width: 100%;
  height: 165px;
  background: #A1F5A1;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.top_faq h2 {
  color: #FFF;
  font-family: "BIZ UDPGothic";
  font-size: 30px;
  font-weight: 700;
  line-height: 30px;
  letter-spacing: 4.5px;
  margin-bottom: 42px;
}
.top_faq .primary_container {
  padding: 95px 0 95px 115px;
  position: relative;
  z-index: 0;
}
.top_faq .primary_container:before {
  content: "";
  width: 200vw;
  height: 100%;
  background: #0CAE75;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 105px 0 0 105px;
  border-top: 7px solid #A1F5A1;
  border-bottom: 7px solid #A1F5A1;
  border-left: 7px solid #A1F5A1;
  z-index: -1;
}
.top_faq .box_faq {
  border-radius: 20px;
  border: 3px solid #A1F5A1;
  overflow: hidden;
}
.top_faq .box_faq:not(:last-child) {
  margin-bottom: 25px;
}
.top_faq .box_faq .question {
  position: relative;
}
.top_faq .box_faq .question:before, .top_faq .box_faq .question:after {
  content: "";
  width: 31px;
  height: 5px;
  background: url(../img/minus-base.svg) no-repeat center/cover;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 32px;
  margin: auto;
  border-radius: 5px;
}
.top_faq .box_faq .question:after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.top_faq .box_faq .question:hover:before, .top_faq .box_faq .question:hover:after {
  background: url(../img/minus-base-hover.svg) no-repeat center/cover;
}
.top_faq .box_faq .faq_title {
  color: #FFF;
  font-size: 22px;
  font-weight: 700;
  line-height: 25px;
  letter-spacing: 3.3px;
  padding: 5px 90px 5px 100px;
  /* padding: 5px 30px 5px 100px; */
  min-height: 74px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  position: relative;
}
.top_faq .box_faq .faq_title:before {
  content: "";
  width: 46px;
  height: 46px;
  background: url(../img/ic_q.svg) no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 28px;
  bottom: 0;
  margin: auto;
}
.top_faq .box_faq .faq_title p {
  line-height: 1.4;
}
.top_faq .box_faq .answer {
  padding: 23px 26px 26px 28px;
  display: none;
  border-top: solid 3px #A1F5A1;
}
.top_faq .box_faq .answer .inner {
  padding: 25px 20px 25px 72px;
  border-radius: 15px;
  background: #DCFFEE;
  position: relative;
  letter-spacing: 1.8px;
  line-height: 32px;
}
.top_faq .box_faq .answer .inner:before {
  content: "";
  width: 30px;
  height: 30px;
  background: url(../img/ic_a.svg) no-repeat center/cover;
  position: absolute;
  left: 22px;
  top: 25px;
}
.top_faq .box_faq.open .question:after {
  -webkit-transform: rotate(0);
          transform: rotate(0);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.top_faq .headline_block {
  -webkit-transform: translate(110px, -25px);
          transform: translate(110px, -25px);
}
.top_faq .headline_block .title {
  font-family: "Black Han Sans", sans-serif;
  color: #A1F5A1;
  text-align: center;
  font-size: 75px;
  font-weight: 400;
  line-height: 80px;
  letter-spacing: 11.25px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  display: table;
  position: relative;
}
.top_faq .headline_block .title:after {
  content: "";
  width: 3px;
  height: 426px;
  position: absolute;
  top: calc(100% + 27px);
  left: 13px;
  right: 0;
  margin: auto;
  background: url(../img/title_line.svg) no-repeat center/cover;
  border-radius: 5px;
}
@media (max-width: 767px) {
  .top_faq:after {
    height: 103px;
  }
  .top_faq .container {
    max-width: calc(100% - 31px);
    margin-left: 20px;
  }
  .top_faq h2 {
    font-size: 21px;
    line-height: 30px;
    letter-spacing: 3.15px;
    padding-left: 10px;
    margin-bottom: 25px;
  }
  .top_faq .primary_container {
    padding: 54px 9px 58px 20px;
  }
  .top_faq .primary_container:before {
    border-radius: 46px 0 0 46px;
    left: -7px;
  }
  .top_faq .box_faq:not(:last-child) {
    margin-bottom: 14px;
  }
  .top_faq .box_faq .faq_title {
    padding: 9px 45px 15px 63px;
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 2.4px;
    min-height: 66px;
  }
  .top_faq .box_faq .faq_title:before {
    width: 40px;
    height: 40px;
    left: 12px;
  }
  .top_faq .box_faq .question:before, .top_faq .box_faq .question:after {
    width: 28px;
    height: 3px;
    right: 16px;
  }
  .top_faq .box_faq .answer {
    padding: 15px 12px 17px 11px;
  }
  .top_faq .box_faq .answer .inner {
    padding: 16px 20px 14px 50px;
    font-size: 14px;
    line-height: 25px;
    letter-spacing: 1.4px;
  }
  .top_faq .box_faq .answer .inner:before {
    width: 24px;
    height: 24px;
    left: 13px;
    top: 18px;
  }
}
@media (min-width: 768px) {
  .top_faq .container {
    width: 1108px;
  }
  .top_faq .primary_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 22px;
  }
  .top_faq .primary_container .faq_block {
    width: 890px;
  }
}
@media (min-width: 768px) and (max-width: 1300px) {
  .top_faq .title {
    margin-right: 20px;
  }
}
@media (min-width: 768px) and (max-width: 1454px) {
  .top_faq .headline_block {
    -webkit-transform: translate(20px, -25px);
            transform: translate(20px, -25px);
  }
}

.top_form {
  padding: 167px 0 0;
  background: #A1F5A1;
}
.top_form .wpcf7-form {
  width: 945px;
  padding: 78px 95px 62px 93px;
  margin: auto;
  border-radius: 70px;
  background: #BEFEC0;
}
.top_form h2 {
  color: #000;
  text-align: center;
  font-size: 30px;
  font-weight: 700;
  line-height: 42px;
  letter-spacing: 0.15em;
  padding: 0;
  margin-bottom: 24px;
}
.top_form h2:before {
  display: none;
}
.top_form h2 strong {
  color: #0CAE75;
  font-size: 42px;
  font-weight: 700;
  line-height: 42px;
  letter-spacing: 6.3px;
  display: inline-block;
  position: relative;
}
.top_form h2 strong:after {
  content: "";
  width: 51px;
  height: 50px;
  background: url(../img/ic_form.svg) no-repeat center/cover;
  position: absolute;
  bottom: calc(100% - 12px);
  left: 100%;
}
.top_form .guide_list {
  display: table;
  margin: auto;
  -webkit-transform: translate(110px, 14px);
          transform: translate(110px, 14px);
}
.top_form .guide_list li {
  margin: 0;
}
.top_form .guide_list .txt {
  font-size: 27px;
  font-weight: 700;
  line-height: 45px;
  letter-spacing: 2.7px;
  width: 392px;
  height: 275px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: absolute;
  bottom: calc(100% - 157px);
  right: calc(100% - 67px);
  z-index: -1;
}
.top_form .guide_list .txt:before {
  content: "";
  background: url(../img/balloon_img.svg) no-repeat center/cover;
  width: 406px;
  height: 283px;
  position: absolute;
  top: 25px;
  bottom: 0;
  left: -11px;
  right: 0;
  margin: auto;
  z-index: -2;
}
.top_form .guide_list .txt .line {
  color: #006E3F;
  text-align: center;
  font-family: "BIZ UDPGothic";
  font-size: 29px;
  font-weight: 700;
  line-height: 46px;
  letter-spacing: 2.9px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(57%, transparent), color-stop(50%, #BEFEC0));
  background: linear-gradient(transparent 57%, #BEFEC0 50%);
  -webkit-transform: translate(1px, -3px);
          transform: translate(1px, -3px);
  display: inline-block;
  padding: 0 9px 1px;
}
.top_form .guide_list .image {
  width: 211px;
}
.top_form .txt {
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 0.1em;
  margin-bottom: 47px;
}
.top_form .txt .required {
  margin-right: 2px;
  -webkit-transform: translate(-3px, -2px);
          transform: translate(-3px, -2px);
}
.top_form .txt .color {
  color: #0CAE75;
}
.top_form .formItem {
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 12px 20px 12px 30px;
  gap: 15px;
  border-radius: 15px;
  border: 2px solid transparent;
}
.top_form .formItem:not(:last-child) {
  margin-bottom: 19px;
}
.top_form .formItem .labelArea {
  width: 190px;
}
.top_form .formItem .inputArea {
  width: calc(100% - 205px);
}
.top_form .formItem .ttl {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  color: #0CAE75;
  font-size: 19px;
  font-weight: 700;
  line-height: 35px;
  letter-spacing: 1.9px;
  padding-top: 2px;
}
.top_form .formItem input {
  width: 100%;
  border: 0;
  padding: 5px 1px 5px 6px;
  letter-spacing: 1.6px;
}
.top_form .formItem input::-webkit-input-placeholder {
  color: #BCBCBC;
  font-size: 16px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.6px;
  font-family: "BIZ UDPGothic";
}
.top_form .formItem input::-moz-placeholder {
  color: #BCBCBC;
  font-size: 16px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.6px;
  font-family: "BIZ UDPGothic";
}
.top_form .formItem input:-ms-input-placeholder {
  color: #BCBCBC;
  font-size: 16px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.6px;
  font-family: "BIZ UDPGothic";
}
.top_form .formItem input::-ms-input-placeholder {
  color: #BCBCBC;
  font-size: 16px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.6px;
  font-family: "BIZ UDPGothic";
}
.top_form .formItem input::placeholder {
  color: #BCBCBC;
  font-size: 16px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.6px;
  font-family: "BIZ UDPGothic";
}
.top_form .formItem input:focus {
  background: #eee;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.top_form .formItem textarea {
  height: 110px;
  width: 100%;
  border: 0;
  resize: none;
  padding: 2px 1px 5px 6px;
}
.top_form .formItem textarea::-webkit-input-placeholder {
  color: #BCBCBC;
  font-size: 16px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.6px;
  font-family: "BIZ UDPGothic";
}
.top_form .formItem textarea::-moz-placeholder {
  color: #BCBCBC;
  font-size: 16px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.6px;
  font-family: "BIZ UDPGothic";
}
.top_form .formItem textarea:-ms-input-placeholder {
  color: #BCBCBC;
  font-size: 16px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.6px;
  font-family: "BIZ UDPGothic";
}
.top_form .formItem textarea::-ms-input-placeholder {
  color: #BCBCBC;
  font-size: 16px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.6px;
  font-family: "BIZ UDPGothic";
}
.top_form .formItem textarea::placeholder {
  color: #BCBCBC;
  font-size: 16px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.6px;
  font-family: "BIZ UDPGothic";
}
.top_form .formItem textarea:focus {
  background: #eee;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.top_form .formItem.has-error {
  border: 2px solid #FF528E;
  margin-bottom: 52px;
  position: relative;
}
.top_form .formItem.has-error .wpcf7-form-control-wrap {
  position: static;
}
.top_form .formItem.has-error .wpcf7-not-valid-tip {
  position: absolute;
  top: calc(100% + 13px);
  left: 8px;
  color: #FA697D;
  font-size: 15px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 2.25px;
}
.top_form .agreeText {
  padding: 25px 0 36px 3px;
  border-radius: 15px;
  border: 3px solid #6BD16E;
  background: #FFF;
  font-size: 16px;
  font-weight: 700;
  line-height: 31px;
  letter-spacing: 1.6px;
  text-align: center;
  margin-top: 34px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.top_form .agreeText .link {
  text-decoration: none;
  color: #0CAE75;
  font-family: "BIZ UDPGothic";
  font-size: 16px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.6px;
  display: inline-block;
  padding: 2px 12px;
  position: relative;
}
.top_form .agreeText .link:after {
  content: "";
  width: calc(100% - 10px);
  height: 1px;
  background: #0CAE75;
  position: absolute;
  bottom: 2px;
  left: 0;
  right: 0;
  margin: auto;
}
.top_form .agreeText .link:hover {
  opacity: 0.8;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.top_form .agreeText .agreeWrapper {
  margin-top: 13px;
  color: #0CAE75;
  font-size: 17px;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 1.7px;
}
.top_form .agreeText .agreeWrapper .required {
  -webkit-transform: translate(-5px, 4px);
          transform: translate(-5px, 4px);
}
.top_form .agreeText input[type=checkbox] {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 2px solid #626262;
  border-radius: 3px;
  cursor: pointer;
  position: relative;
  background: #fff;
  -webkit-transform: translate(-5px, 4px);
          transform: translate(-5px, 4px);
}
.top_form .agreeText input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 0px;
  width: 8px;
  height: 14px;
  border: solid #626262;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.top_form .agreeText .agree {
  -webkit-transform: translate(-16px, 5px);
          transform: translate(-16px, 5px);
  display: inline-block;
}
.top_form .agreeText.has-error .wpcf7-not-valid-tip {
  -webkit-transform: translate(10px, 10px);
          transform: translate(10px, 10px);
}
.top_form .agreeText.has-error {
  border: 2px solid #FF528E;
  margin-bottom: 52px;
  position: relative;
}
.top_form .agreeText.has-error .wpcf7-form-control-wrap {
  position: static;
}
.top_form .agreeText.has-error .wpcf7-not-valid-tip {
  position: absolute;
  top: calc(100% - 4px);
  left: -38px;
  margin: auto;
  width: 240px;
  color: #FA697D;
  font-size: 15px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 2.25px;
}
.top_form .wpcf7-list-item {
  margin: 0 0 0 24px;
}
.top_form .button {
  margin: 41px auto 0;
  position: relative;
  width: 290px;
  cursor: pointer;
  z-index: 0;
}
.top_form .button:before {
  content: "";
  width: calc(100% + 20px);
  height: calc(100% + 20px);
  border: solid 3px #6BD16E;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border-radius: 50px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.top_form .button:after {
  content: "";
  width: 50px;
  height: 12px;
  background: url(../img/ic_arrow_form.svg) no-repeat center/cover;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 49px;
  margin: auto;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  z-index: 1;
}
.top_form .button input[type=submit] {
  color: #FFF;
  font-size: 20px;
  font-weight: 700;
  line-height: 30px;
  letter-spacing: 3px;
  border: 0;
  border-radius: 50px;
  background: #0CAE75;
  width: 100%;
  height: 70px;
  border-radius: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-right: 34px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  position: relative;
  z-index: 1;
}
.top_form .button:hover:before {
  border-color: #6BD16E;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.top_form .button:hover:after {
  right: 41px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.top_form .button:hover input[type=submit] {
  background: #6BD16E;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.top_form .wpcf7-spinner {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 10px);
  margin: auto;
}
.top_form .wpcf7-response-output {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 755px;
  height: 55px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  border-radius: 50px;
  background: #FFF;
  color: #FF528E;
  font-size: 18px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 1.8px;
  border: 0 !important;
}
.top_form .wpcf7-response-output.is-success {
  color: #0CAE75;
}
@media (max-width: 767px) {
  .top_form {
    padding: 94px 0 49px;
  }
  .top_form .container {
    max-width: calc(100% - 44px);
  }
  .top_form h2 {
    font-size: 20px;
    line-height: 30px;
    letter-spacing: 3px;
    margin-bottom: 16px;
    padding-left: 6px;
  }
  .top_form h2 strong {
    font-size: 31px;
    line-height: 42px;
    letter-spacing: 4.65px;
    padding-top: 10px;
  }
  .top_form h2 strong:after {
    width: 30px;
    height: 29px;
    bottom: calc(100% - 35px);
    left: calc(100% - 3px);
  }
  .top_form .txt {
    font-size: 14px;
    line-height: 25px;
    letter-spacing: 1.4px;
    margin-bottom: 23px;
  }
  .top_form .txt .color {
    color: #000;
  }
  .top_form .wpcf7-form {
    width: 100%;
    margin-left: -1px;
    padding: 40px 20px 41px 20px;
    border-radius: 40px;
  }
  .top_form .wpcf7-response-output {
    width: 96%;
    height: auto;
    font-size: 14px;
    border-radius: 5px;
  }
  .top_form .formItem {
    display: block;
    padding: 10px 15px 4px 11px;
    border-radius: 10px;
  }
  .top_form .formItem:not(:last-child) {
    margin-bottom: 10px;
  }
  .top_form .formItem .labelArea {
    padding: 0 0 6px 8px;
    border-bottom: 1px solid #0CAE75;
    width: 100%;
    margin-bottom: 6px;
  }
  .top_form .formItem .labelArea .ttl {
    font-size: 16px;
    line-height: 25px;
    letter-spacing: 1.6px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 34px;
  }
  .top_form .formItem .inputArea {
    width: 100%;
  }
  .top_form .formItem input::-webkit-input-placeholder, .top_form .formItem textarea::-webkit-input-placeholder {
    font-size: 14px;
  }
  .top_form .formItem input::-moz-placeholder, .top_form .formItem textarea::-moz-placeholder {
    font-size: 14px;
  }
  .top_form .formItem input:-ms-input-placeholder, .top_form .formItem textarea:-ms-input-placeholder {
    font-size: 14px;
  }
  .top_form .formItem input::-ms-input-placeholder, .top_form .formItem textarea::-ms-input-placeholder {
    font-size: 14px;
  }
  .top_form .formItem input::placeholder,
  .top_form .formItem textarea::placeholder {
    font-size: 14px;
  }
  .top_form .formItem textarea {
    height: 135px;
  }
  .top_form .formItem textarea::-webkit-input-placeholder {
    line-height: 25px;
  }
  .top_form .formItem textarea::-moz-placeholder {
    line-height: 25px;
  }
  .top_form .formItem textarea:-ms-input-placeholder {
    line-height: 25px;
  }
  .top_form .formItem textarea::-ms-input-placeholder {
    line-height: 25px;
  }
  .top_form .formItem textarea::placeholder {
    line-height: 25px;
  }
  .top_form .formItem.has-error {
    margin-bottom: 50px !important;
  }
  .top_form .required {
    width: 42px;
    margin-bottom: 1px;
  }
  .top_form .agreeText {
    margin-top: 29px;
    font-size: 14px;
    line-height: 25px;
    letter-spacing: 1.4px;
    padding: 23px 13px 36px 17px;
    text-align: left;
  }
  .top_form .agreeText .link {
    padding: 0 7px 0 3px;
    font-size: 14px;
    line-height: 25px;
    letter-spacing: 1.4px;
    position: relative;
  }
  .top_form .agreeText .link:after {
    content: "";
    width: 100%;
    height: 1px;
    background: #0CAE75;
    position: absolute;
    left: 0;
    bottom: 0;
  }
  .top_form .agreeText .agreeWrapper {
    text-align: center;
    margin-top: 12px;
  }
  .top_form .agreeText .agreeWrapper .agree {
    -webkit-transform: translate(-11px, 10px);
            transform: translate(-11px, 10px);
    font-size: 15px;
    line-height: 25px;
    letter-spacing: 1.5px;
  }
  .top_form .agreeText .agreeWrapper .required {
    -webkit-transform: translate(0px, 10px);
            transform: translate(0px, 10px);
  }
  .top_form .agreeText.has-error {
    padding-bottom: 60px;
  }
  .top_form .agreeText.has-error .wpcf7-not-valid-tip {
    top: 100%;
  }
  .top_form .button {
    width: 240px;
    margin-top: 41px;
  }
  .top_form .button:before {
    width: calc(100% + 16px);
    height: calc(100% + 16px);
  }
  .top_form .button:after {
    width: 41px;
    height: 10px;
    right: 43px;
  }
  .top_form .button input[type=submit] {
    font-size: 16px;
    line-height: 24.704px;
    letter-spacing: 2.4px;
    height: 54px;
    padding-right: 26px;
  }
  .top_form .guide_list {
    -webkit-transform: translate(97px, 5px);
            transform: translate(97px, 5px);
  }
  .top_form .guide_list .txt {
    font-size: 19px;
    font-weight: 700;
    line-height: 26px;
    letter-spacing: 1.9px;
    width: 250px;
    height: 174px;
    bottom: calc(100% - 101px);
    right: calc(100% - 48px);
  }
  .top_form .guide_list .txt:before {
    width: 100%;
    height: 100%;
    top: 16px;
    left: -9px;
  }
  .top_form .guide_list .txt .line {
    font-size: 20px;
    line-height: 25.705px;
    letter-spacing: 2px;
    -webkit-transform: translate(-1px, 3px);
            transform: translate(-1px, 3px);
    margin-bottom: 8px;
    padding: 0 1px 4px;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, #BEFEC0));
    background: linear-gradient(transparent 50%, #BEFEC0 50%);
  }
  .top_form .guide_list .image {
    width: 136px;
  }
  .top_form .wpcf7-list-item {
    margin: 0 0 0 19px;
  }
}
@media (min-width: 768px) {
  .top_form h2 {
    margin-left: 8px;
  }
  .top_form .txt {
    padding-left: 5px;
  }
}/*# sourceMappingURL=bond.css.map */