@charset "shift_jis";
/* Updated 2026/10/19.T */
/*--------------------------
component updates
--------------------------*/
.-orange01.btn-type02, .btn-type01.-orange01 {
  background-color: #ff5f04;
}
.t-orange {
  color: #e95501;
}
#containment-area ._inner-molecule>:not([class*=list-notice]) {
  margin-top: 0;
}
/*--------------------------
navigation
--------------------------*/
.text .title .sub-text {
  display: block;
  width: 116px;
  margin: 0 auto 2px;
}
@media screen and (max-width: 767px) {
  .text .title .sub-text {
    width: 74px;
  }
}
/*--------------------------
course list
--------------------------*/
.course-list {
  display: flex;
  flex-direction: column;
  gap: 24px; 
}
.course-item {
  border: 1px solid #d5dedb;
  border-radius: 8px;
  overflow: hidden;
}
.course-heading {
  padding: 12.5px 20px 12.5px 0;
  border-bottom: 1px solid #d5dedb;
  display: flex;
  align-items: center;
}
.course-heading.-blue {
  background-color: #f2fbfb;
}
.course-heading.-green {
  background-color: #f5f9e6;
}
.course-heading.-orange {
  background-color: #fef7e6;
}
.course-heading.-pink {
  background-color: #f7e6ef;
}
.course-title {
  font-size: 20px;
  font-weight: 700;
  display: block;
  width: 215px;
  flex-shrink: 0;
  padding-left: 16px;
}
.course-title-sub {
  background-color: #fff;
  flex-grow: 1;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 4px 8px;
  border-radius: 4px;
}
.course-title-icon {
  display: block;
  width: 30px;
}
.course-sub-text {
  display: flex;
  align-items: center;
  gap: 12px;
}
.course-sub-text-content {
  color: #004831;
  font-size: 14px;
  font-weight: 700;
}
.course-title-note {
  font-size: 12px;
  padding-left: 17px;
  position: relative;
}
.course-title-note > .mark {
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  text-align: left;
}
.course-body {
  padding: 16px 16px 15px;
}
.course-body .list-circle01 > .item {
  display: flex;
  align-items: center;
}
.course-body .list-circle01 > .item > .icon {
  margin-left: -8px;
}
.course-body .icon-question01 {
  display: block;
}
.course-cta {
  max-width: 740px;
  margin-inline: auto;
  position: relative;
}
.course-cta .-large01 {
  width: 340px;
}
.course-cta .-orange01 {
  background-color: #ff5f04;
}
.course-cta-illust {
  width: 118px;
  position: absolute;
  top: -44px;
  right: -46px;
  transform: translateX(100%);
}
@media screen and (max-width: 767px) {
  .course-heading {
    padding: 16px;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .course-title {
    padding-left: 0;
  }
  .course-sub-text {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
  }
  .course-cta-illust {
    width: 73px;
    top: 0;
    bottom: 0;
    right: -14px;
    transform: translate(0, 100%);
  }
}
/*--------------------------
accordion
--------------------------*/
.course-date-accordion .list-notice01 {
  display: flex;
  gap: 8px;
}
.course-date-accordion .list-notice01 > li {
  margin-top: 0!important;
}

@media screen and (max-width: 767px) {
  .course-date-accordion .list-notice01 {
    flex-direction: column;
    gap: 8px;
  }
}

/*---------------------------------------------
card
---------------------------------------------*/
.card-tile01 {
  align-items: center;
}
.card-tile01.-wide01 {
  min-height: 104px;
}
.card-normal01.-step01 {
  overflow: visible;
  padding-top: 16px;
  background: initial;
  border: initial;
  border-radius: initial;
  text-align: center;
  position: relative;
}
.card-normal01.-step01>.inner {
  height: 100%;
  background: #fff;
  border: 1px solid #d5dedb;
  border-radius: 5px;
}
.card-normal01.-step01>.inner>.header {
  font-family: roboto-bold;
  padding: 0;
  font-size: 3.6rem;
  color: #004831;
  position: absolute;
  top: -13px;
  left: 0;
  width: 100%;
  text-align: center;
}
.card-normal01.-step01>.inner>.body {
  padding-top: 40px;
}
.card-normal01.-step01>.inner>.body:not(:first-child)::before {
  content: initial;
}
.card-normal02>.inner>.header>.title>* {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .card-tile01.-wide01 {
    padding: 20px;
    min-height: initial;
  }
}
/*---------------------------------------------
carousel
---------------------------------------------*/
.slick-list {
  padding: 0 12% !important;
}
.slick-track {
  display: flex;
}
.slick-slide {
  margin: 0 8px;
  height: auto !important;
}
.slick-slide>* {
  height: 100%;
}
.slick-slide img {
  display: inline-block;
}
.carousel-block01>.list {
  margin: 0;
}
.carousel-block01>.list>.slick-arrow {
  margin: 0;
  background: white;
  box-shadow: 0px 10px 12px 0px #141d1d14, 0px 0px 4px 0px #141d1d0d;
}
.carousel-block01>.list>.slick-arrow.slick-prev {
  left: 20px;
}
.carousel-block01>.list>.slick-arrow.slick-next {
  right: 20px;
}
.carousel-block01 .slick-track>.item {
  width: 308px;
}
@media screen and (max-width: 767px) {
  .carousel-block01 {
    overflow: visible;
  }
  .slick-slide img {
    width: 179px;
  }
}
/*---------------------------------------------
how to buy
---------------------------------------------*/
.card-normal02.-how-to-buy .header {
  padding-block: 8px;
}
.card-normal02.-how-to-buy .body {
  padding: 0;
}
.card-normal02.-how-to-buy .body .graph {
  padding: 22px 28px 24px;
}
.card-normal02.-how-to-buy .ranking .item {
  padding-inline: 16px;
}
.card-normal02.-how-to-buy .ranking .item.-top {
  background-color: #e2efbc;
}
.card-normal02.-how-to-buy .ranking .content {
  padding-block: 16px;
  display: flex;
  align-items: center;
}
.card-normal02.-how-to-buy .ranking .content .icon {
  display: block;
  width: 95px;
}
.card-normal02.-how-to-buy .ranking .content .icon img {
  display: block;
  width: 45px;
}
.card-normal02.-how-to-buy .ranking .item.-top .content .icon img {
  width: 56px;
}
.card-normal02.-how-to-buy .ranking .item:last-child .content {
  border-top: 1px solid #d5dedb;
}
/*---------------------------------------------
FAQ
---------------------------------------------*/
.toggle-block01.card-normal03>.inner>.header[role=tab]::after {
  top: calc(50% - (1.375em / 2));
  right: 28px;
  width: 1.375em;
  height: 1.375em;
}