@charset "UTF-8";

/* ======== 新しいメインビジュアル ======== */
.new-mv {
  position: relative;
  width: 100%;
  margin: 0 auto;
  height: 45.35vw; /* 653px / 1440px × 100 */
  padding: 8.75vw 0 3.47vw 9.03vw; /* 126px 0 50px 130px */
  display: flex;
  flex-direction: column;
  gap: 1.67vw; /* 24px / 1440px × 100 */
  overflow: hidden;
}

.mv-background {
  position: absolute;
  top: 27.29vw; /* 393px / 1440px × 100 */
  left: 0;
  width: 89.51vw; /* 1289px / 1440px × 100 */
  height: 177.08vw; /* 2550px / 1440px × 100 */
  z-index: 0;
}

.mv-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.mv-title-image {
  position: relative;
  width: 45.76vw; /* 659px / 1440px × 100 */
  height: auto;
  z-index: 3;
  opacity: 1;
  display: flex;
  flex-direction: column;
  gap: 1.39vw; /* 20px / 1440px × 100 */
}

.mv-title-1 {
  position: relative;
  width: 35.76vw; /* 515px / 1440px × 100 */
  height: auto;
  opacity: 1;
  order: 1;
}

.mv-title-2 {
  position: relative;
  width: 45.76vw; /* 659px / 1440px × 100 */
  height: auto;
  opacity: 1;
  order: 2;
}

.mv-subtitle {
  position: relative;
  width: 34.44vw; /* 496px / 1440px × 100 */
  height: auto;
  padding: 0.69vw 1.39vw; /* 10px 20px */
  gap: 0.69vw; /* 10px / 1440px × 100 */
  background: #ffffffd9;
  border-radius: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  order: 3;
}

.mv-subtitle p {
  font-family: "A P-SK IshiiGothic StdN", sans-serif;
  font-weight: 500;
  font-size: 2.08vw; /* 30px / 1440px × 100 */
  line-height: 100%;
  letter-spacing: 2%;
  text-align: center;
  color: #506089;
  margin: 0;
}

.mv-subtitle p span {
  letter-spacing: 7%;
}

/**
 * ボタンスタイル（btn-line）
 * 使用箇所：
 * - .mv-cta配下：メインビジュアル、イベント、体験会、フローセクション
 * - .block-line配下：最後のCTAブロック
 */
.btn-line {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 1.67vw; /* 24px / 1440px × 100 */
  line-height: 2vw; /* 28.8px / 1440px × 100 */
  color: #fff;
  width: 31.81vw; /* 458px / 1440px × 100 */
  height: 6.46vw; /* 93px / 1440px × 100 */
  border-radius: 0.56vw; /* 8px / 1440px × 100 */
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 2.78vw; /* 40px / 1440px × 100 */
  margin-bottom: 2.08vw; /* 30px / 1440px × 100 */
  text-align: center;
  background: url("../../assets/img/newlp_arrow.png") no-repeat
      calc(100% - 2.17vw) center / 1.04vw,
    linear-gradient(90deg, #f859a4 56.08%, #c70968 142.25%);
  box-shadow: 0 0.28vw 0.83vw rgba(0, 0, 0, 0.15);
}

.btn-line:hover {
  opacity: 0.7;
  background: url("../../assets/img/newlp_arrow.png") no-repeat
      calc(100% - 2.17vw) center / 1.04vw,
    #fb9bc8 !important;
}

.btn-line .tooltip {
  position: absolute;
  top: -1.25vw; /* -18px / 1440px × 100 */
  left: 8.96vw; /* 129px / 1440px × 100 */
  border-radius: 1.25vw; /* 18px / 1440px × 100 */
  height: 2.92vw; /* 42px / 1440px × 100 */
  width: 13.89vw; /* 200px / 1440px × 100 */
  background: #ffffff;
  z-index: 10;
  display: flex;
  align-items: center;
  padding: 0;
  font-size: 1.04vw; /* 15px / 1440px × 100 */
  line-height: 1.32vw; /* 19px / 1440px × 100 */
  font-weight: 700;
  color: #586781;
  text-align: left;
  box-shadow: 0 0.28vw 0.83vw rgba(0, 0, 0, 0.15);
}

.btn-line .tooltip::before {
  content: "";
  width: 1.39vw; /* 20px / 1440px × 100 */
  height: 1.32vw; /* 19px / 1440px × 100 */
  background: url("../../assets/img/logo_LINE.png") no-repeat center / contain;
  margin-left: 1.39vw; /* 20px / 1440px × 100 */
  margin-right: 0.69vw; /* 10px / 1440px × 100 */
}

.btn-line .tooltip::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 0.42vw solid #f859a4; /* 6px / 1440px × 100 */
  border-right: 0.42vw solid #f859a4;
  border-top: 0.42vw solid #fff;
  clear: both;
}

/**
 * メインビジュアルのCTA配置
 */
.mv-cta {
  position: relative;
  z-index: 3;
  opacity: 1;
  width: 31.81vw; /* 458px / 1440px × 100 */
  display: flex;
  justify-content: center;
}

.mv-cta-main {
  position: relative;
  z-index: 3;
  opacity: 1;
  width: 31.81vw; /* 458px / 1440px × 100 */
  margin: -11vw 0 3.47vw 9.03vw; /* -158.4px 0 50px 130px */
  display: flex;
  justify-content: center;
}

.mv-cta .btn-line,
.mv-cta-main .btn-line {
  font-size: 1.67vw; /* 24px / 1440px × 100 */
  line-height: 2vw; /* 28.8px / 1440px × 100 */
  width: 100%; /* 親要素の幅に合わせる */
  height: 6.46vw; /* 93px / 1440px × 100 */
  border-radius: 0.56vw; /* 8px / 1440px × 100 */
  gap: 2.78vw; /* 40px / 1440px × 100 */
  margin-bottom: 2.08vw; /* 30px / 1440px × 100 */
  background: url("../../assets/img/newlp_arrow.png") no-repeat
      calc(100% - 2.17vw) center / 1.04vw,
    linear-gradient(90deg, #f859a4 56.08%, #c70968 142.25%);
}

.mv-character {
  position: absolute;
  top: 0;
  right: 0;
  width: 84.86vw; /* 1222px / 1440px × 100 */
  height: auto;
  z-index: 2;
  pointer-events: none;
}

.mv-character img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-top-left-radius: 80px;
}

.mv-badge {
  position: absolute;
  top: 0;
  right: 2.22vw; /* 32px / 1440px × 100 */
  width: 9.86vw; /* 142px / 1440px × 100 */
  height: auto;
  z-index: 4;
  pointer-events: none;
}

.mv-badge img {
  width: 100%;
  height: auto;
}

/* ======== 特徴セクション ======== */
.block-features {
  position: relative;
  z-index: 10;
  padding: 6.94vw 6.94vw 5.56vw 6.94vw; /* 100px 100px 80px 100px */
  width: 100%;
  margin: 0 auto;
}

.features-content {
  width: 100%;
  max-width: 86.11vw; /* 1240px / 1440px × 100 */
  height: 22.15vw; /* 319px / 1440px × 100 */
  margin: 0 auto;
  padding: 4.17vw 2.78vw; /* 60px 40px */
  text-align: center;
  position: relative;
  background: #ffffff;
  border-radius: 1.39vw; /* 20px / 1440px × 100 */
  box-shadow: 0px 0px 1.39vw 0px rgba(88, 103, 129, 0.08);
  opacity: 1;
}

.features-text-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
  padding-top: 0.76vw; /* 11px / 1440px × 100 */
}

.features-content::after {
  content: "";
  position: absolute;
  bottom: -1.39vw; /* -20px / 1440px × 100 */
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 1.39vw solid transparent; /* 20px / 1440px × 100 */
  border-right: 1.39vw solid transparent;
  border-top: 1.39vw solid #ffffff;
}

.features-quote {
  margin-bottom: 2.08vw; /* 30px / 1440px × 100 */
}

.features-quote p {
  font-size: 2.22vw; /* 32px / 1440px × 100 */
  line-height: 1.4;
  color: #586781;
  font-weight: 600;
  margin: 0;
  text-align: center;
}

/* カスタム引用符画像のスタイリング */
.quote-icon-start,
.quote-icon-end {
  display: inline-block;
  width: 2.22vw; /* 32px / 1440px × 100 */
  height: 1.67vw; /* 24px / 1440px × 100 */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: text-top;
  margin: 0 2.34vw; /* 33.7px / 1440px × 100 */
}

.quote-icon-start {
  background-image: url("../../assets/img/newlp_quote-start.png");
}

.quote-icon-end {
  background-image: url("../../assets/img/newlp_quote-end.png");
}

.features-quote .mv-highlight {
  color: #506089;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 2.22vw; /* 32px / 1440px × 100 */
  line-height: 100%;
  letter-spacing: 0%;
  text-align: center;
  border-bottom: 0.07vw solid #f859a4; /* 1px / 1440px × 100 */
  display: inline-block;
  width: auto;
  min-width: 13.33vw; /* 192px / 1440px × 100 */
  height: 2.22vw; /* 32px / 1440px × 100 */
  white-space: nowrap;
  opacity: 1;
}

.features-quote .highlight-mo {
  color: #506089;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.08vw; /* 30px / 1440px × 100 */
  line-height: 100%;
  letter-spacing: 0%;
  text-align: center;
  display: inline-block;
  width: auto;
  min-width: 2.08vw; /* 30px / 1440px × 100 */
  height: 2.08vw; /* 30px / 1440px × 100 */
  opacity: 1;
}

.features-intro {
  margin-bottom: 2.78vw; /* 40px / 1440px × 100 */
}

.features-intro p {
  font-size: 1.39vw; /* 20px / 1440px × 100 */
  line-height: 1.4;
  color: #586781;
  margin: 0;
}

.features-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 3.47vw; /* 50px / 1440px × 100 */
}

.logo-image {
  width: 30.49vw; /* 439px / 1440px × 100 */
  height: 2.57vw; /* 37px / 1440px × 100 */
  opacity: 1;
  image-rendering: auto;
}

.features-illustrations {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.illustration-left {
  position: absolute;
  width: 10.83vw; /* 156px / 1440px × 100 */
  height: 10.76vw; /* 155px / 1440px × 100 */
  top: 25vw; /* 70% of features-content height (22.15vw × 0.7) */
  left: 12.29vw; /* 177px / 1440px × 100 */
  transform: rotate(0deg);
  opacity: 1;
  pointer-events: none;
}

.illustration-right {
  position: absolute;
  width: 10.69vw; /* 154px / 1440px × 100 */
  height: 9.51vw; /* 137px / 1440px × 100 */
  top: 25vw; /* 70% of features-content height (22.15vw × 0.7) */
  left: 76.18vw; /* 1097px / 1440px × 100 */
  transform: rotate(0deg);
  opacity: 1;
  pointer-events: none;
}

.illustration-left img,
.illustration-right img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ======== POINT セクション ======== */
.block-point {
  position: relative;
  z-index: 10;
  padding-top: 5.56vw; /* 80px / 1440px × 100 */
  background: transparent;
  display: flex;
  justify-content: center;
}

.point-container {
  position: relative;
  width: 100%;
  max-width: 100vw; /* 1440px / 1440px × 100 */
  height: 32.71vw; /* 471px / 1440px × 100 */
  opacity: 1;
}

.point-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 52.78vw; /* 760px / 1440px × 100 */
  height: 32.71vw; /* 471px / 1440px × 100 */
}

.point-image img {
  width: 100%;
  height: 100%;
  opacity: 1;
  object-fit: cover;
}

.point-content {
  position: absolute;
  top: 4.24vw; /* 61px / 1440px × 100 */
  left: 47.78vw; /* 688px / 1440px × 100 */
  width: 44.58vw; /* 642px / 1440px × 100 */
  height: 24.31vw; /* 350px / 1440px × 100 */
  background: #ffffffd9;
  padding: 5.21vw 5.56vw; /* 75px 80px */
  display: flex;
  flex-direction: column;
  gap: 0.69vw; /* 10px / 1440px × 100 */
  border-top-left-radius: 2.78vw; /* 40px / 1440px × 100 */
  box-shadow: 0px 0px 1.39vw 0px #58678114;
  opacity: 1;
}

.point-number {
  position: absolute;
  top: -3.47vw; /* -50px / 1440px × 100 */
  right: -1.39vw; /* -20px / 1440px × 100 */
  display: flex;
  flex-direction: column;
  align-items: center;
}

.point-label {
  width: 5.69vw; /* 82px / 1440px × 100 */
  height: 1.39vw; /* 20px / 1440px × 100 */
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 1.39vw; /* 20px / 1440px × 100 */
  line-height: 100%;
  letter-spacing: 0.2em;
  text-align: center;
  vertical-align: middle;
  color: #fbc8e0;
  opacity: 1;
  white-space: nowrap;
  overflow: visible;
}

.point-num {
  width: 6.18vw; /* 89px / 1440px × 100 */
  height: 4.65vw; /* 67px / 1440px × 100 */
  font-family: "Jost", sans-serif;
  font-weight: 400;
  font-size: 5.83vw; /* 84px / 1440px × 100 */
  line-height: 80%;
  letter-spacing: 0%;
  vertical-align: middle;
  color: #fbc8e0;
  opacity: 1;
}

.point-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.22vw; /* 32px / 1440px × 100 */
  font-weight: 700;
  line-height: 1.4;
  color: #586781;
  margin: 0 0 2.08vw 0; /* 0 0 30px 0 */
}

.point-description {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.11vw; /* 16px / 1440px × 100 */
  font-weight: 400;
  line-height: 1.8;
  color: #586781;
  margin: 0;
}

/* ======== POINT 02 セクション ======== */
.block-point-02 {
  position: relative;
  z-index: 10;
  padding-top: 6.25vw; /* 90px / 1440px × 100 */
  background: transparent;
  display: flex;
  justify-content: center;
}

.point-container-02 {
  position: relative;
  width: 100%;
  max-width: 100vw; /* 1440px / 1440px × 100 */
  height: 32.71vw; /* 471px / 1440px × 100 */
  opacity: 1;
}

.point-image-02 {
  position: absolute;
  top: 0;
  right: 0;
  width: 52.78vw; /* 760px / 1440px × 100 */
  height: 32.71vw; /* 471px / 1440px × 100 */
  z-index: 1;
}

.point-image-02 img {
  width: 100%;
  height: 100%;
  opacity: 1;
  object-fit: cover;
}

.point-content-02 {
  position: absolute;
  top: 4.24vw; /* 61px / 1440px × 100 */
  left: 7.5vw; /* 108px / 1440px × 100 */
  width: 44.58vw; /* 642px / 1440px × 100 */
  height: 24.31vw; /* 350px / 1440px × 100 */
  background: #ffffffd9;
  padding: 5.21vw 5.56vw; /* 75px 80px */
  display: flex;
  flex-direction: column;
  gap: 0.69vw; /* 10px / 1440px × 100 */
  border-top-right-radius: 2.78vw; /* 40px / 1440px × 100 */
  box-shadow: 0px 0px 1.39vw 0px #58678114;
  opacity: 1;
  z-index: 2;
}

.point-number-02 {
  position: absolute;
  top: -3.47vw; /* -50px / 1440px × 100 */
  left: -1.39vw; /* -20px / 1440px × 100 */
  width: 6.88vw; /* 99px / 1440px × 100 */
  height: 6.04vw; /* 87px / 1440px × 100 */
  display: flex;
  flex-direction: column;
  align-items: center;
  opacity: 1;
}

.point-label-02 {
  width: 5.69vw; /* 82px / 1440px × 100 */
  height: 1.39vw; /* 20px / 1440px × 100 */
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 1.39vw; /* 20px / 1440px × 100 */
  line-height: 100%;
  letter-spacing: 0.2em;
  text-align: center;
  vertical-align: middle;
  color: #fbc8e0;
  opacity: 1;
  white-space: nowrap;
  overflow: visible;
}

.point-num-02 {
  width: 6.88vw; /* 99px / 1440px × 100 */
  height: 4.65vw; /* 67px / 1440px × 100 */
  font-family: "Jost", sans-serif;
  font-weight: 400;
  font-size: 5.83vw; /* 84px / 1440px × 100 */
  line-height: 80%;
  letter-spacing: 0%;
  vertical-align: middle;
  color: #fbc8e0;
  opacity: 1;
  white-space: nowrap;
  overflow: visible;
}

.point-title-02 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.22vw; /* 32px / 1440px × 100 */
  font-weight: 700;
  line-height: 1.4;
  color: #586781;
  margin: 0 0 2.08vw 0; /* 0 0 30px 0 */
}

.point-description-02 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.11vw; /* 16px / 1440px × 100 */
  font-weight: 400;
  line-height: 1.8;
  color: #586781;
  margin: 0;
}

/* ======== POINT 03 セクション ======== */
.block-point-03 {
  position: relative;
  z-index: 10;
  padding-top: 6.25vw; /* 90px / 1440px × 100 */
  background: transparent;
  display: flex;
  justify-content: center;
}

.point-container-03 {
  position: relative;
  width: 100%;
  max-width: 100vw; /* 1440px / 1440px × 100 */
  height: 32.71vw; /* 471px / 1440px × 100 */
  opacity: 1;
}

.point-image-03 {
  position: absolute;
  top: 0;
  left: 0;
  width: 52.78vw; /* 760px / 1440px × 100 */
  height: 32.71vw; /* 471px / 1440px × 100 */
  z-index: 1;
}

.point-image-03 img {
  width: 100%;
  height: 100%;
  opacity: 1;
  object-fit: cover;
}

.point-content-03 {
  position: absolute;
  top: 4.24vw; /* 61px / 1440px × 100 */
  left: 47.78vw; /* 688px / 1440px × 100 */
  width: 44.58vw; /* 642px / 1440px × 100 */
  height: 24.31vw; /* 350px / 1440px × 100 */
  background: #ffffffd9;
  padding: 5.21vw 5.56vw; /* 75px 80px */
  display: flex;
  flex-direction: column;
  gap: 0.69vw; /* 10px / 1440px × 100 */
  border-top-left-radius: 2.78vw; /* 40px / 1440px × 100 */
  box-shadow: 0px 0px 1.39vw 0px #58678114;
  opacity: 1;
  z-index: 2;
}

.point-number-03 {
  position: absolute;
  top: -3.47vw; /* -50px / 1440px × 100 */
  right: -1.39vw; /* -20px / 1440px × 100 */
  width: 6.88vw; /* 99px / 1440px × 100 */
  height: 6.04vw; /* 87px / 1440px × 100 */
  display: flex;
  flex-direction: column;
  align-items: center;
  opacity: 1;
}

.point-label-03 {
  width: 5.69vw; /* 82px / 1440px × 100 */
  height: 1.39vw; /* 20px / 1440px × 100 */
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 1.39vw; /* 20px / 1440px × 100 */
  line-height: 100%;
  letter-spacing: 0.2em;
  text-align: center;
  vertical-align: middle;
  color: #fbc8e0;
  opacity: 1;
  white-space: nowrap;
  overflow: visible;
}

.point-num-03 {
  width: 6.88vw; /* 99px / 1440px × 100 */
  height: 4.65vw; /* 67px / 1440px × 100 */
  font-family: "Jost", sans-serif;
  font-weight: 400;
  font-size: 5.83vw; /* 84px / 1440px × 100 */
  line-height: 80%;
  letter-spacing: 0%;
  vertical-align: middle;
  color: #fbc8e0;
  opacity: 1;
  white-space: nowrap;
  overflow: visible;
}

.point-title-03 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.22vw; /* 32px / 1440px × 100 */
  font-weight: 700;
  line-height: 1.4;
  color: #586781;
  margin: 0 0 2.08vw 0; /* 0 0 30px 0 */
}

.point-description-03 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.11vw; /* 16px / 1440px × 100 */
  font-weight: 400;
  line-height: 1.8;
  color: #586781;
  margin: 0;
}

/* ======== 受講生の声セクション ======== */
.block-voices {
  position: relative;
  z-index: 10;
  padding-top: 8.33vw; /* 120px / 1440px × 100 */
  padding-bottom: 0;
  background: transparent;
  display: flex;
  justify-content: center;
  opacity: 1;
}

.voices-container {
  position: relative;
  width: 100%;
  max-width: 100vw; /* 1440px / 1440px × 100 */
  min-height: 65.21vw; /* 939px / 1440px × 100 */
  opacity: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.47vw; /* 50px / 1440px × 100 */
  padding: 5.56vw 8.4vw 6.94vw 8.4vw; /* 80px 121px 100px 121px */
}

.voices-content {
  width: 47.08vw; /* 678px / 1440px × 100 */
  height: 14.79vw; /* 213px / 1440px × 100 */
  gap: 2.78vw; /* 40px / 1440px × 100 */
  opacity: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.voices-header-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.08vw; /* 30px / 1440px × 100 */
}

.voice-image {
  width: 12.43vw; /* 179px / 1440px × 100 */
  height: 4.58vw; /* 66px / 1440px × 100 */
  gap: 1.39vw; /* 20px / 1440px × 100 */
  opacity: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.voice-image img {
  width: 12.43vw; /* 179px / 1440px × 100 */
  height: 4.58vw; /* 66px / 1440px × 100 */
  object-fit: contain;
}

.voices-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 2.35vw; /* 33.85px / 1440px × 100 */
  line-height: 120%;
  letter-spacing: 0%;
  text-align: center;
  color: #506089;
  margin: 0;
}

.voices-subtitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25vw; /* 18px / 1440px × 100 */
  font-weight: 400;
  line-height: 1.6;
  color: #586781;
  margin: 0;
  text-align: center;
}

/* PC版での改行制御 */
.voices-subtitle .d-mb-block {
  display: none;
}

.voices-subtitle .d-block {
  display: inline;
}

.voices-testimonials {
  width: 83.19vw; /* 1198px / 1440px × 100 */
  gap: 2.08vw; /* 30px / 1440px × 100 */
  opacity: 1;
  display: grid;
  grid-template-columns: repeat(
    auto-fit,
    minmax(39.86vw, 1fr)
  ); /* 574px / 1440px × 100 */
  align-items: start;
  justify-content: center;
}

.testimonial-card {
  width: 100%;
  height: auto;
  gap: 0.69vw; /* 10px / 1440px × 100 */
  opacity: 1;
  border-radius: 0.69vw; /* 10px / 1440px × 100 */
  padding: 2.43vw 2.08vw 2.43vw 2.08vw; /* 35px 30px 35px 30px */
  border: 0.07vw solid #f859a4; /* 1px / 1440px × 100 */
  box-shadow: 0px 0px 1.39vw 0px #58678114;
  background: #ffffff;
  background-image: url("../../assets/img/newlp_tile.png");
  background-repeat: repeat;
  background-size: 0.83vw 0.83vw; /* 12px 12px */
  display: flex;
  flex-direction: row;
  position: relative;
  gap: 2.08vw; /* 30px / 1440px × 100 */
}

