@charset "UTF-8";

/* list */
.property-list-items {
	padding: 80px 0 140px;
}

.property-list-card {
	padding: 42px 50px 52px;
	background: #fff;
	-webkit-box-shadow: var(--property-shadow);
	        box-shadow: var(--property-shadow);
}

.property-list-card + .property-list-card {
	margin-top: 50px;
}

.property-list-card__title {
	margin: 0 0 0.308em;/*8px*/
	padding-bottom: 0.692em;/*18px*/
	border-bottom: 1px solid var(--color-gray);
	font-size: 26px;
	font-weight: 500;
	letter-spacing: .05em;
	line-height: 2em;
}

.property-list-card__content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 30px;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}

.property-list-card__body {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 auto;
	        flex: 1 1 auto;
	min-width: 0;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.property-list-card__info {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 12px;
	margin-top: 18px;
}

.property-list-card__info div {
	display: grid;
	grid-template-columns: 7.313em minmax(0, 1fr);/*117px*/
	gap: 23px;
}

.property-list-card__info div.wfull {
	grid-column: 1 / -1;
}

.property-list-card__info div.tall {
	min-height: 80px;
}

.property-list-card__info div.tall dd {
	-ms-flex-item-align: center;
	    align-self: center;
}

.property-list-card__info dt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	padding: 0.375em .5em;
	background: var(--color-sub);
	text-align: center;
}

.property-list-card__info dt .small {
	display: block;
	font-size: 0.5em;
}

.property-list-card__info dt .menseki {
	position: relative;
	top: -5px;
	display: block;
	margin-bottom: -10px;
}

.property-list-card__info dd {
	margin: 0;
	padding-top: 8px;
}

.property-list-card__info dd.price {
	padding-top: 0;
	color: var(--color-red);
	font-size: 19px;
}

.property-list-card__info dd.price span {
	margin-right: 4px;
	font-size: 53px;
	line-height: 1;
}

.property-list-card__button {
	margin-top: 56px;
}

.property-list-card__image {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 527px;
	        flex: 0 0 527px;
	padding-top: 20px;
}

.property-list-card__image img {
	width: 100%;
	aspect-ratio: 527 / 373;
	-o-object-fit: cover;
	   object-fit: cover;
}

/* detail */
.property-detail-main {
	padding: 80px 0 130px;
}

.property-detail-main__inner {
	padding: 50px;
	background: #fff;
	-webkit-box-shadow: var(--property-shadow);
	        box-shadow: var(--property-shadow);
}

.property-detail__title {
	margin: 0 0 1.077em;/*28px*/
	padding-bottom: 0.769em;/*20px*/
	border-bottom: 1px solid var(--color-gray);
	font-size: 26px;
	font-weight: 500;
	letter-spacing: .05em;
	line-height: 1.6;
}

.property-detail-summary__primary {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 20px;
}

.property-detail-summary__primary div {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 0px;
	        flex: 1 1 0;
	border: 2px solid var(--color-sub);
	background: #fff;
}

.property-detail-summary dt,
.property-detail-summary dd {
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.property-detail-summary__primary dt {
	padding: 0.375em;/*6px*/
	background: var(--color-sub);
	font-weight: 600;
	text-align: center;
}

.property-detail-summary__primary dd {
	padding: 0.87em;/*20px*/
	background: #fff;
	color: var(--color-red);
	font-size: 23px;
	font-weight: 600;
	text-align: center;
}

.property-detail-summary__primary dd .price {
	position: relative;
	top: 0.684em;/*13px*/
	display: inline-block;
	font-size: 0.826em;/*19px*/
	line-height: 10px;
}

.property-detail-summary__primary dd .price > span {
	margin-right: 0.038em;
	font-size: 2.789em;/*53px*/
}

.property-detail-summary__meta {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	margin-top: 30px;
	line-height: 1.6;
}

.property-detail-summary__meta div:first-child {
	grid-column: span 2;
}

.property-detail-summary__meta div:last-child {
	margin-left: -10px;
}

.property-detail-summary__meta div {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 23px;
	min-width: 0;
}

.property-detail-summary__meta dt {
	min-width: 7.313em;/*117px*/
	padding: 0.375em;/*6px*/
	background: var(--color-sub);
	font-weight: 600;
	text-align: center;
}

.property-detail-gallery {
	max-width: 1015px;
	margin: 50px auto 0;
}

.property-detail-gallery__stage {
	position: relative;
}

.property-detail-gallery__main {
	border: 2px solid var(--color-sub);
}

.property-detail-gallery__main .slick-list,
.property-detail-gallery__thumbs .slick-list {
	cursor: -webkit-grab;
	cursor: grab;
}

.property-detail-gallery__main .slick-list:active,
.property-detail-gallery__thumbs .slick-list:active {
	cursor: -webkit-grabbing;
	cursor: grabbing;
}

.property-detail-gallery__slide img {
	width: 100%;
}

.property-detail-gallery__stage > .slick-arrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 50px;
	height: 50px;
	border: 0;
	border-radius: 50%;
	background: var(--color-main);
	color: #fff;
	font-size: 0;
	line-height: 1;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}

.property-detail-gallery__stage > .slick-arrow::before {
	display: none;
}

