@charset "UTF-8";




/* CSS STYLE */

html {
	font-size: 2.666666vw;
}
body {
	min-width: 320px;
	font-size: 1.5rem;
	line-height: 1.65;
}

.spnone {
	display: none !important;
}

iframe[src*="youtube.com"], iframe[src*="youtube-nocookie.com"] {
	aspect-ratio: 16 / 9;
	width: 100%;
	height: auto;
}










/* SITEPARTS */

#warp {
	width: 100%;
}

.inner, .inner-mid, .inner-sml {
	position: relative;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	z-index: 1;
}

.head1 {
	margin-bottom: 1.6rem;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	span {
		display: block;
		margin-bottom: 0.6rem;
		font-family: var(--font-en);
		font-size: 1.2rem;
		font-weight: 700;
		letter-spacing: 0.02em;
		color: var(--color-green);
	}
	& + p {
		margin-bottom: 3rem;
		font-feature-settings: "palt" !important;
		font-size: 2.8rem;
		font-weight: 700;
		line-height: 1.3;
		letter-spacing: 0.05em;
		text-align: center;
		span {
			color: var(--color-green);
		}
	}
}

.btn {
	position: relative;
	line-height: 1;
	a, button {
		position: relative;
		display: inline-flex;
		justify-content: center;
		align-items: center;
		border: none;
		border-radius: 7rem;
		background-color: var(--color-orange);
		width: 24rem;
		height: 5.6rem;
		margin: 0;
		padding: 0.4rem 3rem 0.6rem 0.5rem;
		font-size: 1.5rem;
		font-weight: 700;
		line-height: 1;
		text-decoration: none;
		color: var(--color-w);
		&:after {
			content: "";
			display: block;
			position: absolute;
			top: 50%;
			right: 1.5rem;
			background: url(../img/btn-ar.png) no-repeat center center / cover;
			width: 2.6rem;
			height: 2.6rem;
			margin-top: -1.3rem;
		}
	}
}

.big {
	font-size: 120%;
}
.sml {
	font-size: 85%;
}
.note {
	font-size: 85%;
}

