/*---------------------------------------------------------------

 commonKeyvisual

--------------------------------------------------------------- */
.commonKeyvisual {
    position: relative;
    height: 560px;
}

.commonKeyvisual .imagearea.imagearea_top {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background: no-repeat center center / cover; */
    background: no-repeat center bottom / 100% auto;
    z-index: 1;
}

.commonKeyvisual .imagearea {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: no-repeat center center / cover;
    z-index: 1;
}

.commonKeyvisual .imagearea:after {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    content: '';
    width: 100%;
    height: 60%;
    background: -moz-linear-gradient(top, rgba(30, 87, 153, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
    background: -webkit-linear-gradient(top, rgba(30, 87, 153, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
    background: linear-gradient(to bottom, rgba(30, 87, 153, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
    z-index: 1;
}

.commonKeyvisual .imagearea.dark:after {
    background: -moz-linear-gradient(top, rgba(30, 87, 153, 0) 0%, rgba(0, 0, 0, 1) 100%);
    background: -webkit-linear-gradient(top, rgba(30, 87, 153, 0) 0%, rgba(0, 0, 0, 1) 100%);
    background: linear-gradient(to bottom, rgba(30, 87, 153, 0) 0%, rgba(0, 0, 0, 1) 100%);
}

.commonKeyvisual .imagearea .imgCap {
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 10px;
    color: #fff;
    font-size: 10px;
    line-height: 1;
    text-align: right;
    text-shadow: 0px 0px 1px #000, 0 0 5px #000, 0 0 10px #000, 0 0 15px #000, 0 0 20px #000, 0 0 30px #000, 0 0 40px #000;
    z-index: 3;
}

.commonKeyvisual .textArea {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 50px;
    color: #fff;
    z-index: 5;
}

.commonKeyvisual .textArea .wide {
    max-width: 1350px;
    margin: 0 auto;
    padding: 0 15px;
}

.commonKeyvisual .textArea .title {
    margin-bottom: 15px;
    font-size: 40px;
    line-height: 1.3;
}

.commonKeyvisual .textArea .lead {
    font-size: 24px;
    line-height: 1.5;
}

.commonKeyvisual .textArea .lead small {
    font-size: 0.6em;
}

.commonKeyvisual .textArea .lead sup {
    font-size: 0.6em;
    vertical-align: top;
}

.commonKeyvisual .textArea .info_link {
    margin-top: 20px;
}

.commonKeyvisual .textArea .info_link a:hover {
    transition: .4s;
    opacity: .8;

}

.commonKeyvisual .textArea .inBtn {
    margin-top: 30px;
}

.commonKeyvisual .textArea .inBtn a {
    display: block;
    max-width: 200px;
    padding: 15px 0;
    color: #fff;
    font-size: 16px;
    text-align: center;
    background-color: #003c7a;
    text-decoration: none;
}

@media only screen and (max-width:768px) {
    .commonKeyvisual {
        height: auto;
    }

    .commonKeyvisual .imagearea {
        position: relative;
        padding-bottom: 60%;
    }

    .commonKeyvisual .imagearea.imagearea_top {
        position: relative;
        padding-bottom: 60%;
    }

    .commonKeyvisual .imagearea:after {
        display: none;
    }

    .commonKeyvisual .textArea {
        position: absolute;
    }

    .commonKeyvisual .textArea .wide {
        padding: 30px 20px;
    }

    .commonKeyvisual .textArea .title {
        font-size: 30px;
        margin-bottom: 0;
    }

    .commonKeyvisual .textArea .lead {
        font-size: 20px;
    }

    .commonKeyvisual .textArea .inBtn {
        margin-top: 20px;
    }
}

@media screen and (max-width: 1199px) {
    .boxPropertyImage {
        width: min(92.3076923077%, 390px);
    }

    .boxPropertyContent {
        margin-top: -30px;
        margin-right: -7.6923076923%;
        margin-left: 7.6923076923%;
        padding: 60px 7.6923076923% 32px
    }
}

@media only screen and (max-width:768px) {
    .commonKeyvisual .textArea {
        color: #fff;
        background-color: transparent;
    }

    .l-inner {
        padding-right: 6.6666666667%;
        padding-left: 6.6666666667%
    }

    .l-contents {
        overflow-x: hidden
    }

    #searchResults {
        margin-top: 20%;
        margin-bottom: 20%;
    }

    .boxPropertyDescription {
        font-size: 1.4rem
    }

    .boxPropertySub {
        margin-top: 2em;
        margin-bottom: 2em;
        padding-top: 2em;
        padding-bottom: 2em;
        border-top: 1px solid rgba(50, 50, 55, .2);
        border-bottom: 1px solid rgba(50, 50, 55, .2)
    }
}



.boxProperty:not(:first-child) {
    margin-top: 56px
}

.boxProperty.is-new {
    position: relative
}

.boxProperty.is-new:before {
    display: flex;
    z-index: 10;
    position: absolute;
    top: 0;
    left: 0;
    align-items: center;
    justify-content: center;
    width: 4.6666666667em;
    height: 4.6666666667em;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background-color: #0b318f;
    color: #fff;
    font-family: EB Garamond, Times, serif;
    font-size: 1.2rem;
    text-transform: uppercase;
    content: "New"
}

.boxPropertyImage {
    z-index: 1;
    position: relative;
    background-color: #fff
}

.boxPropertyImageInner {
    position: relative;
    padding-top: 66.6666666667%
}

.boxPropertyImageInner img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.boxPropertyContent {
    background-color: #fff
}

.boxPropertyTitle {
    margin-bottom: .8em;
    font-size: clamp(1.6rem, 1.6666666667vw, 2rem);
    font-weight: 700;
    line-height: 1.4
}

.boxPropertyDescription {
    line-height: 2
}

.boxPropertySub {
    gap: 2.6666666667em;
    display: flex;
    flex-direction: column;
    font-size: 1.2rem
}

.boxPropertyLocationItem {
    gap: .6666666667em;
    display: flex
}

.boxPropertyLocationItem:not(:first-child) {
    margin-top: .8333333333em
}

.boxPropertyLocationItem [class*=icon-] {
    flex-shrink: 0
}

.boxPropertySummaryItem,
.boxPropertySummary tr {
    gap: 1em;
    display: flex
}

.boxPropertySummaryItem:not(:first-child),
.boxPropertySummary tr:not(:first-child) {
    margin-top: .6666666667em
}

.boxPropertySummaryItem .name,
.boxPropertySummary tr td:nth-child(1) {
    flex-shrink: 0;
    width: 5em;
    font-weight: 700
}

.boxPropertyLink {
    gap: 1em 2.5em;
    display: flex;
    flex-wrap: wrap
}

.boxProperty.is-brokerage {
    position: relative
}

.boxProperty.is-brokerage:before {
    display: flex;
    z-index: 10;
    position: absolute;
    top: 0;
    left: 0;
    align-items: center;
    justify-content: center;
    width: 4.3076923077em;
    height: 4.3076923077em;
    transform: translate(-50%, -50%);
    border: 1px solid #0b318f;
    border-radius: 50%;
    background-color: #fff;
    color: #0b318f;
    font-family: 游明朝, YuMincho, 游明朝体 Pr6N, YuMincho Pr6N, ヒラギノ明朝 ProN, Hiragino Mincho ProN, ヒラギノ明朝 Pro, Hiragino Mincho Pro, HGS明朝E, serif;
    font-size: 1.3rem;
    text-transform: uppercase;
    content: "\4EF2\4ECB"
}

.boxProperty.is-brokerage .boxPropertyContent {
    background-color: #0b318f;
    color: #fff
}

.boxProperty.is-brokerage .boxPropertySub [class*=icon-].colorMain svg .line {
    stroke: #fff
}

.boxProperty.is-brokerage .boxPropertySub [class*=icon-].colorMain svg .surface {
    fill: #fff
}

.boxProperty.is-brokerage .boxPropertyLink .linkHasIconCircle .text.fcMain {
    color: #fff
}

.boxProperty.is-brokerage .boxPropertyLink .linkHasIconCircle .iconWrap:not(.ghost):before {
    background-color: #fff;
    box-shadow: none
}

.boxProperty.is-brokerage .boxPropertyLink .linkHasIconCircle .iconWrap:not(.ghost) [class*=icon-] svg .line {
    stroke: #0b318f
}

.boxProperty.is-brokerage .boxPropertyLink .linkHasIconCircle .iconWrap:not(.ghost) [class*=icon-] svg .surface {
    fill: #0b318f
}

.boxProperty.is-brokerage .boxPropertyLink .linkHasIconCircle .iconWrap.ghost:before {
    box-shadow: inset 0 0 0 1px #fff
}

.boxProperty.is-brokerage .boxPropertyLink .linkHasIconCircle .iconWrap.ghost [class*=icon-] svg .line {
    stroke: #fff
}

.boxProperty.is-brokerage .boxPropertyLink .linkHasIconCircle .iconWrap.ghost [class*=icon-] svg .surface {
    fill: #fff
}

.l-contents {
    flex-grow: 1;
    width: 100%
}

@media screen and (min-width: 768px) {
    .boxPropertyContent {
        gap: 40px;
        display: grid;
        grid-template-columns: auto min(35.7326478149%, 278px);
        grid-template-rows: auto auto;
    }

    .l-contents {
        padding-top: 10%;
        padding-bottom: 10%;
    }

    .boxPropertyContent {
        gap: 40px;
        display: grid;
        grid-template-columns: auto min(35.7326478149%, 278px);
        grid-template-rows: auto auto
    }

    .boxPropertyMain {
        grid-column: 1/2;
        grid-row: 1/2
    }

    .boxPropertySub {
        grid-column: 2/3;
        grid-row: 1/3;
        padding-left: 40px;
        border-left: 1px solid rgba(50, 50, 55, .2)
    }

    .boxPropertyLink {
        grid-column: 1/2;
        grid-row: 2/3
    }

    .boxProperty.is-brokerage .boxPropertySub {
        border-left: 1px solid hsla(0, 0%, 100%, .2)
    }

}

@media screen and (min-width: 1024px) {
    .l-inner {
        margin-right: 6.333333%;
        margin-left: 6.333333%;
    }
}


@media screen and (min-width: 1200px) {
    .boxProperty {
        display: flex;
        align-items: flex-start
    }

    .boxPropertyImage {
        flex-shrink: 0;
        width: min(30.46875%, 390px)
    }

    .boxPropertyContent {
        flex-grow: 1;
        margin-top: 30px;
        margin-left: -40px;
        padding: 60px 3.90625% 60px calc(3.90625% + 40px)
    }
}