/* body {
	overflow-x: unset !important;
} */
html,
body {
	overflow-x: hidden;
}

/* .policy-page .site-body {
	position: relative;
	overflow-x: clip;
	overflow-y: visible;
	isolation: isolate;
	max-width: unset !important;
} */
.policy-page .site-body {
	position: relative;
	overflow: visible;
	isolation: isolate;
	max-width: unset !important;
}

.policy-page .site-body::before {
	content: "";
	position: absolute;

	width: min(150vw, 1900px);
	height: min(150vw, 1900px);

	right: max(-980px, -58vw);
	top: 42%;

	border-radius: 50%;
	transform: translateY(-50%) rotate(-8deg);

	background:
		radial-gradient(
			circle,
			rgba(126,220,157,.22) 0%,
			rgba(126,220,157,.13) 28%,
			rgba(126,220,157,.06) 52%,
			transparent 75%
		);

	filter: blur(140px);
	z-index: 0;
	pointer-events: none;
}

.policy-page .lower-page-deco-wrap--policy {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: visible;
}

.policy-page .site-body-container,
.policy-page .main-section,
.policy-page .entry,
.policy-page .entry-body {
	position: relative;
	z-index: 2;
}

.policy-page .common-page-hero {
	overflow: visible !important;
}
.policy-page .lower-header-deco-wrap {
	overflow: visible !important;
}

.policy-page .common-page-hero__inner {
	max-width: 1100px;
}

.policy-page .common-page-hero__breadcrumb {
	text-align: left;
	margin-bottom: 90px;
}

.policy-page .common-page-hero__en {
	font-size: 4.8rem;
}

.policy-page .common-page-hero__ja {
	font-size: 1.45rem;
}

.policy-page .entry-body {
	max-width: 1100px;
	margin: 40px auto 120px;
	padding: 44px 48px;
	border: 1px solid rgba(0, 0, 0, 0.45);
	background: rgba(255, 255, 255, 0.86);
	max-height: 800px;
	overflow-y: auto;
}

.policy-page .entry-body h2,
.policy-page .entry-body h3 {
	margin: 0 0 20px;
	padding: 0;
	border: none !important;
	color: var(--color-text);
	font-size: var(--font-size-body);
	font-weight: 700;
	line-height: 1.6;
}

.policy-page .entry-body h2:not(:first-child),
.policy-page .entry-body h3:not(:first-child) {
	margin-top: 42px;
}

.policy-page .entry-body p,
.policy-page .entry-body li {
	color: var(--color-text);
	font-size: var(--font-size-body-small);
	line-height: 2;
	letter-spacing: 0.03em;
}

.policy-page .entry-body p {
	margin: 0 0 1.4em;
}

.policy-page .entry-body ol,
.policy-page .entry-body ul {
	margin: 0 0 1.8em 1.4em;
	padding: 0;
}

.policy-page .entry-body li {
	margin-bottom: 0.45em;
}

.policy-page .entry-body .wp-block-heading {
	border-top: none !important;
	border-bottom: none !important;
	box-shadow: none !important;
}

.policy-page .entry-body .wp-block-heading::before,
.policy-page .entry-body .wp-block-heading::after {
	display: none !important;
	content: none !important;
}

/* 背景装飾パーツ用 */
/* .policy-page .site-body {
	position: relative;
	overflow-x: clip;
	overflow-y: visible;
	isolation: isolate;
} */
 .policy-page .site-body {
	position: relative;
	overflow: visible;
	isolation: isolate;
}

.lower-page-deco-wrap--policy {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: visible;
}

.policy-page .site-body-container,
.policy-page .main-section,
.policy-page .entry,
.policy-page .entry-body {
	position: relative;
	z-index: 2;
}

.lower-common-header-deco-01 {
	--deco-x: -40px !important;
    --deco-y: -193px !important;
    --deco-w: 240px !important;
    --deco-rotate: 0deg !important;
    --deco-scale-x: 1 !important;
    --deco-scale-y: 1 !important;
    --deco-opacity: 1 !important;
    --deco-z: 2 !important;
}
.lower-common-header-deco-02 {
    --deco-x: -80px !important;
    --deco-y: -308px !important;
    --deco-w: 380px !important;
    --deco-rotate: 0deg !important;
    --deco-scale-x: 1 !important;
    --deco-scale-y: 1 !important;
    --deco-opacity: 1 !important;
    --deco-z: 1 !important;
}

@media (max-width: 767px) {

	.policy-page .lower-page-deco-wrap--policy .top-deco {
		display: none !important;
	}

	.policy-page .site-body {
		/* overflow: hidden; */
	}

	.common-page-hero {
		padding: 0px 0px 48px;
	}

	.policy-page .common-page-hero__breadcrumb {
		margin-bottom: 50px;
	}

	.policy-page .common-page-hero__en {
		font-size: 3rem;
	}

	.policy-page .common-page-hero__ja {
		font-size: 1.1rem;
	}

	.policy-page .entry-body {
		margin: 24px auto 80px;
		padding: 28px 20px;
		max-height: 70vh;
		overflow-y: auto;
	}

	.policy-page .entry-body h2,
	.policy-page .entry-body h3 {
		font-size: 1.35rem;
	}

	.policy-page .entry-body p,
	.policy-page .entry-body li {
		line-height: 1.9;
	}

	.privacy-policy .lower-header-deco-wrap .lower-common-header-deco-01,
	.page-id-116 .lower-header-deco-wrap .lower-common-header-deco-01 {
		top: -105px !important;
	}
    .privacy-policy .lower-header-deco-wrap .lower-common-header-deco-02,
    .page-id-116 .lower-header-deco-wrap .lower-common-header-deco-02 {
		top: -196px !important;
	}
}