@charset "UTF-8";


/* タブレット1022px以下
@media screen and (max-width:1023px) {
}
スマホ638px以下
@media screen and (max-width:639px) {
} */


/* ------------------------------------共通------------------------------------ */
.tab-none {
display: block;
}
@media screen and (max-width:1023px) {
  .tab-none {
display: none;
}
}
.sp-none {
display: block;
}
@media screen and (max-width:639px) {
  .sp-none {
display: none;
}
}

.tab-show {
display: none;
}
@media screen and (max-width:1023px) {
  .tab-show {
display: block;
}
}
.sp-show {
display: none;
}
@media screen and (max-width:639px) {
  .sp-show {
display: block;
}
}
/* セクションの上下の余白調整 */
.p-entry-content > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) + :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6), .textwidget > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) + :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
  margin-top: 0px;
  padding: 90px 0;
}
@media screen and (max-width:1023px) {
  .p-entry-content > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) + :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6), .textwidget > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) + :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
    padding: 60px 0;
  }
}
@media screen and (max-width:639px) {
  .p-entry-content > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) + :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6), .textwidget > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) + :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
    padding: 40px 0;
  }
}
/* 画像の上の余白削除 */
figure.wp-block-image {
  padding: 0 !important;
}

/* セクションのタイトル及びサブタイトルのfont-size */
.smb-section__title {
  font-size: 44px;
  letter-spacing: 0.08em;
}
@media screen and (max-width:1023px) {
  .smb-section__title {
    font-size: 25px!important;
  }
  .smb-section__title .sme-font-size {
    font-size: 35px!important;
  }
}
@media screen and (max-width:639px) {
  .smb-section__title {
    font-size: 20px!important;
    letter-spacing: 0;
    line-height: 1.5;
  }
  .smb-section__title .sme-font-size {
    font-size: 25px!important;
    letter-spacing: 0;
    line-height: 1.3;
  }
}
.smb-section__subtitle {
  font-size: 18px;
}


/* セクション下のマージン */
.smb-section__body {
  margin-top: 60px !important;
}
@media screen and (max-width:1023px) {
  .smb-section__body {
    margin-top: 40px !important;
  }
}
@media screen and (max-width:639px) {
  .smb-section__body {
    margin-top: 20px !important;
  }
}
/* セクションのタイトル下の線 */
.smb-section__title:after {
  height: 2px;
  width: 80px;
}

/* パネルのpadding */
@media screen and (max-width:1023px) {
  .smb-panels__item__body {
    padding: 20px 15px;
  }
}
/* ------------------------------------------------------無料体験紹介ページLP------------------------------------------------------ */
/* ------------------------------------header------------------------------------ */

/* .page-id-8は無料体験紹介bodyのクラス */
.page-id-8 .custom-logo-link, .page-id-166 .custom-logo-link {
  padding: 10px 0;
  display: inline-block;
  pointer-events: none;
}
@media screen and (max-width:639px) {
  .page-id-8 .l-header__content>.l-1row-header>.c-container>.c-row, .page-id-166 .l-header__content>.l-1row-header>.c-container>.c-row{
    flex-direction: column;
    align-items: center;
  }
}
.contact-btn a {
  display: inline-block;
  background-color: #e60014;
  padding: 5px 10px!important;
  border-radius: 20px;
  color: #fff!important;
  width: 200px;
  font-size: 20px!important;
  border: 3px solid #E60014;
}
@media screen and (max-width:639px) {
  .contact-btn a {
    font-size: 16px!important;
    width: 180px;
  }
}
.contact-btn a:hover {
  opacity: .7;
}
.contact-button:hover {
  opacity: .9;

}
.page-id-8 .u-invisible-md-down,.page-id-166 .u-invisible-md-down{
  display: block!important;
}
.page-id-8 .u-invisible-lg-up, .page-id-166 .u-invisible-lg-up {
  display: none;
}
/* ------------------------------------fvセクション------------------------------------ */
.fv-sec {
  padding: 0!important;
  margin: 0;
  position: relative;
}

