@charset "UTF-8";
/*==========================
    - 〜479px      ：SP portrait
    - 480px〜599px ：SP landscape
    - 600px〜959px ：tablet
    - 960px〜1279px：small PC
    - 1280px〜     ：large PC
    - 1400px〜     ：largest PC
==========================*/
/* 〜479px：SP portrait
------------------------------ */
/***************************
    container
***************************/
#title-bar {
    background-image: url(../img/h1_bg_sp.png); }
  #title-bar h1 {
    width: auto; }

#block-intro > .bg {
  background: url(../img/intro_bg_sp.png) left top no-repeat;
  background-size: 100%; }
#block-intro > .inner {
  padding: 20px 0 65px; }
#block-intro .box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 34px 0 0; }
  #block-intro .box li {
    width: 48.529411764705884%;
    margin: 10px 0 0;
    line-height: 22px;
    font-size: 10px;
    text-align: center;
    background: #fff;
    border: 3px solid #000;
    box-sizing: border-box; }
    #block-intro .box li .title {
      padding: 13px 0;
      line-height: 13px;
      font-size: 13px;
      font-weight: bold; }
    #block-intro .box li .description {
      padding: 15px 0; }
    #block-intro .box li:nth-child(1) {
      margin: 0;
      border-color: #e5a33a; }
      #block-intro .box li:nth-child(1) .title {
        background: #f2d19c; }
    #block-intro .box li:nth-child(2) {
      margin: 0;
      border-color: #83d0e9; }
      #block-intro .box li:nth-child(2) .title {
        background: #c1e7f4; }
    #block-intro .box li:nth-child(3) {
      border-color: #fbe631; }
      #block-intro .box li:nth-child(3) .title {
        background: #fdf298; }
    #block-intro .box li:nth-child(4) {
      border-color: #e76b56; }
      #block-intro .box li:nth-child(4) .title {
        background: #f3b5aa; }
    #block-intro .box li:nth-child(5) {
      border-color: #955bd6; }
      #block-intro .box li:nth-child(5) .title {
        background: #caadea; }
    #block-intro .box li:nth-child(6) {
      border-color: #e261b0; }
      #block-intro .box li:nth-child(6) .title {
        background: #f0b0d7; }

#block-power > .bg {
  background: url("../img/intro_bg_sp.png") top center no-repeat;
  background-size: 100%; }
#block-power > .inner {
  padding: 30px 0 40px; }
#block-power h2.title {
  font-size: 24px;
  line-height: 1.3em;
  margin: 0 auto 45px; }
  #block-power h2.title > span {
    display: block;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.6em;
    letter-spacing: 0em;
    margin-top: 0.6em;
    color: #6bc8f2; }
#block-power .block-feature-box {
  display: block;
  box-sizing: border-box;
  margin: 20px auto 25px;
  font-size: 13px;
  text-align: center;
  background: #fff;
  box-sizing: border-box;
  border: 2px solid #b73f91;}
    #block-power .block-feature-box h3 {
      background: #b73f91;
      color: #fff;
      margin: 0;
      padding: 13px 0;
      line-height: 18px;
      font-size: 13px;
      font-weight: bold;}
    #block-power .block-feature-box h4 {
      margin: 20px 0 10px;
      color: #b73f91;
      line-height: 13px;
      font-size: 16px;
      font-weight: bold;
      text-align: center;
      line-height: 20px; }
    #block-power .block-feature-box h5 {
      margin: 15px auto;
      font-size: 14px;
      color: #b73f91;
      font-weight: bold;
      text-align: center;
    }
    #block-power .block-feature-box .text {
      color: #333;
      padding: 10px 10px 5px;
      text-align: left;
      font-size: 13px; }
    #block-power .block-feature-box .flex-box {
      padding: 5px 20px;
    }
    #block-power .block-feature-box .wh50 {
      width: 93%;
      margin: auto;
      padding: 10px 5px 15px;
    }

#block-power .accr {
  width: 140px;
  margin: 1.8em auto 0; }

