@charset "utf-8";

#estate {
    .wrap {
        .contents {
            .link {
                display:grid;
                grid-template-columns:repeat(4,1fr);
                max-width:720px;
                margin:0 auto;
                font-size:1.8rem;
                margin-bottom:60px;
                li {
                    a {
                        color:#cccccc;
                        border-bottom:3px solid #cccccc;
                        display:grid;
                        height:3em;
                        align-items:center;
                        justify-content:center;
                    }
                    &.active {
                        a {
                            color:var(--color_main);
                            border-color:var(--color_main);
                        }
                    }
                }
            }
            .estates {
                display:grid;
                grid-template-columns:repeat(4,1fr);
                grid-gap:50px 20px;
                &:has( > p) {
                    grid-template-columns: 1fr;
                }
                & > p {
                    text-align: center;
                }
                li {
                    &.member {
                        .img {
                            img {
                                filter:blur(5px);
                            }
                        }
						p {
							font-size:1.5rem;
							line-height:1.5;
						}
						.btn {
							font-size:1.4rem;
							font-size:1.5;
							display:grid;
							align-items:center;
							justify-content:center;
							background-color:#000000;
							color:#FFFFFF;
							height:2.6em;
							width:100%;
							max-width:10em;
							margin:1em auto 0;
						}
                    }
                    a {
                        display: block;
						&.soldout {
							pointer-events:none;
							.img {
                                position: relative;
								img {
									filter:brightness(.5);
								}
								&::before {
									content:'Sold Out';
									font-family: "Figtree", sans-serif;
									white-space: nowrap;
									font-weight: 300;
									font-style: normal;
									color:#FFFFFF;
									font-size:3.2rem;
									position:absolute;
									z-index:1;
									top:50%;
									left:50%;
									transform:translate(-50%,-50%);
								}
							}
						}
                    }
                    .img {
                        overflow:hidden;
                        img {
                            display:block;
                            aspect-ratio: .75;
                            object-fit: cover;
                            width: 100%;
                            max-width: 200%;
                        }
                        &:has( + .cat) {
                            margin-bottom:15px;
                        }
                    }
                    .cat {
                        font-size:1.4rem;
                        display:inline-grid;
                        background-color:var(--color_main);
                        color:#FFFFFF;
                        height:2em;
                        padding:0 1em .1em;
                        align-items:center;
                        justify-content:center;
                        margin-bottom:1em;
                    }
                    dl {
                        display:grid;
                        grid-template-columns:auto 1fr;
                        font-size:1.4rem;
                        grid-gap:1em;
                        dt,dd {
                            line-height:1.3;
                        }
                    }
                }
            }
        }
    }
}

#estate_single {
    .wrap {
        .contents {
            h2 {
                color:var(--color_main);
				margin-bottom:1em;
            }
            .slider_wrap {
                width:100%;
                overflow:hidden;
                display:grid;
                grid-template-columns:1fr 150px;
                grid-column-gap:30px;
                margin-bottom:30px;
                .slider_item {
                    overflow:hidden;
                    .main_slider {
                        background-color:var(--color_bg);
                        padding:20px 60px;
                        box-shadow:0 3px 6px rgba(0,0,0,.15);
                        .slick-slide {
                            img {
                                display:block;
                                width:100%;
                                aspect-ratio:2/1;
                                object-fit:contain;
                                background-color:var(--color_bg);
                            }
                        }
                        .slick-arrow {
                            width:40px;
                            height:40px;
                            background-color:#e4e4e4;
                            border:2px solid #FFFFFF;
                            &::before {
                                content:'';
                                display:block;
                                width:10px;
                                height:10px;
                                border-right:2px solid #000000;
                                border-bottom:2px solid #000000;
                                position:absolute;
                                top:50%;
                                left:45%;
                                transform:translate(-50%,-50%) rotate(-45deg);
                            }
                            &.slick-next {
                                right:10px;
                            }
                            &.slick-prev {
                                left:10px;
                                &::before {
                                    left:55%;
                                    transform:translate(-50%,-50%) rotate(135deg);
                                }
                            }
                        }
                    }
                    .thumb_slider {
                        .slick-track {
                            transform: translate3d(0px, 0px, 0px)!important;
                        }
                        .slick-slide {
                            padding:3px 0;
                            img {
                                display:block;
                                width:100%;
                                aspect-ratio:1.8;
                                object-fit:contain;
                                background-color:#FFFFFF;
                                box-shadow:0 3px 6px rgba(0,0,0,.15);
                            }
                            &.slick-current {
                                img {
                                    border:1px solid var(--color_main);
                                }
                            }
                        }
                    }
                }
            }
            .price {
                dl {
                    display:grid;
                    grid-template-columns:8em 1fr;
                    align-items:center;
                    padding:1em;
                    background-color:#f8f5f0;
                    font-size:2.0rem;
                    border-left:10px solid #886910;
                    margin-bottom:2em;
                    dt,dd {
                        color:#886910;
                    }
                    dt {
                        text-align:center;
                    }
                    dd {
                        font-size:4.0rem;
						font-weight:800;
						span {
							&.unit {
								font-size:.6em;
								margin-left:.5em;
							}
							&.tax {
								font-size:.5em;
								color:#999999;
								font-weight:500;
								margin-left:1em;
							}
						}
                    }
                }
            }
            .detail {
	            border-top:2px solid #e4e4e4;
				display:flex;
				flex-wrap:wrap;
                dl {
                    font-size:1.4rem;
                    display:grid;
                    grid-template-columns:15em 1fr;
					width:50%;
                    border-bottom:2px solid #e4e4e4;
					&:first-child {
						dd {
	                        color:#886910;
							font-weight:800;
						}
					}
					&:last-child,&:nth-child(n+3):nth-child(-n+4) {
						width:100%;
					}
                    dt,dd {
                        height:100%;
                        padding:1em;
                        line-height:1.5;
                        display:grid;
                        align-items: center;
                    }
                    dt {
                        background-color:var(--color_bg);
                        text-align:center;
                        font-weight:600;
                    }
                }
            }
            .contact_box {
                background-color:var(--color_sub);
                padding:50px;
                display:grid;
                grid-template-columns:repeat(2,1fr);
                grid-column-gap:50px;
                margin-top:60px;
                li {
                    a {
                        display:grid;
                        background-color:#FFFFFF;
                        padding:1em;
                        font-size:2.0rem;
                        display:grid;
                        grid-template-columns:3em auto;
                        align-items:center;
                        justify-content:center;
                        grid-column-gap:3em;
                        dl {
                            display:grid;
                            grid-row-gap:.5em;
                            dt,dd {
                                color:var(--color_sub);
                            }
                            dd {
                                font-size:3.6rem;
                            }
                        }
                    }
                }
            }
        }
    }
}