.fv-sec .smb-section__body {
  margin-top: 0px !important;
}
.fv-contact-btn {
  width: 28vw;
  height: 5vw;
  position: absolute;
  bottom: 4vw;
  left: 33vw;
  margin-top: 0;
}
.fv-contact-btn-sp {
  width: 50vw;
  position: absolute;
  bottom: 5vw;
  right: 5vw;
  margin-top: 0;
}
/* ------------------------------------solutionセクション------------------------------------ */
.solution-sec {
  padding-top: 60px !important;
}
@media screen and (max-width:1023px) {
  .solution-sec {
    padding-top: 20px !important;
  }
}
.solution-sec .sme-highlighter {
  background-image: linear-gradient(transparent 70%, rgba(230, 0, 20, 0.5) 70%) !important;
}

.solution-sec h2 {
  position: relative;
  padding: 0 120px 0 100px;
  display: inline-block;
}
@media screen and (max-width:1023px) {
  .solution-sec h2 {
    padding: 0 80px 0 60px;
  }
}
@media screen and (max-width:639px) {
  .solution-sec h2 {
    padding: 0;
  }
}
.star-img1 {
  position: absolute;
  bottom: 0;
  left: 0px;
  width: 80px;
}
@media screen and (max-width:1023px) {
  .star-img1 {
    width: 40px;
  }
}
@media screen and (max-width:639px) {
  .star-img1 {
    top: 0px;
    left: -20px;
  }
}
.star-img2 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100px;
}
@media screen and (max-width:1023px) {
  .star-img2 {
    width: 60px;
  }
}
@media screen and (max-width:639px) {
  .star-img2 {
    top: -20px;
    right: -20px;
  }
}
.solution-container {
  padding-top: 60px;
  padding-bottom: 60px;
  background-color: #F5F1F2;
}
@media screen and (max-width:1023px) {
  .solution-container {
  padding-top: 40px;
  padding-bottom: 40px;
}
}
@media screen and (max-width:639px) {
  .solution-container {
  padding-top: 20px;
  padding-bottom: 20px;
}
}
.solution-desc {
  font-size: 20px;
  padding: 50px 20px;
  background-color: #fff;
  box-sizing: content-box;
  margin-top: 0px !important;
}
@media screen and (max-width:1023px) {
  .solution-desc {
  font-size: 18px;
  padding: 30px 10px;
}
}
/* ------------------------------------無料体験はこちら------------------------------------ */
.top-contact-sec {
  margin-top: 0 !important;
  padding: 60px 0 !important;
}

.top-contact-sec .smb-section__body {
  margin-top: 0px !important;
}
.top-contact-title {
    font-size: 44px;
    line-height: 1.3;
    letter-spacing: 0;
}
.top-contact-subtitle {
    font-size: 28px;
}
@media screen and (max-width:1023px) {
  .top-contact-title {
    font-size: 25px;
}
.top-contact-subtitle {
    font-size: 20px;
}
}
@media screen and (max-width:639px) {
  .top-contact-title {
    font-size: 20px;
}
.top-contact-subtitle {
    font-size: 13px;
}
}


@media screen and (max-width:639px) {
  .top-contact-container {
    padding: 0!important;
}
}
@media screen and (max-width:639px) {
  .top-contact-box {
    padding: 20px 10px;
}
}

@media screen and (max-width:1023px) {
  .top-contact-button {
    max-width: 300px;
}
}
@media screen and (max-width:639px) {
  .top-contact-button {
    max-width: 200px;
}
}

/* ------------------------------------featureセクション------------------------------------ */
.feature-sec {
}

