:root{
	--lp-bg:#f7efe1;
	--lp-bg-deep:#153243;
	--lp-bg-panel:#fffaf1;
	--lp-text:#13232f;
	--lp-sub:#596a74;
	--lp-line:rgba(19, 35, 47, 0.12);
	--lp-accent:#ef6a3c;
	--lp-accent-strong:#d84d23;
	--lp-accent-soft:#ffe0cf;
	--lp-gold:#d7a52f;
	--lp-shadow:0 24px 70px rgba(21, 50, 67, 0.16);
	--lp-radius-xl:32px;
	--lp-radius-lg:24px;
	--lp-radius-md:18px;
	--lp-max:1120px;
}

*{
	box-sizing:border-box;
}

html{
	scroll-behavior:smooth;
}

body.aikeiba1000-lp-body{
	margin:0;
	color:var(--lp-text);
	font-family:"Hiragino Sans","Yu Gothic","Meiryo",sans-serif;
	background:
		radial-gradient(circle at top left, rgba(239, 106, 60, 0.18), transparent 24%),
		radial-gradient(circle at 85% 15%, rgba(215, 165, 47, 0.16), transparent 18%),
		linear-gradient(180deg, #fffaf2 0%, #f5ecde 48%, #efe1cb 100%);
	min-height:100vh;
}

body.aikeiba1000-lp-body::before{
	content:"";
	position:fixed;
	inset:0;
	pointer-events:none;
	background-image:
		linear-gradient(rgba(255,255,255,0.16) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.16) 1px, transparent 1px);
	background-size:32px 32px;
	mask-image:linear-gradient(180deg, rgba(0,0,0,0.35), transparent 82%);
}

a{
	color:inherit;
	text-decoration:none;
}

img{
	display:block;
	max-width:100%;
}

.lp-shell{
	position:relative;
	z-index:1;
	padding:calc(20px + env(safe-area-inset-top)) 20px calc(120px + env(safe-area-inset-bottom));
}

.lp-header,
.lp-hero,
.lp-section{
	width:min(100%, var(--lp-max));
	margin:0 auto;
}

.lp-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	margin-bottom:28px;
}

.lp-brand{
	display:inline-flex;
	align-items:center;
	max-width:240px;
}

.lp-header-link{
	padding:12px 16px;
	border:1px solid rgba(255,255,255,0.45);
	border-radius:999px;
	background:rgba(255,255,255,0.58);
	backdrop-filter:blur(12px);
	font-size:13px;
	font-weight:700;
	color:var(--lp-sub);
}

.lp-hero{
	display:grid;
	grid-template-columns:minmax(0, 1.05fr) minmax(320px, 0.95fr);
	gap:42px;
	align-items:center;
	padding:28px 0 32px;
}

.lp-kicker,
.lp-section-kicker,
.lp-feature-eyebrow{
	font-size:12px;
	font-weight:800;
	letter-spacing:0.22em;
	text-transform:uppercase;
	color:var(--lp-accent-strong);
}

.lp-hero h1,
.lp-section h2{
	margin:14px 0 0;
	line-height:1.08;
	letter-spacing:-0.04em;
}

.lp-hero h1{
	font-size:clamp(40px, 7vw, 78px);
}

.lp-lead,
.lp-section-head p,
.lp-split-copy p,
.lp-final-card p{
	margin:20px 0 0;
	font-size:17px;
	line-height:1.95;
	color:var(--lp-sub);
}

.lp-hero-actions{
	display:flex;
	flex-wrap:wrap;
	gap:14px;
	margin-top:28px;
}

.lp-button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:56px;
	padding:0 26px;
	border-radius:999px;
	font-size:15px;
	font-weight:800;
	letter-spacing:0.02em;
	transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.lp-button:hover,
.lp-store-badge:hover{
	transform:translateY(-1px);
}

