@charset "UTF-8";
/* CSS Document */


	
	
/* globalnav
--------------------- */
#globalnav ul.list li a.head {
	color: #fff;
}


	
	
/* kv
--------------------- */
#kv {
	width: 100%;
	height: 100vh;
	overflow: hidden;
	position: relative;
}
	#kv .text {
		color: #fff;
		position: absolute;
		bottom: 50px;
		right: 50px;
	}
		#kv .text h1 {
			font-size: 4.4rem;
			font-weight: 700;
			line-height: 1.5em;
			margin-bottom: 15px;
		}
		#kv .text .en {
			font-size: 1.6rem;
			font-weight: 700;
			letter-spacing: 0.02em;
			line-height: 1;
		}


	
	
/* about
--------------------- */
#about {
	width: 100%;
	overflow: hidden;
	background: url("../img/common/bg_motif01.svg") no-repeat center / 100%;
}
	#about .link-area {
		position: absolute;
		top: 130px;
		right: 0;
	}


	#about .loopSlider {
		height: 220px;
		overflow: hidden;
		position: relative;
	}
		#about .loopSlider .loopslider_wrap {
			height: 220px;
			display: -webkit-flex;
			display: flex;
			position: absolute;
			top: 0;
			left: 0;
			z-index: 1;
		}
			#about .loopSlider .loopslider_wrap ul {
				display: -webkit-flex;
				display: flex;
			}
				#about .loopSlider .loopslider_wrap ul li {
					width: 465px;
					padding: 0 5px;
				}


	
	
/* works
--------------------- */
#works {
	width: 100%;
	position: relative;
	overflow: hidden;
	margin-bottom: 80px;
	padding-bottom: 60px;
}
	#works .works-pht {
		width: 30%;
		height: 100%;
		overflow: hidden;
		position: absolute;
		top: 0;
		left: 0;
	}
		#works .works-pht img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}


	#works .text {
		padding-top: 280px;
		padding-left: 180px;
		margin-left: 32%;
		position: relative;
	}
		#works .text .en {
			font-size: 20.0rem;
			font-weight: 700;
			line-height: 1.4em;
			letter-spacing: -0.02em;
			color: #FAF9F7;
			position: absolute;
			top: 0;
			right: 0;
		}

		#works .text h2 {
			font-size: 5.0rem;
			font-weight: 700;
			line-height: 1.4em;
			white-space: nowrap;
			-ms-writing-mode: tb-rl;
			writing-mode: vertical-rl;
			position: absolute;
			top: 170px;
			left: 0;
		}

		#works .text .link-area {
			display: block;
			margin-top: 40px;
			text-align: right;
		}


	
	
/* renovation
--------------------- */
#renovation {
	width: 100%;
	overflow: hidden;
	background: #313030 url("../img/common/bg_motif02.svg") no-repeat center top 100px / 100%;
}
	#renovation .txt {
		color: #fff;
	}

	#renovation .link-area {
		position: absolute;
		top: 130px;
		right: 0;
	}

	#renovation .list {
		margin-top: 70px;
		padding-bottom: 80px;
	}
		#renovation .list a.linkbox {
			width: calc( 100vw - (100vw - 1005px) / 2 );
			display: block;
			padding: 200px 50px 50px 50px;
			color: #fff;
			position: relative;
		}
		#renovation .list a.linkbox:before {
			content: "";
			width: 100%;
			height: 100%;
			background: rgba(0,0,0,0.4);
			position: absolute;
			top: 0;
			left: 0;
			z-index: 1;
		}
		#renovation .list a.linkbox:hover:before {
			background: rgba(0,0,0,0.7);
		}
		#renovation .list a.linkbox:nth-child(1) {
			background: url("../img/home/renovation_pht01.jpg") no-repeat center / cover;
			margin-bottom: 10px;
		}
		#renovation .list a.linkbox:nth-child(2) {
			background: url("../img/home/renovation_pht02.jpg") no-repeat center / cover;
		}
			#renovation .list a.linkbox .en {
				font-size: 1.4rem;
				line-height: 1;
				-ms-writing-mode: tb-rl;
				writing-mode: vertical-rl;
				position: absolute;
				top: 3px;
				left: -25px;
				z-index: 2;
			}

			#renovation .list a.linkbox .text {
				width: 50%;
				position: relative;
				z-index: 2;
			}
				#renovation .list a.linkbox .text h3 {
					font-size: 3.6rem;
					font-weight: 700;
					line-height: 1.3em;
					margin-bottom: 15px;
				}

				#renovation .list a.linkbox .text .txt-15 {
					font-weight: 500;
					margin-bottom: 30px;
				}


	
	
