
.main_img_cover {
    width: 100%;
    height: calc(100vh - 70px);
    background: url("../images/sp_fv.jpg") no-repeat center top;
    background-size: cover;
    position: relative;
	margin-bottom: 100px;
}
.main_img_cover .h2_bg {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.main_img {
    width: 90%;
    height: 100%;
    position: relative;
    z-index: 2;
    margin: 0 auto;
}
.main_img .sp_h2 {
    position: absolute;
    bottom: 25%;
    left: 0;
    right: 0;
    margin: auto;
}
.main_img .h2_txt {
    margin-bottom: 15px;
}
.main_img .h2_txt span {
    display: inline-block;
    background: rgba(82,73,58,0.85);
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    border-radius: 5px;
    line-height: 1;
    padding: 10px 15px;
}

.main_img h2 {
    display: inline-block;
    background: rgba(255,255,255,0.8);
    border-radius: 5px;
    line-height: 1;
    font-size: 33px;
    padding: 10px 15px 15px;
    color: #615848;
}
.main_img h2 span {
    font-size: 43px;
    color: #647B59;
}

.index_main .txt_btn a { font-size: 13px;}
@media screen and (min-width: 1180px) {
    .main_img_cover {
        height: 100vh;
        background: url("../images/fv.jpg") no-repeat center top;
        background-size: cover;
        box-sizing: border-box;
        padding-left: 345px;
    }
    .main_img_cover .h2_bg {
        display: none;
    }
    .main_img {width: 90%;}
    .main_img .sp_h2 { display: none;}
    .main_img .h2_txt { margin-bottom: 20px;}
    .main_img .h2_txt span {
        font-size: 33px;
        padding: 15px 15px;
    }
    .main_img h2 {
        font-size: 55px;
        padding: 20px 0px 25px 20px;
    }
    .main_img h2 span {
        font-size: 72px;
    }
    .main_img .pc_area {
        position: absolute;
        bottom: 25%;
        left: 0;
    }
}

/*--------- news ---------*/
#top_news {
    width: 95%;
    background: #fff;
    margin-left: 5%;
    padding: 45px 30px 30px;
    margin-top: -130px;
    position: relative;
    z-index: 5;
    margin-bottom: 80px;
}
#top_news .main_sec { width: 100%;}

#top_news .main_sec .title_b {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 40px;
}
#top_news .main_sec .title_b h3 {
    font-size: 23px;
    line-height: 1.5;
}
#top_news .main_sec .title_b h3 span {
    display: block;
    color: #89A376;
    font-size: 12px;
    font-family: "Sorts Mill Goudy", serif;
}

#top_news .main_sec .title_b .view_btn {
    width: 150px;
}
#top_news .main_sec .title_b .view_btn a {
    display: block;
    width: 100%;
    border-bottom: 1px solid #A5A882;
    font-size: 14px;
    font-family: "Sorts Mill Goudy", serif;
    color: #2E2E2E;
    text-decoration: none;
    padding-bottom: 10px;
}
.news_a_list {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.news_a_list .block {
    background: #FBFAF8;
    box-sizing: border-box;
    padding: 20px 25px 12px 25px;
    margin-bottom: 5px;
    position: relative;
}
.news_a_list .block a {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.news_a_list .block:last-child { margin-bottom: 0;}
.news_a_list .block .date {
    font-size: 11px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    margin-bottom: 5px;
}
.news_a_list .block p {
    font-size: 14px;
    line-height: 1.7;
}
.news_a_list .block .more {
    border-top: 1px solid #EDECE3;
    text-align: right;
    font-size: 14px;
    font-family: "Sorts Mill Goudy", serif;
    padding-top: 10px;
    margin-top: 15px;
}

@media screen and (min-width: 1180px) {
    #top_news {
        width: 75%;
        margin-left: 25%;
        padding: 60px 0 60px 80px;
        margin-top: -100px;
        margin-bottom: 130px;
    }

    #top_news .main_sec {
        max-width: 1130px;
        display: flex;
        justify-content: space-between;
        margin: 0;
    }

    #top_news .main_sec .title_b {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items:flex-start;
        margin-bottom: 0;
        padding: 10px 0;
    }
    #top_news .main_sec .title_b h3 { font-size: 28px;}
    #top_news .main_sec .title_b h3 span { font-size: 15px;}
    #top_news .main_sec .title_b .view_btn { width: 200px;}
    #top_news .main_sec .title_b .view_btn a {
        font-size: 16px;
        padding-bottom: 10px;
    }

    .news_a_list {
        max-width: 850px;
        flex-direction:row;
        justify-content: space-between;
    }

    .news_a_list .block {
        width: 33%;
        padding: 30px 30px 20px 30px;
        margin-bottom: 0;
    }

    .news_a_list .block .date {
        font-size: 13px;
        margin-bottom: 10px;
    }
    .news_a_list .block p { font-size: 16px;}
    .news_a_list .block .more {
        font-size: 16px;
        padding-top: 20px;
        margin-top: 30px;
    }
}


.top_common_ttl {
    margin-bottom: 40px;
    position: relative;
}
.top_common_ttl:after {
    font-family: "Sorts Mill Goudy", serif;
    font-size: 80px;
    color: rgba(255,255,255,0.4);
    line-height: 1;
    position: absolute;
    top: 0;
    right: 0;
}
.top_common_ttl h3 {
    color: #615848;
    font-size: 27px;
    line-height: 1.4;
    position: relative;
    z-index: 2;
}
.top_common_ttl p {
    position: relative;
    padding-left: 18px;
    color: #615848;
    font-size: 14px;
    font-family: "Sorts Mill Goudy", serif;
    z-index: 2;
}
.top_common_ttl p:before {
    content: "";
    display: block;
    width: 13px;
    height: 12px;
    background: url("../images/icon01.png") no-repeat;
    background-size: contain;
    position: absolute;
    top: 5px;
    left: 0;
}

