@charset "UTF-8";
/*---------------------------------------------------------
ALL
---------------------------------------------------------*/
section{
    padding:0 0 6vh;
}
.top-ttl{
    font-size: clamp(2.75rem, 7vw, 6rem);
    font-weight: 600;
    line-height: 1.4;
}
.top-ttl02{
    font-size: clamp(2.25rem, 3.5vw, 5rem);
    font-weight: 600;
    line-height: 1.4;
}
.semi-ttl{
    font-size: clamp(2rem, 4.2vw, 4rem);
    font-weight: 600;
    line-height: 1.4;
}
.third-ttl{
    font-size: clamp(1.8rem, 3.25vw, 2.75rem);
    font-weight: 600;
    line-height: 1.4;
}
.fourth-ttl{
    font-size: clamp(1.6rem, 3vw, 2rem);
    font-weight: 600;
    line-height: 1.4;
}
[class*="waku-white-3"] {
  --x: 0 0 var(--text-outline--width, 3px) var(--text-outline--color, #fff);
  --y: var(--x), var(--x), var(--x), var(--x), var(--x), var(--x) /* 6 */;
  text-shadow: var(--y), var(--y), var(--y), var(--y), var(--y), var(--y) /* 6 * 6 = 36 */;
}
[class*="waku-white-6"] {
  --x: 0 0 var(--text-outline--width, 6px) var(--text-outline--color, #fff);
  --y: var(--x), var(--x), var(--x), var(--x), var(--x), var(--x) /* 6 */;
  text-shadow: var(--y), var(--y), var(--y), var(--y), var(--y), var(--y) /* 6 * 6 = 36 */;
}
.line-mark{
background: linear-gradient(transparent 50%, #ffff00 50%);
}
.cb {
    clear: both;
}
.bg-wam-green{
    background:#007240;
}
.bg-l-yellow{
    background: #ffffeb;
}
.bg-l-green{
    background: #f2fce6;
}
.bg-l-pink{
    background: #FFF2F3;
}
.fc-l-green{
    color:#00a73c;
}
.fc-l-orange{
    color:#ed7700;
}
.fc-wam-green{
    color:#007240;
}
.fc-wam-red{
    color:#d41c24;
}
.fc-wam-l-wamgreen{
    color:#2b9b0f;
}
.fc-pink{
    color:#FB5C65;
}
.culum-3-area{
    display: flex;
    flex-direction: row;
}
.culum-3-area > div{
padding: 1%;
}
.sp_floating{
display: none !important;
}
.lh-1{
    line-height:1;
}
.lh-12{
    line-height:1.2;
}
.lh-13{
    line-height:1.3;
}
.img-wrap{
    position: relative;
    overflow: hidden;
}
.img-wrap:after{
    content: " ";
    display: block;
    padding-top: 76.47059%;
}
.cut-img{
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        -moz-transform: none;
        -ms-transform: none;
        -webkit-transform: none;
        transform: none;
        object-fit: cover;
}

@media screen and (max-width: 640px) {
/* 640pxまでの幅の場合に適応される */
.culum-3-area{
    flex-direction: column;
}
/*.cut-img{
        object-fit: none;
}*/
}

/*---------------------------------------------------------
Fixedbtn（吹き出し）
---------------------------------------------------------*/
.fixed-bubble{
    display: block;
    position: fixed;
    bottom: 110px;
}
.fixed-bubble-contents{
    position:relative;
    background:#fffda9;
    padding:.5rem 1rem;
    text-align:center;
    border:2px solid #ec284e;
    color:#000;
    font-size: clamp(1.4rem, 2vw, 2rem);
    font-weight:700;
    border-radius:1vh;
    -webkit-border-radius:1vh;
    -moz-border-radius:1vh;
    animation: fuwafuwa 3s infinite;
}
.fixed-bubble-contents:after,.fixed-bubble-contents:before{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    top:100%;
    left:50%;
    animation: kiran 3s ease-in-out infinite;
}
.fixed-bubble-contents:after{
    border-color: rgba(255, 255, 255, 0);
    border-top-width:10px;
    border-bottom-width:10px;
    border-left-width:5px;
    border-right-width:5px;
    margin-left: -5px;
    border-top-color:#fffda9;
}
.fixed-bubble-contents:before{
    border-color: rgba(30, 144, 255, 0);
    border-top-width:12px;
    border-bottom-width:12px;
    border-left-width:6px;
    border-right-width:6px;
    margin-left: -6px;
    margin-top: 2px;
    border-top-color:#ec284e;
}
@keyframes fuwafuwa {
  0% {
    transform: translateY(-1px);
  }
  50% {
    transform: translateY(-7px);
  }
  100% {
    transform: translateY(-1px);
  }
}

@media screen and (max-width: 640px) {
/* 640pxまでの幅の場合に適応される */
.fixed-bubble{
    bottom: 70px;
}
.btn-footer-cta,.btn-footer-tel{
    display: block;
    border-radius: 1vh;
    color: #fff;
    font-weight: 700;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        padding: 5px 0;
        margin:5px 0;
}
.btn-footer-cta{
    background: #ec284e;
    border: 1px solid #ec284e;
}
.btn-footer-tel{
    background: #27ae60;
    border: 1px solid #27ae60;
}
.btn-footer-cta-txt,.btn-footer-tel-txt{
        border-radius: 50vh;
        width: 95%;
        text-align: center;
}
.btn-footer-cta-txt-big{
    font-size:1.6rem;
}
.btn-footer-cta-txt{
    font-size:1.1rem;
    background: #fff;
    color: #000;
}
.btn-footer-tel-txt{
    font-size:1.2rem;
    background: #fff;
    color: #000;
}
}


/*---------------------------------------------------------
Fixedbtn（new）
---------------------------------------------------------*/
.freedial-footer{
    font-family: Poppins, serif;
    font-size: clamp(2.7rem, 3.25vw,4.1rem);
    padding: 0 1rem;
    line-height: 1;
    color: #007440;
}
.freedial-footer:before{
    content: "";
    display: inline-block;
    width: 60px;
    height: 30px;
    margin-right: 0px;
    background: url(../assets/img/free-dial-logo.svg) no-repeat;
    background-size: contain;
}
.bottomArea-pricebox-contents {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 5px;
}
.bottomArea-pricebox-freedial,
.bottomArea-pricebox-freedialtime{
    font-size: clamp(1.3rem, 1.6vw, 1.6rem);
}
.bottomArea-pricebox-freedial {
    background: #cd2626;
    padding: 0 1rem;
    font-weight: 700;
    margin-right: 10px;
    text-align:center;
    color: #fff;
    font-size: clamp(1.2rem, 1.6vw, 1.8rem);
        margin: 0 0 1rem;
}
.bottomArea-pricebox-freedialtime {
    width: 76% !important;
    color: #007440;
    font-weight: 700;
}
.footer-tel-pcbox{
    display: flex;
}
.footer-tel-pcbox-time{
    font-size: 1.4rem;
}
@media screen and (max-width: 820px) {
/* 828pxまでの幅の場合に適応される */
.freedial-footer:before{
    width: 60px;
    height: 35px;
    margin-right: 0px;
}
}
@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */
.freedial-footer:before{
    width: 40px;
    height: 25px;
    margin-right: 0px;
}
}
/*---------------------------------------------------------
共通見出し
---------------------------------------------------------*/
.midashi-ttl {
  position: relative;
  display: inline-block;
}
.midashi-ttl:before {
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 100px;
  height: 4px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #2eca34;
  border-radius: 1px;
}
.naname {
    font-style: oblique 90deg;
}

/*---------------------------------------------------------
CTA
---------------------------------------------------------*/
.shiritsujyuken-cta-area{
background: #F6E9EA;
    padding: 6vh 0;
}
.shiritsujyuken-cta-box{
    background: #fff;
    padding: 2vh 2vw;
}



/*---------------------------------------------------------
メインビュー
---------------------------------------------------------*/
#TopMain img{
    width: 100%;
    max-width: 1920px;  
    display: block;
    margin-left: auto;
    margin-right: auto;
}
#TopMain{
    background: #F9F9F3;
    margin: 10px 0 0;
    padding:0;
}
@media screen and (max-width: 640px) {
/* 640pxまでの幅の場合に適応される */
#TopMain{
    background: #F9F9F3;
    margin: 0;
}
}

