:root {
	--font-serif: 'Zen Old Mincho',serif;
	--font-sans: 'Noto Sans JP',sans-serif;
	--font-alphabet: Roboto,sans-serif;
}
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 20px 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.sns {
	position: absolute;
	left: 10px;
	top: 10px;
	z-index: 2;
	> a {
		&:hover {
			opacity: 0.7;
		}
	}
}

section.message {
	padding: 60px 5% 0 5%;
	> div {
		max-width: 1000px;
		margin: 0 auto;
		text-align: center;
		font-size: 2.4rem;
		line-height: 1.5;
		color: #333;
		font-weight: 700;
	}
}

section.slide {
	padding: 60px 0 20px 0;
	margin: 0 auto;
	max-width: 1920px;
	overflow: hidden;
	> div {
		background-image: url(../image/ballback5.svg);
		@media (max-width:699px) {
			background-image: url(../image/ballback4.svg);
		}
		@media (max-width:499px) {
			background-image: url(../image/ballback3.svg);
		}
		@media (max-width:399px) {
			background-image: url(../image/ballback2.svg);
		}
		background-repeat: no-repeat;
		background-size: contain;
		background-position: 0 50%;
		height: 300px;
		width: min(100vw,1920px);
		> div {
			margin-left: min(calc(10vw - (73px / 2)),160px);
			@media (max-width:699px) {
				margin-left: calc(12.5vw - (73px / 2));
			}
			@media (max-width:499px) {
				margin-left: calc(16.65vw - (73px / 2));
			}
			@media (max-width:399px) {
				margin-left: calc(25vw - (73px / 2));
			}
			display: flex;
			> figure {
				width: min(20vw,calc(1920px / 5));
				min-width: min(20vw,calc(1920px / 5));
				@media (max-width:699px) {
					width: 25vw;
					min-width: 25vw;
				}
				@media (max-width:499px) {
					width: 33.3vw;
					min-width: 33.3vw;
				}
				@media (max-width:399px) {
					width: 50vw;
					min-width: 50vw;
				}
				> img {}
			}
		}
	}
}

section.button {
	padding: 0px 5% 0 5%;
	> div {
		margin: 0 auto;
		max-width: 1920px;
		text-align: center;
		> a {
			display: inline-block;
			text-decoration: none;
			font-size: 2.0rem;
			line-height: 1.2;
			color: #333;
			padding: 20px 80px;
			border: solid 1px #aaa;
			border-radius: 50px;
			background-image: url(../image/chevron_right.svg);
			background-repeat: no-repeat;
			background-position: right 20px top 50%;
			&:hover {
				opacity: 0.7;
			}
		}
	}
}

section.calender {
	padding: 80px 5% 0 5%;
	> div {
		margin: 0 auto;
		max-width: 1000px;
		text-align: center;
		> iframe {
			width: 100%;
			height: 600px;
			border: none;
		}
	}
}

section.movie {
	padding: 80px 5% 0 5%;
	> div {
		margin: 0 auto;
		max-width: 800px;
		text-align: center;
		> iframe {
			width: 100%;
			aspect-ratio: 16/9;
			border: none;
		}
		> div {
			margin-top: 7px;
			> a {
				display: inline-block;
				text-decoration: none;
				font-size: 1.5rem;
				color: #111;
				border: solid 1px #666;
				padding: 5px 10px;
				&:hover {
					opacity: 0.7;
				}
			}
		}
	}
}

section.banner {
	padding: 60px 5% 0 5%;
	> div {
		margin-inline: auto;
		max-width: 1920px;
		text-align: center;
		> a {
			display: inline-block;
			text-decoration: none;
			border: solid 1px #ccc;
			&:hover {
				opacity: 0.7;
			}
			> img {
				max-width: 100%;
			}
		}
	}
}

