@charset "UTF-8";
/*====================================================
LP（ランディングページ）
====================================================*/
.sm-none {
  display: none;
}
/*--------------------------
MV
--------------------------*/
.mv {
  display: block;
  width: 100%;
}
.mv .mv-inner {
  margin: 0 auto;
  padding: 5rem 0;
  background-position: center;
  background-size: cover;
}
.mv .mv-inner .mv-title {
  text-shadow: 0px 4px 6px rgba(43, 51, 72, 0.25);
}
.mv .mv-inner .mv-catch {
  font-size: 1.25rem;
  font-weight: 900;
  margin-bottom: 2.5rem;
  text-shadow: 0px 4px 6px rgba(43, 51, 72, 0.25);
}
.mv .mv-inner .mv-button .btn {
  border: none;
  box-shadow: 0px 4px 6px rgba(43, 51, 72, 0.25);
}
.mv .mv-inner .mv-button .btn:hover{ /** TODO：キラッとさせる **/
  box-shadow: none;
}

/*--------------------------
INTRO
--------------------------*/
.intro {
  display: block;
  width: 100%;
}
.intro .intro-inner {
  margin: 0 auto;
  padding: 3.725rem 0;
}
.intro .intro-inner .intro-desc {
  position: relative;
}
.intro .intro-inner .intro-desc * { /** エディタで入力したコンテンツを突き抜けさせない。 **/
  max-width: 100%;
}

