section.panel {
	padding-top: 10px;
}
section.title {
	padding: 60px 5% 0px 5%;
	> div {
		text-align: center;
		> h1 {
			font-size: 2.4rem;
			line-height: 1.2;
			color: #000;
			font-weight: 600;
		}
	}
}
section.usage {
	padding: 60px 5% 60px 5%;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		> p {
			font-size: 1rem;
			line-height: 1.6;
			color: #111;
			> b {
				color: var(--color-accent2);
			}
		}
		> div {
			margin-top: 30px;
			border: solid 1px #aaa;
			padding-block: 30px;
			padding-inline: 60px;
			@media (width < 850px) {
				padding-inline: 5vw;
			}
			> h2 {
				text-align: center;
				font-size: 1.4rem;
				line-height: 1.3;
				color: #111;
			}
			> p {
				border-top: solid 1px #aaa;
				margin-top: 20px;
				padding-top: 20px;
				font-size: 1rem;
				line-height: 1.6;
				color: #111;
			}
			> div {
				margin-top: 40px;
				display: flex;
				justify-content: space-around;
				column-gap: 30px;
				row-gap: 20px;
				@media (width < 850px) {
					flex-direction: column;
				}
				> div {
					> a {
						display: inline-block;
						&:hover {
							opacity: 0.7;
						}
					}
					> p {
						margin-top: 5px;
						font-size: 0.8rem;
						line-height: 1.5;
						color: #222;
					}
				}
			}
		}
	}
}
section.schedule {
	padding: 60px 5% 60px 5%;
	background-color: #eee;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		> h2 {
			font-size: 1.2rem;
			line-height: 1.4;
			color: #111;
		}
		> figure {
			margin-top: 40px;
			> img {
				max-width: 100%;
			}
		}
	}
}
section.checkpoint {
	padding: 60px 5% 60px 5%;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		> h2 {
			display: flex;
			column-gap: 10px;
			align-items: center;
			> div {
				font-size: 1.2rem;
				line-height: 0.5;
				color: #fff;
				font-weight: 600;
				background-color: #f8c79c;
				border-radius: 100px;
				width: 40px;
				height: 40px;
				display: flex;
				justify-content: center;
				align-items: center;
			}
			> p {
				font-size: 1.2rem;
				line-height: 1.3;
				color: var(--color-accent2);
			}
		}
		> div {
			display: grid;
			grid-template-columns: 1fr 20px 50px;
			column-gap: 10px;
			padding-left: 50px;
			@media (width < 600px) {
				padding-left: 0px;
			}
			> div.content {
				> dl.normal {
					> div {
						margin-top: 30px;
						display: flex;
						> dt {
							font-size: 1.2rem;
							line-height: 1.5;
							color: #f8c79c;
							padding-right: 3px;
						}
						> dd {
							font-size: 1rem;
							line-height: 1.8;
							color: #111;
							> u {
								text-decoration: underline;
								font-weight: 600;
							}
						}
					}
				}
				> dl.red {
					> div {
						margin-top: 30px;
						display: flex;
						> dt {
							font-size: 1.2rem;
							line-height: 1.5;
							color: #d00;
							padding-right: 3px;
						}
						> dd {
							font-size: 1rem;
							line-height: 1.8;
							color: #d00;
						}
					}
				}
				> p.indent {
					margin-top: 5px;
					font-size: 1rem;
					line-height: 1.8;
					color: #111;
					padding-left: 1em;
					text-indent: -1em;
				}
				> p.offset {
					margin-top: 5px;
					font-size: 1rem;
					line-height: 1.8;
					color: #111;
					padding-left: 1em;
					> b {
						color: var(--color-accent2);
					}
					> u {
						font-weight: 500;
					}
				}
			}
			> div.bracket {
				border-style: solid solid solid none;
				border-width: 1px;
				border-color: var(--color-accent2);
			}
			> div.check {
				align-self: center;
				> label {
					display: flex;
					flex-direction: column;
					align-items: center;
					row-gap: 3px;
					cursor: pointer;
					> input {
						accent-color: var(--color-accent2);
					}
				}
			}
		}
	}
}
section.link {
	padding: 70px 5% 40px 5%;
	margin-top: 40px;
	margin-bottom: 60px;
	background-color: var(--color-accent2);
	text-align: center;
	> a {
		font-size: 2.0rem;
		line-height: 1.3;
		color: #fff;
		background-image: url(./image/arrow01.svg);
		background-repeat: no-repeat;
		background-position: 100% 65%;
		padding-right: 40px;
		cursor: pointer;
		&:hover {
			opacity: 0.7;
		}
	}
	> div {
		margin-top: 8px;
		> span {
			font-size: 1rem;
			line-height: 1.3;
			color: #d00;
			background-color: #fff;
			padding-block: 2px;
			padding-inline: 20px;
			border-radius: 50px;
			&:empty {
				opacity: 0;
			}
		}
	}
}
