section.panel {
	padding: 40px 5% 0px 5%;
	@media (width < 780px) {
		padding: 40px 0% 0px 0%;
	}
	> div {
		max-width: 1920px;
		margin-inline: auto;
		display: grid;
		> picture {
			grid-area: 1/1/2/2;
			> img {
				width: 100%;
				max-width: 100%;
				@media (width < 650px) {
					min-height: 140px;
					object-fit: cover;
                    object-position: 25% center;
				}
			}
		}
		> div {
			grid-area: 1/1/2/2;
			justify-self: start;
            align-self: end;
			margin-bottom: 2%;
			@media (width < 500px) {
				margin-bottom: 0px;
				align-self: center;
			}
			> figure {
				margin-left: 20%;
				@media (width < 500px) {
					margin-left: 5%;
				}
				> img {
					width: 15vw;
					@media (width < 780px) {
						width: 150px;
					}
				}
			}
			> p {
				display: inline-block;
				padding-inline: 20%;
				margin-top: 10px;
				text-align: center;
				background-color: #fff;
				font-size: min(1.1rem, 6vw);
				line-height: 1.5;
				color: var(--color-accent2);
				font-weight: 700;
				@media (width < 500px) {
					padding-inline: 5%;
				}
			}

		}
	}
}
section.breadcrumbs {
	background-color: #fff;
}
section.top {
	margin-top: 50px;
	> div {
		> h3 {
			font-size: min(2.4rem, 10vw);
			line-height: 1.0;
			color: #222;
			font-weight: 700;
			text-align: center;
		}
		> p {
			margin-top: 40px;
			font-size: min(1.0rem, 5vw);
			line-height: 1.8;
			color: #222;
			text-align: center;
			> b {
				font-size: min(1.2rem, 6vw);
				font-weight: 600;
			}
		}
		> a {
			text-decoration: none;
			margin-top: 30px;
			display: flex;
			justify-content: center;
			&:hover {
				opacity: 0.8;
			}
			> div {
				background-image: url(./image/link.svg);
				background-repeat: no-repeat;
				background-position: calc(100% - 10px) 50%;
				background-size: 20px;
				padding: 15px 110px;
				border-radius: 10px;
				border: 3px solid var(--color-accent2);
				text-align: center;
				> img {
					width: 160px;
				}
			}
		}
	}
}
section.content {
	margin-top: 100px;
	background-color: #d9f0ef;
	padding: 100px 5%;
	> div {
		background-color: #fff;
		max-width: 1000px;
		margin-inline: auto;
		padding: 100px 50px;
		@media (width < 770px) {
			padding: 10vw 5vw;
		}
		> div {
			max-width: 800px;
			margin-inline: auto;
			> h3 {
				font-size: min(2.0rem, 9vw);
				line-height: 1.0;
				color: #222;
				font-weight: 700;
				margin-block: 0px 40px;
				letter-spacing: 4px;
			}
			> article {
				background-color: #fff;
				border-bottom: 1px solid #999999;
				&:last-of-type {
					margin-bottom: 0px;
				}
				> input[type="checkbox"] {
					display: none;
					&:checked + label > figure {
						transform: rotate(-45deg);
					}
					&:checked + label + div {
						animation-name: moreToggleOpen;
						animation-duration: 0.3s;
						animation-fill-mode: forwards;
						animation-timing-function: ease-in;
					}
					& + label + div {
						animation-name: moreToggleClose;
						animation-duration: 0.3s;
						animation-fill-mode: forwards;
						animation-timing-function: ease-out;
					}
				}
				> label {
					list-style: none;
					display: grid;
					grid-template-columns: 50px 1fr auto;
					align-items: center;
					column-gap: 10px;
					cursor: pointer;
					padding: 20px 0px;
					@media (width < 500px) {
						padding: 10px 0px;
						grid-template-columns: 35px 1fr auto;
					}
					> img {
						width: 50px;
						@media (width < 500px) {
							width: 35px;
						}
					}
					> h3 {
						color: #000;
						font-size: min(1.6rem, 6vw);
						line-height: 1.4;
						font-weight: 700;
						@media (width < 650px) {
							text-align: justify;
							> br {
								display: none;
							}
						}
					}
					> figure {
						transition: 0.2s;
						> img {
							width: 20px;
						}
					}
				}
				> div {
					overflow: hidden;
					> div {
						display: grid;
						grid-template-columns: 50px 1fr;
						column-gap: 10px;
						padding-bottom: 30px;
						@media (width < 500px) {
							padding-bottom: 20px;
							grid-template-columns: 35px 1fr;
						}
						> img {
							width: 50px;
							@media (width < 500px) {
								width: 35px;
							}
						}
						> p {
							font-size: min(1.2rem, 5vw);
							line-height: 1.6;
							color: #222;
							text-align: justify;
						}
					}
				}
			}	
		}
	}
}
@keyframes moreToggleOpen {
	0% {
		max-height: 0px;
	}
	80% {
		max-height: 100px;
	}
	90% {
		max-height: 200px;
	}
	100% {
		max-height: 9999px;
	}
}
@keyframes moreToggleClose {
	0% {
		max-height: 9999px;
	}
	10% {
		max-height: 200px;
	}
	20% {
		max-height: 100px;
	}
	100% {
		max-height: 0px;
	}
}