@media screen and (min-width: 1180px) {
    .top_common_ttl {
        margin-bottom: 40px;
    }

    .top_common_ttl:after {
        font-size: 163px;
        top: -40px;
        right: auto;
        left: -200px;
    }

    .top_common_ttl h3 {
        font-size: 38px;
        line-height: 1.2;
    }
    .top_common_ttl p {
        padding-left: 1.8em;
        font-size: 20px;
    }
    .top_common_ttl p:before {
        width: 26px;
        height: 23px;
        top: 5px;
    }

}



/*--------- info/pick ---------*/
.top_bg_g {
    width: 100%;
    height: 100%;
    position: relative;
}
.top_bg_g:after {
    content: "";
    display: block;
    position: absolute;
    top: 50px;
    left: 0;
    width: 100%;
    height: 80%;
    background: #E5E7D6;
}
#top_info_pick {
    width: 95%;
    background: #fff;
    margin-left: 5%;
    padding: 45px 30px 40px;
    margin-top: -50px;
    position: relative;
    z-index: 5;
    margin-bottom: 70px;
}
#top_info_pick .main_sec { width: 100%; max-width: 1200px; margin: 0;}
#top_info_pick .main_sec.top_info {
    padding-bottom: 50px;
    margin-bottom: 50px;
    position: relative;
}
#top_info_pick .txt_btn { width: 220px;}
#top_info_pick .main_sec.top_info:before {
    content: "";
    display: block;
    width: 150%;
    height: 1px;
    background: #D9D9D9;
    position: absolute;
    bottom: 0;
    left: -30px;
}

@media screen and (min-width: 1180px) {
    .top_bg_g:after {
        height: 77%;
    }
    #top_info_pick {
        width: 75%;
        margin-left: 25%;
        padding: 110px 0 100px 120px;
        margin-top: -120px;
    }
    #top_info_pick .main_sec .title_block {
        display: flex;
        justify-content: space-between;
        align-content: flex-end;
        margin-bottom: 50px;
    }
    #top_info_pick .main_sec .title_block .top_common_ttl h3 { margin-bottom: 0;}
    #top_info_pick .txt_btn { width: 330px;}
    #top_info_pick .main_sec.top_info {
        padding-bottom: 80px;
        margin-bottom: 80px;
    }
    #top_info_pick .main_sec.top_info:before {
        width: 1900px;
        left: -120px;
    }
    #top_info_pick .main_sec .property_event-list {
        gap: 16px;
    }
    #top_info_pick .main_sec .property_event-list .list_block {
        width: 24%;
        margin: 0;
    }
}


/*--------- strengths ---------*/
#top_strengths {
    background: #fff;
    position: relative;
    margin-bottom: 40px;
    padding-bottom: 40px;
    padding-top: 40px;
}
#top_strengths:before {
    content: "Strengths";
    font-family: "Sorts Mill Goudy", serif;
    font-size: 80px;
    color: rgba(215,219,191,0.2);
    line-height: 1;
    position: absolute;
    top: -30px;
    right: 0;
}

#top_strengths .main_sec {
    position: relative;
    z-index: 2;
}
#top_strengths .main_sec .top_s_ttl {
    font-size: 25px;
    margin-bottom: 40px
}
#top_strengths .main_sec .top_s_ttl span { color:#647B59 ;}
#top_strengths .main_sec .top_s_ttl .line { background: linear-gradient(transparent 65%, #F0F2EB 65%);}
#top_strengths .main_sec .top_s_ttl .b_f { font-size: 48px;background: linear-gradient(transparent 80%, #F0F2EB 80%); line-height: 1.2;}

#top_strengths .strength_content01 {
    width: 100%;
    box-sizing: border-box;
    padding-left: 5%;
    display: flex;
    justify-content: space-between;
    position: relative;
}

#top_strengths .strength_content01 .img {
    width: 40%;
    position: relative;
}
#top_strengths .strength_content01 .img:before {
    content: "01";
    font-family: "Noto Serif Display", serif;
    color: #A5A882;
    position: absolute;
    top: 10px;
    left: -15px;
    font-size: 55px;
    line-height: 1;
}


#top_strengths .strength_content01 .text_area {
    width: 60%;
    padding-top: 30px;
}
#top_strengths .text_area p {
    font-size: 14px;
}
#top_strengths .s_text { padding: 20px 5% 0;}

#top_strengths .s_ttl_ptn01 {
    font-size: 14px;
    border-bottom: 1px solid #707070;
    margin-bottom: 20px;
    padding-bottom: 10px;
    padding-top: 5px;
}
#top_strengths .s_ttl_ptn02 {
    font-size: 22px;
    line-height: 1.9;
}
#top_strengths .s_ttl_ptn02 span {
    color:#647B59 ;
    background: linear-gradient(transparent 65%, #F0F2EB 65%);
}
#top_strengths .strength_content02 .img {
    width: 100%;
    position: relative;
}
#top_strengths .strength_content02 .img:after {
    content: "02";
    font-family: "Noto Serif Display", serif;
    color: #A5A882;
    position: absolute;
    bottom: -20px;
    right: 20px;
    font-size: 55px;
    line-height: 1;
}

#top_strengths .strength_content02 {
    width:82%;
    box-sizing: border-box;
    position: relative;
    margin-bottom: 70px;
}