/*--------------------------
INFO
--------------------------*/
.info {
  display: block;
  width: 100%;
}
.info .info-inner {
  margin: 0 auto;
  padding: 3.725rem 0;
}
.info .info-inner .info-content {
  display: flex;
  justify-content: space-between;
}
.info .info-inner .info-content.reverse {
  flex-direction: row-reverse;
}
.info .info-inner .info-content.columun {
  flex-direction: column-reverse;
}
.info .info-inner .info-content.columun .info-img {
  margin-bottom: 2rem;
}
.info .info-inner .info-content > div {
  width: 48%;
	line-height: 1.6;
}
.info .info-inner .info-content.columun > div {
  width: 100%;
}
.info .info-inner .info-content .info-text {
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.info .info-inner .info-content .info-img {
  display: flex;
  justify-content: center;
  align-items: center;
}
.info .info-inner .info-content .info-img img {
  width: auto;
  max-width: 100%;
  height: auto;
}

/*--------------------------
FEATURE
--------------------------*/
.feature {
  display: block;
  width: 100%;
}
.feature .feature-inner {
  margin: 0 auto;
  padding: 3.725rem 0;
}
.feature .feature-inner .feature-title {
  font-size: 2rem;
  font-weight: 900;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.03em;
  margin: 0 0 1.5rem;
}
.feature .feature-inner .feature-list {
  display: flex;
  justify-content: space-between;
}
.feature .feature-inner .feature-list .feature-card {
  width: 100%;
  margin: 0;
}
.feature .feature-inner .feature-list[data-count="1"] .feature-card {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.feature .feature-inner .feature-list[data-count="2"] .feature-card {
  width: 460px;
  margin-right: 40px;
}
.feature .feature-inner .feature-list[data-count="2"] .feature-card:nth-child(2n) {
  margin-right: 0;
}
.feature .feature-inner .feature-list[data-count="3"] .feature-card {
  width: 300px;
  margin-right: 30px;
}
.feature .feature-inner .feature-list[data-count="3"] .feature-card:nth-child(3n) {
  margin-right: 0;
}
.feature .feature-inner .feature-list .feature-card .feature-img {
  margin: 0 auto 1rem;
}
.feature .feature-inner .feature-list .feature-card .feature-img img {
  width: auto;
  max-width: 100%;
  height: auto;
}
.feature .feature-inner .feature-list .feature-card .feature-catch {
  font-weight: bold;
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin: 0 0 1rem;
}
.feature .feature-inner .feature-list .feature-card .feature-text {
  font-size: 0.875rem;
  margin: 0 1rem 1rem;
}

/*--------------------------
COURSE
--------------------------*/
.course {
  display: block;
  width: 100%;
}
.course .course-inner {
  margin: 0 auto;
  padding: 3.725rem 0;
}
.course .course-inner .course-title {
  font-size: 2rem;
  font-weight: 900;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.03em;
  margin: 0 0 1.5rem;
}
.course .course-inner .course-sec {
  margin-bottom: 1.5rem;
}
.course .course-inner .course-list {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.course .course-inner .course-list .course-card {
  width: 100%;
  margin: 0;
  box-shadow: 0px 0px 15px rgb(33 42 57 / 16%);
  border-radius: 10px;
  transition: 0.4s;
}
.course .course-inner .course-list .course-card:hover {
  box-shadow: 0px 0px 15px rgb(69 69 82 / 48%);
}
.course .course-inner .course-list[data-count="1"] .course-card {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.course .course-inner .course-list[data-count="1"] .course-card:nth-child(n+2) {
  margin-top: 3.725rem;
}
.course .course-inner .course-list[data-count="2"] .course-card {
  width: 460px;
  margin-right: 40px;
}
.course .course-inner .course-list[data-count="2"] .course-card:nth-child(n+3) {
  margin-top: 3.725rem;
}
.course .course-inner .course-list[data-count="2"] .course-card:nth-child(2n) {
  margin-right: 0;
}
.course .course-inner .course-list[data-count="3"] .course-card {
  width: 300px;
  margin-right: 30px;
}
.course .course-inner .course-list[data-count="3"] .course-card:nth-child(n+4) {
  margin-top: 3.725rem;
}
.course .course-inner .course-list[data-count="3"] .course-card:nth-child(3n) {
  margin-right: 0;
}
.course .course-inner .course-list .course-card .course-img {
  position: relative;
  margin: 0 auto 1rem;
}
.course .course-inner .course-list .course-card .course-img img {
  width: 100%;
  height: auto;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.course .course-inner .course-list .course-card .course-name {
  font-weight: bold;
  font-size: 1.125rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin: 0 1rem 1rem;
  text-align: center;
}
.course .course-inner .course-list .course-card .course-text {
  font-size: 0.875rem;
  margin: 0 1rem 1.5rem;
}
.course .course-inner .course-list .course-card .course-progress {
  margin: 0 1rem 2.5rem;
}
.course .course-inner .course-list .course-card .course-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.875rem;
  margin: 0 1rem 1rem;
}
.course .course-inner .course-list .course-card .course-bottom .course-teacher {
  display: flex;
  align-items: center;
}
.course .course-inner .course-list .course-card .course-bottom .course-teacher img {
  margin-right: 0.5rem;
}
.course .course-inner .course-button {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 3.725rem auto 0;
}
.course .course-inner .course-button .btn {
  border: none;
  box-shadow: 0px 4px 6px rgba(43, 51, 72, 0.25);
}
.course .course-inner .course-button .btn:hover {
  box-shadow: none;
}

/*--------------------------
FAQ
--------------------------*/
.faq {
  display: block;
  width: 100%;
}
.faq .faq-inner {
  margin: 0 auto;
  padding: 3.725rem 0;
}
.faq .faq-inner .faq-title {
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.6;
  letter-spacing: 0.03em;
  margin: 0 0 3.725rem;
}
.faq .faq-inner .faq-box {
  position: relative;
}
.faq .faq-inner .faq-box .faq-question {
  font-weight: bold;
	font-size: 1.25rem;
	line-height: 1.6;
	letter-spacing: 0.05em;
	margin: 2.5rem 0 0.5rem;
}
.faq .faq-inner .faq-box .faq-answer {
  line-height: 1.6;
}
.faq .faq-inner .faq-button {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 3.725rem auto 0;
}
.faq .faq-inner .faq-button .btn {
  border: none;
  box-shadow: 0px 4px 6px rgba(43, 51, 72, 0.25);
}
.faq .faq-inner .faq-button .btn:hover {
  box-shadow: none;
}

/*--------------------------
VOICE
--------------------------*/
.voice {
  display: block;
  width: 100%;
}
.voice .voice-inner {
  margin: 0 auto;
  padding: 3.725rem 0;
}
.voice .container {
  max-width: 700px;
}
.voice .voice-inner .voice-title {
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.6;
  letter-spacing: 0.03em;
  margin: 0 0 3.725rem;
  text-align: center;
}
.voice .voice-inner .voice-box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.voice .voice-inner.reverse .voice-box {
  flex-direction: row-reverse;
}
.voice .voice-inner .voice-box:nth-child(n+3) {
  margin-top: 2.5rem;
}
.voice .voice-inner .voice-box .voice-img {
  width: 150px;
}
.voice .voice-inner .voice-box .voice-img img {
  width: 150px;
  height: auto;
}
.voice .voice-inner .voice-box .voice-text {
  width: 500px;
	line-height: 1.4;
}
.voice .voice-inner .voice-box .voice-text .voice-name {
  font-weight: bold;
  font-size: 1.25rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  margin: 0rem 0 1rem;
}
.voice .voice-inner .voice-box .voice-text p {
  margin-bottom: 1rem;
}

/*--------------------------
SECTION LIST
--------------------------*/
.section {
  display: block;
  width: 100%;
}
.section .section-inner {
  margin: 0 auto;
  padding: 3.725rem 0;
}
.section .section-inner .section-title {
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.6;
  letter-spacing: 0.03em;
  margin: 0 0 3.725rem;
}
table.table-lesson {
  width: 100%;
}
table.table-lesson:nth-child(n+3) {
  margin-top: 2.5rem;
}
table.table-lesson tr:nth-child(2n) td {
  background: #F0F0F0;
}
table.table-lesson th {
  padding: 1.25rem 1rem;
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}
table.table-lesson td {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}
table.table-lesson td.table-icon {
  width: 8%;
  min-width: 40px;
  padding: 0.5rem 0 0.5rem 0.5rem;
  text-align: center;
}
table.table-lesson td.table-title {
  width: 72%;
}
table.table-lesson td.table-button {
  width: 20%;
  min-width: 100px;
  padding: 0.5rem 0.5rem 0.5rem 0;
  text-align: center;
}
table.table-lesson td.table-button .btn{
  width: 100%;
  max-width: 100px;
}

/*--------------------------
CV
--------------------------*/
.cv {
  display: block;
  width: 100%;
}
.cv .cv-inner {
  margin: 0 auto;
  padding: 5rem 0;
  background-position: center;
  background-size: cover;
}
.cv .cv-inner .cv-title {
  text-shadow: 0px 4px 6px rgba(43, 51, 72, 0.25);
}
.cv .cv-inner .cv-catch {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 2.5rem;
  text-shadow: 0px 4px 6px rgba(43, 51, 72, 0.25);
}
.cv .cv-inner .cv-button {text-align: center;}
.cv .cv-inner .cv-button .btn {
  border: none;
  box-shadow: 0px 4px 6px rgba(43, 51, 72, 0.25);
}
.cv .cv-inner .cv-button .btn:hover{
  box-shadow: none;
}

/*====================================================
PARTS
====================================================*/
/*--------------------------
LINE
--------------------------*/
@keyframes line {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
  30% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  70% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
}
.line_01 {
  display: inline-block;
  position: absolute;
  right: 60px;
  bottom: 180px;
  z-index: 2;
  padding: 10px 10px 100px;
  overflow: hidden;
  font-size: 0.8em;
  line-height: 1;
  letter-spacing: .1em;
  text-decoration: none;
  writing-mode: vertical-lr;
  transform: rotate( -180deg );
}
.line_01::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 2px;
  height: 85px;
  background: #0e1937;
}
.line_01::after {
  animation: line 2s cubic-bezier(1, 0, 0, 1) infinite;
}

/*--------------------------
BUTTON
--------------------------*/
.btn-box {
  width: 100%;
  margin: 2.5rem auto;
  text-align: center;
}

/*--------------------------
LOGIN
--------------------------*/
.login-box {
  padding: 2.5rem 2.5rem 1rem;
  background: #FFFFFF;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  text-align: center;
}
.login-box .login-form {
  margin: 2.5rem auto;
}
.login-box .login-form input[type="text"],
.login-box .login-form label.form-pass-label {
  width: 500px;
  margin: 0 auto;
}
.login-box ~ .login-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 5rem;
  margin-bottom: 5rem;
  padding: 1rem;
  background: #3F61B3;
  background: var(--blue-linear);
  font-weight: bold;
  letter-spacing: 0.05em;
}
.login-box ~ .login-bottom .bottom-menu a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #ffffff;
}
.login-box ~ .login-bottom .bottom-menu a img {
  margin: 0 0.5rem;
}

/*====================================================
	TABLET
====================================================*/
@media screen and (max-width: 991px) {
  .feature .feature-inner .feature-list[data-count="2"] .feature-card {
    width: 48%;
    margin-right: 4%;
  }
  .feature .feature-inner .feature-list[data-count="3"] .feature-card {
    width: 30%;
    margin-right: 5%;
  }
  .course .course-inner .course-list[data-count="2"] .course-card {
    width: 48%;
    margin-right: 4%;
  }
  .course .course-inner .course-list[data-count="3"] .course-card {
    width: 32%;
    margin-right: 2%;
  }

  .voice .voice-inner .voice-box .voice-img {
    width: 130px;
    margin-right: 20px;
  }
  .voice .voice-inner .voice-box .voice-img img {
    width: 100%;
    min-width: 130px;
  }
  .voice .voice-inner .voice-box .voice-text {
    width: auto;
  }
}

@media screen and (max-width: 767px) {
  /*--------------------------
  LOGIN
  --------------------------*/
  .login-box {
    padding: 1.5rem 1rem 1rem;
  }

  .line_01 {
    display: inline-block;
    position: absolute;
    left: 15px;
    bottom: 100px;
    z-index: 2;
    padding: 10px 10px 80px;
    overflow: hidden;
    font-size: 0.7em;
    line-height: 1;
    letter-spacing: .1em;
    text-decoration: none;
    writing-mode: vertical-lr;
    transform: rotate( -180deg );
  }
  .line_01::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 1px;
    height: 72.25px;
    background: #0e1937;
  }
  .line_01::after {
    animation: line 2s cubic-bezier(1, 0, 0, 1) infinite;
  }
  .login-box .login-form input[type="text"],
  .login-box .login-form label.form-pass-label {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }
  .voice .voice-inner .voice-box {
    flex-direction: column;
  }
  .voice .voice-inner .voice-box .voice-img {
    margin: 0 auto 1rem;
  }
  .voice .voice-inner .voice-box .voice-text .voice-name {
    text-align: center;
  }
}

