@charset "utf-8";


/* --- 物件共通スライダー設定 --- */


.property{

	margin: 20px auto 66px;
	background: #efefed;
	padding: 40px 0 90px;
	position: relative;
}

.property .link{
	width: 270px;
	margin: 0 auto;
}


.property .link a{
	display: block;
	height: 56px;
	line-height: 56px;
	border-radius: 56px;
	background: #4c4948;
	font-size: 20px;
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-decoration: none;
	text-align: center;
	padding-right: 1em;
	position: relative;
}


.property .link a::after{
    content: '';
    display: block;
    width: 9px;
    height: 9px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    position: absolute;
    top: 50%;
    right: 26px;
    transform: translate(0, -50%) rotate(45deg);
}



.custom-property-section {
    background-color: #f2f8f5;
    padding: 60px 0 0px;
    margin-top: 40px;
}
.custom-property-section .inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 60px !important; /* 左右の矢印用スペース */
    position: relative;
}
.custom-property-section .section-title {
    text-align: center;
    font-size: 24px;
    font-weight: bold;
/*    margin-bottom: 10px;*/
    font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN", serif;
}

/* カードデザイン */
.property-card {
    background: #fff;
    border-radius: 4px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.property-card .image-box { position: relative; aspect-ratio: 3 / 2; }
.property-card .image-box img { width: 100%; height: 100%; object-fit: cover; }
.property-card .tag-list { position: absolute; top: 10px; left: 10px; display: flex; gap: 5px; list-style: none; padding: 0; }
.property-card .tag-item { background: rgba(255,255,255,0.9); font-size: 11px; padding: 2px 8px; border: 1px solid #ccc; font-weight: 700; color: #000; }
.property-card .tag-item.new, .property-card .tag-item.soku { background: #e60012; color: #fff; border-color: #e60012; }
.property-card .text-box { padding: 15px; flex-grow: 1; text-align: left; }
.property-card .property-name { font-size: 12px; font-weight: bold; margin-bottom: 8px; display: block; color: #333; text-decoration: none; }
.property-card .property-info { font-size: 12px; color: #666; line-height: 1.5; height: 3em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.property-card .btn-box { display: flex; flex-wrap: wrap; gap: 5px; padding: 5px; background: #fff; }
.property-card .btn-item { flex: 1 1 100%; text-align: center; padding: 8px 5px; font-size: 12px; text-decoration: none; border: 1px solid #999; color: #333; }
.property-card .btn-item:first-child { background: #333; color: #fff; border-color: #333; }
.property-card .btn-item.reserve { flex: 1; background: #b89a5b; color: #fff; border-color: #b89a5b; }
.property-card .btn-item.request { flex: 1; }

/* スライダー制御 */
.property-swiper-container {
    overflow: hidden !important; 
    padding-bottom: 50px !important;
    position: static !important;
}
.property-button-prev, .property-button-next {
    position: absolute !important;
    top: 40% !important;
    width: 30px !important;
    height: 44px !important;
    z-index: 100 !important;
    margin: 0 !important;
    cursor: pointer;
}
.property-button-prev { left: 10px !important; }
.property-button-next { right: 10px !important; }

/* スマホ対応 */

@media(max-width:1640px){

.property{
/*	width: 73.170732vw;*/
	margin: 7.073171vw auto 4.024390vw;
	padding: 0vw 0 3vw;
}


.property .link{
	width: 16.463415vw;
}

.property .link a{
	height: 3.414634vw;
	line-height: 3.414634vw;
	border-radius: 3.414634vw;
	font-size: 1.219512vw;
}

.property .link a::after {
    width: 0.54878vw;
    height: 0.54878vw;
    border-top: 0.121951vw solid #fff;
    border-right: 0.121951vw solid #fff;
    right: 1.585366vw;
}

	
}


@media screen and (max-width: 767px) {
	
	.custom-property-section {
    padding: 60px 0 30px;
}
	
    .custom-property-section .inner { padding: 0 30px !important; }
    .property-button-prev, .property-button-next { top: 35% !important; width: 20px !important; height: 30px !important; }
    .property-button-prev { left: 5px !important; }
    .property-button-next { right: 5px !important; }
}




@media(max-width:430px){
    

.property{
	padding: 5vw 0 5vw;
}

.property .link{
	width: 44.266667vw;
}

.property .link a{
	height: 9.066667vw;
	line-height: 9.066667vw;
	border-radius: 9.066667vw;
	font-size: 3.466667vw;
}

.property .link a::after {
    width: 1.6vw;
    height: 1.6vw;
    border-top: 0.533333vw solid #fff;
    border-right: 0.533333vw solid #fff;
    right: 5.333333vw;
}

}








