@charset "utf-8";

/*-----------------------------------------------
    secRefine
-----------------------------------------------*/
.secRefine{
    padding: 0 0 20rem 0;
}
.secRefine.co{
    padding-top: 9.7rem;
}
@media only screen and (max-width:1215px){
    .secRefine{
        padding: 0 0 9.4rem 0;
    }
    .secRefine.co{
        padding-top: 2.8rem;
    }
}
/*-----------------------------------------------
    secRefineTop
-----------------------------------------------*/
.secRefineTop{
    position: relative;
    height: 52rem;
    background-position: center bottom;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(../img/refine/bgHero.jpg);
    text-align: center;
}
.secRefineTop::after,
.secRefineTop::before {
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--ColorBlack_30);
}
.secRefineTop::after {
    background: url(../img/common/bgHeroNoise.png);
}
.secRefineTop .wrapperTop {
    position: relative;
    z-index: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.secRefineTop .logo {
    margin: 2.7rem 0 4rem;
}
.secRefineTop .boxHeroTit {
    margin-bottom: 5rem;
}
@media only screen and (max-width:1215px){
    .secRefineTop{
        height: 28rem;
    }
    .secRefineTop::before {
        background-color: var(--ColorBlack_40);
    }
    .secRefineTop::after {
        background: url(../img/common/bgHeroNoise.png);
        opacity: .3;
    }
    .secRefineTop .boxHeroImg,
    .secRefineTop .boxHeroTit {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .secRefineTop .boxHeroImg .txt {
        max-width: 31.3rem;
    }
    .secRefineTop .boxHeroImg .logo {
        max-width: 17.6rem;
        margin: 1.7rem 0 0rem;
    }
    .secRefineTop .boxHeroTit {
        max-width: 31.3rem;
        margin: 2rem auto;
    }
}
@media only screen and (max-width:767px){
    .secRefineTop{
        background-image: url(../img/refine/bgHero_sp.jpg);
    }
}

/*-----------------------------------------------
    secCmnTit
-----------------------------------------------*/
.secCmnTit{
    text-align: center;
}
.secCmnTit.fWhite{
    color: var(--ColorWhite);
}
.secCmnTit .tit{
    font-size: var(--pcFontSize30);
    line-height: var(--pcLineHeight30_50);
    letter-spacing: var(--pcLetterSpacing30_50);
    font-weight: bold;
}
.secCmnTit .txt{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_40);
}
.secCmnTit .tit + .txt{
    margin-top: 2rem;
}
.secCmnTit .txtEng + .txt{
    margin-top: 3rem;
}
.secCmnTit .txtEng{
    position: relative;
    font-size: var(--pcFontSize24);
    letter-spacing: var(--pcLetterSpacing24_150);
    margin-top: 2.2rem;
    font-weight: bold;
    padding-bottom: 4rem;
}
.secCmnTit .txtEng:after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    bottom: 0;
    left: 0;
    right: 0;
    width: 5rem;
    height: 1px;
    background-color: var(--ColorBlack);
}
.secCmnTit.fWhite .txtEng:after{
    background-color: var(--ColorWhite);
}
@media only screen and (max-width:1215px){
    .secCmnTit.spRev{
        display: flex;
        flex-direction: column-reverse;
    }
    .secCmnTit.spRev2{
        flex-direction: column;
    }
    .secCmnTit .tit{
        font-size: var(--spFontSize16);
        line-height: var(--spLineHeight16_28);
        letter-spacing: var(--spLetterSpacing16_0);
    }
    .secCmnTit.spRev .tit,
    .secCmnTit .txt{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_26);
        letter-spacing: var(--spLetterSpacing14_0);
    }
    .secCmnTit.spRev .tit,
    .secCmnTit .tit + .txt{
        margin-top: 0.5rem;
    }
    .secCmnTit .txtEng + .txt {
        margin-top: 1rem;
    }
    .secCmnTit .txtEng{
        font-size: var(--spFontSize22);
        letter-spacing: var(--spLetterSpacing22_50);
        margin-top: 2.2rem;
        padding-bottom: 0;
    }
    .secCmnTit.spRev .txtEng{
        margin-top: 0;
        order: 1;
    }
    .secCmnTit .txtEng:after{
        display: none;
    }
    .secCmnTit.spRev2 .tit{
        order: 2;
        margin-top: 1rem;
    }
    .secCmnTit.spRev .txt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_24);
    }
    .secCmnTit.spRev2 .txt{
        order: 3;
        margin-top: 0.3rem;
    }
}

/*-----------------------------------------------
    secTop
-----------------------------------------------*/
.secTop{
    margin-top: 7rem;
}
@media only screen and (max-width:1215px){
    .secTop{
        margin-top: 3rem;
    }
    .secTop .txt{
        text-align: left;
    }
}

