@charset "utf-8";
.f_oswald{
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
}
.secHero{
    width: 100%;
    background: url(../img/lp/t_grand/heroBg.jpg) right top no-repeat;
    height: 76.5rem;
    margin-top: 2.7rem;
}
@media only screen and (min-width:1921px){
    .secHero{
        background-size: 100% auto;
        height: calc((765 / 1920) * 100vw);
    }
}
@media only screen and (max-width:1500px){
    .secHero{
        background-size: 192rem auto;
    }
}
.secHero .Inner{
    width: calc(100% - 10rem);
    max-width: 128rem;
    margin: 0 auto;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0 4rem;
}
.secHero .txtbox{
    display: inline-block;
    width: 100%;
    text-align: left;
}
.secHero .title{
    font-size:var(--pcFS50);
    line-height: calc(64 / 50);
    font-weight: bold;
    color: var(--whiteColor);
}
.secHero .subtit{
    font-size: var(--pcFS22);
    line-height: var(--pcLH22_30);
    font-weight: bold;
    color: var(--whiteColor);
    margin-top: 1.4rem;
}
.secHero .txt{
    font-size: var(--pcFS14);
    line-height: calc(30 / 14);
    margin-top: 1.7rem;
}
.secHero .btnArea{
    width: 100%;
    margin-top: 3rem;
}
.secHero .btnlist{
    max-width: 26rem;
    width: 100%;
    display: flex;
}
.secHero .btnItem{
    width: 100%;
}
.secHero .btnItem:last-child{
    margin-right: 0;
}
.secHero .btnLink{
    display: flex;
    align-items: center;
    width: 100%;
    height: 6rem;
    border-radius: 1.5rem;
    font-size: var(--pcFS16);
    line-height: calc(24 / 16);
    font-weight: bold;
    background-color: var(--t_grandbtnColor);
    color: var(--whiteColor);
}
.secHero .btnLink .btnIn{
    display: inline-block;
    width: 100%;
    text-align: center;
}
.secHero .tabArea{
    width: 100%;
    margin-top: 2rem;
}
.secHero .tablist{
    max-width: 83rem;
    width: 100%;
    display: flex;
}
.secHero .tabItem{
    width: calc((100% - 3rem) / 4);
    margin-right: 1rem;
}
.secHero .tabItem:last-child{
    margin-right: 0;
}
.secHero .tabbox{
    display: flex;
    align-items: center;
    width: 100%;
    height: 6rem;
    background-color: var(--whiteColor);
    border-radius: 1rem;
}
.secHero .tabbox .tabInner{
    display: inline-block;
    width: 100%;
    text-align: center;
}
.secHero .tabbox .tabtxt{
    font-size: var(--pcFS14);
    line-height: calc(30 / 14);
    color: var(--btnColor);
}
.secHero .tabbox .tab_txt{
    color: var(--t_grand_tabColor);
    padding-right:0.5rem;
}
@media only screen and (max-width:1215px){
    .secHero{
        height: auto;
        min-height: calc(765 / 1500 * 100vw);
        background-size:auto 100%;
    }
    .secHero .Inner{
        padding: 5rem 0;
        height: 100%;
    }
    .secHero .title{
        font-size: var(--pcFS38);
    }
}
@media only screen and (min-width:768px){
    .secHero .btnLink .sptxt{
        display: none;
    }
}
@media only screen and (max-width:767px){
    .secHero .btnLink .pctxt{
        display: none;
    }
    .secHero{
        background: url(../img/lp/t_grand/heroBg_sp.jpg) center center no-repeat;
        background-size: cover;
        height: auto;
        margin-top: 1.8rem;
        padding-top: 4.8rem;
    }
    .secHero .Inner{
        width: calc(325 / 375 * 100%);
        max-width: 100%;
        height: auto;
        display: block;
        padding: 0;
        position: relative;
        padding-bottom: calc(5rem + 5rem + 2.1rem);
    }
    .secHero .txtbox{
        display: block;
    }
    .secHero .title{
        font-size:var(--spFS20);
        line-height: calc(28 / 20);
    }
    .secHero .subtit{
        font-size: var(--spFS13);
        line-height: var(--spLH13_20);
        margin-top: 1rem;
    }
    .secHero .txt{
        font-size: var(--spFS12);
        line-height: calc(20 / 12);
        margin-top: 0.6rem;
        color: var(--whiteColor);
    }
    .secHero .btnArea{
        margin-top: 0;
        position: absolute;
        left: 0;
        bottom: 5rem;
    }
    .secHero .btnlist{
        max-width: 28.5rem;
        width: calc(100% - 4rem);
        margin: 0 auto;
    }
    .secHero .btnLink{
        height: 5rem;
        border-radius: 1rem;
        font-size: var(--spFS12);
        line-height:var(--spLH12_20);
    }
    .secHero .tabArea{
        margin-top: 1.6rem;
        padding-bottom: calc(10.4rem + 2rem);
        position: relative;
    }
    .secHero .tabArea::after{
        content: "";
        position: absolute;
        width: 13.8rem;
        height: 10.4rem;
        left: calc(50% - 6.9rem);
        bottom: 0;
        background: url(../img/lp/t_grand/tabAreaBg_sp.png) no-repeat center center;
        background-size: 100% auto;
    }
    .secHero .tablist{
        max-width:100%;
        flex-wrap: wrap;
    }
    .secHero .tabItem{
        width: calc((100% - 0.9rem) / 2);
        margin-right: 0.9rem;
    }
    .secHero .tabItem:nth-child(2n),
    .secHero .tabItem:last-child{
        margin-right: 0;
    }
    .secHero .tabItem:nth-child(n+3){
        margin-top: 1rem;
    }
    .secHero .tabbox{
        height: 3.4rem;
        border-radius: 0.5rem;
    }
    .secHero .tabbox .tabtxt{
        font-size: var(--spFS12);
        line-height: calc(20 / 12);
    }
    .secHero .tabbox .tab_txt{
        padding-right: 5px;
    }
}
@media only screen and (max-width:374px){
    .secHero{
        background-size: cover;
    }
}

