.ec-secHeading__ja{
    font-size: 28px!important;
    font-weight: bold!important;
    margin: 0 20px 0;
    letter-spacing:0!important;
    color: #000;
}
.calendar{
    background-color: #fff!important;
    padding: 10px 0 30px;
    margin-bottom: 20px;
    max-width: 240px;

}
.ec-secHeading.border{
    position: relative;
    border: none !important;
}

.ec-secHeading.border::before{
    position: absolute;
    background-color: #333;
    border-radius: 1em;
    content: "";
    left: 3%;
    width: 5px;
    height: 36px;
    
}

.ec-calendar{
    margin: 0 10px;
    font-size: 14px;
}
.ec-calendar__month{
    margin: 0;
}
.ec-secHeading{
    margin: 20px 0;
}
.ec-sideBannerRole__lines {
    height: 1px;
    background: #ddd;
    margin: 10px ;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
    .ec-secHeading .ec-secHeading__ja {
        margin: 0px 20px 0 0;
    }
}
/* iPad用レスポンシブ対応 */
@media screen and (min-width: 820px) and (max-width: 1024px) {
    .calendar {
        max-width: 200px !important;
        padding: 8px 0 20px;
    }
    
    .ec-calendar {
        margin: 0 8px;
        font-size: 12px;
    }
    
    .ec-calendar__month {
        width: 100%;
        font-size: 12px;
    }
    
    .ec-calendar__month th,
    .ec-calendar__month td {
        padding: 2px 1px;
        font-size: 11px;
    }
    
    .ec-secHeading .ec-secHeading__ja {
        font-size: 20px ;
        margin: 0 15px 0;
    }
    
    .ec-secHeading.border::before {
        left: 5%;
        width: 4px;
        height: 28px;
    }
  
}

/* スマートフォン用レスポンシブ対応 */
@media screen and (max-width: 820px) {
    .calendar {
        max-width: 100%;
        margin: 0 auto;
    }
    
    .ec-calendar {
        margin: 0 5px;
        font-size: 14px;
    }
    
    .ec-secHeading .ec-secHeading__ja {
        margin: 0 0 0 20px;
        font-size: 28px;
    }
    /* .calendar{
        margin: 0 0 30px;
    } */
}


@media screen and (min-width: 768px) and (max-width: 820px){
        .ec-secHeading.border::before{
            left:4%;
        }
        .ec-calendar__month{
            margin: 0 20px;
        }
         .ec-calendar{
            padding: 0 30px;
            font-size: 20px;
         }
         .ec-secHeading .ec-secHeading__ja {
            margin: 0px 50px 0;
            font-size: 28px;
        }
        .ec-sideBannerRole{
            max-width: 100%;
        }
        html body div.ec-layoutRole div.ec-role{
            padding: 0 30px;
            margin-bottom: 30px;
        }
        
    }
    @media screen and (min-width: 821px) and (max-width: 1024px){
        .ec-secHeading .ec-secHeading__ja{
            font-size: 20px!important;
        }
    }
    @media (max-width: 480px) {
        .ec-role.cal {
            padding: 0 30px!important;
            margin: 0 0 30px 0!important;
        }
    }