@charset "UTF-8";
/*---------------------------------------------------------
ALL
---------------------------------------------------------*/

/*---------------------------------------------------------
ヘッダー
---------------------------------------------------------*/
header{
    background: #007440;
    border-bottom: 9px solid #fac44c;
    padding:1vh 0 1vh;
}
#head-leed,.breadcrumb-area{
    background: #F7F7F7;
}
.head-leed-box,.head-menu-box{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5vh 0;
}
.header-logo{
    width: 400px;
    padding: 1vh 0 1vh;
}
.head-contents{
display: flex;
    align-items: center;
}
.head-freedial{
    display: flex;
    justify-content: center;
}
.head-freedial > li{
display: flex;
    flex-direction: column;
}
.head-freedial-logo{
    height: 25px;
    margin: 1rem 0 0 0;
}
.head-freedial-number{
font-size: clamp(2rem, 5vw, 4rem);
    font-weight: 700;
    line-height: 1;
   font-family: "din-2014", sans-serif;
    margin-left: .5rem;
    letter-spacing: .15rem;
}
.head-freedial-time{
    display: block;
    font-size: clamp(1.4rem, 1.6vw, 1.4rem);
}
.head-leed-list{
display: flex;
}
.head-leed-list li{
    position: relative;
    padding-left: 20px;
    padding-right: 1rem;
}
.head-leed-list li::before {
  content: '\f138';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 0;
  left: 0;
  color: #007440;
}
.head-leed-list li a:hover{
  color: #EE4D47
}
.h1-leed{
font-size: clamp(1.2rem, 1.6vw, 1.4rem);
}
.head-menu-btn-box{
    display: flex;
}

