@charset "utf-8";

img{
	max-width: 100%;
	height: auto;
}
.top_txt p{
	letter-spacing: 0.15em;
	line-height: 1.7;
	margin-bottom: 0;
}

/**************************
/* TOP NEWS
**************************/
#t_news{
	width: 100%;
	position: relative;
}
#t_news::after{
	position: absolute;
	content: "";
	width: 94.87%;
	height: 1px;
	background-color: rgba(204,204,204,0.5);
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.t_news_inner{
	width: 84.61%;
	margin-right: auto;
	margin-left: auto;
	padding: 2.64rem 0 2.46rem;
}
.t_news_inner a{
	display: block;
	color: #000;
	transition: .3s;
}
.t_news_inner a:hover{
	text-decoration: none;
	opacity: 0.7;
}
.tn_cat{
	font-size: 1rem;
	line-height: 1;
	letter-spacing: 0.02em;
	margin-bottom: 0.83rem;
}
.tn_dt{
	display: flex;
	align-items: center;
	font-size: 0.84rem;
	letter-spacing: 0;
}
.tn_dt .f-int{
	margin-right: 25px;
	margin-bottom: 0;
}
.tn_dt .tit{
	margin-bottom: 0;
}
@media screen and (min-width: 768px){
	#t_news::after{
		width: 94.11%;
	}
	.t_news_inner{
		width: 94.11%;
	}
	.t_news_inner a{
		display: inline-flex;
		align-items: center;
	}
	.tn_cat{
		margin-right: 40px;
		margin-bottom: 0;
	}
}
@media screen and (min-width: 1200px){
	.t_news_inner{
		padding: 2.06rem 0 2.13rem;
	}
	.tn_cat{
		font-size: 1.06rem;
		margin-right: 56px;
	}
	.tn_dt{
		font-size: 0.86rem;
	}
	.tn_dt .f-int{
		margin-right: 35px;
	}
}

/**************************
/* EVENT
**************************/
#t_event{
	margin-top: 6.53rem;
}
.te_titblock{
	width: 84.61%;
	margin-right: auto;
	margin-left: auto;
	display: flex;
	justify-content: space-between;
	margin-bottom: 3.03rem;
}
.te_titblock .c-title1{
	margin-top: -0.6rem;
	margin-bottom: 0;
}
.te_content{
	width: calc(100% - 7.695%);
	margin-left: auto;
}
.te_block .slick-list{
	padding-right: 5.55%;
}
.te_item{
	padding-right: 60px;
	position: relative;
}
.te_item::after{
	position: absolute;
	content: "";
	width: 1px;
	height: 100%;
	top: 0;
	right: 30px;
	background-color: rgba(200,200,200,0.5);
}
.te_item a{
	display: block;
}
.te_item a:hover{
	text-decoration: none;
}
.ev_arrow{
	display: inline-flex;
}
@media screen and (min-width: 768px){
	#t_event{
		display: flex;
		width: calc(100% - 8.825%);
		margin-left: auto;
	}
	.te_titblock{
		width: 20%;
		margin: 0;
		flex-direction: column;
	}
	.te_titblock .c-title1{
		margin-bottom: 5rem;
	}
	.te_content{
		width: 80%;
		margin: 0;
	}
}
@media screen and (min-width: 992px){
	.te_titblock{
		width: 17.74%;
	}
	.te_content{
		width: 82.26%;
	}
}
@media screen and (min-width: 1200px){
	.te_block .slick-list{
		padding-right: 10.58%;
	}
}

/**************************
/* CONCEPT
**************************/
#t_concept{
	position: relative;
	margin-top: 8.63rem;
	padding-top: 7.23rem;
}
#t_concept::before{
	position: absolute;
	content: "";
	width: 94.87%;
	height: 1px;
	background-color: rgba(150,150,150,0.5);
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.tc_main_txt .vm{
	margin-top: 3.61rem;
}
@media screen and (min-width: 768px){
	#t_concept::before{
		width: 94.11%;
	}
}
@media screen and (min-width: 1200px){
	#t_concept{
		padding-top: 11.53rem;
		margin-top: 11.8rem;
	}
	.tc_main_txt .vm{
		margin-top: 3rem;
	}
}

