/*!*****************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./scss/common.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap);
/*!*********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./scss/common.scss (1) ***!
  \*********************************************************************************************************************************************************************************************************************************************/
/* -------------------------------------------------------------------
  default colors
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  default web-font
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  default spacing
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  hover anitionの適用（～xまで）
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  default font-size
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  background
------------------------------------------------------------------- */
.background__base {
  background-color: #F5F5F5;
}
.background__white {
  background-color: white;
}
.background__main {
  background-color: #FFE600;
}

/* -------------------------------------------------------------------
  display
------------------------------------------------------------------- */
.d-inline {
  display: inline;
}
.d-inline-block {
  display: inline-block;
}
.d-block {
  display: block;
}
.d-flex {
  display: flex;
}

/* -------------------------------------------------------------------
  show and hide
------------------------------------------------------------------- */
@media screen and (min-width: 768px) {
  .--sp {
    display: none !important;
  }
}
@media screen and (max-width: 767.9px) {
  .--pc {
    display: none !important;
  }
}
/* -------------------------------------------------------------------
  font rem計算
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  各種rem計算（font以外）
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  flex時のgapを差し引いた横幅計算
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  アスペクト比固定
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  vw変換
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  margin / padding
------------------------------------------------------------------- */
.mt-high {
  margin-top: clamp(40px, 9.1145833333vw, 100px);
}
.mt-middle, .post-content h2,
.editor-area h2 {
  margin-top: clamp(30px, 5.2083333333vw, 50px);
}
.mt-low, .post-content h3,
.editor-area h3 {
  margin-top: clamp(16px, 2.9947916667vw, 30px);
}
.mt-0 {
  margin-top: 0rem !important;
}

.mr-high {
  margin-right: clamp(40px, 9.1145833333vw, 100px);
}
.mr-middle {
  margin-right: clamp(30px, 5.2083333333vw, 50px);
}
.mr-low {
  margin-right: clamp(16px, 2.9947916667vw, 30px);
}
.mr-0 {
  margin-right: 0rem !important;
}

.mb-high {
  margin-bottom: clamp(40px, 9.1145833333vw, 100px);
}
.mb-middle {
  margin-bottom: clamp(30px, 5.2083333333vw, 50px);
}
.mb-low {
  margin-bottom: clamp(16px, 2.9947916667vw, 30px);
}
.mb-0 {
  margin-bottom: 0rem !important;
}

.ml-high {
  margin-left: clamp(40px, 9.1145833333vw, 100px);
}
.ml-middle {
  margin-left: clamp(30px, 5.2083333333vw, 50px);
}
.ml-low {
  margin-left: clamp(16px, 2.9947916667vw, 30px);
}
.ml-0 {
  margin-left: 0rem !important;
}

.mx-high {
  margin-inline: clamp(40px, 9.1145833333vw, 100px);
}
.mx-middle {
  margin-inline: clamp(30px, 5.2083333333vw, 50px);
}
.mx-low {
  margin-inline: clamp(16px, 2.9947916667vw, 30px);
}
.mx-0 {
  margin-inline: 0rem !important;
}

.my-high {
  margin-block: clamp(40px, 9.1145833333vw, 100px);
}
.my-middle {
  margin-block: clamp(30px, 5.2083333333vw, 50px);
}
.my-low {
  margin-block: clamp(16px, 2.9947916667vw, 30px);
}
.my-0 {
  margin-block: 0rem !important;
}

.ma-high {
  margin: clamp(40px, 9.1145833333vw, 100px);
}
.ma-middle {
  margin: clamp(30px, 5.2083333333vw, 50px);
}
.ma-low {
  margin: clamp(16px, 2.9947916667vw, 30px);
}
.ma-0 {
  margin: 0rem !important;
}

.pt-high {
  padding-top: clamp(40px, 9.1145833333vw, 100px);
}
.pt-middle {
  padding-top: clamp(30px, 5.2083333333vw, 50px);
}
.pt-low {
  padding-top: clamp(16px, 2.9947916667vw, 30px);
}
.pt-0 {
  padding-top: 0rem !important;
}

.pr-high {
  padding-right: clamp(40px, 9.1145833333vw, 100px);
}
.pr-middle {
  padding-right: clamp(30px, 5.2083333333vw, 50px);
}
.pr-low {
  padding-right: clamp(16px, 2.9947916667vw, 30px);
}
.pr-0 {
  padding-right: 0rem !important;
}

.pb-high {
  padding-bottom: clamp(40px, 9.1145833333vw, 100px);
}
.pb-middle {
  padding-bottom: clamp(30px, 5.2083333333vw, 50px);
}
.pb-low {
  padding-bottom: clamp(16px, 2.9947916667vw, 30px);
}
.pb-0 {
  padding-bottom: 0rem !important;
}

.pl-high {
  padding-left: clamp(40px, 9.1145833333vw, 100px);
}
.pl-middle {
  padding-left: clamp(30px, 5.2083333333vw, 50px);
}
.pl-low {
  padding-left: clamp(16px, 2.9947916667vw, 30px);
}
.pl-0 {
  padding-left: 0rem !important;
}

.px-high {
  padding-inline: clamp(40px, 9.1145833333vw, 100px);
}
.px-middle {
  padding-inline: clamp(30px, 5.2083333333vw, 50px);
}
.px-low {
  padding-inline: clamp(16px, 2.9947916667vw, 30px);
}
.px-0 {
  padding-inline: 0rem !important;
}

.py-high, .section {
  padding-block: clamp(40px, 9.1145833333vw, 100px);
}
.py-middle {
  padding-block: clamp(30px, 5.2083333333vw, 50px);
}
.py-low {
  padding-block: clamp(16px, 2.9947916667vw, 30px);
}
.py-0 {
  padding-block: 0rem !important;
}

.pa-high {
  padding: clamp(40px, 9.1145833333vw, 100px);
}
.pa-middle {
  padding: clamp(30px, 5.2083333333vw, 50px);
}
.pa-low {
  padding: clamp(16px, 2.9947916667vw, 30px);
}
.pa-0 {
  padding: 0rem !important;
}

/* -------------------------------------------------------------------
  layout
------------------------------------------------------------------- */
.inner {
  width: 1110px;
  max-width: 100%;
  margin-inline: auto;
  padding-inline: 15px;
}
.inner__wide, .breadcrumbs__inner, .inner.--wide {
  width: 1310px!important;
  max-width: 100%;
  margin-inline: auto;
  padding-inline: 15px;
}
@media screen and (max-width: 767.9px) {
  .inner.--sp-pd-0 {
    padding-inline: 0;
  }
}

/* -------------------------------------------------------------------
  btn-block
------------------------------------------------------------------- */
.btn-block {
  display: grid;
  place-items: center;
  width: 320px;
  max-width: 100%;
  padding: 20px;
  background-color: #FFE600;
  border-radius: 10em;
  box-shadow: 2px 4px 4px rgba(33, 22, 18, 0.25);
  text-decoration: none;
  font-weight: 700;
}
.btn-block__text {
  display: block;
  margin-top: 0.5rem;
  font-size: 0.75rem;
  color: #211612;
}
.btn-block.--center {
  margin-inline: auto;
}
.btn-block.--light {
  background-color: #B4DCED;
}
.btn-block.--large {
  width: 465px;
  font-size: clamp(20px, 3.2552083333vw, 30px);
}