.feature-item .smb-media-text__title {
  display: flex;
  align-items: center;
  border: 3px solid #E60014;
  padding-right: 20px;
  font-size: 28px;
}
@media screen and (max-width:1023px) {
  .feature-item .smb-media-text__title {
  font-size: 20px;
  line-height: 1.3;
}
}
@media screen and (max-width:639px) {
  .feature-item .smb-media-text__title {
  font-size: 18px;
  padding-right: 0px;
  letter-spacing: 0;
}
}
.feature-item .smb-media-text__title::before {
  display: flex;
  justify-content: center;
  content: "01";
  letter-spacing: 0.1em;
  width: 130px;
  height: 100px;
  color: #fff;
  font-size: 50px;
  margin-right: 10px;
  background-color: #E60014;
  -webkit-clip-path: polygon(0 0, 100% 0%, 80% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0%, 80% 100%, 0 100%);
  padding-right: 10px;
}

.feature-item1 .smb-media-text__title::before {
  content: "01";
}

.feature-item2 .smb-media-text__title::before {
  content: "02";
}

.feature-item3 .smb-media-text__title::before {
  content: "03";
}

.feature-item4 .smb-media-text__title::before {
  content: "04";
}
@media screen and (max-width:1023px) {
  .feature-item .smb-media-text__title::before {
    height: 80px;
  font-size: 40px;
  align-items: center;
}
}
@media screen and (max-width:639px) {
  .feature-item .smb-media-text__title::before {
    width:75px;
    height: 60px;
  font-size: 30px;
  padding-right: 5px;
}
}

/* ------------------------------------lessonセクション------------------------------------ */
.lesson-sec img {
  margin-top: 10px;
}
.lesson-list .smb-panels__item__content {
  text-align: left;
}


/* ------------------------------------teacherセクション------------------------------------ */
.teacher-desc {
  font-size:20px
}
@media screen and (max-width:1023px) {
  .teacher-desc {
    font-size:18px;
  }
}
@media screen and (max-width:639px) {
  .teacher-desc {
    text-align: left;
  }
}

.teacher-sec .teacher-item-title {
  display: flex;
  align-items: center;
  padding-bottom: 10px;
  max-width: 700px;
  border-bottom: 5px solid #E60014;
  margin-left: 0;
  font-size: 28px;
}
@media screen and (max-width:1023px) {
  .teacher-sec .teacher-item-title {
    font-size: 20px;
    line-height: 1.3;
  }
}
@media screen and (max-width:639px) {
  .teacher-sec .teacher-item-title {
    font-size: 18px;
    letter-spacing: 0;
  }
}

.teacher-sec .teacher-item-title .teacher-item-title-img {
  width: 45px;
  height: 38px;
  margin-right: 10px;
}
@media screen and (max-width:1023px) {
  .teacher-sec .teacher-item-title .teacher-item-title-img {
    width: 35px;
    height: 28px;
  }
}
.teacher-sec .teacher-item-title span {
  flex: 1;
}

.teacher-sec .teacher-item {
  background-color: #fff;
  padding: 30px;
}
@media screen and (max-width:1023px) {
  .teacher-sec .teacher-item {
    padding: 15px;
  }
}
.teacher-sec .teacher-item::before {
  content: " ";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  border-width: 0 30px 30px 0;
  border-style: solid;
  width: 0;
  transform: rotate(0deg);
  border-color: #F5F1F2 #F5F1F2 #e3e3e3 #e3e3e3;
}

.teacher-sec .teacher-item-desc-img1 {
  display: block;
  width: 40px;
  margin: 0 0 10px 0;
}

