/*//////////////////////////////////////

　main visual 

//////////////////////////////////////*/
.section-top {
  max-width: 1160px;
  margin: 0 auto 30px;
}
@media screen and (min-width: 768px) {
  .section-top {
    margin-bottom: 50px;
  }
}
.top-bg {
  max-width: 1160px;
  margin: 20px auto;
  height: 40vw;
  padding: 20px;
  background: #202056;
  font: 16px sans-serif;
  color: #FFF;
  border-radius: 10px;
  box-shadow: 0 0 0 4px #202056 inset, 0 0 0 8px #FFF inset;
  box-sizing: border-box;
  background-image: url("../img/shidou.png"), url("../img/bosyu.gif"), url("../img/mainvisualpic.png"); /* 背景画像 */
  background-repeat: no-repeat;
  background-position: 94% center, 10% center, 94% center;
  background-size: 10%, 42%, 55%;
}
.top-bg_img {
  margin: 20px 0;
}
@media screen and (min-width: 1170px) {
  .top-bg {
    height: 447px;
  }
}

/*//////////////////////////////////////

　成績をUPさせるエイムの指導方針

//////////////////////////////////////*/
.section-point_title {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.6;
  z-index: 10;
}
.section-point_title img {
  height: 60px;
  z-index: 1;
}
/* 画像の余白 */
.top_title {
  padding: 0 15px;
  font-weight: 600;
  z-index: 1;
}
.top_title span {
  font-size: 2.4rem;
}
/* 指導方針の傍点 */
.top_title-mark {
  display: inline-block;
  position: relative;
}
.top_title-mark::before {
  position: absolute;
  top: -0.7em;
  left: 50%;
  transform: translate(-50%, 0);
  color: #202056;
  font-size: 0.5em;
  content: "・";
}
/* UPのみフォントカラー変更 */
.top_title-red {
  color: #ec7071;
}
@media screen and (min-width: 768px) {
  .top_title {
    font-size: 1.8rem;
  }
  .top_title span {
    font-size: 3.0rem;
  }
  .section-point_title img {
    height: 90px;
  }
}
/*//////////////////////////////////////

　3つのpoint

//////////////////////////////////////*/
.point-contents {
  max-width: 1160px;
  margin: 0 auto;
  margin-top: -70px;
}
/* 指導方針背景　吹き出し型　*/
.balloon {
  position: relative;
  background: #fff;
  width: 100%;
}
.balloon:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -30px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
  border-width: 30px 50px 0 50px;
}
/* 下の要素の重なりを解除 */
.cf:after {
  content: "";
  display: block;
  clear: both;
}
/* 補習はすべて無料,学力を向上の文装飾*/
.point-subtitle {
  font-weight: 600;
  line-height: 1.8em;
  padding-top: 50px;
}
.point-subtitle_line {
  padding-bottom: 0.3em;
  border-bottom: solid 3px #ec7071; /* 文字の下線 */
}
@media screen and (min-width: 768px) {
  .point-subtitle {
    font-size: 1.8rem;
    display: inline-block;
    border-bottom: solid 3px #ec7071; /* 文字の下線 */
  }
  .point-subtitle_line {
    border-bottom: none;
  }
}
/* 3つのｐoint中身 */
.point-treepoint {
  padding: 80px 0 50px;
}
/*タイトル付きの枠-CSS*/
.treepoint-box {
  max-width: 320px;
  min-height: 320px;
  margin: 0 auto;
  font-weight: 600;
  border: 2px solid #202056;
  display: inline-block;
  position: relative;
  padding: 15px;
  border-radius: 3px; /*角の丸み*/
}
.treepoint-box img {
  margin: 1em 0;
}
.treepoint-box_number {
  position: absolute;
  top: -3.5em;
  left: 15px;
  padding: 0 10px;
  color: #003366;
  font-size: 1.2em;
  font-weight: bold;
  background: #fff;
}
.point-treepoint li {
  max-width: 350px;
  margin: 0 auto 5em;
}
.point-treepoint li:last-child {
  margin-bottom: 0;
}
.treepoint-text {
  font-weight: 300;
  text-align: left;
  line-height: 1.5em;
}
.section-point_contents {
  margin-top: 30px;
  /*  z-index: 20;*/
}
@media screen and (min-width: 1000px) {
  .point-treepoint {
    min-width: 300px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
  }
  .point-treepoint li {
    max-width: 350px;
    margin: 0 auto;
  }
}
/*//////////////////////////////////////

　2021年合格実績

//////////////////////////////////////*/
.section-result {
  margin-left: 0.5em;
  margin-right: 0.5em;
}
.section-result_box h2 {
  font-size: 1.8rem;
}
.section-result_box {
  max-width: 960px;
  padding: 1em;
  margin: 2em auto;
  font-weight: 300;
  color: #202056; /*文字色*/
  background: #FFF;
  border: solid 2px #202056; /*線*/
  border-radius: 3px; /*角の丸み*/
  background-image: url("../img/sakura.png"); /*桜の背景*/
  background-repeat: no-repeat;
  background-position: right center;
}
.section-result_box p {
  font-size: 1.6rem;
}
.sp-none {
  display: none;
}
@media screen and (min-width: 768px) {
  .sp-none {
    display: block;
  }
}
/*//////////////////////////////////////

　時間割＆料金表

//////////////////////////////////////*/
.section-table_cover {
  background-color: #fff;
  padding: 45px 10px;
}
.table-hr {
  margin: 3em auto;
}
/* 時間割表css */
table th, table td {
  padding: 8px 15px;
  border: solid 1px black;
  vertical-align: middle;
  /*実線 1px 黒*/
}
table th {
  font-weight: 300;
  color: #fff;
  background-color: #5cbd95;
}
table td span {
  font-size: 1.8rem;
  font-weight: 600;
  color: #ec7071;
}
.table_es, .table_jhs {
  margin: auto;
}
.table_jhs th { /* 中学生の時間割の見出し色 */
  background: #202056;
}
.jhs_week { /* 中学生の曜日が2行のため、行幅変更 */
  line-height: 20px;
  padding: 4px 15px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .section-table_cover {
    display: flex;
    justify-content: center;
  }
  .section-table_es {
    border-right: solid 1px #b6b6c8;
    padding-right: 3em;
  }
  .section-table_jhs {
    padding-left: 3em;
  }
}
/*//////////////////////////////////////

　卒業生のメッセージ

//////////////////////////////////////*/
.section-message {
  max-width: 960px;
  margin: 0 auto 50px;
}
.section-message_contents {
  margin-left: 0.5em;
  margin-right: 0.5em;
}
/* 卒業生のメッセージ内容 */
.slider li {
  padding: 15px;
  font-size: 16px;
  background-image: url("../img/吹き出し背景.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.slider li {
  padding: 15px;
  font-size: 16px;
  background: #fff;
  border: solid 2px #202056; /*線*/
  border-radius: 10px; /*角の丸み*/
}
.slider p {
  text-align: left;
}
/*==================================================
スライダーのためのcss
===================================*/
.slider { /*横幅94%で左右に余白を持たせて中央寄せ*/
  width: 94%;
  margin: 0 auto;
}
.slider img {
  width: 100%; /*スライダー内の画像を横幅100%に*/
  height: auto;
}
/*slickのJSで書かれるタグ内、スライド左右の余白調整*/
.slider .slick-slide {
  margin: 0 10px;
}
/*矢印の設定*/
/*戻る、次へ矢印の位置*/
.slick-prev, .slick-next {
  position: absolute; /*絶対配置にする*/
  top: 42%;
  cursor: pointer; /*マウスカーソルを指マークに*/
  outline: none; /*クリックをしたら出てくる枠線を消す*/
  border-top: 2px solid #202056; /*矢印の色*/
  border-right: 2px solid #292956; /*矢印の色*/
  height: 15px;
  width: 15px;
}
.slick-prev { /*戻る矢印の位置と形状*/
  left: -1.8%;
  transform: rotate(-135deg);
}
.slick-next { /*次へ矢印の位置と形状*/
  right: -1.8%;
  transform: rotate(45deg);
}
.section-message_img {
  margin: 2em 3em 0;
}
/*　イラストとボタンのflex解除　*/
.section-message_bottom {
  display: block;
  justify-content: center;
}
/*==================================================
ボタンのためのcss
===================================*/
.btn03 {
  margin-top: 1em;
  /*影の基点とするためrelativeを指定*/
  position: relative;
  /*ボタンの形状*/
  text-decoration: none;
  display: inline-block;
  text-align: center;
  background: transparent;
  border-radius: 10px;
  border: solid 2px #202056;
  outline: none;
  /*アニメーションの指定*/
  transition: all 0.2s ease;
}
/*hoverをした後のボタンの形状*/
.btn03:hover {
  border-color: transparent;
}
/*ボタンの中のテキスト*/
.btn03 span {
  position: relative;
  z-index: 2; /*z-indexの数値をあげて文字を背景よりも手前に表示*/
  /*テキストの形状*/
  display: block;
  padding: 0.5em 1.6em;
  padding-left: 2em;
  background: #fff;
  border-radius: 10px;
  color: #202056;
  /*アニメーションの指定*/
  transition: all 0.3s ease;
}
.btn03 span::before {
  position: absolute;
  top: 50%;
  left: 0.5em;
  width: 0.5em;
  height: 0.5em;
  transform: translateY(-50%) rotate(45deg);
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  content: "";
}
/*== 下に押し込まれる（立体が平面に） */
/*影の設定*/
.pushdown:before {
  content: "";
  /*絶対配置で影の位置を決める*/
  position: absolute;
  z-index: 0;
  top: 4px;
  left: 0;
  /*影の形状*/
  width: 100%;
  height: 100%;
  border-radius: 10px;
  background-color: #333;
}
/*hoverの際にY軸に4pxずらす*/
.pushdown:hover span {
  background-color: #202056;
  color: #fff;
  transform: translateY(4px);
}
/*//////////////////////////////////////

　エイムからのお知らせ

//////////////////////////////////////*/
.section-news {
  max-width: 1160px;
  margin: 0 auto 50px;
  padding: 0px 20px;
}
/* 背景 */
.section-news_wrapper {
  margin: 0 0.5em;
  padding: 2em;
  background: #FFF;
  border: solid 5px #202056; /*線*/
  border-radius: 3px; /*角の丸み*/
}
/* お知らせリスト */
.news-list {
  max-width: 960px;
  margin: 0 auto;
}
.news-list dl {
  text-align: left;
  padding: 10px 0;
  border-bottom: 1px solid #ccc;
}
/* お知らせリスト上部の線 */
.news-list dl:first-child {
  border-top: 1px solid #ccc;
}
.news-list dt {
  padding-bottom: 5px;
  color: #5cbd95;
}
@media screen and (min-width: 768px) {
  .news-list dt {
    clear: left;
    float: left;
    width: 10%;
  }
  .news-list dd {
    margin-left: 110px;
    ;
  }
}
/*//////////////////////////////////////

　エイムの電話番号、MAP

//////////////////////////////////////*/
.section-info {
  max-width: 1160px;
  margin: 0 auto 50px;
  font-weight: 300;
  font-size: 1.6rem;
}
.section-info h2 {
  font-size: 1.6rem;
  font-weight: 300;
}
/*　背景　*/
.section-info_wrapper {
  margin: 0 0.5em;
  padding: 1.5em;
  color: #fff;
  background: #202056;
  border: solid 2px #202056; /*線*/
  border-radius: 3px; /*角の丸み*/
}
.section-info_contents {
  max-width: 960px;
  margin: 0 auto;
}
/* 住所、電話番号BOX */
.section-info_adress {
  margin: 2.0em 0;
}
.info-tel {
  font-weight: 600;
}
/* reset.cssに詳細設定あり */
hr {
  width: 90%;
}
/* MAP */
.section-info_map img {
  z-index: 2;
}
.section-info_map p {
  padding: 1em 0 0.5em;
  background: #202056;
  border: solid 1px #fff; /*線*/
  border-radius: 0 0 3px 3px; /*角の丸み*/
  margin-top: -1em;
}
.section-info_map p img {
  vertical-align: text-bottom;
  margin-right: 0.5em;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .section-info_contents {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .section-info_adress {
    width: 50%;
    font-size: 1.8rem;
  }
  .info-tel {
    font-size: 2.4rem;
    font-weight: 600;
  }
  hr {
    width: 50%;
  }
  .section-info_map {
    width: 50%;
  }
}
/*//////////////////////////////////////

　SP固定ニューデザイン

//////////////////////////////////////*/
#fixed-menu {
  position: fixed;
  width: 100%;
  bottom: 0px;
  z-index: 99;
  font-size: 1.4rem;
  background: #EEEEEE;
}
.fixed-menu_wrapper {
  padding: 0.5em 1em;
}
.fixed-menu_wrapper img {
  vertical-align: bottom;
}
/*////////////////////////////////////////////////////////////////////////////

　卒業生のメッセージページ

////////////////////////////////////////////////////////////////////////////*/
.section-message_wrapper ul li {
  position: relative;
  background: #fff;
  border: solid 2px #202056;
  border-radius: 10px;
  padding: 2em;
  margin: 0 0.5em 3em;
}
.section-message_wrapper li:before, .section-message_wrapper li:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  margin: auto;
  border: solid;
}
.section-message_wrapper li:after {
  right: 40%;
  bottom: -20px;
  left: 0;
  border-color: #fff transparent transparent transparent;
  border-width: 20px 20px 0 20px;
}
.section-message_wrapper li:before {
  right: 40%;
  bottom: -23px;
  left: 0;
  border-color: #202056 transparent transparent transparent;
  border-width: 23px 23px 0 23px;
}
.section-message_wrapper li:nth-child(2n):after {
  right: 0;
  bottom: -20px;
  left: 40%;
  border-color: #fff transparent transparent transparent;
  border-width: 20px 20px 0 20px;
}
.section-message_wrapper li:nth-child(2n):before {
  right: 0;
  bottom: -23px;
  left: 40%;
  border-color: #5cbd95 transparent transparent transparent;
  border-width: 23px 23px 0 23px;
}
.section-message_wrapper {
  max-width: 1160px;
  margin: 0 auto;
  text-align: left;
}
/*====== 名前カラーと変更======*/
.message-name {
  font-weight: 600;
  font-size: 1.8rem;
  color: #202056;
}
.name-green {
  color: #5cbd95;
}
.section-message_wrapper ul li:nth-child(2n) {
  border: solid 2px #5cbd95;
}
/*アコーディオン全体*/
.accordion-area {
  list-style: none;
  width: 96%;
  max-width: 960px;
  margin: 0 auto;
}
/*アコーディオンタイトル*/
.title {
  position: relative; /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  font-size: 1.6rem;
  font-weight: 600;
  transition: all .5s ease;
}
/*アイコンの＋と×*/
.title::before, .title::after {
  position: absolute;
  content: '';
  width: 15px;
  height: 2px;
  background-color: #202056;
}
.title::before {
  top: 48%;
  right: 15px;
  transform: rotate(0deg);
}
.title::after {
  top: 48%;
  right: 15px;
  transform: rotate(90deg);
}
/*　closeというクラスがついたら形状変化　*/
.title.close::before {
  transform: rotate(45deg);
}
.title.close::after {
  transform: rotate(-45deg);
}
/*アコーディオンで現れるエリア*/
.box {
  display: none; /*はじめは非表示*/
}
@media screen and (min-width: 768px) {
  .section-news_wrapper {
    padding: 4em;
  }
}
/*////////////////////////////////////////////////////////////////////////////

　エイムからのお知らせページ

////////////////////////////////////////////////////////////////////////////*/
/*====== パンクズリスト ======*/
.cp_breadcrumb {
  max-width: 1160px;
  margin: 0 auto;
  padding: 1em;
  color: #b6b6c8;
  font-size: 1.4rem;
}
.cp_breadcrumb .breadcrumbs {
  display: flex;
  flex-wrap: wrap;
}
.cp_breadcrumb li {
  margin-right: 0.2em;
}
.cp_breadcrumb li::before {
  content: '›';
  padding: 0 0.5em;
}
.cp_breadcrumb li img {
  margin-right: 0.4em;
  margin-bottom: 0.3em;
  vertical-align: middle;
}
.cp_breadcrumb li:first-child:before {
  content: none;
}
.cp_breadcrumb li:last-child {
  color: #202056;
}
/*====== タイトルデザイン ======*/
.news-title {
  margin: 5em auto;
  background: url("../img/line.png") center / contain no-repeat;
}
.news-title_wrapper {
  min-width: 100px;
  padding: 2em;
}
.news-title_wrapper h2 {
  font-weight: 600;
  font-size: 2.4rem;
  margin-bottom: -0.3em;
}
.news-title_wrapper p {
  font-size: 1.6rem;
  color: #5cbd95;
}
/*====== お知らせ内容 ======*/
.news-contents {
  max-width: 960px;
  margin: 0 auto;
  text-align: left;
}
.news-contents p {
  margin-bottom: 1em;
}
.news-contents_title {
  font-weight: 600;
  margin-top: 1em;
  border-bottom: solid 1px #202056;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
}
.news-contents_title h2 {
  font-weight: 600;
}
.news-contents_title time {
  color: #5cbd95;
}
@media screen and (min-width: 768px) {
  .news-contents {
    margin: 2em auto;
  }
  .news-contents_title {
    display: flex;
    justify-content: space-between;
    text-align: center;
  }
}