@charset "UTF-8";

.subPage{
    position: relative;
    z-index: 1;
    padding: 120px 0 150px;
}


.subPage::before{
    content: "";
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position-x: center;
    background-position-y: top;
    background-size: 115%;
    top:0;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}

.page-classInfo-bg{
    width: 114.86%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    max-width: 1654px;
}

.page-classList-bg{
    z-index: -1;
    max-width: 1650px;
    width: 114.58%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
}

.page-Privacy-bg{
    max-width: 1637px;
    width: 113.68%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
}

.page-contact-bg{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    max-width: 1614px;
    width: 112.08%;
    top: 0;
    z-index: -1;
}

/* _____________________________ */

.classInfo{
    padding-bottom: 120px;
}

.classInfo__wrap{
    width: 90%;
    margin: auto;
}

.classInfo__section-ttl{
    margin-bottom: 92px;
}

.classInfo__box{
    max-width: 640px;
    margin: auto;
    position: relative;
    z-index: 1;
    overflow: hidden;
    
}

.classInfo__box::before{
    content: "";
    position: absolute;
    left: 0px;
    top: 0px;
    z-index: 2;
}
.classInfo__box::before {
    height: 0;
    display: block;
    position: absolute;
    content: "";
    border-top: solid 45px #fff;
    border-right: solid 45px transparent;
    top: -6px;
    left: -6px;
    z-index: 2;
}

.classInfo__inner{
    border: #083BAF solid 6px;
    background-color: #fff;
}

.classInfo__content{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    border-bottom: 1px solid #083BAF;
}
.classInfo__content:last-of-type{
    border-bottom: none;
}

.classInfo__label{
    padding: 37px 20px;
    background-color: #083BAF;
    font-weight: 400;
    font-size:  1.6rem;
    text-align: center;
    color: #fff;
    width: 200px;
    position: relative;
}

.classInfo__label::before{
    content: "";
    width: 105%;
    height: 1px;
    background-color: #fff;
    position: absolute;
    left: -5%;
    top: 100%;
    z-index: 1;
}

.classInfo__label--last::before{
    content: none;
}

.classInfo__detail{
    font-weight: 400;
    font-size:  1.6rem;
    text-align: center;
    width: calc(100% - 200px);
    padding: 36px 20px 35px 20px;
}

.access{
    background-color: #F4F7FF;
    padding: 60px 0 120px;
}

.access__wrap{
    width: 90%;
    margin: auto;
}
.access__section-ttl{
    margin-bottom: 60px;
}
.access__mapWrap{
    border: #083BAF solid 6px;
    max-width: 1080px;
    margin: auto;
}

.access__map{
    width: 100%;
}

.access__mapText{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 40px 5%;
    background-color: #083BAF;
}

.access__address{
    font-weight: 400;
    font-size:  2.4rem;
    text-align: left;
    color: #fff;
    line-height: 1.67;
}
.access__btn{
    max-width: 437px;
    width: calc(100% - 390px);
    height: 60px;
    position: relative;
    z-index: 1;
}
.access__btn::before{
    content: "";
    width: 100%;
    max-width: 80px;
    height: 4px;
    background-image:url(../img/classInfo-mapArow.svg);
    background-repeat: no-repeat;
    background-position-x: right;
    background-position-y: center;
    background-size: contain;
    z-index: 2;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 5%;
}


/* ________________________*/

.classList__section-ttl{
    margin-bottom: 93px;
}

.school{
    padding: 150px 0 90px;
    overflow: hidden;
}

.school01{
    padding-top: 0px;
}

.school__wrap{
    width: 90%;
    margin: auto;
    max-width: 1080px;
}