/* ▼フォーム周り */
.secLpform{
    width: 100%;
    margin-top: 19.5rem;
}
.secLpform .l_formtxtArea{
    width: 100%;
    text-align: center;
}
.secLpform .l_formtit{
    font-size: var(--pcFS38);
    line-height: calc(56 / 38);
    font-weight: bold;
}
.secLpform .l_formtxt{
    font-size: var(--pcFS16);
    line-height: calc(30 / 16);
    margin-top: 1.5rem;
}
.secLpform .l_formtxtArea + .secCmnForm{
    margin-top: 4rem;
}
.secForm .cmnCoBtn a,
.secForm .cmnCoBtn a:hover{
    background: var(--t_grandbtnColor);
}
.secForm .cmnCoBtn .btnSendCoBack,
.secForm .cmnCoBtn .btnSendCoBack:hover{
    background: var(--whiteColor);
    color: var(--textColor);
}
@media only screen and (max-width:1215px){
    .secLpform{
        margin-top: 8rem;
    }
    .secLpform .l_formtit{
        font-size: var(--spFS18);
        line-height: calc(26 / 18);
    }
    .secLpform .l_formtxt{
        font-size: var(--spFS12);
        line-height: calc(20 / 12);
        margin-top: 0.4rem;
    }
    .secLpform .l_formtxtArea + .secCmnForm{
        margin-top: 3.5rem;
    }
}
.secTGrand .t_titbox{
    width: 100%;
    text-align: center;
}
.secTGrand .t_titbox .t_tit{
    font-size: var(--pcFS38);
    line-height: calc(56 / 38);
    font-weight: bold;
}
.secTGrand .t_titbox .t_txt{
    font-size: var(--pcFS16);
    line-height: calc(30 / 16);
    margin-top: 2.2rem;
}
.secTGrand .gbGray{
    width: 100%;
    background-color: var(--t_grand_grayColor);
    padding-bottom: 15rem;
    margin-top: 13.5rem;
    padding-top: 14.6rem;
}
@media only screen and (max-width:1215px){
    .secTGrand .t_titbox .t_tit{
        font-size: var(--spFS16);
        line-height: calc(24 / 16);
    }
    .secTGrand .t_titbox .t_txt{
        font-size: var(--spFS12);
        line-height: calc(20 / 12);
        margin-top: 1.2rem;
    }
    .secTGrand .gbGray{
        padding-bottom: 10rem;
        margin-top: 5.2rem;
        padding-top: 5.6rem;
    }
}
/* ▼おすすめ物件 */
.secEstate{
    width: 100%;
    margin-top: 10.2rem;
}
.secEstate .Inner{
    width: calc(100% - 10rem);
    max-width: 153rem;
    margin: 0 auto;
}
.secEstate .list{
    display: flex;
    flex-wrap: wrap;
    margin-top: 5rem;
}
.secEstate .Item{
    width: calc((100% - 3rem) / 3);
    margin-right: 1.5rem;
    position: relative;
}
.secEstate .boxBtnFav{
    z-index: 5;
}
.secEstate .link{
    position: relative;
    height: 100%;
    background-color: var(--whiteColor);
    border-radius: 0 2rem 2rem 2rem;
    border: 1px solid var(--gray_lightColor);
    box-shadow: 0 0 1.5rem var(--blackColor_6);
    padding: 4rem 3rem;
    display: flex;
    align-items: flex-start;
    align-content: flex-start;
    justify-content: space-between;
}
.secEstate .memberLink:hover{
    opacity: 1!important;
    cursor: auto;
}
@media only screen and (min-width:1216px){
    .secEstate .Item:nth-child(3n){
        margin-right: 0;
    }
    .secEstate .Item:nth-child(n+4){
        margin-top: 4rem;
    }
    .secEstate .spBtnBox{
        display: none;
    }
}
@media only screen and (max-width:1215px){
    .secEstate{
        margin-top: 5.6rem;
    }
    .secEstate .Inner{
        width:calc(345 / 375 * 100%);
        max-width: 40rem;
    }
    .secEstate .list{
        display: block;
        margin-top: 3.5rem;
    }
    .secEstate .Item{
        width:100%;
        margin-right: 0;
        position: relative;
    }
    .secEstate .Item + .Item{
        margin-top: 1rem;
    }
}
/* iconNew */
.secEstate .boxIcon{
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
}
.secEstate .icon{
    width: auto;
    height: 2rem;
    font-size: var(--pcFS11);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2px 0.8rem 0 0.8rem;
}
.secEstate .iconNew {
    background-color: var(--yellowColor);
}
.secEstate .iconRecommend {
    background-color: var(--orangeColor);
    color: var(--whiteColor);
}
/* boxThink */
.secEstate .boxThink {
    position: absolute;
    top: -1rem;
    right: 3rem;
    width: auto;
    height: 2.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2px 0.8rem 0 0.8rem;
    background-color: var(--orange_lightColor)
}
.secEstate .boxThink .txtThink {
    font-size: var(--pcFS11);
}
.secEstate .boxThink .num {
    font-size: var(--pcFS14);
}
/* boxBtnFav */
.secEstate .boxBtnFav{
    position: absolute;
    top: 3rem;
    right: 3rem;
}
.secEstate .link{
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    padding: 3rem;
}
.secEstate .rank1{
    background-color: var(--rank1bgColor);
    border-color: var(--rank1borderColor);
}
/* boxHead */
.secEstate .boxHead{
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.secEstate .boxImg{
    position: relative;
    width: 8rem;
}
.secEstate .img{
    aspect-ratio: 80 / 80;
    border-radius: 100%;
    overflow: hidden;
}
.secEstate .iconRank{
    position: absolute;
    top: -1rem;
    left: -1rem;
    width: 3.6rem;
    height: 3.6rem;
    border-radius: 100%;
    font-size: var(--pcFS20);
    color: var(--whiteColor);
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--rankColor);
}
.secEstate .iconRank.rank1{
    background-color: var(--rank1Color);
}
.secEstate .iconRank.rank2{
    background-color: var(--rank2Color);
}
.secEstate .iconRank.rank3{
    background-color: var(--rank3Color);
}
.secEstate .boxTit{
    width: calc(100% - 10rem);
}
.secEstate .boxTit .tit{
    max-width: calc(100% - 5rem);
    font-size: var(--pcFS20);
    line-height: var(--pcLH20_30);
    font-weight: bold;
}
.secEstate .boxTit .txt{
    max-width: calc(100% - 5rem);
    position: relative;
    font-size: var(--pcFS13);
    line-height: var(--pcLH13_20);
    padding-left: 1.6rem;
}
.secEstate .boxTit .txt::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    left: 0;
    width: 1.3rem;
    height: 1.7rem;
    background: right top / cover no-repeat;
}
.secEstate .boxTit .txt.lazyloaded::before{
    background-image: url(../img/common/iconBtnMap_gray.png);
}
.secEstate .boxTit .txt02::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    left: -0.2rem;
    width: 1.7rem;
    height: 1.7rem;
    background: right top / cover no-repeat;
}
.secEstate .boxTit .txt02.lazyloaded::before{
    background-image: url(../img/estate/iconBtnMap_gray02.png);
}
.secEstate .boxTit .tit,
.secEstate .boxTit .txt,
.secEstate .boxInfo .info{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.secEstate .boxTit .boxList{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    overflow: hidden;
    max-height: 60px;/*任意の値*/
}
.secEstate .boxTit .boxList{
    margin-top: 1rem;
}
.secEstate .boxTit .item{
    font-size: var(--pcFS10);
    color: var(--greenColor);
    border: 1px solid var(--greenColor);
    padding: 0.5rem 0.3rem;
    display: inline-block;
    margin-bottom: 0.5rem;
}
.secEstate .boxTit .iconRed{
    color: var(--redColor);
    border-color: var(--redColor);
}
/* boxInfo */
.secEstate .boxInfo{
    position: relative;
    width: 100%;
    margin-top: 1.5rem;
}
.secEstate .boxInfoCard{
    display: flex;
    align-items: stretch;
}
.secEstate .bgInfo{
    background-color: var(--gray_lightColor_2);
    border-radius: 1.2rem;
    padding: 1.5rem 1rem;
}
.secEstate .boxInfoCol{
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-width: 0;
    gap: 0.5rem;
}
.secEstate .boxInfoCol + .boxInfoCol:before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    left: 0;
    width: 1px;
    height: 65%;
    background-color: var(--gray_darkColor_2);
}
.secEstate .boxInfo .iconPrice{
    position: absolute;
    top: -1.6rem;
    left: 0;
    right: 0;
    margin: auto;
    font-size: var(--pcFS10);
    color: var(--redColor);
}
.secEstate .boxInfo .label{
    font-size: var(--pcFS12);
    color: var(--gray_darkColor);
}
.secEstate .boxInfo .numRow{
    display: flex;
    align-items: baseline;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.2rem 0.4rem;
    margin: 0;
}
.secEstate .boxInfo .num{
    font-size: var(--pcFS28);
    font-weight: 900;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 14rem;
}
.secEstate .boxInfo .numUnit{
    font-size: var(--pcFS20);
}
.secEstate .boxInfo .unit,
.secEstate .boxInfo .info{
    font-size: var(--pcFS12);
}
.secEstate .boxInfoTxt{
    margin-top: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.secEstate .boxInfoTxt .boxImg{
    width: 11rem;
}
.secEstate .boxInfoTxt .img{
    aspect-ratio: 110 / 80;
    border-radius: 0;
}
.secEstate .boxInfoTxt .img::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid var(--gray_darkColor_2);
}
.secEstate .boxInfoTxt .txt{
    width: calc(100% - 13rem);
    font-size: var(--pcFS12);
    line-height: var(--pcLH12_21);
    color: var(--gray_darkColor);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 3;
    -webkit-line-clamp: 3;
    overflow: hidden;
    max-height: calc(var(--pcFS12) * var(--pcLH12_21) * 3);
}
.secEstate .boxInfoTxt .txt:only-child{
    width: 100%;
}
/* boxMember */
.secEstate .boxMember{
    width: 100%;
    margin-top: 2rem;
}
.secEstate .boxMemberInner{
    text-align: center;
}
.secEstate .boxMember .tit{
    position: relative;
    font-size: var(--pcFS20);
    font-weight: bold;
    padding-top: 3.5rem;
    margin-top: 2rem;
}
.secEstate .boxMember .tit:before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    width: 2rem;
    height: 2.5rem;
    background: right top / cover no-repeat;
    opacity: 0.3;
}
.secEstate .boxMember.lazyloaded .tit:before{
    background-image: url(../img/common/iconMember.png);
}
.secEstate .boxMember .txt{
    font-size: var(--pcFS12);
    color: var(--gray_darkColor);
    margin-top: 1rem;
}
.secEstate .boxMember .boxBtn{
    margin-top: 1.4rem;
}
.secEstate .boxMember .memberBtn{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    max-width: 26rem;
    width: 100%;
    min-height: 5rem;
    border-radius: 1.5rem;
    background-color: var(--blackColor_333);
    color: var(--whiteColor);
    font-size: var(--pcFS13);
}
@media only screen and (max-width:1215px){
    .secEstate .link{
        padding: 2rem 2rem 7.5rem;
        border-radius: 0 1rem 1rem 1rem;
    }
    .secEstate .link.memberLink{
        padding: 2rem 1.5rem;
    }
    .secEstate .boxIcon{
        position: absolute;
        top: 0;
        left: 0;
        display: flex;
    }
    .secEstate .icon{
        height: auto;
        font-size: var(--spFS9);
        padding: 0.4rem 0.3rem;
    }
    /* boxThink */
    .secEstate .boxThink {
        top: -0.8rem;
        right: 2rem;
        height: auto;
        padding: 0.5rem;
    }
    .secEstate .boxThink .txtThink {
        font-size: var(--spFS10);
    }
    .secEstate .boxThink .num {
        font-size: var(--spFS13);
    }
    /* boxBtnFav */
    .secEstate .boxBtnFav{
        top: 2rem;
        right: 2rem;
    }
    /* boxHead */
    .secEstate .boxHead{
        flex-wrap: wrap;
        align-items: center;
        max-width: 100%;
    }
    .secEstate .boxImg{
        width: 4rem;
        margin-left: 0;
    }
    .secEstate .iconRank{
        top: -0.5rem;
        left: -1rem;
        width: 2.2rem;
        height: 2.2rem;
        font-size: var(--spFS12);
    }
    .secEstate .boxTit{
        width: 100%;
        display: contents;
    }
    .secEstate .boxTit .tit{
        max-width: calc(100% - 8rem);
        width: 100%;
        font-size: var(--spFS14);
        line-height: var(--spLH14_21);
        margin-right: 3rem;
    }
    .secEstate .boxTit .txt{
        max-width: 100%;
        font-size: var(--spFS11);
        line-height: var(--spLH11_16);
        padding-left: 1.2rem;
        margin-top: 1rem;
    }
    .secEstate .boxTit .txt+.txt{
        margin-top: 0.5rem;
    }
    .secEstate .boxTit .txt::before{
        top: -1px;
        width: 0.9rem;
        height: 1.2rem;
    }
    .secEstate .boxTit .txt02::before{
        top: -1px;
        width: 0.9rem;
        height: 1.2rem;
    }
    .secEstate .boxTit .boxList{
        margin-top: 1rem;
        line-clamp: none;
        -webkit-line-clamp: none;
        max-height: none;
        display: block;
    }
    .secEstate .boxTit .item{
        font-size: var(--spFS10);
        padding: 0.4rem 0.4rem 0.3rem 0.4rem;
        margin: 0 0.1rem 0.3rem 0;
    }
    /* boxInfo */
    .secEstate .boxInfo{
        margin-top: 1.5rem;
    }
    .secEstate .bgInfo{
        border-radius: 0.8rem;
        padding: 1.5rem 0.5rem;
    }
    .secEstate .boxInfo .iconPrice{
        top: -1.8rem;
        font-size: var(--spFS10);
    }
    .secEstate .boxInfo .label{
        display: none;
    }
    .secEstate .boxInfo .numRow{
        gap: 0.2rem;
    }
    .secEstate .boxInfo .num{
        font-size: var(--spFS18);
        max-width: 6.5rem;
    }
    .secEstate .boxInfo .numUnit{
        font-size: var(--spFS13);
    }
    .secEstate .boxInfo .unit,
    .secEstate .boxInfo .info{
        font-size: var(--spFS10);
    }
    .secEstate .boxInfoTxt{
        margin-top: 1.2rem;
    }
    .secEstate .boxInfoTxt .boxImg{
        width: 8rem;
        margin: 0;
    }
    .secEstate .boxInfoTxt .txt{
        width: calc(100% - 9rem);
        font-size: var(--spFS10);
        line-height: var(--spLH10_15);
        max-height: calc(var(--spFS10) * var(--spLH10_15) * 4);
        line-clamp: 4;
        -webkit-line-clamp: 4;
    }
    /* boxMember */
    .secEstate .boxMember{
        margin-top: 1.5rem;
    }
    .secEstate .boxMember .tit{
        font-size: var(--spFS14);
        padding-top: 2.7rem;
        margin-top: 0.5rem;
    }
    .secEstate .boxMember .tit:before{
        width: 1.4rem;
        height: 1.8rem;
    }
    .secEstate .boxMember .txt{
        font-size: var(--spFS10);
        margin-top: 0.5rem;
    }
    .secEstate .boxMember .boxBtn{
        margin-top: 1rem;
    }
    .secEstate .boxMember .memberBtn{
        max-width: 14rem;
        min-height: 3rem;
        border-radius: 0.8rem;
        font-size: var(--spFS11);
    }
    .secEstate .spBtnBox{
        position: absolute;
        bottom: 2rem;
        left: 0;
        display: flex;
        justify-content: center;
        width: 100%;
    }
    .secEstate .spBtnItem{
        width: calc(50% - 2.25rem);
    }
    .secEstate .spBtnItem:nth-child(2){
        margin-left: 0.5rem;
    }
    .secEstate .spBtnInner{
        height: 4rem;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 0.5rem;
        font-size: var(--spFS11);
        font-weight: bold;
    }
    .secEstate .spBtnItem:nth-child(1) .spBtnInner{
        color: var(--whiteColor);
        background-image: -moz-linear-gradient( 115deg, rgb(1,233,176) 1%, rgb(17,209,88) 100%);
        background-image: -webkit-linear-gradient( 115deg, rgb(1,233,176) 1%, rgb(17,209,88) 100%);
        background-image: -ms-linear-gradient( 115deg, rgb(1,233,176) 1%, rgb(17,209,88) 100%);
    }
    .secEstate .spBtnItem:nth-child(2) .spBtnInner{
        border: solid 0.1rem var(--greenColor);
        color: var(--greenColor);
    }
    .secEstate .spBtnItem:nth-child(1) .spBtnTxt{
        position: relative;
        padding-left: 2rem;
    }
    .secEstate .spBtnItem:nth-child(1) .spBtnTxt::after{
        position: absolute;
        content: "";
        width: 1.5rem;
        height: 1rem;
        top: calc(50% - 0.6rem);
        left: 0;
    }
    .secEstate.lazyloaded .spBtnItem:nth-child(1) .spBtnTxt::after{
        background: url(../img/estate/icoEstateList.png) center top / cover;
    }
}
.secEstate .morebtn{
    max-width: 40rem;
    width: 100%;
    margin: 0 auto;
    margin-top: 6rem;
}
.secEstate .morelink{
    display: flex;
    align-items: center;
    width: 100%;
    height: 8rem;
    background-color: var(--t_grand_tabColor);
    color: var(--whiteColor);
    border-radius: 1.5rem;
    font-size: var(--pcFS18);
    line-height: calc(30 / 18);
    font-weight: bold;
}
.secEstate .morelink .btnIn{
    display: inline-block;
    width: 100%;
    text-align: center;
}
@media only screen and (max-width:1215px){
    .secEstate .morebtn{
        max-width: 34.5rem;
        width: 100%;
        margin-top: 4rem;
    }
    .secEstate .morelink{
        height: 5rem;
        border-radius: 0.5rem;
        font-size: var(--spFS12);
        line-height:var(--spLH12_20);
    }
}

