@charset "UTF-8";


/*++++++++++++++++++++++++++
共通
++++++++++++++++++++++++++*/
body{
    font-family: "Noto Sans JP", sans-serif;
    background-color: #fff;
    color: #0C294D;
}
section {
    max-width: 800px;
    width: 100%;
    margin: auto;
}
section img{
    vertical-align: bottom;
}
.wrapper{
    width: 92%;
    margin: auto;
    color: #0C294D;
}
/*++++++++++++++++++++++++++
ヘッダー
++++++++++++++++++++++++++*/
header {
    max-width: 800px;
    width: 100%;
    margin: 0 auto 0;
    padding: 15px 0;
    display: flex;
    flex-direction: row;
}
header h1 {
    max-width: 190px;
    width: 95%;
}
header .header_tel {
    max-width: 180px;
    width: 95%;
    display: block;
    margin: 0 10px 0 auto;
}
header img{
    vertical-align: bottom;
}
@media screen and (min-width: 600px)
/*600px以上*/
    {
    header h1 {
        max-width: 260px;
    }
    header .header_tel {
        max-width: 250px;
    }
}
/*++++++++++++++++++++++++++
共通デザイン
++++++++++++++++++++++++++*/
h1.title{
    font-size: clamp(28px, 3.6vw, 36px);
    font-weight: 700;
    text-align: center;
    line-height: 1.6em;
    color: #1E5293;
    margin-bottom: 30px;
}
h1.title span{
    background: linear-gradient(transparent 60%, #CCF0F8 40%);
    padding: 0 4px;
}

/*++++++++++++++++++++++++++
mainvisual
++++++++++++++++++++++++++*/
#mainvisual {
    max-width: 800px;
    width: 100%;
    margin: 0 auto 0;
}

/*++++++++++++++++++++++++++
caption
++++++++++++++++++++++++++*/
#caption{
    padding: 60px 0 80px;
    background-image: linear-gradient(0deg, rgba(206, 245, 255, 1), rgba(251, 255, 255, 1));
}
#caption .txt-blk h2{
    font-size: clamp(30px, 3.5vw, 35px);
    font-weight: 700;
    line-height: 1.5em;
    text-align: center;
    color: #1E5293;
    margin-bottom: 30px;
}
#caption .txt-blk h3{
    font-size: clamp(18px, 2.2vw, 22px);
    line-height: 1.4em;
    text-align: center;
    color: #1E5293;
    margin-bottom: 5px;
}
#caption .txt-blk p{
    font-size: clamp(15px, 1.6vw, 16px);
    line-height: 1.8em;
}
/*++++++++++++++++++++++++++
ＫＡＴＥＫＹＯの選べる指導スタイル
++++++++++++++++++++++++++*/
#style{
    padding: 80px 0;
}
#style h2{
    font-size: clamp(20px, 2.4vw, 24px);
    font-weight: 600;
    line-height: 1.5em;
    text-align: center;
    margin-bottom: 15px;
    color: #3192E8;
}
#style .choose{
    background-color: #E5FAFF;
    border-radius: 10px;
}
#style .choose figure img{
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}
#style .choose .inner{
    padding: clamp(30px, 5vw, 50px);
    text-align: center;
}
#style .choose ul{
    display: inline-block;
    text-align: left;
}
#style .choose ul li:not(:last-child){
    margin-bottom: clamp(20px, 3vw, 30px);
}
#style .choose ul li p{
    font-size: clamp(17px, 2vw, 20px);
    line-height: 1.5em;
    font-weight: 700;
    color: #1E5293;
}
#style .choose ul li p::before{
    content: '';
    display: inline-block;
    background-image: url(../images/choose.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 1.8em;
    height: 1.8em;
    margin-right: 0.5em;
    margin-bottom: -0.5em;
}