#top_strengths .strength_content02 .text_area {
    width: 90%;
    margin: 0 auto;

}
#top_strengths .strength_content02 .text_area .s_ttl_ptn01 {
    position: relative;
    padding-left: 1.5em;
}
#top_strengths .strength_content02 .text_area .s_ttl_ptn01:before {
    content: "";
    display: block;
    width: 1px;
    height: 43px;
    position: absolute;
    top: 0px;
    left: 0;
    background: #707070;
}


#top_strengths .strength_content03 {
    width: 100%;
    box-sizing: border-box;
    padding-right: 5%;
    display: flex;
    justify-content: space-between;
    position: relative;
}

#top_strengths .strength_content03 .img {
    width: 40%;
    position: relative;
}
#top_strengths .strength_content03 .img:before {
    content: "03";
    font-family: "Noto Serif Display", serif;
    color: #A5A882;
    position: absolute;
    top: -30px;
    right: 10px;
    font-size: 55px;
    line-height: 1;
}

#top_strengths .strength_content03 .text_area {
    width: 60%;
}
#top_strengths .strength_content03 .text_area .s_ttl_ptn01 { box-sizing: border-box; padding-left: 10%;}
#top_strengths .strength_content03 .text_area .inner {
    padding-left: 10%;
}


@media screen and (min-width: 1180px) {
#top_strengths {
    background: #fff;
    position: relative;
    margin-bottom: 40px;
    padding-bottom: 40px;
    padding-top: 40px;
}
    #top_strengths:before {
        font-size: 163px;
        top: -80px;
    }

    #top_strengths .main_sec {
        box-sizing: border-box;
        padding-left: 34%;
    }
    #top_strengths .main_sec .top_s_ttl {
        font-size: 25px;
        margin-bottom: 40px
    }

    #top_strengths .strength_content01 {
        width: 40%;
        padding-left: 0;
        margin-left: 60%;
        align-items: center;
    }
    #top_strengths .strength_content01 .img {
        width: 40%;}
    #top_strengths .strength_content01 .img:before {
        font-size: 100px;
        top: 10px;
        left: -40px;
    }

    #top_strengths .strength_content01 .text_area {
        width: 60%;
        padding-top: 30px;}
    #top_strengths .text_area p { font-size: 18px;}


    #top_strengths .s_ttl_ptn01 {
    font-size: 16px;
    margin-bottom: 20px;
    padding-bottom: 10px;
    padding-top: 5px;
}
    #top_strengths .s_ttl_ptn02 {
        font-size: 28px;
        line-height: 1.8;
        margin-bottom: 20px;
        letter-spacing: 0.05em;
    }

    #top_strengths .strength_content02 .img {
    width: 100%;
    position: relative;
    }
    #top_strengths .strength_content02 .img:after {
        bottom: -30px;
        right: 50px;
    font-size: 100px;
    }
    #top_strengths .strength_content02 {
        width: 44%;
        position: absolute;
        top: -50px;
        left: 0;
        margin-bottom: 0;
        overflow: hidden;
    }

    #top_strengths .strength_content02 .text_area {
        width: 310px;
        margin: 0 100px 0 0;
        float: right;
    }

    #top_strengths .strength_content02 .text_area .s_ttl_ptn01 { padding-left: 45px; padding-top: 80px;}
    #top_strengths .strength_content02 .text_area .s_ttl_ptn01:before {
        height: 100%;
        top: 0px;}
    #top_strengths .strength_content02 .text_area .s_ttl_ptn02,
    #top_strengths .strength_content02 .text_area p { padding-left: 45px;}
    #top_strengths .strength_content03 {
        width: 37%;
        padding-right: 0;
        margin-left: 51%;
        margin-top: 80px;
    }

    #top_strengths .strength_content03 .img { width: 45%;}
    #top_strengths .strength_content03 .img:before {
        top: -50px;
        right: 3px;
       font-size: 100px;}

#top_strengths .strength_content03 .text_area {
    width: 60%;
}
#top_strengths .strength_content03 .text_area .s_ttl_ptn01 { box-sizing: border-box; padding-left: 10%;}
#top_strengths .strength_content03 .text_area .inner {
    padding-left: 12%;
}

}

/*--------- reason ---------*/
#top_reason {
    position: relative;
    margin-bottom: 80px;
    height: 100%;

}
#top_reason:after {
    content: "";
    display: block;
    width: 100%;
    height: 90%;
    background: #EBE9DE;
    position: absolute;
    top: 0;
    left: 0;
}

#top_reason .main_sec {
    width: 100%;
    padding: 60px 5% 150px;
    box-sizing: border-box;
    background: url("../images/top_sp_reason_img02.png") no-repeat center top;
    background-size: cover;
    position: relative;
    z-index: 2;
}
#top_reason .main_sec .top_common_ttl:after {
    content: "Reason";
}
#top_reason .main_sec .text_area .text01 {
    font-size: 21px;
    margin-bottom: 10px;
}
#top_reason .main_sec .text_area .text01 span {
    background: #E4E3D4;
    border-radius: 5px;
    padding: 4px 8px;
}

#top_reason .main_sec .txt_btn {
    width: 195px;
    margin-top: 50px;
}
#top_reason .reason_content {
    width: 95%;
    margin-left: 5%;
    background: #fff;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 2;
}
#top_reason .reason_content .reason_img {
    width: 100%;
}
#top_reason .reason_content .reason_img img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

