/* ===========================================
 * top use css
=========================================== */

/* SLIDE */
#top_slider{
	width: 100%;
    position: relative;
	overflow: hidden;
}
#mv_slider {
	width: 100%;
	overflow: hidden;
}

#mv_sliderInner {
	width: 100%;
	overflow: hidden;
}
#slide_desc{
    position: absolute;
	width: calc(100% - 200px);
	top: 50%;
	left: 200px;
	transform: translateY(-50%);
    z-index: 60;
}
#slide_desc_text h1{
    color: #fff;
    font-size: 18px;
	font-weight: 400;
	letter-spacing: .5em;
}
#slide_desc_text h1 span{
	font-size: 45px;
}

#top_concept{
	padding: 100px 0;
	border-bottom: 1px solid #707070;
}
#top_concept .block{
	display: flex;
	align-items: center;
}
#top_concept .block .text_box{
	width: 500px;
	margin-left: calc(50% - 500px);
}
#top_concept .block .text_box h2{
	font-size: 13px;
	line-height: normal;
}
#top_concept .block .text_box h2 span{
	font-size: 40px;
	display: block;
}
#top_concept .block .text_box h3{
	font-size: 24px;
	margin: 30px 0;
}
#top_concept .block .text_box p{
	font-size: 15px;
	line-height: 2em;
}
#top_concept .block .text_box .more_btn{
	font-size: 15px;
	margin: 20px 0 0;
}
#top_concept .block .text_box .more_btn a{
	color: #393939;
}
#top_concept .block .text_box .more_btn a img{
	margin-left: 10px;
}
#top_concept .block .img_box{
	width: 50%;
}
#top_concept .block .img_box img{
	width: 100%;
	object-fit: cover;
}


#top_news{
	padding: 100px 0;
}
#top_news h2{
	text-align: center;
	font-size: 13px;
	line-height: normal;
}
#top_news h2 span{
	font-size: 40px;
	display: block;
}
#top_news .block{
	display: flex;
	justify-content: start;
	column-gap: calc(100px / 3);
	margin: 40px auto 60px;
}
#top_news .block .box{
	width: 225px;
}
#top_news .block .box .img_box{
	width: 225px;
	height: 157px;
	overflow: hidden;
}
#top_news .block .box .img_box img{
	width: 225px;
	height: 157px;
	object-fit: cover;
}
#top_news .block .box .text_box p{
	margin-top: 5px;
	font-size: 13px;
}
#top_news .block .box .text_box p span{
	margin-top: 5px;
	font-size: 12px;
}


#top_house{
	padding: 0;
}
#top_house .block{
	width: 100%;
	display: flex;
}
#top_house .block .text_box{
	width: 30%;
	height: 600px;
	background: url("../img/top/img02.jpg") center top no-repeat;
	background-size: cover;
	padding: 180px 40px;
	box-sizing: border-box;
}
#top_house .block .text_box:last-of-type{
	background: url("../img/top/img05.jpg") center top no-repeat;
	background-size: cover;
}
#top_house .block .text_box h2{
	color: #fff;
	font-size: 13px;
	line-height: normal;
}
#top_house .block .text_box span{
	font-size: 40px;
	display: block;
	letter-spacing: normal;
}
#top_house .block .text_box p{
	font-size: 14px;
	color: #fff;
	margin-top: 20px;
	line-height: 2em;
}
#top_house .block .text_box .more_btn{
	font-size: 15px;
	margin: 20px 0 0;
}
#top_house .block .text_box .more_btn a{
	color: #fff;
}
#top_house .block .text_box .more_btn a img{
	margin-left: 10px;
}
#top_house .block .img_box{
	width: 70%;
	height: 600px;
}
#top_house .block .img_box img{
	width: 100%;
	height: 600px;
	object-fit: cover;
}

#top_works{
	padding: 100px 0;
}
#top_works h2{
	text-align: center;
	font-size: 13px;
	line-height: normal;
}
#top_works h2 span{
	font-size: 40px;
	display: block;
}
#top_works .top_worksInner{
	margin: 40px auto 60px;
}
#top_works .top_worksInner .block{
	display: flex;
	justify-content: space-between;
	height: 230px;
	border-bottom: 1px solid #919191;
	padding: 30px 0;
}
#top_works .top_worksInner .block:last-of-type{
	border-bottom: 0;
}
#top_works .top_worksInner .block .text_box{
	width: 310px;
	margin-right: 30px;
}
#top_works .top_worksInner .block .text_box .cat_box{
	width: 310px;
	display: flex;
}
#top_works .top_worksInner .block .text_box .cat_box p.cat{
	width: 110px;
	text-align: center;
	font-size: 14px;
	border: 1px solid #707070;
	padding: 10px;
	box-sizing: border-box;
}
#top_works .top_worksInner .block .text_box .cat_box p.add{
	width: 200px;
	text-align: center;
	font-size: 14px;
	border: 1px solid #707070;
	border-left: 0;
	padding: 10px;
	box-sizing: border-box;
}
#top_works .top_worksInner .block .text_box h3{
	font-size: 20px;
	text-align: center;
	margin: 60px 0;
}
#top_works .top_worksInner .block .text_box .more_btn{
	font-size: 15px;
	margin: 20px 0 0;
	text-align: right;
}
#top_works .top_worksInner .block .text_box .more_btn a{
	color: #393939;
}
#top_works .top_worksInner .block .text_box .more_btn a img{
	margin-left: 10px;
}
#top_works .top_worksInner .block .img_box{
	width: 325px;
	height: 230px;
}
#top_works .top_worksInner .block .img_box img{
	width: 325px;
	height: 230px;
	object-fit: cover;
}


