@charset "utf-8";

/* header_estate */
#header.header_estate{
    position: absolute;
}
.estate_type03 #header.header_estate{
    background: var(--textColor);
}
#header.header_estate:before{
	display: none;
}
#header.header_estate.scroll:before{
	display: block;
	animation: fuwaMenu 0.3s linear 0s;
}
@keyframes fuwaMenu {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0px);
    }
}
#header.header_estate .wrapper{
    padding: 0 0 21px 20px;
}
#header.header_estate .logoBox{
    margin-top: 20px;
    display: flex;
    align-items: center;
}
.estate_type03 #header.header_estate .logoBox{
    margin-bottom: 15px;
}
#header.header_estate .txtLogo {
    margin: 0 0 0 17px;
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_15);
}
.estate_type02 #header.header_estate .txtLogo {
    color: var(--brandColor);
}
.estate_type03 #header.header_estate .txtLogo {
    color: var(--brandColor);
}
#header.header_estate .linkBox .linkList {
    display: flex;
    align-items: center;
}
#header.header_estate .linkItem {
    width: auto;
    margin-left: 0;
}
#header.header_estate .linkItem .aBtn{
    width: 180px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}
#header.header_estate .linkItem .aBtn01{
    background-color: var(--lightKeyColor);
}
#header.header_estate .linkItem .aBtn02{
    background-color: var(--keyColor);
}
.estate_type02 #header.header_estate .linkItem .aBtn01{
    background-color: var(--brandColor);
}
.estate_type02 #header.header_estate .linkItem .aBtn02{
    background-color: var(--bgReserveColor);
}
.estate_type03 #header.header_estate .linkItem .aBtn01{
    background-color: var(--bgContactColor03);
    color: var(--textColor);
}
.estate_type03 #header.header_estate .linkItem .aBtn02{
    background-color: var(--bgReserveColor03);
    color: var(--textColor);
}
#header.header_estate .linkItem .aBtnTxt{
    margin-right: 29px;
}
#header.header_estate .linkBox .txt{
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing14_05);
    padding-left: 17px;
    display: inline-block;
    width: auto;
}
.estate_type02 #header.header_estate .linkBox .txt{
    color: var(--brandColor);
}
.estate_type02 #header.header_estate .linkBox .txt:after{
    background: var(--brandColor);
}
.estate_type02 #header.header_estate .aBtn01 .txt{
    color: var(--textColor);
}
.estate_type02 #header.header_estate .aBtn01 .txt:after{
    background: var(--textColor);
}
.estate_type02 #header.header_estate .aBtn02 .txt{
    color: var(--textColor);
}
.estate_type02 #header.header_estate .aBtn02 .txt:after{
    background: var(--textColor);
}
.estate_type03 #header.header_estate .linkBox .txt{
    color: var(--brandColor);
}
.estate_type03 #header.header_estate .linkBox .txt:after{
    background: var(--brandColor);
}
.estate_type03 #header.header_estate .aBtn01 .txt{
    color: var(--textColor);
}
.estate_type03 #header.header_estate .aBtn01 .txt:after{
    background: var(--textColor);
}
.estate_type03 #header.header_estate .aBtn02 .txt{
    color: var(--textColor);
}
.estate_type03 #header.header_estate .aBtn02 .txt:after{
    background: var(--textColor);
}
#header.header_estate .iconArrow::after{
    right: auto;
    left: 0;
}

