@charset "UTF-8";
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  background: #fff;
  font-family: "fot-tsukubrdgothic-std", sans-serif;
  font-size: 3.7333vw;
  line-height: 1;
  color: #323232;
}

.over-flow {
  overflow-x: hidden;
}

.header {
  width: 100%;
  aspect-ratio: 750/181;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 150;
  background: transparent;
}
@media screen and (min-width: 1281px) {
  .header {
    aspect-ratio: 1920/230;
    max-height: 23rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.header__inner {
  padding: 0 4.5vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  position: relative;
}
@media screen and (min-width: 1281px) {
  .header__inner {
    align-items: flex-start;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    width: min(93.333vw, 185.2rem);
    padding: 0;
  }
}

.header__logo {
  width: 26vw;
}
@media screen and (min-width: 1281px) {
  .header__logo {
    width: min(16.354167vw, 31.4rem);
  }
}

.header__nav {
  transform: translateX(101%);
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background: #67ac59;
  transition: all 0.4s;
  padding-block: 7.8667vw 17.6vw;
  padding-inline: 12.8vw;
  z-index: 300;
}
.header__nav.active {
  transform: translateX(0%);
  overflow-y: scroll;
}
@media screen and (min-width: 1281px) {
  .header__nav {
    position: static;
    transform: none;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    padding: 0;
    width: auto;
    background: transparent;
  }
}

.header__nav-img {
  position: absolute;
  top: 6.8vw;
  left: 10.4vw;
  width: 18.533vw;
}
@media screen and (min-width: 1281px) {
  .header__nav-img {
    display: none;
  }
}

.header__close-btn {
  width: 9.733vw;
  margin-left: auto;
  display: block;
  transform: translateX(6.667vw);
  margin-bottom: 13.5vw;
}
@media screen and (min-width: 1281px) {
  .header__close-btn {
    display: none;
  }
}

.header__list {
  margin-bottom: 11.2vw;
}
@media screen and (min-width: 1281px) {
  .header__list {
    display: flex;
    align-items: center;
    gap: min(2.29166667vw, 4.4rem);
    height: inherit;
    margin-bottom: 0;
    letter-spacing: 0.04em;
  }
}

.header__list-item {
  border-bottom: 1px dashed #fff;
  transition: opacity 0.4s;
}
@media screen and (min-width: 1281px) {
  .header__list-item {
    text-align: left;
    margin: 0;
    border-bottom: none;
  }
}
.header__list-item a {
  font-size: 5.2vw;
  font-weight: 700;
  color: #fff;
  padding-block: 6.833vw;
  position: relative;
}
@media screen and (min-width: 1281px) {
  .header__list-item a {
    font-size: min(1.2776vw, 2.453rem);
    color: #323232;
    padding-block: 0;
  }
}
.header__list-item a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: inline-block;
  width: 9.333vw;
  height: 9.333vw;
  background: url(../img/hm-arrow.png) no-repeat right center/cover;
}
@media screen and (min-width: 1281px) {
  .header__list-item a::after {
    display: none;
  }
}
.header__list-item:last-of-type {
  margin-bottom: 0;
}
@media (hover: hover) {
  .header__list-item:hover {
    opacity: 0.7;
  }
}
@media (hover: none) {
  .header__list-item:active {
    opacity: 0.7;
  }
}

.header__list-sns {
  display: flex;
  gap: 14.133vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (min-width: 1281px) {
  .header__list-sns {
    display: none;
  }
}

.header__list-item-sns:first-of-type {
  width: 16.9333vw;
}

.header__list-item-sns:last-of-type {
  width: 9.6267vw;
}

.header__hamburger {
  width: 9.6vw;
  position: relative;
}
@media screen and (min-width: 1281px) {
  .header__hamburger {
    display: none;
  }
}

.main-view {
  margin-top: 20.2667vw;
  position: relative;
}
@media screen and (min-width: 1281px) {
  .main-view {
    margin-top: min(6.6667vw, 12.8rem);
  }
}

.main-view__inner {
  overflow: hidden;
  border-radius: 999px 999px 0% 0%;
  width: 81.7333333333%;
  margin: 0 auto;
}
@media screen and (min-width: 1281px) {
  .main-view__inner {
    width: min(81.6667vw, 156.8rem);
  }
}

.slide-adjust img {
  aspect-ratio: 613/852;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
@media screen and (min-width: 1281px) {
  .slide-adjust img {
    aspect-ratio: 1568/1057;
  }
}

.mv__img1 {
  position: absolute;
  top: 7.0667vw;
  left: 8.9333vw;
  width: 14.8vw;
  z-index: 100;
}
@media screen and (min-width: 1281px) {
  .mv__img1 {
    top: min(7.60417vw, 14.6rem);
    left: min(9.1146vw, 17.5rem);
    width: min(14.1667vw, 27.2rem);
  }
}

.mv__img2 {
  position: absolute;
  bottom: -0.2333vw;
  right: 6.4vw;
  z-index: 100;
  width: 19.6vw;
}
@media screen and (min-width: 1281px) {
  .mv__img2 {
    bottom: min(-2.1875vw, -4.2rem);
    right: min(4.6875vw, 9rem);
    width: min(18.75vw, 36rem);
  }
}

.mv__lead-text {
  writing-mode: vertical-rl;
  color: #67ac59;
  font-size: 4.8vw;
  padding-inline: 5.0333vw 3.2333vw;
  border-radius: 5.333vw;
  background: #fff;
  position: absolute;
  top: -3.0667vw;
  right: 9.0667vw;
  z-index: 120;
  letter-spacing: 0.28em;
  width: 13.067vw;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 1281px) {
  .mv__lead-text {
    top: min(2.0833vw, 4rem);
    right: min(15.10416667vw, 29rem);
    font-size: min(1.71875vw, 3.3rem);
    padding: min(3.02083vw, 5.8rem) min(1.92708vw, 3.7rem) min(2.447917vw, 4.7rem);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.mv__lead-text span {
  display: flex;
  font-size: 4.8vw;
  width: 100%;
  justify-content: center;
  align-items: center;
  font-weight: 700;
}
@media screen and (min-width: 1281px) {
  .mv__lead-text span {
    font-size: min(1.71875vw, 3.3rem);
    margin-left: 0;
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.mv__job-text {
  position: absolute;
  bottom: 18vw;
  left: 2.2667vw;
  z-index: 120;
  border-radius: 5.333vw;
  color: #67ac59;
  font-size: 4.8vw;
  padding: 4vw 3.56667vw 4vw 5.06667vw;
  background: #fff;
  letter-spacing: 0.28em;
  font-weight: 700;
}
@media screen and (min-width: 1281px) {
  .mv__job-text {
    border-radius: min(2.0833vw, 4rem);
    bottom: min(11.25vw, 21.6rem);
    left: min(7.03125vw, 13.5rem);
    font-size: min(2.4099vw, 4.627rem);
    padding: min(1.979167vw, 3.8rem) min(3.125vw, 6rem) min(2.23958vw, 4.3rem);
  }
}

.mv__name-text {
  position: absolute;
  bottom: 2vw;
  left: 2.2667vw;
  z-index: 120;
  border-radius: 6.833vw;
  color: #67ac59;
  font-size: 4.8vw;
  padding: 3.7vw 4.06667vw 2.9333vw 5.26667vw;
  background: #fff;
  letter-spacing: 0.17em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  white-space: nowrap;
  font-weight: 700;
}
@media screen and (min-width: 1281px) {
  .mv__name-text {
    font-size: min(2.4099vw, 4.627rem);
    padding: min(2.8125vw, 5.4rem) min(3.333vw, 6.4rem) min(1.4583vw, 2.8rem);
    bottom: min(3.333svw, 6.4rem);
    left: min(7.03125vw, 13.5rem);
    border-radius: min(2.0833vw, 4rem);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

rt {
  font-size: 1.9306667vw;
  color: #67ac59;
  line-height: 1;
}
@media screen and (min-width: 1281px) {
  rt {
    font-size: min(0.968vw, 1.859rem);
  }
}

.mv__name1 {
  position: absolute;
  top: 47.9667vw;
  right: -4.3vw;
  font-size: 1.73333vw;
  color: #67ac59;
  z-index: 120;
  transform: rotate(90deg);
  letter-spacing: 0.14em;
  font-weight: 700;
}
@media screen and (min-width: 1281px) {
  .mv__name1 {
    top: min(23.90625vw, 45.9rem);
    right: min(-2.864583vw, -5.5rem);
    font-size: min(1.1458vw, 2.2rem);
  }
}

.mv__name2 {
  position: absolute;
  top: 47.9667vw;
  left: -4.3vw;
  font-size: 1.73333vw;
  color: #67ac59;
  z-index: 120;
  transform: rotate(-90deg);
  letter-spacing: 0.14em;
  font-weight: 700;
}
@media screen and (min-width: 1281px) {
  .mv__name2 {
    top: min(23.90625vw, 45.9rem);
    left: min(-2.864583vw, -5.5rem);
    font-size: min(1.1458vw, 2.2rem);
  }
}

.activity__img1 {
  width: 82vw;
  margin-top: 7.5667vw;
  margin-left: -1.7667vw;
}
@media screen and (min-width: 1281px) {
  .activity__img1 {
    width: min(75.9375vw, 145.8rem);
    margin-top: min(9.1667vw, 17.6rem);
    margin-left: 0;
  }
}

.inner {
  padding-inline: 7.06667vw;
}
@media screen and (min-width: 1281px) {
  .inner {
    padding: 0;
    width: min(76.979167vw, 147.8rem);
    margin: 0 auto;
  }
}

.title {
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

.activity__title {
  margin: -12.833vw auto 13.3vw;
}
@media screen and (min-width: 1281px) {
  .activity__title {
    margin: min(-14.0104167vw, -26.9rem) auto min(11.563vw, 22.2rem);
  }
}

.title__sub-title {
  font-size: 3.7333vw;
  font-weight: 700;
  color: #67ac59;
  margin-bottom: 2.6667vw;
  text-transform: capitalize;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1281px) {
  .title__sub-title {
    font-size: min(1.1979vw, 2.3rem);
    margin-bottom: min(1.197917vw, 2.3rem);
  }
}

.title__title {
  font-size: 6.1333vw;
  color: #67ac59;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1281px) {
  .title__title {
    font-size: min(2.6667vw, 5.12rem);
  }
}

.activity__list {
  margin-bottom: 14.6667vw;
}
@media screen and (min-width: 1281px) {
  .activity__list {
    margin-bottom: min(13.802083vw, 26.5rem);
  }
}

@media screen and (min-width: 1281px) {
  .activity__list-item {
    display: flex;
    gap: min(5.41667vw, 10.4rem);
  }
}

@media screen and (min-width: 1281px) {
  .activity__list-item:nth-of-type(even) {
    flex-direction: row-reverse;
  }
}

.activity__list-item + .activity__list-item {
  margin-top: 16.833vw;
}
@media screen and (min-width: 1281px) {
  .activity__list-item + .activity__list-item {
    margin-top: min(11.04167vw, 21.2rem);
  }
}

.activity__list-image {
  margin-bottom: 8.9333vw;
  position: relative;
}
@media screen and (min-width: 1281px) {
  .activity__list-image {
    width: min(35.78125vw, 68.7rem);
    margin-bottom: 0;
  }
}

@media screen and (min-width: 1281px) {
  .activity__list-contents {
    width: min(35.78125vw, 68.7rem);
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    padding-top: min(2.39583vw, 4.6rem);
  }
}

.activity__list-img1 {
  position: absolute;
  bottom: -1.367vw;
  left: -3.7333vw;
  width: 18.8vw;
}
@media screen and (min-width: 1281px) {
  .activity__list-img1 {
    bottom: min(-2.34375vw, -4.5rem);
    left: min(-3.75vw, -7.2rem);
    width: min(12.9167vw, 24.8rem);
  }
}

.activity__list-img2 {
  position: absolute;
  bottom: -0.6667vw;
  right: -2.4vw;
  width: 15.3333vw;
}
@media screen and (min-width: 1281px) {
  .activity__list-img2 {
    bottom: min(-1.92708vw, -3.7rem);
    right: min(-3.75vw, -7.2rem);
    width: min(8.07292vw, 15.5rem);
  }
}

.activity__list-img3 {
  position: absolute;
  top: -3.8667vw;
  left: -4.8vw;
  width: 24.4vw;
}
@media screen and (min-width: 1281px) {
  .activity__list-img3 {
    top: min(-4.84375vw, -9.3rem);
    left: min(-5.9896vw, -11.5rem);
    width: min(14.6875vw, 28.2rem);
  }
}

.activity__list-img4 {
  position: absolute;
  top: -6.2667vw;
  right: -3.7333vw;
  width: 25.0667vw;
}
@media screen and (min-width: 1281px) {
  .activity__list-img4 {
    top: min(-4.0625vw, -7.8rem);
    right: min(-3.75vw, -7.2rem);
    width: min(12.65625vw, 24.3rem);
  }
}

.activity__list-title {
  text-align: center;
  font-size: 4.53333vw;
  color: #67ac59;
  font-weight: 700;
  margin-bottom: 5.3vw;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1281px) {
  .activity__list-title {
    text-align: left;
    font-size: min(2vw, 3.84rem);
    margin-bottom: min(3.125vw, 6rem);
  }
}

.activity__list-text {
  font-size: 3.7333vw;
  font-weight: 700;
  color: #323232;
  line-height: 1.75;
  letter-spacing: 0.098em;
  padding-inline: 6vw;
}
@media screen and (min-width: 1281px) {
  .activity__list-text {
    font-size: min(1.354vw, 2.6rem);
    padding-inline: 0;
    letter-spacing: 0.118em;
  }
}

.activity__youtube-box {
  padding-top: 4vw;
  padding-bottom: 23.06667vw;
  background: url(../img/video-background.png) no-repeat 1.73vw center/98vw;
  position: relative;
  z-index: 100;
}
@media screen and (min-width: 1281px) {
  .activity__youtube-box {
    padding-top: min(1.61458vw, 3.1rem);
    padding-bottom: min(13.802083vw, 26.5rem);
    margin: 0 auto;
    width: min(69.0104167vw, 132.5rem);
    background: url(../img/video-background-pc.png) no-repeat 1.3vw 0.1vw/98.4%;
  }
}

.activity__youtube-wrapper {
  border-radius: 10.8vw;
  overflow: hidden;
  width: 77.7333vw;
  margin: 0 auto;
  z-index: 100;
  position: relative;
}
@media screen and (min-width: 1281px) {
  .activity__youtube-wrapper {
    width: min(46.35417vw, 89rem);
    border-radius: min(4.21875vw, 8.1rem);
  }
}

.activity__youtube-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 583/328;
}
.activity__youtube-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.price {
  background: url(../img/fee-bg-img.png) no-repeat top center/cover;
  padding-top: 14.4vw;
  padding-bottom: 12vw;
  position: relative;
  z-index: -1;
}
@media screen and (min-width: 1281px) {
  .price {
    background: url(../img/fee-bg-img-pc.png) no-repeat top center/cover;
    margin-top: min(-3.69792vw, -7.1rem);
    padding-top: min(10.4167vw, 20rem);
    padding-bottom: 0;
  }
}

.price__title {
  margin-bottom: 12.3667vw;
}
@media screen and (min-width: 1281px) {
  .price__title {
    margin-bottom: min(9.21875vw, 17.7rem);
  }
}

.price__text-box {
  background: url(../img/fee-img.png);
  background-repeat: no-repeat;
  background-position: right top;
  background-size: 95vw;
}
@media screen and (min-width: 1281px) {
  .price__text-box {
    background: url(../img/fee-img-pc.png);
    background-repeat: no-repeat;
    background-size: 79vw;
    background-position: 21vw 21px;
    padding-bottom: min(12.7604167vw, 24.5rem);
  }
}

.price__text {
  text-align: center;
  font-size: 3.7333vw;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 1281px) {
  .price__text {
    font-size: min(1.35417vw, 2.6rem);
  }
}
.price__text + .price__text {
  margin-top: 1.5625vw;
}
@media screen and (min-width: 1281px) {
  .price__text + .price__text {
    margin-top: min(1.354167vw, 2.6rem);
  }
}

.introduction {
  padding-top: 17.06667vw;
  padding-bottom: 12.6667vw;
  position: relative;
}
@media screen and (min-width: 1281px) {
  .introduction {
    padding-top: min(9.739583vw, 18.7rem);
    padding-bottom: min(12.1875vw, 23.4rem);
  }
}

@media screen and (min-width: 1281px) {
  .introduction__inner {
    width: min(74.21875vw, 142.5rem);
  }
}

.introduction__title {
  margin-bottom: 13vw;
}
@media screen and (min-width: 1281px) {
  .introduction__title {
    margin-bottom: min(12.7083vw, 24.4rem);
  }
}

@media screen and (min-width: 1281px) {
  .introduction__wrapper {
    display: flex;
    flex-direction: row-reverse;
    gap: min(6.40625vw, 12.3rem);
  }
}

.introduction__image {
  margin-bottom: 14.3vw;
}
@media screen and (min-width: 1281px) {
  .introduction__image {
    width: min(22.135417vw, 42.5rem);
    margin-bottom: 0;
  }
}

.introduction__img1 {
  width: 11.2vw;
  position: absolute;
  top: 15.06667vw;
  left: 17.4667vw;
}
@media screen and (min-width: 1281px) {
  .introduction__img1 {
    top: min(10.677083vw, 20.5rem);
    left: min(23.28125vw, 44.7rem);
    width: min(8.229167vw, 15.8rem);
  }
}

.introduction__img2 {
  width: 3.6vw;
  position: absolute;
  top: 11.4667vw;
  right: 23.8667vw;
}
@media screen and (min-width: 1281px) {
  .introduction__img2 {
    top: min(7.39583vw, 14.2rem);
    right: min(28.69792vw, 55.1rem);
    width: min(2.9167vw, 5.6rem);
  }
}

.introduction__img3 {
  width: 89.46667vw;
  position: relative;
  bottom: 16.2vw;
  left: 0;
}
@media screen and (min-width: 1281px) {
  .introduction__img3 {
    left: min(-0.52083vw, -1rem);
    bottom: min(5.104167vw, 9.8rem);
    width: min(79.0625vw, 151.8rem);
  }
}

.introduction__text-box {
  padding-inline: 5.3333vw;
}
@media screen and (min-width: 1281px) {
  .introduction__text-box {
    padding-right: 0;
    padding-left: 0;
    padding-top: min(0.9375vw, 1.8rem);
    width: min(45.625vw, 87.6rem);
  }
}

.introduction__text {
  text-align: center;
  font-size: 3.5999vw;
  letter-spacing: 0.12em;
  line-height: 1.74;
  font-weight: 700;
}
@media screen and (min-width: 1281px) {
  .introduction__text {
    font-size: min(1.35417vw, 2.6rem);
    text-align: left;
    line-height: 1.75;
    letter-spacing: 0.09em;
  }
}
.introduction__text + .introduction__text {
  margin-top: 6.6667vw;
}
@media screen and (min-width: 1281px) {
  .introduction__text + .introduction__text {
    margin-top: min(2.39583vw, 4.6rem);
  }
}

@media screen and (min-width: 1281px) {
  .pc-none {
    display: none;
  }
}

.lesson {
  background: url(../img/lesson-bg.png) no-repeat top center/cover;
  padding-top: 25.8667vw;
  padding-bottom: 15.6vw;
  margin-bottom: 8.2667vw;
  margin-top: -24.4vw;
  position: relative;
  z-index: -1;
}
@media screen and (min-width: 1281px) {
  .lesson {
    padding-top: min(15.4167vw, 29.6rem);
    padding-bottom: min(15.52083vw, 29.8rem);
    background: url(../img/lesson-bg-pc.png) no-repeat top center/cover;
    margin-bottom: min(7.1875vw, 13.8rem);
    margin-top: min(-14.401vw, 27.65rem);
  }
}

@media screen and (min-width: 1281px) {
  .lesson__inner {
    width: min(81.77083vw, 157rem);
  }
}

.lesson__box {
  padding-top: 7.8333vw;
  padding-bottom: 8.1333vw;
  background: #fff;
  border-radius: 10.8vw;
}
@media screen and (min-width: 1281px) {
  .lesson__box {
    padding-top: min(3.697917vw, 7.1rem);
    padding-bottom: min(3.59375vw, 6.9rem);
    padding-inline: min(7.9167vw, 15.2rem);
    display: flex;
    justify-content: space-between;
    border-radius: min(4.21875vw, 8.1rem);
  }
}

@media screen and (min-width: 1281px) {
  .lesson__contents {
    width: min(33.385417vw, 64.1rem);
  }
}

.lesson__image {
  display: none;
}
@media screen and (min-width: 1281px) {
  .lesson__image {
    display: block;
    width: min(25.2083vw, 48.4rem);
  }
}

.lesson__title {
  text-align: center;
  color: #67ac59;
  font-size: 4.8vw;
  letter-spacing: 0.12em;
  line-height: 1.5;
  font-weight: 700;
  margin-bottom: 5.433vw;
}
@media screen and (min-width: 1281px) {
  .lesson__title {
    text-align: left;
    font-size: min(2vw, 3.84rem);
    margin-bottom: min(3.0729167vw, 5.9rem);
    letter-spacing: 0.1em;
    margin-top: min(1.5104167vw, 2.9rem);
  }
}

.lesson__lead-text {
  text-align: center;
  color: #67ac59;
  font-size: 3.7333vw;
  letter-spacing: 0.12em;
  margin-bottom: 7.9vw;
  font-weight: 700;
}
@media screen and (min-width: 1281px) {
  .lesson__lead-text {
    text-align: left;
    font-size: min(1.35417vw, 2.6rem);
    margin-bottom: min(3.333vw, 6.4rem);
  }
}

.lesson__button {
  width: 54.6667vw;
  margin: 0 auto;
}
@media screen and (min-width: 1281px) {
  .lesson__button {
    width: min(20.4688vw, 39.3rem);
    margin: 0 auto 0 0;
  }
}
.lesson__button a {
  display: block;
  padding: 3.5667vw 0;
  background: #67ac59;
  color: #fff;
  font-size: 3.7333vw;
  font-weight: 700;
  text-align: center;
  border-radius: 999px;
  transition: all 0.4s;
}
@media screen and (min-width: 1281px) {
  .lesson__button a {
    padding: min(1.197917vw, 2.3rem) 0;
    font-size: min(1.35417vw, 2.6rem);
  }
}
@media (hover: hover) {
  .lesson__button a:hover {
    background: #69bb47;
  }
}
@media (hover: none) {
  .lesson__button a:active {
    background: #69bb47;
  }
}
.lesson__button p {
  padding-right: 6.6667vw;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (min-width: 1281px) {
  .lesson__button p {
    padding-right: min(2.65625vw, 5.1rem);
    letter-spacing: 0.1em;
  }
}
.lesson__button p::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: inline-block;
  width: 3.4667vw;
  height: 3.4667vw;
  background: url(../img/lesson-button-icon.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .lesson__button p::after {
    width: min(1.354167vw, 2.6rem);
    height: min(1.354167vw, 2.6rem);
  }
}

.lesson__text {
  text-align: center;
  font-size: 3.7333vw;
  color: #67ac59;
  line-height: 1.8;
  font-weight: 700;
  font-feature-settings: "palt";
  margin-bottom: 4.9667vw;
  letter-spacing: 0.02em;
  padding-top: 16.3333vw;
}
@media screen and (min-width: 1281px) {
  .lesson__text {
    letter-spacing: 0.08em;
    font-size: min(1.35417vw, 2.6rem);
    margin-bottom: min(5.052083vw, 9.7rem);
    padding-top: min(9.739583vw, 18.7rem);
  }
}

.lesson__list {
  display: flex;
  gap: 14.9333vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (min-width: 1281px) {
  .lesson__list {
    gap: min(8.177083vw, 15.7rem);
  }
}

.lesson__list-sns:first-of-type {
  width: 16.933vw;
}
@media screen and (min-width: 1281px) {
  .lesson__list-sns:first-of-type {
    width: min(7.473958vw, 14.35rem);
  }
}

.lesson__list-sns:last-of-type {
  width: 9.62933vw;
}
@media screen and (min-width: 1281px) {
  .lesson__list-sns:last-of-type {
    width: min(4.252083vw, 8.16rem);
  }
}

.lesson__list-sns {
  transition: opacity 0.4s;
}
@media (hover: hover) {
  .lesson__list-sns:hover {
    opacity: 0.7;
  }
}
@media (hover: none) {
  .lesson__list-sns:active {
    opacity: 0.7;
  }
}

.contact {
  margin-bottom: 8.1333vw;
}
@media screen and (min-width: 1281px) {
  .contact {
    margin-bottom: min(11.927083vw, 22.9rem);
  }
}

@media screen and (min-width: 1281px) {
  .contact__inner {
    width: min(73.927083vw, 141.94rem);
  }
}

.contact__box {
  background: #f9f8f4;
  border-radius: 10.8vw;
  border: 0.533vw solid #67ac59;
  padding-block: 10.4vw 6.6667vw;
  padding-inline: 7.0667vw;
}
@media screen and (min-width: 1281px) {
  .contact__box {
    padding-block: min(5.104167vw, 9.8rem) min(4.6875vw, 9rem);
    padding-inline: min(5.625vw, 10.8rem);
    border-radius: min(4.21875vw, 8.1rem);
    border: min(0.2083vw, 0.4rem) solid #67ac59;
  }
}

.contact__title {
  text-align: center;
  font-size: 6.1333vw;
  color: #67ac59;
  font-weight: 700;
  margin-bottom: 9.9667vw;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 1281px) {
  .contact__title {
    font-size: min(2.6667vw, 5.12rem);
    margin-bottom: min(3.385417vw, 6.5rem);
  }
}

.form__wrap {
  margin-top: 5.0667vw;
}
@media screen and (min-width: 1281px) {
  .form__wrap {
    display: flex;
    justify-content: space-between;
    margin-top: 0;
  }
}

@media screen and (min-width: 1281px) {
  .form__column {
    width: min(29.479167vw, 56.6rem);
    margin-bottom: min(0.989583vw, -1.9rem);
  }
}

.form__form-list + .form__form-list {
  margin-top: 5.56667vw;
}
@media screen and (min-width: 1281px) {
  .form__form-list + .form__form-list {
    margin-top: 0;
  }
}

.form-list__title {
  margin-bottom: 2.5333vw;
}
@media screen and (min-width: 1281px) {
  .form-list__title {
    margin-bottom: min(0.72917vw, 1.4rem);
  }
}

.form-list__label {
  font-size: 4.8vw;
  color: #67ac59;
  font-weight: 700;
  letter-spacing: 0.09em;
}
@media screen and (min-width: 1281px) {
  .form-list__label {
    font-size: min(1.35417vw, 2.6rem);
  }
}

.form__textarea {
  margin-top: 5.56667vw;
}
@media screen and (min-width: 1281px) {
  .form__textarea {
    margin-top: 0;
  }
}

.form-list__input-text,
.form-list__textarea {
  width: 100%;
  border: 1px solid #67ac59;
  border-radius: 0.9333vw;
  padding: 2vw;
}
@media screen and (min-width: 1281px) {
  .form-list__input-text,
.form-list__textarea {
    padding: 0.5vw;
    font-size: min(0.9375vw, 1.8rem);
    aspect-ratio: 566/51.2;
    border-radius: min(0.364583vw, 0.7rem);
  }
}

.form-list__textarea {
  aspect-ratio: 532/173.43;
}
@media screen and (min-width: 1281px) {
  .form-list__textarea {
    aspect-ratio: 1195/313;
    padding: min(1.25vw, 2.4rem) min(1.667vw, 3.2rem);
  }
}

.required {
  position: relative;
  line-height: 1;
}
.required::after {
  content: "必須";
  position: absolute;
  top: 55%;
  right: -12vw;
  transform: translateY(-50%);
  color: #fff;
  background: #67ac59;
  font-size: 2.50667vw;
  font-weight: 700;
  width: 10.6667vw;
  aspect-ratio: 79.9/28.2;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 1281px) {
  .required::after {
    right: min(-6.614583vw, 12.7rem);
    font-size: min(1.041667vw, 2rem);
    width: min(4.427083vw, 8.5rem);
  }
}

::-moz-placeholder {
  color: #dbdad8;
  font-size: 3.5999vw;
  line-height: 1.8;
}

::placeholder {
  color: #dbdad8;
  font-size: 3.5999vw;
  line-height: 1.8;
}
@media screen and (min-width: 1281px) {
  ::-moz-placeholder {
    font-size: min(1.35417vw, 2.6rem);
  }
  ::placeholder {
    font-size: min(1.35417vw, 2.6rem);
  }
}

.form__form-area {
  margin-bottom: 5.2vw;
}
@media screen and (min-width: 1281px) {
  .form__form-area {
    margin-bottom: min(4.5833vw, 8.8rem);
  }
}

.btn {
  display: block;
  padding: 3.7667vw 0;
  background: #67ac59;
  color: #fff;
  font-size: 3.7333vw;
  font-weight: 700;
  text-align: center;
  border-radius: 999px;
  transition: all 0.4s;
  border: none;
  width: 40.0667vw;
  margin: 0 auto;
  padding-right: 6.6667vw;
  cursor: pointer;
}
@media screen and (min-width: 1281px) {
  .btn {
    width: min(14.739583vw, 28.3rem);
    padding: min(1.197917vw, 2.3rem) 0;
    font-size: min(1.35417vw, 2.6rem);
    padding-right: min(2.8125vw, 5.4rem);
  }
}
@media (hover: hover) {
  .btn:hover {
    background: #69bb47;
  }
}
@media (hover: none) {
  .btn:active {
    background: #69bb47;
  }
}

.btn-wrapper {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  transition: background-color 0.4s;
  border-radius: 999px;
  position: relative;
  z-index: 999;
}
@media (hover: hover) {
  .btn-wrapper:hover {
    background-color: #69bb47;
  }
}
@media (hover: none) {
  .btn-wrapper:active {
    background-color: #69bb47;
  }
}

.btn-wrap {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.btn-wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 9.0667vw;
  transform: translateY(-50%);
  display: inline-block;
  width: 3.4667vw;
  height: 3.4667vw;
  background: url(../img/lesson-button-icon.png) no-repeat center center/cover;
  cursor: pointer;
}
@media screen and (min-width: 1281px) {
  .btn-wrap::after {
    right: min(3.02083vw, 5.8rem);
    width: min(1.354167vw, 2.6rem);
    height: min(1.354167vw, 2.6rem);
  }
}
@media (hover: hover) {
  .btn-wrap::after .btn:hover {
    background-color: #fff;
  }
}
@media (hover: none) {
  .btn-wrap::after .btn:active {
    background-color: #fff;
  }
}

.footer {
  text-align: center;
  aspect-ratio: 750/63;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f9f8f4;
}
@media screen and (min-width: 1281px) {
  .footer {
    aspect-ratio: 1922/159;
  }
}
.footer small {
  font-size: 1.86667vw;
  color: #323232;
  font-weight: 700;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 1281px) {
  .footer small {
    font-size: min(1.354167vw, 2.6rem);
  }
}

.cta-button {
  width: 100%;
  position: fixed;
  left: 0;
  bottom: 0;
  aspect-ratio: 750/95;
  z-index: 200;
}
@media screen and (min-width: 1281px) {
  .cta-button {
    aspect-ratio: 1922/159;
    max-height: 15.9rem;
  }
}
.cta-button a {
  border-radius: 0;
  display: flex;
  align-items: center;
  height: 100%;
}
@media screen and (min-width: 1281px) {
  .cta-button a {
    font-size: min(2vw, 3.84rem);
  }
}
@media (hover: hover) {
  .cta-button a:hover {
    background: #69bb47;
  }
}
@media (hover: none) {
  .cta-button a:active {
    background: #69bb47;
  }
}
@media screen and (min-width: 1281px) {
  .cta-button p {
    padding-right: min(5.729167vw, 11rem);
  }
}
.cta-button p::after {
  content: "";
}
@media screen and (min-width: 1281px) {
  .cta-button p::after {
    width: min(2.083vw, 4rem);
    height: min(2.083vw, 4rem);
  }
}
.cta-button.active {
  display: none;
}

.js-fadein {
  transform: translateY(30px);
  opacity: 0;
  visibility: hidden;
  transition: transform 1s, opacity 1s, visibility 1s;
}

.js-fadein__active {
  transform: translateX(0);
  opacity: 1;
  visibility: visible;
}

input:focus,
textarea:focus {
  outline-color: #69bb47;
  outline-style: solid;
  outline-width: 1px;
}
/*# sourceMappingURL=style.css.map */