@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: 40px 0;
  text-align: center;
  color: #fff;
  font-size: 30px;
  line-height: 1.3;
  position: relative;
  z-index: 0;
  letter-spacing: 1.5px;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .c-ribon {
    font-size: 16px;
    font-feature-settings: "palt";
    padding: 16px 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: 1.2em;
  }
}
.c-ribon span.yellow {
  font-size: 30px;
}
@media screen and (max-width: 767px) {
  .c-ribon span.yellow {
    font-size: 18px;
  }
}
.c-ribon--blue {
  background: #2E3192;
}
.c-ribon--blue::after {
  background: #2E3192;
  z-index: 99;
}
.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;
}
@media screen and (max-width: 767px) {
  .c-ribon--goukaku {
    font-size: 18px;
    padding: 16px 0;
  }
}
.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 100px 0;
}
@media screen and (max-width: 767px) {
  .c-voice {
    padding: 20px 0 60px 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: 40px;
  }
}
.c-voice__item {
  border-radius: 10px;
  display: flex;
  height: 100%;
  color: #fff;
  padding: 16px 5% 16px 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-voice__item {
    padding: 10px 5px;
    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;
}
@media screen and (max-width: 767px) {
  .c-voice__item::after {
    width: 40px;
    height: 19px;
    bottom: -19px;
  }
}
.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: 90px;
    padding-right: 10px;
  }
}
.c-voice__title {
  background: #fff;
  color: #000;
  text-align: center;
  padding: 0 10px;
  border-radius: 7px;
  margin-bottom: 10px;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .c-voice__title {
    font-size: 14px;
    font-feature-settings: "palt";
    padding: 0;
    display: block;
    width: 100%;
    border-radius: 3px;
  }
}
.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: 15px;
    width: calc(100% - 90px);
    font-weight: 600;
    letter-spacing: 0.5px;
    line-height: 1.6;
  }
}
.c-voice__pic img {
  width: 100px;
  height: 100px;
}
@media screen and (max-width: 767px) {
  .c-voice__pic img {
    width: 60px;
    height: 60px;
  }
}

/* リンクボタン
----------------------- */
.c-btn__link {
  background: #ED1E79;
  border: 4px solid #fff;
  box-shadow: 5px 5px 0px rgba(0, 0, 0, 0.6);
  display: block;
  width: 100%;
  height: 110px;
  position: relative;
  display: grid;
  place-content: center;
  transition: 0.3s;
  padding: 0 30px 0 40px;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .c-btn__link {
    height: 80px;
    margin: 0 auto;
    border: 3px solid #fff;
    width: 90%;
    padding: 0 0 0 0;
  }
}
.c-btn__link:hover {
  transition: 0.3s;
  transform: translateY(0px);
  box-shadow: 0px 0px 0px rgb(0, 0, 0);
  background: #ff559f;
}
.c-btn__link .icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%) translateY(3px);
  left: 1vw;
  color: #ED1E79;
  font-weight: 900;
  display: grid;
  place-content: center;
  padding-bottom: 5px;
  z-index: 0;
}
.c-btn__link .icon img {
  width: 95px;
  height: 95px;
}
@media screen and (max-width: 767px) {
  .c-btn__link .icon img {
    width: 65px;
    height: 65px;
  }
}
.c-btn__link .icon span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  white-space: nowrap;
  text-shadow: 2px 2px 10px yellow, -2px 2px 10px yellow, 2px -2px 10px yellow, -2px -2px 10px yellow;
  font-size: 34px;
  padding-bottom: 0.5vw;
}
@media screen and (max-width: 767px) {
  .c-btn__link .icon span {
    font-size: 23px;
    padding-bottom: 1.5vw;
  }
}
.c-btn__link p.btn-inner {
  font-size: 30px;
  color: #fff;
  font-weight: 900;
  line-height: 1.2;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-btn__link p.btn-inner {
    font-size: 24px;
  }
}
@media screen and (max-width: 440px) {
  .c-btn__link p.btn-inner {
    font-size: 5vw;
  }
}
.c-btn__link p.btn-inner span.inner {
  display: block;
  padding-left: 40px;
  text-align: center;
}
@media screen and (max-width: 440px) {
  .c-btn__link p.btn-inner span.inner {
    padding-left: 35px;
  }
}
.c-btn__link p.btn-inner i {
  color: #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
}
@media screen and (max-width: 767px) {
  .c-btn__link p.btn-inner i {
    right: 10px;
    font-size: 4.6vw;
  }
}
.c-btn__link p.btn-inner span.yellow {
  color: yellow;
}

