@charset "utf-8";

.l-mv {
	padding-top: 74%;
	
	@media screen and (max-width: 767px) {
		padding-top: 142.5%;
	}
	
	& .title {
		
		@media screen and (max-width: 999px) {
			margin-top: 15%;
		}
		
		@media screen and (max-width: 767px) {
			margin-top: 30%;
		}
		
		& b {
			font-size: 2.4rem;
			letter-spacing: .25em;
			width: 100%;
			margin: 2em 0 0 0;
			padding: 0 0 0 1em;
			display: block;
			
			@media screen and (max-width: 999px) {
				font-size: 1.8rem;
			}
			
			@media screen and (max-width: 767px) {
				font-size: 1.4rem;
				line-height: 1.5;
			}
		}
	}
	
	& figure {
		
		&:after {
			display: none;
		}
	}
}

.l-outset {
	background-image: url("/yamatedai/land/_assets/img/concept2/img_02.webp");
	background-size: 70% auto;
	background-position: top right;
	background-repeat: no-repeat;
	
	@media screen and (max-width: 767px) {
		background-size: 100% auto;
	}
	
	& .title {
		color: var(--black);
		font-size: 6rem;
		text-align: center;
		padding: 160px 0 0 .5em;
		display: block;
		
		@media screen and (max-width: 999px) {
			font-size: 4rem;
		}
		
		@media screen and (max-width: 767px) {
			font-size: 8vw;
			line-height: 1.5;
			padding-top: 80px;
		}
		
		& + * {
			margin-top: 60px !important;
			
			@media screen and (max-width: 767px) {
				margin-top: 30px !important;
			}
		}
	}
	
	& .lead {
		color: var(--black);
		font-size: 1.7rem;
		line-height: 2.25;
		text-align: center;
		letter-spacing: .05em;
		margin-top: 30px;
		
		@media screen and (max-width: 999px) {
			font-size: 1.4rem;
			line-height: 2;
		}
		
		@media screen and (max-width: 767px) {
			text-align: left;
			line-height: 2;
			letter-spacing: 0;
			margin-top: 1.25em;
		}
	}
}

.l-developer {
	margin: 80px 0 0;
	padding: 0 0 80px;
	background: #F4F8E9;
	border-radius: 30px 30px 60px 60px;
	
	& .title {
		color: #4D9239;
		font-size: 2.6rem;
		font-weight: 600;
		text-align: center;
		padding: 60px 0 0;
		
		@media screen and (max-width: 767px) {
			font-size: 2.2rem;
		}
	}
	
	& .items {
		margin: 20px -30px 0;
		display: flex;
		flex-wrap: wrap;
		
		@media screen and (max-width: 999px) {
			margin-right: 0;
			margin-left: 0;
			display: block;
		}
	}
	
	& .item {
		width: calc(100% / 2);
		padding: 0 30px;
		
		@media screen and (max-width: 999px) {
			width: 100%;
			padding-right: 0;
			padding-left: 0;
		}
		
		& h3 {
			color: #4D9239;
			font-size: 2rem;
			font-weight: 600;
			line-height: 1.35;
			margin: 30px 0 0;
			
			@media screen and (max-width: 767px) {
				font-size: 1.8rem;
			}
		}
		
		& p {
			font-size: 1.5rem;
			line-height: 1.75;
			margin: 15px 0 0;
			
			@media screen and (max-width: 767px) {
				font-size: 1.4rem;
			}
		}
	}
	
	& .detail {
		margin: 30px 0 0;
		display: flex;
		align-items: center;
		background: var(--white);
		border-radius: 20px;
		overflow: hidden;
		transform: translateZ(0);
		
		@media screen and (max-width: 767px) {
			display: block;
			border-radius: 10px;
		}
		
		& p {
			width: calc(100% - 160px);
			margin-top: 0 !important;
			padding: 0 10px 0 30px;
			
			@media screen and (max-width: 999px) {
				display: flex;
				align-items: center;
			}
			
			@media screen and (max-width: 767px) {
				text-align: center;
				width: 100%;
				padding-top: 20px;
				padding-right: 0;
				padding-left: 0;
				display: block;
			}
			
			& em {
				font-size: 1.4rem;
				font-weight: 400;
				display: inline-block;
				
				@media screen and (max-width: 999px) {
					margin-right: 1em;
				}
				
				@media screen and (max-width: 767px) {
					font-size: 1.2rem;
				}
			}
			
			& small {
				font-size: 1.4rem;
				font-weight: 400;
				vertical-align: .2em;
				margin: 0 0 0 -.5em;
				display: inline-block;
				
				@media screen and (max-width: 767px) {
					font-size: 1.2rem;
				}
			}
			
			& b {
				font-size: 2.2rem;
				font-weight: 400;
				display: inline-block;
				
				@media screen and (max-width: 767px) {
					font-size: 2rem;
				}
			}
		}
		
		& figure {
			width: 160px;
			
			@media screen and (max-width: 767px) {
				width: 100%;
				padding: 10px 20% 20px;
			}
			
			& img {
				
				@media screen and (max-width: 767px) {
					border-radius: 6px;
				}
			}
		}
	}
}