.school__imgWrap{
    margin: auto;
    margin-bottom: 39px;
    position: relative;
}
.school__imgWrap::after{
    content: "";
    width: 1000%;
    height: 1000%;
    background-color: #083BAF;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}

.school__imgInner{
    display: inline-block;
    border-radius: 10px;
    overflow: hidden;
}
.school__flex{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}


.school__ttl{
    font-family: sofia-pro, sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size:  4.5rem;
    text-align: left;
    color: #fff;
    margin-bottom: 30px;
    line-height: 1.45;
}




.school__detail{
    font-weight: 500;
    font-size:  1.6rem;
    letter-spacing: 0.03em;
    line-height: 1.875;
    text-align: left;
    color: #fff;
    margin-bottom: 80px;
}


.school__priceImgRight{
    max-width: 357px;
}

.school__left{
    margin-left: 5%;
}

.school__priceImgLeft01{
    max-width: 475.82px;
}

.school__priceImgLeft02{
    max-width: 357px;
}

.school__list{
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    max-width: 490px;
    max-width: 560px;
}

.school__item{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: column wrap;
    text-align: center;
}

.school__item + .school__item{
    margin-left: 40px;
}



.school__balloon{
    max-width: 108.68px;
}
.school__icon{
    width: 110px;
    height: 75px;
    margin-bottom: 10px;
}

.school__target,
.school__date,
.school__time{
    font-weight: 500;
    font-size:  2.4rem;
    text-align: center;
    color: #fff;
    line-height: 1.458;
    width: 100%;
}
.school__target,
.school__date{
    white-space: nowrap;
}

.school__week{
    font-size: 1.4rem;
    margin-left: 4px;
}

.school__time--inner{
    margin-top: 8px;
}

.school__guide,
.school__detail--guide{
    font-size:  1.2rem;
    text-align: left;
    color: #fff;
    line-height: 1.416;
}
.school__guide--left{
    margin-top: 14px;
}
.school__guide--right{
    margin-top: 24.5px;
}

.school__detail--guide{
    margin-top: 24px;
}

.privacy__section-ttl{
    margin-bottom: 90px;
}

.privacy__wrap{
    width: 90%;
    margin: auto;
}
.privacy__warning{
    max-width: 922px;
    margin: auto;
    margin-bottom: 60px;
    text-align: center;
}

.privacy__warning,
.privacy__detail{
    font-weight: 500;
    font-size:  1.6rem;
    letter-spacing: 0.03em;
    line-height: 1.875;
}
.privacy__detail{
    text-align: left;
}

.privacy__box{
    background-color: #fff;
    padding: 60px 40px 90px;
    max-width: 891px;
    margin: auto;
    position: relative;
    border: 6px solid #083BAF;
}
.privacy__box:before {
    height: 0;
    display: block;
    position: absolute;
    content: "";
    border-top: solid 45px #fff;
    border-right: solid 45px transparent;
    top: -6px;
    left: -6px;
    z-index: 2;
}
.privacy__box:after {
    height: 0;
    display: block;
    position: absolute;
    left: 0;
    content: "";
    border-top: solid 44px #083BAF;
    border-right: solid 44px transparent;
    top: -2px;
}

.privacy__boxInner{
    max-width: 711px;
    margin: auto;
}

.privacy__content{
    margin-bottom: 40px;
    text-align: left;
}

.privacy__content:last-of-type{
    margin-bottom: 60px;
}

.privacy__ttl{
    font-weight: 500;
    font-size:  3.5rem;
    letter-spacing: 0.03em;
    margin-bottom: 16px;
}

.privacy__num{
    font-family: sofia-pro, sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size:  3.5rem;
    letter-spacing: 0.03em;
}

.privacy__contact{
    margin-bottom: 16px;
    font-weight: 500;
    font-size:  2.4rem;
    letter-spacing: 0.03em;
    line-height: 1.25;
}

/* _____________________________________ */

.contact__section-ttl{
    margin-bottom: 90px;
}
.contact__flex {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    max-width: 900px;
    width: 90%;
    margin: auto;
    flex-wrap: wrap;
}
.contact__left {
    width: 297px;
    order: 1;
}

.contact__flow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 24px;
    border-bottom: 1px solid #000;
}
.contact-num {
    color: #083BAF;
    width: 50px;
    height: 50px;
    padding: 6px 5px;
    border: solid 1px #083BAF;
}
.contact-num.active {
    background-color: #083BAF;
    color: #fff;
}

.contact-num__num{
    font-family: din-2014, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size:  1.0rem;
    margin-bottom: 5px;
}

