@charset "UTF-8";

/*----------▼共通部分▼------------*/
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
ol, ul {
    list-style: none;
}

.pc_dp_n{
    display: none;
}

h4:not(.name) {
    background-color: #3266cc;
    color: #fff;
    margin: 0 3.5%;
    margin-top: 5%;
    padding: 0.5% 0;
}

h1 {
    text-align: center;
    color: #3366cc;
    margin-top: 3.5%;
    font-size: 2.4rem;
}

h2 {
    text-align: center;
    color: #3366cc;
    margin-top: 3.5%;
    font-size: 2.4rem;
}
.bgblue {
    background-color: #3266CC;
    height: 220px;
    position: relative;
}

.all_trouble>img {
    margin-top: -7%;
    z-index: 2;
    position: relative;
    max-width: 600px;
}
.prize_area_section1::after {
    z-index: 0;
}
.prize_area>.prize {
    left: 0;
    right: 0;
    bottom: -148px;
}

.fcO {
    color: #ff6001;
}
.mb20{
    margin-bottom: 20px;
}
/*----------sp------------*/
@media (max-width: 767px) { 
.pc_dp_n{
    display: block;
}
.sp_dp_n{
    display: none;
}
}
/*----------▲共通部分▲------------*/

/*お悩みの鍵トラブル*/
.worries_area{
    background-color: #def3ff;
    padding: 30px 40px 5px 40px;
}

.list {
    margin: 2% 2% 0% 2%;
    border-radius: 20px;
    background-color: #fff;
    position: relative;
    margin-top: 5%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    padding: 3%;
    box-shadow: 7px 7px 18px -8px rgba(0,0,0,0.5);
}
.list .man {
    flex-basis: 100%;
    padding-right: 3%
}

/*トラブル*/
.trouble_area{
    padding: 20px 40px 100px;
    background-image: url(../img/bg.png);
    background-size: contain;
}

.trouble_area .content_ttl {
    width: 65%;
    max-width: 510px;
    margin: 3% auto;
}

