

/* ===========================
 TOP_PAGE
=========================== */
/* PC用CSS */
@media screen and (min-width: 768px) {
section.kv{
margin: 0 auto;
padding: 0 0 0 0;
position:relative;
height: 100vh;
width:100%;
text-align:center;
}
/* video */
section.kv .video{
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
overflow: hidden;

}
section.kv .video video{
min-width: 100%;
min-height: 100%;
width: auto;
height: auto;
object-fit: cover;
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
}

.kv_txt{
  position: absolute;
  left: 100px;
  top: 130px;
  font-size:50px;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  line-height: 2.0;
  letter-spacing: 0.5em;
  color:#fff;
  z-index: 10;
  text-align:left;
  font-family: "Noto Serif JP", serif;
  text-shadow:
    0 1px 3px rgba(0, 0, 0, 0.55),
    0 3px 10px rgba(0, 0, 0, 0.35);
}
.kv_txt br.vt_br{
  display:none;
}
@media screen and (max-height: 760px) {
.kv_txt br.vt_br{
  display:block;
}
}
@media screen and (max-height: 540px) {
.kv_txt{
  display:none;
}
}
/* SCROLL全体 */
.scroll_indicator{
  position: absolute;
  left: 30px;
  bottom: 30px;
  width: 40px;
  height: 180px;
  z-index: 10;
}

/* SCROLL文字 */
.scroll_text{
  position: absolute;
  left: 0;
  bottom: 160px;
  display: block;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.15em;
  color: #fff;
  transform: rotate(90deg);
  transform-origin: left bottom;
  white-space: nowrap;
}

/* ベースの半透明ライン */
.scroll_line_base{
  position: absolute;
  left: 5px;
  bottom: 0;
  width: 1px;
  height: 100px;
  background: rgba(255,255,255,0.5);
}

/* 上に重ねる白ライン */
.scroll_line_move{
  position: absolute;
  left: 5px;
  bottom: 0;
  width: 1px;
  height: 100px;
  background: #fff;
  transform-origin: bottom center;
  animation: scrollLineMove 3s ease-in-out infinite;
}

/* 白ラインの伸び縮み */
@keyframes scrollLineMove {
  0% {
    transform: scaleY(0);
    transform-origin: top center;
  }
  40% {
    transform: scaleY(1);
    transform-origin: top center;
  }
  60% {
    transform: scaleY(1);
    transform-origin: bottom center;
  }
  100% {
    transform: scaleY(0);
    transform-origin: bottom center;
  }
}



section.point_area{
margin: 0 auto;
padding: 0 0;
position:relative;
text-align:center;
background-color:#f0eee6;
}
ul.point_list{
margin: 0 auto;
padding: 0 0;
position: relative;
text-align:center;
display: flex;
align-items:stretch;
justify-content:center;
min-width:1140px;
max-width:1600px;
}
ul.point_list li{
margin: 0;
padding: 0;
position: relative;
width:25%;
}
ul.point_list li a{
margin: 0 auto;
padding: 0 0px;
position:relative;
text-align:center;
width:100%;
height:220px;
display: flex;
align-items:center;
justify-content:center;
text-decoration:none;
}
ul.point_list li a em{
position:relative;
font-weight: 600;
font-style: normal;
letter-spacing:0.05em;
font-size: 22px;
line-height: 22px;
color:#282828;
text-align: center;
}
ul.point_list li a em b{
position:absolute;
top:-30px;
left:-60px;
letter-spacing:-0.01em;
font-size: 100px;
color:#cbc6b9;
font-family: "Baskervville", serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: italic;
opacity:25%;
}
ul.point_list li a small{
margin-top:10px;
display: block;
font-weight: 500;
font-style: normal;
letter-spacing:0.05em;
font-size: 18px;
line-height: 18px;
color:#282828;
text-align: center;
}
ul.point_list li a em::before {
content: "";
position: absolute;
top:10px;
right:-50px;
width: 15px;
height: 15px;
background-image: url("../images/base/arr.svg");
background-repeat: no-repeat;
background-position: right top;
background-size:auto;
transition-duration: .2s;
}
ul.point_list li a:hover em::before {
transform: scale(1.8);
}
ul.point_list li a:hover{
transition : 0.3s;
filter: brightness(103%);
}



section.event_area{
margin: 0 auto;
padding: 100px 0 80px 0;
position: relative;
text-align:center;
background-color:#f7f5f0;
}

ul.search_list{
margin: 0 0;
padding: 0 0;
position: absolute;
top:40px;
right:140px;
display: flex;
align-items:center;
justify-content:flex-end;
z-index:1;
}
ul.search_list li{
margin: 0 ;
padding: 0 1.5vw;
position: relative;
border-left:1px solid #aaa;
line-height: 15px;
}
ul.search_list li:nth-child(1){
border-left:0px solid #aaa;
width:150px;
padding: 0 0 0 0;
margin-right: 20px ;
}
ul.search_list li a{
margin: 0;
padding: 0;
font-weight: normal;
font-size: 15px;
letter-spacing: 0.05em;
line-height: 15px;
text-align:center;
text-decoration:none;
}
ul.search_list li a:hover{
transition : 0.3s;
text-decoration: underline;
text-underline-offset: .4em;
text-decoration-thickness: 1px; 
}
.field_select{
margin: 0 0 0 0;
padding: 0 0;
position: relative;
width:150px;
border:0px solid #ccc;
}
.field_select select.select_style {
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
border:none;
box-sizing: border-box;
width:100%;
background-color:transparent;
margin: 0 0 0 0;
padding: 0 0px;
position: relative;
font-weight: normal;
font-size: 15px;
letter-spacing: 0.05em;
line-height: 15px;
text-align:justify;
white-space:nowrap;
}
.field_select:before {
content: '';
flex-shrink:0;
border-top:1px solid #000;
border-right:1px solid #000;
position:relative;
transform:rotate(135deg);
height:8px;
width:8px;
right:0px;
top:2px;
bottom:0;
position:absolute;
z-index:-1;
}
.field_select select:-moz-focusring {
color: transparent;
text-shadow: 0 0 0 #000;
}
.field_select select, option{
cursor: pointer;
}

ul.slide_arr{
margin: 0 0;
padding: 0 0;
position: absolute;
top:20px;
right:0;
display: flex;
align-items:center;
justify-content:flex-end;
z-index:3;
}
ul.slide_arr li{
margin: 0 5px;
padding: 0 0;
position: relative;
cursor: pointer;
}
ul.slide_arr li img{
filter: drop-shadow(0px 0px 6px rgba(0,0,0,0.1));
}
ul.slide_arr li:hover img{
filter: drop-shadow(0px 0px 6px rgba(0,0,0,0.5));
}

.event_swiper{
margin-bottom:70px;
}
ul.event_list{
margin: 0 0 70px 0;
padding: 0 0;
position:relative;
text-align:center;

}
ul.event_list li{
margin: 0 0 0 0;
padding: 0 0;
position:relative;
text-align:left;
max-width:350px;
width:32%;
}
ul.event_list li a{
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index:999;
background-color:#FFF;
filter:alpha(opacity=0);
-moz-opacity: 0;
opacity: 0;
}
ul.event_list li .event_img{
margin: 0 auto;
padding: 0 0px;
position:relative;
text-align:center;
overflow: hidden;
}
ul.event_list li .event_img img{
width: 100%;
aspect-ratio: 1 / 1;
object-fit: cover;
vertical-align:top;
transition-duration: .3s;
}
ul.event_list li:hover .event_img img {
transform: scale(1.1);
}
ul.event_list li .event_box{
width:auto;
margin: 0 auto 0;
padding: 20px 0 0;
position:relative;
vertical-align:top;
box-sizing: border-box;
}
ul.event_list li .event_date{
margin: 0 0 5px;
padding: 0 0;
position:relative;
font-weight: normal;
font-size: 14px;
letter-spacing: 0.1em;
line-height: 1.5;
text-align: left;
color: #9b8c82;
}
ul.event_list li .event_txt{
margin: 0 0 15px;
padding: 0 0 0;
position:relative;
font-weight: normal;
font-size: 19px;
line-height: 1.5;
text-align: left;
}
ul.event_list li .event_cat{
margin: 0 0;
padding: 0 0;
position:relative;
text-align: left;
}
ul.event_list li .event_cat span{
margin: 0 2px 8px;
padding: 5px 8px;
position:relative;
display:inline-block;
font-weight: normal;
font-size: 12px;
letter-spacing: 0.05em;
line-height: 12px;
text-align: left;
color: #585858;
border:1px solid #333;
}
ul.event_list li .event_cat span.openhouse{
color: #fff;
background-color:#aa9d95;
border:1px solid #aa9d95;
}
ul.event_list li .event_cat span.consultation{
color: #fff;
background-color:#00008b;
border:1px solid #00008b;
}
ul.event_list li .event_cat span.renovation{
color: #fff;
background-color:#aa9d95;
border:1px solid #aa9d95;
}
ul.event_list li .event_cat span.campaign{
color: #fff;
background-color:#c9171e;
border:1px solid #c9171e;
}
ul.event_list li .event_cat span.venue_txt{
margin: 0 0 8px 2px;
padding: 5px 5px;
position:relative;
display:inline-block;
font-weight: normal;
font-size: 12px;
letter-spacing: 0.05em;
line-height: 12px;
text-align: left;
border:0px solid #333;
}



section.works_area{
margin: 0 auto;
padding: 100px 0 80px 0;
position: relative;
text-align:center;
background-color:#fff;
}
section.works_area h2.primary_tit{
margin: 0 auto 20px;
}
section.works_area ul.slide_arr{
top:195px;
right:10px;
}
.works_swiper{
margin-bottom:70px;
}
ul.works_list{
margin: 0 0 70px 0;
padding: 0 0;
position:relative;
text-align:center;
display: flex;
align-items:stretch;
justify-content:space-between;
}
ul.works_list li{
margin: 0 0 0 0;
padding: 0 0;
position:relative;
text-align:left;
max-width:1140px;
letter-spacing:normal;
}
ul.works_list li a{
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index:999;
background-color:#FFF;
filter:alpha(opacity=0);
-moz-opacity: 0;
opacity: 0;
}
ul.works_list li .works_img{
margin: 0 auto;
padding: 0 0px;
position:relative;
text-align:center;
overflow: hidden;
}
ul.works_list li .works_img img{
width: 100%;
aspect-ratio: 1140 / 720;
object-fit:cover;
object-position: center center;
vertical-align:top;
transition-duration: .3s;
}
ul.works_list li:hover .works_img img {
transform: scale(1.02);
}
ul.works_list li .works_img::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.45) 0%,
    rgba(0, 0, 0, 0.3) 50%,
    rgba(0, 0, 0, 0) 100%
  );
}
ul.works_list li .works_box{
position:absolute;
bottom:5vw;
left:5vw;
}
ul.works_list li .works_cat{
margin: 0 0;
padding: 0 0;
position:relative;
text-align: left;
}
ul.works_list li .works_cat span{
margin: 0 0 20px;
padding: 5px 8px;
position:relative;
display:inline-block;
font-weight: normal;
font-size: 13px;
letter-spacing: 0.05em;
line-height: 13px;
text-align: left;
color: #fff;
border:1px solid #fff;
}
ul.works_list li .works_txt{
margin: 0 0 20px;
padding: 0 1em 0 0;
position:relative;
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 600;
font-style: normal;
font-size: 50px;
line-height: 1.4;
text-align: left;
letter-spacing: 0.05em;
color: #fff;
}
ul.works_list li .works_data{
margin: 0 0 5px;
padding: 0 0;
position:relative;
font-weight: normal;
font-size: 13px;
letter-spacing: 0.05em;
line-height: 1.5;
text-align: left;
color: #fff;
}
/* アクティブな（中央の）スライドの状態 */
.works_swiper .swiper-slide {
filter: brightness(30%);
transition: filter 0.3s, opacity 0.3s;
}
.works_swiper .swiper-slide-active {
filter: brightness(100%);
opacity: 1;
}


