@charset "utf-8";
/* CSS Document */
#cnt_scroll {
    position: absolute;
    bottom: 0;
	right: 5.3%;
    margin: auto;
    width: 27px;
}
.top_scrool {
    writing-mode: vertical-rl;
    color: #FFFFFF;
    font-size: 15px;
    padding-bottom: 85px;
}
#cnt_scroll a {
    display: block;
	text-decoration: none;
}
.top_scrool span:before {
    content: "";
    position: absolute;
    background: #FFFFFF;
    width: 1px;
    height: 75px;
    bottom: 0;
    display: block;
    box-shadow: #000000 0 0 8px;
    left: calc(50% - -1px);
}
.top_scrool span:after {
    position: absolute;
    content: "";
    background: #2D5748;
    width: 2px;
    height: 36px;
    left: calc(50% - -1px);
    display: block;
    opacity: 1;
    animation-name: top_scroll;
    animation-duration: 2s;
    animation-timing-function: ease;
    animation-iteration-count: infinite;
}
@keyframes top_scroll{
	0%{ transform:translateY(67px); }
	100%{ transform:translateY(143px); }
}
.img_txt::after {
    content: "※写真は住友不動産より提供";
    position: absolute;
    color: #FFF;
    bottom: 20px;
    right: 8%;
	font-size: 0.875rem;
}
.top_btn{
	max-width: 306px;
    margin: auto;
}
.top_btn a{
	display: block;
	border: solid 1px #2D5748;
	color: #2D5748;
    width: fit-content;
    height: 100%;
    overflow: hidden;
    position: relative;
    letter-spacing: 1.4px;
    border-radius: 44px;
	text-decoration: none;
	padding: 15px 55px;
	background-color: #FFF;
	font-weight: 500;
}
.top_btn a::before{
	content: url("../images/icon/top_btn.svg");
    position: absolute;
    right: 19px;
	z-index: 1;
	top: 0;
    bottom: 0;
    margin: auto;
	height: 23px;
}
.top_btn a::after{
    content: "";
    width: 0;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    background: #D1B68A;
    transition: width .5s ease-in-out,left .5s ease-in-out;
    z-index: 0;
    border-radius: 50px;
}
.top_btn a:hover::after {
    width: 100%;
    left: 0;
}
.top_btn a span{
	position: relative;
	z-index: 1;
}