/*-----------------------------------------------
    secRenovation
-----------------------------------------------*/
.secRenovation{
    margin-top: 7rem;
    padding: 12.5rem 0;
}
.secRenovation.lazyloaded{
    background: url(../img/refine/bgRenovation.jpg) center top / cover no-repeat;
}
.secRenovation .boxTxt{
    position: relative;
    max-width: 65rem;
    background-color: var(--ColorWhite);
    padding: 9rem 2rem 9rem 5rem;
    border-radius: 5rem;
    margin: 0 0 0 auto;
    text-align: left;
}
.boxRenovationTxt .tit{
    font-size: var(--pcFontSize30);
    line-height: var(--pcLineHeight30_50);
    letter-spacing: var(--pcLetterSpacing30_50);
    font-weight: bold;
}
.boxRenovationTxt .txt{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_40);
    letter-spacing: var(--pcLetterSpacing18_50);
    margin-top: 2rem;
}
.secRenovation .boxTxt .txt02{
    position: absolute;
    bottom: -2rem;
    right: 7rem;
}
@media only screen and (max-width:1215px){
    .secRenovation{
        margin-top: 3rem;
        padding: 23rem 0 0;
    }
    .secRenovation .boxTxt{
        max-width: 96%;
        padding: 3rem 1.5rem 3rem 1.5rem;
        border-radius: 2rem 0 0 2rem;
    }
    .boxRenovationTxt .tit{
        font-size: var(--spFontSize16);
        line-height: var(--spLineHeight16_28);
        letter-spacing: var(--spLetterSpacing16_0);
    }
    .boxRenovationTxt .txt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_24);
        letter-spacing: var(--spLetterSpacing12_0);
        margin-top: 1rem;
    }
    .secRenovation .boxTxt .txt02{
        top: -1rem;
        bottom: auto;
        right: 1.5rem;
        width: 17rem;
    }
}
@media only screen and (max-width:500px){
    .secRenovation.lazyloaded{
        background: url(../img/refine/bgRenovation_sp.jpg) center top / contain no-repeat, linear-gradient(90deg, var(--ColorBlue) 0%, var(--ColorWhite) 100%);
    }
}

/*-----------------------------------------------
    secAll
-----------------------------------------------*/
.secAll{
    background-image: linear-gradient(90deg, var(--ColorBlue) 0%, var(--ColorWhite) 100%);
    padding: 14.3rem 0;
}
.secAll .boxAll{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.secAll .boxImg{
    max-width: 57.4rem;
    width: 100%;
}
.secAll .boxTxt{
    width: 44%;
}
@media only screen and (max-width:1215px){
    .secAll{
        padding: 4rem 0 5rem;
    }
    .secAll .boxAll{
        flex-direction: column;
    }
    .secAll .boxImg{
        max-width: 28.5rem;
        width: 100%;
    }
    .secAll .boxTxt{
        width: 92%;
        margin-top: 2.5rem;
        white-space: nowrap;
    }
}

/*-----------------------------------------------
    secChange
-----------------------------------------------*/
.secChange{
    margin-top: 9rem;
}
.secChange .boxList{
    margin-top: 4rem;
    display: flex;
    flex-wrap: wrap;
    gap: 7.5rem 0;
}
.secChange .boxList .item{
    width: 100%;
}
.secChange .boxList .titChange{
    position: relative;
    width: 100%;
    background-color: var(--ColorWhite);
    border: 1px solid var(--ColorGray2);
    box-shadow: inset 0 -0.3rem 0 0 var(--ColorBlack_5);
    padding: 2.6rem 2rem;
    text-align: left;
    font-size: var(--pcFontSize20);
    line-height: var(--pcLineHeight20_26);
    font-weight: bold;
}
.secChange .boxList .titChange:before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    left: -1px;
    width: 0.5rem;
    height: calc(100% + 2px);
    background-color: var(--keyColor);
}
/* boxBody */
.secChange .boxList .boxBody{
    margin-top: 4rem;
}
.secChange .boxChangeList{
    display: flex;
    justify-content: space-between;
}
.secChange .boxChangeList .item{
    position: relative;
    width: calc((100% - 8rem) / 2);
}
.secChange .itemAfter::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 10rem;
    bottom: 0;
    left: -6rem;
    width: 4rem;
    height: 2.5rem;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}
