section.panel {
	> div {
		display: grid;
		> figure {
			grid-area: 1/1/2/2;
			> img {
				max-width: 100%;
				width: 100%;
			}
		}
		> div {
			margin-top: 50px;
			grid-area: 1/1/2/2;
			align-self: center;
			justify-self: center;
			@media (width < 550px) {
				margin-top: 30px;
			}
			> h2 {
				font-size: min(3.5rem, 8vw);
				line-height: 1.3;
				color: #333;
				font-weight: 900;
				letter-spacing: 0.05em;
				text-align: center;
				font-family: var(--font-en);
			}
			> p {
				font-size: min(1.4rem, 6vw);
				line-height: 1.3;
				color: #333;
				font-weight: 800;
				letter-spacing: 0.1em;
				text-align: center;
				margin-top: 20px;
				@media (width < 550px) {
					margin-top: 10px;
				}
			}
		}
	}
}
section.breadcrumbs {
	padding-block: 15px;
	> div {
		max-width: 1000px;
	}
}
section.link {
	background-color: #f1f2ea;
	padding: min(100px,15vw) 5% 50px 5%;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		column-gap: 20px;
		row-gap: 40px;
		@media (width < 660px) {
			grid-template-columns: repeat(1, 1fr);
			row-gap: 80px;
		}
		> article {
			display: grid;
			row-gap: 10px;
			@media (width < 660px) {
				padding-inline: 8%;
			}
			@media (width < 560px) {
				padding-inline: unset;
			}
			> div.link {
				> a {
					text-decoration: none;
					&:hover {
						opacity: 0.8;
					}
					> figure {
						display: grid;
						justify-self: center;
						> img {
							&:nth-of-type(1) {
								grid-area: 1/1/2/2;
								max-width: 100%;
								border-radius: 30px;
							}
							&:nth-of-type(2) {
								grid-area: 1/1/2/2;
								align-self: end;
								justify-self: end;
								margin-bottom: 15px;
								margin-right: 15px;
								width: 40px;
							}
						}
					}
				}
			}
			> p {
				align-self: center;
				font-size: min(1.0rem, 5vw);
				font-weight: 600;
				line-height: 1.2;
				color: #1f3d7e;
			}
			> h3 {
				font-size: min(1.3rem, 6vw);
				font-weight: 600;
				line-height: 1.6;
				color: #333;
			}
			> div.info {
				margin-top: 10px;
				background-color: #333333;
				display: grid;
				grid-template-columns: repeat(2, auto);
				align-items: center;
				justify-self: start;
				> h4 {
					margin-block: 10px;
					padding: 5px 20px;
					font-size: min(1.6rem, 6vw);
					font-weight: 600;
					line-height: 1.2;
					color: #b8d6fb;
					border-right: 1px solid #fff;
					letter-spacing: 0.1rem;
				}
				> p {
					padding: 20px;
					align-self: center;
					font-size: min(1.0rem, 5vw);
					font-weight: 600;
					line-height: 1.2;
					color: #fff;
				}
			}
		}
	}
}
section.content {
	padding: 100px 5% 130px 5%;
	&.bg01 {
		background: url(./image/bg01.svg) no-repeat 0% 0% / min(1200px, 90%);
	}
	&.bg02 {
		background: url(./image/bg02.svg) no-repeat 100% 0% / min(1200px, 90%);
	}
	&.bg03 {
		background: url(./image/bg03.svg) no-repeat 0% 0% / min(1200px, 90%);
	}
	&.bg04 {
		background: url(./image/bg04.svg) no-repeat 100% 0% / min(1200px, 90%);
	}
	> div {
		max-width: 1000px;
		margin-inline: auto;
		> div.top {
			margin-top: min(2vw, 100px);
			display: grid;
			&.right {
				> div {
					align-self: start;
					justify-self: end;
					@media (width < 730px) {
						justify-self: start;
					}
				}
			}
			&.left {
				> div {
					align-self: start;
					justify-self: start;
				}
			}
			&.ry {
				> div {
					margin-top: 30px;
					margin-right: 30px;
					@media (width < 730px) {
						margin-top: 10px;
						margin-right: unset;
					}
				}
			}
			&.to {
				> div {
					margin-top: 10%;
					margin-left: 30px;
					@media (width < 730px) {
						margin-top: 10px;
						margin-left: unset;
					}
				}
			}
			&.mk {
				> div {
					margin-top: 15%;
					margin-right: 30px;
					@media (width < 730px) {
						margin-top: 10px;
						margin-right: unset;
					}
				}
			}
			&.an {
				> div {
					margin-top: 30px;
					margin-left: 30px;
					@media (width < 730px) {
						margin-top: 10px;
						margin-left: unset;
					}
				}
			}
			> figure {
				grid-area: 1/1/2/2;
				@media (width < 730px) {
					grid-area: unset;
				}
				> img {
					max-width: 100%;
				}
			}
			> div {
				grid-area: 1/1/2/2;
				display: grid;
				@media (width < 730px) {
					grid-area: unset;
				}
				> h2 {
					justify-self: start;
					padding: 10px 20px;
					background-color: #0075c1;
					font-size: min(1.6rem, 6vw);
					font-weight: 600;
					line-height: 1.2;
					color: #fff;
					letter-spacing: 0.2rem;
					margin-bottom: 10px;
					@media (width < 730px) {
						margin-bottom: 5px;
					}
				}
			}
		}
		> div.info {
			margin-top: 10px;
			display: flex;
			align-items: end;
			column-gap: 30px;
			flex-wrap: wrap;
			row-gap: 10px;
			> p {
				font-size: min(1.2rem, 5.5vw);
				font-weight: 600;
				line-height: 1.2;
				color: #1f3d7e;
				> small {
					font-size: min(0.9rem, 4.5vw);
					color: #333;
				}
			}
			> div {
				display: flex;
				column-gap: 30px;
				align-items: end;
				> h3 {
					font-size: min(2.0rem, 7vw);
					font-weight: 600;
					line-height: 1.2;
					color: #333;
					letter-spacing: 0.1rem;
				}
				> p {
					font-size: min(1.2rem, 5.5vw);
					font-weight: 600;
					line-height: 1.2;
					color: #1f3d7e;
					> small {
						font-size: min(0.9rem, 4.5vw);
						color: #333;
					}
				}
			}
		}
		> article {
			margin-top: 50px;
			display: grid;
			column-gap: 40px;
			&.pattern01 {
				grid-template-columns: 1.3fr 1fr;
				@media (width < 760px) {
					grid-template-columns: 1fr;
				}
			}
			&.pattern02 {
				grid-template-columns: 1fr 1.3fr;
				@media (width < 760px) {
					grid-template-columns: 1fr;
					> figre {
						order: 2;
					}
				}
			}
			> figure {
				@media (width < 760px) {
					margin-block: 40px;
				}
				> img {
					max-width: 100%;
				}
			}
			> div {
				> h4 {
					font-size: min(1.6rem, 6vw);
					font-weight: 500;
					line-height: 1.2;
					color: #0075c1;
				}
				> p {
					margin-top: 10px;
					font-size: min(1.0rem, 5vw);
					line-height: 1.8;
					color: #333;
					text-align: justify;
				}
			}
		}
	}
}