.contact-num__ja{
    font-weight: 500;
    font-size:  1.4rem;
    letter-spacing: 0.05em;
    text-align: center;
}
.contact__line {
    width: 45px;
    height: 1px;
    background-color: #C3C3C3;
}
.contact__note {
    font-size: 1.4rem;
    margin-top: 24px;
    line-height: 2em;
}
.contact__color {
    color: #ff0000;
}
.contact__right {
    width: calc(100% - 387px);
    position: relative;
    z-index: 1;
}
.contact__content {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 9px;
}

.contact__label {
    height: 54px;
    text-align: right;
    line-height: 54px;
    font-size: 1.6rem;
    font-weight: bold;
    width: 167px;
    margin-right: 27px;
}
.contact__label.must::after {
    content: "*";
    color: #B44336;
}
.contact__detail {
    width: calc(100% - 167px);
    font-size: 1.4rem;
    text-align: left;
}
.contact__input {
    background-color: #EFEFEF;
    padding: 0 1em;
    height: 54px;
    width: 100%;
    font-size: 1.4rem;
}
.contact__area {
    background-color: #EFEFEF;
    width: 100%;
    font-size: 1.4rem;
    padding: 16px 1em;
    height: 252px;
}
.contact__select{
    height: 54px;
    width: 100%;
    font-size: 1.4rem;
    padding: 0.5em 1em;
    background-color: #EFEFEF;
}
.contact__button {
    margin-left: auto;
    width: calc(100% - 167px);
    text-align: center;
}
.contact__link{
    margin-top: 60px;
    width: 100%;
    max-width: 270px;
    height: 63px;
    padding: 11px 0px 17px;
}
::-webkit-input-placeholder {
    /* WebKit, Blink, Edge */
    color: #ACACAC;
}

:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: #ACACAC;
}

::placeholder {
    /* Others */
    color: #ACACAC;
}

label.error{
    color: #ff0000;
}
/* _____________________________________ */

.check__label{
    font-weight: 500;
    font-size:  1.4rem;
    text-align: left;
    color: #333;
    margin-bottom: 8px;
}



.contact__check{
    font-weight: bold;
    font-size:  1.6rem;
    margin-bottom: 24px;
    line-height: 1.5;
}
.check__btnWrap{
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 60px;
}

.check__linkBack{
    max-width: 237px;
    height: 60px;
    width: 100%;
    margin-right: 36px;
}
.check__linkBack:after {
    background-color: #FFFBE0;
}
.check__linkSend{
    max-width: 237px;
    height: 60px;
    width: 100%;
    padding: 10px 0px 16px;
}

.contact-body{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100vh;
}

.contact-main{
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
}

.thanks__message{
    font-weight: bold;
    font-size:  2.4rem;
    letter-spacing: 0.05em;
    margin-bottom: 30px;
    line-height: 1.5625;
}
.thanks__detail{
    font-weight: 500;
    font-size:  1.6rem;
    color: #343434;    
    line-height: 1.5;
}
.thanks__btnWrap{
    margin-top: 60px;
    text-align: left;
}

.thanks__link{
    max-width: 270px;
    width: 100%;
}
/* _____________________________________ */

@media screen and (max-width:1280px) {
    .school__priceImgRight {
        width: 60%;
    }

}

@media screen and (max-width:1024px) {
    .page-classList-bg{
        top: 1%;
    }
    .contact__flex{
        flex-flow: column wrap;
        align-items: center;
    }

    .contact__left{
        order: 0;
    }    

    .contact__left{
        margin-bottom: 60px;
    }

    .contact__right{
        width: 100%;
        max-width: 400px;
    }

    .contact__content{
        flex-flow: column wrap;
        align-items: center;
    }

    .contact__label{
        width: 100%;
        margin: auto;
        text-align: left;
    }
    .contact__detail{
        width: 100%;
    }
    .contact__button{
        width: 100%;
    }

    .thanks__btnWrap{
        text-align: center;
    }

    .thanks__text{
        text-align: center;
    }

    .thanks__message{
        text-align: left;
        display: inline-block;
    }
    .thanks__detail{
        display: inline-block;
        margin: auto;
        text-align: left;
    }
}

