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

	--color-accent: #1c2d52;
}
/*
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.info {
	padding: 30px 5% 10px 5%;
	background-color: #1c2d52;
	> div {
		> figure {
			padding-inline: 10px;
			> img {
				width: 100%;
				max-width: 100%;
			}
			> a {
				> img {
					width: 100%;
					max-width: 100%;
				}
			}
		}
		> div.block {
			padding: 10px;
			border-bottom: 1px solid #fff;
			> h3 {
				text-align: center;
				font-size:  min(1.2rem, 5.5vw);
				line-height: 1.5;
				color: #fff;
				> small {
					font-size: 1.1rem;
				}
			}
		}
		> div.tel {
			padding: 10px 20px;
			> p {
				font-size: min(1.0rem, 4.5vw);
				line-height: 1.5;
				color: #fff;
			}
			> figure {
				padding-block: 5px;
				> a {
					&:hover {
						opacity: 0.8;
					}
					> img {
						width: 100%;
						max-width: 100%;
					}
				}
			}
		}
	}
}
footer.copyright {
	padding: 10px 5% 10px 5%;
	background-color: #1c2d52;
	> small {
		display: block;
		text-align: center;
		font-size: min(0.9rem,4vw);
		line-height: 1.3;
		color: #808080;
	}
}