@media only screen and (max-width:1215px){
    #header.header_estate {
        background-color: var(--brandColor);
    }
    .estate_type02 #header.header_estate {
        background-color: var(--textColor);
    }
    .estate_type03 #header.header_estate {
        background: var(--textColor);
    }
    .estate_type03 #header.header_estate .txtLogo {
        color: var(--brandColor);
    }
    #header.header_estate .wrapper {
        align-items: normal;
        padding: 0;
    }
    #header.header_estate .txtLogo {
        margin: 0 0 0 10px;
        display: block;
        font-size: var(--spFontSize10);
        line-height: var(--spLineHeight10_12);
        max-width: 55%;
    }
    #header.header_estate .logoBox {
        width: calc(100% - 50px);
        margin-top: 0;
    }
    #header.header_estate .linkBox{
        display: none;
    }
    #header.header_estate #btnNavi {
        width: 50px;
        border-left: none;
    }
    
    /* menu */
    #menu.menu_estate.naviOpen {
        height: calc(100% - 49px);
    }
    #menu.menu_estate .listLink {
        width: 100%;
        padding: 10px 20px;
        border-bottom: none;
    }
    #menu.menu_estate .listLink:nth-child(odd):after {
        display: none;
    }
    #menu.menu_estate .listLink .item {
        margin-top: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .1);
    }
    #menu.menu_estate .link {
        width: 100%;
        padding: 15px 0;
        display: block;
        font-size: var(--pcFontSize18);
        line-height: var(--pcLineHeight18_15);
        letter-spacing: var(--pcLetterSpacing18_1);
    }
    #menu.menu_estate .list{
        margin-top: 20px;
        padding: 0 20px;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    #menu.menu_estate .item{
        width: 100%;
    }
    #menu.menu_estate .item + .item.linkItemReserve{
        margin-top: 10px;
    }
    #menu.menu_estate .item .aBtn{
        width: 100%;
        height: 65px;
        border-radius: 32px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: var(--pcFontSize16);
        line-height: var(--pcLineHeight16_1625);
    }
    #menu.menu_estate .item .aBtn01{
        background-color: var(--lightKeyColor);
        box-shadow: 0 -3px 0 0 #0090d1 inset;
    }
    #menu.menu_estate .item .aBtn02{
        background-color: var(--keyColor);
        box-shadow: 0 -3px 0 0 #da8900 inset;
    }
    #menu.menu_estate .aBtn.iconArrow::after{
        right: 30px;
        width: 7px;
        height: 9px;
    }
    
    .estate_type03 #menu.menu_estate .item .aBtn01{
        background-color: var(--bgContactColor03);
        box-shadow: 0 -3px 0 0 rgba(1, 1, 1, 0.1) inset;
        color: var(--textColor);
    }
    .estate_type03 #menu.menu_estate .item .aBtn02{
            background-color: var(--bgReserveColor03);
        box-shadow: 0 -3px 0 0 rgba(1, 1, 1, 0.1) inset;
        color: var(--textColor);
    }
    .estate_type03 #menu.menu_estate .aBtn.iconArrow::after{
        background: var(--textColor);
    }
    #menu.menu_estate .aBtn .txtLink{
        padding-left: 0;
    }
    .estate_type03 #menu{
        background: var(--textColor);
    }
    /* fNavi  */
    #fNavi.fNavi_estate .naviList {
        justify-content: space-between;
    }
    #fNavi.fNavi_estate .naviItem {
        width: calc(100% / 2 - .5px);
    }
    #fNavi.fNavi_estate .naviInner {
        height: 50px;
    }
    #fNavi.fNavi_estate .naviTxt {
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_12);
        padding: 0 0 0 15px;
    }
    #fNavi.fNavi_estate .naviTxt::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        width: 6px;
        height: 6px;
        clip-path: polygon(0 0, 100% 50%, 0 100%, 30% 50%);
        background: var(--textColor);
        transform: rotate(0deg);
        z-index: 2;
        transition: all 0.3s ease-out;
        bottom: 0;
        left: 0;
        right: auto;
        width: 7px;
        height: 8px;
    }
    .estate_type03 #fNavi .itemCatalog{
        background-color: var(--bgContactColor03);
        color: var(--textColor);
        border-top: none;
    }
    .estate_type03 #fNavi .itemReserve{
        background-color: var(--bgReserveColor);
        color: var(--textColor);
        border-top: none;
        border-left: none;
    }
    .estate_type03 #btnNavi .btnNaviBox{
        color: var(--brandColor);
    }
    .estate_type03 #btnNavi .inner::before,
    .estate_type03 #btnNavi .inner::after {
        background: var(--brandColor);
    }
}