/* 複数設置　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);
    padding: 24px 0 24px;
  }
}
.c-contact--black {
  background: #1c0064;
  padding: 40px 0 40px;
  background-size: auto auto;
  background-image: repeating-linear-gradient(-45deg, #12007a, #12007a 3px, #2a0094 3px, #2a0094 9px);
}
@media screen and (max-width: 767px) {
  .c-contact--black {
    background-image: repeating-linear-gradient(-45deg, #12007a, #12007a 2px, #2a0094 2px, #2a0094 6px);
  }
}
.c-contact__contents {
  background: #fff;
  border-radius: 10px;
  padding: 30px;
}
@media screen and (max-width: 767px) {
  .c-contact__contents {
    padding: 10px 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__wrapper--about {
  max-width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .c-contact__wrapper--about {
    max-width: 95%;
  }
}
.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: 20px;
  }
}
.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;
    transform: translateY(5px);
  }
}

/* ===============================================
ヘッダー
=============================================== */
.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: 30vw;
  height: 14vw;
  right: 9vw;
  bottom: 5vw;
  z-index: 10;
}
@media (max-aspect-ratio: 16/9), (min-aspect-ratio: 16/9) {
  .p-kv__btnarea {
    bottom: 5vw !important;
    right: 10vw !important;
  }
}
@media (min-aspect-ratio: 17/9) {
  .p-kv__btnarea {
    bottom: 1vw !important;
  }
}
@media screen and (max-width: 1280px) {
  .p-kv__btnarea {
    width: 350px;
    height: 150px;
    right: 80px;
    bottom: 70px;
  }
}
@media screen and (max-width: 767px) {
  .p-kv__btnarea {
    width: 90%;
    height: 130px;
    left: 50% !important;
    transform: translateX(-50%);
    bottom: 45px !important;
  }
}
.p-kv__btn-link {
  background: #ED1E79;
  color: #fff;
  display: block;
  height: 7.5vw;
  width: 100%;
  border-radius: 10px;
  position: relative;
  box-shadow: 0.4vw 0.4vw 0px rgba(0, 0, 0, 0.8);
  transition: 0.4s;
  border: 0.3vw solid #fff;
}
@media screen and (max-width: 1280px) {
  .p-kv__btn-link {
    height: 80px;
  }
}
@media screen and (max-width: 767px) {
  .p-kv__btn-link {
    height: 70px;
    border: 3px solid #fff;
  }
}
.p-kv__btn-link:hover {
  transition: 0.4s;
  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.8);
  transform: translateY(1px);
  background: #f15b92;
}
.p-kv__btn-link::after {
  position: absolute;
  content: "\f138";
  font-family: "fontawesome";
  font-weight: 900;
  top: 50%;
  transform: translateY(-50%);
  font-size: 2.3vw;
  color: #fff;
  right: 1vw;
}
@media screen and (max-width: 1280px) {
  .p-kv__btn-link::after {
    font-size: 26px;
    right: 16px;
  }
}
@media screen and (max-width: 767px) {
  .p-kv__btn-link::after {
    font-size: 20px;
    right: 10px;
  }
}
.p-kv__btn-link .icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -3.2vw;
  color: #ED1E79;
  font-weight: 900;
  display: grid;
  place-content: center;
  padding-bottom: 5px;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-kv__btn-link .icon {
    left: -4vw;
    transform: translateY(-50%) translateY(3px);
  }
}
.p-kv__btn-link .icon img {
  width: 8vw;
  height: 8vw;
}
@media screen and (max-width: 1280px) {
  .p-kv__btn-link .icon img {
    width: 90px;
    height: 90px;
  }
}
@media screen and (max-width: 767px) {
  .p-kv__btn-link .icon img {
    width: 100px;
    height: 100px;
  }
}
@media screen and (max-width: 351px) {
  .p-kv__btn-link .icon img {
    width: 80px;
    height: 80px;
  }
}
.p-kv__btn-link .icon span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  white-space: nowrap;
  text-shadow: 2px 2px 10px yellow, -2px 2px 10px yellow, 2px -2px 10px yellow, -2px -2px 10px yellow;
  font-size: 2.8vw;
  padding-bottom: 0.5vw;
}
@media screen and (max-width: 1280px) {
  .p-kv__btn-link .icon span {
    font-size: 30px;
  }
}
.p-kv__btn-txt {
  display: grid;
  place-content: center;
  place-items: center;
  text-align: center;
  height: 100%;
  font-size: 2vw;
  line-height: 1.1;
  font-weight: 900;
}
@media screen and (max-width: 1280px) {
  .p-kv__btn-txt {
    font-size: 24px;
  }
}
@media screen and (max-width: 440px) {
  .p-kv__btn-txt {
    padding-left: 20px;
    font-size: 20px;
    transform: translateX(2vw);
    padding-bottom: 1vw;
  }
}
.p-kv__btn-txt .yellow {
  color: yellow;
}
.p-kv__btn-txt .red {
  color: #e61d75;
}
.p-kv__btn-txt .blue {
  color: #2e3192;
}
.p-kv__btn-txt .white {
  color: #fff;
}
.p-kv__btn-txt .middle {
  display: flex;
  align-items: center;
  flex-direction: column;
  line-height: 1.2;
}
.p-kv__telarea {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  height: 5vw;
  bottom: 0;
  width: 100%;
  background: linear-gradient(to right, transparent, #fff 20%, #fff 80%, transparent 100%);
  display: flex;
  display: grid;
  place-content: center;
  place-items: center;
  line-height: 1.2;
}
@media screen and (max-width: 1280px) {
  .p-kv__telarea {
    height: 50px;
  }
}
.p-kv__telarea img {
  object-fit: contain;
  width: auto;
  height: 1.7vw;
  display: block;
}
@media screen and (max-width: 1280px) {
  .p-kv__telarea img {
    height: 24px;
  }
}
.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 .head {
  font-size: 1.5vw;
}
@media screen and (max-width: 1280px) {
  .p-kv__telarea .head {
    font-size: 16px;
  }
}
.p-kv__telarea .num {
  font-size: 1.8vw;
  font-weight: 900;
  color: #005CC2;
  white-space: nowrap;
}
@media screen and (max-width: 1280px) {
  .p-kv__telarea .num {
    font-size: 24px;
  }
}

/* ===============================================
資料請求はこちら
=============================================== */
.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-ru_test_about {
  background: #FFD436;
  padding: 80px 0 40px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-ru_test_about {
    padding: 60px 0 40px;
  }
}
.p-ru_test_about__content {
  background: #FDFFD6;
  position: relative;
  padding: 80px 0 40px;
}
@media screen and (max-width: 767px) {
  .p-ru_test_about__content {
    padding: 40px 0 20px;
  }
}
.p-ru_test_about__title {
  background: #2E3192;
  color: #fff;
  font-size: 38px;
  width: 100%;
  max-width: 760px;
  height: 86px;
  display: grid;
  place-content: center;
  border-radius: 50px;
  position: absolute;
  top: -43px;
  left: 50%;
  transform: translateX(-50%);
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .p-ru_test_about__title {
    font-size: 22px;
    height: 45px;
    max-width: 350px;
    top: -26px;
  }
}
.p-ru_test_about__title span {
  color: yellow;
}
.p-ru_test_about__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-ru_test_about__date {
    max-width: 90%;
    font-size: 24px;
    padding: 0px 0 0px;
    border-top: 4px solid #FFD443;
    border-bottom: 4px solid #FFD436;
  }
}
.p-ru_test_about__date .txt {
  color: #000;
  font-size: 0.8em;
}
.p-ru_test_about__date .sat {
  color: #1f66cf;
}
.p-ru_test_about__date .sun {
  color: #B5252A;
}
.p-ru_test_about__list {
  max-width: 350px;
  margin: 20px auto 0;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-ru_test_about__list {
    max-width: 300px;
    margin: 10px auto 0;
  }
}
.p-ru_test_about__list dl {
  display: flex;
  font-size: 20px;
  margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
  .p-ru_test_about__list dl {
    font-size: 18px;
  }
}
.p-ru_test_about__list dt {
  width: 130px;
  color: #2E3192;
}
@media screen and (max-width: 767px) {
  .p-ru_test_about__list dt {
    width: 100px;
  }
}
.p-ru_test_about__list dd {
  line-height: 1.4;
}
.p-ru_test_about__caption {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .p-ru_test_about__caption {
    font-size: 12px;
  }
}
.p-ru_test_about__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-ru_test_about__setumeikai {
    font-size: 24px;
  }
}
.p-ru_test_about__setumeikai span {
  color: yellow;
}
.p-ru_test_about__form {
  margin: 20px auto 0;
  background: #fff;
  padding: 20px 0;
}
@media screen and (max-width: 767px) {
  .p-ru_test_about__form {
    margin: 20px auto 0;
    padding: 16px 0;
  }
}
.p-ru_test_about__form .wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 750px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-ru_test_about__form .wrapper {
    flex-direction: column;
    row-gap: 30px;
    max-width: 100%;
  }
}
.p-ru_test_about__form--contact {
  border-radius: 20px;
  margin: 0px auto 0;
  background-clip: padding-box;
  background: #fff;
  border: #2E3192 5px solid;
}
.p-ru_test_about__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-ru_test_about__form--contact .wrapper {
    flex-direction: column;
    row-gap: 30px;
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-ru_test_about__btnarea {
    width: 90%;
  }
}
.p-ru_test_about__btnarea--large {
  width: 500px;
}
@media screen and (max-width: 767px) {
  .p-ru_test_about__btnarea--large {
    width: 90%;
  }
}