.l-location_image {
	margin: -60px 0;
	padding-top: 0 !important;
	position: relative;
	
	@media screen and (max-width: 999px) {
		margin-top: -30px;
		margin-bottom: -30px;
	}
	
	& figcaption {
		color: var(--white);
		font-size: .75vw;
		font-weight: 400;
		line-height: 1.5;
		text-align: right;
		padding: 0 .5em .25em .5em;
		background: rgba(0,0,0,.75);
		position: absolute;
		z-index: 10;
		
		@media screen and (max-width: 999px) {
			font-size: 1.2vw;
		}
		
		&.note {
			background: transparent;
		}
		
/*
		&:nth-of-type(1) {
			margin: 30% 0 0 41.07%;
			top: 0;
			left: 0;
			
			@media screen and (max-width: 999px) {
				margin: 29.2% 0 0 32%;
			}
		}
		
		&:nth-of-type(2) {
			margin: 28.9% 0 0 0;
			top: 0;
			right: 0;
		}
		
		&:nth-of-type(3) {
			margin: 0 0 calc(60px + 1.5%) 14.95%;
			bottom: 0;
			left: 0;
		}
		
		&:nth-of-type(4) {
			margin: 61.4% 0 0 44.1%;
			top: 0;
			left: 0;
		}
		
		&:nth-of-type(5) {
			margin: 61.4% 0 0 0;
			top: 0;
			right: 0;
		}
		
		&:nth-of-type(6) {
			text-shadow:
				0 0 1px rgba(0,0,0,1),
				0 0 2px rgba(0,0,0,1),
				0 0 5px rgba(0,0,0,1)
			;
			margin: 0 0 calc(60px + 1.5%) 33.3%;
			bottom: 0;
			left: 0;
		}
		
		&:nth-of-type(7) {
			margin: 0 0 calc(60px + 1.5%) 0;
			bottom: 0;
			right: 0;
		}
*/
	}
}

.l-concept_about {
	padding: 0 0 60px;
	border-radius: 60px;
	background-color: var(--white);
	position: relative;
	z-index: 20;
	
	@media screen and (max-width: 999px) {
		border-radius: 30px;
	}
	
	@media screen and (max-width: 767px) {
		padding-bottom: 30px;
	}
}