/* secCmnLink */
.secCmnLink{
    position: relative;
    z-index: 2;
    padding-top: 80px;
    background-color: var(--brandColor);
}
.estate_type02 .secCmnLink{
    background-color: var(--textColor);
}
.estate_type03 .secCmnLink{
    background-color: var(--bgType03);
    padding-top: 78px;
}
.secCmnLink .listLink{
    height: 60px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.estate_type03 .secCmnLink .listLink{
    height: 62px;
}
.secCmnLink .listLink .item{
    width: calc(100% / 5);
    height: 100%;
    border-left: 1px solid rgba(255, 255, 255, .15);
}
.secCmnLink .listLink .item:last-child{
    border-right: 1px solid rgba(255, 255, 255, .15);
}
.estate_type02 .secCmnLink .listLink .item{
    width: calc(100% / 5);
    height: 100%;
    border-left: 1px solid var(--headerBorder02);
}
.estate_type02 .secCmnLink .listLink .item:last-child{
    border-right: 1px solid var(--headerBorder02);
}
.secCmnLink .listLink .link{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--pcFontSize16);
    padding-bottom: 5px;
}
.estate_type03 .secCmnLink .listLink .link{
    padding-bottom: 0px;
    color: var(--textColor);
}
.secCmnLink .listLink .txt{
    padding: 3px 6px 4px;
}
.secCmnLink .listLink .active{
    background-color: #32b7fc;
}
.estate_type02 .secCmnLink .listLink .active{
    background-color: var(--brandColor);
    color: var(--textColor);
}
.estate_type03 .secCmnLink .listLink .active{
    background-color: var(--type03Active);
    color: var(--textColor);
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media only screen and (max-width:1215px){
    .secCmnLink{
        display: none;
    }
    .mainWrapper {
        padding-top: 50px;
    }
}

/* secCmnMember */
.secCmnMember{
    padding: 150px 0;
}
.estate_type03 .secCmnMember{
    padding: 150px 0;
    margin-top: 150px;
    background: var(--type03Member);
    color: var(--textColor);
}
@media only screen and (max-width:1215px){
    .secCmnMember{
        padding: 55px 0;
    }
}
/* boxMemberHead */
.secCmnMember .boxMemberHead{
    position: relative;
}
.secCmnMember .boxMemberHead .iconBox,
.secCmnMember .boxMemberHead .txtBox{
    position: absolute;
}
.secCmnMember .boxMemberHead .iconBox{
    bottom: -57px;
    right: 97px;
}
.secCmnMember .boxMemberHead .txtBox{
    top: 0;
    bottom: 0;
    left: 95px;
    margin: auto;
    display: flex;
    align-items: center;
}
.secCmnMember .boxMemberHead .txtBox{
    top: 0;
    bottom: 0;
    left: 95px;
    margin: auto;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    font-weight: bold;
}
.secCmnMember .boxMemberHead .tit{
    font-size: var(--pcFontSize22);
}
.secCmnMember .boxMemberHead .eng{
    margin: 30px 0 36px;
}
.secCmnMember .boxMemberHead .txt{
    font-size: var(--pcFontSize18);
}
@media only screen and (max-width:1215px){
    .secCmnMember .boxMemberHead .iconBox{
        position: relative;
        bottom: auto;
        top: -70px;
        right: auto;
        width: 231px;
        height: auto;
        margin: auto;
    }
    .secCmnMember .boxMemberHead .txtBox{
        top: 10vw;
        bottom: auto;
        left: 0;
        right: 0;
        align-items: center;
        text-align: center;
    }
    .secCmnMember .boxMemberHead .tit{
        font-size: var(--spFontSize15);
        line-height: var(--spLineHeight15_15);
    }
    .secCmnMember .boxMemberHead .eng{
        width: 252px;
        height: auto;
        margin: 10px auto 16px;
    }
    .secCmnMember .boxMemberHead .txt{
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_185);
    }
}