section.owner_area{
margin: 0 auto;
padding: 20px 0 80px 0;
position: relative;
text-align:center;
background-color:#fff;
}
section.owner_area h2.primary_tit{
z-index:2;
}
section.owner_area h2.primary_tit small{
display:block;
}
section.owner_area h3.h3_heading{
z-index:10;
}
section.owner_area .btn_more{
margin: 0 0 150px;
padding: 0 0 0 0;
position:relative;
text-align:left;
}
section.owner_area:before {
position: absolute;
top: 200px;
left: calc(50% - 450px);
width: 3000px;
height: 546px;
content: '';
background: #f7f5f0;
}
section.owner_area:after {
position: absolute;
top: 620px;
right: calc(50% - 450px);
width: 3000px;
height: 340px;
content: '';
background: #f7f5f0;

}

ul.owner_list{
margin: 0 0 150px 0;
padding: 0 0;
position:relative;
text-align:center;
display: flex;
align-items:stretch;
justify-content:space-between;
z-index:5;
}
ul.owner_list li{
margin: 0 0 0 0;
padding: 0 0;
position:relative;
text-align:left;
letter-spacing:normal;
max-width:350px;
width: 32%;
}
ul.owner_list li:nth-child(1){
position:absolute;
top:-530px;
right:-110px;
max-width:620px;
width: 100%;
z-index:11;
}

ul.owner_list li .owner_img{
margin: 0 auto 20px;
padding: 0 0px;
position:relative;
text-align:center;
overflow: hidden;
}
ul.owner_list li .owner_img img{
width: 100%;
vertical-align:top;
}
ul.owner_list li .owner_box{
margin: 0 0;
padding: 0 0;
position:relative;
display: flex;
align-items:stretch;
justify-content:flex-start;
}
ul.owner_list li .owner_num{
margin: 0 1vw 0 0;
padding: 0 0;
position:relative;
text-align: left;
flex-shrink: 0;
white-space:nowrap;
}
ul.owner_list li .owner_num span{
letter-spacing:0.05em;
font-size: 34px;
line-height: 34px;
font-family: "Baskervville", serif;
font-optical-sizing: auto;
font-weight: 500;
font-style: italic;
opacity:20%;
}
ul.owner_list li .owner_txt{
margin: 0 0 0;
padding: 0 0 0;
position:relative;
font-weight: 500;
font-style: normal;
font-size: 18px;
line-height: 1.5;
text-align: left;
letter-spacing: 0.00em;
flex-grow: 1;
}
ul.owner_list li a{
	text-decoration:none;
}
ul.owner_list li a:hover{
	text-decoration:none;
}
ul.owner_list li .owner_data{
margin: 10px 0 0;
padding: 0 0;
position:relative;
font-weight: normal;
font-size: 12px;
letter-spacing: 0.05em;
line-height: 1.5;
text-align: left;
display:block;
}