/* ===============================================
ランクアップテスト
=============================================== */
.p-ru_test {
  width: 100%;
  background: #D9E3F4;
  position: relative;
  z-index: 0;
}
.p-ru_test__area {
  padding: 60px 0 40px;
}
@media screen and (max-width: 767px) {
  .p-ru_test__area {
    padding: 40px 0 20px;
  }
}
.p-ru_test__list {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-ru_test__list {
    flex-direction: column;
  }
}
.p-ru_test__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-ru_test__item {
    width: 100%;
    margin-bottom: 20px;
  }
}
.p-ru_test__item .head {
  background: #1B1464;
  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-ru_test__item .head span {
  color: yellow;
  display: inline;
}
@media screen and (max-width: 767px) {
  .p-ru_test__item .head {
    height: 100%;
    padding: 10px 0;
    font-size: 18px;
  }
}
.p-ru_test__item .body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px;
  height: 350px;
}
@media screen and (max-width: 767px) {
  .p-ru_test__item .body {
    height: 100%;
    padding: 20px;
  }
}
.p-ru_test__item .txt span {
  color: #f15a24;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .p-ru_test__item .txt {
    line-height: 1.6;
    letter-spacing: 0px;
    font-size: 16px;
  }
}
.p-ru_test .caption {
  font-size: 16px;
  margin-top: 10px;
  line-height: 1.4;
  color: #000;
}
@media screen and (max-width: 767px) {
  .p-ru_test .caption {
    font-size: 14px;
  }
}
.p-ru_test__sublist {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-ru_test__sublist {
    display: grid;
    place-content: center;
    row-gap: 10px;
  }
}
.p-ru_test__subitem {
  margin-bottom: 30px;
  text-indent: -1.2em;
  padding-left: 1.2em;
  line-height: 1.5;
  position: relative;
  z-index: 50;
  font-size: 22px;
}
@media screen and (max-width: 767px) {
  .p-ru_test__subitem {
    margin-bottom: 0px;
    font-size: 18px;
    display: inline-block;
  }
}
.p-ru_test__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;
}
@media screen and (max-width: 767px) {
  .p-ru_test__subitem::after {
    width: 36px;
    height: 31px;
  }
}
.p-ru_test__subitem span {
  color: #f15a24;
  font-weight: 900;
}
.p-ru_test__head {
  font-size: 34px;
  text-align: center;
  margin-bottom: 60px;
  color: #113961;
}
@media screen and (max-width: 767px) {
  .p-ru_test__head {
    font-size: 22px;
    margin-bottom: 40px;
  }
}
.p-ru_test__head span {
  font-size: 1.2em;
  font-weight: 900;
  background: linear-gradient(transparent 50%, yellow 50%);
}
@media screen and (max-width: 767px) {
  .p-ru_test__head span {
    font-size: 1.1em;
  }
}