.l-details {
	
	& .item {
		padding: 100px 0 0;
		position: relative;
		
		@media screen and (max-width: 767px) {
			padding-top: 60px;
		}
		
		& .u-inner {
			display: flex;
			justify-content: space-between;
			z-index: 10;
			
			@media screen and (max-width: 999px) {
				display: block;
			}
		}
		
		&:after {
			content: '';
			width: calc(50% - 120px);
			height: 400px;
			background: #F6F9F5;
			border-radius: 0 120px 120px 0;
			position: absolute;
			bottom: -80px;
			left: 0;
			z-index: 0;
		}
		
		@media screen and (max-width: 999px) {
			&:after {
				width: calc(50% - 60px);
				height: 300px;
				bottom: 80px;
			}
		}
		
		@media screen and (max-width: 767px) {
			&:after {
				width: 75%;
				border-radius: 0 60px 60px 0;
				bottom: 80px;
			}
		}
		
		&:nth-child(even) {
			
			& .u-inner {
				flex-direction: row-reverse;
			}
			
			& .content {
				text-align: right;
				
				@media screen and (max-width: 999px) {
					text-align: left;
				}
			}
			
			& .caption {
				text-align: right;
				letter-spacing: .1em;
			}
			
			&:after {
				border-radius: 120px 0 0 120px;
				left: auto;
				right: 0;
			}
			
			@media screen and (max-width: 767px) {
				&:after {
					border-radius: 60px 0 0 60px;
				}
			}
		}
		
		&.large {
			
			& .u-inner {
				display: block;
			}
			
			& .content {
				width: 100%;
			}
			
			& .image {
				width: 100%;
				margin: 50px 0 0;
				
				&:after {
					content: 'イメージイラスト';
					color: rgba(0,0,0,.5);
					letter-spacing: 0;
					right: 40px;
				}
				
				@media screen and (max-width: 767px) {
					&:after {
						margin-bottom: 14%;
						right: 30px;
						bottom: 0;
					}
				}
				
				@media screen and (max-width: 767px) {
					margin-top: 20px;
				}
				
				& img {
					border: 0;
					border-radius: 0;
				}
			}
			
			&:after {
				width: calc(50% - 200px);
				margin: 0 0 -80px;
				bottom: 50%;
			}
			
			@media screen and (max-width: 999px) {
				&:after {
					width: calc(50% - 60px);
					bottom: 40%;
				}
			}
			
			@media screen and (max-width: 767px) {
				&:after {
					width: 75%;
					bottom: 60%;
				}
			}
		}
	}
	
	& .image {
		width: 460px;
		position: relative;
		
		&:after {
			content: 'Image';
			color: var(--white);
			font-size: 1rem;
			position: absolute;
			bottom: 40px;
			right: 10px;
		}
		
		@media screen and (max-width: 999px) {
			width: 100%;
		}
		
		& img {
			border-radius: 20px;
			border: 1px solid rgba(0,0,0,.1);
			
			@media screen and (max-width: 767px) {
				border-radius: 10px;
			}
		}
		
		& .caption {
			font-size: 1.2rem;
			font-weight: 400;
			margin: 15px 0 0;
			padding: 0 15px;
			display: block;
			
			@media screen and (max-width: 999px) {
				text-align: right;
			}
			
			@media screen and (max-width: 767px) {
				padding-right: 10px;
				padding-left: 10px;
			}
		}
	}
	
	& .content {
		width: calc(100% - 460px - 60px);
		
		@media screen and (max-width: 999px) {
			width: 100%;
		}
	}
	
	& .title {
		color: #4D9239;
		font-size: 2.8rem;
		font-weight: 600;
		line-height: 1.5;
		margin: 40px 0 0;
		
		@media screen and (max-width: 767px) {
			font-size: 2rem;
		}
	}
	
	& .lead {
		line-height: 2.25;
		margin: 20px 0 0;
		
		@media screen and (max-width: 767px) {
			font-size: 1.4rem;
			line-height: 2;
			margin-top: 10px;
		}
	}
}

