@charset "UTF-8";
/*============================================================
	コース絞り込み
============================================================*/
[v-cloak] {
  display: none;
}

#curriculumApp {
  padding: 4.667rem 0;
}
@media only screen and (max-width: 767px) {
  #curriculumApp {
    padding: 3.571rem 0;
  }
}
#curriculumApp .inner .curriculum-title {
  width: 100%;
  height: 5.667rem;
  background: #54C3F1;
  color: #fff;
  display: grid;
  place-content: center;
  font-size: 2.267rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-title {
    height: 3.036rem;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  #curriculumApp .inner .curriculum-title {
    font-size: 1.214rem;
  }
}
#curriculumApp .inner .curriculum-subtitle {
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-subtitle {
    align-items: flex-start;
  }
}
#curriculumApp .inner .curriculum-subtitle--purpose {
  margin-top: 1.333rem;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-subtitle--purpose {
    flex-direction: column-reverse;
    margin-top: 0.714rem;
  }
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-subtitle--genre {
    flex-direction: column;
  }
}
#curriculumApp .inner .curriculum-subtitle--genre p:not(.curriculum-label) {
  font-size: 1.2rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  margin-left: 2rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-subtitle--genre p:not(.curriculum-label) {
    font-size: 1rem;
    margin-left: 1.25rem;
    margin-left: 0;
    margin-top: 0.357rem;
  }
}
#curriculumApp .inner .curriculum-subtitle--genre p:not(.curriculum-label) .ico-line-arrow-down {
  display: block;
  width: 1.133rem;
  height: 0.6rem;
  background: url(../img/common/ico_line_arrow_down.svg) no-repeat center center/100% auto;
  margin-right: 0.333rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-subtitle--genre p:not(.curriculum-label) .ico-line-arrow-down {
    width: 0.893rem;
    height: 0.464rem;
  }
}
#curriculumApp .inner .curriculum-subtitle a {
  font-size: 1.133rem;
  font-weight: bold;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-subtitle a {
    font-size: 1rem;
    margin-left: auto;
    margin-bottom: 1.071rem;
  }
}
#curriculumApp .inner .curriculum-subtitle a i {
  display: block;
  width: 1.667rem;
  height: 1.667rem;
  background: url("../img/course/arrow-icon-blue2.svg") no-repeat -2.4rem top/4.067rem;
  margin-left: 0.333rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-subtitle a i {
    width: 1.393rem;
    height: 1.393rem;
    background: url(../img/common/ico_bluearrow.svg) no-repeat center center/contain;
  }
}
#curriculumApp .inner .curriculum-subtitle a:hover i {
  background-position: 0 top;
}
#curriculumApp .inner .curriculum-label {
  font-size: 1.733rem;
  font-weight: bold;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-label {
    font-size: 1.286rem;
  }
}
#curriculumApp .inner .curriculum-label .ico-knob {
  display: block;
  width: 1.467rem;
  height: 1.533rem;
  background: url(../img/common/ico_knob.svg) no-repeat center center/contain;
  margin-right: 0.333rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-label .ico-knob {
    word-spacing: 1.143rem;
    height: 1.214rem;
  }
}
#curriculumApp .inner .curriculum-purpose {
  margin: 1.333rem 0 2.667rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-purpose {
    margin: 0.714rem 0 1.429rem;
  }
}
#curriculumApp .inner .curriculum-purpose ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-purpose ul {
    grid-template-columns: 100%;
    gap: 0.714rem;
  }
}
#curriculumApp .inner .curriculum-purpose ul li label {
  height: 3rem;
  border-radius: 1.5rem;
  border: 1px solid #333;
  font-size: 1.067rem;
  font-weight: bold;
  display: grid;
  place-content: center;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-purpose ul li label {
    height: 3.714rem;
    border-radius: 1.857rem;
    font-size: 1rem;
  }
}
#curriculumApp .inner .curriculum-purpose ul li label:has(:checked) {
  border-color: #666;
  background: #666;
  color: #fff;
}
#curriculumApp .inner .curriculum-search {
  margin-top: 2rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-search {
    margin-top: 0;
    padding-top: 2.5rem;
    position: relative;
  }
  #curriculumApp .inner .curriculum-search::before {
    position: absolute;
    content: "※左右にスクロールしてご覧ください。";
    left: 0;
    top: 0.357rem;
    font-size: 1rem;
    font-weight: 500;
  }
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-search .wrap {
    padding-bottom: 2.5rem;
    max-width: 100%;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  #curriculumApp .inner .curriculum-search .wrap::-webkit-scrollbar {
    display: none;
  }
  #curriculumApp .inner .curriculum-search .wrap .simplebar-track.simplebar-horizontal {
    background-color: #EFEFEF;
    height: 1.071rem !important;
    border-radius: 0.536rem;
  }
  #curriculumApp .inner .curriculum-search .wrap .simplebar-scrollbar::before {
    background-color: #54C3F1 !important;
    border-radius: 0.536rem;
  }
  #curriculumApp .inner .curriculum-search .wrap .simplebar-scrollbar.simplebar-visible::before {
    opacity: 1;
  }
}
#curriculumApp .inner .curriculum-search dl {
  display: flex;
  font-size: 1.067rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-search dl {
    width: 295%;
    font-size: 0.971rem;
  }
}
#curriculumApp .inner .curriculum-search dl dt {
  font-weight: bold;
  width: 13.167%;
  background: #D9D9D9;
  padding: 1.667rem 1.333rem;
  border-bottom: 1px solid #fff;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-search dl dt {
    width: 14%;
    padding: 0.893rem 0.714rem;
  }
}
#curriculumApp .inner .curriculum-search dl dd {
  width: 86.833%;
  padding: 1.667rem 0 1.667rem 1.333rem;
  border-bottom: 1px solid #D9D9D9;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-search dl dd {
    width: 86%;
    padding: 0.893rem 0 0.893rem 0.714rem;
  }
}
#curriculumApp .inner .curriculum-search dl dd ul {
  display: flex;
  gap: 2.16rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-search dl dd ul {
    gap: 1.107rem;
  }
}
#curriculumApp .inner .curriculum-search dl dd ul li {
  width: 14.9712092131%;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-search dl dd ul li {
    width: 16.0800970874%;
  }
}
#curriculumApp .inner .curriculum-search dl dd ul li:first-child {
  width: 9.5969289827%;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-search dl dd ul li:first-child {
    width: 10.1941747573%;
  }
}
#curriculumApp .inner .curriculum-search dl dd ul li label {
  display: block;
  position: relative;
  padding-left: 2.333rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-search dl dd ul li label {
    padding-left: 1.893rem;
  }
}
#curriculumApp .inner .curriculum-search dl dd ul li label::before {
  position: absolute;
  content: "";
  width: 1.667rem;
  height: 1.667rem;
  border: solid 1px #999;
  border-radius: 50%;
  left: 0;
  top: 0;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-search dl dd ul li label::before {
    width: 1.536rem;
    height: 1.536rem;
  }
}
#curriculumApp .inner .curriculum-search dl dd ul li label:has(:checked)::before {
  background: #666;
  border-color: #666;
}
#curriculumApp .inner .curriculum-search dl dd ul li label:has(:checked)::after {
  position: absolute;
  content: "";
  width: 0.8rem;
  height: 0.4rem;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: rotate(-45deg);
  left: 0.4rem;
  top: 0.533rem;
}
#curriculumApp .inner .curriculum-search dl dd ul li p {
  font-size: 0.933rem;
}
#curriculumApp .inner .curriculum-search dl:first-of-type dt, #curriculumApp .inner .curriculum-search dl:first-of-type dd {
  border-top: solid 1px #D9D9D9;
}
#curriculumApp .inner .curriculum-search__showtext {
  display: block;
  cursor: pointer;
  position: relative;
}
#curriculumApp .inner .curriculum-search__showtext::after {
  position: absolute;
  content: "";
  background: url(../img/common/ico_line_arrow_down.svg) no-repeat center center/100% auto;
  width: 0.733rem;
  height: 0.4rem;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}
