body.admin-bar header {
	padding-top: 32px;
	z-index: 999;
}

header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	.wrap {
		max-width: 1325px;
		margin-left: auto;
		margin-right: auto;
		padding: 1em;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.logo {
		max-width: 380px;
		margin: 0;
		font-size: 0;
		img {
			width: 100%;
			height: auto;
		}
	}
	.header_menu {
		margin: 0;
		padding-left: 0;
		list-style-type: none;
		display: flex;
		gap: 1em;
		font-size: calc(20 * var(--px));
		a {
			text-decoration: none;
			color: #fff;
		}
	}
	.sp_menu {
		display: none;
	}
}

footer {
	margin-top: 3em;
	.contact_section {
		background-color: #BEEAFFB2;
		padding: 2em 1em;
		.wrap {
			max-width: var(--content_width);
			margin-inline: auto;
			display: flex;
		}
		.intro {
			flex: 1;
			border-right: 4px solid var(--accent_color3);
			margin-right: 3em;
			box-sizing: border-box;
			padding-right: 3em;
			.section_title {
				color: var(--accent_color3);
				display: flex;
				flex-direction: column;
				gap: 0.5em;
				.en {
					margin: 0;
					font-size: calc(50 * var(--px));
					font-weight: bold;
				}
				.jp {
					font-size: calc(20 * var(--px));
					margin: 0;
				}
			}
			.text {
				margin-top: 3em;
				margin-left: 3em;
				color: var(--accent_color3);
				line-height: 1.8em;
				font-weight: bold;
				&.sp {
					display: none;
				}
			}
		}
		.contact {
			flex: 1.5;
			.title {
				font-size: calc(16 * var(--px));
			}
			.tel {
				.num {
					margin: 0;
					font-weight: bold;
					a {
						font-size: calc(55 * var(--px));
						color: var(--accent_color3);
						text-decoration: none;
						display: flex;
						justify-content: center;
						align-items: center;
						gap: 0.1em;
						&::before {
							content: "";
							background-image: url("../images/footer/tel.png");
							background-repeat: no-repeat;
							background-size: contain;
							background-position: center;
							width: 1em;
							height: 1em;
						}
					}
				}
			}
			.mail {
				.link {
					text-align: center;
					a {
						font-size: calc(24 * var(--px));
						color: #fff;
						text-decoration: none;
						background-color: var(--accent_color3);
						padding: 0.5em 1em;
						display: inline-flex;
						align-items: center;
						gap: 0.5em;
						font-weight: bold;
						&::before {
							content: "";
							background-image: url("../images/footer/mail.svg");
							background-repeat: no-repeat;
							background-size: contain;
							background-position: center;
							width: 1em;
							height: 1em;
						}
					}
				}
			}
		}
	}
	.nav_section {
		background-color: var(--accent_color1);
		padding: 2em 1em;
		.wrap {
			max-width: 1035px;
			margin-inline: auto;
		}
		.top_wrap {
			border-bottom: 1px solid #fff;
			padding-bottom: 2em;
			margin-bottom: 2em;
			display: flex;
			justify-content: space-between;
			align-items: center;
			color: #fff;
			font-size: calc(20 * var(--px));
			.logo {
				max-width: 350px;
				margin: 0;
				img {
					width: 100%;
					height: auto;
				}
			}
			address {
				font-style: normal;
				margin: 0;
				line-height: 1.8em;
			}
			.tel {
				margin: 0;
				line-height: 1.8em;
			}
		}
		.footer_menu {
			columns: 4;
			column-gap: 3rem;
			max-width: 800px;
			margin-inline: auto;
			padding-left: 0;
			list-style-type: none;
			li {
				margin-bottom: 1em;
			}
			a {
				color: #fff;
				text-decoration: none;
				display: flex;
				align-items: center;
				gap: 0.5em;
				&::before {
					content: '▶';
				}
			}
		}
		.buttons {
			display: flex;
			justify-content: center;
			gap: 3em;
			margin-top: 2em;
			p {
				max-width: 267px;
				width: 100%;
				a {
					padding: 0.7em 1em;
					box-sizing: border-box;
					background-color: #fff;
					color: var(--accent_color2);
					text-decoration: none;
					display: flex;
					align-items: center;
					justify-content: center;
					gap: 0.5em;
					font-size: calc(24 * var(--px));
					&::before {
						content: "";
						background-repeat: no-repeat;
						background-size: contain;
						background-position: center;
						width: 1em;
						height: 1em;
					}
				}
				&.mail {
					a::before {
						background-image: url("../images/footer/contact.svg");
					}
				}
				&.entry {
					a::before {
						background-image: url("../images/footer/entry.svg");
					}
				}
			}
		}
	}
	.copyright {
		margin: 0;
		padding: 1em;
		background-color: #0D3344;
		color: #fff;
		text-align: center;
		font-size: calc(13 * var(--px));
	}
}