section.price_area{
margin: 0 auto;
padding: 100px 0 1px 0;
position: relative;
text-align:center;
background-color:#282828;
background-image: url(../images/top/price_bg.svg);
background-repeat: no-repeat;
background-position: right top;
background-size: 140px;
}
section.price_area h2.primary_tit{
margin: 0 auto 60px;
padding: 0 0 0;
position: relative;
text-align:center;
}
section.price_area h2.primary_tit em{
margin: 0 0;
padding: 0 0 0 0;
color:#fff;
font-size: 75px;
}
section.price_area h2.primary_tit small{
text-align:center;
color:#fff;
display:block;
}
section.price_area h3.h3_heading{
margin: 0 auto 100px;
padding: 0 0 0;
position: relative;
text-align:center;
color:#fff;
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 500;
font-style: normal;
font-size: 35px;
letter-spacing: 0.05em;
line-height: 1.8;
}
section.price_area h3.h3_heading small{
margin: 0 0 30px;
padding: 0 0 0;
position: relative;
text-align:center;
color:#fff;
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 500;
font-style: normal;
font-size: 19px;
letter-spacing: 0.05em;
line-height: 1.8;
display:block;
text-decoration:underline;
text-underline-offset: .7em;
text-decoration-thickness: 1px;
}

ul.price_list{
margin: 0 auto;
padding: 0 1px;
position:relative;
text-align:center;
display: flex;
align-items:stretch;
justify-content:space-between;
}
ul.price_list li{
margin: 0 0 0 0;
padding: 0 0;
position:relative;
text-align:left;
width:33.3%;
}
ul.price_list li a{
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index:999;
background-color:#FFF;
filter:alpha(opacity=0);
-moz-opacity: 0;
opacity: 0;
}
ul.price_list li .price_img{
margin: 0 auto;
padding: 0 0px;
position:relative;
text-align:center;
overflow: hidden;
}
ul.price_list li .price_img img{
width: 100%;
vertical-align:top;
transition-duration: .3s;
}
ul.price_list li:hover .price_img img {
transform: scale(1.02);
}
ul.price_list li .price_txt{
margin: 0 0;
padding: 20px 10px;
background-color:#fff;
position:absolute;
top:0;
right:0;
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 500;
font-style: normal;
font-size: 30px;
line-height: 30px;
text-align: left;
letter-spacing: 0.15em;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
}
ul.price_list li .price_data{
margin: 0 0;
padding: 20px 20px;
position:absolute;
top:0;
left:0;
font-family: "Poppins", sans-serif;
font-weight: 500;
font-style: normal;
font-size: 13px;
letter-spacing: 0.05em;
line-height: 13px;
text-align: left;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
}


section.estate_area{
margin: 0 auto;
padding: 100px 0 80px 0;
position: relative;
text-align:center;
background-color:#f0eee6;
}
section.estate_area h2.primary_tit{
margin: 0 auto 40px;
padding: 0 0 0;
position: relative;
text-align:center;
}
section.estate_area h2.primary_tit em{
margin: 0 0;
padding: 0 0 0 0;
font-size: 75px;
}
section.estate_area h2.primary_tit small{
text-align:center;
display:block;
}
section.estate_area h3.h3_heading{
margin: 0 auto 50px;
padding: 0 0 0;
position: relative;
text-align:center;
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 600;
font-style: normal;
font-size: 22px;
letter-spacing: 0.05em;
line-height: 1.8;
}
ul.estate_list{
margin: 0 0 70px 0;
padding: 0 0;
position:relative;
text-align:center;
display: flex;
align-items:stretch;
justify-content:space-between;
}
ul.estate_list li{
margin: 0 0 0 0;
padding: 0 0;
position:relative;
text-align:left;
max-width:540px;
width:49%;
}
ul.estate_list li a{
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index:999;
background-color:#FFF;
filter:alpha(opacity=0);
-moz-opacity: 0;
opacity: 0;
}
ul.estate_list li .estate_img{
margin: 0 auto;
padding: 0 0px;
position:relative;
text-align:center;
overflow: hidden;
}
ul.estate_list li .estate_img img{
width: 100%;
vertical-align:top;
transition-duration: .3s;
}
ul.estate_list li .estate_img::before {
content: "";
position: absolute;
top:0px;
left:0;
width: 100%;
height: 100%;
background: linear-gradient(to bottom, rgba(0,0,0,0.0) 0%, rgba(0,0,0,0.5) 100%);
}
ul.estate_list li:hover .estate_img img {

}
ul.estate_list li .estate_box{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
}
ul.estate_list li .estate_cat{
margin: 0 0 20px;
padding: 0 0;
position:relative;
text-align: center;
font-family: "Poppins", sans-serif;
font-weight: 400;
font-style: normal;
font-size: 15px;
letter-spacing: 0.05em;
line-height: 15px;
color: #fff;
}
ul.estate_list li .estate_txt{
margin: 0 0 0;
padding: 0 0 0;
position:relative;
font-weight: 500;
font-style: normal;
font-size: 26px;
line-height: 1.4;
text-align: left;
letter-spacing: 0.15em;
color: #fff;
}
ul.estate_list li .estate_txt::before {
content: "";
position: absolute;
top:10px;
right:-40px;
width: 18px;
height: 18px;
background-image: url("../images/base/arr2.svg");
background-repeat: no-repeat;
background-position: right top;
background-size:18px auto;
transition-duration: .2s;
}
ul.estate_list li:hover .estate_txt::before {
transform: scale(1.7);
}
ul.area_search_list{
margin: 0 auto;
padding: 20px 0;
position:relative;
background-color:rgba(0,0,0,0.05);
display: flex;
align-items:center;
justify-content:center;
}
ul.area_search_list li{
margin: 0 0;
padding: 0 30px;
position:relative;
font-weight: 500;
font-style: normal;
font-size: 17px;
line-height: 17px;
text-align: left;
letter-spacing: 0.05em;
}
ul.area_search_list li:nth-child(3){
border-left:1px solid #555;
}
ul.area_search_list li a{
margin: 0 0;
padding: 0 0;
position:relative;
font-weight: 500;
font-style: normal;
font-size: 17px;
line-height: 17px;
text-align: left;
letter-spacing: 0.05em;
text-decoration:none;
}
ul.area_search_list li a:hover{
/*transition : 0.3s;*/
text-decoration: underline;
text-underline-offset: .4em;
text-decoration-thickness: 2px; 
}
ul.area_search_list li i{
margin: 0 0;
padding-right: 7px;
font-size: 22px;
line-height: 17px;
color:#90bb20;
}