@media screen and (max-width: 575px) {
  .feature .feature-inner .feature-list {
    flex-direction: column;
  }
  .feature .feature-inner .feature-list .feature-card {
    width: 100%;
    margin: 2rem auto 0!important;
  }
  .feature .feature-inner .feature-list[data-count="1"] .feature-card {
    width: 100%;
  }
  .feature .feature-inner .feature-list[data-count="2"] .feature-card {
    width: 100%;
    margin-right: 0;
  }
  .feature .feature-inner .feature-list[data-count="3"] .feature-card {
    width: 100%;
    margin-right: 0;
  }
  .feature .feature-inner .feature-list .feature-card .feature-img {
    width: 80%;
    max-width: 200px;
  }
  .feature .feature-inner .feature-list .feature-card .feature-catch {
    margin: 0 0 0.25rem;
  }

  .course .course-inner .course-list {
    flex-direction: column;
    align-items: center;
  }
  .course .course-inner .course-list .course-card {
    width: 90%;
    margin: 2rem 0 0!important;
  }
  .course .course-inner .course-list .course-card:first-child {
    margin-top: 0!important;
  }
  .course .course-inner .course-list[data-count="1"] .course-card {
    width: 90%;
  }
  .course .course-inner .course-list[data-count="2"] .course-card {
    width: 90%;
    margin-right: 0;
  }
  .course .course-inner .course-list[data-count="3"] .course-card {
    width: 90%;
    margin-right: 0;
  }
  .course .course-inner .course-list .course-card .course-img {
    margin: 0 auto 1rem;
  }

  .login-box ~ .login-bottom .bottom-menu {
    width: 48%;
  }
  .sm-none {
    display: inherit;
  }
}

