:root {
	--lws-navy: #222222;
	--lws-blue: #acc65b;
	--lws-blue-dark: #8fa742;
	--lws-cyan: #bed87d;
	--lws-green: #acc65b;
	--lws-ink: #333333;
	--lws-muted: #777777;
	--lws-soft: #f8f9f9;
	--lws-line: #e9e9e9;
	--lws-white: #ffffff;
}

.lws-page,
.lws-page * { box-sizing: border-box; }
.lws-page { color: var(--lws-ink); font-family: "Open Sans", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; line-height: 1.8; overflow: hidden; }
.lws-page h1,
.lws-page h2,
.lws-page h3,
.lws-page p { margin-top: 0; }
.lws-page h1,
.lws-page h2,
.lws-page h3 { color: inherit; font-family: Raleway, "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif; font-weight: 700; letter-spacing: .02em; line-height: 1.4; }
.lws-page a { text-decoration: none; }
.lws-container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.lws-section { padding: 104px 0; scroll-margin-top: 90px; }
.lws-section--soft { background: var(--lws-soft); }
.lws-kicker { margin-bottom: 10px; color: var(--lws-blue); font-size: 13px; font-weight: 800; letter-spacing: .16em; }
.lws-kicker--light { color: #bed87d; }
.lws-page h2 { margin-bottom: 18px; font-size: clamp(30px, 4vw, 46px); }
.lws-intro { margin-bottom: 44px; color: var(--lws-muted); font-size: 17px; }

.lws-hero { position: relative; padding: 90px 0 82px; background: radial-gradient(circle at 78% 25%, #3a3a3a 0, #222222 48%, #111111 100%); color: white; }
.lws-hero::after { position: absolute; inset: auto 0 0; height: 1px; background: rgba(255,255,255,.12); content: ""; }
.lws-hero__grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr); align-items: center; gap: 54px; }
.lws-eyebrow { margin-bottom: 20px; color: #bed87d; font-weight: 700; letter-spacing: .08em; }
.lws-hero h1 { margin-bottom: 24px; color: white; font-size: clamp(38px, 4.8vw, 64px); letter-spacing: .01em; line-height: 1.35; }
.lws-hero h1 span { color: #bed87d; }
.lws-lead { max-width: 650px; margin-bottom: 30px; color: #dddddd; font-size: 17px; }
.lws-hero__visual { position: relative; }
.lws-hero__visual::before { position: absolute; inset: 8% 5% -8% 12%; border-radius: 50%; background: rgba(172,198,91,.18); filter: blur(46px); content: ""; }
.lws-hero__visual img { position: relative; display: block; width: 100%; border: 1px solid rgba(255,255,255,.12); border-radius: 26px; box-shadow: 0 30px 80px rgba(0,0,0,.28); }
.lws-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.lws-button { display: inline-flex; min-height: 58px; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 8px; padding: 13px 24px; font-weight: 700; line-height: 1.3; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.lws-button:hover { transform: translateY(-2px); text-decoration: none; }
.lws-button--primary { background: var(--lws-blue); box-shadow: 0 12px 30px rgba(172,198,91,.28); color: #222222; }
.lws-button--primary:hover { background: var(--lws-blue-dark); color: #111111; }
.lws-button--call { flex-direction: column; align-items: flex-start; border-color: var(--lws-green); background: #333333; color: white; }
.lws-button--call span { font-size: 11px; opacity: .85; }
.lws-button--call:hover { background: #444444; color: white; }
.lws-note { margin: 18px 0 0; color: #bdbdbd; font-size: 12px; }

.lws-section-nav { position: sticky; z-index: 20; top: 0; border-bottom: 1px solid var(--lws-line); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
.admin-bar .lws-section-nav { top: 32px; }
.lws-section-nav .lws-container { display: flex; justify-content: center; overflow-x: auto; }
.lws-section-nav a { flex: 0 0 auto; padding: 18px 24px; color: var(--lws-ink); font-size: 14px; font-weight: 700; }
.lws-section-nav a:hover { color: var(--lws-blue); }

.lws-card-grid { display: grid; gap: 22px; }
.lws-card-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lws-problem { position: relative; min-height: 220px; border: 1px solid var(--lws-line); border-radius: 14px; padding: 30px; background: white; box-shadow: 0 14px 35px rgba(51,51,51,.06); }
.lws-problem span { display: block; margin-bottom: 28px; color: var(--lws-blue); font-size: 13px; font-weight: 800; letter-spacing: .15em; }
.lws-problem h3 { margin-bottom: 10px; font-size: 20px; }
.lws-problem p { margin-bottom: 0; color: var(--lws-muted); font-size: 14px; }

.lws-risk { padding: 72px 0; background: var(--lws-navy); color: white; }
.lws-risk__inner { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 80px; }
.lws-risk h2 { margin-bottom: 0; color: white; }
.lws-risk__inner > p { margin-bottom: 0; color: #dddddd; }

.lws-split-heading { display: grid; grid-template-columns: 1fr .8fr; align-items: end; gap: 70px; margin-bottom: 50px; }
.lws-split-heading h2 { margin-bottom: 0; }
.lws-split-heading > p { margin-bottom: 5px; color: var(--lws-muted); }
.lws-service-layout { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 60px; }
.lws-service-list article { display: grid; grid-template-columns: 54px 1fr; gap: 18px; border-top: 1px solid var(--lws-line); padding: 25px 0; }
.lws-service-list article:last-child { border-bottom: 1px solid var(--lws-line); }
.lws-service-list span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: #f1f5e6; color: #73852f; font-size: 12px; font-weight: 800; }
.lws-service-list h3 { margin-bottom: 7px; font-size: 20px; }
.lws-service-list p { margin-bottom: 0; color: var(--lws-muted); font-size: 14px; }
.lws-service-image img { display: block; width: 100%; border-radius: 22px; box-shadow: 0 24px 65px rgba(51,51,51,.14); }

.lws-section--blue { background: linear-gradient(135deg, #333333, #111111); color: white; }
.lws-section--blue h2 { color: white; }
.lws-section--blue .lws-card-grid { margin-top: 44px; }
.lws-reason { border: 1px solid rgba(255,255,255,.2); border-radius: 14px; padding: 34px; background: rgba(255,255,255,.08); }
.lws-reason strong { display: block; margin-bottom: 38px; color: #bed87d; font-size: 15px; }
.lws-reason h3 { color: white; font-size: 20px; }
.lws-reason p { margin-bottom: 0; color: #dddddd; font-size: 14px; }

.lws-price-wrap { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 90px; }
.lws-price-copy p:last-child { color: var(--lws-muted); }
.lws-price-card { border-top: 6px solid var(--lws-blue); border-radius: 16px; padding: 44px 50px; background: white; box-shadow: 0 25px 65px rgba(51,51,51,.12); }
.lws-price-card__label { margin-bottom: 4px; color: var(--lws-blue); font-weight: 800; }
.lws-price-card__price { display: flex; align-items: baseline; gap: 8px; border-bottom: 1px solid var(--lws-line); padding-bottom: 25px; }
.lws-price-card__price strong { color: var(--lws-ink); font-size: clamp(44px, 7vw, 72px); line-height: 1; }
.lws-price-card__price span { font-weight: 700; }
.lws-price-card ul { display: grid; gap: 8px; margin: 24px 0; padding: 0; list-style: none; }
.lws-price-card li { position: relative; padding-left: 26px; }
.lws-price-card li::before { position: absolute; left: 0; color: var(--lws-green); font-weight: 800; content: "✓"; }
.lws-price-card__note { color: var(--lws-muted); font-size: 12px; }

.lws-flow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 48px; }
.lws-flow article { position: relative; border-top: 2px solid var(--lws-blue); padding: 34px 40px 0 0; }
.lws-flow article::before { position: absolute; top: -7px; left: 0; width: 12px; height: 12px; border: 3px solid var(--lws-blue); border-radius: 50%; background: white; content: ""; }
.lws-flow span { color: var(--lws-blue); font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.lws-flow h3 { margin: 14px 0 10px; font-size: 20px; }
.lws-flow p { margin: 0; color: var(--lws-muted); font-size: 14px; }

.lws-faq-layout { display: grid; grid-template-columns: .65fr 1.35fr; gap: 80px; }
.lws-faq-layout > div:first-child > p:last-child { color: var(--lws-muted); }
.lws-faq details { border-top: 1px solid #dddddd; }
.lws-faq details:last-child { border-bottom: 1px solid #dddddd; }
.lws-faq summary { position: relative; padding: 24px 48px 24px 46px; cursor: pointer; font-weight: 700; list-style: none; }
.lws-faq summary::-webkit-details-marker { display: none; }
.lws-faq summary::before { position: absolute; left: 0; color: var(--lws-blue); content: "Q"; font-size: 20px; font-weight: 800; }
.lws-faq summary::after { position: absolute; right: 8px; content: "+"; color: var(--lws-blue); font-size: 24px; font-weight: 400; }
.lws-faq details[open] summary::after { content: "−"; }
.lws-faq details p { padding: 0 48px 24px 46px; color: var(--lws-muted); }

.lws-final-cta { padding: 90px 0; background: linear-gradient(120deg, #333333, #111111); color: white; }
.lws-final-cta__inner { display: grid; grid-template-columns: 1fr .9fr; align-items: center; gap: 70px; }
.lws-final-cta h2 { color: white; }
.lws-final-cta p { margin-bottom: 0; color: #dddddd; }
.lws-final-cta__actions { display: grid; gap: 14px; }
.lws-button--light { background: var(--lws-blue); color: #222222; }
.lws-button--light:hover { background: var(--lws-blue-dark); color: #111111; }
.lws-button--outline { border-color: rgba(255,255,255,.65); color: white; }
.lws-button--outline:hover { background: rgba(255,255,255,.08); color: white; }

@media (max-width: 980px) {
	.lws-hero__grid,
	.lws-risk__inner,
	.lws-split-heading,
	.lws-service-layout,
	.lws-price-wrap,
	.lws-faq-layout,
	.lws-final-cta__inner { grid-template-columns: 1fr; }
	.lws-hero__grid { gap: 44px; }
	.lws-hero__visual { max-width: 720px; }
	.lws-risk__inner,
	.lws-split-heading,
	.lws-price-wrap,
	.lws-faq-layout,
	.lws-final-cta__inner { gap: 36px; }
	.lws-card-grid--3 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 782px) {
	.admin-bar .lws-section-nav { top: 46px; }
}

@media (max-width: 680px) {
	.lws-container { width: min(100% - 28px, 1180px); }
	.lws-section { padding: 76px 0; }
	.lws-hero { padding: 64px 0 58px; }
	.lws-hero h1 { font-size: 39px; }
	.lws-lead { font-size: 15px; }
	.lws-actions { display: grid; }
	.lws-button--call { align-items: center; }
	.lws-section-nav .lws-container { justify-content: flex-start; }
	.lws-section-nav a { padding: 15px 18px; }
	.lws-card-grid--3,
	.lws-flow { grid-template-columns: 1fr; }
	.lws-problem { min-height: auto; }
	.lws-flow { gap: 28px; }
	.lws-flow article { border-top: 0; border-left: 2px solid var(--lws-blue); padding: 0 0 0 28px; }
	.lws-flow article::before { top: 2px; left: -7px; }
	.lws-price-card { padding: 34px 26px; }
	.lws-price-card__price { display: block; }
	.lws-price-card__price span { display: block; margin-top: 8px; }
}

@media (prefers-reduced-motion: reduce) {
	.lws-button { transition: none; }
	.lws-page { scroll-behavior: auto; }
}