#block-curriculum {
  position: relative;
  width: 100%;
  z-index: 1; }
#block-curriculum .curriculum-box p.curriculum-p{
  padding-bottom: 5px;
  font-size: 16px;
  color: #fff;
  font-weight: bold;
}
#block-curriculum .curriculum-box {
  margin: 30px 0;
  text-align: center;
}

#block-curriculum .accr {
  width: 140px;
  margin: 1.8em auto 0; }

  #block-curriculum > .bg {
    background: url("/mathematics/assets/img/bg_appeal_top.jpg") repeat-x top, url(/mathematics/assets/img/bg_appeal.jpg) repeat-y top center / 100%; }
#block-curriculum .bg .jagged::after {
    content: '';
    position: absolute;
    z-index: 0;
    display: block;
    width: 100%;
    background-repeat: no-repeat;
    background-size: contain;
    bottom: -45px;
    height: 46px;
    background-image: url("/mathematics/assets/img/bg_appeal_bottom02.png");
}
  #block-curriculum > .inner {
    width: 100%;
    padding: 55px 20px 5px;
    box-sizing: border-box; }
  #block-curriculum h2.title {
    letter-spacing: 0.03em;
    margin-bottom: 30px;
    color: #fff; }
    #block-curriculum h2.title span {
      color: #fff; }
  #block-curriculum .box-txt02 {
    text-align: center;
    color: #69174f;
    margin: 15px 0 17px; }

  #block-curriculum .block-curriculum-list {
  display: block;
  flex-wrap: wrap;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto 50px; }
  #block-curriculum .block-curriculum-list li {
    width: 100%;
    line-height: 22px;
    font-size: 10px;
    text-align: center;
    background: #fff;
    box-sizing: border-box;
    border-left: 1px solid #d76cb5; }
    #block-curriculum .block-curriculum-list li h4 {
      background: #b73f91;
      color: #fff;
      padding: 13px 0;
      font-size: 18px;
      font-weight: bold; }
    #block-curriculum .block-curriculum-list li .text {
      color: #333;
      padding: 15px 10px;
      text-align: center;
      font-size: 14px; }

  #block-curriculum .feature_box {
    background: #fff;
    margin: 18px 0 30px;
    padding: 10px 20px; }

  #block-curriculum .feature_box p {
    font-size: 16px;
    font-weight: bold;
    color: #69174f;
    text-align: center;
  }

  #block-curriculum .img_box {
    margin: 0 auto 70px; }
  #block-curriculum h3.title {
    letter-spacing: 0.03em;
    color: #fff;
    margin: 0;
    font-size: 18px;
    line-height: 30px; }
  #block-curriculum .blk-body .pc_flex.mb01 {
    margin: 0 0 30px; }
  #block-curriculum .blk-body > .inner {
    flex-wrap: wrap;
    width: 100%;
    margin: 0 auto; }
  #block-curriculum .blk-body .box {
    margin-top: 15px;
    width: 100%;
    background: #fff;
    box-sizing: border-box;
    text-align: center; }