section.model_area{
margin: 0 auto;
padding: 100px 0 80px 0;
position: relative;
text-align:center;
background-color:#fff;
}
section.model_area h2.primary_tit{
margin: 0 auto 40px;
padding: 0 0 0;
position: relative;
text-align:center;
}
section.model_area h2.primary_tit em{
margin: 0 0;
padding: 0 0 0 0;
font-size: 75px;
}
section.model_area h2.primary_tit small{
text-align:center;
display:block;
}
section.model_area h3.h3_heading{
margin: 0 auto 50px;
padding: 0 0 0;
position: relative;
text-align:center;
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 600;
font-style: normal;
font-size: 35px;
letter-spacing: 0.05em;
line-height: 1.8;
}
section.model_area h3.h3_heading small{
font-size: 22px;
}
.area_section{
margin: 0 0 70px 0;
padding: 0 0;
position:relative;
text-align:center;
}
.area_section ul.slide_arr{
top:-15px;
}
.model_swiper{
margin-bottom:0;
}
ul.model_list{
margin: 0 0 50px 0;
padding: 0 0;
position:relative;
text-align:center;
display: flex;
align-items:stretch;
justify-content:space-between;

}
ul.model_list li{
margin: 0 0 50px 0;
padding: 0 0;
position:relative;
text-align:left;
max-width:350px;
width:31%;
}
ul.model_list li a{
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index:999;
background-color:#FFF;
filter:alpha(opacity=0);
-moz-opacity: 0;
opacity: 0;
}
ul.model_list li .model_img{
margin: 0 auto 25px;
padding: 0 0px;
position:relative;
text-align:center;
overflow: hidden;
}
ul.model_list li .model_img img{
width: 100%;
vertical-align:top;
transition-duration: .3s;
}
ul.model_list li:hover .model_img img {
transform: scale(1.04);
}
ul.model_list li .model_box{
margin: 0 auto;
padding: 0 0px;
position:relative;
text-align:left;
}
ul.model_list li .model_cat{
margin: 0 0 20px;
padding: 0 0 25px;
position:relative;
text-align: left;
font-weight:500;
font-style: normal;
font-size: 22px;
letter-spacing: 0.05em;
line-height: 22px;
border-bottom:1px solid #ccc;
}
ul.model_list li .model_cat small{
margin: 0 0 10px;
padding: 0 0;
position:relative;
text-align: left;
font-family: "Noto Serif JP", serif;
font-weight: 600;
font-style: normal;
font-size: 15px;
letter-spacing: 0.05em;
line-height: 15px;
display:block;
}
ul.model_list li .model_data{
margin: 0 0 0;
padding: 0 0 0;
position:relative;
text-align: left;
}
ul.model_list li .model_data small{
margin: 0 0 10px;
padding: 0 0 0;
position:relative;
font-weight: 500;
font-style: normal;
font-size: 14px;
line-height: 14px;
text-align: left;
letter-spacing: 0.02em;
display:block;
}
ul.model_list li .model_data em{
margin: 0 0 10px;
padding: 0 0 0;
position:relative;
font-weight: 500;
font-style: normal;
font-size: 14px;
line-height: 14px;
text-align: left;
letter-spacing: 0.05em;
color:#90bb20;
}
ul.model_list li .model_data em i{
padding-right: 4px;
font-size: 16px;
line-height: 14px;
}

section.concept_area{
margin: 0 auto;
padding: 100px 0 0;
position: relative;
text-align:center;
background-color:#f7f5f0;
}
section.concept_area h2.primary_tit{
margin: 0 auto 20px;
}
.concept_column{
display: flex;
align-items:stretch;
justify-content:space-between;
position: relative;
}

ul.concept_list{
margin: 0 0 0 0;
padding: 0 0 495px;
position:relative;
text-align:left;
min-width:580px;
width:50%;
}
ul.concept_list li{
margin: 0 0 0;
padding: 0 0 0;
position:relative;
text-align: left;
border-bottom:1px solid #ccc;
}
ul.concept_list li a{
margin: 0 0 0;
padding: 50px 0 60px;
position:relative;
text-align: left;
display:block;
text-decoration:none;
display: flex;
align-items:stretch;
justify-content:flex-start;
}
ul.concept_list li a em{
margin: 0 0 0;
padding: 0 0;
position:relative;
text-align: left;
font-family: "Baskervville", serif;
font-optical-sizing: auto;
font-weight: 500;
font-style: italic;
font-size: 28px;
line-height: 28px;
letter-spacing: 0.05em;
color:rgba(0,0,0,0.15);
flex-shrink: 0;
}
ul.concept_list li a span{
margin: 0 0 0;
padding: 5px 0 0 30px;
position:relative;
text-align: left;
flex-grow: 1;
}
ul.concept_list li a span small{
margin: 0 0 15px;
padding: 0 0;
position:relative;
text-align: left;
display:block;
font-family: "Poppins", sans-serif;
font-weight: 500;
font-style: normal;
font-size: 12px;
line-height: 12px;
letter-spacing: 0.05em;
color:#90bb20;
}
ul.concept_list li a span strong{
margin: 0 0 25px;
padding: 0 0;
position:relative;
text-align: left;
display:block;
font-weight: 500;
font-style: normal;
font-size: 27px;
line-height: 32px;
letter-spacing: 0.05em;
}
ul.concept_list li a span b{
margin: 0 0 0;
padding: 0 0;
position:relative;
text-align: left;
display:block;
font-weight: 500;
font-style: normal;
font-size: 18px;
line-height: 1.5;
letter-spacing: 0.05em;
}
ul.concept_list li a span b::before {
content: "";
position: absolute;
top:10px;
right:10px;
width: 15px;
height: 15px;
background-image: url("../images/base/arr.svg");
background-repeat: no-repeat;
background-position: right top;
background-size:auto;
transition-duration: .2s;
}
ul.concept_list li a:hover span b::before {
transform: scale(1.9);
}
ul.concept_list li:hover{
transition : 0.3s;
border-bottom:1px solid #555;
}
.concept_p{
	position:relative;
	top:50px;
	right:-103px;
	max-width:560px;
	transition: opacity .25s ease;
}
.concept_p img {
  width: 100%;
  height: auto;
  display: block;
}

/* JSで固定表示中 */
.concept_p.is-fixed {
  position: fixed;
  top: 0;
  right: calc((100vw - 1140px) / 2 - 110px);
  z-index: 5;
  max-width: 560px;
}

/* 親要素の終端で固定解除 */
.concept_p.is-absolute {
  position: absolute;
  top: auto;
  bottom: 0;
  right: -102px;
  z-index: 5;
  max-width: 560px;
}

section.blog_area{
margin: 0 auto;
padding: 100px 0 80px 0;
position: relative;
text-align:center;
background-color:#fff;
}
.blog_swiper{
margin-bottom:70px;
}

section.about_area{
margin: 0 auto;
padding: 100px 0 120px 0;
position: relative;
text-align:center;
background-color:#282828;
}
section.about_area h2.primary_tit{
margin: 0 auto 60px;
padding: 0 0 0;
position: relative;
text-align:center;
}
section.about_area h2.primary_tit em{
margin: 0 0;
padding: 0 0 0 0;
color:#fff;
font-size: 75px;
}
section.about_area h2.primary_tit small{
text-align:center;
color:#fff;
display:block;
}
ul.about_list{
margin: 0 0 100px 0;
padding: 0 0;
position:relative;
text-align:center;
display: flex;
align-items:stretch;
justify-content:space-between;
}
ul.about_list li{
margin: 0 0 0 0;
padding: 0 0;
position:relative;
text-align:left;
max-width:350px;
width:32%;
}
ul.about_list li a{
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index:999;
background-color:#FFF;
filter:alpha(opacity=0);
-moz-opacity: 0;
opacity: 0;
}
ul.about_list li .about_img{
margin: 0 auto 15px;
padding: 0 0px;
position:relative;
text-align:center;
overflow: hidden;
}
ul.about_list li .about_img img{
width: 100%;

object-fit: cover;
vertical-align:top;
transition-duration: .3s;
}
ul.about_list li:hover .about_img img {
transform: scale(1.1);
}
ul.about_list li .about_txt{
margin: 0 0;
padding: 0 0 0;
position:relative;
font-weight: normal;
font-size: 17px;
line-height: 1.5;
text-align: center;
color:#fff;
}
ul.about_link_list{
margin: 0 0 0 0;
padding: 0 0;
position:relative;
text-align:left;
display: flex;
align-items:stretch;
justify-content:space-between;
}
ul.about_link_list li{
margin: 0 0 0;
padding: 0 0 0;
position:relative;
text-align: left;
border-bottom:2px solid #a3a3a3;
width:23%;
}
ul.about_link_list li a{
margin: 0 0 0;
padding: 0px 0 20px;
position:relative;
text-align: left;
display:block;
text-decoration:none;
}
ul.about_link_list li a small{
margin: 0 0 10px;
padding: 0 0;
position:relative;
text-align: left;
display:block;
font-family: "Poppins", sans-serif;
font-weight: 500;
font-style: normal;
font-size: 11px;
line-height: 11px;
letter-spacing: 0.1em;
color:#fff;
}
ul.about_link_list li a em{
margin: 0 0 0;
padding: 0 0 0 ;
position:relative;
text-align: left;
display:block;
font-weight: 500;
font-style: normal;
font-size: 17px;
line-height: 17px;
letter-spacing: 0.1em;
color:#fff;
}
ul.about_link_list li a::before {
content: "";
position: absolute;
bottom:20px;
right:10px;
width: 15px;
height: 15px;
background-image: url("../images/base/arr2.svg");
background-repeat: no-repeat;
background-position: right top;
background-size:15px auto;
transition-duration: .2s;
opacity:0.5;
}
ul.about_link_list li a:hover::before {
transform: scale(1.5);
}

}


