@charset "UTF-8";
.txtEx {
	text-indent: 120%;
	white-space: nowrap;
	overflow: hidden;
}
.PC {display: inherit;}
.SP {display: none;}

:root {
	/* Brand */
	--accent: #b8392c;
	--accent-light: #fbeae6;
	--accent-dark: #9c2f24;
	/* Base */
	--black: #1a1a1a;
	--gray-900: #2e2e2c;
	--gray-700: #555;
	--gray-500: #888;
	--gray-300: #ccc;
	--gray-200: #e8e3d4;
	--gray-100: #faf8f1;
	--white: #fff;
	--paper: #f4f1ea;
	--shadow: rgb(81 53 20 / 0.2);
	--shadow_weak: rgb(81 53 20 / 0.1);
	--shadow_weakness: rgb(81 53 20 / 0.05);
	/* Font */
	--font-default: 'Noto Sans JP', sans-serif;
	--font-en: 'Outfit', sans-serif;
	--font-en2: "Oswald", sans-serif;
}

:where(html) {
	scroll-behavior: smooth;
	scroll-padding-top: 0rem;
	font-size: 62.5%;
	font-size: 0.9090909vw;
	margin-inline: auto;
}
@media screen and (min-width: 1100px) {
	:where(html) {
		font-size: 10px;
	}
}
:where(body) {
	font-family: var(--font-default);
	width: 100%;
	margin-inline: auto;
	color: var(--black);
	line-height: 1.8;
	font-size: 1.333333vw;
	/*background: var(--paper);*/
	-webkit-font-smoothing: antialiased;
}
:where(img) {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
:where(picture) {
	display: inline-block;
	vertical-align: bottom;
}
a:where([class]) {
	display: inline-block;
	transition: opacity 0.12s;
}
a:where([class]):hover {
	opacity: 0.8;
}
*[class] > mark {
	color: inherit;
	background: none;
}



.pg-mitekiku {
	/*max-width: 100%;*/
	max-width: 2000px;
	margin-inline: auto;
	overflow-x: hidden;
}
.container {
	max-width: 1100px;
	margin-inline: auto;
	padding: 0 0;
}



.btn {
	cursor: pointer;
	display: inline-flex;
		justify-content: center;
		align-items: center;
	padding: 1.4rem 3.2rem;
	font-size: 1.5rem;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	line-height: 1.4;
	border: 2px solid var(--black);
	border-radius: 60px;
	transition: all 0.2s;
}
	.btn.btn-arr {
		position: relative;
	}
				.btn.btn-arr:before,
				.btn.btn-arr:after {
					content: "";
					position: absolute;
						z-index: 10;
						top: 50%;
						right: 3rem;
						translate: 0 -50%;
					width: 2.2rem;
					height: 2.2rem;
					background: url("../images/icon_arrw.png") no-repeat center center;
					background-size: 100%;
				}
				.btn.btn-arr:after {
					background-image: url("../images/icon_arrb.png");
				}
.btn-primary {
	color: var(--white);
	border-color: var(--white);
	background: var(--black);
}
			.btn-primary:hover {
				color: var(--black);
				border-color: var(--black);
				background: var(--white);
				opacity: 1;
			}
			.btn-primary.btn-arr:before {}
			.btn-primary.btn-arr:after {
				z-index: 11;
				opacity: 0;
			}
						.btn-primary:hover.btn-arr:after {
							opacity: 1;
						}
.btn-secondary {
	color: var(--black);
	background: var(--white);
}
			.btn-secondary:hover {
				background: var(--black);
				color: var(--white);
				opacity: 1;
			}
			.btn-secondary.btn-arr:before {
				z-index: 11;
				opacity: 0;
			}
			.btn-secondary.btn-arr:after {}
						.btn-secondary:hover.btn-arr:before {
							opacity: 1;
						}
.btn-large {
	min-width: 39rem;
	padding: 2.4rem 0;
	font-size: 2.1rem;
	letter-spacing: 0.06em;
}
.btn-block {
	display: flex;
	width: 100%;
}
.btn-drsd {
	filter: drop-shadow(var(--shadow) 0 1.2rem 1.2rem);
}


.section-eyebrow {
	font-family: var(--font-en);
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	color: var(--accent);
	text-transform: uppercase;
	margin-bottom: 1.2rem;
}
.section-title-large {
	font-size: 3.6rem;
	font-weight: 900;
	line-height: 1.4;
	letter-spacing: 0.02em;
	margin-bottom: 2rem;
}
.section-title-large mark {
	color: var(--accent);
	background: none;
}
.section-lead {
	font-size: 1.8rem;
	color: var(--gray-900);
	line-height: 2.1;
}
.section-header {
	text-align: center;
	margin-bottom: 5rem;
}


html.js .reveal {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}
html.js .reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
	html.js .reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}



.mock-ui {
	background: var(--white);
	border-radius: 16px;
	border: 1px solid var(--gray-200);
	box-shadow: 0 4px 20px rgba(0,0,0,0.06);
	overflow: hidden;
}
.mock-header {
	display: flex;
		justify-content: space-between;
		align-items: center;
	padding: 1.4rem 2rem;
	border-bottom: 1px solid var(--gray-200);
}
.mock-title {
	font-size: 1.4rem;
	font-weight: 700;
}
.mock-meta {
	font-family: var(--font-en);
	font-size: 1.2rem;
	color: var(--gray-500);
}



.info-bar {
	padding: 0.2rem 0;
	background: #000;
}
	.info-bar span {
		display: block;
		max-width: 1100px;
		margin: 0 auto;
		color: #fff;
		font-size: 1rem;
		font-weight: 300;
		letter-spacing: 0.06em;
	}



.sect-fv-firstview {
	min-height: 117.3rem;
	padding: 14rem 0 23rem;
	background: var(--paper) no-repeat center top;
	background-image: url("../images/fv_bg.png");
	background-size: 200rem;
}
.fv-area {
	position: relative;
}
.fv-logo {
	position: relative;
	width: 49.7rem;
	margin-bottom: 14rem;
}
	.fv-logo .t01 {
		padding-top: 1.5rem;
		font-size: 1.6rem;
		text-align: center;
		letter-spacing: 0.06em;
	}
	.fv-logo .t02 {
		position: absolute;
			top: 0.1rem;
			left: 14.4rem;
		color: #fff;
		font-size: 1.9rem;
	}
		.fv-logo .t02 span {
			margin: 0 2.1rem;
		}
	.fv-logo .t03 {
		position: absolute;
			z-index: 10;
			left: 50%;
			bottom: 6.5rem;
			translate: -50% 0;
		font-size: 2.9rem;
		font-weight: 500;
		text-align: center;
		letter-spacing: 0.06em;
		white-space: nowrap;
	}
		.fv-logo .t03 mark {
			color: var(--accent);
			background: none;
		}
		.fv-logo .t03 span {
			font-family: var(--font-en2);
			font-size: 3.4rem;
			font-weight: 400;
		}
.fv-catch {
	position: absolute;
		top: -10rem;
		right: 0;
	width: 53rem;
	margin-bottom: 3rem;
	font-size: 2.8rem;
	font-weight: 900;
	line-height: 1.6;
}
	.fv-catch .t01 {
		position: absolute;
			z-index: 10;
			top: 7rem;
			right: 0rem;
		writing-mode: tb;
		font-size: 1.9rem;
		font-weight: 500;
		letter-spacing: 0.2em;
	}
		.fv-catch .t01 .m1 {
			color: var(--accent);
		}
		.fv-catch .t01 .m2 {
			color: #fff;
			background: #000;
		}
	.fv-catch [class^="t02"] {
		position: absolute;
			z-index: 10;
		color: var(--accent);
		font-size: 1.6rem;
		text-align: center;
		line-height: 1.25;
	}
		.fv-catch .t02 {
				top: 22rem;
				left: 18.3rem;
			color: #fff;
			font-size: 2.4rem;
			line-height: 1.4;
		}
			.fv-catch .t02 strong {
				font-size: 2.8rem;
			}
		.fv-catch .t02a {
				top: 11.3rem;
				left: 6.4rem;
		}
		.fv-catch .t02b {
				top: 11.3rem;
				left: 30.4rem;
		}
		.fv-catch .t02c {
				top: 36.4rem;
				left: 29.8rem;
		}
		.fv-catch .t02d {
				top: 35.8rem;
				left: 5rem;
		}