/* boxMemberMerit */
.secCmnMember .boxMemberMerit{
    margin-top: 90px;
    text-align: center;
}
.secCmnMember .memberTit{
    position: relative;
    font-size: var(--pcFontSize30);
    color: var(--brandColor);
    font-weight: bold;
    display: inline-block;
}
.estate_type03  .memberTit{
    color: var(--textColor);
}
.secCmnMember .memberTit::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--textColor);
}
.secCmnMember .list{
    margin-top: 50px;
    display: flex;
    justify-content: space-between;
    counter-reset: number 0;
    flex-wrap: wrap;
    justify-content: center;
    gap: 50px;
    color: var(--brandColor);
}
.estate_type02 .secCmnMember .list{
    color: var(--textColor);
}
.secCmnMember .list .item{
    position: relative;
    display: flex;
    justify-content: center;
    width: 400px;
    padding: 63px 0;
}
.secCmnMember .list .item{
    background: #f5f5f5;
}
.secCmnMember .list .item::before,
.secCmnMember .list .item::after {
    position: absolute;
    content: "";
    top: -22px;
    left: 0;
    right: 0;
    margin: auto;
    width: 44px;
    height: 44px;
}
.secCmnMember .list .item::before {
    counter-increment: number 1;
    content: counter(number,decimal-leading-zero);
    color: #fff;
    margin: auto;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--pcFontSize20);
}
.secCmnMember .list .item::after {
    margin: auto;
    vertical-align: middle;
    border-radius: 100%;
    background: #32b7fc;
}
.estate_type02 .secCmnMember .list .item::after {
    background: var(--brandColor);
}
.secCmnMember .list .txtBox{
    display: flex;
    text-align: center;
    flex-direction: column;
    align-items: center;
}
.secCmnMember .list .tit{
    font-size: var(--pcFontSize22);
    line-height: var(--pcLineHeight26_154);
    font-weight: bold;
}
.secCmnMember .list .txt{
    margin-top: 14px;
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_15);
    letter-spacing: var(--pcLetterSpacing16_05);
}
.secCmnMember .imgMerit{
    margin-top: 50px;
}
/* boxCmnBtn */
.secCmnMember .boxCmnBtn{
    margin-top: 60px;
}
@media only screen and (max-width:1215px){
    .secCmnMember .boxMemberMerit{
        margin-top: 40px;
    }
    .secCmnMember .memberTit{
        font-size: var(--spFontSize18);
    }
    .secCmnMember .list{
        margin-top: 38px;
    }
    .secCmnMember .list .item{
        width: 86.96%;
        padding: 22px 0;
    }
    .secCmnMember .list .item::before,
    .secCmnMember .list .item::after {
        top: -15px;
        width: 30px;
        height: 30px;
    }
    .secCmnMember .list .item::before {
        font-size: var(--spFontSize13);
    }
    .secCmnMember .list .tit{
        font-size: var(--spFontSize16);
        line-height: var(--spLineHeight16_1375);
    }
    .secCmnMember .list .txt{
        margin-top: 11px;
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_15);
        letter-spacing: var(--spLetterSpacing12_0);
    }
    .secCmnMember .imgMerit{
        width: 91.595%;
        margin: 30px auto 0;
    }
    .secCmnMember .boxCmnBtn {
        margin-top: 30px;
    }
    .estate_type03 .secCmnMember .boxCmnBtn{
        width: 92%;
        margin: 30px auto 0;
    }
    .secCmnMember .memberTit::before{
        opacity: 0.4;
    }
}