.ttl_en{
	font-family: "trajan-pro-3", serif;
	font-weight: 700;
	font-size: 0.75rem;
	color: #8F7F6F;
	text-align: center;
	max-width: fit-content;
    margin: auto;
	padding: 0 40px;
	position: relative;
	letter-spacing: 2.5px;
}
.ttl_en::before,
.ttl_en::after {
    content: "";
	position: absolute;
    width: 25px;
    height: 1px;
    background-color: #8F7F6F;
	top: 10.5px;
}
.ttl_en::before{
	left: 0;
}
.ttl_en::after{
	right: 0;	
}
.top_h2{
	font-size: 2rem;
	color: #2D5748;
	text-align: center;
	letter-spacing: 2.5px;
	padding: 2px 10px 45px;
	font-weight: 600;
}
#top_cnt{
	overflow: hidden;
}
/* main slider */
#main_visual{
	position: relative;
	overflow: hidden;
	width: 100%;
    height: calc(100vh - 100px);
	min-height: 630px;
}
#main_visual .slick-slide img{
	width: 100%;
    height: calc(100vh - 100px);
	object-fit: cover;
	line-height: 0;
	min-height: 630px;
}
#main_visual .slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
	line-height: 0;
}
#main_visual .slick-slide p,
#main_visual .slick-slide div{
	line-height: 0;	
}
#main_visual .slick-initialized .slick-slide {
    display: block;
}
#main_visual .top_catch{
	position: absolute;
	z-index: 10;
    right: 141px;
    width: fit-content;
    margin: auto;
    top: 20%;
}
#main_visual .top_bnr{
	position: absolute;
	max-width: 306px;
	background-color: rgba(254,255,244,90%);
	border-radius: 5%;
	padding: 16px 10px 30px;
	z-index: 10;
	text-align: center;
	left:47px;
    bottom: 40px;
	transform: translateY(100%);
    height: fit-content;
    margin: auto;
	animation: bnr 1.5s ease forwards;
}
@keyframes bnr {
0% {
	transform: translateY(100%);
	opacity: 0;
	}
100% {
	transform: translateY(0);
	opacity: 1;
	}
}
#main_visual .top_bnr p:first-child{
	line-height: 2;
	margin-bottom: 5px;
}
#main_visual .top_bnr p:nth-child(3){
	margin: 12px auto 5px;
}
#main_visual .top_bnr .top_btn{
	max-width: 233px;
    margin: 10px auto 0;
}
#main_visual .top_bnr .top_btn a{
	letter-spacing: 1.6px;
	text-align: left;
}
#main_visual .top_bnr .bnr_txt{
    font-size: 0.875rem;
    color: #2D5748;
    text-align: left;
    margin: 5px auto 0;
    width: fit-content;
    padding-left: 12px;
}
/* top_contact */
#top_contact{
	background: url(../images/top/contact_bg.webp) center/cover no-repeat;
	padding: 93px 10px 90px;
}
#top_contact h2{
	font-size: 1.5625rem;
	color: #FFF;
	text-align: center;
	letter-spacing: 2.5px;
	padding: 0 10px;
	font-weight: 600;
}
#top_contact .contact_box{
	background-color: #F9F8F6;
	border-radius: 15px;
	margin: 20px auto 0;
	max-width: 864px;
	padding: 51px 0 34px;
}
#top_contact .contact_box > p:first-child{
	text-align: center;
	color: #2D5748;
	font-size: 0.875rem;
	letter-spacing: 1.4px;
    line-height: 1.8;
	margin-bottom: 20px;
	font-weight: 500;
}
#top_contact .contact_box .top_btn{
	max-width: 234px;
	width: fit-content;
}
/* top_news */
#top_news{
	background-color: #F2EEEA;
	position: relative;
	padding: 94px 10px 98px;
}
#top_news::before {
    content: "";
    display: block;
    position: absolute;
    background: url("../images/top/news_bg.png") center/cover no-repeat;
    width: 100%;
	height: 165px;
    top: 0;
    left: 0;
}
#top_news > p,
#top_news > h2,
#top_news > div{
	position: relative;
	z-index: 1;
}