#curriculumApp .inner .curriculum-search__submit {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
  gap: 2rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-search__submit {
    flex-direction: column;
    align-items: center;
    margin-top: 1.786rem;
    gap: 1.071rem;
  }
}
#curriculumApp .inner .curriculum-search__submit div {
  cursor: pointer;
  width: 20rem;
  height: 4rem;
  border-radius: 2rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  font-size: 1.133rem;
  font-weight: bold;
  padding-right: 1.667rem;
  gap: 2rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-search__submit div {
    width: 16.071rem;
    height: 3.214rem;
    border-radius: 1.607rem;
    font-size: 0.911rem;
    gap: 1.786rem;
    padding-right: 1.071rem;
  }
}
#curriculumApp .inner .curriculum-search__action {
  background: #54C3F1;
  color: #fff;
  border: solid 1px #54C3F1;
  transition: all 0.3s;
}
#curriculumApp .inner .curriculum-search__action .ico-knob-white {
  width: 1.533rem;
  height: 1.467rem;
  background: url(../img/common/ico_knob_white.svg) no-repeat center center/contain;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-search__action .ico-knob-white {
    width: 1.214rem;
    height: 1.179rem;
  }
}
#curriculumApp .inner .curriculum-search__action:hover {
  background: #fff;
  color: #54C3F1;
}
#curriculumApp .inner .curriculum-search__action:hover .ico-knob-white {
  background-image: url(../img/common/ico_knob_blue.svg);
}
#curriculumApp .inner .curriculum-search__clear {
  border: solid 1px #333;
  color: #333;
  transition: all 0.3s;
}
#curriculumApp .inner .curriculum-search__clear .ico-cycle {
  width: 1.333rem;
  height: 1.467rem;
  background: url(../img/common/ico_cycle.svg) no-repeat center center/contain;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-search__clear .ico-cycle {
    width: 1.071rem;
    height: 1.179rem;
  }
}
#curriculumApp .inner .curriculum-search__clear:hover {
  background: #333;
  color: #fff;
}
#curriculumApp .inner .curriculum-search__clear:hover .ico-cycle {
  background-image: url(../img/common/ico_cycle_white.svg);
}
#curriculumApp .inner .curriculum-result {
  position: relative;
  margin-top: 3.333rem;
  transition: 0.3s ease;
}
#curriculumApp .inner .curriculum-result__count {
  text-align: right;
  font-weight: 500;
  font-size: 1.333rem;
  margin-bottom: 0.667rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-result__count {
    font-size: 0.857rem;
    margin-bottom: 0.357rem;
  }
}
#curriculumApp .inner .curriculum-result__count span {
  font-family: "Akshar", sans-serif;
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-result__count span {
    font-size: 1.607rem;
  }
}
#curriculumApp .inner .curriculum-result::after {
  transition: 0.3s ease;
  content: "";
  background-image: linear-gradient(to bottom, transparent 90%, #fff);
  position: absolute;
  display: block;
  width: 100%;
  height: 0;
  bottom: 0;
  left: 0;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-result::after {
    height: 0;
  }
}
#curriculumApp .inner .curriculum-result.disabled {
  max-height: 36rem;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-result.disabled {
    max-height: 41.333rem;
  }
}
#curriculumApp .inner .curriculum-result.disabled::after {
  height: 100%;
}
#curriculumApp .inner .curriculum-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-items {
    grid-template-columns: 100%;
    gap: 1.071rem;
  }
}
#curriculumApp .inner .curriculum-item {
  border: solid 1px #ccc;
  padding-bottom: 1.333rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-item {
    padding-bottom: 1.25rem;
  }
}
#curriculumApp .inner .curriculum-item article {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
#curriculumApp .inner .curriculum-item article .btn {
  width: 22.667rem;
  height: 2.667rem;
  border-radius: 2.667rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-item article .btn {
    width: 20.714rem;
    height: 2.429rem;
    border-radius: 1.214rem;
  }
}
#curriculumApp .inner .curriculum-item__status {
  width: 100%;
  padding: 1.333rem;
  display: flex;
  gap: 0.667rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-item__status {
    padding: 1.071rem 1.25rem;
    gap: 0.357rem;
  }
}
#curriculumApp .inner .curriculum-item__status li {
  height: 1.667rem;
  border-radius: 0.333rem;
  background: #004EA2;
  display: grid;
  place-content: center;
  padding: 0 0.533rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-item__status li {
    height: 1.536rem;
    border-radius: 0.268rem;
    padding: 0 0.357rem;
  }
}
#curriculumApp .inner .curriculum-item__status li span {
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-item__status li span {
    font-size: 0.804rem;
  }
}
#curriculumApp .inner .curriculum-item h3 {
  width: 100%;
  background: #EAFAFD;
  height: 5.333rem;
  padding: 0.667rem 1.667rem;
  font-size: 1.333rem;
  font-weight: bold;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-item h3 {
    height: 4.857rem;
    font-size: 1.071rem;
    padding: 0.714rem 1.25rem;
  }
}
#curriculumApp .inner .curriculum-item__time {
  width: 5rem;
  height: 1.333rem;
  border-radius: 0.667rem;
  background: #333;
  color: #fff;
  font-size: 0.8rem;
  font-family: "Akshar", "Noto Sans JP", sans-serif;
  font-weight: 500;
  display: grid inline;
  place-content: center;
  margin-right: 0.667rem;
  float: left;
  margin-top: 0.5em;
  padding-top: 0.2em;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-item__time {
    width: 4.107rem;
    height: 1.286rem;
    line-height: 1.286rem;
    border-radius: 0.643rem;
    font-size: 0.643rem;
    margin-right: 0.357rem;
    margin-top: 0.3em;
  }
}
#curriculumApp .inner .curriculum-item__job {
  width: 100%;
  display: flex;
  gap: 0.667rem;
  padding: 1.333rem 1.667rem;
  min-height: 4rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-item__job {
    gap: 0.536rem;
    padding: 0.714rem 1.25rem;
    min-height: auto;
  }
}
#curriculumApp .inner .curriculum-item__job li {
  width: 5rem;
  height: 1.333rem;
  border-radius: 0.667rem;
  border: solid 1px #333;
  display: grid;
  place-content: center;
  font-size: 0.8rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-item__job li {
    width: 4.571rem;
    height: 1.286rem;
    border-radius: 0.643rem;
    font-size: 0.643rem;
  }
}
#curriculumApp .inner .curriculum-item__explain {
  width: 22.667rem;
  height: 4.667rem;
  background: #F5F5F5;
  padding: 0.667rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-item__explain {
    width: 20.714rem;
    height: 4.286rem;
    padding: 0.714rem;
  }
}
#curriculumApp .inner .curriculum-item__explain p {
  font-size: 0.933rem;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-item__explain p {
    font-size: 0.857rem;
  }
}
#curriculumApp .inner .curriculum-item__price {
  width: 100%;
  text-align: right;
  font-weight: 500;
}
@media print, screen and (min-width: 768px) {
  #curriculumApp .inner .curriculum-item__price {
    font-size: 1.067rem;
    padding: 1rem 1.333rem;
    flex-grow: 1;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
  }
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-item__price {
    font-size: 0.857rem;
    padding: 0.714rem 1.25rem;
  }
}
#curriculumApp .inner .curriculum-item__price span {
  font-family: "Akshar", sans-serif;
}
@media print, screen and (min-width: 768px) {
  #curriculumApp .inner .curriculum-item__price span {
    font-size: 2rem;
    line-height: 1;
  }
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-item__price span {
    font-size: 1.607rem;
  }
}
#curriculumApp .inner .curriculum-loadmore {
  padding-top: 3.333rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-loadmore {
    padding-top: 1.786rem;
  }
}
#curriculumApp .inner .curriculum-loadmore button {
  width: 13rem;
  height: 4rem;
  border-radius: 2rem;
  border: solid 1px #333;
  display: grid;
  place-content: center;
  font-size: 1.133rem;
  font-weight: bold;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-loadmore button {
    width: 10.464rem;
    height: 3.214rem;
    border-radius: 1.607rem;
    font-size: 0.911rem;
  }
}
#curriculumApp .inner .curriculum-loadmore button::after {
  position: absolute;
  content: "";
  background: url(../img/common/ico_arrow_down.svg) no-repeat center center/contain;
  width: 0.8rem;
  height: 0.867rem;
  right: 1.333rem;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-loadmore button::after {
    width: 0.643rem;
    height: 0.714rem;
    right: 1.25rem;
  }
}
#curriculumApp .inner .curriculum-experience {
  padding-top: 3.333rem;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-experience {
    padding-top: 1.786rem;
  }
}
#curriculumApp .inner .curriculum-experience h3 {
  font-size: 1.733rem;
  font-weight: bold;
  margin-bottom: 0.5em;
}
@media only screen and (max-width: 767px) {
  #curriculumApp .inner .curriculum-experience h3 {
    font-size: 1.286rem;
  }
}
#curriculumApp .inner .curriculum-experience a {
  display: block;
}
@media print, screen and (min-width: 768px) {
  #curriculumApp .inner .curriculum-experience a {
    position: relative;
  }
  #curriculumApp .inner .curriculum-experience a::after {
    position: absolute;
    content: "";
    width: 2.133rem;
    height: 2.133rem;
    top: 50%;
    transform: translateY(-50%);
    right: 1.333rem;
    background: url(../img/common/arrow-icon2.svg) no-repeat -2.133rem top/4.267rem;
    transition: all 0.3s;
  }
  #curriculumApp .inner .curriculum-experience a:hover::after {
    background-position: 0 top;
  }
}

/* アイテム出力 アニメーション */
.item-enter-active,
.item-leave-active {
  transition: all 0.3s ease;
  overflow: hidden;
}

.item-enter-from,
.item-leave-to {
  opacity: 0;
}

.item-enter-to,
.item-leave-from {
  height: auto;
  opacity: 1;
}

.item-move {
  transition: transform 0.3s ease;
}

/* テキスト出力 アニメーション */
.slide-enter-active,
.slide-leave-active {
  transition: all 0.3s ease;
  overflow: hidden;
}

.slide-enter-from,
.slide-leave-to {
  height: auto;
  opacity: 0;
}

.slide-enter-to,
.slide-leave-from {
  height: auto;
  opacity: 1;
}

/*# sourceMappingURL=curriculum.css.map */