/*++++++++++++++++++++++++++
選べるプラン
++++++++++++++++++++++++++*/
#plan{
    padding-bottom: 70px;
}
#plan .planimg{
    width: 100%;
    padding-bottom: 70px;
}
#plan h2.student{
    font-size: clamp(28px, 3.6vw, 36px);
    font-weight: 700;
    text-align: center;
    line-height: 1.5em;
    margin-bottom: 10px;
}
#plan h2.student.mgn-b40{
    margin-bottom: 40px;
}
#plan h2.student.line-top{
    border-top: solid 1px #D7D7D7;
    padding-top: 25px;
}
#plan p.txt1{
    font-size: clamp(15px, 1.6vw, 16px);
    line-height: 1.8em;
}
#plan .contents{
    margin-top: 70px;
}
#plan .contents h5{
    font-size: clamp(20px, 2.5vw, 25px);
    font-weight: 700;
    text-align: center;
    line-height: 1.5em;
    margin-bottom: 40px;
}
#plan .contents h5 span{
    font-size: 0.7em;
}
#plan .contents h5::before{
    content:'■';
    font-size: 0.7em;
    color: #00B2DB;
    margin-right: 0.3em;
}
#plan .contents .wrap-min{
    max-width: 380px;
    width: 90%;
    margin: auto;
}
#plan .contents .price{
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 30px;
}
#plan .contents .price .times .txt{
    font-size: clamp(20px, 2.5vw, 25px);
    line-height: 1.5em;
}
#plan .contents .price .fee .txt{
    font-size: clamp(20px, 2.5vw, 25px);
    line-height: 1.5em;
}
#plan .contents .price .fee .txt span{
    font-size: 2em;
    font-weight: 700;
    margin-right: 0.2em;
}
#plan h2.student.cls-es,
#plan .contents .price .fee .txt span.cls-es{
    color: #00B7EE;
}
#plan h2.student.cls-jh,
#plan .contents .price .fee .txt span.cls-jh{
    color: #0080CB;
}
#plan h2.student.cls-hs,
#plan .contents .price .fee .txt span.cls-hs{
    color: #004085;
}
#plan .contents .period{
    background-color: #F2F2F2;
    border-radius: 10px;
    padding: 40px 10px;
}
#plan .contents .period .pd-box{
    text-align: center;
    margin-bottom: 20px;
}
#plan .contents .period .pd-box.mgn-t50{
    margin-top: 50px;
}
#plan .contents .period .pd-box .txt{
    display: inline-block;
    background-color: #00B2DB;
    padding: 5px 15px;
    border-radius: 100px;
    font-size: clamp(15px, 1.7vw, 17px);
    font-weight: 600;
    line-height: 1.5em;
    color: #fff;
}
#plan .contents .period .date{
    font-size: clamp(18px, 2.2vw, 22px);
    line-height: 1.5em;
    text-align: center;
}
#plan .contents .period .date span{
    margin-right: 0.3em;
}
#plan .contents .period .date strong{
    font-size: 1.5em;
    font-weight: 600;
}
/*++++++++++各プランの指導例+++++++++++++*/
#plan .txt-blk h4{
    font-size: clamp(20px, 2.4vw, 24px);
    font-weight: 600;
    line-height: 1.5em;
    text-align: center;
    margin-bottom: 20px;
}
#plan .txt-blk p{
    font-size: clamp(15px, 1.6vw, 16px);
    line-height: 1.8em;
}
#plan .timetable{
    margin-top: 50px;
}
#plan .timetable .example{
    font-size: clamp(16px, 1.7vw, 17px);
    font-weight: 600;
    line-height: 1.5em;
    margin-bottom: 15px;
    margin-top: 30px;
}
#plan .timetable .example2{
    font-size: clamp(16px, 1.7vw, 17px);
    font-weight: 600;
    line-height: 1.5em;
    margin-bottom: 5px;
    margin-top: 10px;
}
#plan .timetable .example3{
    font-size: clamp(16px, 1.7vw, 17px);
    font-weight: 600;
    line-height: 1.5em;
    margin-bottom: 5px;
    margin-top: 30px;
}
#plan .timetable .case{
    font-size: clamp(15px, 1.6vw, 16px);
    line-height: 1.5em;
    margin-bottom: 10px;
    margin-top: 15px;
}
#plan .timetable .subject{
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}
#plan .timetable .subject.mnt40_2{
    width: 43%;
}
#plan .timetable .subject.mnt50{
    width: 56%;
}
#plan .timetable .subject.mnt50_2{
    width: 50%;
}
#plan .timetable .subject.mnt60{
    width: 67%;
}
#plan .timetable .subject.mnt90{
    width: 100%;
}
#plan .timetable .subject.mnt90_2{
    width: 75%;
}
#plan .timetable .subject > div{
    font-size: clamp(14px, 1.5vw, 15px);
    line-height: 1.4em;
    font-weight: 600;
    text-align: center;
    color: #fff;
    padding: 12px 0;
    margin-bottom: 10px;
}
#plan .timetable .subject .wid100{
    width: 100%;
}
#plan .timetable .subject .wid60{
    width: 67%;
}
#plan .timetable .subject .wid60_2{
    width: 75%;
}
#plan .timetable .subject .wid50{
    width: 50%;
}
#plan .timetable .subject .wid30{
    width: 33%;
}
#plan .timetable .subject .wid30_2{
    width: 25%;
}
#plan .timetable .subject .sugaku{
    background-color: #1F6DCF;
}
#plan .timetable .subject .kokugo{
    background-color: #66C51B;
}
#plan .timetable .subject .eigo{
    background-color: #CF1F6D;
}
#plan .timetable .subject .rika{
    background-color: #794991;
}
#plan .timetable .subject .butsuri{
    background-color: #D49D01;
}
/*++++++++++++++++++++++++++
中3生限定 セット講習
++++++++++++++++++++++++++*/
.gentei{
    padding: 70px 0 80px;
    background-image: linear-gradient(0deg, rgba(7, 101, 170, 1), rgba(16, 191, 255, 1));
}
.gentei .title figure{
    max-width: 420px;
    width: 95%;
    margin: auto auto 25px;
}
.gentei .min-title figure{
    max-width: 300px;
    width: 60%;
    margin: auto 0 -20px;
}
.gentei .ttl-txt{
    font-size: clamp(15px, 1.7vw, 17px);
    line-height: 1.7em;
    color: #fff;
    margin-bottom: clamp(15px, 2vw, 20px);
}
.gentei .kaisai{
    font-size: clamp(28px, 4vw, 36px);
    line-height: 1.7em;
    font-weight: 700;
    text-align: center;
    color: #FFF832;
    padding-top: clamp(20px, 3vw, 30px);
    margin-bottom: clamp(50px, 6vw, 60px);
}
.gentei .box{
    position: relative;
}
.gentei .box .icon1{
    position: absolute;
    bottom: -15px;
    left: calc(50% - 15px);
    width: 30px;
    z-index: 5;
}
.gentei .box .icon2{
    position: absolute;
    bottom: -20px;
    left: calc(50% - 9px);
    width: 18px;
    z-index: 5;
}
.gentei .box .inner{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 40px 0;
}
.gentei .box .inner .left{
    width: 57%;
    text-align: center;
}
.gentei .box .inner .right{
    width: 40%;
}
.gentei .box .back h6{
    display: inline-block;
    background-color: #fff;
    border-radius: 100px;
    padding: 4px 10px;
    font-size: clamp(13px, 2.5vw, 20px);
    font-weight: 700;
    line-height: 1.4em;
    margin-bottom: 5px;
    color: #004893;
}
.gentei .box.individual .back h6{
    color: #009194;
}
.gentei .box h4{
    font-size: clamp(22px, 7.5vw, 58px);
    font-weight: 600;
    line-height: 1.4em;
    color: #fff;
    margin-bottom: 5px;
}
.gentei .box p{
    font-size: clamp(12px, 2.4vw, 18px);
    font-weight: 400;
    line-height: 1.4em;
    color: #fff;
}
.gentei .specialprice{
    background-color: #FFF832;
    border-radius: 10px;
    margin: 50px auto 70px;
}
.gentei .specialprice .inner{
    padding: 40px 10px;
}
.gentei .specialprice .txt1{
    font-size: clamp(20px, 3.5vw, 27px);
    font-weight: 600;
    line-height: 1.5em;
    text-align: center;
    margin-bottom: 20px;
}
.gentei .specialprice .txt2{
    font-size: clamp(18px, 3vw, 22px);
    font-weight: 600;
    line-height: 1.5em;
    text-align: center;
}
.gentei .specialprice .txt2 span.cls-jh{
    font-size: 2em;
    font-weight: 700;
    color: #0079F5;
    margin-right: 0.2em;
}
.gentei .lmtd-btn{
    margin-top: 15px;
}
.gentei .lmtd-btn .inner .main-btn{
    background-color: #FFE51C;
    border-radius: 100px;
    position: relative;
}
.gentei .lmtd-btn.clr-w .inner .main-btn{
    background-color: #fff;
}
.gentei .lmtd-btn .inner .main-btn::after{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    margin: auto;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 10px solid #0C294D;
    border-right: 0;
}
.gentei .lmtd-btn .inner .main-btn .txt{
    font-size: clamp(18px, 2.2vw, 22px);
    font-weight: 700;
    text-align: center;
    line-height: 1.5em;
    color: #0C294D;
    padding: 20px 5px;
}
.gentei .note{
    font-size: clamp(15px, 1.6vw, 16px);
    text-align: center;
    color: #fff;
    margin-top: 5px;
}