/* ===============================================
マスターコースは低学年スタートがオススメ
=============================================== */
.p-master {
  background: #B5001F;
  background-size: auto auto;
  background-image: repeating-linear-gradient(-45deg, #A30016, #A30016 18px, #B5001F 18px, #B5001F 30px);
  padding: 40px 0;
}
@media screen and (max-width: 767px) {
  .p-master {
    padding: 30px 0 20px;
  }
}
.p-master__contents {
  background: #fff;
  padding: 40px 0;
  margin: 20px 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-master__contents {
    padding: 20px 0;
  }
}
.p-master__title {
  color: #fff;
  font-size: 53px;
  line-height: 1.2;
  font-weight: 900;
  filter: drop-shadow(4px 4px 6px rgba(0, 0, 0, 0.6));
  text-align: center;
}
.p-master__title .yellow {
  color: yellow;
}
@media screen and (max-width: 767px) {
  .p-master__title {
    font-size: 24px;
  }
}
.p-master__txt {
  color: #A30016;
  font-size: 28px;
}
@media screen and (max-width: 767px) {
  .p-master__txt {
    font-size: 18px;
    line-height: 1.2;
    margin-bottom: 10px;
  }
}
.p-master__wrapper {
  display: flex;
  margin: 0 auto;
  justify-content: center;
  column-gap: 10px;
}
@media screen and (max-width: 767px) {
  .p-master__wrapper {
    flex-direction: column;
    max-width: 90%;
    align-items: center;
    row-gap: 10px;
    transform: translateX(5px);
    margin-bottom: 10px;
  }
}
.p-master__last {
  color: #A30016;
  font-size: 31px;
  background: linear-gradient(transparent 50%, yellow 50%);
  display: inline-block;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .p-master__last {
    font-size: 18px;
    line-height: 1.2;
    background: linear-gradient(transparent 50%, yellow 50%);
    display: inline;
  }
}

/* ===============================================
合格実績
=============================================== */
.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 30px;
    background: url(../img/goukaku_bg_sp.jpg) no-repeat center center/cover;
  }
}
.p-goukaku__contents {
  background: #fff;
  border-radius: 20px;
  box-shadow: 7px 7px 7px rgba(255, 103, 161, 0.3);
  background-clip: padding-box;
  filter: drop-shadow(-7px -7px 7px rgba(255, 103, 161, 0.3));
  background-clip: padding-box;
  padding: 20px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-goukaku__contents {
    padding: 14px;
  }
}
.p-goukaku__top {
  font-size: 46px;
  font-weight: 900;
  line-height: 1.1;
}
@media screen and (max-width: 767px) {
  .p-goukaku__top {
    font-size: 24px;
    line-height: 0.7;
  }
}
.p-goukaku__top .big {
  font-size: 66px;
  color: #B5252A;
  padding: 0 7px;
}
@media screen and (max-width: 767px) {
  .p-goukaku__top .big {
    font-size: 36px;
  }
}
.p-goukaku__txt {
  color: #005CC2;
  font-size: 36px;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .p-goukaku__txt {
    font-size: 20px;
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  .p-goukaku__cap {
    font-size: 12px;
  }
}

/* ===============================================
こんなお悩みありませんか？
=============================================== */
.p-onayami {
  padding: 40px 0 60px;
  position: relative;
  background: linear-gradient(180deg, #E4E6EC, #fff 45%, #fff 50%, #FFECEC);
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-onayami {
    padding: 30px 0px 40px;
  }
}
.p-onayami__titlearea {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.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: 0px;
  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: 80px;
    height: 80px;
    bottom: -90px;
    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: 80px;
    height: 80px;
    left: calc(50% + 5px);
    bottom: -90px;
  }
}
.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: 16px;
  row-gap: 50px;
  width: 100%;
  margin: 60px 0 30px;
}
@media screen and (max-width: 767px) {
  .p-onayami__list {
    row-gap: 20px;
    margin: 110px 0 30px 0;
  }
}
.p-onayami__item {
  position: relative;
  width: calc(33% - 16px);
  height: 90px;
  background: #fff;
  border-radius: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0px 20px 0px;
  filter: drop-shadow(3px 3px 5px rgba(179, 155, 155, 0.3));
  font-feature-settings: "palt";
  line-height: 1.4;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .p-onayami__item {
    width: calc(50% - 10px);
    border-radius: 10px;
    height: 100%;
    font-size: 15px;
    padding: 30px 16px 10px;
    font-weight: 400;
  }
}
.p-onayami__item::before {
  position: absolute;
  content: "";
  width: 90px;
  height: 52px;
  background: #FF2E63;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}
@media screen and (max-width: 767px) {
  .p-onayami__item::before {
    width: 70px;
    height: 40px;
    top: -12px;
  }
}
.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% - 16px);
}
@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% - 16px);
}
@media screen and (max-width: 767px) {
  .p-onayami__item--05 {
    width: 60%;
  }
}
.p-onayami__item--05::before {
  width: 65px;
  mask-image: url(../img/onayami05.png);
}
@media screen and (max-width: 767px) {
  .p-onayami__item--05::before {
    width: 50px;
  }
}
.p-onayami__arrow {
  width: 80%;
  margin: 0 auto;
  height: 180px;
  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: 90%;
    padding-top: 14px;
    height: 120px;
  }
}
.p-onayami__arrow p {
  color: #fff;
  text-align: center;
  font-size: 24px;
  font-feature-settings: "palt";
  font-weight: 400;
  letter-spacing: 1px;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-onayami__arrow p {
    line-height: 1.3;
    font-size: 18px;
  }
}
.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: 20px;
  }
}
.p-onayami__pic {
  width: 470px;
  margin: 10px auto;
}
@media screen and (max-width: 767px) {
  .p-onayami__pic {
    width: 85%;
    margin: 10px auto 20px;
  }
}
.p-onayami__box {
  background: #fff;
  filter: drop-shadow(3px 3px 5px rgba(179, 155, 155, 0.3));
  padding: 20px 0;
  border-radius: 10px;
  width: 775px;
  margin: 0 auto;
  text-align: center;
  font-size: 24px;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-onayami__box {
    width: 90%;
    font-size: 16px;
    padding: 10px 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: 18px;
  }
}