.card-left-section {
  width: 8.33vw; /* 120px / 1440px × 100 */
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.04vw; /* 15px / 1440px × 100 */
  flex: 0 0 8.33vw; /* 120px / 1440px × 100 */
}

.card-right-section {
  display: flex;
  flex-direction: column;
  gap: 1.39vw; /* 20px / 1440px × 100 */
  flex: 1;
}

.card-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.39vw; /* 20px / 1440px × 100 */
  font-weight: 600;
  line-height: 130%;
  letter-spacing: 5%;
  color: #f859a4;
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  text-align: center;
}

.profile-image {
  width: 8.33vw; /* 120px / 1440px × 100 */
  height: 8.33vw; /* 120px / 1440px × 100 */
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.profile-image img {
  width: 8.33vw; /* 120px / 1440px × 100 */
  height: 8.33vw; /* 120px / 1440px × 100 */
  border-radius: 50%;
  object-fit: cover;
}

.profile-info {
  display: flex;
  flex-direction: column;
  gap: 0;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.9vw; /* 13px / 1440px × 100 */
  line-height: 150%;
  letter-spacing: 0%;
  color: #506089;
}

.card-details {
  display: flex;
  flex-direction: column;
  gap: 1.04vw; /* 15px / 1440px × 100 */
  flex: 1;
}

.before-section,
.after-section {
  display: flex;
  flex-direction: column;
  gap: 1.04vw; /* 15px / 1440px × 100 */
}

.before-label {
  display: inline-block;
  background: #ffffff;
  color: #506089;
  width: 5vw; /* 72px / 1440px × 100 */
  height: 1.39vw; /* 20px / 1440px × 100 */
  border-radius: 1.53vw; /* 22px / 1440px × 100 */
  border: 0.07vw solid #506089; /* 1px / 1440px × 100 */
  border-style: inset;
  padding: 0.69vw; /* 10px / 1440px × 100 */
  font-family: "Jost", sans-serif;
  font-size: 0.76vw; /* 11px / 1440px × 100 */
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 5%;
  text-align: center;
  vertical-align: middle;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.after-label {
  display: inline-block;
  background: #f859a4;
  color: #ffffff;
  width: 5vw; /* 72px / 1440px × 100 */
  height: 1.39vw; /* 20px / 1440px × 100 */
  border-radius: 1.53vw; /* 22px / 1440px × 100 */
  border: 0.07vw solid #f859a4; /* 1px / 1440px × 100 */
  padding: 0.69vw; /* 10px / 1440px × 100 */
  font-family: "Jost", sans-serif;
  font-size: 0.76vw; /* 11px / 1440px × 100 */
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 5%;
  text-align: center;
  vertical-align: middle;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.before-list,
.after-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.21vw; /* 3px / 1440px × 100 */
}

.before-list li {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.97vw; /* 14px / 1440px × 100 */
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0%;
  color: #506089;
  width: 24.51vw; /* 353px / 1440px × 100 */
  min-height: 1.53vw; /* 22px / 1440px × 100 */
  position: relative;
  padding-left: 1.39vw; /* 20px / 1440px × 100 */
  padding-top: 0.14vw; /* 2px / 1440px × 100 */
  box-sizing: border-box;
}

.after-list li {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.97vw; /* 14px / 1440px × 100 */
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0%;
  color: #506089;
  width: 25.97vw; /* 374px / 1440px × 100 */
  height: 3.06vw; /* 44px / 1440px × 100 */
  position: relative;
  padding-left: 1.39vw; /* 20px / 1440px × 100 */
  vertical-align: middle;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}

.before-list li::before {
  content: "•";
  color: #506089;
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 0.35vw; /* 5px / 1440px × 100 */
  line-height: 1;
}

.after-list li::before {
  content: "•";
  color: #506089;
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 0.35vw; /* 5px / 1440px × 100 */
  line-height: 1;
}

.after-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25vw; /* 18px / 1440px × 100 */
  font-weight: 600;
  line-height: 130%;
  letter-spacing: 5%;
  color: #506089;
  width: 25.97vw; /* 374px / 1440px × 100 */
  height: 3.19vw; /* 46px / 1440px × 100 */
  margin: 0;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}

.skills-section {
  display: flex;
  flex-direction: column;
  gap: 0.14vw; /* 2px / 1440px × 100 */
  width: 100%;
  min-height: 4.44vw; /* 64px / 1440px × 100 */
  background: #ffffff;
  padding: 0.69vw 1.04vw; /* 10px 15px */
  box-sizing: border-box;
}

.skills-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9vw; /* 13px / 1440px × 100 */
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0%;
  color: #506089;
  width: auto;
  height: 1.46vw; /* 21px / 1440px × 100 */
  margin: 0;
  vertical-align: middle;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}

.skills-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: row;
  gap: 0.69vw; /* 10px / 1440px × 100 */
  width: 23.89vw; /* 344px / 1440px × 100 */
  height: 1.46vw; /* 21px / 1440px × 100 */
  align-items: center;
  box-sizing: border-box;
  flex-wrap: nowrap;
}

.skills-list li {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9vw; /* 13px / 1440px × 100 */
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 0%;
  color: #506089;
  position: relative;
  padding-left: 1.39vw; /* 20px / 1440px × 100 */
  vertical-align: middle;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  flex: 0 0 auto;
  white-space: nowrap;
}

.skills-list li::before {
  content: "•";
  color: #506089;
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 0.35vw; /* 5px / 1440px × 100 */
  line-height: 1;
}

.skills-content p {
  margin: 0;
  font-size: 0.9vw; /* 13px / 1440px × 100 */
  font-weight: 700;
  color: #506089;
  line-height: 160%;
}

/* ======== common settings ======== */
/* ----- settings ----- */

html {
  font-size: 62.5%;
  overflow: auto;
  scroll-behavior: smooth;
}

/* スムーススクロール時のヘッダーオフセット */
#features,
#pricing,
#qa {
  scroll-margin-top: 80px;
}

/* 体験会と受講生の声は小さめのオフセット */
#voices,
#trial {
  scroll-margin-top: 0px;
}

body {
  width: 100%;
  background-color: #fff;
  line-height: 1.8;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  position: relative;
  -ms-text-size-adjust: none;
  text-size-adjust: none;
  color: #191919;
  font-size: 14px;
  font-size: 1.4rem;
  word-break: break-all;
  overflow: auto;
}

ul,
ol,
dl {
  list-style: none;
}

img {
  width: 100%;
  vertical-align: bottom;
}

a {
  color: #000;
  text-decoration: none;
}

sup {
  font-size: 0.8em;
  vertical-align: super;
}

.fw-bold {
  font-weight: 700;
}

.text-pink {
  color: #f859a4;
}

.break-line {
  display: block;
}

.d-block {
  display: block;
}

.d-mb-block {
  display: none;
}

header.scroll {
  position: fixed;
  width: 100%;
  z-index: 999;
}

.container_1 {
  position: relative;
  width: 100%;

  & .deco-pc {
    position: absolute !important;
    top: -50px;
    right: 30px;
    width: 110px;
    height: 149px;
  }

  & .content_mb {
    display: none;
  }

  > :not(.bg) {
    z-index: 2;
    position: relative;
  }

  & .bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #a9c9ff 0%, #ffbbec 100%);
    clip-path: polygon(50% 0, 100% 0, 100% 60%, 0 49%, 0% 15%);
  }
}

.header {
  & * {
    z-index: 1;
  }

  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding: 0;
  height: 6.94vw; /* 100px / 1440px × 100 */
  align-items: center;
  position: relative;
  background: #ffffff;

  & .logo {
    flex: 0 1 auto;
    max-width: 30vw;
    min-width: 15vw;
    height: auto;
    display: flex;
    align-items: center;
    padding: 0 1.94vw; /* 左右に28px / 1440px × 100 */

    & img {
      width: 100%;
      height: auto;
      object-fit: contain;
    }
  }

  & .header-right {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4.17vw; /* 60px / 1440px × 100 */
    flex: 0 1 auto;
    padding-right: 1.94vw; /* 右に28px / 1440px × 100 */
  }

  & .header-nav {
    display: flex;
    flex-direction: row;
    gap: 4.17vw; /* 60px / 1440px × 100 */
    align-items: center;
  }

  & .nav-link {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 1.11vw; /* 16px / 1440px × 100 */
    line-height: 120%;
    letter-spacing: 0.067vw; /* 0.96px / 1440px × 100 */
    text-align: center;
    vertical-align: middle;
    text-transform: uppercase;
    color: #506089;
    text-decoration: none;
    transition: color 0.3s ease;
    white-space: nowrap;
    opacity: 1;

    &:hover {
      color: #f859a4;
    }
  }

  & .top-button {
    display: flex;
    gap: 1.39vw; /* 20px / 1440px × 100 */
  }
}

.btn {
  padding: 11.5px 18px;
  border-radius: 8px;
  font-size: 14px;
  line-height: 21px;
  font-weight: 600;
  letter-spacing: 0;
}

.btn.btn-gray {
  background-color: #8395b3;
  color: #fff;
}

.btn.btn-pink {
  background-color: #f859a4;
  color: #fff;
}

.content {
  max-width: 1080px;
  margin: 0 auto;
  margin-top: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.container_1 .content .title_1 {
  color: #fff;
  text-align: center;

  img {
    width: 885px;
  }

  margin-bottom: 35px;
}

.container_1 .content .bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 52px;
  margin-top: 50px;
}

.container_1 .content .bottom .text {
  color: #8395b3;
  font-size: 17px;
  line-height: 30.6px;
  font-weight: 600;
  text-align: center;
}

.container_1 .content .media-info {
  position: relative;
  margin-top: 60px;
  border-top: 1px solid #dde3f1;
  border-bottom: 1px solid #dde3f1;
  padding: 39px 73px 19px;
  margin-bottom: 80px;
}

.container_1 .content .media-info .media-title {
  position: absolute;
  display: flex;
  gap: 20px;
  font-size: 24px;
  line-height: 24px;
  color: #586781;
  font-weight: 700;
  width: 316px;
  height: 40px;
  left: 50%;
  top: -20px;
  background-color: #fff;
  transform: translateX(-50%);
  align-items: center;
  justify-content: center;

  & img {
    width: 45px;
    height: 40px;
  }
}

.container_1 .content .media-info .list-img-media {
  display: flex;
  flex-direction: row;
  gap: 50px;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  margin-top: 20px;
  height: 49px;
}

.container_1 .content .media-info .media-bottom {
  text-align: right;
  font-size: 14px;
  line-height: 21px;
  font-weight: 400;
  color: #586781;
}

.bg_top {
  position: absolute;
  width: 100%;
  height: 100px;
  top: 0;
}

.bg_bottom {
  position: absolute;
  width: 100%;
  height: 100px;
  bottom: -1px;
}

.bg_top.bg_left {
  clip-path: var(--polygon, polygon(0% 0%, 100% 0%, 0% 100%));
  background: var(--bg);
}

.bg_top.bg_right {
  clip-path: var(--polygon, polygon(0% 0%, 100% -1%, 100% 100%));
  background: var(--bg) !important;
}

.bg_bottom.bg_left {
  clip-path: var(--polygon, polygon(0% 0%, 100% 100%, 0% 120%));
  background: var(--bg);
}

.bg_bottom.bg_right {
  clip-path: var(--polygon, polygon(100% 100%, 0% 100%, 100% 0%));
  background: var(--bg);
}

.info-tech {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 40px;
  background-color: rgb(245, 248, 251);
  padding: 170px 0 100px;
  position: relative;
  color: #586781;

  & > .bg_top {
    background-color: #fff;
  }

  & .info-tech-top {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;

    & img {
      width: 433px;
      height: 293px;
      margin-bottom: 20px;
    }

    & p {
      color: #586781;
      font-size: 18px;
      line-height: 36px;
      font-weight: 400;
      letter-spacing: 0;
      text-align: center;
    }
  }

  & .info-tech-img {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 45px;
    background: #fff;
    padding: 56px 77px;
    position: relative;

    & .border-left {
      position: absolute;
      left: 0;
      top: 0;
      width: 21px;
      height: 100%;
      border-left: 1px solid #8395b3;
      border-top: 1px solid #8395b3;
      border-bottom: 1px solid #8395b3;
    }

    & .border-right {
      position: absolute;
      right: 0;
      top: 0;
      width: 21px;
      height: 100%;
      border-right: 1px solid #8395b3;
      border-top: 1px solid #8395b3;
      border-bottom: 1px solid #8395b3;
    }

    & .block {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 16px;
      text-align: center;
      font-size: 14px;
      line-height: 22.4px;
      color: #586781;
      padding: 0 15px;

      & img {
        border-radius: 50%;
        width: 170px;
        height: 170px;
      }
    }
  }

  .info-tech-text {
    font-size: 22px;
    line-height: 44px;
    letter-spacing: 1px;
    font-weight: 600;
    width: 1089px;
    text-align: center;
  }
}