/*---------------------------------------------------------
SV
---------------------------------------------------------*/
.sv-area{
    padding:6vh 0;
}
/*---------------------------------------------------------
WAMが合格させます！
---------------------------------------------------------*/
.pro-teacher-area{
    display: flex;
    flex-wrap: wrap;
    padding: 6vh 0 0;
    justify-content: center;
}
.pro-teacher-area > li{
    width: 22%;
        margin: 1% 1% 25px;
}
.pro-teacher-box{
    border: 2px solid #007440;
    position: relative;
    padding: 25px 1vw 1vh;
    background: #fff;
}
.pro-teacher-box > h4{
    position: absolute;
    top:-20px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.pro-teacher-box > h4 > span{
    background: #007440;
    padding: 3px 40px;
    text-align: center;
    color: #fff;
    border-radius: 50vh;
    font-size: clamp(1.3rem, 1.5vw, 1.5rem);
    display: block;
     white-space: nowrap;
}
.pro-teacher-box img{
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 6 / 5;
}
.pro-teacher-box-name{
    text-align: center;
    font-weight: 700;
    margin: 0 0 .5vh;
}
.pro-teacher-box-ab-area{
    display: flex;
    justify-content: center;
    align-items: center;
}
.pro-teacher-box-ab-area > span{
    font-size: clamp(1.2rem, 1.3vw, 1.3rem);
    line-height: 1.3;
}
.pro-teacher-box-ab-box{
    border: 1px solid #333;
    padding: 2px 5px;
    margin-right: 10px;
}

@media screen and (max-width: 640px) {
/* 640pxまでの幅の場合に適応される */
.pro-teacher-area > li{
    width: 48%;
}
}
/*---------------------------------------------------------
志望校別対策！
---------------------------------------------------------*/
.exam-preparation-area{

}
.exam-preparation-box{
    background: #fff;
    padding: 2vh 2vw;
    border: 2px solid #a80909;
}
.exam-preparation-box > h4{
    color: #a80909;
    border-bottom: 1px solid #a80909;
    padding: 0 0 5px;
    margin: 0 0 2vh;
}
.exam-preparation-list-check{

}
.exam-preparation-list-check > li{
    position: relative;
    font-weight: 700;
    font-size: clamp(1.3rem, 2vw, 1.6rem);
    padding-left: 1em;
    text-indent: -1em;
}
.exam-preparation-list-check > li:before{
font-family: "Font Awesome 5 pro";
    font-weight: 900;
    content: '\f14a';
    color: #a80909;
    margin: 0 5px 0 0;
}
.exam-preparation-voice-box{
    background: #fff;
    margin: 4vh 0 0;
    padding: 0 0 1vh;
    border-radius:0 0 2vh 2vh ;
    -webkit-border-radius:0 0 2vh 2vh ;
    -moz-border-radius:0 0 2vh 2vh ;
         box-shadow: 3px 3px 10px -6px rgba(0, 0, 0, 0.4);
}
.exam-preparation-voice-box > h3{
    background: #007240;
    padding: .5vh 1vw;
    margin: 2vh 0;
    border-radius:2vh 2vh 0 0 ;
    -webkit-border-radius:2vh 2vh 0 0 ;
    -moz-border-radius:2vh 2vh 0 0 ;
}
.exam-preparation-voice-box,
.exam-preparation-voice-box > h3{

}
.voice-box-contents{
    display: flex;
    align-items: center;
    margin: 0 2vw 2vh;
}
.voice-box-contents-txt{
    margin-right: 10px;
    width: 80%;
}
.voice-box-contents-pct{
    width: 18%;
}
@media screen and (max-width: 640px) {
/* 640pxまでの幅の場合に適応される */
.voice-box-contents-pct{
    width: 100px;
}
.voice-box-contents-txt{
    width: 70%;
}
}

/*---------------------------------------------------------
WAMの中学受験対策で
合格できる10の理由
---------------------------------------------------------*/
.manzokudo-area{
    padding:6vh 0;
}
.manzokudo-area-box{
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
    border-radius: 2vh;
    margin: 0 0 6vh;
    position: relative;
}
.manzokudo-area-box-contents{
    padding: 0 2vw 6vh;
}
.manzokudo-lavel-ttl-box{
    display: flex;
    align-items: center;
    margin: 0 0 4vh;
}
.manzokudo-lavel-ttl-box-txt{
    width:70%;
}
.manzokudo-lavel-ttl{
    display: inline-block;
    position: relative;
    box-sizing: border-box;
    padding: 5px 0;
    margin: 20px 0 0;
    width: 170px;
    background: #a80909;
}
.manzokudo-lavel-ttl:after {
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 52px 20px 52px 0px;
  border-color: transparent #fff transparent transparent;
  border-style: solid;
}

.manzokudo-lavel-ttl:before {
  position: absolute;
  content: '';
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 15px transparent;
}
.manzokudo-lavel-ttl > p{
  border-top: solid 2px #DAAF08;
  border-bottom: solid 2px #DAAF08;
    padding: 2vh 0 2vh 1vw;
    display: flex;
    align-items: center;
}
.manzokudo-lavel-ttl > p > span{
    color:#fff;
    font-weight:700;
    line-height: 1;
}
.manzokudo-lavel-reason{
    font-size: clamp(1.8rem, 3.25vw, 2.75rem);
}
.manzokudo-lavel-number{
font-size: clamp(2.75rem, 7vw, 6rem);
    font-family: "Roboto", sans-serif;
}
.voice-contentsbox{
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
    padding:2vh 2vw;
    margin: 3%;
    border-radius: 1vh;
}
.voice-pct{
    position: relative;
}
.voice-mark{
position: absolute;
    right: 5%;
    bottom: 10px;
}
@media screen and (max-width: 640px) {
/* 640pxまでの幅の場合に適応される */
.manzokudo-lavel-ttl{
    margin: 0 15px 0;
    width: 70px;
}
.manzokudo-lavel-ttl:after {
  border-left: 20px solid #a80909;
  border-right: 20px solid #a80909;
  border-bottom: 10px solid transparent;
  border-top:transparent;
}

.manzokudo-lavel-ttl:before {
  position: absolute;
  content: '';
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 15px transparent;
}
.manzokudo-lavel-ttl > p{
  border-right: solid 2px #DAAF08;
  border-left: solid 2px #DAAF08;
      border-top: transparent;
    border-bottom: transparent;
          flex-direction: column;
}
}

/*---------------------------------------------------------
集団塾と個別指導塾の違い
---------------------------------------------------------*/
.difference-area{
    padding:6vh 0;
}

/*---------------------------------------------------------
受講までの流れ
---------------------------------------------------------*/
.flow-box-area {
}
.flow-box-area > h2{
background: #007440;
}

#flow-step h3{
    margin: 5vh 0 2vw;
    color: #007440;
}
#flow-step h3,#flow-step h3 span{
    font-size: clamp(1.75rem, 4vw, 3rem);
    font-weight: 700;
    line-height: 2;
}
#flow-step h3 span{
    background: #007440;
    padding: 1vh 2vw;
    border-radius: 50vh;
    color: #fff;
    margin-right: 1.5rem;
}
.step-flow{
    display: flex;
}
.step-flow-text{width: 65%;padding: 0 1rem 0 170px;}
.step-flow-pct{width: 35%;}

