* {
	box-sizing:border-box;
}
html,body {
	margin: 0;
	padding: 0;
	scroll-behavior: smooth;
	-webkit-font-smoothing: antialiased;
}
body {
	background:
		radial-gradient(1000px 700px at 6% -5%, rgba(46,104,255,.08), transparent 55%),
		radial-gradient(900px 700px at 96% 15%, rgba(46,104,255,.06), transparent 60%),
		var(--bg);
	font-family: Inter,"Noto Sans JP",system-ui,-apple-system,"Segoe UI",Roboto,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
	font-size:var(--fz-16);
	line-height:1.8;
	color:var(--ink);
}
.page-backup {
		--bg: #FAFCFF;
		--surface: #ffffff;
		--ink: #193150;
		--muted: #5C6C84;
		--line: #E5EDFF;
		--shadow: 0 10px 30px rgba(21, 55, 110, .08);
		--brand: #2563eb;
		--brand-700: #1e52d8;
		--container: 1120px;
		--radius: 18px;
		--fz-14: clamp(13px, 1vw, 14px);
		--fz-16: clamp(14px, 1.1vw, 16px);
		--fz-18: clamp(16px, 1.3vw, 18px);
		--fz-22: clamp(18px, 2.2vw, 22px);
		--fz-24: clamp(20px, 2.8vw, 24px);
		--fz-28: clamp(24px, 3.6vw, 28px);
		--fz-32: clamp(32px, 4.4vw, 36px);
	img {
		max-width: 100%;
		height: auto;
		display: block;
	}
	a {
		color: var(--brand);
		text-decoration: none;
	}
	a:hover {
		text-decoration: underline;
	}
	.u-color-primary {
		color: var(--brand);
	}
	.u-text-border {
		background: linear-gradient(transparent 70%, #ffedd5 70%);
	}
	.u-hide-sm {
		display: none;
	}
	.u-hide-smm {
		display: block;
	}
	.u-hide-lg {
		display: none;
	}
	@media(min-width:768px) {
		.u-hide-sm {
			display: inline;
		}
		.u-hide-smm {
			display: none;
		}
		.u-hide-lg {
			display: block;
		}
	}

	.l-container {
		width: min(100% - 32px, var(--container));
		margin-inline: auto;
	}
	.l-section {
		padding-block: clamp(48px,7vw,96px);
	}
	.l-section.c-contact {
		padding-block: clamp(48px,7vw,96px) 20px;
	}
	.l-section--alt {
		background: linear-gradient(180deg,#fff,#fff0 120%);
	}
	.l-section--solutions {
		position: relative;
		padding-bottom: 0;
	}
	@media(min-width:768px) {
		.l-section--solutions::before {
				content: "";
			position: absolute;
			top: 0;
			left: end;
			width: 190px;
			height: 150px;
			background: url('../img/img-solutions-01.png') no-repeat left top;
			background-size: 100% auto;
			transform: translateX(-560px);
			pointer-events: none;
		}
	}
	.l-section--band {
		padding-top: 0;
	}
	.l-section--value {
		background-color: #fff;
	}

	.l-header {
		position: sticky;
		top: 0;
		z-index: 40;
		background: rgba(255,255,255,.85);
		backdrop-filter: blur(10px);
		border-bottom: 1px solid var(--line);
	}
	.l-header__inner {
		display: grid;
		grid-template-columns: 1fr auto;
		gap: 16px;
		align-items: center;
		padding-block: 12px;
		min-height: 64px;
	}
	.c-nav__list {
		list-style: none;
		display: grid;
		grid-auto-flow: column;
		gap: 12px;
		margin: 0;
		padding: 0;
		align-items: center;
	}
	.c-nav__list a {
		padding: 8px 16px;
		border-radius: 8px;
	}
	.c-nav__list a:hover {
		text-decoration: none;
		opacity: 0.7;
	}

	.l-footer {
		padding-block: 32px;
		background: #F2F6FF;
		border-top: 1px solid var(--line);
	}
	.l-footer__inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
	}
	.l-footer__copy {
		color: var(--muted);
	}

	/* Hero */
	.c-hero {
		padding-block: clamp(36px,7vw,110px);
	}
	.c-hero__inner {
		display: grid;
		gap: clamp(16px,3vw,28px);
		grid-template-columns: 1fr;
		align-items: center;
	}
	@media(min-width:768px) {
		.c-hero__inner {
			grid-template-columns: 1.05fr .95fr;
		}
	}
	.c-eyebrow {
		display: inline-block;
		margin: 0;
		padding: 0 20px;
		border-radius: 999px;
		background: #ffedd5;
		font-size: var(--fz-16);
		font-weight: 700;
		letter-spacing: .08em;
		color: #a04b24;
	}
	.c-hero__title {
		margin-block: 16px 0;
		font-size: var(--fz-32);
		line-height: 1.35;
		margin: 12px 0 8px;
	}
	.c-hero__img img {
		margin-inline: auto 0;
	}
	@media(min-width:768px) {
		.c-hero__img img {
			transform: translateY(-32px);
		}
	}
	.c-hero__lead {
		color: var(--muted);
		font-size: var(--fz-18);
	}
	.c-hero__actions {
		display: flex;
		gap: 12px;
		flex-wrap: wrap;
		margin-top: 16px;
	}
	@media(min-width:768px) {
		.c-hero__actions {
			margin-top: -16px;
		}
	}
	.c-hero__panel {
		position: relative;
		background: var(--surface);
		border: 1px solid var(--line);
		border-radius: 20px;
		padding: 18px;
		box-shadow: var(--shadow);
	}
	.c-hero__panel::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		inset: 0;
		background-color: #e1ecfb;
		border-radius: 20px;
		transform: rotate(5deg);
		z-index: -1;
	}
	.c-info {
		list-style: none;
		padding: 0;
		margin: 0;
		display: grid;
		grid-template-columns: 1fr;
		gap: 12px;
	}
	@media(min-width:768px) {
		.c-info {
			grid-template-columns:1fr 1fr;
			gap:14px;
		}
	}
	.c-info li {
		background: #F7FAFF;
		border: 1px solid var(--line);
		padding: 16px;
		border-radius: 14px;
	}
	.c-info h3 {
		margin: 0 0 6px;
		font-size: var(--fz-16);
	}
	.c-info p {
		margin: 0;color: var(--muted);
		font-size: var(--fz-14);
	}
	.c-info__item--highlight {
		background: linear-gradient(180deg,#2E68FF,#1e52d8) !important;
		color: var(--surface);
	}
	.c-info__item-desc {
		margin: 0;
		padding: 0;
		border-radius: 0;
	}
	.c-info__item-desc-title {
		margin: 0 0 6px;
		font-size: var(--fz-18);
		font-weight: bold;
	}
	.c-info__item-desc-text {
		margin: 0;
		font-size: var(--fz-14);
		line-height: 1.6;
	}
	.c-info__item-desc-text ul.c-info__item-list {
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.c-info__item-desc-text ul.c-info__item-list li {
		position: relative;
		margin: 0 0 6px;
		padding: 0;
		background: none;
		border: none;
		margin-left: 1.25em;
		text-indent: -1.15em;
	}
	.c-info__item-desc-text ul.c-info__item-list li::before {
		content: '\2605';
		padding-right: 0.25em;
		font-size: 0.9em;
	}

	/* Problems */
	.c-problems {
		background: linear-gradient(45deg, var(--surface),#eff6ff);
		border: 1px solid var(--line);
		border-radius: 20px;
		padding: 18px;
		box-shadow: var(--shadow);
	}
	.c-problems ul {
		display: grid;
		grid-template-columns: repeat(1,1fr);
		row-gap: 24px;
		column-gap: 24px;
		list-style: none;
		padding: 0;
		margin: 0;
	}
	@media(min-width:768px) {
		.c-problems ul {
			grid-template-columns: repeat(2,1fr);
		}
	}
	.c-problems ul li {
		display: grid;
		grid-template-columns: 20px 1fr;
		align-items: center;
		column-gap: 12px;
		padding: 8px 16px;
		background-color: #fff;
		border-radius: 8px;
		font-size: var(--fz-16);
		line-height: 1.5;
	}

	/* Band */
	.c-band {
		margin-block: 24px;
		background: #1B53E3;
		color: #fff;
		border-radius: 20px;
		padding: clamp(18px,4vw,28px);
		display: grid;
		grid-template-columns: 1fr;
		gap: 16px;
		box-shadow: 0 10px 30px rgba(27,83,227,.25);
	}
	@media(min-width:768px) {
		.c-band {
			grid-template-columns: 1fr auto;
		}
	}
	.c-band__title {
		margin: 0 0 8px;
		font-size: var(--fz-24);
		display: flex;
		align-items: center;
		gap: 10px;
	}
	.c-band__title span {
		margin-bottom: 0;
	}
	.c-band__list {
		list-style: none;
	}
	.c-band__list li {
		display: grid;
		grid-template-columns: 20px 1fr;
		column-gap: 12px;
		font-size: var(--fz-18);
	}
	.c-band__list li:not(:last-child) {
		margin-bottom: 8px;
	}
	.c-band__illust {
		display: grid;
		place-items: end;
	}
	.c-band__illust img {
		mix-blend-mode: screen;
		width: clamp(180px,24vw,280px);
	}

	/* Lead */
	.c-lead {
		text-align: center;
	}
	.c-value__callout {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 40px;
	}
	@media(min-width:768px) {
		.c-value__callout {
			flex-direction: row;
		}
	}
	.c-value__callout-text {
		justify-self: start;
		width: fit-content;
		padding: 30px 40px;
		background: #fff;
		border: 1px solid var(--line);
		border-radius: 16px;
		box-shadow: var(--shadow);
		font-size: var(--fz-22);
		font-weight: bold;
		color: var(--brand-700);
	}
	.c-value__callout-icon {
		justify-self: end;
		max-width: 254px;
	}
	.c-value__callout-icon img {
		width: 100%;
	}
	.c-value__list {
		max-width: 90%;
		margin-top: 40px;
		margin-inline: auto;
		list-style-type: disc;
	}
	@media(min-width:768px) {
		.c-value__list {
			max-width: 80%;
		}
	}
	.c-value__list li {
		list-style-type: inherit;
	}

	/* Grid */
	.c-grid {
		display: grid;
		gap: 16px;
	}
	@media(max-width:768px) {
		.c-grid--examples {
			display: block;
		}
	}
	.c-grid--reasons {
		grid-template-columns: 1fr;
	}
	@media(min-width:768px) {
		.c-grid--examples {
			grid-template-columns: repeat(3,1fr);
		}
		.c-grid--reasons {
			grid-template-columns: repeat(2,1fr);
		}
	}
	.c-card {
		background: var(--surface);
		border: 1px solid var(--line);
		border-radius: var(--radius);
		padding: 18px;
		box-shadow: var(--shadow);
	}
	.c-card__title {
		font-size: 18px;
		margin: 0 0 8px;
	}
	.c-card__text {
		color: var(--muted);
		margin: 0 0 12px;
	}

	/* Flow (timeline) */
	.c-flow {
		list-style: none;
		padding: 0;
		margin: 0;
	}
	.c-flow li {
		position: relative;
		margin: 20px 0;
	}
	.c-flow li::before {
		content: "";
		position: absolute;
		left: 36px;
		top: 0;
		bottom: -22px;
		width: 2px;
		background: #DAE6FF;
	}
	@media(min-width:768px) {
		.c-flow li::before {
			left: 50%;
		}
	}
	.c-flow li:last-child::before {
		/* display: none; */
		height: calc(100%);
	}
	.c-flow__step {
		position: relative;
		display: grid;
		grid-template-columns: 72px 1fr;
		justify-content: center;
		gap: 16px;
	}
	@media(min-width:768px) {
		.c-flow li:nth-child(even) .c-flow__step {
			grid-template:
				'. number detail' auto
				/ calc(50% - 88px) 72px calc(50% - 88px);
		}
		.c-flow li:not(:nth-child(even)) .c-flow__step {
			grid-template:
				'detail number .' auto
				/ calc(50% - 88px) 72px calc(50% - 88px);
				text-align: right;
		}
	}
	.c-flow__step___number {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		row-gap: 8px;
	}
	@media(min-width:768px) {
		.c-flow__step___number {
			grid-area: number;
		}
	}
	.c-flow__num {
		width: 48px;
		height: 48px;
		border-radius: 999px;
		display: grid;
		place-items: center;
		border: 1px solid var(--line);
	}
	.c-flow__num--blue {
		background: linear-gradient(180deg,#2E68FF,#1e52d8);
		color: #fff;
		border-color: transparent;
	}
	.c-flow__num svg {
		width: 26px;
		height: 26px;
		color: #fff;
	}
	.c-flow__tag {
		display: inline-block;
		padding: 3px 8px;
		background: #EEF3FF;
		border: 1px solid #dbe6ff;
		border-radius: 999px;
		font-size: 12px;
		font-weight: 700;
		letter-spacing: .04em;
		color: #2B4FBF;
	}
	.c-flow__card {
		background: var(--surface);
		border: 1px solid var(--line);
		border-radius: 14px;
		box-shadow: var(--shadow);
		padding: 14px 16px;
	}
	@media(min-width:768px) {
		.c-flow__card {
			grid-area: detail;
		}
	}

	/* FAQ */
	.c-faq {
		max-width: 860px;
		margin-inline: auto;
	}
	.c-faq__item {
		background: var(--surface);
		border: 1px solid var(--line);
		border-radius: var(--radius);
		padding: 16px 18px;
		margin: 10px 0;
		box-shadow: var(--shadow);
	}
	.c-faq__item[open],
	.c-faq__item:hover {
		background: #F7FAFF;
	}
	.c-faq__q {
		font-weight: 700;
		cursor: pointer;
	}
	.c-faq__a {
		color: var(--muted);
		margin-top: 8px;
	}
	.c-faq__a p:not(:last-child) {
		margin-bottom: 1em;
	}

	/* Form */
	.c-form {
		max-width: 720px;
		margin-inline: auto;
	}
	.c-form__row {
		margin: 14px 0;
		display: grid;
		gap: 6px;
	}
	.c-form label {
		font-weight: 500;
	}
	.c-form input,
	.c-form textarea {
		width: 100%;
		background: #fff;
		border: 1px solid var(--line);
		color: var(--ink);
		padding: 12px 14px;
		border-radius: 12px;
		font: inherit;
	}
	.c-form input:focus,
	.c-form textarea:focus {
		outline: 2px solid rgba(46,104,255,.25);
		border-color: var(--brand);
	}
	.u-req {
		display: inline-block;
		font-size: 10px;
		font-weight: 700;
		color: #fff;
		background: #FF5D5D;
		padding: 2px 6px;
		border-radius: 999px;
		margin-left: 6px;
	}

	/* Buttons */
	.c-btn {
		--btn-bg: #fff;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		padding: 8px 24px;
		background: var(--btn-bg);
		border-radius: 4px;
		border: 1px solid var(--line);
		box-shadow: var(--shadow);
		font-weight: bold;
		text-decoration: none;
		color: var(--ink);
		cursor: pointer;
		transition: opacity .3s;
	}
	.c-btn:hover {
		opacity: 0.7;
		text-decoration: none;
	}
	.c-btn--primary {
		--btn-bg: linear-gradient(180deg,var(--brand),var(--brand-700));
		border-color: transparent;
		color: #fff;
	}
	.c-btn--ghost {
		background: #fff;
		border-color: var(--line);
	}
	.c-btn--lg {
		padding: 8px 24px;
		font-size: 18px;
	}
	.c-btn--sm {
		padding: 8px 12px;
		font-size: 16px;
	}

	/* Icon helpers */
	.c-ico {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		color: currentColor;
	}
	.c-ico svg {
		width: 1em;
		height: 1em;
	}
	.c-ico--xs {
		font-size: 16px;
	}
	.c-ico--sm {
		font-size: 20px;
	}
	.c-ico--lg {
		font-size: 32px;
		margin-bottom: 8px;
	}
	.c-ico--xl {
		font-size: 48px;
		margin-bottom: 12px;
	}

	.text-blue {
		color: #2563eb;
	}
	.text-blue-soft {
		color: #cfe0ff;
	}
	.mb-8 {
		margin-bottom: 8px;
	}
	.mr-3 {
		margin-right: 12px;
	}
	.c-center-cta {
		text-align: center;
	}

	/* Examples updated */
	.c-sec-title {
		text-align: center;
		margin: 0 0 12px;
		font-size: var(--fz-32);
		line-height: 1.4;
		color: #1e398a;
	}
	.c-sec-lead {
		margin: 0 0 24px;
		font-size: var(--fz-18);
		text-align: center;
		color: var(--muted);
	}
	.c-example {
		position: relative;
		margin-bottom: 40px;
	}
	.c-example:last-child {
		margin-bottom: 0;
	}
	@media(min-width:768px) {
		.c-example {
			margin-bottom: 0;
		}
	}
	.c-example__card {
		height: 100%;
		padding: 16px;
		background: linear-gradient(180deg,#F3F7FF 0%, #fff 28%);
	}
	.c-example__icon {
		text-align: center;
	}
	.c-example__title {
		font-size: 20px;
		line-height: 1.6;
		margin: 0 0 6px;
		color: #13315c;
	}
	.c-example__lead {
		color: #1f4fe0;
		font-weight: 700;
	}
	.c-example__list {
		margin: 12px 0 14px;
		padding: 0;
		list-style: none;
	}
	.c-example__list li {
		position: relative;
		padding-left: 26px;
		margin: 8px 0;
		color: #3c4b67;
	}
	.c-example__list li::before {
		content: "";
		position: absolute;
		left: 0;
		top: .25em;
		width: 16px;
		height: 16px;
		border-radius: 50%;
		background: radial-gradient(circle at 50% 50%, #33C27F 40%, #33C27F 40%) no-repeat;
		-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'%23ffffff\' stroke-width=\'3\' stroke-linecap=\'round\' stroke-linejoin=\'round\'><path d=\'M20 6 9 17l-5-5\'/></svg>') center/14px 14px;
		mask:url('data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'%23ffffff\' stroke-width=\'3\' stroke-linecap=\'round\' stroke-linejoin=\'round\'><path d=\'M20 6 9 17l-5-5\'/></svg>') center/14px 14px;
	}
	.c-example__price {
		background: #EEF3FF;
		border: 1px solid #DDE7FF;
		padding: 12px 14px;
		border-radius: 12px;
		color: #1b3f9b;
		margin: 8px 0 0;
	}
	.c-bubble-cta {
		width: 70%;
		margin-top: 32px;
		margin-inline: auto;
	}
	@media(min-width:768px) {
		.c-bubble-cta {
			position: absolute;
			left: 50%;
			transform: translateX(-50%);
		}
	}
	.c-bubble-cta__inner {
		position: relative;
		display: block;
		background: #214CDA;
		color: #fff;
		font-weight: 700;
		padding: 16px;
		border-radius: 12px;
		box-shadow: var	(--shadow);
		text-align: center;
	}
	.c-bubble-cta__inner::after {
		content: "";
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		top: -24px;
		width: 0;
		height: 0;
		border: 12px solid transparent;
		border-bottom-color: #214CDA;
	}

	/* Inview */
	[data-animate] {
		opacity: 0;
		transform: translateY(12px);
	}
	[data-animate].is-inview {
		opacity: 1;
		transform: none;
		transition: opacity .6s, transform .6s;
	}


	/* ------- Contact 2-column (dark section) ------- */
	.c-contact  {
		color: #fff;
		background: linear-gradient(180deg, #0E3A6F 0%, #08325E 100%);
		border-top: 4px solid #C7D7FF;
		position: relative;
	}
	.c-contact a {
		color: #A9C3FF;
	}
	.c-contact__container {
		display: grid;
		grid-template-columns: 1fr;
		gap: 24px;
		align-items: start;
	}
	@media (min-width: 768px) {
		.c-contact__container {
			grid-template-columns: 1.1fr 1fr;
			gap: 40px;
		}
	}
	.c-contact__title {
		display: flex;
		align-items: center;
		gap: 12px;
	}
	.c-contact__title h3 {
		font-size: 28px;
		margin: 0;
	}
	.c-contact__lead {
		margin: 12px 0 18px;
		color: #E3EEFF;
	}
	.c-contact__list {
		list-style: none;
		padding: 0;
		margin: 0;
		display: grid;
		gap: 12px;
	}
	.c-contact__list li {
		display: flex;
		gap: 12px;
		align-items: center;
		color: #E3EEFF;
	}
	.c-contact__list .c-ico svg {
		width: 22px;
		height: 22px;
		color: #CFE0FF;
	}

	.c-contact__heading {
		margin: 0 0 12px;
		font-size: 22px;
	}
	.c-form--dark input,
	.c-form--dark textarea {
		background: #184B8C;
		border: 1px solid rgba(255,255,255,.15);
		color: #E9F2FF;
	}
	.c-form--dark input::placeholder,
	.c-form--dark textarea::placeholder {
		color: #A5C1FF;
	}
	.c-form--dark label {
		color: #D7E6FF;
	}
	.c-btn--block {
		width: 100%;
	}
	.c-contact__footer {
		border-top: 1px solid rgba(255,255,255,.2);
		margin-top: 32px;
		padding-top: 18px;
		color: #BFD3FF;
		text-align: center;
	}

}