#block-school {
  z-index: 1; }
  #block-school > .bg {
    background: url("../img/intro_bg_sp.png") top center no-repeat;
    background-size: 100%; }
  #block-school > .inner {
    margin: 15px auto 0;
    padding: 37px 0 35px; }
  #block-school h2 {
    margin: 0 0 35px; }
  #block-school .box + .box {
    margin: 50px 0 0; }
    #block-school .box + .box.mb01 {
      margin: 50px 0 77px; }
  #block-school .box h3 {
    margin: 0 0 10px;
    font-size: 15px; }
  #block-school .box .lead {
    margin: 0 auto 10px; }
  #block-school .box .feature {
    border: 1px solid #cecece;
    background: #fff; }
    #block-school .box .feature h4 {
      line-height: 40px;
      text-align: center;
      color: #fff; }
    #block-school .box .feature .text {
      padding: 12px;
      border-top: 1px solid #cecece; }
      #block-school .box .feature .text li {
        list-style: disc;
        margin-left: 1.5em; }
  #block-school .box .sky {
    color: #d76cb5;
    background: #ffe8f8; }
  #block-school .box .gray {
    background: #f7f7f7; }
  #block-school .box table {
    width: 100%;
    margin: 10px auto 0;
    background: #fff;
    border-collapse: collapse; }
    #block-school .box table th {
      padding: 12px 0;
      font-size: 11px;
      text-align: center;
      vertical-align: middle;
      border: 1px solid #cecece;
      width: 29.411764705882355%;
      color: #fff;
      background: #d76cb5; }
    #block-school .box table td {
      padding: 12px 8px;
      font-size: 12px;
      vertical-align: middle;
      border: 1px solid #cecece;
      width: 70.58823529411765%; }
    #block-school .box table td.w40 {
      width: 40%; }
  #block-school .box h3 {
    color: #6bc8f2; }
  #block-school .box .feature h4 {
    background: #6bc8f2; }

/* 480px〜599px：SP landscape
------------------------------ */
@media screen and (min-width: 414px) {
  /***************************
      container
  ***************************/ }
