html {
  scroll-padding-top: 100px;
}

/* ---------------------
  price
--------------------- */
.under__main {
  padding-bottom: 0;
}

@media screen and (max-width: 834px) {
  .tab-no {
    display: none;
  }
}

@media screen and (max-width: 450px) {
  .sp-no {
    display: none;
  }
}

@media screen and (max-width: 450px) {
  .sp-10 {
    font-size: 1rem;
  }
}

@media screen and (max-width: 450px) {
  .sp-12 {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 450px) {
  .sp-14 {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 450px) {
  .sp-16 {
    font-size: 1.6rem;
  }
}

.sp-w100 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
@media screen and (max-width: 450px) {
  .sp-w100 {
    width: 100%;
  }
  .sp-w100 .sp-14 {
    padding-left: 0.3em;
  }
}

.f14 {
  font-size: 1.4rem;
}

.price-anchor01__wrap {
  max-width: 600px;
  width: 90%;
  margin: 0 auto;
  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;
  gap: 3rem;
}
@media screen and (max-width: 834px) {
  .price-anchor01__wrap {
    gap: 2rem;
  }
}
@media screen and (max-width: 450px) {
  .price-anchor01__wrap {
    gap: 1rem;
  }
}

.price-anchor01 {
  max-width: 280px;
  width: 100%;
  aspect-ratio: 280/70;
  padding: 0.1em 1em 0.1em 2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
  font-size: 1.8rem;
  color: #fff;
  background-color: #1ca867;
  border-radius: 100vmax;
  -webkit-border-radius: 100vmax;
}
@media screen and (max-width: 450px) {
  .price-anchor01 {
    font-size: 4vw;
    gap: 2rem;
  }
}
.price-anchor01 .material-icons {
  width: 3rem;
  aspect-ratio: 1/1;
  line-height: 3rem;
  font-size: 1.8rem;
  text-align: center;
  color: #1ca867;
  background-color: #fff;
  border-radius: 100vmax;
  -webkit-border-radius: 100vmax;
}
@media screen and (max-width: 450px) {
  .price-anchor01 .material-icons {
    width: 6vw;
    line-height: 6vw;
    font-size: 4vw;
  }
}

.price-individual {
  margin-top: 10rem;
}
@media screen and (max-width: 834px) {
  .price-individual {
    margin-top: 5rem;
  }
}

.price-ttl01 {
  position: relative;
  padding-bottom: 0.5em;
}
.price-ttl01::before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 4px;
  background-image: repeating-radial-gradient(circle, #c2dda8 0px, #c2dda8 2px, transparent 2px, transparent 6px);
  background-repeat: repeat-x;
  background-position: left center;
  background-size: 6px 4px;
}

.price-anchor02__wrap {
  margin-top: 3rem;
  padding: 3rem 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1rem 3rem;
  background-color: #fff;
  border-radius: 1rem;
  -webkit-border-radius: 1rem;
}
@media screen and (max-width: 450px) {
  .price-anchor02__wrap {
    padding: 2rem;
  }
}

.price-anchor02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
  color: #1ca867;
}
.price-anchor02 .material-icons {
  display: block;
  width: 2.1rem;
  aspect-ratio: 1/1;
  line-height: 2.1rem;
  background-color: #1ca867;
  text-align: center;
  color: #fff;
  font-size: 1.4rem;
  border-radius: 100vmax;
  -webkit-border-radius: 100vmax;
}

.price-flex {
  margin-top: 10rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
}
@media screen and (max-width: 834px) {
  .price-flex {
    margin-top: 5rem;
    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.price-cont {
  max-width: 60rem;
  width: 50%;
}
@media screen and (max-width: 834px) {
  .price-cont {
    max-width: none;
    width: 100%;
  }
}
@media screen and (max-width: 450px) {
  .price-cont {
    font-size: 1.8rem;
  }
}
.price-cont .f48 {
  margin-bottom: 3rem;
}
@media screen and (max-width: 450px) {
  .price-cont .f48 {
    margin-bottom: 2rem;
  }
}

.price-img {
  max-width: 54rem;
  width: 45%;
}
@media screen and (max-width: 834px) {
  .price-img {
    max-width: none;
    width: 100%;
  }
}

.price-system {
  margin-top: 8rem;
  padding: 4.1% 6.6%;
  background-color: #e9f5df;
}
@media screen and (max-width: 834px) {
  .price-system {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 450px) {
  .price-system .f42 {
    margin: 1rem 0 1.5rem;
  }
}
.price-system .fwm {
  font-weight: 500;
}
.price-system__flex {
  margin: 4rem 0 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
}
@media screen and (max-width: 834px) {
  .price-system__flex {
    margin-top: 3rem;
    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 6rem;
  }
}
@media screen and (max-width: 450px) {
  .price-system__flex {
    margin-top: 1rem;
    gap: 4rem;
  }
}
.price-system__item {
  max-width: 455px;
  width: 44%;
  padding: 2rem;
  text-align: center;
  color: #fff;
  background-color: #2cb173;
  border-radius: 1rem;
  -webkit-border-radius: 1rem;
}
@media screen and (max-width: 834px) {
  .price-system__item {
    max-width: none;
    width: 100%;
  }
}
@media screen and (max-width: 450px) {
  .price-system__item {
    padding: 1.5rem;
  }
}
@media screen and (max-width: 390px) {
  .price-system__item p:not(.f52) {
    font-size: 4vw;
  }
}
.price-system__item:last-of-type {
  position: relative;
}
.price-system__item:last-of-type::before, .price-system__item:last-of-type::after {
  position: absolute;
  content: "";
  width: 6rem;
  aspect-ratio: 6/1;
  top: calc(50% - 1rem);
  left: -21%;
  z-index: 1;
  background-color: #005b43;
}
@media screen and (max-width: 834px) {
  .price-system__item:last-of-type::before, .price-system__item:last-of-type::after {
    width: 4rem;
    top: -3.5rem;
    left: calc(50% - 2rem);
  }
}
@media screen and (max-width: 450px) {
  .price-system__item:last-of-type::before, .price-system__item:last-of-type::after {
    width: 2rem;
    top: -2rem;
  }
}
.price-system__item:last-of-type::after {
  transform: rotate(90deg);
}
.price-system__txt-wrap {
  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;
  gap: 1.5rem;
}
@media screen and (max-width: 450px) {
  .price-system__txt-wrap {
    margin-bottom: 1rem;
    gap: 0.5rem;
  }
  .price-system__txt-wrap .f18 {
    font-size: 1.4rem;
  }
  .price-system__txt-wrap .f52 {
    font-size: 7vw;
  }
}
.price-system__txt {
  width: 6rem;
  aspect-ratio: 1/1;
  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;
  font-size: 1.4rem;
  font-weight: 700;
  color: #2cb173;
  background-color: #fff600;
  border-radius: 100vmax;
  -webkit-border-radius: 100vmax;
}
@media screen and (max-width: 834px) {
  .price-system__txt {
    width: 5rem;
  }
}

.uehonmachi-info__inner {
  padding: 10rem 5%;
}
@media screen and (max-width: 834px) {
  .uehonmachi-info__inner {
    padding: 3rem 2rem;
  }
  .uehonmachi-info__inner.inner {
    width: 100%;
  }
}

@media screen and (max-width: 834px) {
  #corpo02 .price-system__txt {
    width: 6rem;
    font-size: 1.1rem;
  }
}
#corpo02 .price-system__txt-wrap {
  margin-bottom: 0;
}

.price-plan {
  margin-top: 6rem;
}
@media screen and (max-width: 834px) {
  .price-plan {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.price-plan__list {
  margin-top: 5rem;
}
.price-plan__item {
  padding: max(5.8%, 2rem);
  background-color: #fff;
  border-radius: 1rem;
  -webkit-border-radius: 1rem;
}
.price-plan__item:not(:first-of-type) {
  margin-top: 8rem;
}
@media screen and (max-width: 834px) {
  .price-plan__item:not(:first-of-type) {
    margin-top: 4rem;
  }
}
.price-plan__item-flex {
  position: relative;
  margin-bottom: 3rem;
  padding-bottom: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
  color: #1ca867;
}
@media screen and (max-width: 1200px) {
  .price-plan__item-flex {
    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
@media screen and (max-width: 834px) {
  .price-plan__item-flex {
    gap: 2rem;
  }
}
@media screen and (max-width: 450px) {
  .price-plan__item-flex {
    gap: 1rem;
  }
  .price-plan__item-flex .f32 {
    width: 100%;
    font-size: 1.8rem;
    text-align: left;
  }
  .price-plan__item-flex .price-plan__option-txt {
    font-size: 1.3rem;
    margin: 0 auto 0 0;
  }
  .price-plan__item-flex .f24 {
    font-size: 1.4rem;
  }
  .price-plan__item-flex .f52 {
    font-size: 3rem;
  }
}
.price-plan__item-flex::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 4px;
  bottom: 0;
  left: 0;
  background-repeat: repeat-x;
  background-position: left center;
  background-size: 6px 4px;
  background-image: repeating-radial-gradient(circle, #1ca867 0px, #1ca867 2px, transparent 2px, transparent 6px);
}
.price-plan__item-flex.fc-blue {
  color: #0c8fe3;
}
.price-plan__item-flex.fc-blue::before {
  background-image: repeating-radial-gradient(circle, #0c8fe3 0px, #0c8fe3 2px, transparent 2px, transparent 6px);
}
.price-plan__item-flex.fc-blue .price-plan__item-txt {
  background-color: #0c8fe3;
}
.price-plan__item-flex.fc-pink {
  color: #fa8b8a;
}
.price-plan__item-flex.fc-pink::before {
  background-image: repeating-radial-gradient(circle, #fa8b8a 0px, #fa8b8a 2px, transparent 2px, transparent 6px);
}
.price-plan__item-flex.fc-pink .price-plan__item-txt {
  background-color: #fa8b8a;
}
.price-plan__item-flex.fc-green {
  color: #83c56b;
}
.price-plan__item-flex.fc-green::before {
  background-image: repeating-radial-gradient(circle, #83c56b 0px, #83c56b 2px, transparent 2px, transparent 6px);
}
.price-plan__item-flex.fc-green .price-plan__item-txt {
  background-color: #83c56b;
}
.price-plan__item-flex.fc-orange {
  color: #ef8615;
}
.price-plan__item-flex.fc-orange::before {
  background-image: repeating-radial-gradient(circle, #ef8615 0px, #ef8615 2px, transparent 2px, transparent 6px);
}
.price-plan__item-flex.fc-orange .price-plan__item-txt {
  background-color: #ef8615;
}
.price-plan__item-flex .f24 {
  display: block;
}
.price-plan__item-month {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  font-weight: 700;
}
.price-plan__item-month .f52 {
  line-height: 1;
  font-weight: 600;
}
@media screen and (max-width: 450px) {
  .price-plan__item-month .f52 {
    font-size: 9vw;
  }
}
.price-plan__item-txt {
  width: 5rem;
  aspect-ratio: 1/1;
  margin-right: 1rem;
  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;
  color: #fff;
  border-radius: 100vmax;
  -webkit-border-radius: 100vmax;
  font-size: 1.4rem;
  background-color: #1ca867;
}
@media screen and (max-width: 450px) {
  .price-plan__item-txt {
    width: 3rem;
    font-size: 1.2rem;
  }
}

.price-hg .f70 {
  font-weight: 500 !important;
}
@media screen and (max-width: 450px) {
  .price-hg .f70 {
    font-size: 4rem;
  }
}

.price-scroll small.f14:not(.price-th02 small.f14) {
  display: none;
}
@media screen and (max-width: 834px) {
  .price-scroll small.f14:not(.price-th02 small.f14) {
    display: block;
    margin-top: 2.5rem;
  }
}

.price-tb {
  width: 100%;
  margin-top: 5rem;
  box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);
  border-radius: 1rem;
  -webkit-border-radius: 1rem;
  overflow: hidden;
}
@media screen and (max-width: 834px) {
  .price-tb {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .price-tb thead {
    display: none;
  }
}
.price-tb.blue-tb .price-th01 {
  background-color: #0c8fe3;
}
.price-tb.blue-tb .price-td02 {
  color: #0c8fe3;
}
@media screen and (max-width: 834px) {
  .price-tb.blue-tb .price-th02 {
    background-color: #0c8fe3;
  }
  .price-tb.blue-tb tr:nth-of-type(even) td {
    background-color: rgba(12, 143, 227, 0.1);
  }
}
.price-tb.pink-tb .price-th01 {
  background-color: #fa8b8a;
}
.price-tb.pink-tb .price-td02 {
  color: #fa8b8a;
}
@media screen and (max-width: 834px) {
  .price-tb.pink-tb .price-th02 {
    background-color: #fa8b8a;
  }
  .price-tb.pink-tb tr:nth-of-type(even) td {
    background-color: rgba(250, 139, 138, 0.1);
  }
}
.price-tb.green-tb .price-th01 {
  background-color: #83c56b;
}
.price-tb.green-tb .price-td02 {
  color: #83c56b;
}
@media screen and (max-width: 834px) {
  .price-tb.green-tb .price-th02 {
    background-color: #83c56b;
  }
  .price-tb.green-tb tr:nth-of-type(even) td {
    background-color: rgba(131, 197, 107, 0.1);
  }
}
.price-tb.orange-tb .price-th01 {
  background-color: #ef8615;
}
.price-tb.orange-tb .price-td02 {
  color: #ef8615;
}
@media screen and (max-width: 834px) {
  .price-tb.orange-tb .price-th02 {
    background-color: #ef8615;
  }
  .price-tb.orange-tb tr:nth-of-type(even) td {
    background-color: rgba(239, 134, 21, 0.1);
  }
}
.price-tb caption {
  margin-top: 2.5rem;
  caption-side: bottom;
  text-align: left;
}
@media screen and (max-width: 834px) {
  .price-tb caption {
    display: none;
  }
}
.price-tb tr {
  position: relative;
}
@media screen and (max-width: 834px) {
  .price-tb tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .price-tb tr:first-of-type .price-th02 {
    border-radius: 1rem 1rem 0 0;
    -webkit-border-radius: 1rem 1rem 0 0;
  }
  .price-tb tr:nth-of-type(even) td {
    background-color: rgba(28, 168, 103, 0.1);
  }
}
.price-tb tr::before {
  position: absolute;
  content: "";
  width: calc(100% - 7rem);
  height: 1px;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  background-color: #e9e9e9;
}
@media screen and (max-width: 1200px) {
  .price-tb tr::before {
    width: calc(100% - 4rem);
  }
}
@media screen and (max-width: 834px) {
  .price-tb tr::before {
    display: none;
  }
}
.price-tb thead tr::before {
  background-color: transparent;
}
.price-tb td {
  padding: 3.5rem;
}
@media screen and (max-width: 1200px) {
  .price-tb td {
    padding: 2rem;
  }
}
@media screen and (max-width: 600px) {
  .price-tb td {
    padding: 1.5rem;
  }
}
.price-tb__tax {
  display: none;
}
@media screen and (max-width: 834px) {
  .price-tb__tax {
    display: block;
    font-size: 1.92rem;
  }
  .price-tb__tax small {
    font-size: 1.44rem;
  }
}
@media screen and (max-width: 450px) {
  .price-tb__tax {
    font-size: 1.6rem;
  }
  .price-tb__tax small {
    font-size: 1.3rem;
  }
  .price-tb__tax .f42 {
    font-size: 7vw;
  }
}

.price-th01 {
  padding: 3.5rem 4rem;
  color: #fff;
  font-weight: 700;
  background-color: #1ca867;
}
@media screen and (max-width: 1200px) {
  .price-th01 {
    padding: 2rem;
  }
}
@media screen and (max-width: 600px) {
  .price-th01 {
    padding: 1.5rem;
  }
  .price-th01.f24 {
    font-size: 1.8rem;
  }
}
.price-th01:first-of-type {
  border-radius: 1rem 0 0 0;
  -webkit-border-radius: 1rem 0 0 0;
}
.price-th01:last-of-type {
  border-radius: 0 1rem 0 0;
  -webkit-border-radius: 0 1rem 0 0;
}
.price-th01:not(:first-of-type) {
  border-left: 1px solid #fff;
}

.price-th02 {
  width: 26%;
  padding: 3.5rem;
  border-right: 1px solid #e9e9e9;
  font-weight: 700;
}
@media screen and (max-width: 1200px) {
  .price-th02 {
    padding: 2rem;
  }
}
@media screen and (max-width: 834px) {
  .price-th02 {
    width: 100%;
    color: #fff;
    background-color: #1ca867;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 600px) {
  .price-th02 {
    padding: 1.5rem;
  }
  .price-th02.f21 {
    font-size: 1.6rem;
  }
}
.price-th02 small {
  display: block;
}

.price-td01 {
  width: 49%;
  border-right: 1px solid #e9e9e9;
}
@media screen and (max-width: 834px) {
  .price-td01 {
    width: 100%;
    border-right-width: 0;
    border-bottom: 1px solid #e9e9e9;
  }
}

.price-td02 {
  width: 25%;
  border-right: 1px solid #e9e9e9;
}
@media screen and (max-width: 834px) {
  .price-td02 {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    gap: 2rem;
    border-right-width: 0;
  }
}
@media screen and (max-width: 450px) {
  .price-td02 .f42 {
    font-size: 6.5vw;
  }
}

.price-plan__option {
  margin-top: 8rem;
  padding: 2.9% 3.3%;
  background-color: #2cb173;
  border-radius: 1rem;
  -webkit-border-radius: 1rem;
}
@media screen and (max-width: 834px) {
  .price-plan__option {
    margin-top: 4rem;
  }
}
.price-plan__option-ttl {
  position: relative;
  padding-bottom: 2rem;
}
@media screen and (max-width: 450px) {
  .price-plan__option-ttl {
    margin-top: 1rem;
  }
}
.price-plan__option-ttl::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 4px;
  bottom: 0;
  left: 0;
  background-image: repeating-radial-gradient(circle, #fffffe 0px, #fffffe 2px, transparent 2px, transparent 6px);
  background-repeat: repeat-x;
  background-position: left center;
  background-size: 6px 4px;
}
.price-plan__option-list {
  margin-top: 3.5rem;
}
@media screen and (max-width: 450px) {
  .price-plan__option-list {
    margin-top: 2rem;
  }
}
.price-plan__option-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
}
@media screen and (max-width: 834px) {
  .price-plan__option-item {
    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.price-plan__option-item:not(:first-of-type) {
  margin-top: 4rem;
  padding-top: 4rem;
  border-top: 1px solid rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 834px) {
  .price-plan__option-item:not(:first-of-type) {
    margin-top: 3rem;
    padding-top: 3rem;
  }
}
@media screen and (max-width: 420px) {
  .price-plan__option-item:not(:first-of-type) .f24 {
    font-size: 4.2vw;
  }
  .price-plan__option-item:not(:first-of-type) .f14 {
    font-size: 1.2rem;
  }
}
.price-plan__option-cont {
  max-width: 512px;
  width: 43%;
}
@media screen and (max-width: 834px) {
  .price-plan__option-cont {
    max-width: none;
    width: 100%;
  }
}
@media screen and (max-width: 450px) {
  .price-plan__option-cont .f52 {
    font-size: 7vw;
  }
}
.price-plan__option-cont .fc-yellow {
  margin: 2rem 0 1.5rem;
}
.price-plan__option .f18 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2rem;
}
@media screen and (max-width: 450px) {
  .price-plan__option .f18 {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 1rem;
    font-size: 1.4rem;
  }
}
.price-plan__option .f18 span:not(.price-plan__option-txt) {
  width: calc(100% - 140px);
}
@media screen and (max-width: 450px) {
  .price-plan__option .f18 span:not(.price-plan__option-txt) {
    width: calc(100% - 100px);
  }
}
.price-plan__option-txt {
  max-width: 120px;
  width: 100%;
  padding: 1rem 0.8em;
  color: #2cb173;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  background-color: #fff600;
  border-radius: 100vmax;
  -webkit-border-radius: 100vmax;
}
@media screen and (max-width: 450px) {
  .price-plan__option-txt {
    max-width: 90px;
    padding: 0.5em;
  }
  .price-plan__option-txt.f16 {
    font-size: 1.3rem;
  }
}
.price-plan__option-img {
  max-width: 540px;
  width: 45%;
}
@media screen and (max-width: 834px) {
  .price-plan__option-img {
    max-width: none;
    width: 100%;
  }
}

.price-corpo {
  margin-top: 14rem;
}
@media screen and (max-width: 834px) {
  .price-corpo {
    margin-top: 8rem;
  }
}
@media screen and (min-width: 835px) {
  .price-corpo .price-system__item:first-of-type {
    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;
    height: 143.5px;
  }
}
@media screen and (min-width: 1581px) {
  .price-corpo .price-system__item:last-of-type::before,
  .price-corpo .price-system__item:last-of-type::after {
    left: -33%;
  }
}
.price-corpo .price-th01:first-of-type {
  width: 27%;
}
.price-corpo .price-th01:nth-of-type(2) {
  width: 19%;
}
.price-corpo .price-th01:nth-of-type(3) {
  width: 31%;
}
.price-corpo .price-th01:last-of-type {
  width: 23%;
}
.price-corpo .price-th02, .price-corpo .price-td01, .price-corpo .price-td02 {
  width: auto;
}
.price-corpo .price-td02 {
  color: #1ca867;
}

.price-plan_corpo-list {
  margin-top: 8rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
}
@media screen and (max-width: 834px) {
  .price-plan_corpo-list {
    margin-top: 4rem;
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }
}
@media screen and (max-width: 600px) {
  .price-plan_corpo-list {
    grid-template-columns: repeat(1, 1fr);
  }
}

.price-plan_corpo-item {
  padding: 5rem 1rem;
  text-align: center;
  background-color: #fff;
  border-radius: 1rem;
  -webkit-border-radius: 1rem;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 834px) {
  .price-plan_corpo-item {
    padding: 3rem 1rem;
  }
}
.price-plan_corpo-item .f24 {
  margin: 2rem 0;
}
@media screen and (max-width: 450px) {
  .price-plan_corpo-item .f24 {
    font-size: 2rem;
  }
}

.price-plan_corpo-img {
  display: block;
  max-width: 130px;
  min-height: 130px;
  margin: 0 auto;
}

.price-plan__bene {
  position: relative;
  margin-top: 10rem;
  padding: 7.5% 6.6%;
  border-radius: 1rem;
  -webkit-border-radius: 1rem;
  background-color: #e9f5df;
}
@media screen and (max-width: 834px) {
  .price-plan__bene {
    margin-top: 8rem;
  }
}
@media screen and (max-width: 450px) {
  .price-plan__bene {
    margin-top: 4rem;
  }
}
.price-plan__bene-ttl {
  position: absolute;
  left: 50%;
  top: -0.7em;
  transform: translateX(-50%);
  width: fit-content;
  padding: 0 6rem;
}
@media screen and (max-width: 834px) {
  .price-plan__bene-ttl {
    padding: 0 6vw;
  }
}
@media screen and (max-width: 450px) {
  .price-plan__bene-ttl.f42 {
    font-size: 6vw;
  }
}
.price-plan__bene-ttl::before, .price-plan__bene-ttl::after {
  position: absolute;
  content: "";
  width: 37px;
  aspect-ratio: 37/61;
  top: calc(50% - 3rem);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
@media screen and (max-width: 834px) {
  .price-plan__bene-ttl::before, .price-plan__bene-ttl::after {
    width: 4vw;
    top: calc(50% - 3vw);
  }
}
.price-plan__bene-ttl::before {
  background-image: url(../img/price/bene-ttl01.webp);
  left: 0;
}
.price-plan__bene-ttl::after {
  background-image: url(../img/price/bene-ttl02.webp);
  right: 0;
}
.price-plan__bene-item {
  padding-bottom: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
  font-size: 2rem;
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 834px) {
  .price-plan__bene-item {
    gap: 2rem;
  }
}
@media screen and (max-width: 450px) {
  .price-plan__bene-item {
    gap: 1rem;
    font-size: 1.6rem;
  }
}
.price-plan__bene-item::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 4px;
  bottom: 0;
  left: 0;
  background-image: repeating-radial-gradient(circle, #c2dda8 0px, #c2dda8 2px, transparent 2px, transparent 6px);
  background-repeat: repeat-x;
  background-position: left center;
  background-size: 6px 4px;
}
.price-plan__bene-item:not(:first-of-type) {
  padding-top: 3rem;
}
.price-plan__bene-item img {
  max-width: 3rem;
}

.price-plan__flow {
  margin-top: 8rem;
  padding: 2.9% 3.3% 4.5%;
  background-color: #e9f5df;
  border-radius: 1rem;
  -webkit-border-radius: 1rem;
}
@media screen and (max-width: 834px) {
  .price-plan__flow {
    margin-top: 4rem;
  }
}
.price-plan__flow .price-plan__option-ttl::before {
  background-image: repeating-radial-gradient(circle, #c2dda8 0px, #c2dda8 2px, transparent 2px, transparent 6px);
}
.price-plan__flow .link__box {
  margin: 6rem auto 0;
}
@media screen and (max-width: 834px) {
  .price-plan__flow .link__box {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 500px) {
  .price-plan__flow .link__box {
    width: 100%;
  }
}
.price-plan__flow-list {
  margin-top: 5rem;
}
@media screen and (max-width: 834px) {
  .price-plan__flow-list {
    margin-top: 3rem;
  }
}
.price-plan__flow-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 5rem;
}
@media screen and (max-width: 834px) {
  .price-plan__flow-item {
    gap: 3rem;
  }
}
@media screen and (max-width: 530px) {
  .price-plan__flow-item {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 1rem;
  }
}
.price-plan__flow-item:not(:first-of-type) {
  margin-top: 3rem;
}
.price-plan__flow-item:not(:first-of-type) .price-plan__flow-num {
  position: relative;
  z-index: 2;
}
.price-plan__flow-item:not(:first-of-type) .price-plan__flow-num::before {
  position: absolute;
  content: "";
  width: 3px;
  height: 100%;
  top: -50%;
  left: calc(50% - 1.5px);
  z-index: -1;
  background-color: #1ca967;
}
@media screen and (max-width: 530px) {
  .price-plan__flow-item:not(:first-of-type) .price-plan__flow-num::before {
    display: none;
  }
}
.price-plan__flow-item p {
  width: calc(100% - 13rem);
}
@media screen and (max-width: 834px) {
  .price-plan__flow-item p {
    width: calc(100% - 9rem);
  }
}
@media screen and (max-width: 530px) {
  .price-plan__flow-item p {
    padding-top: 0.4em;
    width: calc(100% - 5rem);
  }
}
.price-plan__flow-num {
  display: block;
  width: 8rem;
  aspect-ratio: 1/1;
  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;
  font-weight: 600;
  background-color: #1ca967;
  border-radius: 100vmax;
  -webkit-border-radius: 100vmax;
}
@media screen and (max-width: 834px) {
  .price-plan__flow-num {
    width: 6rem;
  }
}
@media screen and (max-width: 530px) {
  .price-plan__flow-num {
    margin: 0 auto 0 0;
    width: 4rem;
  }
}

.price-lesson {
  margin-top: 15rem;
  padding: 14rem 0;
  background: url(../img/price/lesson-bg.webp) no-repeat center center/cover;
}
@media screen and (max-width: 834px) {
  .price-lesson {
    margin-top: 8rem;
    padding: 8rem 0;
  }
}
@media screen and (max-width: 450px) {
  .price-lesson {
    margin-top: 6rem;
    padding: 4rem 0;
  }
  .price-lesson .sp-16.tac {
    text-align: left;
  }
}
.price-lesson .f42 {
  margin: 4rem auto 3rem;
}
@media screen and (max-width: 834px) {
  .price-lesson .f42 {
    margin: 2rem 0;
    font-size: 4.4vw;
  }
}
@media screen and (max-width: 450px) {
  .price-lesson .f42 {
    font-size: 2rem;
  }
}
.price-lesson__box {
  margin-top: 6rem;
  padding: 5% 6.6%;
  background-color: rgba(255, 255, 255, 0.2);
}
@media screen and (max-width: 834px) {
  .price-lesson__box {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 450px) {
  .price-lesson__box .price-plan__item-month {
    width: 100%;
  }
  .price-lesson__box .f52 {
    font-size: 2.7rem;
  }
  .price-lesson__box .f32 {
    font-size: 2rem;
  }
}
.price-lesson .price-plan__item-flex {
  color: #fff;
}
.price-lesson .price-plan__item-flex::before {
  background-image: repeating-radial-gradient(circle, #fff 0px, #fff 2px, transparent 2px, transparent 6px);
}
.price-lesson .price-plan__item-month {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.5rem;
}
@media screen and (max-width: 450px) {
  .price-lesson .price-plan__item-month {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .price-lesson .price-plan__item-month .sp-w100 {
    width: fit-content;
  }
}
@media screen and (max-width: 834px) {
  .price-lesson .price-plan__item-month .f52 {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 640px) {
  .price-lesson .price-plan__item-month .f52 {
    font-size: 2.7rem;
  }
}
.price-lesson .price-plan__option-txt {
  padding: 0.4em;
  width: 113px;
}
@media screen and (max-width: 450px) {
  .price-lesson .price-plan__option-txt {
    width: 90px;
  }
}
@media screen and (max-width: 380px) {
  .price-lesson .price-plan__option-txt {
    width: 76px;
  }
}
.price-lesson__nobashi {
  position: relative;
  display: inline-block;
  margin: 0 5px;
  font-size: 3rem;
  top: -0.2em;
}
@media screen and (max-width: 834px) {
  .price-lesson__nobashi {
    font-size: 2rem;
    top: -0.1em;
  }
}
@media screen and (max-width: 640px) {
  .price-lesson__nobashi {
    top: 0em;
  }
}
.price-lesson__tax {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  margin-left: 2px;
}
.price-lesson__tax span {
  display: block;
}
.price-lesson__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
}
@media screen and (max-width: 834px) {
  .price-lesson__flex {
    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.price-lesson__cont {
  max-width: 460px;
  width: 45%;
}
@media screen and (max-width: 834px) {
  .price-lesson__cont {
    max-width: none;
    width: 100%;
  }
}
.price-lesson__cont .f14 {
  margin-top: 2rem;
  display: block;
}
@media screen and (max-width: 834px) {
  .price-lesson__cont .f14 {
    margin-top: 1rem;
  }
}
.price-lesson__img {
  max-width: 500px;
  width: 49%;
}
@media screen and (max-width: 834px) {
  .price-lesson__img {
    max-width: none;
    width: 100%;
  }
}
.price-lesson__exam {
  margin-top: 4rem;
  padding: 2.8% 3.3%;
  background-color: rgba(0, 24, 9, 0.4);
}
@media screen and (max-width: 834px) {
  .price-lesson__exam {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 450px) {
  .price-lesson__exam {
    padding: 1rem 2rem;
  }
  .price-lesson__exam .f24 {
    font-size: 2rem;
  }
}
.price-lesson__exam-list {
  margin-top: 1rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-column-gap: 4rem;
  grid-row-gap: 5px;
}
@media screen and (max-width: 1100px) {
  .price-lesson__exam-list {
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 3rem;
  }
}
@media screen and (max-width: 834px) {
  .price-lesson__exam-list {
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 2rem;
  }
}
@media screen and (max-width: 450px) {
  .price-lesson__exam-list {
    grid-template-columns: repeat(1, 1fr);
  }
}