.skill-challenge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 60px;
  background: linear-gradient(0deg, #fee5ef, #fffbfe);
  padding-top: 180px;
  padding-bottom: 100px;
  position: relative;

  & > .bg_top {
    background-color: rgb(245, 248, 251);
  }

  & .skill-challenge-top img {
    width: 513px;
    height: 341px;
  }

  & .skill-challenge-bottom {
    background-color: #fffefe;
    border-radius: 20px;
    max-width: 1000px;
    padding: 70px;

    & .block:not(:last-child) {
      margin-bottom: 50px;
    }

    & .block {
      display: flex;
      flex-direction: row;
      gap: 50px;
      align-items: start;

      & .item-1 {
        flex: 0 50%;

        & .title {
          font-size: 22px;
          line-height: 22px;
          color: #586781;
          font-weight: 600;
          letter-spacing: 1px;
          margin-bottom: 30px;

          & p:first-child {
            line-height: 35.2px;
            margin-bottom: 3px;
          }

          & span {
            background: linear-gradient(90deg, #719dd6, #eda8c5);
            padding: 3.5px 6px 5.5px;
            margin-right: 5px;
            color: #fff;
            display: inline-block;
          }
        }

        & .text {
          font-size: 16px;
          line-height: 32px;
          color: #586781;
          font-weight: 400;

          & span {
            font-weight: 700;
          }
        }
      }

      & .item-2 {
        flex: 0 50%;

        & img {
          border-radius: 10px;
        }

        & p {
          margin-top: 15px;
          font-size: 15px;
          line-height: 24px;
          color: #8395b3;
          font-weight: 400;
        }
      }
    }
  }
}

.scale-job {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 60px;
  padding: 180px;
  background: linear-gradient(150deg, #f4f8fb, #e6ebf7);
  position: relative;

  & > .bg_top {
    background: linear-gradient(135deg, #fee9f3, #ffe2ef);
  }

  & .scale-job-top {
    display: flex;
    flex-direction: column;
    gap: 30px;
    justify-content: center;
    align-items: center;

    & > img:first-child {
      width: 57px;
      height: 30px;
    }

    & > img:nth-child(2) {
      width: 642px;
      height: 103px;
    }

    & .block-1 {
      background-color: #fff;
      padding: 32px 35.5px;
      padding-top: 0;
      display: grid;
      grid-template-columns: 50% 50%;
      grid-template-rows: 32px 140px 1fr;
      grid-template-areas:
        "title title" "item-1 item-3"
        "item-2 item-3";
      width: 955px;
      border-radius: 20px;
      color: #586781;

      & > .title {
        grid-area: title;
        text-align: right;
        border-top-left-radius: 4px;
        border-top-right-radius: 4px;

        & span {
          color: #fff;
          line-height: 10.5px;
          font-weight: 600;
          font-size: 11px;
          padding: 11px 19.5px;
          background: url("/assets/img/short_logo_white.png") no-repeat 20px
              center / 20px 10px,
            #f859a4;
          padding-left: 48.5px;
          display: inline-block;
          border-top-left-radius: 4px;
          border-top-right-radius: 4px;
        }
      }

      & .item-1 {
        grid-area: item-1;
        border: 1px solid #f859a4;
        border-bottom: 0;
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: end;
        justify-content: center;
        padding-right: 40px;

        & .text-top {
          font-size: 13px;
          line-height: 19px;
          font-weight: 600;
          color: #586781;
          margin-bottom: 15px;
        }

        & .text-bottom {
          font-size: 1.67vw; /* 24px / 1440px × 100 */
          line-height: 2.15vw; /* 31px / 1440px × 100 */
          font-weight: 600;
          color: #f859a4;
          letter-spacing: 0.07vw; /* 1px / 1440px × 100 */
        }

        & img {
          position: absolute;
          bottom: 0;
          left: 14px;
          width: 141px;
          height: 171px;
        }
      }

      & .item-2 {
        grid-area: item-2;
        border: 1px solid #f859a4;

        & .item-2-top {
          padding: 23px 55px 23px 35px;

          & span.btn {
            font-size: 11px;
            line-height: 16.5px;
            font-weight: 500;
            letter-spacing: 1px;
            color: #586781;
            border: 1px solid #586781;
            border-radius: 22px;
            padding: 6px 14px;
            margin-bottom: 10px;
          }

          & ul {
            list-style: disc;
            margin-top: 10px;
            padding-left: 25px;

            & li {
              font-size: 14px;
              line-height: 22.4px;
              color: #586781;
              text-indent: -5px;
            }
          }
        }

        & .item-2-bottom {
          background: #e7eef666;
          padding: 26.5px 34.5px;

          & span.btn {
            font-size: 11px;
            line-height: 16.5px;
            font-weight: 500;
            letter-spacing: 1px;
            color: #fff;
            border: 1px solid #f859a4;
            background-color: #f859a4;
            border-radius: 22px;
            padding: 6px 14px;
          }

          & .title {
            margin-top: 8px;
            font-weight: 600;
            font-size: 18px;
            line-height: 23px;
            letter-spacing: 1px;
            color: #586781;
            text-align: left;
          }

          & .acquired-skills {
            background: #fff;
            padding: 10px 15px;
            color: #586781;

            & p {
              font-size: 13px;
              line-height: 20.8px;
            }
          }

          & ul.list-1 {
            list-style: disc;
            padding-left: 27px;
            margin-top: 10px;
            margin-bottom: 15px;

            & li {
              list-style: disc;
              font-size: 14px;
              line-height: 22.4px;
              color: #586781;
            }
          }

          & ul.list-2 {
            width: 374px;
            list-style: disc;
            list-style-position: outside;
            margin-top: 10px;
            margin-left: 20px;
            display: flex;
            justify-content: space-between;
            padding-right: 15px;

            & li {
              font-size: 13px;
              line-height: 22.4px;
              text-indent: -5px;
              color: #586781;
              font-weight: 700;
              float: left;
              margin-right: 10px;
            }
          }

          & ul.list-2::after {
            content: "";
            display: block;
            clear: both;
          }
        }
      }

      & .item-3 {
        grid-area: item-3;
        border: 1px solid #f859a4;
        border-left: 0;
        background-image: linear-gradient(
            rgba(255, 182, 193, 0.3) 1px,
            transparent 1px
          ),
          linear-gradient(90deg, rgba(255, 182, 193, 0.3) 1px, transparent 1px);
        background-size: 10px 10px;
        /* Adjust grid spacing */
        padding: 42px 19.5px;

        & .title {
          color: #f859a4;
          font-size: 18px;
          font-weight: 700;
          line-height: 23.4px;
          letter-spacing: 1px;
          text-align: center;
          margin-bottom: 20px;

          & span {
            font-size: 24px;
            line-height: 31.2px;
          }
        }

        & .sliders {
          padding: 0 20px;
          display: flex;
          flex-direction: column;
          letter-spacing: 1px;
          text-align: center;
          margin-bottom: 21px;

          & .slick-slide {
            width: 100% !important;
            max-width: 375px !important;
            display: flex;
            justify-content: center;
            align-items: center;
            text-align: center;
            flex-direction: column;
          }

          & .slick-slide > div {
            width: 100%;
            display: flex;
            justify-content: center;
            flex-direction: column;
            align-items: center;
          }

          & img {
            width: 320px;
            height: 196px;
            margin-bottom: 20px;
          }

          & .time {
            color: #f859a4;
            font-size: 22px;
            line-height: 28.6px;
            font-weight: 700;
            margin-bottom: 10px;
          }

          & .action {
            font-weight: 700;
            font-size: 20px;
            line-height: 26px;
            height: 2lh;
            color: #586781;
            margin-bottom: 15px;
            display: flex;
            align-items: center;
            justify-content: center;
          }

          & .purpose {
            font-size: 16px;
            line-height: 26px;
            font-weight: 400;
            color: #586781;
            letter-spacing: 0;
          }
        }

        & .custom-navigation {
          display: flex;
          flex-direction: row;
          gap: 40px;
          align-items: center;
          justify-content: center;

          & .custom-prev,
          .custom-next {
            cursor: pointer;
            width: 30px;
            height: 30px;
            background: #c8c8c8;
            border: none;
            color: #fff;
          }

          & .custom-next {
            background: #f859a4;
          }

          & .slick-dots {
            display: flex;
            align-items: center;
            justify-content: center;

            & li:not(:last-child) {
              margin-right: 6px;
            }

            & li.slick-active {
              & button {
                background: #f859a4 !important;
              }
            }

            & li {
              display: flex;
              align-items: center;
              justify-content: center;

              & button {
                border: none;
                border-radius: 50%;
                width: 6px;
                height: 6px;
                background: #c8c8c8;
                padding: 0;
                font-size: 0;
                line-height: 0;
                cursor: pointer;
                transition: background 0.3s ease;
              }
            }
          }
        }
      }
    }

    & .block-1.profile-2 {
      & .item-1 {
        padding-right: 21px;

        & img {
          width: 156px;
          height: 168px;
          left: 3.5px;
        }
      }

      & .item-2 {
        & .item-2-bottom {
          & ul.list-2 {
            & li {
              margin-right: 3px;
            }
          }
        }
      }
    }

    & .block-2 {
      max-width: 955px;
      height: 334px;
      background-color: #fff;
      padding: 50px 56px;
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: stretch;
      gap: 40px;
      border-radius: 20px;
      color: #586781;

      & .item-1 {
        flex: 1 0 405px;

        & .title {
          background: url("/assets/img/icon_movie.png") no-repeat left center /
            34px 34px;
          padding-left: 53.08px;
          font-size: 24px;
          line-height: 36px;
          font-weight: 600;
          margin-bottom: 24px;
        }

        & .block-description {
          font-size: 15px;
          line-height: 30px;
          font-weight: 400;
          text-align: justify;
          letter-spacing: 0.3px;
        }
      }

      & .item-2 {
        flex: 1 0 405px;

        & iframe {
          width: 100%;
          height: 100%;
          border-radius: 8px;
        }
      }
    }

    & > .text {
      font-size: 18px;
      line-height: 36px;
      color: #586781;
      font-weight: 400;
      text-align: center;
      margin-bottom: 60px;
    }

    & .description {
      width: 757px;
      position: relative;
      background-color: #fff;
      border-radius: 15px;

      & .description-top {
        & .title {
          height: 43px;
          display: flex;
          align-items: center;
          border-top-left-radius: 15px;
          border-top-right-radius: 15px;
          color: #fff;
          font-size: 16px;
          line-height: 20.8px;
          padding: 5px 40px 5px;
          gap: 2.5px;
          font-weight: 600;
          background: url("/assets/img/icon-look.png") no-repeat 20px center /
              16px,
            #f859a4 !important;
        }
      }

      & .description-bottom {
        padding: 20px 45px 30px;
        font-size: 14px;
        line-height: 25px;
        font-weight: 400;
        color: #586781;
        width: 60%;
      }

      & .description-img {
        position: absolute;
        top: 50%;
        left: 54%;
        transform: translateY(-50%);
        width: 328px;

        & img {
          width: 100%;
          height: 104px;
          float: left;
        }
      }
    }
  }
}

.block-line.left {
  background: url("/assets/img/bg_block_line_left.png") no-repeat center center /
    cover !important;
}

.block-line {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: url("../../assets/img/newlp_cta-background.png") no-repeat center
    center / cover;
  padding: 8.33vw 0; /* 120px / 1440px × 100 */
  position: relative;

  & > img {
    width: 33.33vw; /* 480px / 1440px × 100 */
    height: 7.08vw; /* 102px / 1440px × 100 */
    margin-bottom: 1.39vw; /* 20px / 1440px × 100 */
  }

  & .block-line-subtitle {
    width: 42.64vw; /* 614px / 1440px × 100 */
    height: 2.36vw; /* 34px / 1440px × 100 */
    opacity: 1;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 1.94vw; /* 28px / 1440px × 100 */
    line-height: 120%;
    letter-spacing: 10%;
    text-align: center;
    color: #506089;
    margin-bottom: 1.39vw; /* 20px / 1440px × 100 */
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }

  & .text {
    font-size: 1.25vw; /* 18px / 1440px × 100 */
    line-height: 2.25vw; /* 32.4px / 1440px × 100 */
    font-weight: 600;
    color: #506089;
    margin-bottom: 3.47vw; /* 50px / 1440px × 100 */
    text-align: center;
  }

  & .btn-line {
    /* block-line特有のグラデーション */
    background: url("../../assets/img/newlp_arrow.png") no-repeat
        calc(100% - 31.25px) center / 15px,
      linear-gradient(135deg, #f859a4 0%, #f859a4 100%);
  }
}

.block-line:last-child {
  & > img {
    margin-bottom: 2.08vw; /* 30px / 1440px × 100 */
  }

  & .text {
    font-size: 1.18vw; /* 17px / 1440px × 100 */
    line-height: 2.13vw; /* 30.6px / 1440px × 100 */
    letter-spacing: calc(10 / 100 * 1.18vw);
    margin-bottom: 3.61vw; /* 52px / 1440px × 100 */
  }
}

.block-reason {
  background: #f3f7fa;
  text-align: center;
  padding: 6.94vw 8.33vw; /* 100px 120px / 1440px × 100 */

  & .top {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 32px;
    margin-bottom: 60px;

    & img:nth-child(1) {
      width: 416px;
      height: 74px;
    }

    & img:nth-child(2) {
      width: 110px;
      height: 113px;
    }

    & img:nth-child(3) {
      width: 434px;
      height: 60px;
    }
  }

  & .bottom {
    width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 40px;

    & .item {
      background: #fff;
      border-radius: 20px;
      padding: 70px 80px;
      color: #586781;
      text-align: center;

      & .title {
        border-bottom: 1px solid #d0d5db;
        padding-bottom: 30px;
        display: flex;
        align-items: center;
        justify-content: start;
        gap: 25px;
        margin-bottom: 40px;

        & .num_order {
          color: #becded;
          font-size: 60px;
          line-height: 48px;
          font-weight: 400;
          font-family: "Jost", serif;
        }

        & .text {
          font-size: 30px;
          line-height: 30px;
          font-weight: 700;
        }

        & .option {
          color: #f859a4;
          border: 1px solid #f859a4;
          background: #fff;
          border-radius: 16px;
          padding: 5px;
          width: 90px;
          font-size: 12px;
          line-height: 18px;
          text-align: center;
          font-weight: 600;
        }
      }

      & .item-content {
        & .wrapper-item {
          display: flex;
          flex-direction: column;
          gap: 50px;

          & .item-position {
            & .top-position {
              text-align: left;

              & span {
                display: inline-block;
                background: url("/assets/img/short_logo_white.png") no-repeat
                    20.5px center / 20px 10px,
                  #f859a4;
                font-size: 11px;
                line-height: 16.5px;
                font-weight: 600;
                color: #fff;
                font-family: "Montserrat", serif;
                padding-left: 49.5px;
                padding-right: 20px;
                padding-top: 12px;
                padding-bottom: 12px;
                border-top-left-radius: 5px;
                border-top-right-radius: 5px;
              }
            }

            & .bottom-position {
              background: #fcf7f9;
              padding: 32.5px 60px;
              display: flex;
              flex-direction: row;
              gap: 35px;
              align-items: start;
              border-radius: 10px;
              margin-bottom: 18px;

              & .avatar {
                flex: 1 0 143px;

                & img {
                  border-radius: 50%;
                  width: 138px;
                  height: 138px;
                  margin-bottom: 18px;
                }

                & p {
                  font-weight: 400;
                  font-size: 11px;
                  line-height: 16.5px;
                  font-family: yu-mincho-pr6n, sans-serif;
                  text-align: left;

                  & span {
                    font-size: 15px;
                    line-height: 22.5px;
                  }
                }
              }

              & .text {
                font-size: 14px;
                line-height: 28px;
                font-weight: 400;
                text-align: justify;

                & p {
                  text-align: left;
                  font-size: 16px;
                  line-height: 24px;
                  font-weight: 600;
                  margin-bottom: 15px;
                }
              }
            }
          }

          & .item-2-column {
            display: flex;
            flex-direction: row;
            gap: 40px;
            align-items: start;

            & .description {
              flex: 1 0 443px;

              & .sub-title {
                display: flex;
                align-items: end;
                justify-content: start;
                gap: 10px;
                font-size: 22px;
                line-height: 22px;
                font-weight: 600;
                margin-bottom: 20px;

                & img {
                  width: 16px;
                  height: 16px;
                }
              }

              & .text {
                text-align: justify;
                font-size: 16px;
                line-height: 32px;
                font-weight: 400;
              }

              & .link {
                margin-top: 36px;
                display: flex;
                align-items: center;
                justify-content: start;
                gap: 10px;

                & span {
                  font-size: 16px;
                  line-height: 32px;
                  font-weight: 500;
                  padding-bottom: 4px;
                  color: #586781;
                  border-bottom: 1px solid #586781;
                }

                & img {
                  width: 30px;
                  height: 30px;
                }
              }

              & .list-app {
                margin-top: 30px;
                display: flex;
                flex-direction: row;
                align-items: center;
                gap: 20px;

                & .btn-other {
                  padding: 0 25.5px;
                  border-radius: 15px;
                  text-align: center;
                  font-size: 17px;
                  background: #f2f5fc;
                  font-weight: 600;
                  color: #586781;
                }
              }
            }

            & > img {
              width: 357px;
              height: auto;
            }
          }
        }
      }
    }
  }
}

.block-curriculum {
  padding: 6.25vw 15.28vw; /* 90px 220px / 1440px × 100 */
  color: #586781;

  & .top {
    display: flex;
    flex-direction: column;
    align-items: center;

    & img:nth-child(1) {
      width: 52px;
      height: 52px;
      margin-bottom: 20px;
    }

    & img:nth-child(2) {
      width: 230px;
      height: 56px;
      margin-bottom: 20px;
    }

    & p.diagram {
      & img {
        width: 1000px;
        height: 553px;
      }
    }

    & .text {
      font-size: 18px;
      line-height: 36px;
      font-weight: 400;
      margin-bottom: 60px;
    }
  }

  & .bottom {
    margin-top: 60px;
    display: flex;
    flex-direction: column;
    gap: 40px;

    & .item {
      background: #f4f6f9;
      border-radius: 20px;
      box-shadow: 0, 0, #000, 0.5;
      padding: 50px 56px;
    }

    & .item.row {
      display: flex;
      flex-direction: row;
      justify-content: center;
      gap: 30px;

      & .item-1 {
        /* flex: 1 0 460px; */
        flex: 1 0 60%;
        max-width: 468px;

        & .text-1 {
          & p {
            display: inline-block;
            font-size: 14px;
            line-height: 14px;
            font-weight: 700;
            padding-bottom: 5px;
            color: #f859a4;
            border-bottom: 1px solid #f859a4;

            & span {
              font-family: "jost", sans-serif;
              margin-left: 4px;
              font-size: 24px;
              line-height: 24px;
              font-weight: 500;
            }
          }

          margin-bottom: 15px;
        }

        & .text-2 {
          font-size: 1.81vw; /* 26px / 1440px × 100 */
          line-height: 2.71vw; /* 39px / 1440px × 100 */
          font-weight: 600;
          padding-bottom: 1.39vw; /* 20px / 1440px × 100 */
          border-bottom: 0.07vw solid #d0d5db; /* 1px / 1440px × 100 */
          margin-bottom: 1.39vw; /* 20px / 1440px × 100 */

          & span {
            font-size: 2.92vw; /* 42px / 1440px × 100 */
          }
        }

        & .text-3 {
          font-size: 1.04vw; /* 15px / 1440px × 100 */
          line-height: 2.08vw; /* 30px / 1440px × 100 */
          font-weight: 400;
          text-align: justify;
        }
      }

      & img {
        flex: 1 0 40%;
        width: 40%;
      }
    }

    & .item.column {
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 30px;

      & .item-1 {
        & .text-1 {
          & p {
            display: inline-block;
            font-size: 14px;
            line-height: 14px;
            font-weight: 700;
            padding-bottom: 5px;
            color: #f859a4;
            border-bottom: 1px solid #f859a4;

            & span {
              font-size: 24px;
              line-height: 24px;
              font-weight: 500;
              font-family: "jost", sans-serif;
              margin-left: 4px;
            }
          }

          margin-bottom: 15px;
        }

        & .text-2 {
          padding-bottom: 1.39vw; /* 20px / 1440px × 100 */
          border-bottom: 0.07vw solid #d0d5db; /* 1px / 1440px × 100 */
          margin-bottom: 1.39vw; /* 20px / 1440px × 100 */
          display: flex;
          align-items: center;

          & p {
            font-size: 1.81vw; /* 26px / 1440px × 100 */
            line-height: 2.71vw; /* 39px / 1440px × 100 */
            font-weight: 600;
          }

          & .option {
            display: inline-block;
            padding-top: 5px;
            padding-bottom: 5px;
            margin-left: 10px;
            font-size: 12px;
            line-height: 10px;
            color: #f859a4;
            border-radius: 16px;
            border: 1px solid #f859a4;
            background: #fff;
            width: 90px;
            height: 24px;
            text-align: center;
            font-weight: 600;
          }
        }

        & .text-3 {
          font-size: 1.04vw; /* 15px / 1440px × 100 */
          line-height: 2.08vw; /* 30px / 1440px × 100 */
          font-weight: 400;
          text-align: justify;
          margin-bottom: 1.39vw; /* 20px / 1440px × 100 */
        }

        & .list-app-circle {
          display: flex;
          flex-direction: row;
          gap: 25px;
          justify-content: start;

          & img {
            max-width: calc((100% / 6) - 20px);
            height: auto;
          }
        }
      }
    }
  }
}

.block-price-list {
  color: #586781;
  padding: 6.25vw 15.28vw; /* 90px 220px / 1440px × 100 */
  background: #f4f6f9;
  display: flex;
  flex-direction: column;
  align-items: center;

  & .top {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.39vw; /* 20px / 1440px × 100 */
    margin-bottom: 4.17vw; /* 60px / 1440px × 100 */

    & img:nth-child(1) {
      width: 5.42vw; /* 78px / 1440px × 100 */
      height: 4.58vw; /* 66px / 1440px × 100 */
      opacity: 1;
    }

    & img:nth-child(2) {
      width: 8.33vw; /* 120px / 1440px × 100 */
      height: 3.89vw; /* 56px / 1440px × 100 */
    }

    & .text {
      text-align: center;
      font-size: 1.25vw; /* 18px / 1440px × 100 */
      line-height: 2.5vw; /* 36px / 1440px × 100 */
      font-weight: 400;

      & span {
        font-weight: 600;
      }
    }
  }

  & .bottom {
    width: 69.44vw; /* 1000px / 1440px × 100 */

    & .type-register {
      display: flex;
      flex-direction: row;
      gap: 1.39vw; /* 20px / 1440px × 100 */

      & .panel {
        flex: 1 0 auto;
        height: 21.39vw; /* 308px / 1440px × 100 */
        background: #fff;
        border-radius: 0.69vw; /* 10px / 1440px × 100 */

        & .title {
          border-top-left-radius: 0.69vw; /* 10px / 1440px × 100 */
          border-top-right-radius: 0.69vw; /* 10px / 1440px × 100 */
          background: #8395b3;
          text-align: center;
          font-size: 1.67vw; /* 24px / 1440px × 100 */
          line-height: 1.67vw; /* 24px / 1440px × 100 */
          font-weight: 700;
          color: #fff;
          padding-top: 1.28vw; /* 18.5px / 1440px × 100 */
          padding-bottom: 1.28vw; /* 18.5px / 1440px × 100 */
        }

        & .text {
          background: #fff;
          padding: 1.74vw 2.08vw; /* 25px 30px */

          & .text-top {
            color: #f859a4;
            font-size: 3.33vw; /* 48px / 1440px × 100 */
            line-height: 4.67vw; /* 67.2px / 1440px × 100 */
            font-weight: 700;
            text-align: center;
            padding-bottom: 1.39vw; /* 20px / 1440px × 100 */
            border-bottom: 0.07vw solid #d0d5db; /* 1px / 1440px × 100 */
            margin-bottom: 1.39vw; /* 20px / 1440px × 100 */
          }

          & .text-bottom {
            font-size: 0.97vw; /* 14px / 1440px × 100 */
            line-height: 1.75vw; /* 25.2px / 1440px × 100 */
            text-align: center;
            font-weight: 400;
          }
        }
      }

      & .panel:nth-child(1) {
        flex: 0 1 31.11vw; /* 448px / 1440px × 100 */
      }
    }

    & .upgrade-guide {
      background: url("/assets/img/arrow_bg.png") no-repeat center center /
        10.28vw 10.28vw; /* 148px 148px */
      height: 10.28vw; /* 148px / 1440px × 100 */
      display: flex;
      align-items: center;
      justify-content: center;

      & p {
        padding: 0.69vw 1.77vw; /* 10px 25.5px */
        font-size: 1.11vw; /* 16px / 1440px × 100 */
        line-height: 1.56vw; /* 22.4px / 1440px × 100 */
        font-weight: 700;
        background: #fff;
        letter-spacing: 1;
      }
    }

    & .panel-full {
      position: relative;

      & > :not(.circle-comming-soon) {
        position: relative;
        z-index: 1;
      }

      & .note {
        text-align: left;
        margin-top: 0.69vw; /* 10px / 1440px × 100 */
        font-size: 0.76vw; /* 11px / 1440px × 100 */
        line-height: 1.38vw; /* 19.8px / 1440px × 100 */
        font-weight: 400;
      }

      & .title {
        border-top-left-radius: 0.69vw; /* 10px / 1440px × 100 */
        border-top-right-radius: 0.69vw; /* 10px / 1440px × 100 */
        background: #f859a4;
        text-align: center;
        font-size: 1.67vw; /* 24px / 1440px × 100 */
        line-height: 1.67vw; /* 24px / 1440px × 100 */
        font-weight: 700;
        color: #fff;
        padding-top: 1.28vw; /* 18.5px / 1440px × 100 */
        padding-bottom: 1.28vw; /* 18.5px / 1440px × 100 */
      }

      & .text {
        background: #fff;
        padding: 1.74vw 2.08vw; /* 25px 30px */
        border-bottom-left-radius: 0.69vw; /* 10px / 1440px × 100 */
        border-bottom-right-radius: 0.69vw; /* 10px / 1440px × 100 */

        & .text-top {
          padding-bottom: 1.39vw; /* 20px / 1440px × 100 */
          border-bottom: 0.07vw solid #d0d5db; /* 1px / 1440px × 100 */
          margin-bottom: 1.39vw; /* 20px / 1440px × 100 */
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          gap: 0.28vw; /* 4px / 1440px × 100 */

          & .price-info {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.69vw; /* 10px / 1440px × 100 */
          }

          & .text-1 {
            font-size: 0.97vw; /* 14px / 1440px × 100 */
            line-height: 1.36vw; /* 19.6px / 1440px × 100 */

            & span:nth-child(1) {
              color: #f859a4;
              font-weight: 700;
              text-align: center;
              display: block;
              margin-bottom: 10px;
            }

            & span:nth-child(2) {
              color: #8395b3;
              font-weight: 600;
              text-align: center;
              padding: 2px 12.5px;
              background: #f4f6f9;
              display: block;
            }
          }

          & .text-2 {
            font-size: 1.67vw; /* 24px / 1440px × 100 */
            line-height: 2.33vw; /* 33.6px / 1440px × 100 */
            color: #f859a4;
            font-weight: 600;

            & span:not(.text-3) {
              font-size: 2.92vw; /* 42px / 1440px × 100 */
              line-height: 4.67vw; /* 67.2px / 1440px × 100 */
            }
          }

          & .text-3 {
            color: #f859a4;
            font-family: "Noto Sans CJK JP", sans-serif;
            font-weight: 500;
            font-style: normal;
            font-size: 0.97vw; /* 14px / 1440px × 100 */
            line-height: 140%;
            letter-spacing: 5%;
            text-align: center;
            vertical-align: middle;
          }
        }

        & .text-bottom {
          font-size: 0.97vw; /* 14px / 1440px × 100 */
          line-height: 1.75vw; /* 25.2px / 1440px × 100 */
          text-align: center;
          font-weight: 400;
        }
      }

      & .circle-comming-soon {
        position: absolute;
        width: 164px;
        height: 164px;
        border: 3.26px solid #f859a4;
        color: #f859a4;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 9px;
        z-index: 2;
        top: -41px;
        right: -20px;
        background: #fff;

        & p:nth-child(1) {
          font-size: 21px;
          line-height: 21px;
          font-weight: 600;
          font-family: "Jost", serif;
          text-align: center;
        }

        & p:nth-child(2) {
          font-size: 12px;
          line-height: 12px;
          font-weight: 700;
        }
      }
    }
  }

  & .table-compare {
    width: 854px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    margin-top: 90px;

    & > img {
      width: 431px;
      height: 56px;
      margin-bottom: 60px;
    }

    .bg-azure {
      background: #8395b3;
      color: #fff;
    }

    .bg-pink {
      background: #f859a4;
      color: #fff;
    }

    & .tabs {
      display: flex;
      align-items: center;
      justify-content: end;
      font-size: 16px;
      line-height: 19.2px;
      font-weight: 700;
      height: 84px;
      width: 100%;
      gap: 5px;

      & .tab-1,
      & .tab-2 {
        flex: 0 1 287px;
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
      }

      & .tab-2 {
        position: relative;

        & .text {
          display: flex;
          align-items: center;
          justify-content: center;
          text-align: center;
          flex-direction: column;
        }

        & .tab-comming-soon {
          position: absolute;
          font-size: 18px;
          line-height: 18px;
          font-weight: 600;
          color: #f859a4;
          text-align: center;
          border-radius: 18px;
          background: #fff;
          border: 1.5px solid #f859a4;
          padding: 10px 29px;
          letter-spacing: calc(8 / 100 * 18px);
          top: -25px;
          font-family: "jost", sans-serif;
          display: flex;
          align-items: center;
          justify-content: center;
        }

        & .tab-comming-soon::after {
          content: "";
          position: absolute;
          left: 50%;
          top: 100%;
          transform: translateX(-50%);
          width: 0;
          height: 0;
          border-left: 6px solid #f859a4;
          border-right: 6px solid #f859a4;
          border-top: 6px solid #fff;
          clear: both;
        }
      }
    }

    & .tabs-content {
      width: 100%;

      & .row {
        display: flex;
        align-items: center;
        justify-content: end;
        gap: 5px;
        font-size: 12px;
        line-height: 15.6px;
        font-weight: 700;

        & > div {
          height: 55px;
          position: relative;
          display: flex;
          align-items: center;
          justify-content: center;
          text-align: center;
        }

        & > div:not(:first-child) {
          justify-content: end;

          & img {
            position: absolute;
            width: 24px;
            height: 24px;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
          }

          & span {
            flex: 0 1 50%;
            padding-left: 22px;
            text-align: left;
          }
        }

        & .column-1 {
          flex: 0 1 270px;
          border: 2px solid #f4f6f9;
          background: #fff;
        }

        & .column-2 {
          flex: 0 1 287px;
          background: #f7faff;
        }

        & .column-3 {
          flex: 0 1 287px;
          background: #fff9fc;
        }
      }

      & .row:nth-child(2n + 1) {
        & .column-2 {
          background: #e2ecfd;
        }

        & .column-3 {
          background: #fae8f1;
        }
      }
    }
  }
}

/* プランに含まれる全てのサービスセクション */
.block-all-services {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 15.28vw; /* 220px / 1440px × 100 */
  background: #f4f6f9;

  & .all-services-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.39vw; /* 20px / 1440px × 100 */

    & img:nth-child(1) {
      width: 3.47vw; /* 50px / 1440px × 100 */
      height: 2.71vw; /* 39px / 1440px × 100 */
      opacity: 1;
    }

    & .title-text {
      font-family: "Noto Sans JP", sans-serif;
      font-weight: 700;
      font-size: 1.67vw; /* 24px / 1440px × 100 */
      line-height: 1.4;
      color: #586781;
      text-align: center;
    }

    & img:nth-child(2) {
      width: 34.72vw; /* 500px / 1440px × 100 */
      height: 2.26vw; /* 32.5px / 1440px × 100 */
    }
  }
}

/* サービス一覧グリッド */
.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(6, 1fr);
  row-gap: 1.39vw; /* 20px / 1440px × 100 */
  column-gap: 1.74vw; /* 25px / 1440px × 100 */
  width: 100%;
  max-width: 59.72vw; /* 860px / 1440px × 100 */
  height: 40.28vw; /* 580px / 1440px × 100 */
  margin: 0 auto;
  padding: 4.17vw 0 0 0; /* 60px 0 0 0 */
  margin-bottom: 8.61vw; /* 124px / 1440px × 100 */
}

/* レスポンシブ対応のための基本設定 */
@media screen and (max-width: 1024px) {
  .services-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(9, 1fr);
    height: auto;
    min-height: 27.78vw; /* 400px / 1440px × 100 */
  }
}

@media screen and (max-width: 768px) {
  .services-grid {
    grid-template-rows: repeat(8, 1fr);
    max-width: 34.72vw; /* 500px / 1440px × 100 */
  }
}

@media screen and (max-width: 768px) {
  .services-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(9, 1fr);
    max-width: 100%;
    padding: 2.08vw 0 0 0; /* 30px 0 0 0 */
    margin-bottom: 4.17vw; /* 60px / 1440px × 100 */
  }
}