.secChange .boxChangeList.lazyloaded .itemAfter::before{
    background-image: url(../img/reform/iconChange.png);
}
.secChange .boxChangeList .tit{
    width: 100%;
    height: 8rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 4rem;
    font-size: var(--pcFontSize24);
    letter-spacing: var(--pcLetterSpacing24_150);
    font-weight: bold;
    background-color: var(--ColorBeige);
}
.secChange .itemAfter .tit{
    background-color: var(--keyColor);
    color: var(--ColorWhite);
}
.secChange .boxChange .txt{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_34);
    letter-spacing: var(--pcLetterSpacing18_50);
    margin-top: 3rem;
    text-align: justify;
    text-align-last: left;
}
.secChange .boxChange .boxImg{
    margin-top: 2rem;
    border-radius: 3rem;
    overflow: hidden;
}
@media only screen and (max-width:1215px){
    .secChange{
        margin-top: 5.5rem;
    }
    .secChange .boxList{
        margin-top: 2.5rem;
        gap: 5.5rem 0;
    }
    .secChange .boxList .titChange{
        background-color: var(--keyColor);
        color: var(--ColorWhite);
        border: none;
        box-shadow: none;
        padding: 1.5rem 1.5rem;
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_20);
    }
    .secChange .boxList .titChange:before{
        display: none;
    }
    /* boxBody */
    .secChange .boxList .boxBody{
        margin-top: 1.5rem;
    }
    .secChange .boxChangeList{
        flex-wrap: wrap;
        gap:4.4rem 0;
    }
    .secChange .boxChangeList .item{
        width: 100%;
    }
    .secChange .itemAfter::before{
        top: -3.4rem;
        bottom: auto;
        left: 0;
        right: 0;
        width: 1.5rem;
        height: 2.4rem;
    }
    .secChange .boxChangeList.lazyloaded .itemAfter::before{
        background-image: url(../img/reform/iconChange_sp.png);
    }
    .secChange .boxChangeList .tit{
        height: 4.5rem;
        border-radius: 2.25rem;
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_50);
    }
    .secChange .boxChange .txt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_24);
        letter-spacing: var(--spLetterSpacing12_0);
        margin-top: 1.5rem;
    }
    .secChange .boxChange .boxImg{
        margin-top: 1rem;
        border-radius: 1.5rem;
    }
}

/*-----------------------------------------------
    secFeature
-----------------------------------------------*/
.secFeature{
    /* margin-top: 9rem; */
    padding: 9rem 0;
    background-color: var(--ColorBeige);
}
/* boxService */
.secFeature .boxService{
    margin-top: 4rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--ColorWhite);
    padding: 7.5rem 6rem 7.5rem 10rem;
    border-radius: 5rem;
    box-shadow: 0 1px 0.8rem var(--ColorBlack_10);
}
.secFeature .boxService .boxImg{
    width: 100%;
    max-width: 45.8rem;
}
.secFeature .boxService .boxTxt{
    width: 50%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.secFeature .boxService .tit{
    font-size: var(--pcFontSize36);
}
.secFeature .boxService .txtIcon{
    font-size: var(--pcFontSize18);
    color: var(--keyColor);
    background-color: var(--ColorGreen_10);
    font-weight: bold;
    margin-top: 1rem;
    padding: 1.5rem 2rem 1.2rem;
}
/* boxList */
.secFeature .boxList{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6rem 5%;
    margin-top: 6rem;
}
.secFeature .item{
    width: calc((100% - 11.999rem) / 3);
}
.secFeature .boxImg{
    border-radius: 3rem;
    overflow: hidden;
}
.secFeature .boxTxt{
    margin-top: 2.5rem;
}
.secFeature .boxList .tit{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_30);
    font-weight: bold;
}
.secFeature .boxTxt .txt{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_28);
    margin-top: 1.8rem;
}
@media only screen and (max-width:1215px){
    .secFeature{
        /* margin-top: 6rem; */
        padding: 4rem 0;
    }
    /* boxService */
    .secFeature .boxService{
        margin-top: 2rem;
        flex-direction: column;
        padding: 3rem 1.5rem;
        border-radius: 2rem;
    }
    .secFeature .boxService .boxImg{
        max-width: 25.5rem;
    }
    .secFeature .boxService .boxTxt{
        width: 100%;
        align-items: center;
        margin-top: 2rem;
    }
    .secFeature .boxService .tit{
        font-size: var(--spFontSize22);
        letter-spacing: var(--spLetterSpacing22_50);
    }
    .secFeature .boxService .txtIcon{
        font-size: var(--spFontSize14);
        background-color: transparent;
        margin-top: 0.8rem;
        padding: 0;
    }
    /* boxList */
    .secFeature .boxList{
        gap: 3.5rem 0;
        margin-top: 4rem;
    }
    .secFeature .item{
        width: 100%;
    }
    .secFeature .boxImg{
        width: 82.61%;
        margin: 0 auto;
        border-radius: 1.5rem;
    }
    .secFeature .boxTxt{
        margin-top: 1.8rem;
    }
    .secFeature .boxList .tit{
        font-size: var(--spFontSize16);
        line-height: var(--spLineHeight16_20);
    }
    .secFeature .boxTxt .txt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_24);
        margin-top: 1rem;
    }
}