#top_reason .reason_content ul li {
    border-bottom: 1px solid #F0F0F0;
    font-size: 18px;
    line-height: 1;
}
#top_reason .reason_content ul li:last-child {
    border-bottom: none;
}
#top_reason .reason_content ul li span {
    display: block;
    color: #8C7D61;
    font-size: 12px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    margin-bottom: 10px;
}
#top_reason .reason_content ul li a {
    color: #2E2E2E;
    text-decoration: none;
    display: block;
    width: 100%;
    padding: 25px 25px;
    box-sizing: border-box;
    position: relative;
}

#top_reason .reason_content ul li a:before,
#top_reason .reason_content ul li a:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

#top_reason .reason_content ul li a:before {
    width: 31px;
    height: 22px;
    right: 25px;
    border: 1px solid #EBE9DE;
    border-radius: 30px;

}
#top_reason .reason_content ul li a:after {
    width: 8px;
    height: 2px;
    background: url("../images/arrow_b.png") no-repeat;
    background-size: contain;
    right: 36px;
}


@media screen and (min-width: 1180px) {
    #top_reason {
        margin-bottom: 80px;
        height: 100%;
    }
    #top_reason:after {
        width: calc(100% - 50px);
        height: 80%;
    }
    .top_reason_outer {
        padding-left: 345px;
        margin-right: 50px;
        background: url("../images/top_reason_img02.png") no-repeat right top;
        background-size:auto;
        position: relative;
        z-index: 1;
    }
    #top_reason .main_sec {
        padding: 140px 0 140px;
        background: none;
    }
    #top_reason .main_sec .text_area .text01 {
        font-size: 30px;
        margin-bottom: 10px;
    }
    #top_reason .main_sec .text_area .text01 span { padding: 4px 10px;}
    #top_reason .main_sec .txt_btn {
        width: 330px;
        margin-top: 70px;
    }
    #top_reason .reason_content {
        width: 70%;
        margin-left: 30%;
        flex-direction:row-reverse;
        align-items: center;
    }
    #top_reason .reason_content .reason_img { width: 60%; height: 645px;}
    #top_reason .reason_content .reason_img img { height: 645px;}
    #top_reason .reason_content ul { width: 40%;}
    #top_reason .reason_content ul li { font-size:22px;}
    #top_reason .reason_content ul li span { font-size: 16px; margin-bottom: 15px;}
    #top_reason .reason_content ul li a { padding: 30px 50px;}
    #top_reason .reason_content ul li a:before {
        width: 52px;
        height: 37px;
        right: 40px;
    }
    #top_reason .reason_content ul li a:after {
        width: 15px;
        height: 3px;
        right: 55px;
    }

}

/*--------- result ---------*/
#top_result {
    margin-bottom: 50px;

}
#top_result .txt_btn { width: 220px;}
#top_result .main_sec .result_list {
    width: 100%;
    margin-bottom: 50px;
}
#top_result .main_sec .top_common_ttl { margin-bottom: 20px;}
#top_result .main_sec .top_common_ttl:after { content: "Result";}
#top_result .main_sec .result_list li {
    border-bottom: 1px solid #D9D9D9;
    font-size: 13px;
}
#top_result .main_sec .result_list li a {
    display: block;
    width: 100%;
    color: #2E2E2E;
    text-decoration: none;
    padding: 20px 0;
    position: relative;
}

#top_result .main_sec .result_list li a:before,
#top_result .main_sec .result_list li a:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

#top_result .main_sec .result_list li a:before {
    width: 31px;
    height: 22px;
    right: 0;
    background: #fff;
    border-radius: 30px;
}
#top_result .main_sec .result_list li a:after {
    width: 8px;
    height: 2px;
    background: url("../images/arrow_b.png") no-repeat;
    background-size: contain;
    right: 11px;
}
#top_result .main_sec .result_list li span {
    font-size: 11px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    border-right: 1px solid #D9D9D9;
    padding-right: 15px;
    margin-right: 15px;
}
@media screen and (min-width: 1180px) {
    #top_result {
        padding-left: 345px;
        margin-bottom: 100px;
    }
    #top_result .txt_btn { width: 250px;}
    #top_result .main_sec {
        display: flex;
        justify-content: space-between;
    }
    #top_result .main_sec .title_block {
        width: 27%;
    }
    #top_result .main_sec .result_list {
        width: 64%;
        margin-bottom: 0px;
    }
    #top_result .main_sec .top_common_ttl { margin-bottom: 60px;}
    #top_result .main_sec .result_list li { font-size: 16px;}
    #top_result .main_sec .result_list li a { padding: 24px 0;}
    #top_result .main_sec .result_list li a:before { width: 44px; height: 31px;}
    #top_result .main_sec .result_list li a:after { width: 12px; height: 3px; right: 15px;}
    #top_result .main_sec .result_list li span {
        font-size: 13px;
        padding-right: 30px;
        margin-right: 30px;
    }
}

/*--------- contact ---------*/
#top_contact {
    width: 90%;
    margin: 0 auto 80px;
    max-width: 1470px;
    border-radius: 15px;
}

@media screen and (min-width: 1180px) {
    #top_contact_outer {
        padding-left: 345px;
    }
    #top_contact_outer .footer_contact { padding-left: 0;}
}

/*--------- data ---------*/
#top_data {
    margin-bottom: 80px;
}
#top_data .main_sec .title_block {
    display: flex;
    flex-direction: column;
    margin-bottom: 60px;
}
#top_data .main_sec .title_block .text01 {
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: 0;
}
#top_data .main_sec .title_block .text01 span {
    background: linear-gradient(transparent 65%, #F0F2EB 65%);
}
#top_data .main_sec .data_content .data_map {
    margin-bottom: 10px;
}
#top_data .main_sec .data_content .data_table {

}
#top_data .main_sec .data_content .note {
    font-size: 11px;
    line-height: 1.3;
    margin-bottom: 20px;
}