.service-item {
  background: #fff;
  border-radius: 0.69vw; /* 10px / 1440px × 100 */
  padding: 0.69vw; /* 10px / 1440px × 100 */
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.11vw; /* 16px / 1440px × 100 */
  line-height: 130%;
  color: #586781;
  width: 18.75vw; /* 270px / 1440px × 100 */
  height: 5.56vw; /* 80px / 1440px × 100 */
  display: flex;
  align-items: center;
  justify-content: center;
  word-break: keep-all;
}

.block-qa {
  display: flex;
  background: #f8f1f2;
  align-items: center;
  justify-content: start;
  flex-direction: column;
  color: #586781;
  padding: 5.56vw 15.28vw; /* 80px 220px / 1440px × 100 */
  position: relative;

  & .top {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 5.56vw; /* 80px / 1440px × 100 */

    & img:nth-child(1) {
      width: 3.33vw; /* 48px / 1440px × 100 */
      height: 4.58vw; /* 66px / 1440px × 100 */
      opacity: 1;
      margin-bottom: 1.39vw; /* 20px / 1440px × 100 */
    }

    & img:nth-child(2) {
      width: 16.53vw; /* 238px / 1440px × 100 */
      height: 3.89vw; /* 56px / 1440px × 100 */
    }
  }

  & .bottom {
    width: 69.44vw; /* 1000px / 1440px × 100 */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.39vw; /* 20px / 1440px × 100 */

    & .item {
      width: 100%;
      padding: 2.78vw; /* 40px / 1440px × 100 */
      background: #fff;
      border-radius: 0.69vw; /* 10px / 1440px × 100 */

      & .question {
        display: flex;
        align-items: center;
        justify-content: space-between;
        -webkit-user-select: none;
        user-select: none;
        cursor: default;

        & p {
          font-size: 1.25vw; /* 18px / 1440px × 100 */
          line-height: 1.99vw; /* 28.6px / 1440px × 100 */
          font-weight: 700;
          display: flex;
          align-items: center;
          pointer-events: none;

          & span {
            font-size: 1.81vw; /* 26px / 1440px × 100 */
            line-height: 1.81vw; /* 26px / 1440px × 100 */
            font-weight: 500;
            color: #f859a4;
            font-family: "jost", sans-serif;
            margin-right: 1.74vw; /* 25px / 1440px × 100 */
          }
        }

        & .btn-arrow {
          height: 1.11vw; /* 16px / 1440px × 100 */
          width: 1.11vw; /* 16px / 1440px × 100 */
        }

        & .btn-arrow.up.focus {
          padding: 0.83vw; /* 12px / 1440px × 100 */
          border: 0.07vw solid #70acfa; /* 1px / 1440px × 100 */
          background: url("/assets/img/arrow_button_up.png") no-repeat center
              center / 1.11vw,
            /* 16px / 1440px × 100 */ #b8cfec !important;
        }

        & .btn-arrow.down.focus {
          padding: 0.83vw; /* 12px / 1440px × 100 */
          border: 0.07vw solid #70acfa; /* 1px / 1440px × 100 */
          background: url("/assets/img/arrow_button_down.png") no-repeat center
              center / 1.11vw,
            /* 16px / 1440px × 100 */ #b8cfec !important;
        }

        & .btn-arrow.up {
          padding: 0.83vw; /* 12px / 1440px × 100 */
          background: url("/assets/img/arrow_button_up.png") no-repeat center
            center / 1.11vw; /* 16px / 1440px × 100 */
        }

        & .btn-arrow.down {
          padding: 0.83vw; /* 12px / 1440px × 100 */
          background: url("/assets/img/arrow_button_down.png") no-repeat center
            center / 1.11vw; /* 16px / 1440px × 100 */
        }
      }

      & .answer {
        font-size: 1.11vw; /* 16px / 1440px × 100 */
        line-height: 2.22vw; /* 32px / 1440px × 100 */
        font-weight: 400;
        text-align: justify;
        display: none;
      }
    }

    & .item.show {
      & .question {
        margin-bottom: 2.29vw; /* 33px / 1440px × 100 */
        border-bottom: 0.07vw solid #c8c8c8; /* 1px / 1440px × 100 */
        padding-bottom: 2.78vw; /* 40px / 1440px × 100 */
      }

      & .answer {
        display: block;
      }
    }
  }
}

/* QAセクションのSP版スタイル */
@media screen and (max-width: 768px) {
  .block-qa {
    width: 100% !important;
    max-width: 100% !important;
    padding: 13.33vw 5.33vw !important; /* 50px 20px / 375px × 100 */
    gap: 5.33vw !important; /* 20px / 375px × 100 */

    & .top {
      width: 100% !important;
      max-width: 100% !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      gap: 2.67vw !important; /* 10px / 375px × 100 */
      margin-bottom: 5.33vw !important; /* 20px / 375px × 100 */

      & img:nth-child(1) {
        width: 9.6vw !important; /* 36px / 375px × 100 */
        height: 13.33vw !important; /* 50px / 375px × 100 */
      }

      & img:nth-child(2) {
        width: 60vw !important; /* 225px / 375px × 100 */
        height: auto !important;
      }
    }

    & .bottom {
      width: 100% !important;
      max-width: 100% !important;
      display: flex !important;
      flex-direction: column !important;
      gap: 8vw !important; /* 30px / 375px × 100 */

      & .item {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        padding: 5.33vw 4vw !important; /* 20px 15px / 375px × 100 */
        border-radius: 2.67vw !important; /* 10px / 375px × 100 */
        background: #fff !important;

        & .question {
          width: 100% !important;
          display: flex !important;
          align-items: center !important;
          justify-content: space-between !important;
          cursor: pointer !important;

          & p {
            width: calc(100% - 8vw) !important; /* 矢印ボタンの分を引く */
            font-size: 4vw !important; /* 15px / 375px × 100 */
            line-height: 1.4 !important;
            margin: 0 !important;
            padding: 0 !important;

            & span {
              font-weight: 700 !important;
              color: #f859a4 !important;
              margin-right: 6.67vw !important; /* 25px / 375px × 100 */
            }
          }

          & .btn-arrow {
            width: 4.27vw !important; /* 16px / 375px × 100 */
            height: 4.27vw !important; /* 16px / 375px × 100 */
            flex-shrink: 0 !important;
            background-size: contain !important;
            background-repeat: no-repeat !important;
            background-position: center !important;
          }

          & .btn-arrow.up.focus {
            padding: 3.2vw !important; /* 12px / 375px × 100 */
            border: 0.27vw solid #70acfa !important; /* 1px / 375px × 100 */
            background-size: 4.27vw !important; /* 16px / 375px × 100 */
            border-radius: 50% !important;
          }

          & .btn-arrow.down.focus {
            padding: 3.2vw !important; /* 12px / 375px × 100 */
            border: 0.27vw solid #70acfa !important; /* 1px / 375px × 100 */
            background-size: 4.27vw !important; /* 16px / 375px × 100 */
            border-radius: 50% !important;
          }

          & .btn-arrow.up {
            padding: 3.2vw !important; /* 12px / 375px × 100 */
            background-size: 4.27vw !important; /* 16px / 375px × 100 */
          }

          & .btn-arrow.down {
            padding: 3.2vw !important; /* 12px / 375px × 100 */
            background-size: 4.27vw !important; /* 16px / 375px × 100 */
            margin-left: 3vw !important;
          }
        }

        & .answer {
          width: 100% !important;
          font-size: 3.47vw !important; /* 13px / 375px × 100 */
          line-height: 1.6 !important;
          margin: 0 !important;
          padding: 0 !important;
          display: none !important;
        }
      }

      & .item.show {
        & .question {
          margin-bottom: 8.8vw !important; /* 33px / 375px × 100 */
          border-bottom: 0.27vw solid #c8c8c8 !important; /* 1px / 375px × 100 */
          padding-bottom: 10.67vw !important; /* 40px / 375px × 100 */
        }

        & .answer {
          display: block !important;
        }
      }
    }
  }

  /* SP版で.question pのfont-sizeを確実に上書き */
  .block-qa .question p {
    font-size: 4vw !important; /* 15px / 375px × 100 */
  }
}

.footer {
  background: #586781;
  color: #fff;
  display: flex;
  align-items: center;
  position: relative;

  & .ft_inner {
    width: 100%;
    padding-top: 70px;
    padding-bottom: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;

    & > img {
      width: 236px;
      height: 21px;
      margin-bottom: 34px;
    }

    & .img-app {
      display: flex;
      align-items: center;
      flex-direction: row;
      gap: 24px;
      margin-bottom: 40px;

      & img {
        width: 50px;
        width: 50px;
      }
    }

    & ul {
      margin-bottom: 24px;
    }

    & ul li {
      float: left;
      & a {
        font-size: 12px;
        line-height: 10px;
        font-weight: 500;
        letter-spacing: 0.5px;
        color: #fff;
      }
    }

    & ul li:not(:last-child):after {
      content: "|";
      margin-left: 16px;
      margin-right: 16px;
    }

    & small {
      font-size: 12px;
      line-height: 18px;
      font-weight: 400;
      font-family: Arial, Helvetica, sans-serif;
    }
  }

  & .btnTop {
    position: absolute;
    width: 46px;
    height: 46px;
    background: url("/assets/img/toTop.png") no-repeat center center / cover;
    top: 40px;
    right: 40px;
  }
}

@keyframes rotation {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(-360deg);
  }
}

@media screen and (min-width: 1530px) {
  .container_1 {
    & .content {
      & > img {
        width: 90%;
      }
    }
  }

  .content {
    max-width: 1480px;
  }
}

/* ヘッダーのレスポンシブ対応 - 1024px以下でナビゲーションメニューを非表示 */
@media screen and (max-width: 1024px) {
  .header {
    padding: 0;
    height: auto;
    min-height: 8vw;

    & .logo {
      max-width: 35vw;
      min-width: 20vw;
      padding: 0 2vw; /* 左右にpadding */
    }

    & .header-nav {
      display: none;
    }

    & .header-right {
      gap: 2vw;
      padding-right: 2vw; /* 右にpadding */
    }
  }
}

/* ヘッダーのレスポンシブ対応 - 768px以下でボタンレイアウトを調整 */
@media screen and (max-width: 768px) {
  .header {
    height: 12.8vw; /* 48px / 375px × 100 */
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 0;

    & .logo {
      flex: 0 1 auto;
      max-width: 45vw;
      min-width: 30vw;
      height: auto;
      padding: 0 2.67vw; /* 左右に10px / 375px × 100 */
      display: flex;
      align-items: center;
      justify-content: flex-start;
      background: #fff;

      & img {
        width: 100%;
        height: auto;
        object-fit: contain;
      }
    }

    & .header-right {
      display: flex;
      align-items: center;
      flex-shrink: 0;
      gap: 0;
      padding-right: 0; /* モバイルではボタンが端まで */
    }

    & .top-button {
      display: flex;
      gap: 0;
      height: 12.8vw; /* 48px / 375px × 100 */

      & a {
        width: 28.8vw; /* 108px / 375px × 100 */
        height: 12.8vw; /* 48px / 375px × 100 */
        border-radius: 0;
        font-size: 2.67vw; /* 10px / 375px × 100 */
        line-height: 1.2;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 1.07vw 0; /* 4px 0 */
        flex-direction: column;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        flex-shrink: 0;
      }
    }
  }
}

/* ======== SP版追従CTAボタン ======== */
.sticky-cta {
  position: fixed;
  bottom: 5px;
  left: 5px;
  right: 5px;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  pointer-events: none;
}

.sticky-cta.show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.sticky-cta .btn-line {
  width: 100%;
  max-width: 365px;
  height: 60px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.15em;
  border-radius: 5px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease-in-out;
  margin: 0 auto;
}

