@charset "UTF-8";

html{
    font-size: 62.5%;
}
body{
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: .05;
    color: #333;
    font-family: 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;
}
a{
    color: #333;
    cursor: pointer;
}
img{
    width: 100%;
    vertical-align: bottom;
}
.more{
    width: 100px;
    margin: 0 auto;
}
.course-inner .more{
    padding-top: 8px;
}
.voice-inner .more{
    margin-bottom: 30px;
}
/*---------------*/
/* base-sp
/*---------------*/
.fv{
    overflow: hidden;
}
.wrapper.concept, .wrapper.course, .wrapper.voice, .wrapper.fq{
    padding: 20px 0 20px 0;
    overflow: hidden;
}
.concept-inner, .course-inner, .voice-inner, .fq-inner{
    padding: 0 4vw;
}
/*------------------*/
/* section-title-sp
/*------------------*/
.section-title{
    margin-top: 10px;
    margin-bottom: 40px;
}
.section-title h2{
    font-size: 2.6rem;
    font-weight: bold;
    color: #333;
    margin-left: 0px;
}
.section-title p{
    font-size: 1.8rem;
    font-weight: bold;
    color: #333;
    padding-left: 4px;
}
/*---------------*/
/* header-sp
/*---------------*/
.header-top{
    position: relative;
}
.header-inner{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 4px;
}
.site-title{
    width: 187px;
    padding: 3px 0 0 1px;
}
.telephone{
    margin-right: 52px;
    padding-top: 6px;
}
.tel-text{
    font-size: 2.7vw;
    font-weight: bold;
    color: #333;
    padding-bottom: 0.5px;
    letter-spacing: -0.3px;
}
.tel-number{
    font-size: 4.4vw;
    font-weight: bold;
    color: #333;
    letter-spacing: -1px;
}
/* バナー２つ */
.bnr-01{
    width: 100vw;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}
.bnr-01 li{
    width: 49%;
}
.bnr-01 a{
    display: block;
    padding: 18px 0;
    font-size: 1.3rem;
    font-weight: bold;
    color: #fff;
    text-align: left;
    text-decoration: none;
    position: relative;
}
.bnr-01 a.counseling{
    padding-left: 20px;
}
.bnr-01 a.lesson{
    padding-left: 36px;
}
.bnr-01 a.counseling::after{
    position: absolute;
    top: 18px;
    right: 26px;
    content: "▶";
    width: 5px;
    height: 5px;
}
.bnr-01 a.lesson::after{
    position: absolute;
    top: 18px;
    right: 23px;
    content: "▶";
    width: 5px;
    height: 5px;
}
.counseling{
    background-color: #152f48;
}
.lesson{
    background-color: #960f0f;
}
.counseling:hover{
    opacity: .8;
}
.lesson:hover{
    opacity: .8;
}