.teacher-sec .teacher-item-desc-img2 {
  display: block;
  width: 40px;
  margin: 10px 0 0 auto;
}
@media screen and (max-width:1023px) {
  .teacher-sec .teacher-item-desc-img1 {
    width: 30px;
  }
  .teacher-sec .teacher-item-desc-img2 {
    width: 30px;
  }
}
/* ------------------------------------achievementセクション------------------------------------ */
.achieve-sec .c-row[data-md-columns="2"]>.c-row__col {
  margin-bottom: 10px;
}
@media screen and (max-width:1023px) {
  .achieve-logo .smb-container__body{
    max-width: 500px;
  }
}
@media screen and (max-width:639px) {
  .achieve-logo .smb-container__body{
    max-width: 250px;
  }
}
.achieve-sec .c-row[data-columns="1"]>.c-row__col {
  padding: 0;
}
.achieve-score-title {
  font-size: 28px;
}
@media screen and (max-width:1023px) {
  .achieve-score-title {
    font-size: 20px;
    text-align: left;
    line-height: 1.3;
  }
  .achieve-score-desc {
    text-align: left;
  }
}
@media screen and (max-width:639px) {
  .achieve-score-title {
    font-size: 18px;
  }
}

/* ------------------------------------priceセクション------------------------------------ */
.price-img1 {

}
@media screen and (max-width:1023px) {
  .price-img1 {
    max-width: 300px;
  }
}
.price-desc {
  font-size: 20px;
}
@media screen and (max-width:1023px) {
  .price-desc {
    font-size: 18px;
  }
}
@media screen and (max-width:639px) {
  .price-desc {
    text-align: left;
  }
}

.price-sec .is-style-sme-speech.has-text-align-center {
  max-width: 800px;
  padding: 20px 0;
  font-size: 44px;
  width: 100%;
  background-color: #FFD8D8;
  border: 5px dotted #E60014;
  border-radius: 20px;
  text-align: center;
  color: #fff;
  margin-top: -70px;
  margin-bottom: 60px;
  text-shadow: 2.5px 2.5px 0 #E60014, -2.5px -2.5px 0 #E60014,
 -2.5px 2.5px 0 #E60014, 2.5px -2.5px 0 #E60014,
 0px 2.5px 0 #E60014,  0 -2.5px 0 #E60014,
 -2.5px 0 0 #E60014, 2.5px 0 0 #E60014;
  letter-spacing: 0.9em;
}
@media screen and (max-width:1023px) {
  .price-sec .is-style-sme-speech.has-text-align-center {
    padding: 20px 0;
    font-size: 25px;
    margin-bottom: 50px;
  }
}
@media screen and (max-width:639px) {
  .price-sec .is-style-sme-speech.has-text-align-center {
    padding: 10px 0;
    font-size: 20px;
  }
}
.price-sec .is-style-sme-speech.has-text-align-center strong {
  padding-left: 3vw;
}
@media screen and (max-width:639px) {
  .price-sec .is-style-sme-speech.has-text-align-center strong {
    padding-left: 4vw;
  }
}
.price-sec .is-style-sme-speech:before {
  border-bottom: 5px dotted #E60014;
  border-right: 5px dotted #E60014;
  width: 20px;
  height: 20px;
}

.price-list .price-item {
  border-left: 3px dotted #e60014 !important;
}

.price-list .price-item-title {
  border-bottom: 5px dotted #E60014;
  padding-bottom: 10px;
  height: 92px;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 350px;
  font-size: 28px;
  line-height: 1.3;
}
@media screen and (max-width:1023px) {
  .price-list .price-item-title {
    font-size: 20px;
    line-height: 1.3;
    height: 32px;
    max-width: 250px;
  }
}
@media screen and (max-width:639px) {
  .price-list .price-item-title {
    font-size: 18px;
  }
}
.price-item-desc1 {
  font-size: 20px;
  line-height: 1.3;
}
@media screen and (max-width:1023px) {
  .price-item-desc1 {
    font-size: 18px;
  }
}
.price-item-desc3 {

}
@media screen and (max-width:1023px) {
  .price-item-desc3 {
    line-height: 1.3;
  }
}
/* ------------------------------------flowセクション------------------------------------ */
.flow-container {
}
@media screen and (max-width:1023px) {
  .flow-container {
    padding: 0!important;
  }
}
.flow-online {

}
@media screen and (max-width:639px) {
  .flow-online {
    max-width: 250px;
  }
}
.flow-sec .flow-next {
  margin-top: 20px;
}
@media screen and (max-width:1023px) {
  .flow-sec .flow-next {
    max-width: 60px;
  }
}
@media screen and (max-width:639px) {
  .flow-sec .flow-next {
    max-width: 40px;
    margin-top: 10px;
  }
}
.flow-sec .flow-info {
  display: flex;
  align-items: center;
  border: 3px solid #E60014;
  padding-right: 20px;
  margin-top: 20px !important;
  font-size: 20px;
}
@media screen and (max-width:1023px) {
  .flow-sec .flow-info {
    font-size: 18px;
    line-height: 1.3;
    padding-right: 5px;
  }
}
@media screen and (max-width:639px) {
  .flow-sec .flow-info {
    font-size: 16px;
    margin-top: 10px!important;
  }
}