/* achievements
--------------------- */
.achievements {
	width: 100%;
	overflow: hidden;
	position: relative;
}
.achievements.black-area:before {
	content: "";
	width: 100%;
	height: 200px;
	background: #313030;
	position: absolute;
	top: 0;
	left: 0;
}
	.achievements h2 {
		margin-bottom: 20px;
		line-height: 1;
	}
	.achievements.black-area h2 {
		color: #fff;
	}
		.achievements h2 .en {
			font-size: 5.0rem;
			font-weight: 500;
		}
		 .achievements h2 .jp {
			font-size: 1.6rem;
			font-weight: 700;
			padding-left: 20px;
		}

	.achievements a.link-area {
		display: block;
		text-align: right;
	}

	.achievements .swiper-container {
		padding-bottom: 40px;
		position: relative;
	}
		.achievements .swiper-container a.swiper-slide {
			display: block;
			position: relative;
			padding-bottom: 15px;
		}
			.achievements .swiper-container a.swiper-slide h3 {
				font-size: 1.8rem;
				font-weight: 500;
				line-height: 1.5em;
				margin-bottom: 6px;
				margin-top: 20px;
			}

			 .achievements .swiper-container a.swiper-slide ul.cat {
				 margin-top: 15px;
			}
				 .achievements .swiper-container a.swiper-slide ul.cat li {
					 background: #F2F1EC;
					 border-radius: 5px;
					 font-size: 1.3rem;
					 line-height: 1;
					 letter-spacing: 0;
					 margin-top: 8px;
					 margin-right: 8px;
					 padding: 5px 8px;
				}

			 .achievements .swiper-container a.swiper-slide .more {
				 height: 40px;
				 font-size: 1.4rem;
				 font-weight: 700;
				 line-height: 40px;
				 padding-right: 46px;
				 position: absolute;
				 bottom: 0;
				 right: 0;
			}
			 .achievements .swiper-container a.swiper-slide .more:before {
				 content: "";
				 width: 40px;
				 height: 40px;
				 background: #313030 url("../img/common/icon_arrow_beige.svg") no-repeat center / 14px;
				 position: absolute;
				 top: 0;
				 right: 0;
				transition: 0.3s;
				-webkit-transition: 0.3s;
			}
			 .achievements .swiper-container a.swiper-slide:hover .more:before {
				 width: 30px;
				 height: 30px;
				 top: 5px;
				 right: 5px;
			}


		 .achievements .swiper-container .swiper-pagination {
			bottom: -30px;
			text-align: left;
		}
			 .achievements .swiper-container .swiper-pagination .swiper-pagination-bullet {
				width: 8px;
				height: 8px;
				background: #F2F1EC;
				border: none;
				opacity: 1.0;
				transition: 0.3s;
				-webkit-transition: 0.3s;
			}
			.achievements .swiper-container .swiper-pagination .swiper-pagination-bullet-active {
				width: 20px;
				border-radius: 10px;
				background: #313030;
			}


	
	
/* owner
--------------------- */
#owner .inner_full {
	padding: 0 7%;
}
	#owner .inner_full a.linkbox {
		display: block;
		width: 48%;
		margin-top: 40px;
		margin-right: 4%;
	}
	#owner .inner_full a.linkbox:nth-child(2n) {
		margin-right: 0;
	}
		#owner .inner_full a.linkbox h3 {
			font-size: 2.4rem;
			font-weight: 700;
			line-height: 1.3em;
			margin-top: 20px;
			margin-bottom: 10px;
		}

		#owner .inner_full a.linkbox .txt {
			margin-bottom: 20px;
		}


	
	
