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%;
				> img {
					width: 12vw;
					@media (width < 780px) {
						width: 160px;
					}
				}
			}
			> p {
				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;
			}

		}
	}
}
section.breadcrumbs {
	background-color: #fff;
}
section.top {
	padding: 60px 5% 0 5%;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		> h3 {
			text-align: center;
			font-size: min(2.4rem, 10vw);
			line-height: 1.2;
			color: var(--color-accent2);
			font-weight: 700;
			letter-spacing: 5px;
		}
		> p {
			margin-top: 30px;
			font-size: min(1.0rem, 5vw);
			line-height: 1.8;
			color: #222;
			text-align: justify;
		}
	}
}
section.content {
	padding: 60px 5% 0 5%;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		> article {
			margin-bottom: 50px;
			> h4 {
				padding-bottom: 10px;
				font-size: min(1.7rem, 7vw);
				line-height: 1.4;
				color: #222;
				font-weight: 700;
				position: relative;
				background-image: linear-gradient(to left,transparent 50%, var(--color-accent2) 50%);
				background-repeat: no-repeat;
				background-size: 100% 3px;
				background-position: 100% 100%;
				padding-left: 1.2em;
				text-indent: -1.2em;
				&.nonumber {
					padding-left: unset;
					text-indent: unset;
				}
				&::after {
					content: '';
					position: absolute;
					left: 50%;
					bottom: 1px;
					width: 50%;
					height: 1px;
					background-color: var(--color-accent2);
				}
			}
			> p {
				margin-top: 15px;
				font-size: min(1.0rem, 5vw);
				line-height: 1.8;
				color: #222;
				text-align: justify;
				&.block {
					text-align: unset;
				}
			}
			> div {
				margin-top: 20px;
				> p {
					margin-top: 5px;
					font-size: min(1.0rem, 5vw);
					line-height: 1.4;
					color: #222;
					text-align: justify;
					padding-left: 1.9em;
					text-indent: -1.9em;
				}
			}
		}
	}
}
section.link {
	padding: 60px 5% 60px 5%;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		column-gap: 40px;
		row-gap: 40px;
		> a {
			text-decoration: none;
			align-self: center;
			&:hover {
				opacity: 0.8;
			}
			&:nth-of-type(1) {
				> p {
					text-align: center;
					background-image: url(./image/link01.svg);
					background-repeat: no-repeat;
					background-position: calc(0% + 15px) 50%;
					padding: 25px 30px;
				}
			}
			&:nth-of-type(2),&:nth-of-type(3) {
				> p {
					text-align: unset;
					background-image: url(./image/link02.svg);
					background-repeat: no-repeat;
					background-position: calc(100% - 15px) 50%;
				}
			}
			&:nth-of-type(2) {
				> p {
					padding: 25px 30px;
				}
			}
			&:nth-of-type(3) {
				> p {
					padding: 12px 30px;
					line-height: 1.3;
				}
			}
			> p {
				padding: 25px 30px;
				min-height: 70px;
				min-width: 280px;
				user-select: none;
				background-color: var(--color-accent2);
				font-size: 1.1rem;
				line-height: 1.0;
				color: #fff;
			}
		}
	}
}