.fv-visual {
	display: flex;
	margin-bottom: 6.6rem;
	margin-left: 6.6rem;
}
	.chat-pop {
		display: flex;
			justify-content: center;
			align-items: center;
		width: 17.2rem;
		height: 17.2rem;
		margin-right: -1.5rem;
		border-radius: 50%;
		background: #b8392c;
	}
		.chat-pop p {
			color: #fff;
			font-weight: 700;
			font-size: 1.8rem;
			letter-spacing: 0.06em;
		}
	.chat-widget {
		background: var(--white);
		border-radius: 16px;
		border: 1px solid var(--gray-200);
		box-shadow: 0 8px 32px rgba(0,0,0,0.08);
		overflow: hidden;
		width: 100%;
		max-width: 380px;
	}
		.chat-widget-header {
			background: var(--gray-100);
			padding: 1.2rem 1.6rem;
			display: flex;
				align-items: center;
				gap: 0.8rem;
			border-bottom: 1px solid var(--gray-200);
		}
		.chat-dot {
			width: 8px;
			height: 8px;
			border-radius: 50%;
			background: #4caf50;
		}
		.chat-widget-title {
			font-family: var(--font-en);
			font-size: 1.3rem;
			font-weight: 700;
			color: var(--black);
		}
		.chat-widget-body {
			padding: 2rem 1.6rem;
		}
		.chat-widget-prompt {
			font-size: 1.5rem;
			font-weight: 700;
			margin-bottom: 1.6rem;
			line-height: 1.6;
		}
		.chat-quick-questions {
			display: flex;
				flex-wrap: wrap;
				gap: 0.8rem;
			margin-bottom: 1.6rem;
		}
		.chat-pill {
			padding: 0.6rem 1.2rem;
			border-radius: 20px;
			border: 1px solid var(--gray-200);
			background: var(--white);
			font-size: 1.2rem;
			color: var(--gray-700);
			cursor: pointer;
			transition: all 0.15s;
		}
		.chat-pill:hover {
			border-color: var(--accent);
			color: var(--accent);
		}
		.chat-input-row {
			display: flex;
				gap: 0.8rem;
		}
		.chat-input-row input {
			flex: 1;
			padding: 0.8rem 1.2rem;
			border-radius: 8px;
			border: 1px solid var(--gray-300);
			font-size: 1.3rem;
			background: var(--white);
		}
		.chat-send {
			padding: 0.8rem 1.6rem;
			background: var(--black);
			color: var(--paper);
			border-radius: 8px;
			font-size: 1.3rem;
			font-weight: 700;
			cursor: pointer;
			border: none;
			transition: all 0.15s;
			white-space: nowrap;
		}
		.chat-send:hover {
			background: var(--gray-900);
		}
.fv-cta {
	display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 3rem;
	margin-bottom: 3.8rem;
}

.fv-meta {
	color: var(--gray-700);
	font-size: 1.6rem;
	text-align: center;
}



.sect-abt-about {
	padding: 2rem 0 15rem 0;
	background: var(--paper);
}
	.sect-abt-about h2 {
		width: 76.3rem;
		margin-bottom: 4rem;
		margin-inline: auto;
	}
.sect-abt-about h2 {
	position: relative;
}
	.sect-abt-about h2 .t01 {
		position: absolute;
			z-index: 10;
			top: 1.1rem;
			left: 9.5rem;
		font-size: 2.6rem;
		letter-spacing: 0.08em;
	}
	.sect-abt-about h2 .t02 {
		position: absolute;
			z-index: 10;
			top: 5.9rem;
			left: 2rem;
		font-size: 6rem;
		font-weight: 700;
		white-space: nowrap;
	}
		.sect-abt-about h2 .t02 span {
			margin-right: 6.1rem;
			color: var(--accent);
		}
.about-compare {
}
	.about-before,
	.about-after {
		position: relative;
			z-index: 10;
		display: grid;
			grid-template-areas:
			"a c"
			"b c";
			justify-content: center;
			align-content: center;
			justify-items: stretch;
			align-items: center;
			grid-template-columns: min-content 1fr;
			grid-template-rows: min-content min-content;

		width: 106rem;
		margin-inline: auto;
		padding: 5rem 3rem;
		padding-left: 32rem;
		background: var(--gray-100);
		filter: drop-shadow(rgb(81 53 20 / 0.05) 3.6rem 2.6rem 1.6rem);
	}
				.about-before:before,
				.about-after:before {
					content: "";
					position: absolute;
						z-index: -1;
						top: 0;
						bottom: 0;
						left: 0;
					width: 24rem;
					background: linear-gradient(90deg, var(--paper) 0%, transparent 100%);
				}
				.about-after:before {
					width: 20rem;
				}
				.about-before:after,
				.about-after:after {
					content: "";
					position: absolute;
						z-index: 10;
						bottom: 2.6rem;
						left: 6rem;
					display: block;
					width: 20.6rem;
					height: 20.6rem;
					background: url("../images/abt_pp.png") no-repeat top center;
					background-size: 100%;
				}
				.about-after:after {
						top: -1.6rem;
						bottom: auto;
					height: 24.6rem;
					background-position: bottom center;
				}
	.about-after {
		background: var(--white);
	}
		.about-label {
			position: relative;
				z-index: 10;
			display: inline-block;
				grid-area: a;
				align-self: flex-end;
			width: 25rem;
			margin-bottom: 2.2rem;
			padding: 0.6rem 0;
			color: var(--white);
			font-size: 2.2rem;
			font-weight: 500;
			text-align: center;
			letter-spacing: 0.1em;
			border-radius: 10rem;
			background: var(--gray-900);
		}
					.about-label:before {
						content: "";
						position: absolute;
							z-index: -1;
							top: 100%;
							left: 50%;
							translate: -50% -50%;
							rotate: 45deg;
						display: block;
						background: var(--gray-900);
						width: 1.4rem;
						height: 1.4rem;
					}
			.about-after .about-label {
				background: var(--accent);
			}
						.about-after .about-label:before {
							background: var(--accent);
						}

		.about-heading {
				grid-area: b;
				align-self: flex-start;
			color: var(--gray-900);
			font-size: 4.8rem;
			font-weight: 700;
			text-align: center;
			letter-spacing: 0.1em;
			white-space: nowrap;
			line-height: 1.3;
		}
			.about-after .about-heading {
				color: var(--accent);
			}
			.about-heading mark {
				color: var(--accent);
				background: none;
			}
		.about-list {
				grid-area: c;
			margin-left: 6rem;
			padding: 0;
		}
			.about-list li {
				position: relative;
				display: flex;
					align-items: center;
				padding-left: 4.8rem;
				color: var(--gray-900);
				font-size: 1.8rem;
				font-weight: 500;
				line-height: 2.3;
				letter-spacing: 0.06em;
			}
						.about-before .about-list li::before,
						.about-after .about-list li::before {
							content: "";
							display: inline-block;
							width: 1.8rem;
							height: 1.8rem;
							margin-right: 1rem;
							background: url("../images/icon_checkgry.png") no-repeat ;
							background-size: 100%;
						}
						.about-after .about-list li::before {
							background-image: url("../images/icon_checkred.png");
						}
				.about-list li strong {
					font-weight: 900;
				}
		.about-arrow {
			display: flex;
			width: 28rem;
			margin-top: -2rem;
			margin-bottom: 1rem;
			margin-inline: auto;
		}



