@charset "UTF-8";
/***** -- MV -- *****/
.mv-wrap {
  position: relative;
  height: 200px;
  background-color: #fff;
  margin-top: 80px;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}
.mv-title {
  position: absolute;
  top: 50%;
  transform: translate(0,-50%);
  width: 100%;
  text-align: center;
  font-size: 48px;
  line-height: 0.5;
  font-weight: bold;
  color: #fff;
  z-index: 2;
  font-family:"Montserrat",sans-serif;
}
.mv-title span{
  font-size: 14px;
  font-weight: bold;
  font-family: YakuHanJPs, 游ゴシック Medium, Yu Gothic Medium, 游ゴシック体, YuGothic, Meiryo, Hiragino Sans, sans-serif;
  }
.mv-inner {
  position: relative;
  height: 100%;
  z-index: 1;
}
@media screen and (max-width: 1200px){}
@media screen and (max-width: 980px){}
@media screen and (max-width: 768px){
  .mv-wrap {
    height: 180px;
    margin-top: 70px;
  }
  .mv-title {font-size: 36px;}
}
@media screen and (max-width: 640px){}
@media screen and (max-width: 480px){
  .mv-wrap {
    height: 150px;
    margin-top: 60px;
  }
  .mv-title {font-size: 32px;}
  .mv-title span{font-size: 12px;}
}
@media screen and (max-width: 370px){
  .mv-title span{font-size: 10px;}
}

/* SECTION > 受講までの流れ */
.flow-wrap {
  background-color: rgba(255, 255, 255, 1);
}
.flow-inner {
  position: relative;
  padding: 20px 0 120px;
  z-index: 1;
}
.flow-contents {
  margin-top: 100px;
  padding: 0 20px;
}
.flow-step {
  margin-top: 50px;
}
.flow-step > div {
  position: relative;
  margin-top: 80px;
  padding: 0 0 20px 80px;
  counter-increment: titleNum;
}
.flow-step > div:first-child {margin-top: 0;}
.flow-step > div::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  line-height: 60px;
  font-size: 30px;
  font-weight: bold;
  font-family:"Montserrat",sans-serif;
  color: #fff;
  text-align: center;
  border-radius: 50%;
  background-color: #1A57B5;
  content: counter(titleNum);
}
.flow-step > div:last-child::after {display: none;}
.flow-step_title {
  position: relative;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
}
.flow-step_title::after {
  position: absolute;
  left: 0;
  bottom: -10px;
  width: 50px;
  height: 3px;
  z-index: 1;
  background-color: rgba(36, 46, 51, 1);
  content: '';
}
.flow-step_desc {
  font-size: 18px;
  margin-top: 25px;
  line-height: 1.5;
}
.flow-step_btn {margin-top: 15px;}
.flow-step_btn > a {
  width: 180px;
  font-size: 13px;
  margin-right: 10px;
  padding: .5rem 0!important;
}
.flow-step_btn > a:last-child {margin-right: 0;}

.price-wrap {
  background-color: rgba(241, 248, 255, 1);
}
.price-inner {
  position: relative;
  padding: 20px 0 120px;
  z-index: 1;
}
.flow-box {
  margin-top: 50px;
  padding:50px;
  background-color: rgba(255, 255, 255, 1);
}
.flow-box > div {margin-top: 50px;}
.flow-box > div:first-child {margin-top: 0;}
.flow-price {}
.flow-price_title {
  position: relative;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
}
.flow-price_title::after {
  position: absolute;
  left: 0;
  bottom: -10px;
  width: 50px;
  height: 3px;
  z-index: 1;
  background-color: rgba(36, 46, 51, 1);
  content: '';
}
.flow-price > .flow-price_title:nth-child(1) {margin-top: 0;}
.flow-price_subtitle {font-weight: bold;}
.flow-price_word > div {
  font-size: 15px;
  margin-top: 30px;
  line-height: 2;
}
.flow-price_word > div:nth-child(1) {margin-top: 20px;}
.flow-price_text {margin-top: 10px;}
.flow-price_text span {
  font-size: 20px;
  font-weight: bold;
  margin-left: 5px;
  margin-right: 5px;
}
.flow-btn {
  text-align: center;
  margin-top: 120px;
}
@media screen and (max-width: 1200px){
  .flow-contents {padding: 0 40px;}
}
@media screen and (max-width: 980px){
  .flow-step > div {padding: 0 0 20px 60px;}
  .flow-step > div::before {
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 20px;
  }
  .flow-step > div::after {
    left: 60px;
    bottom: -40px;
  }
}
@media screen and (max-width: 768px){
  .flow-inner {padding: 20px 0 80px;}
  .flow-contents {
    margin-top: 60px;
    padding: 0 20px;
  }
  .flow-step_desc {font-size: 15px;}
  .flow-price_word > div {font-size: 13px;}
  .flow-price_text span {font-size: 15px;}
  .flow-btn {margin-top: 70px;}
}
@media screen and (max-width: 640px){
  .flow-contents {padding: 0 10px;}
  .flow-step > div::before {
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 20px;
  }
  .flow-step_btn > a {
    width: 100%;
    font-size: 13px;
    margin-right: 0;
  }
  .flow-step_btn > a:last-child {margin-top: 10px;}

}
@media screen and (max-width: 480px){
  .flow-inner {padding: 20px 0 60px;}
  .flow-contents {margin-top: 30px;}
  .flow-step {padding: 25px 15px;}
  .flow-step > div {
    margin-top: 40px;
    padding: 0 0 20px 55px;
  }
  .flow-step > div:first-child {margin-top: 10px;}
  .flow-step > div::after {
    bottom: -20px;
    font-size: 24px;
  }
  .flow-step_title {font-size: 18px;}
  .flow-step_title::after {width: 30px;}
  .flow-step_desc {font-size: 13px;}
  .flow-box {
    margin-top: 30px;
    padding: 30px 15px;
  }
  .flow-price_title {font-size: 16px;}
}
@media screen and (max-width: 370px){
  .flow-step {padding: 25px 10px;}
  .flow-step > div {padding: 0 0 20px 45px;}
  .flow-step > div::before {
    width: 35px;
    height: 35px;
    line-height: 35px;
    font-size: 16px;
  }
  .flow-step > div::after {left: 45px;}
  .flow-step_title {font-size: 16px;}
  .flow-step_desc {font-size: 12px;}
}