@charset "UTF-8";

@font-face {
    font-family: "BackslashFix";
    src: local("Segoe UI"), local("Arial"), local("Helvetica Neue");
    unicode-range: U+002F, U+005C;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body{
    font-family:"BackslashFix",  "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
}




img{
    width: 100%;
}

h2,h3,h4{
    font-weight: 400;
    margin: 0;
    padding: 0;
}

br.mb,
br.mb2{
    display: none;
}

.top_all{
    max-width: 1280px;
    margin: 0 auto;
    overflow-x: hidden;
}

.flex{
    display: flex;
    gap: 3%;
    width: 70%;
    margin-top: 0.5%;
}

.top{
    margin: 0 auto;
    width: 100%;
}

.top img{
    width: 100%;
}

.flex .jiyu img{
    width: 100%;
}

.flex .kibou img{
    width: 80%;
    margin-top: 7px;
}

@media screen and (max-width:700px){
.flex .kibou img{
        margin: 4px 0 0;
    }

}

.top.header{
    width: 60%;
    margin: 1% 0 1% 2%;
}

.top.header.kibou{
    margin: 1% 2% 1% 2%;
}


@media screen and (max-width:700px){
.flex{
    margin: 3.5% auto 0;
    width: 110%;
    gap: 1%;
}
.top.header{
    width: 100%;
}
}

h1.hero img{
    display: block;
}

.all{
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
}

.all .top_snt{
    width: 90%;
    margin: 5% auto;
}

.all .top_snt .mb{
    display: none;
}

.all .flex.lisence{
    display: flex;
    margin: 0 auto;
    margin-bottom: 5%;
}

.all .choose{
    text-align: center;
    font-size: 22px;
}

.all .choose span{
    font-size: 33px;
}

.all .switch{
    position: relative;
}

.all .switch .img{
    margin-top: 1%;
    position: relative;
    line-height: 0;
}

.all .switch .switch_half{
    position: absolute;
    top: 0;
    width: 50%;
    height: 100%;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    z-index: 2;
    -webkit-appearance: none;
    appearance: none;
}
.all .switch .switch_half.left{ left: 0; }
.all .switch .switch_half.right{ right: 0; }

@keyframes allow_bounce{
    0%, 100% { translate: 0 0; }
    50%      { translate: 0 30%; }
}


.all .switch .allow{
    width: 5%;
    position: absolute;
    bottom: 7%;
    opacity: 1;
    transition: opacity 0.35s ease;
    animation: allow_bounce 1.5s ease-in-out infinite;
}

.all .switch .allow.is-open,
.all .switch .allow.is-hidden{
    animation: none;
}

.all .switch .allow.is-open{
    rotate: 180deg;
}

.all .switch .allow.is-hidden{
    opacity: 0;
}
.all .switch .allow.allow1{
    left: 23.5%;
}
.all .switch .allow.allow2{
    right: 23.5%;
}

.all .panel{
    display: none;
    opacity: 1;
    transition: opacity 0.35s ease;
}
.all .panel.is-active{
    display: block;
}
.all .panel.is-out{
    opacity: 0;
}

.all .big_ttl{
    width: 30%;
    margin: 5% auto 1%;
}

.all .big_subttl{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5%;
    margin-bottom: 3.5%;
}

.all .big_subttl .subttl{
    color: #fff;
    background-color: #5b6fb3;
    border-radius: 8px;
    font-size: 22px;
}

.all .big_subttl .subttl.s1{
    padding: 1% 6%;
}
.all .big_subttl .subttl.s2{
    padding: 1% 3%;
}

.all .course{
    margin: 0 auto;
    width: 75%;
    background-color: rgba(64,123,190,0.2);
    border-radius: 30px;
}

.all .course .snt{
    font-family:"BackslashFix",  "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: bold;
    padding: 4%;
    color: #407bbe;
    text-align: center;
    font-size: 24px;
    letter-spacing: 1.4px;
}

.all .course .items{
    margin: 0 auto;
    width: 60%;
    margin-bottom: -1%;
    position: relative;
    line-height: 0;
}

.all .course .items .course_half,
.all .course .items .course_link{
    position: absolute;
    top: 0;
    height: 100%;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    z-index: 2;
    -webkit-appearance: none;
    appearance: none;
}

.all .course .items .course_half{ width: 50%; }
.all .course .items .course_half.left{ left: 0; }
.all .course .items .course_half.right{ right: 0; }

.all .course .items .course_link{ left: 0; width: 100%; }

.all .course .items.under{
    width: 35%;
    padding-bottom: 4%;
    margin-bottom: 1%;
}

.all .item_bottom{
    text-align: center;
    font-size: 17px;
}

.recommend{
    margin: 5% auto;
}

.recommend .ttl{
    margin: 0 auto 0.5%;
    text-align: center;
    font-size:26px;
    color: #407bbe;
    font-weight: 500;
    font-family:"BackslashFix",  "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: bold;
}
.recommend .snt{
    margin: 0 auto;
    width: 50%;
}
.recommend .snt.mb{
    display: none;
}

.all .main .top_snt{
    margin: 0 auto;
    font-size: 29px;
    color: #ae569c;
    font-family:"BackslashFix",  "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: bold;
    text-align: center;
}

.all .main .top_snt span{
    font-size: 26px;
    vertical-align: middle;
}

.all .main .ttl{
    display: flex;
    width: 100%;
    padding:2% 25% 2%;
    color: #fff;
    background-color: #8f70ae;
    font-family:"BackslashFix",  "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: 600;
    align-items: flex-end;
    justify-content: center;
}

.all .main .ttl .icon{
    width: 12%;
    margin-right: 3%;
    line-height: 0;
}

.all .main .ttl .snt{
    font-size: clamp(30px,5vw,70px);
    font-weight: bold;
    line-height: 1;
}

.all .main .ttl .snt span{
    font-size:clamp(15px,2.5vw,35px);
}

.all .main .ttl .subsnt{
    background-color: #000;
    padding: 0.5% 6%;
    border-radius: 50px;
    font-size: clamp(12px,2.25vw,18px);
    margin-bottom: 0%;
    margin-left: 14%;
}

.all .main .ttl .subsnt.cnt_one{
    padding: 1% 5%;
    font-size: clamp(14px, 2.25vw, 24px);
}

.all .main .content{
    background-color: rgba(116,131,192,0.3);
    padding-bottom: 7%;
}

.all .main .content.cnt_one{
    margin-bottom: 7%;
}

.all .main .content .img{
    width: 55%;
    margin: 0 auto;
    padding-top: 1%;
    padding-bottom: 1%;
}

.all .main .content .flex{
    width: 55%;
    margin: 0 auto;
    justify-content: space-between;
}

.all .main .content .flex div{
    background-color: #fff;
    color: #ae569c;
    padding: 2px 3%;
    border-radius: 50px;
    margin-bottom: 7.5%;
    font-size: 18px;
    font-weight: 500;
}

.all .main .content .cnts{
    background-color: #fff;
    margin: 0 auto;
    border-radius: 35px;
    width: 75%;
    padding: 1% 10% 1%;
}

.all .main .content .cnts hr.custom{
    border: none;
    height: 1px;
    background-image: linear-gradient(to right, #717071 0 10px, transparent 10px 14px);
    background-size: 14px 1px;
    background-repeat: repeat-x;
    margin: 0;
    flex-shrink: 0;
}

.all .main .content .cnts .cnt{
    display: flex;
    gap: 5%;
    margin-top: 3%;
    margin-bottom: 3%;
}

.all .main .content .cnts .cnt .img{
    position: relative;
    width: 30%;
    flex: 0 0 30%;
}
.all .main .content .cnts .cnt .img img{
    display: block;
}

.all .main .content .cnts .cnt .img .absolute{
    position: absolute;
    color: #fff;
    background-color: #3e3a39;
    text-align: center;
    padding: 4% 6%;
    border-radius: 50px;
    top: 15%;
    right: -215%;
}

.all .main .content .cnts .cnt .snts{
    margin: auto;
    flex: 1 1 auto;
    min-width: 0;
}

.all .main .content .cnts .cnt .snts .ttl{
    background-color: transparent;
    color: #000;
    font-size: 23px;
    background-image: linear-gradient(transparent 55%, rgba(174, 86, 156, 0.15) 55%, rgba(174, 86, 156, 0.15) 92%, transparent 92%);
    padding: 0 0.15em;
    margin-bottom: 5%;
    width: 50%;
}

.all .main .content .cnts .cnt .snts .snt{
    font-size: 18px;
    line-height: 1.9;
}

.all .main .content .cnts .cnt .snts .ttl.flex{
    display: flex;
}


.all .main .content .cnts .triangle {
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 25px solid transparent;
    border-left: 25px solid transparent;
    border-top: 30px solid #888888;
    border-bottom: 0;
    margin: 0 auto 3%;
}

.all .main .content .cnts .sub_ttl{
    font-size: 22px;
    text-align: center;
    margin-bottom: 4%;
}


.all .main .content .cnts .flex2{
    display: flex;
    justify-content: center;
    width: 100%;
    gap: 8%;
    margin-bottom: 5%;
}
.all .main .content .cnts .flex2 .mini_ttl{
    flex: 1 1 0;
    min-width: 0;
}

.all .main .content .cnts .flex2 .mini_ttl .puti_ttl{
    border-radius: 7px;
    width: 100%;
    font-size: 22px;
    font-weight: 500;
    text-align: center;
    color: #fff;
    padding: 2%;
}
.all .main .content .cnts .flex2 .mini_ttl .puti_ttl.one{background-color: #e96087;}
.all .main .content .cnts .flex2 .mini_ttl .puti_ttl.two{background-color: #f2971b;}

.all .main .content .cnts .flex2 .mini_ttl .snt{
    font-size: 19px;
    margin-top: 3%;
    color: #000;
}

.all .main .content .cnts .flex2 .mini_ttl .puti_ttl.three{background-color: #009bd9;}
.all .main .content .cnts .flex2 .mini_ttl .puti_ttl.four{background-color: #3eb166;}





.all .main .top_snt.top_snt2{
    color:#527dbe;
}

.all .main .ttl2{
    background-color: #527dbe;
    padding-left: 5%;
    padding-right: 5%;
}

.all .main .ttl2 .icon{
    width: 6%;
}

.all .main .ttl2 .subsnt{
    margin-left: 2%;
    border-radius: 20px;
    padding: 0.5% 2%;
}

.all .main .content .flex2 div{
    color: #527dbe;
}

.all .main .content .cnts2 .cnt .snts .ttl{
    background-image: linear-gradient(transparent 55%, rgba(64, 123, 190, 0.15) 55%);
}





.all .yellow{
    background-color: #FFFFE9;
    padding: 4%;
}

.all .yellow .uniform_ttl{
    width: 35%;
    margin: 0 auto;
}
.all .yellow .uniform_snt{
    text-align: center;
    margin-top: 4%;
    margin-bottom: 1%;
    font-size: 20px;
}
.all .yellow .uniform_img{
    margin: 0 auto 5%;
    width: 67%;
}
.all .yellow .voice_snt{
    margin-top: 5%;
    text-align: center;
    color: #7483c0;
    font-size: 36px;
}

.all .yellow .flex{
    display: flex;
    justify-content: center;
    margin: 0 auto;
    gap: 10%;
    width: 95%;
}

.all .yellow .flex .cont{
    width: 40%;
}

.all .yellow .flex .cont .flex{
    align-items: center;
    gap: 5%;
    justify-content: left;
    margin-top: 8%;
}

.all .yellow .flex .cont .img{
    width: 30%;
}

.all .yellow .flex .cont .ttl{
    text-align: left;
    font-size: 21px;
    font-weight: 500;
    color: #7483c0;
}

.all .yellow .flex .cont .snt{
    font-size: 18px;
    line-height: 1.9;
}



/*-------------------------------------------------*/
/*-------------------------------------------------*/
/*----------------Sライセンス用css-------------------*/
/*-------------------------------------------------*/
/*-------------------------------------------------*/


.all .s .big_subttl .subttl{
    background-color: #00a7b4;
}

.all .s .course .snt{
    color: #00a7b4;
}

.all .s .course .items{
    width: 75%;
    margin-bottom: 1%;
    padding-bottom: 3%;
}

.all .s .course .items .mb{
    display: none;
}

.all .s .course{
    background-color: rgba(0, 188, 203, 0.3);
}

.all .s .recommend .ttl{
    color: #00bccb;
}

.all .s .main .top_snt{
    color: #00a7b4;
}

.all .s .main .ttl{
    padding: 1% 0 2%;
    display: block;
    text-align: center;
}

.all .s .main .ttl_l{
    background-color: #18b7cd;
}
.all .s .main .ttl_m{
    background-color: #30b49f;
}
.all .s .main .ttl_r{
    background-color: #7ebf4d;
}

.all .s .main .ttl .icon{
    margin: 3% auto;
    width: 20%;
}

.all .s .main .ttl .snt{
    font-size: clamp(40px, 3.3vw, 50px);
    margin: 0 auto 5%;
}

.all .s .main .ttl .snt span{
    font-size: clamp(15px, 2vw, 35px);
}

.all .s .main .ttl .ttl_snt{
    margin: 0 auto 3%;
    font-size: clamp(11px, 1.9vw, 18px);
    letter-spacing: -1px;
}

.all .s .main .ttl .subsnt{
    margin: 0 22%;
    font-size: clamp(12px, 2vw, 18px);
}

.all .s .main .content{
    background-color: rgba(0, 188, 203, 0.3);
}

.all .s .main .content.flex{
    padding: 0 13% 0;
    margin: 0.5% auto 0;
    width: 100%;
    gap: 0;
}

.all .s .main .content .img{
    width: 73.9%;
    padding-top: 1%;
}

.all .s .main .content .flex div{
    color: #00a7b4;
}

.all .s .main .content .cnts .cnt .snts .ttl{
    font-size: 23px;
    font-weight: 600;
    width: auto;
    margin: 0;
    background-image: linear-gradient(to right,
        rgba(0, 174, 229, 0.3)   0     33.333%,
        rgba(48, 180, 159, 0.3)  33.333% 66.666%,
        rgba(126, 191, 77, 0.3)  66.666% 100%);
    background-repeat: no-repeat;
    background-size: 100% 37%;
    background-position: 0 87.3%;
    padding: 0 0.15em;
}

.all .s .main .content .cnts .cnt .snts .ttl_wrap{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.3em;
    margin-bottom: 4%;
}

.all .s .main .content .cnts .cnt .snts .big{
    color: #000;
    font-size: 32px;
    line-height: 1;
    flex: 0 0 auto;
}

.all .yellow .classrooms.flex{
    display: flex;
    gap: 2%;
    width: 85%;
    margin-top: 3%;
    margin-bottom: 5%;
}

.all .yellow .classrooms.flex .classroom .snt{
    text-align: center;
    font-size: 18px;
    margin-bottom: 5%;
}
.all .yellow .classrooms.flex .classroom .snt span{
    font-size: 15px;
}

.all .yellow .contact{
    margin: 10% auto 5%;
}

.all .yellow .contact .snt{
    text-align: center;
    font-size: 28px;
    font-weight: 500;
    margin-bottom: 2%;
    color: #7483c0;
}

.all .s .yellow .contact .snt{
    color: #00a7b4;
}

.all .yellow .contact .mail{
    background-color: #fff;
    width: 65%;
    margin: 0 auto;
    text-align: center;
    font-size: 24px;
}

.all .yellow .contact .mail.tel{
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    padding: 4% 10% 2%;
}

.all .yellow .contact .mail.email{
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    padding: 2% 10% 4%;
}

.all .yellow .contact .mail a{
    color: #7483c0;
}

.all .s .yellow .contact .mail a{
    color: #00a7b4;
}

.all .s .yellow .voice_snt{
    color: #00a7b4;
}

.all .s .yellow .flex .cont .ttl{
    color: #00a7b4;
}


@media screen and (max-width:1140px){
    .all .main .content .flex div{
        font-size: 17px;
    }
}


@media screen and (max-width:1100px){
    .all .main .content .flex div{
        font-size: 16px;
    }
    .all .main .content .cnts .cnt .img .absolute{
        top: -2%;
        right: -214%;
        padding: 4% 6%;
    }
    .all .yellow .contact .mail{
        width: 65%;
    }
}


@media screen and (max-width:1030px){
    .all .main .content .cnts .cnt .snts .ttl{
        width: 55%;
    }
}

@media screen and (max-width:1020px){
    .all .main .content .flex div{
        font-size: 16px;
    }
}

@media screen and (max-width:1010px){
    .all .main .content .flex div{
        font-size: 15.5px;
    }
}

@media screen and (max-width:980px){
    .all .main .content .flex div{
        font-size: 15px;
    }
}

@media screen and (max-width:960px){

    br.mb{
        display: block;
    }

    span.nbsp{
        display: none;
    }

    .all .switch .allow{
        width: 10%;
    }

    .all .switch .allow.allow1{
        left: 19%;
    }

    .all .switch .allow.allow2{
        right: 19%;
    }

    .all .big_ttl{
        width: 60%;
    }
    
    .all .big_subttl{
        text-align: center;
        width: 55%;
        margin: 0 auto 3.5%;
    }

    .all .big_subttl .subttl.s1{
        padding: 3% 5%;
    }

    .all .big_subttl .subttl.s2{
        padding: 3% 5%;
    }

    .all .course{
        width: 95%;
    }

    .all .course .snt{
        font-size: 23px;
        width: 70%;
        margin: 0 auto;
    }

    .all .course .items{
        width: 70%;
    }

    .recommend .ttl{
        font-size: 23px;
    }

    .recommend .snt{
        display: none;
    }

    .all .main .top_snt{
        font-size: 24px;
    }
    .all .main .top_snt span{
        font-size: 30px;
    }

    .recommend .snt.mb{
        display: block;
        width: 75%;
    }

    .all .main .ttl{
        padding: 3% 0 15% 0;

    }

    .all .main .ttl .icon{
        width: 8%;
        margin-right: 3%;
    }

    .all .main .ttl .snt{
        padding: 0;
        font-size: 5.5vw;

    }

    .all .main .ttl .subsnt{
        margin-left: 4%;
        font-size: 16px;
    }

    .all .main .content .img{
        width: 66%;
        padding-top: 0%;
        margin-top: -12%;
    }

    .all .main .content .flex{
        display: flex;
        width: 95%;
        justify-content:center;
        gap: 10px 5%;
        text-align: center;
        margin-top: 1%;
    }

    .all .main .content .flex div{
        padding: 2px 2%;
        margin-bottom: 0;
        font-size: 18px;
    }

    .all .main .content .cnts{
        width: 95%;
        margin-top: 7%;
        padding: 1% 4% 0.5%;
        border-radius: 20px;
    }

    .all .main .content .cnts .cnt{
        margin-top: 4%;
        margin-bottom: 4%;
    }

    .all .main .content .cnts .cnt .img{
        flex: 0 0 38%;
        margin-top: 2%;
    }

    .all .main .content .cnts .cnt .snts .ttl{
        width: 47%;
        font-size: 27px;
        margin-bottom: 10%;
    }

    .all .main .content .cnts .cnt .snts .snt{
        font-size: 17px;
        line-height: 1.5;
    }

    .all .main .content .cnts .cnt .img .absolute{
        top: 18%;
        right: -165%;
        padding: 4% 5%;
    }

    .all .main .content .cnts .three_point{
        width: 14%;
    }

    .all .main .content .cnts .flex2{
        display: grid;
    }

    .all .main .content .cnts .flex2 .mini_ttl .puti_ttl{
        padding: 0.8%;
        font-size: 21px;
    }

    .all .main .content .cnts .flex2 .mini_ttl .snt{
        margin-top: 2%;
        margin-bottom: 2.5%;
    }


    .all .main .ttl2 .subsnt{
        font-size: 16px;
        margin-right: 1%;
    }

    .all .yellow .uniform_ttl{
        width: 50%;
    }

    .all .yellow .contact{
        margin: 0 auto;
    }
}


@media screen and (max-width:880px){
    .all .main .content .cnts .cnt .img .absolute{
        top: 13%;
        right: -170%;
        padding: 4% 5%;
    }

    .all .main .content .cnts2 .cnt .snts .ttl{
        width: 88%;
    }

    .all .yellow .flex .cont{
        width: 100%;
        margin-bottom: 12%;
    }

    .all .yellow .flex .cont .flex{
        display: flex;
        align-items: center;
        margin-top: 5%;
        margin-bottom: 1%;
        width: 100%;
        gap: 5%;
        justify-content: left;
    }

    .all .yellow .flex .cont .img{
        margin: 0 ;
        width: 25%;
    }

    .all .yellow .flex .cont .ttl{
        margin: 0;
        text-align: left;
        font-size: 22px;
        font-weight: 500;
        color: #7483c0;
    }

    .all .yellow .flex .cont .snt{
        font-size: 16px;
        line-height: 1.7;
    }
}

@media screen and (max-width:800px){
    .all .main .content .cnts .cnt .snts .ttl{
        width: 60%;
    }
}



@media screen and (max-width:700px){
    br.mb2{
        display: block;
    }

    .all .top_snt .pc{
        display: none;
    }
    .all .top_snt .mb{
        display: block;
        width: 70%;
        margin: 0 auto;
    }

    .all .flex.lisence{
        width: 95%;
    }

    .all .main .ttl{
        padding: 3% 2.5% 15%;
    }

    .all .main .ttl .snt{
        font-size: 8.5vw;
    }

    .all .main .ttl2 .subsnt{
        font-size: 12px;
        border-radius: 15px;
        padding: 1% 2%;
    }

    .all .choose{
        font-size: 18px;
    }

    .all .choose span{
        font-size: 25px;
    }

    .all .top_snt{
        line-height: 1.5;
        font-size: 18px;
    }

    .all .main .top_snt span{
        font-size: 26px;
    }

    .all .course{
        border-radius: 15px;
    }

    .all .course .items{
        width: 95%;
    }

    .all .course .items.under{
        width: 55%;
    }

    .all .course .snt{
        font-size: 19px;
        padding: 5% 0 5%;
        margin: 0 auto;
        width: 95%;
        line-height: 1.3;
    }

    .all .item_bottom{
        font-size: 14px;
        width: 95%;
    }

    .all .big_ttl{
        margin: 5% auto 0;
        width: 60%;
    }

    .all .big_subttl{
        width: 95%;
        margin: 0 auto 7%;
        gap: 4%;
    }

    .all .big_subttl .subttl{
        font-size: 16px;
    }


    .all .big_subttl .subttl.s1,
    .all .big_subttl .subttl.s2{
        padding: 1.5% 5%;
    }

    .all .recommend{
        margin: 10% auto 8%;
    }

    .all .recommend .ttl{
        font-size: 20px;
    }

    .all .main .content .img{
        width: 95%;
    }

    .all .main .content .flex{
        display: flex;
        flex-wrap: wrap;
        width: 95%;
        justify-content:left;
        gap: 10px 5%;
        text-align: center;
        margin-top: 1%;
    }

    .all .main .content .flex div{
        padding: 3px 4%;
        font-size: 16px;
    }

    .all .main .content .cnts .sub_ttl{
        font-size: 19px;
    }

    .all .main .content .cnts .triangle{
        border-right: 15px solid transparent;
        border-left: 15px solid transparent;
        border-top: 20px solid #888888;
    }

    .all .yellow .uniform_snt{
        font-size: 18px;
    }

    .all .yellow .uniform_img{
        width: 100%;
        margin-bottom: 10%;
    }

    .all .yellow .flex{
        display: block;
        margin: 0 auto;
        width: 100%;
    }

    .all .main .ttl .icon{
        width: 11%;
    }

    .all .main .content .cnts .cnt .snts .ttl{
        margin-bottom: 3%;
        width: 80%;
        font-size: 22px;
    }

    .all .main .content .cnts2 .cnt .snts .ttl{
        width: 95%;
    }

    .all .main .content .cnts .cnt .img .absolute{
        font-size: 14px;
        top: 0%;
        padding: 4% 5%;
    }

    .all .main .content .cnts .flex2 .mini_ttl .snt{
        font-size: 16px;
    }

    .all .main .content .cnts .flex2 .mini_ttl .puti_ttl{
        font-size: 17px;
        letter-spacing: 2px;
    }

    .all .main .content .cnts .flex2 .mini_ttl .snt.two,
    .all .main .content .cnts .flex2 .mini_ttl .snt.four{
        margin-bottom: 7%;
    }

    .all .yellow .voice_snt{
        font-size: 23px;
        font-weight: 500;
    }

    .all .yellow .contact .mail{
        width: 85%;
    }
}

@media screen and (max-width:550px){
    .all .top_snt{
        margin: 5% auto;
    }

    .all .top_snt .mb{
        width: 90%;
    }

    .all .flex.lisence{
        width: 85%;
        display: block;
    }

    .all .main .content .cnts .cnt .img .absolute{
        top: 4%;
        padding: 4% 5%;
    }
    .all .main .top_snt{
        font-size: 21px;
    }

    .all .yellow .uniform_ttl{
        width: 85%;
        margin-top: 5%;
    }

    .all .yellow .contact .snt{
        font-size: 20px;
    }
}

@media screen and (max-width:520px){
    .all .main .content .cnts .cnt .img .absolute{
        top: 1%;
        padding: 4% 5%;
    }

    .all .yellow .contact .mail{
        width: 100%;
    }
}

@media screen and (max-width:480px){
    .all .main .content .cnts .cnt .img .absolute{
        top: -13%;
        padding: 4% 5%;
    }

    .all .recommend .snt.mb{
        width: 95%;
    }
}

@media screen and (max-width:450px){
    .all .main .content .cnts .cnt .img .absolute{
        top: -12%;
        font-size: 12px;
    }

    .all .main .top_snt{
        font-size: 17px;
    }

    .all .main .ttl .snt{
        font-size: 12vw;
    }

    .all .main .ttl2 .snt{
        font-size: 9vw;
    }

    .all .main .content .cnts .cnt .snts .ttl{
        font-size: 18px;
    }

    .all .main .content .cnts .cnt .snts .snt{
        font-size: 14px;
    }

    .all .main .content .cnts .sub_ttl{
        font-size: 17px;
    }

    .all .course .snt{
        font-size: 18px;
    }

    .all .yellow .flex .cont .ttl{
        font-size: 19px;
    }

    .all .yellow .classrooms.flex .classroom .snt{
        margin-bottom: 10%;
    }

    .all .yellow .classrooms.flex .classroom .snt span{
        font-size: 12px;
    }

    .all .yellow{
        padding: 3%;
    }

    .all .yellow .classrooms.flex{
        width: 95%;
        margin-bottom: 8%;
    }

    .all .yellow .classrooms.flex .classroom .snt{
        font-size: 16px;
    }

    .all .yellow .flex .cont .snt{
        text-align: left;
    }

    .all .yellow .contact .mail{
        font-size: 20px;
    }
}

@media screen and (max-width:400px){
    .all .main .content .cnts .triangle{
        border-right: 15px solid transparent;
        border-left: 15px solid transparent;
        border-top: 20px solid #888888;
    }

    .all .yellow .flex .cont .ttl{
        font-size: 18px;
    }
}

@media screen and (max-width:400px){
    .all .main .ttl2 .subsnt{
        font-size: 12px;
    }
}

@media screen and (max-width:380px){
    .all .main .ttl .icon{
        width: 11%;
    }

    .all .main .top_snt{
        font-size: 16px;
    }

    .all .yellow .uniform_snt{
        font-size: 16px;
    }

    .all .yellow .classrooms.flex .classroom .snt span{
        font-size: 11px;
    }
}




/*-------------------------------------------------*/
/*-------------------------------------------------*/
/*----------------Sライセンス用css-------------------*/
/*-------------------------------------------------*/
/*-------------------------------------------------*/




@media screen and (max-width:960px){
    .all .s .main .content.flex{
        padding: 0 2.5% 0;
    }

    .all .s .main .content .img{
        margin-top: 0%;
        width: 94.8%;
    }

    .all .yellow .classrooms.flex{
        flex-wrap: wrap;
        gap: 4% 2%;
        width: 100%;
    }

    .all .yellow .classrooms.flex .classroom{
        flex: 0 0 49%;
    }
}

@media screen and (max-width:700px){

    .all .s .main .content.flex{
        display: block;
    }

    .all .s .main .content .ttl{
        display: grid;
        grid-template-columns: 20% auto 1fr;
        grid-template-rows: auto auto;
        align-items: center;
        column-gap: 0%;
        padding: 0 2%;
    }

    .all .s .main .content .ttl .icon{
        grid-column: 1;
        grid-row: 1 / 3;
        width: 60%;
        margin: 10% auto;
    }

    .all .s .main .content .ttl .snt{
        grid-column: 2;
        grid-row: 1 / 3;
        margin: 0;
        width: 175px;
        text-align: left;
    }

    .all .s .main .content .ttl .ttl_snt{
        grid-column: 3;
        grid-row: 1;
        margin: 0;
        letter-spacing: 0px;
    }

    .all .s .main .content .ttl .subsnt{
        grid-column: 3;
        grid-row: 2;
        margin: 0 8%;
        padding: 0.5% 0%;
    }

    .all .s .main .content .ttl_m .snt{
        transform: scaleX(0.8);
        text-align: left;
        margin-left: -9%;
        text-wrap: nowrap;
    }

    .all .s .main .content .ttl_r{
        padding-bottom: 10%;
    }

    .all .s .main .content:not(.flex){
        display: flow-root;
    }

    .all .s .main .content > .img{
        width: 85%;
        margin-top: -10%;
        position: relative;
        z-index: 1;
    }

    .all .s .main .content .flex{
        width: 85%;
    }

    .all .s .main .content .cnts .cnt{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0 5%;
    }

    .all .s .main .content .cnts .cnt .snts{
        display: contents;
    }

    .all .s .main .content .cnts .cnt .snts .ttl_wrap{
        order: -1;
        flex: 0 0 100%;
        margin-bottom: 3%;
    }

    .all .s .main .content .cnts .cnt .snts .ttl{
        display: block;
        width: auto;
        margin: 0;
        font-size: 21px;
    }

    .all .s .main .content .cnts .cnt .snts .big{
        font-size: 28px;
    }

    .all .s .main .content .cnts .cnt .img{
        flex: 0 0 38%;
        width: 38%;
    }

    .all .s .main .content .cnts .cnt .snts .snt{
        flex: 1 1 0;
        min-width: 0;
    }

    .all .s .main .top_snt{
        display: flex;
        justify-content: center;
    }

    .all .s .main .top_snt span.big{
        font-size: 37px;
    }

    .all .s .main .top_snt span.snt{
        font-size: 17px;
    }
}

@media screen and (max-width:600px){
    .all .s .course .items .pc{
        display: none;
    }

    .all .s .course .items .mb{
        display: block;
    }
}
@media screen and (max-width:450px){
    .all .s .main .content .cnts .cnt .snts .ttl{
        font-size: 18px;
    }
}

.footer{
    display: none;
}

.footer.is-active{
    display: block;
}

.footer .flex{
    width: 60% !important;
    margin: 1% 0 0 auto !important;
}



.pnf_float{
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 100;

    display: flex;
    align-items: center;
    justify-content: center;
    width: 110px;
    height: 110px;
    border-radius: 50%;

    color: #fff;
    text-align: center;
    text-decoration: none;
    font-size: 13px;
    line-height: 1.5;
    font-weight: 600;
    font-family:"BackslashFix",  "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;

    border: 1px solid #fc6b8f;
    background-image: linear-gradient(90deg, #fc6b8f, #e144ab);
    box-shadow: 2px 2px #b60296;
    transition: border-color 0.25s ease;
}

.pnf_float::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background-image: linear-gradient(90deg, #fdb5c7, #fc6b8f);
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: -1;
}

@media (hover: hover) and (pointer: fine){
    .pnf_float:hover{ border-color: #fdb5c7; }
    .pnf_float:hover::before{ opacity: 1; }
}

@media screen and (max-width:550px){
    .pnf_float{
        width: 88px;
        height: 88px;
        font-size: 10px;
        right: 12px;
        bottom: 12px;
    }
}