@media screen and (min-width: 600px) {
  .btn-block {
    transition: background-color 0.3s linear;
  }
  .btn-block:hover {
    background-color: #fff279;
    color: #211612;
  }
  .btn-block.--light {
    background-color: #D5EDF7;
  }
}
/* -------------------------------------------------------------------
  header
------------------------------------------------------------------- */
.header {
  position: relative;
  box-shadow: 0 4px 4px rgba(33, 22, 18, 0.125);
  background-color: white;
}
@media screen and (max-width: 767.9px) {
  .header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
  .scroll-ready .header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    transform: translateY(-120%);
  }
  .scroll-animate .header {
    transition: transform 0.3s linear;
  }
  .scroll-on .header {
    transform: translateY(0%);
  }
}
.header__inner {
  display: grid;
  padding-top: 7px;
  padding-inline: clamp(36px, 3.9713541667vw, 25px) 25px;
}
@media screen and (max-width: 767.9px) {
  .header__inner {
    padding-bottom: 10px;
  }
}
.header__catch {
  margin-block: 0;
  line-height: 1.3;
  font-size: clamp(6px, 1.0416666667vw, 10px);
  font-weight: 700;
  letter-spacing: 0.1em;
}
.header__logo {
  width: clamp(152px, 25vw, 232px);
}
.header__logo-wrap a {
  text-decoration: none;
}
.header__logo-wrap a:hover {
  color: #211612;
}
.header__label {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 3px 6px;
  background-color: #D92E0B;
  border-radius: 1em;
  color: white;
  font-size: 10px;
  line-height: 1.2;
}
.scroll-ready .header__label {
  display: none;
}

@media screen and (min-width: 1024px) {
  .header__inner {
    padding-block: 8px;
    grid-template-columns: repeat(2, -webkit-max-content);
    grid-template-columns: repeat(2, max-content);
    justify-content: space-between;
    align-items: center;
  }
  .header__catch .--small {
    display: block;
  }
  .header__logo-wrap {
    justify-self: center;
  }
}
@media screen and (max-width: 1023.9px) {
  .header__catch {
    text-align: center;
  }
  .header__logo-wrap {
    text-align: center;
    padding-right: 24px;
  }
  .header .cta__btn-list {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .header {
    background-color: white;
  }
}
/* -------------------------------------------------------------------
  header-nav
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  768px以上
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  title
------------------------------------------------------------------- */
.title {
  display: flex;
  -moz-column-gap: clamp(25px, 4.8828125vw, 50px);
       column-gap: clamp(25px, 4.8828125vw, 50px);
  align-items: center;
  margin-bottom: clamp(20px, 4.5572916667vw, 50px);
}
.title__text {
  display: block;
  font-family: "Noto Sans JP", sans-serif!important;
  font-size: clamp(16px, 2.2135416667vw, 18px);
  font-weight: 700;
  line-height: 1.2;
}
.title__text::before {
  content: attr(en);
  display: block;
  font-size: clamp(30px, 4.5572916667vw, 40px);
  font-weight: 900;
  text-transform: uppercase;
}
.title.--has-object::after {
  content: url(../lp/schopschool/title-after.svg);
}

/* -------------------------------------------------------------------
  footer
------------------------------------------------------------------- */
.footer {
  padding: 30px clamp(23px, 4.7526041667vw, 50px);
  background-color: #F5F5F5;
}
.footer__inner {
  display: grid;
  gap: 24px;
}
.footer__nav {
  display: flex;
  flex-direction: column;
  -moz-column-gap: clamp(24px, 4.8177083333vw, 50px);
       column-gap: clamp(24px, 4.8177083333vw, 50px);
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.footer__nav li {
  line-height: 2;
}
.footer__nav li a {
  text-decoration: none;
}
.footer__info-logo {
  display: grid;
  justify-content: center;
  text-align: center;
  margin-bottom: clamp(20px, 4.6666666667vw, 35px);
}
.footer__info-logo__text {
  font-size: 10px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.2em;
}
.footer__info-logo__img {
  height: 35px;
}
.footer__info-copy {
  display: block;
  text-align: center;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .footer__inner {
    grid-template-columns: 1fr auto;
  }
  .footer__nav {
    flex-direction: row;
  }
}
@media screen and (min-width: 600px) {
  .footer__info {
    justify-self: flex-end;
  }
  .footer__info-logo {
    justify-content: flex-end;
  }
  .footer__info-copy {
    text-align: right;
  }
}
.breadcrumbs {
  border-bottom: 1px solid #211612;
}
.breadcrumbs__inner {
  padding-block: 0.2rem;
  font-size: 10px;
}
.breadcrumbs__inner > span {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem;
}
.breadcrumbs a {
  text-decoration: none;
  color: #211612;
}

.post-content h2,
.editor-area h2 {
  margin-bottom: 0.5em;
}
.post-content h3,
.editor-area h3 {
  margin-bottom: 0.5em;
}
.post-content b, .post-content strong,
.editor-area b,
.editor-area strong {
  font-weight: bold;
}
.post-content p,
.editor-area p {
  line-height: 1.8;
  font-size: clamp(14px, 1.953125vw, 16px);
}

.wp-block-spacer.is-style-small-spacer {
  height: clamp(16px, 2.9947916667vw, 30px) !important;
}
.wp-block-spacer.is-style-medium-spacer {
  height: clamp(30px, 5.2083333333vw, 50px) !important;
}
.wp-block-spacer.is-style-large-spacer {
  height: clamp(40px, 9.1145833333vw, 100px) !important;
}

.wp-block-image img {
  border-radius: 10px;
}

@media screen and (min-width: 768px) {
  h2 {
    margin-top: 2.5rem;
  }
  h3 {
    margin-top: 2rem;
  }
}
/* -------------------------------------------------------------------
  content-faq
------------------------------------------------------------------- */
.content-faq {
  padding: clamp(15px, 2.1484375vw, 18px) 10px clamp(15px, 2.2786458333vw, 20px);
  border-bottom: 1px solid #454545;
  font-size: 14px;
  cursor: pointer;
}
.content-faq__list {
  display: grid;
  border-top: 1px solid #454545;
}
.content-faq__title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  margin-bottom: 0;
}
.content-faq__title::before {
  content: ""!important;
}
.content-faq__title::after {
  display: none!important;
}
.content-faq__title-text {
  display: flex;
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  font-size: clamp(15px, 2.1484375vw, 18px);
  font-weight: 700;
}
.content-faq__title-text::before {
  content: "Q";
  flex-shrink: 0;
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
  color: #258BCB;
}
.content-faq__title::after {
  content: "";
  flex-shrink: 0;
  display: block;
  width: 12px;
  height: 12px;
  border-right: 2px solid #211612;
  border-bottom: 2px solid #211612;
  transform: rotate(45deg) skew(-3deg, -3deg);
  margin-top: -6px;
}
.content-faq__title.--accordion-on::after {
  margin-top: 6px;
  transform: rotate(-135deg) skew(-3deg, -3deg);
}
.content-faq__description {
  display: none;
}
.content-faq__description-contents {
  display: flex;
  align-items: baseline;
  -moz-column-gap: 10px;
       column-gap: 10px;
  padding-top: clamp(15px, 2.2786458333vw, 20px);
}
.content-faq__description-contents::before {
  content: "A";
  flex-shrink: 0;
  -moz-column-gap: 10px;
       column-gap: 10px;
  padding-left: 10px;
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
  color: #D92E0B;
}

/* -------------------------------------------------------------------
  content-post
------------------------------------------------------------------- */
.content-post {
  display: grid;
  grid-template: "time arrow" auto "title arrow" auto/1fr -webkit-max-content;
  grid-template: "time arrow" auto "title arrow" auto/1fr max-content;
  gap: clamp(5px, 0.9765625vw, 10px);
  padding: 14px clamp(10px, 2.6041666667vw, 30px);
  background-color: #B4DCED;
  border-radius: 5px;
  text-decoration: none;
}
.content-post__time {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: time;
  font-size: 12px;
  color: #258BCB;
  line-height: 1;
}
.content-post__title {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: title;
  margin-bottom: 0;
  font-size: clamp(16px, 2.2135416667vw, 18px);
  color: #211612;
}
.content-post__arrow {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 3;
  position: relative;
  grid-area: arrow;
  align-self: center;
  width: clamp(15px, 3.4505208333vw, 38px);
  height: 2px;
  background-color: #258BCB;
  transition: 0.3s ease-out width;
}
.content-post__arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: 7px;
  height: 7px;
  border-top: 2px solid #258BCB;
  border-right: 2px solid #258BCB;
  transform: rotate(45deg) translateX(-50%) translateY(-25%);
}