.lp-store-badge{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius:18px;
	box-shadow:0 18px 34px rgba(21, 50, 67, 0.14);
	transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.lp-store-badge img{
	width:min(220px, 100%);
	height:auto;
}

.lp-button-primary{
	background:linear-gradient(135deg, var(--lp-accent) 0%, var(--lp-accent-strong) 100%);
	color:#fff;
	box-shadow:0 18px 34px rgba(216, 77, 35, 0.28);
}

.lp-button-secondary{
	border:1px solid rgba(19, 35, 47, 0.16);
	background:rgba(255,255,255,0.72);
	color:var(--lp-text);
	backdrop-filter:blur(10px);
}

.lp-note-list{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:12px;
	padding:0;
	margin:28px 0 0;
	list-style:none;
}

.lp-note-list li{
	padding:14px 16px;
	border:1px solid rgba(19, 35, 47, 0.08);
	border-radius:18px;
	background:rgba(255,250,241,0.72);
	box-shadow:0 10px 28px rgba(21, 50, 67, 0.07);
	font-size:13px;
	font-weight:700;
	line-height:1.7;
}

.lp-hero-visual{
	position:relative;
}

.lp-phone-frame{
	position:relative;
	padding:26px;
	border-radius:36px;
	background:
		linear-gradient(145deg, rgba(21,50,67,0.96), rgba(36,76,98,0.88)),
		linear-gradient(180deg, rgba(255,255,255,0.3), rgba(255,255,255,0));
	box-shadow:var(--lp-shadow);
}

.lp-phone-frame::before{
	content:"";
	position:absolute;
	inset:12px;
	border-radius:28px;
	border:1px solid rgba(255,255,255,0.18);
	pointer-events:none;
}

.lp-phone-screen{
	overflow:hidden;
	border-radius:26px;
	background:#fff;
}

.lp-phone-screen-main{
	box-shadow:0 12px 32px rgba(0,0,0,0.12);
}

.lp-floating-card{
	position:absolute;
	left:-18px;
	bottom:18px;
	width:min(270px, calc(100% - 20px));
	padding:18px 18px 16px;
	border:1px solid rgba(255,255,255,0.5);
	border-radius:24px;
	background:rgba(255,248,238,0.9);
	backdrop-filter:blur(12px);
	box-shadow:0 18px 34px rgba(21, 50, 67, 0.22);
}

.lp-floating-label{
	font-size:11px;
	font-weight:800;
	letter-spacing:0.16em;
	color:var(--lp-accent-strong);
}

.lp-floating-main{
	margin-top:8px;
	font-size:22px;
	font-weight:900;
	line-height:1.22;
}

.lp-floating-sub{
	margin-top:8px;
	font-size:13px;
	line-height:1.7;
	color:var(--lp-sub);
}

.lp-section{
	margin-top:38px;
	padding:34px;
	border:1px solid rgba(255,255,255,0.48);
	border-radius:var(--lp-radius-xl);
	background:rgba(255, 251, 244, 0.72);
	backdrop-filter:blur(14px);
	box-shadow:var(--lp-shadow);
}

.lp-section-head{
	max-width:720px;
}

.lp-feature-grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:18px;
	margin-top:28px;
}

.lp-feature-card,
.lp-stat-card,
.lp-step-card,
.lp-screen-card,
.lp-caution-card,
.lp-final-card{
	border:1px solid var(--lp-line);
	border-radius:var(--lp-radius-lg);
	background:rgba(255,255,255,0.8);
}

.lp-feature-card{
	padding:24px;
}

.lp-feature-card h3{
	margin:12px 0 0;
	font-size:24px;
	line-height:1.28;
}

.lp-feature-card p{
	margin:12px 0 0;
	font-size:15px;
	line-height:1.9;
	color:var(--lp-sub);
}

.lp-section-contrast{
	background:
		radial-gradient(circle at top right, rgba(239,106,60,0.12), transparent 30%),
		linear-gradient(180deg, rgba(21,50,67,0.98), rgba(28,66,86,0.96));
	color:#fff;
}

.lp-section-contrast .lp-section-kicker,
.lp-section-contrast .lp-feature-eyebrow{
	color:#ffd48d;
}

.lp-section-contrast .lp-split-copy p,
.lp-section-contrast .lp-stat-label{
	color:rgba(255,255,255,0.76);
}

.lp-split{
	display:grid;
	grid-template-columns:minmax(0, 1fr) minmax(280px, 420px);
	gap:28px;
	align-items:center;
}