/* boxCmnBtn */
.boxCmnBtn{
    width: 500px;
    margin: 0 auto;
}
.boxCmnBtn .aCmnBtn{
    width: 100%;
    height: 90px;
    margin: 0 auto;
    border-radius: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--pcFontSize20);
    font-weight: bold;
    text-align: center;
}
.boxCmnBtn .aCmnBtn.bg01{
    background-color: #32b7fc;
    box-shadow: 0 -5px 0 0 #2da4e2 inset;
    color: #fff;
}
.estate_type02 .boxCmnBtn .aCmnBtn.bg01{
    background-color: var(--textColor);
    box-shadow: inset 0px -5px 0px 0px rgba(1, 1, 1, 0.1);
    color: var(--brandColor);
    border: 1px solid var(--brandColor);
}
.boxCmnBtn .aCmnBtn.bg02{
    background-color: var(--lightKeyColor);
    box-shadow: 0 -5px 0 0 #0090d1 inset;
    color: #fff;
}
.estate_type02 .boxCmnBtn .aCmnBtn.bg02{
    background-color: var(--brandColor);
    box-shadow: 0 -5px 0 0 rgba(1, 1, 1, 0.1) inset;
    color: var(--textColor);
}
.estate_type03 .boxCmnBtn .aCmnBtn.bg02{
    background-color: var(--bgContactColor03);
    box-shadow: 0 -5px 0 0 rgba(1, 1, 1, 0.1) inset;
    color: var(--textColor);
}
.boxCmnBtn .aCmnBtn.bg03{
    background-color: var(--keyColor);
    box-shadow: 0 -5px 0 0 #da8900 inset;
    color: #fff;
}
.estate_type02 .boxCmnBtn .aCmnBtn.bg03{
    background-color: var(--bgReserveColor);
    box-shadow: 0 -5px 0 0 rgba(1, 1, 1, 0.1) inset;
    color: var(--textColor);
}
.estate_type03 .boxCmnBtn .aCmnBtn.bg03{
    background-color: var(--bgReserveColor03);
    box-shadow: 0 -5px 0 0 rgba(1, 1, 1, 0.1) inset;
    color: var(--textColor);
}
.boxCmnBtn .aCmnBtn .iconArrow::after {
    right: 40px;
    width: 8px;
    height: 10px;
}
.estate_type02 .boxCmnBtn .aCmnBtn .iconArrow::after {
    background: var(--brandColor);
}
.boxCmnBtn .txtLink{
    position: relative;
    display: inline-block;
    padding-left: 60px;
}
.boxCmnBtn .txtLink::before {
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 30px;
}
.boxCmnBtn .bg02 .txtLink::before {
    background: url(../img/estate/iconHeader01.png) center top / cover no-repeat;
}
.boxCmnBtn .bg03 .txtLink::before {
    background: url(../img/estate/iconHeader02.png) center top / cover no-repeat;
}
@media only screen and (max-width:1215px){
    .boxCmnBtn{
        width: 100%;
    }
    .boxCmnBtn .aCmnBtn{
        height: 65px;
        border-radius: 32px;
        font-size: var(--spFontSize16);
        line-height: var(--spLineHeight16_15);
        letter-spacing: var(--spLetterSpacing16_05);
        padding-bottom: 2px;
    }
    .boxCmnBtn .aCmnBtn.bg01{
        box-shadow: 0 -3px 0 0 #2da4e2 inset;
    }
    .boxCmnBtn .aCmnBtn.bg02{
        box-shadow: 0 -3px 0 0 #0090d1 inset;
    }
    .boxCmnBtn .aCmnBtn.bg03{
        box-shadow: 0 -3px 0 0 #da8900 inset;
    }
    .boxCmnBtn .aCmnBtn .iconArrow::after {
        right: 30px;
        width: 8px;
        height: 10px;
    }
    .boxCmnBtn .txtLink{
        padding-left: 13px;
    }
    .boxCmnBtn .txtLink::before {
        width: 20px;
        height: 15px;
        left: -26px;
    }
    .estate_type02 .boxCmnBtn .aCmnBtn.bg01{
        box-shadow: inset 0px -3px 0px 0px rgba(1, 1, 1, 0.1);
    }
}


.estate_type02 .iconArrow::after {
    background: var(--textColor);
}
.estate_type02 .boxSlider .iconArrow::after {
    background: var(--brandColor);
}

/* secCmnBnrLink */
.secCmnBnrLink{
    padding: 6px 0;
}
.estate_type02 .secCmnBnrLink{
    color: var(--textColor);
}
.estate_type03 .secCmnBnrLink{
    color: var(--textColor);
}
.secEstateLink + .secCmnBnrLink{
    margin-top: 270px;
}
.secCmnBnrLink .listLink{
    display: flex;
    justify-content: center;
}
.secCmnBnrLink .item{
    position: relative;
    width: 19.79%;
}
.secCmnBnrLink .item + .item{
    margin-left: 0.26%;
}
.secCmnBnrLink .txt{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--pcFontSize28);
    line-height: var(--pcLineHeight28_143);
    letter-spacing: var(--pcLetterSpacing28_1);
    z-index: 1;
    padding-bottom: 20px;
}
.secCmnBnrLink .item .imgBox{
    width: 100%;
}
.secCmnBnrLink .item .imgBox::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(85, 85, 85,.7);
    mix-blend-mode: multiply;
}
.secCmnBnrLink .item .img{
    width: 100%;
    height: 0;
    padding-top: 141.07%;
}
.secCmnBnrLink .item .cmnMore{
    bottom: 50px;
    left: 0;
    margin: auto;
    z-index: 1;
}
@media only screen and (max-width:1215px){
    .secCmnBnrLink{
        padding: 3px 0 1px;
    }
    .secCmnBnrLink .listLink{
        flex-wrap: wrap;
    }
    .secCmnBnrLink .item{
        width: 100%;
        margin: 0 0 3px 0;
    }
    .secCmnBnrLink .item:nth-child(3n){
        margin-right: 0!important;
    }
    .secCmnBnrLink .txt{
        font-size: var(--spFontSize15);
        line-height: var(--spLineHeight15_147);
        padding-bottom: 20px;
    }
    .secCmnBnrLink .item .img{
        padding-top: 25.07%;
    }
    .secCmnBnrLink .item .cmnMore{
        bottom: 15px;
    }
    .secEstateLink + .secCmnBnrLink{
        margin-top: 70px;
    }
}