/*nav*/
.gentei nav .link-cont .inner{
    border: solid 1px #fff;
    border-radius: 5px;
    position: relative;
}
.gentei nav .link-cont .inner::after{
    content: '';
    position: absolute;
    top: 12px;
    right: 12px;
    width: 12px;
    height: 12px;
    border-right: solid 1px #fff;
    border-bottom: solid 1px #fff;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}
.gentei nav .link-cont .inner .txt{
    font-size: clamp(15px, 1.7vw, 17px);
    font-weight: 500;
    line-height: 1.5em;
    text-align: center;
    color: #fff;
    padding: 10px 0;
}
/*nav*/
/*++++++++++++++++++++++++++
講習開始までの3ステップ
++++++++++++++++++++++++++*/
#step3{
    padding: 80px 0 60px;
}
#step3 .wrap-min{
    max-width: 380px;
    width: 90%;
    margin: auto;
}
#step3 h5{
    font-size: clamp(20px, 2.5vw, 25px);
    font-weight: 700;
    text-align: center;
    line-height: 1.5em;
    margin-bottom: 40px;
}
#step3 h5 span{
    font-size: 0.7em;
}
#step3 h5::before{
    content:'■';
    font-size: 0.7em;
    color: #00B2DB;
    margin-right: 0.3em;
}
#step3 .step figure{
    margin-bottom: 30px;
}
/*++++++++++++++++++++++++++
2025年 合格実績
++++++++++++++++++++++++++*/
#achievements{
    padding: 80px 0;
    background-color: #FFFFB7;
}
#achievements h1.title{
    margin-bottom: 50px;
}
#achievements .pass{
    background-color: #fff;
    border-radius: 10px;
}
#achievements .pass .inner{
    padding: 30px 10px;
}
#achievements .pass p.txt1{
    font-size: clamp(24px, 2.8vw, 28px);
    font-weight: 700;
    line-height: 1.5em;
    text-align: center;
    color: #E62226;
    margin-bottom: 5px;
}
#achievements .pass p.txt1 span{
    font-size: 1.6em;
}
#achievements .pass p.txt2{
    font-size: clamp(14px, 1.5vw, 15px);
    font-weight: 600;
    line-height: 1.5em;
    text-align: center;
    color: #868686;
}
#achievements .pass .detail{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 400px;
    width: 90%;
    margin: 35px auto auto;
}
#achievements .pass .detail .dt-blk{
    width: 48%;
    text-align: center;
}
#achievements .pass .detail .dt-blk .txt3{
    font-size: clamp(16px, 1.8vw, 18px);
    font-weight: 700;
    line-height: 1.5em;
    margin-bottom: 12px;
}
#achievements .pass .detail .dt-blk .txt4{
    font-size: clamp(18px, 2vw, 20px);
    font-weight: 700;
    line-height: 1.4em;
}
#achievements .pass .detail .dt-blk .txt4 span{
    font-size: 1.7em;
    color: #3192E8;
}
#achievements .contents{
    margin-top: 60px;
}
#achievements .contents figure img{
    border-radius: 10px;
}
#achievements .contents h5{
    font-size: clamp(20px, 2.5vw, 25px);
    font-weight: 600;
    line-height: 1.5em;
    margin-top: 20px;
    margin-bottom: 20px;
}
#achievements .contents h5::before{
    content:'■';
    font-size: 0.6em;
    margin-right: 0.3em;
}
#achievements .contents ol{
    font-size: 0;
}
#achievements .contents ol li{
    display: inline-block;
}
#achievements .contents ol li p{
    font-size: clamp(15px, 1.6vw, 16px);
    line-height: 1.4em;
}
#achievements .contents ol li p::after{
    content: '/';
    margin: 0 0.5em;
}
#achievements .link-cont{
    margin-top: 20px;
}
#achievements .link-cont .inner{
    border: solid 1px #0C294D;
    border-radius: 5px;
    position: relative;
}
#achievements .link-cont .inner::after{
    content: '';
    position: absolute;
    top: calc(50% - 6px);
    right: 12px;
    width: 12px;
    height: 12px;
    border-right: solid 1px #0C294D;
    border-top: solid 1px #0C294D;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}