#top_data .main_sec .data_content .data_ttl {
    font-size: 16px;
    margin-bottom: 10px;
}

#top_data .main_sec .data_content .google_voice {

}

@media screen and (min-width: 1180px) {
    #top_data {
        padding-left: 345px;
        margin-bottom: 120px;
    }

    #top_data .main_sec .title_block {
        flex-direction:row;
        margin-bottom: 80px;
        justify-content: space-between;
        align-items: flex-end;
    }
    #top_data .main_sec .title_block .top_common_ttl { margin-bottom: 0;}
    #top_data .main_sec .title_block .text01 {
        font-size: 18px;
    }
    #top_data .main_sec .data_content {
        display: flex;
        justify-content: space-between;
    }
    #top_data .main_sec .data_content .block {
        width: 48%;
    }
    #top_data .main_sec .data_content .block .ttl_pt03 {
        font-size: 22px;
        margin-bottom: 25px;
    }
    #top_data .main_sec .data_content .data_table {

}
    #top_data .main_sec .data_content .note {
        font-size: 12px;
        margin-bottom: 30px;
    }

    #top_data .main_sec .data_content .data_ttl {
        font-size: 20px;
    }


}

/*--------- voice ---------*/

.top_bg_w {
    width: 100%;
    height: 100%;
    position: relative;
}
.top_bg_w:after {
    content: "";
    display: block;
    position: absolute;
    top: 50px;
    left: 0;
    width: 100%;
    height: 50%;
    background: #fff;
}

#top_voice { overflow: hidden; position: relative; z-index: 2; margin-bottom: 80px;}
#top_voice .top_voice_content {
    width: 100%;
    background: url("../images/top_voice_bg.jpg") no-repeat 40% top;
    background-size: cover;
    padding: 80px 0;
}
#top_voice .top_voice_content .top_common_ttl { margin-bottom: 20px;}
#top_voice .top_voice_content .top_common_ttl p,
#top_voice .top_voice_content .top_common_ttl h3{
    color: #fff;
    text-align: center;
}
#top_voice .top_voice_content .top_common_ttl:after {
    content: "Voice";
    top: 0;
    right: 0;
    left: 0;
    margin:  auto;
    text-align: center;
}

#top_voice .top_voice_content .txt_btn { width: 220px; margin: 0 auto;}

#top_voice .top_voice_slider { margin-top: -50px !important;}
#top_voice .voice_list { margin: auto;}
.top_voice_slider .slick-list {
    overflow:visible;
}
#top_voice .top_voice_slider .voice_block {
  margin: 0 5px;
}


@media screen and (min-width: 1180px) {



    .top_bg_w:after {
        top: 0px;
        height: 90%;
    }
    #top_voice {
        margin-bottom: 120px;
        padding-left: 345px;
    }
    #top_voice .top_voice_content {
        box-sizing: border-box;
        background: url("../images/top_voice_bg.jpg") no-repeat center top;
        background-size: cover;
        padding: 150px 0 220px 0;
    }
    #top_voice .top_voice_content .top_common_ttl { margin-bottom: 20px;}
#top_voice .top_voice_content .top_common_ttl p,
#top_voice .top_voice_content .top_common_ttl h3{
    color: #fff;
    text-align: center;
}
#top_voice .top_voice_content .top_common_ttl:after {
    content: "Voice";
    font-family: "Sorts Mill Goudy", serif;
    font-size: 80px;
    color: rgba(255,255,255,0.3);
    line-height: 1;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin:  auto;
    text-align: center;
}

#top_voice .top_voice_content .txt_btn { width: 220px; margin: 0 auto;}


    #top_voice .top_voice_slider {
        max-width: 1160px;
        margin: 0 auto;
        margin-top: -150px !important;}

#top_voice .top_voice_slider .voice_block {
  margin: 0 5px;
}

}

/*--------- howto ---------*/
#top_howto {
    margin: 0 auto 80px;
    position: relative;
    z-index: 2;
}

#top_howto .main_sec .top_common_ttl:after {
    content: "HOW TO";
}
#top_howto .main_sec .text01 {
    font-size: 18px;
}
#top_howto .main_sec .text01 span {
    color: #8C7D61;
    background: linear-gradient(transparent 65%, #F0F2EB 65%);
}

#top_howto .howto_content01 {
    width: 90%;
    max-width: 1320px;
    margin: 60px auto 60px;
    display: flex;
    flex-direction: column;
}
#top_howto .howto_content01 .block {
    width: 100%;
    position: relative;
    height: 280px;
    box-sizing: border-box;
    padding-top: 60px;
}
#top_howto .howto_content01 .block a {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

#top_howto .howto_content01 .block:first-child {
    background: url("../images/top_howto_img01.jpg") no-repeat;
    background-size: cover;
    margin-bottom: 10px;
}

#top_howto .howto_content01 .block:nth-child(2) {
    background: url("../images/top_howto_img02.jpg") no-repeat;
    background-size: cover;
}

