@charset "UTF-8";
/* ===============================================
コンテナ―
=============================================== */
.l-container {
  max-width: 1024px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .l-container {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 5%;
  }
}

.l-container-large {
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 2%;
}
@media screen and (max-width: 767px) {
  .l-container-large {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 5%;
  }
}

.l-container_85 {
  max-width: 85%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .l-container_85 {
    max-width: 100%;
    margin: 0 auto;
  }
}

/* ===============================================
セクション
=============================================== */
/* 共通設定
----------------------- */
* {
  box-sizing: border-box;
}

body {
  font-size: 18px;
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  position: relative;
  z-index: 0;
  min-width: 1100px;
}
@media screen and (max-width: 767px) {
  body {
    min-width: 320px;
  }
}

a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

main {
  background: #fff;
  width: 100%;
}

/* リンク
----------------------- */
.f-link {
  width: 100%;
  height: 100%;
  display: block;
  transition: 0.3s;
}
.f-link:hover {
  transition: 0.3s;
  opacity: 0.7;
}

/* 画像
----------------------- */
.f-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  .f-img {
    max-width: 480px;
    margin: 0 auto;
  }
}

.f-shadow {
  filter: drop-shadow(3px 3px 4px #bdbdbd);
}

/* リボン
----------------------- */
.c-ribon {
  width: 100%;
  height: auto;
  padding: 20px 0;
  text-align: center;
  color: #fff;
  font-size: 30px;
  line-height: 1.3;
  position: relative;
  z-index: 0;
  letter-spacing: 1.5px;
}
@media screen and (max-width: 767px) {
  .c-ribon {
    font-size: 18px;
    font-feature-settings: "palt";
    padding: 20px 0;
  }
}
.c-ribon::after {
  position: absolute;
  content: "";
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  width: 70px;
  height: 30px;
  bottom: -29px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 50;
}
@media screen and (max-width: 767px) {
  .c-ribon::after {
    width: 40px;
    height: 20px;
    bottom: -19px;
  }
}
.c-ribon span {
  color: yellow;
  font-size: 36px;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .c-ribon span {
    font-size: 22px;
  }
}
.c-ribon span.yellow {
  font-size: 30px;
}
@media screen and (max-width: 767px) {
  .c-ribon span.yellow {
    font-size: 18px;
  }
}
.c-ribon--blue {
  background: #0042ab;
}
.c-ribon--blue::after {
  background: #0042ab;
  z-index: 99;
}
.c-ribon--d-blue {
  background: #1B1464;
}
.c-ribon--d-blue::after {
  background: #1B1464;
}
.c-ribon--red {
  background: #70171a;
}
.c-ribon--red::after {
  background: #70171a;
}
.c-ribon--green {
  background: #014955;
}
.c-ribon--green::after {
  background: #014955;
}
.c-ribon--goukaku {
  font-size: 30px;
  padding: 40px 0;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .c-ribon--goukaku {
    font-size: 18px;
    padding: 25px 0 35px;
  }
}
.c-ribon--goukaku p {
  position: relative;
  display: inline-block;
}
.c-ribon--icon .inner {
  display: inline-block;
  position: relative;
}
.c-ribon .icon {
  position: absolute;
  background: yellow;
  border-radius: 50%;
  height: 120px;
  width: 120px;
  display: grid;
  place-content: center;
  padding-left: 5px;
  box-shadow: 4px 4px 16px rgba(0, 0, 0, 0.6);
  background-clip: padding-box;
  left: -150px;
  top: -40px;
  color: #FF2E63;
  font-weight: 900;
  font-size: 30px;
  white-space: nowrap;
  letter-spacing: -2px;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .c-ribon .icon {
    box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.4);
    height: 70px;
    width: 70px;
    top: 0%;
    left: 50%;
    transform: translateX(-50%) translateX(-140px);
    top: -75px;
    font-size: 18px;
    letter-spacing: 0px;
    padding-left: 0px;
  }
}
.c-ribon .icon::after {
  position: absolute;
  content: "";
  clip-path: polygon(0% 0, 100% 50%, 0% 100%);
  background: yellow;
  width: 30px;
  height: 30px;
  right: -15px;
  bottom: 40px;
  z-index: -1;
  transform: rotate(0deg);
}
@media screen and (max-width: 767px) {
  .c-ribon .icon::after {
    width: 15px;
    height: 15px;
    right: 0px;
    bottom: 0px;
    transform: rotate(40deg);
  }
}
.c-ribon--big {
  font-size: 45px;
  padding: 30px 0;
}
@media screen and (max-width: 767px) {
  .c-ribon--big {
    font-size: 30px;
    padding: 20px 0;
  }
}
.c-ribon span.yellow {
  font-size: 1.1em;
}