/* ===============================================
2つの主義
=============================================== */
.p-syugi__top {
  background: url(../img/syugi_bg.jpg) no-repeat center center/cover;
  padding: 60px 0 70px;
  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: 30px 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 {
  text-align: center;
  color: #fff;
  padding: 30px 0 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-syugi__toptitle {
    padding: 16px 0 26px 0;
  }
}
.p-syugi__toptitle h3 {
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .p-syugi__toptitle h3 {
    padding: 0 0px;
  }
}
.p-syugi__toptitle h3 p.top {
  font-size: 28px;
}
@media screen and (max-width: 767px) {
  .p-syugi__toptitle h3 p.top {
    font-size: 16px;
  }
}
@media screen and (max-width: 440px) {
  .p-syugi__toptitle h3 p.top {
    font-size: 4.1vw;
    margin-bottom: 10px;
    font-weight: 700;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .p-syugi__toptitle h3 img {
    width: 90%;
  }
}
.p-syugi__toptitle::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 4px;
  background: #fff;
  left: 0;
  top: 12px;
}
@media screen and (max-width: 767px) {
  .p-syugi__toptitle::before {
    height: 2px;
    top: 5px;
  }
}
.p-syugi__toptitle::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 4px;
  background: #fff;
  left: 0;
  bottom: 12px;
}
@media screen and (max-width: 767px) {
  .p-syugi__toptitle::after {
    height: 2px;
    bottom: 5px;
  }
}
.p-syugi__toptitle p {
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .p-syugi__toptitle p {
    font-size: 16px;
    position: relative;
    width: 100%;
    line-height: 1.4;
    padding: 0 5%;
    text-align: left;
    font-weight: 400;
  }
}
.p-syugi__toptitle--01 {
  background: #2163a0;
}
.p-syugi__toptitle--02 {
  background: #f5537c;
}
.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: 60px 0 30px;
}
@media screen and (max-width: 767px) {
  .p-syugi__item {
    padding: 24px 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.red {
  color: #FF2E63;
  font-weight: 700;
}
.p-syugi__item .subtitle {
  font-size: 44px;
  color: #2163a0;
  margin-top: 90px;
}
@media screen and (max-width: 767px) {
  .p-syugi__item .subtitle {
    margin-top: 30px;
    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;
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .p-syugi__item .wrapper {
    flex-direction: column;
    row-gap: 10px;
    padding-bottom: 20px;
  }
}
.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 {
  transform: translateY(60px);
}
@media screen and (max-width: 767px) {
  .p-syugi__item .wrapper .item--02 {
    transform: none;
  }
}
.p-syugi__item .pic {
  position: relative;
  z-index: 0;
}

/* ===============================================
更に ! ココも魅力 !
=============================================== */
.p-feature {
  background: #E0F0E9;
  padding: 60px 0 70px;
  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: 40px 0 50px;
  }
}
.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: 90px 0;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .p-feature__list {
    margin: 60px 0 0;
  }
}
.p-feature__item {
  margin-bottom: 100px;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .p-feature__item {
    margin-bottom: 160px;
  }
}
.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: 60%;
    height: 167px;
    margin: 0 auto;
    text-align: center;
    top: auto;
    left: auto;
    right: 20px;
    bottom: -130px;
  }
}
.p-feature__item .pic--r {
  right: 0;
  left: auto;
}
@media screen and (max-width: 767px) {
  .p-feature__item .pic--r {
    left: 20px;
    right: auto;
  }
}
.p-feature__box {
  background: #fff;
  padding: 60px 40px 30px;
  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: 25px 20px 20px;
  }
}
.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: 18px;
    width: 120px;
    height: 30px;
    display: grid;
    place-content: center;
    padding-top: 3px;
  }
}
.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: 18px;
    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;
    margin-top: 10px;
  }
}
.p-feature__box .img {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-feature__box .img {
    max-width: 260px;
    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: 12px 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: 70%;
    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: 70px 0 90px;
  position: relative;
  z-index: -10;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t {
    padding: 50px 0 40px;
  }
}
.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: 24vw;
    height: 24vw;
    top: -20px;
    left: -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 30px;
  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 20px;
}
@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__test {
  background: #faf7d4;
  padding: 90px 5% 60px;
  position: relative;
  margin: 120px 0 0;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__test {
    padding: 30px 5% 30px;
    margin: 60px 0 0;
  }
}
.p-sdgs_t__test .txt {
  text-align: left;
  font-size: 24px;
  margin: 0px 0 40px;
}
@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;
  background: #fff;
}
.p-sdgs_t__test-title {
  background: #FFE33F;
  color: #2E3192;
  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: 80%;
    font-size: 18px;
    top: -20px;
  }
}
.p-sdgs_t__exm {
  margin: 60px auto 20px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__exm {
    margin: 40px auto 0px;
    padding: 0 4% 20px;
  }
}
.p-sdgs_t__exm .title {
  background: #2E3192;
  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;
    margin: 10px 0;
  }
}
.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 {
  max-width: 570px;
  margin: 0 auto 40px;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__exm .pic {
    margin-bottom: 30px;
  }
}
.p-sdgs_t__arrow {
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  background: #F15A24;
  width: 200px;
  height: 60px;
  margin: 50px auto 0;
}
@media screen and (max-width: 767px) {
  .p-sdgs_t__arrow {
    width: 89px;
    height: 28px;
    margin: 30px auto 0;
  }
}
.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__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-faq {
  padding: 90px 0 120px;
}
@media screen and (max-width: 767px) {
  .p-faq {
    padding: 60px 0 60px;
  }
}
.p-faq__title {
  color: #000;
  text-align: center;
  font-size: 45px;
  max-width: 440px;
  margin: 0 auto;
  border-top: 4px solid #00A99D;
  border-bottom: 4px solid #00A99D;
}
@media screen and (max-width: 767px) {
  .p-faq__title {
    font-size: 24px;
    max-width: none;
    width: 80%;
    padding: 8px 0;
  }
}
.p-faq__area {
  padding: 60px 0 0;
}
@media screen and (max-width: 767px) {
  .p-faq__area {
    padding: 40px 0 0;
  }
}
.p-faq__item {
  margin-bottom: 5px;
}
.p-faq__icon {
  color: #00A99D;
  background: #fff;
  height: 45px;
  width: 45px;
  border-radius: 50%;
  margin-right: 10px;
  display: grid;
  place-content: center;
  place-items: center;
  padding-bottom: 3px;
  font-size: 24px;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .p-faq__icon {
    height: 35px;
    width: 35px;
    font-size: 18px;
  }
}
.p-faq__icon--a {
  color: #fff;
  background: #00A99D;
}
.p-faq__q {
  background: #27b4ab;
  color: #fff;
  font-size: 20px;
  padding: 10px 20px;
  font-weight: 600;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  transition: 0.3s;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-faq__q {
    font-size: 16px;
    padding: 10px 10px;
  }
}
.p-faq__q::before, .p-faq__q::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 21px;
  height: 2px;
  background: #fff;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.p-faq__q::after {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform: translateY(-50%) rotate(90deg);
  -ms-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg);
}
.p-faq__q:hover {
  background: #11948b;
  transition: 0.3s;
  opacity: 1;
}
.p-faq__q .q-txt {
  width: calc(100% - 65px);
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-faq__q .q-txt {
    width: calc(100% - 40px);
    padding-right: 30px;
    line-height: 1.2;
  }
}
.p-faq__q.open::after {
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.p-faq__a {
  border-left: 3px solid #dcf3f0;
  border-right: 3px solid #dcf3f0;
  border-bottom: 3px solid #dcf3f0;
  font-weight: 400;
  margin-bottom: 30px;
  display: none;
}
.p-faq__a .a-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px;
}
@media screen and (max-width: 767px) {
  .p-faq__a .a-wrapper {
    padding: 16px 20px 16px 8px;
  }
}
.p-faq__a .a-contents {
  width: calc(100% - 65px);
}
@media screen and (max-width: 767px) {
  .p-faq__a .a-contents {
    width: calc(100% - 40px);
  }
}
.p-faq__a .a-txt {
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .p-faq__a .a-txt {
    font-size: 15px;
    line-height: 1.6;
  }
}
.p-faq__link {
  background: #fff;
  transition: 0.3s;
  border: 1px solid #00A99D;
  color: #00A99D;
  font-size: 20px;
  font-weight: 700;
  display: block;
  width: 330px;
  height: 60px;
  margin-top: 20px;
  display: grid;
  place-content: center;
  place-items: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-faq__link {
    width: 100%;
    font-size: 16px;
  }
}
.p-faq__link::after {
  position: absolute;
  content: "\f138";
  font-family: "fontawesome";
  font-weight: 900;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  color: #00A99D;
}
.p-faq__link:hover {
  transition: 0.3s;
  background: #dff7f1;
}