/*ボタン*/
.head-menu-mail{
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.head-menu-mail a,.head-menu-line a,.head-menu-soudan a{
    margin: 0 0.5vw;
    padding: 1.25vh 1vw 1.25vh 35px;
    font-weight: 900;
    display: block;
    border-radius: 4px;
    position: relative;
    font-size: clamp(1.3rem, 3vw, 2rem);
    line-height: 1.3;
}
.btn-footer-contact-mail a,.btn-footer-contact-web a{
    margin: 0 0.5vw;
    padding: 2vh 2vw 2vh 4vw;
    font-weight: 900;
    display: block;
    border-radius: 4px;
    position: relative;
    text-align: center;
    width: 100%;
    max-width: 200px;
}
.head-menu-mail a::before,.head-menu-line a::before,.head-menu-soudan a::before,btn-footer-contact-web a::before,.btn-footer-contact-mail a::before,.btn-footer-contact-web a::before {
  font-weight: 900;
  position: absolute;
 top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    left: 1rem;
font-size: clamp(1.3rem, 3vw, 1.9rem);
}
.head-menu-mail a{
    width: 300px;
    line-height: 1;
        padding: 2vh 0;
    letter-spacing: .2rem;
}
.head-menu-mail a,.btn-footer-contact-mail a{
    color: #fff;
    background: linear-gradient(0deg, #ff6e01 0%, #f39412 100%);
    text-decoration: none;
}
.head-menu-mail a::before,.btn-footer-contact-mail a::before {
  content: '\f0e0';
  font-family: "Font Awesome 5 Free";
  color: #fff;
}
.head-menu-line a{
    color: #fff;
    background: #00B900;
    
}
.head-menu-line a::before {
  content: '\f3c0';
  font-family: "Font Awesome 5 Brands";
  color: #fff;
}
.head-menu-soudan a,.btn-footer-contact-web a{
    color: #fff;
    background:#B90000;
}
.head-menu-soudan a::before,.btn-footer-contact-web a::before {
  content: '\f109';
  font-family: "Font Awesome 5 Free";
  color: #fff;
}

/*詳細はこちらボタン*/
.btn-area{
    margin: 0 auto;
    width: 90%;
    max-width: 500px;
    padding: 4vh 0;
    text-align: center;
}
.link-about01{
    position: relative;
    padding: 1.5vh 3.5vw 1.5vh 2vw;
    border-radius: 50vh;
    font-size: clamp(1.4rem, 1.6vw, 1.6rem);
    width: 80%;
    max-width: 300px;
    font-weight: 700;
    display: inline-block;
    text-align: center;
}
.link-about01{
    background: #fff;
    border: 1px solid #01A56F;
    color: #01A56F;
}


.link-about01::after {
    font-family: "Font Awesome 5 Free";
    content: "\f054";
    position: absolute;
    right: 10px;
    bottom: 0;
    font-weight: 900;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.link-about01::after{
    color: #01A56F;
}
.link-about01:hover{
    background: #01A56F;
    color: #fff;
    text-decoration: none;
    border: 1px solid #01A56F;
}
.link-about01:hover:after{
    color: #fff;
}
.link-about-high::after{
    color: #fff;
}
.link-about-high:hover{
    background: #fff;
    color: #008FD2;
    text-decoration: none;
    border: 1px solid #008FD2;
}
.link-about-high:hover:after{
    color: #008FD2;
}
.link-about-junior::after{
    color: #fff;
}
.link-about-junior:hover{
    background: #fff;
    color: #D12E22;
    text-decoration: none;
    border: 1px solid #D12E22;
}
.link-about-junior:hover:after{
    color: #D12E22;
}
.link-about-elementary::after{
    color: #fff;
}
.link-about-elementary:hover{
    background: #fff;
    color: #F48003;
    text-decoration: none;
    border: 1px solid #F48003;
}
.link-about-elementary:hover:after{
    color: #F48003;
}

/*資料請求ボタン*/
.btn-contact{
    background: #d80720;
    border-bottom: 5px solid #9f000c;
    border-radius: 50vh;
    text-align: center;
}
.btn-contact a{
    padding: 1.5vh 2vw;
    display: block;
}

@media screen and (max-width: 1024px) {
/* 1024までの幅の場合に適応される */
}
@media screen and (max-width: 820px) {
/* 820pxまでの幅の場合に適応される */
}
@media screen and (max-width: 640px) {
/* 640pxまでの幅の場合に適応される */
header{
padding: 1vh 0;
}
.head-menu-box {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1vh 0;
}
.header-logo {
    max-width: 400px;
}
.btn-area {
    padding: 2vh 0;
}
.head-menu-mail a{
    width: 130px;
    letter-spacing: 0;
    padding: 2.5vh 0;
        padding-left: 10px;
}
}
@media screen and (max-width: 360px) {
/* 360pxまでの幅の場合に適応される */
}

/*---------------------------------------------------------
講師の声
---------------------------------------------------------*/
#voice_teacher{
  background: #fbf8d9;
  padding: 64px 4%;
}
#voice_teacher h2{
  color: #333;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: .5em;
  text-align: center;
}

.voice_red-font{
  color: #c01359;
  font-size: 2rem;
}
.voice-box{
  background: #fff;
  border-radius: 20px;
  margin: 8px;
  padding: 16px;
}
.v-ttl p{
  color: #0e9bd5;
  /*font-size: 1.15rem;*/
  font-weight: 700;
  margin-bottom: .5em;
  text-align: center;
  line-height: 1.5;
}
.v-pct{
display: block;
margin-left: auto;
margin-right: auto;
}
.v-pct span{
font-weight:700;
text-align:center;
display:block;
padding:1rem 0;
}
.v-txt{
line-height:1.5;
}
.t-red-mark{
  background: linear-gradient(transparent 70%, #ffef92 0%);
  color: #c01359;
  font-weight: 700;
  display: inline;
}
.v-txt,.t-red-mark,.v-ttl p{
font-size:1.5rem;
}
.v-pct span{
font-size:1.3rem;
}

/* 講師の声カルーセル */
.wrapper .swiper-container .swiper-wrapper {
    transition-timing-function: linear !important;
}
.swiper{
position: relative;
}
.voice-area{
width: 100%;
	margin: 0 auto;
	padding: 2rem 0 1rem;
}


/*---------------------------------------------------------
生徒の声
---------------------------------------------------------*/
#voice_student{
  background: #FFD8DB;
  padding: 64px 4%;
}
#voice_student h2{
  color: #c01359;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: .5em;
  text-align: center;
}

.v-ttl-student p{
  color: #DF5A24;
  /*font-size: 1.15rem;*/
  font-weight: 700;
  margin-bottom: .5em;
  text-align: center;
  line-height: 1.5;
}

@media screen and (max-width: 1440px) {
/* 1440pxまでの幅の場合に適応される */

}
@media screen and (max-width: 1024px) {
/* 1024pxまでの幅の場合に適応される */

}
@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */

}
@media screen and (max-width: 480px) {
/* 480pxまでの幅の場合に適応される */
#voice_teacher, #voice_student {
    padding: 32px 4%;
}

#voice_teacher h2,#voice_student h2{
  font-size: 1.25rem;
}

.voice_red-font{
  /*font-size: 1.25rem;*/
}
}