/* 塾生・保護者の声
----------------------- */
.c-voice {
  padding: 20px 0 150px 0;
}
@media screen and (max-width: 767px) {
  .c-voice {
    padding: 20px 0 100px 0;
  }
}
.c-voice__wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 30px;
}
@media screen and (max-width: 860px) {
  .c-voice__wrapper {
    column-gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .c-voice__wrapper {
    grid-template-columns: 1fr;
    row-gap: 50px;
  }
}
.c-voice__item {
  border-radius: 10px;
  display: flex;
  height: 100%;
  color: #fff;
  padding: 20px 5% 20px 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-voice__item {
    padding: 20px 5% 20px;
    border-radius: 7px;
  }
}
.c-voice__item::after {
  position: absolute;
  content: "";
  width: 55px;
  height: 27px;
  bottom: -27px;
  right: 20%;
  mask-image: url(../img/voice_mask.png);
  mask-mode: alpha;
  mask-size: contain;
}
.c-voice__item--01 {
  background: #f5537c;
}
.c-voice__item--01::after {
  background: #f5537c;
}
.c-voice__item--02 {
  background: #2163a0;
}
.c-voice__item--02::after {
  background: #2163a0;
}
.c-voice__item--03 {
  background: #f6fa70;
  color: #000;
}
.c-voice__item--03::after {
  background: #f6fa70;
}
.c-voice__item--04 {
  background: #43DFB4;
  color: #000;
}
.c-voice__item--04::after {
  background: #43DFB4;
}
.c-voice__left {
  width: 150px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-voice__left {
    width: 120px;
    padding-right: 10px;
  }
}
.c-voice__title {
  background: #fff;
  color: #000;
  text-align: center;
  padding: 0 10px;
  border-radius: 7px;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .c-voice__title {
    font-size: 18px;
    font-feature-settings: "palt";
    padding: 0 7px;
  }
}
.c-voice__right {
  width: calc(100% - 150px);
  font-feature-settings: "palt";
  letter-spacing: 1px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .c-voice__right {
    font-size: 16px;
    width: calc(100% - 120px);
    font-weight: 400;
  }
}
@media screen and (max-width: 767px) {
  .c-voice__pic {
    width: 85%;
  }
}

/* 複数設置　CTA
----------------------- */
.c-contact {
  background: #5615f5;
  padding: 40px 0 40px;
  background-size: auto auto;
  background-image: repeating-linear-gradient(-45deg, #4e16db, #4e16db 3px, #5615f5 3px, #5615f5 9px);
}
@media screen and (max-width: 767px) {
  .c-contact {
    background-image: repeating-linear-gradient(-45deg, #4e16db, #4e16db 2px, #5615f5 2px, #5615f5 6px);
  }
}
.c-contact__contents {
  background: #fff;
  border-radius: 10px;
  padding: 30px;
}
@media screen and (max-width: 767px) {
  .c-contact__contents {
    padding: 20px 0;
  }
}
.c-contact__wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-contact__wrapper {
    flex-direction: column;
    row-gap: 20px;
  }
}
.c-contact__btnarea {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .c-contact__btnarea {
    width: 100%;
  }
}
.c-contact__btn-txt {
  text-align: center;
  font-size: 30px;
  padding-left: 8px;
}
@media screen and (max-width: 767px) {
  .c-contact__btn-txt {
    font-size: 24px;
  }
}
.c-contact__btn-txt .red {
  color: #ED1E79;
  display: none;
}
.c-contact__btn-txt .blue {
  color: #2E3192;
  font-weight: 900;
}
.c-contact__telarea {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .c-contact__telarea {
    width: 100%;
  }
}
.c-contact__tel {
  display: grid;
  place-content: center;
  place-items: center;
  line-height: 1.2;
}
.c-contact__tel .head {
  font-size: 32px;
}
@media screen and (max-width: 767px) {
  .c-contact__tel .head {
    font-size: 24px;
  }
}
.c-contact__tel .body {
  display: flex;
  align-items: center;
}
.c-contact__tel .pic {
  width: 50px;
}
.c-contact__tel .number {
  font-size: 40px;
  font-weight: 900;
  color: #2E3192;
  padding: 0 0 10px 7px;
}
@media screen and (max-width: 767px) {
  .c-contact__tel .number {
    font-size: 30px;
  }
}

/* リンクボタン
----------------------- */
.c-btn__link {
  background: #ED1E79;
  border: 5px solid #fff;
  box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.6);
  display: block;
  width: 100%;
  height: 110px;
  position: relative;
  display: grid;
  place-content: center;
  transition: 0.3s;
  border-radius: 10px;
  padding: 0 30px 0 40px;
}
@media screen and (max-width: 767px) {
  .c-btn__link {
    height: 80px;
    border: 2px solid #fff;
    box-shadow: 5px 5px 0px rgba(0, 0, 0, 0.6);
    padding: 0 0 0 0;
    max-width: 400px;
    width: 90%;
    margin: 0 auto;
  }
}
.c-btn__link:hover {
  transition: 0.3s;
  transform: translateY(5px);
  box-shadow: 0px 0px 0px rgb(0, 0, 0);
  background: #ff559f;
}
.c-btn__link .inner {
  display: flex;
  column-gap: 30px;
  align-items: center;
}
.c-btn__link .btn-title {
  text-align: center;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.1;
  white-space: nowrap;
  color: yellow;
}
.c-btn__link .btn-title .small {
  font-size: 0.7em;
  font-weight: 600;
  padding-left: 3px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .c-btn__link .btn-title {
    font-size: 26px;
  }
}
.c-btn__link i {
  color: #fff;
  font-size: 30px;
}
@media screen and (max-width: 767px) {
  .c-btn__link i {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    font-size: 18px;
  }
}

/* 冬期講習無料キャンペーン
----------------------- */
.c-winter_cmp {
  background: #fcee21;
  padding: 30px 20px 60px;
}
@media screen and (max-width: 767px) {
  .c-winter_cmp {
    padding: 30px 0px;
  }
}
.c-winter_cmp--pool {
  border-radius: 10px;
  padding: 30px 20px 40px;
  margin-bottom: 60px;
}
.c-winter_cmp__top {
  text-align: center;
  font-size: 30px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-winter_cmp__top {
    font-size: 18px;
  }
}
.c-winter_cmp__top::before, .c-winter_cmp__top::after {
  position: relative;
  display: inline-block;
  content: "";
  background: #000;
  width: 3px;
  height: 1.5em;
  margin: 0 0.7em;
  margin-top: -0.2em;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .c-winter_cmp__top::before, .c-winter_cmp__top::after {
    width: 2px;
    height: 1.5em;
  }
}
.c-winter_cmp__top::before {
  transform: rotate(-35deg);
}
.c-winter_cmp__top::after {
  transform: rotate(35deg);
}
.c-winter_cmp__top .blue {
  color: #3f1dc6;
  font-weight: 900;
}
.c-winter_cmp__contents {
  background: #fff;
  max-width: 870px;
  margin: 40px auto 0;
  position: relative;
  display: grid;
  place-content: center;
  place-items: center;
  padding: 45px 0 30px;
}
@media screen and (max-width: 767px) {
  .c-winter_cmp__contents {
    padding: 30px 0 20px;
    grid-template-columns: 1fr;
    max-width: 90%;
  }
}
.c-winter_cmp__date {
  background: #3f1dc6;
  width: 300px;
  height: 55px;
  border-radius: 10px;
  position: absolute;
  text-align: center;
  color: #fff;
  font-size: 22px;
  letter-spacing: 2px;
  line-height: 1.1;
  top: -24px;
  left: 40px;
}
@media screen and (max-width: 767px) {
  .c-winter_cmp__date {
    width: 80%;
    height: 40px;
    font-size: 16px;
    left: 50%;
    transform: translateX(-50%);
  }
}
.c-winter_cmp__date .yellow {
  color: yellow;
}
.c-winter_cmp__date .big {
  font-size: 44px;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .c-winter_cmp__date .big {
    font-size: 30px;
  }
}
.c-winter_cmp__date::after {
  position: absolute;
  content: "";
  background: #3f1dc6;
  clip-path: polygon(0 0, 100% 100%, 100% 0);
  width: 25px;
  height: 17px;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .c-winter_cmp__date::after {
    right: 12%;
    bottom: -12px;
  }
}
.c-winter_cmp__subtitle {
  font-size: 26px;
  margin-bottom: 0.2em;
}
@media screen and (max-width: 767px) {
  .c-winter_cmp__subtitle {
    font-size: 4.1vw;
  }
}
.c-winter_cmp__subtitle .bold {
  font-weight: 900;
  font-size: 1.2em;
}
.c-winter_cmp__free {
  font-size: 74px;
  font-weight: 900;
  color: #B5252A;
  line-height: 1.1;
}
@media screen and (max-width: 767px) {
  .c-winter_cmp__free {
    font-size: 10vw;
  }
}
.c-winter_cmp__free .free {
  background: #B5252A;
  color: yellow;
  display: inline-block;
  font-size: 0.9em;
  padding: 0 20px 5px;
  margin-left: 10px;
}
@media screen and (max-width: 767px) {
  .c-winter_cmp__free .free {
    padding: 0 10px 5px;
    margin-left: 7px;
  }
}
.c-winter_cmp__title {
  display: inline-block;
  font-size: 48px;
  color: #1b1464;
  font-weight: 900;
  text-align: center;
  line-height: 1.2;
  background: linear-gradient(transparent 70%, yellow 30%);
  padding: 0 50px;
}
@media screen and (max-width: 767px) {
  .c-winter_cmp__title {
    line-height: 0.8;
    font-size: 7vw;
    padding: 10px 5%;
    white-space: nowrap;
  }
}
.c-winter_cmp__txt {
  color: #1b1464;
  font-size: 22px;
  margin: 10px 0 20px;
}
@media screen and (max-width: 767px) {
  .c-winter_cmp__txt {
    font-size: 16px;
  }
}
.c-winter_cmp__txt span.target {
  background: #1b1464;
  color: #fff;
  padding: 0 20px 3px 20px;
  margin-right: 7px;
  font-size: 0.9em;
}
.c-winter_cmp__cap {
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .c-winter_cmp__cap {
    width: 100%;
    font-size: 14px;
    text-align: left;
    line-height: 1.3;
    text-indent: -1em;
    padding-left: 1em;
    padding: 0 10%;
    margin-bottom: 7px;
  }
}
.c-winter_cmp__last {
  text-align: center;
  margin: 40px auto 0;
  font-size: 40px;
}
@media screen and (max-width: 767px) {
  .c-winter_cmp__last {
    font-size: 23px;
  }
}
.c-winter_cmp__last .inner {
  padding: 0 10px;
  display: inline-block;
  position: relative;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 7px;
  text-decoration-thickness: 3px;
  text-decoration-color: #B5252A;
}
@media screen and (max-width: 767px) {
  .c-winter_cmp__last .inner {
    padding: 0 0px;
  }
}
.c-winter_cmp__last .inner::before {
  position: absolute;
  content: "\f309";
  font-family: "fontawesome";
  font-weight: 900;
  top: 0;
  left: -1em;
  font-size: 1.2em;
  color: #3f1dc6;
}
.c-winter_cmp__last .inner::after {
  position: absolute;
  content: "\f309";
  font-family: "fontawesome";
  font-weight: 900;
  top: 0;
  right: -1em;
  font-size: 1.2em;
  color: #3f1dc6;
}
.c-winter_cmp__last .red {
  color: #B5252A;
}

/* ===============================================
ヘッダー
=============================================== */
.p-header {
  position: absolute;
  width: 300px;
  height: auto;
  background: #fff;
  z-index: 999;
  left: 0;
  top: 0;
}
@media screen and (max-width: 1280px) {
  .p-header {
    width: 200px;
  }
}
@media screen and (max-width: 767px) {
  .p-header {
    width: 100%;
    background: #131738;
    height: 60px;
    position: relative;
  }
}
.p-header h1 {
  width: 100%;
  height: 100%;
  display: block;
}
.p-header__logo {
  height: 90px;
  padding: 14px 20px;
}
@media screen and (max-width: 1280px) {
  .p-header__logo {
    height: 60px;
    padding: 10px 16px;
  }
}
@media screen and (max-width: 767px) {
  .p-header__logo {
    height: 60px;
    padding: 10px;
  }
}

/* ===============================================
キ－ビジュアル
=============================================== */
.p-kv {
  width: 100%;
  height: 100svh;
  position: relative;
}
@media (max-aspect-ratio:15/9), (min-aspect-ratio: 20/9) {
  .p-kv {
    height: auto;
  }
}
.p-kv__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
@media (max-aspect-ratio:15/9), (min-aspect-ratio: 20/9) {
  .p-kv__img {
    position: static;
    height: auto;
    object-fit: contain;
  }
}
@media (orientation: landscape) and (max-width: 767px) {
  .p-kv__img {
    object-fit: contain;
  }
}
.p-kv__btnarea {
  position: absolute;
  width: 430px;
  height: auto;
  left: 8vw;
  bottom: 80px;
  z-index: 10;
}
@media screen and (max-width: 1400px) {
  .p-kv__btnarea {
    width: 330px;
    bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .p-kv__btnarea {
    left: 50%;
    transform: translateX(-50%) translateX(16px);
    max-width: 400px;
    width: 80%;
    bottom: 30px;
    margin: 0 auto;
  }
}
.p-kv__btnarea--test {
  z-index: 999;
}
.p-kv__btn-link {
  background: yellow;
  color: #2e3192;
  display: block;
  height: 150px;
  width: 100%;
  margin-bottom: 20px;
  border-radius: 10px;
  position: relative;
  box-shadow: 7px 7px 0px rgba(0, 0, 0, 0.8);
  transition: 0.4s;
  border: 5px solid #fff;
}
@media screen and (max-width: 1400px) {
  .p-kv__btn-link {
    height: 110px;
    padding-left: 7px;
  }
}
@media screen and (max-width: 767px) {
  .p-kv__btn-link {
    height: 110px;
    border: 3px solid #fff;
    margin-bottom: 12px;
    box-shadow: 5px 5px 0px rgba(0, 0, 0, 0.8);
  }
}
.p-kv__btn-link:hover {
  transition: 0.4s;
  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.8);
  transform: translateY(1px);
  background: rgb(210, 254, 255);
}
.p-kv__btn-link::after {
  position: absolute;
  content: "\f138";
  font-family: "fontawesome";
  font-weight: 900;
  top: 50%;
  transform: translateY(-50%);
  font-size: 30px;
  color: #2e3192;
  right: 10px;
}
@media screen and (max-width: 1400px) {
  .p-kv__btn-link::after {
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  .p-kv__btn-link::after {
    right: 3%;
  }
}
@media screen and (max-width: 440px) {
  .p-kv__btn-link::after {
    font-size: 5vw;
  }
}
.p-kv__btn-link .icon {
  position: absolute;
  width: 111px;
  height: 111px;
  top: 50%;
  transform: translateY(-50%);
  left: -60px;
  color: yellow;
  font-weight: 900;
  font-size: 40px;
  display: grid;
  place-content: center;
  padding-bottom: 5px;
  z-index: 0;
}
@media screen and (max-width: 1280px) {
  .p-kv__btn-link .icon {
    font-size: 30px;
  }
}
@media screen and (max-width: 767px) {
  .p-kv__btn-link .icon {
    width: 84px;
    height: 84px;
    left: -40px;
    font-size: 30px;
    font-weight: 700;
  }
}
@media screen and (max-width: 440px) {
  .p-kv__btn-link .icon {
    width: 20vw;
    height: 20vw;
    left: -12vw;
    font-size: 7vw;
  }
}
.p-kv__btn-link .icon span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  white-space: nowrap;
  padding-bottom: 10px;
  text-shadow: 2px 2px 10px #D4145A, -2px 2px 10px #D4145A, 2px -2px 10px #D4145A, -2px -2px 10px #D4145A;
}
.p-kv__btn-txt {
  display: grid;
  place-content: center;
  place-items: center;
  text-align: center;
  height: 100%;
  font-size: 34px;
  line-height: 1.1;
  font-weight: 900;
}
.p-kv__btn-txt .yellow {
  color: yellow;
}
.p-kv__btn-txt .red {
  color: #e61d75;
}
@media screen and (max-width: 1400px) {
  .p-kv__btn-txt {
    font-size: 24px;
    padding-top: 7px;
  }
}
@media screen and (max-width: 440px) {
  .p-kv__btn-txt {
    font-size: 5.8vw;
  }
}
@media screen and (max-width: 440px) {
  .p-kv__btn-txt {
    line-height: 1.2;
    font-size: 6vw;
    padding-top: 5px;
  }
}
.p-kv__btn-txt .top {
  font-size: 0.7em;
  margin-bottom: 0.2em;
  color: #000;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-kv__btn-txt .top {
    font-size: 0.7em;
  }
}
.p-kv__btn-txt .middle {
  color: #e61d75;
  display: flex;
  align-items: center;
  flex-direction: column;
  line-height: 1.1;
  padding-bottom: 5px;
}
@media screen and (max-width: 767px) {
  .p-kv__btn-txt .middle {
    flex-direction: row;
  }
}
.p-kv__btn-txt .middle .blue {
  color: #2e3192;
  font-size: 0.9em;
}
.p-kv__telarea {
  height: 60px;
  width: 100%;
  background: linear-gradient(to right, transparent, #fff 20%, #fff 80%, transparent 100%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 1.1;
  padding: 5px 0 0 0;
}
@media screen and (max-width: 351px) {
  .p-kv__telarea {
    font-size: 14px;
  }
}
.p-kv__telarea img {
  object-fit: contain;
  width: auto;
  height: 70%;
  display: block;
}
.p-kv__telarea a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.p-kv__telarea .body {
  display: flex;
  align-items: center;
}
.p-kv__telarea .num {
  font-size: 24px;
  font-weight: 900;
  color: #005CC2;
}
@media screen and (max-width: 351px) {
  .p-kv__telarea .num {
    font-size: 20px;
  }
}

/* ===============================================
非認知スキル教育
=============================================== */
.p-skill {
  background: linear-gradient(180deg, #5044c7, #30227d);
  position: relative;
  padding: 60px 0 70px;
}
@media screen and (max-width: 767px) {
  .p-skill {
    padding: 30px 0 40px;
  }
}
.p-skill::after {
  position: absolute;
  content: "";
  background: url(../img/skill_bg.png) no-repeat center top/cover;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
}
.p-skill__top {
  position: relative;
  z-index: 10;
  font-size: 30px;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-skill__top {
    font-size: 5.5vw;
    line-height: 1.4;
  }
}
.p-skill__top .yellow {
  color: yellow;
  font-size: 38px;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .p-skill__top .yellow {
    font-size: 8vw;
    line-height: 1.1;
    display: block;
    margin: 10px 0;
  }
}
.p-skill__contents {
  position: relative;
  z-index: 10;
  background: #fff;
  border-radius: 20px;
  margin: 80px auto 0px;
  padding: 60px 0 40px;
  text-align: center;
  max-width: 980px;
}
@media screen and (max-width: 767px) {
  .p-skill__contents {
    margin: 60px auto 0px;
    max-width: 90%;
    border-radius: 10px;
    padding: 40px 5% 40px;
  }
}
.p-skill__title {
  background: #ffd22b;
  color: #0042ab;
  font-size: 28px;
  border-radius: 50px;
  height: 60px;
  display: grid;
  place-content: center;
  font-weight: 900;
  margin: 0 auto;
  max-width: 512px;
  width: 100%;
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-skill__title {
    font-size: 22px;
    height: 40px;
    width: 90%;
    top: -20px;
  }
}
@media screen and (max-width: 351px) {
  .p-skill__title {
    font-size: 5.5vw;
  }
}
.p-skill__txt {
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .p-skill__txt {
    font-size: 16px;
    text-align: left;
  }
}
.p-skill__pic {
  max-width: 620px;
  margin: 30px auto;
  background: #fffde0;
}
@media screen and (max-width: 767px) {
  .p-skill__pic {
    margin: 20px auto;
  }
}
.p-skill__last {
  color: #866699;
}
@media screen and (max-width: 767px) {
  .p-skill__last {
    font-size: 14px;
    text-align: left;
  }
}

/* ===============================================
冬期講習情報
=============================================== */
.p-winter {
  background: #D6EEFF;
  padding: 140px 0 60px;
}
@media screen and (max-width: 767px) {
  .p-winter {
    padding: 90px 0 60px;
  }
}
.p-winter__contents {
  background: #fff;
  position: relative;
  padding: 70px 0 60px;
  display: grid;
  place-content: center;
  place-items: center;
  grid-template-columns: 1fr;
  text-align: center;
  border: 5px solid #add7f5;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .p-winter__contents {
    padding: 40px 0 30px;
    border: 3px solid #add7f5;
  }
}
.p-winter__title {
  position: absolute;
  font-size: 130px;
  color: #C1272D;
  top: -110px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  letter-spacing: 10px;
  filter: drop-shadow(8px 8px 0px #fff);
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .p-winter__title {
    letter-spacing: 1px;
    font-size: 90px;
  }
}
@media screen and (max-width: 440px) {
  .p-winter__title {
    font-size: 18vw;
    top: -70px;
  }
}
.p-winter__grade {
  text-align: center;
  font-size: 44px;
}
@media screen and (max-width: 767px) {
  .p-winter__grade {
    font-size: 24px;
  }
}
.p-winter__grade .blue {
  color: #2E3192;
}
.p-winter__date-area {
  margin: 30px 0;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-winter__date-area {
    margin: 20px 0;
    line-height: 1.8;
  }
}
.p-winter__date-area .title {
  color: #fff;
  background: #2E3192;
  display: grid;
  place-content: center;
  font-size: 26px;
  border-radius: 50px;
  letter-spacing: 5px;
  padding: 0.2em 0;
  width: 80%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-winter__date-area .title {
    font-size: 18px;
    padding: 0 0;
  }
}
.p-winter__date-area .date {
  font-size: 70px;
  font-weight: 900;
  color: #C1272D;
  background: linear-gradient(transparent 0 60%, yellow 60% 90%, transparent 90% 100%);
  padding: 0 40px;
}
@media screen and (max-width: 767px) {
  .p-winter__date-area .date {
    font-size: 9vw;
    white-space: nowrap;
    padding: 0 10px;
  }
}
.p-winter__date-area .date .day {
  font-size: 0.6em;
}
.p-winter__caption-area {
  text-align: left;
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .p-winter__caption-area {
    font-size: 14px;
    width: 90%;
    text-indent: -1em;
    padding-left: 1em;
  }
}

/* ===============================================
冬期講習受講資格判定テスト
=============================================== */
.p-winter_test {
  background: #D3F0ED;
}
.p-winter_test__area {
  padding: 90px 0;
}
@media screen and (max-width: 767px) {
  .p-winter_test__area {
    padding: 90px 0 60px;
  }
}
.p-winter_test__contents {
  background: #fff;
  position: relative;
  padding: 60px 0 20px;
  display: grid;
  place-content: center;
  place-items: center center;
  border: 5px solid #a4d8cd;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .p-winter_test__contents {
    place-items: center center;
    grid-template-columns: 1fr;
    padding: 50px 0 20px;
    border: 3px solid #a4d8cd;
  }
}
.p-winter_test__contents .title {
  position: absolute;
  background: #C1272D;
  color: #fff;
  font-size: 40px;
  text-align: center;
  max-width: 80%;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  padding: 0 60px 5px;
  border-radius: 50px;
}
@media screen and (max-width: 767px) {
  .p-winter_test__contents .title {
    font-size: 24px;
    padding: 10px 0px;
    max-width: 300px;
    width: 100%;
    line-height: 1.2;
    top: -50px;
  }
}
.p-winter_test__date-area {
  display: flex;
  align-items: center;
  font-size: 40px;
  font-weight: 900;
  column-gap: 50px;
}
@media screen and (max-width: 767px) {
  .p-winter_test__date-area {
    flex-direction: column;
    font-size: 24px;
    column-gap: 0;
    row-gap: 35px;
    width: 85%;
  }
}
.p-winter_test__date-area .head {
  color: #fff;
  background: #2E9E7E;
  font-weight: 700;
  padding: 10px 20px 10px 40px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-winter_test__date-area .head {
    max-width: 200px;
    width: 100%;
    text-align: center;
    padding: 7px 0 0 0;
    height: 25px;
    z-index: 10;
    font-size: 20px;
  }
}
.p-winter_test__date-area .head::after {
  position: absolute;
  content: "";
  background: #2E9E7E;
  height: 100%;
  width: 25px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  top: 0;
  right: -24.5px;
}
@media screen and (max-width: 767px) {
  .p-winter_test__date-area .head::after {
    width: 100%;
    height: 30px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    top: auto;
    left: 50%;
    transform: translateX(-50%);
    bottom: -29.5px;
    z-index: -1;
  }
}
.p-winter_test__date-area .body {
  line-height: 1.4;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-winter_test__date-area .body {
    font-size: 30px;
  }
}
@media screen and (max-width: 440px) {
  .p-winter_test__date-area .body {
    font-size: 6.6vw;
  }
}
.p-winter_test__date-area .body span.inner {
  background: linear-gradient(transparent 0 60%, yellow 60% 90%, transparent 90% 100%);
  padding: 0 0.2em;
}
.p-winter_test__date-area .body .sat {
  color: #0042AB;
  font-size: 0.7em;
}
.p-winter_test__date-area .body .sun {
  color: #C1272D;
  font-size: 0.7em;
}
.p-winter_test__grade {
  font-size: 33px;
  margin-top: 7px;
  border-top: #2E9E7E 4px solid;
  border-bottom: #2E9E7E 4px solid;
  padding: 0 40px;
  margin: 20px 0;
}
@media screen and (max-width: 767px) {
  .p-winter_test__grade {
    font-size: 18px;
    border-top: #2E9E7E 2px solid;
    border-bottom: #2E9E7E 2px solid;
  }
}
.p-winter_test__important {
  color: #C1272D;
  font-size: 32px;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .p-winter_test__important {
    font-size: 6vw;
    text-align: center;
    line-height: 1.2;
  }
}
.p-winter_test__caption {
  margin: 20px 0;
}
@media screen and (max-width: 767px) {
  .p-winter_test__caption {
    width: 90%;
  }
}
.p-winter_test__caption p {
  text-indent: -1em;
  padding-left: 1em;
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .p-winter_test__caption p {
    font-size: 14px;
    font-weight: 600;
  }
}

/* ===============================================
250531/250601--学力診断オープンテスト
=============================================== */
.p-opt_2505 {
  background: #FFD436;
  padding: 100px 0 60px;
  text-align: center;
}
.p-opt_2505__content {
  background: #FDFFD6;
  position: relative;
  padding: 120px 0 40px;
}
@media screen and (max-width: 767px) {
  .p-opt_2505__content {
    padding: 60px 0 40px;
  }
}
.p-opt_2505__title {
  background: #2E3192;
  color: #fff;
  font-size: 38px;
  width: 100%;
  max-width: 760px;
  height: 130px;
  display: grid;
  place-content: center;
  border-radius: 20px;
  line-height: 1.1;
  position: absolute;
  top: -43px;
  left: 50%;
  transform: translateX(-50%);
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .p-opt_2505__title {
    font-size: 22px;
    height: 80px;
    max-width: 350px;
    width: 90%;
    border-radius: 10px;
    line-height: 1.2;
  }
}
@media screen and (max-width: 351px) {
  .p-opt_2505__title {
    font-size: 20px;
  }
}
.p-opt_2505__title span.yellow {
  color: yellow;
}
.p-opt_2505__title span.special {
  font-size: 1.4em;
}
.p-opt_2505__date {
  max-width: 630px;
  border-top: 6px solid #FFD436;
  border-bottom: 6px solid #FFD436;
  margin: 0 auto;
  font-size: 36px;
  font-weight: 900;
  color: #EA5532;
}
@media screen and (max-width: 767px) {
  .p-opt_2505__date {
    max-width: 95%;
    font-size: 24px;
    padding: 10px 0 5px;
    border-top: 4px solid #FFD443;
    border-bottom: 4px solid #FFD436;
  }
}
@media screen and (max-width: 351px) {
  .p-opt_2505__date {
    font-size: 22px;
  }
}
.p-opt_2505__date .txt {
  color: #000;
  font-size: 0.8em;
}
.p-opt_2505__date .sat {
  color: #1f66cf;
}
.p-opt_2505__date .sun {
  color: #B5252A;
}
.p-opt_2505__list {
  max-width: 350px;
  margin: 20px auto 0;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-opt_2505__list {
    max-width: 300px;
  }
}
.p-opt_2505__list dl {
  display: flex;
  font-size: 20px;
  margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
  .p-opt_2505__list dl {
    font-size: 18px;
  }
}
.p-opt_2505__list dt {
  width: 130px;
  color: #2E3192;
}
@media screen and (max-width: 767px) {
  .p-opt_2505__list dt {
    width: 100px;
  }
}
.p-opt_2505__list dd {
  line-height: 1.4;
}
.p-opt_2505__captionarea {
  margin: 20px auto 0;
}
@media screen and (max-width: 767px) {
  .p-opt_2505__captionarea {
    max-width: 300px;
    margin: 20px auto 0;
  }
}
.p-opt_2505__caption {
  display: inline-block;
  font-size: 16px;
  text-align: left;
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
  .p-opt_2505__caption {
    font-size: 12px;
    display: block;
  }
}
.p-opt_2505__setumeikai {
  background: #EA5532;
  color: #fff;
  display: inline-block;
  font-size: 30px;
  padding: 5px 40px;
  margin: 20px 0 10px;
}
@media screen and (max-width: 767px) {
  .p-opt_2505__setumeikai {
    font-size: 24px;
  }
}
.p-opt_2505__setumeikai span {
  color: yellow;
}
.p-opt_2505__form {
  margin: 40px auto 0;
  background: #fff;
  padding: 40px 0;
}
@media screen and (max-width: 767px) {
  .p-opt_2505__form {
    margin: 40px auto 0;
    padding: 30px 0;
  }
}
.p-opt_2505__form .wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 750px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-opt_2505__form .wrapper {
    flex-direction: column;
    row-gap: 30px;
    max-width: 100%;
  }
}
.p-opt_2505__form--contact {
  border-radius: 20px;
  margin: 0px auto 0;
  background-clip: padding-box;
  background: #fff;
}
.p-opt_2505__form--contact .wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 900px !important;
}
@media screen and (max-width: 767px) {
  .p-opt_2505__form--contact .wrapper {
    flex-direction: column;
    row-gap: 30px;
    max-width: 100%;
  }
}
.p-opt_2505__btnarea--large {
  width: 500px;
}
@media screen and (max-width: 767px) {
  .p-opt_2505__btnarea--large {
    width: 90%;
  }
}