@media screen and (max-width: 640px) {
/* 640pxまでの幅の場合に適応される */
.step-flow {flex-direction: column;}
.step-flow-text{width: 100%;padding: 0;order: 2;margin: 1rem 0 0;}
.step-flow-pct{width: 100%;order: 1;}
}

/*---------------------------------------------------------
よくある質問
---------------------------------------------------------*/
.shiritsujyuken-faq-area{
    padding:6vh 0;
}

/* アコーディオン全体 */
.faq-area {
  max-width: 1000px;
  margin: 0 auto;
  margin: 6vh 0 0;
}

/* アコーディオン */
.accordion__item {
    cursor: pointer;
    margin: 0vh 0 2vh;
}

/* アコーディオンのタイトル */
.accordion__title {
    position: relative;
    cursor: pointer;
    border: 1px solid #007240;
    display: flex;
    align-items: center;
    padding-right: 25px;
    line-height: 1.2;
    background: #fff;
    color: #007240;
    font-weight: 700;
}

.q-number {
    height: 100%;
    min-height: 60px;
    background: #007240;
    color: #fff;
}
.q-number, .a-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 60px;
    margin-right: 10px;
    font-family: "din-2014", sans-serif;
    font-size: clamp(3rem, 3vw, 3rem);
}

/* (+)アイコン */
.accordion__title::before,
.accordion__title::after {
    content: "";
    position: absolute;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    background-color: #007240;
    width: 16px;
    height: 4px;
    transition: all 0.3s;
}