.sticky-cta .btn-line:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.sticky-cta .btn-line .tooltip {
  top: -18px;
  left: 50%;
  transform: translateX(-50%);
  height: 29px;
  width: 140px;
  border-radius: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  line-height: 11px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.sticky-cta .btn-line .tooltip::before {
  width: 15px;
  height: 14.5px;
  margin: 0;
}

/* PC版では追従CTAボタンを非表示 */
@media screen and (min-width: 601px) {
  .sticky-cta {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  body {
    background: none !important;
    overflow-x: hidden !important;
  }

  /* メインビジュアルのSP版スタイル */
  .new-mv {
    height: 30vw; /* 112.5px / 375px × 100 */
    padding: 72vw 10.67vw 62vw; /* 270px 40px 232.5px */
    overflow: visible; /* hiddenから変更 */
  }

  .mv-background {
    width: 76.4vw; /* 286.5px / 375px × 100 */
    height: 603.47vw; /* 2263px / 375px × 100 */
  }

  .mv-title-image {
    width: 82.67vw; /* 310px / 375px × 100 */
    padding-bottom: 1vw; /* 3.75px / 375px × 100 */
  }

  .mv-title-1 {
    width: 72.53vw; /* 272px / 375px × 100 */
  }

  .mv-title-2 {
    width: 81.87vw; /* 307px / 375px × 100 */
  }

  .new-mv .mv-subtitle {
    width: 82.67vw; /* 310px / 375px × 100 */
    height: 9.33vw; /* 35px / 375px × 100 */
    padding: 1.33vw 3.2vw; /* 5px 12px */
    gap: 2.67vw; /* 10px / 375px × 100 */
    align-items: center;
    justify-content: center;
    display: flex;
  }

  .new-mv .mv-subtitle p {
    font-size: 4.98vw; /* 18.68px / 375px × 100 */
    line-height: 1.2;
    margin: 0;
  }

  .mv-character {
    position: absolute;
    top: 10.67vw; /* 40px / 375px × 100 */
    right: 0;
    width: 92.53vw; /* 347px / 375px × 100 */
    height: 109.6vw; /* 411px / 375px × 100 */
    z-index: 0;
    pointer-events: none;
  }

  .mv-character img {
    content: url("../../assets/img/newlp_spmv.png");
  }

  .mv-badge {
    position: absolute;
    top: 10.67vw; /* キャラクター画像と同じ高さ 40px / 375px × 100 */
    right: 5.33vw; /* 20px / 375px × 100 */
    width: 21.33vw; /* 80px / 375px × 100 */
    height: 32vw; /* 120px / 375px × 100 */
    z-index: 2;
  }

  .mv-cta {
    position: relative;
    width: 89.33vw;
    margin: 0vw 0vw;
    z-index: 3;
    display: flex;
    justify-content: center;
  }

  .mv-cta-main {
    position: relative;
    width: 89.33vw;
    margin: 0vw auto;
    z-index: 3;
    display: flex;
    justify-content: center;
  }

  .mv-cta .btn-line,
  .mv-cta-main .btn-line {
    font-size: 3.73vw; /* 14px / 375px × 100 */
    line-height: 4.27vw; /* 16px / 375px × 100 */
    width: 100%;
    height: 21.33vw; /* 80px / 375px × 100 */
    border-radius: 2.13vw; /* 8px / 375px × 100 */
    gap: 5.33vw; /* 20px / 375px × 100 */
    background: url("../../assets/img/newlp_arrow.png") no-repeat
        calc(100% - 4.87vw) center / 4vw,
      linear-gradient(90deg, #f859a4 56.08%, #c70968 142.25%);
    box-shadow: 0 1.07vw 3.2vw rgba(0, 0, 0, 0.15);
  }

  /* 全てのCTAボタンを統一 */
  .block-event .mv-cta .btn-line,
  .block-experience-session .mv-cta .btn-line,
  .block-flow .mv-cta .btn-line {
    font-size: 3.73vw; /* 14px / 375px × 100 */
    line-height: 4.27vw; /* 16px / 375px × 100 */
    width: 100%;
    height: 21.33vw; /* 80px / 375px × 100 */
    border-radius: 2.13vw; /* 8px / 375px × 100 */
    gap: 5.33vw; /* 20px / 375px × 100 */
    background: url("../../assets/img/newlp_arrow.png") no-repeat
        calc(100% - 4.87vw) center / 4vw,
      linear-gradient(90deg, #f859a4 56.08%, #c70968 142.25%);
    box-shadow: 0 1.07vw 3.2vw rgba(0, 0, 0, 0.15);
  }

  /* SP版のtooltipスタイルを統一 */
  .mv-cta .btn-line .tooltip,
  .mv-cta-main .btn-line .tooltip,
  .block-event .mv-cta .btn-line .tooltip,
  .block-experience-session .mv-cta .btn-line .tooltip,
  .block-flow .mv-cta .btn-line .tooltip,
  .mv-cta-experience-bottom .btn-line .tooltip {
    top: -4.8vw; /* -18px / 375px × 100 */
    left: 50%;
    transform: translateX(-50%);
    height: 7.73vw; /* 29px / 375px × 100 */
    width: 37.33vw; /* 140px / 375px × 100 */
    border-radius: 4.8vw; /* 18px / 375px × 100 */
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.6vw; /* 6px / 375px × 100 */
    font-size: 2.93vw; /* 11px / 375px × 100 */
    font-weight: 500;
    color: #506089;
    box-shadow: 0 1.07vw 3.2vw rgba(0, 0, 0, 0.15);
  }

  .mv-cta .btn-line .tooltip::before,
  .mv-cta-main .btn-line .tooltip::before,
  .block-event .mv-cta .btn-line .tooltip::before,
  .block-experience-session .mv-cta .btn-line .tooltip::before,
  .block-flow .mv-cta .btn-line .tooltip::before,
  .mv-cta-experience-bottom .btn-line .tooltip::before {
    width: 4vw; /* 15px / 375px × 100 */
    height: 3.87vw; /* 14.5px / 375px × 100 */
    margin: 0;
  }

  .mv-cta .btn-line .tooltip::after,
  .mv-cta-main .btn-line .tooltip::after,
  .block-event .mv-cta .btn-line .tooltip::after,
  .block-experience-session .mv-cta .btn-line .tooltip::after,
  .block-flow .mv-cta .btn-line .tooltip::after,
  .mv-cta-experience-bottom .btn-line .tooltip::after {
    border-left: 1.07vw solid #f859a4; /* 4px / 375px × 100 */
    border-right: 1.07vw solid #f859a4; /* 4px / 375px × 100 */
    border-top: 1.07vw solid #fff; /* 4px / 375px × 100 */
  }

  & .container_1 {
    & .content {
      display: none;
    }

    & .content_mb {
      color: #8395b3;
      display: block;
      margin-top: 0;
      display: flex;
      align-items: center;
      justify-content: start;
      flex-direction: column;

      & .banner {
        padding-top: 30px;
        width: 100%;
        background: url("/assets/img/bg_top_mb.png") no-repeat top center / 100%
          100% !important;
        display: flex;
        align-items: center;
        justify-content: start;
        flex-direction: column;

        & .img-1 {
          display: flex;
          flex-direction: row;
          align-items: center;
          justify-content: center;
          gap: 6px;

          & img:nth-child(1) {
            width: 140px;
          }

          & img:nth-child(2) {
            width: 133px;
          }
        }

        & > img.img-title-3 {
          width: 262px;
        }

        & > img.img-title-4 {
          width: 296px;
        }

        & .top {
          width: 100%;

          & > img {
            width: 100%;
          }

          & .list-tab {
            display: flex;
            align-items: center;
            padding: 0 18.5px;
            margin-bottom: 46px;
            gap: 10px;
            justify-content: space-around;

            & img:nth-child(1) {
              width: 65px;
              height: 87px;
            }

            & img:nth-child(2) {
              width: 263px;
              height: 54px;
            }
          }
        }
      }

      & .bottom {
        padding-top: 30px;

        & .text {
          font-size: 13px;
          line-height: 22.1px;
          font-weight: 600;
          text-align: center;
          margin-bottom: 41px;
        }
      }

      & .wrapper-media {
        padding: 0 24px;

        & .media-info {
          position: relative;
          margin-top: 40px;
          border-top: 1px solid #dde3f1;
          margin-bottom: 60px;
        }

        & .media-info .media-title {
          position: absolute;
          display: flex;
          gap: 8px;
          font-size: 15px;
          line-height: 15px;
          color: #586781;
          font-weight: 700;
          left: 50%;
          top: -10px;
          background-color: #fff;
          padding: 0 8px;
          transform: translateX(-50%);
          align-items: center;
          justify-content: center;

          & img {
            width: 22px;
            height: 20px;
          }
        }

        & .media-info .list-img-media {
          display: flex;
          flex-direction: row;
          gap: 50px;
          row-gap: 20px;
          align-items: start;
          justify-content: space-between;
          padding-top: 38.5px;
          flex-wrap: wrap;
          padding-left: 29.5px;
          padding-right: 29.5px;

          & > div {
            display: flex;
            flex-direction: column;
            row-gap: 20px;
            align-items: center;
            justify-content: center;
          }

          & .left {
            & img {
              max-width: 107px;
            }
          }

          & .right {
            & img {
              max-width: 111px;
            }

            & img:nth-child(1) {
              max-width: 76px;
            }
          }

          /* 
					& img {
						max-width: 107px;
						flex:0 1 50%;
					}

					& img:nth-child(2) {
						max-width: 76px;
						height: 27px;
					} */
        }

        & .media-info .media-bottom {
          text-align: right;
          font-size: 11px;
          line-height: 16.5px;
          font-weight: 400;
          color: #8395b3;
        }
      }
    }

    & .content {
      margin-top: 0;
      padding-top: 30px;

      & .title_1 {
        & img {
          width: 304px;
        }
      }
    }
  }

  & .info-tech {
    padding-top: 80px;
    padding-left: 23px;
    padding-right: 17px;
    padding-bottom: 30px;
    gap: 30px;

    & .info-tech-top {
      & img {
        width: 320px;
        height: 207px;
        margin-bottom: 30px;
      }

      & p {
        font-size: 13px;
        line-height: 26px;
        text-align: justify;
        padding: 0 5px;
      }
    }

    & .info-tech-img {
      padding: 20px;
      gap: 15px;
      row-gap: 40px;
      flex-wrap: wrap;
      background: #fff;

      & .block {
        flex: 1 0 calc(50% - 15px);
        padding: 0 11px;
        gap: 10px;
        padding: 0;

        & img {
          width: 124px;
          height: 124px;
        }

        & p {
          font-size: 12px;
          line-height: 19.5px;
          text-align: center;
        }
      }
    }

    & .info-tech-text {
      width: 100%;
      padding: 0 2.5px;
      font-size: 16px;
      line-height: 28.8px;
    }
  }

  & .skill-challenge {
    padding: 80px 20px 50px 20px;

    & .skill-challenge-top img {
      width: 308px;
      height: 202px;
    }

    & .skill-challenge-bottom {
      padding: 20px 15px;

      & .block:not(:last-child) {
        margin-bottom: 40px;
      }

      & .block {
        flex-direction: column;
        gap: 20px;

        & .item-1 {
          & .title {
            font-size: 18px;
            line-height: 18px;
            margin-bottom: 20px;

            & p:first-child {
              line-height: 28.8px;
            }

            & p.d-mb-block {
              display: flex;
              flex-direction: column;
              align-items: start;
              justify-content: center;
              gap: 3px;
            }

            & span {
              padding: 5.5px 6px 7.5px;
            }
          }

          & .text {
            font-size: 14px;
            line-height: 25.2px;
          }
        }

        & .item-2 {
          & p {
            font-size: 12px;
            line-height: 19.2px;
          }
        }
      }
    }
  }

  & .scale-job {
    padding: 80px 20px 50px 20px;

    & .scale-job-top {
      width: 100%;

      & > img {
        width: 213px;
        height: 130px;
      }

      & .description {
        width: 100%;
        padding-bottom: 20px;
        border-top-left-radius: 15px;
        border-top-right-radius: 15px;

        & .description-top {
          & .title {
            font-size: 16px;
            line-height: 20.8px;
            padding: 14.5px 20px 14.5px 44px;
          }
        }

        & .description-bottom {
          padding: 20px;
          width: 100%;
        }

        & .description-img {
          position: unset;
          width: 295px;
          height: 104px;
          margin: 0 auto;
          transform: none;
        }
      }

      & > .text {
        font-size: 13px;
        line-height: 26px;
        text-align: left;
        margin-bottom: 17px;
        padding: 0 5px;
      }

      & .block-1 {
        grid-template-areas:
          "title"
          "item-1"
          "item-2"
          "item-3";
        width: 100%;
        grid-template-rows: 24px 1fr;
        grid-template-columns: 100%;
        padding: 0;
        background-color: unset;

        & > .title {
          & span {
            font-size: 8px;
            line-height: 12px;
            padding: 4px 17px;
            background: url(/assets/img/short_logo_white.png) no-repeat 17px
                center / 15px 7.5px,
              #f859a4;
            padding-left: 39.5px;
          }
        }

        & .item-1 {
          background: #fff;
          padding-right: 15px;

          & img {
            width: 106px;
            height: 127px;
          }

          & .text {
            padding-top: 22px;
            padding-bottom: 22px;
            height: 109.7px;
          }

          & .text-top {
            font-size: 11px;
            line-height: 16.5px;
            margin-bottom: 11.7px;
          }

          & .text-bottom {
            font-size: 1.25vw; /* 18px / 1440px × 100 */
            line-height: 1.63vw; /* 23.4px / 1440px × 100 */
          }
        }

        & .item-2 {
          background: #fff;

          & .item-2-top {
            padding: 15px;

            & ul {
              & li {
                font-size: 13px;
                line-height: 20.8px;
              }
            }
          }

          & .item-2-bottom {
            padding: 20px;
            & .title {
              font-size: 16px;
              line-height: 20.8px;
              letter-spacing: 0;
            }

            & ul {
              margin-bottom: 15px;

              & li {
                font-size: 12px;
                line-height: 20.8px;
              }
            }

            & .acquired-skills {
              & p {
                font-size: 12px;
                line-height: 19.5px;
              }
            }

            & ul.list-1 {
              & li {
                font-size: 13px;
                line-height: 20.8px;
              }
            }

            & ul.list-2 {
              width: 295px;
              gap: 5px;
              flex-wrap: wrap;
              flex-direction: column;
              margin-bottom: 0;

              & li {
                font-size: 13px;
                line-height: 20.8px;
                float: none;
              }
            }
          }
        }

        & .item-3 {
          border-left: 1px solid #f859a4;
          border-top: 0;
          padding: 25px 16.5px;
          background-color: #fff;

          & .title {
            font-size: 13px;
            line-height: 16.9px;

            & span {
              font-size: 16px;
              line-height: 20.8px;
            }
          }

          & .sliders {
            padding: 0 31px;
            margin-bottom: 20px;

            & .slick-slide {
              width: 300px !important;
              display: flex;
              justify-content: center;
              align-items: center;
              text-align: center;
              flex-direction: column;
            }

            & .slick-slide > div {
              width: 100%;
              display: flex;
              justify-content: center;
              flex-direction: column;
              align-items: center;
            }

            & img {
              margin-bottom: 10px;
              height: 146px;
            }

            & .time {
              font-size: 16px;
              line-height: 20.8px;
              margin-bottom: 5px;
            }

            & .action {
              font-size: 14px;
              line-height: 18px;
            }

            & .purpose {
              font-size: 12px;
              line-height: 19px;
            }
          }

          & .custom-navigation {
            & .slick-dots {
              & li {
                & button {
                  width: 4px;
                  height: 4px;
                }
              }

              & li:not(:last-child) {
                margin-right: 4px;
              }
            }
          }
        }
      }

      & .block-1.profile-2 {
        & .item-1 {
          & img {
            width: 116px;
            height: 127px;
          }
        }

        & .item-2 {
          & .item-2-bottom {
            & ul.list-2 {
              row-gap: 5px;
              column-gap: 25px;
              flex-wrap: wrap;
              flex-direction: row;
              justify-content: flex-start;
            }
          }
        }
      }

      & .block-2 {
        flex-direction: column;
        padding: 25px 20px;
        height: auto;
        gap: 20px;

        & .item-1 {
          flex: auto;

          & .title {
            background: url(/assets/img/icon_movie.png) no-repeat center top /
              34px 34px;
            padding-top: 44px;
            padding-left: 0;
            font-size: 18px;
            line-height: 27px;
            text-align: center;
            margin-bottom: 0;
          }

          & .block-description {
            font-size: 14px;
            line-height: 25.2px;
          }
        }

        & .item-2 {
          flex: auto;
          height: 171px;
          width: 100%;
        }

        & .block-description {
          font-size: 14px;
          line-height: 25.2px;
        }
      }
    }
  }

  .block-line {
    padding: 60px 0;

    & > img {
      width: 288px;
      height: 59px;
    }

    & .text {
      font-size: 12px;
      line-height: 22.4px;
    }

    .btn-line {
      /* モバイル版の固有スタイル */
      font-size: 14px;
      line-height: 16.8px;
      padding: 24px 33.6px;
      width: 300px;
      height: 60px;
      background: url("../../assets/img/newlp_arrow.png") no-repeat
          calc(100% - 18.25px) center / 4vw,
        #f859a4 !important;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .btn-line .tooltip {
      /* モバイル版のtooltipスタイルを他のボタンと統一 */
      top: -18px;
      left: 50%;
      transform: translateX(-50%);
      height: 29px;
      width: 140px;
      border-radius: 18px;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 6px;
      font-size: 11px;
      line-height: 11px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .btn-line .tooltip::before {
      /* モバイル版のLINEロゴサイズを統一 */
      width: 15px;
      height: 14.5px;
      margin: 0;
    }

    .btn-line .tooltip::after {
      /* モバイル版の矢印サイズ調整 */
      border-left: 4px solid #f859a4;
      border-right: 4px solid #f859a4;
      border-top: 4px solid #fff;
    }
  }

  .block-line:last-child {
    padding-top: 70px;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 20px;

    & > img {
      margin-bottom: 20px;
    }

    & .text {
      font-size: 12px;
      line-height: 21.6px;
      letter-spacing: 0;
      margin-bottom: 32px;
    }
  }

  .block-reason + .block-line.left {
    padding-top: 112px;
  }

  .block-reason {
    padding: 0;
    padding-top: 60px;

    & .top {
      margin-bottom: 30px;

      & img:nth-child(1) {
        width: 272px;
        height: 47px;
      }

      & img:nth-child(2) {
        width: 73px;
        height: 74px;
      }

      & img:nth-child(3) {
        width: 264px;
        height: 34px;
      }
    }

    & .bottom {
      width: 100%;

      & .item {
        padding: 40px 20px;
        gap: 10px;
        border-radius: 0;

        & .title {
          flex-direction: column;
          padding-bottom: 20px;
          margin-bottom: 40px;

          & .num_order {
            font-size: 40px;
            line-height: 32px;
          }

          & .text {
            font-size: 20px;
            line-height: 28px;
          }

          & .option {
            padding: initial;
            font-size: 12px;
            height: 24px;
            line-height: 16px;
            display: flex;
            align-items: center;
            justify-content: center;
          }
        }

        & .item-content {
          & .wrapper-item {
            gap: 20px;

            & .item-2-column {
              flex-direction: column-reverse;
              gap: 30px;

              & .description {
                flex: auto;

                & .sub-title {
                  font-size: 18px;
                  line-height: 18px;

                  & img {
                    display: none;
                  }
                }

                & .text {
                  font-size: 14px;
                  line-height: 25.2px;

                  & .fw-bold {
                    font-weight: inherit;
                  }
                }

                & .link {
                  & span {
                    font-size: 14px;
                    line-height: 28px;
                  }
                }

                & .list-app {
                  & .btn-other {
                    font-size: 14px;
                    line-height: 32px;
                    width: 140px;
                    height: 29px;
                    line-height: 29px;
                  }

                  & img {
                    width: 29px;
                    height: 29px;
                  }
                }
              }

              & > img {
                width: 100%;
              }
            }

            & .item-position {
              & .top-position {
                & span {
                  font-size: 8px;
                  line-height: 12px;
                  padding: 9px 15.12px;
                  background: url("/assets/img/short_logo_white.png") no-repeat
                      15px center / 15px 7.5px,
                    #f859a4;
                  padding-left: 37px;
                }
              }

              & .bottom-position {
                flex-direction: column;
                padding: 20px;
                gap: 20px;
                padding-bottom: 30px;

                & .avatar {
                  flex: auto;
                  width: 100%;
                  display: flex;
                  flex-direction: row;
                  gap: 18px;
                  align-items: center;
                  text-align: center;
                  justify-content: center;

                  & img {
                    width: 107px;
                    height: 107px;
                  }

                  & p {
                    font-size: 11px;
                    line-height: 16.5px;
                  }
                }

                & .text {
                  font-size: 14px;
                  line-height: 25.2px;

                  & p {
                    font-size: 16px;
                    line-height: 24px;
                  }
                }
              }
            }
          }
        }
      }
    }
  }

  .block-curriculum {
    padding: 0;
    padding-top: 80px;
    margin-bottom: 48.44px;

    & .top {
      padding: 0 25px;

      & img:nth-child(1) {
        width: 52px;
        height: 52px;
        margin-bottom: 10px;
      }

      & img:nth-child(2) {
        width: 150px;
        height: 34px;
        margin-bottom: 10px;
      }

      & p.diagram {
        overflow-x: scroll;
        width: 100%;

        & img {
          width: 1000px;
          height: 553px;
        }
      }

      & p.diagram::-webkit-scrollbar {
        height: 6px;
      }

      & p.diagram::-webkit-scrollbar-track {
        background: #fff;
        border-radius: 3px;
        width: 241px;
      }

      & p.diagram::-webkit-scrollbar-thumb {
        background: #c8c8c8;
        border-radius: 3px;
      }

      & p.diagram::-webkit-scrollbar-thumb:hover {
        background: #c8c8c8;
      }

      & .text {
        font-size: 13px;
        line-height: 26px;
        margin-bottom: 30px;
      }
    }

    & .bottom {
      padding: 0 20px;

      & .item {
        padding: 20px 15px;
      }

      & .item.row {
        flex-direction: column;

        & .item-1 {
          flex: auto;

          & .text-1 {
            margin-bottom: 20px;
          }

          & .text-2 {
            font-size: 1.39vw; /* 20px / 1440px × 100 */
            line-height: 1.94vw; /* 28px / 1440px × 100 */
          }

          & .text-3 {
            font-size: 0.97vw; /* 14px / 1440px × 100 */
            line-height: 1.75vw; /* 25.2px / 1440px × 100 */
          }
        }

        & img {
          width: 100%;
        }
      }

      & .item.column {
        & .item-1 {
          & .list-app-circle {
            padding: 0 15px;
            flex-wrap: wrap;

            & img {
              max-width: calc((100% / 3) - 20px);
              height: auto;
            }
          }

          & .text-2 {
            flex-direction: column;
            align-items: start;
            gap: 0.69vw; /* 10px / 1440px × 100 */
            & p {
              font-size: 1.39vw; /* 20px / 1440px × 100 */
              line-height: 1.94vw; /* 28px / 1440px × 100 */
            }

            & .option {
              margin-left: 0;
            }
          }
        }
      }
    }
  }

  .block-price-list {
    padding: 24vw 5.33vw !important; /* 90px 20px / 375px × 100 - 参考CSSに合わせて調整 */

    & .top {
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      gap: 5.33vw !important; /* 20px / 375px × 100 */
      margin-bottom: 16vw !important; /* 60px / 375px × 100 */
      padding: 0 1.33vw !important; /* 0 5px / 375px × 100 */

      & img:nth-child(1) {
        width: 20.8vw !important; /* 78px / 375px × 100 */
        height: 17.6vw !important; /* 66px / 375px × 100 */
        opacity: 1 !important;
      }

      & img:nth-child(2) {
        width: 20.53vw !important; /* 77px / 375px × 100 */
        height: 9.07vw !important; /* 34px / 375px × 100 */
      }

      & .text {
        font-size: 3.47vw !important; /* 13px / 375px × 100 */
        line-height: 6.93vw !important; /* 26px / 375px × 100 */
        text-align: justify !important;
      }
    }

    & .bottom {
      width: 100% !important;
      max-width: 100% !important; /* PC版の1000px制限を上書き */

      & .type-register {
        flex-direction: column !important;
        gap: 12.27vw !important; /* 46px / 375px × 100 */

        & .panel {
          flex: auto !important;
          height: auto !important;
          border-radius: 2.67vw !important; /* 10px / 375px × 100 */

          & .text {
            font-size: 3.73vw !important; /* 14px / 375px × 100 */
            line-height: 6.72vw !important; /* 25.2px / 375px × 100 */
            border-bottom-left-radius: 2.67vw !important; /* 10px / 375px × 100 */
            border-bottom-right-radius: 2.67vw !important; /* 10px / 375px × 100 */

            & .text-top {
              font-size: 9.6vw !important; /* 36px / 375px × 100 */
              line-height: 13.44vw !important; /* 50.4px / 375px × 100 */
            }
          }
        }
      }

      & .upgrade-guide {
        background: url("/assets/img/arrow_bg.png") no-repeat center center /
          34.67vw 41.6vw !important; /* 130px 156px / 375px × 100 */
        height: 41.6vw !important; /* 156px / 375px × 100 */
        align-items: start !important;
        padding-top: 5.75vw !important; /* 21.55px / 375px × 100 */

        & p {
          padding: 1.87vw 6vw !important; /* 7px 22.5px / 375px × 100 */
          font-size: 4vw !important; /* 15px / 375px × 100 */
          line-height: 5.6vw !important; /* 21px / 375px × 100 */
          text-align: center !important;
          letter-spacing: calc((5 / 100) * 4vw) !important; /* 15px → 4vw */
          flex: 0 1 74.93vw !important; /* 281px / 375px × 100 */
        }
      }

      & .panel-full {
        & .title {
          font-size: 5.87vw !important; /* 22px / 375px × 100 */
          line-height: 7.04vw !important; /* 26.4px / 375px × 100 */
          padding: 5.07vw 9.07vw !important; /* 19px 34px / 375px × 100 */
          text-align: center !important;
        }

        & .circle-comming-soon {
          width: 28vw !important; /* 105px / 375px × 100 */
          height: 28vw !important; /* 105px / 375px × 100 */
          gap: 1.07vw !important; /* 4px / 375px × 100 */
          right: -3.2vw !important; /* -12px / 375px × 100 */
          top: -16.12vw !important; /* -60.44px / 375px × 100 */
          border: 0.56vw solid #f859a4 !important; /* 2.09px / 375px × 100 */

          & p:nth-child(1) {
            font-size: 3.73vw !important; /* 14px / 375px × 100 */
            line-height: 3.73vw !important; /* 14px / 375px × 100 */
          }

          & p:nth-child(2) {
            font-size: 2.67vw !important; /* 10px / 375px × 100 */
            line-height: 2.67vw !important; /* 10px / 375px × 100 */
            text-align: center !important;
          }
        }

        & .text {
          padding-bottom: 8vw !important; /* 30px / 375px × 100 */

          & .text-top {
            flex-direction: column !important;

            & .price-info {
              display: flex !important;
              flex-direction: column !important;
              gap: 2.67vw !important; /* 10px / 375px × 100 */
            }

            & .text-1 {
              display: flex;
              align-items: center;
              justify-content: center;
              gap: 4px;
              flex-wrap: wrap;

              & span {
                display: inline-block !important;
                background: none !important;
                line-height: 1;
                vertical-align: baseline;
                margin-bottom: 0 !important;
              }
            }

            & .text-2 {
              font-size: 1.11vw; /* 16px / 1440px × 100 */
              line-height: 1.56vw; /* 22.4px / 1440px × 100 */
              text-align: center;
              margin-bottom: 0.69vw; /* 10px / 1440px × 100 */
            }
          }

          & .text-bottom {
            font-size: 0.97vw; /* 14px / 1440px × 100 */
            line-height: 1.75vw; /* 25.2px / 1440px × 100 */
          }
        }
      }
    }

    & .table-compare {
      width: 100%;
      margin-top: 30px;

      & > img {
        width: 77px;
        height: 34px;
        margin-bottom: 30px;
      }

      & .tabs {
        gap: 3px;

        & .tab-1,
        & .tab-2 {
          flex: 0 1 calc((100% - 131px) / 2 - 3px);
          font-size: 13px;
          line-height: 14.3px;
          padding: 0 10.5px;
          flex-direction: column;

          & .tab-comming-soon {
            font-size: 8px;
            line-height: 8px;
            padding: 4.54px 0;
            width: 89px;
            height: 17px;
            top: -12px;
          }

          & .tab-comming-soon:after {
            border-left: 4px solid #f859a4;
            border-right: 4px solid #f859a4;
          }
        }
      }

      & .tabs-content {
        & .row {
          font-size: 11px;
          line-height: 14.3px;
          gap: 3px;

          & .column-1 {
            flex: 1 0 131px;
            flex-direction: column;
          }

          & > div:not(:first-child) {
            justify-content: start;
            flex-direction: column;

            & span {
              padding-left: 0;
              padding-top: 37.5px;
            }
          }

          & > div.text:not(:first-child) {
            & img {
              top: calc(50% - 2px);
              transform: translate(-50%, calc(-50% - 2px));
            }
          }
        }
      }
    }
  }

  .block-qa {
    padding: 5.56vw 1.39vw; /* 80px 20px */

    & .top {
      margin-bottom: 2.08vw; /* 30px / 1440px × 100 */

      & img:nth-child(1) {
        width: 3.82vw; /* 55px / 1440px × 100 */
        height: 3.06vw; /* 44px / 1440px × 100 */
        margin-bottom: 0.69vw; /* 10px / 1440px × 100 */
      }
    }

    & .bottom {
      width: 100%;
      gap: 2.08vw; /* 30px / 1440px × 100 */

      & .item {
        padding: 1.67vw; /* 24px / 1440px × 100 */
        & .question {
          & p {
            font-size: 1.04vw; /* 15px / 1440px × 100 */
            line-height: 1.46vw; /* 21px / 1440px × 100 */
            letter-spacing: 0.05vw; /* 0.7px / 1440px × 100 */
          }

          & .btn-arrow.down {
            margin-left: 0.76vw; /* 11px / 1440px × 100 */
          }
        }

        & .answer {
          font-size: 0.97vw; /* 14px / 1440px × 100 */
          line-height: 1.75vw; /* 25.2px / 1440px × 100 */
        }
      }

      & .item.show {
        .question {
          margin-bottom: 1.67vw; /* 24px / 1440px × 100 */
          padding-bottom: 1.67vw; /* 24px / 1440px × 100 */
        }
      }
    }
  }

  .footer {
    & .btnTop {
      right: 20px;
      top: 20px;
    }
    & .ft_inner {
      padding: 40px 24px 48px;

      & img {
        width: 171px;
        height: 15px;
        margin-bottom: 24px;
      }

      & .img-app {
        margin-bottom: 32px;
        & a {
          width: 46px;
          height: 46px;
          & img {
            width: 46px;
            height: 46px;
          }
        }
      }
      & small {
        font-size: 10px;
      }
    }
  }

  & .bg_top {
    height: var(--height, 40px);
  }

  .bg_bottom {
    height: 40px;
    bottom: 0px;
  }

  .break-line-mb {
    display: block;
  }

  .d-block {
    display: none;
  }

  .d-mb-block {
    display: block;
  }

  /* SP対応：プランに含まれる全てのサービスセクション */
  .block-all-services {
    padding: 0 1.39vw; /* 20px / 1440px × 100 */

    & .all-services-title {
      & img:nth-child(1) {
        width: 2.78vw; /* 40px / 1440px × 100 */
        height: 2.22vw; /* 32px / 1440px × 100 */
      }

      & img:nth-child(2) {
        width: 25vw; /* 360px / 1440px × 100 */
        height: 1.63vw; /* 23.4px / 1440px × 100 */
      }
    }
  }

  .block-price-list {
    & .services-grid {
      width: 100%;
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: repeat(9, 1fr);
      row-gap: 1.04vw; /* 15px / 1440px × 100 */
      column-gap: 1.04vw; /* 15px / 1440px × 100 */
      padding: 2.08vw 0 0 0; /* 30px 0 0 0 */
      margin-bottom: 4.17vw; /* 60px / 1440px × 100 */
      height: auto !important;
      min-height: 27.78vw !important; /* 400px / 1440px × 100 */
    }

    & .service-item {
      width: 100%;
      height: 4.17vw; /* 60px / 1440px × 100 */
      font-size: 0.97vw; /* 14px / 1440px × 100 */
      padding: 0.56vw; /* 8px / 1440px × 100 */
    }
  }
}

/* より狭いSP対応：400px以下で1列レイアウト */
@media screen and (max-width: 768px) {
  .block-price-list {
    & .services-grid {
      grid-template-columns: repeat(1, 1fr) !important;
      grid-template-rows: repeat(17, 1fr) !important;
      column-gap: 0 !important;
    }
  }
}

/* ======== 特徴セクションのレスポンシブ対応 ======== */

@media screen and (max-width: 768px) {
  .block-features {
    padding: 16vw 5.33vw 10.67vw 5.33vw; /* 60px 20px 40px 20px */
    margin-bottom: 9.33vw !important; /* 35px / 375px × 100 */
  }

  .features-content {
    display: none;
  }

  .features-illustrations {
    display: none;
  }

  /* SP版の特徴セクション */
  .features-content-mb {
    width: 89.33vw; /* 335px / 375px × 100 */
    height: 51.2vw; /* 192px / 375px × 100 */
    margin: 0 auto;
    padding: 0;
    text-align: center;
    position: relative;
    background: #ffffff;
    border-radius: 5.33vw; /* 20px / 375px × 100 */
    box-shadow: 0px 0px 5.33vw 0px rgba(88, 103, 129, 0.08);
    opacity: 1;
  }

  .features-content-mb::after {
    content: "";
    position: absolute;
    bottom: -5.33vw; /* -20px / 375px × 100 */
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 5.33vw solid transparent; /* 20px / 375px × 100 */
    border-right: 5.33vw solid transparent;
    border-top: 5.33vw solid #ffffff;
  }

  .features-text-container-mb {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    height: 100%;
    padding: 8vw 5.33vw 0 5.33vw; /* 30px 20px 0 20px */
    gap: 2.67vw; /* 10px / 375px × 100 */
  }

  .features-quote-mb {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0px;
    gap: 1.33vw; /* 5px / 375px × 100 */
    width: 76.8vw; /* 288px / 375px × 100 */
    height: 14.4vw; /* 54px / 375px × 100 */
    margin-bottom: 4vw; /* 15px / 375px × 100 */
  }

  .features-quote-mb p {
    font-size: 4.27vw; /* 16px / 375px × 100 */
    line-height: 1.2;
    color: #586781;
    margin: 0;
    text-align: center;
    flex: none;
    order: 0;
    flex-grow: 0;
  }

  .features-quote-mb .mv-highlight-mb {
    color: #506089;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Meiryo",
      sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 4.27vw; /* 16px / 375px × 100 */
    line-height: 1.4;
    letter-spacing: 0%;
    text-align: center;
    border-bottom: 0.27vw solid #f859a4; /* 1px / 375px × 100 */
    display: inline-block;
    width: auto;
    min-width: auto;
    height: auto;
    white-space: nowrap;
    opacity: 1;
  }

  .features-quote-mb .highlight-mo-mb {
    color: #506089;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 4.27vw; /* 16px / 375px × 100 */
    line-height: 1.4;
    letter-spacing: 0%;
    text-align: center;
    display: inline-block;
    width: auto;
    min-width: auto;
    height: auto;
    opacity: 1;
    margin: 0 0.5em;
  }

  .features-intro-mb {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0px;
    gap: 4vw; /* 15px / 375px × 100 */
    width: 76.8vw; /* 288px / 375px × 100 */
    height: 12.53vw; /* 47px / 375px × 100 */
    margin-bottom: 4vw; /* 15px / 375px × 100 */
  }

  .features-intro-mb p {
    font-size: 3.2vw; /* 12px / 375px × 100 */
    line-height: 100%;
    color: #506089;
    margin: 0;
    width: 76.8vw; /* 288px / 375px × 100 */
    height: 3.2vw; /* 12px / 375px × 100 */
    text-align: center;
  }

  .logo-image-mb {
    width: 63.2vw; /* 237px / 375px × 100 */
    height: 5.33vw; /* 20px / 375px × 100 */
    opacity: 1;
    image-rendering: auto;
  }

  .features-illustrations-mb {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
  }

  .illustration-left-mb {
    position: absolute;
    width: 18.4vw; /* 69px / 375px × 100 */
    height: 18.4vw; /* 69px / 375px × 100 */
    left: 5.2vw; /* 19.5px / 375px × 100 */
    top: 61.33vw; /* 230px / 375px × 100 */
  }

  .illustration-right-mb {
    position: absolute;
    width: 18.4vw; /* 69px / 375px × 100 */
    height: 16.27vw; /* 61px / 375px × 100 */
    left: 76.4vw; /* 286.5px / 375px × 100 */
    top: 64vw; /* 240px / 375px × 100 */
  }

  .illustration-left-mb img,
  .illustration-right-mb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  /* POINTセクション SP対応 */
  .block-point,
  .block-point-02,
  .block-point-03 {
    padding: 40px 20px !important;
  }

  .point-container,
  .point-container-02,
  .point-container-03 {
    width: 100% !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    position: relative !important; /* SP基準要素にする */
  }

  /* POINT01: SP専用 画像サイズ（位置はフローに任せる） */
  .point-image {
    position: relative !important;
    width: 322px !important;
    height: 177px !important;
    left: auto !important;
    top: auto !important;
    z-index: 1 !important;
    align-self: flex-start !important; /* 左寄せ */
    margin-left: -20px !important; /* 親の左右パディング(20px)を相殺 */
    overflow: hidden !important; /* 枠からはみ出た部分を隠す */
    border-radius: 0 20px 0 0 !important; /* 角丸はコンテナ側で切り抜く */
  }

  /* 他のポイント画像は従来どおりフローに */
  .point-image-02,
  .point-image-03 {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    height: auto !important;
    z-index: 1 !important;
  }

  .point-image img,
  .point-image-02 img,
  .point-image-03 img {
    width: 100% !important;
    height: auto !important;
  }

  /* POINT01: 角丸(右上のみ20px)を画像に適用 */
  .point-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* 埋めつつトリミング */
    display: block !important;
  }

  /* POINT02: SP画像サイズをPOINT01と同一に */
  .point-image-02 {
    position: relative !important;
    width: 322px !important;
    height: 177px !important;
    align-self: flex-end !important; /* 右端に吸着 */
    margin-right: -20px !important; /* 親padding相殺 */
    overflow: hidden !important;
    border-radius: 0 !important; /* 角丸なし */
  }
  .point-image-02 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  /* ===== POINT03 SP レイアウト（POINT01準拠） ===== */
  .block-point-03 {
    margin-top: 50px !important; /* POINT02の最後のカードから50px */
  }

  .point-image-03 {
    position: relative !important;
    width: 322px !important;
    height: 177px !important;
    align-self: flex-start !important; /* 左端に吸着 */
    margin-left: -20px !important; /* 親padding相殺 */
    overflow: hidden !important;
    border-radius: 0 !important; /* 角丸なし */
  }

  .point-image-03 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .block-point-03 .point-content-03 {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: left !important;
    padding: 30px 27px !important; /* 内幅277px */
    gap: 15px !important;
    width: 331px !important;
    height: 284px !important;
    margin-top: -40px !important; /* 画像に軽く被せる */
    align-self: flex-end !important; /* 右端 */
    margin-right: -20px !important; /* 親padding相殺 */
    background: rgba(255, 255, 255, 0.85) !important;
    box-shadow: 0 0 20px rgba(88, 103, 129, 0.08) !important;
    border-radius: 0 !important;
    z-index: 1 !important;
  }

  /* POINT03 見出し/本文の体裁（POINT01準拠） */
  .block-point-03 .point-title-03 {
    width: 277px !important;
    height: auto !important; /* 2行対応 */
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 500 !important;
    font-style: normal !important;
    font-size: 18px !important;
    line-height: 140% !important;
    letter-spacing: 0 !important;
    opacity: 1 !important;
    text-align: left !important;
    margin: 0 !important;
    white-space: normal !important; /* 折り返し */
  }

  .block-point-03 .point-description-03 {
    width: 277px !important;
    height: 175px !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    font-size: 14px !important;
    line-height: 180% !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    vertical-align: middle !important;
    opacity: 1 !important;
    text-align: left !important;
    margin: 0 !important;
  }

  .point-content,
  .point-content-02,
  .point-content-03 {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    padding: 30px 20px !important;
    border-radius: 20px !important;
    border-top-left-radius: 20px !important;
    border-top-right-radius: 20px !important;
    gap: 15px !important;
    z-index: 2 !important;
  }

  /* POINT02: 画像を先頭にし、POINT01カードとの間隔を50px確保 */
  .block-point-02 {
    margin-top: 50px !important;
  }
  .point-container-02 {
    display: flex !important;
    flex-direction: column !important;
  }
  .point-image-02 {
    order: 1 !important;
  }
  .point-content-02 {
    order: 2 !important;
  }

  /* POINT02: カードをPOINT01と同じ見た目で左端に配置 */
  .block-point-02 .point-content-02 {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: left !important;
    padding: 30px 27px !important; /* 内幅を277pxに合わせる */
    gap: 15px !important;
    width: 331px !important;
    height: 284px !important;
    margin-top: -40px !important; /* 画像に軽く被せる */
    align-self: flex-start !important; /* 左端へ */
    margin-left: -20px !important; /* 親padding相殺 */
    background: rgba(255, 255, 255, 0.85) !important;
    box-shadow: 0 0 20px rgba(88, 103, 129, 0.08) !important;
    border-radius: 0 !important;
    z-index: 1 !important;
  }

  /* POINT01: SP専用のカード（フロー内に保持し重なり回避） */
  .block-point .point-content {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: left !important; /* 文字は左寄せ */
    padding: 30px 27px !important; /* 横27pxにして内幅を277pxに合わせる */
    gap: 15px !important; /* 見出しと本文の間隔 */
    width: 331px !important; /* 右端に吸着させるため固定幅 */
    height: 284px !important; /* 指定の高さに固定 */
    margin-top: -40px !important; /* 画像に被せる。必要に応じて微調整 */
    align-self: flex-end !important; /* 右端に寄せる */
    margin-right: -20px !important; /* 親の左右パディング(20px)を相殺して端に付ける */
    left: auto !important;
    top: auto !important;
    background: rgba(255, 255, 255, 0.85) !important;
    box-shadow: 0px 0px 20px rgba(88, 103, 129, 0.08) !important;
    border-radius: 0 !important; /* 角丸なし */
    z-index: 1 !important;
  }

  .point-number,
  .point-number-02,
  .point-number-03 {
    gap: 8px !important;
  }

  .point-label,
  .point-label-02,
  .point-label-03 {
    font-size: 14px !important;
  }

  .point-num,
  .point-num-02,
  .point-num-03 {
    font-size: 32px !important;
  }

  .point-title,
  .point-title-02,
  .point-title-03 {
    font-size: 20px !important;
    line-height: 1.4 !important;
  }

  /* SP版では各POINT見出しのPC既定マージン(0 0 30px 0)を無効化 */
  .block-point .point-title,
  .block-point-02 .point-title-02,
  .block-point-03 .point-title-03 {
    margin: 0 !important;
  }

  /* 要求: POINTセクションの左右パディングを統一 */
  .block-point,
  .block-point-02,
  .block-point-03 {
    padding: 0 20px !important;
  }

  /* POINT01 見出し（SP仕様） */
  .block-point .point-title {
    width: 277px !important; /* 本文と同じ幅に統一 */
    height: auto !important; /* 2行対応 */
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 500 !important; /* Medium */
    font-style: normal !important;
    font-size: 18px !important;
    line-height: 140% !important; /* 1.4 */
    letter-spacing: 0 !important;
    opacity: 1 !important;
    text-align: left !important;
    white-space: normal !important; /* 折り返し */
  }

  /* POINT02 見出し（POINT01と同一仕様・左寄せ） */
  .block-point-02 .point-title-02 {
    width: 277px !important;
    height: auto !important; /* 2行対応 */
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 500 !important;
    font-style: normal !important;
    font-size: 18px !important;
    line-height: 140% !important;
    letter-spacing: 0 !important;
    opacity: 1 !important;
    text-align: left !important;
    white-space: normal !important; /* 折り返し */
  }

  /* POINT01 説明文（SP仕様） */
  .block-point .point-description {
    width: 277px !important;
    height: 175px !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 400 !important; /* Regular */
    font-style: normal !important;
    font-size: 14px !important;
    line-height: 180% !important; /* 1.8 */
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    vertical-align: middle !important;
    opacity: 1 !important;
  }

  /* SP版ではピンクのPOINT 01/02/03バッジは非表示 */
  .point-number,
  .point-number-02,
  .point-number-03,
  .point-label,
  .point-label-02,
  .point-label-03,
  .point-num,
  .point-num-02,
  .point-num-03 {
    display: none !important;
  }

  .point-description,
  .point-description-02,
  .point-description-03 {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  /* 受講生の声セクション SP対応 */
  .block-voices {
    padding-top: 60px !important;
  }

  .voices-container {
    width: 100% !important;
    min-height: 0 !important;
    padding: 40px 20px 60px 20px !important;
    gap: 30px !important;
  }

  .voices-content {
    width: 100% !important;
    height: auto !important;
    gap: 25px !important;
  }

  .voice-image {
    width: 120px !important;
    height: 45px !important;
  }

  .voice-image img {
    width: 120px !important;
    height: 45px !important;
  }

  .voices-title {
    font-size: 24px !important;
  }

  .voices-subtitle {
    font-size: 14px !important;
    padding: 0 10px !important;
  }

  /* SP版での改行制御 */
  .voices-subtitle .d-mb-block {
    display: none !important;
  }

  .voices-subtitle .d-block {
    display: inline !important;
  }

  .voices-testimonials {
    width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .testimonial-card {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 25px 20px !important;
    gap: 20px !important;
    background: #ffffff !important;
    background-image: url("../../assets/img/newlp_tile.png") !important;
    background-repeat: repeat !important;
    background-size: 12px 12px !important;
    border: 1px solid #f859a4 !important;
    box-shadow: 0px 0px 20px rgba(88, 103, 129, 0.08) !important;
    border-radius: 10px !important;
  }

  .card-left-section {
    width: 100% !important;
    height: auto !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    gap: 4vw !important; /* 15px / 375px × 100 */
    flex: none !important;
  }

  .profile-image {
    width: 32vw !important; /* 120px / 375px × 100 */
    height: 32vw !important; /* 120px / 375px × 100 */
    flex-shrink: 0 !important;
  }

  .profile-image img {
    width: 32vw !important; /* 120px / 375px × 100 */
    height: 32vw !important; /* 120px / 375px × 100 */
  }

  .profile-info {
    text-align: left !important;
    width: auto !important;
    height: auto !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 500 !important;
    font-style: normal !important;
    font-size: 3.47vw !important; /* 13px / 375px × 100 */
    line-height: 150% !important;
    letter-spacing: 0% !important;
    color: #586781 !important;
    opacity: 1 !important;
    flex: 1 !important;
  }

  .card-right-section {
    width: 100% !important;
    gap: 4vw !important; /* 15px / 375px × 100 */
  }

  .card-title {
    width: 100% !important;
    height: auto !important;
    font-size: 4.27vw !important; /* 16px / 375px × 100 */
    text-align: left !important;
    justify-content: flex-start !important;
  }

  .card-details {
    gap: 4vw !important; /* 15px / 375px × 100 */
  }

  .before-label {
    width: 19.2vw !important; /* 72px / 375px × 100 */
    height: 5.33vw !important; /* 20px / 375px × 100 */
    font-size: 2.67vw !important; /* 10px / 375px × 100 */
    line-height: 5.33vw !important; /* 20px / 375px × 100 */
    border-radius: 5.87vw !important; /* 22px / 375px × 100 */
  }

  .after-label {
    width: 19.2vw !important; /* 72px / 375px × 100 */
    height: 5.33vw !important; /* 20px / 375px × 100 */
    font-size: 2.67vw !important; /* 10px / 375px × 100 */
    line-height: 5.33vw !important; /* 20px / 375px × 100 */
    border-radius: 5.87vw !important; /* 22px / 375px × 100 */
  }

  .skills-title {
    font-size: 3.47vw !important; /* 13px / 375px × 100 */
    line-height: 160% !important;
  }

  .skills-section {
    padding: 2.67vw 4vw !important; /* 10px 15px / 375px × 100 */
    gap: 3vw !important; /* 11.25px / 375px × 100 */
  }

  .before-section,
  .after-section {
    gap: 4vw !important; /* 15px / 375px × 100 */
  }

  .voices-header-group {
    gap: 8vw !important; /* 30px / 375px × 100 */
  }

  .before-list li,
  .after-list li {
    width: 100% !important;
    height: auto !important;
    font-size: 3.47vw !important; /* 13px / 375px × 100 */
    min-height: 0 !important;
    padding-left: 5.33vw !important; /* 20px / 375px × 100 */
  }

  .after-title {
    width: 100% !important;
    height: auto !important;
    font-size: 4vw !important; /* 15px / 375px × 100 */
  }

  .skills-list {
    flex-wrap: wrap !important;
  }

  .skills-list li {
    font-size: 3.2vw !important; /* 12px / 375px × 100 */
  }

  /* SP版のスキル表示 */
  .skills-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }

  .skills-content p {
    margin: 0 !important;
    font-size: 3.47vw !important; /* 13px / 375px × 100 */
    font-weight: 700 !important;
    color: #506089 !important;
    line-height: 160% !important;
  }

  /* LINEボタンセクション SP対応 */
  .block-line {
    padding: 60px 20px !important;
  }

  .block-line > img {
    width: 100% !important;
    max-width: 300px !important;
    height: auto !important;
  }

  .block-line-subtitle {
    width: 244px !important;
    height: 102px !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 500 !important;
    font-style: normal !important;
    font-size: 28px !important;
    line-height: 120% !important;
    letter-spacing: 10% !important;
    text-align: center !important;
    opacity: 1 !important;
    padding: 0 !important;
    margin: 0 auto 20px auto !important;
  }

  .block-line .text {
    width: 273px !important;
    height: 192px !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    font-size: 16px !important;
    line-height: 200% !important;
    letter-spacing: 0px !important;
    text-align: center !important;
    opacity: 1 !important;
    padding: 0 !important;
    margin: 0 auto 40px auto !important;
  }

  .btn-line {
    /* SP版のすべてのCTAボタンに統一スタイルを適用（追従CTAを除く） */
    width: 85.33vw !important; /* 320px / 375px × 100 */
    height: 17.33vw !important; /* 65px / 375px × 100 */
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 700 !important;
    font-style: normal !important;
    font-size: 4.8vw !important; /* 18px / 375px × 100 */
    line-height: 100% !important;
    letter-spacing: 15% !important;
    text-align: center !important;
    vertical-align: middle !important;
    border-radius: 1.33vw !important; /* 5px / 375px × 100 */
    margin: 0 auto !important;
    opacity: 1 !important;
  }

  /* 追従CTAボタンは独立したスタイルを適用 */
  .sticky-cta .btn-line {
    width: 100% !important;
    max-width: 97.33vw !important; /* 365px / 375px × 100 */
    height: 16vw !important; /* 60px / 375px × 100 */
    font-size: 4.8vw !important; /* 18px / 375px × 100 */
    letter-spacing: 0.15em !important;
    border-radius: 1.33vw !important; /* 5px / 375px × 100 */
    margin: 0 auto !important;
    background: url("../../assets/img/newlp_arrow.png") no-repeat
        calc(100% - 4.87vw) center / 4vw,
      linear-gradient(90deg, #f859a4 56.08%, #c70968 142.25%) !important;
  }

  /* フッター SP対応 */
  .footer {
    padding: 40px 20px !important;
  }

  .ft_inner {
    padding: 0 15px !important;
  }

  .footer_logo {
    width: 100% !important;
    max-width: 200px !important;
    height: auto !important;
  }

  .footer ul {
    flex-direction: column !important;
    gap: 15px !important;
  }

  .footer ul li {
    font-size: 13px !important;
  }

  .footer small {
    font-size: 11px !important;
  }

  /* Q&Aセクション SP対応 */
  .block-qa {
    padding: 16vw 5.33vw !important; /* 60px 20px / 375px × 100 */
  }

  .block-qa .top {
    margin-bottom: 2.78vw !important; /* 40px / 1440px × 100 */
  }

  .block-qa .top img:nth-child(2) {
    width: 100% !important;
    max-width: 50vw !important; /* 200px / 1440px × 100 */
    height: auto !important;
  }

  .block-qa .bottom {
    width: 100% !important;
  }

  .block-qa .item {
    width: 100% !important;
    padding: 1.39vw 1.04vw !important; /* 20px 15px */
  }

  .block-qa .question {
    font-size: 1.04vw !important; /* 15px / 1440px × 100 */
    padding-right: 2.08vw !important; /* 30px / 1440px × 100 */
  }

  .block-qa .question p {
    font-size: 1.25vw !important; /* 18px / 1440px × 100 */
  }

  .block-qa .question span {
    font-size: 4.8vw !important; /* 18px / 375px × 100 */
    margin-right: 6.67vw !important; /* 25px / 375px × 100 */
  }

  .block-qa .answer {
    font-size: 0.9vw !important; /* 13px / 1440px × 100 */
    line-height: 1.6 !important;
    padding: 1.04vw 0 0 0 !important; /* 15px 0 0 0 */
  }

  /* CTA画像カルーセル SP対応 */
  .cta-picture {
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .cta-carousel-wrapper {
    width: 100% !important;
    height: 100% !important;
  }

  .cta-carousel-track {
    animation: carousel-scroll-sp 20s linear infinite !important;
  }

  .cta-carousel-track img {
    width: 68.27vw !important; /* 256px / 375px × 100 */
    height: 45.87vw !important; /* 172px / 375px × 100 */
    object-fit: cover !important;
  }

  /* カルーセルのアニメーション（SP版） */
  @keyframes carousel-scroll-sp {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-1792px); /* 7枚分（17.78vw × 7 = 124.44vw）移動 */
    }
  }
}

/* ======== インラインスタイルの移動 ======== */
.panel-full-margin-bottom {
  margin-bottom: 40px;
}

.panel-full .title-bg-8395b3 {
  background: #8395b3 !important;
}

.panel-full .title-bg-pink {
  background: #f859a4 !important;
}

.block-qa-bg-right {
  --bg: #f4f6f9;
}

.block-line-bg-left {
  --bg: #fff1f7;
}

/**
 * CTA画像カルーセル
 * PC版: 画面いっぱいに256x172の画像を左に流れる無限ループアニメーション
 * SP版: 画面いっぱいに256x172の画像を左に流れる無限ループアニメーション
 */
.cta-picture {
  width: 100%;
  height: 11.94vw; /* 172px / 1440px × 100 */
  opacity: 1;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0;
  overflow: hidden;
  position: relative;
}

.cta-carousel-wrapper {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}

.cta-carousel-track {
  display: flex;
  gap: 0;
  height: 100%;
  animation: carousel-scroll 20s linear infinite;
  will-change: transform;
}

.cta-carousel-track img {
  width: 17.78vw; /* 256px / 1440px × 100 */
  height: 11.94vw; /* 172px / 1440px × 100 */
  flex-shrink: 0;
  object-fit: cover;
}

/* カルーセルのアニメーション（PC版） */
@keyframes carousel-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-124.44vw); /* 7枚分（17.78vw × 7 = 124.44vw）移動 */
  }
}

.block-all-services-margin-top {
  margin-top: 6.25vw; /* 90px / 1440px × 100 */
}

/* ======== イベントセクション ======== */
.block-event {
  background: #f8f1f2;
  padding: 5.56vw 0; /* 80px / 1440px × 100 */
  display: flex;
  justify-content: center;
  align-items: center;
  clip-path: polygon(0 0, 100% 0, 100% 85%, 50% 100%, 0 85%);
  position: relative;
  width: 100%;
  min-height: 79.79vw; /* 1149px / 1440px × 100 */
  opacity: 1;
}

.block-event .mv-cta {
  position: static;
  margin-top: 2.78vw; /* 40px / 1440px × 100 */
}

.event-decoration {
  position: relative;
  width: 100%;
  max-width: 83.33vw; /* 1200px / 1440px × 100 */
  height: 13.89vw; /* 200px / 1440px × 100 */
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 0 3.47vw; /* 50px / 1440px × 100 */
  box-sizing: border-box;
  z-index: 100;
  margin: -13.89vw auto 0 auto; /* -200px / 1440px × 100 */
}

.decoration-left,
.decoration-center,
.decoration-right {
  display: flex;
  align-items: flex-end;
}

.decoration-left img,
.decoration-right img {
  height: 10.42vw; /* 150px / 1440px × 100 */
  width: auto;
  object-fit: contain;
}

.decoration-center img {
  height: 6.94vw; /* 100px / 1440px × 100 */
  width: auto;
  object-fit: contain;
  transform: translateY(3.47vw); /* 50px / 1440px × 100 */
}

.decoration-center {
  display: flex;
  align-items: flex-start;
  margin-top: 3.47vw; /* 50px / 1440px × 100 */
}

.event-container {
  width: 100%;
  max-width: 63.89vw; /* 920px / 1440px × 100 */
  height: auto;
  position: relative;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4.86vw; /* 70px / 1440px × 100 */
  opacity: 1;
  padding: 0 1.39vw; /* 20px / 1440px × 100 */
  box-sizing: border-box;
}

.event-content {
  width: 100%;
  max-width: 63.89vw; /* 920px / 1440px × 100 */
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4.17vw; /* 60px / 1440px × 100 */
  opacity: 1;
}

.event-header-content {
  width: 100%;
  max-width: 59.72vw; /* 860px / 1440px × 100 */
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.78vw; /* 40px / 1440px × 100 */
  opacity: 1;
}

.event-title-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.event-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}

.event-logo {
  width: 5.83vw; /* 84px / 1440px × 100 */
  height: 5.28vw; /* 76px / 1440px × 100 */
  opacity: 1;
}

.event-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.22vw; /* 32px / 1440px × 100 */
  font-weight: 700;
  color: #f859a4;
  margin: 0;
}