.l-sky_view {
	margin: -60px 0 0;
	padding: 180px 0 0;
	background: #4D9239;
	border-radius: 0 0 60px 60px;
	position: relative;
	z-index: 10;
	
	@media screen and (max-width: 999px) {
		border-radius: 0 0 30px 30px;
	}
	
	@media screen and (max-width: 767px) {
		padding-top: 120px;
		padding-bottom: 30px;
	}
	
	& .u-inner {
		z-index: 10;
	}
	
	& .main {
		margin: 0 0 -80px;
		
		@media screen and (max-width: 999px) {
			margin-bottom: -30px;
		}
		
		@media screen and (max-width: 767px) {
			margin-bottom: 0;
		}
	}
	
	& .catch {
		color: var(--white);
		text-align: center;
		
		& p {
			font-size: 2.6rem;
			line-height: 2;
			
			@media screen and (max-width: 767px) {
				font-size: 1.4rem;
			}
		}
		
		& h2 {
			font-size: 3.6rem;
			font-weight: 700;
			line-height: 1.5;
			margin: 30px 0 0;
			
			@media screen and (max-width: 767px) {
				font-size: 2.2rem;
			}
		}
		
		& h3 {
			color: #FBFF7E;
			font-size: 3.6rem;
			font-weight: 700;
			margin: 40px 0 0;
			
			@media screen and (max-width: 767px) {
				font-size: 2.2rem;
			}
			
			& sub {
				font-size: 1.1rem;
				font-weight: 400;
				letter-spacing: 0;
				
				@media screen and (max-width: 767px) {
					font-size: 1rem;
				}
			}
			
			& b {
				font-size: 7.6rem;
				font-weight: 400;
				vertical-align: -.05em;
				margin: 0 0 0 .1em;
				display: inline-block;
				position: relative;
				
				@media screen and (max-width: 767px) {
					font-size: 5.2rem;
				}
				
				&:after {
					content: '';
					width: 210px;
					height: 210px;
					margin: 10% 0 0 -75%;
					display: block;
					background: rgba(255,255,255,.1);
					border-radius: 50%;
					position: absolute;
					top: 50%;
					left: 0;
					transform: translate(0,-50%);
				}
				
				@media screen and (max-width: 767px) {
					&:after {
						width: 140px;
						height: 140px;
						margin: 10% 0 0 -75%;
					}
				}
			}
		}
	}
	
	@media screen and (max-width: 767px) {

		& .u-sp-zoom {
			color: var(--white);
		}
	}
	
	& .lead {
		color: var(--white);
		line-height: 2.25;
		margin: 40px 0 0;
		
		@media screen and (max-width: 767px) {
			font-size: 1.4rem;
		}
		
		& .note {
			color: #FBFF7E;
			font-size: 1.4rem;
			font-weight: 400;
			
			@media screen and (max-width: 767px) {
				font-size: 1rem;
			}
		}
	}
	
	& figure {
		position: relative;
		z-index: 0;
	}
	
	& img {
		border-radius: 0 0 60px 60px;
		
		@media screen and (max-width: 999px) {
			border-radius: 0 0 30px 30px;
		}
		
		@media screen and (max-width: 767px) {
			border-radius: 0;
		}
	}
	
	& figcaption {
		color: var(--white);
		font-size: 1rem;
		font-weight: 400;
		line-height: 1.35;
		padding: .25em .5em .5em .5em;
		background: rgba(0,0,0,.65);
		position: absolute;
		right: 30px;
		bottom: 20px;
		z-index: 10;
		
		@media screen and (max-width: 999px) {
			right: auto;
			left: 5px;
			bottom: 5px;
		}
	}
}

.l-land_view {
	margin: -60px 0 0;
	position: relative;
	z-index: 0;
	
	& h2 {
		font-size: 2.6rem;
		font-weight: 600;
		line-height: 2;
		text-align: center;
		width: 100%;
		margin: 17.5% 0 0;
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 10;
		
		@media screen and (max-width: 999px) {
			font-size: 2rem;
		}
		
		@media screen and (max-width: 767px) {
			font-size: 1.6rem;
			margin-top: 26%;
		}
	}
	
	& figure {
		
		& img {
			border-radius: 0 0 60px 60px;
			
			@media screen and (max-width: 999px) {
				border-radius: 0 0 30px 30px;
			}
		}
	}
}

.l-section_map {
	
	& .title {
		font-size: 2.6rem;
		font-weight: 600;
		line-height: 2;
		text-align: center;
		margin: 120px 0 0;
		position: relative;
		z-index: 10;
		
		@media screen and (max-width: 999px) {
			font-size: 2rem;
		}
		
		@media screen and (max-width: 767px) {
			font-size: 1.8rem;
			margin-top: 60px;
		}
	}
	
	& .image {
		margin: 60px 0 0;
		padding: 0 30px;
		
		@media screen and (max-width: 999px) {
			padding-right: 15px;
			padding-left: 0;
		}
		
		@media screen and (max-width: 767px) {
			margin-top: 30px;
		}
	}
}