.img-box {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	overflow: hidden;
	img {
		position: absolute;
		top: 0;
		left: 0;
		object-fit: cover;
		max-width: initial;
		width: 100%;
		height: 100%;
		z-index: 1;
	}
	a {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}


/* FADE */

.fade {
	opacity: 0;
	-webkit-transition: 0.8s linear;
	transition: 0.8s linear;
}
.fade.active {
	opacity: 1;
}
.fade-l {
	position: relative;
	opacity: 0;
	-webkit-transform: translate(-2rem, 0);
	transform: translate(-2rem, 0);
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
.fade-l.active {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.fade-r {
	position: relative;
	opacity: 0;
	-webkit-transform: translate(2rem, 0);
	transform: translate(2rem, 0);
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
.fade-r.active {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.fade-t {
	position: relative;
	opacity: 0;
	-webkit-transform: translate(0, -2rem);
	transform: translate(0, -2rem);
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
.fade-t.active {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.fade-b {
	position: relative;
	opacity: 0;
	-webkit-transform: translate(0, 2rem);
	transform: translate(0, 2rem);
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
.fade-b.active {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.fade-w {
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
	-webkit-transform: scale(1.1,1.1);
	transform: scale(1.1,1.1);
	opacity: 0;
}
.fade-z {
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
	-webkit-transform: scale(0.9,0.9);
	transform: scale(0.9,0.9);
	opacity: 0;
}
.fade-w.active,
.fade-z.active {
	-webkit-transform: scale(1,1);
	transform: scale(1,1);
	opacity: 1;
}
.blur {
	-webkit-transition: 2s ease;
	transition: 2s ease;
	filter: blur(10rem);
	-webkit-transform: scale(1.5,1.5);
	transform: scale(1.5,1.5);
	opacity: 1;
}
.blur.active {
	filter: blur(0);
	-webkit-transform: scale(1,1);
	transform: scale(1,1);
	opacity: 1;
}










/* HEADER */

#header {
	display: none;
}










/* CONTENTS */

.aggregation {
	display: block;
	width: 25.2rem;
	height: 3.2rem;
}

.mv-area {
	position: relative;
	background-color: #243427;
	width: 100%;
	height: calc(100vh - 5rem);
	min-height: 67rem;
	color: var(--color-w);
	z-index: 1;
	overflow: hidden;
	.mv-main {
		position: absolute;
		top: 0;
		left: 0;
		display: flex;
		align-items: center;
		width: 100%;
		height: calc(100% - 14rem);
		padding: 5rem 1.5rem 0 1.5rem;
		font-size: 1.3rem;
		z-index: 2;
		h1 {
			margin-bottom: 0.5rem;
			line-height: 1;
			.aggregation {
				margin-bottom: 2.2rem;
			}
			strong {
				position: relative;
				display: inline-block;
				bottom: -0.4rem;
				margin: 0 0.2rem;
				font-family: var(--font-jp);
				font-size: 7.2rem;
				font-weight: 700;
				color: var(--color-green);
			}
			em {
				position: relative;
				display: inline-block;
				bottom: -0.3rem;
				font-size: 4.8rem;
				font-weight: 700;
			}
			.txt1 {
				position: relative;
				display: flex;
				justify-content: center;
				align-items: center;
				width: 22rem;
				font-size: 2.1rem;
				font-weight: 500;
				&:before, &:after {
					content: "";
					position: relative;
					display: block;
					height: 2.1rem;
					border-left: 2px solid var(--color-w);
					margin-bottom: -0.3rem;
				}
				&:before {
					margin-right: 1.2rem;
					transform: rotate(-30deg);
				}
				&:after {
					margin-left: 1.2rem;
					transform: rotate(30deg);
				}
			}
			.txt2 {
				position: relative;
				display: table;
				margin-top: -2rem;
				font-size: 4.4rem;
				font-weight: 700;
				white-space: nowrap;
				sup {
					position: absolute;
					top: 2.5rem;
					right: 3.5rem;
					font-size: 0.9rem;
					font-weight: 400;
					color: #aaa;
				}
			}
			.txt3 {
				position: relative;
				display: table;
				margin-top: -1rem;
				font-size: 4.4rem;
				font-weight: 700;
				white-space: nowrap;
				sup {
					position: absolute;
					top: 2.5rem;
					right: 3.2rem;
					font-size: 0.9rem;
					font-weight: 400;
					color: #aaa;
				}
			}
			.plus {
				display: inline-block;
				vertical-align: bottom;
				background: url(../img/mv-plus.png) no-repeat center center / 3rem;
				width: 0.8em;
				height: 1em;
				margin-right: 0.2em;
				padding-top: 1em;
				overflow: hidden;
			}
			.note {
				display: block;
				width: 31.1rem;
				margin-top: 0.4rem;
				font-size: 1rem;
				font-weight: 400;
				text-align: right;
				color: #aaa;
			}
		}
		.btn {
			margin-top: 2rem;
		}
	}
	.mv-logo {
		position: absolute;
		top: 2rem;
		right: 1.5rem;
		width: 16.8rem;
		z-index: 3;
	}
	.mv-point {
		position: absolute;
		bottom: 0;
		left: 0;
		display: flex;
		justify-content: space-between;
		border-radius: 2rem 2rem 0 0;
		width: 100%;
		height: 14rem;
		background-color: var(--color-w);
		padding: 2rem 1.5rem;
		z-index: 3;
		li {
			border-radius: 0.8rem;
			background: no-repeat center bottom / 8.1rem;
			width: 8.1rem;
			height: 9.6rem;
			box-shadow: 0 0 1rem rgba(0,0,0,0.15);
			strong {
				display: block;
				border-radius: 0.8rem 0.8rem 0 0;
				background-color: var(--color-txt);
				width: 100%;
				height: 2.4rem;
				font-size: 1.2rem;
				font-weight: 500;
				line-height: 2.4rem;
				text-align: center;
				color: var(--color-w);
			}
			&:nth-of-type(1) {
				background-image: url(../img/mv-icon_01_sp.png);
			}
			&:nth-of-type(2) {
				background-image: url(../img/mv-icon_02_sp.png);
			}
			&:nth-of-type(3) {
				background-image: url(../img/mv-icon_03_sp.png);
			}
			&:nth-of-type(4) {
				background-image: url(../img/mv-icon_04_sp.png);
			}
		}
	}
	video {
		position: absolute;
		bottom: 0;
		left: 0;
		width: auto;
		height: auto;
		min-width: 106%;
		min-height: 106vh;
		opacity: 0.6;
		z-index: 1;
	}
	@media (aspect-ratio: 16/9), (min-aspect-ratio: 16/9) {
		video {
			width: 106%;
		}
	}
	@media (max-aspect-ratio: 16/9) {
		video {
			height: 106%;
		}
	}
}

.contents {
	position: relative;
	background-color: var(--color-w);
	width: 100%;
	margin-top: -1px;
	z-index: 2;
}

.maximize-area {
	position: relative;
	border-radius: 4rem 4rem 0 0;
	background-color: var(--color-bg);
	padding: 6rem 0 13rem 0;
	overflow: hidden;
	z-index: 3;
	h2 {
		margin-bottom: 3rem;
		font-feature-settings: "palt" !important;
		font-size: 2.8rem;
		font-weight: 700;
		line-height: 1.3;
		letter-spacing: 0.03em;
		text-align: center;
		span {
			color: var(--color-green);
		}
		.max {
			display: block;
			margin-bottom: 1.6rem;
			font-family: var(--font-en);
			font-size: 1.2rem;
			font-weight: 700;
			text-align: center;
			letter-spacing: 0.02em;
		}
		.appeal {
			position: relative;
			display: flex;
			justify-content: center;
			align-items: center;
			margin-bottom: 0.6rem;
			font-size: 2rem;
			font-weight: 500;
			letter-spacing: 0;
			color: var(--color-txt);
			&:before, &:after {
				content: "";
				position: relative;
				display: block;
				height: 2rem;
				border-left: 1px solid var(--color-txt);
				margin-bottom: -0.2rem;
			}
			&:before {
				margin-right: 1rem;
				transform: rotate(-30deg);
			}
			&:after {
				margin-left: 1rem;
				transform: rotate(30deg);
			}
		}
	}
	.inner-mid {
		z-index: 2;
	}
	.maximize-profits {
		margin-top: 4rem;
		padding: 0 1rem;
		.read {
			width: 100%;
			h3 {
				margin-bottom: 1.5rem;
				font-size: 2rem;
				font-weight: 700;
				line-height: 1.3;
				letter-spacing: 0;
				strong {
					font-size: 2.8rem;
					font-weight: 700;
					color: var(--color-green);
				}
			}
			p {
				margin-top: 1rem;
			}
			.note {
				margin-top: 0.5rem;
				font-size: 1.4rem;
				color: #666;
			}
		}
		.image {
			border-radius: 1rem;
			width: 100%;
			margin-top: 2rem;
			font-size: 0;
			overflow: hidden;
			box-shadow: 0 0 2rem rgba(0,0,0,0.15);
		}
		&.rev {
			flex-direction: row-reverse;
		}
	}
	.text {
		animation: aggretext 40s linear infinite;
		position: absolute;
		bottom: 1.5rem;
		left: 0;
		background: url(../img/aggregation-service-txt.png) repeat-x left top / 144rem;
		width: 288rem;
		height: 13rem;
		z-index: 1;
	}
}
@keyframes aggretext {
	0% {
		left: 0;
	}
	100% {
		left: -144rem;
	}
}

.supplement {
	border: 4px solid #e2e3da;
	border-radius: 2rem;
	background-color: var(--color-w);
	width: 100%;
	max-width: 32.5rem;
	margin: 4rem auto 0 auto;
	padding: 2.6rem 2.6rem 3rem 2.6rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.45;
	strong {
		background: linear-gradient(to bottom,  rgba(252,243,136,0) 0%,rgba(252,243,136,0) 70%,rgba(252,243,136,1) 71%,rgba(252,243,136,1) 100%);
		font-weight: 700;
	}
}

.problem-area {
	position: relative;
	border-radius: 4rem 4rem 0 0;
	background-color: var(--color-w);
	margin-top: -4rem;
	padding: 6rem 0;
	z-index: 4;
	.problem-list {
		width: 100%;
		padding: 0 1rem;
		.read {
			width: 100%;
			dl {
				border-radius: 1rem;
				width: 31rem;
				margin: 1.5rem 0;
				box-shadow: 0 0 2rem rgba(0,0,0,0.1);
				dt {
					position: relative;
					display: flex;
					align-items: center;
					border-radius: 1rem 1rem 0 0;
					background-color: #8ba891;
					width: 100%;
					padding: 1.2rem 2rem 1.3rem 2rem;
					font-size: 1.8rem;
					font-weight: 500;
					line-height: 1.4;
					color: #fff;
					&:before {
						content: "";
						position: absolute;
						top: 50%;
						left: -1.5rem;
						display: block;
						background: url(../img/problem-ar_sp.png) no-repeat right center / cover;
						width: 1.5rem;
						height: 3rem;
						margin-top: -0.5rem;
					}
				}
				dd {
					display: flex;
					align-items: center;
					border-radius: 0 0 1rem 1rem;
					background-color: #fff;
					width: 100%;
					padding: 1.2rem 2rem 1.6rem 2rem;
					font-size: 1.5rem;
					font-weight: 400;
					line-height: 1.4;
				}
				&:first-child {
					margin-top: 0;
				}
				&:last-child {
					margin-bottom: 0;
				}
				&:nth-of-type(odd) {
					margin-left: auto;
				}
				&:nth-of-type(even) {
					margin-right: auto;
					dt:before {
						transform: scale(-1, 1);
						left: inherit;
						right: -1.5rem;
					}
				}
			}
		}
		.image {
			width: 100%;
			margin-top: 2rem;
			text-align: center;
			img {
				width: 11rem;
			}
		}
	}
	.supplement {
		margin-top: 0;
	}
}

.cv-area {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--color-green) url(../img/cv-bg_sp.png) no-repeat center center / cover;
	width: 100%;
	height: 24rem;
	padding: 2rem 2.5rem;
	font-size: 1.3rem;
	text-align: center;
	color: var(--color-w);
	z-index: 10;
	.contact {
		display: table;
		border-bottom: 1px solid var(--color-w);
		margin: 0 auto 1rem auto;
		padding-bottom: 0.5rem;
		font-family: var(--font-en);
		font-size: 1.2rem;
		font-weight: 700;
		text-align: center;
		line-height: 1;
		letter-spacing: 0.02em;
	}
	p {
		strong {
			font-size: 2.2rem;
			font-weight: 700;
		}
	}
	.btn {
		margin-top: 1.5rem;
		text-align: center;
	}
}

.features-area {
	position: relative;
	background-color: var(--color-bg);
	padding: 6rem 1rem;
	.features-list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		border-bottom: 1px solid #d4d6cf;
		width: 100&;
		padding: 3rem 0 3.5rem 0;
		.num {
			width: 4.5rem;
			font-family: var(--font-en);
			font-size: 1.6rem;
			font-weight: 700;
			color: var(--color-green);
		}
		.read {
			width: calc(100% - 4.5rem);
			font-size: 1.5rem;
			line-height: 1.6;
			h3 {
				margin-bottom: 1rem;
				font-size: 2rem;
				font-weight: 700;
				line-height: 1.35;
			}
			p {
				margin-top: 0.5rem;
			}
			.note {
				font-size: 1.4rem;
				color: #666;
			}
		}
		.image {
			border-radius: 1rem;
			width: calc(100% - 4.5rem);
			margin: 2rem 0 0 4.5rem;
			font-size: 0;
			overflow: hidden;
		}
		&:nth-of-type(1) {
			border-top: 1px solid #d4d6cf;
		}
	}
	.supplement {
		margin-top: 4rem;
	}
}

.comparison-area {
	position: relative;
	background-color: var(--color-w);
	width: 100%;
	padding: 6rem 0;
	.comparison-list {
		width: 100%;
		margin-top: 7rem;
		th {
			position: relative;
			border-bottom: 1px solid #d4d6cf;
			background-color: var(--color-bg);
			width: 18%;
			padding: 1.5rem 1rem 1.8rem 1rem;
			font-size: 1.3rem;
			font-weight: 500;
			line-height: 1.3;
			text-align: center;
			vertical-align: middle;
		}
		td {
			position: relative;
			border-bottom: 1px solid #d4d6cf;
			background-color: var(--color-w);
			width: 26.5%;
			padding: 1.5rem 0.5rem 1.8rem 0.5rem;
			font-size: 1.3rem;
			font-weight: 500;
			line-height: 1.3;
			text-align: center;
			vertical-align: middle;
			&.re {
				border-left: 2px solid var(--color-green);
				border-right: 2px solid var(--color-green);
				background-color: #fcfced;
				width: 29%;
				font-weight: 700;
				color: #1d7701;
				&.btm {
					border-bottom: none;
					&:after {
						content: "";
						position: absolute;
						bottom: -1rem;
						left: -2px;
						display: block;
						border-bottom: 2px solid var(--color-green);
						border-left: 2px solid var(--color-green);
						border-right: 2px solid var(--color-green);
						border-radius: 0 0 1rem 1rem;
						background-color: #fcfced;
						width: calc(100% + 4px);
						height: 1rem;
					}
				}
			}
		}
		.top {
			td {
				width: 18%;
			}
			th {
				border-left: 1px solid var(--color-w);
				border-bottom: none;
				background-color: #808080;
				width: 26.5%;
				padding: 2rem 2rem;
				font-weight: 700;
				color: #fff;
				&.re {
					border-left: 2px solid var(--color-green);
					border-right: 2px solid var(--color-green);
					background-color: #d1edb2;
					width: 29%;
					padding: 0.2rem 1.8rem 1.2rem 1.8rem;
					color: var(--color-green);
					&:before {
						content: "";
						position: absolute;
						top: -1rem;
						left: -2px;
						display: block;
						border-top: 2px solid var(--color-green);
						border-left: 2px solid var(--color-green);
						border-right: 2px solid var(--color-green);
						border-radius: 1rem 1rem 0 0;
						background-color: #d1edb2;
						width: calc(100% + 4px);
						height: 1rem;
					}
				}
			}
		}
	}
	.note {
		margin-top: 2rem;
		font-size: 1.3rem;
		color: #666;
	}
}

.flow-area {
	position: relative;
	border-radius: 4rem 4rem 0 0;
	background-color: var(--color-bg);
	width: 100%;
	padding: 6rem 0 10rem 0;
	z-index: 1;
	.flow-list {
		position: relative;
		display: flex;
		border-bottom: 1px solid #d4d6cf;
		width: calc(100% - 2rem);
		margin: 0 auto;
		.num {
			position: relative;
			padding: 2.5rem 0;
			width: 2rem;
			font-family: var(--font-en);
			font-size: 1.6rem;
			font-weight: 700;
			color: var(--color-green);
			&:after {
				content: "";
				position: absolute;
				bottom: -1px;
				left: 0;
				display: block;
				border-bottom: 1px solid var(--color-green);
				width: 2rem;
			}
		}
		.read {
			width: calc(100% - 2rem);
			padding: 2.5rem 0 2.8rem 2.5rem;
			font-size: 1.6rem;
			line-height: 1.65;
			h3 {
				font-size: 1.7rem;
				font-weight: 700;
				line-height: 1.3;
			}
			p {
				margin-top: 0.5rem;
			}
			.btn {
				margin-top: 1.5rem;
				a {
					width: 27rem;
					height: 5rem;
					padding: 0.8rem 2.5rem 1rem 1rem;
					font-size: 1.6rem;
					&:after {
						right: 1.5rem;
					}
				}
			}
		}
		&:nth-of-type(1) {
			border-top: 1px solid #d4d6cf;
			&:after {
				content: "";
				position: absolute;
				top: -1px;
				left: 0;
				display: block;
				border-top: 1px solid var(--color-green);
				width: 2rem;
			}
		}
	}
}

.faq-area {
	position: relative;
	border-radius: 4rem 4rem 0 0;
	background-color: var(--color-w);
	width: 100%;
	margin-top: -4rem;
	padding: 6rem 0;
	z-index: 2;
	.faq-list {
		width: calc(100% - 2rem);
		margin: 0 auto;
		a {
			text-decoration: underline;
		}
		dt {
			position: relative;
			border-bottom: 1px solid #d4d6cf;
			margin-bottom: 1.5rem;
			padding: 0.3rem 2.5rem 1.2rem 4rem;
			font-size: 1.6rem;
			font-weight: 700;
			line-height: 1.4;
			cursor: pointer;
			&:before {
				content: "Q";
				position: absolute;
				top: 0;
				left: 0;
				display: block;
				border-radius: 3rem;
				background-color: var(--color-green);
				width: 3rem;
				height: 3rem;
				font-family: var(--font-en);
				font-size: 1.8rem;
				font-weight: 700;
				line-height: 3rem;
				letter-spacing: 0;
				text-align: center;
				color: var(--color-w);
			}
			&:after {
				content: "";
				position: absolute;
				top: 0.6rem;
				right: 0;
				display: block;
				background: url(../img/logo-open.png) no-repeat center center / cover;
				width: 1.7rem;
				height: 1.7rem;
			}
			&.active {
				text-decoration: underline;
				&:after {
					background-image: url(../img/logo-close.png);
				}
			}
		}
		dd {
			display: none;
			margin-bottom: 2.5rem;
			padding: 0 0 0 4rem;
			font-size: 1.5rem;
		}
	}
}

.contact-area {
	position: relative;
	border-radius: 4rem 4rem 0 0;
	background: var(--color-green) url(../img/form-bg_sp.png) no-repeat center center / cover;
	padding: 6rem 0 10rem 0;
	color: var(--color-w) !important;
	overflow: hidden;
	z-index: 1;
	.head1, .head1 span {
		color: var(--color-w) !important;
	}
	.inner {
		z-index: 2;
	}
	.form-inner {
		width: 100%;
		dl {
			font-size: 1.6rem;
			line-height: 1.4;
			dt {
				display: flex;
				align-items: center;
				margin-bottom: 1.2rem;
				font-weight: 700;
				.required {
					display: block;
					border-radius: 0.4rem;
					background-color: var(--color-yellow);
					margin-left: 1rem;
					padding: 0 0.5rem;
					font-size: 1.4rem;
					font-weight: 400;
					line-height: 2.1rem;
					color: var(--color-green);
				}
			}
			dd {
				margin-bottom: 3rem;
			}
		}
		input[type="text"], input[type="tel"], input[type="url"], input[type="email"], input[type="number"], select {
			border-radius: 0.6rem;
			background-color: var(--color-w);
			width: 100%;
			height: 5.4rem;
			padding: 0.5rem 1.5rem;
			color: var(--color-txt);
			&:focus {
				background-color: #ffd;
			}
		}
		select {
			background: var(--color-w) url(../img/icon-sekect.png) no-repeat right center / 3rem;
			padding-right: 3.5rem;
		}
		textarea {
			border-radius: 0.6rem;
			background-color: var(--color-w);
			width: 100%;
			height: 20rem;
			padding: 1rem 2rem;
			color: var(--color-txt);
			&:focus {
				background-color: #ffd;
			}
		}
		label {
			position: relative;
			display: inline-block;
			white-space: nowrap;
			margin: 0.3rem 1.5rem 0.3rem 0;
			font-size: 1.6rem;
			line-height: 1;
			input[type="radio"], input[type="checkbox"] {
				display: none;
				& + span {
					position: relative;
					display: inline-flex;
					align-items: center;
					font-size: 1.6rem;
					line-height: 1.2;
					white-space: nowrap;
					cursor: pointer;
					&:before {
						content: "";
						display: block;
						border-radius: 2.8rem;
						background-color: var(--color-w);
						width: 2.8rem;
						height: 2.8rem;
						margin-right: 0.8rem;
					}
				}
				&:checked {
					& + span {
						color: var(--color-yellow);
						&:after {
							content: "";
							position: absolute;
							top: 50%;
							left: 0.4rem;
							display: block;
							background: url(../img/icon-check.png) no-repeat center center / 2.6rem;
							width: 2.6rem;
							height: 2rem;
							margin-top: -1.2rem;
						}
					}
				}
			}
			input[type="checkbox"] {
				& + span {
					&:before {
						border-radius: 0.6rem;
					}
				}
			}
		}
		.error {
			background: url(../img/icon-error.png) no-repeat left center / 1.7rem;
			margin-top: 1rem;
			padding-left: 2.2rem;
			font-size: 1.5rem;
			line-height: 1.3;
			color: var(--color-yellow);
		}
		.privacy-box {
			background-color: var(--color-w);
			width: 100%;
			height: 12rem;
			padding: 1.2rem 1.5rem;
			font-size: 1.2rem;
			line-height: 1.4;
			color: var(--color-txt);
			overflow-y: scroll;
			-webkit-overflow-scrolling: touch;
			h3 {
				margin: 1.5rem 0 0.5rem;
				font-size: 1.3rem;
				font-weight: 700;
			}
			h4 {
				margin: 1rem 0 0.5rem;
				font-weight: 500;
			}
			p {
				margin: 0.5rem 0;
				&:first-child {
					margin-top: 0;
				}
			}
		}
		.privacy {
			margin-top: 3rem;
			text-align: center;
			label {
				margin: 0;
			}
		}
		.btn {
			width: 24rem;
			margin: 3rem auto 0 auto;
		}
	}
}

.completed-head {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	width: 100%;
	padding: 2rem 1.5rem;
	.header-logo {
		width: 16.8rem;
	}
	.bread {
		display: flex;
		font-size: 1rem;
		li {
			white-space: nowrap;
			&:after {
				content: " / ";
			}
			&:last-child {
				&:after {
					display: none;
				}
			}
		}
	}
	z-index: 10;
}
.completed-area {
	position: relative;
	background-color: var(--color-bg);
	padding: 11rem 1rem 10rem 1rem;
	font-size: 1.5rem;
	line-height: 1.65;
	z-index: 1;
	h1 {
		margin-bottom: 2rem;
		font-feature-settings: "palt" !important;
		font-size: 2rem;
		font-weight: 700;
		line-height: 1.3;
		letter-spacing: 0.05em;
		text-align: center;
	}
	p {
		margin-top: 2rem;
	}
	a {
		text-decoration: underline;
	}
	.completed-btn {
		margin-top: 3rem;
		text-align: center;
		a {
			position: relative;
			display: inline-flex;
			justify-content: center;
			align-items: center;
			border: 1px solid #d4d6cf;
			border-radius: 5.6rem;
			width: 24rem;
			height: 5.6rem;
			margin: 0;
			padding: 0.7rem 2rem 1rem 2rem;
			font-size: 1.4rem;
			font-weight: 500;
			line-height: 1;
			text-decoration: none;
			transition: 0.3s ease;
			&:after {
				content: "";
				display: block;
				position: absolute;
				top: 50%;
				right: 1.5rem;
				background: url(../img/btn-ar2.png) no-repeat center center / cover;
				width: 2.6rem;
				height: 2.6rem;
				margin-top: -1.3rem;
			}
		}
	}
}










/* FOOTER */

#footer {
	position: relative;
	border-radius: 4rem 4rem 0 0;
	background-color: var(--color-w);
	width: 100%;
	margin-top: -4rem;
	padding: 6rem 0 6.5rem 0;
	line-height: 1;
	z-index: 2;
	.logo {
		width: 18rem;
		margin: 0 auto 1.8rem auto;
	}
	.aggre {
		width: 25.2rem;
		margin: 0 auto;
	}
	ul {
		display: flex;
		justify-content: center;
		margin-top: 3.5rem;
		font-size: 1.2rem;
		flex-wrap: wrap;
		padding: 0 1.5rem;
		gap: 1.5rem 0;
		li {
			&:after {
				content: "|";
				margin: 0 1rem;
				color: #aaa;
			}
			&:last-child,
			&:nth-child(2) {
				&:after {
					display: none;
				}
			}
			a{
				&:not([class])[target=_blank]{
					&::after {
						content: "　";
						display: inline;
						background: url(../img/blank.svg) bottom right / 1.5rem no-repeat;
						margin: 0 0 0 .4rem;
					}
				}
			}
		}
	}
	.copy {
		margin-top: 1.5rem;
		font-size: 1rem;
		font-family: var(--font-en);
		font-weight: 400;
		text-align: center;
	}
}