/* ===========================
 TOP_PAGE
=========================== */
/* スマホ用CSS */
@media screen and (max-width:767px) {
section.kv{
margin: 0 auto 0;
padding: 0 0 0 0;
position:relative;
width: 100%;
height: 610px;
text-align:center;
}
/* video */
section.kv .video{
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
overflow: hidden;
}
section.kv .video video{
min-width: 100%;
min-height: 100%;
width: 100%;
height: auto;
object-fit: cover;
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
}

/* SCROLL全体 */
.scroll_indicator{
  position: absolute;
  left: 10px;
  bottom: 10px;
  width: 40px;
  height: 180px;
  z-index: 10;
}

/* SCROLL文字 */
.scroll_text{
  position: absolute;
  left: 0;
  bottom: 150px;
  display: block;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.15em;
  color: #fff;
  transform: rotate(90deg);
  transform-origin: left bottom;
  white-space: nowrap;
}

/* ベースの半透明ライン */
.scroll_line_base{
  position: absolute;
  left: 5px;
  bottom: 0;
  width: 1px;
  height: 90px;
  background: rgba(255,255,255,0.5);
}

/* 上に重ねる白ライン */
.scroll_line_move{
  position: absolute;
  left: 5px;
  bottom: 0;
  width: 1px;
  height: 90px;
  background: #fff;
  transform-origin: bottom center;
  animation: scrollLineMove 3s ease-in-out infinite;
}

/* 白ラインの伸び縮み */
@keyframes scrollLineMove {
  0% {
    transform: scaleY(0);
    transform-origin: top center;
  }
  40% {
    transform: scaleY(1);
    transform-origin: top center;
  }
  60% {
    transform: scaleY(1);
    transform-origin: bottom center;
  }
  100% {
    transform: scaleY(0);
    transform-origin: bottom center;
  }
}

section.point_area{
margin: 0;
padding: 0;
position:relative;
text-align:center;
background-color:#f0eee6;
}
ul.point_list{
margin: 0;
padding: 0 0;
position: relative;
text-align:center;
display: flex;
align-items:stretch;
justify-content:center;
flex-wrap:wrap;
flex-direction:column;
height: 230px;
}
ul.point_list li{
margin: 0;
padding: 0;
position: relative;
width:50%;
}
ul.point_list li a{
margin: 15px auto;
padding: 0 0px;
position:relative;
text-align:center;
width:100%;
height:70px;
background-color:#f0eee6;
display: flex;
align-items:center;
justify-content:center;
text-decoration:none;
}
ul.point_list li a em{
font-weight: 600;
font-style: normal;
letter-spacing:0.05em;
font-size: 16px;
line-height: 16px;
color:#282828;
text-align: center;
}
ul.point_list li a em b{
position:absolute;
top:-10px;
left:12px;
letter-spacing:-0.01em;
font-size: 60px;
color:#cbc6b9;
font-family: "Baskervville", serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: italic;
opacity:25%;
}
ul.point_list li:nth-child(1) a em b,
ul.point_list li:nth-child(2) a em b {
left:27px;
}
ul.point_list li a small{
margin-top:5px;
display: block;
font-weight: 500;
font-style: normal;
letter-spacing:0.05em;
font-size: 14px;
line-height: 14px;
color:#282828;
text-align: center;
}
ul.point_list li a em::before {
content: "";
position: absolute;
top:45px;
right:20px;
width: 15px;
height: 15px;
background-image: url("../images/base/arr.svg");
background-repeat: no-repeat;
background-position: right top;
background-size:auto;
transition-duration: .2s;
}

section.event_area{
margin: 0 auto;
padding: 60px 0 60px 0;
position: relative;
text-align:center;
background-color:#f7f5f0;
}
ul.search_list{
margin: 0 0 20px;
padding: 0 0;
position: relative;
text-align:center;
display: flex;
align-items:center;
justify-content:space-between;
flex-wrap:wrap;
z-index:1;
}
ul.search_list li{
margin: 0 0 10px;
padding: 0 0;
position: relative;
text-align:center;
border-left:1px solid #aaa;
line-height: 15px;
width:33.333%;
}
ul.search_list li:nth-child(1){
border-left:0px solid #aaa;
width:100%;
padding: 0 0 0 0;
margin-right: 0 ;
}
ul.search_list li:nth-child(2){
border-left:0px solid #aaa;
}
ul.search_list li a{
margin: 0 auto;
padding: 0;
font-weight: normal;
font-size: 15px;
letter-spacing: 0.05em;
line-height: 15px;
text-align:center;
text-decoration:none;
}
.field_select{
margin: 0 0 0;
padding: 0 0;
position: relative;
width:100%;
background-color:#ecebe7;
}
.field_select select.select_style {
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
border:none;
box-sizing: border-box;
width:100%;
background-color:transparent;
margin: 0 0 0 0;
padding: 10px 0px;
position: relative;
font-weight: normal;
font-size: 15px;
letter-spacing: 0.05em;
line-height: 15px;
text-align:center;
white-space:nowrap;
}
.field_select:before {
content: '';
flex-shrink:0;
border-top:1px solid #000;
border-right:1px solid #000;
position:relative;
transform:rotate(135deg);
height:8px;
width:8px;
right:15px;
top:12px;
bottom:0;
position:absolute;

}
.field_select select:-moz-focusring {
color: transparent;
text-shadow: 0 0 0 #000;
}
.field_select select, option{
cursor: pointer;
}

ul.slide_arr{
margin: 0 0;
padding: 0 0;
position: absolute;
top:15px;
right:0;
display: flex;
align-items:center;
justify-content:flex-end;
z-index:1;
}
ul.slide_arr li{
margin: 0 5px;
padding: 0 0;
position: relative;
cursor: pointer;
}
ul.slide_arr li img{
width:35px;
filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.2));
}

