
@media screen and (min-width: 320px) and (max-width: 768px) {
    .c2-l>div:first-child, .c2-l>div:last-child {
    width: 100%;
}
.c2>div {
    width: 100%!important;
    }
    .f_flex div img {
    width: 70%;
    margin-bottom: 15px;
}
img.flrpic.pb10.img-responsive {
    width: 100%!important;
    margin: 0!important;
}
.pl20 {
    padding-left: 0px !important;
}
.sp_t20 {padding-top: 20px !important;}
.sp_pb10 {
    padding-bottom: 10px;
}
ol li {
    padding: 19px 0 19px 40px;
}
.border {
    border: solid 3px #ffd797;
}
.pt15 {
    padding-top: 8px !important;
}
.pt25 {
    padding-top: 10px !important;
}
.p10 {
    padding: 5px !important;
}
.button-top input.present {
    width: 100%;
    margin: 0 auto !important;
    margin-bottom: 10px!important;
    display: block;
    height: 51px;
    padding: 15px;
    font-size: 16px;
}
hr {
    margin-top: 15px;
    margin-bottom: 15px;
}
.arrow{
    width: 50px;
}

.pt20 {
    padding-top: 10px !important;
}

ul.check01 li, ul.check02 li {
        padding: 15px 0 15px 41px;
    background-size: 25px;
}
.pb40 {
    padding-bottom: 20px !important;
}
.pb50 {
    padding-bottom: 25px !important;
}
.pb10 {
    padding-bottom: 5px !important;
}
.pr30 {
    padding-right: 15px !important;
}
.mt25 {
    margin-top: 10px !important;
}
.pl30 {
    padding-left: 15px !important;
}
.pb25 {
    padding-bottom: 18px !important;
}
.button-simple, .button-top .button-simple {
    width: 100% !important;
    padding: 25px 0;
    line-height: 1.4;
    font-size: 14px;
    margin: auto!important;
}

button {
    width: 100%;
}
.p20 {
    padding: 14px !important;
}

    .mt20 {
    margin-top: 10px !important;
}

.pt30 {
    padding-top: 15px !important;
}

    body {font-size: 16px;}

    .wrap {
        width: auto;
        margin: auto;
    }
    .p40 {
    padding: 20px !important;
}

    .w50,
    .w70,
    .w80 {
        width: 100%;
    }

    .footer {
        padding: 10px;
    }
    .parallax {
        height: 250px;
        background-size: contain;
    }
    .design_title01,
    .design_title02,
    .design_title03,
    .design_title04,
    .design_title05,
    .design_title06,
    .design_title07,
    .design_title08,
    .design_title09,
    .design_title10 {

        font-size: 1.3em;
        padding: 15px;
    }
    .design_title07:before,
    .design_title07:after,
    .design_title10:before,
    .design_title10:after{
    height: 2px;
    }

    .bg_01 {
    background-size: 50vw;
}

.pt45 {
    padding-top: 15px !important;
}

    section{overflow: hidden;}
    br.sp_br {display: inline !important;}

    .p30 {
        padding: 10px !important;
    }
    .pb20 {
        padding-bottom: 10px !important;
    }
    .pb30 {
        padding-bottom: 15px !important;
    }
    .pt40 {
        padding-top: 30px !important;
    }
    .pt60 {
        padding-top: 40px !important;
    }
    .pt50 {
    padding-top: 35px !important;
}
    .pb60 {
        padding-bottom: 40px !important;
    }

    .mt30 {
        margin-top: 15px !important;
    }
    .mt40 {
        margin-top: 20px !important;
    }
    .mt60 {
        margin-top: 30px !important;
    }
    .mb30 {
        margin-bottom: 20px !important;
    }
    .mb40 {
        margin-bottom: 20px !important;
    }
    .mb50 {
        margin-bottom: 20px !important;
    }
    .mb60 {
        margin-bottom: 30px !important;
    }
    .mb80 {
        margin-bottom: 40px !important;
    }
    
input.present {
    width: 100%;
    margin: 0 auto !important;
    margin-bottom: 10px!important;
    display: block;
    height: 53px;
    padding: 15px;
    font-size: 16px;
}

form { padding: 10px 0; width: 96%; }
.c3>div {
    width: 100%;
    margin-bottom: 3%;
}

.design_title03 {
    width: 220px;
    top: 20px;
}
.t60, .t70 {
    font-size: 45px;
}
.mr30 {
    margin-right: 10px !important;
}
.ml30 {
    margin-left: 10px !important;
}
}
@media screen and (min-width: 320px) and (max-width: 768px) {
    img.fllpic,
    img.flrpic {
            width: 50%!important;
    margin: 6px 25% 14px !important;
    }
    img.flrpic.picflr,
    img.fllpic.picflr {
        width: 100%;
        margin: 0 0 9% 0 !important;
    }
    .pl5 {
    padding-left: 0px !important;
    }
    .ml20 {
        margin-left: 0px !important;
    }
    .pl15 .ml20  {
        margin-bottom: 20px;
    }

    .dblock_sp {
        display: block !important
    }

    .dnone_sp { display: none;}
    .dnone_pc { display: block;}

    .overflow_h_pc { overflow: inherit;}
    .inner-wrap {
        padding: 10px;
    }
    .ptb30 {
           padding-top: 20px;
    padding-bottom: 20px;
    }
    .design_title01,
/*    .design_title02,
*/    .design_title03,
    .design_title04,
    .design_title05,
    .design_title06,
    .design_title07,
    .design_title08,
    .design_title09,
    .design_title10 {
        font-size: 4.8vw;
        padding: 15px 0;
    }
    .t14 {
        font-size: 3.0vw
    }
    .t16 {
        font-size: 16px
    }
    .t18 {
        font-size: 4.0vw
    }
    .t20 {
        font-size: 4.3vw
    }
    .t22 {
        font-size: 4.6vw
    }
    .t24, .t26, .t28 {
        font-size: 4.9vw;
    }
    .t30 {
        font-size: 5.0vw;
    }
    .t32, .t34, .t36, .t38 {
        font-size: 5.2vw;
    }
    .t40, .t42{
        font-size: 5.4vw;
    }
    .t44 {
    font-size: 6vw;
}
.w90 {
    width: 96% !important;
}

    .t48{
        font-size: 5vw;
    }

    .t50 {
        font-size: 8vw;
    }
    .t54 {
        font-size: 5vw;
    }
    .t80 {
    font-size: 7vw;
}
    .footer {
        float: left!important;
        line-height: 1em;
    }
    .t12 {
    font-size: 10px;
}
    .parallax {
        height: 150px;
        background-size: contain;
    }

    .ptb60 {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .mt5 {
    margin-top: 0px !important;
}

.mb20 {
    margin-bottom: 10px !important;
}

.mt50 {
    margin-top: 30px !important;
}

.sp_pt10 {padding-top: 10px;}

/*-------------------------------------------*/
/*  Footer
/*-------------------------------------------*/
/*.footer div:first-child { margin-bottom: 10px; }*/

/*-------------------------------------------*/
/*  Page-top
/*-------------------------------------------*/
#page-top a {
    text-decoration: none;
    width: 50px;
    padding: 10px 0;
    text-align: center;
    display: block;
    border-radius: 0px;
}

#page-top {
    position: fixed;
    bottom: 0px;
    right: 0px;
    font-size: 67%;
    z-index: 9;
}

.signiture { 
    width: 120px;
 }

}
@media screen and (max-width: 960px) {
    .wrap {
        width: 96%;
    }
}
@media screen and (min-width: 961px) and (max-width: 1080px) {
    .wrap {
        width: 980px;
    }
}