/*
config
*/
:root {
	--font-sans: "Noto Sans JP",sans-serif;
	/*--font-serif: "Noto Serif JP",serif;*/
	--font-en: Oswald,sans-serif;

	--color-accent: #f29600;
}
/*
html
*/
html {
	overflow-y: scroll;
	overflow-x: hidden;
	background-color: #fff;
	> body {
		margin: 0;
		font-family: var(--font-sans);
		font-feature-settings: "palt" 1;
		line-break: strict;
		overflow-x: hidden;
		background-color: #fff;
		min-height: 100vh;
		scroll-behavior: smooth;
		text-rendering: optimizeSpeed;
	}
}
/*
main
*/
main {
}
/*
header
*/
header {
}
@keyframes submenuArrowMove {
	0% {
		background-position: right 10px top 58%;
	}
	25% {
		background-position: right 10px top 70%;
	}
	50% {
		background-position: right 10px top 58%;
	}
	75% {
		background-position: right 10px top 46%;
	}
	100% {
		background-position: right 10px top 58%;
	}
}
@keyframes toggleHamburgerMenuClose1 {
	0% {	transform: translateY(-13px) rotate(0deg);	}
	50% {	transform: translateY(0px) rotate(0deg);	}
	100% {	transform: translateY(0px) rotate(45deg);	}
}
@keyframes toggleHamburgerMenuClose2 {
	0% {	opacity: 1;	}
	50% {	opacity: 1;	}
	50.1% {	opacity: 0;	}
	100% {	opacity: 0;	}
}
@keyframes toggleHamburgerMenuClose3 {
	0% {	transform: translateY(13px) rotate(0deg);	}
	50% {	transform: translateY(0px) rotate(0deg);	}
	100% {	transform: translateY(0px) rotate(-45deg);	}
}
@keyframes toggleHamburgerMenuOpen1 {
	0% {	transform: translateY(0px) rotate(45deg);	}
	50% {	transform: translateY(0px) rotate(0deg);	}
	100% {	transform: translateY(-13px) rotate(0deg);	}
}
@keyframes toggleHamburgerMenuOpen2 {
	0% {	opacity: 0;	}
	50% {	opacity: 0;	}
	50.1% {	opacity: 1;	}
	100% {	opacity: 1;	}
}
@keyframes toggleHamburgerMenuOpen3 {
	0% {	transform: translateY(0px) rotate(-45deg);	}
	50% {	transform: translateY(0px) rotate(0deg);	}
	100% {	transform: translateY(13px) rotate(0deg);	}
}
/*
footer
*/
footer.link {
	padding: 30px 5% 0px 5%;
	background-color: #fff;
	> div {
		display: grid;
		align-items: center;
		grid-template-columns: 150px 1fr;
		column-gap: 40px;
		row-gap: 20px;
		@media (width < 700px) {
			grid-template-columns: 1fr;
		}
		> figure {
			max-width: 150px;
			margin-inline: auto;
			> img {
				width: 100%;
				max-width: 100%;
			}
		}
		> dl {
			display: flex;
			flex-direction: column;
			row-gap: 10px;
			> div {
				display: flex;
				align-items: center;
				column-gap: 10px;
				@media (width < 700px) {
					justify-content: center;
				}
				@media (width < 500px) {
					flex-direction: column;
					align-items: center;
					row-gap: 10px;
				}
				> dt {
					> a {
						text-decoration: none;
						font-size: 0.9rem;
						line-height: 1;
						color: #111;
						&:hover {
							text-decoration: underline;
						}
					}
				}
				> dd {
					font-size: 0.9rem;
					line-height: 1;
					color: #111;
					@media (width < 500px) {
						display: none;
					}
				}
			}
		}
	}
}
footer.copyright {
	padding: 20px 5% 30px 5%;
	background-color: #fff;
	> small {
		display: block;
		text-align: center;
		font-size: min(0.9rem,5vw);
		line-height: 1.3;
		color: #888;
	}
}