@media screen and (min-width: 600px) {
  .content-post {
    transition: 0.3s linear background-color;
  }
  .content-post:hover {
    background-color: rgba(180, 220, 237, 0.5);
  }
  .content-post:hover .content-post__title {
    color: #211612;
  }
  .content-post:hover .content-post__arrow {
    width: clamp(10px, 2.6041666667vw, 30px);
  }
}
/* -------------------------------------------------------------------
  header
------------------------------------------------------------------- */
.cta__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  height: 52px;
  border-radius: 10px;
  box-shadow: 2px 2px 3px rgba(33, 22, 18, 0.25);
  text-decoration: none;
}
.cta__btn-list {
  display: flex;
  align-content: stretch;
  -moz-column-gap: clamp(3px, 0.6510416667vw, 7px);
       column-gap: clamp(3px, 0.6510416667vw, 7px);
}
.cta__btn-text {
  line-height: 1;
  font-weight: 700;
}
.cta__btn.--instagram {
  flex-direction: row;
  width: clamp(90px, 12vw, 116px);
  background-image: url(../lp/schopschool/btn-class-bg-sp.jpg);
  background-size: cover;
}
.cta__btn.--instagram .cta__btn-icon {
  height: 24.88px;
}
.cta__btn.--instagram .cta__btn-text {
  font-size: clamp(8px, 1.3020833333vw, 12px);
  color: white;
}
.cta__btn.--trial {
  width: 116px;
  background-color: #D92E0B;
}
.cta__btn.--trial .cta__btn-icon {
  height: 19.88px;
}
.cta__btn.--trial .cta__btn-text {
  font-size: 12px;
  color: white;
}
.cta__btn.--request {
  padding-inline: 9px;
  border: 1px solid #258BCB;
  background-color: white;
}
.cta__btn.--request .cta__btn-icon {
  height: 19.85px;
}
.cta__btn.--request .cta__btn-text {
  font-size: 10px;
  color: #258BCB;
}
@media screen and (min-width: 768px) {
  .cta__btn.--request {
    border-color: #211612;
  }
  .cta__btn.--request img {
    fill: #211612;
  }
  .cta__btn.--request .cta__btn-icon {
    stroke: #211612;
  }
  .cta__btn.--request .cta__btn-text {
    color: #211612;
  }
}
.cta__btn.--tel {
  width: 50px;
  border: 1px solid #33A643;
  background-color: white;
}
.cta__btn.--tel .cta__btn-icon {
  height: 20.14px;
}
.cta__btn.--tel .cta__btn-text {
  font-size: 10px;
  color: #33A643;
}
.cta__tel {
  margin-right: 1rem;
  text-align: center;
}
.cta__tel-text {
  display: block;
  font-size: clamp(16px, 3.125vw, 32px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.025em;
}
.cta__tel .--small {
  display: block;
  font-size: clamp(6px, 1.171875vw, 12px);
  line-height: 1.5;
}

@media screen and (min-width: 600px) {
  .cta__btn {
    transition: background-color 0.3s linear, opacity 0.3s linear;
  }
  .cta__btn.--instagram:hover {
    opacity: 0.8;
  }
  .cta__btn.--trial:hover {
    background-color: rgba(217, 46, 11, 0.8);
  }
  .cta__btn.--request:hover {
    background-color: rgba(37, 139, 203, 0.2);
  }
  .cta__btn.--tel:hover {
    background-color: rgba(51, 166, 67, 0.2);
  }
}
@media screen and (min-width: 1024px) {
  .cta__btn-list {
    justify-self: flex-end;
  }
  .cta__btn-list.--cta {
    display: none;
  }
}
@media screen and (max-width: 1023.9px) {
  .cta__btn-list.--cta {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 100;
    justify-content: center;
    width: 100%;
    padding-block: 5px;
    transform: translateY(100%);
    transition: transform 0.3s linear;
  }
  .scroll-on .cta__btn-list.--cta {
    transform: translateY(0%);
  }
}
@media screen and (min-width: 768px) {
  .cta__btn .--instagram {
    background-image: url(../lp/schopschool/btn-class-bg-pc.jpg);
  }
}
/* -------------------------------------------------------------------
  base
------------------------------------------------------------------- */
html,
body {
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
}

body {
  font-size: clamp(14px, 1.953125vw, 16px);
  font-family: "Noto Sans JP", sans-serif!important;
  font-weight: 400;
  line-height: normal;
  color: #211612;
  background-color: #ffffff;
}
body.--on {
  overflow: hidden;
}

a {
  color: #211612;
  text-decoration: underline;
}
@media screen and (min-width: 600px) {
  a {
    transition: 0.3s linear color;
  }
  a:hover {
    color: #258BCB;
  }
  a img {
    transition: 0.3s linear opacity;
  }
  a img:hover {
    opacity: 0.5;
  }
}
a.--underline {
  color: #258BCB;
  text-decoration: underline;
}

p {
  margin-top: 0;
}
p:last-child {
  margin-bottom: 0;
}

img,
svg {
  vertical-align: bottom;
  width: auto;
  height: auto;
  max-width: 100%;
}

figure {
  margin: 0;
}

b {
  color: #FFE600;
  font-weight: 500;
}

* {
  box-sizing: border-box;
}

h2, h3, h4, h5 {
  margin: 0;
}

.fw-b {
  font-weight: 700;
}
.fw-m {
  font-weight: 500;
}
.fw-l {
  font-weight: 400;
}

.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.text-bold {
  font-weight: 700;
}

@media screen and (max-width: 767.9px) {
  .--has-sp-after {
    position: relative;
  }
  .--has-sp-after::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    transform: translateY(100%);
    display: block;
    width: 100%;
    height: clamp(18px, 3.4666666667vw, 26px);
    background-image: url(../lp/schopschool/lp/schopschool/sp-after.svg);
    background-size: cover;
    background-position: bottom center;
    background-repeat: no-repeat;
  }
}

