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


	
	
/* achievements-title
--------------------- */
#achievements-title {
	width: 100%;
	background: #F2F1EC;
}
	#achievements-title .breadcrumbs {
		font-size: 1.3rem;
		line-height: 1;
		padding-top: 100px;
		left: 0;
	}
		#achievements-title .breadcrumbs a {
			color: #AAA;
			text-decoration: underline;
		}
	

	#achievements-title .text {
		width: 50%;
		min-height: 380px;
		padding-right: 5%;
		padding-top: 50px;
	}
		#achievements-title .text .head {
			font-size: 2.0rem;
			font-weight: 700;
			line-height: 1;
			margin-bottom: 20px;
		}
			#achievements-title .text .head span {
				font-size: 1.6rem;
			}

		#achievements-title .text h1 {
			font-size: 5.0rem;
			font-weight: 700;
			line-height: 1.3em;
		}

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

	#achievements-title .pht {
		width: 50%;
		height: 470px;
		overflow: hidden;
		position: absolute;
		top: 100px;
		right: 0;
	}
		#achievements-title .pht img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}


	
	
/*property
--------------------- */
#property .title {
	width: 230px;
}

#property table {
	width: -webkit-calc(100% - 230px);
	width: calc(100% - 230px);
	border-collapse: collapse;
}
	#property table th {
		width: 18%;
		background: #FAF9F7;
		border-top: solid 1px #ddd;
		border-bottom: solid 1px #ddd;
		padding: 10px;
		font-size: 1.6rem;
		font-weight: 500;
		text-align: center;
	}
	#property table td {
		width: 32%;
		border-top: solid 1px #ddd;
		border-bottom: solid 1px #ddd;
		padding: 10px;
		font-size: 1.5rem;
		font-weight: 500;
		text-align: left;
	}


	
	
/*concept
--------------------- */
#concept .text {
	width: 50%;
	padding-right: 5%;
}
	#concept .text .title {
		margin-bottom: 30px;
	}

#concept .pht {
	width: 50%;
}


	
	
/*free
--------------------- */
#free {
	background: #F2F1EC url("../img/common/bg_motif03.svg") no-repeat center / 100%;
}
	#free .text {
		width: 50%;
		padding-right: 5%;
	}
		#free .text .title {
			margin-bottom: 30px;
		}

	#free .pht {
		width: 50%;
	}


	
	
/*interior
--------------------- */
#interior ul.list li {
	width: 32%;
	margin-right: 2%;
	margin-bottom: 30px;
}
#interior ul.list li:nth-child(3n) {
	margin-right: 0;
}
	#interior ul.list li p {
		font-size: 1.5rem;
		line-height: 1.7em;
		margin-top: 8px;
	}


	
	
/* achievements
--------------------- */
.achievements {
	width: 100%;
	overflow: hidden;
	position: relative;
}
	.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;
			}


	
	
/* target
--------------------- */
#target {
	background: #F2F1EC url("../img/common/bg_motif03.svg") no-repeat center / 100%;
}
	#target .list a.linkbox {
		margin-bottom: 50px;
	}
	#target .list a.linkbox:nth-last-child(1) {
		margin-bottom: 0;
	}
		#target .list a.linkbox .pht {
			width: 420px;
		}

		#target .list a.linkbox .text {
			width: -webkit-calc(100% - 420px);
			width: calc(100% - 420px);
			padding-left: 50px;
			position: relative;
		}
			#target .list a.linkbox .text .en {
				font-size: 1.5rem;
				line-height: 1;
				-ms-writing-mode: tb-rl;
				writing-mode: vertical-rl;
				position: absolute;
				top: 0;
				left: 7px;
			}

			#target .list a.linkbox .text h3 {
				font-size: 2.8rem;
				font-weight: 700;
				line-height: 1.3em;
				margin-bottom: 8px;
			}

			#target .list a.linkbox .text .txt {
				margin-bottom: 15px;
			}


	
	