.l-spec {
	margin: 120px 0 0;
	padding: 0 0 120px;
	background: #F4EEE5;
	border-radius: 60px;
	position: relative;
	z-index: 20;
	
	@media screen and (max-width: 999px) {
		padding-bottom: 80px;
		border-radius: 30px;
	}
	
	@media screen and (max-width: 767px) {
		margin-top: 60px;
	}
	
	& .main_title {
		color: #584717;
		font-size: 2.6rem;
		font-weight: 600;
		text-align: center;
		white-space: nowrap;
		width: 37.5%;
		min-width: 500px;
		height: 190px;
		margin: 30% 0 0 8.5%;
		padding: 0 0 0 1em;
		display: flex;
		flex-direction: column;
		justify-content: center;
		background: var(--white);
		border-radius: 30px;
		position: absolute;
		top: 0;
		left: 0;
		
		@media screen and (max-width: 999px) {
			font-size: 2.2rem;
			width: auto;
			min-width: 0;
			height: auto;
			margin: 40% 0 0 60px;
			padding: 1.25em 1em 1.5em 1.5em;
			border-radius: 15px;
		}
		
		@media screen and (max-width: 767px) {
			font-size: 1.4rem;
			width: calc(100% - (30px * 2));
			margin: -10% auto 0;
			position: relative;
			top: auto;
			left: auto;
		}
		
		& b {
			font-size: 3.6rem;
			font-weight: 600;
			margin: .5em 0 0;
			display: inline-block;
			
			@media screen and (max-width: 999px) {
				font-size: 3.2rem;
			}
			
			@media screen and (max-width: 767px) {
				font-size: 2.4rem;
			}
		}
	}
	
	& .main_image {
		position: relative;
		
		& img {
			border-radius: 60px 60px 0 0;
			
			@media screen and (max-width: 999px) {
				border-radius: 30px 30px 0 0;
			}
		}
		
		& figcaption {
			font-size: 1.1rem;
			margin: 44% 0 0;
			position: absolute;
			top: 0;
			right: 20px;
			opacity: .75;
			z-index: 10;
			
			@media screen and (max-width: 767px) {
				font-size: 1rem;
				margin-top: calc(40% + 110px);
			}
		}
	}
	
	& .item {
		margin: 100px 0 0;
		display: flex;
		align-items: center;
		position: relative;
		
		@media screen and (max-width: 999px) {
			display: block;
		}
		
		&:after {
			content: '';
			width: calc(54.25% + 200px);
			height: 400px;
			background: rgba(255,255,255,.5);
			border-radius: 0 120px 120px 0;
			position: absolute;
			bottom: -30px;
			left: 0;
			z-index: 0;
		}
		
		@media screen and (max-width: 767px) {
			&:after {
				width: calc(75%);
				border-radius: 0 60px 60px 0;
			}
		}
		
		& .image {
			width: 54.25%;
			position: relative;
			z-index: 10;
			
			@media screen and (max-width: 999px) {
				width: 100%;
				padding: 0 60px;
			}
			
			@media screen and (max-width: 999px) {
				padding: 0 20px;
			}
			
			& img {
				height: 500px;
				border-radius: 0 30px 30px 0;
				object-fit: cover;
				
				@media screen and (max-width: 999px) {
					height: auto;
					border-radius: 20px;
					object-fit: contain;
				}
				
				@media screen and (max-width: 767px) {
					border-radius: 10px;
				}
			}
		}
		
		& .data {
			width: calc(100% - 54.25%);
			position: relative;
			z-index: 10;
			
			@media screen and (max-width: 999px) {
				width: 100%;
				padding-right: 60px;
				padding-left: 60px;
			}
			
			@media screen and (max-width: 767px) {
				padding-right: 20px;
				padding-left: 20px;
			}
		}
		
		& .content {
			max-width: 440px;
			padding: 0 0 0 60px;
			
			@media screen and (max-width: 999px) {
				max-width: none;
				padding-left: 0;
			}
		}
		
		& .title {
			color: #584717;
			font-size: 2.8rem;
			font-weight: 600;
			margin: -3em 0 0;
			
			@media screen and (max-width: 999px) {
				margin-top: 1.5em;
			}
			
			@media screen and (max-width: 767px) {
				font-size: 2rem;
			}
		}
		
		& .lead {
			line-height: 2.25;
			margin: 30px 0 0;
			
			@media screen and (max-width: 767px) {
				font-size: 1.4rem;
				line-height: 2;
				margin-top: 20px;
			}
		}
	}
	
	& .item.reverse {
		flex-direction: row-reverse;
		
		&:after {
			border-radius: 120px 0 0 120px;
			left: auto;
			right: 0;
		}
		
		@media screen and (max-width: 767px) {
			&:after {
				border-radius: 60px 0 0 60px;
			}
		}
		
		& .content {
			padding-right: 60px;
			padding-left: 0;
			margin-left: auto;
			
			@media screen and (max-width: 999px) {
				padding-right: 0;
			}
		}
		
		& .image {
		
			& img {
				border-radius: 30px 0 0 30px;
				
				@media screen and (max-width: 999px) {
					border-radius: 20px;
				}
				
				@media screen and (max-width: 767px) {
					border-radius: 10px;
				}
			}
		}
		
	}
	
	& .item.primary {
		
		@media screen and (max-width: 999px) {
			margin-bottom: -60px;
		}
		
		&:after {
			width: calc(50% + 400px);
			height: calc(100% + 120px);
			border-radius: 30px 0 0 30px;
			background: var(--white);
			top: -60px;
			right: 0;
			bottom: auto;
			left: auto;
		}
		
		@media screen and (max-width: 999px) {
			&:after {
				display: none;
			}
		}
		
		& .u-inner {
			position: relative;
			z-index: 10;
		}
		
		& .content {
			max-width: none;
			margin: 0 0 0 100px;
			padding-right: 60px;
			padding-left: 60px;
			
			@media screen and (max-width: 999px) {
				margin-left: 0;
				padding-right: 0;
				padding-left: 0;
			}
		}
		
		& .title {
			margin-top: 0;
		}
		
		& figure {
			margin: 30px 0 0;
			
			@media screen and (max-width: 999px) {
				padding: 15px;
				border-radius: 20px;
				background: var(--white);
			}
		}
		
		& h3 {
			color: var(--white);
			font-size: 2.8rem;
			font-weight: 600;
			margin: 30px 0 0 -120px;
			padding: .75em 1em 1em;
			background: #584717;
			border-radius: 10px;
			display: inline-block;
			
			@media screen and (max-width: 999px) {
				font-size: 2rem;
				text-align: center;
				margin-left: auto;
				display: block;
			}
		}
		
		& + .item {
			margin-top: 160px;
			
			@media screen and (max-width: 767px) {
				margin-top: 80px;
			}
		}
	}
	
	.items_child {
		margin: 60px -40px 0;
		display: flex;
		flex-wrap: wrap;
		
		@media screen and (max-width: 999px) {
			margin-top: 120px;
			margin-right: 0;
			margin-left: 0;
			display: block;
		}
		
		@media screen and (max-width: 767px) {
			margin-top: 80px;
		}
		
		& > * {
			width: calc(100% / 2);
			margin: 60px 0 0;
			padding: 0 40px;
			
			@media screen and (max-width: 999px) {
				width: 100%;
				padding-right: 0;
				padding-left: 0;
			}
		}
		
		& img {
			border-radius: 20px;
			
			@media screen and (max-width: 767px) {
				border-radius: 10px;
			}
		}
		
		& h2 {
			color: #584717;
			font-size: 1.6rem;
			font-weight: 600;
			line-height: 1.5;
			padding: 30px 0 0;
			border-top: 1px solid rgba(0,0,0,.2);
			
			@media screen and (max-width: 767px) {
				font-size: 1.4rem;
			}
			
			& b {
				font-size: 2.8rem;
				font-weight: 600;
				
				@media screen and (max-width: 767px) {
					font-size: 2rem;
				}
			}
			
			& small {
				color: var(--dark-gray);
				font-size: 1.2rem;
			}
		}
		
		& p {
			line-height: 2.25;
			margin: 10px 0 0;
			
			@media screen and (max-width: 767px) {
				font-size: 1.4rem;
				line-height: 2;
			}
		}
		
		& figure {
			
			& + h2 {
				border-top: 0;
			}
		}
	}
	
}/*l-spec*/

