@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');
* {
  box-sizing: border-box;
}
body{
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 2;
}
a{
  text-decoration: none;
  color: #000;
}
img{
  max-width: 100%;
}

/* header */

.head-contents{
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 18px;
}
header.main_head{
  background: rgba(31,24,99, .4);
  width: 100%;
  position: fixed;
  padding: 16px;
  top: 0;
  z-index: 1000;
}

header.main_head input,
header.main_head label{
  display: none;
}
.logo_head{
  display: flex;
  align-items: center;
  color: #fff;
}
.head_menu ul{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  column-gap: 24px;
}
.head_menu ul a{
  color: #fff;
}

/* mv */
/* ここから */
.mv {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
 
/* 全体を囲う要素 */
.mv-wrap {
  position: relative;
  /* 背景画像の高さ */
  height: 100vh;
}
 
video {
  display: block;
  width: 100%;
  /* 背景画像の高さ */
  height: 100%;
  /* 高さを維持したまま全体を表示させる */
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
 
.mv-bg {
  display: block;
  width: 100%;
  /* 背景画像の高さ */
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  /* 薄いレイヤーの色 */
  background-color: rgba(0, 30, 0, 0.2);
  /* videoの上に乗せる */
  z-index: 2;
}
.mv_text_block{
  width: 42%;
  height: 540px;
  position: absolute;
  right: 5%;
  z-index: 3;
  margin: auto;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
}
.mv-txt1 {
  color: #fff;
  font-size: 64px;
  line-height: 1.2;
  margin-bottom: 1.5rem;
}
.mv-txt2 {
  color: #fff;
  font-size: 28px;
  line-height: 1.8;
}
.jms_block{
  background: #1F1863;
  border: 2px solid #fff;
  border-radius: 36px;
  font-size: 28px;
  padding: 16px 32px;
  display: inline-block;
  color: #fff;
  margin-bottom: 1.5rem;
}
.section1_block{
  width: 100%;
  height: 100vh;
  position: relative;
}
.section1_block:before{
  content: '';
  background: url(../images/section1_img.jpg);
  background-size: cover;
  width: 100%;
  height: 50vh;
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
}
.section1_txt{
  position: absolute;
  z-index: 100;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 15%;
  width: 25%;
}
.base_contetns{
  padding: 96px 0;
  position: relative;
}
.container{
  width: 1040px;
  max-width: 100%;
  margin: auto;
  position: relative;
}
.text-center{
  text-align: center;
}
.section3_back{
  background: url(../images/section3_img.jpg);
  background-size: cover;
  background-position: center;
  height: 420px;
}
.section3_back > div{
  align-items: center;
  justify-content: center;
}
.base_text{
  font-size: 32px;
  margin-bottom: 72px;
}
.worries_contents{
  margin-bottom: 72px;
}
.worries_box{
  position: relative;
  width: 1054px;
  max-width: 95%;
  padding: 0 16px;
  font-size: 32px;
  height: 106px;
  z-index: 10;
  display: flex;
  align-items: center;
  margin-bottom: 48px;
}
.worries_box p{
  position: relative;
  z-index: 20;
  font-weight: 400;
  padding-left: 24px;
}
.worries_box p span{
  position: relative;
  padding-left: 32px;
}
.worries_box p span:before{
  content: '';
  background: url(../images/worries_icon.svg);
  width: 22px;
  height: 22px;
  position: absolute;
  left: 0;
  margin: auto;
  top: 0;
  bottom: 0;
}
.worries_box:after{
  content: '';
  width: 100%;
  height: 100%;
  border: 3px solid #1F1863;
  z-index: 5;
  position: absolute;
  margin: auto;
  left: 0;
  top: 0;
}
.worries_box:before{
  content: '';
  background: #C6C4D7;
  width: 100%;
  height: 100%;
  position: absolute;
  right: -12px;
  bottom: -12px;
  z-index: 0;
}
.check_text span{
  position: relative;
  padding-bottom: 16px;
}
.check_text span:before{
  content: '';
  background: #B90000;
  width: 100%;
  height: 4px;
  position: absolute;
  bottom: 0;
  margin: auto;
  left: 0;
  right: 0;
}
.section5_back{
  background: url(../images/section5_img.jpg);
  background-size: cover;
  background-position: center;
}
.base_ttl{
  background: #1F1863;
  padding: 32px;
  width: 880px;
  max-width: 100%;
  margin: 0 auto 72px;
  color: #fff;
  font-size: 32px;
  text-align: center;
}
.base_ttl_overlay{
  background: rgba(31,24,99, .7);
}
.base_ttl strong{
  font-size: 44px;
  /* padding-top: 16px; */
  margin-top: 16px;
  border-top: 3px solid #fff;
  display: block;
}
.overview_item{
  background: rgba(198,196,215, .34);
  border: 1px solid #000;
  font-size: 20px;
  width: 100%;
}
.overview_item td:first-child{
  font-size: 24px;
  text-align: center;
  width: 30%;
  border-right: 1px solid #000;
}
.overview_item td{
  padding: 24px;
  border-bottom: 1px solid #000;
}

.overview_item a{
  color: #1B00FF;
  text-decoration: underline;
}
.price_item{
  border: 1px solid #000;
  font-size: 20px;
  width: 100%;
  margin-bottom: 48px;
}
.price_item th{
  width: calc(100% / 3);
  background: #D8D7E4;
  padding: 8px;
  text-align: center;
  color: #B90000;
}
.price_item th:first-child{
  border-right: 1px solid #000;
  color: #1F1863;
}
.price_item th:last-child{
  border-left: 1px solid #000;
  color: #1F1863;
}
.price_item td:first-child{
  border-right: 1px solid #000;
}
.price_item td:last-child{
  border-left: 1px solid #000;
}
.price_item td{
  height: 214px;
  vertical-align: middle;
  text-align: center;
  font-size: 48px;
}
.price_item td strong{
  font-size: 64px;
}
p small{
  font-size: 70%;
}
.base_sub_ttl{
  text-align: center;
  font-size: 32px;
  position: relative;
  padding-bottom: 16px;
  margin-bottom: 48px;
}
.base_sub_ttl:before{
  content: '';
  width: 880px;
  max-width: 100%;
  height: 4px;
  background: #B90000;
  position: absolute;
  margin: auto;
  bottom: 0;
  left: 0;
  right: 0;
}
.sectio9_back{
  background: url(../images/section9_img.jpg);
  background-size: cover;
  background-position: center;
}
.container2{
  width: 95%;
  max-width: 100%;
  margin: auto;
  position: relative;
}
.teacher_box{
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.teacher_img{
  width: 20%;
}
.teacher_img img{
    margin-top: -8%;
}
.teacher_item{
    width: 77%;
    background: rgba(255,255,255,.75);
    padding: 5%;
    margin-left: 3%;
}
.teacher_item p{
  font-size: 20px;
  line-height: 1.4;
  margin-bottom: 12px;
}
.teacher_item p strong{
  font-size: 200%;
}
.teacher_colum{
  margin-bottom: 24px;
}
.teacher_colum h3{
  font-size: 28px;
  margin-bottom: 24px;
}
.teacher_colum h4{
  font-size: 24px;
  margin-bottom: 24px;
  line-height: 1.2;
/*  height: 58px;*/
}
.teacher_colum_item{
  display: flex;
  column-gap: 24px;
}
.teacher_colum_item_2{
  display: flex;
  column-gap: 24px;
}
.teacher_colum_item_2 > div{
    width: 20%;
}
.teacher_colum_item div small{
    font-size: 75%;
    line-height: 1.2;
    display: block;
}
.review_item_area{
  margin-top: 48px;
}
.review_contents{
  margin-top: 96px;
}
.review_item_box{
  position: relative;
  padding: 40px;
  margin-bottom: 72px;
}
.review_item_box.review_item_box2{
  margin-bottom: 16px;
  padding: 0 40px;
}
.review_item_box > div{
  border: 3px solid #1F1863;
  align-items: center;
  display: flex;
}
.review_item_box > div p{
  padding: 8px 32px;
      font-size: 17px;
}
.review_item_ttl{
  background: #B90000;
  color: #fff;
  padding: 12px;
  position: absolute;
  left: 0;
  top: 0;
}
.review_item_text{
  background: #B90000;
  color: #fff;
  padding: 12px;
  position: absolute;
  right: 0;
  bottom: 0;
}
.contact_contents{
  background: #E3E2EB;
}
.btn_line{
  text-align: center;
  margin-top: 48px;
}
.footer_contents{
  background: #1F1863;
  color: #fff;
}
.footer_contents p{
  line-height: 1;
}
.footer_link{
  margin: 48px auto;
  text-align: center;
}
.footer_link li{
  display: inline-block;
  margin: 0 24px;
}
.footer_link li a{
  color: #fff;
}
.pc{
  display: block;
}
.sp{
  display: none;
}
.pc2{
  display: block;
}
.sp2{
  display: none;
}
.section3_back .base_ttl{
  margin: 0 auto;
}
.following_link{
  position: fixed;
  right: 2%;
  bottom: 0;
  z-index: 800;
}
/*footerまでスクロールしたら消す*/
.is-hidden {
  visibility: hidden;
  opacity: 0;
}
.mt5{
    margin-top: 5%;
}
@media screen and ( max-width: 1000px ) {
  .sp{
    display: block;
  }
  .pc{
    display: none;
  }
  body{
    font-size: clamp(16px, 2.2vw, 24px);
  }
  .mv-txt1{
    font-size: clamp(32px, 5vw, 54px);
  }
  .jms_block,
  .mv-txt2,
  .overview_item td:first-child{
    font-size: clamp(20px,  2.4vw, 28px);
  }
  .teacher_item p,
  .review_item_box > div p{
    font-size: clamp(14px, 2vw, 24px);
  }
  .mv_text_block{
    right: 6%;
    width: 45%;
  }
  .section1_block{
    height: 80vh;
  }
  .section1_block:before{
    height: 40vh;
  }
  .section1_txt{
    left: 10%;
    width: 35%;
  }
  .base_ttl,
  .base_text,
  .price_item td,
  .teacher_colum h3,
  .teacher_colum h4{
    font-size: clamp(20px, 3.2vw, 32px);
  }
  .container {
      padding: 0 5%;
  }
  .worries_box,
  .base_sub_ttl{
    font-size: 2.8vw;
  }
  .worries_box p span:before {
    width: 16px;
    height: 16px;
    background-size: 100%;
  }
  .base_ttl strong,
  .price_item td strong {
    font-size: 4.2vw;
  }
}
@media screen and ( max-width: 599px ) {
  .pc2{
    display: none;
  }
  .sp2{
    display: block;
  }
  .logo_head p{
    font-size: 12px;
    line-height: 1.2;
  }
  .mv-wrap {
      position: relative;
      height: 95vh;
  }
  video{
    height: 33%;
    top: 78px;
  }
  .mv{
    background: #322d5d;
  }
  .mv_text_block {
      height: 100%;
      right: 0;
      width: 90%;
      left: 0;
      margin: auto;
      bottom: 10%;
      align-items: flex-end;
  }
  .mv-txt1 {
      font-size: clamp(32px, 10vw, 54px);
  }
  .jms_block, .mv-txt2, .overview_item td:first-child,
  .worries_box, .base_sub_ttl {
      font-size: clamp(16px, 3vw, 28px);
  }
  .mv_text_block > div{
        margin-top: 5%;
  }
  .section1_block {
      height: 60vh;
  }
  .section1_block:before {
      height: 30vh;
  }
  .section1_txt {
      left: auto;
      width: 70%;
      right: 5%;
  }
  .base_contetns {
    padding: 15% 0;
  }
  .section3_back{
    height: auto;
  }
  .worries_box p span {
      position: relative;
      padding-left: 32px;
      display: block;
      line-height: 1.3;
  }
  .check_text span{
    display: block;
  }
  .overview_item{
    font-size: clamp(16px, 2.2vw, 24px);
  }
  .base_ttl strong, .price_item td strong {
    font-size: clamp(28px, 8vw, 48px);
  }
  .overview_item td:first-child{
    width: 36%;
  }
  .price_item th{
    vertical-align: middle;
    line-height: 1.3;
    padding: 16px 0;
  }
  .price_item{
    margin-bottom: 8px;
  }
  .teacher_box{
    display: block;
  }
  .teacher_img {
      width: 50%;
      margin: 0 auto;
  }
  .teacher_item {
    width: 100%;
    margin-left: auto;
  }
  .teacher_colum_item.sp_block{
    display: block;
  }
  .teacher_colum h4{
    height: auto;
  }
  .review_item_box > div{
    display: block;
  }
  .review_item_box > div img{
    width: 40%;
    display: block;
    margin: 48px auto 0;
  }
  .review_item_box > div p {
    padding: 5% 5% 40px;
  }
  .review_item_box,
  .review_item_box.review_item_box2{
    padding: 0 5%;
  }
  .following_link{
      width: 50%;
  }
  .teacher_colum_item_2 > div {
        width: 46%;
    }
}
.color__red{
    color: #B90000;
}
teacher_colum_item_2 div p{
    font-size: clamp(14px, 2vw, 16px);
}
.mt-5{
    margin-top: 5%;
}
.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}
@media screen and ( max-width: 599px ) {
    .teacher_colum_item_2 {
        display: flex;
        column-gap: 24px;
        flex-wrap: wrap;
    }
    .price_item th{
        font-size: 4vw;
    }
    .price_item td,
    .price_item td strong{
        font-size: 5.5vw !important;
    }
    .review_item_text{
        bottom: -24px;
    }
}