.sect-prb-problem {
	container-type: inline-size;
	padding: 0 0 15rem 0;
	background: var(--paper);
}
	.sect-prb-problem .container {
		position: relative;
		max-width: 2000px;
		padding: 10rem 0 13rem 0;
					/*margin-inline: 0;
					padding-left: calc((100vw - 100cqi) / 2 + 150px);*/
		background: var(--gray-100);
	}
				@media screen and (min-width: 1400px) {
					.sect-prb-problem .container {}
								.sect-prb-problem .container:before {
									content: "";
									position: absolute;
										z-index: 10;
										top: 0;
										right: 0;
										bottom: 0;
										left: calc(100% - (100cqi - 1100px) / 2 + 150px);
									background: var(--paper);
								}
				}
				@media screen and (min-width: 2000px) {
								.sect-prb-problem .container:before {
										left: calc(100cqi - 300px);
								}

				}
		.sect-prb-problem .container > * {
			max-width: 1100px;
			margin-inline: auto;
		}
	.sect-prb-problem .section-header {
		margin-bottom: 7rem;
	}
		.sect-prb-problem .section-header .wrap {
			display: flex;
				align-items: center;
				justify-content: center;
			margin-bottom: 2rem;
		}
		.sect-prb-problem .section-eyebrow {
			margin-right: 2.4rem;
			padding: 0.2rem 4rem;
			color: var(--gray-900);
			font-size: 3.2rem;
			letter-spacing: 0.04em;
			border-radius: 10rem;
			background: var(--white);
			filter: drop-shadow(var(--shadow) 0 1rem 1rem);
		}
		.sect-prb-problem .section-title-large {
			font-size: 6.8rem;
			font-weight: 700;
		}
	.sect-prb-problem .section-lead {
		letter-spacing: 0.06em;
	}
	.problem-grid {
		display: flex;
			gap: 0 3.8rem;
		margin-bottom: 8rem;
	}
		.problem-card {
			width: 34rem;
			padding: 4rem 3rem 5rem 3rem;
			text-align: center;
			background:
				linear-gradient(180deg,
				var(--gray-100) 0%,
				var(--white) 30%,
				var(--white) 100%
			);
			filter: drop-shadow(var(--shadow_weak) 0 3rem 2rem);
		}
			.problem-card .fuki {
				position: relative;
				display: inline-block;
				margin-bottom: 5rem;
				padding: 2rem 3.4rem;
				border-radius: 3rem;
				background: var(--accent);
			}
						.problem-card .fuki:before {
							content: "";
							position: absolute;
								z-index: 10;
								bottom: -2.3rem;
								left: 50%;
								translate: -50% 0;
							width: 11rem;
							height: 3.5rem;
							background: url("../images/prb_arr.png") no-repeat right center;
							background-size: auto 100%;
						}
									.problem-card:nth-child(even) .fuki:before {
										scale: -1 1;
									}
				.problem-num {
					position: absolute;
						bottom: 99%;
						left: 50%;
						translate: -50% 0;
					display: inline-block;
					width: 3.2rem;
				}
				.problem-heading {
					color: var(--white);
					font-size: 2.2rem;
					font-weight: 700;
				}
			.problem-icon {
				width: 14rem;
				height: 12rem;
				margin-inline: auto;
				margin-bottom: 3rem;
				background: url("../images/prb_icon.png") no-repeat left top;
				background-size: auto 100%;
			}
				.problem-card:nth-child(2) .problem-icon {
					background-position: center top;
				}
				.problem-card:nth-child(3) .problem-icon {
					background-position: right top;
				}
			.problem-desc {
				width: 24.4rem;
				margin-inline: auto;
				font-size: 1.8rem;
				color: var(--gray-900);
				line-height: 2;
				text-align: left;
			}
	.problem-t01 {
		font-size: 2.4rem;
		font-weight: 700;
		text-align: center;
		letter-spacing: 0.06em;
	}
		.problem-t01 strong {
			position: relative;
			color: var(--accent);
			font-size: 3.2rem;
		}
					.problem-t01 strong:before {
						content: "";
						position: absolute;
							top: 100%;
							left: 0;
						display: block;
						width: 100%;
						height: 2px;
						background: var(--accent);
					}
	.prb-survey {
		position: relative;
		max-width: 68rem;
		margin: 6.4rem auto 4rem auto;
		padding: 0 4.8rem 3rem;
		text-align: center;
		border-radius: 1.8rem;
		box-shadow: 0 2.4rem 6rem rgba(143,43,30,0.14), 0 0.4rem 1.4rem rgba(43,37,35,0.06);
		background: var(--white);
		overflow: hidden;
	}
					.prb-survey::before {
						content: "";
						display: block;
						height: 0.7rem;
						margin: 0 -4.8rem 0;
						background: linear-gradient(90deg, #8F2B1E, var(--accent) 40%, #E08A6E);
					}
		.prb-survey-wm {
			position: absolute;
				bottom: -3.4rem;
				left: -1.4rem;
			font-family: var(--font-en2);
			font-size: 17rem;
			font-weight: 600;
			color: rgba(177,58,43,0.045);
			line-height: 1;
			pointer-events: none;
		}
		.prb-survey-conn {
			margin-top: 3.8rem;
			font-size: 2rem;
			font-weight: 900;
			letter-spacing: 0.06em;
			position: relative;
		}
		.prb-survey-impact {
			margin-top: 1.4rem;
			font-size: 2.5rem;
			font-weight: 900;
			letter-spacing: 0.02em;
			line-height: 1;
			white-space: nowrap;
			position: relative;
		}
			.prb-survey-lead {
				font-size: 3.4rem;
				font-weight: 900;
				margin-right: 1rem;
			}
			.prb-survey-n {
				font-family: var(--font-en2);
				font-size: 5.8rem;
				font-weight: 600;
				vertical-align: -0.5rem;
				letter-spacing: 0;
				background: linear-gradient(160deg, #D96A50, #8F2B1E);
				-webkit-background-clip: text;
				background-clip: text;
				color: transparent;
			}
			.prb-survey-uline {
				position: relative;
				display: inline-block;
			}
			.prb-survey-swoosh {
				position: absolute;
					left: -0.8rem;
					right: -0.8rem;
					bottom: -1.6rem;
				width: calc(100% + 1.6rem);
				height: 2.2rem;
				pointer-events: none;
			}
			.prb-survey-dat {
				font-size: 3.6rem;
				margin-left: 0.6rem;
				background: linear-gradient(160deg, #D96A50, #8F2B1E);
				-webkit-background-clip: text;
				background-clip: text;
				color: transparent;
			}
		.prb-survey-claim {
			display: inline-block;
			position: relative;
			margin-top: 3.2rem;
			padding: 0 3rem;
			font-size: 1.7rem;
			font-weight: 900;
			line-height: 2;
			letter-spacing: 0.02em;
		}
					.prb-survey-claim::before,
					.prb-survey-claim::after {
						content: "";
						position: absolute;
							top: 0.4rem;
							bottom: 0.4rem;
						width: 1.2rem;
						border-top: 1.5px solid #CFA898;
						border-bottom: 1.5px solid #CFA898;
					}
					.prb-survey-claim::before {
						left: 0;
						border-left: 1.5px solid #CFA898;
					}
					.prb-survey-claim::after {
						right: 0;
						border-right: 1.5px solid #CFA898;
					}
				.prb-survey-claim em {
					font-style: normal;
					background: linear-gradient(transparent 60%, #F6D5C9 60%);
					padding: 0 0.2rem;
				}
		.prb-survey .prb-survey-note {
			font-size: 1.05rem;
			color: #B9B0A2;
			margin-top: 1.4rem;
			line-height: 1.7;
			text-align: center;
		}



.sect-str-strengths {
	padding: 0 0 16rem 0;
	background: var(--paper);
}
	.sect-str-strengths .container {
		background: url("../images/str_img.png") no-repeat left top;
		background-size: 39rem;
	}
	.sect-str-strengths .section-header {
		padding-top: 4rem;
		margin-bottom: 15rem;
		padding-left: 41rem;
		text-align: left;
	}
		.sect-str-strengths .section-header .section-eyebrow {
			width: 6.4rem;
		}
		.sect-str-strengths .section-header .section-title-large {
			color: var(--gray-900);
			font-size: 7.2rem;
			font-weight: 700;
			line-height: 1.2;
		}
		.sect-str-strengths .section-header .section-lead {
			letter-spacing: 0.06em;
		}

	.str-point {
		position: relative;
		max-width: 1020px;
		margin-inline: auto;
		margin-bottom: 22rem;
	}
				.str-point:last-child {
					margin-bottom: 0;
				}
	.str-point.reverse {
		scale: -1 1;
	}
		.str-point.reverse .str-point-text {
				scale: -1 1;
			padding-left: 28rem;
		}
		.str-point.reverse .str-point-visual {
				scale: -1 1;
		}
		.str-point.reverse .str-point-note {
				scale: -1 1;
		}
	.str-point.centering {
	}
		.str-point.centering .str-point-text {
			width: 88rem;
			margin: 0 auto;
		}
			.str-point.centering .str-point-num {
					left: 50%;
					translate: -50% 0;
			}
			.str-point.centering .str-point-heading {
				margin-bottom: 3rem;
				text-align: center;
			}
			.str-point.centering .str-point-desc {
				width: 100%;
				margin-bottom: 3rem;
				text-align: center;
			}
		.str-point.centering .str-point-visual {
			position: static;
		}
					.str-point.centering .str-point-visual.i02 {
						/*position: relative;*/
							translate: -14.5rem 0;
						width: 99.2rem;
					}
					.str-point.centering .str-point-visual.i03 {
							translate: -16.5rem 0;
						width: 112.2rem;
						margin-top: 5rem;
					}
	.str-point-text {
		width: 84rem;
		margin-left: 2rem;
		padding: 7rem 5rem 5.5rem 5rem;
		background: linear-gradient(180deg,
			var(--paper) 0%,
			var(--white) 100%
		);
		filter: drop-shadow(var(--shadow_weakness) 0 4.2rem 2.6rem);
	}
	.str-point-text2 {
		width: 88rem;
		margin: 0 auto;
		margin-top: 2rem;
		padding: 7rem 5rem 5.5rem 5rem;
		text-align: center;
		background: #fff;
		filter: drop-shadow(var(--shadow_weakness) 0 4.2rem 2.6rem);
	}
		.str-point-text2 h4 {
			margin-bottom: 2rem;
			font-size: 2rem;
			line-height: 2;
			letter-spacing: 0.06em;
		}
			.str-point-text2 h4 mark {
				color: var(--accent);
				background: none;
			}
			.str-point-text2 h4 strong {
				font-size: 2.6rem;
			}
		.str-point-text2 p {
			font-size: 1.8rem;
			line-height: 2;
			letter-spacing: 0.06em;
		}
	.str-point-text3 {
		display: flex;
			gap: 0 2rem;
			align-items: center;
		width: 88rem;
		margin: 0 auto;
		margin-top: 2rem;
		padding: 7rem 5rem 5.5rem 5rem;
		background: #fff;
		filter: drop-shadow(var(--shadow_weakness) 0 4.2rem 2.6rem);
	}
		.str-point-text3 .imgwrap {
			display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: center;
			width: 21rem;
		}
			.str-note-stat {
				position: relative;
				text-align: center;
			}
				/*.str-note-stat-original -- removed */
				.str-note-stat-sub {
					color: var(--accent);
					font-size: 1.8rem;
					font-weight: 500;
					letter-spacing: 0.08em;
				}
				.str-note-stat .str-note-stat-num {
					color: var(--accent);
					font-size: 3rem;
					font-weight: 700;
					line-height: 1.2;
				}
					.str-note-stat-num span {
						font-family: var(--font-en2);
						font-size: 6.6rem;
						font-weight: 400;
					}
		.str-point-text3 .txtwrap {}
		.str-point-text3 h4 {
			margin-bottom: 2rem;
			font-size: 2rem;
			line-height: 1.7;
			letter-spacing: 0.06em;
		}
			.str-point-text3 h4 mark {
				color: var(--accent);
				background: none;
			}
			.str-point-text3 h4 strong {
				font-size: 2.6rem;
				font-weight: 700;
			}
		.str-point-text3 p {
			font-size: 1.8rem;
			line-height: 2;
			letter-spacing: 0.06em;
		}
	.str-point-num {
		position: absolute;
			z-index: 10;
			top: -3.5rem;
		display: block;
		height: 6.6rem;
	}
		.str-point-num picture {
			display: block;
			height: 100%;
		}
		.str-point-num img {
			width: auto;
			height: 100%;
		}
	.str-point-heading {
		font-size: 3.2rem;
		font-weight: 700;
		letter-spacing: 0.06em;
		margin-bottom: 2rem;
	}
		.str-point-heading mark {
			color: var(--accent);
		}
	.str-point-desc {
		width: 50rem;
		color: var(--gray-900);
		font-size: 1.8rem;
		letter-spacing: 0.06em;
		line-height: 2;
	}
	.str-point-note {
		/*position: absolute;
			z-index: 10;
			top: 100%;
			left: 0;*/
		margin-top: 5.4rem;
		color: var(--gray-500);
		font-size: 1.4rem;
		text-align: right;
		letter-spacing: 0.06em;
		white-space: nowrap;
	}
	.str-point-visual {
		position: absolute;
			z-index: 10;
			top: -8rem;
			right: 0;
		width: 40rem;
		filter: drop-shadow(var(--shadow_weak) 1rem 2rem 2rem);
	}
	.str-point-visual .mock-dashboard {
		position: relative;
		background: url("../images/str_01img.png") no-repeat center top;
		background-size: 100%;
		padding: 2.8rem 3rem;
	}
		.str-point-visual .mock-dashboard-head {
			display: flex;
				justify-content: space-between;
				align-items: center;
			margin-bottom: 0.9rem;
		}
			.str-point-visual .mock-dashboard-title {
				margin-top: 1.4rem;
				margin-left: 0.8rem;
				font-size: 1.4rem;
				font-weight: 700;
			}
		.str-point-visual .mock-dashboard-stats {
			display: flex;
				gap: 0 1.2rem;
			margin-bottom: 3.3rem;
		}
			.str-point-visual .mock-stat-card {
				flex: 1;
				padding: 1.4rem 1.6rem;
				text-align: center;
			}
				.str-point-visual .mock-stat-label {
					display: block;
					font-size: 1.6rem;
					color: var(--gray-500);
					margin-bottom: 0.4rem;
				}
				.str-point-visual .mock-stat-value {
					font-size: 1.8rem;
					font-weight: 500;
					color: var(--gray-900);
				}
					.str-point-visual .mock-stat-value strong {
						font-family: var(--font-en2);
						font-size: 3.8rem;
						font-weight: 500;
						line-height: 1;
					}
				.str-point-visual .mock-stat-card.is-alert .mock-stat-value strong {
				}
		.str-point-visual .mock-dashboard-ranking {
		}
			.str-point-visual .mock-ranking-title {
				margin-left: 0.8rem;
				margin-bottom: 1.2rem;
				font-size: 1.4rem;
				font-weight: 700;
			}
			.str-point-visual .mock-ranking-list {
				counter-reset: rank;
				margin-left: 3.2rem;
				padding: 0;
				list-style: none;
			}
				.str-point-visual .mock-ranking-list li {
					counter-increment: rank;
					display: flex;
						align-items: center;
					padding-bottom: 1.9rem;
					font-size: 1.2rem;
				}
					/*.str-point-visual .mock-ranking-list li::before {
						content: counter(rank, decimal-leading-zero);
							flex-shrink: 0;
						width: 2.4rem;
						font-family: var(--font-en);
						font-size: 1.2rem;
						font-weight: 600;
						color: var(--gray-500);
					}*/
				.str-point-visual .mock-q {
						flex-shrink: 0;
					font-size: 1.4rem;
					font-weight: 500;
				}
	/*.str-map-original -- removed */
	.str-map {
		/*position: absolute;*/
			z-index: 10;
			top: 0;
			left: 0;
		display: flex;
			gap: 0 11rem;
			align-items: flex-start;
		width: 100%;
		height: 100%;
		margin-left: 0rem;
		padding-left: 3rem;
	}
		.str-map-lp {
				flex-shrink: 0;
			width: 40rem;
			padding-bottom: 4.4rem;
			background: #faf8f1;
			border-radius: 2rem;
			filter: drop-shadow(1rem 2rem 2rem rgb(81 53 20 / 0.1));
		}
			.str-map-lp-label {
				display: inline-block;
				margin-bottom: 2.8rem;
				padding: 0.6rem 5.5rem;
				color: #fff;
				font-size: 1.8rem;
				font-weight: 400;
				border-radius: 100rem;
				background: var(--black);
				filter: drop-shadow(0.6rem 1rem 1rem rgb(81 53 20 / 0.2));
			}
			.str-map-lp-inner {
				width: 31rem;
				margin: 0 auto;
				padding: 1rem;
				border-radius: 0.4rem;
				border: 1px solid #e9e2d4;
				background: var(--white);
			}
				.str-map-section {
					padding: 2.6rem 2rem;
					margin-bottom: 1rem;
					color: var(--gray-700);
					font-size: 1.6rem;
					font-weight: 400;
					text-align: center;
					letter-spacing: 0.06em;
					border-radius: 0.6rem;
					border: 1px solid var(--gray-200);
					background: var(--gray-100);
				}
							.str-map-section:last-child {
								margin-bottom: 0;
							}
				.str-map-ai {
					position: relative;
					display: flex;
						align-items: center;
						gap: 0 2rem;
					margin-bottom: 1rem;
					margin-inline: -3rem;
					padding: 1.7rem 4.3rem;
					color: var(--white);
					font-size: 1.8rem;
					font-weight: 500;
					letter-spacing: 0.06em;
					border-radius: 0.6rem;
					background: var(--accent);
					filter: drop-shadow(0.6rem 1rem 1rem rgb(81 53 20 / 0.3));
				}
							.str-map-ai::after {
								content: "";
								position: absolute;
									top: 50%;
									left: calc(116% + 1rem);
									translate: 0 -50%;
								width: 12rem;
								height: 0;
								border-top: 2px solid var(--accent);
							}
							.str-map-ai::before {
								content: "";
								position: absolute;
									top: 50%;
									left: 116%;
									translate: 0 -50%;
								width: 1rem;
								height: 1rem;
								border-radius: 50%;
								background: var(--accent);
							}
					.str-map-ai-icon {
						width: 3.3rem;
						height: auto;
					}
		.str-map-questions {
			position: relative;
			display: flex;
				flex-direction: column;
				align-items: start;
				gap: 2rem 0;
			padding-top: 13.5rem;
			filter: drop-shadow(1rem 2rem 2rem rgb(81 53 20 / 0.1));
		}
			.str-map-qgroup {
				padding: 0 2.4rem;
				padding-bottom: 1.8rem;
				border-radius: 0.8rem;
				background: var(--accent);
			}
						.str-map-qgroup:nth-child(2) {
							margin-left: 4rem;
						}
				.str-map-qgroup-title {
					display: inline-block;
					margin-top: 1.2rem;
					margin-left: 0.4rem;
					margin-bottom: 0.8rem;
					padding: 0;
					color: var(--white);
					font-size: 1.4rem;
					font-weight: 700;
					letter-spacing: 0.06em;
					border-radius: 0.4rem;
					background: var(--accent);
				}
				.str-map-qlist {
					list-style: none;
					padding: 0;
					display: flex;
						flex-direction: column;
						gap: 0.4rem 0;
				}
					.str-map-qlist li {
						width: 31.4rem;
						padding: 1rem 2.9rem;
						color: var(--gray-900);
						font-size: 1.4rem;
						font-weight: 500;
						letter-spacing: 0.06em;
						border-radius: 0.4rem;
						background: var(--white);
					}
	/*.str-guide-original -- removed */
	.str-guide {
		display: flex;
			gap: 0 3rem;
			justify-content: center;
		/*margin-top: -62.6rem;*/
	}
		.str-guide-card {
			display: flex;
				flex-direction: column;
				align-items: center;
			width: 32rem;
			padding: 0 0 2.5rem 0;
			border-radius: 2rem;
			background: var(--gray-100);
			box-shadow: 0 4px 20px rgba(0,0,0,0.04);
		}
			.str-guide-question {
				display: flex;
					flex-direction: column;
					justify-content: center;
					align-items: center;
				width: 28rem;
				height: 9rem;
				margin-top: -2rem;
				text-align: center;
				border-radius: 0.8rem;
				background: var(--gray-900);
			}
				.str-guide-q-text {
					color: var(--white);
					font-size: 1.8rem;
					font-weight: 700;
					letter-spacing: 0.06em;
				}
				.str-guide-q-sub {
					color: var(--white);
					font-size: 1.4rem;
					font-weight: 500;
					letter-spacing: 0.06em;
				}
			.str-guide-arrow {
				width: 3.2rem;
				margin-top: 1.4rem;
				margin-bottom: 0.6rem;
			}
			.str-guide-reading {
				width: 27rem;
				margin-bottom: 1rem;
			}
				.str-guide-reading-label {
					display: flex;
						justify-content: center;
						align-items: center;
					width: 10rem;
					height: 3.2rem;
					color: var(--black);
					font-size: 1.4rem;
					font-weight: 500;
					letter-spacing: 0.14em;
					border-radius: 0.4rem 0.4rem 0 0;
					background: var(--gray-200);
				}
				.str-guide-reading-desc {
					padding: 1.5rem 1.6rem;
					color: var(--black);
					font-size: 1.4rem;
					line-height: 1.8;
					letter-spacing: 0.06em;
					border: 1px solid var(--gray-200);
					border-radius: 0 0.4rem 0.4rem 0.4rem;
					background: #fff;
				}
					.str-guide-reading-desc mark {
						color: var(--accent);
						font-weight: 700;
						background: none;
					}
			.str-guide-action {
				position: relative;
				display: flex;
					align-items: flex-start;
					gap: 0 1.6rem;
				width: 27rem;
				height: 23rem;
				margin-top: 1.7rem;
				background: #fff;
				border: 1px solid var(--gray-200);
				border-radius: 0.4rem;
			}
				.str-guide-action-label {
					flex-shrink: 0;
					position: absolute;
						z-index: 10;
						top: -2rem;
						left: 1rem;
					display: flex;
						justify-content: center;
						align-items: center;
					width: 7rem;
					height: 7rem;
					color: var(--white);
					font-size: 1.4rem;
					font-weight: 500;
					line-height: 1.28;
					text-align: center;
					letter-spacing: 0.1em;
					border-radius: 50%;
					background: var(--accent);
				}
				.str-guide-action-body {
					display: flex;
						flex: 1;
						flex-direction: column;
						align-items: center;
					padding: 1.9rem 0 0 0;
					text-align: center;
				}
					.str-guide-action-icon {
						width: 8.7rem;
						height: auto;
						margin-bottom: 0.3rem;
					}
					.str-guide-action-desc {
						font-size: 1.6rem;
						line-height: 1.8;
						letter-spacing: 0.06em;
						color: var(--gray-900);
					}
						.str-guide-action-desc mark {
							color: var(--accent);
							font-weight: 700;
							background: none;
						}
	.str-accuracy {
		background: url("../images/str_04img.png") no-repeat center top;
		background-size: 100%;
		padding: 10rem 3rem;
		padding-top: 4.2rem;
	}
		.str-accuracy-head {
			display: flex;
				justify-content: space-between;
				align-items: center;
			width: 33rem;
			margin: 0 auto;
			margin-bottom: 1rem;
		}
			.str-accuracy-title {
				font-size: 1.4rem;
				font-weight: 700;
			}
			.str-accuracy-period {
				color: var(--black);
				font-size: 1.2rem;
			}
		.str-accuracy-stats {
			display: flex;
				gap: 0 1.2rem;
			margin-bottom: 2.8rem;
		}
			.str-accuracy-stat {
				flex: 1;
				padding: 1.2rem 1.6rem;
				text-align: center;
			}
				.str-accuracy-stat-label {
					display: block;
					font-size: 1.6rem;
					color: var(--gray-700);
					margin-bottom: 0.2rem;
				}
				.str-accuracy-stat-value {
					font-family: var(--font-en2);
					color: var(--gray-900);
					font-size: 4.2rem;
					font-weight: 500;
					line-height: 1;
				}
					.str-accuracy-stat-value small {
						font-family: var(--font-default);
						font-size: 2.6rem;
						font-weight: 500;
					}
				.str-accuracy-stat.is-current .str-accuracy-stat-value {
					color: var(--accent);
				}
		.str-accuracy-bars {
			display: flex;
				flex-direction: column;
				gap: 1rem 0;
			padding: 0 1rem;
		}
			.str-accuracy-row {
				display: flex;
					align-items: center;
			}
				.str-accuracy-month {
						flex-shrink: 0;
					width: 5.6rem;
					color: var(--gray-900);
					font-size: 1.4rem;
				}
				.str-accuracy-bar {
						flex: 1;
					height: 1.2rem;
				}
				.str-accuracy-pct {
						flex-shrink: 0;
					width: 4rem;
					color: var(--gray-900);
					font-family: var(--font-en2);
					font-size: 1.8rem;
					font-weight: 500;
					text-align: right;
				}
					.str-accuracy-pct small {
						font-size: 1.2rem;
					}
	.str-point-end {
		margin-top: -9rem;
		text-align: center;
	}
		.str-point-end .t01 {
			font-size: 2.8rem;
			font-weight: 700;
			line-height: 1.75;
			letter-spacing: 0.02em;
		}
			.str-point-end .t01 mark {
				color: var(--accent);
			}
		.str-point-end .str-point-note {
			margin-top: 3rem;
			text-align: center;
		}



.sect-ftr-features {
	display: flex;
		justify-content: center;
	padding: 12rem 0;
	padding-bottom: 0;
	background: var(--paper);
}
	.sect-ftr-features .container {
		position: relative;
		display: flex;
			justify-content: center;
			gap: 0 8rem;
		min-width: 200rem;
		padding: 10rem 0;
		padding-bottom: 24rem;
		background: var(--gray-100) no-repeat top 15rem right 28.6rem;
		background-image: url("../images/ftr_bg.png");
		background-size: 75.9rem;
	}
					.sect-ftr-features .container:before,
					.sect-ftr-features .container:after {
						content: "";
						position: absolute;
							z-index: 10;
						width: 0;
						height: 0;
						border-style: solid;
						border-width: 0 0 12rem 200rem;
						border-color: transparent transparent var(--gray-100) transparent;
					}
					.sect-ftr-features .container:before {
							bottom: calc(100% - 1px);
					}
					/*.sect-ftr-features .container:after {
							top: calc(100% - 1px);
						border-width: 12rem 200rem 0 0;
						border-color: var(--gray-100) transparent transparent transparent;
					}*/
					.sect-ftr-features .container:after {
						display: none;
					}
	.sect-ftr-features .section-header {
		writing-mode: tb;
		text-align: left;
	}
		.sect-ftr-features .section-header .section-eyebrow {
			margin-left: 1rem;
			font-weight: 500;
		}
		.sect-ftr-features .section-header .ftr_wrap {
			display: flex;
				align-items: center;
				gap: 0 4rem;
		}
		.sect-ftr-features .section-title-large {
			margin-bottom: 0;
			font-weight: 700;
			letter-spacing: 0.06em;
			line-height: 1;
		}
		.sect-ftr-features .section-lead {
			line-height: 1;
		}
	.sect-ftr-features .features-grid {
		display: grid;
			grid-template-columns: repeat(2, 1fr);
			gap: 2.4rem;
		width: 87rem;
	}
		.feature-card {
			width: 43rem;
			padding: 3rem 4rem 6rem 4rem;
			border-radius: 1rem;
			background: var(--white);
			filter: drop-shadow(var(--shadow_weakness) 0 2rem 2rem);
			transition: transform 0.2s, box-shadow 0.2s;
		}
					.feature-card:hover {
						transform: translateY(-4px);
						box-shadow: 0 8px 24px rgba(0,0,0,0.06);
					}
					.feature-card:before {
						content: "";
						position: absolute;
							z-index: 10;
							top: 3rem;
							right: 4.8rem;
						display: block;
						width: 8.8rem;
						height: 8.8rem;
						background: url("../images/ftr_icon.png") no-repeat left top;
						background-size: 51.4rem;
					}
					.feature-card:nth-child(2):before {
						background-position: right top;
					}
					.feature-card:nth-child(3):before {
						background-position: left bottom;
					}
					.feature-card:nth-child(4):before {
						background-position: right bottom;
					}
		.feature-num {
			display: block;
			height: 3rem;
			margin-bottom: 5rem;
		}
			.feature-num img {
				width: auto;
				height: 100%;
			}
	.feature-heading {
		position: relative;
		margin-bottom: 5rem;
		font-size: 3rem;
		font-weight: 700;
		line-height: 1.4;
		letter-spacing: 0.06em;
	}
				.feature-heading:before {
					content: "";
					position: absolute;
						z-index: 10;
						top: 100%;
						left: 0;
					display: block;
					width: 10rem;
					height: 3px;
					margin-top: 1.1rem;
					background: var(--accent);
					border-left: 3rem solid var(--gray-900);
				}
	.feature-desc {
		width: 36rem;
		font-size: 1.7rem;
		color: var(--gray-900);
		letter-spacing: 0.04em;
		line-height: 1.94;
	}



.cutin {
		translate: 0 -12rem;
	display: flex;
		justify-content: center;
		align-items: center;
	min-height: 57rem;
	background: url("../images/cutinbg.png") no-repeat center top;
	background-size: 200rem;
}
	.cutin .cutinwrap {
		max-width: 1100px;
		margin: 0 auto;
		color: #fff;
		text-align: center;
	}
	.cutin .h01 {
		margin-bottom: 4rem;
		font-size: 5rem;
		font-weight: 700;
	}
		.cutin .h01 mark {
			position: relative;
			color: #eac4c0;
		}
			.cutin .h01 mark:before {
				content: "・・・・";
				position: absolute;
					bottom: 110%;
					z-index: 10;
				line-height: 0;
			}
	.cutin .t01 {
		font-size: 1.8rem;
		line-height: 2.1;
		letter-spacing: 0.06em;
	}



.sect-prc-pricing {
	padding: 10rem 0 16rem 0;
	padding-top: 0;
	background: var(--paper) no-repeat center center;
	background-image: url("../images/prc_bg.png");
	background-size: 200rem;
}
	.sect-prc-pricing .section-header {
	}
		.sect-prc-pricing .section-eyebrow {
			width: 5.8rem;
			margin-inline: auto;
		}
		.sect-prc-pricing .section-title-large {
			margin-bottom: 3.6rem;
			font-size: 6.4rem;
			font-weight: 700;
			line-height: 1.1;
		}
			.sect-prc-pricing .section-title-large mark {
				font-size: 7.8rem;
			}

	.pricing-toggle {
		display: flex;
			justify-content: center;
			gap: 0;
		width: 40rem;
		margin: 0 auto 7rem;
		padding: 3px;
		border: 1px solid var(--gray-300);
		border-radius: 10rem;
		background: var(--gray-200);
	}
		.pricing-toggle-btn {
			cursor: pointer;
			position: relative;
			padding: 1rem 0rem;
			color: var(--gray-500);
			font-size: 1.8rem;
			font-weight: 700;
			border: none;
			border-radius: 10rem;
			background: transparent;
			transition: all 0.2s;
		}
					.pricing-toggle-btn:nth-child(1) {
						width: 57.5%;
						padding-left: 1rem;
					}
					.pricing-toggle-btn:nth-child(2) {
						width: 42.5%;
					}
			.pricing-toggle-btn.is-active {
				background: var(--black);
				color: var(--paper);
			}
				.pricing-toggle-badge {
					margin-left: 1.4rem;
					padding: 0.4rem 1.6rem;
					color: var(--white);
					font-size: 1.5rem;
					font-weight: 700;
					border-radius: 10rem;
					background: var(--accent);
				}
					.pricing-toggle-btn.is-active .pricing-toggle-badge {
						color: var(--accent-light);
					}
	.pricing-grid {
		display: grid;
			gap: 2.5rem;
			grid-template-columns: repeat(3, 1fr);
		width: 102rem;
		margin-inline: auto;
		margin-bottom: 6rem;
	}
		.pricing-card {
			position: relative;
			padding-top: 5.5rem;
			background: var(--white);
			border: 0.3rem solid var(--white);
			border-radius: 1rem;
			transition: transform 0.2s, box-shadow 0.2s;
			box-shadow: 0 16px 16px rgb(81 53 20 / 0.1);
		}
					.pricing-card:hover {
						transform: translateY(-4px);
						box-shadow: 0 16px 16px rgba(0,0,0,0.06);
					}
					.pricing-card.popular {
						border: 0.3rem solid var(--black);
					}
	.pricing-popular-badge {
		position: absolute;
			bottom: 100%;
			left: 3rem;
		display: flex;
			justify-content: center;
			align-items: center;
		width: 7.2rem;
		height: 7.2rem;
		color: var(--white);
		font-size: 2rem;
		font-weight: 700;
		border-radius: 50%;
		background: var(--black);
		transform: translateY(50%);
	}
	.pricing-card-head {
		margin-bottom: 4rem;
		text-align: center;
	}
		.pricing-name {
			margin-bottom: 2.5rem;
			font-size: 2.4rem;
			font-weight: 700;
			letter-spacing: 0.06em;
		}
				.popular .pricing-name {
					color: var(--accent);
				}
				.popular .pricing-amount {
					color: var(--accent);
				}
				.popular .pricing-price {
					color: var(--accent);
				}
		.pricing-name-en {
			display: block;
			margin-top: 0.2rem;
			color: #aaa;
			font-family: var(--font-en);
			font-size: 1.5rem;
			font-weight: 600;
		}
					.popular .pricing-name-en {
						color: #db9c95;
					}
	.pricing-price {
		display: flex;
			align-items: baseline;
			justify-content: center;
			gap: 0.4rem;
		margin-bottom: 1rem;
	}
		.pricing-amount {
			color: var(--gray-900);
			font-family: var(--font-en2);
			font-size: 6.2rem;
			font-weight: 500;
			line-height: 1;
		}
		.pricing-unit {
			font-size: 2.6rem;
			font-weight: 700;
		}
		.pricing-unit2 {
			color: var(--gray-900);
			font-size: 1.8rem;
		}
			.pricing-unit2 small {
				font-size: 1.6rem;
			}

			.pricing_wrap {
				padding: 3rem 0 4rem 0;
				background: var(--gray-100);
				border-radius: 0 0 1rem 1rem;
			}
				.pricing_wrap .pricing-spec {
					width: 25.4rem;
					margin-inline: auto;
					margin-bottom: 1rem;
					padding: 0;
				}
					.pricing-spec li {
						position: relative;
						display: flex;
							align-items: center;
						padding: 0.6rem 0;
						padding-left: 1.2rem;
						color: var(--gray-700);
						font-size: 2rem;
						font-weight: 500;
						line-height: 2.7;
						letter-spacing: 0.06em;
						white-space: nowrap;
						border-bottom: 1px dotted var(--gray-500);
					}
								.pricing-spec li::before {
									content: "";
									display: block;
										flex-shrink: 0;
									width: 1.8rem;
									height: 1.8rem;
									margin-right: 1rem;
									background: url("../images/prc_checkicon.png") no-repeat;
									background-size: 100%;
								}
								.pricing-spec li:last-child {
									border-bottom: 0;
								}
					.pricing_wrap .btn {
						width: 26rem;
						margin-inline: auto;
						font-size: 1.9rem;
						font-weight: 700;
						letter-spacing: 0.06em;
					}
				.pricing-common {
					display: flex;
						justify-content: center;
						gap: 0 2.6rem;
					margin-bottom: 7.5rem;
					color: var(--gray-700);
					font-size: 1.4rem;
					text-align: center;
				}
					.pricing-common p {
						position: relative;
						display: flex;
							justify-content: center;
							align-items: center;
						width: 16.8rem;
						height: 16.8rem;
						border: 0.15rem solid var(--black);
						border-radius: 50%;
						color: var(--black);
						font-size: 2.2rem;
						font-weight: 500;
						letter-spacing: 0.06em;
					}
								.pricing-common p:before {
									content: "";
									position: absolute;
										right: 1.4rem;
										bottom: 1.4rem;
										rotate: -40deg;
									display: block;
									width: 2.8rem;
									height: 1rem;
									background: var(--paper);
								}
								.pricing-common p:after {
									content: "";
									position: absolute;
										z-index: 10;
										top: 1.2rem;
										left: 1.2rem;
									width: 2.2rem;
									height: 2.2rem;
									background: url("../images/prc_checkiconrb.png");
									background-size: 100%;
								}
								.pricing-common p.pop {
									color: var(--accent);
									font-weight: 700;
									border-color: var(--accent);
								}
									.pricing-common p.pop:after {
										background-image: url("../images/prc_checkiconr.png");
									}
						.pricing-common p span {
							display: flex;
								justify-content: center;
								align-items: center;
							width: 15.4rem;
							height: 15.4rem;
							border-radius: 50%;
							background: #fbf9f4;
						}
	.sect-prc-pricing .chat-widget {
		margin-inline: auto;
	}



.sect-cta-calltoaction {
	padding: 12rem 0;
	background: url("../images/cta_bg.jpg") no-repeat center top;
	background-size: 200rem 100%;
}
	.sect-cta-calltoaction .container {
		max-width: 1060px;
		color: var(--white);
	}
	.sect-cta-calltoaction .section-header {
		margin-bottom: 10rem;
	}
	.sect-cta-calltoaction .section-title-large {
		font-size: 4.6rem;
		font-weight: 700;
	}
		.sect-cta-calltoaction .section-title-large span {
			font-size: 7.2rem;
			font-weight: 700;
		}
		.sect-cta-calltoaction .section-lead {
			color: var(--white);
			font-size: 1.8rem;
			letter-spacing: 0.06em;
		}
.cta-grid {
	display: flex;
		flex-direction: column;
		gap: 8rem 0;
		/*justify-content: space-between;*/
}
.cta-path {
	display: flex;
		flex-direction: column;
	width: 100%;
	padding-bottom: 7rem;
	text-align: center;
	border-radius: 1.6rem;
	background: var(--gray-100);
}
	.cta-path-label {
		display: flex;
			align-items: center;
		width: 44rem;
		height: 10rem;
		margin-top: -3rem;
		margin-bottom: 4.5rem;
		padding: 0 5rem;
		color: var(--accent);
		font-family: var(--font-en2);
		font-size: 2.8rem;
		font-weight: 700;
		border-radius: 2rem;
		background: var(--white);
		filter: drop-shadow(var(--shadow_weakness) 1rem 1rem 1rem);
	}
		.cta-path-label span {
			margin-right: 3.4rem;
			font-size: 3.8rem;
			font-weight: 500;
		}
	.cta-path-heading {
		margin-bottom: 1.6rem;
		color: var(--black);
		font-size: 2.8rem;
		font-weight: 700;
		line-height: 1.4;
	}
	.cta-path-desc {
		margin-bottom: 5rem;
		color: var(--gray-900);
		font-size: 1.7rem;
		line-height: 2;
	}
	.cta-path .cta-path-checks {
			align-self: center;
		/*display: inline-block;*/
		display: flex;
					/*width: 40rem;*/
		margin-bottom: 3rem;
		padding: 0;
		text-align: left;
	}
		.cta-path-checks li {
			position: relative;
			display: flex;
				flex-direction: column;
				align-items: center;
			padding: 0 3rem;
			color: var(--black);
			font-size: 2.2rem;
			font-weight: 500;
			line-height: 2.54;
			border-right: 2px dotted var(--gray-500);
		}
					.cta-path-checks li:last-child {
						border-right: 0;
					}
					.cta-path-checks li::before {
						content: "";
						width: 2.5rem;
						height: 2.3rem;
						/*margin-right: 1.4rem;*/
						background: url("../images/cat_check.png") no-repeat;
						background-size: 100%;
					}
			.cta-path .btn {
					align-self: center;
				margin-top: auto;
				margin-bottom: 0;
			}
		.cta-form {
			display: flex;
				flex-direction: column;
				gap: 1.8rem;
			/*width: 42rem;*/
			width: 100%;
			margin-inline: auto;
		}
		.cta-form-field {
			display: flex;
				justify-content: center;
		}
			.cta-form-field .t01 {
					flex-shrink: 0;
				width: 20rem;
				padding-top: 1.4rem;
				color: var(--black);
				font-size: 2rem;
				text-align: left;
				letter-spacing: 0.06em;
			}

			.cta-form-field input,
			.cta-form-field select,
			.cta-form-field textarea {
				width: 58rem;
				padding: 1.2rem 1.4rem;
				border: 1px solid var(--gray-300);
				border-radius: 0.4rem;
				color: var(--black);
				font-size: 2rem;
				font-family: var(--font-default);
				background: var(--white);
				transition: border-color 0.15s;
			}
						.cta-form-field input::placeholder,
						.cta-form-field select::placeholder,
						.cta-form-field textarea::placeholder{
							color: #d1d1d1;
						}
			.cta-form-field input:focus,
			.cta-form-field select:focus,
			.cta-form-field textarea:focus {
				border-color: var(--black);
				outline: none;
			}
			.cta-form-field select {
				cursor: pointer;
				color: var(--gray-500);
				-webkit-appearance: none;
				appearance: none;
				background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
				background-repeat: no-repeat;
				background-position: right 1.4rem center;
				padding-right: 3.6rem;
			}
			.cta-form-field textarea {
				resize: vertical;
				min-height: 10rem;
			}
			.cta-form .btn {
				width: 39rem;
				margin-inline: auto;
				margin-top: 3rem;
			}



.sect-trs-trust {
	padding: 14rem 0 17rem 0;
	color: var(--black);
	background:
		no-repeat center top,
		no-repeat center bottom
	;
	background-color: var(--paper);
	background-image:
		url("../images/trs_bg.png"),
		url("../images/trs_bg2.png")
	;
	background-size:
		200rem,
		200rem
	;
}
	.sect-trs-trust .container {
		text-align: center;
	}
	.trust-intro {
		margin-bottom: 6rem;
		text-align: center;
	}
		.trust-logo {
			width: 59rem;
			margin-inline: auto;
			margin-bottom: 2rem;
		}
		.trust-lead {
			font-size: 2rem;
			line-height: 2;
		}
			.trust-lead mark {
				color: var(--accent);
				font-weight: 500;
			}
	.trust-stats {
		position: relative;
		display: inline-flex;
			justify-content: center;
			gap: 6rem;
		margin-bottom: 15rem;
	}
				.trust-stats:after {
					content: "※ 2026年4月現在";
					position: absolute;
						right: 0;
						top: 100%;
					color: var(--gray-700);
					font-size: 1.4rem;
					letter-spacing: 0.06em;
				}
		.trust-stat {
			text-align: center;
		}
			.trust-stat-label {
				display: flex;
					justify-content: center;
					align-items: center;
				width: 10.8rem;
				height: 10.8rem;
				margin-inline: auto;
				color: var(--gray-900);
				font-size: 1.8rem;
				font-weight: 500;
				letter-spacing: 0.08em;
				border-radius: 50%;
				background: var(--white);
				filter: drop-shadow(var(--shadow_weak) 0 1.2rem 1.6rem);
			}
			.trust-stat-num {
				font-family: var(--font-en2);
				font-size: 10.6rem;
				font-weight: 400;
			}
				.trust-stat-num small {
					font-family: var(--font-default);
					font-size: 3.2rem;
					font-weight: 700;
					letter-spacing: 0.06em;
					line-height: 1.2;
				}

.trs_wrap {
	display: flex;
		justify-content: space-between;
}
	.trust-company {
		width: 50rem;
		margin-bottom: 3rem;
		font-size: 1.6rem;
		text-align: left;
		border-radius: 16px;
		background: rgba(255,255,255,0.1);
	}
		.trust-company-title {
			margin-bottom: 3rem;
			padding-bottom: 1.2rem;
			font-size: 1.6rem;
			font-weight: 700;
			letter-spacing: 0.06em;
			border-bottom: 1px solid var(--gray-700);
		}
					.trust-company-title img {
						display: inline-block;
						width: auto;
						height: 2.7rem;
						margin-right: 2.5rem;
					}
		.trust-company-dl {
			display: grid;
				grid-template-columns: max-content 1fr;
			color: var(--gray-700);
			font-size: 1.5rem;
			letter-spacing: 0.06em;
		}
			.trust-company-dl dt {
				padding: 1.6rem 5.4rem 1.6rem 0.6rem;
				font-weight: 500;
				border-bottom: 1px solid var(--gray-300);
			}
			.trust-company-dl dd {
				padding: 1.6rem 0;
				line-height: 1.8;
				border-bottom: 1px solid var(--gray-300);
			}
			.trust-company-dl a {
				color: var(--accent);
				text-decoration: none;
			}
						.trust-company-dl a:after {
							content: "";
							display: inline-block;
							width: 1.2rem;
							height: 1.2rem;
							margin-left: 0.7rem;
							background: url("../images/icon_blank.svg");
						}

	.trust-portfolio {
		width: 50rem;
		text-align: left;
		border-radius: 16px;
		background: rgba(255,255,255,0.1);
	}
		.trust-portfolio-title {
			margin-bottom: 3rem;
			padding-bottom: 1.2rem;
			font-size: 1.6rem;
			font-weight: 700;
			letter-spacing: 0.06em;
			border-bottom: 1px solid var(--gray-700);
		}
					.trust-portfolio-title img {
						display: inline-block;
						width: auto;
						height: 2.7rem;
						margin-right: 2.5rem;
					}
		.trust-portfolio-list {
			display: flex;
				flex-direction: column;
				gap: 1.4rem 0;
			padding: 0;
		}
			.trust-portfolio-list li {}
			.trust-portfolio-list a {
				display: flex;
					gap: 0 2.8rem;
				padding: 1.2rem 3rem;
				color: inherit;
				text-decoration: none;
				border-radius: 1rem;
				background: var(--white);
			}
						.trust-portfolio-list a:hover {
							opacity: 0.8;
						}
				.trust-pf-badge {
					display: flex;
						flex-shrink: 0;
						justify-content: center;
						align-items: center;
					width: 5rem;
					height: 5rem;
					color: var(--white);
					font-family: "Jost", sans-serif;
					font-size: 2rem;
					font-weight: 500;
					letter-spacing: 0.04em;
					border-radius: 50%;
					background: #c2b1a2;
				}
				.trs_pf_wrap {
					display: flex;
						flex-direction: column;
						gap: 0.2rem 0;
				}
					.trust-pf-name {
						font-size: 1.6rem;
						font-weight: 700;
						letter-spacing: 0.06em;
					}
					.trust-pf-desc {
						font-size: 1.4rem;
						letter-spacing: 0.06em;
					}
				.trust-portfolio-list .svg {
					width: 1.5rem;
					margin: 0 1rem 0 auto;
				}



.sect-ft-footer {
	padding: 2.6rem 0;
	background: var(--black);
	color: var(--paper);
}
	.sect-ft-footer .container {
		display: flex;
			justify-content: space-between;
			align-items: center;
	}
	.footer-legal {
		list-style: none;
		padding: 0;
		display: flex;
			justify-content: center;
			flex-wrap: wrap;
			gap: 2.4rem;
		margin-bottom: 2rem;
	}
		.footer-legal a {
			cursor: pointer;
			padding: 0;
			color: var(--paper);
			font-family: var(--font-default);
			font-size: 1.4rem;
			text-decoration: none;
			border: none;
			background: none;
			transition: color 0.15s;
		}
					.footer-legal a:hover {
						color: var(--white);
					}
	.footer-copy {
		color: var(--paper);
		font-family: var(--font-en);
		font-size: 1.2rem;
		text-align: center;
		letter-spacing: 0.06em;
	}