.l-final {
	padding: 0 0 120px;
	background: var(--white);
	background-image: url(/yamatedai/land/_assets/img/concept2/img_02.webp);
	background-size: 70% auto;
	background-position: top right;
	background-repeat: no-repeat;
	border-radius: 0 0 60px 60px;
	position: relative;
	z-index: 10;
	
	@media screen and (max-width: 999px) {
		border-radius: 0 0 30px 30px;
	}
	
	@media screen and (max-width: 767px) {
		padding-bottom: 60px;
	}
	
	& .main_title {
		font-size: 4.2rem;
		font-weight: 600;
		text-align: center;
		line-height: 1.75;
		letter-spacing: .1em;
		margin: -60px 0 0;
		padding: 160px 0 0 .5em;
		display: block;
		
		@media screen and (max-width: 999px) {
			font-size: 3.2rem;
		}
		
		@media screen and (max-width: 767px) {
			font-size: 2.2rem;
		}
	}
	
	& .main_lead {
		line-height: 2.5;
		text-align: center;
		margin: 40px 0 0;
		
		@media screen and (max-width: 999px) {
			font-size: 1.4rem;
		}
		
		@media screen and (max-width: 767px) {
			line-height: 2;
			text-align: left;
		}
	}
	
	& .scheme {
		color: var(--white);
		text-align: center;
		margin: 60px 0 0;
		padding: 40px 0;
		background: #957B33;
		border-radius: 10px;
		
		@media screen and (max-width: 767px) {
			padding: 30px 15px;
		}
		
		& h3 {
			font-size: 2rem;
			font-weight: 600;
			line-height: 2;
			
			@media screen and (max-width: 999px) {
				font-size: 1.8rem;
			}
			
			@media screen and (max-width: 767px) {
				font-size: 1.6rem;
			}
			
			& + * {
				margin-top: 40px !important;
				
				@media screen and (max-width: 767px) {
					margin-top: 20px !important;
				}
			}
		}
		
		& h4 {
			max-width: 580px;
			margin: 5px auto 0;
			padding: 6px;
			background: var(--white);
			border-radius: 6px;
		}
	}
	
	& .scheme_items {
		margin: 60px -16px 0;
		display: flex;
		flex-wrap: wrap;
		
		@media screen and (max-width: 999px) {
			margin-top: 40px;
		}
		
		& .item {
			width: calc(100% / 4 - (16px * 2));
			margin: 0 16px;
			padding: 0 0 30px;
			background: #F4EEE5;
			border-radius: 10px;
			
			@media screen and (max-width: 999px) {
				width: calc(100% / 2 - (16px * 2));
				margin-top: 32px;
			}
			
			@media screen and (max-width: 767px) {
				width: 100%;
			}
		}
		
		& figure {
			
			& img {
				border-radius: 10px 10px 0 0;
				
				@media screen and (max-width: 767px) {
					height: 150px;
					object-fit: cover;
				}
			}
		}
		
		& h3 {
			color: #584717;
			font-size: 1.6rem;
			font-weight: 600;
			text-align: center;
			margin: 30px 0 0;
			padding: 0 20px;
			
			@media screen and (max-width: 767px) {
				font-size: 1.4rem;
			}
		}
		
		& p {
			font-size: 1.4rem;
			line-height: 2.25;
			margin: 20px 0 0;
			padding: 0 20px;
			
			@media screen and (max-width: 767px) {
				font-size: 1.2rem;
				line-height: 2;
			}
		}
	}
}/*l-final*/