.accordion__title::after {
  transform: rotate(90deg);
}
.ans-ttl {
    color: #13a075;
    display: inline-block;
    font-weight: 700;
}

/* アコーディオンのコンテンツ */
.accordion__content {
    display: none;
    cursor: pointer;
    border-right: 1px solid #007240;
    border-left: 1px solid #007240;
    border-bottom: 1px solid #007240;
}
.faq-contents {
    display: flex;
    align-items: center;
    font-size: clamp(1.3rem, 1.6vw, 1.6rem);
    background: #fff;
}
.a-number {
    height: 100%;
    min-height: 60px;
    background: #fff;
    color: #007240;
}

.accordion__content.is-open {
  display: block;
}
.faq-contents-txt {
    padding: 1rem 1rem 1rem 0;
}

/* アコーディオン展開時の(-)アイコン */
.accordion__item.is-active .accordion__title::before {
  transform: rotate(180deg);
}

.accordion__item.is-active .accordion__title::after {
  transform: rotate(180deg);
  opacity: 0;
}

@media screen and (max-width: 640px) {
/* 640pxまでの幅の場合に適応される */
.q-number, .a-number {
    max-width: 50px;
}
}
/*---------------------------------------------------------
成績アップを全力でサポートします
---------------------------------------------------------*/
.elementary-e-area-ttl{
background: #D63031;
}
.support-img{
    position: absolute;
    top: -60px;
    right: 0;
}
.support-img img{
    height: 30vh;
    max-height: 250px;
}