.trouble-area-fx{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.trouble-area-box {
    background: #fff;
    border-radius: 20px;
    width: calc(98% / 2);
    border: 3px solid #3266cc;
    margin-top: 20px;
}

.trouble-area-box a{
    color: initial;
    text-decoration: none;
}

.trouble-area-box .trouble-box-tit {
    font-size: 1.2em;
    background: #3266cc;
    padding: 10px;
    text-align: center;
    color: #FFF;
    font-weight: bold;
    border-radius: 15px 15px 0 0;
}

.trouble-area-box img {
    padding: 15px 15px 0 15px;
    margin: 0;
}

.trouble-area-box p {
    padding: 5px 15px;
    margin: 0;
}

p.trouble-price{
    padding: 5px 15px;
    text-align: center;
    font-size: 45px;
    font-weight: bold;
    color: #e50710;
}

.trouble-price span{
    font-size: 30px;
}

p.trouble-txt{
    font-size: 16px;
}

p.trouble-box-lin{
    position: relative;
    border: 2px solid #3266cc;
    border-radius: 10px;
    margin: 15px 15px;
    color: #3266cc;
    font-weight: bold;
    text-align: center;
    padding: 10px;
}

.trouble-box-lin::after {
    content: "▶";
    color: #3266cc;
    font-size: 90%;
    position: absolute;
    right: 5%;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.trouble-area-box:hover {
    opacity: 0.7 ;
}

/*お客様の声*/
.area_ttl {
    max-width: 55%;
}
.customer_voice{
/*    border-top: 18px solid #0a57bb;*/
}

/*作業の流れ*/
.step_area {
    background-color: #fffdde;
    padding: 20px 40px 100px;
}

/*スタッフ紹介*/
.staff_area{
    background-image: url('../../../../img/staff_bg.png');
    background-size: cover;
    border-top: 18px solid #0a57bb;
    padding: 30px 20px 70px;
}
.staff_flex{
    width: 98%;
    max-width: 800px;
    margin: 0 auto;
    flex-wrap: wrap;
}
.staff_flex,
.staff_detail{
    display: flex;
    justify-content: space-between;
}
.staff_child{
    border: 3px solid #0a57bb;
    position: relative;
    width: 49%;
    background-color: #fffee6;
    box-shadow: 10px 10px 5px rgba(0,0,0,.17);
    margin-bottom: 35px;
}
.staff_detail{
    align-items: center;
    background-color: #fff;
    padding: 20px;
}
.staff_detail>img{
    display: block;
    width: 27%;
}
.staff_detail>div{
    width: 70%;
}
.staff_detail>div>h4 .name {
    color: #0a57bb;
    border-bottom: 1px solid #0a57bb;
    padding: 0 0 3px;
    text-align: left;
    margin-bottom: 10px;
}
.staff_bnr{
    position: absolute;
    right: 10px;
    top: -10px;
    width: 60px;
}
.staff_detail+p{
    padding: 20px;
    color: #2b2b2b;
    margin: 0;
}

/*よくある質問*/
.qa_area{
/*    border-top: 18px solid #0a57bb;*/
}

.flow_area {
    border-top: 18px solid #0a57bb;
}

/*----------sp------------*/
@media (max-width: 767px) { 
    .prize_area>.prize {
        bottom: -59px;
    }
    .bgblue {
        height: 120px;
    }
    /*トラブル*/
    .trouble_area {
        padding: 20px 20px 50px;
        background-repeat: repeat-y;
    }

    .trouble_area .content_ttl {
        width: 100%;
        max-width: 100%;
        margin: 3% auto;
    }

    .trouble-area-fx{
        flex-direction: column;
    }

    .trouble-area-box {
        width: 100%;
        margin-top: 20px;
    }

    .trouble-area-box .trouble-box-tit {
        font-size: 1.2em;
        padding: 10px;
    }

    p.trouble-price{
        padding: 5px 15px;
        font-size: 40px;
    }

    .trouble-price span{
        font-size: 28px;
    }

    p.trouble-txt{
        font-size: 18px;
    }

    p.trouble-box-lin{
        margin: 15px 15px;
        padding: 10px;
    }
    
    /*お悩みの鍵トラブル*/
    h4 {
        margin: 7% 1.5% 2% 1.5%;
        padding: 1% 0;
    }
    .worries_area {
        padding: 20px;
    }

    .worries_area .content_ttl {
        width: 100%;
        max-width: 103%;
        margin: 3% auto;
    }

    .worries_area p {
        text-align: left;
        font-size: 16;
    }
    .list {
        display: flex;
        flex-direction: column;
        margin: 5% 0 10% 0;
        padding: 20px;
    }
    .list .man {
        padding-right: 0;
    }
    
    .list p {
        margin-top: 3%;
    }
    h1 {
        font-size: 1.7rem;
        margin-top: 7%;
    }
    h2 {
        font-size: 1.7rem;
        margin-top: 7%;
    }

    /*作業の流れ*/
    .step_area {
        padding: 20px 20px 40px;
    }
    /*お客様の声*/
    .area_ttl {
        max-width: 90%;
    }
    
    /*スタッフ紹介*/
    .staff_flex{
        display: block;
    }
    .staff_area{
        padding-bottom: 30px;
    }
    .staff_child{
        width: 100%;
        margin: 20px 0;
        box-shadow: none;
    }
    .staff_detail>img{
        width: 35%;
    }
    .staff_detail>div{
        width: 62%;
    }

}
 /*220225*/
.fv_text_p2 {
       font-size: 2vw;
    position: absolute;
    color: #fff;
    font-weight: bold;
    left: 17.4%;
    line-height: 1.2;
    top: 12.3%;
    text-align: center;
}
.fv_text_p3 {
    font-size: 2vw;
    position: absolute;
    color: #fff;
    font-weight: bold;
    left: 17.5%;
    line-height: 1.2;
    top: 11.3%;
    text-align: center;
}
.fv_text_p4 {
font-size: 2vw;
    position: absolute;
    color: #fff;
    font-weight: bold;
    left: 16.4%;
    line-height: 1.2;
    top: 11.4%;
    text-align: center;
}

.fv_text02 {
       font-size: 2vw;
    position: absolute;
    color: #fff;
    font-weight: bold;
    left: 17.3%;
    line-height: 1.2;
    top: 15%;
}
.fv_text03 {
        font-size: 2vw;
    position: absolute;
    color: #fff;
    font-weight: bold;
    left: 16.3%;
    line-height: 1.2;
    top: 15.7%;
}
.bgblue {
    height: 185px;
}
.all_trouble {
    padding-top: 0;
}
.intro {
    position: relative;
    width: 600px;
    margin: auto;
}
.intro_text {
position: absolute;
        top: 11%;
    font-size: 25px;
    color: #fff;
    font-weight: bold;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
    z-index: 99;
}
.pics.area_ttl {
    position: relative;
    max-width: 100%;
}
.customer-voice_text {
    position: absolute;
    text-align: center;
    right: 0;
    left: 0;
    margin: auto;
    color: #3266cc;
    font-weight: bold;
    font-size: 35px;
    top: 55%;
}
.pics.area_ttl img {
    max-width: 55%;
}

@media (max-width: 767px) { 
    .fv_text_small {
    font-size: 11.5px !important;
}
.fv_text_small2 {
    font-size: 10px !important;
}
    .fv_text_p2 {
     font-size: 4.3vw;
    left: 11%;
    top: 5.5%;
}
    .fv_text_p3 {
     font-size: 4.3vw;
    left: 9%;
    top: 5.5%;
}
    .fv_text_p4 {
font-size: 3.8vw;
    left: 8.7%;
    top: 5.7%;
}
    .fv_text02 {
     font-size: 4.3vw;
    left: 15%;
    top: 5.9%;
}
.fv_text03{
    font-size: 4.3vw;
    left: 13%;
    top: 5.9%;
}
.bgblue {
    height: 140px;
}
.all_trouble {
    padding-bottom: 20px;
}
.intro {
    width: 95%;
}
.intro_text {
   font-size: 16px;
    top: 11%;
}
.pics.area_ttl {
    margin-bottom: 20px;
}
.customer-voice_text {
    font-size: 25px;
}
}
.staff_detail>div>h4 {
  background: none !important;
}

.fv_text_small{
       font-size: 1.55vw;
}
.fv_text_small2 {
    font-size: 1.3vw;
}


/*ポップアップ 240116下層追加*/
.active{
    display: block !important;
    animation-name: fadeIn;
    animation-duration: .2s;
    animation-fill-mode: both;
}
.madal_container {
    background: rgba(0, 0, 0, .7);
    position: fixed;
    width: 100%;
    height: 100%;
    display: none;
    z-index: 10000;
}
.madal_contents {
    width: 29%;
    height: auto;
    position: absolute;
    top: 44%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.madal_contents span {
    cursor: pointer;
    position: absolute;
    top: -26px;
    right: -30px;
    color: #fff;
    font-size: 2em;
    z-index: 11111;
    font-weight: bold;
}


@media screen and (max-width: 640px){
.madal_contents {
    width: 75%;
    top: 47%;
}
}

/*ポップアップ end */