section.panel {
	> div {
		margin-inline: auto;
		max-width: 1920px;
		> figure {
			> img {
				max-width: 100%;
			}
		}
	}
}
section.ooworks {
	padding: 60px 5% 100px 5%;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		> h2 {
			font-size: min(3.5rem, 8.0vw);
			line-height: 1.3;
			color: #fff;
			font-weight: 600;
			letter-spacing: 2px;
			text-align: center;
			font-family: var(--font-en);
		}
		> p {
			font-size: min(1.2rem, 5.0vw);
			line-height: 1.8;
			color: #b00;
			font-weight: 600;
			text-align: center;
			padding-bottom: 40px;
		}
		> figure {
			padding-block: 10px 30px;
			text-align: center;
			> img {
				max-width: 100%;
			}
		}
		> h3 {
			margin-top: 20px;
			text-align: center;
			font-size: min(1.6rem, 6.0vw);
			line-height: 3.0;
			color: #fff;
		}
	}
}
section.content {
	padding: 60px 5% 100px 5%;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		> h2 {
			font-size: min(3.5rem, 8.0vw);
			line-height: 1.3;
			color: #fff;
			font-weight: 600;
			letter-spacing: 2px;
			text-align: center;
			font-family: var(--font-en);
		}
		> p {
			font-size: min(1.2rem, 5.0vw);
			line-height: 1.8;
			color: #b00;
			font-weight: 600;
			text-align: center;
			padding-bottom: 40px;
		}
		> figure {
			padding-block: 10px 30px;
			text-align: center;
			> img {
				max-width: 100%;
			}
		}
		> article {
			display: grid;
			margin-bottom: 80px;
			&:last-of-type {
				margin-bottom: 0px;
			}
			> div:nth-of-type(1) {
				grid-area: 1/1/2/2;
				width: 100%;
				height: 100%;
				margin-top: 10px;
				margin-left: 10px;
				border: 1px solid #323232;
			}
			> div:nth-of-type(2) {
				grid-area: 1/1/2/2;
				background-color: #323232;
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				column-gap: 50px;
				padding-block: 80px;
				@media (width < 990px) {
					padding-block: 50px;
				}
				@media (width < 850px) {
					grid-template-columns: repeat(1, 1fr);
					row-gap: 50px;
				}
				@media (width < 530px) {
					padding-block: 20px;
					row-gap: 20px;
				}
				> div {
					display: grid;
					@media (width < 850px) {
						order: 2;
					}
					> div {
						padding-left: 80px;
						@media (width < 990px) {
							padding-left: 50px;
						}
						@media (width < 850px) {
							padding-inline: 50px;
						}
						@media (width < 530px) {
							padding-inline: 20px;
						}
						> h2 {
							padding-bottom: 10px;
							margin-bottom: 10px;
							font-size: min(1.7rem, 6.0vw);
							line-height: 1.0;
							color: #fff;
							font-weight: 600;
							border-bottom: 1px solid #a70000;
						}
						> p {
							font-size: min(1.0rem, 5.0vw);
							line-height: 2.0;
							color: #fff;
							text-align: justify;
						}
					}
					> div.link {
						padding-top: 10px;
						align-self: end;
						@media (width < 850px) {
							padding-top: 20px;
							justify-self: center;
						}
						> a {
							display: inline-block;
							width: auto;
							text-align: center;
							text-decoration: none;
							line-height: 60px;
							outline: none;
							background-color: #000;
							position: relative;
							transition: color 0.5s ease;
							&:hover {
								&::before {
									transform: scaleX(1);
									transform-origin: left;
								}
							}
							&::before {
								position: absolute;
								top: 0;
								left: 0;
								content: "";
								display: block;
								width: 100%;
								height: 100%;
								background: #a70000;
								transform: scaleX(0);
								transform-origin: right;
								transition: all 0.5s ease;
								transition-property: transform;
							}
							> div {
								padding: 20px 30px;
								position: relative;
								display: flex;
								justify-content: space-between;
								align-items: center;
								column-gap: 20px;
								@media (width < 380px) {
									padding: 15px;
									column-gap: 10px;
								}
								> p {
									font-size: min(1.1rem, 5.0vw);
									line-height: 1.0;
									color: #fff;
								}
								> img {
									width: 12px;
								}
							}
						}
					}
				}
				> figure {
					@media (width < 850px) {
						order: 1;
						padding: 0px 50px;
					}
					@media (width < 530px) {
						order: 1;
						padding: 0px 20px;
					}
					> img {
						max-width: 100%;
					}
				}
			}
		}
	}
}