/* ===============================================
資料請求はこちら
=============================================== */
.p-seikyu {
  writing-mode: vertical-rl;
  width: 67px;
  height: 310px;
  right: 0;
  position: fixed;
  bottom: 200px;
  font-weight: 700;
  font-size: 24px;
  letter-spacing: 1.2px;
  z-index: 100;
  transition: 0.5s;
  filter: drop-shadow(3px 3px 6px rgba(0, 0, 0, 0.4));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-seikyu {
    display: none;
  }
}
.p-seikyu__link {
  background-color: #edf28a;
  color: #072968;
  width: 100%;
  height: 100%;
  display: block;
  line-height: 67px;
  border-radius: 20px 0 0 20px;
}
.p-seikyu__link:hover {
  opacity: 1;
  background-color: #a1e9c1;
  color: #000000;
}
.p-seikyu i {
  margin-bottom: 5px;
  font-size: 36px;
}

.is-hidden {
  visibility: hidden;
  opacity: 0;
}

/* ===============================================
学力診断オープンテスト
=============================================== */
.p-opt {
  width: 100%;
  background: #d3f0ed;
  position: relative;
  z-index: 0;
}
.p-opt__area {
  padding: 70px 0 80px;
}
@media screen and (max-width: 767px) {
  .p-opt__area {
    padding: 50px 0 60px;
  }
}
.p-opt__list {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-opt__list {
    flex-direction: column;
  }
}
.p-opt__item {
  width: calc(33% - 12px);
  background: #fff;
  box-shadow: 4px 4px 8px rgba(10, 12, 160, 0.1);
  color: #072968;
}
@media screen and (max-width: 767px) {
  .p-opt__item {
    width: 100%;
    margin-bottom: 30px;
  }
}
.p-opt__item .head {
  background: #113961;
  text-align: center;
  line-height: 1.4;
  height: 100px;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0 7px;
}
.p-opt__item .head span {
  color: yellow;
  display: inline;
}
@media screen and (max-width: 767px) {
  .p-opt__item .head {
    height: 100%;
    padding: 16px 0;
  }
}
.p-opt__item .body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px;
  height: 350px;
}
@media screen and (max-width: 767px) {
  .p-opt__item .body {
    height: 100%;
    padding: 30px;
  }
}
.p-opt__item .txt span {
  color: #f15a24;
}
@media screen and (max-width: 767px) {
  .p-opt__item .txt {
    line-height: 1.6;
    letter-spacing: 0px;
  }
}
.p-opt__sublist {
  width: 100%;
}
.p-opt__subitem {
  margin-bottom: 30px;
  text-indent: -1em;
  padding-left: 1em;
  line-height: 1.5;
  position: relative;
  z-index: 50;
}
.p-opt__subitem::after {
  position: absolute;
  content: "";
  background: url(../img/opt_check.png) no-repeat center center/cover;
  color: #DAE3F3;
  z-index: -1;
  width: 57px;
  height: 50px;
}
.p-opt__subitem span {
  color: #f15a24;
}
.p-opt__head {
  font-size: 34px;
  text-align: center;
  margin-bottom: 60px;
  color: #113961;
}
@media screen and (max-width: 767px) {
  .p-opt__head {
    font-size: 22px;
    margin-bottom: 40px;
  }
}
.p-opt__head span {
  font-size: 1.2em;
  font-weight: 900;
  background: linear-gradient(transparent 50%, yellow 50%);
}
@media screen and (max-width: 767px) {
  .p-opt__head span {
    font-size: 1.1em;
  }
}

/* ===============================================
次年度生(プール生)登録
=============================================== */
.p-pool {
  background: #fffce3;
}
.p-pool__area {
  padding: 40px 0 80px;
}
@media screen and (max-width: 767px) {
  .p-pool__area {
    padding: 40px 0 60px;
  }
}
.p-pool__top {
  width: 90%;
  border-radius: 10px;
  color: #072968;
  padding: 20px;
  font-size: 24px;
  text-align: center;
  font-feature-settings: "palt";
  font-weight: 700;
  margin: 0px auto 40px;
}
@media screen and (max-width: 767px) {
  .p-pool__top {
    font-size: 16px;
    width: 100%;
    max-width: 440px;
    padding: 0px 10px;
    margin: 0 auto 30px auto;
  }
}
.p-pool__top span {
  color: #B5252A;
  font-size: 28px;
}
@media screen and (max-width: 767px) {
  .p-pool__top span {
    font-size: 16px;
  }
}
.p-pool__item {
  background: #fff;
  border: 3px solid #B5252A;
  border-radius: 10px;
  position: relative;
  height: 200px;
  margin-bottom: 40px;
  font-size: 22px;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-pool__item {
    max-width: 550px;
    font-size: 16px;
    height: auto;
    margin: 0 auto;
    margin-bottom: 30px;
    line-height: 1.5;
  }
}
.p-pool__item:last-child {
  margin-bottom: 0;
}
.p-pool__item .num {
  width: 120px;
  height: auto;
  position: absolute;
  left: 20px;
  top: -20px;
}
@media screen and (max-width: 767px) {
  .p-pool__item .num {
    width: 70px;
    left: 10px;
    top: -10px;
  }
}
.p-pool__item .wrapper {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 0 20px 0 160px;
}
@media screen and (max-width: 767px) {
  .p-pool__item .wrapper {
    padding: 10px 20px;
  }
}
.p-pool__item .title {
  font-size: 30px;
  color: #072968;
  font-weight: 700;
  line-height: 1.3;
  margin: 10px 0;
}
@media screen and (max-width: 767px) {
  .p-pool__item .title {
    font-size: 18px;
    padding-left: 70px;
    line-height: 1.5;
  }
}
.p-pool__item .title span {
  color: #d54e21;
}
@media screen and (max-width: 767px) {
  .p-pool__item p {
    margin: 10px 0;
  }
}

