.w50 {
	width: 50%;
}
.w100 {
	width: 100%;
}
.c-text_logo {
	display: inline-block;
	font-family: "URWDIN-Demi", sans-serif;
	font-size: clamp(2.2rem, 1.6vw, 3.2rem);
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1;
	white-space: nowrap;
}
.c-text_logo.-white {
	color: #fff;
}
.c-text_logo.-header {
	color: #6cb9b6;
}
.c-drawer__body__logo a, .l-header__logo a, .l-footer__info .logo a {
	display: inline-flex;
	align-items: center;
}
.l-header__logo {
	max-width: none;
}
.l-footer__info .logo {
	margin-bottom: calc(1.22449vw + 10.40816px);
}
.c-fixed_menu {
	pointer-events: none;
	overflow: hidden;
}
.c-fixed_menu__inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.c-fixed_menu__ticker {
--ticker-shift-y: -100px;
--ticker-shift-x: -100px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3rem;
	width: max-content;
	animation: umadaysTicker 18s linear infinite;
	will-change: transform;
}
.c-fixed_menu__ticker span {
	writing-mode: vertical-rl;
	text-orientation: sideways;
	white-space: nowrap;
	font-family: "Kaisei Decol", serif;
	font-weight: 400;
	font-style: normal;
	font-size: clamp(4rem, 5.2vw, 6.8rem);
	line-height: 1.05;
	letter-spacing: 0.04em;
	color: #fff;
}
.c-fixed_menu {
	display: none !important;
}
#page {
	padding-left: 0 !important;
	background: #FCFCFA;
}
.p-index_kv__morphing {
	display: none !important;
}
.l-header {
	display: none !important;
}
    .wc-topbar {
      position: relative;
      z-index: 30;
      width: min(98rem, calc(100% - 10rem));
      margin: 2.4rem auto -5.6rem;
    }
.wc-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.8rem;
	padding: 1.2rem 2.2rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 1rem 3rem rgba(36, 51, 66, 0.08);
	backdrop-filter: blur(12px);
}
.wc-topbar__brand {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}
.wc-topbar__brand .c-text_logo {
	font-size: clamp(2.2rem, 2.1vw, 3.4rem);
	background: linear-gradient(135deg, #7b95db 0%, #8ed4e6 28%, #b9de69 52%, #ffd761 74%, #ff8ca0 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.wc-topbar__nav {
	display: flex;
	align-items: center;
	gap: 1.2rem;
}
.wc-topbar__nav a {
	color: #1f1f1f;
	text-decoration: none;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}
.wc-topbar__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 1.1rem 2.2rem;
	border-radius: 999px;
	background: #1f1f1f;
	color: #fff;
	text-decoration: none;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}
    .wc-hero {
      position: relative;
      padding: 1.6rem 0 3rem;
      overflow: visible;
    }
