/*=== 共通 ===*/
.top_header{
    border-radius: 0 0 var(--borderRadius-50) 0;
    padding: .407rem 0 0.408rem 0.26041666666666663vw;
    max-width: 136rem;
    width: 75%;
}
.top_header .uhTel_wrap{ display: none; }
.topSec_inner{
    margin: 0 auto;
    max-width: 120rem;
    width: 90%;
}
.sectionIvory{ background-color: #F6F3EA; }
.topSec_inner{
    margin: 0 auto;
    max-width: 120rem;
    width: 90%;
}
.topTitle{/*タイトル*/
    line-height: 1;
    font-size: clamp(2.8rem, 3.125vw, 6rem);
    color: var(--dull-green);
}
.top_btn{/*リンクボタン*/
    border-radius: 5rem;
    width: clamp(20rem, 39.743589743589745vw, 31rem);
    overflow: hidden;
}
.top_btn_a{
    padding: 2.4rem 3.2rem;
    display: flex;
    width: 100%;
    height: 100%;
    font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
    justify-content: space-between;
    background-color: var(--bright-yellow);
}
.top_btn_span{
    display: block;
    width: clamp(1.8rem, 1.25vw, 2.4rem);
    height: clamp(1.6rem, 1.0416666666666665vw, 2rem);
}
.top_btn_small{/*リンクボタン small*/
    width: clamp(20rem, 13.020833333333334vw, 25rem);
}
/*=== 装飾 ===*/
.topDecoration{
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 2;
}
.topDecoration1{ margin-top: -2.5rem; }
.topDecoration2{
    display: block;
    margin-top: -3.215%;
    z-index: -1;
}
/*=== 改行 ===*/
.brSP{ display: none; }
@media screen and ( max-width: 1200px ){
    .top_header{
        padding: 0 0;
        max-width: initial;
        width: 100%;
    }
}
@media screen and ( max-width: 780px ){
    .top_btn_a{/*リンクボタン*/
        padding: clamp(1.6rem, 3.076923076923077vw, 2.4rem) clamp(1.6rem, 4.102564102564102vw, 3.2rem);
    }
    /*=== 改行 ===*/
    .brPC{ display: none; }
    .brSP{ display: block; }
    /*=== 装飾 ===*/
    .topDecoration1{
        display: block;
        height: clamp(27.2rem, 56.15384615384615vw, 43.8rem);
    }
    .topDecoration1 img, .topDecoration2 img{ height: 100%; }
    .topDecoration2{
        position: relative;
        margin-top: -3.3rem;
        height: clamp(27.2rem, 56.15384615384615vw, 43.8rem);
        z-index: 2;
    }
}
@media screen and ( max-width: 500px ){
    /*=== 装飾 ===*/
    .topDecoration2{ margin-top: -3rem; }
}


/*=== FV ===*/
.fv_box{
    position: relative;
    z-index: 1;
}
.top_fv{
    width: 100%;
    object-fit: cover;
}
.top_on{
    position: absolute;
    z-index: 2;
}
.top_on1{
    top: clamp(2rem, 20.833333333333336vw, 40rem);
    left: 4.8rem;
}
.top_on2{
    top: clamp(2rem, 20.833333333333336vw, 40rem);
    right: 0;
    width: clamp(28rem, 32.395833333333336vw, 62.2rem);
}
.top_on_link{ display: block; }
.top_on_span{
    margin-bottom: 1.6rem;
    padding-left: 5.5%;
    display: flex;
    width: 100%;
    font-size: clamp(1.9rem, 2.34375vw, 4.5rem);
    background-size: cover;
    align-items: center;
}
.top_on_span1{
    width: clamp(26rem, 38.02083333333333vw, 73rem);
    height: clamp(3.86rem, 4.6875vw, 9rem);
    font-size: clamp(2rem, 2.604166666666667vw, 5rem);
    background-image: url(../img/topCatchCopy_bg1.png);
}
.top_on_span2{
    width: clamp(37rem, 44.646vw, 83.3rem);
    height: clamp(4.018rem, 4.739583333333333vw, 9.1rem);
    background-image: url(../img/topCatchCopy_bg2.png);
}
.top_on_span3{
    width: clamp(39rem, 49.448vw, 91.1rem);
    height: clamp(4.367rem, 5.3125vw, 10.2rem);
    background-image: url(../img/topCatchCopy_bg3.png);
}
@media screen and ( max-width: 780px ){
    .top_on1{
        /* top: clamp(8rem, 19.871794871794872vw, 15.5rem); */
        top: clamp(8rem, 57.692307692307686vw, 45rem);
        left: 2.5%;
    }
    .top_on2{
        top: auto;
        /* bottom: clamp(1rem, 44.871794871794876vw, 35rem); */
        bottom: clamp(1rem, 40.38461538461539vw, 31.5rem);
        width: clamp(23rem, 54.871794871794876vw, 42.8rem);
    }
    .top_on_span{
        margin-bottom: clamp(0rem, 1.0256410256410255vw, .8rem);
        padding-left: 4%;
        font-size: clamp(1.2rem, 3.8461538461538463vw, 3rem);
    }
    .top_on_span1{
        width: clamp(16.841rem, 65.38461538461539vw, 51rem);
        height: clamp(2.5rem, 8.061538461538461vw, 6.288rem);
        font-size: clamp(1.4rem, 4.487179487179487vw, 3.5rem);
    }
    .top_on_span2{
        width: clamp(23.022rem, 73.97435897435898vw, 57.7rem);
        height: clamp(2.5rem, 8.076923076923077vw, 6.3rem);
    }
    .top_on_span3{
        width: clamp(22.328rem, 76.92307692307693vw, 60rem);
        height: clamp(2.5rem, 7.948717948717948vw, 6.2rem);
    }
}

/*=== FV下01～04 ===*/
.topNum{
    position: relative;
    margin-top: -9.2%;
}
.topNum::before{
    display: none;
    content: "";
    position: absolute;
    bottom: -2rem;
    left: 4.8rem;
    width: clamp(14.35rem, 15.208333333333332vw, 29.2rem);
    height: clamp(11.5rem, 12.1875vw, 23.4rem);
    background-image: url(../img/topNum_decoration.png);
}
.topNum_inner{
    /* padding: 0 0 12rem; */
    padding: 0 0 10rem;
}
.topNum_ul{
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 4.8rem 0;
    z-index: 2;
}
.topNum_li{
    position: relative;
    border-radius: var(--borderRadius-50);
    padding: 4.8rem 1.6rem 2.4rem;
    display: flex;
    flex-direction: column;
    width: 23%;
    background-color: #fff;
    box-shadow: 0 .3rem 1.5rem 0 rgba(123, 113, 97, 0.11);
    align-content: space-between;
}
.topNum_li::before{
    content: "";
    position: absolute;
    top: -13%;
    left: 50%;
    width: clamp(9rem, 6.302083333333333vw, 12.1rem);
    height: clamp(4.983rem, 3.4895833333333335vw, 6.7rem);
    background-size: cover;
    transform: translate(-50%, 0%);
    -webkit-transform: translate(-50%, 0%);
}
.topNum_li1::before{ background-image: url(../img/topNum1.png); }
.topNum_li2::before{ background-image: url(../img/topNum2.png); }
.topNum_li3::before{ background-image: url(../img/topNum3.png); }
.topNum_li4::before{ background-image: url(../img/topNum4.png); }
.topNum_headline{
    margin-bottom: .8rem;
    font-size: clamp(1.8rem, 1.8229166666666667vw, 3.5rem);
    text-align: center;
}
.topNum_headline_span{
    display: block;
    font-size: clamp(1.6rem, 1.25vw, 2.4rem);
}
.topNum_icon{ margin: auto auto 0; }
.topNum_icon1{ width: clamp(5rem, 3.125vw, 6rem); }
.topNum_icon2{ width: clamp(5rem, 4.0625vw, 7.8rem); }
.topNum_icon3{ width: clamp(5rem, 3.3333333333333335vw, 6.4rem); }
.topNum_icon4{ width: clamp(9rem, 6.354166666666666vw, 12.2rem); }
/*=== 私たちについて ===*/
.topAbout{
    position: relative;
    z-index: 3;
    overflow-x: hidden;
}
.topAbout_inner{
    margin: -7.2rem 0 0 auto;
    display: flex;
    max-width: initial;
    width: 86.7%;
    align-items: center;
    justify-content: space-between;
}
.topAbout_info{
    margin-top: 14rem;
    max-width: 64.5rem;
    width: 42%;
}
.topAbout_headline{
    margin: 7.45% 0 6.2%;
    line-height: 1.875;
    font-size: clamp(1.8rem, 1.3020833333333335vw, 2.5rem);
    word-break: auto-phrase;
}
.topAbout_text{
    margin-bottom: 8.7%;
    line-height: 1.944;
    font-size: var(--fontSize-18);
}
.topAbout_img{ width: 54.93%; }
/*=== お知らせ・ブログ ===*/
.topNB{
    margin-top: -23.2rem;
    clip-path: polygon(0% 100%, 0% 0%, 100% 20%, 100% 100%);
}
.topNB_inner{
    padding: 25.6rem 0 16rem;
    display: flex;
    justify-content: space-between;
    gap: clamp(2.4rem, 2.9166666666666665vw, 5.6rem) 0;
}
.topNB_box{ width: 48%; }
.topNB_titleBtn{
    margin-bottom: 9.75%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.topNB_titleBtn .top_btn_a{ padding: 10% 13.3%; }
.topNB_box article{ margin-bottom: 5.56%; }
.article_link{
    border-radius: clamp(1.6rem, 1.5625vw, 3rem);
    display: flex;
    box-shadow: 0 .5rem 1.5rem 0 rgba(173, 173, 173, 0.35);
    overflow: hidden;
}
.article:last-of-type .article_link{ margin-bottom: 0; }
.article_img{
    min-width: 11rem;
    width: 27%;
}
.article_img img{ height: 100%; }
.article_info{
    padding: 5.5% 5.6%;
    display: flex;
    flex-direction: column;
    width: calc(100% - 27%);
    background-color: #fff;
    justify-content: center;
    overflow: hidden;
}
.article_date, .article_text{ font-size: var(--fontSize-20); }
.article_date{
    width: fit-content;
    background: linear-gradient(transparent 50%, rgb(241 244 187 / 90%) 50%);
}
.article_text{
    margin-top: 4.5%;
    display: -webkit-box;
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
}
.top_btn_small_SP{ display: none; }
/*=== 外壁施工アワード ===*/
.topAward{
    position: relative;
    padding: 0 0 8.13%;
    background-image: url(../img/topAward_bg.jpg);
}
.topAward::before, .topAward::after{
    content: "";
    position: absolute;
    background-repeat: no-repeat;
}
.topAward::before{
    bottom: -10.4rem;
    left: 0;
    width: clamp(18rem, 20.3125vw, 39rem);
    height: clamp(46.385rem, 52.34375vw, 100.5rem);
    background-image: url(../img/topAward_decoration1.png);
}
.topAward::after{
    top: -8.2rem;
    right: 0;
    width: clamp(18rem, 22.395833333333336vw, 43rem);
    height: clamp(47.888rem, 59.583333333333336vw, 114.4rem);
    background-image: url(../img/topAward_decoration2.png);
}
.topAward_inner{
    position: relative;
    max-width: 100rem;
    z-index: 2;
}
.topAward_inner::before{
    content: "";
    position: absolute;
    right: -7.291666666666667vw;
    bottom: clamp(-15.1rem, -8.865vw, -5.5rem);
    width: clamp(16rem, 13.229166666666666vw, 25.4rem);
    height: clamp(14.74rem, 12.1875vw, 23.4rem);
    background-image: url(../img/topAward_decoration3.png);
}
.topAward_imgText{
    display: flex;
    justify-content: space-between;
}
.topAward_img{
    margin-right: 1.6rem;
    max-width: 18.3rem;
    width: 20%;
}
.topAward_headline{ padding-top: 10.4%; }
.topAward_headline_span{
    padding-left: 6%;
    display: flex;
    font-size: clamp(2.4rem, 3.3333333333333335vw, 5rem);
    background-size: cover;
    background-repeat: no-repeat;
    align-items: center;
}
.topAward_headline_span_SP{ display: none; }
.topAward_headline_span1{
    margin-bottom: 1.6rem;
    width: clamp(52rem, 63.916666666666664vw, 76.7rem);
    height: clamp(6.305rem, 7.75vw, 9.3rem);
    background-image: url(../img/topAward_decoration4.png);
}
.topAward_headline_span2{
    width: clamp(30rem, 35.083333333333336vw, 42.1rem);
    height: clamp(6.627rem, 7.75vw, 9.3rem);
    background-image: url(../img/topAward_decoration5.png);
}
.topAward_text_box{
    margin-top: 5.6rem;
    text-align: center;
    word-break: auto-phrase;
}
.topAward_text{
    padding-bottom: .8rem;
    display: inline;
    line-height: 2.5;
    font-size: clamp(2rem, 2vw, 3rem);
    text-shadow: #fff .2rem 0 .8rem;
    background-image: linear-gradient(to right, #fff 4px, transparent 4px);
    background-size: 6px 2px;
    background-repeat: repeat-x;
    background-position: left bottom;
}
.topAward_bgSP{ display: none; }
/*=== リフォームかし保険 ===*/
.topInsurance{ position: relative; }
.topInsurance::before, .topInsurance::after{
    content: "";
    position: absolute;
    background-repeat: no-repeat;
    z-index: -1;
}
.topInsurance::before{
    bottom: 1rem;
    left: 0;
    width: clamp(15rem, 10vw, 19.2rem);
    height: clamp(41.172rem, 27.447916666666668vw, 52.7rem);
    background-image: url(../img/topInsurance_decoration1.png);
}
.topInsurance::after{
    right: 0;
    bottom: 0;
    width: clamp(22rem, 16.927083333333336vw, 32.5rem);
    height: clamp(38.855rem, 29.895833333333332vw, 57.4rem);
    background-image: url(../img/topInsurance_decoration2.png);
}
.topInsurance_inner{
    position: relative;
    padding: 10.4rem 0;
    display: flex;
    gap: 0 1.6rem;
    align-items: center;
    justify-content: space-between;
}
.topInsurance_info{
    max-width: 68rem;
    width: 57%;
}
.topInsurance_title{
    position: relative;
    margin-bottom: 5.6rem;
}
.topInsurance_title::before{
    content: "";
    position: absolute;
    top: 1rem;
    width: clamp(26rem, 29.791666666666668vw, 57.2rem);
    height: clamp(3.227rem, 3.6979166666666665vw, 7.1rem);
    background-image: url(../img/topInsurance_decoration3.png);
    background-repeat: no-repeat;
    z-index: -1;
}
.topInsurance_headline{
    padding-bottom: .8rem;
    display: inline;
    line-height: 2.3;
    font-size: clamp(1.8rem, 1.3020833333333335vw, 2.5rem);
    background-image: linear-gradient(to right, #e2f3e1 4px, transparent 4px);
    background-size: 6px 2px;
    background-repeat: repeat-x;
    background-position: left bottom;
}
.topInsurance_text{
    margin: 4.8rem 0;
    line-height: 1.875;
    font-size: var(--fontSize-18);
}
.topInsurance_img{
    max-width: 47rem;
    width: 46%;
}
/*=== 会社案内 ===*/
.topGuidance_inner{ padding: 9.6rem 0; }
.topGuidance_title{ text-align: center; }
.topGuidance_ul{
    margin-top: 8.67%;
    display: flex;
    flex-wrap: wrap;
    gap: 2.4rem 3.4%;
    justify-content: center;
}
.topGuidance_li{
    position: relative;
    border-radius: var(--borderRadius-50);
    min-width: 30rem;
    width: 31%;
    aspect-ratio: 1 / 0.6;
    overflow: hidden;
}
.topGuidance_a{ display: block; }
.topGuidance_img{
    width: 100%;
    aspect-ratio: 1 / 0.6;
}
.topGuidance_img img{ height: 100%; }
.topGuidance_liTitle{
    position: absolute;
    right: 0;
    bottom: 0;
    border-radius: clamp(1.6rem, 1.5625vw, 3rem) 0 0 0;
    padding: .8rem 1.6rem;
    display: flex;
    width: 90%;
    line-height: 1;
    font-size: clamp(1.8rem, 1.4583333333333333vw, 2.8rem);
    align-items: center;
    background-color: #fff;
}
.topGuidance_Icon{
    margin-right: 1.6rem;
    display: block;
    height: 5rem;
    font-size: 0;
}
.topGuidance_Icon1{ width: 2.9rem; }
.topGuidance_Icon2{ width: 4.04333rem; }
.topGuidance_Icon3{ width: 2.4rem; }
.topGuidance_Icon img{ height: 100%; }
/*=== 施工事例・お客様の声 ===*/
/*=== 施工事例 ===*/
.topWorks{
    position: relative;
    padding: 8.8rem 0 clamp(28rem, 19.270833333333336vw, 37rem);
    background-image: url(../img/topWorks_bg.png);
    background-repeat: no-repeat;
    overflow: visible;
}
.topWorks_inner{
    position: relative;
    max-width: initial;
    width: 100%;
    z-index: 10;
}
.topWorks_titleBtn{
    margin: 0 auto 5.56%;
    display: flex;
    max-width: 120rem;
    width: 90%;
    justify-content: space-between;
}
.topWorks_title{
    position: relative;
    color: #4f302c;
}
.topWorks_title::before{
    content: "";
    position: absolute;
    top: 1.5rem;
    left: -1.5rem;
    width: clamp(26rem, 17.083333333333332vw, 32.8rem);
    height: clamp(3.227rem, 3.6979166666666665vw, 7.1rem);
    background-image: url(../img/topWorks_decoration.png);
    background-repeat: no-repeat;
    z-index: -1;
}
.topWorks .splide__list{
    display: flex !important;
    gap: 0 3.5rem;
}
.topWorks .splide__slide{
    position: relative;
    margin-right: 0 !important;
    width: 36rem !important;
    aspect-ratio: 1 / 0.9611111111111111;
}
.topWorks .splide__link{
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: auto;
}
.topWorks .splide__slide img{
    width: 100%;
    height: 100%;
}
.mskImg img, .splideWorks_hover{
    -webkit-mask-image: url(../img/works_silhouette.png);
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-image: url(../img/works_silhouette.png);
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
}
.splideWorks_hover{
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(89, 171, 81, .85);
    opacity: 0;
    transition: .3s all;
}
.topWorks .splide__slide:hover .splideWorks_hover{ opacity: 1; }
.splideWorks_hover_inn{
    position: absolute;
    bottom: clamp(1.6rem, 4.102564102564102vw, 3.2rem);
    padding: 0 clamp(1.6rem, 3.076923076923077vw, 2.4rem);
    width: 100%;
}
.splideWorks_hover_headline, .splideWorks_hover_area, .splideWorks_hover_name{ color: #fff; }
.splideWorks_hover_headline{
    margin-bottom: 1.6rem;
    display: -webkit-box;
    width: 100%;
    font-size: var(--fontSize-20);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.splideWorks_hover_area, .splideWorks_hover_name{ font-size: var(--fontSize-18); }
.splideWorks_hover_area{
    margin-right: 1.6rem;
    padding: .3rem .8rem;
    background-color: #088929;
}
/*=== お客様の声 ===*/
.topVoice{
    position: relative;
    margin-top: -16rem;
    z-index: 2;
}
.topVoice::before{
    content: "";
    position: absolute;
    bottom: clamp(-5.2rem, -2.7083333333333335vw, -2rem);
    left: 0;
    width: 100%;
    height: clamp(19.48rem, 24.947916666666668vw, 47.9rem);
    background-image: url(../img/topVoice_decoration1.png);
    background-size: cover;
    background-repeat: no-repeat;
}
.topVoice_inner{
    position: relative;
    padding: 0 0 11.2rem;
    z-index: 5;
}
.topVoice_title{ text-align: center; }
.topVoice .splide__list{
    margin-top: clamp(4rem, 6.25vw, 12rem) !important;
    padding-bottom: 2.5rem !important;
    display: flex !important;
    gap: 0 2.75%;
}
.topVoice_article{ width: 31.5%; }
.topVoice_thumbnail{
    border-radius: clamp(1.6rem, 1.5625vw, 3rem);
    height: 74%;
    overflow: hidden;
}
.topVoice_thumbnail img{ height: 100%; }
.topVoice_info{
    position: relative;
    margin: -19% auto 0;
    border-radius: clamp(1.6rem, 1.5625vw, 3rem);
    padding: 2.4rem 6.35%;
    width: calc(100% - 10%);
    background-color: rgba(89, 171, 81, .9);
}
.topVoice_info::before{
    content: "";
    position: absolute;
    top: -2.3rem;
    left: 50%;
    width: 2.8rem;
    height: 2.4rem;
    background-color: rgba(89, 171, 81, .9);
    clip-path: polygon(0% 100%, 50% 0%, 50% 0%, 100% 100%);
    transform: translateY(0%) translateX(-50%);
}
.topVoice_addressName_box{
    display: flex;
    flex-wrap: wrap;
    gap: .8rem .8rem;
    justify-content: space-between;
}
.topVoice_addressName{
    border-radius: 3rem;
    padding: .2rem 1.6rem;
    font-size: clamp(1.2rem, 0.8333333333333334vw, 1.6rem);
    background-color: #fff;
}
.topVoice_text{
    margin-top: 1.6rem;
    font-size: clamp(1.6rem, 1.09375vw, 2.1rem);
    color: #fff;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
.topVoice .top_btn_small{ margin: 3.2rem auto 0; }
/*=== 事業案内 ===*/
.topBusiness{
    position: relative;
    z-index: 2;
}
.topBusiness::before, .topBusiness::after{
    content: "";
    position: absolute;
    background-repeat: no-repeat;
    z-index: -1;
}
.topBusiness::before{
    top: 0;
    right: 0;
    width: clamp(40rem, 36.145833333333336vw, 69.4rem);
    height: clamp(41.671rem, 37.65625vw, 72.3rem);
    background-image: url(../img/topBusiness_decoration1.png);
}
.topBusiness::after{
    left: 0;
    bottom: 0;
    width: clamp(40rem, 35.3125vw, 67.8rem);
    height: clamp(35.221rem, 31.093749999999996vw, 59.7rem);
    background-image: url(../img/topBusiness_decoration2.png);
}
.topBusiness_inner{
    position: relative;
    padding: 10.4rem 0 clamp(6.4rem, 6.25vw, 12rem);
}
.topBusiness_inner::before{
    display: none;
    content: "";
    position: absolute;
    right: clamp(-7rem, -3.6458333333333335vw, -3rem);
    bottom: clamp(-13.3rem, -6.927083333333334vw, -10.5rem);
    width: clamp(18rem, 14.114583333333334vw, 27.1rem);
    height: clamp(16.14rem, 12.65625vw, 24.3rem);
    background-image: url(../img/topBusiness_decoration3.png);
}
.topBusiness_titleBtn{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.topBusiness_title{ position: relative; }
.topBusiness_title::before{
    content: "";
    position: absolute;
    top: 1.5rem;
    left: -1.5rem;
    width: clamp(26rem, 22.65625vw, 43.5rem);
    height: clamp(3.227rem, 3.6979166666666665vw, 7.1rem);
    background-image: url(../img/topAbout_decoration1.png);
    background-repeat: no-repeat;
    z-index: -1;
}
.topBusiness_ul{
    margin-top: 7.2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 2.4rem 2.6%;
}
.topBusiness_li{
    position: relative;
    border-radius: clamp(1.6rem, 1.5625vw, 3rem);
    width: 23%;
    aspect-ratio: 1 / 1.4473684210526316;
    box-shadow: .7rem -.7rem 0 0 #c7e9c4;
    overflow: hidden;
}
.topBusiness_img{
    width: 100%;
    aspect-ratio: 1 / 1.4473684210526316;
}
.topBusiness_img img{ height: 100%; }
.topBusiness_info{
    position: absolute;
    bottom: 0;
    border-radius: 0 clamp(1.6rem, 1.5625vw, 3rem) 0 0;
    padding: 2.4rem 1.6rem;
    width: 90%;
    background-color: rgba(255, 255, 255, .9);
}
.topBusiness_info_title{
    position: relative;
    margin-bottom: 3.2rem;
    font-size: clamp(1.8rem, 1.3020833333333335vw, 2.5rem);
    color: var(--dull-green);
    text-align: center;
    z-index: 2;
}
.topBusiness_info_title::before{
    content: "";
    position: absolute;
    top: 3rem;
    left: 50%;
    width: 12.7rem;
    height: 2.1rem;
    background-image: url(../img/topBusiness_decoration5.png);
    transform: translateY(0%) translateX(-50%);
    -webkit-transform: translateY(0%) translateX(-50%);
    z-index: -1;
}
.topBusiness_text{
    line-height: 1.333;
    font-size: var(--fontSize-18);
}
/*=== 代表あいさつ ===*/
.topGreeting{
    position: relative;
    margin-top: -23rem;
    z-index: -2;
    overflow: hidden;
}
.topGreeting_inner{
    margin: 0 0 0 auto;
    padding: 28rem 0 10.4rem;
    display: flex;
    max-width: initial;
    width: 86.7%;
    align-items: center;
    justify-content: space-between;
}
.topGreeting_info{
    max-width: 68rem;
    width: 42%;
}
.topGreeting_headline{
    position: relative;
    margin: 11.8% 0 5.9%;
    line-height: 2.333;
    font-size: clamp(1.8rem, 1.5625vw, 3rem);
}
.topGreeting_headline::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: clamp(10rem, 47.864583333333336vw, 91.9rem);
    height: clamp(10rem, 19.270833333333336vw, 37rem);
    background-image: url(../img/topGreetings_decoration1.png);
    background-repeat: no-repeat;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    z-index: -1;
}
.topGreeting_headline_span{ position: relative; }
.topGreeting_headline_span::before{
    content: "";
    position: absolute;
    top: 1rem;
    background-repeat: no-repeat;
    z-index: -1;
}
.topGreeting_headline_span1::before{
    width: clamp(14rem, 12.864583333333332vw, 24.7rem);
    height: clamp(2rem, 2.3958333333333335vw, 4.6rem);
    background-image: url(../img/topGreetings_decoration2.png);
}
.topGreeting_headline_span2::before{
    width: clamp(7rem, 7.187499999999999vw, 13.8rem);
    height: clamp(2rem, 2.3958333333333335vw, 4.6rem);
    background-image: url(../img/topGreetings_decoration3.png);
}
.topGreeting_text{
    line-height: 1.875;
    font-size: var(--fontSize-18);
}
.topGreeting_name{
    margin-top: 1.6rem;
    font-size: var(--fontSize-18);
    text-align: end;
}
.topGreeting_img{ width: 54.13%; }
/*=== 支店のご案内 ===*/
.topBranch{
    overflow-x: hidden;
    background-color: #c7e9c4;
}
.topBranch_inner{ padding: 7.2rem 0 10.7%; }
.topBranch_wrap{
    position: relative;
    border-radius: var(--borderRadius-50);
    z-index: 2;
}
.topBranch_content{
    position: relative;
    border-radius: var(--borderRadius-50);
    padding: 7.4rem 6.4rem 9.6rem;
    background-color: #fff;
}
.topBranch_wrap::before, .topBranch_wrap::after{
    content: "";
    position: absolute;
}
.topBranch_wrap::before{
    top: 1rem;
    width: clamp(14rem, 11.927083333333334vw, 22.9rem);
    height: clamp(48.725rem, 41.510416666666664vw, 79.7rem);
    left: -9.01vw;
    background-image: url(../img/branch_decoration1.png);
    z-index: -1;
}
.topBranch_wrap::after{
    top: -5rem;
    width: clamp(49.215rem, 41.875vw, 80.4rem);
    height: clamp(48.725rem, 41.458333333333336vw, 79.6rem);
    right: -9.271vw;
    background-image: url(../img/branch_decoration2.png);
    z-index: -1;
}
.topBranch_title{
    position: relative;
    color: var(--dull-green);
    text-align: center;
    z-index: 2;
}
.topBranch_title::before{
    content: "";
    position: absolute;
    top: 3rem;
    left: 50%;
    width: clamp(20rem, 22.65625vw, 43.5rem);
    height: clamp(3.264rem, 3.6979166666666665vw, 7.1rem);
    background-image: url(../img/branch_decoration3.png);
    transform: translateY(0%) translateX(-50%);
    -webkit-transform: translateY(0%) translateX(-50%);
    z-index: -1;
}
.topBranch_info_box{
    margin-top: 6.4rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3.2rem 1.6rem;
}
.topBranch_info{
    max-width: 66rem;
    width: 47%;
}
.topBranch_headline{
    border-bottom: .2rem dashed #daf4d8;
    padding-bottom: 2.4rem;
    font-size: clamp(1.8rem, 1.3020833333333335vw, 2.5rem);
}
.topBranch_text{
    margin: 3.2rem 0 4rem;
    font-size: var(--fontSize-18);
}
.topBranch_map{
    border-radius: var(--borderRadius-50);
    aspect-ratio: 1 / 0.5;
    overflow: hidden;
}
.topBranch_map iframe{
    width: 100%;
    height: 100%;
}
.topBranch_img{
    max-width: 59rem;
    width: 47%;
}
@media screen and ( max-width: 1200px ){
    /*=== FV下01～04 ===*/
    /*=== 私たちについて ===*/
    .topAbout_inner{
        margin: -7.2rem auto 0 auto;
        flex-direction: column;
        width: 86.7%;
    }
    .topAbout_info{
        max-width: initial;
        width: 100%;
    }
    .topAbout_headline{ margin: 2.4rem 0 1.6rem; }
    .topAbout_text{ margin-bottom: 3.2rem; }
    .topAbout_img{
        margin: -11rem -8rem 0 auto;
        width: 86%;
    }
    /*=== お知らせ・ブログ ===*/
    /*=== 外壁施工アワード ===*/
    .topAward_inner::before{ right: 4.166666666666666vw; }
    /*=== リフォームかし保険 ===*/
    /*=== 会社案内 ===*/
    /*=== 施工事例 ===*/
    /*=== お客様の声 ===*/
    /*=== 事業案内 ===*/
    .topBusiness_inner::before{ bottom: clamp(-10.5rem, -8.75vw, -5rem); }
    .topBusiness_ul{ justify-content: center; }
    .topBusiness_li{ min-width: 30rem; }
    /*=== 代表あいさつ ===*/
    .topGreeting{
        position: relative;
        margin-top: -23rem;
        z-index: -2;
    }
    .topGreeting_inner{
        margin: 0 auto;
        padding: 20rem 0 10.4rem;
        flex-direction: column;
        width: 90%;
    }
    .topGreeting_info{
        max-width: initial;
        width: 100%;
    }
    .topGreeting_headline{ margin: 2.4rem 0; }
    .topGreeting_headline::before{
        left: -6rem;
        transform: translateY(-50%) translateX(0%);
        -webkit-transform: translateY(-50%) translateX(0%);
    }
    .topGreeting_img{
        margin: 4rem -8rem 0 auto;
        width: 86%;
    }
    /*=== 支店のご案内 ===*/
    .topBranch_inner{ padding: 7.2rem 0 18%; }
    .topBranch_content{
        padding: 4.8rem 6.4rem;
    }
    .topBranch_info_box{ flex-direction: column; }
    .topBranch_info{
        display: flex;
        max-width: initial;
        width: 100%;
        justify-content: space-between;
        gap: 0 1.6rem;
    }
    .topBranch_text_box{ width: 40%; }
    .topBranch_headline{ padding-bottom: 2.4rem; }
    .topBranch_text{ margin: 3.2rem 0 4rem; }
    .topBranch_img{
        border-radius: 3rem;
        max-width: initial;
        width: 100%;
        height: 40rem;
        overflow: hidden;
    }
    .topBranch_img img{ height: 100%; }
}
@media screen and ( max-width: 780px ){
    /*=== FV下01～04 ===*/
    .topNum{ margin-top: -11rem; }
    .topNum_inner{
        /* padding: 7.2rem 0 12rem; */
        padding: 7.2rem 0 8rem;
    }
    .topNum_li{ width: 48%; }
    .topNum_headline{ font-size: clamp(1.8rem, 3.076923076923077vw, 2.4rem); }
    .topNum_headline_span{ font-size: clamp(1.6rem, 2.564102564102564vw, 2rem); }
    /*=== 私たちについて ===*/
    .topAbout_inner{ width: 100%; }
    .topAbout_info{
        max-width: initial;
        width: 90%;
    }
    .topAbout_img{
        margin: clamp(3.2rem, 9.230769230769232vw, 7.2rem) 0 0 auto;
        width: 95%;
    }
    /*=== お知らせ・ブログ ===*/
    .topNB{
        margin-top: -21.7rem;
        clip-path: initial;
    }
    .topNB_inner{
        padding: 25.6rem 0 16rem;
        flex-direction: column;
    }
    .topNB_box{ width: 100%; }
    .topNB_titleBtn{ margin-bottom: 9.12%; }
    .topNB_titleBtn .top_btn_a{ padding: 10% 13.3%; }
    .topNB_box article{ margin-bottom: 5.97%; }
    .article_link{ border-radius: clamp(1.6rem, 1.5625vw, 3rem); }
    .article_img{
        min-width: 11rem;
        width: 27%;
    }
    .article_info{
        padding: 5.5% 5.6%;
        width: calc(100% - 27%);
    }
    .article_text{ margin-top: 4.5%; }
    /*=== 外壁施工アワード ===*/
    .topAward{
        position: relative;
        margin-top: -7rem;
        padding: 4rem 0 26.4rem;
        background-image: initial;
    }
    .topAward::before, .topAward::after{ z-index: 2; }
    .topAward::before{
        top: clamp(42rem, 64.1025641025641vw, 50rem);
        bottom: auto;
        left: 0;
        width: clamp(10rem, 51.7948717948718vw, 40.4rem);
        height: clamp(16.312rem, 84.48717948717949vw, 65.9rem);
        background-image: url(../img/topAward_decoration_SP2.png);
    }
    .topAward::after{
        top: -8.2rem;
        right: 0;
        width: clamp(18rem, 37.94871794871795vw, 29.6rem);
        height: clamp(46.385rem, 93.2051282051282vw, 72.7rem);
        background-image: url(../img/topAward_decoration_SP1.png);
    }
    .topAward_inner::before{
        right: -3.8461538461538463vw;
        bottom: -25.6rem;
        width: clamp(13rem, 32.56410256410256vw, 25.4rem);
        height: clamp(11.772rem, 29.48717948717949vw, 23rem);
        background-image: url(../img/topAward_decoration_SP3.png);
    }
    .topAward_bgSP{
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 100%;
        background-color: #ebf3e1;
        clip-path: polygon(0% 94%, 0% 6%, 100% 0%, 100% 100%);
        z-index: 1;
    }
    .topAward_inner{
        position: relative;
        max-width: 100rem;
        z-index: 3;
    }
    .topAward_imgText{
        gap: 0 2.4rem;
        justify-content: initial;
    }
    .topAward_img{
        margin-right: 0;
        max-width: 19.2rem;
        min-width: 6rem;
        width: 28%;
        clip-path: polygon(0% 100%, 0% 4.6%, 100% 0%, 100% 100%);
    }
    .topAward_headline{ padding-top: 10.4%; }
    .topAward_headline_span{
        margin-bottom: .8rem;
        padding-left: 6%;
        font-size: clamp(1.8rem, 4.102564102564102vw, 3.2rem);
    }
    .topAward_headline_span_PC{ display: none; }
    .topAward_headline_span_SP{ display: flex; }
    .topAward_headline_span1{
        width: clamp(18.3rem, 57.05128205128205vw, 44.5rem);
        height: clamp(4.061rem, 10.64102564102564vw, 8.3rem);
        background-image: url(../img/topAward_decoration_SP4.png);
    }
    .topAward_headline_span2, .topAward_headline_span3{
        width: clamp(20rem, 47.94871794871795vw, 37.4rem);
        height: clamp(3.73rem, 10.512820512820513vw, 8.2rem);
        background-image: url(../img/topAward_decoration_SP5.png);
    }
    .topAward_text_box{
        margin-top: 5.6rem;
        text-align: center;
    }
    .topAward_text{
        font-size: clamp(1.6rem, 3.076923076923077vw, 2.4rem);
        text-shadow: #fff .1rem .1rem 1rem, #fff -.1rem .1rem 1rem, #fff .1rem -.1rem 1rem, #fff -.1rem -.1rem 1rem;
    }
    /*=== リフォームかし保険 ===*/
    .topInsurance::before{
        width: clamp(15rem, 10vw, 19.2rem);
        height: clamp(41.172rem, 27.447916666666668vw, 52.7rem);
    }
    .topInsurance::after{
        width: clamp(22rem, 16.927083333333336vw, 32.5rem);
        height: clamp(38.855rem, 29.895833333333332vw, 57.4rem);
    }
    .topInsurance_inner{
        padding: clamp(8rem, 28.717948717948715vw, 22.4rem) 0 10.4rem;
        flex-direction: column;
        gap: 0 1.6rem;
    }
    .topInsurance_info{
        max-width: initial;
        width: 100%;
    }
    .topInsurance_title{ margin-bottom: 3.2rem; }
    .topInsurance_headline{
        padding-bottom: .8rem;
        line-height: 2.3;
        font-size: clamp(1.8rem, 1.3020833333333335vw, 2.5rem);
    }
    .topInsurance_text{ margin: 2.4rem 0; }
    .topInsurance_img{
        margin: 4.8rem auto 0;
        min-width: 26rem;
        width: 68%;
    }
    /*=== 会社案内 ===*/
    .topGuidance_inner{ padding: 7.2rem 0; }
    .topGuidance_ul{
        margin-top: 3.2rem;
        gap: 4rem 6%;
    }
    .topGuidance_li{
        min-width: initial;
        width: 47%;
        aspect-ratio: 1 / 0.9090909090909091;
    }
    .topGuidance_img{ aspect-ratio: 1 / 0.9090909090909091; }
    .topGuidance_liTitle{ width: 90%; }
    .topGuidance_Icon{ height: 4rem; }
    .topGuidance_Icon1{ width: 2.32rem; }
    .topGuidance_Icon2{ width: 3.234rem; }
    .topGuidance_Icon3{ width: 1.92rem; }

    /*=== 施工事例 ===*/
    .topWorks{ background-image: url(../img/topWorks_bgSP.png); }
    .topWorks .splide__list{ gap: 0 3.8rem; }
    .topWorks .splide__slide{ width: 40% !important; }
    .splideWorks_hover{ transition: initial; }
    /*=== お客様の声 ===*/
    .topVoice{ margin-top: -16rem; }
    .topVoice::before{
        bottom: 0;
        width: 100%;
        height: clamp(21.923rem, 73.07692307692307vw, 57rem);
        background-image: url(../img/topVoice_decoration1_SP.png);
    }
    .topVoice_inner{
        padding: 0 0 clamp(10rem, 26.666666666666668vw, 20.8rem);
        width: 100%;
    }
    .topVoice .splide__list{
        margin-top: clamp(4rem, 6.25vw, 12rem) !important;
        padding-bottom: 4.8rem !important;
        gap: 0 7%;
    }
    .topVoice_article{
        margin-right: 0 !important;
        width: 89.7% !important;
    }
    .topVoice_thumbnail{
        width: 100%;
        aspect-ratio: 1 / 0.5660377358490566;
    }
    .topVoice_info{ margin: -2.4rem auto 0; }
    .topVoice_text{
        display: -webkit-box;
        width: 100%;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        white-space: initial;
    }
    .topVoice .top_btn_small{ margin: 6.4rem auto 0; }
    /*=== 事業案内 ===*/
    .topBusiness::before{
        width: 100%;
        height: clamp(41.671rem, 100.25641025641025vw, 78.2rem);
    }
    .topBusiness::after{
        width: 100%;
        height: clamp(35.221rem, 56.44487179487179vw, 44.027rem);
    }
    .topBusiness_inner{ padding: 7.2rem 0 14rem; }
    .topBusiness_inner::before{
        right: -3.8461538461538463vw;
        bottom: clamp(-4.1rem, -5.256410256410256vw, -3rem);
        width: clamp(18rem, 34.61538461538461vw, 27rem);
        height: clamp(16.14rem, 31.038461538461537vw, 24.21rem);
    }
    .topBusiness_title::before{
        width: clamp(17rem, 33.33333333333333vw, 26rem);
        height: clamp(2.775rem, 4.137179487179488vw, 3.227rem);
    }
    .topBusiness .top_btn_small_PC{ display: none; }
    .topBusiness .top_btn_small_SP{
        margin: 5.6rem auto 0;
        display: block;
    }
    .topBusiness_ul{ gap: 4.2rem 6%; }
    .topBusiness_li{
        min-width: initial;
        width: 47%;
        box-shadow: 1.4rem -1.4rem 0 0 #c7e9c4;
    }
    .topBusiness_info_title{ font-size: clamp(1.8rem, 2.8205128205128207vw, 2.2rem); }
    /*=== 代表あいさつ ===*/
    .topGreeting_inner{
        padding: 24rem 0 7.2rem;
        width: 100%;
    }
    .topGreeting_headline::before{
        left: 0;
        width: clamp(26rem, 47.86320512820513vw, 37.3333rem);
        height: clamp(10.468rem, 19.269230769230774vw, 15.03rem);
    }
    .topGreeting_info{ width: 90%; }
    .topGreeting_img{
        margin: 4rem 0 0 auto;
        width: 95%;
    }
    /*=== 支店のご案内 ===*/
    .topBranch_inner{ padding: 7.2rem 0 clamp(8rem, 19.230769230769234vw, 15rem); }
    .topBranch_content{ padding: 5.6rem 2.4rem; }
    .topBranch_wrap::before{
        top: -7rem;
        right: 0;
        left: auto;
        width: clamp(14rem, 36.92307692307693vw, 28.8rem);
        height: clamp(7.049rem, 18.58974358974359vw, 14.5rem);
        background-image: url(../img/branch_decoration1_SP.png);
        z-index: -1;
    }
    .topBranch_wrap::after{
        top: auto;
        right: -4rem;
        bottom: -6.5rem;
        width: 12.4rem;
        height: 24rem;
        background-image: url(../img/branch_decoration2_SP.png);
    }
    .topBranch_info_box{ flex-direction: column; }
    .topBranch_info{ flex-direction: column; }
    .topBranch_text_box{ width: 100%; }
    .topBranch_headline{
        padding-bottom: 1.6rem;
        font-size: clamp(1.8rem, 2.8205128205128207vw, 2.2rem);
    }
    .topBranch_text{ margin: 2.4rem 0; }
    .topBranch_map{
        aspect-ratio: initial;
        width: 100%;
        height: 32rem;
    }
    .topBranch_img{
        border-radius: 1.6rem;
        width: 100%;
        height: auto;
    }
    .topBranch_img img{ height: auto; }
}
@media screen and ( max-width: 500px ){
    /*=== FV下01～04 ===*/
    .topNum{ margin-top: -6.4rem; }
    .topNum_inner{
        /* padding: 9.6rem 0 12rem; */
        padding: 9.6rem 0 8rem;
    }
    /*=== 私たちについて ===*/
    /*=== お知らせ・ブログ ===*/
    .top_btn_small_PC{ display: none; }
    .top_btn_small_SP{
        margin-left: auto;
        display: block;
    }
    .topNB_inner{ padding: 25.6rem 0 18.4rem; }
    /*=== 外壁施工アワード ===*/
    .topAward{
        margin-top: -5rem;
        padding: 4rem 0 clamp(10.4rem, 44.800000000000004vw, 22.4rem);
    }
    .topAward::before{
        top: clamp(42rem, 84vw, 42rem);
        width: clamp(10rem, 51.7948717948718vw, 40.4rem);
        height: clamp(16.312rem, 84.48717948717949vw, 65.9rem);
    }
    .topAward_inner::before{ bottom: clamp(-21.7rem, -43.4vw, -1rem); }
    .topAward_img{ margin-top: -.8rem; }
    .topAward_text_box{ text-align: start; }
    .topAward_text{ word-break: auto-phrase; }
    /*=== リフォームかし保険 ===*/
    /*=== 会社案内 ===*/
    .topGuidance_ul{ gap: 3.2rem 0; }
    .topGuidance_li{
        min-width: 26rem;
        width: 100%;
    }
    /*=== 施工事例 ===*/
    .topWorks_titleBtn{ margin: 0 auto 5.2rem; }
    .topWorks .splide__list{ gap: 0 1.6rem; }
    .topWorks .splide__slide{ width: 66.5% !important; }
    .topWorks_btn_small_SP{
        margin: 6.4rem auto 0;
        max-width: 45rem;
        width: 90%;
    }
    .topWorks .top_btn_small_SP{ margin-left: auto; }
    /*=== お客様の声 ===*/
    .topVoice .splide__list{ padding-bottom: 8rem !important; }
    .topVoice_article{ width: 94% !important; }
    /*=== 事業案内 ===*/
    .topBusiness_titleBtn{ justify-content: center; }
    .topBusiness_title::before{
        left: 50%;
        transform: translateY(0%) translateX(-50%);
        -webkit-transform: translateY(0%) translateX(-50%);
    }
    .topBusiness_ul{ gap: 4.2rem 6%; }
    .topBusiness_li{
        min-width: 25rem;
        width: 95%;
        box-shadow: 1.4rem -1.4rem 0 0 #c7e9c4;
    }
    .topBusiness .top_btn_small_SP{ margin: 2.4rem 0 0 auto; }
    /*=== 代表あいさつ ===*/
    /*=== 支店のご案内 ===*/
}

/*=== スライダー 矢印・ページネーション ===*/
.splide__arrow{
    width: clamp(3.5rem, 6.41025641025641vw, 5rem) !important;
    height: clamp(3.5rem, 6.41025641025641vw, 5rem) !important;
    background: #82c672 !important;
    opacity: 1 !important;
    box-shadow: 0 .5rem 1.5rem 0 rgba(117, 117, 117, 0.35);
}
.splide__arrow svg{
    width: 1.5em !important;
    height: 1.5em !important;
    fill: #fff !important;
}
.topWorks .splide__pagination{ bottom: -4rem !important; }
.topVoice .splide__pagination{ bottom: -2rem !important; }
.splide__pagination__page.is-active{ background: #75c371 !important; }
.splide__pagination__page{ background: #acacac !important; }