/* ===============================================
10月新入塾生 入塾金無料キャンペーン
=============================================== */
.p-oct_cmp {
  background: #ffd436;
  padding: 60px 0;
  position: relative;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-oct_cmp {
    padding: 40px 0 30px;
  }
}
.p-oct_cmp::after {
  content: "";
  position: absolute;
  width: 185px;
  height: 70px;
  background: #ffd436;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  bottom: -60px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-oct_cmp::after {
    width: 120px;
    height: 34px;
    bottom: -20px;
  }
}
.p-oct_cmp__container {
  max-width: 900px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-oct_cmp__container {
    width: 90%;
  }
}
.p-oct_cmp__contents {
  background: #fff;
  padding: 0px;
  width: 100%;
}
.p-oct_cmp__top {
  display: flex;
  align-items: center;
  width: 800px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-oct_cmp__top {
    width: 370px;
    padding: 10px;
    justify-content: space-between;
  }
}
.p-oct_cmp__circle {
  background: #2e3192;
  width: 245px;
  height: 245px;
  border-radius: 50%;
  display: grid;
  place-content: center;
  text-align: center;
  color: #fff;
  font-size: 51px;
  line-height: 1.1;
  padding-top: 16px;
  margin-left: 24px;
}
@media screen and (max-width: 767px) {
  .p-oct_cmp__circle {
    width: 110px;
    height: 110px;
    font-size: 20px;
    padding-top: 10px;
    margin-left: 16px;
  }
}
@media screen and (max-width: 440px) {
  .p-oct_cmp__circle {
    margin-left: 0px;
  }
}
.p-oct_cmp__circle .yellow {
  color: yellow;
}
.p-oct_cmp__circle .num {
  font-family: "Outfit", sans-serif;
  font-size: 86px;
  line-height: 0;
}
@media screen and (max-width: 767px) {
  .p-oct_cmp__circle .num {
    font-size: 40px;
  }
}
.p-oct_cmp__free {
  display: flex;
  align-items: center;
  font-weight: 900;
  width: calc(100% - 245px);
}
@media screen and (max-width: 767px) {
  .p-oct_cmp__free {
    width: calc(100% - 110px);
  }
}
.p-oct_cmp__free .money {
  writing-mode: vertical-rl;
  font-size: 70px;
  color: #1b1464;
}
@media screen and (max-width: 767px) {
  .p-oct_cmp__free .money {
    font-size: 30px;
  }
}
@media screen and (max-width: 440px) {
  .p-oct_cmp__free .money {
    font-size: 8vw;
  }
}
.p-oct_cmp__free .free {
  color: #c1272d;
  font-size: 200px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-oct_cmp__free .free {
    font-size: 80px;
    line-height: 1;
  }
}
@media screen and (max-width: 440px) {
  .p-oct_cmp__free .free {
    font-size: 19vw;
  }
}
.p-oct_cmp__btm {
  background: #cfeeff;
  display: grid;
  place-content: center;
  font-size: 30px;
  color: #1b1464;
  width: 100%;
  padding: 10px 0;
}
@media screen and (max-width: 767px) {
  .p-oct_cmp__btm {
    font-size: 16px;
  }
}
@media screen and (max-width: 440px) {
  .p-oct_cmp__btm {
    font-size: 4vw;
  }
}
.p-oct_cmp__btm dl {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-oct_cmp__btm dl {
    align-items: flex-start;
  }
}
.p-oct_cmp__btm .red {
  color: #c1272d;
  font-weight: 900;
  font-size: 1.2em;
}
.p-oct_cmp__caption {
  text-align: center;
  margin-top: 10px;
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .p-oct_cmp__caption {
    font-size: 14px;
  }
}

/* ===============================================
入塾テスト 随時受付中
=============================================== */
.p-nyujuku_test {
  background: #E4FFC9;
}
.p-nyujuku_test__area {
  background: repeating-linear-gradient(#c6ee92, #c6ee92, 1px, transparent 1px, transparent 6px);
  padding: 60px 0;
}
@media screen and (max-width: 767px) {
  .p-nyujuku_test__area {
    padding: 40px 0 90px;
  }
}
.p-nyujuku_test__first {
  color: #072968;
  text-align: center;
  font-size: 38px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-nyujuku_test__first {
    font-size: 24px;
  }
}
.p-nyujuku_test__first span {
  background-color: yellow;
  display: inline-block;
  line-height: 1;
}
.p-nyujuku_test__test {
  font-size: 48px;
  font-weight: 700;
  background: #fff;
  text-align: center;
  margin: 30px auto 0;
  max-width: 780px;
  padding: 0 0 16px 0;
}
@media screen and (max-width: 767px) {
  .p-nyujuku_test__test {
    font-size: 30px;
    padding: 10px 0 0px 0;
    line-height: 1.4;
  }
}
.p-nyujuku_test__test span.pink {
  background: #f5537c;
  color: #fff;
  padding: 0 30px 5px;
  margin-right: 16px;
  font-size: 0.8em;
}
@media screen and (max-width: 767px) {
  .p-nyujuku_test__test span.pink {
    padding: 0 10px;
    margin-right: 5px;
    font-size: 24px;
  }
}
.p-nyujuku_test__test span.blue {
  background: #005CC2;
  color: yellow;
  padding: 0 30px 5px;
  margin-right: 10px;
  font-size: 0.8em;
}
@media screen and (max-width: 767px) {
  .p-nyujuku_test__test span.blue {
    padding: 0 10px;
  }
}
.p-nyujuku_test__test span.small {
  font-size: 0.7em;
  padding-left: 0.1em;
}
.p-nyujuku_test__test span.red {
  color: red;
  font-size: 1.5em;
}
.p-nyujuku_test__test span.line {
  position: relative;
}
.p-nyujuku_test__test span.line::after {
  content: "";
  transform: rotate(7deg);
  width: 100%;
  border-top: 5px solid #000;
  position: absolute;
  top: 50%;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-nyujuku_test__test span.line::after {
    border-top: 3px solid #000;
  }
}
.p-nyujuku_test__test--02 {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-nyujuku_test__test--02 {
    text-align: left;
    padding: 10px 10px;
    max-width: 330px;
  }
}
.p-nyujuku_test__bottom {
  background: #ffe8ef;
  margin: 0 auto;
  padding: 20px;
  max-width: 780px;
}
.p-nyujuku_test__bottom .title {
  background: #000000;
  color: #fff;
  padding: 0 20px;
  font-size: 1.2em;
  display: inline-block;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .p-nyujuku_test__bottom .title {
    font-size: 1em;
  }
}
.p-nyujuku_test__bottom li {
  text-indent: -1em;
  padding-left: 1em;
}
.p-nyujuku_test__bottom li.small {
  font-size: 0.8em;
  margin-top: 10px;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-nyujuku_test__bottom li.small {
    text-align: left;
  }
}
.p-nyujuku_test__arrow {
  font-size: 80px;
  text-align: center;
  width: 100%;
  color: #008059;
}
.p-nyujuku_test__circle {
  position: absolute;
  width: 160px;
  height: 160px;
  background: yellow;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 1.1;
  font-size: 38px;
  color: red;
  font-weight: 900;
  text-align: center;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-nyujuku_test__circle {
    width: 80px;
    height: 80px;
    font-size: 18px;
    right: 0px;
  }
}
@media screen and (max-width: 351px) {
  .p-nyujuku_test__circle {
    width: 60px;
    height: 60px;
    font-size: 18px;
    right: 0px;
    top: -5px;
  }
}
.p-nyujuku_test__contact {
  text-align: left;
  font-size: 30px;
  margin: 60px auto 30px;
  font-weight: 700;
  line-height: 2.8;
  max-width: 650px;
  border-top: dashed #008059 3px;
  padding: 30px 0 0 0;
}
@media screen and (max-width: 767px) {
  .p-nyujuku_test__contact {
    font-size: 20px;
    margin: 40px 0 0;
    line-height: 2.3;
    font-size: 20px;
  }
}
.p-nyujuku_test__contact a {
  background: #FF2E63;
  color: #fff;
  padding: 10px 20px;
  margin-left: 10px;
  font-size: 0.8em;
  border-radius: 10px;
  transition: 0.3s;
  border: 4px solid #fff;
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.2);
}
.p-nyujuku_test__contact a:hover {
  opacity: 0.8;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-nyujuku_test__contact a {
    display: inline-block;
    margin-bottom: 20px;
    width: 100%;
    text-align: center;
    line-height: 1.6;
    height: 65px;
    max-width: 90%;
    font-size: 24px;
  }
}
.p-nyujuku_test__contact span {
  color: #B5252A;
}
.p-nyujuku_test__contact span.tel {
  color: #072968;
  padding: 0 5px 0 80px;
  border-radius: 10px;
  margin: 0 5px;
  font-weight: 900;
  font-size: 36px;
  position: relative;
  font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .p-nyujuku_test__contact span.tel {
    display: inline-block;
    text-align: center;
    line-height: 60px;
    height: 60px;
    font-size: 8vw;
    padding: 0 0 0 75px;
  }
}
.p-nyujuku_test__contact span.tel::before {
  position: absolute;
  content: "";
  width: 70px;
  height: 60px;
  background: url(../img/icon_free.png) no-repeat center center/contain;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
}
.p-nyujuku_test__contact span.small {
  color: #000;
}
@media screen and (max-width: 767px) {
  .p-nyujuku_test__contact span.small {
    font-size: 5vw;
  }
}

/* ===============================================
入塾金無料キャンペーン
=============================================== */
.p-free_cmp {
  background: #ffd436;
  text-align: center;
  position: relative;
  padding: 0px 0 30px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-free_cmp {
    padding: 20px 0 30px;
  }
}
.p-free_cmp::after {
  position: absolute;
  content: "";
  width: 20%;
  height: 60px;
  background: #ffd436;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  bottom: -60px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-free_cmp::after {
    width: 40%;
    height: 26px;
    bottom: -26px;
  }
}
.p-free_cmp__first {
  font-size: 27px;
  font-weight: 700;
  letter-spacing: 1.5px;
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .p-free_cmp__first {
    font-size: 18px;
    line-height: 1.2;
  }
}
.p-free_cmp__first::before {
  position: absolute;
  display: inline-block;
  content: "";
  background: #fff;
  width: 5px;
  height: 2.5em;
  transform: rotate(-35deg);
  left: -40px;
  top: 30%;
}
.p-free_cmp__first::after {
  position: absolute;
  display: inline-block;
  content: "";
  background: #fff;
  width: 5px;
  height: 2.5em;
  transform: rotate(35deg);
  right: -40px;
  top: 30%;
}
.p-free_cmp__first .blue {
  color: #0042ab;
}
.p-free_cmp__first .big {
  font-size: 80px;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .p-free_cmp__first .big {
    font-size: 44px;
  }
}
.p-free_cmp__contents {
  background: #fff;
  max-width: 900px;
  margin: 0 auto;
  box-shadow: 4px 4px 16px rgba(196, 117, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0px 0 20px;
  column-gap: 120px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-free_cmp__contents {
    width: 90%;
    padding: 20px 0 30px;
    column-gap: 40px;
    position: relative;
  }
}
.p-free_cmp__contents::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%);
  content: "";
  background: #ff931e;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  height: 50%;
  width: 25px;
}
@media screen and (max-width: 767px) {
  .p-free_cmp__contents::before {
    width: 12px;
    height: 40%;
  }
}
.p-free_cmp__contents::after {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: 35px;
  transform: translateY(-50%);
  content: "";
  background: #ff931e;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  height: 50%;
  width: 25px;
}
@media screen and (max-width: 767px) {
  .p-free_cmp__contents::after {
    width: 12px;
    height: 40%;
    margin-left: 16px;
  }
}
.p-free_cmp__before {
  line-height: 1;
  font-size: 42px;
}
@media screen and (max-width: 767px) {
  .p-free_cmp__before {
    font-size: 18px;
  }
}
.p-free_cmp__before .big {
  font-size: 70px;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .p-free_cmp__before .big {
    font-size: 30px;
  }
}
.p-free_cmp__before .body {
  position: relative;
  padding: 0 10px;
}
.p-free_cmp__before .body::before {
  position: absolute;
  content: "";
  background: #d4145a;
  height: 4px;
  width: 100%;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-free_cmp__before .body::before {
    height: 3px;
  }
}
.p-free_cmp__before .body::after {
  position: absolute;
  content: "";
  background: #d4145a;
  height: 4px;
  width: 100%;
  top: 68%;
  left: 0%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-free_cmp__before .body::after {
    height: 3px;
  }
}
.p-free_cmp__after {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  line-height: 1.2;
}
.p-free_cmp__after .free {
  font-size: 108px;
  color: #d4145a;
  font-weight: 900;
  letter-spacing: 10px;
}
@media screen and (max-width: 767px) {
  .p-free_cmp__after .free {
    font-size: 56px;
    letter-spacing: 1px;
  }
}
@media screen and (max-width: 767px) {
  .p-free_cmp__after .small {
    position: absolute;
    bottom: 7px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    font-size: 14px;
  }
}
.p-free_cmp .caption {
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .p-free_cmp .caption {
    font-size: 14px;
  }
}