/* example
--------------------- */
#example {
	background: #F2F1EC url("../img/common/bg_motif03.svg") no-repeat center / 100%;
}
	#example .list .box {
		width: 31%;
		margin-right: 3.5%;
		margin-bottom: 30px;
	}
	#example .list .box:nth-child(3n) {
		margin-right: 0;
	}
		#example .list .box dl {
			margin-top: 15px;
		}
			#example .list .box dl dt {
				width: -webkit-calc(100% - 80px);
				width: calc(100% - 80px);
				padding-right: 10px;
				font-size: 1.5rem;
				line-height: 1.4em;
			}
			#example .list .box dl dd {
				width: 80px;
				text-align: right;
				font-size: 1.3rem;
				line-height: 1.3em;
			}


	
	
/* recommend
--------------------- */
#recommend a.linkbox {
	display: block;
	width: 47.5%;
	margin-right: 5%;
	margin-bottom: 50px;
}
#recommend a.linkbox:nth-child(2n) {
	margin-right: 0;
}
	#recommend a.linkbox h2 {
		font-size: 2.8rem;
		font-weight: 700;
		line-height: 1.3em;
		margin: 20px 0 12px 0;
	}

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


	
	
/* flow
--------------------- */
#flow .list .cell {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 40px;
	position: relative;
}
#flow .list .cell:nth-child(odd) {
	background: #FAF9F7;
}
#flow .list .cell:before {
	content: "";
	width: 1px;
	height: 100%;
	background: #E2DFD0;
	position: absolute;
	top: 0;
	left: 70px;
	z-index: 1;
}
#flow .list .cell:nth-child(1):before {
	height: 50%;
	top: 50%;
}
#flow .list .cell:nth-last-child(1):before {
	height: 50%;
}
	#flow .list .cell .number {
		width: 60px;
	}
		#flow .list .cell .number .en {
			display: flex;
			justify-content: center;
			align-items: center;
			width: 60px;
			height: 60px;
			background: #F2F1EC;
			border-radius: 50%;
			font-size: 2.6rem;
			font-weight: 700;
			line-height: 1;
			position: relative;
			z-index: 3;
		}

	#flow .list .cell .text {
		width: -webkit-calc(100% - 60px);
		width: calc(100% - 60px);
		padding-left: 40px;
	}
		#flow .list .cell .text h3 {
			font-size: 2.8rem;
			font-weight: 700;
			line-height: 1.3em;
			margin-bottom: 12px;
		}


	
	
/* about
--------------------- */
#about .p-box {
	margin-bottom: 80px;
}
#about .p-box:nth-last-child(1) {
	margin-bottom: 0;
}
#about .p-box:nth-child(2) {
	width: calc( 100vw - (100vw - 1005px) / 2 );
}
#about .p-box:nth-child(3) {
	width: calc( 100vw - (100vw - 1005px) / 2 );
	margin-left: calc( -100vw - (-100vw - 1195px) / 2 );
}
	#about .p-box .text {
		width: 47.5%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
	#about .p-box:nth-child(odd) .text {
		order: 2;
	}
	#about .p-box:nth-child(1) .text {
		padding-right: 120px;
	}
	#about .p-box:nth-child(2) .text {
		padding-left: 120px;
	}
	#about .p-box:nth-child(3) .text {
		padding-right: 120px;
	}
		#about .p-box .text .en {
			font-size: 1.6rem;
			font-weight: 700;
			line-height: 1;
			margin-bottom: 10px;
		}

		#about .p-box .text h2 {
			font-size: 3.2rem;
			font-weight: 700;
			line-height: 1.3em;
			margin-bottom: 20px;
		}

	#about .p-box .pht {
		width: 47.5%;
	}
	#about .p-box:nth-child(odd) .pht {
		order: 1;
	}
	#about .p-box:nth-child(1) .pht {
		aspect-ratio: 4 / 4.5;
	}
	#about .p-box:nth-child(2) .pht {
		aspect-ratio: 4 / 3;
	}
	#about .p-box:nth-child(3) .pht {
		aspect-ratio: 4 / 2.5;
	}
		#about .p-box .pht img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}


	
	