.secTGrand{
    margin-top: 15rem;
}
.secTop{
    width: 100%;
}
.secTop .toptitbox{
    width: 100%;
    text-align: center;
    color: var(--t_grandbtnColor);
}
.secTop .toptitbox .toptit{
    font-size: var(--pcFS22);
    line-height: var(--pcLH22_30);
    font-weight: bold;
}
.secTop .toptitbox .toptitImg{
    max-width: 26rem;
    margin: 0 auto;
    width: 100%;
    margin-top: 4rem;
}
.secTop .toptitbox .subtit{
    font-size: var(--pcFS40);
    line-height: calc(56 / 40);
    font-weight: bold;
    margin-top: 5.3rem;
}
.secTop .toptitbox .toptxt{
    font-size: var(--pcFS16);
    line-height: calc(30 / 16);
    margin-top: 1.1rem;
}
.secTop .listbox{
    width: 100%;
    margin-top: 7.1rem;
}
.secTop .listbox .list{
    display: flex;
}
.secTop .listbox .Item{
    width: calc((100% - 6rem) / 3);
    margin-right: 3rem;
}
.secTop .listbox .Item:last-child{
    margin-right: 0;
}
.secTop .listbox .itemInner{
    position: relative;
    width: 100%;
    height: 100%;
    background-color: var(--whiteColor);
    border-radius: 2rem;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.06);
    text-align: center;
    padding: 5.5rem 3rem 7rem;
}
.secTop .listbox .itemNumbox{
    position: absolute;
    width: 100%;
    top: calc(0% - 2.2rem);
    text-align: center;
    left: 0;
}
.secTop .listbox .itemNumImg{
    display: inline-block;
}
.secTop .listbox .itemNumImg img{
    width: auto;
    height: 4.4rem;
}
.secTop .listbox .titEng{
    font-size: var(--pcFS40);
    line-height: calc(56 / 40);
    letter-spacing: 0.025em;
}
.secTop .listbox .titJp{
    font-size: var(--pcFS20);
    line-height: calc(36 / 20);
    font-weight: bold;
    margin-top: 0.3rem;
}
.secTop .listbox .txtbox{
    width: 100%;
    text-align: left;
    margin-top: 1.1rem;
}
.secTop .listbox .txt{
    font-size: var(--pcFS14);
    line-height: calc(24 / 14);
}
@media only screen and (max-width:1215px){
    .secTGrand{
        margin-top: 5.7rem;
    }
    .secTop .toptitbox .toptit{
        font-size: var(--spFS16);
        line-height: calc(24 / 16);
    }
    .secTop .toptitbox .toptitImg{
        max-width: 13.2rem;
        margin-top: 2.3rem;
    }
    .secTop .toptitbox .subtit{
        font-size: var(--spFS16);
        line-height: calc(26 / 16);
        margin-top: 2.7rem;
    }
    .secTop .toptitbox .toptxt{
        font-size: var(--spFS12);
        line-height: calc(22 / 12);
        margin-top: 0.3rem;
    }
    .secTop .listbox{
        margin-top: 5rem;
    }
    .secTop .listbox .list{
        display: block;
    }
    .secTop .listbox .Item{
        width: 100%;
        margin-right: 0;
    }
    .secTop .listbox .Item + .Item{
        margin-top: 3rem;
    }
    .secTop .listbox .itemInner{
        height:auto;
        border-radius: 1rem;
        box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.06);
        padding: 4rem 2rem 3.4rem;
    }
    .secTop .listbox .itemNumbox{
        top: calc(0% - 1.5rem);
    }
    .secTop .listbox .itemNumImg img{
        width: auto;
        height:3.2rem;
    }
    .secTop .listbox .titEng{
        font-size: var(--spFS26);
        line-height: calc(30 / 26);
    }
    .secTop .listbox .titJp{
        font-size: var(--spFS14);
        line-height: calc(24 / 14);
        margin-top: 0.7rem;
    }
    .secTop .listbox .txtbox{
        margin-top: 0.8rem;
    }
    .secTop .listbox .txt{
        font-size: var(--spFS12);
        line-height: calc(22 / 12);
    }
}
.secTop .topendbox{
    width: 100%;
    margin-top: 8.5rem;
    text-align: center;
    color: var(--t_grandbtnColor);
}
.secTop .topendbox .endsubtit{
    font-size: var(--pcFS32);
    line-height: calc(46 / 32);
    font-weight: bold;
}
.secTop .topendbox .endsubtit .y_line{
    background: linear-gradient(transparent 70%, var(--t_grand_y_lineColor) 70%,var(--t_grand_y_lineColor) 80%,transparent 80%);
}
.secTop .topendbox .endmaintxt{
    font-size: var(--pcFS40);
    line-height: calc(60 / 40);
    font-weight: bold;
    margin-top: 1.7rem;
}
@media only screen and (max-width:1215px){
    .secTop .topendbox{
        margin-top: 5.6rem;
    }
    .secTop .topendbox .endsubtit{
        font-size: var(--spFS16);
        line-height: calc(28 / 16);
    }
    .secTop .topendbox .endsubtit .y_line{
        background: linear-gradient(transparent 65%, var(--t_grand_y_lineColor) 65%,var(--t_grand_y_lineColor) 80%,transparent 80%);
    }
    .secTop .topendbox .endmaintxt{
        font-size: var(--spFS18);
        line-height: calc(28 / 18);
        margin-top: 1.4rem;
    }
}