#top_howto .howto_content01 .block .fukidashi {
    text-align: center;
    color: #fff;
    position: relative;
    margin-bottom: 15px;
}
#top_howto .howto_content01 .block .fukidashi:before {
    content: "";
    display: block;
    width: 1px;
    height: 10px;
    position: absolute;
    bottom: -15px;
    left: 0;
    right: 0;
    margin: auto;
    background: #fff;

}
#top_howto .howto_content01 .block .fukidashi span {
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.7);
    border-radius: 5px;
    padding: 8px 10px;
}
#top_howto .howto_content01 .block .c_title {
    text-align: center;
    font-size: 25px;
    color: #fff;
}
#top_howto .howto_content01 .block .more_btn {
    width: 100%;
    border-top: 1px solid #FFFFFF;
    line-height: 1;
    padding: 30px 25px;
    font-size: 16px;
    color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
}
#top_howto .howto_content01 .block .more_btn span {
    display: inline-block;
    width: 100%;
    position: relative;
}
#top_howto .howto_content01 .block .more_btn span:before,
#top_howto .howto_content01 .block .more_btn span:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
#top_howto .howto_content01 .block .more_btn span:before {
    width: 30px;
    height: 22px;
    background: #FFFFFF;
    right: 0px;
    border-radius: 30px;

}
#top_howto .howto_content01 .block .more_btn span:after {
    width: 8px;
    height: 2px;
    background: url("../images/arrow_b.png") no-repeat;
    background-size: contain;
    right: 10px;
}

#top_howto .main_sec.howto_block p {
    text-align: center;
}

#top_howto .howto_content02 {
    width: 100%;
    background: #fff;
    position: relative;
    box-sizing: border-box;
    padding: 5px 20px 5px;
    margin-top: 40px;
}
#top_howto .howto_content02:before {
    content: "";
    display: block;
    width: 1px;
    height: 30px;
    position: absolute;
    top: -17px;
    left: 0;
    right: 0;
    margin: auto;
    background: #C7C7C7;
}

#top_howto .howto_content02 ul li {
    font-size: 14px;
    border-bottom: 1px solid #D9D9D9;
    line-height: 1;
    position: relative;
    padding-left: 1.5em;
}
#top_howto .howto_content02 ul li .inn_text {
    display: inline-block;
    border: 1px solid #E5E5E5;
    margin-left: 10px;
    font-size: 13px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    color: #2E2E2E;
    padding: 5px 7px;
}


#top_howto .howto_content02 ul li:last-child { border-bottom: none;}
#top_howto .howto_content02 ul li:before {
    content: "";
    display: block;
    width: 17px;
    height: 17px;
    background:url("../images/check02.png") no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

#top_howto .howto_content02 ul li .text_deco {
    color: #647B59;
    background: linear-gradient(transparent 65%, #F0F2EB 65%);
}

#top_howto .howto_content02 ul li a {
    position: relative;
    display: block;
    width: 100%;
    padding: 25px 0;
    text-decoration: none;
}

#top_howto .howto_content02 ul li a:before,
#top_howto .howto_content02 ul li a:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
#top_howto .howto_content02 ul li a:before {
    width: 30px;
    height: 22px;
    background: #89A376;
    right: 0px;
    border-radius: 30px;

}
#top_howto .howto_content02 ul li a:after {
    width: 8px;
    height: 2px;
    background: url("../images/arrow.png") no-repeat;
    background-size: contain;
    right: 10px;
}

@media screen and (min-width: 1180px) {

    #top_howto {
        margin: 0 auto 110px;
        padding-left: 345px;
    }
    #top_howto .main_sec .top_common_ttl { margin-bottom: 0;}
    #top_howto .main_sec .top_common_ttl:after {
        font-size: 163px;
        top: -40px;
        right: auto;
        left: -200px;
    }
    #top_howto .main_sec {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
    }
    #top_howto .main_sec .text01 {
        font-size: 28px;
    }

    #top_howto .howto_content01 {
        width: 100%;
        flex-direction:row;
        justify-content: space-between;
    }
    #top_howto .howto_content01 .block {
        width: 49%;
        max-width: 650px;
        height: 380px;
        padding-top: 100px;
    }
    #top_howto .howto_content01 .block:first-child { margin-bottom: 0;}

    #top_howto .howto_content01 .block .fukidashi {

    margin-bottom: 15px;
}
    #top_howto .howto_content01 .block .fukidashi:before {
        height: 13px;
        bottom: -15px;
    }
    #top_howto .howto_content01 .block .fukidashi span {
        font-size: 20px;
        padding: 8px 15px;
    }
    #top_howto .howto_content01 .block .c_title {
        font-size: 33px;
    }

    #top_howto .howto_content01 .block .more_btn {
        padding: 30px 25px;
        font-size: 20px;
        text-align: center;
    }
    #top_howto .howto_content01 .block .more_btn span {
        display: inline;
        width: auto;
        padding-right: 60px;
    }
    #top_howto .howto_content01 .block .more_btn span:before {
        width: 44px;
        height: 30px;
    }
    #top_howto .howto_content01 .block .more_btn span:after {
        width: 12px;
        height: 3px;
        right: 15px;
    }
    #top_howto .main_sec.howto_block {
        max-width: 1140px;
        display: block;
    }
    #top_howto .main_sec.howto_block p {
        font-size: 22px;
    }

    #top_howto .howto_content02 {
        padding: 20px 35px 20px;
        margin-top: 50px;
    }
    #top_howto .howto_content02:before {
        height: 40px;
        top: -20px;
    }
    #top_howto .howto_content02 ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    #top_howto .howto_content02 ul li {
        width: 48%;
        font-size: 18px;
        padding-left: 1.8em;
        box-sizing: border-box;
    }
    #top_howto .howto_content02 ul li:nth-child(5) { border-bottom: none;}
    #top_howto .howto_content02 ul li:before {
        width: 21px;
        height: 21px;
    }

    #top_howto .howto_content02 ul li a {
        padding: 30px 0;
    }
    #top_howto .howto_content02 ul li a:before {
        width: 44px;
        height: 30px;
        transition:0.3s;
    }
    #top_howto .howto_content02 ul li a:hover:before { background: #2e2e2e;}
    #top_howto .howto_content02 ul li a:after {
        width: 12px;
        height: 3px;
        right: 15px;
    }

}



