body > footer {
	width:100%;
	overflow-x:hidden;
}
body > footer .contact-area {
	padding:4vw 6vw;
	border-bottom:solid 1px var(--color-lightgray);
	margin-bottom:4vw;
}
body > footer .contact-area h3 + p {
	margin-top:calc(var(--margin) / 2);
}
body > footer .contact-area .button {
	width:100%;
}

body > footer .contact-area dl {
	margin-top:20px;
}
body > footer .contact-area dl div dt {
	font-size:0.6em;
	line-height:1.1;
	display:flex;
	align-items: center;
	justify-content: center;
	background:var(--color-gray);
	color:var(--color-white);
	padding:4px 10px;
	border-radius:var(--radius-inner);
	font-weight:bold;
}
body > footer .contact-area dl div dd {
	font-size:2.2em;
	line-height:1.1;
	padding-bottom:5px;
	font-family: "Hina Mincho", serif;
}

body > footer h1 {
	font-family: "Noto Sans JP", sans-serif;
	font-size:1.4em;
}
body > footer h1 img {
	width:60px;
}
body > footer nav {
	padding:4vw;
	text-align:center;
}
body > footer nav li {
	display:inline-block;
	padding:10px;
}
body > footer nav a {
	padding:10px 0;
	display:flex;
	gap:5px;
	align-items: center;
}
body > footer nav a::after {
	content:'';
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	height:1px;
	background: var(--color-lightgray);
	transition: calc(var(--transition) / 2);
}
body > footer nav a:hover {
	color:var(--color-blue);
}
body > footer nav a:hover::after {
	width:100%;
}

body > footer h2 {
	font-size:clamp(20px, 6vw, 40px);
	font-family: "Hina Mincho", serif;
	text-align:center;
	color:var(--color-white);
	background:var(--color-dark-glass);
	padding:var(--padding);
}
body > footer > p:last-of-type {
	background:var(--color-darkgray);
	color:var(--color-white);
	font-size:0.8em;
	text-align:center;
}



@media (max-width : 720px) {
	body > footer .contact-area {
		flex-direction: column;
		padding:var(--padding) 0;
	}
	body > footer .contact-area > * {
		width:100%;
	}
	body > footer .contact-area h3 {
		text-align:center;
	}
}
@media (max-width : 520px) {
	body > footer > p:last-of-type {
		padding-bottom:60px;
	}

	body > footer nav {
		padding:var(--padding) 0;
		text-align:left;
	}
	body > footer nav ul {
		display:grid;
		grid-template-columns: repeat(2, 1fr);
		gap:10px;
	}
	body > footer nav ul li {
		padding:0;
		border-bottom:solid 1px var(--color-lightgray);
	}
}