.lp-stat-row{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:14px;
	margin-top:24px;
}

.lp-stat-card{
	padding:20px 16px;
	background:rgba(255,255,255,0.1);
	border-color:rgba(255,255,255,0.12);
}

.lp-stat-num{
	font-size:28px;
	font-weight:900;
	line-height:1;
}

.lp-stat-label{
	margin-top:10px;
	font-size:13px;
	font-weight:700;
	line-height:1.6;
}

.lp-screen-grid{
	display:grid;
	gap:16px;
}

.lp-screen-card{
	padding:12px;
	background:rgba(255,255,255,0.12);
	border-color:rgba(255,255,255,0.12);
}

.lp-screen-card img{
	width:100%;
	border-radius:18px;
}

.lp-steps{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:18px;
	margin-top:24px;
}

.lp-step-card{
	padding:24px;
}

.lp-step-no{
	font-size:14px;
	font-weight:900;
	letter-spacing:0.18em;
	color:var(--lp-accent-strong);
}

.lp-step-card p{
	margin:14px 0 0;
	font-size:20px;
	font-weight:800;
	line-height:1.6;
}

.lp-caution-section{
	background:transparent;
	border:none;
	box-shadow:none;
	padding:0;
}

.lp-caution-card{
	padding:30px;
	background:linear-gradient(180deg, rgba(255,245,236,0.92), rgba(255,251,246,0.92));
	box-shadow:var(--lp-shadow);
}

.lp-caution-list{
	margin:20px 0 0;
	padding-left:18px;
	color:var(--lp-sub);
	font-size:15px;
	line-height:1.95;
}

.lp-final-cta{
	padding:0;
	border:none;
	background:transparent;
	box-shadow:none;
}

.lp-final-card{
	padding:34px;
	text-align:center;
	box-shadow:var(--lp-shadow);
}

.lp-hero-actions-center{
	justify-content:center;
}

.lp-fixed-cta{
	position:fixed;
	left:0;
	right:0;
	bottom:0;
	z-index:10;
	padding:12px 16px calc(12px + env(safe-area-inset-bottom));
	background:linear-gradient(180deg, rgba(247,239,225,0), rgba(247,239,225,0.9) 32%, rgba(247,239,225,0.98) 100%);
	pointer-events:none;
}

.lp-button-fixed{
	width:min(100%, 520px);
	margin:0 auto;
	pointer-events:auto;
}

.lp-store-badge-fixed{
	width:min(100%, 520px);
	margin:0 auto;
	pointer-events:auto;
}

.lp-store-badge-fixed img{
	width:min(260px, 100%);
	margin:0 auto;
}

@media (max-width: 960px){
	.lp-hero,
	.lp-split{
		grid-template-columns:1fr;
	}

	.lp-note-list,
	.lp-feature-grid,
	.lp-steps,
	.lp-stat-row{
		grid-template-columns:1fr;
	}

	.lp-hero{
		gap:28px;
	}

	.lp-phone-frame{
		max-width:520px;
		margin:0 auto;
	}

	.lp-floating-card{
		left:14px;
		right:14px;
		width:auto;
	}
}

@media (max-width: 640px){
	.lp-shell{
		padding-left:14px;
		padding-right:14px;
	}

	.lp-header{
		flex-direction:column;
		align-items:flex-start;
		margin-bottom:20px;
	}

	.lp-brand{
		max-width:188px;
	}

	.lp-section{
		margin-top:22px;
		padding:22px 18px;
		border-radius:24px;
	}

	.lp-hero{
		padding-top:10px;
	}

	.lp-lead,
	.lp-section-head p,
	.lp-split-copy p,
	.lp-final-card p{
		font-size:15px;
		line-height:1.85;
	}

	.lp-feature-card h3{
		font-size:21px;
	}

	.lp-step-card p{
		font-size:18px;
	}

	.lp-phone-frame{
		padding:18px;
		border-radius:28px;
	}

	.lp-phone-screen{
		border-radius:18px;
	}

	.lp-caution-card,
	.lp-final-card{
		padding:22px 18px;
	}

	.lp-fixed-cta{
		padding-left:14px;
		padding-right:14px;
	}
}