/**************************
/* SPEC
**************************/
#t_spec{
	position: relative;
	margin-top: 7.69rem;
	padding-top: 5.769rem;
}
#t_spec::before{
	position: absolute;
	content: "";
	width: 94.87%;
	height: 1px;
	background-color: rgba(150,150,150,0.5);
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
#t_spec .txt_block{
	width: 84.61%;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 3.246rem;
	text-align: center;
}
.t_spec_list{
	width: 84.61%;
	max-width: 1300px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 2.67rem;
	position: relative;
}
.t_spec_list::before, .t_spec_list::after{
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	left: 0;
	background-color: rgba(225,225,225,0.5);
	z-index: 1;
}
.t_spec_list::before{
	top: 0;
}
.t_spec_list::after{
	bottom: 0;
}
.t_spec_list li{
	list-style: none;
	width: calc(100% / 3);
	position: relative;
}
.t_spec_list li a{
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	position: relative;
	color: #000;
	aspect-ratio: 4 / 3;
	transition: .3s;
	background-color: #000;
}
.t_spec_list li a:hover{
	text-decoration: none;
	background-color: rgba(150,150,150,0.1);
}
.tspec_no{
	position: absolute;
	top: 13.48%;
	left: 50%;
	transform: translateX(-50%);
	font-size: 1rem;
	letter-spacing: 0.02em;
	line-height: 1;
	color: #fff;
	transition: .3s;
}
.tspec_tit{
	font-size: 1.1538rem;
	letter-spacing: 0.02em;
	margin-bottom: 0;
	color: #fff;
	transition: .3s;
}
.tspec_tit span{
	display: block;
	color: #8c8c8c;
	font-size: 0.769rem;
	transition: .3s;
}
a:hover .tspec_no{
	color: #000;
}
a:hover .tspec_tit{
	color: #000;
}
a:hover .tspec_tit span{
	color: #646464;
}
@media screen and (min-width: 768px){
	.t_spec_list{
		display: flex;
	}
.t_spec_list li:not(:first-child)::before{
	position: absolute;
	content: "";
	width: 1px;
	height: 100%;
	background-color: rgba(225,225,225,0.5);
	z-index: 1;
	top: 0;
	left: 0;
}
	.tspec_no{
		font-size: 1.3rem;
	}
	.tspec_tit{
		font-size: 1.3rem;
	}
	.tspec_tit span{
		font-size: 0.84rem;
	}
}
@media screen and (min-width: 992px){
	.t_spec_list li a{
		aspect-ratio: 8 / 5;
	}	
}
@media screen and (min-width: 1200px){
	#t_spec{
		margin-top: 12.46rem;
		padding-top: 9.333rem;
	}
	#t_spec .txt_block{
		margin-bottom: 4.166rem;
	}
	.t_spec_list{
		margin-bottom: 4.066rem;
	}
	.tspec_no{
		font-size: 1.8rem;
	}
	.tspec_tit{
		font-size: 1.8rem;
	}
	.tspec_tit span{
		font-size: 1rem;
		margin-top: 0.133rem;
	}
}
@media screen and (min-width: 1400px){
	.t_spec_list li a{
		aspect-ratio: 80 / 43;
	}
}
@media screen and (max-width: 767px){
	.t_spec_list{
		flex-wrap: wrap;
	}
	.t_spec_list li{
		width: 100%;
	}
	.t_spec_list li:nth-child(3)::before{
		content: none;
	}
	.t_spec_list li:nth-child(1)::after, .t_spec_list li:nth-child(2)::after{
		position: absolute;
		content: "";
		width: 100%;
		height: 1px;
		bottom: 0;
		left: 0;
		background-color: rgba(225,225,225,0.5);
		z-index: 1;
	}
	.t_spec_list li a{
		aspect-ratio: 8 / 3;
	}
	.tspec_no{
		font-size: 1.15rem;
	}
	.tspec_tit{
		font-size: 1.38rem;
	}
	.tspec_tit span{
		font-size: 0.84rem;
	}
}

/**************************
/* WORKS
**************************/
#t_works{
	position: relative;
	margin-top: 7.69rem;
	padding-top: 7.69rem;
}
#t_works::before{
	position: absolute;
	content: "";
	width: 94.87%;
	height: 1px;
	background-color: rgba(150,150,150,0.5);
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.tw_titblock{
	width: 84.61%;
	margin-right: auto;
	margin-left: auto;
	display: flex;
	justify-content: space-between;
	margin-bottom: 3.03rem;
}
.tw_titblock .c-title1{
	margin-top: -0.6rem;
	margin-bottom: 0;
}
.tw_arrow{
	display: inline-flex;
}
.tw_item{
	padding: 0 7.5px;
}
.tw_item a{
	display: block;
}
.tw_item a:hover{
	text-decoration: none;
}
	#t_works .vm{
		margin-top: 3rem;
	}