.home-fv {
  position: relative;
}
@media screen and (max-width: 767.9px) {
  .home-fv {
    margin-top: 10px;
  }
}
.home-fv__bg {
  margin: 0;
}
.home-fv__contents-inner {
  background: white url(../lp/schopschool/home-fv-contents-inner-bg-pc.svg) center bottom no-repeat;
  background-size: contain;
}
@media screen and (max-width: 767.9px) {
  .home-fv__contents-inner {
    background-image: url(../lp/schopschool/home-fv-contents-inner-bg-sp.svg);
  }
}
.home-fv__contents-contents {
  position: relative;
  padding-top: clamp(13px, 2.4vw, 30px);
  padding-bottom: clamp(46px, 13.0208333333vw, 100px);
}
@media screen and (min-width: 768.1px) {
  .home-fv__contents-contents {
    padding-bottom: 64px;
  }
}
@media screen and (min-width: 768px) {
  .home-fv__contents-contents {
    padding-bottom: clamp(64px, 7.1614583333vw, 46px);
  }
}
.home-fv__contents-contents.--wide {
  padding-inline: 25px 15px;
}
.home-fv__contents-title {
  padding-right: calc(15px + clamp(80px, 16.2760416667vw, 170px));
  font-size: clamp(36px, 4.8vw, 80px);
  font-weight: 700;
  line-height: 1.2;
}
.home-fv__contents-title .--small {
  font-size: clamp(24px, 3.2vw, 48px);
}
.home-fv__contents-title .--emphasis {
  color: #258BCB;
}
.home-fv__contents-text {
  display: block;
  margin-top: 8px;
  font-size: clamp(24px, 3.2vw, 40px);
  font-weight: 700;
}
.home-fv__contents-lead {
  font-size: clamp(14px, 1.8666666667vw, 24px);
  font-weight: 700;
  color: white;
}
@media screen and (min-width: 768px) {
  .home-fv__contents-lead {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 18px;
         column-gap: 18px;
  }
}
.home-fv__contents-lead__text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-block: clamp(8px, 1.4973958333vw, 15px) 0;
  padding-inline: 10px;
  background-color: #956134;
  border-radius: 5px;
}
.home-fv__contents-circle {
  position: absolute;
  top: 30px;
  right: 30px;
  display: grid;
  place-items: center;
  width: clamp(80px, 10.6666666667vw, 170px);
  aspect-ratio: 1/1;
  text-align: center;
  background-color: #D92E0B;
  border-radius: 50%;
  font-size: clamp(14px, 1.8666666667vw, 24px);
  font-weight: 700;
  color: white;
}
.home-fv__contents-circle .--large {
  font-size: clamp(14px, 1.8666666667vw, 32px);
}

.news {
  background: url(../lp/schopschool/news-bg.svg);
}
.news__inner {
  padding-bottom: clamp(10px, 7.8125vw, 110px);
}
.news__list {
  display: grid;
  gap: 5px;
}
@media screen and (max-width: 767.9px) {
  .home .news__list {
    padding-inline: 15px;
  }
}

.movie {
  background-color: #FFE600;
}
.movie__inner {
  padding-block: clamp(16px, 7.5520833333vw, 100px);
}
.movie__video {
  max-width: 100%;
}
.movie__video video, .movie__video iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 1080/607;
  background-color: #000;
  border-radius: 5px;
}

.about {
  margin-top: 40px;
}
.about__contents {
  display: grid;
  align-items: center;
  max-width: 400px;
  width: 100%;
  aspect-ratio: 340/270;
  margin-inline: auto;
  padding-inline: clamp(117px, 16.7317708333vw, 140px) clamp(40px, 10.6666666667vw, 40px);
  background-image: url(../lp/schopschool/about-bg-sp.png);
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .about__contents {
    max-width: 920px;
    aspect-ratio: 920/332;
    padding-inline: clamp(100px, 26.6666666667vw, 255px) clamp(40px, 10.6666666667vw, 110px);
    background-image: url(../lp/schopschool/about-bg-pc.png);
  }
}
.about__description {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-size: clamp(13px, 2.1484375vw, 20px);
  font-weight: 700;
}

.invite {
  position: relative;
}
@media screen and (max-width: 599.9px) {
  .invite {
    margin-top: -26px;
  }
}
.invite__inner {
  position: absolute;
  top: clamp(120px, 33.3333333333vw, 340px);
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 600px) {
  .invite__inner {
    top: clamp(100px, 21.3333333333vw, 400px);
  }
}
.invite__contents {
  text-align: center;
}
@media screen and (min-width: 600px) {
  .invite__contents {
    text-align: left;
  }
}
.invite__title {
  font-size: clamp(20px, 3.6458333333vw, 36px);
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (min-width: 600px) {
  .invite__title {
    font-size: clamp(16px, 2.6666666667vw, 36px);
    line-height: 2.3;
  }
}
.invite__title .--emphasis {
  font-size: clamp(36px, 5.859375vw, 54px);
}
@media screen and (min-width: 600px) {
  .invite__title .--emphasis {
    font-size: clamp(16px, 4vw, 54px);
  }
}
@media screen and (min-width: 600px) {
  .invite__title .--break-sp {
    display: none;
  }
}
@media screen and (max-width: 599.9px) {
  .invite__title .--break-pc {
    display: none;
  }
}

.classroom__navigation {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(10px, 1.5625vw, 14px);
  margin-bottom: 30px;
}
.classroom__navigation-button {
  padding: 4px 14px;
  border-radius: 5px;
  background-color: #FFE600;
  border: 0;
  font-size: clamp(12px, 1.8229166667vw, 16px);
  font-feature-settings: "palt";
  color: #211612;
  text-decoration: none;
  transition: 0.3s background-color linear;
  cursor: pointer;
}
.classroom__navigation-button:hover {
  background-color: #258BCB;
  color: white;
}
.classroom__article {
  display: grid;
  row-gap: clamp(30px, 5.859375vw, 60px);
}
.classroom__section-title {
  padding-left: clamp(10px, 2.6041666667vw, 30px);
  font-size: clamp(20px, 3.3854166667vw, 32px);
  border-top: 3px solid #FFE600;
  border-bottom: 3px solid #FFE600;
}
.classroom__section-inner {
  display: grid;
  gap: clamp(10px, 3.2552083333vw, 40px);
  margin-top: clamp(20px, 3.90625vw, 40px);
}
@media screen and (min-width: 768px) {
  .classroom__section-inner {
    grid-template-columns: repeat(2, 1fr);
  }
}
.classroom__item {
  display: grid;
  grid-template: "info img" auto "btn btn" auto/1fr auto;
  padding: clamp(12px, 1.7578125vw, 15px) clamp(5px, 1.3020833333vw, 15px);
  border-radius: 10px;
  background-color: #FFE600;
}
.classroom__item-info {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: info;
  padding-top: clamp(8px, 1.4973958333vw, 15px);
  padding-left: 15px;
}
.classroom__item-name {
  font-size: clamp(20px, 2.6666666667vw, 32px);
  line-height: 1;
}
.classroom__item-address {
  grid-area: address;
  margin-top: clamp(12px, 2.0833333333vw, 20px);
  font-size: clamp(12px, 1.6vw, 20px);
  line-height: 1.2;
}
.classroom__item-img {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: img;
  width: clamp(127px, 18.6666666667vw, 263px);
  height: auto;
  border-radius: 10px;
}
.classroom__item-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  padding-block: clamp(14px, 2.2135416667vw, 20px);
  border: 1px solid #211612;
  border-radius: 10px;
  background-color: white;
  text-decoration: none;
  font-size: clamp(14px, 1.8666666667vw, 20px);
  box-shadow: 2px 2px 2px rgba(33, 22, 18, 0.25);
  line-height: 1;
}
.classroom__item-btn .--icon {
  width: auto;
  height: clamp(14px, 2.2135416667vw, 20px);
}
.classroom__item-btn-list {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-area: btn;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: clamp(5px, 0.9765625vw, 10px);
       column-gap: clamp(5px, 0.9765625vw, 10px);
  margin-top: clamp(10px, 1.6276041667vw, 15px);
}