.wc-hero::before,
.wc-hero::after {
	content: "";
	position: absolute;
	z-index: 0;
	width: clamp(22rem, 32vw, 52rem);
	aspect-ratio: 1 / 1.06;
	background-repeat: no-repeat;
	background-size: contain;
	opacity: 0.9;
	pointer-events: none;
}
.wc-hero::before {
	top: -54rem;
	left: -28rem;
	background-image: url("../../img/purple_svg_s09.svg");
	opacity: 1;
}
.wc-hero::after {
	background-image: url("../../img/new_blue_svg_s04.svg");
	aspect-ratio: 1 / 1;
}
.wc-hero__inner {
	position: relative;
	z-index: 1;
	width: min(142rem, calc(100% - 2.4rem));
	margin: 0 auto;
}
.wc-hero__panel {
	position: relative;
	padding: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	min-height: 0;
	overflow: visible;
}
.wc-hero__panel::before {
	display: none;
}
.wc-hero__corner-art {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 0;
	display: block;
	width: clamp(56rem, 62vw, 104rem);
	height: auto;
	transform: translate(30%, 20%);
	transform-origin: right bottom;
	pointer-events: none;
}
.wc-hero__run,
.wc-hero__sit {
	position: absolute;
	z-index: 2;
	pointer-events: none;
}
.wc-hero__run {
	left: 3rem;
	top: 12rem;
	width: clamp(8rem, 7vw, 13rem);
	opacity: 0.95;
}
.wc-hero__run2 {
	position: absolute;
	z-index: 4;
	right: -22rem;
	top: calc(min(90vw, 144rem) * 0.4625 - 14rem);
	width: clamp(28rem, 24vw, 46rem);
	opacity: 0.95;
	pointer-events: none;
	animation: wcHorseSway 3s ease-in-out infinite;
}
.wc-hero__run3 {
	position: absolute;
	z-index: 3;
	right: -8rem;
	top: calc(min(90vw, 144rem) * 0.4625 - 17rem);
	width: clamp(25rem, 22vw, 41rem);
	opacity: 0.9;
	pointer-events: none;
	animation: wcHorseSway 3s ease-in-out infinite;
	animation-delay: -1.5s;
}
@keyframes wcHorseSway {
	0%, 100% { transform: translateX(0) rotate(0deg); }
	50% { transform: translateX(2.4rem) rotate(4deg); }
}
.wc-hero__sit {
	right: 7rem;
	bottom: -9.5rem;
	width: clamp(18rem, 16vw, 26rem);
}
.wc-hero__video-wrap {
	position: relative;
	z-index: 1;
	width: min(90vw, 144rem);
	margin: 4.8rem auto 0;
	padding-bottom: clamp(13rem, 12vw, 18rem);
	transform: none !important;
	opacity: 1 !important;
	filter: none !important;
	transition: none !important;
	overflow: visible;
}
.wc-hero__video-frame {
	position: relative;
	z-index: 1;
	border-radius: 3rem;
	overflow: hidden;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.45), 0 0 3.2rem rgba(36, 51, 66, 0.09);
}
.wc-hero__video-blob {
	position: absolute;
	inset: 50% auto auto 50%;
	width: 13rem;
	height: 10rem;
	background: linear-gradient(135deg, #ff9b9b 0%, #ffd964 62%, #ffc36d 100%);
	border-radius: 40% 60% 56% 44% / 56% 39% 61% 44%;
	transform: translate(-50%, -50%) rotate(-18deg);
	filter: blur(0.4px);
}
.wc-hero__video {
	position: relative;
	display: block;
	width: 100%;
	border-radius: 3rem;
	box-shadow: none;
	object-fit: cover;
	aspect-ratio: 16 / 10.2;
	background: #f3f3f3;
}
.wc-hero__copy {
	position: relative;
	z-index: 2;
	max-width: min(90vw, 144rem);
	margin: 2rem 0 0;
	padding: 0 1rem 0 1.2rem;
}
.wc-hero__copy-main {
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(4.4rem, 5vw, 8.4rem);
	line-height: 0.9;
	letter-spacing: 0.01em;
	font-weight: 900;
	font-style: italic;
	color: #444;
}
.wc-hero__copy-main span {
	display: block;
}
.wc-hero__copy-split span {
	display: inline-block;
	min-width: 0.12em;
	opacity: 0;
}
.wc-hero__copy-main.is-active .wc-hero__copy-split span {
	opacity: 1;
	animation: wcCopyBlink 1.6s steps(1) backwards;
}
@keyframes wcCopyBlink {
	0%    { opacity: 0;    color: #ff7796; }
	12.5% { opacity: 0.5;  color: #ffdb48; }
	25%   { opacity: 1;    color: #b1d84b; }
	37.5% { opacity: 0.35; color: #64cbdd; }
	50%   { opacity: 1;    color: #7288e0; }
	62.5% { opacity: 0;    color: #ff7796; }
	75%   { opacity: 1;    color: #ffdb48; }
	87.5% { opacity: 0.6;  color: #b1d84b; }
	100%  { opacity: 1;    color: #444; }
}
.c-ttl01 .main .js-blink-char {
	display: inline-block;
	opacity: 0;
}
.c-ttl01.is-blink .main .js-blink-char {
	opacity: 1;
	animation: wcCopyBlink 1.6s steps(1) backwards;
}
/* 引用符を実テキスト化するため、装飾用の疑似要素は非表示にする */
.c-ttl01 .main::before,
.c-ttl01 .main::after {
	content: none;
}
/* 実テキスト化した引用符が幅の都合で折り返さないようにする */
.c-ttl01 .main {
	white-space: nowrap;
}
.wc-hero__copy-sub {
	margin: 2.2rem 0 0 10rem;
	color: #202020;
	font-size: clamp(1.8rem, 2vw, 3.4rem);
	font-weight: 700;
	letter-spacing: 0.28em;
}
.wc-hero__cta {
	position: relative;
	z-index: 5;
	margin: calc(-1 * clamp(13rem, 12vw, 18rem) - 12rem) 0 0;
	display: flex;
	justify-content: center;
}
.wc-hero__cta-sp {
	display: block !important;
	width: min(90vw, 64rem);
}
/* PC（1024px以上）はヒーローCTAの揺れアニメを止めて静止表示 */
@media (min-width: 1024px) {
	.wc-hero__cta-sp .c-cta_button {
		animation: none;
		transform: none;
	}
}
.wc-line_cta {
	display: none;
	align-items: center;
	gap: 2rem;
	padding: 1.8rem 2.8rem;
	border-radius: 2.2rem;
	background: #06c755;
	box-shadow: 0 1.2rem 3.2rem rgba(6, 199, 85, 0.32);
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.wc-line_cta:hover {
	transform: translateY(-0.3rem);
	box-shadow: 0 1.8rem 4rem rgba(6, 199, 85, 0.4);
}
.wc-line_cta__icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(5.2rem, 9vw, 11rem);
	height: clamp(5.2rem, 9vw, 11rem);
}
.wc-line_cta__icon img {
	width: 100%;
	height: 100%;
}
.wc-line_cta__qr {
	flex: 0 0 auto;
	width: clamp(10rem, 12vw, 14rem);
	height: clamp(10rem, 12vw, 14rem);
	padding: 0.5rem;
	border: 1px solid #e6ecf1;
	border-radius: 1rem;
	background: #fff;
}
.wc-line_cta__qr img {
	display: block;
	width: 100%;
	height: 100%;
}
.wc-line_cta__text {
	flex: 1;
	display: grid;
	gap: 0.4rem;
}
.wc-line_cta__lead {
	color: rgba(255, 255, 255, 0.92);
	font-size: clamp(1.8rem, 2.4vw, 2.8rem);
	font-weight: 700;
	letter-spacing: 0.04em;
}
.wc-line_cta__main {
	color: #fff;
	font-size: clamp(3.6rem, 5.5vw, 6.4rem);
	font-weight: 900;
	letter-spacing: 0.02em;
	line-height: 1.1;
}
.wc-line_cta__sub {
	color: rgba(255, 255, 255, 0.85);
	font-size: clamp(1.5rem, 1.8vw, 2rem);
	font-weight: 600;
}
.wc-hero__scroll {
	position: absolute;
	right: 0.8rem;
	top: 8.8rem;
	z-index: 2;
	writing-mode: vertical-lr;
	font-family: "URWDIN-Demi", sans-serif;
	font-size: 1.7rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	color: #111;
}
@keyframes amount-shadow {
	0%   { text-shadow: 1px 1px 0 #ffffff, 2px 2px 0 #7288E0; }
	20%  { text-shadow: 1px 1px 0 #ffffff, 2px 2px 0 #FF7796; }
	40%  { text-shadow: 1px 1px 0 #ffffff, 2px 2px 0 #FFDB48; }
	60%  { text-shadow: 1px 1px 0 #ffffff, 2px 2px 0 #B1D84B; }
	80%  { text-shadow: 1px 1px 0 #ffffff, 2px 2px 0 #64CBDD; }
	100% { text-shadow: 1px 1px 0 #ffffff, 2px 2px 0 #7288E0; }
}
@keyframes prediction-flow {
	0% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}
@media (prefers-reduced-motion: reduce) {
	.prediction-banner,
	.prediction-banner__title {
		animation: none;
	}
}
.prediction-banner {
	background: linear-gradient(120deg, #FF5C86, #7288E0, #64CBDD, #B1D84B, #FFDB48, #FF5C86);
	background-size: 300% 300%;
	animation: prediction-flow 12s ease infinite;
	color: #fff;
	padding: 1.6rem 0;
	font-family: "Noto Sans JP", sans-serif;
}
.prediction-banner__card {
	display: flex;
	align-items: center;
	gap: clamp(1.2rem, 2.4vw, 2.8rem);
}
/* === 左：今週のAI解析情報 バッジ === */
.prediction-banner__badge {
	position: relative;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	color: #fff;
	line-height: 1.15;
	padding-top: 0.6rem;
}
.prediction-banner__free {
	position: absolute;
	top: -0.4rem;
	left: -0.8rem;
	background: #fff;
	color: #ED2F6A;
	font-size: clamp(1.1rem, 1.4vw, 1.5rem);
	font-weight: 900;
	font-style: italic;
	letter-spacing: 0.02em;
	padding: 0.25rem 0.8rem;
	border-radius: 999px;
	box-shadow: 0 0.2rem 0.4rem rgba(0,0,0,0.12);
	transform: rotate(-6deg);
}
.prediction-banner__badge-main {
	font-size: clamp(2.4rem, 4.1vw, 4.2rem);
	font-weight: 900;
	letter-spacing: 0.04em;
	text-shadow: 0 0.15rem 0 rgba(0,0,0,0.08);
}
.prediction-banner__badge-sub {
	margin-top: 0.5rem;
	display: inline-block;
	border: 1.5px solid rgba(255,255,255,0.85);
	border-radius: 0.4rem;
	font-size: clamp(1rem, 1.2vw, 1.35rem);
	font-weight: 700;
	letter-spacing: 0.16em;
	padding: 0.2rem 0.7rem;
	white-space: nowrap;
}
/* === 右：白い角丸ボックス === */
.prediction-banner__box {
	flex: 1;
	background: #fff;
	border-radius: 1.4rem;
	padding: 1.2rem 1.8rem;
	text-align: center;
	box-shadow: 0 0.6rem 1.6rem rgba(0,0,0,0.12);
}
.prediction-banner__title {
	margin: 0;
	font-size: clamp(5.4rem, 9vw, 9.6rem);
	line-height: 1.1;
	font-weight: 900;
	letter-spacing: 0.02em;
	background: linear-gradient(120deg, #FF5C86, #7288E0, #64CBDD, #B1D84B, #FFDB48, #FF5C86);
	background-size: 300% 300%;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	animation: prediction-flow 12s ease infinite;
}
.prediction-banner__lead {
	margin: 0.4rem 0 0;
	font-size: clamp(1.3rem, 1.8vw, 1.9rem);
	line-height: 1.4;
	font-weight: 800;
	color: #2b2b2b;
}
@media (min-width: 1024px) and (max-width: 1279px) {
	.prediction-banner__title {
		font-size: clamp(6.2rem, 6.4vw, 7.2rem);
	}
}
@media (max-width: 768px) {
	.u-pc-br { display: none; }
	.u-sp-br { display: inline; }
	.u-sp-br-none { display: none; }
	.prediction-banner__card {
		flex-direction: column;
		gap: 0.5rem;
	}
	.prediction-banner__badge {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 0.4rem 0.9rem;
		padding-top: 0;
	}
	.prediction-banner__free {
		position: static;
		transform: rotate(-6deg);
		top: auto;
		left: auto;
	}
	.prediction-banner__badge-main {
		font-size: clamp(2.4rem, 7vw, 3rem);
		white-space: nowrap;
	}
	.prediction-banner__badge-sub {
		display: none;
	}
	.prediction-banner {
		padding: 0.3rem 0 1rem;
	}
	.prediction-banner__box {
		width: 100%;
		padding: 1rem 1.2rem;
		border-radius: 1.1rem;
	}
	.prediction-banner__title {
		font-size: 4.8rem;
	}
	.prediction-banner__lead {
		font-size: 1.3rem;
	}
}
	.wc-hero__scroll::after {
	content: "";
	display: block;
	width: 1.4rem;
	height: 1.4rem;
	margin: 2rem auto 0;
	border-right: 0.2rem solid currentColor;
	border-bottom: 0.2rem solid currentColor;
	transform: rotate(45deg);
}
.l-header__hamburger {
	display: none !important;
}
.c-pointer::before, .c-pointer.is-act::before, .c-pointer.is-more01::before {
	background-color: rgba(255, 119, 150, 0.45) !important;
}
.p-index_news__btn {
	margin-top: 2.5em !important;
}
.p-index_news__btn a {
	background-color: #fff !important;
	border-color: #7288E0 !important;
	color: #7288E0 !important;
}
.p-index_news__btn a::before {
	background-color: #7288E0 !important;
}
.p-index_news__btn a:hover {
	background-color: #7288E0 !important;
	border-color: #7288E0 !important;
	color: #fff !important;
}
.c-blog_list .item a .thumb .date, .c-blog_list .item a.is-hover .thumb .date {
	background-color: #f67e62 !important;
}
.p-index_service__row .item .textarea .ttl {
	font-family: "Noto Sans", "Noto Sans JP", sans-serif;
	font-weight: 600;
}
.p-index_kv__copy .main {
	font-family: "Noto Sans", "Noto Sans JP", sans-serif;
	font-weight: 600;
}
.p-index_concept__row .item .ttl .main {
	font-family: "Noto Sans", "Noto Sans JP", sans-serif;
	font-weight: 600;
}
.c-ttl01 .sub, .p-index_counseling__ttl .main, .p-index_about__common .textarea .ttl .main, .p-index_about__message .textarea .message, .p-index_kv__pickup .content a .post_ttl {
	font-family: "Noto Sans", "Noto Sans JP", sans-serif;
	font-weight: 700;
}
.c-ttl01 .sub {
	color: #7288E0;
}
.p-index_kv__pickup .content a .post_ttl {
	font-size: 6.3rem;
	line-height: 1.02;
	text-shadow: 2px 2px 0 rgba(255, 255, 255, 1), 4px 4px 0 rgba(68, 68, 68, 1);
}
.p-index_service__row .item.-business .textarea .ttl {
	color: #6cb9b6;
}
.p-index_service__row .item.-web .textarea .ttl {
	color: #f67e62;
}
.p-index_service__row .item.-app .textarea .ttl {
	color: #fec800;
}
.p-index_service__row .item.-control .textarea .ttl {
	color: #889dd9;
}
.p-index_service__row .item.-maintenance .textarea .ttl {
	color: #3490d1;
}
.process-flow {
	position: relative;
	width: 100%;
	margin-top: 5.2rem;
	margin-right: auto;
	margin-left: auto;
	padding: 2rem 0 2rem;
}
.process-flow__lines {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
	pointer-events: none;
}
.process-flow__lines line {
	stroke: #c8b9a6;
	stroke-width: 4;
	stroke-linecap: round;
	stroke-dasharray: 0.1 16;
	opacity: 0.85;
}
.p-index_service__morphing,
.p-index_service .obj {
	display: none !important;
}
.p-index_service::before {
	content: "";
	position: absolute;
	left: max(-28vw, -33rem);
	top: -16rem;
	z-index: 0;
	width: min(84vw, 100rem);
	aspect-ratio: 925 / 660;
	background: url("../../img/blob01_l_pink.svg") left center / contain no-repeat;
	transform: rotate(-30deg);
	pointer-events: none;
}
.process-flow__list {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 0;
	width: 100%;
	transform: none;
}
.process-step {
	--step-accent: #f27c8d;
	position: relative;
	display: grid;
	grid-template-columns: minmax(22rem, 30rem) minmax(20rem, 27rem);
	align-items: start;
	gap: 0;
	width: min(100%, 53rem);
}
.process-step.is-right {
	margin-left: auto;
	transform: translateX(1.6rem);
}
.process-step__copy {
	position: relative;
	max-width: 30rem;
	padding-top: 1rem;
	z-index: 3;
}
.process-step.is-right .process-step__copy {
	order: 2;
	grid-column: 2;
	grid-row: 1;
	margin-left: 0;
	text-align: right;
}
.process-step.is-right .process-step__visual {
	order: 1;
	grid-column: 1;
	grid-row: 1;
}
.process-step__number {
	display: block;
	margin-bottom: 0.8rem;
	color: transparent;
	-webkit-text-stroke: 0.2rem var(--step-accent);
	font-family: "URWDIN-Demi", "Arial Black", sans-serif;
	font-size: clamp(7rem, 7.4vw, 10.4rem);
	line-height: 0.95;
	letter-spacing: 0.04em;
}
.process-step.js-anim_elm .process-step__number {
	opacity: 0;
	transform: scale(0.5) translateY(10px);
	transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.5s;
}
.process-step.js-anim_elm.is-act .process-step__number {
	opacity: 1;
	transform: scale(1) translateY(0);
}
.process-step__title {
	margin: 0;
	color: var(--step-accent);
	font-size: clamp(2.8rem, 2.7vw, 4rem);
	font-weight: 700;
	line-height: 1.2;
}
.process-step__text {
	margin: 1.5rem 0 0;
	color: #243342;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2;
}
.process-step__visual {
	position: relative;
	display: flex;
	justify-content: flex-start;
	margin-left: -3.8rem;
	margin-top: 2.2rem;
}
.process-step.is-right .process-step__visual {
	margin-left: 0;
	margin-right: -2rem;
	justify-content: flex-end;
}
.process-step.-pink .process-step__visual,
.process-step.-green .process-step__visual,
.process-step.-blue .process-step__visual {
	margin-left: -12rem;
}
.process-step.-gold .process-step__visual,
.process-step.-violet .process-step__visual {
	margin-right: -10rem;
}
.process-step.-gold,
.process-step.-green,
.process-step.-violet,
.process-step.-blue {
	position: relative;
}
.process-step.-blue::before {
	content: "";
	position: absolute;
	top: -20rem;
	left: max(-58vw, -69rem);
	z-index: 0;
	width: min(84vw, 100rem);
	aspect-ratio: 925 / 660;
	background: url("../../img/blob02_blue.svg") left center / contain no-repeat;
	transform: rotate(30deg);
	pointer-events: none;
}
.process-step.-violet::after {
	content: "";
	position: absolute;
	top: -8rem;
	right: max(-34vw, -60rem);
	z-index: 0;
	width: min(84vw, 100rem);
	aspect-ratio: 925 / 660;
	background: url("../../img/blob04_l_purple.svg") right center / contain no-repeat;
	pointer-events: none;
}
.process-step.-green::before {
	content: "";
	position: absolute;
	top: -8rem;
	left: max(-44vw, -58rem);
	z-index: 0;
	width: min(84vw, 100rem);
	aspect-ratio: 925 / 660;
	background: url("../../img/blob05_l_green.svg") left center / contain no-repeat;
	transform: rotate(15deg);
	pointer-events: none;
}
.process-step.-gold::after {
	content: "";
	position: absolute;
	top: -44rem;
	right: max(-58vw, -90rem);
	z-index: 0;
	width: min(104vw, 128rem);
	aspect-ratio: 925 / 660;
	background: url("../../img/blob03_l_yellow.svg") right center / contain no-repeat;
	transform: rotate(-90deg);
	pointer-events: none;
}
.process-step.-pink .process-step__card,
.process-step.-pink .process-step__image,
.process-step.-gold .process-step__card,
.process-step.-gold .process-step__image,
.process-step.-green .process-step__card,
.process-step.-green .process-step__image,
.process-step.-violet .process-step__card,
.process-step.-violet .process-step__image,
.process-step.-blue .process-step__card,
.process-step.-blue .process-step__image {
	width: 36rem;
	max-width: none;
}
.process-step__card {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: min(100%, 27rem);
	padding: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	isolation: isolate;
}
.process-step__card::before {
	display: none;
}
.process-step__card::after {
	display: none;
}
.process-step__image {
	position: relative;
	z-index: 1;
	display: block;
	width: min(100%, 27rem);
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 1.2rem 1.8rem rgba(36, 51, 66, 0.14));
}
.process-step__badge {
	display: none;
}
.process-step.-pink {
	--step-accent: #f27c8d;
}
.process-step.-gold {
	--step-accent: #f1b228;
}
.process-step.-green {
	--step-accent: #62ba79;
}
.process-step.-violet {
	--step-accent: #8a77d8;
}
.process-step.-blue {
	--step-accent: #3e88d6;
}
.process-step + .process-step {
	margin-top: -5rem;
}
.process-step:nth-child(2) {
	margin-top: -7rem;
}
.result-board {
	position: relative;
	margin-top: 5rem;
	padding: 3.6rem 3.2rem 2.4rem;
	border-radius: 4rem;
	background: radial-gradient(circle at 8% 0%, rgba(125, 181, 238, 0.18), transparent 26%), radial-gradient(circle at 96% 84%, rgba(162, 143, 238, 0.16), transparent 28%), linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 249, 252, 0.98));
	box-shadow: 0 2.8rem 6rem rgba(36, 51, 66, 0.08);
}
.result-board__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2rem;
}
.result-card {
	--card-accent: #f26a63;
	position: relative;
	padding: 2.2rem 2.2rem 2.4rem;
	border-radius: 2.8rem;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 1.8rem 4rem rgba(36, 51, 66, 0.1);
	overflow: hidden;
}
.result-card::before {
	content: "";
	position: absolute;
	top: -5rem;
	right: -2rem;
	width: 14rem;
	height: 14rem;
	border-radius: 50%;
	background: color-mix(in srgb, var(--card-accent) 16%, white);
	opacity: 0.9;
}
.result-card::after {
	content: "";
	position: absolute;
	right: 1.8rem;
	top: 2rem;
	width: 8rem;
	height: 8rem;
	border-radius: 42% 58% 63% 37% / 40% 39% 61% 60%;
	background: color-mix(in srgb, var(--card-accent) 18%, white);
	opacity: 0.5;
}
.result-card.-green {
	--card-accent: #2db457;
}
.result-card.-violet {
	--card-accent: #7b63d5;
}
.result-card__date,
.result-card__race,
.result-card__meta,
.result-card__hit {
	position: relative;
	z-index: 1;
}
.result-card__date {
	margin: 0;
	color: #445365;
	font-size: 1.45rem;
	font-weight: 700;
}
.result-card__race {
	margin: 1rem 0 0;
	color: #243342;
	font-size: 2.8rem;
	font-weight: 900;
	line-height: 1.2;
}
.result-card__tag {
	display: inline-flex;
	margin-top: 1.2rem;
	padding: 0.6rem 1rem;
	border-radius: 999px;
	background: var(--card-accent);
	color: #fff;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1;
	position: relative;
	z-index: 1;
}
.result-card__amount {
	margin: 1.8rem 0 0;
	color: #111820;
	font-family: "URWDIN-Demi", "Arial Black", sans-serif;
	font-size: clamp(4.2rem, 4vw, 5.8rem);
	line-height: 0.95;
	letter-spacing: 0.03em;
	position: relative;
	z-index: 1;
	text-shadow: -0.07em -0.03em 0 #FF7796, 0.07em 0.03em 0 #64CBDD;
}
.result-card__amount small {
	font-size: 0.44em;
}
.result-card__meta {
	margin: 1.6rem 0 0;
	color: #3e4a58;
	font-size: 1.45rem;
	font-weight: 500;
	line-height: 1.8;
}
.result-card__hit {
	display: inline-flex;
	margin-top: 1.8rem;
	padding: 1rem 1.6rem;
	border-radius: 1.2rem;
	background: color-mix(in srgb, var(--card-accent) 92%, white);
	color: #fff;
	font-size: 1.55rem;
	font-weight: 700;
	line-height: 1;
}
.result-board__note {
	margin: 2.4rem 0 0;
	color: #5e6d79;
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 1.8;
	text-align: center;
}
.p-index_kv__copy .main .green {
	color: #f67e62;
}
.p-index_kv__photo-fallback {
	display: none;
}
.c-contact, .c-contact__morphing svg {
	overflow: visible;
}
@keyframes umadaysTicker {
0% {
transform: translateY(0);
}
100% {
transform: translateY(var(--ticker-shift-y));
}
}
@keyframes umadaysTickerSp {
0% {
transform: translateX(0);
}
100% {
transform: translateX(var(--ticker-shift-x));
}
}

@media only screen and (max-width: 767px) {
.p-index_kv__pic {
	width: min(108vw, 62rem);
	margin-left: -13vw;
}
.p-index_kv__pic svg image {
	transform: translate(42px, -30px);
	transform-box: fill-box;
}
.p-index_kv__illust img, .p-index_kv__illust svg {
	width: calc(29vw + 128px);
}
.p-index_kv__illust {
	top: calc(-15vw + 246.73469px);
}
.l-header__hamburger {
	display: none !important;
}
.c-fixed_menu {
	display: block !important;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4.8rem;
	background-color: #6cb9b6;
	z-index: 120;
	overflow: hidden;
}
.c-fixed_menu__inner {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 0 6rem 0 1.4rem;
	overflow: hidden;
}
.c-fixed_menu__ticker {
	flex-direction: row;
	align-items: center;
	gap: 4rem;
	width: max-content;
	animation: umadaysTickerSp 18s linear infinite;
}
.c-fixed_menu__ticker span {
	display: inline-block;
	writing-mode: horizontal-tb;
	text-orientation: mixed;
	font-size: 4rem;
	line-height: 1;
	letter-spacing: 0.08em;
	white-space: nowrap;
	color: #fff;
}
.l-header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4.8rem;
	padding-left: 0;
	background: transparent !important;
	z-index: 130;
	pointer-events: none;
}
.l-header__logo {
	display: none !important;
}
.l-header .c-container {
	position: relative;
	width: 100%;
	height: 100%;
	padding: 0;
	justify-content: flex-end;
}
.l-header__hamburger {
	display: flex !important;
	position: fixed;
	top: 0;
	right: 0;
	width: 4.8rem;
	height: 4.8rem;
	margin-left: 0;
	border-left: none;
	background-color: #6cb9b6;
	pointer-events: auto;
	align-items: center;
	justify-content: center;
}
.l-header .text {
	display: none;
}
.p-index_works__case .results_slider .swiper-slide {
	width: 100% !important;
}
}
.l-footer__simple {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.2rem 2.4rem;
	padding: 2.4rem 0 1.6rem;
}
.l-footer {
	background-color: #222222;
}
.l-footer__simple a {
	color: #f3ead8;
	text-decoration: none;
	font-weight: 700;
	transition: opacity 0.2s ease;
}
.l-footer__simple a:nth-child(6n + 1) {
	color: #f3ead8;
}
.l-footer__simple a:nth-child(6n + 2) {
	color: #f3ead8;
}
.l-footer__simple a:nth-child(6n + 3) {
	color: #f3ead8;
}
.l-footer__simple a:nth-child(6n + 4) {
	color: #f3ead8;
}
.l-footer__simple a:nth-child(6n + 5) {
	color: #f3ead8;
}
.l-footer__simple a:nth-child(6n + 6) {
	color: #f3ead8;
}
.l-footer__simple a:hover {
	opacity: 0.7;
}
.l-footer__bottom.-simple {
	display: block;
	padding-top: 0.8rem;
}
.l-footer__bottom.-simple .copyright {
	text-align: left;
	color: #f3ead8;
}
.p-index_works__case {
	padding: 12rem 0 4rem;
	background: #fcfcfa;
	overflow-x: clip;
	overflow-y: visible;
}
.p-index_works__case .results_area, .p-index_works__case .results_area .slide-content {
	background: transparent;
}
#result {
	position: relative;
	padding-bottom: 0;
}
.result-jump {
	position: absolute;
	z-index: 6;
	width: clamp(9.5rem, 12.5vw, 17rem);
	height: auto;
	pointer-events: none;
	user-select: none;
}
.result-jump.-tl {
	top: 24rem;
	left: max(0.5rem, calc(21.02vw - 251px));
	animation: resultJump 3.4s ease-in-out infinite;
}
.result-jump.-br {
	bottom: 3rem;
	right: max(0.5rem, calc(21.02vw - 251px));
	animation: resultJump 3.4s ease-in-out infinite;
	animation-delay: -1.7s;
}
@keyframes resultJump {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-1.8rem);
	}
}
@media (max-width: 1023px) {
	.result-jump {
		width: clamp(7rem, 13vw, 12rem);
	}
	.result-jump.-tl {
		top: 3rem;
		left: 0.5rem;
	}
	.result-jump.-br {
		bottom: 1.5rem;
		right: 0.5rem;
	}
}
@media (max-width: 640px) {
	.result-jump {
		width: clamp(7rem, 16vw, 11rem);
	}
	.result-jump.-tl {
		top: 20rem;
	}
}
@media (prefers-reduced-motion: reduce) {
	.result-jump {
		animation: none;
	}
}
.result_ttl {
	position: relative;
	z-index: 5;
}
.results_area {
	position: relative;
	margin-top: 0;
	padding: 14rem 0 0;
	overflow: visible;
}
.results_area::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	width: 100%;
	aspect-ratio: 1920 / 460;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 460' preserveAspectRatio='none'%3E%3Cpath fill='%23e8f4f6' d='M0,300 C300,360 520,378 760,300 C1010,222 1160,110 1450,66 C1650,38 1800,40 1920,58 L1920,460 L0,460 Z'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat;
	transform: translateY(calc(-100% + 2px));
	pointer-events: none;
}
.results_area::after {
	content: "";
	position: absolute;
	inset: -2px 0 auto 0;
	z-index: 1;
	height: calc(100% + 2px);
	background: #e8f4f6;
	pointer-events: none;
}
.results_area > * {
	position: relative;
	z-index: 4;
}
.result-swiper {
	position: relative;
}
.result-swiper__viewport {
	overflow: hidden;
	padding: 0.6rem 0 3.4rem;
}
.result-swiper__track {
	display: flex;
	will-change: transform;
}
.result-swiper__slide {
	height: auto;
	min-width: 0;
}
.result-slide-card {
	--result-card-accent: #f67e62;
	--result-card-shadow: rgba(54, 73, 94, 0.13);
	display: flex;
	flex-direction: column;
	height: 100%;
	border-radius: 2.2rem;
	background: #fff;
	box-shadow: 0 1.6rem 3.4rem var(--result-card-shadow);
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.result-swiper__slide:nth-child(3n + 2) .result-slide-card {
	--result-card-accent: #6cb9b6;
}
.result-swiper__slide:nth-child(3n + 3) .result-slide-card {
	--result-card-accent: #fec800;
}
.result-slide-card:hover {
	transform: none;
}
.result-slide-card__image {
	position: relative;
	padding: 1rem;
	background: linear-gradient(180deg, var(--result-card-accent) 0%, #f6fbfc 100%);
}
.result-slide-card__image img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
	border-radius: 1.6rem;
	transform: translateY(-6%);
}
.result-slide-card__tag {
	position: absolute;
	top: 2.2rem;
	left: 2.2rem;
	display: inline-flex;
	align-items: center;
	padding: 0.7rem 1.4rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 0.8rem 1.8rem rgba(36, 51, 66, 0.12);
	color: #243342;
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}
.result-slide-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.4rem 2.4rem 2.4rem;
}
.result-slide-card__title {
	margin: 0;
	color: #243342;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.25;
}
.result-slide-card__amount {
	margin: 1.2rem 0 0;
	color: #111820;
	font-family: "Noto Sans", "Noto Sans JP", sans-serif;
	font-size: 4rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
	text-shadow: -0.07em -0.03em 0 #FF7796, 0.07em 0.03em 0 #64CBDD;
}
.result-slide-card__amount small {
	font-size: 0.42em;
}
.result-slide-card__text {
	margin: 1.4rem 0 0;
	color: #64748b;
	font-size: 1.35rem;
	line-height: 1.8;
}
.result-slide-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.4rem;
	margin-top: auto;
	padding-top: 1.8rem;
	border-top: 1px solid rgba(36, 51, 66, 0.09);
}
.result-slide-card__meta {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	min-width: 0;
}
.result-slide-card__meta-label {
	color: #243342;
	font-size: 1.3rem;
	font-weight: 700;
}
.result-slide-card__meta-note {
	color: #7a8790;
	font-size: 1.2rem;
	line-height: 1.5;
}
.result-slide-card__badge {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	padding: 1rem 1.5rem;
	border-radius: 999px;
	background: #f67e62;
	color: #fff;
	font-size: 1.15rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-align: center;
}
.result-swiper__slide:nth-child(3n + 2) .result-slide-card__badge {
	background: #6cb9b6;
}
.result-swiper__slide:nth-child(3n + 3) .result-slide-card__badge {
	background: #fec800;
	color: #243342;
}
.result-slide-card__plan {
	margin: 1.6rem 0 0;
	padding: 1.6rem 1.8rem;
	border-radius: 1.4rem;
	background: linear-gradient(160deg, #ffffff 0%, #edf4f9 100%);
	border: 1px solid #c4d8e6;
	border-bottom-color: #8aafc6;
	color: #243342;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.8;
	white-space: pre-wrap;
	box-shadow:
		0 2px 0 #a8c4d8,
		0 4px 0 #90aec4,
		0 6px 10px rgba(36, 51, 66, 0.18);
	transform: translateY(-3px);
	text-shadow: 0 1px 0 rgba(255,255,255,0.7);
}
.result-swiper__pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 0.6rem;
}
.result-swiper__pagination .swiper-pagination-bullet {
	position: relative;
	width: 1.2rem;
	height: 1.2rem;
	margin: 0 !important;
	border: 0;
	border-radius: 999px;
	background: rgba(112, 122, 255, 0.24);
	opacity: 1;
	overflow: hidden;
	transition: transform 0.25s ease, background-color 0.25s ease, opacity 0.25s ease;
}
.result-swiper__pagination .swiper-pagination-bullet-active {
	background: rgba(112, 122, 255, 0.22);
	transform: scale(1.45);
}
.result-swiper__pagination .swiper-pagination-bullet-active::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: #6f79f3;
	transform-origin: left center;
	transform: scaleX(0);
	animation: resultPagerFill 4.8s linear forwards;
}
.result-swiper__button {
	position: absolute;
	top: 50%;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.2rem;
	height: 3.2rem;
	margin-top: -5.2rem;
	padding: 0;
	border: 0;
	appearance: none;
	background: transparent;
	color: transparent;
	transition: transform 0.25s ease, opacity 0.25s ease;
}
.result-swiper__button::after {
	content: "";
	display: block;
	width: 1.3rem;
	height: 1.3rem;
	border-top: 0.28rem solid #1d7cf2;
	border-right: 0.28rem solid #1d7cf2;
}
.result-swiper__button.swiper-button-prev {
	left: 2.8rem;
}
.result-swiper__button.swiper-button-next {
	right: 2.8rem;
}
.result-swiper__button.swiper-button-prev::after {
	transform: rotate(-135deg);
}
.result-swiper__button.swiper-button-next::after {
	transform: rotate(45deg);
}
.result-swiper__button:hover {
	transform: translateY(-0.2rem);
}
.result-swiper__button.swiper-button-disabled {
	opacity: 0.45;
	pointer-events: none;
}
@keyframes resultPagerFill {
	from {
		transform: scaleX(0);
	}
	to {
		transform: scaleX(1);
	}
}
}
.results_area {
	margin-top: 5rem;
	padding: 0;
}
.result-sample {
	padding-bottom: 1.6rem;
}
.result-sample__wrapper {
	max-width: 100%;
	padding: 2rem 1rem;
	margin: 0 auto 3.5rem;
	overflow: hidden;
}
.result-sample__card {
	--result-accent: #f67e62;
	background: #fff;
	display: flex;
	height: auto;
	flex-direction: column;
	border-radius: 2rem;
	overflow: hidden; /* 画像の上2角をカードの角丸で抜く＝下端の角丸と完全一致 */
	box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.05);
	transition: transform 0.3s ease;
}
.result-sample__card:hover {
	transform: none;
}
.result-sample__image {
	position: relative;
	/* 上2角はカード側のborder-radius(3.8rem)で抜くのでマスクは角ナシ。左下の丸み＋右下のとんがりだけ担当 */
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 560' preserveAspectRatio='none'%3E%3Cpath d='M0,0L900,0L900,555A50,50,0,0,0,850,505L50,505A50,50,0,0,1,0,455Z' fill='%23ffffff'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 560' preserveAspectRatio='none'%3E%3Cpath d='M0,0L900,0L900,555A50,50,0,0,0,850,505L50,505A50,50,0,0,1,0,455Z' fill='%23ffffff'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.result-sample__image img {
	display: block;
	width: 100%;
	padding: 0;
	border-radius: 0;
	height: auto;
	object-fit: cover; /* 左右が少し切れる代わりにとんがり下端まで画像で埋める */
	aspect-ratio: 900 / 560; /* 縦長に。マスクのviewBox高さ560と一致させること */
}
.result-sample__tag {
	position: absolute;
	top: 2.5rem;
	left: 2.5rem;
	font-size: 1.2rem;
	color: #4c63f6;
	padding: 0.8rem 1.8rem;
	border-radius: 999px;
	font-weight: 700;
	letter-spacing: 0.03em;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.1);
}
.result-sample__content {
	display: flex;
	flex-direction: column;
	margin-top: -2.8rem;
	padding: 0 1.9rem 1.6rem;
}
.result-sample__title {
	font-family: "WDXL Lubrifont JP N", sans-serif;
	font-weight: 400;
	color: #222222;
	font-size: 3.6rem;
	line-height: 1.3;
	margin-top: 1rem;
	margin-bottom: 0.6rem;
}
.result-sample__amount {
	font-family: "Calistoga", serif;
	font-weight: 400;
	font-size: 4rem;
	line-height: 1;
	letter-spacing: 0.03em;
	margin: 0 0 1rem;
	text-align: right;
	white-space: nowrap;
	color: #242415;
	animation: amount-shadow 8s linear infinite;
}
.result-sample__amount small {
	font-size: 0.55em;
}
@media (min-width: 1024px) and (max-width: 1279px) {
	.result-sample__amount {
		font-size: clamp(3rem, 3.2vw, 3.4rem);
	}
	#js-counseling_slider .swiper-slide {
		width: 72vw !important;
	}
	#voice .p-index_counseling__slider .item .box {
		width: 100%;
		font-size: 1.6rem;
		line-height: 1.8;
	}
}
.result-sample__text {
	color: #747474;
	font-size: 1.45rem;
	line-height: 1.7;
	margin-bottom: 2rem;
}
.result-sample__ticket {
	margin: 0;
	padding: 1.6rem 1.4rem;
	border: 1px solid rgba(36, 51, 66, 0.12);
	border-radius: 1.8rem;
	background: rgba(247, 250, 252, 0.88);
	color: #4d5965;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.02em;
	white-space: pre-wrap;
}
.result-sample__pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.08rem;
	line-height: 0;
}
.result-sample__pagination .swiper-pagination-bullet {
	display: inline-block;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 999px;
	opacity: 1;
	overflow: hidden;
	position: relative;
	background: #b1b3f8;
	flex: 0 0 auto;
}
.result-sample__pagination .swiper-pagination-bullet-active {
	background: #a4a7fd;
	transform: scale(1.15);
}
.result-sample__pagination .swiper-pagination-bullet-active::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: #6366f1;
	transform-origin: left center;
	transform: scaleX(0);
	animation: resultPagerFill 5s linear forwards;
}
.result-sample:hover .result-sample__pagination .swiper-pagination-bullet-active::before {
	animation-play-state: paused;
}
.result-sample .result-sample__button-nav {
	color: #6366f1;
	margin-top: -3.5rem;
	width: 5.2rem;
	height: 5.2rem;
	min-width: 5.2rem;
	background: transparent;
	transition: all 0.3s ease;
}
.result-sample .result-sample__button-nav::after {
	content: none !important;
	font-size: 0;
}
.result-sample .result-sample__button-nav::before {
	content: "";
	display: block;
	width: 2.2rem;
	height: 2.2rem;
	border-top: 0.28rem solid currentColor;
	border-right: 0.28rem solid currentColor;
}
.result-sample .result-sample__button-nav:hover {
	color: #4c63f6;
	transform: translateY(-0.2rem);
}
.result-sample .swiper-button-prev {
	left: -0.8rem;
}
.result-sample .swiper-button-prev::before {
	transform: rotate(-135deg);
}
.result-sample .swiper-button-next {
	right: -0.8rem;
}
.result-sample .swiper-button-next::before {
	transform: rotate(45deg);
}
.result-board__note {
	max-width: 100%;
	margin: 0 auto;
	padding: 0 1rem;
	font-size: 1.2rem;
	text-align: left;
}
@keyframes resultPagerFill {
	0% {
		transform: scaleX(0);
	}
	100% {
		transform: scaleX(1);
	}
}
@media (max-width: 768px) {
.result-sample__wrapper {
	margin: 0 1rem 2.5rem;
}
.result-sample :where(.swiper-button-prev, .swiper-button-next) {
	display: none;
}
.result-board__note {
	margin: 0 1.6rem;
}
}
.mid-cta {
	padding: 2.8rem 0 6.8rem;
	background: #e8f4f6;
}
.mid-cta__cta {
	margin-top: 0;
}
.mid-cta__cta .c-cta_button {
	width: 100%;
	max-width: 90rem;
}
@media (min-width: 768px) {
	.mid-cta__cta .c-cta_button {
		animation: none;
		max-width: 130rem;
		min-height: 24rem;
		gap: 3.4rem;
	}
	.mid-cta__cta .c-cta_button__pc_image {
		width: min(76rem, 100%);
	}
	.mid-cta__cta .c-cta_button__line {
		flex-basis: 17.5rem;
		width: 17.5rem;
	}
	.mid-cta__cta .c-cta_button__qr {
		flex: 0 0 17.5rem;
		width: 17.5rem;
		height: 17.5rem;
	}
}
@media (min-width: 1024px) and (max-width: 1279px) {
	.mid-cta__cta .c-cta_button,
	#cta .c-cta_button {
		max-width: 96rem;
		min-height: 18rem;
		gap: 2.2rem;
		padding: 2.2rem 2.6rem 4.4rem;
	}
	.mid-cta__cta .c-cta_button__line,
	#cta .c-cta_button__line {
		flex: 0 0 12.8rem;
		width: 12.8rem;
	}
	.mid-cta__cta .c-cta_button__copy,
	#cta .c-cta_button__copy {
		flex: 1 1 50rem;
		justify-items: center;
	}
	.mid-cta__cta .c-cta_button__pc_image,
	#cta .c-cta_button__pc_image {
		width: min(50rem, 100%);
	}
	.mid-cta__cta .c-cta_button__arrow,
	#cta .c-cta_button__arrow {
		border-top-width: 2rem;
		border-bottom-width: 2rem;
		border-left-width: 2.5rem;
	}
	.mid-cta__cta .c-cta_button__qr,
	#cta .c-cta_button__qr {
		flex: 0 0 12.8rem;
		width: 12.8rem;
		height: 12.8rem;
		border-width: 0.8rem;
	}
}
.p-index_works.-selection {
	padding: 2.4rem 0 4rem;
	background: #e8f4f6;
}
#method {
	position: relative;
}
#method::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	aspect-ratio: 1920 / 460;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 460' preserveAspectRatio='none'%3E%3Cpath fill='%23e8f4f6' d='M0,300 C300,360 520,378 760,300 C1010,222 1160,110 1450,66 C1650,38 1800,40 1920,58 L1920,460 L0,460 Z'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat;
	transform: translateY(calc(-100% + 2px));
	pointer-events: none;
}
#method > * {
	position: relative;
	z-index: 2;
}
#method .p-index_works__inner::after {
	display: none;
}
#voice {
	margin-bottom: 0;
	padding-bottom: 4rem;
}
#voice::before {
	top: 0;
	height: 100%;
	transform: none;
	background-color: #fcebf1;
}
#voice .p-index_counseling____morphing {
	display: none;
}
#voice .p-index_counseling__slider .item {
	position: relative;
	width: min(82rem, 100%);
	margin: 0 auto;
}
#voice .p-index_counseling__slider .item .box {
	min-height: 31rem;
	width: 100%;
	padding: 3rem 3.6rem 3.2rem 3.2rem;
	font-size: clamp(1.55rem, 1vw, 1.72rem);
	line-height: 1.85;
}
#voice .voice-review {
	position: relative;
	z-index: 1;
}
#voice .voice-review__header {
	display: grid;
	grid-template-columns: auto minmax(14rem, 1fr) auto;
	align-items: start;
	column-gap: 2rem;
	margin-bottom: 1.7rem;
}
#voice .voice-review__meta {
	display: contents;
	font-size: 0.95em;
	font-weight: 700;
	line-height: 1.4;
}
#voice .voice-review__meta-item {
	display: inline-flex;
	align-items: center;
	grid-column: 1;
	justify-self: start;
	min-width: 0;
	white-space: nowrap;
	padding: 0.45rem 0.9rem;
	border: 1px solid rgba(143, 134, 249, 0.22);
	border-radius: 999rem;
	background: rgba(255, 255, 255, 0.7);
	box-shadow: 0 0.4rem 1rem rgba(143, 134, 249, 0.08);
	color: #675d8f;
}
#voice .voice-review__label {
	margin-right: 0.45rem;
	color: #8f86f9;
	font-size: 0.86em;
	letter-spacing: 0.04em;
}
#voice .voice-review__plan {
	display: grid;
	grid-column: 2;
	align-self: end;
	justify-self: end;
	text-align: right;
	gap: 0.25rem;
	min-width: 0;
}
#voice .voice-review__plan-label {
	flex-shrink: 0;
	color: #8f86f9;
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}
#voice .voice-review__plan-name {
	display: block;
	color: #222222;
	font-family: "WDXL Lubrifont JP N", sans-serif;
	font-size: clamp(2.5rem, 1.8vw, 3.05rem);
	font-weight: 400;
	line-height: 1.18;
	word-break: keep-all;
	overflow-wrap: normal;
}
#voice .voice-review__visual {
	grid-column: 3;
	flex: 0 0 auto;
	width: clamp(11rem, 8.5vw, 14rem);
	aspect-ratio: 1;
	border-radius: 1.8rem;
	overflow: hidden;
	box-shadow: 0 1rem 2rem rgba(36, 51, 66, 0.16);
}
#voice .voice-review__visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#voice .voice-review__separator {
	height: 1px;
	margin-bottom: 1.55rem;
	background-image: repeating-linear-gradient(90deg, rgba(143, 134, 249, 0.55) 0 0.7rem, transparent 0.7rem 1.2rem);
}
#voice .voice-review__text {
	color: #4f464b;
	font-weight: 600;
}
#voice .p-index_counseling__slider .item .illust {
	top: auto;
	bottom: -3.2rem;
	right: -1.6rem;
	z-index: 2;
	width: clamp(8.2rem, 7.2vw, 11rem);
}
#voice .p-index_counseling__slider .item .illust img {
	transform: rotate(20deg);
}
@media (max-width: 767px) {
	#voice .voice-review__header {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) 9.2rem;
		column-gap: 1rem;
		row-gap: 0.8rem;
	}
	#voice .voice-review__meta {
		display: contents;
	}
	#voice .voice-review__plan {
		display: grid;
		grid-column: 2;
		align-self: end;
		justify-self: end;
		text-align: right;
		gap: 0.25rem;
	}
	#voice .voice-review__plan-name {
		font-size: 2.5rem;
	}
	#voice .voice-review__visual {
		grid-column: 3;
		width: 9.2rem;
		border-radius: 1.3rem;
	}
}
#voice .p-index_counseling__dots {
	margin-bottom: 1rem;
}
#voice .p-index_counseling__dots .swiper-pagination-bullet {
	border-color: #8f86f9;
	background-color: #ffffff;
}
#voice .p-index_counseling__dots .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: #8f86f9;
}
#voice .voice_ttl {
	position: relative;
	z-index: 1;
	margin-bottom: 3.2rem;
}
#voice .c-container {
	position: relative;
}
.voice-mega {
	position: absolute;
	top: 1rem;
	right: 3rem;
	z-index: 2;
	width: clamp(9rem, 12vw, 15rem);
	pointer-events: none;
	filter: drop-shadow(0 1.2rem 2rem rgba(108, 185, 182, 0.2));
}
.voice-mega img {
	display: block;
	width: 100%;
	height: auto;
	transform-origin: 78% 62%;
	animation: voiceMegaWiggle 2.6s ease-in-out infinite;
}
@keyframes voiceMegaWiggle {
	0%, 100% { transform: rotate(-4deg); }
	50%      { transform: rotate(4deg); }
}
@media (max-width: 767px) {
	.voice-mega {
		top: -2.6rem;
		right: -0.5rem;
		width: 6.5rem;
	}
}
.p-index_news__illust {
	position: absolute;
	right: 2vw;
	width: clamp(16rem, 19vw, 26rem);
	z-index: 2;
}
.p-index_news__illust img {
	display: block;
	width: 100%;
	height: auto;
	transform-origin: 50% 90%;
	animation: newsIllustFloat 4.2s ease-in-out infinite;
}
@keyframes newsIllustFloat {
	0%, 100% { transform: translateY(0) rotate(-2.5deg); }
	50%      { transform: translateY(-1.4rem) rotate(2.5deg); }
}
@media (max-width: 767px) {
	.p-index_news__illust {
		width: 15vw;
		top: 8rem;
		right: 0;
		bottom: auto;
		z-index: 10;
	}
}
#voice .p-index_counseling__ttl .fukidashi {
	font-size: clamp(2.1rem, 1.5vw, 3rem);
	padding: 2.4rem 6rem 2.2rem;
	border-radius: 5rem;
}
#voice .p-index_counseling__ttl .fukidashi::after {
	border-width: 1.6rem 0.9rem 0;
	bottom: -1.5rem;
}
#voice::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	z-index: 0;
	width: 100%;
	aspect-ratio: 1920 / 460;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 460' preserveAspectRatio='none'%3E%3Cpath fill='%23fcebf1' d='M0,58 C120,40 270,38 470,66 C760,110 910,222 1160,300 C1400,378 1620,360 1920,300 L1920,460 L0,460 Z'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat;
	transform: translateY(calc(-100% + 2px));
	pointer-events: none;
}
.p-index_news, .c-contact, .l-footer {
	overflow: hidden;
}
#news {
	overflow-x: clip;
	overflow-y: visible;
	padding-top: 2vw;
}
@media (min-width: 768px) {
	#news {
		padding-top: 1.5vw;
	}
}
#news::after {
	top: 0;
	bottom: auto;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fcebf1;
}
#news::before {
	content: "";
	position: absolute;
	left: 0;
	top: -2px;
	z-index: 0;
	width: 100%;
	aspect-ratio: 1920 / 280;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 280' preserveAspectRatio='none'%3E%3Cpath fill='%23fcebf1' d='M0,0 H1920 V120 C1500,205 1330,258 1010,252 C690,246 510,150 0,138 Z'/%3E%3C/svg%3E") center top / 100% 100% no-repeat;
	pointer-events: none;
}
#news .p-index_news__dot {
	display: none;
}
#news > * {
	position: relative;
	z-index: 1;
}
/* 日付・枠の色を緑→紫に統一 */
#news .c-news_list li a time {
	color: #889dd9;
}
#news .c-news_list li a.is-hover {
	border-color: #889dd9;
}
.c-contact::before {
	right: 0;
	width: auto;
}
#news {
	margin-bottom: 0;
}
#cta {
	margin-top: 0;
}
#cta::before {
	top: 0;
	background-color: #fcebf1;
}
#cta .c-contact__morphing {
	display: none;
}
#cta .c-cta_button {
	width: 100%;
	max-width: 90rem;
}
@media (min-width: 768px) {
	#cta .c-cta_button {
		animation: none;
		max-width: 130rem;
		min-height: 24rem;
		gap: 3.4rem;
	}
	#cta .c-cta_button__pc_image {
		width: min(76rem, 100%);
	}
	#cta .c-cta_button__line {
		flex-basis: 17.5rem;
		width: 17.5rem;
	}
	#cta .c-cta_button__qr {
		flex: 0 0 17.5rem;
		width: 17.5rem;
		height: 17.5rem;
	}
}
.c-contact_row.-cta {
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin: 0;
	perspective: 900px;
}
.p-index_kv__cta {
	position: relative;
	margin-top: 2.4rem;
	z-index: 4;
	width: min(45vw, 60rem);
	margin-left: 0;
	transform: translateX(-9rem);
}
.p-index_kv__cta .c-cta_button {
	width: 100%;
	min-height: 12.6rem;
	padding: 1.9rem 2.5rem 1.9rem;
	gap: 2rem;
	align-items: center;
	border-width: 0.5rem;
	border-radius: 2.2rem;
	box-shadow: 0 0.8rem 0 var(--cta-main-dark), 0 1.2rem 0 rgba(36, 51, 66, 0.12);
}
.p-index_kv__cta .c-cta_button__line, .p-index_kv__cta .c-cta_button__copy, .p-index_kv__cta .c-cta_button__arrow, .p-index_kv__cta .c-cta_button__qr {
	transform: translateZ(3rem);
	margin-top: 0;
}
.c-contact_row.-cta:not(.p-index_kv__cta) .c-cta_button {
	padding-bottom: 2.6rem;
}
.p-index_kv__cta .c-cta_button__line {
	flex-basis: 9.2rem;
	width: 9.2rem;
}
.p-index_kv__cta .c-cta_button__copy {
	gap: 0;
}
.p-index_kv__cta .c-cta_button__pc_image {
	width: min(34rem, 100%);
}
.p-index_kv__cta .c-cta_button__arrow {
	border-top-width: 2rem;
	border-bottom-width: 2rem;
	border-left-width: 2.6rem;
}
.p-index_kv__cta .c-cta_button__qr {
	display: block;
	flex: 0 0 10.4rem;
	width: 10.4rem;
	height: 10.4rem;
	padding: 0.45rem;
	border-width: 0.7rem;
	background: #fff;
	box-shadow: 0.4rem 0.5rem 0 rgba(5, 111, 49, 0.22);
}
.p-index_kv__cta .c-cta_button__qr img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 0.2rem;
}
.c-cta_button {
--cta-main: #06c755;
--cta-main-dark: #049743;
--cta-accent: #083f2a;
	position: relative;
	isolation: isolate;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 2.8rem;
	width: min(98rem, 100%);
	min-height: 18rem;
	padding: 2.6rem 3.2rem 5rem;
	border: 0.8rem solid rgba(255, 255, 255, 0.92);
	border-radius: 2.8rem;
	overflow: visible;
	color: #fff;
	text-decoration: none;
	background: var(--cta-main);
	box-shadow: 0 1rem 0 var(--cta-main-dark), 0 1.6rem 0 rgba(36, 51, 66, 0.16);
	transform: rotateY(0deg) rotateX(10deg);
	transform-style: preserve-3d;
	will-change: transform;
	animation: umadaysCtaTilt 6s linear infinite;
}
.c-cta_button::before, .c-cta_button::after {
	content: "";
	display: none;
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
	mix-blend-mode: normal;
}