section.inform {
	padding: 120px 5% 40px 5%;
	background-image: url(../image/fig1.png);
	background-repeat: no-repeat;
	background-position: 80% 20px;
	@media (max-width:1019px) {
		background-image: none;
	}
	> div {
		max-width: 800px;
		margin: 0 auto;
		> h2 {
			text-align: center;
			font-size: 3.4rem;
			line-height: 1.2;
			color: #000;
			font-weight: 700;
			letter-spacing: 0.2em;
		}
		> .inform {
			margin-top: 30px;
			> div {
				> a {
					text-decoration: none;
					display: block;
					padding: 20px 10px;
					border-bottom: dotted 1px #666;
					&:nth-of-type(1) {
						border-top: dotted 1px #666;
					}
					&:hover {
						background-color: #f6f6f6;
					}
					> dl {
						display: grid;
						grid-template-columns: 130px 1fr;
						row-gap: 5px;
						@media (max-width:599px) {
							grid-template-columns: 1fr;
						}
						> dt {
							> .date {
								display: inline-block;
								font-size: 1.5rem;
								line-height: 1.2;
								color: #333;
								font-weight: 300;
								font-family: var(--font-alphabet);
							}
							> .mark {
								margin-top: 5px;
								display: flex;
								> ce-inform-mark:nth-of-type(2) {
									margin-left: 4px;
								}
							}
						}
						> dd {
							> .subject {
								font-size: 1.6rem;
								line-height: 1.3;
								color: #000;
								font-weight: 500;
								@media (max-width:599px) {
									font-size: 1.4rem;
								}
							}
							> .body {
								margin-top: 5px;
								font-size: 1.5rem;
								line-height: 1.3;
								color: #555;
								font-weight: 400;
								@media (max-width:599px) {
									font-size: 1.3rem;
								}
							}
						}
					}
				}
			}
		}
	}
}

section.panel {
	background-color: #eee;
	> div {
		max-width: 1920px;
		margin: 0 auto;
		> img {
			min-height: 200px;
			object-fit: cover;
			max-width: 100%;
		}
	}
}

section.about {
	padding: 110px 5% 50px 5%;
	background-image: url(../image/fig2.png);
	background-repeat: no-repeat;
	background-position: 50% 40px;
	@media (max-width:639px) {
		background-image: none;
	}
	> div {
		max-width: 900px;
		margin: 0 auto;
		> h2 {
			text-align: center;
			font-size: 3.4rem;
			line-height: 1.2;
			color: #000;
			font-weight: 700;
			letter-spacing: 0.2em;
		}
		> p {
			margin-top: 60px;
			font-size: 1.8rem;
			line-height: 2;
			color: #333;
			text-align: center;
		}
	}
}

section.factory {
	padding: 80px 5% 80px 5%;
	> div {
		max-width: 1000px;
		margin: 0 auto;
		> h2 {
			text-align: center;
			font-size: 3.4rem;
			line-height: 1.2;
			color: #000;
			font-weight: 700;
			letter-spacing: 0.2em;
		}
		> div {
			margin-top: 50px;
			display: grid;
			grid-template-columns: 1fr 1fr;
			column-gap: 20px;
			row-gap: 40px;
			@media (max-width:799px) {
				grid-template-columns: 1fr;
			}
			> div {
				> p {
					font-size: 1.6rem;
					line-height: 2;
					color: #333;
				}
				> a {
					margin-top: 30px;
					display: inline-block;
					text-decoration: none;
					font-size: 2.0rem;
					line-height: 1.2;
					color: #333;
					padding: 20px 80px;
					border: solid 1px #aaa;
					border-radius: 50px;
					background-image: url(../image/chevron_right.svg);
					background-repeat: no-repeat;
					background-position: right 20px top 50%;
					&:hover {
						opacity: 0.7;
					}
				}
			}
			> figure {
				text-align: center;
				> img {
					max-width: 100%;
				}
			}
		}
	}
}