/*-----------------------------------------------
    secComparison
-----------------------------------------------*/
.secComparison{
    position: relative;
    margin-top: 9rem;
}
/* boxList */
.secComparison .boxList{
    position: relative;
    display: flex;
    justify-content: flex-end;
    margin-top: 4rem;
}
.secComparison .item{
    width: 41%;
    border: 1px solid var(--ColorGray2);
    padding: 0 4rem 3rem;
    border-radius: 2rem;
}
.secComparison .item.item_refine{
    border-color: var(--keyColor);
    border-width: 0.3rem;
    background-color: var(--ColorGreen2);
}
.secComparison .item_tit{
    position: absolute;
    top: 0;
    left: 0;
    width: 18rem;
    padding: 0;
    border: none;
}
/* boxTit */
.secComparison .item .boxTit{
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    height: 15rem;
}
.secComparison .item .tit{
    margin-top: 2rem;
    font-size: var(--pcFontSize22);
    letter-spacing: var(--pcLetterSpacing22_50);
    font-weight: bold;
}
.secComparison .item.item_refine .boxTit{
    color: var(--keyColor);
}
.secComparison .item.item_refine .tit{
    font-size: var(--pcFontSize30);
    letter-spacing: var(--pcLetterSpacing30_50);
}
.secComparison .item.item_refine .tit02{
    font-size: var(--pcFontSize16);
    margin-top: 1rem;
}
.secComparison .item_tit .boxTit{
    opacity: 0;
}
/* boxTxt */
.secComparison .item .boxTxt{
    min-height: 11.1rem;
    padding: 2.5rem 0;
    border-top: 1px solid var(--ColorGray2);
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}
.secComparison .item_tit .boxTxt{
    align-items: flex-start;
}
.secComparison .item_tit .boxTxt:last-child{
    border-bottom: 1px solid var(--ColorGray2);
}
.secComparison .boxTxt .txtLast,
.secComparison .boxTxt .txt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_30);
    letter-spacing: var(--pcLetterSpacing16_50);
}
.secComparison .boxTxt .fGreen{
    background: linear-gradient(transparent 65%, var(--ColorYellow) 65%, var(--ColorYellow) 90%, transparent 90%);
}
/* boxTxtLast */
.secComparison .item .boxTxt.boxTxtLast{
    height: 14rem;
    background-color: var(--ColorGray2);
    border-radius: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
.secComparison .item.item_refine .boxTxtLast{
    background-color: var(--keyColor);
    color: var(--ColorWhite);
}
@media only screen and (max-width:1215px){
    .secComparison{
        margin-top: 6rem;
    }
    /* boxList */
    .secComparison .boxList{
        justify-content: center;
        margin-top: 2.5rem;
    }
    .secComparison .item{
        width: 50%;
        padding: 0 1.5rem;
        border-radius: 1rem;
    }
    .secComparison .item.item_refine{
        border-width: 0.2rem;
    }
    .secComparison .item .boxTit{
        height: 7.5rem;
        border-bottom: 1px solid var(--ColorGray2);
    }
    .secComparison .item .tit{
        margin-top: 0;
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_0);
    }
    .secComparison .item.item_refine .tit{
        font-size: var(--spFontSize16);
        letter-spacing: var(--spLetterSpacing16_0);
    }
    .secComparison .item.item_refine .tit02{
        font-size: var(--spFontSize12);
        margin-top: 0.5rem;
    }
    /* boxTxt */
    .secComparison .item .boxTxt{
        min-height: calc(var(--spFontSize12) * var(--spLineHeight12_20) * 6);
        padding: 2.5rem 0;
        justify-content: flex-start;
    }
    .secComparison .item .boxTxt2{
        min-height:auto;
        padding-bottom: 2rem;
    }
    .secComparison .item .boxTxt:not(:last-child){
        margin-top: 0;
    }
    .secComparison .item .boxTit + .boxTxt{
        margin-top: 3.5rem;
        padding-bottom: 0;
    }
    .secComparison .item .boxTxt:not(:last-child){
        border-top: none;
    }
    .secComparison .boxTxt .txtLast,
    .secComparison .boxTxt .txt{
        text-align: left;
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
        letter-spacing: var(--spLetterSpacing12_0);
    }
    /* boxTxtLast */
    .secComparison .item .boxTxt.boxTxtLast{
        height: 12rem;
        border-radius: 1rem;
        padding: 2rem 1.5rem;
    }
    .secComparison .boxTxt .txtLast{
        text-align: center;
    }
    .secComparison .item.item_refine .boxTxtLast{
        background-color: var(--keyColor);
        color: var(--ColorWhite);
    }
    /* item_tit */
    .secComparison .item.item_tit{
        width: 65.22%;
        padding: 0;
        right: 0;
        margin:auto;
    }
    .secComparison .item.item_tit .boxTxt{
        justify-content: flex-start;
        align-items: center;
        padding-top: 0;
        margin-top: 0;
    }
    .secComparison .item.item_tit .boxTit + .boxTxt{
        margin-top: 2rem;
    }
    .secComparison .item.item_tit .boxTxt .txt{
        width: 100%;
        background-color: var(--ColorWhite);
        box-shadow: 0 1px 0.8rem var(--ColorBlack_10);
        border-radius: 1.5rem;
        padding: 0.5rem 1.5rem;
        text-align: center;
    }
    .secComparison .item.item_tit .boxTxt{
        border: none!important;
    }
}