.c-cta_button__shine {
	display: none;
}
.c-cta_button__line, .c-cta_button__copy, .c-cta_button__arrow {
	position: relative;
	z-index: 2;
	transform: translateZ(3rem);
}
.c-cta_button__line {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 13.2rem;
	width: 13.2rem;
	height: auto;
}
.c-cta_button__line_img {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0.7rem 0.9rem 0 rgba(5, 111, 49, 0.28));
}

.c-cta_button__copy {
	display: grid;
	flex: 1 1 auto;
	gap: 0.5rem;
	text-align: left;
}
.c-cta_button__pc_image, .c-cta_button__sp_image {
	display: block;
	width: min(54rem, 100%);
	height: auto;
}
.c-cta_button__sp_image {
	display: none;
}
.c-cta_button__copy_top, .c-cta_button__copy_main {
	display: none;
}
.c-cta_button__copy_top, .c-cta_button__copy_main {
	color: #f5f5f5;
	font-family: "Arial Black", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-weight: 900;
	letter-spacing: 0;
	text-shadow: 1px 1px 1px #08723b, 1px 2px 1px #08723b, 1px 3px 1px #08723b, 1px 4px 1px #08723b, 1px 5px 1px #08723b, 1px 6px 1px #08723b, 1px 7px 1px #08723b, 1px 8px 1px #08723b, 1px 14px 6px rgba(16, 16, 16, 0.32), 1px 18px 10px rgba(16, 16, 16, 0.2), 1px 24px 28px rgba(16, 16, 16, 0.24);
}
.c-cta_button__copy_top {
	font-size: clamp(3.1rem, 3.6vw, 5.2rem);
	line-height: 0.95;
	white-space: nowrap;
}
.c-cta_button__sp_text {
	display: none;
}
.c-cta_button__copy_main {
	font-size: clamp(4.6rem, 6vw, 8.4rem);
	line-height: 0.98;
	white-space: nowrap;
}
.c-cta_button__arrow {
	display: block;
	flex: 0 0 auto;
	width: 0;
	height: 0;
	border-top: 2.5rem solid transparent;
	border-bottom: 2.5rem solid transparent;
	border-left: 3.2rem solid #fff;
	border-radius: 0.4rem;
	filter: drop-shadow(0.4rem 0.5rem 0 rgba(5, 111, 49, 0.35));
	animation: none;
}
.c-cta_button__qr {
	position: relative;
	z-index: 2;
	display: block;
	flex: 0 0 13.2rem;
	width: 13.2rem;
	height: 13.2rem;
	border: 1rem solid #fff;
	border-radius: 0.8rem;
	background: linear-gradient(90deg, #111 50%, transparent 0) 0 0 / 1.6rem 1.6rem, linear-gradient(#111 50%, transparent 0) 0 0 / 1.6rem 1.6rem, #fff;
	box-shadow: 0.5rem 0.7rem 0 rgba(5, 111, 49, 0.25);
	transform: translateZ(3rem);
}
.c-cta_terms {
	margin-top: 1.8rem;
	color: #2f3b44;
	font-size: clamp(1.4rem, 1.25vw, 1.8rem);
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}
.c-cta_terms a {
	color: #ff2f4f;
	text-decoration: underline;
	text-decoration-thickness: 0.16em;
	text-underline-offset: 0.12em;
}
@keyframes umadaysCtaTilt {
0% {
transform: rotateY(0deg) rotateX(10deg);
animation-timing-function: cubic-bezier(0.61, 1, 0.88, 1);
}
25% {
transform: rotateY(20deg) rotateX(10deg);
}
50% {
transform: rotateY(0deg) rotateX(10deg);
animation-timing-function: cubic-bezier(0.61, 1, 0.88, 1);
}
75% {
transform: rotateY(-20deg) rotateX(10deg);
}
100% {
transform: rotateY(0deg) rotateX(10deg);
}
}


@media (prefers-reduced-motion: reduce) {
.c-cta_button, .c-cta_button::before, .c-cta_button::after, .c-cta_button__shine, .c-cta_button__arrow {
	animation: none;
}
}
.c-pagetop {
	display: none !important;
	pointer-events: none;
}
.c-pagetop[data-show="1"] {
	pointer-events: none;
}
.c-pagetop a {
	min-width: 8.8rem;
	min-height: 8.8rem;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
}
.c-pagetop__label {
	font-family: "Noto Sans", "Noto Sans JP", sans-serif;
	font-size: 1.9rem;
	font-weight: 900;
	letter-spacing: 0.04em;
}
.p-index_concept__morphing.-watercolor {
	top: 9rem;
	left: 50%;
	right: auto;
	transform: translateX(-50%);
	z-index: 0;
	opacity: 1;
	width: min(100vw, 178rem);
	height: auto;
	background: none;
}
.p-index_concept__morphing.-watercolor .obj {
	position: static;
	display: inline-block;
	pointer-events: none;
	line-height: 0;
}
.p-index_concept__morphing.-watercolor .obj img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	max-height: none;
	object-fit: none;
	aspect-ratio: auto;
}
.p-index_concept__dots {
	position: absolute;
	top: 3.4rem;
}
.concept-horn {
	position: absolute;
	z-index: 3;
	top: 0;
	width: clamp(14rem, 16vw, 24rem);
	height: auto;
	pointer-events: none;
	user-select: none;
}
.concept-horn.-left {
	left: 0;
	translate: -80% -38%;
	animation: hornPlayLeft 2.6s ease-in-out infinite;
}
.concept-horn.-right {
	right: 0;
	translate: 66% -38%;
	animation: hornPlayRight 2.6s ease-in-out infinite;
	animation-delay: -1.3s;
}
/* --horn-angle-left / --horn-angle-right : 斜め配置の角度。横向き画像に差し替えたらここを調整 */
@keyframes hornPlayLeft {
	0%, 58%, 100% { transform: rotate(-20deg) scaleX(1)    scaleY(1);    }
	10%           { transform: rotate(-20deg) scaleX(1.10) scaleY(0.88); }
	20%           { transform: rotate(-20deg) scaleX(0.86) scaleY(1.12); }
	30%           { transform: rotate(-20deg) scaleX(1.06) scaleY(0.93); }
	40%           { transform: rotate(-20deg) scaleX(0.96) scaleY(1.04); }
	50%           { transform: rotate(-20deg) scaleX(1.02) scaleY(0.98); }
}
@keyframes hornPlayRight {
	0%, 58%, 100% { transform: rotate(20deg) scaleX(1)    scaleY(1);    }
	10%           { transform: rotate(20deg) scaleX(1.10) scaleY(0.88); }
	20%           { transform: rotate(20deg) scaleX(0.86) scaleY(1.12); }
	30%           { transform: rotate(20deg) scaleX(1.06) scaleY(0.93); }
	40%           { transform: rotate(20deg) scaleX(0.96) scaleY(1.04); }
	50%           { transform: rotate(20deg) scaleX(1.02) scaleY(0.98); }
}
@media (max-width: 767px) {
	.concept-horn {
		display: none;
	}
}
@media (prefers-reduced-motion: reduce) {
	.concept-horn {
		animation: none;
	}
}
.p-index_concept .c-container {
	position: relative;
	z-index: 1;
}
.p-index_concept__dots .swiper-pagination-bullet:nth-child(1) {
	color: #ff7796;
}
.p-index_concept__dots .swiper-pagination-bullet:nth-child(1)::before {
	background-color: #ff7796;
}
.p-index_concept__dots .swiper-pagination-bullet:nth-child(2) {
	color: #ffdb48;
}
.p-index_concept__dots .swiper-pagination-bullet:nth-child(2)::before {
	background-color: #ffdb48;
}
.p-index_concept__dots .swiper-pagination-bullet:nth-child(3) {
	color: #b1d84b;
}
.p-index_concept__dots .swiper-pagination-bullet:nth-child(3)::before {
	background-color: #b1d84b;
}
.p-index_concept__row .item .comment {
	margin-top: -0.4rem;
	margin-left: 0;
	width: calc(23.67347vw + 161.22449px);
}
.p-index_concept__row .item .comment_fukidashi {
	width: 100%;
	box-sizing: border-box;
	padding: 0.9rem 0;
	font-size: calc(0.55vw + 1.3rem);
}
.p-index_concept__row .item .comment_fukidashi::after {
	display: none;
}
.p-index_concept__row .item.textarea {
	position: relative;
	z-index: 1;
	background: rgba(255, 255, 255, 0.68);
	border-radius: 2rem;
	padding: 2.8rem 3.2rem;
	box-shadow: 0 1rem 3rem rgba(36, 51, 66, 0.06);
	backdrop-filter: blur(2px);
}
#concept .p-index_concept__row {
	display: block;
}
#concept .p-index_concept__row .item.textarea {
	display: none;
}
#concept .p-index_concept__row .item.js-anim_elm {
	width: 100%;
	max-width: none;
}
.blog-slider {
	position: relative;
	width: 100%;
	max-width: 104rem;
	margin: 0 auto;
	background: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(8px);
	box-shadow: 0 1.4rem 5rem rgba(108, 185, 182, 0.22);
	padding: 3rem;
	border-radius: 2.6rem;
	height: 50rem;
}
.blog-slider__item {
	display: flex;
	align-items: center;
}
.blog-slider__item.swiper-slide-active .blog-slider__img img {
	opacity: 1;
	transition-delay: 0.3s;
}
.blog-slider__item.swiper-slide-active .blog-slider__content > * {
	opacity: 1;
	transform: none;
}
.blog-slider__item.swiper-slide-active .blog-slider__content > *:nth-child(1) { transition-delay: 0.3s; }
.blog-slider__item.swiper-slide-active .blog-slider__content > *:nth-child(2) { transition-delay: 0.4s; }
.blog-slider__item.swiper-slide-active .blog-slider__content > *:nth-child(3) { transition-delay: 0.5s; }
.blog-slider__item.swiper-slide-active .blog-slider__content > *:nth-child(4) { transition-delay: 0.6s; }
.blog-slider__img {
	position: relative;
	width: 44rem;
	flex-shrink: 0;
	height: 44rem;
	background-image: linear-gradient(147deg, #6cc6d8 0%, #7b8ef8 74%);
	box-shadow: 0.4rem 1.3rem 3rem rgba(123, 142, 248, 0.22);
	border-radius: 2.4rem;
	transform: translateX(-6rem);
	overflow: hidden;
}
.blog-slider__img::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(147deg, #6cc6d8 0%, #7b8ef8 74%);
	border-radius: 2rem;
	opacity: 0.7;
}
.blog-slider__img img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	opacity: 0;
	border-radius: 2rem;
	transition: all 0.3s;
}
.blog-slider__content {
	padding-right: 2.5rem;
}
.blog-slider__content > * {
	opacity: 0;
	transform: translateY(2.5rem);
	transition: all 0.4s;
}
.blog-slider__code {
	color: #8a93a8;
	margin-bottom: 1.4rem;
	display: block;
	font-weight: 600;
	letter-spacing: 0.12em;
	font-size: 1.4rem;
}
.blog-slider__title {
	font-size: 2.6rem;
	font-weight: 700;
	color: #243342;
	margin-bottom: 1.6rem;
	line-height: 1.3;
}
.blog-slider__text {
	color: #5b6573;
	margin-bottom: 2.6rem;
	line-height: 1.8;
	font-size: 1.7rem;
}
.blog-slider__button {
	display: inline-flex;
	background-image: linear-gradient(147deg, #6cc6d8 0%, #7b8ef8 74%);
	padding: 1.4rem 3.4rem;
	border-radius: 5rem;
	color: #fff;
	box-shadow: 0 1rem 2.4rem rgba(123, 142, 248, 0.32);
	text-decoration: none;
	font-weight: 700;
	justify-content: center;
	text-align: center;
	letter-spacing: 0.08em;
	font-size: 1.5rem;
}
.blog-slider__pagination {
	position: absolute;
	z-index: 21;
	right: 2rem;
	left: auto !important;
	top: 50% !important;
	bottom: auto !important;
	width: auto !important;
	transform: translateY(-50%);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 1.6rem;
}
.blog-slider__pagination .swiper-pagination-bullet {
	width: 1.5rem;
	height: 1.5rem;
	display: block;
	border-radius: 1rem;
	background: #243342;
	opacity: 0.2;
	transition: all 0.3s;
	margin: 0 !important;
}
.blog-slider__pagination .swiper-pagination-bullet-active {
	opacity: 1;
	background: #7b8ef8;
	height: 3.8rem;
}
@media only screen and (max-width: 767px) {
	.blog-slider {
		height: auto;
		padding: 2rem 2rem 2.5rem;
	}
	.blog-slider__item {
		flex-direction: column;
	}
	.blog-slider__img {
		transform: translateY(-3rem);
		width: 72%;
		height: auto;
		aspect-ratio: 1 / 1;
	}
	.blog-slider__content {
		margin-top: -1.5rem;
		text-align: center;
		padding: 0 0.5rem;
	}
	.blog-slider__pagination {
		position: relative;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		bottom: auto !important;
		transform: none;
		margin: 1.6rem auto 0;
		flex-direction: row;
		width: 100% !important;
		justify-content: center;
	}
	.blog-slider__pagination .swiper-pagination-bullet {
		display: inline-block !important;
		width: 1.4rem !important;
		height: 1.4rem !important;
		border-radius: 50% !important;
		margin: 0 0.5rem !important;
		transition: background-color 0.3s, opacity 0.3s !important;
	}
	.blog-slider__pagination .swiper-pagination-bullet-active {
		width: 1.4rem !important;
		height: 1.4rem !important;
		border-radius: 50% !important;
		background: #7b8ef8 !important;
		opacity: 1 !important;
	}
	.concept-horn {
		display: block;
		width: clamp(11rem, 32vw, 16rem);
		top: -4rem;
	}
	.blog-slider {
		margin-top: 1rem;
	}
	.concept-horn.-left {
		left: 0;
		translate: -15% 0%;
	}
	.concept-horn.-right {
		right: 0;
		translate: 15% 0%;
	}
}

@media only screen and (max-width: 767px) {
.p-index_service::before {
	z-index: -1;
	top: 10rem;
	width: min(140vw, 100rem);
}
.process-step.-gold::after {
	z-index: -1;
	top: -10rem;
	width: min(160vw, 128rem);
}
.process-step.-violet::after {
	z-index: -1;
	width: min(140vw, 100rem);
}
.process-step.-green::before {
	z-index: -1;
	width: min(140vw, 100rem);
}
.process-step.-blue::before {
	z-index: -1;
	width: min(140vw, 100rem);
}
.process-flow {
	margin-top: 3.4rem;
	padding: 1rem 0 0;
}
.process-flow__list {
	gap: 1.6rem;
	transform: none;
}
.process-step,
.process-step.is-right {
	display: block;
	grid-template-columns: 1fr;
	gap: 0.8rem;
	width: 100%;
	margin-top: 0;
	transform: none;
	padding: 0 1.8rem;
}
.process-step + .process-step,
.process-step:nth-child(2) {
	margin-top: 4rem;
}
.process-step.is-right .process-step__copy,
.process-step.is-right .process-step__visual {
	order: initial;
	grid-column: auto;
	grid-row: auto;
	margin-left: 0;
	margin-right: 0;
	text-align: right;
}
.process-step__copy {
	max-width: none;
	padding-top: 0;
}
.process-step__number {
	margin-bottom: 0.5rem;
	font-size: 7rem;
}
.process-step__title {
	font-size: 2.6rem;
}
.process-step__text {
	margin-top: 1rem;
	font-size: 1.6rem;
	line-height: 1.85;
}
.process-step__card {
	width: auto;
	padding: 0;
	border-radius: 0;
	margin: 0 auto;
}
.process-step__visual,
.process-step.is-right .process-step__visual,
.process-step.-pink .process-step__visual,
.process-step.-green .process-step__visual,
.process-step.-blue .process-step__visual,
.process-step.-gold .process-step__visual,
.process-step.-violet .process-step__visual {
	display: flex;
	justify-content: center;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
	margin-top: 0.6rem;
}
.process-step__card::after {
	inset: 1.1rem;
	border-radius: 2rem;
}
.process-step__image {
	width: min(68vw, 24rem);
}
.process-step__copy,
.process-step__visual {
	min-width: 0;
}
.process-step.-pink .process-step__card,
.process-step.-pink .process-step__image,
.process-step.-gold .process-step__card,
.process-step.-gold .process-step__image,
.process-step.-green .process-step__card,
.process-step.-green .process-step__image,
.process-step.-violet .process-step__card,
.process-step.-violet .process-step__image,
.process-step.-blue .process-step__card,
.process-step.-blue .process-step__image {
	width: min(68vw, 24rem);
	max-width: 100%;
}
.process-step__badge {
	top: 1.2rem;
	right: 1.2rem;
	min-width: 4.5rem;
	height: 4.5rem;
	font-size: 1.2rem;
}
.c-fixed_menu {
	display: none !important;
}
      .wc-topbar {
        position: fixed;
        top: 1rem;
        left: 0.8rem;
        right: 0.8rem;
        width: auto;
        margin: 0;
        z-index: 9999;
      }
.wc-topbar__inner {
	padding: 1rem 1.4rem;
	border-radius: 2.4rem;
}
.wc-topbar__nav {
	display: none;
}
.wc-topbar__brand .c-text_logo {
	font-size: 2.4rem;
}
.wc-topbar__cta {
	padding: 0.9rem 1.4rem;
	font-size: 1.2rem;
}
      .wc-hero {
        padding: 0 0 4rem;
        overflow: visible;
      }
#page {
	overflow-x: clip;
}
.wc-hero::before {
	top: -19rem;
	left: -18rem;
	width: 48rem;
}
.wc-hero::after {
	right: -25rem;
	bottom: -14rem;
	width: clamp(54rem, 122vw, 90rem);
}
.wc-hero__inner {
	width: 100%;
}
.wc-hero__corner-art {
	right: 0;
	bottom: 0;
	width: 48rem;
	max-width: none;
	transform: translate(42%, 26%);
	transform-origin: right bottom;
}
.wc-hero__run2 {
	right: -1rem;
	top: calc(min(91vw, 40rem) * 1.0 - 8rem);
	width: min(48vw, 22rem);
}
.wc-hero__run3 {
	right: 5rem;
	top: calc(min(91vw, 40rem) * 1.0 - 10.5rem);
	width: min(44vw, 20rem);
}
.wc-hero__panel {
	min-height: auto;
	border-radius: 3.2rem;
	margin-top: -4rem;
}
.wc-hero__run {
	left: 0.6rem;
	top: 7.8rem;
	width: 7rem;
}
.wc-hero__sit {
	right: 0.2rem;
	bottom: -5.2rem;
	width: 10rem;
}
.wc-hero__video-wrap {
	width: min(91vw, 40rem);
	margin: 0.4rem auto 0;
	padding-bottom: 7.2rem;
}
.wc-hero__video-frame {
	border-radius: 3rem;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.4), 0 0 2.2rem rgba(36, 51, 66, 0.14);
}
.wc-hero__video-blob {
	width: 8rem;
	height: 6.4rem;
}
.wc-hero__video {
	border-radius: 3rem;
	box-shadow: none;
	aspect-ratio: 1 / 1;
}
.wc-hero__copy {
	margin-top: 1rem;
	padding: 0 0.2rem 0.8rem;
}
.wc-hero__copy-main {
	font-size: clamp(3.4rem, 10.5vw, 6.2rem);
	line-height: 0.92;
	text-align: center;
}
.wc-hero__copy-sub {
	margin-left: 0.6rem;
	font-size: 1.5rem;
	letter-spacing: 0.12em;
	line-height: 1.6;
}
.wc-hero__cta {
	margin: -7rem 0 0;
	display: flex;
	justify-content: center;
	position: relative;
}
.wc-hero__cta::after {
	display: none;
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: clamp(48rem, 106vw, 76rem);
	aspect-ratio: 1 / 1;
	background: url("../../img/new_blue_svg_s04.svg") no-repeat center / contain;
	transform: translate(50%, 28%);
	z-index: -1;
	pointer-events: none;
}
.wc-hero__cta .wc-line_cta {
	display: none;
}
.wc-line_cta__terms {
	display: none;
}
.wc-hero__cta-sp {
	display: block !important;
	width: min(96vw, 42rem);
	position: relative;
	z-index: 1;
}
.wc-line_cta {
	width: min(92vw, 38rem);
	justify-content: center;
	gap: 1.4rem;
	padding: 1.6rem 2rem;
	border-radius: 1.8rem;
	background: #06c755;
	box-shadow: 0 0.8rem 2.2rem rgba(6, 199, 85, 0.32);
}
.wc-line_cta__qr {
	display: none;
}
.wc-line_cta__icon {
	width: 3.6rem;
	height: 3.6rem;
	padding: 0;
	border-radius: 0;
	background: transparent;
}
.wc-line_cta__text {
	gap: 0.2rem;
	text-align: left;
}
.wc-line_cta__lead {
	display: none;
}
.wc-line_cta__main {
	color: #fff;
	font-size: 2rem;
}
.wc-line_cta__sub {
	color: rgba(255, 255, 255, 0.92);
	font-size: 1.2rem;
}
.wc-hero__scroll {
	display: none;
}
.p-index_concept__row {
	flex-direction: column;
}
.p-index_concept__morphing {
	top: 24vw;
}
.p-index_concept__morphing.-watercolor {
	right: -6vw;
	z-index: 0;
	background-position: center top;
}
.p-index_concept__row .item.textarea {
	display: contents;
}
.p-index_concept__row .item.textarea .ttl {
	order: 1;
	padding: 0 1.5rem;
}
.p-index_concept__row .item.js-anim_elm {
	order: 2;
}
.p-index_concept__row .item.textarea .text {
	order: 3;
	margin-top: 1.6rem;
	padding: 0 1.5rem;
}
.c-contact_row.-cta {
	padding: 0 1.6rem;
}
.mid-cta {
	padding: 3.2rem 0 2rem;
	background: #e8f4f6;
}
#method::before {
	display: none;
}
.mid-cta__cta {
	margin-top: 0;
}
.p-index_kv__cta {
	position: relative;
	left: auto;
	right: auto;
	top: auto;
	bottom: auto;
	width: 100%;
	margin-top: 2rem;
	margin-bottom: 2.4rem;
	transform: none;
}
.p-index_kv__cta .c-cta_button {
	min-height: 8.8rem;
	padding: 1rem 4rem 1rem 1rem;
	border-radius: 1.8rem;
	align-items: center;
}
.p-index_kv__cta .c-cta_button__line {
	flex-basis: 5.6rem;
	width: 5.6rem;
}
.p-index_kv__cta .c-cta_button__sp_image {
	width: 100%;
	max-width: 22rem;
}
.p-index_kv__cta .c-cta_button__qr {
	display: none;
}
.c-cta_button {
	gap: 1rem;
	min-height: 11.2rem;
	padding: 1.2rem 4.4rem 1.2rem 1.2rem;
	border-width: 0.5rem;
	border-radius: 2rem;
	box-shadow: 0 0.7rem 0 var(--cta-main-dark), 0 1rem 0 rgba(36, 51, 66, 0.12), inset 0 -0.35rem 0 rgba(36, 51, 66, 0.08);
}
.c-contact_row.-cta:not(.p-index_kv__cta) .c-cta_button {
	padding: 1.2rem 4.4rem 1.2rem 1.2rem;
	align-items: center;
}
.c-cta_button__line {
	flex-basis: 6.8rem;
	width: 6.8rem;
	height: auto;
}
.c-cta_button__line_img {
	filter: drop-shadow(0.4rem 0.5rem 0 rgba(5, 111, 49, 0.24));
}
.c-cta_button__copy {
	gap: 0.2rem;
	min-width: 0;
	overflow: hidden;
}
.c-cta_button__pc_image {
	display: none;
}
.c-cta_button__sp_image {
	display: block;
	width: min(31rem, 100%);
}
.c-cta_button__copy_top, .c-cta_button__copy_main {
	display: none;
}
.c-cta_button__pc_text {
	display: none;
}
.c-cta_button__sp_text {
	display: inline;
}
.c-cta_button__copy_top, .c-cta_button__copy_main {
	text-shadow: 1px 1px 1px #08723b, 1px 2px 1px #08723b, 1px 3px 1px #08723b, 1px 4px 1px #08723b, 1px 5px 1px #08723b, 1px 9px 5px rgba(16, 16, 16, 0.32), 1px 13px 12px rgba(16, 16, 16, 0.2);
}
.c-cta_button__copy_top {
	font-size: clamp(2.1rem, 6.2vw, 3.2rem);
	line-height: 0.95;
}
.c-cta_button__copy_main {
	font-size: clamp(3rem, 8.7vw, 4.5rem);
	line-height: 0.98;
}
.c-cta_button__arrow {
	position: absolute;
	top: 0.8rem;
	right: 1.4rem;
	bottom: 0.8rem;
	width: 2.2rem;
	height: auto;
	border-top: none;
	border-bottom: none;
	border-left: none;
	border-radius: 0;
	background: transparent;
	filter: none;
	transform: translateZ(3rem);
}
.c-cta_button__arrow::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	border-top: 0.8rem solid transparent;
	border-bottom: 0.8rem solid transparent;
	border-left: 1rem solid #fff;
	transform: translate(-35%, -50%);
}
.c-cta_button__qr {
	display: none;
}
.p-index_kv__pickup .content a .post_ttl {
	font-size: 4.8rem;
	line-height: 1.05;
}
.c-cta_terms {
	margin-top: 1.3rem;
	font-size: 1.4rem;
	text-align: center;
}
.c-pagetop {
	display: none !important;
	right: 1.6rem !important;
	bottom: 1.6rem !important;
	width: 11.2rem !important;
	min-width: 11.2rem !important;
	z-index: 200 !important;
}
.c-pagetop a {
	min-width: 11.2rem;
	min-height: 11.2rem;
}
.p-index_concept__row .item .ttl .en, .p-index_about__common .textarea .ttl .en, .p-index_about__message .textarea .en, .p-index_news .c-news_list li a time, .c-cta_terms {
	font-size: 1.6rem;
}
.p-index_concept__row .item .text, .p-index_about__common .textarea > p, .p-index_service__row .item .textarea p, .p-index_news .c-news_list li a p {
	font-size: 1.75rem;
	line-height: 1.9;
}
.p-index_concept__row .item .comment_fukidashi {
	font-size: 1.55rem;
	line-height: 1.8;
}
.c-ttl01 .sub {
	font-size: 1.8rem;
}
}
.p-index_works.-selection .p-index_works__inner {
	padding-top: 0;
}
.tool-selection {
	position: relative;
	padding: 5.6rem;
	border-radius: 3.2rem;
	background: #fff;
	box-shadow: 0 2.4rem 5rem rgba(108, 185, 182, 0.12);
	overflow: visible;
}
.tool-selection::before {
	display: none;
}
.tool-selection__head {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	gap: 2rem;
	margin-bottom: 3.2rem;
}
.tool-selection__eyebrow {
	display: inline-block;
	margin-bottom: 1.2rem;
	padding: 0.7rem 1.4rem;
	border-radius: 999px;
	background: rgba(100, 203, 221, 0.16);
	color: #4f8f8c;
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}
.tool-selection__ttl {
	margin: 0;
	font-size: clamp(2.8rem, 3vw, 4.2rem);
	line-height: 1.35;
}
.tool-selection__lead {
	max-width: 70rem;
	margin: 1.6rem 0 0;
	font-size: 1.7rem;
	line-height: 2;
	color: #475569;
}
.tool-selection__chart {
--selection-threshold-offset: 15%;
--selection-label-space: 3.2rem;
	position: relative;
	display: grid;
	grid-template-columns: 4.2rem minmax(0, 1fr);
	gap: 0 1.6rem;
	align-items: stretch;
	margin-top: 5.2rem;
}
.tool-selection__deco {
	position: absolute;
	z-index: 4;
	pointer-events: none;
	user-select: none;
	filter: drop-shadow(0 1rem 1.8rem rgba(108, 185, 182, 0.22));
}
.tool-selection__deco img {
	display: block;
	width: 100%;
	height: auto;
	transform-origin: 50% 100%;
	animation: toolDecoSway 3.6s ease-in-out infinite;
}
.tool-selection__deco.-graph img {
	animation-duration: 4.4s;
	animation-delay: -1.2s;
}
@keyframes toolDecoSway {
	0%, 100% { transform: rotate(-5deg); }
	50%      { transform: rotate(5deg); }
}
.tool-selection__deco.-loupe {
	top: -5.2rem;
	right: -4.4rem;
	width: clamp(9rem, 11vw, 14rem);
	transform: rotate(8deg);
}
.tool-selection__deco.-graph {
	left: -8rem;
	bottom: -0.5rem;
	width: clamp(11rem, 14vw, 17rem);
	transform: rotate(-6deg);
}
.tool-selection__scale {
	position: relative;
	height: 34rem;
}
.tool-selection__scale span {
	position: absolute;
	left: 0;
	transform: translateY(-50%);
	font-size: 1.2rem;
	color: #94a3b8;
}
.tool-selection__scale span:nth-child(1) {
	top: 0;
	transform: translateY(-10%);
}
.tool-selection__scale span:nth-child(2) {
	top: var(--selection-threshold-offset);
}
.tool-selection__scale span:nth-child(3) {
	top: 50%;
}
.tool-selection__scale span:nth-child(4) {
	top: 100%;
	transform: translateY(-90%);
}
.tool-selection__plot {
	position: relative;
	height: 34rem;
	padding-top: 1.2rem;
	padding-right: var(--selection-label-space);
	border-bottom: 2px solid #d4edf1;
	background:
		linear-gradient(to right, rgba(148, 163, 184, 0.28) 0 100%) 0 0 / 100% 1px no-repeat,
		linear-gradient(to right, rgba(148, 163, 184, 0.2) 0 100%) 0 50% / 100% 1px no-repeat;
}
.tool-selection__threshold {
	position: absolute;
	left: 0;
	right: 0;
	top: var(--selection-threshold-offset);
	pointer-events: none;
	border-top: 2px dashed #7288E0;
}
.tool-selection__threshold span {
	position: absolute;
	top: 0.4rem;
	right: 0;
	writing-mode: vertical-rl;
	white-space: nowrap;
	font-size: 1.2rem;
	font-weight: 700;
	color: #7288E0;
	background: rgba(247, 248, 255, 0.96);
	padding: 0.6rem 0.2rem;
	line-height: 1;
}
.tool-selection__example {
	position: absolute;
	left: 0;
	bottom: -3.6rem;
	font-size: 1.2rem;
	font-weight: 700;
	color: #94a3b8;
	white-space: nowrap;
}
.tool-selection__bars {
	position: absolute;
	inset: 0 var(--selection-label-space) 0 0;
	display: flex;
	align-items: flex-end;
	gap: 0.8rem;
}
.tool-selection__col {
	flex: 1;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	height: 100%;
}
.tool-selection__bar {
	position: relative;
	width: min(100%, 4.8rem);
	height: 0;
	border-radius: 1.4rem 1.4rem 0.4rem 0.4rem;
	background: linear-gradient(180deg, #8ed4e6 0%, #64cbdd 100%);
	box-shadow: 0 0.6rem 1.4rem rgba(100, 203, 221, 0.28), inset 0 0.2rem 0 rgba(255, 255, 255, 0.45);
	transition: height 0.55s cubic-bezier(.22, 1, .36, 1);
}
.tool-selection__bar.-vote {
	background: linear-gradient(180deg, #ff8ca0 0%, #ff7796 100%);
	box-shadow: 0 0.8rem 1.8rem rgba(255, 119, 150, 0.36), inset 0 0.2rem 0 rgba(255, 255, 255, 0.5);
}
.tool-selection__value {
	position: absolute;
	top: -2.2rem;
	left: 50%;
	transform: translateX(-50%);
	font-size: 1.2rem;
	font-weight: 700;
	color: #4f8f8c;
	opacity: 0;
	transition: opacity 0.25s ease;
}
.tool-selection__tag {
	position: absolute;
	top: -5.6rem;
	left: 50%;
	transform: translateX(-50%) translateY(0.8rem);
	padding: 0.5rem 1rem;
	border-radius: 0.8rem;
	background: linear-gradient(135deg, #ffd761 0%, #ff8ca0 100%);
	box-shadow: 0 0.4rem 1rem rgba(255, 140, 160, 0.34);
	color: #243342;
	font-size: 1.1rem;
	font-weight: 700;
	white-space: nowrap;
	opacity: 0;
	transition: opacity 0.25s ease, transform 0.25s cubic-bezier(.34, 1.56, .64, 1);
}
.tool-selection__tag.is-show {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}
.tool-selection__scan-line {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 4px;
	border-radius: 30px;
	pointer-events: none;
	z-index: 6;
	opacity: 0;
	background: linear-gradient(to bottom,
		transparent 0%,
		rgba(114, 136, 224, 0.7) 25%,
		rgba(114, 136, 224, 1) 50%,
		rgba(114, 136, 224, 0.7) 75%,
		transparent 100%);
	box-shadow: 0 0 14px rgba(114, 136, 224, 0.9), 0 0 30px rgba(114, 136, 224, 0.5);
}
.tool-selection__particle-canvas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 5;
}
.tool-selection__labels {
	display: flex;
	gap: 0.8rem;
	margin: 1rem 3.2rem 0 5.8rem;
}
.tool-selection__labels span {
	flex: 1;
	text-align: center;
	font-size: 1.2rem;
	color: #64748b;
}
.tool-selection__notes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.6rem;
	margin-top: 3.2rem;
}
.tool-selection__note {
	padding: 2rem 2.2rem;
	border-radius: 1.8rem;
	background: #f6fbfc;
}
.tool-selection__note strong {
	display: block;
	margin-bottom: 0.8rem;
	font-size: 1.7rem;
	color: #243342;
}
.tool-selection__note p {
	margin: 0;
	font-size: 1.6rem;
	line-height: 1.8;
	color: #64748b;
}

@media (min-width: 768px) and (max-width: 1023px) {
	.process-step__number {
		font-size: clamp(7rem, 9vw, 12rem);
	}
	#page {
		overflow-x: clip;
		padding-top: 0;
	}
	.wc-hero::before {
		top: -17rem;
		left: -20rem;
		width: clamp(56rem, 64vw, 96rem);
	}
	.wc-hero {
		padding-top: 0;
	}
	.wc-hero__run2 {
		width: clamp(22rem, 32vw, 36rem);
		right: -2rem;
		top: 38rem;
	}
	.wc-hero__run3 {
		width: clamp(20rem, 28vw, 32rem);
		right: 6rem;
		top: 34rem;
	}
	.result-jump.-tl {
		top: 24rem;
	}
	.wc-hero__stage {
		flex-direction: column !important;
		align-items: center !important;
		gap: 0 !important;
		margin-top: 1.5rem !important;
	}
	.wc-hero__copy {
		width: 100%;
		max-width: 100%;
		margin: -11rem auto 1.8rem;
		text-align: center;
	}
	.wc-hero__copy-main,
	.wc-hero__copy-split {
		text-align: center;
		width: 100%;
		font-size: clamp(5.5rem, 8vw, 9rem);
	}
	.process-step + .process-step,
	.process-step:nth-child(2) {
		margin-top: 6rem;
	}
	.process-step,
	.process-step.is-right {
		display: block;
		grid-template-columns: 1fr;
		gap: 0.8rem;
		width: 100%;
		transform: none;
		padding: 0 2rem;
	}
	.process-step.is-right .process-step__copy,
	.process-step.is-right .process-step__visual {
		order: initial;
		grid-column: auto;
		grid-row: auto;
		margin-left: 0;
		margin-right: 0;
		text-align: right;
	}
	.process-step__copy {
		max-width: none;
		padding-top: 0;
	}
	.process-step__visual,
	.process-step.is-right .process-step__visual,
	.process-step.-pink .process-step__visual,
	.process-step.-green .process-step__visual,
	.process-step.-blue .process-step__visual,
	.process-step.-gold .process-step__visual,
	.process-step.-violet .process-step__visual {
		display: flex;
		justify-content: center;
		width: 100%;
		margin-left: 0;
		margin-right: 0;
		margin-top: 1rem;
	}
	.process-step__copy,
	.process-step__visual {
		min-width: 0;
	}
	.process-step.-pink .process-step__card,
	.process-step.-pink .process-step__image,
	.process-step.-gold .process-step__card,
	.process-step.-gold .process-step__image,
	.process-step.-green .process-step__card,
	.process-step.-green .process-step__image,
	.process-step.-violet .process-step__card,
	.process-step.-violet .process-step__image,
	.process-step.-blue .process-step__card,
	.process-step.-blue .process-step__image {
		width: min(46vw, 30rem);
		max-width: 100%;
	}
	.process-step__card {
		width: auto;
		margin: 0 auto;
	}
	.process-step.-gold::after,
	.process-step.-violet::after,
	.process-step.-green::before,
	.process-step.-blue::before {
		z-index: -1;
	}
	.p-index_works.-selection {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	#method::before {
		display: none;
	}
	.mid-cta {
		background: #e8f4f6;
	}
	#js-counseling_slider .swiper-slide {
		width: 88vw !important;
	}
	#voice .p-index_counseling__slider .item .box {
		width: 100%;
		font-size: 1.6rem;
		padding-right: 3.2rem;
	}
	#voice .p-index_counseling__slider .item .illust {
		width: 7.6rem;
		right: -1rem;
		bottom: -2.2rem;
	}
	.wc-hero__cta .wc-line_cta {
		display: none !important;
	}
	.wc-line_cta__terms {
		display: none !important;
	}
	.wc-hero__cta-sp {
		display: block !important;
		width: min(80vw, 60rem);
	}
	.c-cta_button__qr {
		display: none !important;
	}
	.wc-hero__cta {
		margin: 0;
		display: flex;
		justify-content: center;
	}
	.prediction-banner__title {
		font-size: clamp(3rem, 4.5vw, 5rem);
		white-space: nowrap;
	}
}