.flow-sec .flow-info strong {
  flex: 1;
}

.flow-sec .flow-info::before {
  display: flex;
  justify-content: center;
  align-items: center;
  content: "01";
  width: 200px;
  height: 80px;
  color: #fff;
  font-size: 35px;
  font-weight: bold;
  margin-right: 30px;
  background-color: #E60014;
  -webkit-clip-path: polygon(0 0, 100% 0%, 80% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0%, 80% 100%, 0 100%);
  padding-right: 20px;
}

.flow-sec .flow-info1::before {
  content: "STEP1";
}

.flow-sec .flow-info2::before {
  content: "STEP2";
}

.flow-sec .flow-info3::before {
  content: "STEP3";
}

.flow-sec .flow-info4::before {
  content: "STEP4";
}
@media screen and (max-width:1023px) {
  .flow-sec .flow-info::before {
  font-size: 25px;
  margin-right: 10px;
}
}
@media screen and (max-width:639px) {
  .flow-sec .flow-info::before {
    width:120px;
    height: 80px;
  font-size: 20px;
}
.flow-sec .flow-info4::before {
  height: 100px;
}
}

/* ------------------------------------faqセクション------------------------------------ */
.faq-sec .smb-faq__item:first-child {
  border-top: 1px solid #e60014;
}

.faq-sec .smb-faq__item {
  border-bottom: 1px solid #e60014;
}


/* ------------------------------------footerセクション------------------------------------ */
.footer-contact-sec {
  margin-top: 0 !important;
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}

.footer-contact-sec .smb-section__body {
  margin-top: 0px !important;
}

.footer-contact-title {
  font-size: 44px;
  line-height: 1.3;
  letter-spacing: 0;
}
@media screen and (max-width:1023px) {
.footer-contact-title {
  font-size: 25px;
}
}
@media screen and (max-width:639px) {
.footer-contact-title {
  font-size: 20px;
}
}
.footer-contact-subtitle {
  margin-left: 20px;
}
.footer-contact-button {
  margin-top: 0px!important;
}
@media screen and (max-width:1023px) {
.footer-contact-button {
  max-width: 300px;
}
}
@media screen and (max-width:639px) {
.footer-contact-button {
  max-width: 200px;
}
}
/* ------------------------------------copyrightセクション------------------------------------ */
.c-copyright {
  background-color: #F5F1F2 !important;
  color: #333 !important;
}
/* ------------------------------------------------------お問い合わせページ------------------------------------------------------ */