#achievements .link-cont .inner .txt{
    font-size: clamp(15px, 1.6vw, 16px);
    font-weight: 500;
    line-height: 1.5em;
    text-align: center;
    padding: 15px 0;
    color: #0C294D;
}
#achievements .contents p.txt{
    font-size: clamp(15px, 1.6vw, 16px);
    line-height: 1.5em;
    padding-bottom: 5px;
}
/*++++++++++++++++++++++++++
夏期体験講習に申し込む
++++++++++++++++++++++++++*/
.inquiry{
    padding: 50px 0;
    background-color: #083383;
}
.inquiry.cls-es{
    background-color: #00B7EE;
}
.inquiry.cls-jh{
    background-color: #0080CB;
}
.inquiry.cls-hs{
    background-color: #004085;
}

.inquiry h2.inq-title{
    font-size: clamp(25px, 3vw, 30px);
    font-weight: 700;
    line-height: 1.5em;
    text-align: center;
    margin-bottom: 50px;
    color: #fff;
}
.inq-btn{
    margin-top: 30px;
}
.inq-btn .inner{
    position: relative;
}
.inq-btn .inner .kikan{
    position: absolute;
    top: -15px;
    left: 5px;
    z-index: 1;
    background-color: #fff;
    transform: rotate(-3deg);
    -webkit-transform: rotate(-3deg);
}
.inq-btn .inner .kikan .txt{
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4em;
    padding: 3px 7px;
    color: #0C294D;
}
.inq-btn .inner .main-btn{
    background-color: #FFE51C;
    border-radius: 100px;
    position: relative;
}
.inq-btn .inner .main-btn::after{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    margin: auto;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 10px solid #0C294D;
    border-right: 0;
}
.inq-btn .inner .main-btn .txt{
    font-size: clamp(18px, 2.2vw, 22px);
    font-weight: 700;
    text-align: center;
    line-height: 1.5em;
    color: #0C294D;
    padding: 20px 5px;
}
/*++++++++++++++++++++++++++
faq
++++++++++++++++++++++++++*/
#faq {
    padding: 70px 0 30px;
}
#faq ul{
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: solid 1px #e6e6e6;
}
#faq ul li.question{
    margin-bottom: 10px;
}
#faq ul li.question p{
    font-size: clamp(16px, 1.8vw, 18px);
    font-weight: 700;
    line-height: 1.6em;
    color: #1E5293;
    margin-left: 1.3em;
    text-indent: -1.3em;
}
#faq ul li.question p::before{
    content: 'Q';
    margin-right: 0.2em;
    font-size: 1.35em;
    color:#02a3fa;
}
#faq ul li.answer p{
    font-size: clamp(14px, 1.6vw, 16px);
    line-height: 1.6em;
    margin-left: 1.45em;
    text-indent: -1.45em;
}
#faq ul li.answer p::before{
    content: 'A';
    margin-right: 0.35em;
    font-size: 1.5em;
    color:#fa0202;
    font-weight: 700;
}
#faq ul li.answer .coution{
    font-size: clamp(12px, 1.4vw, 14px);
    line-height: 1.6em;
    margin-left: 1.45em;
}
/*++++++++++++++++++++++++++
school
++++++++++++++++++++++++++*/
#school {
    padding: 70px 0;
}
#school p{
    font-size: clamp(20px, 2.5vw, 25px);
    line-height: 1.6em;
    text-align: center;
    margin-top: 30px;
    margin-bottom: 40px;
}
#school .school_wrap {
    width: 95%;
    margin: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    text-align: center;
    color: #fff;
}
#school .school_wrap a {
    width: 31%;
    background-color: #223A70;
    border-radius: 5px;
    padding: 10px;
    margin: 0 1% 10px;
    display: block;
    color: #ffffff;
}
@media screen and (max-width: 600px) {
    #school .school_wrap a {
        width: 48%;
    }

}
/*++++++++++++++++++++++++++
フッター
++++++++++++++++++++++++++*/
footer {
    margin: 0 auto;
    text-align: center;
}
footer .footer_logo {
    margin: 0 auto 15px;
    max-width: 350px;
    width: 100%;
}
footer .footer_tel {
    display: block;
    margin: 0 auto 15px;
    max-width: 300px;
    width: 100%;
}
footer .footer_copyright {
    color: #fff;
    background-color: #223A70;
    padding: 5px;
    font-size: 11px;
}
/*--------------------------------------
    フローティングボタン
---------------------------------------*/
#float-contact{
    position: fixed;
    right: 110px;
    z-index: 10;
}
#float-contact .fc-bg{
    /* background-color: #FFE927; */
    background : #FFE51C;
    border-radius: 1000px;
    padding: 20px 25px;
}
#float-contact .fc-txt{
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2em;
    text-align: center;
    color: #0C294D;
}
#float-contact .fc-txt::before{
    content: '';
    display: inline-block;
    background-image: url(../images/ic-mail.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 1.3em;
    height: 1.3em;
    vertical-align: middle;
    margin-right: 0.3em;
    margin-top: -0.2em;
}
@media screen and (max-width: 600px) {
    #float-contact{
        right: 80px;
    }
}
@media screen and (max-width: 400px) {
    #float-contact .fc-bg{
        padding: 20px 20px;
    }
    #float-contact .fc-txt{
        font-size: 12px;
    }
}
/*--------------------------------------
    pagetop
---------------------------------------*/
a#btn_top {
    position: fixed;
    right: 40px;
    z-index: 10;
    text-decoration: none;
    color: #ffffff;
    text-align: center;
    display: block;
    width: 60px;
    height: 60px;
    box-sizing: border-box;
    padding: 8px 0 0 0;
    background: rgba(28, 99, 167, 0.54);
    font-size: 13px;
    border-radius: 40px;
    line-height: 1.2em;
    overflow: auto;
}
a#btn_top a:hover {
    text-decoration: none;
    background: rgba(28, 99, 167, 0.9);
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
}
@media screen and (max-width: 600px) {
    a#btn_top {
        right: 10px;
    }
}