/* =================================
   TopPage
==================================== */
.cf {
  *zoom: 1;
}
.cf:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
}

form ::-webkit-input-placeholder {
  color: #C6C6C6;
}
form :-moz-placeholder {
  opacity: 1;
  color: #C6C6C6;
}
form ::-moz-placeholder {
  opacity: 1;
  color: #C6C6C6;
}
form :-ms-input-placeholder {
  color: #C6C6C6;
}

::-moz-selection {
  color: #FFF;
  background: rgba(31, 127, 194, 0.7);
}

::selection {
  color: #FFF;
  background: rgba(31, 127, 194, 0.7);
}

/*body{
  min-width: 980px;
}
@media only screen and (max-width: 767px) {
  body{
    min-width: 320px;
  }
}*/


/*PC用CSS(ipad mini 7.9インチ対応)*/
@media only screen and (min-width: 768px) {
  .pc_none{
    display: none!important;
  }
}
/*SP用CSS(ipad mini 7.9インチ未対応)*/
@media only screen and (max-width: 767px) {
  .sp_none{
    display: none!important;
  }
}

.l-mv{
  width: 100%;
  height: auto;
  display: block;
}
@media only screen and (max-width: 767px) {
  .l-mv{
    padding-top: 70px;
  }
}
.l-mv img{
  width: 100%;
  height: auto;
}

main{
  width: 100%;
  height: auto;
  margin-top: -20%;
}
@media only screen and (max-width: 767px) {
  main{
    margin-top: 30%;
  }
}
main .news{
  width: 100%;
  height: auto;
  display: block;
}

main .news .news_inner{
  width: 800px;
  height: auto;
  display: block;
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 767px) {
  main .news .news_inner{
    width: 90%;
    /*margin-top: 20%;*/
  }
}
main .news .news_inner img.deco{
  width: 206px;
  height: auto;
  display: block;
  position: absolute;
  left: -46px;
  top: -68px;
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  main .news .news_inner img.deco{
    width: 160px;
    left: -5%;
    top: -55px;
    z-index: -1;
  }
}
main .news .news_inner h3{
  font-size: 20px;
  line-height: 30px;
  letter-spacing: 0.02em;
  font-weight: 800;
  color: #1A2880;
  margin-left: 130px;
}
@media only screen and (max-width: 767px) {
  main .news .news_inner h3{
    font-size: 17px;
    line-height: 45px;
    margin-left: 93px;
  }
}

