@charset "UTF-8";
.pc {
  display: block;
}
@media screen and (max-width: 540px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 540px) {
  .sp {
    display: block;
  }
}

.image-cover {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}


/** Sidebar **/
.sidebar__nav-container {
  padding: 16px 30px 0;
}
.sidebar__nav {
  margin: 0 !important;
}
.sidebar__nav-heading {
  margin-bottom: 16px;
  padding-bottom: 8px;
  font-size: 18px;
  font-weight: 700;
  color: #69463c;
  border-bottom: 2px dotted #eedcbd;
  line-height: 1em;
}
.sidebar__nav-heading:not(:first-child) {
  margin-top: 20px;
}
.sidebar__nav-item {
  position: relative;
  padding-left: 20px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2em;
}
.sidebar__nav-item:not(:last-child) {
  margin-bottom: 16px;
}
.sidebar__nav-item::after {
  display: block;
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  background: url("./img/nav_bullet.svg") no-repeat center/contain;
  top: 3px;
  left: 0;
}
.sidebar__nav-item--bold {
  font-weight: 700;
}
.sidebar__nav-item > a, 
.sidebar__nav-item > span {
  color: #69463c;
  cursor: pointer;
}

.sidebar__nav-item > a:hover, 
.sidebar__nav-item > span:hover {
  color: #69463c;
  font-weight: 700;
}
/** Modal popup **/
.popup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  visibility: hidden;
  opacity: 0;
  z-index: -888;
  overflow: hidden;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.popup.active {
  visibility: visible;
  opacity: 1;
  z-index: 9999;
}
.popup__close {
  display: block;
  background-image: url("./img/close-icon.svg") !important;
  max-width: 60px;
  width: 100%;
  height: 60px;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  position: absolute;
  top: -60px;
  right: -60px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  border: none;
  background-color: transparent !important;
  cursor: pointer;
  padding: unset;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .popup__close {
    width: 25px;
    height: 25px;
    top: -25px;
    right: -20px;
  }
}
.popup__close:hover {
  opacity: 0.8;
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}
.popup__content {
  position: absolute;
  top: 50%;
  height: 520px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 1200px) {
  .popup__content {
    margin: 0 3%;
    height: 450px;
  }
}
@media screen and (max-width: 767px) {
  .popup__content {
    margin: 0 5.3%;
    height: auto;
    top: 55%;
  }
}
.popup__modal-container {
  max-width: 800px;
  width: 100%;
  max-height: 520px;
  overflow-y: auto;
  overflow-x: hidden;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: #de5874 #ffffff;
}

@media screen and (max-width: 767px) {
  .popup__modal-container {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: auto;
  }
}

.popup__modal-container::-webkit-scrollbar {
  width: 8px;
}

.popup__modal-container::-webkit-scrollbar-track {
  background: #ffffff;
  border-radius: 4px;
}

.popup__modal-container::-webkit-scrollbar-thumb {
  background: #de5874;
  border-radius: 4px;
}

.popup__modal-container::-webkit-scrollbar-thumb:hover {
  background: #de5874;
}

.popup__modal-image {
  display: block;
  max-width: 100%;
}

@media screen and (max-width: 767px) {
  .popup__modal-image {
    display: block;
    object-fit: contain;
    transition: transform 0.3s ease;
  }
}

/** Additional styles for popup links **/
.sched-list__pl10 {
  padding-left: 10px !important;
}

.sched-list__button {
  background: #de5874;
  color: #fff;
  font-weight: 600;
  text-align: center;
  border-radius: 4px;
  font-size: 16px;
  display: block;
  margin-left: auto;
  width: fit-content;
}

@media screen and (max-width: 767px) {
  .sched-list__button {
    max-width: 200px;
    width: 100%;
    font-size: 12px;
  }
}

.sched-list__item {
  list-style: none;
  width: fit-content;
  margin-top: 10px;
  cursor: pointer;
  transition: 0.3s ease;
}

.sched-list__item > span {
  border-bottom: 1px solid #000;
  font-size: 18px;
}