/* info-area
--------------------- */
#info-area .inner_full {
	padding: 0 7%;
}
	#info-area .inner_full a.linkbox {
		display: block;
		width: 48%;
		padding: 70px 7%;
		position: relative;
	}
	#info-area .inner_full a.linkbox:before {
		content: "";
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.6);
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
	}
	#info-area .inner_full a.linkbox:hover:before {
		background: rgba(0,0,0,0.8);
	}
	#info-area .inner_full a.linkbox:nth-child(1) {
		background: url("../img/home/land-sales_pht.jpg") no-repeat center / cover;
	}
	#info-area .inner_full a.linkbox:nth-child(2) {
		background: url("../img/home/corporation_pht.jpg") no-repeat center / cover;
	}
		#info-area .inner_full a.linkbox .text {
			color: #fff;
			position: relative;
			z-index: 2;
		}
			#info-area .inner_full a.linkbox .text .en {
				font-size: 5.0rem;
				font-weight: 500;
				line-height: 1;
				margin-bottom: 5px;
			}

			#info-area .inner_full a.linkbox .text h2 {
				font-size: 1.8rem;
				font-weight: 700;
				line-height: 1.3em;
				margin-bottom: 20px;
			}

			#info-area .inner_full a.linkbox .text .txt-15 {
				font-weight: 500;
				margin-bottom: 30px;
			}






/* 1360px */
@media screen and (max-width: 1360px) {


	
	
/* about
--------------------- */
#about .link-area {
	right: 7%;
}


	
	
/* renovation
--------------------- */
#renovation .link-area {
	right: 7%;
}








}





/* 1024px */
@media screen and (max-width: 1024px) {


	
	
/* kv
--------------------- */
#kv {
	height: 100dvh;
}
	#kv .text h1 {
		font-size: 3.4rem;
		margin-bottom: 20px;
	}
	#kv .text .en {
		font-size: 1.3rem;
	}


	
	
/* about
--------------------- */
#about {
	background: url("../img/common/bg_motif01.svg") no-repeat center top 150px / 100%;
}
	#about .link-area {
		top: 100px;
	}


	#about .loopSlider {
		height: 200px;
	}
		#about .loopSlider .loopslider_wrap {
			height: 200px;
		}
			#about .loopSlider .loopslider_wrap ul li {
				width: 372px;
			}


	
	
/* works
--------------------- */
#works {
	margin-bottom: 70px;
}
	#works .works-pht {
		width: 35%;
	}


	#works .text {
		padding-top: 180px;
		padding-left: 140px;
		margin-left: 38%;
	}
		#works .text .en {
			font-size: 14.0rem;
			line-height: 1;
		}

		#works .text h2 {
			font-size: 3.6rem;
			top: 140px;
		}

		#works .text .link-area {
			margin-top: 30px;
		}


	
	
/* renovation
--------------------- */
#renovation .link-area {
	top: 100px;
}

#renovation .list {
	margin-top: 50px;
	padding-bottom: 70px;
}
	#renovation .list a.linkbox {
		width: 108%;
		padding: 150px 40px 40px 40px;
	}
		#renovation .list a.linkbox .en {
			font-size: 1.2rem;
			top: 1px;
			left: -20px;
		}

		#renovation .list a.linkbox .text {
			width: 80%;
		}
			#renovation .list a.linkbox .text h3 {
				font-size: 2.8rem;
			}


	
	
/* achievements
--------------------- */
.achievements h2 {
	margin-bottom: 15px;
}
	.achievements h2 .en {
		font-size: 4.0rem;
	}
	 .achievements h2 .jp {
		font-size: 1.4rem;
	}

.achievements .swiper-container a.swiper-slide {
	padding-bottom: 5px;
}
	.achievements .swiper-container a.swiper-slide h3 {
		font-size: 1.6rem;
		margin-top: 16px;
	}

	 .achievements .swiper-container a.swiper-slide ul.cat {
		 margin-top: 10px;
	}
		 .achievements .swiper-container a.swiper-slide ul.cat li {
			 border-radius: 3px;
			 font-size: 1.1rem;
			 margin-right: 6px;
			 margin-top: 6px;
		}

	 .achievements .swiper-container a.swiper-slide .more {
		 height: 30px;
		 font-size: 1.3rem;
		 line-height: 30px;
		 padding-right: 36px;
	}
	 .achievements .swiper-container a.swiper-slide .more:before {
		 width: 30px;
		 height: 30px;
		 background: #313030 url("../img/common/icon_arrow_beige.svg") no-repeat center / 12px;
	}
	 .achievements .swiper-container a.swiper-slide:hover .more:before {
		 top: 0;
		 right: 0;
	}


	
	