.secPoint{
    width: 100%;
    margin-top: 13rem;
    text-align: center;
}
.secPoint .title{
    font-size: var(--pcFS38);
    line-height: calc(50 / 38);
    font-weight: bold;
    color: var(--btnColor);
}
.secPoint .subtit{
    font-size: var(--pcFS16);
    line-height: calc(30 / 16);
    color: var(--btnColor);
    margin-top: 1.7rem;
}
.secPoint .listbox{
    width: 100%;
    margin-top: 5.1rem;
}
.secPoint .listbox .list{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.secPoint .listbox .Item{
    width: calc((100% - 6rem) / 3);
    margin-right: 3rem;
}
.secPoint .listbox .itemInner{
    position: relative;
    width: 100%;
    height: 100%;
    background-color: var(--whiteColor);
    border-radius: 2rem;
    padding: 6.2rem 3rem;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.06);
    padding-top: calc(5rem + 11rem + 2.2rem);
    color: var(--btnColor);
}
.secPoint .iconBox{
    position: absolute;
    width: 11rem;
    height: 11rem;
    border-radius: 50%;
    background-color: var(--t_grand_pointColor);
    left: calc(50% - 5.5rem);
    top: 5rem;
}
.secPoint.lazyloaded .iconBox{
    background: url(../img/common/tp.gif) center center no-repeat var(--t_grand_pointColor);
    background-size: 100% auto;
}
.secPoint.lazyloaded .iconBox.type01{
    background-image: url(../img/lp/t_grand/pointIcon01.png);
    background-size: 5.6rem auto;
}
.secPoint.lazyloaded .iconBox.type02{
    background-image: url(../img/lp/t_grand/pointIcon02.png);
    background-size: 6.3rem auto;
}
.secPoint.lazyloaded .iconBox.type03{
    background-image: url(../img/lp/t_grand/pointIcon03.png);
    background-size: 6.7rem auto;
}
.secPoint.lazyloaded .iconBox.type04{
    background-image: url(../img/lp/t_grand/pointIcon04.png);
    background-size: 5.2rem auto;
}
.secPoint.lazyloaded .iconBox.type05{
    background-image: url(../img/lp/t_grand/pointIcon05.png);
    background-size: 7.3rem auto;
}
.secPoint .listbox .tit{
    font-size: var(--pcFS20);
    line-height: calc(30 / 20);
    font-weight: bold;
    text-align: center;
}
.secPoint .listbox .txtbox{
    width: 100%;
    text-align: left;
    margin-top: 1.4rem;
}
.secPoint .listbox .txt{
    font-size: var(--pcFS14);
    line-height: calc(24 / 14);
}
@media only screen and (min-width:1216px){
    .secPoint .listbox .Item:nth-child(3n),
    .secPoint .listbox .Item:last-child{
        margin-right: 0;
    }
    .secPoint .listbox .Item:nth-child(n+4){
        margin-top: 3rem;
    }
}
@media only screen and (max-width:1215px){
    .secPoint{
        margin-top: 6.8rem;
    }
    .secPoint .title{
        font-size: var(--spFS18);
        line-height: calc(28 / 18);
    }
    .secPoint .subtit{
        font-size: var(--spFS12);
        line-height: calc(22 / 12);
        margin-top: 0.9rem;
    }
    .secPoint .listbox{
        margin-top: 3.4rem;
    }
    .secPoint .listbox .list{
        justify-content:flex-start;
    }
    .secPoint .listbox .Item{
        width: calc((100% - 0.5rem) / 2);
        margin-right: 0.5rem;
    }
    .secPoint .listbox .Item:nth-child(2n){
        margin-right: 0;
    }
    .secPoint .listbox .Item:nth-child(n+3){
        margin-top: 0.5rem;
    }
    .secPoint .listbox .itemInner{
        border-radius: 1rem;
        padding: 2.2rem 2rem;
        box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.06);
        padding-top: calc(2rem + 6rem + 1.2rem);
    }
    .secPoint .iconBox{
        width: 6rem;
        height: 6rem;
        left: calc(50% - 3rem);
        top: 2rem;
    }
    .secPoint.lazyloaded .iconBox.type01{
        background-size: 3.1rem auto;
    }
    .secPoint.lazyloaded .iconBox.type02{
        background-size: 3.4rem auto;
    }
    .secPoint.lazyloaded .iconBox.type03{
        background-size: 3.7rem auto;
    }
    .secPoint.lazyloaded .iconBox.type04{
        background-size: 2.8rem auto;
    }
    .secPoint.lazyloaded .iconBox.type05{
        background-size: 4rem auto;
    }
    .secPoint .listbox .tit{
        font-size: var(--spFS14);
        line-height: calc(22 / 14);
    }
    .secPoint .listbox .txtbox{
        margin-top: 0.5rem;
    }
    .secPoint .listbox .txt{
        font-size: var(--spFS12);
        line-height: calc(20 / 12);
    }
}
.secPoint .underbox{
    width: 100%;
    text-align: center;
    margin-top: 9.2rem;
    color: var(--btnColor);
}
.secPoint .undertxt{
    font-size: var(--pcFS24);
    line-height: calc(44 / 24);
    font-weight: bold;
}
.secPoint .undertxt .g_color{
    color: var(--t_grand_tabColor);
}
.secPoint .undermain{
    font-size: var(--pcFS40);
    line-height: calc(60 / 40);
    font-weight: bold;
    margin-top: 2rem;
}
.secPoint .undermain .y_line{
    background: linear-gradient(transparent 70%, var(--t_grand_y_lineColor) 70%,var(--t_grand_y_lineColor) 80%,transparent 80%);
}
@media only screen and (max-width:1215px){
    .secPoint .underbox{
        margin-top: 5.7rem;
    }
    .secPoint .undertxt{
        font-size: var(--spFS14);
        line-height: calc(24 / 14);
    }
    .secPoint .undermain{
        font-size: var(--spFS20);
        line-height: calc(30 / 20);
        margin-top: 1.8rem;
    }
    .secPoint .undermain .y_line{
        background: linear-gradient(transparent 65%, var(--t_grand_y_lineColor) 65%,var(--t_grand_y_lineColor) 80%,transparent 80%);
    }
}

