section.panel {
	background-color: #faf0c8;
	padding: 20px 5% 80px 5%;
	> div {
		max-width: 1160px;
		margin-inline: auto;
		> figure {
			> img {
				max-width: 100%;
				border-radius: 20px;
				@media (width < 550px) {
					border-radius: 0px;
				}
			}
		}
	}
}
section.breadcrumbs {
	background-color: #faf0c8;
}
section.top {
	padding: 0px 5% 180px 5%;
	background-color: #faf0c8;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		display: grid;
		grid-template-columns: 1fr 2fr;
		column-gap: 50px;
		align-items: center;
		@media (width < 1020px) {
			grid-template-columns: 1fr;
			row-gap: 40px;
			padding-top: 40px;
		}
		> h2 {
			> div {
				font-size: min(4.0rem, 12vw);
				line-height: 1.0;
				color: var(--color-accent);
				font-weight: 800;
				letter-spacing: 0.5rem;
			}
			> p {
				padding-top: 20px;
				font-size: min(1.3rem, 6vw);
				line-height: 1.0;
				color: #846c28;
				font-weight: 600;
				font-family: var(--font-en);
				letter-spacing: 2px;
			}
		}
		> p {
			font-size: min(1.5rem, 5vw);
			line-height: 2.0;
			color: #333;
			font-weight: 600;
			letter-spacing: 0.2rem;
			text-align: justify;
			@media (width < 580px) {
				letter-spacing: 0.1rem;
			}
		}
	}
}
section.about {
	margin-top: -80px;
	padding: 100px 5% 180px 5%;
	background-color: #fff;
	border-radius: 80px 80px 0px 0px;
	> div {
		max-width: 800px;
		margin-inline: auto;
		> figure {
			text-align: center;
			> img {
				max-width: 100%;
			}
		}
		> h2 {
			margin-top: 80px;
			font-size: min(2.6rem, 8vw);
			line-height: 1.4;
			color: var(--color-accent);
			font-weight: 800;
			padding-bottom: 30px;
			letter-spacing: 0.3rem;
		}
		> p {
			font-size: min(1.1rem, 5vw);
			line-height: 1.6;
			color: #333;
			font-weight: 600;
			letter-spacing: 0.1em;
			text-align: justify;
		}
	}
}
section.slogan {
	margin-top: -80px;
	padding: 100px 5% 180px 5%;
	background-color: #846c28;
	border-radius: 80px 80px 0px 0px;
	> div {
		max-width: 800px;
		margin-inline: auto;
		> h3 {
			display: flex;
			align-items: baseline;
			column-gap: 20px;
			> div {
				font-size: min(2.7rem, 9vw);
				line-height: 1.1;
				color: #fff;
				font-weight: 900;
				font-family: var(--font-en);
				letter-spacing: 2px;
			}
			> p {
				margin-top: 20px;
				font-size: 1.1rem;
				line-height: 1.3;
				color: #fff;
				font-weight: 600;
				letter-spacing: 0.1em;
			}
		}
		> h2 {
			text-align: center;
			margin-block: 60px;
			font-size: min(11rem, 17vw);
			line-height: 1.0;
			color: #fff;
			font-weight: 800;
			letter-spacing: 1.5rem;
			@media (width < 550px) {
				letter-spacing: 1.0rem;
			}
		}
		> p {
			font-size: min(1.1rem, 5vw);
			line-height: 2.0;
			color: #fff;
			font-weight: 600;
			letter-spacing: 0.1em;
			text-align: justify;
		}
		> figure {
			margin-top: 40px;
			> img {
				max-width: 100%;
			}
		}
	}
}
section.company {
	margin-top: -80px;
	padding: 100px 5% 100px 5%;
	background-color: #faf0c8;
	border-radius: 80px 80px 0px 0px;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		> h3 {
			font-size: min(3.0rem, 12vw);
			line-height: 1.0;
			color: var(--color-accent);
			font-weight: 700;
			letter-spacing: 0.1em;
			text-align: center;
		}
		> dl {
			padding-block: 50px;
			> div {
				min-height: 80px;
				display: grid;
				grid-template-columns: 350px 1fr;
				&:first-child {
					> dt {
						border-top: 1px solid #ceb79d;
					}
					> dd {
						border-top: 1px solid #ceb79d;
						@media (width < 880px) {
							border-top: none;
						}
					}
				}
				&.noborderbottom {
					> dt {
						border-bottom: none;
						@media (width < 880px) {
							border-bottom: 1px solid #ceb79d;
						}
					}
					> dd {
						border-bottom: none;
					}
				}
				@media (width < 1030px) {
					grid-template-columns: 200px 1fr;
				}
				@media (width < 880px) {
					grid-template-columns: 1fr;
					height: auto;
				}
				> dt {
					text-align: center;
					align-content: center;
					font-size: min(1.1rem,4.5vw);
					line-height: 1.3;
					color: #333;
					font-weight: 500;
					padding-block: 30px;
					padding-inline: 30px;
					border-bottom: 1px solid #ceb79d;
					@media (width < 880px) {
						border-bottom: 1px solid #ceb79d;
						border-top: 1px solid #ceb79d;
						margin-top: 50px;
					}
				}
				> dd {
					align-content: center;
					border-bottom: 1px solid #ceb79d;
					color: #333;
					font-size: min(1.0rem,5vw);
					line-height: 1.8;
					padding-block: 30px;
					padding-inline: 20px;
					> dl {
						> div {
							padding-block: 10px;
							display: grid;
							grid-template-columns: 0.4fr auto 1fr;
							column-gap: 10px;
							border-top: solid 1px #ceb79d;
							&:nth-of-type(1) {
								border-top: none;
							}
							@media (width < 730px) {
								grid-template-columns: auto 1fr;
							}
							> dt:nth-of-type(1) {
								@media (width < 730px) {
									justify-self: start;
								}
							}
							> dt:nth-of-type(2) {
								@media (width < 730px) {
									visibility: hidden;
								}
							}
							> dd:nth-of-type(3) {
								@media (width < 730px) {
									grid-column: 1/3;
									padding-block: 10px 30px;
								}
							}
						}
					}
					> p {
						padding-top: 10px;
						&:last-of-type {
							padding-block: 10px;
						}
						&.bordertop {
							border-top: 1px solid #ceb79d;
						}
					}
					&.mroeline {
						padding-block: 10px;
						padding-inline: 20px;
						@media (width < 880px) {
							padding: 0px 20px 0px 20px;
						}
						> p {
							padding-bottom: 10px;
							&:first-of-type {
								padding-block: 10px;
							}
						}
					}
					@media (width < 880px) {
						border: none;
					}
				}
			}
		}
	}
}
section.staff {
	padding: 100px 5% 120px 5%;
	background: linear-gradient(to right, #f5f5f5, #f5f5f5 30%, #fff 30%, #fff);
	@media (width < 500px) {
		background: #fff;
	}
	> div {
		max-width: 1000px;
		margin-inline: auto;
		> h3 {
			display: flex;
			align-items: baseline;
			column-gap: 20px;
			> div {
				font-size: min(3.5rem, 9vw);
				line-height: 1.1;
				color: #00ac9a;
				font-weight: 900;
				font-family: var(--font-en);
				letter-spacing: 2px;
			}
			> p {
				margin-top: 20px;
				font-size: 1.1rem;
				line-height: 1.3;
				color: #00ac9a;
				font-weight: 600;
				letter-spacing: 0.1em;
			}
		}
		> div.content {
			margin-top: 70px;
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			column-gap: 50px;
			@media (width < 810px) {
				grid-template-columns: repeat(1, 1fr);
				row-gap: 70px;
			}
			&.second {
				border-top: 1px solid #333;
				padding-top: 70px;
			}
			> figure {
				text-align: center;
				> img {
					max-width: 100%;
				}
			}
			> div {
				> div.item {
					background-color: #00ac9a;
					margin-bottom: 10px;
					> h6 {
						background-color: #333;
						clip-path: polygon(0 0, 100% 0, calc(100% - 80px) 100%, 0% 100%);
						padding: 5px 10px 5px 20px;
						font-size: min(1.1rem, 5.5vw);
						line-height: 1.0;
						color: #fff;
						font-weight: 600;
						letter-spacing: 0.1em;
					}
				}
				> h4 {
					padding-bottom: 10px;
					font-size: min(1.8rem, 7vw);
					line-height: 1.0;
					color: #333;
					font-weight: 800;
					letter-spacing: 0.1em;
					> small {
						font-size: min(1.3rem, 6vw);
					}
				}
				> h5 {
					font-size: min(1.2rem, 5.5vw);
					line-height: 1.8;
					color: #333;
					font-weight: 600;
					letter-spacing: 0.1em;
					border-bottom: 1px solid #333;
					padding-bottom: 30px;
					margin-bottom: 30px;
				}
				> p {
					font-size: min(1.0rem, 5vw);
					line-height: 2.0;
					color: #333;
					font-weight: 500;
					&.point {
						line-height: 1.8;
						text-indent: -0.5rem;
						padding-left: 0.5rem;
					}
				}
			}
		}
		> div.block {
			margin-top: 70px;
			> div.item {
				max-width: 475px;
				background-color: #00ac9a;
				margin-bottom: 10px;
				> h6 {
					background-color: #333;
					clip-path: polygon(0 0, 100% 0, calc(100% - 80px) 100%, 0% 100%);
					padding: 5px 10px 5px 20px;
					font-size: min(1.1rem, 5.5vw);
					line-height: 1.0;
					color: #fff;
					font-weight: 600;
					letter-spacing: 0.1em;
				}
			}
			> p {
				font-size: min(1.0rem, 5vw);
				line-height: 2.0;
				color: #333;
				font-weight: 500;
				text-align: justify;
			}
		}
	}
}
