section.panel {
	margin-top: 10px;
	> div {
		display: grid;
		padding-inline: 30px;
		@media (width < 650px) {
			padding-inline: unset;
		}
		> figure {
			grid-area: 1/1/2/2;
			> img {
				border-radius: 40px;
				max-width: 100%;
				width: 100%;
				@media (width < 650px) {
					border-radius: unset;
				}
			}
		}
		> div {
			padding-inline: 20px;
			grid-area: 1/1/2/2;
			align-self: center;
			justify-self: start;
			margin-bottom: 20%;
			@media (width < 1100px) {
				justify-self: center;
				align-self: end;
				margin-bottom: 20px;
			}
			> h2 {
				font-size: min(3.0rem, 6vw);
				line-height: 1.3;
				color: #333;
				font-weight: 900;
				letter-spacing: 0.05em;
				text-align: start;
				font-family: var(--font-serif);
				text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 5px #fff;
				@media (width < 1100px) {
					text-align: center;
				}
			}
			> p {
				font-size: min(1.3rem, 5.0vw);
				line-height: 1.3;
				color: var(--color-accent);
				font-weight: 800;
				letter-spacing: 0.1em;
				margin-top: 10px;
				text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 5px #fff;
				padding-left: 10px;
				@media (width < 1100px) {
					text-align: center;
				}
			}
		}
	}
}
section.subtitle {
	padding: 80px 5% 0px 5%;
	&.gray {
		background-color: #eff1f1;
	}
	&.pink {
		background-color: #f6e8ea;
	}
	> div {
		max-width: 1100px;
		margin-inline: auto;
		> div {
			display: flex;
			align-items: center;
			gap: 15px;
			> div {
				height: 2px;
				width: 12px;
				background-color: var(--color-accent);
			}
			> h2 {
				font-size: min(2.2rem, 7vw);
				line-height: 1.0;
				color: #333;
				font-weight: 600;
				font-family: var(--font-serif);
			}
		}
		> p {
			font-size: min(1.0rem, 5.0vw);
			line-height: 1.6;
			color: var(--color-accent);
			font-weight: 800;
			padding-top: 10px;
			padding-left: 25px;
		}
	}
}
section.move {
	padding: 100px 5% 100px 5%;
	> div {
		max-width: 1100px;
		margin-inline: auto;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		column-gap: 10px;
		row-gap: 10px;
		@media (width < 1010px) {
			grid-template-columns: repeat(2, 1fr);
		}
		@media (width < 670px) {
			grid-template-columns: repeat(1, 1fr);
		}
		> div {
			> a {
				display: grid;
				text-decoration: none;
				&:hover {
					> div {
						> p {
							background: url(./image/move.svg) no-repeat calc(100% - 15px) 50% / 12px, var(--color-accent);
						}
					}
				}
				> div {
					display: grid;
					background: url(./image/move.svg) no-repeat calc(100% - 15px) 50% / 12px, #768188;
					> p {
						align-self: center;
						padding: 15px 10px 15px 20px;
						font-size: min(1.0rem, 5vw);
						font-weight: 600;
						color: #fff;
					}
				}
			}
		}
	}
}
section.item {
	padding: 50px 5% 80px 5%;
	&.gray {
		background-color: #eff1f1;
	}
	> div {
		max-width: 1100px;
		margin-inline: auto;
		> article {
			padding-block: 30px;
			border-top: 1px solid #a7c0bd;
			&:last-of-type {
				border-bottom: 1px solid #a7c0bd;
			}
			> h3 {
				font-size: min(1.5rem, 6vw);
				line-height: 1.3;
				color: #333;
				font-weight: 500;
				text-indent: -1.7rem;
				padding-left: 1.7rem;
				> b {
					color: var(--color-accent);
				}
			}
			> p {
				padding-top: 10px;
				font-size: min(1.0rem, 5vw);
				line-height: 1.8;
				color: #333;
				font-weight: 500;
				text-indent: -1rem;
				padding-left: 1rem;
				text-align: justify;
				> b {
					color: var(--color-accent);
				}
				> a {
					text-decoration: none;
					color: #dc2850;
				}
			}
		}
	}
}