/* 600px〜959px：tablet
------------------------------ */
@media screen and (min-width: 600px) {
  /***************************
      container
  ***************************/
#block-power .block-feature-box .wh50 {
    width: 50%;
  }
}
/* 960px〜1279px：small PC
------------------------------ */
@media screen and (min-width: 960px) {
  /***************************
      container
  ***************************/
  #title-bar {
    background-image: url(../img/h1_bg_pc.png); }
  #block-power > .bg {
    background: url(../img/bg_feature_pc.png) top 23em center repeat-y;
    background-size: 100%; }
  #block-power > .inner {
    width: 90.66666666666666%;
    padding: 40px 0 50px;
    box-sizing: border-box; }
  #block-power h2.title {
    font-size: 38px;
    margin: 0 auto 40px; }
    #block-power h2.title > span {
      font-size: 17px; }
  #block-power .block-feature-box {
    max-width: 1030px;
    margin: 40px auto 50px;
    padding: 0 0 50px;
      line-height: 30px;
      font-size: 16px; }
      #block-power .block-feature-box h3 {
        line-height: 40px;
        font-size: 22px;
        padding: 20px 0;
        margin: 0 0 22px; }
      #block-power .block-feature-box h4 {
        margin: 35px 0 20px;
        line-height: 40px;
        font-size: 22px; }
      #block-power .block-feature-box h5 {
        margin: 25px auto 20px;
        line-height: 40px;
        font-size: 18px; }
      #block-power .block-feature-box .text {
        padding: 13px 40px;
        font-size: 16px;
        letter-spacing: -0.6px; }
      #block-power .block-feature-box .img-box {
       max-width: 516px;
       padding-top: 30px;
      }
      #block-power .block-feature-box .img-box02 {
       max-width: 759px;
       padding-top: 30px;
      }
      #block-power .block-feature-box .wh50 {
        display: block;
        width: 50%;
        margin: auto;
        padding: 15px 0;
      }
     #block-power .block-feature-box .mt75 {
       margin-top: 75px;
    }

  #block-power .accr {
    width: 240px; }

 #block-curriculum > .inner {
    margin: 0 auto; }
    #block-curriculum > .inner .blk-head .inner {
      margin: 0 auto; } 

  #block-curriculum > .inner {
    padding: 40px 0 50px;
    box-sizing: border-box; }
  #block-curriculum .blk-body > .inner {
    width: 70%; }
  #block-curriculum h2.title {
    font-size: 48px; }
    #block-concept h2.title > span {
      font-size: 26px; }

  #block-curriculum .block-curriculum-list {
  display: flex;
  width: 100%;
  margin: 0 auto 50px; }
  #block-curriculum .block-curriculum-list li {
    width: 25%;
    line-height: 30px;}
    #block-curriculum .block-curriculum-list li h4 {
      font-size: 23px; }
    #block-curriculum .block-curriculum-list li .text {
      padding: 20px 20px 25px;
      font-size: 16px; }

  #block-curriculum .accr {
    width: 240px; }

  #block-curriculum .feature_box {
    max-width: 930px;
    padding: 25px 50px;
    margin-bottom: 0;
    display: block;
  }
  #block-curriculum .feature_box p {
    font-size: 20px;
  }
  #block-curriculum .curriculum-box p.curriculum-p {
    font-size: 20px;
  }

  #block-curriculum .accr {
    width: 240px; }

  #block-curriculum > .inner {
    width: 90.66666666666666%;
    max-width: 1030px;
    padding: 70px 0 48px; }
  #block-curriculum h2.title {
    font-size: 48px;
    margin-top: 32px;
    margin-bottom: 30px; }
  #block-curriculum .blk-body .inner {
    width: 100%; }
  #block-curriculum .blk-body .pc_flex {
    display: flex;
    justify-content: space-between; }
    #block-curriculum .blk-body .pc_flex.mb01 {
      margin: 0 0 50px; }
  #block-curriculum .blk-body .img_box {
    margin: 0 auto 40px; }
  #block-curriculum .blk-body .box {
    box-sizing: border-box;
    margin-top: 40px; }

  #block-school .bg {
   background: url(../img/intro_bg_pc.png) 0 5em no-repeat;
    background-size: 100%; }
  #block-school h2 {
    margin: 0 0 50px; }
  #block-school > .inner {
    padding: 80px 0 80px; }
  #block-school .box + .box {
    margin: 70px 0 0; }
  #block-school .box h3 {
    margin: 0 0 20px;
    font-size: 26px; }
  #block-school .box .lead {
    margin: 0 auto 20px; }
  #block-school .box .feature {
    display: table;
    width: 950px;
    margin: 0 auto;
    border: 2px solid #cecece; }
    #block-school .box .feature h4 {
      display: table-cell;
      width: 193px;
      font-size: 16px;
      vertical-align: middle;
      text-align: center; }
    #block-school .box .feature .text {
      width: 757px;
      padding: 24px 30px;
      border-top: none;
      border-left: 2px solid #cecece;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
  #block-school .box table {
    width: 950px;
    margin: 30px auto 0; }
    #block-school .box table .w20 {
      width: 20%; }
    #block-school .box table .w40 {
      width: 40%; }
    #block-school .box table .sky {
      color: #d76cb5;
      background: #ffe8f8; }
    #block-school .box table .gray {
      background: #f7f7f7; }
    #block-school .box table th {
      padding: 30px 0;
      font-size: 18px;
      border: 2px solid #cecece;
      color: #fff;
      background: #d76cb5; }
    #block-school .box table td {
      width: auto;
      font-size: 16px;
      vertical-align: middle;
      border: 2px solid #cecece; } }
/* 1280px〜：large PC
------------------------------ */
@media screen and (min-width: 1280px) {
  /***************************
      container
  ***************************/ 
  #block-power .block-feature-box .flex-box {
    display: flex;
    max-width: 950px;
    flex-wrap: wrap;
    justify-content: space-around;
    margin: auto; }
  #block-power .block-feature-box .flex-box .box:nth-child(1) {
    width: 505px;
    line-height: 2;
    font-size: 16px;
    text-align: left;
   }
   #block-power .block-feature-box .flex-box .box:nth-child(2) {
     width: 400px;
     padding-left: 35px;
    }
   #block-power .block-feature-box .wh50 {
    width: 100%;
  }
}
/* 1400px〜：largest PC
------------------------------ */
@media screen and (min-width: 1400px) {
  /***************************
      container
  ***************************/ }
/*# sourceMappingURL=index.css.map */

/* 20231207追記 */
#block-curriculum .block-curriculum-list {
  justify-content: flex-start;
	margin-bottom: 0;
}
@media screen and (max-width: 960px) {
	#block-curriculum .block-curriculum-list {
		margin-bottom: 0;
	}
}