/*what
--------------------- */
#what .merit {
	margin-top: 50px;
}
	#what .merit h3 {
		font-size: 2.8rem;
		font-weight: 700;
		line-height: 1.3em;
	}

	#what .merit .list .box {
		width: 48%;
		margin-right: 4%;
		margin-top: 35px;
	}
	#what .merit .list .box:nth-child(2n) {
		margin-right: 0;
	}
		#what .merit .list .box .text {
			padding: 18px 20px 0 20px;
		}
			#what .merit .list .box .text h4 {
				font-size: 2.2rem;
				font-weight: 700;
				line-height: 1.3em;
				margin-bottom: 8px;
			}

#what .supplement {
	padding-top: 40px;
	margin-top: 40px;
	border-top: dashed 1px #ddd;
}
	#what .supplement h3 {
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.3em;
	}

	#what .supplement .txt {
		margin-top: 10px;
	}






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


	
	
/* achievements-title
--------------------- */
#achievements-title .breadcrumbs {
	left: 7%;
}


	
	
/* about
--------------------- */
#about .p-box:nth-child(2) {
	width: 108.1%;
}
#about .p-box:nth-child(3) {
	width: 108.1%;
	margin-left: -8.2%;
}
	#about .p-box:nth-child(1) .text {
		padding-right: 7%;
	}
	#about .p-box:nth-child(2) .text {
		padding-left: 7%;
	}
	#about .p-box:nth-child(3) .text {
		padding-right: 7%;
	}








}





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


	
	
/* achievements-title
--------------------- */
#achievements-title .breadcrumbs {
	padding-top: 25px;
	font-size: 1.2rem;
	position: static;
	padding-left: 20px;
	overflow-x: scroll;
	overflow-y: clip;
	white-space: nowrap;
}
#achievements-title .breadcrumbs::-webkit-scrollbar {
	width: 0;
	height: 0;
}
#achievements-title .breadcrumbs::-webkit-scrollbar-track {
	background: none;
}
#achievements-title .breadcrumbs::-webkit-scrollbar-thumb {
	background: none;
}


#achievements-title .text {
	width: 50%;
	min-height: 320px;
	padding-right: 5%;
	padding-top: 50px;
}
	#achievements-title .text .head {
		font-size: 1.8rem;
	}
		#achievements-title .text .head span {
			font-size: 1.4rem;
		}

	#achievements-title .text h1 {
		font-size: 3.6rem;
	}

	#achievements-title .text ul.cat {
		 margin-top: 10px;
	}
		 #achievements-title .text ul.cat li {
			 border-radius: 3px;
			 font-size: 1.1rem;
			 margin-right: 6px;
			 margin-top: 6px;
		}


#achievements-title .pht {
	height: 320px;
	top: 85px;
}


	
	
/*property
--------------------- */
#property .inner {
	display: block;
}
	#property .title {
		width: 100%;
	}

	#property table {
		width: 100%;
	}
		#property table th {
			font-size: 1.5rem;
		}
		#property table td {
			font-size: 1.4rem;
		}


	
	
/*concept
--------------------- */
#concept .text .title {
	margin-bottom: 20px;
}


	
	
/*free
--------------------- */
#free .text .title {
	margin-bottom: 20px;
}


	
	
/*interior
--------------------- */
#interior ul.list li {
	margin-bottom: 25px;
}
	#interior ul.list li p {
		font-size: 1.4rem;
		line-height: 1.6em;
	}


	
	
/* achievements
--------------------- */
.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;
	}


	
	
/* target
--------------------- */
#target .list a.linkbox {
	margin-bottom: 40px;
}
	#target .list a.linkbox .pht {
		width: 45%;
	}

	#target .list a.linkbox .text {
		width: 55%;
		padding-left: 5%;
	}
		#target .list a.linkbox .text .en {
			font-size: 1.2rem;
			left: 6px;
		}

		#target .list a.linkbox .text h3 {
			font-size: 2.4rem;
		}


	
	