#top_news li.btn_off{
	display: none !important;
}
#top_news label{
	display: block;	
}
#top_news input + .tab_item{
	font-weight: bold;
	margin-bottom: 34px;
	font-size: 1.25rem;
	color: #B4AD9A;	
	letter-spacing: 2px;
	cursor: pointer;
}
#top_news input:first-child + .tab_item{
	padding-top: 34px;
}
#top_news input:checked + .tab_item{
	color: #2D5748;	
}
#top_news input + .tab_item::before{
	content: "・";
	color: #B4AD9A;
    padding-right: 8px;
}
#top_news input:checked + .tab_item::before{
	content: "・";
	color: #2D5748;
}
#top_news input:focus-visible + .tab_item::after{
	content: "";
    width: 30%;
    position: absolute;
    height: 6%;
    left: 0;
    outline: 2px solid #000;
    border-radius: 7px;
	z-index: 1;
}
input[name="news_tab_item"] {
	filter: alpha(opacity=0);
    -moz-opacity: 0;
    opacity: 0;
    -webkit-appearance: none;
    appearance: none;
    position: absolute;
}
#top_news .news_tabs{
	max-width: 864px;
	width: 100%;
	margin: auto;
	min-height: 600px;
}
#top_news .top_btn{
    position: absolute;
    top: 390px;
	max-width: 200px;
}
#top_news .top_btn a{
	padding: 15px 54px 15px 39px;
}
#top_news .news_btn{
	float: left;
    max-width: 330px;
    width: 100%;
}
#top_news .news_list{
    float: left;
    top: 0;
    right: 0;
	max-width: 534px;
	width: 100%;	
}
#top_news .news_list{
	display: none;
}
#top_news .news_list.box_on{
	display: block;
}
#top_news ul{
	overflow: hidden;
}
#top_news ul{
	border-top: dotted 1px #A8A8A8;	
}
#top_news ul li a {
	display: block;
    position: relative;
	text-decoration: none;
	color: #50402E;
	padding: 30px 73px 30px 0;
	border-bottom: dotted 1px #A8A8A8;
}
#top_news ul li a div{
	display: flex;
    align-items: center;
	gap:12px;
	margin-bottom: 5px;
}
#top_news ul li a::after{
	content: "";
    height: 1px;
    width: 100%;
    position: absolute;
	transition: all 0.3s ease;
}
#top_news ul li a::after{
    background-color: #2D5748;
    bottom: -1px;
	right: 100%;
}
#top_news ul li a:hover::after{
	right: 0;
	transition: all 0.8s ease;
}
#top_news ul li a::before{
	content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="12.902" viewBox="0 0 20 12.902"><rect width="14" height="1" transform="translate(0 5.951)" fill="%2388AE88"/><g transform="translate(10.311 0)"><path d="M3.687,6.452h6L0,12.9Zm0,0L0,0,9.689,6.45Z" transform="translate(0)" fill="%2388AE88"/></g></svg>');
    position: absolute;
    right: 53px;
	top: 0;
    bottom: 0;
    margin: auto;
	height: 23px;
	transition: all .6s ease-in-out;
}
#top_news ul li a:hover::before{
	content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="12.902" viewBox="0 0 20 12.902"><rect width="14" height="1" transform="translate(0 5.951)" fill="%232d5748"/><g transform="translate(10.311 0)"><path d="M3.687,6.452h6L0,12.9Zm0,0L0,0,9.689,6.45Z" transform="translate(0)" fill="%232d5748"/></g></svg>');
	right: 13px;
	transition: all .6s ease-in-out;
}
#top_news ul li p{
	/*font-family: Yu Gothic,"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;*/
	letter-spacing: 0.8px;
}
#top_news ul li .category_coler{
	min-width: 115px;
	font-weight: 400;
	color:#FFF;
	text-align: center;
	font-size: 0.8125rem;
	letter-spacing: 2px;
	padding: 4px 0 3px;
}
#top_news li.soyou-news .category_coler{
	background-color: #3B8758;
}
#top_news li.takadobashi-news .category_coler{
	background-color: #E0AC9F;
}
#top_news li.dainirinkai-news .category_coler{
	background-color: #36639B;
}
#top_news li.sinzyuku-news .category_coler{
	background-color: #754E39;
	letter-spacing: 0;
}
#top_news ul li .category_coler + p{
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.6px;
}
/* loopslide */
.loopslide {
position: relative;
display: flex;
flex-flow: row nowrap;
width: 100%;
overflow: hidden;
}
.loopslide ul {
display: flex;
flex-flow: row nowrap;
margin: 0;
padding: 0;
}
.loopslide li {
display: inline-block;
min-width: 455px;
list-style: none;
text-align: center;
}
.loopslide li img {
display: block;
width: 100%;
height: auto;
}
.loopslide ul:first-child {
animation: loop 320s -160s linear infinite;
backface-visibility: hidden;
will-change: transform;
}
.loopslide ul + ul {
animation: loop2 320s linear infinite;
}

