
.school_title h1 img{
    width: 100%;
}
.school_title h2{
    padding: 20px 0;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: bold;
    color: #0e397f;
}

.sc_box{
    margin-top: 60px;
    border-radius: 10px;
}

.sc_box h1{
    margin-bottom: 20px;
    padding-bottom: 20px;
    position: relative;
    text-align:center;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: bold;
    font-size: 1.6rem;
    color: #333;
}
.sc_box h1::before{
    position: absolute;
    bottom: 10px;
    left: 0;
    width: 100%;
    height: 1rem;
    content: "";
    background-image: repeating-linear-gradient(-45deg, #ffffff, #ffffff 5px, transparent 5px, transparent 10px);
    z-index: -1;
}


.course{
    margin-bottom: 20px;
    padding: 20px;
    border-radius: 10px;
    background: #fff;
}
.ss_course{
    margin-bottom: 10px;
    padding: 10px 0;
    border-radius: 6px;
    width: 100%;
    background: #333;
    color: #efefef;
    text-align: center;
    font-size: 1rem;
}
.ss_course .number{padding-left: 5px; font-size: 2rem;font-weight: 900;}
.ss_day .week{
    padding-top: 5px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: bold;
    font-size: 1.5rem;}
.ss_day .start{padding-top: 10px;font-size: 1.2rem;}
.ss_day .sc{padding-top: 5px;font-size: 0.85rem;font-weight: normal;line-height: 1rem;}
.ss_time{margin-top: 10px;}
.meridian{margin-right: 10px;padding: 5px 10px;border-radius: 3px;color: #fff;font-size: 0.75rem;}
.am{background: #1D5BC7;}
.pm{background: #F18D0B;}
.times span{font-size: 1.25rem;font-weight: 900;}
.times{font-size: 1rem;}


/**/

.lesson_price{margin: 100px 0;}
.lesson_price p{font-weight: bold;}
.lp_caption{
    margin-bottom: 20px;padding: 10px 30px;position: relative;height: 60px;
    background-color: #2561a4;
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 10px, #0e397f 10px, #0e397f 20px);
    color: #fff;text-align: center;line-height: 1.25rem;}
.lp_caption::before,.lp_caption::after{display: block;content: "";box-sizing: border-box;width: 60px;height: 100%;position: absolute;}
.lp_caption::before{top:0;right: 0;border-style: solid;border-width: 30px 15px 30px 0;border-color: transparent #EFEFEF transparent transparent;}
.lp_caption::after{top:0;left: 0;border-style: solid;border-width: 30px 0 30px 15px;border-color: transparent transparent transparent #EFEFEF;}
.lesson_price > div{justify-content: center;align-items: center;}
.lp_person{margin-right: 20px;padding: 10px;font-size: 1rem;text-align: center;color: #EFEFEF;background: #0e397f;border-radius: 50%;}
.lp_price{color: #0e397f;}
.lp_price span{font-weight:bold;}


/*レッスンスケジュール*/
.sc_contents{
    margin-bottom: 20px;
    background: #fff;
    border-radius: 10px;
}
.sc_contents h2{
    padding-bottom: 20px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: bold;
}
.sc_contents h2 span.sc_week{
    display: inline-block;
    font-weight: bold;
}
.sc_contents h2 span.sc_title{
    background:  linear-gradient(transparent 60%,#c6e0f4 60%);
    font-weight: bold;
}

.sc_contents h5{
    padding-bottom: 10px;}

.sc_contents ul li{position: relative;line-height: 1.25rem;font-size: 0.85rem;}
.sc_contents ul li::before{position: absolute;top:0;left: -1.25rem;content: "▪";font-size: 0.5rem;transform: scale(2,2) rotate(45deg);}


.sb_shop{
    margin-top: 20px;
    text-align: center;
}
.sb_shop h2{padding: 5px 10px;font-weight: bold;color: #fff;}
.sb_shop p{padding-top: 10px;}
.shop_tell{font-size: 1.5rem;font-weight: 900;}
.shop_tell span{font-size: 2.5rem;font-weight: 900;color: #0e397f;}

.sb_shop button{display: block;position: absolute;bottom: 5px;right: 0;background: #272727;border: #272727 1px solid;border-radius: 15px; transition: .3s;}
.sb_shop button a{padding: 0 5px;color: #EFEFEF;}

.yoyaku_button{text-align: center;margin: 40px 0;font-weight: bold;}
.yoyaku_button a{display: block; background: #0e397f; color: #fff; border-radius: 5px; padding: 20px;}
.yoyaku_button a:hover{transform: translateY(-5px);color: #fff;}

.sc_caution{
    padding-top: 50px;
    font-size: 14px;
    line-height: 1.25em;
}


.school_img{
    padding-top: 50px;
}
.school_img img{
    width: 100%;
}

@media screen and (min-width: 1024px){
    .flex{display: flex;}
    .course{
        width: calc((100% - 20px) / 3);
        margin-right: 10px;}
    .box-all{
        width: 100%!important;
    }
    .course:nth-of-type(3n){margin-right: 0;}
    
    .school_title{text-align: center;}
    .school_title h2{font-size: 28px;}
    .school_title p{font-size: 16px;line-height: 24px;}
    
    .lp_person{
        padding: 30px 0;
        width: 100px;
        height: 100px;
        box-sizing: border-box;
        line-height: 1.2rem;}
    .lp_caption{
        padding: 20px 0;
    }
    .lp_price{font-size: 50px;}
    .lp_price span{font-size: 100px;}
    
    .shop_tell span{
        font-size: 60px;
    }
    
    .sc_contents{padding: 20px 40px;}
    .sc_contents h2{font-size: 24px;}
    .sc_contents h2 span.sc_week{width: 100px;}
    .sc_contents h5{padding-left: 100px;font-size: 18px;}
    .sc_contents ul{padding-left: 120px;}
}

@media screen and (max-width: 1023px){
    .school_title h2{font-size: 1.5rem;line-height: 2rem;}
    .school_title p{font-size: 1rem;line-height: 1.5rem;}
    .school_title p br{display: none;}
    .ss_time,.lesson_price .flex{display: flex;}
    
    .lp_price{font-size: 2rem;}
    .lp_price span{font-size: 4rem;}
    
    .sc_contents{padding: 20px}
    .sc_contents h2{font-size: 1.5rem;}
    .sc_contents h2 span.sc_week{padding-right: 10px;}
    .sc_contents h5{font-size: 1.25rem;}
    .sc_contents ul{padding-left: 20px;}
}