@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400..700&display=swap');
* {
		margin: 0;
		padding: 0;
}
html {
		overflow-y: scroll;
}
img {
		border: none;
		vertical-align: top;
}
body {
		font-family: "Noto Sans JP", sans-serif;
		color: #1E1E1E;
		background: #f1acb4;
		font-size: 16px;
		position: relative;
}
body::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 100vh 100vw 0 0;
		border-color: #009bcf transparent transparent transparent;
}
h1, h2, h3 {
		font-weight: normal;
		font-optical-sizing: auto;
		font-feature-settings: "palt";
		letter-spacing: 0.05em;
}
.wrap {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100vh;
		box-sizing: border-box;
		padding: 0 40px;
		position: relative;
		z-index: 5;
		overflow: hidden
}
.wrap::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(calc(100vh - 1000px) / 2);
		left: calc(calc(100vw - 1000px) / 2);
		width: 1000px;
		height: 1000px;
		background: #FFFAF0;
		border-radius: 50%;
		z-index: -1
}
@media(min-width: 768px) {
		.wrap_inner {
				position: relative;
				top: 40px
		}
}
.maintenance_title {
		padding: 0 0 30px;
		margin: 0 auto 45px;
		position: relative;
}
.maintenance_title::after {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: calc(50% - 20px);
		width: 40px;
		height: 1px;
		background: #1e1e1e;
}
.maintenance_title h1 {
		font-size: 42px;
		font-weight: 700;
		letter-spacing: 0.08em;
		line-height: 1;
		text-align: center;
}
@media(min-width: 768px) {
		.maintenance_title h1 br {
				display: none
		}
}
.contact_caption {
		text-align: center;
		margin-top: 70px;
		margin-bottom: 80px;
}
.contact_caption h2 {
		font-size: 16px;
		font-weight: 400;
		line-height: 1;
		margin: 0 0 15px;
}
.contact_caption h2 span {
		position: relative;
		display: inline-block;
}
.contact_caption h2 span::before, .contact_caption h2 span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 5px);
		width: 10px;
		height: 10px;
}
.contact_caption h2 span::before {
		border-top: 1px solid #333;
		border-left: 1px solid #333;
		transform: rotate(-45deg);
		left: -15px;
}
.contact_caption h2 span::after {
		border-top: 1px solid #333;
		border-right: 1px solid #333;
		transform: rotate(45deg);
		right: -15px;
}
.contact_caption h3 {
		font-size: 20px;
		font-weight: 700;
		line-height: 1.6;
		margin: 0 0 20px
}
p {
		line-height: 2.0;
		text-align: center;
		font-feature-settings: "palt";
		letter-spacing: 0.08em;
		margin: 0 0 1em
}
.footer_logo {
		width: 150px;
		margin: 0 auto;
}
.footer_logo img {
		width: 100%;
		height: auto;
}
@media(min-width: 768px) and (max-height: 700px) {
		body {
				font-size: 16px;
		}
		.maintenance_title {
				margin: 0 auto 25px;
		}
		.maintenance_title h1 {
				font-size: 34px;
		}
		.contact_caption {
				margin-top: 30px;
		}
		.contact_caption h2 {
				font-size: 16px;
				margin: 0 0 10px;
		}
		.contact_caption h3 {
				font-size: 20px;
				margin: 0 0 15px
		}
}
@media(max-width: 960px) {
		.wrap {
				padding: 0 60px;
		}
		.wrap::before {
				top: 5vh;
				left: calc(calc(100vw - 90vh) / 2);
				width: 90vh;
				height: 90vh;
		}
		.maintenance_title h1 {
				font-size: 34px;
		}
		.lead_caption p {
				text-align: left;
		}
		.lead_caption p br {
				display: none
		}
}
@media(max-width: 767px) {
		body {
				font-size: 14px;
				overflow: hidden;
		}
		.wrap {
				padding: 0px;
				height: 100svh;
				display: flex;
				justify-content: center;
				align-items: center;
		}
		.wrap_inner {
				padding: 0 25px;
				position: relative;
				background: #FFFAF0;
		}
		.wrap_inner::before, .wrap_inner::after {
				content: '';
				display: block;
				position: absolute;
				width: 100%;
				height: 53vw;
				background-repeat: no-repeat;
				background-size: 100%;
				pointer-events: none;
				z-index: -1
		}
		.wrap_inner::before {
				top: -18vw;
				left: 0;
				background-image: url("../img/wrap_bg-1.png");
				background-position: center top;
		}
		.wrap_inner::after {
				bottom: -18vw;
				left: 0;
				background-image: url("../img/wrap_bg-2.png");
				background-position: center bottom;
		}
		.wrap::before {
				display: none
		}
		.maintenance_title {
				padding-bottom: 20px;
				margin-bottom: 25px;
		}
		.maintenance_title h1 {
				font-size: 24px;
				line-height: 1.6;
		}
		.lead_caption p {
				text-align: justify;
		}
		.contact_caption h2 {
				font-size: 15px;
				margin: 0 0 15px;
		}
		.contact_caption h2 span::before, .contact_caption h2 span::after {
				top: calc(50% - 4px);
				width: 8px;
				height: 8px;
		}
		.contact_caption h2 span::before {
				left: -13px;
		}
		.contact_caption h2 span::after {
				right: -13px;
		}
		.contact_caption h3 {
				font-size: 18px;
				margin: 0 0 20px
		}
		.contact_caption {
				margin-top: 40px;
				margin-bottom: 30px;
		}
		.contact_caption p {
				font-size: 12px;
		}
		.footer_logo {
				width: 123px;
		}
}
@media(max-width: 390px) {
		.maintenance_title h1 {
				font-size: 22px;
		}
		.contact_caption h2 {
				font-size: 15px;
		}
		.contact_caption h3 {
				font-size: 17px;
		}
}
/* ========== */
@media(min-width: 768px) {
		.spBr {
				display: none
		}
}