.l-concept_links {
	margin: -60px 0 0;
	padding: 180px 0 120px;
	background: #D9D9D9;
	border-radius: 0 0 60px 60px;
	position: relative;
	z-index: 0;
	
	@media screen and (max-width: 999px) {
		padding: 120px 0 80px;
		border-radius: 0 0 30px 30px;
	}
	
	& .item {
		margin: 10px 0 0;
		position: relative;
	}
	
	& a {
		color: var(--white);
		text-shadow:
			0 0 2px rgba(0,0,0,.5),
			0 0 10px rgba(0,0,0,.25)
		;
		border-radius: 20px;
		display: block;
		overflow: hidden;
		transform: translateZ(0);
		
		@media screen and (max-width: 999px) {
			border-radius: 10px;
		}
	}
	
	& img {
		height: 200px;
		object-fit: cover;
		
		@media screen and (max-width: 999px) {
			height: 160px;
		}
		
		@media screen and (max-width: 767px) {
			height: 140px;
		}
	}
	
	& .title {
		line-height: 1.75;
		letter-spacing: .1em;
		margin: 0 0 0 50px;
		display: block;
		position: absolute;
		top: calc(50% - .5em);
		left: 0;
		transform: translate(0,-50%);
		z-index: 10;
		
		@media screen and (max-width: 999px) {
			font-size: 1.4rem;
			margin-left: 30px;
		}
		
		@media screen and (max-width: 767px) {
			font-size: 1.2rem;
			letter-spacing: 0;
		}
		
		& b {
			font-size: 2.6rem;
			font-weight: 600;
		
			@media screen and (max-width: 999px) {
				font-size: 2.2rem;
			}
			
			@media screen and (max-width: 767px) {
				font-size: 2rem;
				letter-spacing: 0;
			}
		}
		
		&:after {
			content: url("/yamatedai/land/_assets/img/common/arrow_01@white.svg");
			vertical-align: .25em;
			margin: 0 0 0 .5em;
		}
	}
}

