.p-relative {
    position: relative;
}

.img-fluid {
    max-width: 100%;
    height: auto;
}

main {
    color: #262a2c;

}

.main {
    background: #383336;
    background-image: url(../images/consulting/main_bck.png);
    background-size: cover;
    background-repeat: no-repeat;
    padding: 160px 0;
    background-position: left bottom;
    /* height: 603px; */
}

.main_txt-con {
    width: 64%;
    background: rgb(243 243 243 / 77%);
    padding: 30px;
}

.main_txt-con>div {
    color: #262a2c;
    text-align: center;
    font-weight: bold;
    font-size: 18px;
}

.main_txt-con>div h2 {
    margin: 0 0 20px;
    padding: 0 0 11px;
    font-size: 34px;
    border-bottom: 5px solid #BA383C;
    box-shadow: 0 2px 0px #929292;
}

.shop_contact {
    background-color: rgb(184 41 46 / 90%);
    color: #FFF;
    display: block;
    padding: 15px;
    width: 300px;
    text-align: center;
    font-size: 20px;
    margin: 20px auto 0;
    transition: 0.8s;
}

.shop_contact:hover {
    background-color: #901418;
}

.webc_h3_title {
    text-align: center;
    margin: 40px 0 0;
}

.webc_h3_title h3,
.webc_h3_title h2 {
    display: inline-block;
    font-size: 30px;
    padding: 16px 35px;
    border-bottom: 5px solid #BA383C;
    box-shadow: 0 2px 0px #929292;
    font-weight: bold;

}

/* よくご相談いただくWeb集客のお悩み */
.offten_list {
    display: flex;
    justify-content: space-between;
    margin: 40px 0 0;
}

.offten_list li {
    text-align: center;
    width: 33%;
}

.offten_list li div {
    width: 105px;
    margin: auto;
}

.offten_list li dl dt {
    font-size: 20px;
    font-weight: bold;
    margin: 20px 0 10px;
}

.offten_list li dl dd {
    font-size: 15px;
}

.fllow_arrow {
    position: relative;
    padding: 0 0 100px;
}

.fllow_arrow:after {
    content: '';
    width: 0;
    height: 0;
    border-left: 80px solid transparent;
    border-right: 80px solid transparent;
    border-top: 50px solid #4B5961;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin: 0 0 0 -80px;
}


.contact_disp {
    background-color: #F2F2F2;
    padding: 70px 0;
    margin: 200px 0 0;
}

.contact_disp h2 {
    text-align: center;
    font-size: 35px;
    font-weight: bold;
    margin: 0 0 20px;
}

/* CTNではこういった悩みをワンストップで解決 */
.sub_midashi_txt {
    margin: 20px 0;
    text-align: center;
    font-weight: bold;
    font-size: 24px
}

.site_flow {
    padding: 30px;
    background-color: #F2F2F2;
}

.site_flow ul li {
    display: flex;
    position: relative;
    padding: 0 0 38px;
}

.site_flow_title {
    background-color: #4B5961;
    color: #FFF;
    font-size: 18px;
    font-weight: bold;
    width: 240px;
    text-align: center;
    padding: 15px 0;
}

.site_flow_txt {
    background-color: #FFF;
    padding: 15px;
    width: calc(100% - 240px);
    font-size: 16px;
}

.site_flow ul li:after {
    content: '';
    width: 0;
    height: 0;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 20px solid #BA383C;
    position: absolute;
    bottom: 12px;
    left: 89px;
}

.site_flow ul li:last-child {
    padding: 0 0 0px;
}

.site_flow ul li:last-child:after {
    display: none;
}

/* 多彩なメニューでWeb集客を総合支援 */
.support_disp {
    padding: 30px 85px;
    background-color: #F2F2F2;
    margin: 43px 0 0;
}

