@charset "utf-8";

/*-----------------------------------------------
    index
-----------------------------------------------*/

/* secHero */
.secHero .heroImg{
    position: relative;
    height: 700px;
}
.secHero .heroImg img{
    position: absolute;
    width: 1920px;
    top: 0;
    left: calc(50% - 960px);
}
@media only screen and (max-width:1900px){
    .secHero .heroImg{
        height: auto;
    }
    .secHero .heroImg img{
        position: static;
        width: 100%;
        left: 0;
    }
}
.secCmnTit .contactTit{
    font-size: 22px;
    color: #fff;
    margin-top: 35px;
    font-weight: 300px;
    letter-spacing: 0.5px;
}
@media only screen and (max-width:767px){
    .secCmnTit .contactTit{
        font-size: 12px;
        margin-top: 19px;
        letter-spacing: 0.5px;
    }
}
/* secPromise */
.secPromise{
    margin-top: 50px;
}
.secPromise .topEng{
    font-size: 30px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 2px;
    text-align: center;
}
.secPromise .bgTopEng{
    padding: 7px 18px 5px;
    background: #1e88e5;
}
.secPromise .titPromise{
    font-size: 30px;
    margin-top: 35px;
    text-align: center;
    letter-spacing: 0.5px;
}
.secPromise .txtPromise{
    font-size: 15px;
    line-height: 2;
    text-align: center;
    margin-top: 24px;
    letter-spacing: 1px;
}
.secPromise .promiseList{
    display: flex;
    margin-top: 42px;
}
.secPromise .promiseItem{
    width: 31.25%;
    margin-right: 3.125%;
}
.secPromise .promiseItem:last-child{
    margin-right: 0;
}
.secPromise .titEng{
    width: 110px;
    padding: 8px 0 7px;
    text-align: center;
    font-size: 15px;
    color: #fff;
    background: #1e88e5;
    margin: -15px auto 0;
    position: relative;
    letter-spacing: 1.5px;
}
.secPromise .tit{
    font-size: 18px;
    line-height: 1.55;
    text-align: center;
    margin-top: 10px;
    letter-spacing: 0.5px;
}
@media only screen and (max-width:767px){
    .secPromise{
        margin-top: 25px;
    }
    .secPromise .topEng{
        font-size: 20px;
        letter-spacing: 1.5px;
    }
    .secPromise .bgTopEng{
        padding: 5px 11px 6px;
    }
    .secPromise .titPromise{
        font-size: 18px;
        margin-top: 27px;
        letter-spacing: 0.75px;
    }
    .secPromise .txtPromise{
        font-size: 13px;
        line-height: 1.69;
        margin-top: 15px;
        letter-spacing: normal;
    }
    .secPromise .promiseList{
        display: block;
        margin-top: 29px;
    }
    .secPromise .promiseItem{
        width: 100%;
        margin-right: 0;
        display: flex;
        align-items: center;
    }
    .secPromise .promiseItem:nth-child(n+2){
        margin-top: 20px;
    }
    .secPromise .img{
        width: 160px;
        flex-shrink: 0;
    }
    .secPromise .txtBox{
        width: calc(100% -175px);
        margin-left: 15px;
        padding-top: 6px;
    }
    .secPromise .titEng{
        width: 85px;
        padding: 6px 0 4px;
        font-size: 12px;
        margin: 0 auto 0 0;
        letter-spacing: 1.5px;
    }
    .secPromise .tit{
        font-size: 13px;
        line-height: 1.69;
        text-align: left;
        margin-top: 5px;
        letter-spacing: normal;
    }
}
@media only screen and (max-width:359px){
    .secPromise .img{
        width: 130px;
        flex-shrink: 0;
    }
    .secPromise .txtBox{
        width: calc(100% -145px);
    }
    .secPromise .tit{
        font-size: 12px;
    }
    .secPromise .txtPromise{
        font-size: 12px;
    }
}
/* error */
.secEstate .txtError{
    color: red;
    justify-content: center;
    font-size: 18px;
    padding: 30px;
    width: 100%;
    text-align: center;
    background: #fff;
    line-height:70px ;
}
.secEstate .txtError .backBtn{
    background: rgb(29, 125, 209);
    color: #fff;
    text-decoration: none;
    padding: 15px 20px; 
    border-radius: 50px;
}
@media only screen and (max-width:767px){
    .secEstate .txtError{
        color: red;
        justify-content: center;
        font-size: 14px;
        padding: 10px;
        width: 100%;
        text-align: center;
        background: #eee;
        line-height: 50px;
    }
    .secEstate .txtError .backBtn{
        padding: 10px 20px; 
    }
}
/* secCatalog */
.secCatalog{
    margin-top: 65px;
}
.secCatalog .bgBox{
    padding: 100px 0 40px;
    background: #efefef;
}
.secCatalog .tit{
    text-align: center;
}
.secCatalog .catalogTit{
    font-size: 20px;
    text-align: center;
    margin-top: 29px;
    letter-spacing: 0.5px;
}
.secCatalog .catalogBox{
    display: flex;
    flex-wrap: wrap;
    margin-top: 50px;
}
.secCatalog .catalogItem{
    width: 48.4375%;
    margin-right: 3.125%;
    background: #fff;
}
.secCatalog .catalogItem:nth-child(2n){
    margin-right: 0;
}
.secCatalog .catalogItem:nth-child(n+3){
    margin-top: 40px;
}
.secCatalog label{
    cursor: pointer;
}
.secCatalog .item{
    position: relative;
    height: auto;
    display: block;
    padding: 50px 50px 158px;
    height: 100%;
    transition: opacity 0.2s ease-out;
    background: #fff;
}
.secCatalog .imgBox{
    width: 100%;
    padding-top: 68.462%;
    display: block;
}
.secCatalog .txtBox{
    background: linear-gradient(to right, #757575, #757575 1px, transparent 1px, transparent 4px) left top / 4px 1px repeat-x;
    margin-top: 30px;
    padding-top: 24px;
    display: block;
}
.secCatalog .innerTit{
    font-size: 20px;
    line-height: 1.6;
    display: block;
}
.secCatalog .innerTxt{
    font-size: 15px;
    line-height: 1.6;
    display: block;
    margin-top: 15px;
}
.secCatalog input[type="checkbox"]{
    visibility: hidden;
    display: none;
}
.secCatalog .btnOff,
.secCatalog .btnOn{
    width: 300px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size:14px;
    letter-spacing: 1px;
    border-radius: 25px;
    position: absolute;
    bottom: 50px;
    left: calc(50% - 150px);
    user-select: none;
    box-shadow: 0px 0px 4.75px 0.25px rgba(0, 0, 0, 0.25);
}
.secCatalog .btnOff{
    background: #fff;
    color: #000;
}
.secCatalog .btnOn{
    background: #1e88e5;
    color: #fff;
}
.secCatalog input[type="checkbox"]:not(:checked) + .item .btnOn,
.secCatalog input[type="checkbox"]:checked + .item .btnOff{
    display: none;
} 
@media only screen and (max-width:767px){
    .secCatalog{
        margin-top: 42px;
    }
    .secCatalog .bgBox{
        padding: 50px 0;
    }
    .secCatalog .tit{
        width: 117px;
        margin: 0 auto;
        display: block;
    }
    .secCatalog .catalogTit{
        font-size: 16px;
        line-height: 1.625;
        margin-top: 15px;
    }
    .secCatalog .catalogBox{
        display: block;
        margin-top: 20px;
    }
    .secCatalog .catalogItem{
        width: 100%;
        margin-right: 0;
    }
    .secCatalog .catalogItem:nth-child(n+2){
        margin-top: 30px;
    }
    .secCatalog .item{
        position: relative;
        height: auto;
        display: block;
        padding: 30px 15px 90px;
    }
    .secCatalog .imgBox{
        padding-top: 67.742%;
    }
    .secCatalog .txtBox{
        background: linear-gradient(to right, #757575, #757575 1px, transparent 1px, transparent 3px) left top / 3px 1px repeat-x;
        margin-top: 20px;
        padding-top: 15px;
    }
    .secCatalog .innerTit{
        font-size: 15px;
    }
    .secCatalog .innerTxt{
        font-size: 12px;
        line-height: 1.66;
        margin-top: 6px;
    }
    .secCatalog .btnOff,
    .secCatalog .btnOn{
        width: 285px;
        height: 44px;
        font-size: 13px;
        border-radius: 22px;
        bottom: 29px;
        left: calc(50% - 142.5px);
    }
}

/* secForm */
.secForm{
    margin-top: 0;
}
.secForm .bgBox {
    padding: 40px 0 150px;
}
@media only screen and (max-width:767px){
    .secForm{
        margin-top: 50px;
    }
    .secForm .bgBox {
        padding: 0;
    }
}
/* secCmnTit */
.secCmnTit{
    background: url(../img/contact/bgCmnTit.jpg) center top no-repeat;
}
@media only screen and (max-width:767px){
    .secCmnTit{
        background: url(../img/contact/bgCmnTit_sp.jpg) center top / cover;
    }
}
@media only screen and (max-width:767px){
    #footer{
        margin-top: 70px;
    }
}
/* co,ok */
.co .secForm .bgBox,.ok .secForm .bgBox {
    padding: 80px 0 150px;
}
@media only screen and (max-width:767px){
    .co .secForm .bgBox,.ok .secForm .bgBox {
        padding: 0;
    }
}

/* secEstate */
#pnkz {
    background: #efefef;
}
.estateBgBox{
    background: #efefef;
}
.secEstate{
    padding-top: 25px;
}
.secEstate .estateTit{
    height: 90px;
    font-size:28px;
    font-weight: 500;
    color: #fff;
    text-align: center;
    background-color: rgb(29, 125, 209);
    line-height: 90px;
}
.secEstate .itemLi{
    width: 100%;
    position: relative;
    list-style: none;
}
.secEstate .innerItem {
    display: flex;
    align-items: center;
    background: #ffffff;;
    text-decoration: none;
    color: #1a1a1a;
    box-shadow: 0px 0px 4.75px 0.25px rgba(0, 0, 0, 0.25);
    border-radius: 3px;
}
.secEstate .imgInnerItem{
    width: 42.96875%;
}
.secEstate .innerItemBox{
    width: 100%;
    height: 0;
    padding-top: 76.364%;
}
.secEstate .txtInnerItem{
    width: calc(100% - 42.96875%);
    padding: 0 50px 5px;
}
.secEstate .tag{
    display: inline-block;
    margin: 5px 10px 0 0;
    border-radius: 10.5px;
}
.secEstate .innerTag{
    color: #fff;
    font-size: 12px;
    min-width: 44px;
    height: 21px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
}
.secEstate .tit{
    font-size: 25px;
    line-height: 1.5;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 13px;
    color: #1e88e5;
}
.secEstate .subTit{
    font-size: 15px;
    line-height: 1.5;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 8px;
    letter-spacing: 0.5px;
}
.secEstate .price{
    margin-top: 21px;
    font-size: 14px;
}
.secEstate .nmber{
    color: #1e88e5;
    font-size: 34px;
    margin-right: 4px;
    font-weight: 500;
}
.secEstate .nmberItem{
    margin: 0 9px;
}
.secEstate .numFlow{
    display: flex;
    margin-top: 21px;
}
.secEstate .thBlock{
    background: #444444;
    color:#fff;
    font-size: 13px;
    line-height: 1.5;
    min-height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.secEstate .tdBlock{
    background: #f6f5f3;
    min-height: 76px;
    font-size: 13px;
    line-height: 1.69;
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.secEstate .tdBlock .inner{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp:2;
    overflow: hidden;
    max-height: 44px;
}
.secEstate .innerNum:nth-child(n+2){
    margin-left: 1px;
}
.secEstate .secEstate .innerNum{
    min-width: 150px;
}
.secEstate .innerNum:nth-child(1){
    width: 150px;
}
.secEstate .innerNum:nth-child(2){
    width: 188px;
}
.secEstate .innerNum:nth-child(3){
    width: 290px;
}
.secEstate .bg01{background: #1e88e5;}
.secEstate .bg02{background: #444444;}
.secEstate .bg03{background: #f1ea36;}
.secEstate .bg06{background: #ddce5e;}
.secEstate .bg03 .innerTag,
.secEstate .bg06 .innerTag
{
    color: #1a1a1a;
}
@media only screen and (max-width:767px){
    .secEstate{
        padding-top: 20px;
        padding-bottom: 30px;
    }
    #pnkz {
        background: #fff;
    }
    .estateBgBox {
        background: #fff;
    }
    .secEstate .boxFlow{
        margin-top: 20px;
    }
    .secEstate .estateTit {
        height: 50px;
        font-size: 16px;
        background-color: rgb(29, 125, 209);
        line-height: 50px;
    }
    .secEstate .innerItem {
        box-shadow: 0px 0px 4.75px 0.25px rgba(0, 0, 0, 0.25);
        padding: 17px 20px 20px;
    }
    .secEstate .imgInnerItem{
        display: none;
    }
     .secEstate .innerItemBox{
        padding-top: 75.834%;
    }
    .secEstate .txtInnerItem{
        width: 100%;
        padding: 0;
    }
    .secEstate .tag{
        margin: 3px 5px 0 0;
    }
    .secEstate .tit{
        font-size: 18px;
        margin-top: 11px;
    }
    .secEstate .subTit{
        font-size: 12px;
        margin-top: 2px;
    }
    .secEstate .spBox{
        display: flex;
        align-items: center;
        margin-top: 12px;
    }
    .secEstate .spBoxImg{
        width: 39.345%;
    }
    .secEstate .spBoxTxt{
        width: calc(100% - 39.345%);
        padding-left: 10px;
    }
    .secEstate .price{
        margin-top: 0;
        font-size: 12px;
        line-height: 1.4;
    }
    .secEstate .nmber{
        font-size: 20px;
        margin-right: 2px;
        vertical-align: -2px;
    }
    .secEstate .nmberItem{
        margin: 0 5px;
    }
    .secEstate .numFlow{
        display: block;
        margin-top: 15px;
    }
    .secEstate .thBlock{
        min-width: 80px;
        font-size: 12px;
    }
    .secEstate .tdBlock{
        min-height: 35px;
        font-size: 12px;
        line-height: 1.58;
        padding: 8.5px 8px;
        justify-content: flex-start;
        width: calc(100% - 80px);
    }
    .secEstate .tdBlock .inner{
        max-height: 38px;
    }
    .secEstate .innerNum:nth-child(n+2){
        margin-left: 0;
        margin-top: 1px;
    }
    .secEstate .innerNum{
        min-width: 100%;
        display: flex;
    }
    .secEstate .innerNum:nth-child(1){
        width: 100%;
    }
    .secEstate .innerNum:nth-child(2){
        width: 100%;
    }
    .secEstate .innerNum:nth-child(3){
        width: 100%;
    }
}
@media only screen and (max-width:374px){
    .secEstate .nmber {
        font-size: 18px;
    }
}
@media only screen and (max-width:359px){
    .secEstate .nmber {
        font-size: 15px;
        margin-right: 1px;
    }
    .secEstate .price {
        font-size: 11px;
    }
    .secEstate .nmberItem{
        margin: 0 3px;
    }
}