#top_spec{
	background: url("../img/top/img06.jpg") center top no-repeat;
	background-size: cover;
	padding: 80px 0;
}
#top_spec .block{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#top_spec .block .box h2{
	font-size: 13px;
	line-height: normal;
	color: #fff;
}
#top_spec .block .box h2 span{
	font-size: 40px;
	display: block;
}
#top_spec .block .box h2 span i{
	font-style: normal;
	font-size: 30px
}
#top_spec .block .box p{
	color: #fff;
	font-size: 14px;
	margin-top: 20px;
}
#top_spec .block .box .btn{
	position: relative;
	width: 264px;
	height: 66px;
	border: 1px solid #fff;
	margin: 0;
}
#top_spec .block .box .btn::after{
	content: url("../img/common/btn_arrow_w.svg");
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 20px;
}
#top_spec .block .box .btn a{
	display: block;
	text-align: center;
	font-size: 15px;
	color: #fff;
	line-height: 66px;
}


@media screen and (max-width:640px){
	
	#top_slider{
		width: 100%;
		position: relative;
		overflow: hidden;
	}
	#mv_slider {
		width: 100%;
		overflow: hidden;
	}

	#mv_sliderInner {
		width: 100%;
		overflow: hidden;
	}
	#slide_desc{
		position: absolute;
		width: calc(100% - 10%);
		top: 50%;
		left: 5%;
		transform: translateY(-50%);
		z-index: 1;
	}
	#slide_desc_text h1{
		color: #fff;
		font-size: 27px;
		font-weight: 400;
		letter-spacing: .5em;
		line-height: normal;
	}
	#slide_desc_text h1 span{
		font-size: 78px;
		margin-bottom: 20px;
		display: block;
	}
	
	#top_concept{
		padding: 100px 0;
		border-bottom: 1px solid #707070;
	}
	#top_concept .block{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}
	#top_concept .block .text_box{
		order: 2;
		width: 580px;
		margin-left: auto;
		margin-right: auto;
	}
	#top_concept .block h2{
		width: 580px;
		margin: 0 auto;
		font-size: 22px;
		line-height: normal;
	}
	#top_concept .block h2 span{
		font-size: 60px;
		display: block;
	}
	#top_concept .block .text_box h3{
		font-size: 36px;
		margin: 30px 0;
	}
	#top_concept .block .text_box p{
		font-size: 24px;
		line-height: 2em;
	}
	#top_concept .block .text_box .more_btn{
		font-size: 30px;
		margin: 20px 0 0;
	}
	#top_concept .block .text_box .more_btn a{
		color: #393939;
	}
	#top_concept .block .text_box .more_btn a img{
		width: 50px;
		object-fit: cover;
		margin-left: 10px;
	}
	#top_concept .block .img_box{
		order: 1;
		width: 610px;
		margin-left: 30px;
		margin-top: 40px;
		margin-bottom: 40px;
	}
	#top_concept .block .img_box img{
		width: 100%;
		object-fit: cover;
	}


	#top_news{
		padding: 100px 0;
	}
	#top_news h2{
		text-align: left;
		font-size: 22px;
		line-height: normal;
	}
	#top_news h2 span{
		font-size: 60px;
		display: block;
	}
	#top_news .block{
		display: block;
		justify-content: start;
		column-gap: calc(100px / 3);
		margin: 40px auto 60px;
	}
	#top_news .block .box{
		width: 580px;
		display: flex;
		justify-content: space-between;
		padding: 40px 0;
		border-bottom: 2px solid #CBCBCB;
	}
	#top_news .block .box .img_box{
		width: 280px;
		height: 180px;
		overflow: hidden;
	}
	#top_news .block .box .img_box img{
		width: 280px;
		height: 180px;
		object-fit: cover;
	}
	#top_news .block .box .text_box{
		width: 280px;
	}
	#top_news .block .box .text_box p{
		margin-top: 5px;
		font-size: 24px;
	}
	#top_news .block .box .text_box p span{
		margin-top: 5px;
		font-size: 18px;
	}


	#top_house{
		padding: 0;
	}
	#top_house .block{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
	}
	#top_house .block .text_box{
		order: 2;
		width: 640px;
		height: auto;
		background: url("../img/top/img02.jpg") center top no-repeat;
		background-size: cover;
		padding: 100px 30px;
		box-sizing: border-box;
	}
	#top_house .block .text_box:last-of-type{
		background: url("../img/top/img05.jpg") center top no-repeat;
		background-size: cover;
	}
	#top_house .block .text_box h2{
		color: #fff;
		font-size: 22px;
		line-height: normal;
	}
	#top_house .block .text_box span{
		font-size: 60px;
		display: block;
		letter-spacing: normal;
	}
	#top_house .block .text_box p{
		font-size: 24px;
		color: #fff;
		margin-top: 40px;
		line-height: 2em;
	}
	#top_house .block .text_box .more_btn{
		font-size: 30px;
		margin: 20px 0 0;
	}
	#top_house .block .text_box .more_btn a{
		color: #fff;
	}
	#top_house .block .text_box .more_btn a img{
		width: 50px;
		object-fit: cover;
		margin-left: 10px;
	}
	#top_house .block .img_box{
		order: 1;
		width: 640px;
		height: auto;
		line-height: 0;
	}
	#top_house .block .img_box img{
		width: 100%;
		height: auto;
		object-fit: cover;
	}

	#top_works{
		padding: 100px 0;
	}
	#top_works h2{
		text-align: left;
		font-size: 22px;
		line-height: normal;
	}
	#top_works h2 span{
		font-size: 60px;
		display: block;
	}
	#top_works .top_worksInner{
		margin: 40px auto 60px;
	}
	#top_works .top_worksInner .block{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		height: auto;
		border-bottom: 2px solid #919191;
		padding: 30px 0;
	}
	#top_works .top_worksInner .block:last-of-type{
		border-bottom: 0;
	}
	#top_works .top_worksInner .block .text_box{
		order: 3;
		width: 580px;
		margin-right: 0;
		margin-top: 20px;
	}
	#top_works .top_worksInner .block .text_box .cat_box{
		width: 580px;
		display: flex;
	}
	#top_works .top_worksInner .block .text_box .cat_box p.cat{
		width: 200px;
		text-align: center;
		font-size: 24px;
		border: 2px solid #707070;
		padding: 5px;
		box-sizing: border-box;
	}
	#top_works .top_worksInner .block .text_box .cat_box p.add{
		width: 380px;
		text-align: center;
		font-size: 24px;
		border: 2px solid #707070;
		border-left: 0;
		padding: 5px;
		box-sizing: border-box;
	}
	#top_works .top_worksInner .block .text_box h3{
		font-size: 30px;
		text-align: left;
		margin: 20px 0;
	}
	#top_works .top_worksInner .block .text_box .more_btn{
		font-size: 30px;
		margin: 20px 0 0;
		text-align: left;
	}
	#top_works .top_worksInner .block .text_box .more_btn a{
		color: #393939;
	}
	#top_works .top_worksInner .block .text_box .more_btn a img{
		width: 50px;
		object-fit: cover;
		margin-left: 10px;
	}
	#top_works .top_worksInner .block .img_box{
		order: 1;
		width: 285px;
		height: 200px;
	}
	#top_works .top_worksInner .block .img_box img{
		width: 285px;
		height: 200px;
		object-fit: cover;
	}


	#top_spec{
		background: url("../img/top/img06.jpg") center top no-repeat;
		background-size: cover;
		padding: 100px 0;
	}
	#top_spec .block{
		display: block;
		justify-content: space-between;
		align-items: center;
	}
	#top_spec .block .box h2{
		font-size: 22px;
		line-height: normal;
		color: #fff;
	}
	#top_spec .block .box h2 span{
		font-size: 60px;
		display: block;
		letter-spacing: normal;
	}
	#top_spec .block .box h2 span i{
		font-style: normal;
		font-size: 40px
	}
	#top_spec .block .box p{
		color: #fff;
		font-size: 24px;
		margin-top: 40px;
		margin-bottom: 40px;
	}
	#top_spec .block .box .btn{
		position: relative;
		width: 500px;
		height: 80px;
		border: 2px solid #fff;
		margin: 0 auto;
	}
	#top_spec .block .box .btn::after{
		content: "";
		position: absolute;
		top: 50%;
		right: 20px;
		transform: translateY(-50%);
		width: 50px;   /* ← ここで自由にサイズ変更 */
		height: 20px;  /* ← 縦横調整 */
		background-color: #fff; /* 矢印の色（黒） */
		mask-image: url(../../img/common/btn_arrow_w.svg);
		mask-size: contain;
		mask-repeat: no-repeat;
	}
	#top_spec .block .box .btn a{
		display: block;
		text-align: center;
		font-size: 30px;
		color: #fff;
		line-height: 80px;
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	

	
}

