@charset "UTF-8";

/*========================================
		タブレット
========================================*/
@media screen and (min-width: 480px) and (max-width: 959px) {}

/*========================================
		スマートフォン
========================================*/
@media screen and (max-width: 479px) {

    /* ---------- COMMON ---------- */
    body {
        width: 100% !important;
        color: #393939;
    }

    #container {
        width: 100%;
        margin: auto;
        padding-bottom: 30px;
        background: #fff;
    }

    #wrapper {
        width: 100%;
        padding: 0px 15px;
    }

    #wrappertop-sp {
        width: 100%;
    }

    div {
        background-size: contain !important;
        background-repeat: no-repeat;
        margin: auto;
    }

    img {
        display: block;
        max-width: 100% !important;
        height: auto !important;
        width
        /***/
        : auto !important;
        margin: auto;
    }

    /***** 文字装飾 *****/
    .voice h4 {
        background: url(../img/bnr-voice.png) top center no-repeat;
        height: auto;
        padding-top: 4.29%;
        background-size: cover;
        margin: 30px 0 20px;
    }

    p,
    li,
    a {
        font-size: 14px;
    }

    .bold {
        font-weight: bold;
    }

    .f20pt {
        font-size: 16px;
    }

    .f26pt {
        font-size: 20px;
    }

    .f30pt {
        font-size: 22px;
        line-height: 1.4;
    }

    .ls03 {
        letter-spacing: normal;
    }

    .ml30 {
        margin-left: 0px;
    }

    .pco {
        display: none !important;
    }

    .spo {
        display: block !important;
    }

    /* ---------- Header ---------- */
    div.line-red {
        height: 5px;
        margin-bottom: 5px;

    }

    header {
        height: auto;
    }

    header img.logo {
        width: 100%;
        float: none;
        margin-top: 0px;
        margin-left: 0px;
    }

    header div.contact {
        float: none;
        margin: auto;
        width: auto;
    }

    div#catch {
        height: auto;
        padding-top: 66.33%;
    }

    div#catch {
        background: url(../img/catch-sp.png) center center no-repeat;
        height: auto;
        padding-top: 85%;
    }

    div#catch h2 {
        margin-bottom: 0px;
    }

    h2 {
        font-size: 22px;
        margin: 30px 0 10px;

    }

    .bltbox {
        margin: 30px auto 30px;
    }

    .bltbox dt {
        margin: 28px 5px 0;
    }

    .bltbox_red dt {
        font-size: 16px;
    }

    .bltbox_red02 dt {
        font-size: 16px;
        background-position: top left;
    }

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

    .prof_box {
        padding: 25px 25px 25px;
    }

    .prof_boxheader {
        padding: 0px;
        font-size: 18px;
    }

    p.line {
        width: 100%;
    }

    .qa dt {
        font-size: 16px;
        padding-left: 50px;
    }

    .qa dd {
        font-size: 14px;
        padding-left: 50px;
    }

    #map-canvas {
        width: 100%;
        height: 200px;
    }

    /* ---------- Section ---------- */
    #sec1,
    #sec3,
    #sec4,
    #sec5,
    #sec6,
    #sec7,
    #sec8,
    #sec9,
    #sec10 {
        margin-bottom: 40px;
    }

    #sec1 .f38pt {
        font-size: 15px;
    }

    #sec3 img.btn-request,
    #sec7 img.btn-request,
    #sec11 img.btn-request {
        position: static;
        width: 100%;
        margin-top: 10px;
    }

    #sec3 .box img,
    #sec4 img,
    #sec5 img,
    #sec8 img,
    #sec9 img {
        float: none;
        margin: 0 auto 30px;
    }

    #sec3 .box {
        margin: 10px;
        padding: 20px;
    }

    #sec10 img {
        float: none;
        margin: 0px auto 20px;
    }

    /* ---------- footer ---------- */
    footer {
        width: 100%;
        min-width: 320px;
        text-align: center;
        color: #FFF;
        padding-bottom: 30px;
        overflow: hidden;
        background: #559dde;
        /* Old browsers */
    }

    footer div.inner-footer {
        width: 100%;
        margin: 0px auto 0px;
    }

    footer,
    footer p,
    footer li,
    footer a {
        font-size: 12px;
    }

    footer a {
        color: #ffffff;
    }

    footer a:hover {
        color: #ffffff;
        text-decoration: underline;
    }

    p.copyright {
        font-size: 10px;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .f_menu {
        padding: 20px 0 25px;
        text-align: center;
        color: #CCC;
        height: 110px;
        border-bottom: #D0CFCF 1px solid;
    }

    .f_menu img {
        width: 65% !important;

    }

    /*追加*/

    .syu_campaign {
        border: solid 10px #ff8e00;
        padding: 15px;
    }

    .syu_camp_titb {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .syu_camp_titb_l {
        font-size: 22px;
        margin: 0 0 10px;
        width: 100%;
    }

    .syu_camp_titb_r {
        -webkit-transform: unset;
        transform: unset;
        width: unset;
        height: unset;
        font-size: 18px;
        border-radius: 10%;
        padding: 0 15px;
        line-height: 1.68;
    }
    
    .syu_camp_txt {
        font-size: 16px;
    }
    
    .syu_camp_limit {
        font-size: 15px;
        padding: 5px 0;
    }

    .annotation_txt {
    text-align: center;
    font-weight: bold;
}


}