.support_disp div {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.support_disp dl {
    width: 48%;
    margin-top: 15px;
    margin-bottom: 15px;
}

.support_disp dl dt {
    background-color: #4B5961;
    color: #FFF;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    padding: 15px 0;
}

.support_disp dl dd {
    background-color: #FFF;
    padding: 30px 0;
    text-align: center;
    font-size: 16px;
    line-height: 1.7;
}

.support_disp p {
    text-align: right;
}

/* 施策実績 */
.zisseki {
    padding: 10px;
    background-color: #F2F2F2;
    margin: 40px 0 0;
}

.zisseki_in {
    display: flex;
    border: 2px solid #969696;
    border-radius: 10px;
    background-color: #FFF;
    padding: 10px;
    flex-wrap: wrap;
    justify-content: space-between;
}

.zisseki_in>div {
    border: 1px solid #cdcdcd;
    padding: 10px;
}

.zisseki_in div:first-child,
.zisseki_in div:nth-child(2n) {
    width: 49%;
    margin: 0 0 10px;
}

.zisseki_in div:last-child {
    width: 100%;

}

.zisseki_in div:first-child p:nth-child(2n) {
    font-size: 18px;
    font-weight: bold;
    margin: 10px 0 5px;
    color: #524f75;
}

.zisseki_in div:first-child p:nth-child(2n) span {
    color: #c00000;
}

.zisseki_in h4 {
    background-color: #C00000;
    display: inline-block;
    color: #FFF;
    font-size: 16px;
    padding: 2px 16px 5px 15px;
    position: relative;
}



.zisseki_in h4:before {
    position: absolute;
    top: 4px;
    right: -10px;
    transform: rotate(45deg);
    content: '';
    border-width: 0 22px 22px 0px;
    border-style: solid;
    border-color: transparent #c00000 transparent transparent;
}


/* よくある質問 */
.faq-con {
    max-width: 900px;
    margin: 40px auto;
}

.faq-con dl {
    box-shadow: 0 2px 2px #585858;
    border-bottom: 1px solid #707070;
    font-size: 18px;
}

.faq-con dt {
    background-color: #4B5961;
    padding: 15px 10px 15px 50px;
    color: #FFF;
    position: relative;

}

.faq-con dt:before {
    content: 'Q:';
    position: absolute;
    left: 18px;
    top: 14px;
}

.faq-con dd {
    position: relative;
    background-color: #FFF;
    padding: 10px 10px 20px 69px;

    border-right: 1px solid #707070;
    border-left: 1px solid #707070;
    font-size: 16px;
}

.faq-con dd:before {
    content: 'A:';
    position: absolute;
    left: 41px;
    top: 10px;
}



/**/
.link_title-con {
    background-color: #4B5961;
    padding: 17px 0;
}

.link_title-con h2 {
    text-align: center;
    font-size: 28px;
    color: #FFF;
    font-weight: bold;
}

.wrapper.shop_link {
    text-align: center;
    padding: 50px 2rem;
}

.wrapper.shop_link p {
    font-size: 18px;
    font-weight: bold;
    margin: 20px 0 0;
}

.wrapper.shop_link a {
    transition: 0.7s;
}

.wrapper.shop_link a:hover {
    opacity: 0.8;

}



@media(min-width: 1630px) {
    .main {
        background-position: center bottom -106px;
    }

}


@media(min-width: 2000px) {
    .main {
        background-size: 2400px;
        background-position: center bottom -206px;
        /* height: 603px; */
    }

}

@media(max-width:1024px) {

    .main {
        padding: 100px 0;
    }


}


@media(max-width:980px) {}

@media(max-width:768px) {

    .fllow_arrow:after {
        border-left: 60px solid transparent;
        border-right: 60px solid transparent;
        border-top: 34px solid #4B5961;
        margin: 0 0 0 -60px;
        bottom: 9px;
    }


    .main_txt-con {
        width: 75%;
        margin: auto;
    }

    .main {
        padding: 50px 0;
    }


    .fllow_arrow {
        position: relative;
        padding: 0 0 70px;
    }

    .offten_list {
        display: block;
        margin: 40px auto 0;
        width: 90%;
    }

    .offten_list li {
        text-align: center;
        width: 100%;
        display: flex;
        margin: 0 0 30px;
        justify-content: space-between;
    }

    .offten_list li div {
        width: 82px;
    }

    .offten_list li dl {
        width: calc(100% - 120px);
        text-align: left;
    }

    .offten_list li dl dt br,
    .offten_list li dl dd br {
        display: none;

    }

    .offten_list li dl dt {
        margin: 0px 0 10px;
    }

    .support_disp {
        padding: 20px;
        margin: 43px 0 0;
    }

    .wrapper.shop_link {
        text-align: center;
        padding: 30px 20px;
    }




}

@media(max-width:680px) {

    .main {
        padding: 30px 0;
    }

    .main_txt-con {
        width: 100%;
        margin: auto;
        padding: 10px;
    }

    .main_txt-con>div {
        padding: 15px;
        border-radius: 15px;
        font-weight: bold;
        font-size: 14px;
    }

    .main_txt-con>div h2 {
        margin: 0 0 20px;
        font-size: 22px;
    }

    .shop_contact {
        padding: 15px;
        width: 300px;
        font-size: 16px;
        margin: 0px auto 0;
    }

    .webc_h3_title h3,
    .webc_h3_title h2 {
        font-size: 20px;
        padding: 13px 0px;

    }

    .offten_list {
        display: block;
        margin: 40px auto 0;
        width: 100%;
    }

    .offten_list li {
        text-align: center;
        width: 100%;
        display: flex;
        margin: 0 0 30px;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .offten_list li div {
        width: 60px;
    }

    .offten_list li dl {
        width: 100%;
        text-align: center;
    }

    .sub_midashi_txt {
        font-size: 18px
    }


    .site_flow {
        padding: 10px;
    }

    .site_flow ul li {
        display: block;
        padding: 0 0 38px;
    }

    .site_flow_title {
        font-size: 18px;
        width: 100%;
        padding: 10px 0;
    }

    .site_flow_txt {
        background-color: #FFF;
        padding: 10px;
        width: 100%;
        font-size: 16px;
    }


    .site_flow ul li:after {
        border-left: 30px solid transparent;
        border-right: 30px solid transparent;
        border-top: 20px solid #BA383C;
        position: absolute;
        bottom: 12px;
        left: 50%;
        margin-left: -30px;
    }


    .support_disp {
        padding: 10px;
    }

    .support_disp dl {
        width: 100%;
        margin-top: 7px;
        margin-bottom: 7px;
    }

    .support_disp dl dt {
        font-size: 18px;
        padding: 10px 0;
    }

    .support_disp dl dd {
        padding: 10px 0;
    }

    .zisseki_in div:first-child,
    .zisseki_in div:nth-child(2n) {
        width: 100%;
        margin: 0 0 10px;
    }


    .contact_disp {
        padding: 30px 0;
        margin: 50px 0 0;
    }

    .contact_disp h2 {
        text-align: center;
        font-size: 22px;
        font-weight: bold;
        margin: 0 0 0;
    }



    .faq-con dl {
        font-size: 18px;
    }

    .faq-con dt {
        padding: 15px 5px 15px 35px;
    }

    .faq-con dt:before {
        left: 6px;
        top: 15px;
    }

    .faq-con dd {
        padding: 10px 10px 20px 35px;
        font-size: 16px;
    }

    .faq-con dd:before {
        left: 10px;
        top: 10px;
    }

    .link_title-con h2 {
        font-size: 22px;
    }


}

@media(max-width:480px) {}

@media(max-width:460px) {}

@media(max-width:420px) {

    .main_txt-con>div {
        padding: 0px;
        border-radius: 15px;
        font-weight: bold;
        font-size: 14px;
    }

    .main_txt-con>div h2 {
        margin: 0 0 20px;
        font-size: 20px;
    }

    .shop_contact {
        margin: 10px auto 0;
    }

    .fllow_arrow:after {
        border-left: 40px solid transparent;
        border-right: 40px solid transparent;
        border-top: 24px solid #4B5961;
        margin: 0 0 0 -40px;
        bottom: 9px;
    }

}



/* contact */

.contact-container {
    max-width: 700px;
    margin: auto;
}

.contact-container>li {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 10px 7px;
    /* border-bottom: 1px solid #e4e4e4; */
}

.contact-container>li div {
    display: table-cell;
    vertical-align: middle;
    padding: 0;
    box-sizing: border-box;
}

.contact-container>li div:first-child {
    width: 100%;
    text-align: left;
    color: #1f2b61;
    font-weight: bold;
    margin: 0 0 6px 0px;
}

.contact-container>li div:last-child {
    width: 100%;
    font-size: 15px;
    margin: 0 0 10px;
}

.contact-container>li div:last-child p {
    width: 100%;
    border: 1px solid #d5d5d5;
    background-color: #fcfaf3;
    padding: 10px;
    line-height: 1.8;


}

.contact-container>li ul {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    padding: 10px 0;
}

.contact-container>li ul li {}

@media (max-width:768px) {
    .contact-container {}

    .contact-container li {
        display: block;
        /* padding: 20px 15px; */
    }

    .contact-container li div {
        display: block;
        padding: 0;
    }

    .contact-container li div:first-child {
        width: 100%;
        text-align: left;
        margin: 0 auto 5px;
    }

    .contact-container li div:last-child {
        width: 100%;
    }

    .contact-container>li ul li {
        width: 100%;
        margin: 0 0 10px
    }

}


/*---------- checkbox ----------*/

.interest_label {
    position: relative;
    padding: 0 0 0 30px;
    font-size: 15px;
    height: 25px;
}

.interest_label:hover:after {
    border-color: #d5d5d5
}

.interest_label:after,
.interest_label:before {
    position: absolute;
    content: "";
    display: block;
    top: 45%;
}

.interest_label:after {
    left: 0px;
    margin-top: -10px;
    width: 25px;
    height: 25px;
    border: 1px solid #d5d5d5;
    background-color: #ffffff;
}

.interest_label:before {
    left: 0px;
    top: 0;
    width: 25px;
    height: 25px;
    opacity: 0;
    background-image: url(../../common/images/bt/check.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 23px auto;
}

input[type=checkbox]:checked+.interest_label:after {
    opacity: 0;
}

input[type=checkbox]:checked+.interest_label:before {
    opacity: 1;
}


/*---------- flag ----------*/
.highlight-red {
    background-color: #ea5703;
    color: #fff;
    padding: 2px 5px;
    margin: 0 0 0 15px;
    font-weight: normal;
}

.highlight-blue {
    background-color: #6290cf;
    color: #fff;
    padding: 2px 5px;
    margin: 0 0 0 15px;
    font-weight: normal;
    font-size: 11px;
}

/*---------- dec ----------*/
.note {
    color: #333333;
    line-height: 1.5;
    font-weight: 300
}

#address1 {
    margin: 0 20px 10px 0;
}

@media (max-width:768px) {
    #address1 {
        margin: 0px 0px;
    }
}

.btn-container {
    margin: 40px auto 0;
    text-align: center
}

.btn-container li {
    display: inline-block;
    margin: 0 20px 0;
}

@media (max-width:768px) {
    .btn-container li {
        margin: 0 auto 20px !important;
    }
}

/*---------- width ----------*/
.w300 {
    width: 100%;
}

.w350 {
    width: 100%;
}

.w600 {
    width: 100%;
}

.w120 {
    width: 216px;
}

@media (max-width:768px) {
    .w600 {
        box-sizing: border-box;
        width: 100% !important;
    }
}

@media (max-width:480px) {
    .w300 {
        box-sizing: border-box;
        width: 100% !important;
    }

    .w350 {
        box-sizing: border-box;
        width: 100% !important;
    }
}

.edit_errors {
    margin: 10px auto;
    padding: 10px 20px;
    font-weight: 400px;
    font-size: 16px;
    line-height: 1.5;
    color: #ea3603;
    max-width: 700px;
    font-weight: bold;
}

.consulting-form-content {
    max-width: 700px;
    margin: auto;
}

.consulting-form-content .form-block {
    width: 100%;
    padding: 10px 7px;
}

.consulting-form-content .form-name {
    width: 100%;
    color: #1f2b61;
    font-weight: bold;
    margin: 0 0 6px 0px;
}

.consulting-form-content .form-name span {
    background-color: #ea5703;
    color: #fff;
    padding: 2px 5px;
    margin: 0 0 0 15px;
    font-weight: normal;
    font-size: 11px;
}

.consulting-form-content .form-input {
    width: 100%;
    font-size: 15px;
    margin: 0 0 10px;
}

.consulting-form-content .form-input input {
    width: 100%;
    background-color: #fff;
    border: 1px solid #d5d5d5;
    background-color: #ffffff;
    padding: 7px 10px;
    box-sizing: border-box;
    margin: 0 0;
}

.consulting-form-content .input-spec {
    width: 22%;
}

.consulting-form-content .form-input textarea {
    width: 100%;
    height: 150px;
    background-color: #fff;
    border: none;
}

.consulting-form-content span.wpcf7-list-item {
    margin: 10px 15px;
}

.consulting-form-content span.wpcf7-list-item-label {
    color: #1f2b61;
    font-weight: 500;
}

input.wpcf7-form-control.has-spinner.wpcf7-submit {
    color: #fff;
}

.consulting-form-content .form-name span.blue-iro {
    background-color: #6290cf !important;
    color: #fff;
    padding: 2px 5px;
    margin: 0 0 0 15px;
    font-weight: normal;
    font-size: 11px;
}

.form-input {
    color: #a7a7a7;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner {
    border: unset;
    background-color: unset;
}