@charset "utf-8";

.flex{ display: flex; justify-content: space-between; flex-wrap: wrap;}

.btn__more {  display: block; margin: 0 auto; border: 1px solid #424242; position: relative; transition: 0.2s linear; margin-top: 70px; width: 224px; height: 52px; margin: 114px 0px 0px; padding-left: 10px;}
.btn__more::after { content: ""; position: absolute; display: inline-block; width: 0;height: 0; border-top: 8px solid transparent; border-left: 14px solid #000000; border-bottom: 8px solid transparent; bottom: 7px; right: 7px;}
.btn__more span { font-size: 1.6rem; line-height: 1; position: absolute; top: 8px; left: 10px;}
.btn__more:hover{ background: #000000; color: #ffffff;}
.btn__more:hover::after{ border-left-color: #ffffff;}


h2{ font-size: 5rem; font-weight: bold; max-width: 1200px; width: calc(100% - 50px); line-height: 1.5; margin:0 auto 30px;}
h2 span{ display: block; font-size: clamp(16px,1.5vw,1.8rem); }
h3{ font-size: 3.6rem; line-height: 1.4; margin-bottom: 0.5em;}
h3 span{ display: block; font-size: 1.6rem; }

.contents { background: #f5f5f5; padding: 100px 0 220px; margin-bottom: 150px;}

.mainimgarea{width:100%;height:100vh;position:relative;text-align:center;}
.mainimgarea .mainimg{display:flex;justify-content:center;align-items:center;}
.mainimgarea .swiper-container{width:100%; height:100vh;}
.mainimgarea .swiper-wrapper{width:100%; height:100vh;}
.mainimgarea .swiper-slide{width:100%; height:100vh;}
.mainimgarea .swiper-image{width:100%; height:100vh; background-repeat:no-repeat; background-size:cover; background-position:center center; transform:scale(1.1); transition:10s linear; }
.mainimgarea .swiper-slide-next .swiper-image {transform:scale(1.0);}
.mainimgarea .swiper-image.active {transform:scale(1.2);}
.swiper-button-next,.swiper-button-prev{opacity:0;transition:0.3s;z-index:99999;}
.mainimgarea.ac .swiper-button-next,.mainimgarea.ac .swiper-button-prev{opacity:1;}

.top_down{position: absolute;right: 30px;bottom: 110px;z-index: 3;}
.mainimgarea .inner {position:absolute;left:50%;transform: translateX(-50%);-webkit-transform: translateX(-50%);z-index:1;padding:0px;top: 50%;margin-top: -100px;}
/*
.mainimgarea .inner h1 {font-size:40px; font-weight:600; color:#fff; margin-bottom:0.2em;text-align:center; }
.mainimgarea .inner h2 { padding-top:0px; font-size:62px; font-weight:300; color:#fff; margin-bottom:0.8em;text-align:center; line-height: 1.2em;}
*/
.mainimgarea .inner h1 { width: 100%;}
.mainimgarea .mainimg {position:absolute;top:0px;left:0px;width:100%;height:100%;background:url(../img/mainimage.jpg) no-repeat center center;background-size:cover;}/*filter:brightness(50%);*/

#mansion_list{ padding-top: 80px;}
.box:not(:last-of-type){ padding-bottom: 210px;}
.box ul::after { content: ""; display: block; width: 33%; height: 0;}
.box ul li{ flex-basis: calc((100% - 10px)/3); margin-bottom: 30px;}
.box ul li .img_box{position: relative;}
.box ul li .img_box .btn__more {  display: block; margin: 0 auto; border: 1px solid #424242; background: rgba( 255, 255, 255, 0.8 );  position: relative; transition: 0.2s linear; margin-top: 70px; width: 108px; height: 32px; margin: 35px 0px 0px; line-height: 1.2; padding-left: 7px; position: absolute; bottom: 0; right: 0;}
.box ul li .img_box .btn__more::after { content: ""; position: absolute; display: inline-block; width: 0;height: 0; border-top: 7px solid transparent; border-left: 8px solid #000000; border-bottom: 7px solid transparent; bottom: 3px; right: 7px;}
.box ul li .img_box .btn__more span { font-size: 1.6rem; line-height: 1; position: absolute; top: 8px; left: 10px;}
.box ul li a:hover .btn__more{ background: #000000; color: #ffffff;}
.box ul li a:hover .btn__more::after{ border-left-color: #ffffff;}
.box ul li a:hover figure{ overflow: hidden;}
.box ul li a:hover figure img{ transform:scale(1.1,1.1); transition: 1s linear;}
.box ul li .place{ font-size: 1.5rem; line-height: 1.5; margin-top: 10px;}

.topbtn.btn_Box li{margin: 0 auto; }
#mansion_list .btn_Box li{margin: 0 auto;}
#mansion_list .btn_Box .btn__more{ margin-top: 50px;}

@media (max-width: 1400px){
   h2{ font-size: 4.5rem; margin-bottom: 30px;}
    .contents{ padding: 100px 0 150px;}
    .box:not(:last-of-type){ padding-bottom: 100px;}
}

@media (max-width: 768px){

    .contents{ padding: 70px 0 50px; margin-bottom: 50px;}

    .btn__more { width: 170px; height: 40px; margin: 25px 0 0 0;}
    .btn__more span { font-size: 1.3rem; left: 5px;}
    .btn__more::after { border-top: 6px solid transparent; border-left: 10px solid #000000; border-bottom: 6px solid transparent;}

    h2{ font-size: clamp( 2rem , 6.5vw, 5rem); margin-bottom: 20px;}
    h3{ font-size: min(6vw, 4.8rem); margin-top: 20px;}
    h3 span{ font-size: min(3vw, 2.4rem);}

    .top_down{right: 10px;bottom: 30px;}
	.mainimgarea{height:90vh;}
    .mainimgarea .mainimg{display:flex;justify-content:center;align-items:center;}
    .mainimgarea .swiper-container{height:90vh;}
    .mainimgarea .swiper-wrapper{height:90vh;}
    .mainimgarea .swiper-slide{height:90vh;}
    .mainimgarea .swiper-image{height:90vh;}
    .mainimgarea .inner{margin-top: -130px;}
    .mainimgarea .inner h1 { width: 268px;}
    .box:not(:last-of-type){ padding-bottom: 75px;}
    .box ul li{ flex-basis: calc((100% - 10px)/2);}
}

@media (max-width: 499px){
    .box ul li{ flex-basis: 100%;}
}