/* ▼内部ページ共通 */

.estate_details .secBackCover{
    background-color:var(--textColor);
}
.estate_details .secCmnMember{
    padding-bottom: 73px;
}
.estate_details .secCmnMember .imgMerit{
    padding-right: 39px;
    margin-top: 49px;
}
@media only screen and (max-width:1215px){

    .estate_details .secBackCover{
        background-color:var(--textColor);
    }
    .estate_details .secCmnMember{
        padding-bottom: 30px;
    }
    .estate_details .secCmnMember .imgMerit{
        padding-right: 0;
        margin-top: 30px;
    }
    .estate_details .secCmnMember .boxCmnBtn{
        margin-top: 30px;
    }
}
.secCmnHero{
    position: relative;
    height: 1080px;
}
.secCmnHero .backImg{
    position: absolute;
    width: 1920px;
    height: 1080px;
    left: calc(50% - 960px);
    top: 0;
}
.secCmnHero .backImg::after,
.secCmnHero .backImg::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.secCmnHero .backImg::before{
    background-color:rgba(85,85,85,0.7);
    mix-blend-mode: overlay;
}
.secCmnHero .backImg::after{
    background-color: rgba(0,0,0,0.5);
}
.secCmnHero .inner{
    position: relative;
    height: 100%;
    z-index: 2;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--textColor);
    padding-bottom: 65px;
}
.secCmnHero .titIn{
    position: relative;
    display: inline-block;
    text-align: center;
    padding-bottom: 180px;
}
.secCmnHero .imgtit{
    margin: 0 auto;
}
.secCmnHero .engtit{
    font-size: var(--pcFontSize80);
    line-height: var(--pcLineHeight80_1);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing80_2);
}
.estate_type03 .secCmnHero .engtit{
    letter-spacing: var(--pcLetterSpacing80_50);
}
.secCmnHero .jpntit{
    font-size: var(--pcFontSize32);
    line-height: var(--pcLineHeight32_15);
    font-weight: bold;
    margin-top: 24px;
}
.secCmnHero .imgtit + .jpntit{
    margin-top: 30px;
}
.secCmnHero .txt{
    font-size: var(--pcFontSize22);
    line-height: var(--pcLineHeight22_181);
    margin-top: 27px;
}
.secCmnHero .boxScroll{
    position: absolute;
    width: 1px;
    height: 150px;
    bottom: 0;
    left: calc(50% - 0.5px);
    background-color: rgba(244,243,243,0.35);
}
.secCmnHero .linescroll{
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: block;
    background: linear-gradient(to bottom, white 50%, rgba(244,243,243,0.35) 50%);
    background-position: 0 -150px;
    background-size: 100% 200%;
    animation: scrolldown 2.2s cubic-bezier(0.76, 0, 0.3, 1) forwards infinite;
}

.estate_type03 .secCmnHero{
    background: var(--type03Active);
    height: auto;
    aspect-ratio: 16 / 9;
}
.estate_type03 .secCmnHero .inner {
    text-align: left;
    justify-content: flex-start;
    align-items: start;
    padding-top: 67px;
}
.estate_type03 .secCmnHero .titIn{
    min-height: 595px;
    text-align: left;
}
.estate_type03 .secCmnHero .backImg {
    position: static;
    height: 0;
    width: 100%;
    padding-top: 56.267%;
}
.estate_type03 .secCmnHero .imgWrapper {
    left: unset;
    position: absolute;
    width: 78.125%;
    right: 40px;
    top: unset;
    bottom: 40px;
    max-width: 1500px;
}
.estate_type03 .secCmnHero .boxScroll {
    left: 70px;
}
.estate_type03 .secCmnHero .titCon {
    display: flex;
    align-items: flex-start;
}
.estate_type03 .secCmnHero .jpntit {
    margin-top: 5px;
    margin-left: 23px;
}
.estate_type03 .secCmnHero .imgtit + .jpntit {
    margin-top: 0px;
}
.estate_type03 .secCmnHero .txt {
    font-size: var(--pcFontSize22);
    line-height: var(--pcLineHeight22_181);
    margin-top: 44px;
}
.estate_type03 .secCmnHero .txt .mark{
    display: inline;
    background: var(--type03Active);
}
.estate_type03 .secCmnHero .backImg::after {
    background-color: unset;
}
@keyframes scrolldown{
    0%{
        background-position: 0 100%;
    }
    75%{
        background-position: 0 0;
    }
    100%{
        background-position: 0 -100%;
    }
}