/*--------- staff ---------*/
#top_staff {
    width: 100%;
    padding-bottom: 100px;
}
#top_staff .main_sec {
    margin-bottom: 60px;
}

#top_staff .main_sec .top_common_ttl h3 span {
  background: linear-gradient(transparent 65%, #F0F2EB 65%);
}

#top_staff .main_sec .top_common_ttl:after {
    content: "Staff";
}
#top_staff .main_sec p.txt {
    font-size: 18px;
}

#top_staff .main_sec .txt_btn {
    width: 220px;
    margin-top: 30px;
}

.top_staff_slider { width: 100% !important;}

.top_staff_slider .slick-prev,
.top_staff_slider .slick-next {
    width: 64px;
    height: 40px;
    top: auto;
    bottom: -70px;
    left: 0;
    right: 0;
    margin: auto;

}
.top_staff_slider .slick-prev:after,
.top_staff_slider .slick-next:after {
    content: "";
    display: block;
    width: 64px;
    height: 40px;
    background: #8C7D61;
    border-radius: 20px;
}
.top_staff_slider .slick-prev:after {
    transform: translateX(-35px);
}
.top_staff_slider .slick-next:after {
    transform: translateX(35px);
}

.top_staff_slider .slick-prev:before,
.top_staff_slider .slick-next:before {
    content: "";
    display: block;
    position: absolute;
    width: 13px;
    height: 4px;
    z-index: 9;
}
.top_staff_slider .slick-prev:before {
    background:url("../images/arrow.png") no-repeat;
    background-size: contain;
    bottom: 20px;
    left: -10px;
    transform: scale(-1,1);
}
.top_staff_slider .slick-next:before {
    background:url("../images/arrow.png") no-repeat;
    background-size: contain;
    right: -10px;
    bottom: 20px;
}

.top_staff_slider .staff_block {
  margin: 0 5px;
}

@media screen and (min-width: 1180px) {
    #top_staff {
        padding-bottom: 180px;
    }
    #top_staff  .outer_block {
        padding-left: 345px;
    }
    #top_staff .main_sec {
        margin: 0 auto 80px;
    }

    #top_staff .main_sec .title_block {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        margin-bottom: 20px;
    }
    #top_staff .main_sec .title_block .top_common_ttl { margin-bottom: 0;}
    #top_staff .main_sec .top_common_ttl:after {
        font-size: 163px;
        top: -40px;
        right: auto;
        left: -200px;
    }
    #top_staff .main_sec p.txt { font-size: 25px;}
    #top_staff .main_sec .txt_btn {
        width: 330px;
        margin-top: 0px;
    }
    .top_staff_slider .slick-prev,
    .top_staff_slider .slick-next {
    bottom: -90px;
}

/* 高さを均一に揃える */
.top_staff_slider .slick-track {
  display: flex !important;
}

.top_staff_slider .slick-slide {
  height: auto !important;
  display: flex !important;
  flex-direction: column;
}

.top_staff_slider .slick-slide > div {
  height: 100%;
  display: flex;
  flex-direction: column;
}


    .top_staff_slider .staff_block { margin: 0 20px;}

}



/*--------- about ---------*/
#top_about {
    overflow: hidden;
    position: relative;
    z-index: 5;
}

.top_about_content01 {
    position: relative;
    z-index: 2;
    margin-bottom: 40px;
}

.top_about_content01 .inner-block {

    position: relative;
    max-width: 1100px;
    margin: 0 auto;
    z-index: 9;
}

.top_about_content01 .inner-block .box .txt-area {
    width: 90%;
    margin: 0 auto 60px;
}

.top_about_content01 .inner-block .box .txt-area .top_common_ttl:after {
    content: "About";
}
.top_about_content01 .inner-block .box .txt-area .text01 {
    font-size: 21px;
    line-height: 1.9;
    margin-bottom: 20px;
}
.top_about_content01 .inner-block .box .txt-area .text02 {
    font-size: 14px;
    margin-bottom: 50px;
}
.top_about_content01 .inner-block .box .txt-area .txt_btn { width: 195px;}
.top_about_content01 .inner-block .box .txt-area .txt_btn a {
    font-size: 13px;
}
.top_about_content01 .inner-block .box .img {
    width: 95%;
    margin-left: 5%;
}

.top_about_content02 {
    width: 90%;
    max-width: 1300px;
    margin: 0 auto;
}
.top_about_content02 .top_map {
  height: 300px;
  width: 100%;
  overflow: hidden;
  position: relative;
}
.top_about_content02 .top_map iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

.top_about_content02 .about_t {
  width: 100%;
    margin-bottom: 40px;
}
.top_about_content02 .about_t  th {
    color: #647B59;
    width: 18%;
    letter-spacing: 0;
}
.top_about_content02 .about_t  th,
.top_about_content02 .about_t  td {
    line-height: 1.4;
    padding: 20px 0;
    border-bottom: #d9d9d9 solid 1px;
    font-size: 13px;
}
.top_about_content02 .about_t  td {
    font-family: "Zen Kaku Gothic New", sans-serif;
    letter-spacing: 0;
}

@media screen and (min-width: 1180px) {
    #top_about {

    }

.top_about_content01 {
    position: relative;
    z-index: 2;
    margin-bottom: 40px;
        box-sizing: border-box;
        padding-left: 345px;
}

