section.panel {
	> div {
		> figure {
			> img {
				width: 100%;
			}
		}
	}
}
section.breadcrumbs {
	background-color: #f6f6f6;
}
section.top {
	padding: 60px 5% 0px 5%;
	> div {
		max-width: 800px;
		margin-inline: auto;
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 30px;
		row-gap: 20px;
		@media (width < 580px) {
			grid-template-columns: 1fr;
		}
		> a {
			text-decoration: none;
			&:hover {
				> div {
					background-color: #5a7837;
					border: 2px solid #333;
					> p {
						color: #fff;
					}
					> div {
						> h3 {
							color: #fff;
						}
						> p {
							color: #fff;
						}
					}
				}
			}
			> div {
				background-color: #fff;
				width: 100%;
				display: flex;
				margin-inline: auto;
				justify-content: space-between;
				align-items: center;
				border: 2px solid #333;
				column-gap: 30px;
				padding: 10px 20px;
				@media (width < 460px) {
					min-width: 260px;
				}
				> div {
					> h3 {
						font-size: min(2.0rem, 7vw);
						line-height: 1.0;
						color: #333;
						font-weight: 500;
						user-select: none;
						font-family: var(--font-serif2);
					}
					> p {
						padding-top: 5px;
						font-size: min(1.0rem, 5vw);
						line-height: 1.0;
						color: #5a7837;
						font-weight: 900;
						user-select: none;
						font-family: var(--font-serif2);
					}
				}
				> p {
					font-size: min(1.2rem, 5.5vw);
					line-height: 1.3;
					color: #333;
					font-weight: 500;
					user-select: none;
				}
			}
		}
	}
}
section.houseblock {
	padding: 80px 5% 0px 5%;
	> div {
		max-width: 800px;
		margin-inline: auto;
		> h2 {
			font-size: min(8rem, 20vw);
			line-height: 1.0;
			color: #333;
			font-weight: 900;
			text-align: center;
			font-family: var(--font-serif2);
			padding-bottom: 50px;
		}
		> figure {
			> img {
				max-width: 100%;
			}
		}
		> p {
			margin-top: 10px;
			font-size: min(1rem, 5vw);
			line-height: 1.8;
			color: #111;
			text-align: justify;
		}
	}
}
section.gallery {
	padding: 60px 5% 0px 5%;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		> h3 {
			font-size: min(2.4rem, 8vw);
            line-height: 1.4;
            color: #333;
            font-weight: 900;
            letter-spacing: 0.05em;
            text-align: center;
            font-family: var(--font-serif2);
		}
		> h4 {
			font-size: min(1.2rem, 5vw);
            line-height: 1.0;
            color: #333;
            font-weight: 600;
            text-align: center;
            font-family: var(--font-serif2);
		}
		> div {
			padding-top: 50px;
			display: grid;
			grid-template-columns: 1fr 1fr 1fr;
			column-gap: 30px;
			row-gap: 20px;
			@media (width < 690px) {
				column-gap: 20px;
				grid-template-columns: 1fr 1fr;
			}
			@media (width < 490px) {
				row-gap: 30px;
				grid-template-columns: 1fr;
			}
			> figure {
				display: grid;
				> img {
					&:nth-of-type(1) {
						grid-area: 1/1/2/2;
						max-width: 100%;
					}
					&:nth-of-type(2) {
						user-select: none;
						grid-area: 1/1/2/2;
						align-self: end;
						justify-self: end;
						width: 40px;
						pointer-events: none;
					}
				}
			}
		}
	}
}
section.link {
	padding: 50px 5% 120px 5%;
	&.bottomborder {
		padding: 50px 5% 0px 5%;
		> div {
			border-bottom: 2px solid #333;
			padding-bottom: 120px;
		}
	}
	> div {
		max-width: 1000px;
		margin-inline: auto;
		display: grid;
		> a {
			justify-self: center;
			text-decoration: none;
			&:hover {
				> div {
					background-color: #5a7837;
					border: 2px solid #333;
					> p {
						color: #fff;
					}
				}
			}
			> div {
				min-width: 400px;
				background-color: #fff;
				display: flex;
				margin-inline: auto;
				justify-content: space-between;
				align-items: center;
				column-gap: 60px;
				border: 2px solid #333;
				padding: 15px 30px;
				@media (width < 460px) {
					min-width: 250px;
					column-gap: 4vw;
				}
				> p {
					font-size: min(1.1rem, 5.5vw);
					line-height: 1.3;
					color: #333;
					font-weight: 500;
					user-select: none;
					text-align: center;
				}
			}
		}
	}
}
section.block {
	padding: 80px 5% 0px 5%;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 40px;
		row-gap: 40px;
		@media (width < 890px) {
			grid-template-columns: 1fr;
			row-gap: 60px;
		}
		> article {
			> h2 {
				padding-bottom: 10px;
				font-size: min(2.4rem, 8vw);
				line-height: 1.0;
				color: #333;
				font-weight: 900;
				font-family: var(--font-serif2);
			}
			> a {
				&:hover {
					opacity: 0.7;
				}
				> div {
					display: grid;
					> figure {
						grid-area: 1/1/2/2;
						&:nth-of-type(1) {
							> img {
								max-width: 100%;
							}
						}
						&:nth-of-type(2) {
							justify-self: end;
							align-self: end;
							padding: 10px;
							> img {
								width: 60px;
							}
						}
					}
				}
			}
			> div {
				background-color: #ebebeb;
				padding: 40px 40px 50px 40px;
				@media (width < 940px) {
					padding: 30px 30px 40px 30px;
				}
				> div {
					display: flex;
					justify-content: space-between;
					align-items: end;
					border-bottom: 1px solid #333;
					padding-bottom: 15px;
					column-gap: 10px;
					> h4 {
						font-size: min(1.5rem, 5.0vw);
						line-height: 1.0;
						color: #333;
						font-weight: 900;
						font-family: var(--font-serif2);
					}
					> h3 {
						font-size: min(2.3rem, 7vw);
						line-height: 1.0;
						color: #333;
						font-weight: 900;
						font-family: var(--font-serif2);
						> small {
							font-size: min(1.4rem, 5.5vw);
						}
					}
				}
				> p {
					padding-top: 20px;
					font-size: min(1.0rem, 5vw);
					line-height: 1.0;
					color: #333;
					font-weight: 600;
				}
			}
		}
	}
}
section.choice {
	padding: 40px 5% 60px 5%;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		> h3 {
			padding-top: 30px;
			font-size: min(1.6rem, 6vw);
			line-height: 1.8;
			color: #5a7837;
			font-weight: 900;
			font-family: var(--font-serif2);
			text-align: justify;
		}
		> p {
			font-size: min(1.4rem, 5.5vw);
			line-height: 1.6;
			color: #333;
			font-weight: 900;
			font-family: var(--font-serif2);
			text-align: justify;
		}
	}
}