section.experience {
	padding: 80px 5% 80px 5%;
	> div {
		max-width: 1000px;
		margin: 0 auto;
		> h2 {
			text-align: center;
			font-size: 3.4rem;
			line-height: 1.2;
			color: #000;
			font-weight: 700;
			letter-spacing: 0.2em;
		}
		> div {
			margin-top: 50px;
			display: grid;
			grid-template-columns: 1fr 1fr;
			column-gap: 20px;
			row-gap: 40px;
			@media (max-width:799px) {
				grid-template-columns: 1fr;
				> div:nth-of-type(1) {
					order: 2;
				}
				> div:nth-of-type(2) {
					order: 1;
				}
			}
			> div {
				> figure {
					margin-top: 10px;
					> img {
						max-width: 100%;
					}
				}
				> p {
					font-size: 1.6rem;
					line-height: 2;
					color: #333;
				}
				> a {
					margin-top: 30px;
					display: inline-block;
					text-decoration: none;
					font-size: 2.0rem;
					line-height: 1.2;
					color: #333;
					padding: 20px 80px;
					border: solid 1px #aaa;
					border-radius: 50px;
					background-image: url(../image/chevron_right.svg);
					background-repeat: no-repeat;
					background-position: right 20px top 50%;
					&:hover {
						opacity: 0.7;
					}
				}
			}
		}
	}
}

section.english {
	padding: 80px 5% 90px 5%;
	> div {
		max-width: 700px;
		margin: 0 auto;
		> p {
			font-size: 1.8rem;
			line-height: 1.3;
			color: #333;
			text-align: center;
			font-weight: 700;
		}
		> a {
			margin-top: 20px;
			display: inline-block;
			text-decoration: none;
			&:hover {
				opacity: 0.7;
			}
			> img {
				max-width: 100%;
			}
		}
	}
}

section.store {
	padding: 80px 5% 80px 5%;
	background-image: url(../image/paper.webp);
	> div {
		max-width: 900px;
		margin: 0 auto;
		> h2 {
			text-align: center;
			font-size: 3.4rem;
			line-height: 1.2;
			color: #000;
			font-weight: 700;
			letter-spacing: 0.2em;
		}
		> figure.photo {
			margin-top: 30px;
			text-align: center;
			> img {
				max-width: 100%;
			}
		}
		> h1 {
			margin-top: 30px;
			text-align: center;
			font-size: 3.0rem;
			line-height: 1;
			color: #000;
			font-family: var(--font-serif);
			font-weight: 700;
			letter-spacing: 0.2em;
			@media (max-width:389px) {
				font-size: 2.6rem;
				letter-spacing: 0em;
			}
		}
		> dl {
			max-width: 500px;
			margin: 50px auto 0 auto;
			> div {
				display: grid;
				grid-template-columns: 120px 1fr;
				@media (max-width:579px) {
					grid-template-columns: 1fr;
				}
				&:nth-of-type(1) {
					> dt {
						letter-spacing: 2em;
					}
				}
				&:nth-of-type(3) {
					> dt {
						letter-spacing: 0.5em;
					}
				}
				> dt {
					font-size: 1.8rem;
					line-height: 1.8;
					color: #333;
					padding: 10px 0;
					font-weight: 700;
					@media (max-width:579px) {
						padding: 10px 0 0px 0;
					}
				}
				> dd {
					font-size: 1.8rem;
					line-height: 1.8;
					color: #333;
					font-weight: 700;
					border-left: solid 2px #aaa;
					padding: 10px 0 10px 20px;
					@media (max-width:579px) {
						border-left: none;
						padding: 0px 0 10px 0px;
						font-weight: 400;
					}
					@media (max-width:399px) {
						font-size: 1.6rem;
					}
				}
			}
		}
		> figure.map {
			margin-top: 30px;
			text-align: center;
			> img {
				max-width: 100%;
			}
		}
		> iframe {
			margin-top: 50px;
			border: none;
			width: 100%;
			height: 500px;
		}
	}
}
