:root {
  --font-color: #594B3A;
  --white-color: #FFFFFF;
  --gray-color: #F2EEE7;
  --background-color: #FBE9E5;
  --accent-color: #E5555D;
  --sp-padding: 1.125rem;
  --pc-padding: 2rem;
  --pc-header-height: 24.3125rem;
  --sp-header-height: 9.4375rem;
  --ff-base: "Zen Maru Gothic", "Hiragino Kaku Gothic ProN",
    "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
}

/* =========================
   Breakpoint variables
========================= */
/* =========================
   Breakpoint map
========================= */
/* =========================
   Media query mixin
========================= */
.page-teacher .subheader {
  background-image: url(../images/common/img-teacher-subheader_pc.webp);
}
@media screen and (max-width: 767px) {
  .page-teacher .subheader {
    background-image: url(../images/common/img-teacher-subheader_sp.webp);
  }
}
.page-teacher .intro__section {
  padding-top: 0.375rem;
  padding-bottom: 19.125rem;
}
@media screen and (max-width: 767px) {
  .page-teacher .intro__section {
    padding-top: 1.5625rem;
    padding-bottom: 5.375rem;
  }
}
.page-teacher .intro__cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 58.125rem;
  max-width: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .page-teacher .intro__cont {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .page-teacher .intro__cont {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.25rem;
    width: 35rem;
  }
}
.page-teacher .intro__block {
  position: relative;
}
@media screen and (min-width: 768px) {
  .page-teacher .intro__block {
    width: 47.4%;
    padding-top: 12.5rem;
  }
}
@media screen and (max-width: 767px) {
  .page-teacher .intro__block {
    padding-top: 8.1875rem;
    text-align: center;
  }
}
.page-teacher .intro__block::before {
  content: "";
  position: absolute;
  background: url("../images/teacher/deco-intro.webp") no-repeat center center/contain;
  width: 5rem;
  height: 9.375rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  left: 50%;
  top: 2.0625rem;
}
@media screen and (max-width: 767px) {
  .page-teacher .intro__block::before {
    width: 3.75rem;
    height: 7.0625rem;
    top: 0.5rem;
  }
}
.page-teacher .intro__name {
  color: var(--accent-color);
  text-align: center;
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
@media screen and (max-width: 767px) {
  .page-teacher .intro__name {
    font-size: 1.5rem;
  }
}
.page-teacher .intro__name--ruby {
  color: var(--accent-color);
  text-align: center;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
@media screen and (max-width: 767px) {
  .page-teacher .intro__name--ruby {
    font-size: 0.875rem;
  }
}
.page-teacher .intro__text {
  margin-top: 2.5625rem;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 500;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-teacher .intro__text {
    font-size: 1rem;
    line-height: 1.875;
    font-weight: 700;
    margin-top: 0.6875rem;
  }
}
@media screen and (min-width: 768px) {
  .page-teacher .intro__img {
    width: 43%;
  }
}
.page-teacher .greet__section {
  position: relative;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  background: #FBFAF6;
}
@media screen and (max-width: 767px) {
  .page-teacher .greet__section {
    padding-top: calc(14.6666666667vw + 0.875rem);
    padding-bottom: 0.625rem;
  }
}
.page-teacher .greet__section::before, .page-teacher .greet__section::after {
  content: "";
  position: absolute;
}
.page-teacher .greet__section::before {
  background: url("../images/teacher/bg-greet_pc.webp") no-repeat center center/cover;
  aspect-ratio: 1440/222;
  width: 100%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  left: 50%;
  top: -15.2777777778vw;
}
@media screen and (max-width: 767px) {
  .page-teacher .greet__section::before {
    background: url("../images/teacher/bg-greet_sp.webp") no-repeat center center/cover;
    aspect-ratio: 375/60;
    top: 0;
  }
}
.page-teacher .greet__section::after {
  background: url("../images/teacher/bg-about_pc.webp") no-repeat center center/cover;
  aspect-ratio: 1440/340;
  width: 100%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  left: 50%;
  bottom: -13.0555555556vw;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .page-teacher .greet__section::after {
    background: url("../images/teacher/bg-about_sp.webp") no-repeat center center/cover;
    aspect-ratio: 375/35;
    bottom: -8vw;
  }
}
.page-teacher .greet__title {
  color: var(--accent-color);
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 2.24px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-teacher .greet__title {
    font-size: 1.5rem;
    line-height: 1.66667;
  }
}
.page-teacher .greet__cont {
  margin-top: 4.9375rem;
  width: 69.875rem;
  max-width: 100%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1280px) {
  .page-teacher .greet__cont {
    padding-bottom: 12.8125rem;
  }
}
@media screen and (max-width: 767px) {
  .page-teacher .greet__cont {
    width: 35rem;
    padding-bottom: 10.3125rem;
    margin-top: 2.3125rem;
  }
}
.page-teacher .greet__cont::before {
  content: "";
  position: absolute;
  background: url("../images/teacher/deco-greet_pc.webp") no-repeat center center/contain;
  width: 17.6875rem;
  height: 12.125rem;
  right: 9%;
  bottom: -2.3125rem;
  z-index: 1;
}
@media screen and (min-width: 768px) and (max-width: 1280px) {
  .page-teacher .greet__cont::before {
    right: 0rem;
    bottom: 0rem;
  }
}
@media screen and (max-width: 767px) {
  .page-teacher .greet__cont::before {
    background: url("../images/teacher/deco-greet_sp.webp") no-repeat center center/contain;
    width: 15.3125rem;
    height: 9.9375rem;
    right: -0.25rem;
    bottom: 1.125rem;
  }
}
.page-teacher .greet__text {
  font-style: normal;
  line-height: 1.875;
}
@media screen and (max-width: 767px) {
  .page-teacher .greet__text {
    font-size: 0.875rem;
    font-style: normal;
    line-height: 1.78571;
  }
}
.page-teacher .greet__img {
  max-width: 100%;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .page-teacher .greet__img01 {
    width: 33.125rem;
  }
}
@media screen and (min-width: 768px) {
  .page-teacher .greet__img02 {
    width: 23.125rem;
  }
}
.page-teacher .about__section {
  padding-top: 18.75rem;
  padding-bottom: calc(16.25rem + 11.1111111111vw);
}
@media screen and (max-width: 767px) {
  .page-teacher .about__section {
    padding-top: 11.875rem;
    padding-bottom: 12.5rem;
  }
}
.page-teacher .about__cont {
  position: relative;
  width: 46.1875rem;
  max-width: 100%;
  margin-inline: auto;
  background: var(--background-color);
  border-radius: 1.875rem;
  padding: 5.9375rem 2.5rem 2.6875rem;
}
@media screen and (max-width: 767px) {
  .page-teacher .about__cont {
    padding: 3.3125rem 1.25rem;
    width: 35rem;
  }
}
.page-teacher .about__cont::before {
  content: "";
  position: absolute;
  background: url("../images/teacher/deco-about.webp") no-repeat center center/contain;
  width: 7.5rem;
  height: 7.5rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  left: 50%;
  top: -2.375rem;
}
@media screen and (max-width: 767px) {
  .page-teacher .about__cont::before {
    top: -4.375rem;
  }
}
.page-teacher .about__title {
  color: var(--accent-color);
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 2.24px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-teacher .about__title {
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.5;
  }
}
.page-teacher .about__title02 {
  margin-top: 6.4375rem;
}
@media screen and (max-width: 767px) {
  .page-teacher .about__title02 {
    margin-top: 3.0625rem;
  }
}
.page-teacher .about__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 768px) {
  .page-teacher .about__list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 2.375rem 3.3125rem;
    margin-top: 2.6875rem;
  }
}
@media screen and (max-width: 767px) {
  .page-teacher .about__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.25rem;
    margin-top: 1.6875rem;
  }
}
.page-teacher .about-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 1.25rem;
  background: var(--white-color);
  padding: 1rem 1.5rem;
}
@media screen and (min-width: 768px) {
  .page-teacher .about-list__item {
    width: calc(50% - 1.65625rem);
  }
}
@media screen and (max-width: 767px) {
  .page-teacher .about-list__item {
    padding: 0.75rem 1.875rem;
  }
}
@media screen and (min-width: 768px) {
  .page-teacher .about-list__item--large {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .page-teacher .about-list__item--large .about-item__text {
    text-align: left;
  }
}
.page-teacher .about-item__lead {
  color: var(--accent-color);
  text-align: center;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 374px) {
  .page-teacher .about-item__lead {
    font-size: clamp(1.125rem, 0.384rem + 3.7vw, 1.25rem);
  }
}
.page-teacher .about-item__text {
  font-style: normal;
  line-height: 1.875;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-teacher .about-item__text {
    font-size: 0.875rem;
  }
}
.page-teacher .about__item--bottom {
  margin-top: 2.1875rem;
  padding: 1.875rem clamp(2rem, 4.17vw, 3.75rem);
  background: var(--white-color);
  border-radius: 1.25rem;
}
@media screen and (max-width: 767px) {
  .page-teacher .about__item--bottom {
    margin-top: 1.1875rem;
    padding: 1.75rem 1.5625rem 1.625rem;
  }
}
.page-teacher .about-bottom__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.page-teacher .about-bottom-list__item {
  font-style: normal;
  line-height: 1.875;
  letter-spacing: 2.24px;
}
@media screen and (max-width: 767px) {
  .page-teacher .about-bottom-list__item {
    font-size: 0.875rem;
    font-style: normal;
    line-height: 1.78571;
    letter-spacing: 2.24px;
  }
}
.page-teacher .about-bottom__text {
  font-style: normal;
  line-height: 1.875;
  letter-spacing: 2.24px;
}
@media screen and (max-width: 767px) {
  .page-teacher .about-bottom__text {
    margin-top: 2em;
    font-size: 0.875rem;
    font-style: normal;
    line-height: 1.78571;
    letter-spacing: 2.24px;
  }
}