.seiki {
  background: #B4DCED url(../lp/schopschool/seiki-bg.svg);
}
.seiki__header {
  padding-block: clamp(15px, 3.125vw, 33px) clamp(15px, 3.3203125vw, 36px);
  background-color: white;
  border-radius: 5px 5px 0 0;
  text-align: center;
}
@media screen and (max-width: 767.9px) {
  .seiki__header-title {
    padding-inline: 2px 7px;
  }
}
.seiki__header-img {
  width: clamp(335px, 62.4vw, 468px);
  max-width: 100%;
}
.seiki__contents {
  display: grid;
  justify-content: center;
  gap: clamp(25px, 4.8828125vw, 50px) clamp(22px, 7.2916666667vw, 90px);
  padding: clamp(25px, 4.8828125vw, 50px) clamp(22px, 7.2916666667vw, 90px) clamp(30px, 6.0546875vw, 63px);
  background-color: #FFFAC7;
  border-radius: 0 0 5px 5px;
}
@media screen and (min-width: 768px) {
  .seiki__contents {
    grid-template-columns: repeat(2, auto);
    justify-content: space-between;
    align-items: center;
  }
}
.seiki__contents-inner {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .seiki__contents-inner {
    max-width: clamp(300px, 39.0625vw, 500px);
  }
}
.seiki__contents-figure {
  text-align: center;
}
.seiki__contents-img {
  width: clamp(300px, 51.1067708333vw, 485px);
  border-radius: 5px;
}
.seiki__contents-title {
  margin-bottom: 0;
  text-align: center;
  font-size: clamp(20px, 2.8645833333vw, 24px);
  font-weight: 700;
  color: #33A643;
}
.seiki__contents-title .--small {
  font-size: clamp(14px, 2.4739583333vw, 24px);
}
.seiki__contents-label {
  display: block;
  width: 274px;
  margin-block: 10px clamp(10px, 1.953125vw, 20px);
  margin-inline: auto;
  background-color: #FBEA66;
  border: 2px solid #FFE600;
  border-radius: 5px;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
}
.seiki__contents-title-img {
  display: block;
  width: clamp(289px, 47.265625vw, 437px);
  margin-inline: auto;
  margin-bottom: clamp(25px, 4.8828125vw, 50px);
}
.seiki__contents-description {
  font-size: clamp(16px, 1.7578125vw, 24px);
}
.seiki__bg-object {
  width: 100%;
  margin-top: 20px;
}

.curriculum {
  background-color: #FFE600;
  padding-top: clamp(20px, 5.859375vw, 70px);
}
.curriculum__title {
  display: grid;
  grid-template-columns: -webkit-max-content auto -webkit-max-content;
  grid-template-columns: max-content auto max-content;
  -moz-column-gap: 12px;
       column-gap: 12px;
  place-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-bottom: clamp(25px, 4.3619791667vw, 42px);
}
.curriculum__title::before, .curriculum__title::after {
  content: "";
  height: clamp(40px, 5.6640625vw, 47px);
  background-size: contain;
}
.curriculum__title::before {
  aspect-ratio: 69/47;
  background-image: url(../lp/schopschool/curriculum-title-l.png);
}
.curriculum__title::after {
  aspect-ratio: 47/47;
  background-image: url(../lp/schopschool/curriculum-title-r.png);
}
.curriculum__description {
  max-width: 1020px;
  margin-inline: auto;
  margin-bottom: clamp(30px, 5.859375vw, 60px);
  font-size: clamp(16px, 2.2135416667vw, 18px);
}
@media screen and (max-width: 599.9px) {
  .curriculum__description {
    padding-inline: clamp(26px, 4.296875vw, 40px);
  }
}
.curriculum__box {
  counter-reset: curriculum-number;
  padding-block: clamp(30px, 5.2083333333vw, 50px) clamp(30px, 8.4635416667vw, 100px);
  background-color: white;
  border-radius: 5px;
}
.curriculum__box-header {
  padding-inline: 8px;
}
@media screen and (min-width: 600px) {
  .curriculum__box-header {
    padding-inline: clamp(10px, 6.5104166667vw, 90px);
  }
}
.curriculum__inner {
  display: grid;
  row-gap: clamp(20px, 7.8125vw, 100px);
}

.curriculum-flow__list {
  position: relative;
  z-index: 2;
  display: grid;
  -moz-column-gap: clamp(0px, 10.8723958333vw, 167px);
       column-gap: clamp(0px, 10.8723958333vw, 167px);
  width: 100%;
  max-width: 1020px;
  margin-inline: auto;
}
@media screen and (max-width: 767.9px) {
  .curriculum-flow__list::before {
    content: "";
    position: absolute;
    left: 28px;
    width: 8px;
    height: 100%;
    z-index: -1;
    display: block;
    background-color: #FFE600;
  }
  .curriculum-flow__list.--last::before {
    height: calc(100% - 49px - 30px);
  }
  .curriculum-flow__list.--last::after {
    content: "";
    position: absolute;
    bottom: 30px;
    left: 39px;
    transform: translateX(-100%);
    display: block;
    width: 65px;
    height: 57px;
    background-image: url(../lp/schopschool/curriculum-flow-line-sp.svg);
    background-size: contain;
    background-position: top left;
    background-repeat: no-repeat;
  }
}
.curriculum-flow__list-wrap {
  position: relative;
  padding-inline: 10px;
}
.curriculum-flow__list-object {
  display: none;
}
@media screen and (min-width: 768px) {
  .curriculum-flow__list {
    grid-template-columns: repeat(2, 1fr);
  }
  .curriculum-flow__list-wrap {
    padding-inline: clamp(10px, 6.5104166667vw, 90px);
  }
  .curriculum-flow__list-wrap + .curriculum-flow__list-wrap {
    margin-top: clamp(30px, 6.7708333333vw, 74px);
  }
  .curriculum-flow__list-object {
    display: block;
    position: absolute;
  }
  .curriculum-flow__list-object__img {
    vertical-align: top;
  }
  .curriculum-flow__list-object.--left, .curriculum-flow__list-object.--right {
    top: clamp(70px, 20.8333333333vw, 250px);
  }
  .curriculum-flow__list-object.--left {
    left: 0;
  }
  .curriculum-flow__list-object.--right {
    right: 0;
  }
}
.curriculum-flow__item {
  display: grid;
  padding-right: 20px;
  padding-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .curriculum-flow__item {
    row-gap: 10px;
    padding: 0;
  }
}
.curriculum-flow__item-figure {
  order: 0;
}
@media screen and (max-width: 767.9px) {
  .curriculum-flow__item-figure {
    order: 1;
    margin-left: 70px;
  }
}
.curriculum-flow__item-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5px;
}
.curriculum-flow__item-label {
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  font-size: clamp(16px, 2.2135416667vw, 18px);
  font-weight: 700;
  line-height: 1.2;
}
.curriculum-flow__item-label::before {
  counter-increment: curriculum-number;
  content: counter(curriculum-number);
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  background-color: #FFE600;
  border-radius: 50%;
  font-size: 30px;
  font-weight: 900;
  color: #956134;
}

