:root{--phone-width:min(100vw,430px);--shell-height:100svh;--accent:#6a7cff;--accent-2:#94a3ff;--text:#0f172a;--muted:#5b6679;--bg:#eef2f7;--safe-bottom:max(env(safe-area-inset-bottom),12px);--hero-image:linear-gradient(180deg,#18243d,#0d1326);--bg-image:linear-gradient(180deg,#f2f5fb,#edf3ff)}
*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;background:linear-gradient(180deg,#f4f6fa,#e9eef5);color:var(--text);font-family:'Hiragino Sans','Yu Gothic','Noto Sans JP',system-ui,sans-serif;overflow:hidden}body{display:grid;place-items:center}
button{font:inherit}
.desktop-phone-chrome{display:none}
.lp-shell{position:relative;width:100vw;height:100svh;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;scroll-behavior:smooth;background:linear-gradient(180deg,#f8fafc,#eef2ff);scrollbar-width:none;-ms-overflow-style:none}.lp-shell::-webkit-scrollbar{display:none}
.panel{position:relative;width:100%;min-height:100svh;height:100svh;max-height:100svh;scroll-snap-align:start;padding:22px 18px calc(var(--safe-bottom) + 58px);overflow:hidden;isolation:isolate}.panel:before{content:"";position:absolute;inset:0;border-radius:0;z-index:0}
.panel-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:14px;min-height:0}
.panel-top,.panel-main,.panel-bottom{min-width:0}.panel-top{display:flex;flex-direction:column;gap:8px}.panel-main{display:flex;flex-direction:column;gap:10px}.hero-content{justify-content:flex-end}
.panel-light{background:linear-gradient(180deg,#ffffff,#f7f9fc)}.panel-dark{background:linear-gradient(180deg,rgba(10,18,36,.42),rgba(10,18,36,.72)),var(--hero-image);background-size:cover;background-position:center;color:#fff}.panel-accent{background:linear-gradient(180deg,rgba(255,255,255,.68),rgba(255,255,255,.92)),var(--bg-image);background-size:cover;background-position:center}.panel-final{background:radial-gradient(circle at 30% 0%,rgba(255,255,255,.08),transparent 22%),linear-gradient(180deg,#0b1020,#121a2e 60%,#0b1020);color:#fff}
.hero-glow{position:absolute;right:-18%;bottom:-14%;width:74vw;height:74vw;max-width:360px;max-height:360px;background:radial-gradient(circle,var(--accent),transparent 60%);opacity:.34;filter:blur(36px);z-index:1}
.eyebrow,.mini-label{margin:0;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;opacity:.88}
h1,h2,h3,p{margin:0}.hero h1,.panel h2{font-family:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;font-weight:800;letter-spacing:-.04em;line-height:1.08;text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}
.hero h1{font-size:clamp(46px,13vw,68px)}
.panel h2{font-size:clamp(34px,10vw,52px)}
.fullwidth-title{width:100%;max-width:none}
.lead,.body-text{font-size:clamp(15px,4.1vw,18px);line-height:1.76;max-width:none}.lead{opacity:.96}.body-text{color:inherit}.panel-light .body-text,.panel-accent .body-text,.note-card p{color:var(--muted)}
.cta{appearance:none;border:0;border-radius:999px;padding:14px 18px;font-size:15px;font-weight:700;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}.cta.primary{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 72%,#ffffff 28%));color:#fff;box-shadow:0 18px 42px color-mix(in srgb,var(--accent) 32%, transparent)}.cta:hover,.cta:focus-visible{transform:translateY(-2px);outline:none}
.stack-cards{display:grid;gap:12px;min-height:0;flex:1;align-content:end}.problem-cards,.feature-cards{grid-template-rows:repeat(3,minmax(0,1fr))}
.info-card,.note-card,.visual-card{border-radius:26px;background:rgba(255,255,255,.88);border:1px solid rgba(226,232,240,.88);box-shadow:0 18px 50px rgba(15,23,42,.07);overflow:hidden}
.info-card,.note-card{padding:18px 18px 16px;min-height:0;display:flex;flex-direction:column;justify-content:flex-end}.info-card{font-size:clamp(16px,4.5vw,22px);line-height:1.42;position:relative}.info-card:before,.note-card:before{content:"";position:absolute;top:0;left:18px;width:74px;height:8px;border-radius:0 0 12px 12px;background:linear-gradient(135deg,var(--accent),var(--accent-2))}
.note-card h3{font-size:clamp(17px,4.6vw,22px);line-height:1.28;margin-top:12px;margin-bottom:8px;font-family:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif}.note-card p{font-size:14px;line-height:1.74}
.solution-content .panel-top{gap:10px}.visual-card{padding:10px;min-height:28svh;max-height:32svh}.visual-card img{width:100%;height:100%;object-fit:cover;border-radius:20px;display:block}
.panel-nav{display:none}.space-hint{position:fixed;left:50%;bottom:calc(var(--safe-bottom) + 6px);transform:translateX(-50%);z-index:50;border:0;border-radius:999px;padding:9px 14px;background:rgba(15,23,42,.68);backdrop-filter:blur(12px);color:#fff;font-size:12px;letter-spacing:.05em;box-shadow:0 12px 28px rgba(15,23,42,.24);cursor:pointer}
.anim-item{opacity:0;transform:translate3d(0,18px,0);transition:opacity .78s cubic-bezier(.22,1,.36,1),transform .78s cubic-bezier(.22,1,.36,1)}
.panel.is-active[data-axis="vertical"] .anim-item{opacity:1;transform:translate3d(0,0,0)}
.panel.is-active[data-axis="horizontal"] .anim-item{opacity:1;transform:translate3d(0,0,0)}
.panel[data-axis="horizontal"] .anim-item{transform:translate3d(26px,0,0)}
.panel[data-axis="vertical"] .anim-item{transform:translate3d(0,20px,0)}
.panel .anim-item:nth-child(2),.stack-cards .anim-item:nth-child(2){transition-delay:.08s}.panel .anim-item:nth-child(3),.stack-cards .anim-item:nth-child(3){transition-delay:.14s}.stack-cards .anim-item:nth-child(4){transition-delay:.2s}
.mood-luxury .panel-light,.mood-luxury .panel-accent{background:linear-gradient(180deg,#fffdf9,#f8f2e7)}.mood-soft .panel-dark{background:linear-gradient(180deg,rgba(30,42,72,.28),rgba(82,67,138,.6)),var(--hero-image);background-size:cover;background-position:center}.mood-active .cta.primary{box-shadow:0 20px 58px color-mix(in srgb,var(--accent) 42%, transparent)}
@media (min-width:761px){.desktop-phone-chrome{display:block;position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(var(--phone-width) + 28px);height:calc(100svh - 22px);max-height:940px;border-radius:38px;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.34));border:1px solid rgba(255,255,255,.78);box-shadow:0 34px 100px rgba(15,23,42,.22);pointer-events:none}.desktop-phone-chrome:before{content:"";position:absolute;top:11px;left:50%;transform:translateX(-50%);width:124px;height:20px;border-radius:0 0 16px 16px;background:rgba(15,23,42,.82)}.lp-shell{width:var(--phone-width);height:calc(100svh - 22px);max-height:940px;border-radius:34px;box-shadow:0 20px 56px rgba(15,23,42,.16)}.panel-nav{display:flex;flex-direction:column;gap:10px;position:fixed;left:calc(50% + (var(--phone-width) / 2) + 28px);top:50%;transform:translateY(-50%);z-index:40}.panel-nav button{width:10px;height:10px;border-radius:50%;border:0;background:rgba(15,23,42,.2);padding:0;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.panel-nav button.is-active{background:var(--accent);transform:scale(1.16);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 16%, transparent)}}
@media (max-width:760px){.hero h1{font-size:clamp(42px,12vw,58px)}.panel h2{font-size:clamp(28px,9vw,42px)}.panel{padding-left:16px;padding-right:16px}.info-card{font-size:clamp(15px,4.3vw,20px)}.note-card h3{font-size:18px}.note-card p,.lead,.body-text{font-size:14px}}