/* ナビケーションとバーガーボタン */
.header-nav{display: none;}
.header-nav.sp{
    position: fixed;
    display: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #d79335;
    z-index: 7;
}
.header-nav.sp .ttt{
    display: block;
    width: 200px;
    padding: 5px 0 5px 8px;
    background-color: #d79335;
    border-radius: 1px;
    margin-top: 7px;
    margin-left: 5px;
}
.header-nav.sp img{
    display: block;
    width: 180px;
}
.nav-list.s{
    width: 92px;
    text-align: left;
    position: absolute;
    top: 31%;
    left: 17%;
    transform: translate(-50%,-50%);
    margin-top: 0px;
    border-radius: 3px;
}
.nav-list.s li{
    padding: 15px 0px 3px;
    margin-top: 10px;
    margin-bottom: 8px;
    border-bottom: 1px dotted #333;
}
.bnr-sp-bgr{
    width: 286px;
    margin: 12px 0 0 16px;
    display: flex;
    justify-content: space-between;
}
.bnr-sp-bgr a{
    display: block;
    width: 140px;
    box-sizing: border-box;
    padding: 18px 0;
    padding-left: 10px;
    margin-bottom: 5px;
    text-align: left;
    font-size: 1.2rem;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    position: relative;
}
.bnr-sp-bgr a.lesson{
    padding-left: 18px;
}
.bnr-sp-bgr a.counseling::after{
    position: absolute;
    top: 18px;
    right:14px;
    content: "▶";
    width: 4px;
    height: 4px;
}
.bnr-sp-bgr a.lesson::after{
    position: absolute;
    top: 18px;
    right:19px;
    content: "▶";
    width: 4px;
    height: 4px;
}
.bnr-sp-bgr li.counseling{
    background-color: #152f48;
}
.bnr-sp-bgr li.lesson{
    background-color: #960f0f;
} a.lesson{
    padding-left: 18px;
}
.bgr-tel{
    display: block;
    width: 250px;
    margin: 6px 0 0 0;
    text-align: left;
    font-size: 1.5rem;
    font-weight: normal;
    color: #333;
    padding-top: 5px;
    padding-left: 16px;
}
.bgr-txt{
    width: 250px;
    margin: 406px 0 0 0;
    text-align: left;
    font-size: 1.5rem;
    font-weight: normal;
    color: #333;
    padding-left: 16px;
}
.bgr-txt span{
    font-size: 1.7rem;
    font-weight: normal;
    font-style: italic;
}
.nav-list.s li:last-of-type{
    margin-bottom: 0;
}
.nav-list.s a{
    color: #333;
    font-size: 1.45rem;
    font-weight: bold;
    text-decoration: none;
}
.burger-btn{
    display: block;
    height: 35px;
    position: absolute;
    top: 6px;
    right: 6px;
    background-color: #fff;
    border: 1px solid #999;
    border-radius: 4px;
    transition: .3s;
    z-index: 999;
}
.burger-btn .bar{
    display: block;
    height: 3px;
    width: 26px;
    background-color: #999;
    transition: .3s;
}
.bar_top,
.bar_mid{
    margin-bottom: 6px;
}
.burger-btn.cross .bar_top{
    transform: rotate(45deg) translate(6px,6px);
    transition: .3s;
}
.burger-btn.cross .bar_mid{
    opacity: 0;
    transition: .3s;
}
.burger-btn.cross .bar_bottom{
    transform: rotate(-45deg) translate(6px,-6px);
    transition: .3s;
}
body.noscroll{
    overflow: hidden;
}
/*---------------*/
/* fv-sp
/*---------------*/
.fv{
    height: 88vh;
    background-image: url(../img/fv01_new-sp.jpg);
    background-size: cover;
    background-position: center;
    position: relative;
}
.copy{
    position: absolute;
    bottom: 25px;
    left: 25px;
    font-size: 1.3rem;
    letter-spacing: -0.9px;
    font-weight: bold;
    color: #333;
    background: #C7FE2E;
    padding: 8px 8px 5px 0px;
    border-radius: 2px;
    line-height: 1.4;
    opacity: .9;
    box-shadow: 3px 3px 3px 3px rgba(0,0,0,0.2);
}
.copy span{
    display: inline-block;
    margin-left: 22px;
}
.copy .sankaku{
    margin-left: 1px;
    margin-right: -2px;
}
.leadtext{
    width: 90%;
    position: absolute;
    top: 11%;
    left: 6%;
    font-size: 1.9rem;
    font-weight: bold;
    color: #fff;
    line-height: 1.8;
}
.picture{
    max-width: 72%;
    position: absolute;
    right: 0;
    bottom: -10px;
    z-index: 4;
}
.anime01 {
    animation-name: fadein;
    animation-duration: 1.3s;
}
@keyframes fadein {
from {
    opacity: 0;
    transform: translateY(70px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
/*---------------*/
/* concept-sp
/*---------------*/
.concept-inner .section-title{
    margin-bottom: 18px;
}
.concept-text01{
    font-size: 1.3rem;
    font-weight: bold;
    text-align: left;
    line-height: 1.1;
    color: #333;
    margin-bottom: 8px;
}
.concept-text02{
    font-size: 1.7rem;
    font-weight: bold;
    text-align: left;
    color: #333;
    margin-bottom: 11px;
}
.concept-box{
    margin-bottom: 23px;
}
.box-right{
    text-align: center;
    margin-bottom: 15px;
}
.box-right img{
    width: 30%;
}
.box-left li{
    font-size: 1.4rem;
    font-weight: bold;
    color: #333;
    line-height: 1.1;
    margin-bottom: 5px;
}
.box-left li:last-child{
    margin-bottom: 0;
}
.box-left{
    margin-bottom: 13px;
}
.concept-text03{
    font-size: 1.6rem;
    font-weight: bold;
    color: #333;
    line-height: 1.4;
}
.colorred{
    color: red;
}
.colorred2{
    color: #aa0505;
}
.arrow{
    display: block;
    width: 12px;
    margin: 4px auto 11px;
}
.concept-text04{
    text-align: center;
    font-size: 1.45rem;
    font-weight: bold;
    line-height: 1.4;
    background-color: #fef583;
    padding: 5px 0;
    
}
/* ------ スクロールフェードインDown用 
            飛び出る女の子のアニメーション ------------*/
.fadeInDown {
    animation-fill-mode:both;
    animation-duration:.5s;
    animation-name: fadeInDown;
    visibility: visible !important;
   }
   @keyframes fadeInDown {
    0% { opacity: 0; transform: translateY(40px); }
    100% { opacity: 1; transform: translateY(0); }
   } 
   /* ----- スクロールフェードインDown用 END ----- */ 
/*---------------*/
/* bnr-mid-sp
/*---------------*/
.bnr-mid{
    display: flex;
    justify-content: space-between;
    width: 310px;
    margin: 28px auto 26px;
}
.bnr-mid.top{
    margin: 30px auto 26px;
}
.bnr-mid a{    
    display: block;
    width: 147px; 
    box-sizing: border-box;   
    padding: 17.5px 0;
    padding-left: 11px;
    text-align: left;
    font-size: 1.25rem;
    font-weight: bold;
    color: #ffffff;
    text-decoration: none;
    position: relative;
}
.bnr-mid a.lesson{
    padding-left: 18px;
}
.bnr-mid a.counseling::after{
    position: absolute;
    top: 17px;
    right:15px;
    content: "▶";
    width: 4px;
    height: 4px;
}
.bnr-mid a.lesson::after{
    position: absolute;
    top: 17px;
    right:19px;
    content: "▶";
    width: 4px;
    height: 4px;
}
.counseling{
    background-color: #152f48;
}
.lesson{
    background-color: #960f0f;
} 
.tel-mid{
    font-size: 1.9rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 34px;
    letter-spacing: -1.2px;
}
/*-------------------*/
/* course-item-sp
/*-------------------*/
.wrapper.course{
    background-color: #efffef;
}
.course-item{
    margin-bottom: 22px;
}
.course-item h3 a{
    font-size: 1.8rem;
    font-weight: bold;
    color: #13753c;
    text-align: center;
    text-decoration: none;
    padding-bottom: 4px;
}
.course-box{
    text-align: left;
    padding: 12px;
    border: 1px solid #666;
    border-radius: 2px;
    background-color: #fff;
}
.course-box p{
    font-size: 1.6rem;
    color: #13753c;
    line-height: 1.5;
    margin-top: 8px;
}
.more-course.animation{
    text-align: left;
    background: #474747;
    width: 208px;
    margin: 23px auto 46px;
    border-radius: 3px;
    box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}
.more-course a{
    display: block;
    margin-left: 9px;
    text-decoration: none;
    padding: 13px 3px; 
    position: relative;
    font-size: 1.4rem;
    font-weight: normal;
    color: #fff;
}
.more-course:hover{
    background-color: #c06a01;
}
.more-course a::after{
    content: "▶";
    position: absolute;
    width: 1px;
    height: 1px;
    top: 13px;
    right: 23px;
    color: #fff;
    border-radius: 2px;
}
/*------------------*/
/* review-item-sp
/* (voice-item-sp)
/*------------------*/
.voice-item{
    margin-bottom: 22px;
    text-align: center;
}
.voice-item h3{
    font-size: 1.6rem;
    font-weight: bold;
    padding-top: 7px;
    color: #333;
}
.voice-item p{
    font-size: 1.4rem;
    line-height: 1.3;
    margin-bottom: 4px;
    color: #333;
}
.voice-item p:last-child{
    font-size: 1.45rem;
    text-align: left;
}
.more-review{
    text-align: left;
    background: #474747;
    width: 247px;
    margin: 23px auto 70px;
    border-radius: 3px;
    box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}
.more-review a{
    display: block;
    margin-left: 9px;
    text-decoration: none;
    padding: 13px 3px; 
    position: relative;
    font-size: 1.4rem;
    font-weight: normal;
    color: #fff;
}
.more-review:hover{
    background-color: #c06a01;
}
.more-review a::after{
    content: "▶";
    position: absolute;
    width: 1px;
    height: 1px;
    top: 13px;
    right: 22px;
    color: #fff;
    border-radius: 2px;
}
/*------------------*/
/* fq-item-sp
/*------------------*/
.wrapper.fq{
    background-color: #ffdae08c;
    padding: 30px 0 60px 0;
}
.fq-box{
    max-width: 440px;
    margin: 0 auto;
}
.fq-box p{
    line-height: 1.2;
    font-size: 1.2rem;
    font-weight: bold;
    color: #333;
    margin-bottom: 15px;
    position: relative;
}
.fq-box span{
    display: inline-block;
    line-height: 1;
    font-size: 1.7rem;
    margin-right: 5px;
    color: red;
}
.fq-box img{
    display: block;
    width: 10px;
    height: 10px;
    position: absolute;
    top: 5px;
    right: 6px;
    opacity: .7;
    z-index: 5;
}
/* -----よくある質問・回答-sp ----- */ 
.fq-box .question{
    cursor: pointer;
}
.fq-box .question:hover{
    text-decoration: underline;
}
.fq-box .answer{
    display: none;
    background-color: #f2f2f2;
    margin-left: 1rem;
    padding: 10px;
}
.fq-inner .section-title p{
    font-size: 1.8rem;
    font-weight: bold;
    color: #333;
    padding-top: 6px;
}
/* -----よくある質問・回答-spEND ----- */ 
/*---------------*/
/* footer-sp
/*---------------*/
.footer{
    background-color: #181818;
}
.footer h1,
.footer p,
.footer small,
.footer a{
    color: #fff;
}
.footer-logo{
    width: 150px;
    margin: 0 auto 20px;
    padding-left: 10px;
    padding-top: 20px;
}
.logotype{
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.2;
    margin-bottom: 30px;
}
/* -----バナー始め----- */
.bnr-footer{
    width: 305px;
    margin: 0 auto 30px;
    display: flex;
    justify-content: space-between;
}
.bnr-footer li{
        background: #a8a8a8;
}
.bnr-footer a{
    display: block;
    width: 147px;
    box-sizing: border-box;
    padding: 18px 0;
    padding-left: 11px;
    text-align: left;
    font-size: 1.25rem;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    position: relative;
}
.bnr-footer a.lesson{
    padding-left: 18px;
}
.bnr-footer a.counseling::after{
    position: absolute;
    top: 18px;
    right:14px;
    content: "▶";
    width: 4px;
    height: 4px;
}
.bnr-footer a.lesson::after{
    position: absolute;
    top: 18px;
    right:19px;
    content: "▶";
    width: 4px;
    height: 4px;
}
.bnr-footer li.counseling{
    background-color: #152f48;
}
.bnr-footer li.lesson{
    background-color: #960f0f;
}
.tel-footer{
    font-size: 1.65rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 35px;
}
/* -----バナーEND----- */
.footer-left{
    width: 255px;
    margin: 0 auto 28px;
}
.footer-left p{
    text-align: center;
    font-size: 1.1rem;
    line-height: 1.4;
}
.footer-right{
    width: 350px;
    margin: 0 auto 35px;
}
.map-text{
    width: 190px;
    font-size: 1.1rem;
    line-height: 1.4;
    margin: 0 auto 6px;
}
.footer-map{
    width: 260px;
    margin: 0 auto;
}
.footer small{
    display: block;
    font-size: 0.6rem;
    text-align: center;
    padding-bottom: 2px;
}
/*--------------------*/
/* パララックス-sp 
/*--------------------*/
.img-bg-01 {
    background-image: url(../img/parallax-sp-a10.jpg);
    width: 100%;
    margin: 0 auto;
    padding-top: 250px;
    opacity: .7;
  }
.img-bg-02 {
    background-image: url(../img/parallax-b3.jpg);
    margin: 0 auto;
    padding-top: 250px;
    opacity: .6;
}  
.parallax-bg {
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

/* --page-topへ戻る設定--　*/
#page-top {
    position: fixed;
    bottom: 12px;
    right: 12px;
    line-height: 1;
    z-index: 99;
  }
  #page-top a {
    width: 45px;
    text-align: center;
    display: block;
    opacity: 0.9;
    transition: all .3s ease;
  }
  #page-top a:hover {
    text-decoration: none;
    opacity: .7;
  }
  