.curriculum-structure__list {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column-reverse;
  -moz-column-gap: clamp(0px, 10.8723958333vw, 167px);
       column-gap: clamp(0px, 10.8723958333vw, 167px);
  row-gap: 25px;
  max-width: 1020px;
  margin-inline: auto;
}
.curriculum-structure__list-wrap {
  position: relative;
  padding-inline: 10px;
}
@media screen and (min-width: 768px) {
  .curriculum-structure__list {
    flex-direction: row;
  }
  .curriculum-structure__list-wrap {
    padding-inline: clamp(10px, 6.5104166667vw, 90px);
  }
  .curriculum-structure__list-wrap + .curriculum-flow__list-wrap {
    margin-top: clamp(30px, 6.7708333333vw, 74px);
  }
}
.curriculum-structure__item {
  display: grid;
  row-gap: clamp(15px, 2.9296875vw, 30px);
}
.curriculum-structure__item-figure {
  aspect-ratio: 426/270;
}
@media screen and (max-width: 767.9px) {
  .curriculum-structure__item-figure {
    margin-inline: 10px;
  }
}
.curriculum-structure__item-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5px;
}
.curriculum-structure__item-label {
  display: flex;
  align-items: flex-end;
  -moz-column-gap: 5px;
       column-gap: 5px;
  width: 100%;
  max-width: 376px;
}
.--right .curriculum-structure__item-label {
  flex-direction: row-reverse;
  margin-left: auto;
}
.curriculum-structure__item-label::before {
  content: "";
  flex-shrink: 0;
  display: block;
  width: 52px;
  height: 72px;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
.--left .curriculum-structure__item-label::before {
  background-image: url(../lp/schopschool/curriculum-structure-il-l.png);
}
.--right .curriculum-structure__item-label::before {
  background-image: url(../lp/schopschool/curriculum-structure-il-r.png);
}
.curriculum-structure__item-label__inner {
  position: relative;
  width: 100%;
  padding: 8px 10px;
  border-radius: 10rem;
  background-color: #FFE600;
}
.curriculum-structure__item-label__inner::after {
  content: "";
  position: absolute;
  bottom: 5px;
  display: block;
  width: 0;
  height: 0;
  border-top: 30px solid #FFE600;
  border-right: 6px solid transparent;
  border-bottom: 0px solid transparent;
  border-left: 6px solid transparent;
}
.--left .curriculum-structure__item-label__inner::after {
  left: 0;
  transform: rotate(60deg);
}
.--right .curriculum-structure__item-label__inner::after {
  right: 0;
  transform: rotate(-60deg);
}
.curriculum-structure__item-label__text {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-size: 16px;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .curriculum-structure__item-label__text {
    text-align: center;
  }
}
.curriculum-structure__item-label__text .--large {
  font-size: 20px;
}
@media screen and (min-width: 768px) {
  .curriculum-structure__item-label__text .--large {
    font-size: clamp(14px, 2.2135416667vw, 20px);
  }
}

.class-case {
  position: relative;
  background: #B4DBED url(../lp/schopschool/class-case-bg.png);
}
.class-case .title {
  margin-bottom: 35px;
}
.class-case__object {
  position: absolute;
  right: 0;
  top: 30px;
}
.class-case__description {
  font-size: clamp(18px, 2.4739583333vw, 20px);
  padding-inline: clamp(6px, 2.6666666667vw, 40px);
}
.class-case__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 30px;
  -moz-column-gap: clamp(0px, 1.6276041667vw, 25px);
       column-gap: clamp(0px, 1.6276041667vw, 25px);
  margin-inline: auto;
  margin-top: clamp(30px, 5.859375vw, 60px);
  padding: clamp(30px, 5.2083333333vw, 50px) 10px;
  border-radius: 5px;
  background-color: white;
}
@media screen and (min-width: 768px) {
  .class-case__list {
    padding-inline: clamp(10px, 6.5104166667vw, 90px);
  }
}
@media screen and (min-width: 1024px) {
  .class-case__list {
    grid-template-columns: repeat(4, 1fr);
  }
}
.class-case__item-figure {
  text-align: center;
}
.class-case__item-img {
  height: clamp(118px, 18.8151041667vw, 171px);
}
.class-case__item-title {
  margin-top: 15px;
  text-align: center;
  color: #258BCB;
  font-size: 16px;
  font-weight: 700;
}
.class-case__item-job {
  text-align: center;
  margin-top: clamp(20px, 2.6666666667vw, 20px);
  color: #33A643;
  font-size: clamp(14px, 1.953125vw, 16px);
  font-weight: 700;
}
@media screen and (min-width: 750.1px) {
  .class-case__item-job {
    margin-top: 5px;
  }
}
.class-case__item-job__text {
  display: inline-block;
}
.class-case__item-job::before {
  content: "プロナビ:";
  display: inline-block;
}
.class-case__item-description {
  margin-top: 20px;
  padding-inline: clamp(18px, 2.9947916667vw, 28px);
  font-size: clamp(12px, 1.6927083333vw, 14px);
}