/*-----------------------------------------------
    secMerit
-----------------------------------------------*/
.secMerit{
    margin-top: 9rem;
}
/* boxList */
.secMerit .boxList{
    position: relative;
    display: flex;
    justify-content: space-between;
    margin-top: 4rem;
}
.secMerit .item{
    width: 48.334%;
}
.secMerit .item.item_refine{
    background-color: var(--ColorGreen2);
}
.secMerit .item .boxTit{
    width: 100%;
    height: 12rem;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background-color: var(--ColorBeige);
    border-radius: 2rem 2rem 0 0;
}
.secMerit .item .tit{
    font-size: var(--pcFontSize20);
    line-height: var(--pcLineHeight20_32);
    letter-spacing: var(--pcLetterSpacing20_50);
    font-weight: bold;
}
.secMerit .item .boxMerit{
    padding: 4rem 5rem 4.5rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border: 1px solid var(--ColorGray2);
    border-top: none;
    border-radius: 0 0 2rem 2rem;
}
.secMerit .item.item_refine .boxMerit{
    border-color: var(--keyColor);
    border-width: 0.3rem;
}
.secMerit .item .boxNum{
    width: 48.12%;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
}
.secMerit .item .w100{
    width: 100%!important;
}
.secMerit .item .boxNumTotal{
    margin-top: 7.8rem;
}
.secMerit .item .numTxt{
    width: 100%;
    padding: 2.2rem 2rem;
    text-align: center;
    font-weight: bold;
    font-size: var(--pcFontSize16);
    letter-spacing: var(--pcLetterSpacing16_50);
    border-radius: 3rem;
    background-color: var(--ColorBeige);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}
.secMerit .boxNumTotal .numTxt{
    border-radius: 4rem;
}
.secMerit .item.item_refine .boxTit,
.secMerit .item.item_refine .numTxt{
    background-color: var(--keyColor);
    color: var(--ColorWhite);
}
.secMerit .item .boxPrice{
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing14_50);
    text-align: center;
}
.secMerit .numTxt + .boxPrice{
    margin-top: 1.5rem;
}
.secMerit .item .txtPrice{
    font-size: var(--pcFontSize20);
    letter-spacing: var(--pcLetterSpacing20_50);
    font-weight: bold;
}
.secMerit .item .num{
    font-size: var(--pcFontSize40);
    margin-right: 0.5rem;
}
.secMerit .boxNumTotal .num{
    margin: 0 0.5rem;
}
.secMerit .item .txtNote{
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing14_50);
    margin-top: 1rem;
}
.secMerit .item .boxNumTotal,
.secMerit .item .boxPlus{
    position: relative;
}
.secMerit .item .boxNumTotal::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: -5.8rem;
    left: 0;
    right: 0;
    width: 25.2rem;
    height: 3.8rem;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.secMerit .item .boxNumTotal.lazyloaded::before{
    background-image: url(../img/refine/iconMerit01.png);
}
.secMerit .item.item_refine .boxNumTotal::before{
    width: 1.6rem;
}
.secMerit .item.item_refine .boxNumTotal.lazyloaded::before{
    background-image: url(../img/refine/iconMerit02.png);
}
.secMerit .item .boxPlus::before,
.secMerit .item .boxPlus::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: -2rem;
    left: 0;
    right: 0;
    width: 2rem;
    height: 0.4rem;
    background-color: var(--keyColor);
}
.secMerit .item .boxPlus::after{
    transform: rotate(90deg);
}
/* boxResult */
.secMerit .boxResult{
    position: relative;
    margin-top: 4rem;
    text-align: center;
}
.secMerit .boxResult::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 1rem;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 2rem;
    border: 1px solid var(--textColor);
    z-index: -1;
}
.secMerit .boxResult .wrapper{
    position: relative;
    padding: 7.5rem 5rem 6.5rem;
    background-color: var(--ColorWhite);
    border: 1px solid var(--textColor);
    border-radius: 2rem;
    z-index: 1;
}
.secMerit .boxResult .tit{
    font-size: var(--pcFontSize26);
    letter-spacing: var(--pcLetterSpacing26_50);
    font-weight: bold;
}
.secMerit .boxResult .txt{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_40);
    margin-top: 3rem;
}
.secMerit .boxResult .icon{
    position: absolute;
    bottom: 4rem;
    right: 4rem;
    z-index: 1;
}
@media only screen and (max-width:1215px){
    .secMerit{
        padding-top: 6rem;
        margin-top: 6rem;
        border-top: 1px solid var(--ColorGray2);
    }
    .secMerit .secCmnTit .txt{
        text-align: left;
    }
    /* boxList */
    .secMerit .boxList{
        flex-wrap: wrap;
        gap: 3rem;
        margin-top: 2rem;
    }
    .secMerit .item{
        width: 100%;
    }
    .secMerit .item .boxTit{
        height: auto;
        border-radius: 1rem 1rem 0 0;
    }
    .secMerit .item .tit{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
        letter-spacing: var(--spLetterSpacing12_0);
        padding: 1.5rem 0;
    }
    .secMerit .item .boxMerit{
        padding: 1.5rem 1.5rem 3rem;
        border-radius: 0 0 1rem 1rem;
    }
    .secMerit .item.item_refine .boxMerit{
        border-width: 1px;
    }
    .secMerit .item .boxNum{
        width: 49.525%;
    }
    .secMerit .item .boxNumTotal{
        margin-top: 4.5rem;
    }
    .secMerit .item .numTxt{
        padding: 1.1rem;
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing12_0);
        border-radius: 1.7rem;
        gap: 0.5rem;
    }
    .secMerit .boxNumTotal .numTxt{
        border-radius: 2.5rem;
        padding: 1.3rem 1.1rem;
    }
    .secMerit .numTxt + .boxPrice{
        margin-top: 0.5rem;
    }
    .secMerit .item .txtPrice{
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_0);
    }
    .secMerit .item .num{
        font-size: var(--spFontSize24);
        letter-spacing: var(--spLetterSpacing24_50);
        margin-right: 0.2rem;
    }
    .secMerit .boxNumTotal .num{
        margin: 0 0.2rem;
    }
    .secMerit .item .txtNote{
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing11_0);
        margin-top: 0.5rem;
    }
    .secMerit .item .boxNumTotal::before{
        top: -3.5rem;
        left: 0;
        right: 0;
        width: 18.1rem;
        height: 2.5rem;
    }
    .secMerit .item.item_refine .boxNumTotal::before{
        width: 0.8rem;
        height: 1.9rem;
    }
    .secMerit .item .boxPlus::before,
    .secMerit .item .boxPlus::after{
        top: -2rem;
        width: 1.1rem;
        height: 1px;
    }
    /* boxResult */
    .secMerit .boxResult{
        margin-top: 3rem;
        text-align: left;
    }
    .secMerit .boxResult::before{
        top: 0.4rem;
        border-radius: 1rem;
    }
    .secMerit .boxResult .wrapper{
        padding: 3.5rem 1.5rem 3.5rem;
        border-radius: 1rem;
    }
    .secMerit .boxResult .tit{
        font-size: var(--spFontSize16);
        line-height: var(--spLineHeight16_26);
        letter-spacing: var(--spLetterSpacing16_0);
    }
    .secMerit .boxResult .txt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_24);
        margin-top: 0.5rem;
    }
    .secMerit .boxResult .icon{
        bottom: auto;
        top: -2.5rem;
        right: 1.3rem;
        width: 9.4rem;
    }
}