.event_swiper{
margin-bottom:30px;
}
ul.event_list{
margin: 0 auto 0;
padding: 0 0;
position:relative;
text-align:center;
}
ul.event_list li{
margin: 0 0 0 0;
padding: 0 0;
position:relative;
text-align:left;
width:280px;

}
ul.event_list li a{
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index:999;
background-color:#FFF;
filter:alpha(opacity=0);
-moz-opacity: 0;
opacity: 0;
}
ul.event_list li .event_img{
margin: 0 auto;
padding: 0 0px;
position:relative;
text-align:center;
overflow: hidden;
}
ul.event_list li .event_img img{
width: 100%;
aspect-ratio: 1 / 1;
object-fit: cover;
vertical-align:top;
transition-duration: .3s;
}
ul.event_list li .event_box{
width:auto;
margin: 0 auto 0;
padding: 10px 0 0;
position:relative;
vertical-align:top;
box-sizing: border-box;
}
ul.event_list li .event_date{
margin: 0 0 5px;
padding: 0 0;
position:relative;
font-weight: normal;
font-size: 13px;
letter-spacing: 0.1em;
line-height: 1.5;
text-align: left;
color: #9b8c82;
}
ul.event_list li .event_txt{
margin: 0 0 10px;
padding: 0 0 0;
position:relative;
font-weight: normal;
font-size: 16px;
line-height: 1.5;
text-align: left;
}
ul.event_list li .event_cat{
margin: 0 0;
padding: 0 0;
position:relative;
text-align: left;
}
ul.event_list li .event_cat span{
margin: 0 2px 8px;
padding: 5px 8px;
position:relative;
display:inline-block;
font-weight: normal;
font-size: 12px;
letter-spacing: 0.05em;
line-height: 12px;
text-align: left;
color: #585858;
border:1px solid #333;
}
ul.event_list li .event_cat span.openhouse{
color: #fff;
background-color:#aa9d95;
border:1px solid #aa9d95;
}
ul.event_list li .event_cat span.consultation{
color: #fff;
background-color:#00008b;
border:1px solid #00008b;
}
ul.event_list li .event_cat span.renovation{
color: #fff;
background-color:#aa9d95;
border:1px solid #aa9d95;
}
ul.event_list li .event_cat span.campaign{
color: #fff;
background-color:#c9171e;
border:1px solid #c9171e;
}
ul.event_list li .event_cat span.venue_txt{
margin: 0 0 8px 2px;
padding: 5px 5px;
position:relative;
display:inline-block;
font-weight: normal;
font-size: 12px;
letter-spacing: 0.05em;
line-height: 12px;
text-align: left;
border:0px solid #333;
}

section.works_area{
margin: 0 auto;
padding: 60px 0 60px 0;
position: relative;
text-align:center;
background-color:#fff;
}
section.works_area h2.primary_tit{

}
section.works_area ul.slide_arr{
top:130px;
}
.works_swiper{
margin-bottom:30px;

}
ul.works_list{
margin: 0 0 70px 0;
padding: 0 0;
position:relative;
text-align:center;
display: flex;
align-items:stretch;
justify-content:space-between;
}
ul.works_list li{
margin: 0 0 0 0;
padding: 0 0;
position:relative;
text-align:left;
max-width:1140px;
letter-spacing:normal;
}
ul.works_list li a{
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index:999;
background-color:#FFF;
filter:alpha(opacity=0);
-moz-opacity: 0;
opacity: 0;
}
ul.works_list li .works_img{
margin: 0 auto;
padding: 0 0px;
position:relative;
text-align:center;
overflow: hidden;
}
ul.works_list li .works_img img{
width: 100%;
vertical-align:top;
transition-duration: .3s;
}
ul.works_list li .works_box{
margin: 0 auto;
padding: 0 0px;
position:relative;
}
ul.works_list li .works_cat{
margin: 10px 0 0;
padding: 0 0;
position:relative;
text-align: left;
}
ul.works_list li .works_cat span{
margin: 0 0 10px;
padding: 5px 5px;
position:relative;
display:inline-block;
font-weight: normal;
font-size: 10px;
letter-spacing: 0.05em;
line-height: 10px;
text-align: left;
border:1px solid #333;
}
ul.works_list li .works_txt{
margin: 0 0 15px;
padding: 0 1em 0 0;
position:relative;
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 500;
font-style: normal;
font-size: 26px;
line-height: 1.4;
text-align: left;
letter-spacing: 0;
}
ul.works_list li .works_data{
margin: 0 0 5px;
padding: 0 0;
position:relative;
font-weight: normal;
font-size: 10px;
letter-spacing: 0.05em;
line-height: 1.5;
text-align: left;
}
/* アクティブな（中央の）スライドの状態 */
.works_swiper .swiper-slide {
filter: brightness(30%);
transition: filter 0.3s, opacity 0.3s;
}
.works_swiper .swiper-slide-active {
filter: brightness(100%);
opacity: 1;
}