.page_container {
	.page_header {
		min-height: 400px;
		text-align: center;
		color: #fff;
		background-color: var(--accent_color3);
		background-size: cover;
		background-position: center;
		flex-direction: column;
		display: flex;
		justify-content: center;
		gap: 0.5em;
		.jp {
			font-size: calc(48 * var(--px));
			margin: 0;
			padding-top: 1em;
		}
		.en {
			font-size: calc(20 * var(--px));
			margin: 0;
		}
	}
	.page_content {
		margin-inline: auto;
		max-width: var(--content_width);
	}
}

#index_page {
	.list {
		list-style-type: none;
		padding-left: 0;
		margin: 0;
		max-width: 578px;
		margin-inline: auto;
		border-top: 1px dashed #6F6C6C;
		li {
			border-bottom: 1px dashed #6F6C6C;
		}
		a {
			display: flex;
			align-items: center;
			gap: 2em;
			padding: 1em;
			color: var(--text_color);
			text-decoration: none;
		}
		p {
			margin: 0;
			font-weight: bold;
			line-height: 1.4em;
			font-size: calc(15 * var(--px));
		}
		.date {
			width: 5em;
		}
		.category {
			width: 5em;
			background-color: #51A1D6;
			color: #fff;
			text-align: center;
			padding: 0.2em 0.5em;
		}
		.title {
			flex: 1;
			line-height: 1.8em;
		}
	}
	.nav-links {
		display: flex;
		align-items: center;
		justify-content: center;
		margin-top: 3em;
		flex-wrap: wrap;
		gap: 0.5em;
		.page-numbers {
			padding: 0.5em;
			display: flex;
			align-items: center;
			justify-content: center;
			border: 1px solid var(--accent_color1);
		}
		a {
			text-decoration: none;
			color: var(--accent_color1);
		}
	}
}

#single_page {
	.page_content {
		line-height: 1.8em;
	}
	.tags {
		display: flex;
		gap: 0.5em;
		align-items: center;
		.category {
			font-weight: bold;
			width: 5em;
			background-color: #51A1D6;
			color: #fff;
			text-align: center;
			padding: 0.2em 0.5em;
		}
	}
	.return {
		margin-top: 3em;
		text-align: right;
		a {
			color: var(--accent_color1);
		}
	}
}
section.bg-gray{
	background:#EFF3F8;
}
section .section_inner{
		position: relative;
		z-index: 2;
		max-width: var(--content_width);
		margin: auto;
	padding: 4em 0;
}
section .section_inner h2.section_title{
		font-size:36px;
		font-weight:bold;
		color:#2B5D9B;
	margin: 0 auto 1em;
}
@media (max-width: 768px) {
	section .section_inner{
	padding: 3em 2em;
}
	section .section_inner h2.section_title{
		font-size: calc(30 * var(--px));
}
}
section .section_inner .num {
   margin: 0;
   font-weight: bold;
}
section .section_inner .num a {
   font-size: calc(55 * var(--px));
   color: var(--accent_color3);
   text-decoration: none;
   display: flex;
   align-items: center;
   gap: 0.1em;

}
@media (max-width: 768px) {
	section .section_inner .num a {
		   font-size: calc(36 * var(--px));
	}
}
section .section_inner .num a:before {
   content: "";
   background-image: url(../images/footer/tel.png);
   background-repeat: no-repeat;
   background-size: contain;
   background-position: center;
   width: 1em;
   height: 1em;
}
.contact_page_form {
	max-width: 1040px;
	padding-top: 2em;
	margin: 0 auto;
}
.contact_page_form .row {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 50px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.contact_page_form .row *{
	margin:0;
}
.contact_page_form .row .row_label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 30%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.contact_page_form .row .row_label label {
    font-weight: bold;
}
.contact_page_form .row .row_label .requre {
    background-color: var(--accent_color1);
    color: #fff;
    padding: 5px 10px;
}
.contact_page_form .row .contact_right {
    width: 65%;
}
@media (max-width: 768px) {
    .contact_page_form .row .contact_right {
    width: 95%;
	}
}
.contact_page_form .row .contact_right input {
    width: 98%;
    padding: 10px;
}
@media (max-width: 768px) {
    .contact_page_form .row .row_label {
        width: 100%;
        margin-bottom: 10px;
    }
}
@media (max-width: 768px) {
    .contact_page_form .row .row_label label {
        font-size: 16px;
    }
}
.contact_page_form .row .contact_right textarea {
    width: 100%;
}
.contact_page_form input[type="submit"] {
    background-color: var(--accent_color1);
    border: 1px solid var(--accent_color1);
    padding: 15px 0;
    width: 200px;
    margin: 0 auto;
    display: block;
    color: #fff;
    font-weight: bold;
    cursor: pointer;
}