/* owner
--------------------- */
#owner .inner_full {
	padding: 0 4%;
}
	#owner .inner_full a.linkbox {
		width: 48%;
		margin-right: 4%;
		margin-top: 0;
		margin-bottom: 40px;
	}
	#owner .inner_full a.linkbox:nth-child(3n) {
		margin-right: 4%;
	}
	#owner .inner_full a.linkbox:nth-child(2n) {
		margin-right: 0;
	}
		#owner .inner_full a.linkbox h3 {
			font-size: 2.2rem;
		}

		#owner .inner_full a.linkbox .txt {
			margin-bottom: 15px;
		}


	
	
/* info-area
--------------------- */
#info-area .inner_full {
	padding: 0 2%;
}
	#info-area .inner_full a.linkbox {
		width: 49%;
		padding: 50px 5%;
	}
		#info-area .inner_full a.linkbox .text .en {
			font-size: 4.0rem;
		}

		#info-area .inner_full a.linkbox .text h2 {
			font-size: 1.6rem;
			font-weight: 700;
			line-height: 1.3em;
		}

		#info-area .inner_full a.linkbox .text .txt-15 {
			margin-bottom: 30px;
		}








}





/* max 768px */
@media screen and (max-width: 768px) {


	
	
/* kv
--------------------- */
#kv .text {
	bottom: 40px;
	right: auto;
	left: 30px;
}
	#kv .text h1 {
		font-size: 2.6rem;
		margin-bottom: 20px;
	}
	#kv .text .en {
		font-size: 1.0rem;
		letter-spacing: 0;
	}


	
	
/* about
--------------------- */
#about {
	background: url("../img/common/bg_motif01.svg") no-repeat center top 150px / 100%;
}
	#about .link-area {
		display: block;
		position: static;
		margin-top: 40px;
	}


	#about .loopSlider {
		height: 200px;
	}
		#about .loopSlider .loopslider_wrap {
			height: 200px;
		}
			#about .loopSlider .loopslider_wrap ul li {
				width: 372px;
			}


	
	
/* works
--------------------- */
#works {
	padding-bottom: 0;
	margin-bottom: 50px;
}
	#works .works-pht {
		width: 93%;
		height: 100%;
		aspect-ratio: 16 / 9;
		position: static;
	}


	#works .text {
		padding-top: 0;
		padding-left: 0;
		margin-left: 0;
	}
		#works .text .en {
			font-size: 25.0vw;
			position: static;
		}

		#works .text h2 {
			font-size: 3.4rem;
			top: 65px;
			left: -2%;
		}

		#works .text .txt {
			padding-left: 110px;
		}

		#works .text .link-area {
			margin-top: 30px;
		}


	
	
/* renovation
--------------------- */
#renovation .link-area {
	display: block;
	position: static;
	margin-top: 40px;
}

#renovation .list {
	padding-bottom: 60px;
}
	#renovation .list a.linkbox {
		width: 108%;
		padding: 150px 25px 30px 25px;
	}
		#renovation .list a.linkbox .en {
			font-size: 1.2rem;
			top: 1px;
			left: -20px;
		}

		#renovation .list a.linkbox .text {
			width: 100%;
		}
			#renovation .list a.linkbox .text h3 {
				font-size: 2.4rem;
			}
	
			#renovation .list a.linkbox .text .txt-15 {
				font-size: 1.3rem;
				margin-bottom: 20px;
			}


	
	
/* achievements
--------------------- */
.achievements.black-area:before {
	height: 130px;
}
	.achievements h2 .en {
		font-size: 3.0rem;
	}
	 .achievements h2 .jp {
		font-size: 1.2rem;
	}


	
	
/* owner
--------------------- */
#owner .inner_full {
	display: block;
	padding: 0 7%;
}
	#owner .inner_full a.linkbox {
		width: 100%;
		margin-right: 0;
		margin-top: 0;
		margin-bottom: 40px;
	}
	#owner .inner_full a.linkbox:nth-child(3n) {
		margin-right: 0;
	}
	#owner .inner_full a.linkbox:nth-child(2n) {
		margin-right: 0;
	}
		#owner .inner_full a.linkbox h3 {
			font-size: 2.2rem;
		}


	
	
/* info-area
--------------------- */
#info-area .inner_full {
	display: block;
}
	#info-area .inner_full a.linkbox {
		width: 100%;
		padding: 40px 8%;
		margin-bottom: 2%;
	}
	#info-area .inner_full a.linkbox:nth-last-child(1) {
		margin-bottom: 0;
	}










}