/*-----------------------------------------------
    secFlow
-----------------------------------------------*/
.secFlow{
    padding-top: 9rem;
    margin-top: 9rem;
    border-top: 1px solid var(--ColorGray2);
}
/* boxList */
.secFlow .boxList{
    margin-top: 4rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.secFlow .boxList .item{
    position: relative;
    width: calc((100% - 10.79rem) / 7);
}
.secFlow .boxList .item:not(:first-child)::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    left: -2rem;
    width: 2.9rem;
    height: 1.2rem;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0.3;
}
.secFlow .boxList.lazyloaded .item:not(:first-child)::after{
    background-image: url(../img/refine/iconFlow.png);
}
.secFlow .boxList img{
    border-radius: 7.8rem;
}
.secFlow .boxList .txt{
    margin-top: 3.5rem;
    font-size: var(--pcFontSize16);
    text-align: center;
    white-space: nowrap;
}
/* boxInfoList */
.secFlow .boxInfoList{
    margin-top: 6rem;
    gap: 1.8rem;
    display: flex;
}
.secFlow .boxInfoList .itemInfo{
    position: relative;
    width: 42%;
    text-align: center;
}
.secFlow .boxInfoList .itemInfo::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--keyColor);
    z-index: -1;
}
.secFlow .boxInfoList .item_customer{
    width: 56.5%;
}
.secFlow .boxInfoList .item_customer2{
    display: none;
}
.secFlow .boxInfoList .item_customer::before{
    background-color: var(--ColorPink);
}
.secFlow .boxInfoList .boxTxt{
    position: relative;
}
.secFlow .boxInfoList .boxTxt:before,
.secFlow .boxInfoList .boxTxt:after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    right: 0;
    width: 0;
    height:0;
    border-style:solid;
    border-width: 0.8rem 0 0.8rem 1rem;
    border-color: transparent transparent transparent var(--keyColor);
}
.secFlow .item_customer .boxTxt:before,
.secFlow .item_customer .boxTxt:after{
    border-color: transparent transparent transparent var(--ColorPink);
}
.secFlow .boxInfoList .boxTxt:before{
    left: 0;
    right: auto;
    transform: rotate(180deg);
}
.secFlow .boxInfoList .txt{
    position: relative;
    font-size: var(--pcFontSize20);
    font-weight: bold;
    background-color: var(--ColorWhite);
    display: inline-block;
    padding: 0 2rem;
}
.secFlow .item_company .txt{
    color: var(--keyColor);
}
.secFlow .item_customer .txt{
    color: var(--ColorPink);
}
@media only screen and (max-width:1215px){
    .secFlow{
        padding-top: 6rem;
        margin-top: 6rem;
    }
    /* boxFlow */
    .secFlow .boxFlow{
        position: relative;
    }
    /* boxList */
    .secFlow .boxList{
        justify-content: center;
        margin-top: 2.5rem;
        gap: 6rem 4.2%;
    }
    .secFlow .boxList .item{
        width: 21.74%;
    }
    .secFlow .boxList .item:not(:first-child)::after{
        top: 0.3rem;
        left: -1.5rem;
        width: 1.8rem;
        height: 0.8rem;
    }
    .secFlow .boxList .txt{
        margin-top: 1.1rem;
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_18);
    }
    /* boxInfoList */
    .secFlow .boxInfoList{
        margin-top: 2.8rem;
        height: 1.2rem;
        gap: 0;
    }
    .secFlow .boxInfoList .itemInfo{
        position: absolute;
        top: 45%;
        left: 0;
        width: 73.914%;
    }
    .secFlow .boxInfoList .itemInfo::before{
        height: 1px;
    }
    .secFlow .boxInfoList .item_customer{
        width: 73.914%;
        top: auto;
        bottom: 0;
        right: 0;
        margin: auto;
    }
    .secFlow .boxInfoList .boxTxt:before,
    .secFlow .boxInfoList .boxTxt:after{
        border-width: 0.6rem 0 0.6rem 0.7rem;
    }
    .secFlow .item_customer:not(.item_customer2) .boxTxt:before{
        display: none;
    }
    .secFlow .boxInfoList .txt{
        font-size: var(--spFontSize12);
        padding: 0 1.3rem;
    }
    .secFlow .boxInfoList .item_customer2{
        display: block;
        bottom: auto;
        top: 45%;
        left: auto;
        width: 21.74%;
    }
    .secFlow .item_customer2 .boxTxt:after{
        display: none;
    }
    .secFlow .item_customer2 .txt{
        font-size: 0;
    }
}