@media only screen and (max-width: 767px) {
.wc-hero__copy {
	width: 100%;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.wc-hero__copy-main,
.wc-hero__copy-split {
	text-align: center;
	width: 100%;
}
.l-footer__simple {
	grid-template-columns: 1fr;
	gap: 1rem;
}
.p-index_works.-selection {
	padding: 0 0 4rem;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
.p-index_works__case {
	padding: 8rem 0 3.2rem;
}
.result-board {
	margin-top: 3.4rem;
	padding: 2.2rem 1.4rem 1.6rem;
	border-radius: 2.8rem;
}
.result-board__grid {
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
.result-card {
	padding: 1.8rem 1.6rem 2rem;
	border-radius: 2rem;
}
.result-card__date {
	font-size: 1.3rem;
}
.result-card__race {
	font-size: 2.2rem;
}
.result-card__tag {
	margin-top: 1rem;
	font-size: 1.1rem;
}
.result-card__amount {
	margin-top: 1.5rem;
	font-size: 4rem;
}
.result-card__meta {
	margin-top: 1.2rem;
	font-size: 1.3rem;
	line-height: 1.7;
}
.result-card__hit {
	margin-top: 1.4rem;
	padding: 0.9rem 1.3rem;
	font-size: 1.35rem;
}
.result-board__note {
	margin-top: 1.6rem;
	font-size: 1.2rem;
	text-align: left;
}
.results_area::before {
	left: 0;
	top: 0;
	width: 100%;
	aspect-ratio: 1920 / 460;
}
@media (max-width: 768px) {
.results_area {
	margin-top: 0;
	padding: 8rem 1.2rem 0;
}
}
.result-swiper__viewport {
	padding-bottom: 2.4rem;
}
.result-swiper__track {
}
.result-slide-card {
	border-radius: 1.8rem;
}
.result-slide-card__image {
	padding: 0.85rem;
}
.result-slide-card__image img {
	border-radius: 1.2rem;
	height: auto;
	object-fit: contain;
	transform: translateY(-6%);
}
.result-slide-card__tag {
	top: 1.6rem;
	left: 1.6rem;
	padding: 0.6rem 1.1rem;
	font-size: 1rem;
}
.result-slide-card__body {
	padding: 1.2rem 1.7rem 1.8rem;
}
.result-slide-card__title {
	font-size: 1.95rem;
}
.result-slide-card__amount {
	font-size: 2.8rem;
}
.result-slide-card__text {
	font-size: 1.28rem;
}
.result-slide-card__plan {
	font-size: 1.08rem;
	padding: 1.3rem 1.4rem;
}
.result-slide-card__footer {
	flex-direction: column;
	align-items: stretch;
}
.result-slide-card__badge {
	width: 100%;
}
.result-swiper__pagination {
	gap: 0.8rem;
	margin-top: 0;
}
.result-swiper__pagination .swiper-pagination-bullet {
	width: 1rem;
	height: 1rem;
}
.result-swiper__button {
	display: none;
}
.tool-selection {
	padding: 3.2rem 2rem 2.8rem;
	border-radius: 2.4rem;
}
.tool-selection__head {
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: 2.4rem;
}
.tool-selection__lead {
	font-size: 1.5rem;
	line-height: 1.85;
}
.tool-selection__chart {
	--selection-label-space: 2.8rem;
	grid-template-columns: 3.2rem minmax(0, 1fr);
	gap: 0 0.8rem;
}
.tool-selection__deco.-loupe {
	top: -3.2rem;
	right: -2rem;
	width: 7rem;
}
.tool-selection__deco.-graph {
	left: -2rem;
	bottom: -3rem;
	width: 8.4rem;
}
.tool-selection__scale, .tool-selection__plot {
	height: 24rem;
}
.tool-selection__bars, .tool-selection__labels {
	gap: 0.4rem;
}
.tool-selection__bar {
	width: 100%;
	border-radius: 0.8rem 0.8rem 0 0;
}
.tool-selection__value, .tool-selection__labels span, .tool-selection__threshold span, .tool-selection__scale span {
	font-size: 1rem;
}
.tool-selection__tag {
	padding: 0.3rem 0.7rem;
	font-size: 1rem;
}
.tool-selection__labels {
	margin: 1rem 2.8rem 0 4rem;
}
.tool-selection__example {
	font-size: 0.85rem;
}
.tool-selection__notes {
	grid-template-columns: 1fr;
	margin-top: 2.4rem;
}
}
#voice .c-btn01.-green {
	margin-top: 3.6rem;
	padding-bottom: 1.2rem;
	display: flex;
	justify-content: center;
}
#voice .c-btn01.-green a {
	position: relative;
	display: inline-flex;
	width: auto;
	align-items: center;
	justify-content: center;
	gap: 0;
	padding: 1.4rem 4.8rem;
	border-radius: 999px;
	border: 2px solid #6cb9b6;
	background: transparent;
	color: #6cb9b6;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-decoration: none;
	transition: background 0.22s ease, color 0.22s ease, box-shadow 0.22s ease;
}
#voice .c-btn01.-green a:hover {
	background: #6cb9b6;
	color: #fff;
	box-shadow: 0 0.8rem 2rem rgba(108, 185, 182, 0.32);
}
#voice .c-btn01.-green a i {
	position: absolute;
	right: 1.8rem;
	display: inline-flex;
	align-items: center;
}
#voice .c-btn01.-green a i img {
	filter: invert(56%) sepia(30%) saturate(600%) hue-rotate(140deg) brightness(95%);
	transition: filter 0.22s ease;
	width: 1.8rem;
	height: auto;
}
#voice .c-btn01.-green a:hover i img {
	filter: brightness(0) invert(1);
}
/* ===== ヒーロー：動画＋縦型LINEカード ===== */
.wc-hero__stage {
	display: flex;
	align-items: stretch;
	justify-content: center;
	gap: clamp(2rem, 3vw, 5rem);
	width: fit-content;
	max-width: 100%;
	margin: 4.8rem auto 0;
	flex-wrap: wrap;
}
.wc-line_cta {
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 1rem;
	padding: 2.6rem 2.4rem;
	border-radius: 3rem;
	background: linear-gradient(180deg, #28cf63 0%, #06b14b 100%);
	box-shadow: 0 1.6rem 3.4rem rgba(6, 150, 70, 0.32);
}
.wc-line_cta__icon {
	width: clamp(5rem, 4.5vw, 6.6rem);
	height: auto;
	margin-bottom: 0.2rem;
}
.wc-line_cta__text {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.8rem;
	width: 100%;
}
.wc-line_cta__lead {
	color: #fff;
	font-size: clamp(1.5rem, 1.25vw, 1.9rem);
	font-weight: 800;
	letter-spacing: 0.02em;
}
.wc-line_cta__main {
	color: #fff;
	font-size: clamp(3rem, 2.7vw, 4rem);
	font-weight: 900;
	line-height: 1.12;
	letter-spacing: 0.01em;
}
.wc-line_cta__qr {
	width: clamp(13rem, 12vw, 16.5rem);
	height: clamp(13rem, 12vw, 16.5rem);
	padding: 0.8rem;
	border: none;
	border-radius: 1.4rem;
	background: #fff;
	box-shadow: 0 0.6rem 1.4rem rgba(0, 0, 0, 0.14);
	margin: 0.4rem 0 0;
}
.wc-line_cta__sub {
	position: relative;
	width: 100%;
	margin-top: 1.4rem;
	padding-top: 1.6rem;
	border-top: 2px dotted rgba(255, 255, 255, 0.7);
	color: #fff;
	font-size: clamp(1.3rem, 1.1vw, 1.6rem);
	font-weight: 700;
}
.wc-line_cta__sub::before {
	content: "✓";
	position: absolute;
	top: -1.3rem;
	left: 50%;
	transform: translateX(-50%);
	width: 2.6rem;
	height: 2.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #fff;
	color: #06b14b;
	font-size: 1.5rem;
	font-weight: 900;
	line-height: 1;
}
@media (min-width: 1024px) {
	.wc-hero__video-wrap {
		width: min(58vw, 84rem);
		margin: 0;
		padding-bottom: 0;
	}
	.wc-hero__video-frame {
		aspect-ratio: 16 / 10.2;
		height: calc(min(58vw, 84rem) * 0.6375);
	}
	.wc-hero__video {
		height: 100%;
	}
	.wc-hero__cta {
		margin: 0;
		flex: 0 0 auto;
		display: flex;
		flex-direction: column;
		height: calc(min(58vw, 84rem) * 0.6375);
	}
	.wc-hero__cta-sp {
		display: none !important;
	}
	.wc-hero::before {
		width: clamp(52rem, 68vw, 120rem);
	}
	.wc-hero__cta {
		position: relative;
	}
	.wc-hero::after {
		display: none;
	}
	.wc-hero__cta::after {
		display: block;
		content: "";
		position: absolute;
		right: 0;
		bottom: 0;
		width: clamp(64rem, 62vw, 96rem);
		aspect-ratio: 1 / 1;
		background: url("../../img/new_blue_svg_s04.svg") no-repeat center / contain;
		transform: translate(62%, 56%);
		z-index: 0;
		pointer-events: none;
	}
	.wc-line_cta {
		position: relative;
		z-index: 1;
		display: flex !important;
		width: clamp(26rem, 21vw, 31rem);
		flex: 1 1 auto;
		height: 100%;
		min-height: 0;
		justify-content: center;
	}
	.wc-line_cta__terms {
		display: block;
		position: absolute;
		top: 100%;
		left: 50%;
		transform: translateX(-50%);
		margin-top: 1rem;
		white-space: nowrap;
		font-size: clamp(1.15rem, 1vw, 1.4rem);
		z-index: 3;
	}
	.wc-hero__video-wrap .wc-hero__run2 {
		right: -4rem;
		top: calc(min(58vw, 84rem) * 0.6375 - 7rem);
		width: clamp(19rem, 16vw, 25rem);
	}
	.wc-hero__video-wrap .wc-hero__run3 {
		right: 3rem;
		top: calc(min(58vw, 84rem) * 0.6375 - 10rem);
		width: clamp(17rem, 14vw, 22rem);
	}
	.wc-hero__copy {
		position: relative;
		z-index: 4;
		order: 10;
		flex: 0 0 100%;
		margin-top: -3.6rem;
		margin-left: 20rem;
	}
	.wc-hero__copy-main {
		font-size: clamp(3.3rem, 3.4vw, 5.2rem);
		font-weight: 600;
	}
	.wc-hero__stage {
		width: 100%;
	}
	.prediction-banner {
		margin-top: -1rem;
	}
}
/* 左上の紫ブロブを動画カードより背面へ */
.wc-hero__stage { position: relative; z-index: 2; }
.wc-hero__video-frame { position: relative; z-index: 2; }
/* 全開予想の帯をブロブより前面に */
.prediction-banner { position: relative; z-index: 3; }
/* SCROLLインジケーターは非表示 */
.wc-hero__scroll { display: none !important; }
/* スマホ：ヒーロー上の余白を詰める */
@media (max-width: 767px) {
	.wc-hero { padding-bottom: 0 !important; }
	.wc-hero__stage { margin-top: 0 !important; }
	.wc-hero__panel { margin-top: -5.5rem !important; position: relative; }
	/* 「まいにち全開」を動画の左下に重ねる */
	.wc-hero__copy {
		position: absolute;
		top: calc(min(91vw, 40rem) * 0.96);
		left: calc((100% - min(91vw, 40rem)) / 2);
		right: auto;
		margin: 0;
		padding: 0;
		text-align: left;
		z-index: 6;
		max-width: 82%;
	}
	.wc-hero__copy-main {
		text-align: left;
		font-size: clamp(2.6rem, 8.4vw, 4.2rem);
		font-weight: 600;
		white-space: nowrap;
	}
	.wc-hero__copy-split {
		text-align: left;
		width: auto;
	}
}

/* 会員限定コンテンツ ポップアップ */
.p-index_news__btn a,
.c-news_list li a {
	cursor: pointer;
}
.c-member_modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(40, 30, 50, .45);
	opacity: 0;
	visibility: hidden;
	transition: opacity .25s ease, visibility .25s ease;
}
.c-member_modal.is-open {
	opacity: 1;
	visibility: visible;
}
.c-member_modal__panel {
	position: relative;
	width: 100%;
	max-width: 420px;
	background: #fff;
	border-radius: 18px;
	padding: 44px 28px 32px;
	text-align: center;
	box-shadow: 0 20px 50px rgba(80, 60, 110, .25);
	transform: translateY(12px) scale(.97);
	transition: transform .25s ease;
}
.c-member_modal.is-open .c-member_modal__panel {
	transform: translateY(0) scale(1);
}
.c-member_modal__icon {
	width: 56px;
	height: 56px;
	margin: 0 auto 16px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f0eefb;
	color: #889dd9;
	font-size: 26px;
}
.c-member_modal__title {
	font-size: 1.18rem;
	font-weight: 700;
	color: #444;
	margin: 0 0 8px;
	line-height: 1.6;
}
.c-member_modal__text {
	font-size: .92rem;
	color: #777;
	margin: 0 0 24px;
	line-height: 1.7;
}
.c-member_modal__close {
	display: inline-block;
	min-width: 160px;
	padding: 12px 28px;
	border: none;
	border-radius: 999px;
	background: #889dd9;
	color: #fff;
	font-size: .95rem;
	font-weight: 700;
	cursor: pointer;
	transition: background .2s ease;
}
.c-member_modal__close:hover {
	background: #7488ca;
}
.c-member_modal__x {
	position: absolute;
	top: 12px;
	right: 16px;
	width: 32px;
	height: 32px;
	border: none;
	background: transparent;
	color: #b3aec4;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}