.g-banner {
	margin-top: -60px;
	
	@media screen and (max-width: 767px) {
		margin-top: -30px;
	}
}

/*new2026*/
.new2026 {
	.l-mv {
		& figcaption {
			font-weight: 700;
			text-shadow:
				0 0 1px #000,
				0 0 1px #000,
				0 0 2px #000,
				0 0 3px #000,
				0 0 4px #000,
				0 0 5px #000
			;
			opacity: .8;
		}
	}
	
	.l-developer {
		padding-bottom: 120px;
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
	}

	.l-sky_view {
		margin-top: 0;
		padding-bottom: 80px;
		border-radius: 0;
		
		& .main {
			margin: 0;
		}
	}
	
	.u-title_kanade {
		font-size: 3.2rem;
		font-weight: 600;
		line-height: 1.75;
		letter-spacing: .125em;
		text-align: center;
		padding: 80px 0 0;

		@media screen and (max-width: 999px) {
			font-size: 2.6rem;
		}

		@media screen and (max-width: 767px) {
			font-size: 2.2rem;
		}
	}
	
	.u-title_kanade + .lead {
		font-size: 1.6rem;
		font-weight: 600;
		line-height: 2;
		letter-spacing: .125em;
		text-align: center;
		margin: 20px 0 0;

		@media screen and (max-width: 999px) {
			font-size: 1.5rem;
		}

		@media screen and (max-width: 767px) {
			font-size: 1.4rem;
			margin-top: 30px;
		}
		
		& + .image {
			max-width: 600px;
			margin: 40px auto;
		}
	}
	
	.l-section_map {
		& .image {
			margin: 0 0 0;
			padding: 0;
		}
	}
	
	.l-spec {
		padding-top: 10px;
	}
	
	.l-outset .logo {
		width: 330px;
		margin: 100px 0 0 260px;
		position: absolute;
		top: 0;
		left: 50%;
		z-index: 0;

		@media screen and (max-width: 1229px) {
			width: 22.5%;
			margin-right: 30px;
			left: auto;
			right: 0;
		}

		@media screen and (max-width: 767px) {
			width: 35%;
			margin-top: 5%;
			margin-right: 20px;
			left: auto;
			right: 0;
		}
	}
	
	.l-history {
		width: calc(100% - (60px * 2));
		margin: 20px auto 0;
		padding: 60px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		border-radius: 60px;
		background: rgba(255,255,255,.75);

		@media screen and (max-width: 999px) {
			width: calc(100% - (30px * 2));
			padding-inline: 30px;
			border-radius: 30px;
		}

		@media screen and (max-width: 767px) {
			width: calc(100% - (20px * 2));
			padding: 10px;
		}
	}

	.l-history > div {
		width: calc(100% / 3);
		padding: 20px;

		@media screen and (max-width: 767px) {
			width: calc(100% / 2);
			padding: 20px 10px;
		}
	}

	.l-history > div time {
		color: #967A47;
		font-size: 2.4rem;
		font-weight: 600;
		text-align: center;
		display: block;

		@media screen and (max-width: 767px) {
			font-size: 2rem;
		}
	}

	.l-history > div time + * {
		margin: 15px 0 0;
	}

	.l-history > div p {
		font-size: 1.4rem;
		font-weight: 400;
		line-height: 1.5;
		letter-spacing: .05em;
		text-align: center;
		margin: 1em 0 0;
		display: block;

		@media screen and (max-width: 999px) {
			font-size: 1.3rem;
		}

		@media screen and (max-width: 767px) {
			font-size: 1.2rem;
		}
	}

	.l-history > div p b {
		font-weight: 1.6rem;
		font-weight: 400;
	}
	
	
	
	
	
}


