/* ------------------------------------申し込みフォーム------------------------------------ */
.contact-sec {

}
.contact-form .smb-panels__item__body{
  padding: 20px!important;
}
.form_table {
  margin: 0px auto;
  max-width: 800px;
}
.contact-list {
  display: flex;
  align-items: center;
  /* border-bottom: 1px solid #e60014; */
  padding-bottom: 20px;
  padding-top: 20px;
}
@media screen and (max-width:1023px) {
  .contact-list {
    display: block;
  }
}
.contact-list:last-of-type {
 border: none;
}
.contact-cmn-title {
  font-size: 16px;
  font-weight: bold;
  width: 280px;
}
@media screen and (max-width:1023px) {
  .contact-cmn-title {
   margin-bottom: 5px;
  }
}
.contact-cmn-title .required {
  display: inline-block;
  text-align: center;
  margin-left: 10px;
  padding: 1px 10px;
  font-size: 13px;
  background: #c1272d;
  color: #fff;
}
.contact-cmn-desc {
  flex: 1;
}
.gender-desc,.course-desc,.purpose-desc {
  flex:1;
}
.privacy-wrapper {
  flex: 1;
}
.contact-cmn-desc input {
  border-radius: 3px;
  background: #F5F1F2;
  padding: 10px;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
@media screen and (max-width:1023px) {
  .contact-cmn-desc input {
    padding: 5px;
  }
}
.contact-cmn-desc input::-webkit-input-placeholder {
  opacity: 0.7;
}
.contact-cmn-desc input::-moz-placeholder {
  opacity: 0.7;
}
.contact-cmn-desc input:-ms-input-placeholder {
  opacity: 0.7;
}
.contact-cmn-desc input::-ms-input-placeholder {
  opacity: 0.7;
}
.contact-cmn-desc input::placeholder {
  opacity: 0.7;
}
.contact-cmn-desc textarea {
  border-radius: 5px;
  background: #F5F1F2;
  padding: 10px;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.contact-cmn-desc textarea::-webkit-input-placeholder {
  opacity: 0.7;
}
.contact-cmn-desc textarea::-moz-placeholder {
  opacity: 0.7;
}
.contact-cmn-desc textarea:-ms-input-placeholder {
  opacity: 0.7;
}
.contact-cmn-desc textarea::-ms-input-placeholder {
  opacity: 0.7;
}
.contact-cmn-desc textarea::placeholder {
  opacity: 0.7;
}

@media screen and (max-width:639px) {
  .course-desc .wpcf7-list-item {
    display: block;
  }
}
@media screen and (max-width:639px) {
  .purpose-desc .wpcf7-list-item {
    display: block;
  }
}
.privacy-text {
  margin-bottom: 10px;
}
.scroll-box {
  padding: 10px;
  margin-bottom: 20px;
  width:100%;
  height:200px;
  overflow-y: scroll;
  border: 1px solid #ddd;
  background-color:#F5F1F2;
  border-radius: 3px;
}
/* スクロールバーの幅 */
.scroll-box::-webkit-scrollbar { width: 10px; }

/* スクロールバー背景色 */
.scroll-box::-webkit-scrollbar-track { background: rgb(231, 231, 231); }

/* スクロールバーのつまみの色 */
.scroll-box::-webkit-scrollbar-thumb { border-radius: 6px; background: #c1c1c1; }

.privacy-wrapper .wpcf7-list-item {
  margin-left: 0;
}

.submit {
  text-align: center;
  margin-top: 30px!important;
  margin-bottom: 30px;
}
.submit input {
  display: inline-block;
  max-width: 250px;
  width: 100%;
  padding: 15px 50px;
  border-radius: 5px;
  background: #e60014;
  border: none;
  border-bottom: solid 3px rgba(0, 0, 0, 0.25);
  font-size:20px;
  font-weight: bold;
  color: white;
}
.submit input:hover {
  cursor: pointer;
-webkit-filter: none;
        filter: none;
opacity: .7;
}

.wpcf7-response-output {
  font-size: 25px;
  font-weight: bold;
  padding: 0 5px!important;
  margin-left: 0!important;
  margin-right: 0!important;
	margin-top:0px!important;
}
.wpcf7-spinner {
  display: none;
}
@media screen and (max-width: 1023px) {
.wpcf7-response-output {
  font-size: 20px;
}
}
      /* .ajax-loader {
        display: none;
      }

/* エラーメッセージoff */
      /* .wpcf7-response-output {
        display: none;
      } */