@media screen and (min-width: 768px){
	#t_works{
		width: 94.11%;
		margin-right: auto;
		margin-left: auto;
	}
	#t_works::before{
		width: 100%;
		left: 0;
		transform: none;
	}
	.tw_block{
		display: flex;
		flex-wrap: wrap;
	}
	.tw_item{
		padding: 0;
		width: calc((100% - 60px)/3);
		margin-right: 30px;
		margin-top: 3.23rem;
	}
	.tw_item:nth-of-type(1), .tw_item:nth-of-type(2), .tw_item:nth-of-type(3){
		margin-top: 0;
	}
	.tw_item:nth-of-type(3n){
		margin-right: 0;
	}
	#t_works .vm{
		margin-top: 4.88rem;
	}
}
@media screen and (min-width: 1200px){
	#t_works{
		margin-top: 12rem;
		padding-top: 11.73rem;
	}
	.tw_item{
		width: calc((100% - 100px)/3);
		margin-right: 50px;
		margin-top: 4.66rem;
	}
	#t_works .vm{
		margin-top: 6.03rem;
	}
}

/**************************
/* LINE UP
**************************/
#t_lu{
	margin-top: 7.47rem;
}
#t_lu ul{
	margin-bottom: 0;
	border: 1px solid rgba(150,150,150,0.5);
}
#t_lu ul li{
	position: relative;
	list-style: none;
}
#t_lu ul li:first-child::after{
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	background-color: rgba(150,150,150,0.5);
	left: 0;
	bottom: 0;
}
#t_lu ul li a{
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	color: #000;
}
.t_lu_bk{
	opacity: 0;
	position: relative;
	width: 100%;
	height: 100%;
	aspect-ratio: 13 / 20;
	transition: .3s;
}
.t_lu_bk img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.t_lu_bk::after{
	position: absolute;
	content: " ";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: rgba(0,0,0,0.3);
}
#t_lu ul li a .no{
	position: absolute;
	top: 13px;
	right: 20px;
	font-size: 1.19rem;
	letter-spacing: 0.02em;
	line-height: 1;
	color: #b4b4b4;
	z-index: 2;
}
.t_lu_inner{
	position: absolute;
	width: 84.61%;
	text-align: center;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
}
.tl_logo{
	display: inline-block;
	position: relative;
	margin-bottom: 3.07rem;
}
.tl_logo img{
	opacity: 1;
	transition: .3s;
}
.tl_logo::after{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	left: 0;
	bottom: 0;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center bottom;
	opacity: 0;
	transition: .3s;
}
.tl_logo.ryu{
	width: 120px;
}
.tl_logo.simple{
	width: 220px;
}
.tl_logo.ryu::after{
	background-image: url("../images/ryu_style-logo_w.svg?20250819");
}
.tl_logo.simple::after{
	background-image: url("../images/simple_note-logo_w.svg");
}
.tl_house{
	display: inline-block;
	width: 100%;
	height: 246px;
	margin-bottom: 3.44rem;
}
.tl_house img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}
/*
.tl_house.ryu{
	width: 210px;
}
*/
.tl_house.ryu{
	max-width: 390px;
}
.tl_house.simple{
	max-width: 390px;
}
.tl_txtArea .txt_block{
	font-size: 1rem;
	line-height: 1.77;
	letter-spacing: 0.03em;
}
.tl_txtArea .vm{
	margin-top: 2.84rem;
}
#t_lu ul li a:hover{
	color: #fff;
}
a:hover .t_lu_bk{
	opacity: 1;
}
a:hover .tl_logo img{
	opacity: 0;
}
a:hover .tl_logo::after{
	opacity: 1;
}
#t_lu ul li a:hover .vm{
	color: #fff;
}
#t_lu ul li a:hover .vm .arrow{
	background-image: url("../images/arrow_w.svg");
}
@media screen and (min-width: 768px){
	#t_lu ul{
		display: flex;
	}
	#t_lu ul li{
		width: 50%;
	}
	#t_lu ul li:first-child::after{
		width: 1px;
		height: 100%;
		top: 0;
		right: 0;
		left: unset;
	}
	.t_lu_bk{
		aspect-ratio: 39 / 55;
	}
	.tl_logo{
		height: 26px;
	}
	.tl_logo img{
		width: 100%;
		height: 100%;
		object-fit: contain;
		object-position: center bottom;
		display: block;
	}
	.tl_house{
		height: 195px;
	}
	/*
	.tl_house.ryu{
		width: 48.67%;
	}
	*/
	.tl_house.ryu{
		max-width: 548px;
	}
	.tl_house.simple{
		max-width: 548px;
	}
	.tl_txtArea .txt_block{
		font-size: 1.15rem;
		letter-spacing: 0.02em;
		line-height: 1.75;
	}
}
@media screen and (min-width: 992px){
	.t_lu_bk{
		aspect-ratio: 17 / 18;
	}
}
@media screen and (min-width: 1200px){
	#t_lu{
		margin-top: 12.66rem;
	}
	#t_lu ul li a .no{
		font-size: 1.6rem;
		top: 25px;
		right: 35px;
	}
	.tl_logo{
		height: 26px;
		margin-bottom: 3.86rem;
	}
	/*
	.tl_logo.ryu{
		width: 180px;
	}
	*/
	.tl_logo.ryu{
		width: 328px;
	}
	.tl_logo.simple{
		width: 328px;
	}
	.tl_house{
		height: 290px;
	}
	.tl_txtArea .txt_block{
		font-size: 1.33rem;
	}
}
@media screen and (min-width: 1400px){
	#t_lu ul li a .no{
		top: 40px;
		right: 50px;
	}
	.tl_house{
		height: 338px;
	}
}
@media screen and (min-width: 1600px){
	.tl_house{
		height: 386px;
	}
}
@media screen and (min-width: 1800px){
	.tl_house{
		height: 410px;
	}
}