@media only screen and (max-width:1215px){
    .secCmnHero{
        height:auto;
    }
    .secCmnHero .backImg{
        width:100%;
        height:100%;
        left:0;
    }
    .secCmnHero .inner{
        height: 82.144vh;
        display:block;
        padding-bottom: 120px;
        padding-top: 128px;
    }
    .secCmnHero .inner:has(.engtit){
        padding-top: 122px;
    }
    .secCmnHero .titIn{
        padding-bottom: 120px;
    }
    .secCmnHero .engtit{
        font-size: var(--spFontSize32);
        letter-spacing: 0;
    }
    .estate_type03 .secCmnHero .engtit{
        letter-spacing: 0;
    }
    .secCmnHero .jpntit{
        font-size: var(--spFontSize20);
        margin-top: 16px;
    }
    .secCmnHero .imgtit + .jpntit{
        margin-top: 19px;
    }
    .secCmnHero .txt{
        font-size: var(--spFontSize16);
        line-height: var(--spLineHeight16_1625);
        margin-top: 18px;
    }
    .secCmnHero .boxScroll{
        height: 100px;
    }
    .secCmnHero .linescroll{
        background-position: 0 -100px;
    }
    .estate_type03 .secCmnHero{
        height: 177.87vw;
        aspect-ratio: unset;
    }
    .estate_type03 .secCmnHero .inner{
        height: 100vh;
        padding-top: 45px;
    }
    .estate_type03 .secCmnHero .titIn{
        min-height: 497px;
    }
    .estate_type03 .secCmnHero .titCon {
        display: block;
    }
    .estate_type03 .secCmnHero .jpntit {
        margin-left: 0;
        margin-top: 13px;
    }
    .estate_type03 .secCmnHero .imgtit + .jpntit {
        margin-top: 15px;
    }
    .estate_type03 .secCmnHero .txt {
        font-size: var(--spFontSize16);
        line-height: var(--spLineHeight16_1625);
        margin-top: 10px;
    }
    .estate_type03 .secCmnHero .jpntit .mark{
        display: inline;
        padding: 0 2px 0 0;
        background: var(--type03Active);
    }
    .estate_type03 .secCmnHero .imgWrapper {
        width: 84%;
        height: 149.07vw;
        right: 0;
        top: unset;
        bottom: 0;
        max-width: unset;
    }
    .estate_type03 .secCmnHero .boxScroll {
        left: 15px;
    }
}
/* secCategorytit */
.secCategorytit{
    position: relative;
    height: 420px;
}
.secCategorytit .backimg{
    position: absolute;
    width: 1920px;
    height: 420px;
    top: 0;
    left: calc(50% - 960px);
}
.secCategorytit .backimg::after,
.secCategorytit .backimg::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.secCategorytit .backimg::before{
    background-color:rgba(85,85,85,0.5);
    mix-blend-mode: overlay;
}
.secCategorytit .backimg::after{
    background-color: rgba(0,0,0,0.35);
}
.secCategorytit .Categoryinner{
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}
.estate_type02 .secCategorytit .Categoryinner{
color: var(--textColor);
}
.secCategorytit .titIn{
    display: inline-block;
    text-align: center;
    padding-bottom: 7px;
}
.secCategorytit .engtit{
    font-size:var(--pcFontSize70);
    line-height: var(--pcLineHeight70_1);
    font-weight: bold;
    letter-spacing:var(--pcLetterSpacing70_2);
}
.secCategorytit .jpntit{
    font-size:var(--pcFontSize30);
    line-height:var(--pcLineHeight30_15);
    margin-top: 20px;
}
@media only screen and (max-width:1215px){
    .secCategorytit{
        position: relative;
        height: auto;
        min-height:calc((320 / 750) * 100vw);
    }
    .secCategorytit .backimg{
        width:100%;
        height:100%;
        left:0;
    }
    .secCategorytit .Categoryinner{
        min-height: unset;
        padding: 20px 15px;
    }
    .secCategorytit .titIn{
        padding-bottom: 5px;
    }
    .secCategorytit .engtit{
        font-size:var(--spFontSize30);
        letter-spacing: 1px;
    }
    .secCategorytit .jpntit{
        font-size:var(--spFontSize18);
        margin-top: 7px;
    }
}