@media screen and (max-width:1200px){



    #estate_single {
        .wrap {
            .contents {
                .detail {
                    dl {
                        grid-template-columns:12em 1fr;
                    }
                }
            }
        }
    }
    
}

@media screen and (max-width:1024px){

    #estate {
        .wrap {
            .contents {
                .link {
                    font-size:1.6rem;
                }
                .estates {
                    grid-template-columns:repeat(3,1fr);
                }
            }
        }
    }
    
    #estate_single {
        .wrap {
            .contents {
                .slider_wrap {
                    grid-template-columns:1fr 120px;
                    .slider_item {
                        overflow:hidden;
                        .main_slider {
                            .slick-slide {
                                img {
                                    aspect-ratio:1.5/1;
                                }
                            }
                        }
                    }
                }
                .price {
                    dl {
                        font-size:1.8rem;
                        dd {
                            font-size:3.2rem;
                        }
                    }
                }
                .contact_box {
                    padding:30px;
                    grid-column-gap:30px;
                    li {
                        a {
                            font-size:1.8rem;
                            grid-template-columns:2em auto;
                            grid-column-gap:1em;
                            dl {
                                display:grid;
                                grid-row-gap:.5em;
                                dt,dd {
                                    color:var(--color_sub);
                                }
                                dd {
                                    font-size:3.0rem;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    
}

@media screen and (max-width:768px){

    #estate {
        .wrap {
            .contents {
                .link {
                    font-size:1.4rem;
                    margin-bottom:30px;
                }
                .estates {
                    grid-template-columns:repeat(2,1fr);
                    grid-gap:30px 15px;
                    li {
	                    &.member {
							p {
								font-size:1.3rem;
							}
							.btn {
								font-size:1.3rem;
							}
	                    }
                        .cat {
                            font-size:1.2rem;
                        }
                        dl {
                            font-size:1.3rem;
                        }
                    }
                }
            }
        }
    }
    
    #estate_single {
        .wrap {
            .contents {
                .slider_wrap {
                    grid-template-columns:1fr;
                    grid-row-gap:15px;
                    .slider_item {
                        overflow:hidden;
                        .main_slider {
                            padding:10px 40px;
                            .slick-slide {
                                img {
                                    display:block;
                                    width:100%;
                                    object-fit:contain;
                                    background-color:var(--color_bg);
                                }
                            }
                            .slick-arrow {
                                width:30px;
                                height:30px;
                                &::before {
                                    width:6px;
                                    height:6px;
                                }
                                &.slick-next {
                                    right:5px;
                                }
                                &.slick-prev {
                                    left:5px;
                                }
                            }
                        }
                        .thumb_slider {
                            .slick-track {
                                transform: translate3d(0px, 0px, 0px)!important;
                            }
                            .slick-slide {
                                padding:5px;
                                width:25%!important;
                                max-width:100px;
                            }
                        }
                    }
                }
                .price {
                    dl {
                        grid-template-columns:5em 1fr;
                        font-size:1.4rem;
						border-left-width:5px;
						padding:1em .5em;
                        dd {
                            font-size:2.6rem;
                        }
                    }
                }
                .detail {
					display:grid;
                    dl {
						width:100%;
                        font-size:1.3rem;
                        grid-template-columns:7em 1fr;
                    }
                }
                .contact_box {
                    padding:20px;
                    grid-template-columns:1fr;
                    grid-row-gap:20px;
                    max-width:500px;
                    margin:30px auto 0;
                    li {
                        a {
                            font-size:min(4vw,2.0rem);
                            dl {
                                display:grid;
                                grid-row-gap:.5em;
                                dt,dd {
                                    color:var(--color_sub);
                                }
                                dd {
                                    font-size:1.8em;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    
}