section.panel {
	display: grid;
	> figure {
		grid-area: 1/1/2/2;
		> img {
			max-width: 100%;
		}
	}
	> div {
		grid-area: 1/1/2/2;
		max-height: 95vh;
		background-image: url(../common/image/scroll.svg);
		background-repeat: no-repeat;
		background-position: 95% 100%;
		margin-bottom: 30px;
		animation-name: panelarrow;
		animation-duration: 4s;
		pointer-events: none;
		@media (width < 700px) {
			display: none;
		}
	}
}
@keyframes panelarrow {
	0% {
		transform: translateY(0);
	}
	16.6% {
		transform: translateY(-20px);
	}
	33.3% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-20px);
	}
	66.6% {
		transform: translateY(0);
	}
	83.3% {
		transform: translateY(-20px);
	}
	100% {
		transform: translateY(0);
	}
}
section.title {
	padding: 40px 5% 0px 5%;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		> h2 {
			text-align: center;
			> div {
				font-size: 3rem;
				line-height: 1.3;
				color: #000;
				font-weight: 600;
				position: relative;
				z-index: 3;
			}
			> p {
				margin-top: 2px;
				font-size: 1.1rem;
				line-height: 1.3;
				color: var(--color-accent);
				font-weight: 500;
			}
		}
		> p {
			padding-top: 30px;
			font-size: 1.1rem;
            line-height: 2.0;
            color: #333;
            letter-spacing: 1px;
            text-align: center;
		}
	}
}
section.localnav {
	padding: 60px 5% 100px 5%;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		column-gap: 5px;
		align-items: end;
		@media (width < 1290px) {
			grid-template-columns: repeat(2, 1fr);
			row-gap: 5px;
		}
		@media (width < 560px) {
			grid-template-columns: repeat(1, 1fr);
		}
		> a {
			text-decoration: none;
			&:hover {
				> figure {
					> img {
						transform: scale(1.1);
					}
				}
			}
			> figure {
				overflow: hidden;
				> img {
					max-width: 100%;
					transition: transform 0.3s;
				}
			}
			> div {
				min-height: 100px;
				padding: 10px 10px 40px 10px;
				background-color: #b7c1a9;
				text-align: center;
				background-image: url(./image/linkbutton_bottom.svg);
				background-position: 50% calc(100% - 10px);
				background-repeat: no-repeat;
				background-size: 20px 20px;
				> h3 {
					font-size: 1.2rem;
					line-height: 1.4;
					color: #fff;
					font-weight: 500;
				}
				> p {
					font-size: min(0.9rem, 4.5vw);
					line-height: 1.6;
					color: #000;
				}
			}
		}
	}
}
section.content {
	padding: 80px 0% 0px 0%;
	> div {
		padding-block: 50px;
		background-color: #dbe0d4;
		max-width: 1000px;
		margin-inline: auto;
		> h2 {
			margin-inline: 5%;
			text-align: center;
			> div {
				font-size: 3.5rem;
				line-height: 1.3;
				color: #000;
				font-weight: 600;
				position: relative;
				z-index: 3;
			}
			> p {
				padding-top: 10px;
				font-size: 1.1rem;
				line-height: 2.0;
				color: #333;
				letter-spacing: 1px;
				text-align: center;
			}
		}
		> figure {
			padding-block: 20px;
			margin-inline: 5%;
			> img {
				max-width: 100%;
			}
		}
		> p {
			margin-inline: 5%;
			font-size: 1.1rem;
			line-height: 1.7;
			color: #333;
			letter-spacing: 1px;
			text-align: center;
			&.long01 {
				@media (width < 860px) {
					text-align: justify;
				}
			}
			&.long02 {
				text-align: justify;
			}
		}
		> article {
			padding-top: 40px;
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			column-gap: 30px;
			row-gap: 30px;
			&:nth-of-type(odd) {
				> div {
					margin-right: 8%;
					@media (width < 1050px) {
						margin-right: 0%;
					}
				}
			}
			&:nth-of-type(even) {
				> div {
					margin-left: 8%;
					@media (width < 1050px) {
						margin-left: 0%;
					}
				}
			}
			@media (width < 1050px) {
				grid-template-columns: repeat(1, 1fr);
				margin-inline: 5%;
				> div {
					order: 2;
				}
				> figure {
					order: 1;
				}
			}
			> figure {
				text-align: center;
				&.graph {
					padding-right: 15px;
				}
				> img {
					max-width: 100%;
				}
			}
			> div {
				> figure {
					> img {
						width: 100px;
					}
				}
				> h2 {
					margin-top: 15px;
					font-size: 1.8rem;
					line-height: 1.1;
					color: #4b6428;
					font-weight: 700;
				}
				> p {
					margin-top: 10px;
					font-size: 1.0rem;
					line-height: 1.8;
					color: #333;
					text-align: justify;
					&.bold {
						font-weight: 600;
					}
					> small {
						font-size: 0.9rem;
					}
				}
			}
		}
		> div.threeimage {
			padding-top: 80px;
			margin-inline: 5%;
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			@media (width < 540px) {
				grid-template-columns: repeat(1, 1fr);
			}
			> figure {
				> img {
					max-width: 100%;
				}
			}
		}
	}
}
section.slider {
	padding: 0px 0% 0px 0%;
	> div {
		padding-block: 30px 50px;
		padding-inline: 5%;
		background-color: #dbe0d4;
		max-width: 1000px;
		margin-inline: auto;
		> h3 {
			margin-top: 60px;
			text-align: center;
			> div {
				font-size: 2.2rem;
				line-height: 1.2;
				color: #000;
				font-weight: 600;
				position: relative;
				z-index: 3;
			}
			> p {
				font-size: 1.2rem;
				line-height: 1.0;
				color: #333;
				font-weight: 600;
				letter-spacing: 1px;
				text-align: center;
			}
		}
		> figure {
			padding-top: 20px;
			overflow: hidden;
			> div {
				width: 600%;
				display: grid;
				grid-template-columns: repeat(6,1fr);
				transition: margin-left 0.8s;
				> img {
					width: 100%;
				}
			}
		}
		> div {
			display: flex;
			> label {
				cursor: pointer;
				&:hover {
					opacity: 0.7;
				}
				> input {
					display: none;
				}
				> img {
					width: 100%;
				}
			}
		}
		&:has(> div > label:nth-of-type(1) > input:checked) {
			> figure {
				> div {
					margin-left: 0%;
				}
			}
		}
		&:has(> div > label:nth-of-type(2) > input:checked) {
			> figure {
				> div {
					margin-left: -100%;
				}
			}
		}
		&:has(> div > label:nth-of-type(3) > input:checked) {
			> figure {
				> div {
					margin-left: -200%;
				}
			}
		}
		&:has(> div > label:nth-of-type(4) > input:checked) {
			> figure {
				> div {
					margin-left: -300%;
				}
			}
		}
		&:has(> div > label:nth-of-type(5) > input:checked) {
			> figure {
				> div {
					margin-left: -400%;
				}
			}
		}
		&:has(> div > label:nth-of-type(6) > input:checked) {
			> figure {
				> div {
					margin-left: -500%;
				}
			}
		}
	}
}
section.bino {
	padding: 80px 0% 100px 0%;
	> div {
		padding-block: 50px;
		background-color: #dbe0d4;
		max-width: 1000px;
		margin-inline: auto;
		> div.top {
			margin-inline: 5%;
			text-align: center;
			> figure {
				> img {
					max-width: 250px;
				}
			}
			> p {
				padding-top: 10px;
				font-size: 1.1rem;
				line-height: 2.0;
				color: #333;
				font-weight: 500;
				text-align: center;
			}
		}
		> figure {
			padding-block: 20px;
			margin-inline: 5%;
			> img {
				max-width: 100%;
			}
		}
		> p {
			margin-top: 10px;
			margin-inline: 5%;
			font-size: 1.1rem;
			line-height: 2.0;
			color: #333;
			text-align: justify;
		}
		> div.block {
			margin-inline: 5%;
			display: grid;
			grid-template-columns: 1fr 1.01fr;
			grid-template-rows: repeat(2, 1fr);
			column-gap: 20px;
			row-gap: 20px;
			@media (width < 640px) {
				grid-template-columns: 1fr;
				grid-template-rows: 1fr auto auto;
			}
			> figure {
				&:nth-of-type(1) {
					grid-area: 1/1/3/2;
					@media (width < 640px) {
						grid-area: unset;
						order: 1;
					}
				}
				&:nth-of-type(2) {
					grid-area: 1/2/2/3;
					@media (width < 640px) {
						grid-area: unset;
						order: 2;
					}
				}
				&:nth-of-type(3) {
					grid-area: 2/2/3/3;
					@media (width < 640px) {
						grid-area: unset;
						order: 3;
					}
				}
				> img {
					max-width: 100%;
				}
			}
		}
		> div.link {
			padding: 40px 5% 0 5%;
			max-width: 600px;
			margin-inline: auto;
			> a {
				text-decoration: none;
				&:hover {
					opacity: 0.7;
				}
				> div {
					background-image: url(../common/image/mark_external.svg);
					background-position: calc(100% - 20px) 50%;
					background-repeat: no-repeat;
					background-size: 20px 20px;
					padding-block: 20px;
					background-color: #fff;
					border-radius: 10px;
					display: flex;
					align-items: center;
					justify-content: center;
					column-gap: 20px;
					@media (width < 640px) {
						flex-flow: column;
						row-gap: 10px;
						background-position: calc(100% - 10px) 50%;
					}
					> p {
						font-size: 1.1rem;
						line-height: 1.0;
						color: #333;
					}
					> img {
						width: 200px;
					}
				}
			}	
		}
	}
}