.secPointSafe{
    width: 100%;
}
.secPointSafe .titlebox{
    text-align: center;
    color: var(--btnColor);
}
.secPointSafe .title{
    font-size: var(--pcFS38);
    line-height: calc(56 / 38);
    font-weight: bold;
}
.secPointSafe .subtit{
    font-size: var(--pcFS16);
    line-height: calc(30 / 16);
    margin-top: 1.8rem;
}
.secPointSafe .listBox{
    width: 100%;
    margin-top: 6.2rem;
}
.secPointSafe .list{
    width: 100%;
}
.secPointSafe .item{
    width: 100%;
}
.secPointSafe .item + .item{
    margin-top: 5rem;
}
.secPointSafe .ItemInner{
    display: flex;
    align-items: center;
}
.secPointSafe .imgArea{
    width:46rem;
}
.secPointSafe .imgArea .imgBox{
    width: 100%;
    height: 0;
    padding-top: calc((360 / 460) * 100%);
    overflow: hidden;
    border-radius: 2rem;
}
.secPointSafe .txtArea{
    flex: 1;
}
.secPointSafe .txtIn{
    display: inline-block;
    width: 100%;
    text-align: left;
}
.secPointSafe .numtxt{
    font-size: var(--pcFS30);
    line-height: calc(40 / 30);
    font-weight: bold;
    color: var(--t_grand_tabColor); 
}
.secPointSafe .tit{
    font-size: var(--pcFS32);
    line-height: calc(34 / 32);
    font-weight: bold;
    margin-top: 1.1rem;
}
.secPointSafe .subtxt{
    font-size: var(--pcFS20);
    line-height: calc(24 / 20);
    margin-top: 0.9rem;
    font-weight: bold;
}
.secPointSafe .txt{
    font-size: var(--pcFS16);
    line-height: calc(30 / 16);
    margin-top: 1rem;
}
@media only screen and (min-width:1216px){
    .secPointSafe .item:nth-child(2n) .ItemInner{
        flex-direction: row-reverse;
    }
    .secPointSafe .item:nth-child(2n + 1) .txtArea{
        padding-left:6rem;
    }
    .secPointSafe .item:nth-child(2n) .txtArea{
        padding-right:6rem;
    }
}
@media only screen and (max-width:1215px){
    .secPointSafe .title{
        font-size: var(--spFS16);
        line-height: calc(26 / 16);
    }
    .secPointSafe .subtit{
        font-size: var(--spFS12);
        line-height: calc(22 / 12);
        margin-top: 0.8rem;
    }
    .secPointSafe .listBox{
        margin-top: 3rem;
    }
    .secPointSafe .item + .item{
        margin-top: 2.6rem;
        padding-top: 2.5rem;
        border-top: 1px solid;
        border-color: var(--request_borderColor);
    }
    .secPointSafe .ItemInner{
        display: block;
        position: relative;
        padding-left: calc(10.5rem + 2rem);
    }
    .secPointSafe .imgArea{
        width: 10.5rem;
        position: absolute;
        left: 0;
        top: 0.5rem;
    }
    .secPointSafe .imgArea .imgBox{
        border-radius: 0.5rem;
    }
    .secPointSafe .txtArea{
        width: 100%;
    }
    .secPointSafe .numtxt{
        font-size: var(--spFS14);
        line-height: calc(20 / 14);
    }
    .secPointSafe .tit{
        font-size: var(--spFS16);
        line-height:var(--spLH16_24);
        margin-top: 0.4rem;
    }
    .secPointSafe .subtxt{
        font-size: var(--spFS14);
        line-height: calc(16 / 14);
        margin-top: 0.1rem;
    }
    .secPointSafe .txt{
        font-size: var(--spFS12);
        line-height:calc(18 / 12);
        margin-top: 0.4rem;
    }
}
.secPointSafe .graphbox{
    margin-top: 10rem;
    width: 100%;
    background-color: var(--whiteColor);
    border-radius:2rem;
    border:1px solid;
    border-color: var(--lineColor);
}
.secPointSafe .graphInner{
    padding: 7.8rem 8rem;
    text-align: center;
    padding-top: 7.4rem;
}
.secPointSafe .g_tit{
    font-size: var(--pcFS26);
    line-height: calc(40 / 26);
    font-weight: bold;
    color: var(--btnColor);
    letter-spacing: 0.05em;
}
.secPointSafe .g_tit .g_color{
    color: var(--t_grand_tabColor);
}
.secPointSafe .g_imgbox{
    width: 100%;
    max-width: 100rem;
    margin: 0 auto;
    margin-top: 3.2rem;
}
@media only screen and (max-width:1215px){
    .secPointSafe .graphbox{
        margin-top: 5.7rem;
        border-radius:1rem;
    }
    .secPointSafe .graphInner{
        padding: 4rem 1rem;
        padding-top: 3.7rem;
    }
    .secPointSafe .g_tit{
        font-size: var(--spFS16);
        line-height: calc(24 / 16);
    }
    .secPointSafe .g_imgbox{
        margin-top: 1.4rem;
        max-width: 100%;
    }
}
.boxBtnFav .labelCheck:has(input[type="checkbox"]:checked){
    border-color: var(--pinkColor);
}
.boxBtnFav .labelCheck input[type="checkbox"]:checked + .heart-icon{
    fill: var(--pinkColor);
    stroke: var(--pinkColor);
    stroke-width: 2px;
}