main .news .news_inner ul{
  width: 100%;
  height: auto;
  display: block;
  border-top: 1px solid #1A2880;
  margin-top: 12px;
}
main .news .news_inner ul li{
  width: 100%;
  height: auto;
  padding: 20px 14px;
  border-bottom: 1px solid #1A2880;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  main .news .news_inner ul li{
    padding: 17px 14px;
  }
}
main .news .news_inner ul li a{
  width: 100%;
  height: auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  main .news .news_inner ul li a{
    flex-wrap: wrap;
  }
}
main .news .news_inner ul li a p.date{
  font-size: 14px;
  line-height: 24px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #1A2880;
  margin-right: 18px;
}
main .news .news_inner ul li a p.cat{
  width: 110px;
  text-align: center;
  font-size: 13px;
  line-height: 23px;
  font-weight: 400;
  letter-spacing: 0.02em;
  color: #fff;
  background-color: #1A2880;
  margin-right: 26px;
  padding: 0 14px;
}
@media only screen and (max-width: 767px){
  main .news .news_inner ul li a p.cat{
    width: auto;
  }
}
main .news .news_inner ul li a p.ttl{
  width: 515px;
  font-size: 15px;
  line-height: 25px;
  font-weight: 800;
  letter-spacing: 0.02em;
}
@media only screen and (max-width: 767px) {
  main .news .news_inner ul li a p.ttl{
    width: 100%;
    height: auto;
    margin-top: 8px;
  }
}
main .news .news_inner .more{
  width: 100%;
  height: auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
main .news .news_inner .more a{
  width: 111px;
  height: auto;
  display: block;
  margin-top: 17px;
}
main .news .news_inner .more a img{
  width: 100%;
  height: auto;;
}

/*LINEバナー部分*/
main .bnr_line{
  width: 730px;
  height: auto;
  display: block;
  margin: 100px auto;
}

.sp_line01{
  width: 90%;
  max-width: 335px;
  min-width: 320px;
  margin: 70px auto 60px;
  background-color: #06C755;
  padding: 24px 26px;
}
.sp_line01 .line_img01{
  width: 100%;
  height: auto;
  display: block;
}
.sp_line01 a{
  width: auto;
  height: auto;
  display: block;
  margin: 15px auto 0;
  box-shadow: 0px 0px 16px -6px rgba(3,3,6,0.3);
  border-radius: 10px;
}
.sp_line01 a .line_img01{
  width: 263px;
  height: auto;
  display: block;
}


/*sp lineバナー*/
/*.sp_line{
  width: 335px;
  height: auto;
  background-color: #06C755;
  padding: 25px 0 20px 0;
  margin: 70px auto 60px;
  text-align: center;
  display: block;
}
.sp_line img.line_title{
  width: 84%;
  height: auto;
  display: block;
  margin: 0 auto 20px;
}
.sp_line a{
  width: 84%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.sp_line a img{
  width: 100%;
  height: auto;
  display: block;
}
.sp_line p{
  font-size: 14px;
  letter-spacing: 0.02em;
  line-height: 24px;
  color: #fff;
  margin-top: 5px;
}*/

/*動画部分*/
main .movie_bg{
  width: 100%;
  height: auto;
  padding: 110px 0;
  background-color: #EDF3FC;
  position: relative;
}
@media only screen and (max-width: 767px) {
  main .movie_bg{
    padding: 30px 0;
  }
}
main .movie_bg img{
  width: 359px;
  height: auto;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media only screen and (max-width: 767px) {
  main .movie_bg img{
    width: 37%;
  }
}
main .movie_bg .movie{
  width: auto;
  height: auto;
}
@media only screen and (max-width: 767px) {
  main .movie_bg .movie{
    width: 90%;
    height: auto;
    margin: 0 auto;
  }
}
main .movie_bg iframe{
  width: 600px;
  height: 351px;
  display: block;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  main .movie_bg iframe{
    width: 100%;
    height: 201px;
    position: relative;
    z-index: 10;
  }
}


/*ポイント部分*/
main .contents02{
  width: 100%;
  height: auto;
  display: block;
  padding-top: 100px;
}
@media only screen and (max-width: 767px) {
  main .contents02{
    padding-top: 50px;
  }
}
main .contents02 .contents02_01{
  width: 980px;
  height: auto;
  display: block;
  margin: 0 auto;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  main .contents02 .contents02_01{
    width: 90%;
  }
}
main .contents02 .contents02_01 h3{
  width: 206px;
  height: auto;
  display: block;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  main .contents02 .contents02_01 h3{
    width: 160px;
  }
}
main .contents02 .contents02_01 h3 img{
  width: 100%;
  height: auto;
}
main .contents02 .contents02_01 h4{
  font-size: 22px;
  letter-spacing: 0.04em;
  line-height: 42px;
  font-weight: 800;
  color: #1A2880;
  margin-top: 13;
}
@media only screen and (max-width: 767px) {
  main .contents02 .contents02_01 h4{
    font-size: 17px;
    letter-spacing: 0.04em;
    line-height: 25px;
    margin-top: 13px;
  }
}
main .contents02 .contents02_01 h4 span{
  font-size: 33px;
  margin: 0 5px;
}
@media only screen and (max-width: 767px) {
  main .contents02 .contents02_01 h4 span{
    font-size: 25px;
    margin: 0 5px;
  }
}
main .contents02 .contents02_01 ul.contents02_01_01{
  width: 100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  main .contents02 .contents02_01 ul.contents02_01_01{
    flex-direction: column;
    margin-top: 0;
  }
}
main .contents02 .contents02_01 ul.contents02_01_01 li.contents02_01_01_01{
  width: 270px;
  height: auto;
  display: block;
}
@media only screen and (max-width: 767px) {
  main .contents02 .contents02_01 ul.contents02_01_01 li.contents02_01_01_01{
    width: 80%;
    height: auto;
    display: block;
    margin: 35px auto 0;
  }
}
main .contents02 .contents02_01 ul.contents02_01_01 li.contents02_01_01_01 .sub_img{
  width: 100%;
  height: auto;
  display: block;
}
main .contents02 .contents02_01 ul.contents02_01_01 li.contents02_01_01_01 .p_title{
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 15px;
}
main .contents02 .contents02_01 ul.contents02_01_01 li.contents02_01_01_01 .p_title img.number{
  width: auto;
  height: 26px;
  margin-right: 10px;
}
@media only screen and (max-width: 767px) {
  main .contents02 .contents02_01 ul.contents02_01_01 li.contents02_01_01_01 .p_title img.number{
    width: auto;
    height: 26px;
    margin-right: 10px;
  }
}
main .contents02 .contents02_01 ul.contents02_01_01 li.contents02_01_01_01 h5{
  font-size: 18px;
  line-height: 28px;
  color: #1A2880;
  font-weight: 800;
  letter-spacing: 0.02em;
  margin-top: 5px;
  text-decoration: underline;
}
main .contents02 .contents02_01 ul.contents02_01_01 li.contents02_01_01_01 .text{
  font-size: 14px;
  line-height: 24px;
  text-align: left;
  margin-top: 10px;
}
@media only screen and (max-width: 767px) {
  main .contents02 .contents02_01 ul.contents02_01_01 li.contents02_01_01_01 .text{
    margin-top: 13px;
  }
}


/*指導方針*/
main .contents03{
  width: 100%;
  height: auto;
  display: block;
  padding-top: 100px;
}
@media only screen and (max-width: 767px) {
  main .contents03{
    width: 90%;
    padding-top: 70px;
    margin: 0 auto;
  }
}
main .contents03 .contents03_01{
  width: 980px;
  height: auto;
  display: block;
  margin: 0 auto;
  padding: 44px 0 62px;
  text-align: center;
  background-image: url(../../assets/img/top/bg03.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media only screen and (max-width: 767px) {
  main .contents03 .contents03_01{
    width: 100%;
    padding: 36px 0 46px;
  }
}
main .contents03 .contents03_01 h3{
  width: 133px;
  height: auto;
  display: block;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  main .contents03 .contents03_01 h3{
    width: 105px;
  }
}
main .contents03 .contents03_01 h3 img{
  width: 100%;
  height: auto;
}
main .contents03 .contents03_01 h4{
  font-size: 22px;
  letter-spacing: 0.04em;
  line-height: 1.1;
  font-weight: 800;
  color: #fff;
  margin-bottom: 24px;
}
@media only screen and (max-width: 767px) {
  main .contents03 .contents03_01 h4{
    font-size: 17px;
    letter-spacing: 0.04em;
    line-height: 25px;
    margin-bottom: 10px;
    margin-top: 11.6px;
  }
}
main .contents03 .contents03_01 p{
  font-size: 18px;
  letter-spacing: 0.02em;
  line-height: 38px;
  font-weight: 800;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  main .contents03 .contents03_01 p{
    font-size: 17px;
    line-height: 30px;
  }
}
main .contents03 .contents03_01 p span{
  font-size: 22px;
  letter-spacing: 0.02em;
  line-height: 38px;
  font-weight: 800;
  color: #FFD200;
}


/*指導カリキュラム*/
main .contents04{
  width: 100%;
  height: auto;
  display: block;å
}
main .contents04 .contents04_01{
  width: 980px;
  height: auto;
  display: block;
  margin: 0 auto;
  padding: 100px 0 120px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  main .contents04 .contents04_01{
    width: 90%;
    padding: 57px 0 70px;
    text-align: center;
  }
}
main .contents04 .contents04_01 h3{
  width: 286px;
  height: auto;
  display: block;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  main .contents04 .contents04_01 h3{
    width: 210px;
    margin: 0 auto;
  }
}
main .contents04 .contents04_01 h3 img{
  width: 100%;
  height: auto;
  margin-left: -40px;
}
@media only screen and (max-width: 767px) {
  main .contents04 .contents04_01 h3 img{
    margin-left: -26px;
  }
}
main .contents04 .contents04_01 h4{
  font-size: 22px;
  letter-spacing: 0.04em;
  line-height: 1.1;
  font-weight: 800;
  color: #1A2880;
  margin-top: 12px;
}
@media only screen and (max-width: 767px) {
  main .contents04 .contents04_01 h4{
    font-size: 17px;
    letter-spacing: 0.04em;
    margin-top: 12px;
  }
}
main .contents04 .contents04_01 p{
  font-size: 15px;
  letter-spacing: 0.04em;
  line-height: 27px;
  font-weight: 800;
  margin-top: 23px;
}
@media only screen and (max-width: 767px) {
  main .contents04 .contents04_01 p{
    font-size: 15px;
    line-height: 25px;
    margin-top: 25px;
  }
}
main .contents04 .contents04_01 img.body_move{
  width: 100%;
  height: auto;
  margin-top: 43px;
  display: block;
}
@media only screen and (max-width: 767px) {
  main .contents04 .contents04_01 img.body_move{
    max-width: 375px;
    margin-top: 43px;
    margin: 20px auto 0;
    display: block;
  }
}