/* ===============================================
お申込みはこちら
=============================================== */
.p-arrow {
  text-align: center;
  padding: 60px 0;
  font-weight: 700;
  letter-spacing: 3px;
  background-color: #ffffff;
  margin: 0 auto;
  display: grid;
  place-content: center;
  border-top: 2px solid rgba(195, 227, 223, 0.5);
  background-image: repeating-linear-gradient(to bottom, transparent 25px, rgba(195, 227, 223, 0.5) 26px, rgba(195, 227, 223, 0.5) 26px, transparent 27px, transparent 51px, rgba(195, 227, 223, 0.5) 52px, rgba(195, 227, 223, 0.5) 52px, transparent 53px, transparent 77px, rgba(195, 227, 223, 0.5) 78px, rgba(195, 227, 223, 0.5) 78px, transparent 79px, transparent 103px, rgba(195, 227, 223, 0.5) 104px, rgba(195, 227, 223, 0.5) 104px, transparent 105px, transparent 129px, rgba(195, 227, 223, 0.5) 130px, rgba(195, 227, 223, 0.5) 130px), repeating-linear-gradient(to right, transparent 25px, rgba(195, 227, 223, 0.5) 26px, rgba(195, 227, 223, 0.5) 26px, transparent 27px, transparent 51px, rgba(195, 227, 223, 0.5) 52px, rgba(195, 227, 223, 0.5) 52px, transparent 53px, transparent 77px, rgba(195, 227, 223, 0.5) 78px, rgba(195, 227, 223, 0.5) 78px, transparent 79px, transparent 103px, rgba(195, 227, 223, 0.5) 104px, rgba(195, 227, 223, 0.5) 104px, transparent 105px, transparent 129px, rgba(195, 227, 223, 0.5) 130px, rgba(195, 227, 223, 0.5) 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 0 25px;
}
@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: clamp(350px, 35vw, 800px) auto;
  grid-template-rows: 1fr;
  place-content: center;
  place-items: center;
  justify-content: center;
  column-gap: clamp(20px, 3.5vw, 800px);
}
@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: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: clamp(90px, 7vw, 800px);
  padding: 0 1.5vw 0 1vw;
  border-radius: 10px;
  box-shadow: 7px 7px 0px rgba(0, 0, 0, 0.9);
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-cta__link {
    padding: 0;
    box-shadow: none;
    border-radius: 0;
    height: 60px;
  }
}
.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 .icon {
  position: relative;
  height: clamp(70px, 6.5vw, 800px);
  width: clamp(100px, 8vw, 800px);
  line-height: 0;
}
.p-cta__link .icon img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.p-cta__link .icon span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  color: #ed1e79;
  font-size: clamp(24px, 2.2vw, 800px);
  white-space: nowrap;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .p-cta__link .icon {
    position: relative;
    padding-bottom: 2px;
    left: 0;
    padding-right: 5px;
    height: 55px;
    width: 55px;
  }
  .p-cta__link .icon span {
    font-size: 20px;
    padding: 0 3px 3px 0;
  }
}
.p-cta__link .inner {
  display: flex;
  flex-direction: column;
  line-height: 1;
  font-size: clamp(24px, 2.3vw, 800px);
  font-weight: 700;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-cta__link .inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    transform: none;
    font-size: clamp(16px, 4.6vw, 800px);
    width: auto;
  }
}
@media screen and (max-width: 351px) {
  .p-cta__link .inner {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .p-cta__link .inner .main {
    height: 100%;
    display: flex;
    align-items: center;
  }
}
.p-cta__link .inner .small {
  font-size: 0.9em;
  padding-left: 3px;
}
.p-cta__link .arrow {
  font-size: clamp(24px, 2vw, 800px);
}
@media screen and (max-width: 767px) {
  .p-cta__link .arrow {
    font-size: 18px;
    margin-left: 10px;
  }
}
@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: clamp(18px, 1.4vw, 800px);
  letter-spacing: 3px;
  position: relative;
}
@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: clamp(20px, 1.3vw, 800px);
  background: #fff;
  color: #005CC2;
  font-weight: 700;
  display: inline-block;
  padding: 0.5vw;
  border-radius: 5px;
  position: relative;
}
@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: clamp(60px, 5vw, 800px);
  grid-column: 2/3;
  grid-row: 2/3;
  z-index: 0;
  position: relative;
}
@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: clamp(50px, 4vw, 800px);
  grid-column: 3/4;
  grid-row: 2/3;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  letter-spacing: 2px;
}
@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: clamp(18px, 1.3vw, 800px);
  grid-column: 4/5;
  grid-row: 2/3;
  display: grid;
  line-height: 1.2;
  place-content: center;
}
@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;
  }
}

/* ===============================================
フッター
=============================================== */
.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;
  }
}

/* ===============================================
TOPへもどる
=============================================== */
.p-pagetop {
  display: none;
  width: 50px;
  height: 50px;
  background-color: #62cabd;
  color: #fff;
  position: fixed;
  bottom: 40px;
  right: 60px;
  text-align: center;
  transition: 0.3s;
  cursor: pointer;
  z-index: 99;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .p-pagetop {
    width: 40px;
    height: 40px;
    right: 3%;
    bottom: 2%;
  }
}
.p-pagetop:hover, .p-pagetopactive {
  transition: 0.3s;
  background-color: #fff;
  color: #62cabd;
}
.p-pagetop__inner {
  display: grid;
  place-content: center;
  width: 100%;
  height: 100%;
}

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

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

.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-sp-br-none {
  display: none;
}
@media screen and (max-width: 430px) {
  .u-sp-br-none {
    display: block;
  }
}

.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 */