.top_about_content01 .inner-block {

    position: relative;
    max-width: 1100px;
    margin: 0 auto;
    z-index: 9;
}

    .top_about_content01 .inner-block .box {
    display: flex;
    margin-left: calc(50% - 50vw); /* boxをviewport左端から開始 */
    width: 100vw;                  /* ★ 追加：viewport幅いっぱいに */
    align-items: center;
    }

    .top_about_content01 .inner-block .box .txt-area {
    flex: 1;  /* 0 0 33.33vw → 1 に変更 */
    padding-left: calc(50vw - 550px);
    margin: 0;
    position: relative;
    z-index: 2;
    }

    .top_about_content01 .inner-block .box .img {
        flex: 0 0 41.15vw;
        max-width: 790px;
        min-width: 0;
        margin: 0;
        position: relative;
        z-index: 2;
        max-height: 705px;
    }
    .top_about_content01 .inner-block .box .img img {
        object-fit: cover;
        width: 100%;
    }


    .top_about_content01 .inner-block .box .txt-area .top_common_ttl:after {
        font-size: 163px;
        top: -40px;
        right: auto;
        left: -200px;
    }
    .top_about_content01 .inner-block .box .txt-area .text01 {
        font-size: 26px;
        margin-bottom: 26px;
    }
    .top_about_content01 .inner-block .box .txt-area .text02 { font-size: 16px;}
    .top_about_content01 .inner-block .box .txt-area .txt_btn { width: 330px;}
    .top_about_content01 .inner-block .box .txt-area .txt_btn a { font-size: 16px;}


    .top_about_content02 {
        width: 100%;
        display: flex;
        flex-direction: row-reverse;
        justify-content: flex-start;
        align-items: center;
    }
    .top_about_content02 .top_map {
        width: 44%;
        max-width: 560px;
        height: 450px;
        margin-right: 7%;
    }

    .top_about_content02 .about_t {
        width: 470px;
        margin-bottom: 0;
    }
    .top_about_content02 .about_t  th {
        font-size: 15px;
        width: 20%;
    }
    .top_about_content02 .about_t  th,
    .top_about_content02 .about_t  td { padding: 20px 0;}
    .top_about_content02 .about_t  td { font-size: 16px;}
}


.iqmap-wrapper.result-pc:before,.iqmap-wrapper.result-sp:before,.under-body__saleresult:before{content:"";display:block;background:#f9f9f9;width:100vw;height:100%;position:absolute;top:0;left:50%;z-index:-1;transform:translateX(-50%)}.front-page-saletable{max-height:initial;max-height:none;padding:0}.front-page-saletable.pc{margin-top:10px}.front-page-saletable.sp{margin:-20px auto 30px}.iqmap-wrapper{width:100%;margin:auto;position:relative}.iqmap-wrapper.pc{min-height:1000px}.iqmap-wrapper.sp{min-height:900px}.iqmap-wrapper.result-pc,.iqmap-wrapper.result-sp{margin-bottom:30px}.iqmap-wrapper.result-pc{min-height:1400px}.iqmap-wrapper.result-sp{min-height:1200px}.iqmap-wrapper iframe{width:100%;height:100%;position:absolute;top:0;left:0}
@media screen and (min-width: 1180px) and (max-width: 1580px){
    #top_strengths{margin-left: 30%;}
    #top_strengths .strength_content01{margin-left: 57%;}
    #top_strengths .strength_content02 .text_area{margin: 0;}
    #top_strengths .s_ttl_ptn02{font-size: 17px;}
    #top_strengths:before{font-size: 110px;}
    #top_strengths .main_sec{padding-left: 41%;}
    #top_strengths .strength_content03{width: 41%;}
    .top_reason_outer,#top_voice,#top_howto,#top_about,.outer_footer,#top_result,#top_data{padding-left: 30%;}
    .top_common_ttl h3{font-size: 28px;}
    #top_reason .main_sec .text_area .text01{font-size: 20px;}
    .top_reason_outer{background-position: right 10% top 5%;}
    .foot_sitemap{width: 61%;}
    .top_about_content02{padding-right: 30px;}
    .top_about_content01{padding-left: 0;}
    .top_about_content01 .inner-block .box .txt-area{padding-left: 0;}
    .top_about_content01 .inner-block .box{margin-left: 0;width: 100%;}
    .top_about_content01 .inner-block .box .img{flex: 0 0 37vw; max-width: 660px;max-height: 625px;}
    .top_about_content01 .inner-block .box .txt-area .top_common_ttl:after{font-size: 110px;left: 0;top: 0;}
    .top_bg_g:after{height: 82%;}
    #top_info_pick{margin-left: 30%;padding: 100px 40px;}
    #top_info_pick .main_sec .property_event-list .list_block{width: 22%;}
    #top_info_pick .main_sec .title_block{margin-right: 60px;}
    .main_img h2{font-size: 45px;}
    .main_img h2 span{font-size: 60px;}
    #top_strengths .strength_content01 .img:before{font-size: 70px;top: 0;}
    #top_strengths .strength_content02 .img:after,#top_strengths .strength_content03 .img:before{font-size: 70px;}
    .footer .footer_info p{font-size: 12px;}
    .copy{font-size: 10px !important;}
    .foot_sitemap .block p{font-size: 16px;}
    #top_howto .howto_content02 ul li{font-size: 14px;}
    #top_howto .main_sec.howto_block{width: 100%;padding-right: 30px;}
    #top_voice .top_voice_slider{justify-content: center;}
    .voice_list .voice_block{width: 30%;}
    #top_strengths .text_area p{font-size: 14px;}
    .top_common_ttl:after{left: 0;font-size: 110px;}
    .outer_footer{background: linear-gradient(90deg, #FBFAF8 0%, #FBFAF8 54%, #fff 54%, #fff 100%);}
    #top_howto .howto_content01{padding-right: 30px;}
}