/*---------------------------------------------------------
生徒の声（スクロール）
---------------------------------------------------------*/
/*
右から左へ
----------------------------*/
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

/*
IE11対策
----------------------------*/
_:-ms-lang(x)::-ms-backdrop,
.d-demo {
  display: -ms-grid;
  overflow: hidden;
}
/*----------------------------*/

.d-demo__wrap {
  display: flex;
  overflow: hidden;
}

.d-demo__list {
  display: flex;
  list-style: none;
}

.d-demo__list--left{
animation :infinity-scroll-left 95s infinite linear 0.5s both;
}

.d-demo__item {
  width: calc(100vw / 6);
}
.d-demo__item > img{
   width: 100%;
}
@media screen and (max-width: 480px) {
/* 480pxまでの幅の場合に適応される */
.d-demo__item {
  width: calc(100vw / 1.5);
}
}
/*---------------------------------------------------------
比較表
---------------------------------------------------------*/
table#table-culums {
  /*border: 1px solid #d4d4d4;*/
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  table-layout: fixed;
  width: 100%;
  border-radius: 0px;
  margin-bottom: 1rem;
  font-size: 1.5rem;
    font-weight: 400;
}
table#table-culums th {
  background: #eeeeee;
  border: 1px solid #d4d4d4;
  padding: 1rem;
  font-weight: 900;
}
table#table-culums td {
  background: #fff;
  border: 1px solid #d4d4d4;
  padding: 1rem;
}

  table#table-culums td:first-child{
  background: #00a056; 
  text-align: center;
  font-weight:900;
  color:#fff;
  }


.th_w10{width:10%;}
.th_w15{width:15%;}
.th_w18{width:18%;}
.th_w22{width:22%;}
.th_w25{width:25%;}
.th_w35{width:35%;}

.schedule-number{
color:#000;
font-weight:700;
}


.table-grad {
    position: relative !important;
    white-space: nowrap;
}

.table-grad:after{
    background-image: none;
}

.hikaku-box{
 display: flex;
 align-items: center;
  flex-direction: column;
}

.hikaku-box li{
margin:1%;
}

.hikaku-mark{
width:28%;
}

.hikaku-txt{
width:100%;
}

.bg-wam{
background: #ebf1c2 !important;
}

.fc-wam{
color: #006a48 !important;
}

@media screen and (max-width: 1440px) {
/* 1440pxまでの幅の場合に適応される */

}
@media screen and (max-width: 1024px) {
/* 1024pxまでの幅の場合に適応される */

}
@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */
.text-center_questionnaire {	text-align: left;}
  table#table-culums thead {
    display: none;
  }
  table#table-culums tr {
    /*border-bottom: 1px solid #e6ebef;*/
    display: block;
  }
table#table-culums th,
table#table-culums td {
  font-size: 1.75rem;
}
table#table-culums td .fs-small {
  font-size: 1.25rem;
}
  table#table-culums td {
    border-bottom: 0px solid #e6ebef;
    display: block;
  }
  table#table-culums td:first-child{
  background: #00a056; 
  text-align: center;
  font-weight:900;
  font-size:2rem;
  color:#fff;
  }
  table#table-culums td:before {
    content: attr(aria-label);
    display: block;
    color: #333;
	font-weight:900;
  }
  
  table#table-culums tr:last-child{
  border-bottom: 1px solid #e6ebef;
  }
  
  table#table-culums td.b_blue{
  border-bottom:0px solid #5488c7;
}
}
@media screen and (max-width: 480px) {
/* 480pxまでの幅の場合に適応される */
table#table-culums td .fs-small {
  font-size: 1rem;
}
.list01 {
  padding-left: 2rem;
}

.t1-left{
    font-size: 1.8rem;
}

.hikaku-box{
  flex-direction: row;
}
.hikaku-txt{
width:68%;
}
}

/*---------------------------------------------------------
星
---------------------------------------------------------*/
.star_area{
width:100px;
height:100px;
background: url(../img/star.svg) no-repeat center center;
position: relative;
}

.star_area p{
position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	text-align: center;
	font-size:2.5rem;
    line-height: 1;
}

.star_area p span{
  display:block;
  font-size: 1.5rem;
}

@media screen and (max-width: 1440px) {
/* 1440pxまでの幅の場合に適応される */

}
@media screen and (max-width: 1024px) {
/* 1024pxまでの幅の場合に適応される */

}
@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */

}
@media screen and (max-width: 480px) {
/* 480pxまでの幅の場合に適応される */

}

/*---------------------------------------------------------
youtube
---------------------------------------------------------*/
.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}