/* example
--------------------- */
#example .list .box dl {
	display: block;
}
	#example .list .box dl dt {
		width: 100%;
		padding-right: 0;
		font-size: 1.4rem;
		margin-bottom: 6px;
	}
	#example .list .box dl dd {
		width: 100%;
		text-align: left;
		font-size: 1.2rem;
	}


	
	
/* recommend
--------------------- */
#recommend a.linkbox {
	margin-bottom: 40px;
}
	#recommend a.linkbox h2 {
		font-size: 2.4rem;
		margin: 16px 0 10px 0;
	}

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


	
	
/* flow
--------------------- */
#flow .list .cell {
	padding: 30px;
}
#flow .list .cell:before {
	left: 55px;
}
	#flow .list .cell .number {
		width: 50px;
	}
		#flow .list .cell .number .en {
			width: 50px;
			height: 50px;
			font-size: 2.2rem;
		}

	#flow .list .cell .text {
		width: -webkit-calc(100% - 50px);
		width: calc(100% - 50px);
		padding-left: 30px;
	}
		#flow .list .cell .text h3 {
			font-size: 2.5rem;
			margin-bottom: 10px;
		}


	
	
/* about
--------------------- */
#about .p-box {
	margin-bottom: 60px;
}
	#about .p-box .text .en {
		font-size: 1.4rem;
	}

	#about .p-box .text h2 {
		font-size: 2.6rem;
		margin-bottom: 16px;
	}


	
	
/*what
--------------------- */
#what .merit {
	margin-top: 40px;
}
	#what .merit h3 {
		font-size: 2.6rem;
	}

	#what .merit .list .box {
		margin-top: 25px;
	}
		#what .merit .list .box .text {
			padding: 15px 10px 0 10px;
		}
			#what .merit .list .box .text h4 {
				font-size: 2.0rem;
			}

#what .supplement {
	padding-top: 35px;
	margin-top: 35px;
}
	#what .supplement h3 {
		font-size: 2.2rem;
	}




}





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


	
	
/* achievements-title
--------------------- */
#achievements-title .breadcrumbs {
	width: 107%;
	padding-top: 85px;
	padding-left: 0;
}


#achievements-title .text {
	width: 100%;
	min-height: auto;
	padding-right: 5%;
	padding-top: 40px;
	padding-bottom: 35px;
}
	#achievements-title .text .head {
		font-size: 1.8rem;
	}
		#achievements-title .text .head span {
			font-size: 1.4rem;
		}

	#achievements-title .text h1 {
		font-size: 2.8rem;
	}

	#achievements-title .text ul.cat {
		 margin-top: 10px;
	}
		 #achievements-title .text ul.cat li {
			 border-radius: 3px;
			 font-size: 1.1rem;
			 margin-right: 6px;
			 margin-top: 6px;
		}


#achievements-title .pht {
	position: static;
	width: 100%;
	height: auto;
}


	
	
/*interior
--------------------- */
#interior ul.list li {
	width: 48%;
	margin-right: 4%;
	margin-bottom: 20px;
}
#interior ul.list li:nth-child(3n) {
	margin-right: 4%;
}
#interior ul.list li:nth-child(2n) {
	margin-right: 0;
}
	#interior ul.list li p {
		font-size: 1.3rem;
		line-height: 1.5em;
	}


	
	
/*concept
--------------------- */
#concept .inner {
	display: block;
}
	#concept .text {
		width: 100%;
		padding-right: 0;
		margin-bottom: 25px;
	}
		#concept .text .title {
			margin-bottom: 20px;
		}

	#concept .pht {
		width: 100%;
	}


	
	
/*free
--------------------- */
#free .inner {
	display: block;
}
	#free .text {
		width: 100%;
		padding-right: 0;
		margin-bottom: 25px;
	}
		#free .text .title {
			margin-bottom: 20px;
		}

	#free .pht {
		width: 100%;
	}


	
	