/* boxMain */
.boxMain{
    margin-top: 70px;
    text-align: center;
}
.boxMain .maintit{
    font-size: var(--pcFontSize26);
    line-height: var(--pcLineHeight26_178);
    font-weight: bold;
}
.boxMain .mainimg{
    text-align: center;
    margin-top: 59px;
}
.boxMain .mainimg img{
    width: auto;
    height: auto;
    max-width: 1500px;
}
@media only screen and (max-width:1215px){
    .boxMain{
        margin-top: 20px;
        text-align: left;
    }
    .boxMain .maintit{
        font-size: var(--spFontSize16);
        line-height: var(--spLineHeight16_1625);
    }
    .boxMain .mainimg{
        margin-top: 25px;
    }
    .boxMain .mainimg img{
        width:100%;
        height: auto;
        max-width: 100%;
    }
}
/* 241210 */
#menu.menu_estate .backlink{
    display: none;
}
@media only screen and (max-width:1215px){
    #menu.menu_estate .backlink{
        display: block;
        text-align: center;
        margin-top: 30px;
        width: 100%;
    }
    #menu.menu_estate .backlink + .backlink{
        margin-top: 15px;
    }
    #menu.menu_estate .backlink .link{
        display: inline-block;
        text-decoration: underline;
        font-size: var(--pcFontSize14);
        line-height: var(--pcLineHeight16_1625);
        padding: 0;
        width: auto;
    }
}

/*-----------------------------------------------
    secFormTopBnr
-----------------------------------------------*/
.secFormTopBnr{
    margin-top: 100px;
    display: flex;
    gap: 35px;
    align-items: center;
    justify-content: center;
}
@media only screen and (max-width:1215px){
    .secFormTopBnr{
        margin-top: 70px;
        flex-direction: column;
        gap: 15px;
    }
}
.bnrReserve{
    margin: 150px auto;
}
.bnrLine{
    margin-top: 100px;
}
@media only screen and (max-width:1215px){
    .bnrReserve{
        margin: 70px auto 55px;
    }
    .bnrLine{
        margin-top: 70px;
    }
}

/* 会員マスク */
.boxSearchMap{
    position: relative;
}
.boxSearchMap .boxMask{
    position: absolute;
    width: 100%;
    height: 500px;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 2;
}
.boxSearchMap .boxMask .txtMask{
    font-size: 30px;
    letter-spacing: 1px;
    color: #fff;
    text-align: center;
    margin-top: 10px;
}
.boxSearchMap .boxMask .boxBtn{
    display: flex;
    justify-content: center;
    margin-top: 43px;
}
.boxSearchMap .boxMask .btnLink{
    width: 360px;
    height: 80px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
.boxSearchMap .boxMask .btnLink.lazyloaded{
    background: url(../img/common/imgboxSearchMapLink.png) center top / cover;
}
.boxSearchMap .boxMask .btnLink2{
    margin-left: 30px;
}
.boxSearchMap .boxMask .btnLink2.lazyloaded{
    background: url(../img/common/imgboxSearchMapLink2.png) center top / cover;
}
.boxSearchMap .boxMask .txtBtn{
    font-size: 22px;
    color: #fff;
}
.boxSearchMap .boxMask .txtBtnMin{
    font-size: 14px;
    color: #fff;
}
@media only screen and (max-width:1215px){
    .boxSearchMap .boxMask{
        height: 300px;
    }
    .boxSearchMap .boxMask .txtMask{
        font-size: 14px;
        letter-spacing: 0;
        margin-top: 5px;
    }
    .boxSearchMap .boxMask .boxBtn{
        flex-direction: column;
        align-items: center;
        margin: 19px 25px 0;
    }
    .boxSearchMap .boxMask .btnLink{
        width: 100%;
        height: 70px;
        max-width: 325px;
    }
    .boxSearchMap .boxMask .btnLink2{
        margin-left: 0;
        margin-top: 10px;
    }
    .boxSearchMap .boxMask .txtBtn{
        font-size: 16px;
    }
    .boxSearchMap .boxMask .txtBtnMin{
        font-size: 12px;
    }
}