@media screen and (max-width:768px) {
    .subPage{
        padding: 90px 0 120px;
    }

    .page-Privacy-bg{
        max-width: 431px;
        width: 114.93%;
    }
    
    .page-classInfo-bg{
        max-width: 450px;
        width: 120%;
    }

    .page-classList-bg,
    .page-contact-bg{
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        max-width: 429px;
        width: 114.4%;
        top: 0;
    }

    /* _____________________ */
    .classInfo{
        padding-bottom: 60px;
    }
    .classInfo__section-ttl{
        margin-bottom: 60px;
    }

    .classInfo__box{
        max-width: 375px;
    }

    .classInfo__inner{
        border: #083BAF solid 4px;
    }

    
    .classInfo__content{
        flex-flow: column wrap;
        
    }
    .classInfo__label::before{
        content: none;
    }
    .classInfo__label{
        width: 100%;
        font-size: 1.4rem;
        text-align: center;
        padding: 14px 15px;
    }
    
    .classInfo__detail{
        width: 100%;
        font-size: 1.4rem;
        text-align: center;
        padding: 21px 10px;
    }

    .classInfo__box::before{
        left: -2px;
        top: -21px;
    }

    .access {
        padding: 50px 0 60px;
    }

    .access__mapWrap{
        border: #083BAF solid 4px;
    }
    .access__mapText{
        flex-flow: column wrap;
        padding: 24px 5%;
    }

    .access__address{
        font-size: 1.8rem;
        margin-bottom: 24px;
    }

    .access__btn{
        width: 100%;
    }
    .access__btn::before{
        max-width: 54px;
    }

    .access__map{
        height: 210px;
    }


    .school {
        padding: 90px 0 60px;
        overflow: hidden;
    }
    .school01 {
        padding-top: 0px;
    }
    .school__item + .school__item{
        margin-left: auto;
    }
    

    .school__ttl{
        line-height: 1.2;
        font-size: 2.5rem;
        margin-bottom: 24px;
    }
    
    .school__flex{
        flex-flow: column wrap;
    }
    .school__right{
        width: 100%;
        text-align: center;
        margin-bottom: 40px;
    }
    .school__detail{
        font-size: 1.4rem;
        margin-bottom: 40px;
    }
    .school__left{
        margin: auto;
        text-align: center;
    }
    .school__target,
    .school__date,
    .school__time {
        font-size:  1.4rem;
    }

    .school__week{
        font-size: 1.0rem;
    }

    .school__guide--rightSpace{
        display: inline;
    }

    /* _____________________ */

    .privacy__section-ttl{
        margin-bottom: 84px;
    }
    
    .privacy__warning{
        margin-bottom: 60px;
    }
    .privacy__warning,
    .privacy__detail{
        font-size: 1.4rem;
    }
    .privacy__box{
        border: solid #083BAF 4px;  
        padding: 47px 15px 40px;
    }
    .privacy__box:before {
        border-top: solid 31px #fff;
        border-right: solid 31px transparent;
        top: -4px;
        left: -5px;
    }
    .privacy__box:after{
        border-top: solid 30px #083BAF;
        border-right: solid 30px transparent;
    }
    .privacy__content{
        margin-bottom: 47px;
    }

    .privacy__ttl{
        font-size: 1.8rem;
        margin-bottom: 19px
    }

    .privacy__num{
        font-size: 2.4rem;
    }
    .privacy__content:last-of-type{
        margin-bottom: 40px;
    }

    .privacy__contact{
        font-size: 1.8rem;
        margin-bottom: 25px;
    }
    .privacy__textAmine-main{
        font-size:  3.0rem!important;
    }

    .contact__section-ttl{
        margin-bottom: 95px;
    }
    .check__btnWrap{
        flex-flow: column wrap;
    }
    .check__linkBack{
        margin-right: 0;
        margin-bottom: 20px;
    }


    .thanks__message{
        font-size: 1.6rem;
    }

    .thanks__detail{
        font-size: 1.4rem;
    }

}

@media screen and (max-width:481px) {
    .access__wrap{
        width: 100%;
    }

    .school__imgWrap{
        margin-bottom: 24px;
    }
    .school__priceImgRight{
        max-width: 278px;
        width: 100%;
    }


    .school__balloon{
        max-width: 87.03px;
    }
    .school__icon{        
        width: 100%;
        height: 100%;
        max-width: 87.03px;
    }

}
/* _____________________________________ */
.contact__flex--404{
    justify-content: center;
    text-align: center;
}

.thanks__btnWrap--404{
    text-align: center;
}