.event-subtitle {
  width: 34.65vw; /* 499px / 1440px × 100 */
  height: 3.54vw; /* 51px / 1440px × 100 */
  background: #ffffff;
  border: 0.07vw solid #e0e0e0; /* 1px / 1440px × 100 */
  border-radius: 2.08vw; /* 30px / 1440px × 100 */
  padding: 0.83vw 2.78vw 1.04vw 2.78vw; /* 12px 40px 15px 40px */
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.39vw; /* 20px / 1440px × 100 */
  font-weight: 600;
  color: #506089;
  text-align: center;
  opacity: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.event-main-title {
  width: 59.72vw; /* 860px / 1440px × 100 */
  height: 3.33vw; /* 48px / 1440px × 100 */
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.22vw; /* 32px / 1440px × 100 */
  font-weight: 600;
  color: #506089;
  text-align: center;
  line-height: 120%;
  letter-spacing: 5%;
  opacity: 1;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.event-main-title .highlight {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.78vw; /* 40px / 1440px × 100 */
  font-weight: 600;
  color: #f859a4;
  line-height: 120%;
  letter-spacing: 5%;
  text-align: center;
  display: inline;
}

.event-main-title .small-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.67vw; /* 24px / 1440px × 100 */
  font-weight: 600;
  line-height: 120%;
  letter-spacing: 5%;
  text-align: center;
  display: inline-block;
  vertical-align: text-bottom;
  margin: 0;
  padding: 0;
}

.event-features {
  width: 100%;
  max-width: 63.89vw; /* 920px / 1440px × 100 */
  height: auto;
  display: flex;
  gap: 0.69vw; /* 10px / 1440px × 100 */
  justify-content: center;
  align-items: flex-start;
  opacity: 1;
}

.feature-card {
  width: 100%;
  max-width: 20.83vw; /* 300px / 1440px × 100 */
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.36vw; /* 34px / 1440px × 100 */
  opacity: 1;
}

.feature-icon {
  width: 18.75vw; /* 270px / 1440px × 100 */
  height: 18.75vw; /* 270px / 1440px × 100 */
  background: #ffffff;
  border: 0.07vw solid #e0e0e0; /* 1px / 1440px × 100 */
  border-radius: 22.99vw; /* 331px / 1440px × 100 */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.39vw; /* 20px / 1440px × 100 */
  box-sizing: border-box;
  opacity: 1;
}

.feature-icon img {
  width: 70%; /* 80px / 1440px × 100 */
  height: 70%; /* 80px / 1440px × 100 */
  object-fit: contain;
}

.feature-icon-1 img {
  width: 70%; /* 80px / 1440px × 100 */
  height: 70%; /* 80px / 1440px × 100 */
  object-fit: contain;
}

.feature-icon-2 img {
  width: 70%; /* 80px / 1440px × 100 */
  height: 70%; /* 80px / 1440px × 100 */
  object-fit: contain;
}

.feature-icon-3 img {
  width: 70%; /* 80px / 1440px × 100 */
  height: 70%; /* 80px / 1440px × 100 */
  object-fit: contain;
}

.feature-text {
  width: 20.83vw; /* 300px / 1440px × 100 */
  height: 4.93vw; /* 71px / 1440px × 100 */
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 0.69vw; /* 10px / 1440px × 100 */
  opacity: 1;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.feature-text p {
  width: 18.68vw; /* 269px / 1440px × 100 */
  height: 1.6vw; /* 23px / 1440px × 100 */
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25vw; /* 18px / 1440px × 100 */
  font-weight: 500;
  color: #506089;
  margin: 0;
  line-height: 130%;
  letter-spacing: 5%;
  text-align: center;
  opacity: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.feature-highlight {
  width: 13.61vw; /* 196px / 1440px × 100 */
  height: 2.64vw; /* 38px / 1440px × 100 */
  background: #eea3c6;
  color: #ffffff;
  padding: 0.14vw 0.69vw 0.35vw 0.69vw; /* 2px 10px 5px 10px */
  border-radius: 0px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.67vw; /* 24px / 1440px × 100 */
  font-weight: 600;
  line-height: 130%;
  letter-spacing: 5%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  opacity: 1;
  box-sizing: border-box;
}

.feature-highlight-2 {
  width: 17.08vw; /* 246px / 1440px × 100 */
  height: 2.64vw; /* 38px / 1440px × 100 */
  background: #eea3c6;
  color: #ffffff;
  padding: 0.14vw 0.69vw 0.35vw 0.69vw; /* 2px 10px 5px 10px */
  border-radius: 0px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.67vw; /* 24px / 1440px × 100 */
  font-weight: 600;
  line-height: 130%;
  letter-spacing: 5%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  opacity: 1;
  box-sizing: border-box;
}

.feature-highlight-3 {
  width: 17.08vw; /* 246px / 1440px × 100 */
  height: 2.64vw; /* 38px / 1440px × 100 */
  background: #eea3c6;
  color: #ffffff;
  padding: 0.14vw 0.69vw 0.35vw 0.69vw; /* 2px 10px 5px 10px */
  border-radius: 0px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.67vw; /* 24px / 1440px × 100 */
  font-weight: 600;
  line-height: 130%;
  letter-spacing: 5%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  opacity: 1;
  box-sizing: border-box;
}

/* ======== 体験会でわかる3つのことセクション ======== */
.block-experience-session {
  width: 100%;
  min-height: 67.01vw; /* 965px / 1440px × 100 */
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.69vw; /* 10px / 1440px × 100 */
  opacity: 1;
  padding: 5.56vw 0 4.86vw 0; /* 80px 0 70px 0 */
  background: #ffffff;
  position: relative;
  z-index: 1;
}

.experience-container {
  width: 100%;
  max-width: 68.06vw; /* 980px / 1440px × 100 */
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4.86vw; /* 70px / 1440px × 100 */
  opacity: 1;
  padding: 0 1.39vw; /* 20px / 1440px × 100 */
  box-sizing: border-box;
}

.experience-content {
  width: 100%;
  max-width: 68.06vw; /* 980px / 1440px × 100 */
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4.17vw; /* 60px / 1440px × 100 */
  opacity: 1;
}

.experience-title {
  width: 34.31vw; /* 494px / 1440px × 100 */
  height: 5vw; /* 72px / 1440px × 100 */
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.78vw; /* 40px / 1440px × 100 */
  font-weight: 500;
  color: #506089;
  line-height: 120%;
  letter-spacing: 5%;
  text-align: center;
  opacity: 1;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.experience-title .highlight {
  font-family: "Abel", sans-serif;
  font-size: 4.17vw; /* 60px / 1440px × 100 */
  font-weight: 400;
  color: #f85aa4;
  line-height: 120%;
  letter-spacing: 5%;
  text-align: center;
}

.experience-title .highlight-tsu {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.78vw; /* 40px / 1440px × 100 */
  font-weight: 500;
  color: #f85aa4;
  line-height: 120%;
  letter-spacing: 5%;
  text-align: center;
}

.experience-features {
  width: 100%;
  max-width: 68.06vw; /* 980px / 1440px × 100 */
  height: auto;
  display: flex;
  gap: 2.78vw; /* 40px / 1440px × 100 */
  justify-content: center;
  align-items: flex-start;
  opacity: 1;
}

.experience-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.39vw; /* 20px / 1440px × 100 */
  flex: 1;
  max-width: 20.83vw; /* 300px / 1440px × 100 */
}

.experience-card-1 {
  width: 20.83vw; /* 300px / 1440px × 100 */
  height: 30.83vw; /* 444px / 1440px × 100 */
  gap: 2.08vw; /* 30px / 1440px × 100 */
  opacity: 1;
}

.experience-card-2 {
  width: 20.83vw; /* 300px / 1440px × 100 */
  height: 30.83vw; /* 444px / 1440px × 100 */
  gap: 2.08vw; /* 30px / 1440px × 100 */
  opacity: 1;
}

.experience-card-3 {
  width: 20.83vw; /* 300px / 1440px × 100 */
  height: 32.5vw; /* 468px / 1440px × 100 */
  gap: 2.08vw; /* 30px / 1440px × 100 */
  opacity: 1;
}

.experience-image {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 0.56vw; /* 8px / 1440px × 100 */
}

.experience-image-1 {
  width: 20.83vw !important; /* 300px / 1440px × 100 */
  height: 18.06vw !important; /* 260px / 1440px × 100 */
  opacity: 1;
  border-radius: 0.35vw; /* 5px / 1440px × 100 */
}

.experience-image-2 {
  width: 20.83vw !important; /* 300px / 1440px × 100 */
  height: 18.06vw !important; /* 260px / 1440px × 100 */
  opacity: 1;
  border-radius: 0.35vw; /* 5px / 1440px × 100 */
}

.experience-image-3 {
  width: 20.83vw !important; /* 300px / 1440px × 100 */
  height: 18.06vw !important; /* 260px / 1440px × 100 */
  opacity: 1;
  border-radius: 0.35vw; /* 5px / 1440px × 100 */
}

.experience-text {
  display: flex;
  flex-direction: column;
  gap: 1.39vw; /* 20px / 1440px × 100 */
  text-align: center;
}

.experience-text-1 {
  width: 20.83vw; /* 300px / 1440px × 100 */
  height: 10.69vw; /* 154px / 1440px × 100 */
  gap: 1.39vw; /* 20px / 1440px × 100 */
  opacity: 1;
}

.experience-card-title-1 {
  width: 20.83vw; /* 300px / 1440px × 100 */
  height: 3.61vw; /* 52px / 1440px × 100 */
  opacity: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 1.39vw; /* 20px / 1440px × 100 */
  line-height: 130%;
  letter-spacing: 5%;
  color: #506089;
  text-align: left;
  margin: 0;
  display: block;
  box-sizing: border-box;
}

.experience-highlight-1 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;

  line-height: 130%;
  letter-spacing: 5%;
  color: #f85aa4;
}

.experience-card-title-2,
.experience-card-title-3 {
  text-align: left;
}

.experience-description-1,
.experience-description-2,
.experience-description-3 {
  text-align: left;
}

.experience-image img {
  width: 20.83vw !important; /* 300px / 1440px × 100 */
  height: 18.06vw !important; /* 260px / 1440px × 100 */
  object-fit: cover;
  border-radius: 0.56vw; /* 8px / 1440px × 100 */
}

.experience-card-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25vw; /* 18px / 1440px × 100 */
  font-weight: 600;
  color: #506089;
  text-align: left;
  line-height: 1.4;
  margin: 0;
}

.experience-card-title .highlight {
  color: #f859a4;
}

.experience-description {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.97vw; /* 14px / 1440px × 100 */
  font-weight: 400;
  color: #506089;
  text-align: left;
  line-height: 1.6;
  margin: 0;
}

.block-experience-session .mv-cta {
  position: static;
  margin-top: 0;
}

/* 体験会セクション下の追加CTAボタン */
.mv-cta-experience-bottom {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 2.78vw 0; /* 40px / 1440px × 100 */
}

.mv-cta-experience-bottom .btn-line {
  font-size: 1.67vw; /* 24px / 1440px × 100 */
  line-height: 2vw; /* 28.8px / 1440px × 100 */
  width: 31.81vw; /* 458px / 1440px × 100 */
  height: 6.46vw; /* 93px / 1440px × 100 */
  border-radius: 0.56vw; /* 8px / 1440px × 100 */
  gap: 2.78vw; /* 40px / 1440px × 100 */
  background: url("../../assets/img/newlp_arrow.png") no-repeat
      calc(100% - 1.39vw) center / 1.67vw,
    linear-gradient(135deg, #f859a4 0%, #ff6bb3 100%);
  color: #fff;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  transition: all 0.3s ease;
}

.mv-cta-experience-bottom .btn-line:hover {
  transform: translateY(-2px);
  box-shadow: 0 0.56vw 1.11vw rgba(248, 89, 164, 0.3);
}

/* ======== 受講までの流れセクション ======== */
.block-flow {
  width: 100%;
  min-height: 70.63vw; /* 1017px / 1440px × 100 */
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.69vw; /* 10px / 1440px × 100 */
  opacity: 1;
  padding: 5.56vw 0 6.94vw 0; /* 80px 0 100px 0 */
  background: #f8f1f2;
}

.flow-container {
  width: 100%;
  max-width: 65.14vw; /* 938px / 1440px × 100 */
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5.56vw; /* 80px / 1440px × 100 */
  opacity: 1;
  padding: 0 1.39vw; /* 20px / 1440px × 100 */
  box-sizing: border-box;
}

.flow-content {
  width: 100%;
  max-width: 65.14vw; /* 938px / 1440px × 100 */
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4.17vw; /* 60px / 1440px × 100 */
  opacity: 1;
}

.flow-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.78vw; /* 40px / 1440px × 100 */
}

.flow-title-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.39vw; /* 20px / 1440px × 100 */
}