.why__head {
  position: relative;
  padding-top: clamp(25px, 5.5338541667vw, 60px);
  text-align: center;
}
.why__head-logo__title {
  font-size: clamp(10px, 1.4322916667vw, 12px);
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1;
}
.why__head-logo__img {
  width: clamp(245px, 42.7734375vw, 412px);
}
.why__head-bg {
  margin-top: clamp(10px, 1.6927083333vw, 16px);
  width: 100%;
}
.why__head-il {
  position: absolute;
}
.why__head-il.--l {
  left: 0;
  bottom: clamp(26px, 8.0729166667vw, 98px);
  width: clamp(36px, 7.2265625vw, 75px);
}
.why__head-il.--r {
  right: 0;
  bottom: clamp(20px, 7.3567708333vw, 93px);
  width: clamp(51px, 9.8307291667vw, 100px);
}
.why__inner {
  background-color: #FFE600;
  padding-top: clamp(13px, 1.7333333333vw, 13px);
}
@media screen and (min-width: 750.1px) {
  .why__inner {
    padding-top: 0px;
  }
}
.why__title {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .why__title {
    margin-bottom: clamp(26px, 4.8177083333vw, 48px);
  }
}
.why__title-img {
  width: clamp(257px, 40.1692708333vw, 360px);
}
.why__item {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .why__item {
    padding-top: 32px;
  }
}
.why__item-inner {
  position: relative;
  padding: 40px clamp(20px, 5.2083333333vw, 60px);
  background-color: white;
  border: 2px solid #211612;
  border-radius: 5px;
}
.why__item-inner::before {
  content: "";
  position: absolute;
  display: block;
  width: 43px;
  height: 25px;
  right: 26px;
  bottom: 0;
  background: transparent url(../lp/schopschool/why-il-leaf.svg) center bottom no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .why__item-inner::before {
    top: 0;
    left: 50%;
    transform: translate(-50%, calc(-100% - 2px));
    width: 52px;
    height: 32px;
  }
}
.why__item-title {
  margin-bottom: clamp(26px, 3.6458333333vw, 30px);
  text-align: center;
  font-size: clamp(16px, 2.6041666667vw, 24px);
}
.why__item-title .--emphasis {
  font-size: clamp(24px, 3.90625vw, 36px);
  color: #258BCB;
}
.why__item-description {
  font-size: clamp(16px, 2.2135416667vw, 18px);
}

@media screen and (max-width: 767.9px) {
  .price {
    margin-top: clamp(18px, 3.4666666667vw, 26px);
  }
}

.price-table {
  width: 100%;
  border-collapse: collapse;
}
.price-table tr:nth-child(odd) {
  background-color: #FFFAC7;
}
.price-table th {
  padding-inline: clamp(8px, 1.6927083333vw, 18px) clamp(6px, 1.4322916667vw, 16px);
  border-right: 3px solid #FFE600;
  font-size: clamp(12px, 1.953125vw, 18px);
  font-weight: 500;
}
.price-table td {
  width: 100%;
  padding: 14px 15px;
}
.price-table__row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  justify-content: space-between;
  align-items: center;
  max-width: 490px;
  margin-inline: auto;
}
.price-table__row-text {
  justify-self: center;
  font-size: clamp(14px, 2.2135416667vw, 20px);
}
.price-table__row-dotted {
  display: grid;
  place-items: center;
}
.price-table__row-price {
  justify-self: flex-end;
  font-size: clamp(20px, 2.9947916667vw, 26px);
}
.price-table__row-price .--small {
  font-size: clamp(14px, 2.2135416667vw, 20px);
}
.price-table__title {
  position: relative;
  margin-bottom: 15px;
  padding: 20px;
  background-color: #FFE600;
  border-radius: 5px;
  text-align: center;
  font-weight: 900;
}
.price-table__title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 100%);
  display: block;
  width: 0;
  height: 0;
  border-top: 10px solid #FFE600;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid transparent;
}
.price-table__title-text {
  font-size: clamp(18px, 2.734375vw, 24px);
  line-height: 1;
}
.price-table__title-price {
  font-size: clamp(32px, 4.4270833333vw, 36px);
  line-height: 1;
}
.price-table__title-price .--small {
  font-size: clamp(14px, 2.2135416667vw, 20px);
}
.price-table__notice {
  display: block;
  margin-top: clamp(15px, 2.2786458333vw, 20px);
  font-size: clamp(12px, 1.6927083333vw, 14px);
}

.scroll-top {
  position: fixed;
  right: 5vw;
  bottom: 15vh;
  z-index: 500;
  display: grid;
  place-items: center;
  row-gap: 5px;
  width: clamp(60px, 8.7890625vw, 75px);
  height: clamp(60px, 8.7890625vw, 75px);
  padding: 10px;
  border-radius: 50%;
  background-color: #258BCB;
  border: 1px solid #ffffff;
  text-align: center;
  text-decoration: none;
  font-size: 0.8rem;
  color: white;
  line-height: 1;
  transition: all linear 0.3s;
  transform: scale(0);
}
.scroll-on .scroll-top {
  transform: scale(1);
}
.scroll-top__arrow {
  align-self: flex-end;
}
.scroll-top__text {
  align-self: flex-start;
}

@media screen and (min-width: 600px) {
  .scroll-top:hover {
    background-color: #FFE600;
    color: white;
  }
}
.page-title__text {
  margin-bottom: clamp(40px, 9.1145833333vw, 100px);
  padding-bottom: 10px;
  border-bottom: 2px solid #211612;
  font-size: clamp(24px, 3.90625vw, 36px);
  font-weight: 700;
}

