@charset 'utf-8';

body.lp_kensetsu ._red {
    margin: 0 1px;
    padding: 1px 6px 2px;
    font-weight: bold;
    color: #fff;
    background: #D00606;
}

body.lp_kensetsu ._orange {color: #D97807;}
body.lp_kensetsu ._blue {color: #00A5B4;}

body.lp_kensetsu ._line {
    color: #D97807;
    background: linear-gradient(transparent 55%, #F5F5BB 55%, #F5F5BB 95%, transparent 95%);
}
body.lp_kensetsu ._line.__red {color: #D00606;}

body.lp_kensetsu {padding-top: 0!important;}
body.lp_kensetsu #comhead {padding-top: 0;}
body.lp_kensetsu header {
    position: relative;
    box-sizing: border-box;
}

body.lp_kensetsu .inline {display: inline-block;}

body.lp_kensetsu .fw_bold {font-weight: bold;}
body.lp_kensetsu .fw_normal {font-weight: normal;}

/* pc */

@media screen and (min-width: 641px) {

    body.lp_kensetsu {
        font-size: 1.6rem;
    }

    body.lp_kensetsu p {font-size: inherit;}

    body.lp_kensetsu .inner {
        width: 1080px;
        margin-left: auto;
        margin-right: auto;
    }

    body.lp_kensetsu header {padding-bottom: 12px;}

    /* kv */

    .lp_kv {
        position: relative;
        background: #A2D2E4;
        text-align: center;
        overflow: hidden;
    }

    .lp_kv .img {
        position: relative;
        width: 1280px;
        left: calc(50% - 640px);
    }

    .lp_kv_txt_area {
        position: absolute;
        top: 353px;
        left: calc(50% - 540px);
        font-size: 2rem;
        text-align: left;
    }
    .lp_kv_txt_area .intxt {
        line-height: 1.4;
        font-size: 2.8rem;
        font-weight: 900;
        text-shadow: 0 0 10px #fff;
    }
    .lp_kv_txt_area ._red {font-size: 1.8rem;}

    .lp_kv .lp_cv_box {
        position: absolute;
        top: 468px;
        left: calc(50% - 540px);
    }

    /* cv */

    .lp_cv_box {
        width: 1080px;
        margin-left: auto;
        margin-right: auto;
        border-radius: 20px;
        overflow: hidden;
        text-align: center;
    }
    .lp_cv_box .tit_area {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 14px 0;
        color: #fff;
        background: #222;
    }
    .lp_cv_box .tit_area .area {
        margin-right: 10px;
        padding: 2px 24px 4px;
        border-radius: 20px;
        line-height: 1.5;
        font-size: 2.3rem;
        font-weight: bold;
        color: #fff;
        background: #DE8217;
    }
    .lp_cv_box .tit_area .tit {
        letter-spacing: 0.05em;
        line-height: 1.5;
        font-size: 3rem;
        font-weight: 900;
    }
    .lp_cv_box .txt_area {
        display: flex;
        justify-content: space-between;
        padding: 30px 40px;
        background: #fff;
    }
    .lp_cv_box .txt_area .tel_area {
        width: 460px;
    }
    .lp_cv_box .txt_area .tel_area .intit {
        padding: 1px 0;
        margin: 0 0 14px;
        line-height: 1.5;
        font-size: 2rem;
        font-weight: bold;
        border: 2px solid #D97807;
    }
    .lp_tel {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        text-align: left;
    }
    .lp_tel a {
        display: inline-block;
        padding: 0 7px 0 31px;
        line-height: 1;
        font-size: 4.6rem;
        font-weight: 900;
        color: #333;
        background: url(../img/lp_kensetsu/ico_tel.svg) 0 55% no-repeat;
        text-decoration: none;
    }
    .lp_tel .time {
        display: inline-block;
        line-height: 1.4;
        font-size: 1.4rem;
        text-align: center;
    }
    .lp_cv_box .txt_area .cv_btn a {
        display: block;
        position: relative;
        width: 510px;
        padding: 40px 10px 20px;
        border-radius: 10px;
        box-sizing: border-box;
        line-height: 1.5;
        font-size: 3rem;
        font-weight: bold;
        color: #fff;
        background: #DE8217;
        border: 3px solid #F29C38;
        text-decoration: none;
    }
    .lp_cv_box .txt_area .cv_btn a .h24 {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        padding: 2px 18px;
        border-radius: 0 0 15px 15px;
        font-size: 20px;
        color: #333;
        background: #F5F5BB;
    }
    .lp_cv_box .txt_area .cv_btn a .intxt {
        padding: 0 0 0 46px;
        background: url(../img/lp_kensetsu/ico_mail_white.svg) 0 55% no-repeat;
    }

    /* お悩み */

    .lp_worries_area .worries_top {
        padding: 50px 0 0;
        color: #fff;
        background: url(../img/lp_kensetsu/bg_worries.svg) 50% 0 / cover no-repeat;
        text-align: center;
    }
    .lp_worries_area .worries_top .tit {
        margin: 0 0 30px;
        letter-spacing: .05em;
        line-height: 1.5;
        font-size: 3.6rem;
        font-weight: 500;
    }
    .lp_worries_area .worries_top .tit .txtl {
        padding-bottom: 8px;
        font-weight: 900;
        background: url(../img/lp_kensetsu/tit_worries.png) 0 100% / auto 4px repeat-x;
    }
    .lp_worries_area .worries_top .img {
        position: relative;
        margin: 0 0 -97px;
        z-index: 1;
    }
    .lp_worries_area .ans {
        padding: 130px 0 80px;
        line-height: 1.7;
        font-size: 3rem;
        font-weight: 500;
        background: url(../img/lp_kensetsu/bg_worries_ans.png) 50% 50% / cover no-repeat;
        text-align: center;
    }
    .lp_worries_area .ans .txtl {
        font-size: 3.6rem;
        font-weight: 900;
    }

    /* 見出し */

    .lp_tit_area {
        padding: 55px 0;
        color: #fff;
        background: #00A5B4;
        text-align: center;
    }
    .lp_tit_area .tit {
        width: 1080px;
        margin-left: auto;
        margin-right: auto;
        letter-spacing: 0.05em;
        line-height: 1.3;
        font-size: 4rem;
        font-weight: 900;
    }
    .lp_tit_area .txtm {font-size: 2rem;}
    .lp_tit_area .txts {font-size: 1.4rem;}

    .lp_tit_area .fw_medium {font-weight: 500;}

    /* 選ばれる理由 */

    .lp_point_area {
        padding: 0 0 80px;
        background: #EFEFEF;
    }

    .lp_point_area .lp_tit_area {
        margin-bottom: -50px;
        padding-bottom: 100px;
    }

    .lp_tit_area .incatch .in {
        display: inline-block;
        position: relative;
        padding: 0 30px;
        margin: 0 0 5px;
        font-size: 2.6rem;
        font-weight: bold;
        color: #F5F5BB;
    }
    .lp_tit_area .incatch .in::before,
    .lp_tit_area .incatch .in::after {
        content: "";
        position: absolute;
        bottom: 0.4em;
        left: 0;
        width: 21px;
        height: 21px;
        background: url(../img/lp_kensetsu/tit_point.svg) 50% 50% / contain no-repeat;
    }
    .lp_tit_area .incatch .in::after {
        left: auto;
        right: 0;
        transform: scaleX(-1);
    }
    .lp_tit_area .num {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        width: 60px;
        height: 60px;
        padding: 0 0 2px 2px;
        margin: 0 5px;
        box-sizing: border-box;
        border-radius: 50%;
        background: #F29C38;
    }

    .lp_point_area .point_box {
        position: relative;
        width: 1080px;
        margin-left: auto;
        margin-right: auto;
        border-radius: 20px;
        background: #fff;
        z-index: 1;
        box-shadow: 0 20px 20px 0 rgba(68, 134, 141, .1);
    }
    .lp_point_area .point_box + .point_box {margin-top: 40px;}
    .lp_point_area .point_box .tit_area {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        position: relative;
        padding: 20px 0 20px 83px;
        border-radius: 20px 20px 0 0;
        letter-spacing: 0.05em;
        font-size: 1.8rem;
        font-weight: bold;
        background: #D8EFF0;
    }
    .lp_point_area .point_box .tit_area .num {
        display: flex;
        align-items: center;
        position: absolute;
        top: 20px;
        left: -20px;
        padding: 3px 21px 4px 9px;
        letter-spacing: 0;
        line-height: 1.5;
        font-size: 1.6rem;
        color: #fff;
        background: #F29C38;
    }
    .lp_point_area .point_box .tit_area .num span {
        margin-left: 5px;
        font-size: 2.6rem;
    }
    .lp_point_area .point_box .tit_area .num::before {
        content: "";
        position: absolute;
        left: 0;
        top: 99.9%;
        border-top: 6px solid #DE8217;
        border-right: 10px solid #DE8217;
        border-bottom: 6px solid transparent;
        border-left: 10px solid transparent;
    }
    .lp_point_area .point_box .tit_area .num::after {
        content: "";
        position: absolute;
        right: 0;
        top: 0;
        border-right: 12px solid #D8EFF0;
        border-top: 23px solid transparent;
        border-bottom: 23px solid transparent;
    }
    .lp_point_area .point_box .tit_area .txtl {
        margin: 0 10px;
        line-height: 1.7;
        font-size: 3rem;
        font-weight: 900;
    }

    .lp_point_area .point_box .txt_area {
        display: flex;
        justify-content: space-between;
        padding: 25px 40px 40px;
    }
    .lp_point_area .point_box:nth-child(even) .txt_area {flex-direction: row-reverse;}

    .lp_point_area .point_box .txt_area .img {margin: 0 30px 0 -80px;}

    .lp_point_area .point_box:nth-child(even) .txt_area .img {margin: 0 -80px 0 30px;}

    /* お客様の声 */

    .lp_voice_area {
        padding: 0 0 100px;
    }
    .lp_voice_area .lp_tit_area {
        padding-bottom: 45px;
        margin-bottom: 60px;
    }
    .lp_voice_area .lp_tit_area .tit .in {
        display: inline-flex;
        align-items: center;
        min-height: 100px;
        padding: 0 0 0 132px;
        margin: 0 0 10px;
        background: url(../img/lp_kensetsu/tit_voice.png) 0 50% / 132px auto no-repeat;
    }
    @media all and (-ms-high-contrast: none) {.lp_voice_area .lp_tit_area .tit .in {height: 100px;}}

    .lp_voice_area .lp_tit_area .txtm ._red {
        margin: 0 5px;
        font-size: 2.2rem;
    }

    .lp_voice_area .voice_list {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 1080px;
        margin: 0 auto -30px;
    }
    .lp_voice_area .voice_list::before,
    .lp_voice_area .voice_list::after {
        content: "";
        display: block;
        order: 1;
        width: 252px;
    }
    .lp_voice_area .voice_list ._col {
        display: flex;
        width: 340px;
        margin: 0 0 30px;
    }
    .lp_voice_area .voice_list ._col a {
        display: block;
        position: relative;
        width: 100%;
        padding: 20px;
        box-sizing: border-box;
        border-radius: 10px;
        color: #333;
        background: #EBF8F9;
        border: 2px solid #00A5B4;
        box-shadow: 0 20px 20px 0 rgba(68, 134, 141, .1);
        text-decoration: none;
    }
    .lp_voice_area .voice_list ._col a::before {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        width: 34px;
        height: 34px;
        border-radius: 10px 0 6px 0;
        background: url(../img/lp_kensetsu/ico_zoom.svg) 60% 60% no-repeat #00A5B4;
    }
    .lp_voice_area .voice_list ._col .img {
        display: block;
        width: 212px;
        margin: 0 auto 15px;
        text-align: center;
        box-shadow: 0 0 10px 0 rgba(0,0,0,.1);
    }
    .lp_voice_area .voice_list ._col .img img {
        width: 100%;
        height: 260px;
        object-fit: cover;
    }
    .lp_voice_area .voice_list ._col .txt_area {
        display: flex;
    }
    .lp_voice_area .voice_list ._col .txt_area .txt {
        display: flex;
        flex-wrap: wrap;
    }
    .lp_voice_area .voice_list ._col .txt_area .txt .type {
        margin: 0 4px 2px 0;
        padding: 0 5px;
        font-size: 1.3rem;
        font-weight: 500;
        color: #fff;
        background: #333;
    }
    .lp_voice_area .voice_list ._col .txt_area .txt .tit {
        width: 100%;
        line-height: 1.4;
        font-weight: bold;
    }
    .lp_voice_area .voice_list ._col .txt_area .ico {
        margin-left: 10px;
    }
    .lp_voice_area .voice_list ._col .txt_area .ico img {
        width: 60px;
        height: 60px;
        border-radius: 50%;
        object-fit: cover;
    }

    /* お客様の声 モーダル */

    .voice_modal {
        width: 1040px;
        margin: 20px auto;
        padding: 40px 45px 50px;
        box-sizing: border-box;
        border-radius: 20px;
        background: #EBF8F9;
        box-shadow: 0 20px 20px 0 rgba(68, 134, 141, .1);
    }
    .voice_modal_head {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin: 20px 0 0;
    }
    .voice_modal table.tbr {
        background: #fff;
    }
    .voice_modal table.tbr th {
        width: 45px;
        font-weight: bold;
        color: #fff;
        background: #333;
    }
    .voice_modal table.tbr th,
    .voice_modal table.tbr td {
        padding: 10px 15px;
    }
    .voice_modal_head .img {
        flex-shrink: 0;
        max-width: 310px;
        margin-left: 40px;
    }
    .voice_modal img {
                display: block;
        max-width: 100%;
        height: auto;
                box-shadow: 0 0 10px 0 rgba(0,0,0,.1);
    }
    .voice_modal_cont {
        display: flex;
        justify-content: space-between;
    }
    .voice_modal_cont .img {
        width: 536px;
    }
    .voice_modal_faq {
        width: 384px;
        counter-reset: voice_modal_faq 0;
    }
    .voice_modal_faq dl {
        padding: 20px;
        border-radius: 10px;
        background: #fff;
    }
    .voice_modal_faq dl + dl {margin-top: 5px;}
    .voice_modal_faq dl dt {
        position: relative;
        margin-bottom: 11px;
        padding: 0 0 11px 34px;
        font-weight: bold;
        border-bottom: 1px solid #EAEAEA;
    }
    .voice_modal_faq dl dt::before {
        counter-increment: voice_modal_faq 1;
        content: counter(voice_modal_faq);
        display: block;
        position: absolute;
        top: 0.2em;
        left: 0;
        width: 24px;
        height: 24px;
        margin: 0 10px 0 0;
        border-radius: 50%;
        font-size: 1.4rem;
        font-weight: 900;
        color: #fff;
        background: #00A5B4;
        text-align: center;
    }

    .mfp-container .mfp-close {
        right: calc(50% - 560px);
        width: 60px;
        height: 60px;
        border-radius: 50%;
        background: #00A5B4;
        opacity: 1;
        overflow: hidden;
        text-indent: 100%;
        white-space: nowrap;
    }
    .mfp-close::before,
    .mfp-close::after {
        content: "";
        position: absolute;
        left: calc(50% - 15px);
        top: calc(50% - 3px);
        width: 30px;
        height: 6px;
        border-radius: 3px;
        background: #fff;
        transform: rotate(45deg);
    }
    .mfp-close::after {transform: rotate(-45deg);}

    /* cv */

    .mid_cv_area {
        padding: 100px 0;
        background: url(../img/lp_kensetsu/bg_cv.jpg) 50% 50% / cover no-repeat;
    }

    /* 当社社長よりご挨拶 */

    .lp_message_area {
        position: relative;
        width: 1080px;
        margin: 100px auto;
        padding: 45px 50px 50px 70px;
        box-sizing: border-box;
        border-radius: 20px;
        z-index: 1;
        background: linear-gradient(135deg, #ABDDE2 56px, #F5F5F5 56px, #F5F5F5 calc(100% - 56px), #ABDDE2 calc(100% - 56px));
    }
    .lp_message_area::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 20px;
        background: linear-gradient(-135deg, #ABDDE2 56px, transparent 56px, transparent calc(100% - 56px), #ABDDE2 calc(100% - 56px));
        z-index: -1;
        pointer-events: none;
    }

    .lp_message_area .tit {
        margin: 0 0 30px;
        font-size: 4rem;
        font-weight: 900;
        text-align: center;
    }

    .lp_message_area .img {
        float: right;
        margin: 0 -90px 40px 50px;
    }
    .lp_message_area .img .inimg {margin-bottom: 15px;}
    .lp_message_area .img .name {
        font-size: 1.8rem;
        font-weight: bold;
    }

    /* よくある質問 */

    .lp_faq_area {
        padding: 0 0 80px;
        background: #D8EFF0;
    }
    .lp_faq_area .lp_tit_area {margin-bottom: 50px;}
    .lp_faq_area .lp_faq {
        width: 1080px;
        margin: 0 auto 20px;
        border-radius: 20px;
        box-shadow: 0 20px 20px 0 rgba(68, 134, 141, .1);
    }
    .lp_faq_area .lp_faq_q,
    .lp_faq_area .lp_faq_a {
        position: relative;
        padding: 15px 30px 15px 80px;
    }
    .lp_faq_area .lp_faq_q {
        border-radius: 20px 20px 0 0;
        font-size: 2.2rem;
        font-weight: bold;
        background: #F5F5F5;
    }
    .lp_faq_area .lp_faq_a {
        padding-bottom: 25px;
        border-radius: 0 0 20px 20px;
        background: #fff;
    }
    .lp_faq_area .lp_faq .ico {
        position: absolute;
        left: 30px;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        box-sizing: border-box;
        line-height: 36px;
        font-size: 2rem;
        font-weight: 900;
        text-align: center;
    }
    .lp_faq_area .lp_faq_q .ico {
        top: 14px;
        color: #00A5B4;
        background: #fff;
        border: 2px solid #00A5B4;
    }
    .lp_faq_area .lp_faq_a .ico {
        top: 10px;
        color: #fff;
        background: #00A5B4;
    }

    /* 無料相談・無料⾒積り */

    .lp_tit_area.__orange {
        background: #DE8217;
    }

    .lp_tel_box {
        width: 1080px;
        margin: 60px auto;
        border-radius: 20px;
        box-sizing: border-box;
        background: #fff;
        border: 2px solid #D97807;
        box-shadow: 0 20px 20px 0 rgba(68, 134, 141, .1);
    }
    .lp_tel_box .tit {
        padding: 6px 0 8px;
        border-radius: 20px 20px 0 0;
        letter-spacing: .05em;
        font-size: 2rem;
        font-weight: bold;
        color: #D97807;
        background: #F5F5BB;
        text-align: center;
    }
    .lp_tel_box .txt_area {
        padding: 20px 30px 25px;
    }
    .lp_tel._box {
        justify-content: center;
    }
    .lp_tel._box .time {
        margin-left: 8px;
        font-size: 1.8rem;
    }

    .lp_form_head {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 1080px;
        margin: 60px auto 40px;
        padding: 45px 40px;
        box-sizing: border-box;
        border-radius: 20px 20px 0 0;
        background: #D8EFF0;
    }
    .lp_form_head .tit {
        margin: 0 0 8px;
        padding: 0 0 0 68px;
        line-height: 1.5;
        font-size: 3.6rem;
        font-weight: 900;
        background: url(../img/lp_kensetsu/ico_mail.svg) 0 50% no-repeat;
    }
    .lp_form_head .txt {
        margin: 8px 0 24px;
        line-height: 1.4;
        font-size: 2.2rem;
    }

    body.lp_kensetsu .stepflow {
        display: flex;
        width: 100%;
        list-style-type: none;
        overflow: hidden;
    }
    body.lp_kensetsu .stepflow li {
        display: flex;
        justify-content: center;
        align-items: center;
        line-height: 1.3;
        position: relative;
        width: 33%;
        height: 56px;
        padding: 12px 0 15px 0;
        box-sizing: border-box;
        text-align: center;
        color: #666;
        font-size: 1.7rem;
        font-weight: bold;
        background: #fff;
    }
    body.lp_kensetsu .stepflow li:last-child:before,
    body.lp_kensetsu .stepflow li:last-child:after {
        display: none;
    }
    body.lp_kensetsu .stepflow li:before,
    body.lp_kensetsu .stepflow li:after {
        position: absolute;
        width: 0;
        height: 0;
        margin: auto;
        content: '';
    }
    body.lp_kensetsu .stepflow li:before {
        z-index: 10;
        top: 0;
        right: -1em;
        border-width: 28px 0 28px 1em;
        border-style: solid;
        border-color: transparent transparent transparent #D8EFF0;
    }
    body.lp_kensetsu .stepflow li:after {
        z-index: 10;
        top: 0;
        right: -.9em;
        border-width: 28px 0 28px 1em;
        border-style: solid;
        border-color: transparent transparent transparent #fff;
    }
    body.lp_kensetsu .stepflow li.is-current {
        background: #00A5B4;
        color: #fff;
    }
    body.lp_kensetsu .stepflow li.is-current:after {
        border-color: transparent transparent transparent #00A5B4;
    }
    body.lp_kensetsu .stepflow li span {
        padding: 3px 7px 4px;
        margin: 0 10px 0 0;
        font-size: 12px;
        font-size: 1.2rem;
        color: #fff;
        background: #00A5B4;
    }
    body.lp_kensetsu .stepflow li.is-current span {
        color: #00A5B4;
        background: #fff;
    }

    body.lp_kensetsu .block form {
        margin-bottom: 80px;
    }

    .lp_btm {
        padding: 40px 0;
        line-height: 1.5;
        font-size: 1.4rem;
        color: #666;
        background: #F5F5F5;
    }

    .mb60 {margin-bottom: 60px;}
}

/* sp */

@media screen and (max-width: 640px) {

    body.lp_kensetsu {
        font-size: 1.6rem;
    }

    body.lp_kensetsu p {font-size: inherit;}

    body.lp_kensetsu .inner {
        width: 94%;
        margin-left: auto;
        margin-right: auto;
    }

    /* kv */

    .lp_kv {
        position: relative;
        padding: 0 0 190px;
        padding-bottom: calc(230px - 20vw);
        background: #A2D2E4;
        text-align: center;
    }

    .lp_kv_txt_area {
        position: absolute;
        top: 64vw;
        left: 6%;
        width: 94%;
        font-size: 1rem;
        text-align: left;
    }
    .lp_kv_txt_area .intxt {
        margin: 0 0 10px;
        line-height: 1.4;
                font-size: 1.3rem;
        font-weight: 900;
        text-shadow: 0 0 10px #fff;
    }

    .lp_kv_txt_area strong {font-size: 1.3rem;}
    .lp_kv_txt_area ._red {font-size: 1.3rem;}

    .lp_kv .lp_cv_box {
        position: absolute;
        top: calc(64vw + 70px);
        left: 3%;
    }

    /* cv */

    .lp_cv_box {
        width: 94%;
        margin-left: auto;
        margin-right: auto;
        border-radius: 15px;
        text-align: center;
    }
    .lp_cv_box .tit_area {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 5px 5%;
        border-radius: 15px 15px 0 0;
        color: #fff;
        background: #222;
    }
    .lp_cv_box .tit_area .area {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 50px;
        height: 50px;
        margin: -8px 8px 0 0;
        border-radius: 50%;
        line-height: 1.3;
        font-size: 1.4rem;
        font-weight: bold;
        color: #fff;
        background: #DE8217;
    }
    .lp_cv_box .tit_area .tit {
        line-height: 1.5;
        font-size: 1.8rem;
        font-weight: 900;
    }
    .lp_cv_box .txt_area {
        display: flex;
        justify-content: space-between;
        padding: 15px 3%;
        border-radius: 0 0 15px 15px;
        background: #fff;
    }
    .lp_cv_box .txt_area .tel_area {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: calc(50% - 4px);
        padding: 3px 3px 6px 10px;
        box-sizing: border-box;
        border-radius: 10px;
        background: #fff;
        border: 2px solid #D97807;
    }
    .lp_cv_box .txt_area .tel_area .intit {
        padding: 1px 0;
        line-height: 1.5;
        font-size: 1.4rem;
        font-weight: bold;
    }
    .lp_cv_box .txt_area .tel_area .intit span.txts {font-size: 1rem;}
    .lp_tel {
        text-align: left;
    }
    .lp_tel a {
        display: block;
        padding: 0 0 0 11px;
        line-height: 1;
        font-size: 1.8rem;
        font-weight: 900;
        color: #333;
        background: url(../img/lp_kensetsu/ico_tel.svg) 0 55% / 10px auto no-repeat;
        text-decoration: none;
    }
    .lp_tel .time {
        display: block;
        padding: 2px 0 0 11px;
        line-height: 1.4;
        font-size: 1rem;
    }
    .lp_cv_box .txt_area .cv_btn {
        width: calc(50% - 4px);
    }
    .lp_cv_box .txt_area .cv_btn a {
        display: block;
        position: relative;
        padding: 23px 6px 8px;
        border-radius: 10px;
        box-sizing: border-box;
        line-height: 1.5;
        font-size: 1.4rem;
        font-weight: bold;
        color: #fff;
        background: #DE8217;
        border: 3px solid #F29C38;
        text-decoration: none;
        text-align: center;
    }
    .lp_cv_box .txt_area .cv_btn a .h24 {
        position: absolute;
        top: 0;
        left: calc(50% - 40px);
        width: 80px;
        padding: 2px 8px;
        box-sizing: border-box;
        border-radius: 0 0 10px 10px;
        font-size: 1.2rem;
        color: #333;
        background: #F5F5BB;
    }
    .lp_cv_box .txt_area .cv_btn a .intxt {
        display: inline-block;
        padding: 0 0 0 25px;
        line-height: 1.2;
        background: url(../img/lp_kensetsu/ico_mail_white.svg) 0 55% / 18px auto no-repeat;
        text-align: left;
    }

    /* お悩み */

    .lp_worries_area .worries_top {
        padding: 30px 0 0;
        color: #fff;
        background: url(../img/lp_kensetsu/bg_worries.svg) 50% 0 / cover no-repeat;
        text-align: center;
    }
    .lp_worries_area .worries_top .tit {
        margin: 0 0 20px;
        letter-spacing: .05em;
        line-height: 1.5;
        font-size: 2.2rem;
        font-weight: 500;
    }
    .lp_worries_area .worries_top .tit .sp_line {
        display: inline-block;
        padding-bottom: 8px;
        background: url(../img/lp_kensetsu/tit_worries.png) 0 100% / auto 4px repeat-x;
    }
    .lp_worries_area .worries_top .tit .txtl {
        font-weight: 900;
    }
    .lp_worries_area .worries_top .img {
        position: relative;
        margin: 0 0 -16vw;
        z-index: 1;
        overflow: hidden;
    }
    .lp_worries_area .worries_top .img img {
        width: 104%;
        max-width: none;
    }
    .lp_worries_area .ans {
        padding: 18vw 0 40px;
        line-height: 1.7;
        font-size: 2.4rem;
        font-weight: 500;
        background: url(../img/lp_kensetsu/bg_worries_ans.png) 50% 50% / cover no-repeat;
        text-align: center;
    }
    .lp_worries_area .ans .txtl {
        font-weight: 900;
    }

    /* 見出し */

    .lp_tit_area {
        padding: 20px 3%;
        color: #fff;
        background: #00A5B4;
        text-align: center;
    }
    .lp_tit_area .tit {
        width: 94%;
        margin-left: auto;
        margin-right: auto;
        line-height: 1.4;
        font-size: 2.8rem;
        font-weight: 900;
    }
    .lp_tit_area .txtm {font-size: 1.6rem;}
    .lp_tit_area .txts {font-size: 1.2rem;}

    .lp_tit_area .fw_medium {font-weight: 500;}

    /* 選ばれる理由 */

    .lp_point_area {
        padding: 0 0 40px;
        background: #EFEFEF;
    }

    .lp_point_area .lp_tit_area {
        margin-bottom: -30px;
        padding-bottom: 60px;
    }

    .lp_tit_area .incatch .in {
        display: inline-block;
        position: relative;
        padding: 0 30px;
        margin: 0 0 5px;
        line-height: 1.5;
        font-size: 1.8rem;
        font-weight: bold;
        color: #F5F5BB;
    }
    .lp_tit_area .incatch .in::before,
    .lp_tit_area .incatch .in::after {
        content: "";
        position: absolute;
        bottom: 0.4em;
        left: 2%;
        width: 21px;
        height: 21px;
        background: url(../img/lp_kensetsu/tit_point.svg) 50% 50% / contain no-repeat;
    }
    .lp_tit_area .incatch .in::after {
        left: auto;
        right: 2%;
        transform: scaleX(-1);
    }
    .lp_tit_area .num {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        width: 45px;
        height: 45px;
        padding: 0 0 2px 2px;
        margin: 0 5px;
        box-sizing: border-box;
        border-radius: 50%;
        background: #F29C38;
    }

    .lp_point_area .point_box {
        position: relative;
        width: 94%;
        margin-left: auto;
        margin-right: auto;
        border-radius: 15px;
        background: #fff;
        z-index: 1;
        box-shadow: 0 20px 20px 0 rgba(68, 134, 141, .1);
    }
    .lp_point_area .point_box + .point_box {margin-top: 40px;}
    .lp_point_area .point_box .tit_area {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        position: relative;
        padding: 15px 0 15px 78px;
        border-radius: 15px 15px 0 0;
        letter-spacing: 0.05em;
        font-weight: bold;
        background: #D8EFF0;
    }
    .lp_point_area .point_box .tit_area .num {
        display: flex;
        align-items: center;
        position: absolute;
        top: 20px;
        left: -6px;
        padding: 3px 14px 3px 5px;
        letter-spacing: 0;
        line-height: 1.5;
        font-size: 1.3rem;
        color: #fff;
        background: #F29C38;
    }
    .lp_point_area .point_box .tit_area .num span {
        margin-left: 2px;
        font-size: 2rem;
    }
    .lp_point_area .point_box .tit_area .num::before {
        content: "";
        position: absolute;
        left: 0;
        top: 99.9%;
        border-top: 2px solid #DE8217;
        border-right: 3px solid #DE8217;
        border-bottom: 2px solid transparent;
        border-left: 3px solid transparent;
    }
    .lp_point_area .point_box .tit_area .num::after {
        content: "";
        position: absolute;
        right: 0;
        top: 0;
        border-right: 8px solid #D8EFF0;
        border-top: 18px solid transparent;
        border-bottom: 18px solid transparent;
    }
    .lp_point_area .point_box .tit_area .txtl {
        line-height: 1.7;
        font-size: 2.2rem;
        font-weight: 900;
    }

    .lp_point_area .point_box .txt_area {
        padding: 20px 5%;
    }
    .lp_point_area .point_box .txt_area .img {
        margin: 0 0 15px;
        text-align: center;
    }

    /* お客様の声 */

    .lp_voice_area {
        padding: 0 0 50px;
    }
    .lp_voice_area .lp_tit_area {
        margin-bottom: 30px;
    }
    .lp_voice_area .lp_tit_area .tit .in {
        display: inline-flex;
        align-items: center;
        min-height: 60px;
        padding: 0 0 0 80px;
        margin: 0 0 10px;
        background: url(../img/lp_kensetsu/tit_voice.png) 0 50% / auto 60px no-repeat;
    }

    .lp_voice_area .lp_tit_area .txtm ._red {
        display: inline-block;
        margin: 0 5px;
        font-size: 1.6rem;
    }

    .lp_voice_area .voice_list {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 94%;
        margin: 0 auto;
    }
    .lp_voice_area .voice_list ._col {
        display: flex;
        width: 48%;
        margin: 0 0 15px;
    }
    .lp_voice_area .voice_list ._col a {
        display: block;
        position: relative;
        padding: 15px 6%;
        border-radius: 10px;
        color: #333;
        background: #EBF8F9;
        border: 2px solid #00A5B4;
        box-shadow: 0 20px 20px 0 rgba(68, 134, 141, .1);
        text-decoration: none;
    }
    .lp_voice_area .voice_list ._col a::before {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        width: 34px;
        height: 34px;
        border-radius: 10px 0 6px 0;
        background: url(../img/lp_kensetsu/ico_zoom.svg) 60% 60% no-repeat #00A5B4;
    }
    .lp_voice_area .voice_list ._col .img {
        display: block;
        margin: 0 auto 15px;
        text-align: center;
        box-shadow: 0 0 10px 0 rgba(0,0,0,.1);
    }
    .lp_voice_area .voice_list ._col .txt_area {
        display: flex;
    }
    .lp_voice_area .voice_list ._col .txt_area .txt {
        display: flex;
        flex-wrap: wrap;
        font-size: 1.4rem;
    }
    .lp_voice_area .voice_list ._col .txt_area .txt .type {
        margin: 0 4px 4px 0;
        padding: 0 5px;
        font-size: 1.3rem;
        font-weight: 500;
        color: #fff;
        background: #333;
    }
    .lp_voice_area .voice_list ._col .txt_area .txt .tit {
        width: 100%;
        line-height: 1.4;
        font-weight: bold;
    }
    .lp_voice_area .voice_list ._col .txt_area .ico {
        flex-shrink: 0;
        margin-left: 5px;
    }
    .lp_voice_area .voice_list ._col .txt_area .ico img {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        object-fit: cover;
    }

    /* お客様の声 モーダル */

    .voice_modal {
        width: 94%;
        margin: 20px auto;
        padding: 30px 5%;
        box-sizing: border-box;
        border-radius: 15px;
        background: #EBF8F9;
        box-shadow: 0 20px 20px 0 rgba(68, 134, 141, .1);
    }
    .voice_modal_head {
        display: flex;
        flex-direction: column;
        margin: 10px 0 0;
    }
    .voice_modal table.tbr {
        background: #fff;
    }
    .voice_modal table.tbr th {
        font-weight: bold;
        color: #fff;
        background: #333;
    }
    .voice_modal table.tbr th,
    .voice_modal table.tbr td {
        padding: 10px 15px;
        text-align: left;
    }
    .voice_modal_head .img {
        order: -1;
        margin: 0 0 15px;
        text-align: center;
    }
    .voice_modal_cont .img {
        margin: 0 0 15px;
        text-align: center;
    }
    .voice_modal_faq {
        flex-grow: 1;
        counter-reset: voice_modal_faq 0;
    }
    .voice_modal_faq dl {
        padding: 20px;
        border-radius: 10px;
        background: #fff;
    }
    .voice_modal_faq dl + dl {margin-top: 5px;}
    .voice_modal_faq dl dt {
        position: relative;
        margin-bottom: 11px;
        padding: 0 0 11px 34px;
        font-weight: bold;
        border-bottom: 1px solid #EAEAEA;
    }
    .voice_modal_faq dl dt::before {
        counter-increment: voice_modal_faq 1;
        content: counter(voice_modal_faq);
        display: block;
        position: absolute;
        top: 0.2em;
        left: 0;
        width: 24px;
        height: 24px;
        margin: 0 10px 0 0;
        border-radius: 50%;
        font-size: 1.4rem;
        font-weight: 900;
        color: #fff;
        background: #00A5B4;
        text-align: center;
    }

    .mfp-container .mfp-close {
        right: 1%;
        width: 50px;
        height: 50px;
        border-radius: 50%;
        background: #00A5B4;
        opacity: 1;
        overflow: hidden;
        text-indent: 100%;
        white-space: nowrap;
    }
    .mfp-close::before,
    .mfp-close::after {
        content: "";
        position: absolute;
        left: calc(50% - 15px);
        top: calc(50% - 3px);
        width: 30px;
        height: 4px;
        border-radius: 3px;
        background: #fff;
        transform: rotate(45deg);
    }
    .mfp-close::after {transform: rotate(-45deg);}

    /* cv */

    .mid_cv_area {
        padding: 30px 0;
        background: url(../img/lp_kensetsu/bg_cv.jpg) 50% 50% / cover no-repeat;
    }

    /* 当社社長よりご挨拶 */

    .lp_message_area {
        position: relative;
        width: 94%;
        margin: 40px auto;
        padding: 30px 5%;
        box-sizing: border-box;
        border-radius: 15px;
        z-index: 1;
        background: linear-gradient(135deg, #ABDDE2 30px, #F5F5F5 30px, #F5F5F5 calc(100% - 30px), #ABDDE2 calc(100% - 30px));
    }
    .lp_message_area::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 20px;
        background: linear-gradient(-135deg, #ABDDE2 30px, transparent 30px, transparent calc(100% - 30px), #ABDDE2 calc(100% - 30px));
        z-index: -1;
        pointer-events: none;
    }

    .lp_message_area .tit {
        margin: 0 0 30px;
        font-size: 2.8rem;
        font-weight: 900;
        text-align: center;
    }

    .lp_message_area .img {
        margin: 0 0 20px;
    }
    .lp_message_area .img .inimg {margin-bottom: 10px;}
    .lp_message_area .img .name {font-weight: bold;}

    /* よくある質問 */

    .lp_faq_area {
        padding: 0 0 20px;
        background: #D8EFF0;
    }
    .lp_faq_area .lp_tit_area {margin-bottom: 30px;}
    .lp_faq_area .lp_faq {
        width: 94%;
        margin: 0 auto 15px;
        border-radius: 15px;
        box-shadow: 0 20px 20px 0 rgba(68, 134, 141, .1);
    }
    .lp_faq_area .lp_faq_q,
    .lp_faq_area .lp_faq_a {
        position: relative;
        padding: 15px 5% 15px 60px;
    }
    .lp_faq_area .lp_faq_q {
        border-radius: 15px 15px 0 0;
        font-size: 1.8rem;
        font-weight: bold;
        background: #F5F5F5;
    }
    .lp_faq_area .lp_faq_a {
        padding-bottom: 20px;
        border-radius: 0 0 15px 15px;
        background: #fff;
    }
    .lp_faq_area .lp_faq .ico {
        position: absolute;
        left: 10px;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        box-sizing: border-box;
        line-height: 32px;
        font-size: 1.8rem;
        font-weight: 900;
        text-align: center;
    }
    .lp_faq_area .lp_faq_q .ico {
        top: 10px;
        color: #00A5B4;
        background: #fff;
        border: 2px solid #00A5B4;
    }
    .lp_faq_area .lp_faq_a .ico {
        top: 10px;
        color: #fff;
        background: #00A5B4;
    }

    /* 無料相談・無料⾒積り */

    .lp_tit_area.__orange {
        background: #DE8217;
    }

    .lp_tel_box {
        width: 94%;
        margin: 30px auto;
        border-radius: 15px;
        box-sizing: border-box;
        background: #fff;
        border: 2px solid #D97807;
        box-shadow: 0 20px 20px 0 rgba(68, 134, 141, .1);
    }
    .lp_tel_box .tit {
        padding: 6px 0 8px;
        border-radius: 15px 15px 0 0;
        letter-spacing: .05em;
        font-size: 1.7rem;
        font-weight: bold;
        color: #D97807;
        background: #F5F5BB;
        text-align: center;
    }
    .lp_tel_box .txt_area {
        padding: 20px 5% 25px;
    }
    .lp_tel._box {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .lp_tel._box a {
        padding-left: 25px;
        font-size: 3rem;
        background-size: 18px auto;
    }
    .lp_tel._box .time {
        font-size: 1.4rem;
    }

    .lp_form_head {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 94%;
        margin: 30px auto;
        padding: 20px 5%;
        box-sizing: border-box;
        border-radius: 15px 15px 0 0;
        background: #D8EFF0;
    }
    .lp_form_head .tit {
        margin: 0 0 8px;
        padding: 30px 0 0;
        line-height: 1.5;
        font-size: 2.4rem;
        font-weight: 900;
        background: url(../img/lp_kensetsu/ico_mail.svg) 50% 0 / 35px auto no-repeat;
        text-align: center;
    }
    .lp_form_head .txt {
        margin: 8px 0 24px;
        line-height: 1.4;
        font-size: 1.6rem;
    }

    body.lp_kensetsu .stepflow {
        display: table;
        overflow: hidden;
        width: 100%;
        margin: 0;
        padding: 0;
        list-style-type: none;
    }
    body.lp_kensetsu .stepflow li {
        line-height: 1.3;
        position: relative;
        display: table-cell;
        width: 33%;
        padding: 12px 0 15px 0;
        text-align: center;
        color: #333;
        font-weight: bold;
        background: #fff;
    }
    body.lp_kensetsu .stepflow li:last-child:before,
    body.lp_kensetsu .stepflow li:last-child:after {
        display: none;
    }
    body.lp_kensetsu .stepflow li:before,
    body.lp_kensetsu .stepflow li:after {
        position: absolute;
        width: 0;
        height: 0;
        margin: auto;
        content: '';
    }
    body.lp_kensetsu .stepflow li:before {
        z-index: 10;
        top: -8px;
        right: -1em;
        border-width: 40px 0 40px 1em;
        border-style: solid;
        border-color: transparent transparent transparent #fff;
    }
    body.lp_kensetsu .stepflow li:after {
        z-index: 10;
        top: -8px;
        right: -.9em;
        border-width: 40px 0 40px 1em;
        border-style: solid;
        border-color: transparent transparent transparent #fff;
    }
    body.lp_kensetsu .stepflow li.is-current {
        background: #00A5B4;
        color: #fff;
    }
    body.lp_kensetsu .stepflow li.is-current:after {
        border-color: transparent transparent transparent #00A5B4;
    }
    body.lp_kensetsu .stepflow li span {
        font-size: 12px;
        font-size: 1.2rem;
        display: block;
    }

    body.lp_kensetsu .block form {
        margin-bottom: 40px;
    }

    body.lp_kensetsu .block form input[type="text"],
    body.lp_kensetsu .block form input[type="email"],
    body.lp_kensetsu .block form input[type="tel"],
    body.lp_kensetsu .block form textarea {
        width: 100%!important;
        box-sizing: border-box;
    }

    .lp_btm {
        padding: 20px 0;
        line-height: 1.5;
        font-size: 1.4rem;
        color: #666;
        background: #F5F5F5;
    }

    .mb60 {margin-bottom: 30px;}
    .mb_sp_20 {margin-bottom: 20px;}
}

/* Magnific Popup CSS */
.mfp-bg {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1042;
    overflow: hidden;
    position: fixed;
    background: #0b0b0b;
    opacity: 0.8;
}
.mfp-wrap {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1043;
    position: fixed;
    outline: none !important;
    -webkit-backface-visibility: hidden;
}
.mfp-container {
    text-align: center;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    padding: 0 8px;
    box-sizing: border-box;
}
.mfp-container:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}
.mfp-align-top .mfp-container:before {display: none;}
.mfp-content {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto;
    text-align: left;
    z-index: 1045;
}
.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
    width: 100%;
    cursor: auto;
}
.mfp-ajax-cur {cursor: progress;}
.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
    cursor: -moz-zoom-out;
    cursor: -webkit-zoom-out;
    cursor: zoom-out;
}
.mfp-zoom {
    cursor: pointer;
    cursor: -webkit-zoom-in;
    cursor: -moz-zoom-in;
    cursor: zoom-in;
}
.mfp-auto-cursor .mfp-content {cursor: auto;}
.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}
.mfp-loading.mfp-figure {display: none;}
.mfp-hide {display: none !important;}
.mfp-preloader {
    color: #CCC;
    position: absolute;
    top: 50%;
    width: auto;
    text-align: center;
    margin-top: -0.8em;
    left: 8px;
    right: 8px;
    z-index: 1044;
}
.mfp-preloader a {color: #CCC;}
.mfp-preloader a:hover {color: #FFF;}
.mfp-s-ready .mfp-preloader {display: none;}
.mfp-s-error .mfp-content {display: none;}
button.mfp-close,
button.mfp-arrow {
    overflow: visible;
    cursor: pointer;
    background: transparent;
    border: 0;
    -webkit-appearance: none;
    display: block;
    outline: none;
    padding: 0;
    z-index: 1046;
    box-shadow: none;
    touch-action: manipulation;
}
button::-moz-focus-inner {
    padding: 0;
    border: 0;
}
.mfp-close {
    width: 44px;
    height: 44px;
    line-height: 44px;
    position: absolute;
    right: 0;
    top: 0;
    text-decoration: none;
    text-align: center;
    opacity: 0.65;
    padding: 0 0 18px 10px;
    color: #FFF;
    font-style: normal;
    font-size: 28px;
    font-family: Arial, Baskerville, monospace;
}
.mfp-close:hover,
.mfp-close:focus {opacity: 1;}
.mfp-close:active {top: 1px;}
.mfp-close-btn-in .mfp-close {color: #333;}
.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
    color: #FFF;
    right: -6px;
    text-align: right;
    padding-right: 6px;
    width: 100%;
}
.mfp-counter {
    position: absolute;
    top: 0;
    right: 0;
    color: #CCC;
    font-size: 12px;
    line-height: 18px;
    white-space: nowrap;
}
.mfp-arrow {
    position: absolute;
    opacity: 0.65;
    margin: 0;
    top: 50%;
    margin-top: -55px;
    padding: 0;
    width: 90px;
    height: 110px;
    -webkit-tap-highlight-color: transparent;
}
.mfp-arrow:active {margin-top: -54px;}
.mfp-arrow:hover,
.mfp-arrow:focus {opacity: 1;}
.mfp-arrow:before,
.mfp-arrow:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent;
}
.mfp-arrow:after {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px;
}
.mfp-arrow:before {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: 0.7;
}
.mfp-arrow-left {left: 0;}
.mfp-arrow-left:after {
    border-right: 17px solid #FFF;
    margin-left: 31px;
}
.mfp-arrow-left:before {
    margin-left: 25px;
    border-right: 27px solid #3F3F3F;
}
.mfp-arrow-right {right: 0;}
.mfp-arrow-right:after {
    border-left: 17px solid #FFF;
    margin-left: 39px;
}
.mfp-arrow-right:before {border-left: 27px solid #3F3F3F;}
.mfp-iframe-holder {
    padding-top: 40px;
    padding-bottom: 40px;
}
.mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px;
}
.mfp-iframe-holder .mfp-close {top: -40px;}
.mfp-iframe-scaler {
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-top: 56.25%;
}
.mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #000;
}
/* Main image in popup */
img.mfp-img {
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
    line-height: 0;
    box-sizing: border-box;
    padding: 40px 0 40px;
    margin: 0 auto;
}
/* The shadow behind the image */
.mfp-figure {line-height: 0;}
.mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #444;
}
.mfp-figure small {
    color: #BDBDBD;
    display: block;
    font-size: 12px;
    line-height: 14px;
}
.mfp-figure figure {margin: 0;}
.mfp-bottom-bar {
    margin-top: -36px;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    cursor: auto;
}
.mfp-title {
    text-align: left;
    line-height: 18px;
    color: #F3F3F3;
    word-wrap: break-word;
    padding-right: 36px;
}
.mfp-image-holder .mfp-content {max-width: 100%;}
.mfp-gallery .mfp-image-holder .mfp-figure {cursor: pointer;}
@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
    /**
    * Remove all paddings around the image on small screen
    */
    .mfp-img-mobile .mfp-image-holder {
        padding-left: 0;
        padding-right: 0;
    }
    .mfp-img-mobile img.mfp-img {padding: 0;}
    .mfp-img-mobile .mfp-figure:after {
        top: 0;
        bottom: 0;
    }
    .mfp-img-mobile .mfp-figure small {
        display: inline;
        margin-left: 5px;
    }
    .mfp-img-mobile .mfp-bottom-bar {
        background: rgba(0, 0, 0, 0.6);
        bottom: 0;
        margin: 0;
        top: auto;
        padding: 3px 5px;
        position: fixed;
        box-sizing: border-box;
    }
    .mfp-img-mobile .mfp-bottom-bar:empty {padding: 0;}
    .mfp-img-mobile .mfp-counter {
        right: 5px;
        top: 3px;
    }
    .mfp-img-mobile .mfp-close {
        top: 0;
        right: 0;
        width: 35px;
        height: 35px;
        line-height: 35px;
        background: rgba(0, 0, 0, 0.6);
        position: fixed;
        text-align: center;
        padding: 0;
    }
}
@media all and (max-width: 900px) {
    .mfp-arrow {
        -webkit-transform: scale(0.75);
        transform: scale(0.75);
    }
    .mfp-arrow-left {
        -webkit-transform-origin: 0;
        transform-origin: 0;
    }
    .mfp-arrow-right {
        -webkit-transform-origin: 100%;
        transform-origin: 100%;
    }
    .mfp-container {
        padding-left: 6px;
        padding-right: 6px;
    }
}