section.owner_area{
margin: 0 auto;
padding: 0px 0 120px 0;
position: relative;
text-align:center;
background-color:#fff;
}
section.owner_area h2.primary_tit{
z-index:10;
}
section.owner_area h2.primary_tit small{
display:block;
}
section.owner_area:before {
position: absolute;
top: 140px;
left: 120px;
width: 1000px;
height: 530px;
content: '';
background: #f7f5f0;
}
section.owner_area:after {
position: absolute;
bottom: 50px;
right: 70px;
width: 1000px;
height: 330px;
content: '';
background: #f7f5f0;
}
ul.owner_list{
margin: 0 auto 30px;
padding: 0 0;
position:relative;
text-align:center;
width:330px;
z-index:5;
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
ul.owner_list li{
margin: 0 0 30px 0;
padding: 0 0;
position:relative;
text-align:left;
letter-spacing:normal;
max-width:330px;
}
ul.owner_list li:nth-child(2),
ul.owner_list li:nth-child(3){
max-width:160px;
}
ul.owner_list li:nth-child(4){
	display:none;
}
ul.owner_list li .owner_img{
margin: 0 auto 15px;
padding: 0 0px;
position:relative;
text-align:center;
overflow: hidden;
}
ul.owner_list li .owner_img img{
width: 100%;
vertical-align:top;
}
ul.owner_list li .owner_box{
margin: 0 0 0;
padding: 0 0;
position:relative;
display: flex;
align-items:stretch;
justify-content:flex-start;
}
ul.owner_list li .owner_num{
margin: 0 5px 0 0;
padding: 0 0;
position:relative;
text-align: left;
flex-shrink: 0;
white-space:nowrap;
}
ul.owner_list li .owner_num span{
letter-spacing:0.05em;
font-size: 28px;
line-height: 28px;
font-family: "Baskervville", serif;
font-optical-sizing: auto;
font-weight: 600;
font-style: italic;
opacity:20%;
}
ul.owner_list li .owner_txt{
margin: 0 0 0;
padding: 0 0 0;
position:relative;
font-weight: 500;
font-style: normal;
font-size: 16px;
line-height: 1.5;
text-align: left;
letter-spacing: 0.00em;
flex-grow: 1;
}
ul.owner_list li a{
	text-decoration:none;
}
ul.owner_list li a:hover{
	text-decoration:none;
}
ul.owner_list li .owner_data{
margin: 5px 0 0;
padding: 0 0;
position:relative;
font-weight: normal;
font-size: 12px;
letter-spacing: 0.05em;
line-height: 1.5;
text-align: left;
display:block;
}

ul.owner_list li:nth-child(2) .owner_num span,
ul.owner_list li:nth-child(3) .owner_num span {
font-size: 18px;
line-height: 1.0;
}
ul.owner_list li:nth-child(2) .owner_txt,
ul.owner_list li:nth-child(3) .owner_txt{
	font-size: 12px;
	line-height: 1.5;
}

section.price_area{
margin: 0 auto;
padding: 60px 0 0 0;
position: relative;
text-align:center;
background-color:#282828;
background-image: url(../images/top/sp_price_bg_right.svg),url(../images/top/sp_price_bg_left.svg);
background-repeat: no-repeat,no-repeat;
background-position: right top, left top;
background-size: 54px auto,54px auto;
}
section.price_area h2.primary_tit{
margin: 0 auto 30px;
padding: 0 0 0;
position: relative;
text-align:center;
}
section.price_area h2.primary_tit em{
margin: 0 0;
padding: 0 0 0 0;
color:#fff;
font-size: 42px;
}
section.price_area h2.primary_tit small{
text-align:center;
color:#fff;
display:block;
}
section.price_area h3.h3_heading{
margin: 0 auto 60px;
padding: 0 0 0;
position: relative;
text-align:center;
color:#fff;
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 500;
font-style: normal;
font-size: 25px;
letter-spacing: 0.05em;
line-height: 1.6;
}
section.price_area h3.h3_heading small{
margin: 0 0 20px;
padding: 0 0 0;
position: relative;
text-align:center;
color:#fff;
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 500;
font-style: normal;
font-size: 17px;
letter-spacing: 0.00em;
line-height: 1.8;
display:block;
text-decoration:underline;
text-underline-offset: .7em;
text-decoration-thickness: 1px;
}
ul.price_list{
margin: 0 auto;
padding: 0 1px;
position:relative;
text-align:center;
}
ul.price_list li{
margin: 0 0 1px 0;
padding: 0 0;
position:relative;
text-align:left;
}
ul.price_list li a{
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index:999;
background-color:#FFF;
filter:alpha(opacity=0);
-moz-opacity: 0;
opacity: 0;
}
ul.price_list li .price_img{
margin: 0 auto;
padding: 0 0px;
position:relative;
text-align:center;
overflow: hidden;
}
ul.price_list li .price_img img{
width: 100%;
aspect-ratio: 1 / 1;
object-fit: cover;
vertical-align:top;
transition-duration: .3s;
}
ul.price_list li .price_txt{
margin: 0 0;
padding: 20px 10px;
background-color:#fff;
position:absolute;
top:0;
right:0;
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 500;
font-style: normal;
font-size: 26px;
line-height: 26px;
text-align: left;
letter-spacing: 0.15em;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
}
ul.price_list li .price_data{
margin: 0 0;
padding: 15px 15px;
position:absolute;
top:0;
left:0;
font-family: "Poppins", sans-serif;
font-weight: 500;
font-style: normal;
font-size: 12px;
letter-spacing: 0.05em;
line-height: 12px;
text-align: left;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
}

section.estate_area{
margin: 0 auto;
padding: 60px 0 60px 0;
position: relative;
text-align:center;
background-color:#f0eee6;
}
section.estate_area h2.primary_tit{
margin: 0 auto 20px;
padding: 0 0 0;
position: relative;
text-align:center;
}
section.estate_area h2.primary_tit em{
margin: 0 0;
padding: 0 0 0 0;
font-size: 42px;
}
section.estate_area h2.primary_tit small{
text-align:center;
display:block;
}
section.estate_area h3.h3_heading{
margin: 0 auto 30px;
padding: 0 0 0;
position: relative;
text-align:center;
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 600;
font-style: normal;
font-size: 18px;
letter-spacing: 0.05em;
line-height: 1.8;
}
ul.estate_list{
margin: 0 auto 5px;
padding: 0 0;
position:relative;
text-align:center;
display:inline-block;
}
ul.estate_list li{
margin: 0 0 20px 0;
padding: 0 0;
position:relative;
text-align:left;
max-width:330px;
}
ul.estate_list li a{
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index:999;
background-color:#FFF;
filter:alpha(opacity=0);
-moz-opacity: 0;
opacity: 0;
}
ul.estate_list li .estate_img{
margin: 0 auto;
padding: 0 0px;
position:relative;
text-align:center;
overflow: hidden;
}
ul.estate_list li .estate_img img{
width: 100%;
vertical-align:top;
transition-duration: .3s;
}
ul.estate_list li .estate_img::before {
content: "";
position: absolute;
top:0px;
left:0;
width: 100%;
height: 100%;
background: linear-gradient(to bottom, rgba(0,0,0,0.0) 0%, rgba(0,0,0,0.5) 100%);
}
ul.estate_list li .estate_box{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
}
ul.estate_list li .estate_cat{
margin: 0 0 10px;
padding: 0 0;
position:relative;
text-align: center;
font-family: "Poppins", sans-serif;
font-weight: 400;
font-style: normal;
font-size: 13px;
letter-spacing: 0.05em;
line-height: 13px;
color: #fff;
}
ul.estate_list li .estate_txt{
margin: 0 0 0;
padding: 0 0 0;
position:relative;
font-weight: 500;
font-style: normal;
font-size: 20px;
line-height: 1.4;
text-align: left;
letter-spacing: 0.15em;
color: #fff;
}
ul.estate_list li .estate_txt::before {
content: "";
position: absolute;
top:10px;
right:-30px;
width: 15px;
height: 15px;
background-image: url("../images/base/arr2.svg");
background-repeat: no-repeat;
background-position: right top;
background-size:15px auto;
transition-duration: .2s;
}
ul.area_search_list{
margin: 0 auto;
padding: 15px 0;
position:relative;
background-color:rgba(0,0,0,0.05);
display: flex;
align-items:center;
justify-content:center;
}
ul.area_search_list li{
margin: 0 0;
padding: 0 15px;
position:relative;
font-weight: 500;
font-style: normal;
font-size: 15px;
line-height: 15px;
text-align: left;
letter-spacing: 0.05em;
}
ul.area_search_list li:nth-child(3){
border-left:1px solid #555;
}
ul.area_search_list li a{
margin: 0 0;
padding: 0 0;
position:relative;
font-weight: 500;
font-style: normal;
font-size: 15px;
line-height: 15px;
text-align: left;
letter-spacing: 0.05em;
text-decoration:none;
}
ul.area_search_list li i{
margin: 0 0;
padding-right: 7px;
font-size: 19px;
line-height: 17px;
color:#90bb20;
}

section.model_area{
margin: 0 auto;
padding: 60px 0 60px 0;
position: relative;
text-align:center;
background-color:#fff;
}
section.model_area h2.primary_tit{
margin: 0 auto 20px;
padding: 0 0 0;
position: relative;
text-align:center;
}
section.model_area h2.primary_tit em{
margin: 0 0;
padding: 0 0 0 0;
font-size: 42px;
}
section.model_area h2.primary_tit small{
text-align:center;
display:block;
}
section.model_area h3.h3_heading{
margin: 0 auto 50px;
padding: 0 0 0;
position: relative;
text-align:center;
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 600;
font-style: normal;
font-size: 18px;
letter-spacing: 0.05em;
line-height: 1.6;
}
section.model_area h3.h3_heading small{
font-size: 14px;
}
.area_section{
margin: 0 0 50px 0;
padding: 0 0;
position:relative;
text-align:center;
}
.area_section ul.slide_arr{
top:-15px;
}
.model_swiper{
margin-bottom:0;
}
ul.model_list{
margin: 0 0 0px 0;
padding: 0 0;
position:relative;
text-align:center;
display: flex;
align-items:stretch;
justify-content:space-between;

}
ul.model_list li{
margin: 0 0 0px 0;
padding: 0 0;
position:relative;
text-align:left;
max-width:280px;
}
ul.model_list li a{
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index:999;
background-color:#FFF;
filter:alpha(opacity=0);
-moz-opacity: 0;
opacity: 0;
}
ul.model_list li .model_img{
margin: 0 auto 25px;
padding: 0 0px;
position:relative;
text-align:center;
overflow: hidden;
}
ul.model_list li .model_img img{
width: 100%;
vertical-align:top;
transition-duration: .3s;
}
ul.model_list li .model_box{
margin: 0 auto;
padding: 0 0px;
position:relative;
text-align:left;
}
ul.model_list li .model_cat{
margin: 0 0 15px;
padding: 0 0 20px;
position:relative;
text-align: left;
font-weight:500;
font-style: normal;
font-size: 18px;
letter-spacing: 0.05em;
line-height: 18px;
border-bottom:1px solid #ccc;
}
ul.model_list li .model_cat small{
margin: 0 0 10px;
padding: 0 0;
position:relative;
text-align: left;
font-family: "Noto Serif JP", serif;
font-weight: 600;
font-style: normal;
font-size: 13px;
letter-spacing: 0.01em;
line-height: 13px;
display:block;
}
ul.model_list li .model_data{
margin: 0 0 0;
padding: 0 0 0;
position:relative;
text-align: left;
}
ul.model_list li .model_data small{
margin: 0 0 10px;
padding: 0 0 0;
position:relative;
font-weight: 500;
font-style: normal;
font-size: 13px;
line-height: 13px;
text-align: left;
letter-spacing: 0.02em;
display:block;
}
ul.model_list li .model_data em{
margin: 0 0 10px;
padding: 0 0 0;
position:relative;
font-weight: 500;
font-style: normal;
font-size: 13px;
line-height: 13px;
text-align: left;
letter-spacing: 0.05em;
color:#90bb20;
}
ul.model_list li .model_data em i{
padding-right: 4px;
font-size: 16px;
line-height: 14px;
}

section.concept_area{
margin: 0 auto;
padding: 60px 0 40px 0;
position: relative;
text-align:center;
background-color:#f7f5f0;
}
section.concept_area h2.primary_tit{
margin: 0 auto 20px;
}
.concept_column{

}
ul.concept_list{
margin: 0 auto 0;
padding: 0 0;
position:relative;
text-align:left;
max-width:330px;
}
ul.concept_list li{
margin: 0 0 30px;
padding: 0 0 0;
position:relative;
text-align: left;
}
ul.concept_list li a{
margin: 0 0 0;
padding: 0 0 ;
position:relative;
text-align: left;
display:block;
text-decoration:none;
display: flex;
align-items:stretch;
justify-content:flex-start;
flex-wrap:wrap;
}
ul.concept_list li a img{
margin: 0 0 15px;
padding: 0 0 ;
position:relative;
text-align: center;
display:block;
width:100%;
}
ul.concept_list li a em{
margin: 0 0 0;
padding: 0 0;
position:relative;
text-align: left;
font-family: "Baskervville", serif;
font-optical-sizing: auto;
font-weight: 500;
font-style: italic;
font-size: 28px;
line-height: 28px;
letter-spacing: 0.05em;
color:rgba(0,0,0,0.15);
flex-shrink: 0;
}
ul.concept_list li a span{
margin: 0 0 0;
padding: 8px 0 0 20px;
position:relative;
text-align: left;
flex-grow: 1;
}
ul.concept_list li a span small{
margin: 0 0 10px;
padding: 0 0;
position:relative;
text-align: left;
display:block;
font-family: "Poppins", sans-serif;
font-weight: 500;
font-style: normal;
font-size: 12px;
line-height: 12px;
letter-spacing: 0.05em;
color:#90bb20;
}
ul.concept_list li a span strong{
margin: 0 0 15px;
padding: 0 0;
position:relative;
text-align: left;
display:block;
font-weight: 500;
font-style: normal;
font-size: 22px;
line-height: 28px;
letter-spacing: 0.05em;
}
ul.concept_list li a span b{
margin: 0 0 0;
padding: 0 0;
position:relative;
text-align: left;
display:block;
font-weight: 500;
font-style: normal;
font-size: 14px;
line-height: 1.7;
letter-spacing: 0.05em;
}
ul.concept_list li a span b::before {
content: "";
position: absolute;
top:25px;
right:10px;
width: 15px;
height: 15px;
background-image: url("../images/base/arr.svg");
background-repeat: no-repeat;
background-position: right top;
background-size:auto;
transition-duration: .2s;
}

.concept_p{
display:none;
}

section.blog_area{
margin: 0 auto;
padding: 60px 0 60px 0;
position: relative;
text-align:center;
background-color:#fff;
}
.blog_swiper{
margin-bottom:30px;
}

section.about_area{
margin: 0 auto;
padding: 60px 0 60px 0;
position: relative;
text-align:center;
background-color:#282828;
}
section.about_area h2.primary_tit{
margin: 0 auto 40px;
padding: 0 0 0;
position: relative;
text-align:center;
}
section.about_area h2.primary_tit em{
margin: 0 0;
padding: 0 0 0 0;
color:#fff;
font-size: 42px;
}
section.about_area h2.primary_tit small{
text-align:center;
color:#fff;
display:block;
}
ul.about_list{
margin: 0 auto 0px;
padding: 0 0;
position:relative;
text-align:center;
display:inline-block;
}
ul.about_list li{
margin: 0 0 30px 0;
padding: 0 0;
position:relative;
text-align:left;
max-width:330px;
}
ul.about_list li a{
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index:999;
background-color:#FFF;
filter:alpha(opacity=0);
-moz-opacity: 0;
opacity: 0;
}
ul.about_list li .about_img{
margin: 0 auto 10px;
padding: 0 0px;
position:relative;
text-align:center;
overflow: hidden;
}
ul.about_list li .about_img img{
width: 100%;

object-fit: cover;
vertical-align:top;
transition-duration: .3s;
}

ul.about_list li .about_txt{
margin: 0 0;
padding: 0 0 0;
position:relative;
font-weight: normal;
font-size: 15px;
line-height: 1.5;
text-align: center;
color:#fff;
}
ul.about_link_list{
margin: 0 auto 0;
padding: 0 0;
position:relative;
text-align:left;
}
ul.about_link_list li{
margin: 0 0 0;
padding: 0 0 0;
position:relative;
text-align: left;
border-bottom:2px solid #a3a3a3;
width:100%;
}
ul.about_link_list li a{
margin: 0 0 0;
padding: 20px 0 20px;
position:relative;
text-align: left;
display:block;
text-decoration:none;
}
ul.about_link_list li a small{
margin: 0 0 10px;
padding: 0 0;
position:relative;
text-align: left;
display:block;
font-family: "Poppins", sans-serif;
font-weight: 500;
font-style: normal;
font-size: 11px;
line-height: 11px;
letter-spacing: 0.1em;
color:#fff;
}
ul.about_link_list li a em{
margin: 0 0 0;
padding: 0 0 0 ;
position:relative;
text-align: left;
display:block;
font-weight: 500;
font-style: normal;
font-size: 16px;
line-height: 16px;
letter-spacing: 0.1em;
color:#fff;
}
ul.about_link_list li a::before {
content: "";
position: absolute;
bottom:20px;
right:10px;
width: 15px;
height: 15px;
background-image: url("../images/base/arr2.svg");
background-repeat: no-repeat;
background-position: right top;
background-size:15px auto;
transition-duration: .2s;
opacity:0.5;
}

}


/* ===========================
 TOP_PAGE KV_VIDEO設定
=========================== */
@media (max-width:374px) {
section.kv .video video{
width: auto;
height: 100%;
}
}