.sched-list__item::before {
  content: "";
  background: url("./img/arrow_down.svg") no-repeat center center / contain;
  display: inline-block;
  width: 15px;
  height: 15px;
  top: 50%;
  right: 12px;
  margin-top: -7px;
  transform: rotate(-90deg);
}

.sched-list__item:hover {
  opacity: 0.7;
}

.course-list-schedule {
  margin-bottom: 20px;
}

body.no-scroll {
  overflow: hidden;
  height: 100vh;
}


/** Top **/
.top__pair-discount {
  position: relative;
  margin-bottom: 64px;
  padding: 100px 45px 45px;
  width: calc(100% - 20px);
  min-height: 438px;
  background: url("./img/pair_discount_bg.png") no-repeat center/contain;
}
@media screen and (max-width: 540px) {
  .top__pair-discount {
    width: calc(100% - 10px);
    margin: 0 auto 48px;
    padding: 20px 15px 45px;
    background: url("./img/pair_discount_bg_sp.png") no-repeat center/contain;
  }
}
.top__pair-discount-container {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}
@media screen and (max-width: 540px) {
  .top__pair-discount-container {
    flex-direction: column;
    gap: 12px;
    align-items: center;
  }
}
.top__pair-discount-image {
  width: 248px;
  object-fit: cover;
}
@media screen and (max-width: 540px) {
  .top__pair-discount-image {
    width: 100%;
  }
}
.top__pair-discount-heading {
  position: absolute;
  top: 15px;
  left: 50%;
  transform: translatex(-50%);
}
@media screen and (max-width: 540px) {
  .top__pair-discount-heading {
    top: 20px;
  }
}
.top__pair-discount-subheading {
  margin-bottom: 24px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #69463c;
  text-align: center;
}
@media screen and (max-width: 540px) {
  .top__pair-discount-subheading {
    font-size: 15px;
  }
}
.top__pair-discount-subheading .pink {
  color: #de5874;
}
.top__pair-discount-subheading .highlight {
  background: linear-gradient(to bottom, transparent 0%, transparent 35%, #fde382 35%);
  text-shadow: 1px 0 0 #fff, 1px 0 0 #fff, 0 1px 0 #fff, 0 -1px 0 #fff;
}
.top__pair-discount-details {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
@media screen and (max-width: 540px) {
  .top__pair-discount-details {
    width: 100%;
  }
}
.top__pair-discount-details-heading {
  position: relative;
  display: inline-block;
  margin: 0 auto;
  font-size: 13px;
  font-weight: 700;
  color: #69463c;
}
.top__pair-discount-details-heading::before, .top__pair-discount-details-heading::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  width: 1px;
  height: 18px;
  background: #69463c;
  transform: rotate(-26deg) translatey(-50%);
}
@media screen and (max-width: 540px) {
  .top__pair-discount-details-heading::before, .top__pair-discount-details-heading::after {
    background: #e9cfa3;
  }
}
.top__pair-discount-details-heading::before {
  left: -10px;
}
.top__pair-discount-details-heading::after {
  right: -10px;
  transform: rotate(26deg) translatey(-50%);
}
.top__pair-discount-details-list {
  margin: 16px 0 24px;
}
@media screen and (max-width: 540px) {
  .top__pair-discount-details-list {
    margin: 10px auto 16px;
    list-style-type: "•" !important;
  }
}
.top__pair-discount-details-item {
  position: relative;
  width: calc(100% - 18px);
  margin-left: auto;
  padding: 10px;
  border-radius: 8px;
  border: 1px solid #ecd7b4;
  background: #fff;
  text-align: center;
}
@media screen and (max-width: 540px) {
  .top__pair-discount-details-item {
    margin: 0;
    padding: 0 0 0 5px;
    width: fit-content;
    background: initial;
    font-size: 14px;
    font-weight: 700;
    color: #69463c;
    border: 0;
  }
}
@media screen and (max-width: 540px) {
  .top__pair-discount-details-item::marker {
    margin-right: 0;
    color: #e9cfa3;
  }
}
.top__pair-discount-details-item::before, .top__pair-discount-details-item::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: -18px;
  transform: translatey(-50%);
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-right: 18px solid #ecd7b4;
}
@media screen and (max-width: 540px) {
  .top__pair-discount-details-item::before, .top__pair-discount-details-item::after {
    display: none;
  }
}
.top__pair-discount-details-item::after {
  border-right: 18px solid #fff;
  left: -15px;
}
.top__pair-discount-details-item:not(:last-child) {
  margin-bottom: 8px;
}
@media screen and (max-width: 540px) {
  .top__pair-discount-details-item:not(:last-child) {
    margin-bottom: 5px;
  }
}
.top__pair-discount-button {
  position: relative;
  margin-left: auto;
  background: #de5874;
  min-width: 200px;
  width: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  padding: 6.5px 0;
  border-radius: 8px;
}
@media screen and (max-width: 540px) {
  .top__pair-discount-button {
    margin: 0 auto;
    padding: 7.5px 0;
    width: 70%;
  }
}
.top__pair-discount-button:hover {
  color: #fff !important;
}
.top__pair-discount-button::after {
  display: block;
  content: "";
  position: absolute;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  top: 0;
  left: 0;
  margin: 1px;
  border: 1px solid #fff;
  border-radius: 8px;
  pointer-events: none;
}
.top__pair-discount-button > span {
  display: flex;
  align-items: center;
}
.top__pair-discount-button > span::after {
  display: inline-block;
  content: "";
  margin-left: 16px;
  width: 16px;
  height: 16px;
  background: url("./img/arrow_right_white.svg") no-repeat center/contain;
}
.top__features {
  width: calc(100% - 20px);
  margin-bottom: 64px;
}
@media screen and (max-width: 540px) {
  .top__features {
    margin: 0 auto 28px;
  }
}
.top__section-heading {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 0 30px;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #de5874;
  line-height: 1em;
}
@media screen and (max-width: 540px) {
  .top__section-heading {
    display: block;
    padding: 34px 0 28px;
    font-size: 20px;
    text-align: center;
  }
}
.top__section-heading--course-list {
  padding: 27px 0;
}
@media screen and (max-width: 540px) {
  .top__section-heading--course-list {
    margin-bottom: 24px;
    padding: 34px 0 36px;
  }
}
.top__section-heading span {
  vertical-align: middle;
}
.top__section-heading .small {
  font-size: 20px;
}
.top__section-heading .black {
  color: #333;
}
.top__section-heading .ltsp-120 {
  letter-spacing: 0.12em;
}
.top__section-heading .ltsp-200 {
  letter-spacing: 0.2em;
}
@media screen and (max-width: 540px) {
  .top__section-heading .sp-mt10 {
    display: inline-block;
    margin-top: 10px;
  }
}
.top__section-heading::before {
  display: block;
  content: "";
  position: absolute;
  width: 100%;
  height: 54px;
  background: url("./img/feature_decor_top.svg") no-repeat center/cover;
  top: 0;
  left: 0;
  pointer-events: none;
}
@media screen and (max-width: 540px) {
  .top__section-heading::before {
    height: 34px;
    background-size: contain;
  }
}
.top__section-heading::after {
  display: block;
  content: "";
  position: absolute;
  width: 100%;
  height: 60px;
  background: url("./img/feature_decor_bottom.svg") no-repeat center/cover;
  bottom: 0;
  left: 0;
  pointer-events: none;
}
@media screen and (max-width: 540px) {
  .top__section-heading::after {
    height: 36px;
    background-size: contain;
  }
}
.top__section-heading-3 {
  margin-top: -5px;
  margin-inline: 5px;
}
@media screen and (max-width: 540px) {
  .top__section-heading-3 {
    margin-top: 0;
  }
}
.top__features-list {
  margin-top: 32px;
}
.top__features-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  column-gap: 24px;
}
@media screen and (max-width: 540px) {
  .top__features-item {
    flex-direction: column;
  }
}
.top__features-item:not(:last-child) {
  margin-bottom: 32px;
  padding-bottom: 27px;
  border-bottom: 2px dotted #fceef2;
}
@media screen and (max-width: 540px) {
  .top__features-item:not(:last-child) {
    margin-bottom: 24px;
    padding-bottom: 34px;
  }
}
.top__features-left {
  width: 416px;
}
@media screen and (max-width: 540px) {
  .top__features-left {
    width: 100%;
  }
}
.top__features-item-heading-container {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 540px) {
  .top__features-item-heading-container {
    margin-bottom: 16px;
  }
}
.top__features-item-circle {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: linear-gradient(to bottom, #ec6f88, #d1394f);
  color: #fff;
}
.top__features-item-circle > span {
  font-family: "Source Han Serif", "Sawarabi Mincho", serif;
  font-size: 11px;
  line-height: 1em;
}
@media screen and (max-width: 540px) {
  .top__features-item-circle > span {
    font-size: 9px;
  }
}
.top__features-item-circle > span.number {
  margin-top: 3px;
  font-size: 24px;
}
@media screen and (max-width: 540px) {
  .top__features-item-circle > span.number {
    font-size: 21px;
  }
}
.top__features-item-heading {
  margin-left: 16px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #69463c;
}
@media screen and (max-width: 540px) {
  .top__features-item-heading {
    font-size: 15px;
  }
}
.top__features-item-heading .large {
  font-size: 24px;
}
@media screen and (max-width: 540px) {
  .top__features-item-heading .large {
    font-size: 20px;
  }
}
.top__features-item-subheading-wrapper {
  position: relative;
  margin-bottom: 24px;
  z-index: 0;
}
@media screen and (max-width: 540px) {
  .top__features-item-subheading-wrapper {
    margin-top: 24px;
    padding: 0 10px;
  }
}
.top__features-item-subheading {
  font-size: 16px;
  font-weight: 700;
  color: #69463c;
}
@media screen and (max-width: 540px) {
  .top__features-item-subheading {
    font-size: 17px;
  }
}
.top__features-item-subheading .red {
  color: #b02b3f;
}
.top__features-item-subheading-decor {
  position: absolute;
  left: 30px;
  top: 0;
  z-index: -1;
}
@media screen and (max-width: 540px) {
  .top__features-item-subheading-decor {
    left: 20px;
    top: 5px;
  }
}
.top__features-item-desc {
  font-size: 14px;
  margin-bottom: 20px;
}
@media screen and (max-width: 540px) {
  .top__features-item-desc {
    margin-bottom: 0;
    padding: 0 10px;
  }
}
.top__features-item-image {
  width: 240px;
  object-fit: cover;
}
@media screen and (max-width: 540px) {
  .top__features-item-image {
    width: 100%;
    padding: 0 10px;
  }
}
.top__course-list {
  width: calc(100% - 20px);
  margin-bottom: 36px;
  padding-bottom: 36px;
  border-bottom: 2px dotted #fceef2;
}
@media screen and (max-width: 540px) {
  .top__course-list {
    width: 100%;
    padding-bottom: 48px;
    margin: 0 auto 24px;
  }
}
.top__course-list-button {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  position: relative;
  min-width: 325px;
  min-height: 40px;
  width: fit-content;
  border-radius: 8px;
  background: #FFDBE5;
  font-size: 16px;
  font-weight: 700;
  line-height: 1em;
  color: #DE5874;
}
@media screen and (max-width: 540px) {
  .top__course-list-button {
    margin-top: 16px;
    min-width: 300px;
    min-height: 54px;
  }
}
.top__course-list-button::before {
  display: block;
  content: "";
  position: absolute;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  top: 1px;
  left: 1px;
  border: 1px solid #DE5874;
  border-radius: 8px;
  pointer-events: none;
}
.top__course-list-button::after {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  background: url("./img/arrow_down.svg") no-repeat center/contain;
  top: 50%;
  right: 13px;
  transform: translateY(-50%) rotate(-90deg);
  pointer-events: none;
}
.top__course-nav-button-list {
  margin-bottom: 48px;
  display: flex;
  justify-content: center;
  gap: 16px;
}
@media screen and (max-width: 540px) {
  .top__course-nav-button-list {
    width: calc(100% - 30px);
    margin: 0 auto 48px;
    gap: 9px;
  }
}
.top__course-nav-button {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 216px;
  min-height: 80px;
  background: #DE5874;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  border-radius: 8px;
  z-index: 0;
  padding: 0 16px;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 540px) {
  .top__course-nav-button {
    justify-content: center;
    align-items: flex-end;
    min-width: auto;
    width: 110px;
    height: 98px;
    padding: 0 5px 20px;
  }
}
.top__course-nav-button:hover {
  color: #fff !important;
}
.top__course-nav-button > span {
  display: flex;
  align-items: center;
}
.top__course-nav-button > span::before {
  display: inline-block;
  position: static;
  content: "";
  width: 16px;
  height: 16px;
  background: url("./img/arrow_right_white.svg") no-repeat center/contain;
  margin-right: 16px;
}
@media screen and (max-width: 540px) {
  .top__course-nav-button > span::before {
    display: none;
  }
}
.top__course-nav-button::before {
  display: block;
  content: "";
  position: absolute;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  top: 1px;
  left: 1px;
  border: 1px solid #fff;
  border-radius: 8px;
  pointer-events: none;
}
.top__course-nav-button::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: url("./img/course-nav-button-bg.png") no-repeat center/cover;
  z-index: -1;
  filter: opacity(0.4);
  pointer-events: none;
}
.top__nav-course-icon-wrapper {
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
}
@media screen and (max-width: 540px) {
  .top__nav-course-icon-wrapper {
    left: 50%;
    top: 20px;
    transform: translateX(-50%);
  }
  .top__nav-course-icon-wrapper::before, .top__nav-course-icon-wrapper::after {
    display: none !important;
  }
}
.top__nav-course-icon-wrapper.question::after {
  display: block;
  content: "";
  position: absolute;
  width: 21px;
  height: 21px;
  top: -10px;
  right: -15px;
  background: url("./img/course_icon_decor_1.svg") no-repeat center/contain;
}
@media screen and (max-width: 540px) {
  .top__nav-course-icon-wrapper.document {
    top: 15px;
  }
}
.top__nav-course-icon-wrapper.document::before {
  display: block;
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  background: url("./img/course_icon_decor_2_1.svg") no-repeat center/contain;
  top: -5px;
  left: -15px;
}
.top__nav-course-icon-wrapper.document::after {
  display: block;
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background: url("./img/course_icon_decor_2_2.svg") no-repeat center/contain;
  bottom: -10px;
  right: -10px;
}
.top__nav-course-icon-wrapper.mail::before {
  display: block;
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background: url("./img/course_icon_decor_3_1.svg") no-repeat center/contain;
  top: -10px;
  right: -10px;
}
.top__nav-course-icon-wrapper.mail::after {
  display: block;
  content: "";
  position: absolute;
  width: 24px;
  height: 20px;
  background: url("./img/course_icon_decor_3_2.svg") no-repeat center/contain;
  bottom: -15px;
  left: -20px;
}
.top__type {
  width: calc(100% - 20px);
  padding: 100px 60px 40px;
  background: url("./img/type_border.png") no-repeat center/105% 1000px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .top__type {
    width: 100%;
  }
}
@media screen and (max-width: 540px) {
  .top__type {
    width: calc(100% - 10px);
    margin: 0 auto 48px;
    height: 1050px;
    background: url("./img/type_border_sp.png") no-repeat center -20px/115% 1090px;
    padding: 80px 20px 0;
  }
}
.top__type-heading {
  margin-bottom: 24px !important;
  font-family: "Source Han Serif", "Sawarabi Mincho", serif;
  font-size: 24px;
  color: #333;
  text-align: center;
}
@media screen and (max-width: 540px) {
  .top__type-heading {
    font-size: 16px;
  }
}
.top__type-heading .red {
  color: #DE5874;
}
.top__type-subheading {
  margin-bottom: 16px;
  width: 100%;
  border-radius: 20px;
  background: #ffdbe5;
  padding: 5px 0;
  font-size: 18px;
  font-weight: 700;
  color: #DE5874;
  text-align: center;
}
@media screen and (max-width: 540px) {
  .top__type-subheading {
    font-size: 16px;
  }
}
.top__type-desc {
  margin-bottom: 33px;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 540px) {
  .top__type-desc {
    text-align: left;
  }
}
.top__bba {
  width: calc(100% - 30px);
  margin: 0 auto;
  background: #FFF7E9;
  border-radius: 8px;
  padding: 24px 5px 32px;
}
@media screen and (max-width: 540px) {
  .top__bba {
    width: calc(100% - 10px);
    padding-inline: 0;
  }
}
.top__bba-heading {
  margin-bottom: 40px;
  font-family: "Source Han Serif", "Sawarabi Mincho", serif;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: #69463C;
  text-align: center;
}
.top__bba-discount-item {
  position: relative;
  border: 1px solid #ECD7B4;
  border-radius: 4px;
  background: #fff;
  padding: 26px 0 16px;
}
@media screen and (max-width: 540px) {
  .top__bba-discount-item {
    display: block;
  }
}
.top__bba-discount-item:not(:last-child) {
  margin-bottom: 36px;
}
.top__bba-discount-item::after {
  display: block;
  content: "";
  position: absolute;
  width: 15px;
  height: 15px;
  background: url("./img/arrow_down.svg") no-repeat center/contain;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
}
.top__bba-discount-heading-over {
  width: calc(100% - 32px);
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 2px;
  padding: 4px;
  background: #DD5874;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  text-align: center;
}
.top__bba-discount-heading-main {
  font-size: 15px;
  text-align: center;
  font-weight: 700;
  color: #69463C;
}
.top__bba-discount-heading-main .black {
  color: #000;
}
.top__bba-discount-heading-main .large {
  font-size: 21px;
}
.top__bba-discount-heading-main .small {
  font-size: 14px;
}