/*---------------------------------------------------------
教室一覧
---------------------------------------------------------*/
.search-class-area{
    margin: 3vh 0;
}
.search-class-ttl{
    background: #007440;
    color:#fff;
    padding:1.5vh 0;
    text-align:center;
}
.search-class-box{
    border: 1px solid #D0CFCD;
    border-width: 1px 1px 0px 1px; /* 上 右 下 左 */
}
.search-class-box th,.search-class-box td{
    padding:1vh 1vw;
    border: 1px solid #D0CFCD;
    border-width: 0px 1px 1px 0px; /* 上 右 下 左 */
}
.search-class-box th{
    background: #F6FAE9;
}
.search-class-box th:last-child,
.search-class-box td:last-child
{
        border-right: transparent;
}
.search-class-box td{
    background: #fff;
}
.class-name{
    font-size: clamp(1.6rem, 1.8vw, 1.8rem);
    font-weight:700;
    color:#007440;
}
.class-name:after {
    font-family: "Font Awesome 5 Free";
    content: "\f2d2";
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    margin-left: 5px;
}
@media screen and (max-width: 640px) {
/* 640pxまでの幅の場合に適応される */
.search-class-box{
    border: 1px solid #D0CFCD;
}
.search-class-box td {
    display: flex;
    border: transparent;
    padding: .5rem;
}
.box-line{
    border: 1px solid #D0CFCD !important;
    border-width: 0px 0px 1px 0px !important; /* 上 右 下 左 */
}
}