.flow-subtitle {
  width: 13.06vw; /* 188px / 1440px × 100 */
  height: 3.54vw; /* 51px / 1440px × 100 */
  gap: 0.69vw; /* 10px / 1440px × 100 */
  opacity: 1;
  border-radius: 2.08vw; /* 30px / 1440px × 100 */
  padding: 0.83vw 2.78vw 1.04vw 2.78vw; /* 12px 40px 15px 40px */
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.flow-subtitle-text {
  width: 7.5vw; /* 108px / 1440px × 100 */
  height: 1.67vw; /* 24px / 1440px × 100 */
  opacity: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 1.39vw; /* 20px / 1440px × 100 */
  line-height: 120%;
  letter-spacing: 10%;
  text-align: center;
  color: #506089;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.flow-logo {
  width: 5vw; /* 72px / 1440px × 100 */
  height: 4.58vw; /* 66px / 1440px × 100 */
  opacity: 1;
  object-fit: contain;
}

.flow-title {
  width: 29.03vw; /* 418px / 1440px × 100 */
  height: 3.33vw; /* 48px / 1440px × 100 */
  opacity: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 2.78vw; /* 40px / 1440px × 100 */
  line-height: 120%;
  letter-spacing: 5%;
  text-align: center;
  color: #506089;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.flow-title .highlight {
  color: #f859a4;
}

.flow-steps {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: center;
  gap: 2.78vw; /* 40px / 1440px × 100 */
  width: 100%;
  position: relative;
}

.flow-big-arrow {
  position: absolute;
  z-index: 1;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 76.25vw; /* 1098px / 1440px × 100 */
  height: 11.81vw; /* 170px / 1440px × 100 */
  opacity: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.flow-big-arrow img {
  width: 76.25vw; /* 1098px / 1440px × 100 */
  height: 11.81vw; /* 170px / 1440px × 100 */
  object-fit: fill;
}

.flow-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  flex: 1;
  max-width: 20.83vw; /* 300px / 1440px × 100 */
  position: relative;
  z-index: 2;
}

.step-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 1.39vw; /* 20px / 1440px × 100 */
}

.step-label {
  display: flex;
  align-items: center;
  gap: 0.35vw; /* 5px / 1440px × 100 */
}

.step-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.11vw; /* 16px / 1440px × 100 */
  font-weight: 700;
  color: #f859a4;
}

.step-number {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.11vw; /* 16px / 1440px × 100 */
  font-weight: 700;
  color: #506089;
}

.step-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25vw; /* 18px / 1440px × 100 */
  font-weight: 600;
  color: #506089;
  text-align: center;
  margin: 0;
}

.step-card {
  background: #ffffff;
  border-radius: 0.83vw; /* 12px / 1440px × 100 */
  box-shadow: 0 0.28vw 0.83vw rgba(0, 0, 0, 0.1); /* 0 4px 12px */
  padding: 2.08vw 1.39vw; /* 30px 20px */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: end;
  gap: 2.78vw; /* 40px / 1440px × 100 */
  width: 100%;
  max-width: 19.44vw; /* 280px / 1440px × 100 */
  height: 19.44vw; /* 280px / 1440px × 100 */
}

.step-image {
  width: 8.33vw; /* 120px / 1440px × 100 */
  height: 8.33vw; /* 120px / 1440px × 100 */
  display: flex;
  align-items: center;
  justify-content: center;
}

.step-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.step-description {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.97vw; /* 14px / 1440px × 100 */
  font-weight: 400;
  color: #506089;
  text-align: left;
  line-height: 1.6;
  margin: 0;
}

.flow-arrow {
  font-size: 1.67vw; /* 24px / 1440px × 100 */
  color: #f859a4;
  font-weight: bold;
  text-align: center;
  margin: 0;
  align-self: center;
  flex-shrink: 0;
  transform: rotate(0deg);
}

.block-flow .mv-cta {
  position: static;
  margin-top: 0;
}

/* ======== 入会金セクションのスタイル ======== */
.enrollment-content {
  text-align: center;
  padding: 1.39vw; /* 20px / 1440px × 100 */
  background-color: #fff;
}

.enrollment-catchphrase {
  color: #f859a4;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 700;
  font-style: Bold;
  font-size: 0.9vw; /* 13px / 1440px × 100 */
  line-height: 140%;
  letter-spacing: 0%;
  text-align: center;
  vertical-align: middle;
  width: auto;
  min-width: 20.28vw; /* 292px / 1440px × 100 */
  height: auto;
  min-height: 1.39vw; /* 20px / 1440px × 100 */
  opacity: 1;
  display: inline-block;
}

.enrollment-price-display {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 10px;
  margin-bottom: 20px;
}

.original-price {
  color: #666;
  text-align: center;
  vertical-align: middle;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: center;
  align-self: flex-end;
}

.price-amount {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 1.67vw; /* 24px / 1440px × 100 */
  line-height: 120%;
  letter-spacing: 0;
  color: #8395b3;
}

.price-tax {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 0.83vw; /* 12px / 1440px × 100 */
  line-height: 120%;
  letter-spacing: 0;
  color: #8395b3;
}

.price-arrow {
  width: 0.76vw; /* 11px / 1440px × 100 */
  height: 3.4vw; /* 49px / 1440px × 100 */
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  align-self: flex-end;
}

.price-arrow img {
  width: 0.76vw; /* 11px / 1440px × 100 */
  height: 3.4vw; /* 49px / 1440px × 100 */
  object-fit: contain;
}

.final-price {
  color: #f859a4;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 3.33vw; /* 48px / 1440px × 100 */
  line-height: 100%;
  letter-spacing: 0;
  text-align: center;
  vertical-align: middle;
}

.enrollment-divider {
  width: 100%;
  height: 0.07vw; /* 1px / 1440px × 100 */
  background-color: #d0d5db;
  margin: 0 auto 1.39vw; /* 20px / 1440px × 100 */
  border-bottom: 0.07vw solid #d0d5db; /* 1px / 1440px × 100 */
}

.enrollment-description {
  color: #586781;
  font-size: 0.97vw; /* 14px / 1440px × 100 */
  line-height: 1.6;
  text-align: center;
}