.property-detail-gallery__stage > .slick-arrow::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 15px;
	height: 15px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
}

.property-detail-gallery__stage > .slick-prev {
	left: -25px;
}

.property-detail-gallery__stage > .slick-prev::after {
	-webkit-transform: translate(-35%, -50%) rotate(-135deg);
	        transform: translate(-35%, -50%) rotate(-135deg);
}

.property-detail-gallery__stage > .slick-next {
	right: -25px;
}

.property-detail-gallery__stage > .slick-next::after {
	-webkit-transform: translate(-65%, -50%) rotate(45deg);
	        transform: translate(-65%, -50%) rotate(45deg);
}

.property-detail-gallery__thumbs {
	margin-top: 20px;
}

.property-detail-gallery__thumbs .slick-track {
	margin-left: 0;
}

.property-detail-gallery__thumb {
	position: relative;
	height: 67px;
	margin-right: 8px;
	cursor: pointer;
}

.property-detail-gallery__thumb::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .3);
	pointer-events: none;
	-webkit-transition: opacity .2s;
	transition: opacity .2s;
}

.property-detail-gallery__thumb.is-current::after {
	opacity: 0;
}

.property-detail-gallery__thumb.is-current {
	outline: 2px solid var(--color-main);
	outline-offset: -2px;
}

.property-detail-gallery__thumb img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	pointer-events: none;
}

.property-detail-description,
.property-detail-text {
	letter-spacing: 0.05em;
	line-height: 2;
}

.property-detail-description,
.property-detail-sec {
	margin-top: 50px;
}

.property-detail-title {
	padding: 0.5em;
	margin-bottom: 1.35em;/*27px*/
	background: var(--color-sub);
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.property-detail-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 20px;
	margin-top: 22px;
	font-size: 15px;
	line-height: 1.8;
}

.property-detail-list div {
	position: relative;
	display: grid;
	grid-template-columns: 9.533em minmax(0, 1fr);/*143px*/
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	border-bottom: 1px solid var(--color-gray);
}

.property-detail-list div::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	display: block;
	width: 9.533em;
	border-bottom: 1px solid var(--color-main);
}

.property-detail-list dt {
	position: relative;
	padding: 1.333em 0.467em 1.333em 0;
	color: var(--color-main);
}

.property-detail-list dd {
	padding: 1.333em 0 1.333em 0.467em;/*20px 7px*/
}

.property-detail-contact {
	margin-top: 50px;
	text-align: center;
}

@media screen and (max-width: 899px) {

	.property-list-items,
	.property-detail-main {
		padding: 50px 0 65px;
	}

	.property-list-card {
		padding: 30px 8% 36px;
	}

	.property-list-card + .property-list-card {
		margin-top: 40px;
	}

	.property-list-card__title,
	.property-detail__title {
		font-size: 18px;
		line-height: 1.7;
	}

	.property-list-card__content {
		display: block;
	}

	.property-list-card__info,
	.property-detail-list,
	.property-detail-note__list {
		grid-template-columns: 1fr;
	}

	.property-list-card__info div {
		gap: 18px;
	}

	.property-list-card__info div.tall {
		min-height: 71px;
	}

	.property-list-card__info dd.price {
		font-size: 17px;
	}

	.property-list-card__info dd.price span {
		font-size: 47px;
	}

	.property-list-card__image {
		margin-top: 40px;
		padding-top: 0;
	}

	.property-list-card__button {
		margin-top: 35px;
		text-align: center;
	}

	.property-detail-main__inner {
		padding: 25px 8% 35px;
	}

	.property-detail-summary__primary,
	.property-detail-summary__meta {
		display: block;
	}

	.property-detail-summary__primary div + div,
	.property-detail-summary__meta div + div {
		margin-top: 15px;
	}

	.property-detail-summary__primary dd {
		font-size: 17px;
	}

	.property-detail-summary__meta {
		margin-top: 20px;
	}

	.property-detail-summary__meta div {
		gap: 18px;
	}

	.property-detail-summary__meta div:last-child {
		margin-left: 0;
	}

	.property-detail-gallery {
		margin-top: 40px;
	}

	.property-detail-gallery__stage > .slick-arrow {
		width: 34px;
		height: 34px;
	}

	.property-detail-gallery__stage > .slick-arrow::after {
		width: 10px;
		height: 10px;
	}

	.property-detail-gallery__thumbs {
		margin-top: 15px;
	}

	.property-detail-gallery__thumb {
        height: auto;
        aspect-ratio: 95 / 67;
        margin-right: 0;
    }

    .property-detail-gallery__thumbs .slick-slide > div {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
		gap: 4px;
    }

	.property-detail-gallery__thumbs .slick-slide > div + div {
		margin-top: 4px;
	}

    .property-detail-gallery__thumbs .slick-slide > div > div {
        width: calc(100% / 5) !important;
    }

	.property-detail-description,
	.property-detail-sec,
	.property-detail-contact {
		margin-top: 40px;
	}

	.property-detail-title {
		margin-bottom: 1em;
		font-size: 18px;
	}

	.property-detail-list {
		font-size: 14px;
	}

	.property-detail-list div {
		grid-template-columns: 5em minmax(0, 1fr);
	}

	.property-detail-list div::after {
		width: 5em;
	}

}
