section.switchpanel {
	background-color: #eee;
	> div {
		max-width: 1920px;
		margin: 0 auto;
		overflow: hidden;
		> #switchPanelImage {
			user-select: none;
			display: grid;
			grid-template-rows: 1fr;
			grid-template-columns: 1fr;
			> div {
				grid-row: 1/2;
				grid-column: 1/2;
				&:nth-of-type(1) {
					z-index: 0;
				}
				&:nth-of-type(2) {
					z-index: 1;
					transition: 0.5s;
					cursor: ew-resize;
				}
				&:nth-of-type(3) {
					z-index: 2;
					justify-self: flex-end;
					align-self: end;
					display: flex;
					justify-content: center;
					align-items: center;
					column-gap: 5px;
					padding: 0 20px 20px 0;
					@media (width < 670px) {
						column-gap: 3px;
						padding: 0 3px 3px 0;
						> span {
							> img {
								width: 16px;
							}
						}
					}
					> span {
						transition: 0.3s;
						cursor: pointer;
						> img:nth-of-type(1) {
							display: block;
						}
						> img:nth-of-type(2) {
							display: none;
						}
						> img:nth-of-type(3) {
							display: none;
						}
						&.on {
							> img:nth-of-type(1) {
								display: none;
							}
							> img:nth-of-type(2) {
								display: block;
							}
							> img:nth-of-type(3) {
								display: none;
							}
						}
						&.next {
							> img:nth-of-type(1) {
								display: none;
							}
							> img:nth-of-type(2) {
								display: none;
							}
							> img:nth-of-type(3) {
								display: block;
							}
						}
					}
				}
				> a {
					> picture {
						> img {
							width: 100%;
						}
					}
				}
			}
		}
	}
}
section.quality {
	padding: 90px 5% 0 5%;
	> div {
		text-align: center;
		> img {
			max-width: 100%;
		}
	}
}
section.method {
	padding: 90px 5% 0 5%;
	> div {
		max-width: 1200px;
		margin-inline: auto;
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 100px;
		row-gap: 100px;
		@media (max-width:1019px) {
			grid-template-columns: 1fr;
		}
		> article {
			background-image: url(./image/bracket_left.svg);
			background-repeat: no-repeat;
			background-position: 0 0;
			> div {
				background-image: url(./image/bracket_right.svg);
				background-repeat: no-repeat;
				background-position: 100% 100%;
				padding: 50px;
				@media (max-width:359px) {
					padding: 30px;
				}
				> .subject {
					display: flex;
					justify-content: center;
					align-items: center;
					column-gap: 20px;
					> img {}
					> p {
						font-size: 3.0rem;
						line-height: 1.2;
						color: #222;
						font-weight: 700;
						@media (max-width:429px) {
							font-size: 2.2rem;
						}
					}
				}
				> .photo {
					margin-top: 30px;
					max-width: 607px;
					margin-inline: auto;
					> p {
						font-size: 1.5rem;
						line-height: 1.2;
						color: #222;
					}
					> img {
						margin-top: 20px;
						max-width: 100%;
					}
				}
				> .button {
					margin-top: 20px;
					text-align: center;
					> a {
						text-decoration: none;
						&:hover {
							opacity: 0.7;
						}
						> img {
							max-width: 100%;
						}
					}
				}
			}
		}
	}
}
section.facility {
	padding: 90px 5% 80px 5%;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		> a {
			text-decoration: none;
			&:hover {
				opacity: 0.7;
			}
			> img {
				max-width: 100%;
			}
		}
	}
}
section.inform {
	padding: 60px 5% 60px 5%;
	background-color: #eee;
	> div {
		max-width: 800px;
		margin: 0 auto;
		> h2 {
			text-align: center;
			font-size: 3.5rem;
			line-height: 1;
			color: #222;
		}
		> .list {
			margin-top: 10px;
			text-align: right;
			> a {
				text-decoration: none;
				font-size: 1.5rem;
				line-height: 1.2;
				color: #222;
				padding-left: 25px;
				min-height: 16px;
				background-image: url(./image/inform_list.svg);
				background-repeat: no-repeat;
				background-position: 0 50%;
				&:hover {
					opacity: 0.7;
				}
			}
		}
		> .inform {
			margin-top: 20px;
			> div {
				background-color: #fff;
				border-top: solid 3px #e50012;
				> a {
					text-decoration: none;
					display: block;
					padding: 20px 10px;
					border-top: solid 1px #ccc;
					transition: 0.15s;
					&:nth-of-type(1) {
						border-top: none;
					}
					&:hover {
						background-color: #eee;
					}
					> dl {
						display: grid;
						grid-template-columns: 100px 90px 1fr;
						row-gap: 5px;
						@media (max-width:599px) {
							grid-template-columns: 1fr;
						}
						> dt {
							> .date {
								display: inline-block;
								font-size: 1.5rem;
								line-height: 1.3;
								color: #666;
							}
							> .mark {
								margin-top: 5px;
								display: flex;
								> ce-inform-mark:nth-of-type(2) {
									margin-left: 4px;
								}
							}
						}
						> dd {
							> .subject {
								font-size: 1.5rem;
								line-height: 1.3;
								color: #222;
								font-weight: 500;
								@media (max-width:599px) {
									font-size: 1.4rem;
								}
							}
							> .body {
								margin-top: 5px;
								font-size: 1.4rem;
								line-height: 1.3;
								color: #666;
								font-weight: 400;
								@media (max-width:599px) {
									font-size: 1.3rem;
								}
							}
						}
					}
				}
			}
		}
	}
}
section.recruit {
	padding: 90px 5% 80px 5%;
	background-color: #37c;
	background-image: url(./image/recruit.webp);
	background-repeat: no-repeat;
	background-position: 50% 100%;
	background-size: contain;
	@media (max-width:479px) {
		padding: 70px 5% 30px 5%;
	}
	> div {
		max-width: 1000px;
		margin-inline: auto;
		> h2 {
			text-align: center;
			font-size: 4.8rem;
			line-height: 1.5;
			color: #fff;
			@media (max-width:619px) {
				font-size: 3.8rem;
			}
			@media (max-width:479px) {
				font-size: 2.2rem;
			}
		}
		> .button {
			margin-top: 20px;
			text-align: center;
			> a {
				text-decoration: none;
				&:hover {
					opacity: 0.7;
				}
				> img {}
			}
		}
		> h3 {
			height: 400px;
			display: flex;
			justify-content: center;
			align-items: flex-end;
			@media (max-width:619px) {
				height: 250px;
			}
			@media (max-width:479px) {
				height: 200px;
			}
			> div {
				text-align: center;
				font-size: 15.0rem;
				line-height: 1;
				color: #fff;
				font-weight: 700;
				font-family: var(--font-alphabet);
				@media (max-width:619px) {
					font-size: 10.0rem;
				}
				@media (max-width:479px) {
					font-size: 8.0rem;
				}
			}
		}
	}
}
section.contact {
	padding: 80px 5% 0px 5%;
	> div {
		max-width: 700px;
		margin: 0 auto;
		> h2 {
			text-align: center;
			font-size: 4.0rem;
			line-height: 1.2;
			color: #222;
		}
		> form {
			margin-top: 50px;
		}
		> #submitResult {
			background-color: var(--color-accent);
			font-size: 1.5rem;
			line-height: 1.6;
			color: #fff;
			padding: 10px 20px;
			border-radius: 3px;
			&:empty {
				display: none;
			}
			> b {
				font-size: 1.8rem;
				font-weight: 300;
			}
		}
	}
}
section.bottom_banner {
	padding: 100px 5% min(100px, 10vw) 5%;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 20px;
		> div {
			> a {
				text-decoration: none;
				&:hover {
					opacity: 0.7;
				}
				> img {
					max-width: 100%;
				}
			}
		}
	}
}