/** TOP BLOG **/
.top__blog {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .top__blog {
    padding: 0 15px;
	margin: 30px auto;
  }
}
.top__blog > h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #de5874;
  border-bottom: 2px dotted #de5874;
  padding: 5px 0;
  font-size: 150%;
  font-weight: 500;
  margin-bottom: 10px;
}
.top__blog > h2::before {
  content: "";
  display: block;
  width: 10px;
  background: -webkit-gradient(linear, left top, left bottom, from(#de5874), to(#ab2639));
  background: linear-gradient(#de5874, #ab2639);
  margin-right: 10px;
}
@media screen and (max-width: 767px) {
  .top__blog > h3 {
    text-align: center;
    margin: 0 auto 14px;
    color: #ab2639;
    font-size: 20px;
  }
}

/** entry-content about/teacher **/
.about-teachers__img-wrap {
  max-width: 100px;
  width: 100%;
  height: 100%;
  margin-right: 20px;
}

/** BLOG **/
.blog-page {
  padding: 30px 15px 0 0;
}
@media screen and (max-width: 767px) {
  .blog-page {
    padding: 20px 4% 0;
  }
}
.blog-page h1 {
  background-image: url("./img/banner-blog.jpg");
  background-repeat: no-repeat;
  background-size: 100%;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  width: 100%;
  height: 100px;
}
@media screen and (max-width: 767px) {
  .blog-page h1 {
    height: 60px;
  }
}
.blog-page .blog__list {
  grid-template-columns: repeat(3, 1fr);
}


.blog__list {
  margin-top: 1.8462em;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .blog__list {
	margin-top: 20px;
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
.blog__article:hover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.blog__link {
  display: block;
  width: 100%;
  color: inherit;
  text-decoration: none;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.blog__thumb {
  overflow: hidden;
  border-radius: 4px;
  aspect-ratio: 154/104;
}
.blog__thumb img {
  display: block;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.blog__date {
  display: block;
  margin-top: 8px;
  font: 400 12px/1 "Open Sans", sans-serif;
  letter-spacing: 0.04em;
}
.blog__categories {
  margin-top: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
}
.blog__cat {
  display: inline-block;
  padding: 0 10px;
  text-align: center;
  font: 500 12px/20px "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  background: #F2D1DA;
}
.blog__title {
  font: 700 12px/20px "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  margin-top: 10px;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
@media screen and (max-width: 540px) {
  .blog__title {
    margin-bottom: 0 !important;
  }
}
.blog__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 5px auto 0;
  position: relative;
  min-width: 325px;
  min-height: 40px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 8px;
  background: #FFDBE5;
  font-size: 16px;
  font-weight: 700;
  line-height: 1em;
  color: #DE5874;
}
@media screen and (max-width: 540px) {
  .blog__button {
    margin-top: 16px;
    min-width: 300px;
    min-height: 54px;
  }
}
.blog__button:hover {
  color: rgba(51, 51, 51, 0.7);
}
.blog__button::before {
  display: block;
  content: "";
  position: absolute;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  top: 1px;
  left: 1px;
  border: 1px solid #DE5874;
  border-radius: 8px;
  pointer-events: none;
}
.blog__button::after {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  background: url("./img/arrow_down.svg") no-repeat center/contain;
  top: 50%;
  right: 13px;
  -webkit-transform: translateY(-50%) rotate(-90deg);
          transform: translateY(-50%) rotate(-90deg);
  pointer-events: none;
}
.blog__pagination {
  width: 100%;
  margin: 30px auto;
  padding-top: 20px;
  border-top: 1px solid #ccc;
}
.blog__image-wrap {
  width: 100%;
}
.blog__image-wrap img {
  width: 100%;
}
.blog__image-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .blog__image-container {
    grid-template-columns: 1fr;
  }
}

/** PAGINATION **/
.pagination {
  border: none !important;
  width: fit-content;
  margin: 0 auto;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .pagination {
    max-width: 250px;
  }
}
@media screen and (max-width: 767px) {
  .pagination .wp-pagenavi {
    width: 100%;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}

.pagination,
.wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .pagination,
  .wp-pagenavi {
    gap: 15px 10px;
  }
}
.pagination .page,
.pagination .current,
.pagination .previouspostslink,
.pagination .nextpostslink,
.wp-pagenavi .page,
.wp-pagenavi .current,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  height: 40px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 8px;
  background: #FFDBE5;
  font-size: 16px;
  font-weight: 700;
  line-height: 1em;
  color: #DE5874;
  border: 1px solid #DE5874;
}
@media screen and (max-width: 767px) {
  .pagination .page,
  .pagination .current,
  .pagination .previouspostslink,
  .pagination .nextpostslink,
  .wp-pagenavi .page,
  .wp-pagenavi .current,
  .wp-pagenavi .previouspostslink,
  .wp-pagenavi .nextpostslink {
    font-size: 14px;
  }
}
.pagination .page:hover,
.pagination .current:hover,
.pagination .previouspostslink:hover,
.pagination .nextpostslink:hover,
.wp-pagenavi .page:hover,
.wp-pagenavi .current:hover,
.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover {
  color: rgba(51, 51, 51, 0.7);
}
.pagination .previouspostslink,
.pagination .nextpostslink,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  width: 134px;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .pagination .previouspostslink,
  .pagination .nextpostslink,
  .wp-pagenavi .previouspostslink,
  .wp-pagenavi .nextpostslink {
    width: 120px;
  }
}
.pagination .previouspostslink:not(a), .pagination .previouspostslink.inactive,
.pagination .nextpostslink:not(a),
.pagination .nextpostslink.inactive,
.wp-pagenavi .previouspostslink:not(a),
.wp-pagenavi .previouspostslink.inactive,
.wp-pagenavi .nextpostslink:not(a),
.wp-pagenavi .nextpostslink.inactive {
  background: #f2f2f2;
  color: #979797;
  pointer-events: none;
  border: 1px solid #ccc;
  pointer-events: none;
}
.pagination .previouspostslink::before,
.pagination .nextpostslink::after,
.wp-pagenavi .previouspostslink::before,
.wp-pagenavi .nextpostslink::after {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  background: url("./img/arrow_down.svg") no-repeat center/contain;
  top: 50%;
  pointer-events: none;
}
.pagination .previouspostslink,
.wp-pagenavi .previouspostslink {
  padding-left: 20px;
}
.pagination .previouspostslink::before,
.wp-pagenavi .previouspostslink::before {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
  left: 13px;
}
.pagination .previouspostslink:not(a)::before, .pagination .previouspostslink.inactive::before,
.wp-pagenavi .previouspostslink:not(a)::before,
.wp-pagenavi .previouspostslink.inactive::before {
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
}
.pagination .nextpostslink,
.wp-pagenavi .nextpostslink {
  padding-right: 20px;
}
.pagination .nextpostslink::after,
.wp-pagenavi .nextpostslink::after {
  -webkit-transform: translateY(-50%) rotate(-90deg);
          transform: translateY(-50%) rotate(-90deg);
  right: 13px;
}
.pagination .nextpostslink:not(a)::after, .pagination .nextpostslink.inactive::after,
.wp-pagenavi .nextpostslink:not(a)::after,
.wp-pagenavi .nextpostslink.inactive::after {
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
}
.pagination .page,
.pagination .current,
.wp-pagenavi .page,
.wp-pagenavi .current {
  width: 40px;
}
@media screen and (max-width: 767px) {
  .pagination .page,
  .pagination .current,
  .wp-pagenavi .page,
  .wp-pagenavi .current {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
.pagination .current,
.wp-pagenavi .current {
  background: #f2f2f2;
  color: #979797;
  pointer-events: none;
  border: 1px solid #ccc;
  pointer-events: none;
}

/** BLOG TEMPLATE **/
.blog-template-default .single-page, .post-template-default .single-page {
  padding-right: 5%;
  margin-bottom: 50px;
}
.blog-template-default .single-page .article-info, .post-template-default .single-page .article-info {
  margin-bottom: 1rem;
}
.blog-template-default .single-page .article-info .cat-data a, .post-template-default .single-page .article-info .cat-data a {
  pointer-events: none; /* 自動でリンクになり不要なページへ飛ばされるため強制的にリンクをオフにしています。余裕があればphp等に変えた方が適切です */
}
.blog-template-default .single-page .wp-block-image, .post-template-default .single-page .wp-block-image {
  text-align: center;
}
.blog-template-default .single-page .blog-text-area, .post-template-default .single-page .blog-text-area {
  margin-top: 2em;
  padding: 2em;
  background: #fceef2;
}
.blog-template-default .single-page .blog-text-area h2, .post-template-default .single-page .blog-text-area h2 {
  line-height: 1.5;
}
.blog-template-default .single-page .blog-text-area a, .post-template-default .single-page .blog-text-area a {
  text-decoration: underline;
  display: inline-block;
  font-weight: 600;
  margin: 1em;
}
.blog-template-default .single-page .blog-text-area p, .post-template-default .single-page .blog-text-area p {
  font-size: 0.9em;
  line-height: 1.7;
  margin: 1em 0 2em;
}
.blog-template-default .single-page .blog-text-area .red, .post-template-default .single-page .blog-text-area .red {
  color: #f40;
}
.blog-template-default .single-page .blog-text-area .bg-area, .post-template-default .single-page .blog-text-area .bg-area {
  background-color: #fff;
  display: block;
  text-align: center;
  margin: 1em;
  padding: 2px;
}
.blog-template-default .single-page .blog-text-area .em-text, .post-template-default .single-page .blog-text-area .em-text {
  font-weight: 600;
}

/** Trumps **/
#main #top-page h2 {
  margin-bottom: 0 !important;
}

.top__course-list .course-list-page .course-list-category ul.course-list-subcategory li:first-of-type {
  width: calc(50% - 15px);
}

.course-list-page .course-list-category ul.course-list-subcategory li a:after {
  transform: rotate(-90deg);
}

@media screen and (max-width: 540px) {
  #main #top-page-sp div#topic-list ul li {
    padding-bottom: 10px;
  }
}
@media screen and (max-width: 540px) {
  #main #top-page-sp div#topic-list ul li:not(:last-child) {
    margin-bottom: 10px;
  }
}