/**************************
/* VOICE
**************************/
#t_voice_flow{
	width: 84.61%;
	margin: 5.38rem auto 0; 
}
.t_vf{
	display: flex;
	justify-content: space-between;
	margin-bottom: 0;
}
.t_vf li{
	list-style: none;
	width: calc((100% - 4.615rem)/2);
}
.t_vf_img{
	margin-bottom: 2.47rem;
}
#t_voice_flow .c-title1{
	margin-bottom: 1.8rem;
}
@media screen and (min-width: 768px){
	#t_voice_flow{
		display: flex;
		justify-content: space-between;
	}
}
@media screen and (min-width: 1200px){
	#t_voice_flow{
		margin-top: 17.33rem;
	}
	.t_vf li{
		width: calc((100% - 6.66rem)/2);
	}
	.t_vf_img{
		margin-bottom: 5rem;
	}
	#t_voice_flow .c-title1{
		margin-bottom: 3.83rem;
	}
}
@media screen and (max-width: 767px){
	.t_vf{
		display: block;
	}
	.t_vf li{
		width: 100%;	
	}
	.t_vf li + li{
		margin-top: 3.3461rem;
	}
}

/**************************
/* ESTATE
**************************/
#t_estate{
	position: relative;
	margin-top: 5.61rem;
	padding: 5.07rem 0 6.15rem;
}
#t_estate::before, #t_estate::after{
	position: absolute;
	content: "";
	width: 94.87%;
	height: 1px;
	background-color: rgba(150,150,150,0.5);
	left: 50%;
	transform: translateX(-50%);	
}
#t_estate::before{
	top: 0;
}
#t_estate::after{
	bottom: 0;
}
.te_inner{
	width: 84.61%;
	margin: 0 auto;
}
.te_txtArea{
	margin-bottom: 4.26rem;
}
.te_txtArea .c-title1{
	margin-bottom: 2.47rem;
}
.te_txtArea .txt_block{
	font-size: 1rem;
	line-height: 1.77;
	letter-spacing: 0.03em;
	color: #646464;
}
.te_btn .vm{
	margin-top: 2.66rem;
}
@media screen and (min-width: 768px){
	#t_estate{
		padding: 6.15rem 0;
	}
	#t_estate::before, #t_estate::after{
		width: 94.11%;
	}
	.te_inner{
		width: 82.35%;
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
	}
	.te_txtArea{
		width: 65.28%;
		display: flex;
		justify-content: space-between;
		margin-bottom: 0;
	}
	.te_txtArea .c-title1{
		margin-bottom: 0;
	}
	.te_img{
		width: 22.14%;
	}
	.te_btn{
		text-align: right;
	}
}
@media screen and (min-width: 992px){
	.te_txtArea{
		width: 67.28%;
		justify-content: space-between;
	}
}	
@media screen and (min-width: 1200px){
	#t_estate{
		padding: 5.33rem 0;
		margin-top: 12rem;
	}
	.te_txtArea{
		width: 70.28%;
	}
	.te_img{
		width: 20.14%;
	}
	.te_btn .vm{
		margin-top: 3.56rem;
	}
}
@media screen and (min-width: 1400px){
	.te_txtArea{
		width: 63%;
	}
	.te_img{
		width: 27.14%;
	}
	.te_btn .vm{
		margin-top: 7.13rem;
	}
}
@media screen and (min-width: 1600px){
	.te_txtArea{
		width: 55.71%;
	}
}

/**************************
/* BLOG/COLUMN
**************************/
#t_bc{
	width: 87.17%;
	margin: 5.75rem auto 0;
}
#t_bc .vm{
	margin-top: 4.11rem;
}
@media screen and (min-width: 768px){
	#t_bc{
		width: 94.11%;
	}
	#t_bc .info_block li:nth-child(4){
		display: none;
	}
}
@media screen and (min-width: 1200px){
	#t_bc{
		margin-top: 11.26rem;
	}
	#t_bc .vm{
		margin-top: 5.73rem;
	}
}
