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.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;
		}
		> div.bar {
			margin-top: 50px;
			display: grid;
			> figure {
				grid-area: 1/1/2/2;
				> img {
					position: relative;
					z-index: 1;
					filter: drop-shadow(0px 6px 10px rgba(0,0,0,0.5));
					max-width: 100%;
					height: 50px;
					object-fit: cover;
					object-position: 75% 50%;
				}
			}
			> h4 {
				position: relative;
				z-index: 2;
				padding: 10px 20px;
				grid-area: 1/1/2/2;
				align-self: center;
				font-size: min(1.8rem, 7vw);
				line-height: 1.0;
				color: #fff;
				font-weight: 700;
			}
		}
		> div.content01 {
			margin-top: 40px;
			max-width: 600px;
			margin-inline: auto;
			> h3 {
				font-size: min(1.9rem, 6vw);
				line-height: 1.4;
				color: #222;
				font-weight: 700;
				letter-spacing: 2px;
				@media (width < 660px) {
					text-align: center;
				}
			}
		}
		> div.content02 {
			margin-top: 40px;
			max-width: 600px;
			margin-inline: auto;
			> div {
				display: grid;
				grid-template-columns: 80px 1fr;
				column-gap: 20px;
				row-gap: 40px;
				@media (width < 660px) {
					grid-template-columns: 12% 1fr;
				}
				> h3 {
					font-size: min(1.9rem, 6vw);
					line-height: 1.4;
					color: #222;
					font-weight: 700;
					letter-spacing: 2px;
					&:nth-of-type(1) {
						color: var(--color-accent2);
					}
					&:nth-of-type(2) {
						color: #222;
					}
				}
			}
		}
		> div.content03 {
			margin-top: 40px;
			max-width: 800px;
			margin-inline: auto;
			padding-left: 10%;
			@media (width < 860px) {
				max-width: 600px;
				padding-left: unset;
			}
			> div {
				display: grid;
				grid-template-columns: auto 1fr;
				column-gap: 40px;
				row-gap: 20px;
				@media (width < 860px) {
					grid-template-columns: 1fr;
				}
				> h3 {
					font-size: 1.9rem;
					line-height: 1.0;
					color: #222;
					font-weight: 700;
					letter-spacing: 2px;
					&:nth-of-type(1) {
						color: var(--color-accent2);
					}
					&:nth-of-type(2) {
						color: #222;
					}
				}
				> p {
					font-size: min(1.0rem, 5vw);
					line-height: 1.8;
					color: #222;
					font-weight: 500;
					text-align: justify;
				}
			}
		}
	}
}
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: 25px 30px;
				}
			}
			> 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;
			}
		}
	}
}
