@charset "utf-8";
@media screen and (max-width: 960px) {
    .top_mv_txt{
        width: 23%;
        padding: 0 2%;
    }
    h3{
        margin-right: 1%;  
    }
    .about dl,.service dl,.plan_intro{
        width: 45%;
        padding: 0 1%;
    }    
    .section_img,.plan_detail{
        width: 50%;
    }
    .section_txt{
        font-size: 14px;
        width: 100%;
    }
}
@media screen and (max-width: 768px) {
    .top_mv{
        display: block;
        margin-top: 0;
        height: auto;
    }
    .bg-slider {
        width: 100%;
        height: 90vh;
    }
    .top_mv_txt{
        width: 100%;
        height: 500px;
        padding: 10% 0;
        text-align: center;
    }
    .top_mv_txt .bg{
        top: 0;
        left: 0;
        height: 100%;
        background: linear-gradient(to bottom, #EFEFEF, #fff);
    }
    /*============
    main
    =============*/
    section{
        flex-direction: column-reverse;
        margin-top: 0%;
    }
    .section_img{
        order: 2;
    }
    h3{
        order: 1;
        width: 100%;
        writing-mode: horizontal-tb;
        margin: 10% auto 0;
        padding: 0 5%;
        text-align: center;
    }
    h3::before{
    display: none;
    }
    .about dl,.service dl,.plan_intro{
        width: 100%;
        margin: 0 auto;
        padding: 0 5%;
        text-align: center;
    }
    .about dt,.service dt,.plan .plan_detail{
        margin-top: 2%;
    }
    .section_txt{
        text-align: left;
    }
    .section_img,.plan_detail{
        padding-left: 0;
        width: 100%;
    }
    .about .section_img{
        padding: 0 2%;
    }
    section.service{
        margin-top: 20%;
    }
    .service .section_img img:last-child{
        top: -15%;
        right: 0;
    }
    section.plan{
        margin-top: 0;
    }
    .plan_detail{
        padding: 0 5%;
        text-align: center;
    }
    
}
@media screen and (max-width: 428px) {
    .button {
        margin-top: 10%;
    }
    .btn {
        font-size: 14px;
    }
    .btn::after {
        width: 8px;
        height: 8px;
    }
    .bg-slider {
        height: 75vh;
    }
    .top_mv_txt{
        height: 400px;
        padding: 10% 0;
    }
    h3{
        margin: 15% auto 0;
    }
    .section_txt{
        margin-top: 10%;
    }
    section.service {
        margin-top: 30%;
    }
    .plan_detail dl br{
        display: block;
    }
    .button{
        text-align: center;
    }
    .service .section_img img:first-child {
        width: 60%;
    }

}