.ql-align-center {text-align: center;}
.ql-align-right {text-align: right;}
.ql-align-left {text-align: left;}

.ql-indent-1 {padding-left: 3em;}
.ql-indent-2 {padding-left: 6em;}
.ql-indent-3 {padding-left: 9em;}
.ql-indent-4 {padding-left: 13em;}
.ql-indent-5 {padding-left: 15em;}
.ql-indent-6 {padding-left: 18em;}
.ql-indent-7 {padding-left: 21em;}
.ql-indent-8 {padding-left: 24em;}

.newsList {}
.newsList dl{display: table;width: 100%;border-bottom: 1px solid #f7f7f7;margin-bottom: 8px;}
.newsList dl dt {width: 15%; display: table-cell;vertical-align: top;box-sizing: border-box;padding: 5px 10px 5px 0;}
.newsList dl dd {width: 85%; display: table-cell;vertical-align: top;box-sizing: border-box;padding: 5px 0 5px 0;}
.newsList a {color:#454552;text-decoration: underline;}
.newsList a:hover {color:#3F61B3}

.nList {padding: 10px;box-sizing: border-box;border-bottom: 1px solid #f7f7f7;transition: .4s;}
.nList:nth-child(2n) {background: #f7f7f7}
.nList:hover {background:#D0D0D0;transition: .4s;}
.newsArticle {}
.newsArticle .heroVisual{width: 100%;height: auto;margin-bottom: 4%}
.newsArticle .heroVisual img {width: 100%;height: auto;}

.otherRec {width: 100%; height: 116px; display: block; overflow: hidden; position: relative;background: #f7f7f7}
.courseListLi {width: 100%; height: 169px; display: block; overflow: hidden; position: relative; border-radius: 10px 10px 0 0;background: #f7f7f7}
.otherRec img, .courseListLi img {position: absolute; width: 100%; height: 100%; top: 0; right: 0; bottom: 0; left: 0; margin: auto; object-fit: contain;}

.course .course-inner .course-list .course-card .course-img .unread-badge {
  background: #436475;
  color: #fff;
  color: var(--white);
  width: 2.25rem;
  height: 2.25rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 2.25rem;
  font-size: 0.75rem;
  letter-spacing: .5px;
  font-weight: bold;
  position: absolute;
  top: -0.75rem;
  right: -0.375rem;
}