/*-----------------------------------------------
    secEstate
-----------------------------------------------*/
.secEstate{
    margin-top: 14rem;
}
/* boxEstateTit */
.secEstate .boxEstateTit{
    width: 100%;
    height: 10rem;
    background-color: var(--ColorBeige);
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 1rem;
}
.secEstate .boxEstateTit .titEstate{
    font-size: var(--pcFontSize22);
    letter-spacing: var(--pcLetterSpacing22_50);
    font-weight: bold;
}
/* boxList */
.secEstate .boxList{
    display: flex;
    flex-wrap: wrap;
    gap: 2rem 3rem;
    margin-top: 4rem;
}
.secEstate .boxList .item{
    width: calc((100% - 5.999rem) / 3);
}
.secEstate .link{
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}
.secEstate .linkInner{
    width: 100%;
    height: 100%;
}
.secEstate .imgArea{
    width: 100%;
    position: relative;
}
.secEstate .imgBox{
    width: 100%;
    height: 0;
    padding-top: calc(570 / 760 * 100%);
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
}
.secEstate .txtArea{
    width: 100%;
    padding: 2.7rem 2rem;
    text-align: center;
}
.secEstate .txtArea:has(.addtxt) .txtInner{
    display: flex;
    flex-direction: column-reverse;
}
.secEstate .tit{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_24);
    font-weight: bold;
    text-decoration: underline;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.secEstate .pricebox{
    text-align: center;
    margin-top: 0.3rem;
}
.secEstate .pricetxt{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_30);
    font-weight: bold;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.secEstate .priceNum{
    font-size: var(--pcFontSize22);
}
.secEstate .addtxt{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_20);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 0.1rem;
}
.secEstate .memberMusk{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    overflow: hidden;
    z-index: 3;
    display: flex;
    align-items: center;
    border-radius: 1rem;
    overflow: hidden;
}
.secEstate .memberMusk::after{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: var(--ColorBlack_50);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
}
.secEstate .memberInner{
    display: inline-block;
    width: 100%;
    text-align: center;
    color: var(--ColorWhite);
    position: relative;
    z-index: 3;
    padding-top: 4.5rem;
}
.secEstate .membertit{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_24);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing18_50);
}
.secEstate .membertitEng{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_20);
    font-weight: bold;
    margin-top: 1.1rem;
    letter-spacing: var(--pcLetterSpacing14_50);
}
.secEstate .memberInner::after{
    content: "";
    position: absolute;
    width: 2.2rem;
    height: 2.7rem;
    left: calc(50% - 1.1rem);
    top: 0.4rem;
}
.secEstate.lazyloaded .memberInner::after{
    background: url(../img/common/imgIconMember.png) no-repeat center center;
    background-size: 100% auto;
}
@media only screen and (max-width:1215px){
    .secEstate{
        margin-top: 7rem;
    }
    /* boxEstateTit */
    .secEstate .boxEstateTit{
        height: 6rem;
        padding-top: 0.5rem;
    }
    .secEstate .boxEstateTit .titEstate{
        font-size: var(--spFontSize16);
        letter-spacing: var(--spLetterSpacing16_0);
    }
    /* boxList */
    .secEstate .boxList{
        justify-content: space-between;
        gap: 1.5rem 0;
        margin-top: 3rem;
    }
    .secEstate .boxList .item{
        width: 49.278%
    }
    .secEstate .imgBox{
        border-radius: 0.5rem;
    }
    .secEstate .txtArea{
        width: 100%;
        padding: 1.3rem 1rem;
    }
    .secEstate .tit{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_20);
    }
    .secEstate .pricebox{
        margin-top: 0.3rem;
    }
    .secEstate .pricetxt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
    }
    .secEstate .priceNum{
        font-size: var(--spFontSize16);
    }
    .secEstate .addtxt{
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_18);
        margin-top: 0.1rem;
    }
    .secEstate .memberMusk{
        border-radius: 0.5rem;
    }
    .secEstate .memberInner{
        padding-top: 4rem;
    }
    .secEstate .membertit{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
        letter-spacing: var(--spLetterSpacing12_0);
    }
    .secEstate .membertitEng{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
        margin-top: 0.1rem;
        font-weight: normal;
        letter-spacing: var(--spLetterSpacing12_0);
    }
    .secEstate .memberInner::after{
        width: 1.7rem;
        height: 2.2rem;
        top: 0.4rem;
    }
}