/* ===============================================
夏期講習キャンペーンポップアップ
=============================================== */
.p-popup_summer_cmp {
  position: fixed;
  bottom: 13vw;
  right: 3%;
  width: 290px;
  height: auto;
  z-index: 999;
  filter: drop-shadow(4px 4px 6px rgba(0, 0, 0, 0.4));
}
@media screen and (max-width: 767px) {
  .p-popup_summer_cmp {
    width: 220px;
  }
}
.p-popup_summer_cmp__close {
  position: absolute;
  height: 35px;
  width: 35px;
  background: #fff;
  color: #2e3192;
  font-size: 22px;
  font-weight: 900;
  top: -20px;
  right: -10px;
  display: grid;
  place-content: center;
  border-radius: 50px;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-popup_summer_cmp__close {
    top: -30px;
    right: 0px;
  }
}
.p-popup_summer_cmp__head {
  background: #3fa9f5;
  color: #fff;
  font-size: 20px;
  text-align: center;
  border-radius: 10px 10px 0 0;
  line-height: 1.2;
  padding: 5px 0 10px;
}
@media screen and (max-width: 767px) {
  .p-popup_summer_cmp__head {
    font-size: 18px;
  }
}
.p-popup_summer_cmp__head .num {
  font-size: 32px;
  padding: 0 3px;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .p-popup_summer_cmp__head .num {
    font-size: 24px;
  }
}
.p-popup_summer_cmp__contents {
  background: #fff;
  border-radius: 0 0 10px 10px;
  height: 100%;
  padding: 0 5% 20px;
}
@media screen and (max-width: 767px) {
  .p-popup_summer_cmp__contents {
    padding: 0 5% 10px;
  }
}
.p-popup_summer_cmp__title {
  text-align: center;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  padding: 10px 0 5px;
  font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .p-popup_summer_cmp__title {
    font-size: 24px;
  }
}
.p-popup_summer_cmp__title .blue {
  color: #2e3192;
}
.p-popup_summer_cmp__title .yellow {
  background: linear-gradient(transparent 70%, yellow 30%);
}
.p-popup_summer_cmp__caption {
  font-size: 14px;
  text-align: right;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-popup_summer_cmp__caption {
    font-size: 12px;
  }
}
.p-popup_summer_cmp__btn {
  height: 50px;
  width: 95%;
  margin: 10px auto 0;
}
@media screen and (max-width: 767px) {
  .p-popup_summer_cmp__btn {
    margin: 8px auto 0;
    width: 95%;
  }
}
.p-popup_summer_cmp__link {
  background: yellow;
  display: block;
  display: grid;
  place-content: center;
  font-size: 26px;
  font-weight: 900;
  color: #ed1e79;
  border-radius: 50px;
  border: 2px solid #2e3192;
  filter: drop-shadow(4px 4px 0px #2e3192);
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-popup_summer_cmp__link {
    font-size: 20px;
    height: 40px;
  }
}
.p-popup_summer_cmp__link:hover {
  background: #ed1e79;
  color: #fff;
  filter: drop-shadow(0px 0px 0px #2e3192);
  transition: 0.3s;
  transform: translateY(1px);
}

/* ===============================================
入塾テスト随時受付中
=============================================== */
.p-join {
  position: relative;
  overflow: hidden;
}
.p-join__bg {
  position: absolute;
  width: 55%;
  height: 100%;
  background: url(../img/join_bg.jpg) no-repeat left 100px/cover;
  z-index: 10;
  top: 50%;
  transform: translateY(-50%);
  right: -60px;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-join__bg {
    width: 100%;
    background: url(../img/join_bg.jpg) no-repeat -60px 120px/cover;
    transform: none;
    top: 30px;
    right: -20px;
  }
}
.p-join__area {
  padding: 90px 0 0;
}
@media screen and (max-width: 767px) {
  .p-join__area {
    padding: 40px 0 0;
  }
}
.p-join__contents {
  position: relative;
  width: 80%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-join__contents {
    width: 90%;
  }
}
.p-join__yellow {
  background: #f6fa70;
  mix-blend-mode: multiply;
  position: absolute;
  width: 100%;
  height: 100%;
  content: "";
  z-index: 20;
}
.p-join__wrapper {
  padding: 40px 80px;
  display: grid;
  place-content: center;
  place-items: center;
}
@media screen and (max-width: 767px) {
  .p-join__wrapper {
    padding: 20px 0px 20px;
  }
}
.p-join__subtitle {
  display: inline-block;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  font-size: 38px;
  padding: 0em 0.3em;
  margin-left: 0;
  line-height: 1.6;
  background: #fff;
  font-feature-settings: "palt";
  position: relative;
  z-index: 50;
  font-weight: 700;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-join__subtitle {
    font-size: 23px;
  }
}
.p-join__subtitle .red {
  color: #d4145a;
}
.p-join__subtitle .blue {
  color: #2e3192;
}
.p-join__title {
  display: flex;
  width: 100%;
  position: relative;
  margin: 20px 0;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-join__title {
    margin: 10px 0;
  }
}
.p-join__title .free {
  font-size: 80px;
  line-height: 1.2;
  background: #d4145a;
  color: #fff;
  writing-mode: vertical-rl;
  position: relative;
  z-index: 999;
  padding: 20px 0;
}
@media screen and (max-width: 767px) {
  .p-join__title .free {
    font-size: 36px;
  }
}
.p-join__title .red {
  font-size: 95px;
  color: #d4145a;
  font-weight: 900;
  padding-left: 10px;
  line-height: 1.1;
  position: relative;
  z-index: 999;
}
@media screen and (max-width: 767px) {
  .p-join__title .red {
    font-size: 44px;
  }
}
.p-join__bottom {
  color: #2e3192;
  font-size: 70px;
  position: relative;
  z-index: 999;
  font-weight: 900;
  line-height: 0.8;
}
@media screen and (max-width: 767px) {
  .p-join__bottom {
    font-size: 30px;
  }
}
.p-join__contact {
  position: relative;
  z-index: 50;
  text-align: center;
  font-size: 30px;
  line-height: 1.2;
  z-index: 99;
  height: 60px;
}
@media screen and (max-width: 767px) {
  .p-join__contact {
    height: 50px;
  }
}
.p-join__contact .bg {
  background: #fa6400;
  mix-blend-mode: multiply;
  height: 100%;
  position: absolute;
  width: 100%;
  opacity: 0.6;
  top: 0;
  left: 0;
}
.p-join__contact p {
  color: #fff;
  position: relative;
  z-index: 99;
  height: 60px;
  line-height: 60px;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-join__contact p {
    height: 50px;
    line-height: 50px;
    font-size: 16px;
  }
}
.p-join__btnarea {
  margin: 40px 0 80px;
}
@media screen and (max-width: 767px) {
  .p-join__btnarea {
    margin: 30px 0 60px;
  }
}

/* ===============================================
塾名称変更のお知らせ
=============================================== */
.p-change {
  background: url(../img/change_bg.jpg) no-repeat center center/cover;
  padding: 70px 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-change {
    padding: 70px 30px;
    background: url(../img/change_bg_sp.jpg) no-repeat center center/cover;
  }
}
.p-change__box {
  background: #fff;
  max-width: 650px;
  height: 400px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  color: #072968;
}
@media screen and (max-width: 767px) {
  .p-change__box {
    height: 100%;
    padding: 20px 0;
    max-width: 490px;
  }
}
.p-change__box .top {
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .p-change__box .top {
    font-size: 16px;
  }
}
.p-change__box .top span.middle {
  font-size: 32px;
}
@media screen and (max-width: 767px) {
  .p-change__box .top span.middle {
    font-size: 20px;
    font-feature-settings: "palt";
  }
}
.p-change__box .top span.big {
  font-size: 50px;
  background: linear-gradient(to bottom, transparent 0%, transparent 80%, yellow 80%, yellow 95%, transparent 95%, transparent 100%);
}
@media screen and (max-width: 767px) {
  .p-change__box .top span.big {
    font-size: 32px;
  }
}
.p-change__box .pic {
  width: 300px;
  margin: 26px 0;
  padding-right: 10px;
}
@media screen and (max-width: 767px) {
  .p-change__box .pic {
    width: 265px;
  }
}
.p-change__box p.small {
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .p-change__box p.small {
    font-size: 16px;
  }
}

/* ===============================================
合格実績
=============================================== */
.p-goukaku {
  background: url(../img/goukaku_bg.jpg) no-repeat center center/cover;
  padding: 60px 0 40px;
}
@media screen and (max-width: 767px) {
  .p-goukaku {
    padding: 40px 0 60px;
  }
}
@media screen and (max-width: 767px) {
  .p-goukaku {
    background: url(../img/goukaku_bg_sp.jpg) no-repeat center center/cover;
  }
}
.p-goukaku__content {
  position: relative;
  z-index: 80;
}
.p-goukaku__content img {
  position: relative;
}
.p-goukaku__content::before {
  position: absolute;
  content: "";
  background: url(../img/goukaku_icon.png) no-repeat center center/contain;
  width: 200px;
  height: 190px;
  top: 30px;
  right: -30px;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .p-goukaku__content::before {
    display: none;
  }
}

/* ===============================================
こんなお悩みありませんか？
=============================================== */
.p-onayami {
  padding: 70px 0 120px;
  position: relative;
  background: #f0f0f0;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-onayami {
    padding: 70px 0px 90px;
  }
}
.p-onayami::before {
  content: "";
  width: 100%;
  height: 680px;
  position: absolute;
  background: linear-gradient(to bottom, #e4e6ec 10%, #f0f0f0 100%);
  top: 0;
  left: 0;
  z-index: -5;
}
@media screen and (max-width: 767px) {
  .p-onayami::before {
    height: 50%;
  }
}
.p-onayami::after {
  content: "";
  width: 100%;
  height: 680px;
  position: absolute;
  background: linear-gradient(to top, #ffecec 10%, #f0f0f0 100%);
  bottom: 0;
  left: 0;
  z-index: -10;
}
@media screen and (max-width: 767px) {
  .p-onayami::after {
    height: 50%;
  }
}
.p-onayami__titlearea {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-onayami__titlearea {
    padding-bottom: 100px;
  }
}
.p-onayami__subtitle {
  color: #072968;
  font-size: 24px;
  text-align: center;
  letter-spacing: 2px;
}
@media screen and (max-width: 767px) {
  .p-onayami__subtitle {
    font-size: 18px;
  }
}
.p-onayami__subtitle span {
  font-size: 36px;
  padding: 0 5px;
}
@media screen and (max-width: 767px) {
  .p-onayami__subtitle span {
    font-size: 24px;
    padding: 0 0px;
  }
}
.p-onayami__title {
  font-size: 36px;
  text-align: center;
  letter-spacing: 2px;
  margin-top: 20px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-onayami__title {
    font-size: 24px;
    letter-spacing: 0px;
    margin-top: 5px;
  }
}
.p-onayami__title::before {
  position: absolute;
  content: "";
  background: url(../img/onayami_pic01.png) no-repeat center center/contain;
  width: 130px;
  height: 130px;
  bottom: 0;
  left: -180px;
}
@media screen and (max-width: 767px) {
  .p-onayami__title::before {
    width: 100px;
    height: 100px;
    bottom: -110px;
    left: auto;
    right: calc(50% + 5px);
  }
}
.p-onayami__title::after {
  position: absolute;
  content: "";
  background: url(../img/onayami_pic02.png) no-repeat center center/contain;
  width: 130px;
  height: 130px;
  bottom: 0;
  right: -180px;
}
@media screen and (max-width: 767px) {
  .p-onayami__title::after {
    width: 100px;
    height: 100px;
    left: calc(50% + 5px);
    bottom: -110px;
  }
}
.p-onayami__title span {
  font-weight: 900;
  padding: 0 5px;
  background-image: radial-gradient(circle at center, #FF2E63 20%, transparent 20%);
  /* 点の色とサイズ調整 */
  background-position: top center;
  /* 点の位置 */
  background-repeat: repeat-x;
  /* 横方向に繰り返し */
  background-size: 1em 1em;
  /* 点の間隔とサイズ調整 */
  padding-top: 0.5em;
  /* 縦方向の位置調整 */
}
.p-onayami__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  column-gap: 14px;
  row-gap: 70px;
  width: 100%;
  margin: 90px 0;
}
@media screen and (max-width: 767px) {
  .p-onayami__list {
    row-gap: 60px;
    margin: 90px 0 40px 0;
  }
}
.p-onayami__item {
  position: relative;
  width: calc(33% - 14px);
  height: 105px;
  background: #fff;
  border-radius: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 30px 20px 20px;
  filter: drop-shadow(4px 4px 8px rgba(0, 0, 0, 0.2));
  font-feature-settings: "palt";
  line-height: 1.4;
  font-size: 17px;
}
@media screen and (max-width: 767px) {
  .p-onayami__item {
    width: calc(50% - 10px);
    border-radius: 20px;
    height: 100%;
  }
}
.p-onayami__item::before {
  position: absolute;
  content: "";
  width: 120px;
  height: 70px;
  background: #FF2E63;
  top: -50px;
  left: 50%;
  transform: translateX(-50%);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}
.p-onayami__item--01::before {
  mask-image: url(../img/onayami01.png);
}
.p-onayami__item--02::before {
  mask-image: url(../img/onayami02.png);
}
.p-onayami__item--03::before {
  mask-image: url(../img/onayami03.png);
}
.p-onayami__item--04 {
  width: calc(35% - 14px);
}
@media screen and (max-width: 767px) {
  .p-onayami__item--04 {
    width: calc(50% - 10px);
  }
}
.p-onayami__item--04::before {
  mask-image: url(../img/onayami04.png);
}
.p-onayami__item--05 {
  width: calc(35% - 14px);
}
@media screen and (max-width: 767px) {
  .p-onayami__item--05 {
    width: 60%;
  }
}
.p-onayami__item--05::before {
  width: 90px;
  mask-image: url(../img/onayami05.png);
}
.p-onayami__arrow {
  width: 90%;
  margin: 0 auto;
  height: 200px;
  background: #072968;
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-image: url(../img/onayami_bg.png);
  padding-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-onayami__arrow {
    mask-image: url(../img/onayami_bg_sp.png);
    width: 100%;
    padding-top: 40px;
  }
}
.p-onayami__arrow p {
  color: #fff;
  text-align: center;
  font-size: 24px;
  font-feature-settings: "palt";
  font-weight: 400;
  letter-spacing: 1px;
}
@media screen and (max-width: 767px) {
  .p-onayami__arrow p {
    line-height: 1.4;
    font-size: 20px;
  }
}
.p-onayami__arrow p span {
  display: block;
  color: yellow;
  font-size: 30px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-onayami__arrow p span {
    font-size: 24px;
  }
}
.p-onayami__pic {
  width: 530px;
  margin: 30px auto;
}
@media screen and (max-width: 767px) {
  .p-onayami__pic {
    width: 90%;
    margin: 0px auto 30px;
  }
}
.p-onayami__box {
  background: #fff;
  filter: drop-shadow(4px 4px 8px rgba(0, 0, 0, 0.2));
  padding: 30px 0;
  border-radius: 10px;
  width: 775px;
  margin: 0 auto;
  text-align: center;
  font-size: 30px;
}
@media screen and (max-width: 767px) {
  .p-onayami__box {
    width: 90%;
    font-size: 18px;
    padding: 20px 0;
  }
}
.p-onayami__box span {
  font-size: 36px;
  font-weight: 700;
  color: #FF2E63;
  display: inline;
}
@media screen and (max-width: 767px) {
  .p-onayami__box span {
    font-size: 20px;
  }
}

/* ===============================================
2つの主義
=============================================== */
.p-syugi__top {
  padding: 70px 0;
  position: relative;
  z-index: 0;
}
.p-syugi__top::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 10;
  opacity: 0.6;
  background-size: 30px 30px;
  background-position: 50% 50%;
  background-image: repeating-linear-gradient(90deg, #fff, #fff 1.5px, transparent 1.5px, transparent 30px), repeating-linear-gradient(0deg, #fff, #fff 1.5px, transparent 1.5px, transparent 30px);
}
@media screen and (max-width: 767px) {
  .p-syugi__top {
    padding: 40px 0;
  }
  .p-syugi__top::after {
    background-size: 25px 25px;
    background-image: repeating-linear-gradient(90deg, #fff, #fff 1.5px, transparent 1.5px, transparent 25px), repeating-linear-gradient(0deg, #fff, #fff 1.5px, transparent 1.5px, transparent 25px);
  }
}
.p-syugi__maintitle {
  position: relative;
  z-index: 50;
}
.p-syugi__toptitle {
  position: relative;
  padding: 10px 0;
  text-align: center;
  color: #fff;
}
.p-syugi__toptitle .contents {
  padding: 20px 0 30px;
  border-top: 3px solid #fff;
  border-bottom: 3px solid #fff;
}
.p-syugi__toptitle .top {
  font-size: 28px;
}
@media screen and (max-width: 767px) {
  .p-syugi__toptitle .top {
    font-size: 16px;
  }
}
.p-syugi__toptitle .titlewrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 10px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-syugi__toptitle .titlewrapper {
    padding: 7px 0;
  }
}
.p-syugi__toptitle .point {
  background: #fff;
  color: #2163a0;
  clip-path: polygon(0 0, 85% 0, 100% 50%, 85% 100%, 0 100%);
  width: 180px;
  height: 60px;
  text-align: left;
  padding: 0;
  font-weight: 900;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-syugi__toptitle .point {
    width: 100px;
    height: 40px;
  }
}
.p-syugi__toptitle .point--02 {
  color: #f5537c;
}
.p-syugi__toptitle .point p {
  font-size: 34px;
  font-feature-settings: "palt";
  position: absolute;
  top: -14px;
  left: 7px;
  letter-spacing: -2px;
}
@media screen and (max-width: 767px) {
  .p-syugi__toptitle .point p {
    font-size: 20px;
    top: -7px;
    left: 7px;
  }
}
.p-syugi__toptitle .point span {
  font-size: 50px;
}
@media screen and (max-width: 767px) {
  .p-syugi__toptitle .point span {
    font-size: 34px;
    top: 0px;
    left: 0px;
  }
}
.p-syugi__toptitle h3 {
  font-size: 75px;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .p-syugi__toptitle h3 {
    font-size: 40px;
  }
}
.p-syugi__toptitle--01 {
  background: #2163a0;
}
.p-syugi__toptitle--02 {
  background: #f5537c;
}
.p-syugi__toptitle .small {
  font-size: 20px;
  display: inline-block;
  position: relative;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-syugi__toptitle .small {
    font-size: 16px;
    padding: 0 20px;
    text-align: left;
  }
}
.p-syugi__toptitle .small::before {
  position: absolute;
  content: "";
  background: url(../img/icon_test.png) no-repeat center center/contain;
  width: 96px;
  height: 100px;
  left: -8px;
  top: -100px;
}
@media screen and (max-width: 767px) {
  .p-syugi__toptitle .small::before {
    display: none;
  }
}
.p-syugi__toptitle .small::after {
  position: absolute;
  content: "";
  background: url(../img/icon_pen.png) no-repeat center center/contain;
  width: 60px;
  height: 60px;
  right: 30px;
  top: -80px;
}
@media screen and (max-width: 767px) {
  .p-syugi__toptitle .small::after {
    display: none;
  }
}
.p-syugi__toptitle .small--02::before {
  background: url(../img/icon_note.png) no-repeat center center/contain;
  left: -50px;
  top: -110px;
}
.p-syugi__toptitle .small--02::after {
  right: -20px;
  top: -80px;
}
.p-syugi__content {
  background-size: 30px 30px;
  background-position: 50% 50%;
}
@media screen and (max-width: 767px) {
  .p-syugi__content {
    background-size: 25px 25px;
  }
}
.p-syugi__content--01 {
  background-image: repeating-linear-gradient(90deg, #fff, #fff 1.5px, transparent 1.5px, transparent 30px), repeating-linear-gradient(0deg, #fff, #fff 1.5px, #E9F4FA 1.5px, #E9F4FA 30px);
}
@media screen and (max-width: 767px) {
  .p-syugi__content--01 {
    background-image: repeating-linear-gradient(90deg, #fff, #fff 1.5px, transparent 1.5px, transparent 25px), repeating-linear-gradient(0deg, #fff, #fff 1.5px, #E9F4FA 1.5px, #E9F4FA 25px);
  }
}
.p-syugi__content--02 {
  background-image: repeating-linear-gradient(90deg, #fff, #fff 1.5px, transparent 1.5px, transparent 30px), repeating-linear-gradient(0deg, #fff, #fff 1.5px, #FFF6F9 1.5px, #FFF6F9 30px);
}
@media screen and (max-width: 767px) {
  .p-syugi__content--02 {
    background-image: repeating-linear-gradient(90deg, #fff, #fff 1.5px, transparent 1.5px, transparent 25px), repeating-linear-gradient(0deg, #fff, #fff 1.5px, #FFF6F9 1.5px, #FFF6F9 25px);
  }
}
.p-syugi .title {
  height: 84px;
  line-height: 84px;
  color: #fff;
  font-weight: 700;
  max-width: 530px;
  position: relative;
  z-index: 10;
  font-size: 48px;
}
@media screen and (max-width: 767px) {
  .p-syugi .title {
    font-size: 20px;
    height: 45px;
    line-height: 45px;
    max-width: 200px;
  }
}
.p-syugi .title::before {
  position: absolute;
  content: "";
  height: 84px;
  width: 100%;
  z-index: 0;
  left: -100%;
}
@media screen and (max-width: 767px) {
  .p-syugi .title::before {
    height: 45px;
  }
}
.p-syugi .title::after {
  position: absolute;
  content: "";
  height: 84px;
  width: 84px;
  clip-path: polygon(0 0, 100% 105%, 0 105%);
  right: -84px;
  top: 0;
}
@media screen and (max-width: 767px) {
  .p-syugi .title::after {
    height: 45px;
    width: 45px;
    right: -45px;
    top: 0;
  }
}
.p-syugi .title--01 {
  background: #2163a0;
}
.p-syugi .title--01::before {
  background: #2163a0;
}
.p-syugi .title--01::after {
  background: #2163a0;
}
.p-syugi .title--02 {
  background: #f5537c;
}
.p-syugi .title--02::before {
  background: #f5537c;
}
.p-syugi .title--02::after {
  background: #f5537c;
}
.p-syugi .title p {
  position: relative;
  z-index: 10;
}
.p-syugi__item {
  padding: 90px 0;
}
@media screen and (max-width: 767px) {
  .p-syugi__item {
    padding: 40px 0;
  }
}
.p-syugi__item .txt {
  font-size: 24px;
  margin: 40px 0;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-syugi__item .txt {
    font-size: 15px;
    margin: 20px 0;
  }
}
.p-syugi__item .txt span {
  color: #f5537c;
  font-weight: 700;
}
.p-syugi__item .subtitle {
  font-size: 44px;
  color: #2163a0;
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .p-syugi__item .subtitle {
    margin-top: 40px;
    font-size: 24px;
    font-feature-settings: "palt";
  }
}
.p-syugi__item .bgarea {
  position: relative;
  z-index: 0;
  width: 100%;
  overflow: hidden;
}
.p-syugi__item .bgarea::before {
  position: absolute;
  content: "";
  height: 230px;
  width: 200%;
  transform: rotate(-6deg);
  left: -50%;
  top: 20%;
}
@media screen and (max-width: 767px) {
  .p-syugi__item .bgarea::before {
    transform: rotate(-10deg);
    height: 160px;
  }
}
.p-syugi__item .bgarea--01::before {
  background: #bbe1fa;
}
.p-syugi__item .bgarea--02::before {
  background: #fcdfe5;
}
@media screen and (max-width: 767px) {
  .p-syugi__item .bgarea--l::before {
    transform: rotate(-10deg);
    height: 160px;
    top: 40%;
  }
}
.p-syugi__item .wrapper {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-syugi__item .wrapper {
    flex-direction: column;
  }
}
.p-syugi__item .wrapper .item {
  width: calc(50% - 20px);
}
@media screen and (max-width: 767px) {
  .p-syugi__item .wrapper .item {
    width: 90%;
    margin: 0 auto;
  }
}
.p-syugi__item .wrapper .item--02 {
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .p-syugi__item .wrapper .item--02 {
    margin-top: 30px;
  }
}
.p-syugi__item .pic {
  position: relative;
  z-index: 0;
}

/* ===============================================
更に ! ココも魅力 !
=============================================== */
.p-feature {
  background: #E0F0E9;
  padding: 70px 0 160px;
  position: relative;
  z-index: 0;
  background-image: url(../img/feature_bg.png);
  background-repeat: no-repeat;
  background-position: center 200px;
}
@media screen and (max-width: 767px) {
  .p-feature {
    padding: 70px 0 90px;
  }
}
.p-feature__title {
  width: 600px;
  background: linear-gradient(45deg, #1087a6, #04c7b6);
  color: #fff;
  margin: 0 auto;
  text-align: center;
  padding: 10px 0;
  font-size: 36px;
  position: relative;
  filter: drop-shadow(4px 4px 8px rgba(0, 0, 0, 0.2));
}
@media screen and (max-width: 767px) {
  .p-feature__title {
    width: 90%;
    font-size: 24px;
  }
}
.p-feature__title::after {
  position: absolute;
  content: "";
  background: #0aa8ae;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  width: 60px;
  height: 24px;
  bottom: -23px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-feature__title::after {
    width: 40px;
    height: 18px;
    bottom: -17px;
  }
}
.p-feature__list {
  margin: 120px 0;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .p-feature__list {
    margin: 80px 0;
  }
}
.p-feature__item {
  margin-bottom: 140px;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .p-feature__item {
    margin-bottom: 200px;
  }
}
.p-feature__item .pic {
  position: absolute;
  width: 440px;
  height: 210px;
  z-index: -1;
  bottom: -40px;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-feature__item .pic {
    width: 90%;
    height: 167px;
    margin: 0 auto;
    text-align: center;
    top: auto;
    left: 50%;
    transform: translateX(-50%);
    bottom: -140px;
  }
}
.p-feature__item .pic--r {
  right: 0;
  left: auto;
}
@media screen and (max-width: 767px) {
  .p-feature__item .pic--r {
    left: 50%;
    transform: translateX(-50%);
  }
}
.p-feature__box {
  background: #fff;
  padding: 60px 40px 40px;
  width: 680px;
  position: relative;
  filter: drop-shadow(4px 4px 8px rgba(0, 0, 0, 0.2));
}
@media screen and (max-width: 767px) {
  .p-feature__box {
    width: 100%;
    height: 100%;
    padding: 40px 30px;
  }
}
.p-feature__box--r {
  margin-left: auto;
  margin-right: 0;
}
.p-feature__box--l {
  margin-left: 0;
  margin-right: auto;
}
.p-feature__box .point {
  background: linear-gradient(45deg, #1087a6, #04c7b6);
  font-family: "Outfit", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #fff;
  font-size: 36px;
  width: 180px;
  text-align: center;
  position: absolute;
  top: -20px;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-feature__box .point {
    font-size: 24px;
    width: 140px;
  }
}
.p-feature__box .title {
  font-size: 23px;
  color: #2163a0;
  font-feature-settings: "palt";
  letter-spacing: 1px;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-feature__box .title {
    font-size: 20px;
    font-feature-settings: initial;
  }
}
.p-feature__box .txt {
  font-weight: 400;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .p-feature__box .txt {
    font-size: 16px;
    font-weight: 400;
  }
}
.p-feature__box .img {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-feature__box .img {
    max-width: 400px;
    margin: 20px auto;
  }
}
.p-feature__more {
  position: relative;
  z-index: 10;
}
.p-feature__more .title {
  background: linear-gradient(45deg, #1087a6, #04c7b6);
  color: #fff;
  font-size: 30px;
  width: 450px;
  padding: 20px 0;
  letter-spacing: 1.2px;
  text-align: center;
  position: relative;
  z-index: 50;
}
@media screen and (max-width: 767px) {
  .p-feature__more .title {
    font-size: 18px;
    width: 80%;
    max-width: 300px;
    margin: 0 auto;
    height: auto;
    padding: 16px 0;
  }
}
.p-feature__more .title .check {
  width: 64px;
  height: 60px;
  left: 45px;
  margin-right: 10px;
}
@media screen and (max-width: 767px) {
  .p-feature__more .title .check {
    width: 34px;
    height: 30px;
  }
}
.p-feature__more .contents {
  background: #fff;
  border: #00a99d 7px solid;
  margin-top: -60px;
  padding: 60px 30px;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-feature__more .contents {
    padding: 20px 20px 0;
    height: 100%;
    margin-top: -40px;
  }
}
.p-feature__more .txt {
  padding: 30px 0 0 0;
  width: 420px;
}
@media screen and (max-width: 767px) {
  .p-feature__more .txt {
    width: 100%;
    font-size: 16px;
    font-weight: 400;
  }
}
.p-feature__more .txt span {
  color: #f5537c;
  font-weight: 700;
}
.p-feature__more .pic {
  position: absolute;
  bottom: 0;
  width: calc(100% - 420px);
  text-align: center;
  right: 0;
  padding: 30px 0 0;
}
@media screen and (max-width: 767px) {
  .p-feature__more .pic {
    position: relative;
    width: 80%;
    padding: 0 0 0 0;
    margin: 0 auto;
  }
}
.p-feature__more .pic img {
  width: 380px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-feature__more .pic img {
    width: 100%;
  }
}

/* ===============================================
入塾前に実際の配信内容でご体験いただけます。
=============================================== */
.p-trial {
  background: #2457e0;
  padding: 70px 0;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-trial {
    padding: 50px 0 230px;
  }
}
.p-trial::after {
  background: url(../img/trial_bg.png) no-repeat center center/contain;
  position: absolute;
  content: "";
  left: 50%;
  bottom: 0;
  width: 760px;
  height: 462px;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-trial::after {
    bottom: 0;
    right: 0;
    left: auto;
    width: 350px;
    height: 213px;
  }
}
.p-trial__title {
  margin: 0 auto;
  font-size: 36px;
  text-align: center;
  background: #fff;
  border-radius: 50px;
}
@media screen and (max-width: 767px) {
  .p-trial__title {
    font-size: 20px;
    line-height: 1.4;
    padding: 7px 0;
    font-weight: 700;
  }
}
.p-trial__title span {
  color: #ed1e79;
  margin: 0 auto;
}
.p-trial__wrapper {
  max-width: 900px;
  margin: 0 auto;
  z-index: 10;
  position: relative;
}
.p-trial__txt {
  color: #fff;
  margin: 50px auto 40px;
  font-size: 22px;
  filter: drop-shadow(2px 2px 6px #060a4b);
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-trial__txt {
    font-size: 16px;
    letter-spacing: 1px;
    line-height: 1.5;
    margin: 30px 0 20px;
    font-weight: 600;
  }
}
.p-trial__txt p {
  margin-bottom: 7px;
}
.p-trial__caption {
  color: #fff;
  margin: 0 auto;
  font-size: 14px;
  font-weight: 400;
  filter: drop-shadow(4px 4px 6px #000877);
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 7px;
}
@media screen and (max-width: 767px) {
  .p-trial__caption {
    font-size: 12px;
  }
}

/* ===============================================
SDGs非認知スキルトレーニング
=============================================== */
.p-sdgs_t {
  background: #BDC1E2;
  padding: 100px 0 100px;
  position: relative;
  z-index: -10;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t {
    padding: 130px 0 30px;
  }
}
.p-sdgs_t__head {
  background: #FFE33F;
  border-radius: 20px 20px 0 0;
  text-align: center;
  height: 170px;
  display: grid;
  position: relative;
  grid-template-columns: 276px 1fr;
  place-content: center;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__head {
    height: auto;
    display: block;
  }
}
.p-sdgs_t__head::after {
  position: absolute;
  content: "";
  background: url(../img/sdgs_first.png) no-repeat center center/contain;
  width: 230px;
  height: 210px;
  top: -20px;
  right: -20px;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__head::after {
    width: 130px;
    height: 130px;
    top: -100px;
    right: -10px;
  }
}
.p-sdgs_t__subtitle {
  place-content: center;
  background: #F15A24;
  height: 170px;
  color: #fff;
  font-size: 47px;
  line-height: 1.2;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__subtitle {
    height: 55px;
    border-radius: 20px 20px 0 0;
    font-size: 24px;
    position: relative;
    padding-top: 16px;
  }
}
.p-sdgs_t__subtitle span {
  color: yellow;
}
.p-sdgs_t__subtitle p.caption {
  font-size: 15px;
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__subtitle p.caption {
    font-size: 12px;
    z-index: 10;
    position: relative;
  }
}
.p-sdgs_t__subtitle::after {
  content: "";
  position: absolute;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: #F15A24;
  height: 100%;
  width: 40px;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__subtitle::after {
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    height: 30px;
    width: 100%;
    left: 0;
    top: 55px;
    transform: none;
    z-index: 0;
  }
}
.p-sdgs_t__title {
  font-size: 27px;
  line-height: 1.2;
  place-content: center start;
  height: 170px;
  text-align: left;
  padding-left: 90px;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__title {
    font-size: 18px;
    padding-left: 0px;
    padding-top: 40px;
    text-align: center;
    height: 135px;
    place-content: start center;
  }
}
.p-sdgs_t__title p {
  display: inline-block;
  text-align: center;
}
.p-sdgs_t__title span {
  font-size: 36px;
  color: #2E3192;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__title span {
    font-size: 24px;
  }
}
.p-sdgs_t__body {
  background: #fff;
  border-radius: 0 0 20px 20px;
  padding: 50px 0 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__body {
    padding: 20px 0 0px;
  }
}
.p-sdgs_t__body h3 {
  font-size: 40px;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__body h3 {
    font-size: 19px;
    display: inline;
  }
}
.p-sdgs_t__body h3 span {
  color: #F15A24;
}
.p-sdgs_t__txt {
  font-size: 24px;
  margin: 30px 0;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__txt {
    font-size: 16px;
    margin: 10px 0;
    text-align: left;
    padding: 0 4%;
  }
}
.p-sdgs_t__txt span {
  background: linear-gradient(transparent 70%, yellow 30%);
}
.p-sdgs_t__box {
  border: 5px solid #2E3192;
  border-radius: 20px;
  width: 80%;
  margin: 0 auto 40px;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__box {
    border: 3px solid #2E3192;
    width: 95%;
    margin: 20px auto;
    border-radius: 10px;
  }
}
.p-sdgs_t__box .head {
  background: #2E3192;
  font-size: 40px;
  color: #fff;
  padding: 5px 0;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__box .head {
    font-size: 18px;
  }
}
.p-sdgs_t__box .head span {
  color: yellow;
}
.p-sdgs_t__box .body {
  padding: 30px 0;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__box .body {
    padding: 20px 5%;
  }
}
.p-sdgs_t__list {
  text-align: left;
  display: inline-block;
}
.p-sdgs_t__list p {
  display: inline-block;
  text-align: left;
  font-size: 28px;
  margin-bottom: 4px;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__list p {
    font-size: 16px;
    text-indent: -1em;
    padding-left: 1em;
  }
}
.p-sdgs_t__list p i {
  color: #F15A24;
  padding-right: 10px;
  font-size: 38px;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__list p i {
    font-size: 24px;
  }
}
.p-sdgs_t__circle-list {
  display: flex;
  justify-content: center;
  column-gap: 30px;
  margin: 30px 0 20px;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__circle-list {
    column-gap: 10px;
    margin: 20px 0 10px;
  }
}
.p-sdgs_t__circle-list li {
  background: #F3EFBA;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  display: grid;
  place-content: center;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__circle-list li {
    width: 97px;
    height: 97px;
  }
}
.p-sdgs_t__circle-list li p {
  font-size: 32px;
  line-height: 1.2;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__circle-list li p {
    font-size: 14px;
  }
}
.p-sdgs_t__circle-list li span {
  font-size: 53px;
  color: #F15A24;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__circle-list li span {
    font-size: 23px;
  }
}
.p-sdgs_t__arrow {
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  background: #F15A24;
  width: 253px;
  height: 80px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__arrow {
    width: 89px;
    height: 28px;
  }
}
.p-sdgs_t__important {
  font-size: 34px;
  margin: 30px auto;
  font-weight: 900;
  border-bottom: #F15A24 5px solid;
  width: 85%;
  padding-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__important {
    font-size: 18px;
    margin: 16px 0;
    line-height: 1.8;
    width: 100%;
    border-bottom: #F15A24 3px solid;
    padding-bottom: 5px;
  }
}
.p-sdgs_t__important span.red {
  font-size: 46px;
  color: #ED1E79;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__important span.red {
    font-size: 24px;
    font-feature-settings: "palt";
    line-height: 1.3;
  }
}
.p-sdgs_t__exm {
  margin: 120px auto 180px;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__exm {
    margin: 60px auto 60px;
    padding: 0 4%;
  }
}
.p-sdgs_t__exm .title {
  background: #866699;
  color: #fff;
  font-size: 30px;
  border-radius: 10px;
  letter-spacing: 10px;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__exm .title {
    font-size: 16px;
    border-radius: 5px;
  }
}
.p-sdgs_t__exm .subtitle {
  margin: 20px 0;
  font-size: 30px;
  color: #F15A24;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__exm .subtitle {
    font-size: 16px;
  }
}
.p-sdgs_t__exm .subtitle span {
  color: #000;
  font-size: 24px;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__exm .subtitle span {
    font-size: 14px;
  }
}
.p-sdgs_t__exm .pic {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__exm .pic {
    margin-bottom: 30px;
  }
}
.p-sdgs_t__btnarea {
  margin: 70px 0;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__btnarea {
    margin: 30px 0;
  }
}
.p-sdgs_t__btnarea .caption {
  font-size: 30px;
  color: #2E3192;
  position: relative;
  padding: 1rem 1.4rem;
  font-weight: bold;
  text-align: center;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__btnarea .caption {
    font-size: 16px;
    padding: 1rem 0;
    font-feature-settings: "palt";
  }
}
.p-sdgs_t__btnarea .caption::before {
  position: absolute;
  top: 1.4rem;
  height: 2.4rem;
  content: "";
  border-left: solid 3px;
  left: 0;
  transform: rotate(-30deg);
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__btnarea .caption::before {
    height: 1.6rem;
    left: -14px;
    top: 1rem;
  }
}
.p-sdgs_t__btnarea .caption::after {
  position: absolute;
  top: 1.4rem;
  height: 2.4rem;
  content: "";
  border-right: solid 3px;
  right: 16px;
  transform: rotate(30deg);
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__btnarea .caption::after {
    height: 1.6rem;
    right: -16px;
    top: 1rem;
  }
}
.p-sdgs_t__btn {
  margin: 0 auto;
  width: 60%;
  height: 90px;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__btn {
    width: 100%;
    height: 60px;
  }
}
.p-sdgs_t__link {
  background: #ED1E79;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50px;
  box-shadow: 8px 8px 0px rgb(0, 0, 0);
  color: #fff;
  display: grid;
  place-content: center;
  font-size: 32px;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__link {
    font-size: 18px;
    width: 100%;
    margin: 0 auto;
    box-shadow: 4px 6px 0px rgb(0, 0, 0);
  }
}
.p-sdgs_t__link:hover {
  transition: 0.3s;
  transform: translateY(5px);
  box-shadow: 0px 0px 0px rgb(0, 0, 0);
  opacity: 0.7;
}
.p-sdgs_t__btnarea {
  max-width: 580px;
  margin: 60px auto 30px;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__btnarea {
    width: 80%;
    margin: 40px auto 30px;
  }
}
.p-sdgs_t__btnarea p.txt {
  text-align: center;
  font-size: 30px;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__btnarea p.txt {
    font-size: 18px;
    margin-bottom: 5px;
  }
}
.p-sdgs_t__cta {
  max-width: 1024px;
  margin: 40px auto 90px;
}
.p-sdgs_t__test {
  background: #faf7d4;
  padding: 80px 5% 90px;
  position: relative;
  border-radius: 0 0 20px 20px;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__test {
    padding: 30px 5% 30px;
  }
}
.p-sdgs_t__test .txt {
  text-align: left;
  font-size: 24px;
  margin: 20px 0 50px;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__test .txt {
    font-size: 16px;
    margin: 20px 0 20px;
  }
}
.p-sdgs_t__test .pic {
  max-width: 720px;
  margin: 0 auto;
}
.p-sdgs_t__test-title {
  background: #2E3192;
  color: yellow;
  font-size: 40px;
  font-weight: 900;
  width: 720px;
  padding: 10px 0;
  margin: 0 auto;
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__test-title {
    width: 85%;
    font-size: 18px;
    top: -20px;
  }
}

/* ===============================================
お申込みはこちら
=============================================== */
.p-arrow {
  text-align: center;
  padding: 60px 0;
  font-weight: 700;
  letter-spacing: 3px;
  background-color: #fff;
  margin: 0 auto;
  display: grid;
  place-content: center;
  background-image: repeating-linear-gradient(to bottom, transparent 25px, rgba(0, 0, 0, 0.04) 26px, rgba(0, 0, 0, 0.04) 26px, transparent 27px, transparent 51px, rgba(0, 0, 0, 0.04) 52px, rgba(0, 0, 0, 0.04) 52px, transparent 53px, transparent 77px, rgba(0, 0, 0, 0.04) 78px, rgba(0, 0, 0, 0.04) 78px, transparent 79px, transparent 103px, rgba(0, 0, 0, 0.04) 104px, rgba(0, 0, 0, 0.04) 104px, transparent 105px, transparent 129px, rgba(0, 0, 0, 0.04) 130px, rgba(0, 0, 0, 0.04) 130px), repeating-linear-gradient(to right, transparent 25px, rgba(0, 0, 0, 0.04) 26px, rgba(0, 0, 0, 0.04) 26px, transparent 27px, transparent 51px, rgba(0, 0, 0, 0.04) 52px, rgba(0, 0, 0, 0.04) 52px, transparent 53px, transparent 77px, rgba(0, 0, 0, 0.04) 78px, rgba(0, 0, 0, 0.04) 78px, transparent 79px, transparent 103px, rgba(0, 0, 0, 0.04) 104px, rgba(0, 0, 0, 0.04) 104px, transparent 105px, transparent 129px, rgba(0, 0, 0, 0.04) 130px, rgba(0, 0, 0, 0.04) 130px);
}
.p-arrow__head {
  margin-bottom: 30px;
  display: inline-block;
  font-size: 29px;
}
@media screen and (max-width: 767px) {
  .p-arrow__head {
    line-height: 1.5;
    font-size: 22px;
    margin-bottom: 24px;
  }
}
.p-arrow__head span {
  background: linear-gradient(transparent 70%, yellow 30%);
}
.p-arrow__title {
  display: inline-block;
  margin: 0 auto;
  position: relative;
  color: #005CC2;
  font-weight: 900;
  font-size: 29px;
}
@media screen and (max-width: 767px) {
  .p-arrow__title {
    padding: 0px 0;
    letter-spacing: 1.5px;
    font-size: 24px;
    line-height: 1.2;
  }
}
.p-arrow__title::before {
  position: absolute;
  content: "\f309";
  font-family: "fontawesome";
  font-weight: 900;
  top: 0px;
  left: -50px;
  color: #EB455F;
  font-size: 50px;
}
@media screen and (max-width: 767px) {
  .p-arrow__title::before {
    bottom: 0;
    top: auto;
  }
}
.p-arrow__title::after {
  position: absolute;
  content: "\f309";
  font-family: "fontawesome";
  font-weight: 900;
  top: 0px;
  right: -50px;
  color: #EB455F;
  font-size: 50px;
}
@media screen and (max-width: 767px) {
  .p-arrow__title::after {
    bottom: 0;
    top: auto;
  }
}
@media (orientation: landscape) and (max-width: 767px) {
  .p-arrow {
    padding: 0 0 60px 0;
  }
}
.p-arrow__big {
  font-size: 36px;
  color: #EB455F;
}
@media screen and (max-width: 767px) {
  .p-arrow__big {
    font-size: 24px;
  }
}
.p-arrow__txt {
  color: #292929;
  font-size: 18px;
  letter-spacing: 1px;
}
@media screen and (max-width: 767px) {
  .p-arrow__txt {
    font-size: 14px;
    margin-top: 10px;
  }
}

/* ===============================================
CTA
=============================================== */
.p-cta {
  background: #005CC2;
  color: #fff;
  text-align: center;
  padding: 20px 20px 26px;
}
@media screen and (max-width: 767px) {
  .p-cta {
    padding: 0;
  }
}
.p-cta span.yellow {
  color: yellow;
}
.p-cta__container {
  max-width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: 1fr;
  place-content: center;
  place-items: center;
  justify-content: center;
  column-gap: 3.5vw;
}
@media screen and (max-width: 767px) {
  .p-cta__container {
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    column-gap: 0;
  }
}
.p-cta__btn-area {
  display: grid;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-cta__btn-area {
    grid-column: 1/4;
    grid-row: 1/2;
    height: 60px;
    align-items: center;
  }
}
.p-cta__btn {
  width: 100%;
  height: 100%;
}
.p-cta__link {
  background: #ed1e79;
  display: block;
  width: 100%;
  height: 100%;
  padding: 1.5vw 4vw;
  border-radius: 10px;
  box-shadow: 7px 7px 0px rgba(0, 0, 0, 0.9);
  position: relative;
}
@media screen and (max-width: 860px) {
  .p-cta__link {
    padding: 1.5vw 40px 1.5vw 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-cta__link {
    padding: 0;
    box-shadow: none;
    border-radius: 0;
    padding: 0;
  }
}
.p-cta__link::after {
  position: absolute;
  content: "\f138";
  font-family: "fontawesome";
  font-weight: 900;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.7vw;
  color: yellow;
  right: 1vw;
}
@media screen and (max-width: 1280px) {
  .p-cta__link::after {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-cta__link::after {
    font-size: 18px;
    right: 3%;
  }
}
.p-cta__link:hover {
  background: #ff569f;
  transition: 0.3s;
  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.8);
  transform: translateY(1px);
}
@media screen and (max-width: 767px) {
  .p-cta__link:hover {
    box-shadow: none;
  }
}
.p-cta__link .inner {
  display: grid;
  place-content: center;
  line-height: 1.2;
  font-size: 2vw;
  font-weight: 700;
}
@media screen and (max-width: 1280px) {
  .p-cta__link .inner {
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  .p-cta__link .inner {
    grid-template-columns: auto auto;
    grid-template-rows: 1fr;
    height: 100%;
    font-size: 5.2vw;
    text-align: left;
    place-content: center start;
    padding-left: 20px;
    font-weight: 700;
  }
}
@media screen and (max-width: 767px) {
  .p-cta__link .main {
    height: 100%;
    display: flex;
    align-items: center;
  }
}
.p-cta__link .small {
  font-size: 0.8em;
  padding-left: 3px;
}
.p-cta__sub-btn {
  margin-top: 20px;
}
.p-cta__sub-link {
  position: relative;
  border-bottom: 2px solid #fff;
  padding: 0 30px;
}
.p-cta__sub-link:hover {
  transition: 0.3s;
  opacity: 0.6;
}
.p-cta__sub-link .inner {
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .p-cta__sub-link .inner {
    font-size: 4.8vw;
  }
}
@media screen and (max-width: 767px) {
  .p-cta__tel-area {
    grid-column: 1/4;
    grid-row: 2/3;
    height: 60px;
    width: 100%;
  }
}
.p-cta__tel-area a {
  display: grid;
  place-items: center;
}
.p-cta__tel-wrapper {
  display: grid;
  grid-template-columns: auto auto auto auto;
  grid-template-rows: auto auto;
  line-height: 1.2;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-cta__tel-wrapper {
    grid-template-columns: auto auto auto;
    grid-template-rows: auto auto;
    line-height: 1;
  }
}
.p-cta__tel-wrapper .top {
  grid-column: 3/4;
  grid-row: 1/2;
  font-size: 1.5vw;
  letter-spacing: 3px;
  position: relative;
}
@media screen and (max-width: 1280px) {
  .p-cta__tel-wrapper .top {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-cta__tel-wrapper .top {
    display: none;
  }
}
.p-cta__tel-wrapper .top::before {
  position: relative;
  display: inline-block;
  content: "";
  background: #fff;
  width: 3px;
  height: 1.5em;
  margin: 0 1em;
  margin-top: -0.2em;
  vertical-align: middle;
  transform: rotate(-35deg);
}
.p-cta__tel-wrapper .top::after {
  position: relative;
  display: inline-block;
  content: "";
  background: #fff;
  width: 3px;
  height: 1.5em;
  margin: 0 1em;
  margin-top: -0.2em;
  vertical-align: middle;
  transform: rotate(35deg);
}
.p-cta__tel-wrapper .ok {
  grid-column: 1/2;
  grid-row: 2/3;
  margin-right: 1.5vw;
}
@media screen and (max-width: 767px) {
  .p-cta__tel-wrapper .ok {
    grid-column: 1/2;
    grid-row: 1/3;
  }
}
.p-cta__tel-wrapper .ok .inner {
  font-size: 2.2vw;
  background: #fff;
  color: #005CC2;
  font-weight: 700;
  display: inline-block;
  padding: 0.5vw;
  border-radius: 5px;
  position: relative;
}
@media screen and (max-width: 1280px) {
  .p-cta__tel-wrapper .ok .inner {
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  .p-cta__tel-wrapper .ok .inner {
    background: transparent;
    color: #fff;
    font-size: 18px;
  }
}
.p-cta__tel-wrapper .ok .inner .small {
  font-size: 0.8em;
}
.p-cta__tel-wrapper .ok .inner::after {
  position: absolute;
  content: "";
  top: 50%;
  right: -10px;
  transform: translateY(-50%);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: #fff;
  z-index: 99;
  height: 20px;
  width: 15px;
}
@media screen and (max-width: 767px) {
  .p-cta__tel-wrapper .ok .inner::after {
    display: none;
  }
}
.p-cta__tel-wrapper .free {
  width: 7vw;
  grid-column: 2/3;
  grid-row: 2/3;
  z-index: 0;
  position: relative;
}
@media screen and (max-width: 1280px) {
  .p-cta__tel-wrapper .free {
    width: 60px;
  }
}
@media screen and (max-width: 767px) {
  .p-cta__tel-wrapper .free {
    width: 40px;
    grid-column: 2/3;
    grid-row: 1/2;
  }
}
.p-cta__tel-wrapper .num {
  font-size: 4vw;
  grid-column: 3/4;
  grid-row: 2/3;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  letter-spacing: 2px;
}
@media screen and (max-width: 1280px) {
  .p-cta__tel-wrapper .num {
    font-size: 50px;
  }
}
@media screen and (max-width: 767px) {
  .p-cta__tel-wrapper .num {
    font-size: 28px;
    grid-column: 3/4;
    grid-row: 1/2;
  }
}
.p-cta__tel-wrapper .time {
  font-size: 1.7vw;
  grid-column: 4/5;
  grid-row: 2/3;
  display: grid;
  line-height: 1.2;
  place-content: center;
}
@media screen and (max-width: 1280px) {
  .p-cta__tel-wrapper .time {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-cta__tel-wrapper .time {
    font-size: 15px;
    grid-column: 3/4;
    grid-row: 2/3;
    grid-template-columns: auto auto;
    justify-content: center;
  }
}

/* ===============================================
CTA
=============================================== */
.p-cta-old {
  height: 160px;
  width: 100%;
  background: #005CC2;
  color: #fff;
}
@media screen and (max-width: 1280px) {
  .p-cta-old {
    height: 130px;
  }
}
@media screen and (max-width: 767px) {
  .p-cta-old {
    height: 140px;
  }
}
.p-cta-old__container {
  display: grid;
  grid-template-columns: 400px 1fr;
  grid-template-rows: 1fr;
  height: 100%;
  padding: 20px;
  margin: 0 auto;
  min-width: 1100px;
  max-width: 1700px;
  column-gap: 30px;
}
@media screen and (max-width: 1280px) {
  .p-cta-old__container {
    grid-template-columns: 330px 1fr;
  }
}
@media screen and (max-width: 767px) {
  .p-cta-old__container {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr;
    min-width: 100%;
    max-width: 100%;
    column-gap: 0;
    padding: 0;
  }
}
.p-cta-old__btn {
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-cta-old__btn {
    height: 70px;
  }
}
.p-cta-old__link {
  background: #ed1e79;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 10px;
  box-shadow: 7px 7px 0px rgba(0, 0, 0, 0.9);
  position: relative;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-cta-old__link {
    border-radius: 0px;
    box-shadow: none;
  }
}
.p-cta-old__link:hover {
  background: #ff569f;
  transition: 0.3s;
  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.8);
  transform: translateY(1px);
}
@media screen and (max-width: 767px) {
  .p-cta-old__link:hover {
    box-shadow: none;
  }
}
.p-cta-old__link::after {
  position: absolute;
  content: "\f138";
  font-family: "fontawesome";
  font-weight: 900;
  top: 50%;
  transform: translateY(-50%);
  font-size: 30px;
  color: yellow;
  right: 20px;
}
@media screen and (max-width: 767px) {
  .p-cta-old__link::after {
    font-size: 24px;
    right: 3%;
  }
}
.p-cta-old__link .wrapper {
  display: grid;
  place-content: center;
  place-items: center;
  height: 100%;
  position: relative;
  line-height: 1.1;
  padding-left: 40px;
}
@media screen and (max-width: 767px) {
  .p-cta-old__link .wrapper {
    display: flex;
    column-gap: 5px;
  }
}
.p-cta-old__link .wrapper span.top {
  display: flex;
  font-size: 23px;
  position: relative;
}
@media screen and (max-width: 1280px) {
  .p-cta-old__link .wrapper span.top {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .p-cta-old__link .wrapper span.top {
    font-size: 17px;
  }
}
.p-cta-old__link .wrapper span.middle {
  color: yellow;
  font-size: 38px;
}
@media screen and (max-width: 1280px) {
  .p-cta-old__link .wrapper span.middle {
    font-size: 30px;
  }
}
@media screen and (max-width: 767px) {
  .p-cta-old__link .wrapper span.middle {
    font-size: 28px;
  }
}
.p-cta-old__link .wrapper span.bottom {
  font-size: 29px;
}
@media screen and (max-width: 1280px) {
  .p-cta-old__link .wrapper span.bottom {
    font-size: 20px;
  }
}
.p-cta-old__link .wrapper span.yellow {
  color: yellow;
}
.p-cta-old__link .flex {
  position: relative;
  text-align: center;
}
.p-cta-old__link .flex::before {
  position: absolute;
  content: "";
  background: url(../img/kv_icon.png) no-repeat center center/contain;
  width: 111px;
  height: 111px;
  top: 50%;
  transform: translateY(-50%);
  color: yellow;
  left: -124px;
}
@media screen and (max-width: 1280px) {
  .p-cta-old__link .flex::before {
    width: 80px;
    height: 80px;
    left: -90px;
    top: 37px;
  }
}
@media screen and (max-width: 767px) {
  .p-cta-old__link .flex::before {
    width: 60px;
    height: 60px;
    left: -70px;
    top: 27px;
  }
}
.p-cta-old__link02 {
  background: #ed1e79;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 10px;
  box-shadow: 7px 7px 0px rgba(0, 0, 0, 0.9);
  position: relative;
  transition: 0.3s;
  text-align: center;
  display: grid;
  place-content: center;
  font-size: 30px;
  line-height: 1.3;
  font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .p-cta-old__link02 {
    border-radius: 0px;
    box-shadow: none;
    line-height: 0;
    font-size: 6vw;
  }
}
.p-cta-old__link02:hover {
  background: #ff569f;
  transition: 0.3s;
  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.8);
  transform: translateY(1px);
}
@media screen and (max-width: 767px) {
  .p-cta-old__link02:hover {
    box-shadow: none;
  }
}
.p-cta-old__link02::after {
  position: absolute;
  content: "\f138";
  font-family: "fontawesome";
  font-weight: 900;
  top: 50%;
  transform: translateY(-50%);
  font-size: 30px;
  color: yellow;
  right: 20px;
}
@media screen and (max-width: 767px) {
  .p-cta-old__link02::after {
    right: 3%;
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  .p-cta-old__tel {
    height: 70px;
  }
}
.p-cta-old__tel img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ===============================================
フッター
=============================================== */
.p-footer {
  background: #072968;
  padding: 40px 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-footer {
    padding: 20px 0;
    min-width: 100%;
  }
}
.p-footer__logo {
  width: 350px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-footer__logo {
    width: 200px;
  }
}

/* レスポンシブ設定
----------------------- */
.u-sp-only {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-sp-only {
    display: block;
  }
}

.u-pc-only {
  display: block;
}
@media screen and (max-width: 767px) {
  .u-pc-only {
    display: none;
  }
}
.u-pc-only--inline {
  display: inline;
}
@media screen and (max-width: 767px) {
  .u-pc-only--inline {
    display: none;
  }
}

.u-tab-none {
  display: block;
}
@media screen and (max-width: 1280px) {
  .u-tab-none {
    display: none;
  }
}

.u-sp-none {
  display: block;
}
@media screen and (max-width: 767px) {
  .u-sp-none {
    display: none;
  }
}/*# sourceMappingURL=style.css.map */