@keyframes loop {
0% {
transform: translateX(100%);
}
to {
transform: translateX(-100%);
}
}
@keyframes loop2 {
0% {
transform: translateX(0);
}
to {
transform: translateX(-200%);
}
}
/* top_search */
#top_search{
	background: url("../images/top/search_bg.png") top center;
	position: relative;
	padding: 94px 10px 100px;
	overflow: hidden;
}
#top_search .top_h2 + p{
	font-size: 0.875rem;
	margin: auto;
	max-width: 860px;
    color: #5C5855;
    letter-spacing: 1.4px;
    line-height: 1.88;
	font-weight: 600;
}
#top_search .s_content,
#top_search .s_feature{
	display: none;
}
#content_search:checked ~ div > div > div > div.s_content,
#feature_search:checked ~ div > div > div > div.s_feature,
#content_search:checked ~ div > div > a > div > div.s_content,
#feature_search:checked ~ div > div > a > div > div.s_feature{
	display: flex;
	margin-top: 5px;
}
#top_search .tabs{
	max-width: 864px;
	margin: 44px auto 0;
	position: relative;
	z-index: 1;
}
#top_search .tab_item {
    width: calc(50% - 2px);
    height: 63px;
    background-color: #CCDECC;
	color: #2D5748;
    text-align: center;
    display: block;
    float: left;
    transition: all .4s;
    line-height: 3.9375rem;
	border-radius: 6px 6px 0 0;
	font-weight: bold;
	position: relative;
	letter-spacing: 1.5px;
	cursor: pointer;
}
#top_search .tab_content{
	margin-right: 2px;
}
#top_search .tab_feature{
	margin-left: 2px;
}
#top_search .tabs input:checked + .tab_item {
  background-color: #2D5748;
  color: #FFFFFF;
}
#top_search .tabs input:focus-visible + .tab_item:before{
	content: "";
    width: 100%;
    position: absolute;
    height: 100%;
    left: 0;
    outline: 2px solid #000;
    border-radius: 7px;
	z-index: 1;
}
#top_search .tabs input + .tab_item::after{
	content: "";
	opacity: 0;
    transition: opacity .4s;	
}
#top_search .tabs input:checked + .tab_item::after{
	content: "";
	border-top: 19.03px solid #2D5748;
	border-left: 11px solid transparent; 
	border-right: 11px solid transparent; 
	height: 0;
	width: 0;
	position: absolute;
	left: 0;
    right: 0;
    margin: auto;
    bottom: -9px;
	opacity: 1;
	z-index: -1;
}
input[name="tab_item"] {
	filter: alpha(opacity=0);
    -moz-opacity: 0;
    opacity: 0;
    -webkit-appearance: none;
    appearance: none;
    position: absolute;
}
#top_search .tab_cnt{
	clear: both;
	border-top: solid 2px #2D5748;
	padding-top: 41px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap:41px 0;
}
#top_search .tab_cnt > div{
	border:solid 7px #88AE88;
	display: flex;
	max-width: 411px;
	width: 100%;
	gap: 10px;
	box-shadow: 0 0 10px 0 rgb(181 159 115 / 50%);
	background: #FFF;
}
#top_search .tab_cnt > div > a{
	display: flex;
	text-decoration: none;
	gap: 10px;
}
#top_search .tab_cnt > div > a > div,
#top_search .tab_cnt > div > div{
	padding: 30px 20px;
}
#top_search .tab_cnt > div > a > p,
#top_search .tab_cnt > div > p{
	line-height: 0;
}
#top_search .tab_cnt > div img{
	object-fit: cover;
	height: 100%;
	width: 146px;
}
#top_search .tab_cnt h3{
	color: #2D5748;
	font-size:  1.25rem;
	line-height: 1.2;
	margin-bottom: 11px;
	font-weight: 600;
}
#top_search .tab_cnt p{
	/*font-family: Yu Gothic,"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;*/
	font-weight: 500;
}