/* secCmnMorelink */
.secCmnMorelink{
    max-width:40rem;
    margin: 0 auto;
    margin-top: 4rem;
    text-align: center;
}
.secCmnMorelink .morelink{
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    height: 8rem;
    border: 1px solid;
    border-color: var(--ColorBlack);
    background-color: #fff;
    border-radius: 4rem;
    box-shadow: inset 0 -0.7rem 0 0 var(--footerContact_shadow);
}
.secCmnMorelink .morelink_In{
    display: inline-block;
    width: 100%;
    text-align: center;
}
.secCmnMorelink .linkIntxt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_24);
    font-weight: bold;
}
.secCmnMorelink .morelink::after{
    content: "";
    position: absolute;
    width:0.8rem;
    height: 1.2rem;
    top: calc(50% - 0.6rem);
    right:4rem;
}
.secCmnMorelink.lazyloaded .morelink::after{
    background: url(../img/common/imgSlider_Arrow.png) no-repeat center center;
    background-size: 100% auto;
}
.secCmnMorelink #listLoading{
    display: none;
}
@media only screen and (max-width:1215px){
    .secCmnMorelink{
        display: none;
    }
}

/*-----------------------------------------------
    secWorks
-----------------------------------------------*/
.secWorks{
    margin-top: 10rem;
    background-position: center bottom;
    background-size: contain;
    background-repeat: no-repeat;
    background-color: rgb(49 140 185);
    padding: 9rem 0 10rem;
}
.secWorks.lazyloaded{
    background-image: url(../img/refine/bgWorks.jpg);
}
.secWorks .boxWorks{
    background-color: var(--ColorWhite);
    padding: 6rem 5.5rem 7.5rem;
    border-radius: 5rem;
    margin-top: 4rem;
}
.secWorks .boxList{
    display: flex;
    flex-wrap: wrap;
    gap: 4rem 3rem;
}
.secWorks .boxList .item{
    width: calc((100% - 8.999rem) / 4);
}
.secWorks .boxList .boxImg{
    width: 100%;
}
.secWorks .boxList img{
    border-radius: 1rem;
}
.secWorks .boxList .boxTxt{
    margin-top: 1.5rem;
    text-align: center;
}
.secWorks .boxList .tit{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_24);
    letter-spacing: var(--pcLetterSpacing16_50);
    font-weight: bold;
}
.secWorks .boxList .txt{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_20);
    letter-spacing: var(--pcLetterSpacing14_50);
    margin-top: 0.8rem;
}
@media only screen and (max-width:1215px){
    .secWorks{
        margin-top: 6rem;
        padding: 4rem 0 6rem;
    }
    .secWorks .boxWorks{
        padding: 3rem 1.5rem;
        border-radius: 2rem;
        margin-top: 2.3rem;
    }
    .secWorks .boxList{
        justify-content: space-between;
        gap: 2rem 0;
    }
    .secWorks .boxList .item{
        width: calc((100% - 0.9rem) / 2);
    }
    .secWorks .boxList img{
        border-radius: 1rem;
    }
    .secWorks .boxList .boxTxt{
        margin-top: 1rem;
    }
    .secWorks .boxList .tit{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_22);
        letter-spacing: var(--spLetterSpacing14_0);
    }
    .secWorks .boxList .txt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_18);
        letter-spacing: var(--spLetterSpacing12_0);
        margin-top: 0.4rem;
    }
}
@media only screen and (max-width:767px){
    .secWorks{
        background-size: cover;
    }
    .secWorks.lazyloaded{
        background-image: url(../img/refine/bgWorks_sp.jpg);
    }
}