/* target
--------------------- */
#target .list a.linkbox {
	display: block;
	margin-bottom: 45px;
}
	#target .list a.linkbox .pht {
		width: 100%;
	}

	#target .list a.linkbox .text {
		width: 100%;
		padding-top: 17px;
		padding-left: 0;
	}
		#target .list a.linkbox .text .en {
			display: none;
		}

		#target .list a.linkbox .text h3 {
			font-size: 2.2rem;
		}

		#target .list a.linkbox .text .txt {
			margin-bottom: 18px;
		}


	
	
/* example
--------------------- */
#example .list .box {
	width: 48%;
	margin-right: 4%;
	margin-bottom: 20px;
}
#example .list .box:nth-child(3n) {
	margin-right: 4%;
}
#example .list .box:nth-child(2n) {
	margin-right: 0;
}
	#example .list .box dl {
		display: block;
	}
		#example .list .box dl dt {
			width: 100%;
			padding-right: 0;
			font-size: 1.4rem;
			margin-bottom: 6px;
		}
		#example .list .box dl dd {
			width: 100%;
			text-align: left;
			font-size: 1.2rem;
		}


	
	
/* recommend
--------------------- */
#recommend .inner {
	display: block;
}
	#recommend a.linkbox {
		width: 100%;
		margin-bottom: 40px;
	}
	#recommend a.linkbox:nth-last-child(1) {
		margin-bottom: 0;
	}
		#recommend a.linkbox h2 {
			font-size: 2.2rem;
			margin-top: 18px;
			margin-bottom: 8px;
		}

		#recommend a.linkbox .txt {
			margin-bottom: 18px;
		}


	
	
/* flow
--------------------- */
#flow .list {
	width: 115%;
	margin-left: -8%;
}
	#flow .list .cell {
		padding: 25px 10px 25px 20px;
	}
	#flow .list .cell:before {
		left: 40px;
	}
		#flow .list .cell .number {
			width: 40px;
		}
			#flow .list .cell .number .en {
				width: 40px;
				height: 40px;
				font-size: 1.8rem;
			}

		#flow .list .cell .text {
			width: -webkit-calc(100% - 50px);
			width: calc(100% - 50px);
			padding-left: 20px;
		}
			#flow .list .cell .text h3 {
				font-size: 2.0rem;
				margin-bottom: 7px;
			}


	
	
/* about
--------------------- */
#about .p-box {
	display: block;
	margin-bottom: 55px;
}
	#about .p-box .text {
		width: 100%;
		padding-bottom: 25px;
	}
	#about .p-box:nth-child(1) .text {
		padding-right: 0;
	}
	#about .p-box:nth-child(2) .text {
		padding-left: 0;
		padding-right: 8.1%;
	}
	#about .p-box:nth-child(3) .text {
		padding-right: 0;
		padding-left: 8.1%;
	}
		#about .p-box .text .en {
			font-size: 1.3rem;
		}

		#about .p-box .text h2 {
			font-size: 2.2rem;
			margin-bottom: 12px;
		}

	#about .p-box .pht {
		width: 100%;
	}
	#about .p-box:nth-child(1) .pht {
		aspect-ratio: 4 / 3;
	}
	#about .p-box:nth-child(2) .pht {
		aspect-ratio: 4 / 3;
	}
	#about .p-box:nth-child(3) .pht {
		aspect-ratio: 4 / 3;
	}


	
	
/*what
--------------------- */
#what .merit {
	margin-top: 35px;
}
	#what .merit h3 {
		font-size: 2.4rem;
	}

	#what .merit .list {
		display: block;
	}
		#what .merit .list .box {
			width: 100%;
			margin-right: 0;
			margin-top: 25px;
		}
			#what .merit .list .box .text {
				padding: 15px 15px 0 15px;
			}
				#what .merit .list .box .text h4 {
					font-size: 1.8rem;
				}

#what .supplement {
	padding-top: 30px;
	margin-top: 30px;
}
	#what .supplement h3 {
		font-size: 2.0rem;
	}










}