#top_search .tab_cnt h3 + p{
	font-size: 0.8125rem;
	font-weight: 500;
	color: #5C5855;
}
#top_search .s_feature,
#top_search .s_content{
	flex-wrap: wrap;
    gap: 4px;
}
#top_search .s_feature p:nth-child(1){
	font-size: 0.875rem;
	width: 100%;
	line-height: 1.4;
	margin-bottom: 5px;
}
#top_search .s_feature p:nth-child(n+2),
#top_search .s_content p{
	font-size: 0.75rem;
	color: #50402E;
	background-color: #F2F0EA;
	padding: 0 8px;
	max-width: fit-content;
	border-radius: 50px;
	letter-spacing: 1px;
}
#top_search .box{
  opacity: 0;
}
#top_search .fadeUp {
	animation-name:fadeUpAnime;
	animation-duration:0.6s;
	animation-fill-mode:forwards;
	opacity: 0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}
#top_search .tab_cnt > div:nth-child(2){
	animation-delay: 0.2s;	
}
#top_search .tab_cnt > div:nth-child(3){
	animation-delay: 0.4s;	
}
#top_search .tab_cnt > div:nth-child(4){
	animation-delay: 0.6s;	
}
#top_search .tab_cnt > div:nth-child(5){
	animation-delay: 0.8s;	
}
/* top_link */
#top_link{
	background: url(../images/top/top_link_bg.webp) center/cover no-repeat;	
	padding: 90px 10px;
}
#top_link .pc_link{
	display: flex;
	justify-content: center;
	gap:29px;
}
#top_link .top_faq,
#top_link .top_recruit{
	width: 100%;
	height: 214px;
	box-shadow: 0 0 10px 0 rgb(181 159 115 / 100%);
	display: flex;
	align-items: center;
	justify-content: center;
}
#top_link a{
	text-decoration: none;
	color: #5C5855;
	letter-spacing: 2px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
#top_link .top_faq{
	max-width: 266px;
	background: url(../images/top/faq_bg.png) center no-repeat;
}
#top_link .top_recruit{
	max-width: 569px;
}
#top_link .top_recruit img{
	width: 100%;
}
#top_link .top_recruit a{
    transition: all .3s ease-in-out;
}
#top_link .top_recruit a:hover{
	opacity: 0.8;
}
#top_link .sp_link > div a,
#top_link .top_faq a > div{
	background-color: #FFF;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	height: 98px;
	position: relative;
	transition: all .3s ease-in-out;
}
#top_link .sp_link > div a:hover,
#top_link .top_faq a:hover > div{
	background-color: rgba(255,255,255,70%);
}
#top_link .top_faq a{
	font-weight: 600;
}
#top_link .top_faq a > div{
	padding: 0 29px;	
}
#top_link .sp_link > div a::after,
#top_link .top_faq a > div::after{
	content: "";
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6.5px 6.5px 6.5px 6.5px;
    border-color: transparent #88AE88 #2D5748 transparent;
    bottom: 6px;
    right: 6px;
}
#top_link .sp_link > div a::before,
#top_link .top_faq a > div::before{
	content: "";
    position: absolute;	
	transform: skewX(-15deg);
    width: 5px;
    height: 16px;
    margin:0 auto;
    background-color:#3B8758;
	top:-5px;
	left: 7px;
}
#top_link .sp_link {
	display: none;
}
/* bg_2 */
.top_bg2{
	background: url(../images/top/top_bg2.webp) center/cover no-repeat;
    position: relative;
    padding-top: 500px;
}
.top_bg2::after {
    content: "※写真は住友不動産より提供";
    position: absolute;
    color: #FFF;
    bottom: 5px;
    right: 2%;
	font-size: 0.875rem;
}
/*印刷設定*/
@media print {
	#top_search .box{
		opacity: 1;
	}
	#top_search .fadeUp{
		opacity: 1;
		animation: none;
	}
	#top_search .fadeUp{
		opacity: 1;
	}
	#main_visual .top_bnr{
		opacity: 1;
		transform: translateY(0);
		animation: none;
	}
	.loopslide{
		flex-flow: inherit;
		width: 100%;
	}
	.loopslide ul + ul,
	.loopslide ul:first-child{
		animation: none;
		flex-flow: inherit;
		backface-visibility: visible;
	}
	#main_visual {
    	height: 700px;
	}
	#main_visual .slick-slide img{
		height: 700px;
	}
}