/* 体験会セクション モバイル対応 */
@media screen and (max-width: 768px) {
  .block-event {
    padding: 40px 20px !important;
    height: 420.67vw !important;
    position: relative !important;
    clip-path: polygon(0 0, 100% 0, 100% 98%, 50% 100%, 0 98%) !important;
  }

  .event-container {
    gap: 30px !important;
    padding: 0 15px !important;
  }

  .event-content {
    gap: 30px !important;
  }

  .event-header-content {
    width: 100% !important;
    gap: 20px !important;
  }

  .event-title-content {
    width: 100% !important;
    gap: 15px !important;
  }

  .event-logo {
    width: 60px !important;
    height: 55px !important;
  }

  .event-subtitle {
    width: 313px !important;
    height: 32px !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 600 !important;
    font-style: normal !important;
    font-size: 13px !important;
    line-height: 120% !important;
    letter-spacing: 5% !important;
    text-align: center !important;
    color: #506089 !important;
    opacity: 1 !important;
    padding: 7px 20px 9px 20px !important;
    margin: 0 !important;
    border-radius: 19.28px !important;
  }

  .event-main-title {
    width: 287px !important;
    height: 115px !important;
    font-size: 20px !important;
    line-height: 1.6 !important;
    flex-direction: column !important;
    text-align: center !important;
    opacity: 1 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .event-main-title .stick {
    white-space: nowrap !important;
    display: block !important;
    margin-bottom: 0 !important;
  }

  .event-main-title .highlight {
    font-size: 24px !important;
    line-height: 1.5 !important;
    display: inline !important;
    color: #f859a4 !important;
    white-space: nowrap !important;
  }

  .event-main-title .highlight-sub {
    font-size: 20px !important;
    line-height: 1.5 !important;
    display: inline !important;
    color: #506089 !important;
    white-space: nowrap !important;
  }

  .event-main-title .small-text {
    font-size: 18px !important;
    line-height: 1.5 !important;
    display: inline !important;
  }

  .event-features {
    flex-direction: column !important;
    gap: 15px !important;
    align-items: center !important;
  }

  .feature-card {
    max-width: 280px !important;
    width: 100% !important;
    gap: 20px !important;
  }

  .feature-icon {
    width: 240px !important;
    height: 240px !important;
    padding: 15px !important;
    border-radius: 40vw !important;
  }

  .feature-icon img {
    width: 60px !important;
    height: 60px !important;
  }

  .feature-icon-1 img {
    width: 27.26vw !important; /* 102.22px / 375px × 100 */
    height: 30.34vw !important; /* 113.78px / 375px × 100 */
  }

  .feature-icon-2 img {
    width: 24.81vw !important; /* 93.03px / 375px × 100 */
    height: 26.07vw !important; /* 97.78px / 375px × 100 */
  }

  .feature-icon-3 img {
    width: 22.18vw !important; /* 83.19px / 375px × 100 */
    height: 32.47vw !important; /* 121.78px / 375px × 100 */
  }

  .feature-text {
    width: 100% !important;
    height: auto !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2.67vw !important; /* 10px / 375px × 100 */
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .feature-text p {
    width: 100% !important;
    height: auto !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 3.73vw !important; /* 14px / 375px × 100 */
    font-weight: 500 !important;
    color: #506089 !important;
    margin: 0 !important;
    line-height: 130% !important;
    letter-spacing: 5% !important;
    text-align: center !important;
  }

  .feature-highlight {
    width: 52.27vw !important; /* 196px / 375px × 100 */
    height: 10.13vw !important; /* 38px / 375px × 100 */
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 4.27vw !important; /* 16px / 375px × 100 */
    font-weight: 600 !important;
    line-height: 130% !important;
    letter-spacing: 5% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .event-decoration {
    width: 268px !important;
    height: 150px !important;
    padding: 0 10px !important;
    margin: -100px auto 0 auto !important;
  }

  .decoration-left img,
  .decoration-right img {
    height: 80px !important;
  }

  .decoration-left img[src*="newlp_event-pencilman.png"] {
    width: 29px !important;
    height: 78px !important;
  }

  .decoration-right img[src*="newlp_event-woman2.png"] {
    width: 29px !important;
    height: 80px !important;
  }

  .decoration-left,
  .decoration-right {
    margin-top: 20px !important;
  }

  .decoration-center img {
    width: 21.59px !important;
    height: 116px !important;
    transform: translateY(30px) !important;
  }

  /* 体験会でわかる3つのことセクション モバイル対応 */
  .block-experience-session {
    padding: 20vw 5.33vw 8vw 5.33vw !important; /* 40px 20px 30px 20px / 375px × 100 */
    min-height: 160vw !important; /* 600px / 375px × 100 */
  }

  .experience-container {
    width: 100% !important;
    gap: 8vw !important;

    max-width: 75vw;
    align-items: flex-start !important;
  }

  .experience-content {
    width: 100% !important;
    gap: 8vw !important; /* 30px / 375px × 100 */
    align-items: flex-start !important;
  }

  .block-experience-session .mv-cta {
    align-self: center !important;
    width: 100% !important;
    margin: 0 auto !important;
  }

  /* 体験会セクション下の追加CTAボタン（SP版） */
  .mv-cta-experience-bottom {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }

  .mv-cta-experience-bottom .btn-line {
    line-height: 4.27vw !important; /* 16px / 375px × 100 */
    width: 89.33vw !important; /* 335px / 375px × 100 */
    height: 21.33vw !important; /* 80px / 375px × 100 */
    border-radius: 2.13vw !important; /* 8px / 375px × 100 */
    gap: 5.33vw !important; /* 20px / 375px × 100 */
    background: url("../../assets/img/newlp_arrow.png") no-repeat
        calc(100% - 4.87vw) center / 15px,
      linear-gradient(135deg, #f859a4 0%, #ff6bb3 100%) !important;
    color: #fff !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 700 !important;
  }

  .experience-title {
    width: 100% !important;
    font-size: 4.7vw !important;
    line-height: 1.5 !important;
  }

  .experience-title .highlight {
    font-size: 8.53vw !important; /* 32px / 375px × 100 */
  }

  .experience-title .highlight-tsu {
    font-size: 7.47vw !important; /* 28px / 375px × 100 */
  }

  .experience-features {
    width: 100% !important;
    flex-direction: column !important;
    gap: 5.33vw !important; /* 20px / 375px × 100 */
    align-items: center !important;
  }

  .experience-card {
    max-width: 100% !important;
    width: 100% !important;
    flex-direction: column !important;
    gap: 4vw !important; /* 15px / 375px × 100 */
    align-items: flex-start !important;
  }

  .experience-image {
    width: 100% !important;
    max-width: 74.67vw !important; /* 280px / 375px × 100 */
    height: auto !important;
  }

  .experience-image img {
    width: 100% !important;
    height: auto !important;
  }

  .experience-text {
    width: 100% !important;
  }

  .experience-card-title {
    font-size: 4.27vw !important; /* 16px / 375px × 100 */
    line-height: 1.5 !important;
    text-align: left !important;
  }

  .experience-card-title-1 {
    width: 80vw !important; /* 300px / 375px × 100 */
    height: auto !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 600 !important;
    font-style: normal !important;
    text-align: left !important;
    font-size: 5.33vw !important; /* 20px / 375px × 100 */
    line-height: 130% !important;
    letter-spacing: 5% !important;
    color: #506089 !important;
    opacity: 1 !important;
  }

  .experience-card-title-2 {
    width: 80vw !important; /* 300px / 375px × 100 */
    height: auto !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 600 !important;
    font-style: normal !important;
    text-align: left !important;
    font-size: 5.33vw !important; /* 20px / 375px × 100 */
    line-height: 130% !important;
    letter-spacing: 5% !important;
    color: #506089 !important;
    opacity: 1 !important;
  }

  .experience-card-title-2 .highlight {
    font-size: 5.33vw !important; /* 20px / 375px × 100 */
  }

  .experience-card-title-3 {
    width: 80vw !important; /* 300px / 375px × 100 */
    height: auto !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 600 !important;
    font-style: normal !important;
    text-align: left !important;
    font-size: 5.33vw !important; /* 20px / 375px × 100 */
    line-height: 130% !important;
    letter-spacing: 5% !important;
    color: #506089 !important;
    opacity: 1 !important;
  }

  .experience-card-title-3 .highlight {
    font-size: 5.33vw !important; /* 20px / 375px × 100 */
  }

  .experience-card-title .highlight,
  .experience-card-title .experience-highlight-1 {
    font-size: 5.33vw !important; /* 20px / 375px × 100 */
  }

  .experience-description {
    font-size: 3.47vw !important; /* 13px / 375px × 100 */
    line-height: 1.6 !important;
    text-align: left !important;
    color: #506089 !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 400 !important;
    width: 100% !important;
    display: block !important;
  }

  .experience-text-1 {
    height: auto !important;
  }

  .experience-card-1,
  .experience-card-2,
  .experience-card-3 {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: auto !important;
  }

  .experience-image-1,
  .experience-image-2,
  .experience-image-3 {
    width: 74.67vw !important; /* 280px / 375px × 100 */
    height: 64.53vw !important; /* 242px / 375px × 100 */
  }

  /* FLOWセクション モバイル対応 */
  .block-flow {
    padding: 10.67vw 5.33vw 16vw 5.33vw !important; /* 40px 20px 60px 20px / 375px × 100 */
    min-height: 186.67vw !important; /* 700px / 375px × 100 */
  }

  .flow-container {
    width: 100% !important;
    max-width: 100% !important; /* PC版の65.14vwを上書き */
    gap: 10.67vw !important; /* 40px / 375px × 100 */
    padding: 0 4vw !important; /* 0 15px / 375px × 100 */
  }

  .flow-content {
    width: 100% !important;
    max-width: 100% !important; /* PC版の65.14vwを上書き */
    gap: 8vw !important; /* 30px / 375px × 100 */
  }

  .flow-header {
    width: 100% !important;
    flex-direction: column !important;
    gap: 4vw !important; /* 15px / 375px × 100 */
    align-items: center !important;
  }

  .flow-logo {
    width: 16vw !important; /* 60px / 375px × 100 */
    height: auto !important;
  }

  .flow-title-section {
    width: 100% !important;
    gap: 2.67vw !important; /* 10px / 375px × 100 */
  }

  .flow-subtitle {
    width: 28.8vw !important; /* 108px / 375px × 100 */
    height: 8.53vw !important; /* 32px / 375px × 100 */
    padding: 1.6vw 5.33vw 2.13vw 5.33vw !important; /* 6px 20px 8px 20px / 375px × 100 */
    border-radius: 8vw !important; /* 30px / 375px × 100 */
  }

  .flow-subtitle-text {
    width: 100% !important; /* PC版の7.5vwを上書き */
    height: auto !important; /* PC版の1.67vwを上書き */
    font-size: 3.73vw !important; /* 14px / 375px × 100 */
  }

  .flow-title {
    width: 100% !important; /* PC版の29.03vwを上書き */
    height: auto !important; /* PC版の3.33vwを上書き */
    font-size: 5.33vw !important; /* 20px / 375px × 100 */
    text-align: center !important;
  }

  .flow-steps {
    width: 100% !important;
    flex-direction: column !important;
    gap: 12vw !important; /* 45px / 375px × 100 - 間隔を大きく */
    align-items: center !important;
  }

  .flow-big-arrow {
    display: flex !important;
    position: absolute !important;
    z-index: 1 !important;
    transform: translate(-50%, -50%) !important;
    width: 292.8vw !important; /* 1098px / 375px × 100 */
    height: 45.33vw !important; /* 170px / 375px × 100 */
    opacity: 1 !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none !important;
  }

  .flow-big-arrow img {
    transform: rotate(90deg) !important;
    object-fit: contain !important; /* fillからcontainに変更 */
    width: 100% !important;
    height: auto !important;
  }

  .flow-step {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important; /* 高さを自動調整 */
    min-height: auto !important;
  }

  .step-header {
    margin-bottom: 2.67vw !important; /* ヘッダー下に余白追加 */
  }

  .step-label {
    gap: 1.33vw !important; /* 5px / 375px × 100 */
  }

  .step-text {
    font-size: 3.73vw !important; /* 14px / 375px × 100 */
  }

  .step-number {
    font-size: 7.47vw !important; /* 28px / 375px × 100 */
  }

  .step-title {
    font-size: 4.8vw !important; /* 18px / 375px × 100 */
    margin-bottom: 2.67vw !important; /* タイトル下に余白追加 */
  }

  .step-card {
    width: 74.67vw !important; /* 280px / 375px × 100 - PC版と同じ比率 */
    max-width: 74.67vw !important; /* PC版の19.44vwを上書き */
    height: 74.67vw !important; /* 280px / 375px × 100 - 正方形にする */
    padding: 4vw !important; /* 15px / 375px × 100 - パディング調整 */
    border-radius: 3.2vw !important; /* 12px / 375px × 100 */
    min-height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important; /* 縦方向の中央揃え */
    gap: 2.67vw !important; /* カード内の要素間隔 */
  }

  .step-image {
    width: 50vw !important; /* 187.5px / 375px × 100 - サイズを小さく */
    max-width: 50vw !important;
    height: auto !important;
    margin-bottom: 2.67vw !important; /* 画像下に余白追加 */
  }

  .step-image img {
    width: 100% !important;
    height: auto !important;
    max-height: 40vw !important; /* 150px / 375px × 100 - 最大高さ制限 */
  }

  .step-description {
    font-size: 3.47vw !important; /* 13px / 375px × 100 */
    line-height: 1.6 !important;
    text-align: center !important;
    width: 100% !important;
  }
}

/* ======== 375px専用のSP対応 ======== */
@media screen and (max-width: 768px) {
  .flow-subtitle {
    width: 28.8vw !important; /* 108px / 375px × 100 */
    height: 8.53vw !important; /* 32px / 375px × 100 */
    padding: 1.6vw 5.33vw 2.13vw 5.33vw !important; /* 6px 20px 8px 20px / 375px × 100 */
  }

  .flow-header {
    gap: 6.67vw !important; /* 25px / 375px × 100 */
  }

  .step-text {
    font-size: 7.47vw !important; /* 28px / 375px × 100 */
  }

  .flow-title {
    font-size: 8vw !important; /* 30px / 375px × 100 */
  }

  .step-header {
  }

  .step-title {
    font-size: 7.2vw !important; /* 27px / 375px × 100 */
  }

  .step-image {
    width: 32.53vw !important; /* 122px / 375px × 100 */
    height: 34.67vw !important; /* 130px / 375px × 100 */
  }

  .step-description {
    text-align: center !important;
  }

  .flow-container .mv-cta {
    margin-top: 21.33vw !important; /* 80px / 375px × 100 */
  }

  .text-2 {
    margin-bottom: 0vw !important;
  }

  /* SP版専用の表示制御 */
  .sp-only {
    display: block !important;
  }

  .pc-only {
    display: none !important;
  }

  .title-text {
    width: 335px !important;
    height: 56px !important;
    opacity: 1 !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 600 !important;
    font-style: SemiBold !important;
    font-size: 20px !important;
    line-height: 140% !important;
    letter-spacing: 5% !important;
    text-align: center !important;
    color: #586781 !important;
  }

  .services-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    grid-template-rows: repeat(16, 1fr) !important;
    row-gap: 1.04vw !important; /* 15px / 1440px × 100 */
    column-gap: 1.04vw !important; /* 15px / 1440px × 100 */
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 55.56vw !important; /* 800px / 1440px × 100 */
    padding: 2.08vw 0 0 0 !important; /* 30px 0 0 0 */
    margin-bottom: 4.17vw !important; /* 60px / 1440px × 100 */
  }

  .question {
    margin-bottom: 0px !important;
  }

  .block-price-list {
    margin-bottom: 0px !important;
  }

  .block-all-services {
    padding: 0 5.33vw !important; /* 0 20px / 375px × 100 */
  }

  .block-all-services-margin-top {
    margin-top: 24vw !important; /* 90px / 375px × 100 */
  }

  .title-bg-8395b3 {
    border-top-left-radius: 2.67vw !important; /* 10px / 375px × 100 */
    border-top-right-radius: 2.67vw !important; /* 10px / 375px × 100 */
  }

  .title-bg-pink {
    border-top-left-radius: 2.67vw !important; /* 10px / 375px × 100 */
    border-top-right-radius: 2.67vw !important; /* 10px / 375px × 100 */
  }

  .enrollment-content {
    text-align: center !important;
    padding: 3.73vw !important; /* 14px / 375px × 100 */
    background-color: #fff !important;
  }

  .enrollment-catchphrase {
    color: #f859a4 !important;
    font-family: "Noto Sans CJK JP", sans-serif !important;
    font-weight: 700 !important;
    font-style: Bold !important;
    font-size: 3.47vw !important; /* 13px / 375px × 100 */
    line-height: 140% !important;
    letter-spacing: 0% !important;
    text-align: center !important;
  }

  .enrollment-price-display {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    gap: 2.67vw !important; /* 10px / 375px × 100 */
    margin-bottom: 5.33vw !important; /* 20px / 375px × 100 */
  }

  .original-price {
    color: #666 !important;
    text-align: center !important;
    vertical-align: middle !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-end !important;
    justify-content: center !important;
    align-self: flex-end !important;
  }

  .price-amount {
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 600 !important;
    font-style: normal !important;
    font-size: 6.4vw !important; /* 24px / 375px × 100 */
    line-height: 120% !important;
    letter-spacing: 0 !important;
    color: #8395b3 !important;
  }

  .price-tax {
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 600 !important;
    font-style: normal !important;
    font-size: 3.2vw !important; /* 12px / 375px × 100 */
    line-height: 120% !important;
    letter-spacing: 0 !important;
    color: #8395b3 !important;
  }

  .price-arrow {
    width: 2.93vw !important; /* 11px / 375px × 100 */
    height: 13.07vw !important; /* 49px / 375px × 100 */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 1 !important;
    align-self: flex-end !important;
  }

  .price-arrow img {
    width: 2.93vw !important; /* 11px / 375px × 100 */
    height: 13.07vw !important; /* 49px / 375px × 100 */
    object-fit: contain !important;
  }

  .final-price {
    color: #f859a4 !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 700 !important;
    font-style: normal !important;
    font-size: 12.8vw !important; /* 48px / 375px × 100 */
    line-height: 100% !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  .enrollment-divider {
    width: 100% !important;
    height: 0.27vw !important; /* 1px / 375px × 100 */
    background-color: #d0d5db !important;
    margin: 0 auto 5.33vw !important; /* 0 auto 20px / 375px × 100 */
    border-bottom: 0.27vw solid #d0d5db !important; /* 1px / 375px × 100 */
  }

  .enrollment-description {
    color: #586781 !important;
    font-size: 3.73vw !important; /* 14px / 375px × 100 */
    line-height: 1.6 !important;
    text-align: center !important;
  }

  .text-top {
    padding-bottom: 5.33vw !important; /* 20px / 375px × 100 */
    border-bottom: 0.27vw solid #d0d5db !important; /* 1px / 375px × 100 */
    margin-bottom: 5.33vw !important; /* 20px / 375px × 100 */
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 1.07vw !important; /* 4px / 375px × 100 */
  }

  .price-info {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2.67vw !important; /* 10px / 375px × 100 */
  }

  .text-1 {
    font-size: 3.73vw !important; /* 14px / 375px × 100 */
    line-height: 5.23vw !important; /* 19.6px / 375px × 100 */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 1.07vw !important; /* 4px / 375px × 100 */
    flex-wrap: wrap !important;

    & span:nth-child(1) {
      color: #f859a4 !important;
      font-weight: 700 !important;
      text-align: center !important;
      display: block !important;
    }
  }

  .text-2 {
    font-size: inherit !important; /* 親要素のfont-sizeを継承 */
    line-height: 8.96vw !important; /* 33.6px / 375px × 100 */
    color: #f859a4 !important;
    font-weight: 600 !important;
    text-align: center !important;

    & span:not(.text-3) {
      font-size: 11.2vw !important; /* 42px / 375px × 100 */
      line-height: 17.92vw !important; /* 67.2px / 375px × 100 */
    }
  }

  .text-3 {
    color: #f859a4 !important;
    font-family: "Noto Sans CJK JP", sans-serif !important;
    font-weight: 500 !important;
    font-style: normal !important;
    font-size: 3.73vw !important; /* 14px / 375px × 100 */
    line-height: 140% !important;
    letter-spacing: 5% !important;
    text-align: center !important;
  }

  .text-bottom {
    font-size: 3.73vw !important; /* 14px / 375px × 100 */
    line-height: 6.72vw !important; /* 25.2px / 375px × 100 */
    text-align: center !important;
    font-weight: 400 !important;
  }

  .note {
    text-align: left !important;
    margin-top: 2.67vw !important; /* 10px / 375px × 100 */
    font-size: 2.93vw !important; /* 11px / 375px × 100 */
    line-height: 5.28vw !important; /* 19.8px / 375px × 100 */
    font-weight: 400 !important;
  }

  .block-price-list {
    & .bottom {
      & .panel-full {
        & .text {
          padding-top: 6vw !important; /* 22.5px / 375px × 100 */
          padding-bottom: 8vw !important; /* 30px / 375px × 100 */
        }
      }
    }
  }

  .all-services-title {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 3.73vw !important; /* 14px / 375px × 100 */

    & img:nth-child(1) {
      width: 13.33vw !important; /* 50px / 375px × 100 */
      height: 10.4vw !important; /* 39px / 375px × 100 */
    }

    & .title-text {
      font-family: "Noto Sans JP", sans-serif !important;
      font-weight: 700 !important;
      font-size: 6.4vw !important; /* 24px / 375px × 100 */
      line-height: 1.4 !important;
      color: #586781 !important;
      text-align: center !important;
    }
  }

  .services-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    grid-template-rows: repeat(9, 1fr) !important;
    row-gap: 4vw !important; /* 15px / 375px × 100 */
    column-gap: 4vw !important; /* 15px / 375px × 100 */
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 213.33vw !important; /* 800px / 375px × 100 */
    padding: 8vw 0 0 0 !important; /* 30px 0 0 0 / 375px × 100 */
    margin-bottom: 16vw !important; /* 60px / 375px × 100 */
  }

  .service-item {
    background: #fff !important;
    border-radius: 2.67vw !important; /* 10px / 375px × 100 */
    padding: 2.67vw !important; /* 10px / 375px × 100 */
    text-align: center !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 700 !important;
    font-size: 4.27vw !important; /* 16px / 375px × 100 */
    line-height: 130% !important;
    color: #586781 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 16vw !important; /* 60px / 375px × 100 */
  }
}

/* PC版ではSP版専用要素を非表示、PC版要素を表示 */
.sp-only {
  display: none;
}

.pc-only {
  display: block;
}

/* レスポンシブ版のスクロールマージン */
@media screen and (max-width: 768px) {
  #features,
  #pricing,
  #qa {
    scroll-margin-top: 50px;
  }

  /* 体験会と受講生の声は小さめのオフセット */
  #voices,
  #trial {
    scroll-margin-top: 0px;
  }
}
