body.admin-bar header {
	padding-top: 48px;
}

header {
	.wrap {
		padding: 0.5em;
	}
	.sp_menu {
		display: block;
		margin: 0;
		img {
			width: 2em;
			height: 2em;
		}
	}
	.logo {
		max-width: 250px;
	}
	.header_menu {
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		background-color: #fff;
		flex-direction: column;
		gap: 0;
		border-top: 1px solid #ccc;
		transition: 0.3s transform;
		transform-origin: top;
		transform: scaleY(0);
		&.open {
			transform: scaleY(1);
		}
		li {
			border-bottom: 1px solid #ccc;
		}
		a {
			display: block;
			text-align: center;
			padding: 0.5em;
			color: #000;
		}
	}
}

footer {
	.contact_section {
		.wrap {
			flex-direction: column;
		}
		.intro {
			padding-right: 0;
			margin-right: 0;
			border-right: none;
			margin-bottom: 2em;
			padding-bottom: 2em;
			border-bottom: 4px solid var(--accent_color3);
			.section_title {
				.en {
					font-size: calc(40 * var(--px));
				}
			}
			.text {
				margin-left: 1em;
				&.pc {
					display: none;
				}
				&.sp {
					display: block;
				}
			}
		}
		.contact {
			.tel {
				.num {
					a {
						font-size: calc(40 * var(--px));
					}
				}
			}
		}
	}
	.nav_section {
		.wrap {
			.top_wrap {
				flex-direction: column;
			}
		}
		.footer_menu {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
		}
		.buttons {
			flex-direction: column;
			gap: 1em;
			align-items: center;
			p {
				margin: 0;
			}
		}
	}
}

#index_page {
	.list {
		margin-top: 2em;
		a {
			display: grid;
			grid-template-columns: 6em 1fr;
			gap: 0.5em;
		}
		.date {
			width: auto;
		}
		.title {
			grid-column: span 2;
		}
	}
}
.page_container {
	.page_header {
		min-height: 200px;
		.jp {
			font-size: calc(30 * var(--px));
			margin: 0;
			padding-top: 30px;
		}
		.en {
			font-size: calc(16 * var(--px));
			margin: 0;
		}
	}
}