.entry-fv__title {
  padding: clamp(7px, 2.2135416667vw, 27px);
  background-color: #FFE600;
  text-align: center;
  font-size: clamp(20px, 2.8645833333vw, 24px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}
@media screen and (min-width: 768px) {
  .entry-fv__title {
    border-radius: 10px 10px 0 0;
  }
}
.entry-fv__inner {
  position: relative;
  padding: clamp(20px, 5.859375vw, 70px) clamp(20px, 5.2083333333vw, 60px) clamp(20px, 5.2083333333vw, 60px);
  background-color: #A6D6EA;
}
@media screen and (min-width: 768px) {
  .entry-fv__inner {
    border-radius: 0 0 10px 10px;
  }
}
.entry-fv__head {
  display: grid;
  grid-template-columns: auto auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .entry-fv__head {
    margin-inline: auto;
  }
}
.entry-fv__contents {
  position: relative;
  z-index: 5;
}
.entry-fv__contents-title {
  font-size: clamp(24px, 5.6640625vw, 63px);
  color: white;
  line-height: 1.5;
  text-shadow: 2px 0 #258BCB, -2px 0 #258BCB, 0 2px #258BCB, 0 -2px #258BCB, 2px 2px #258BCB, -2px -2px #258BCB, -2px 2px #258BCB, 2px -2px #258BCB;
}
@media screen and (min-width: 768px) {
  .entry-fv__contents-title {
    text-shadow: 4px 0 #258BCB, -4px 0 #258BCB, 0 4px #258BCB, 0 -4px #258BCB, 3px 3px #258BCB, -3px -3px #258BCB, -3px 3px #258BCB, 3px -3px #258BCB;
  }
}
.entry-fv__contents-notice {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: clamp(18px, 3.7760416667vw, 40px);
}
.entry-fv__contents-notice__inner {
  display: flex;
  -moz-column-gap: clamp(0px, 1.953125vw, 30px);
       column-gap: clamp(0px, 1.953125vw, 30px);
  padding: clamp(6px, 1.0416666667vw, 10px) clamp(0px, 2.2786458333vw, 35px);
  background-color: white;
  border: clamp(2px, 0.3255208333vw, 3px) solid #258BCB;
  border-radius: 10px;
  font-size: clamp(12px, 2.6041666667vw, 28px);
  font-weight: 700;
  line-height: 1;
}
.entry-fv__contents-notice .--emphasis {
  color: #D92E0B;
}
.entry-fv__contents-notice .--large {
  font-size: clamp(18px, 3.7760416667vw, 40px);
}
.entry-fv__contents-notice .--small {
  font-size: clamp(10px, 1.6927083333vw, 16px);
}
.entry-fv__contents-annotation {
  margin-top: clamp(5px, 1.6276041667vw, 20px);
  text-align: center;
  font-size: clamp(6px, 1.3020833333vw, 14px);
}
.entry-fv__illust {
  width: clamp(108px, 23.3333333333vw, 219px);
  align-self: flex-start;
}
@media screen and (max-width: 767.9px) {
  .entry-fv__illust {
    position: absolute;
    top: clamp(0px, 3.5807291667vw, 55px);
    right: clamp(0px, 3.2552083333vw, 50px);
    align-self: flex-end;
  }
}
.entry-fv__illust-img {
  width: 100%;
}
.entry-fv__figure {
  margin-top: clamp(15px, 2.9296875vw, 30px);
}
.entry-fv__figure-img {
  width: 100%;
}

.entry-flow {
  background: linear-gradient(to bottom, #FFFACC 10px, #FFFBD6 10px);
  background-size: 100% 20px;
  counter-reset: entry-flow-num;
}
.entry-flow__item {
  display: grid;
  gap: clamp(20px, 3.90625vw, 40px);
  padding: clamp(20px, 4.5572916667vw, 50px) clamp(15px, 3.5807291667vw, 40px);
  background-color: white;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .entry-flow__item {
    grid-template-columns: auto 1fr;
  }
}
.entry-flow__item-img {
  width: 100%;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .entry-flow__item-img {
    width: clamp(100px, 30.2734375vw, 365px);
  }
}
.entry-flow__item-title {
  display: flex;
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  font-size: clamp(20px, 2.8645833333vw, 24px);
  font-weight: 700;
  line-height: 1.5;
}
.entry-flow__item-title::before {
  content: counter(entry-flow-num, decimal-leading-zero);
  counter-increment: entry-flow-num;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: clamp(45px, 6.8359375vw, 60px);
  height: clamp(45px, 6.8359375vw, 60px);
  background-color: #258BCB;
  border-radius: 50%;
  font-size: clamp(24px, 3.6458333333vw, 32px);
  font-weight: 700;
  color: white;
}
.entry-flow__item-description {
  margin-top: 20px;
  font-size: clamp(14px, 1.953125vw, 16px);
  line-height: 1.5;
}
.entry-flow__arrow {
  padding-block: 17px 10px;
  text-align: center;
}

.entry-cta__label {
  margin-bottom: 15px;
  text-align: center;
  font-size: clamp(14px, 2.2135416667vw, 20px);
}
.entry-cta__contents {
  padding: clamp(20px, 3.5807291667vw, 35px) clamp(15px, 3.2552083333vw, 35px);
  border: 2px solid #258BCB;
  border-radius: 10px;
}
.entry-cta__title {
  margin-bottom: clamp(20px, 2.9296875vw, 25px);
  text-align: center;
  color: #258BCB;
  font-size: clamp(24px, 3.6458333333vw, 32px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.entry-cta__subtitle {
  text-align: center;
  color: #258BCB;
  font-size: clamp(20px, 2.734375vw, 22px);
  font-weight: 700;
  line-height: 1.2;
}
.entry-cta__btn {
  display: block;
  width: 315px;
  margin-inline: auto;
  padding-block: 20px;
  background-color: #258BCB;
  border-radius: 5em;
  box-shadow: 1px 4px 0 rgba(37, 139, 203, 0.3);
  text-align: center;
  color: white;
  font-size: clamp(20px, 2.8645833333vw, 24px);
  font-weight: 700;
  text-decoration: none;
}
.entry-cta__btn:hover {
  color: white;
}
@media screen and (min-width: 768px) {
  .entry-cta__btn {
    width: 300px;
    padding-block: 13px;
  }
}
.entry-cta__btn.--form {
  background-color: #D92E0B;
  box-shadow: 1px 4px 0 rgba(217, 46, 11, 0.3);
}
.entry-cta__btn.--date {
  margin-top: 30px;
  background-color: #FFE600;
  box-shadow: 0 4px 4px rgba(33, 22, 18, 0.25);
  color: #211612;
}
@media screen and (min-width: 600px) {
  .entry-cta__btn.--date {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    width: 478px;
    margin-top: 0;
  }
  .entry-cta__btn.--date::before {
    content: "";
  }
  .entry-cta__btn.--date::after {
    content: "";
    justify-self: flex-end;
    display: block;
    width: 30px;
    height: 4px;
    margin-right: 27px;
    background-image: url(../lp/schopschool/btn-arrow.svg);
    background-size: cover;
  }
}
.entry-cta__btn-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(20px, 6.5104166667vw, 80px);
  max-width: 720px;
  margin-inline: auto;
}
.entry-cta__btn-notice {
  margin-top: clamp(10px, 1.953125vw, 20px);
  text-align: center;
  font-size: 14px;
}
.entry-cta__list {
  display: grid;
  gap: clamp(10px, 1.953125vw, 20px) clamp(15px, 2.9296875vw, 30px);
  grid-template-columns: repeat(2, auto);
  margin-block: clamp(20px, 3.2552083333vw, 30px) 20px;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .entry-cta__list {
    grid-template-columns: repeat(3, auto);
  }
}
.entry-cta__list-wrap {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.entry-cta__list li {
  display: flex;
  align-items: baseline;
  -moz-column-gap: clamp(5px, 0.9765625vw, 10px);
       column-gap: clamp(5px, 0.9765625vw, 10px);
  font-size: clamp(14px, 2.2135416667vw, 20px);
}
.entry-cta__list li::before {
  content: "●";
  flex-shrink: 0;
  color: #258BCB;
}
.entry-cta__bg {
  position: relative;
}
.entry-cta__bg-object {
  width: 100%;
  margin-top: clamp(38px, 7.5520833333vw, 78px);
}
.entry-cta__bg-text {
  position: absolute;
  top: 35%;
  right: 25%;
  transform: rotate(-8.7deg);
  font-size: clamp(16px, 1.6666666667vw, 24px);
  font-size: clamp(16px, 2.6041666667vw, 24px);
}
@media screen and (min-width: 600px) {
  .entry-cta__bg-text {
    top: clamp(40px, 6.5104166667vw, 60px);
    right: 15%;
    font-size: clamp(0px, 1.5625vw, 24px);
  }
}
@media screen and (min-width: 600px) {
  .entry-cta__bg-btn {
    position: absolute;
    top: clamp(0px, 1.953125vw, 30px);
    left: 50%;
    z-index: 10;
    transform: translateX(-50%);
    font-size: clamp(18px, 2.734375vw, 24px);
  }
}
.entry-cta__bg-wrap {
  position: relative;
}
@media screen and (max-width: 959.9px) and (min-width: 600px) {
  .entry-cta__bg-wrap {
    margin-top: clamp(30px, 5.2083333333vw, 50px);
    padding-top: 50px;
  }
}

.entry-form {
  background-color: #FFFACC;
}
.entry-form__form {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  width: 100%;
  max-width: 960px;
  margin-inline: auto;
}

/* -------------------------------------------------------------------
  1024px以上
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  768px以上
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  767以下
------------------------------------------------------------------- */
