/* 商品ページ（API・MCP）用。service.css の上に重ねる */
.ll-compare{width:100%;border-collapse:collapse;margin-top:40px;font-size:15px;line-height:1.8}
.ll-compare th,.ll-compare td{padding:16px 14px;border-bottom:1px solid #ffffff16;text-align:left;vertical-align:top}
.ll-compare thead th{color:#73a5cc;font-size:12px;letter-spacing:.1em;font-weight:500}
.ll-compare tbody th{color:#a8b1bf;font-weight:400;white-space:nowrap}
.ll-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.ll-pains{display:grid;gap:14px;margin:36px 0 0;padding:0;list-style:none}
.ll-pains li{padding:20px 22px;border:1px solid #ffffff18;border-radius:12px;background:#0d121b;color:#d7dce4;line-height:1.8}
.ll-answer{max-width:820px;margin-top:28px;padding:26px 28px;border-left:3px solid #73a5cc;background:#0b1119;color:#e7ebf0;font-size:clamp(16px,1.9vw,19px);line-height:2}
.ll-steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:44px;background:#ffffff16}
.ll-steps article{padding:30px 26px;background:#0d121b}
.ll-steps article::before{counter-increment:s;content:"0" counter(s);display:block;color:#689dc8;font-size:11px;letter-spacing:.18em;margin-bottom:12px}
.ll-steps p{color:#a8b1bf;line-height:1.9}
.ll-engines{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:44px;background:#ffffff16}
.ll-engines article{padding:28px 26px;background:#0d121b}
.ll-engines h3{margin:0 0 10px}
.ll-engines dl{margin:14px 0 0;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:14px;color:#a8b1bf;line-height:1.7}
.ll-engines dt{color:#73a5cc}
.ll-engines dd{margin:0}
.ll-toc{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;padding:0;list-style:none}
.ll-toc a{display:inline-block;padding:9px 15px;border:1px solid #ffffff22;border-radius:999px;font-size:13px;color:#cfd6e0}
.lp-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:40px;background:#ffffff16}
.lp-proof div{padding:28px 24px;background:#0d121b}
.lp-proof b{display:block;font-size:clamp(26px,3.4vw,38px);font-weight:400;color:#fefefd}
.lp-proof span{display:block;margin-top:8px;color:#a8b1bf;font-size:13px;line-height:1.7}
.ll-poem{margin:0;font-size:clamp(30px,5vw,58px);font-weight:300;line-height:1.5;letter-spacing:.03em}
.ll-supervisor{margin:0 auto;width:min(1050px,88%);padding:34px 0;border-top:1px solid #ffffff14;color:#a8b1bf;font-size:14px;line-height:1.9}
.ll-supervisor-role{margin:0;color:#73a5cc;font-size:11px;letter-spacing:.2em}
.ll-supervisor-name{margin:8px 0;font-size:18px;color:#fefefd}
.ll-supervisor-name span{margin-left:14px;font-size:13px;color:#a8b1bf}
.ll-supervisor a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.ll-steps,.ll-engines,.lp-proof{grid-template-columns:1fr}.ll-compare{font-size:14px}.ll-supervisor-name span{display:block;margin:4px 0 0}}
/* ---- 演出（product-fx.js） ---- */
.ll-sky{position:fixed;left:0;top:0;width:100%;height:100vh;height:100lvh;z-index:0;pointer-events:none} /* 100lvh：アドレスバーが縮んだときの高さで固定（伸び縮みで絵が引き伸ばされて跳ねないように） */
.service-page{position:relative;z-index:1;background:transparent!important}
.service-page section{background:transparent}
.service-page section:not(.service-hero){background:linear-gradient(180deg,#05070b33,#05070b55)}
/* 札は半透明＋ぼかしにして、後ろの宇宙が透けて見えるように */
.ll-pains li,.ll-steps article,.service-grid article,.ll-engines article,.lp-proof div,.ll-ideas article,.ll-answer{background:#0b111bb8!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ll-steps,.ll-engines,.lp-proof,.ll-ideas{background:#ffffff14}
.service-page .service-hero{background:radial-gradient(circle at 78% 30%,#16324bcc 0,#0b111bb3 27%,#05070b80 65%)!important}
.ll-poem{background:linear-gradient(100deg,#fefefd 0%,#cfe3ff 30%,#fa994c 50%,#cfe3ff 70%,#fefefd 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:ll-shimmer 9s ease-in-out infinite}
@keyframes ll-shimmer{0%,100%{background-position:100% 0}50%{background-position:0 0}}
.service-kicker{position:relative;padding-left:20px}
.service-kicker::before{content:"";position:absolute;left:0;top:50%;width:9px;height:9px;margin-top:-5px;border:1px solid #73a5cc;border-radius:50%;box-shadow:0 0 10px #73a5cc88}
.service-kicker::after{content:"";position:absolute;left:3px;top:50%;width:3px;height:3px;margin-top:-2px;border-radius:50%;background:#fa994c;transform-origin:1.5px 1.5px;animation:ll-orbit 4s linear infinite}
@keyframes ll-orbit{from{transform:rotate(0) translateX(7px)}to{transform:rotate(360deg) translateX(7px)}}
.ll-reveal{opacity:0;transform:translateY(22px);filter:blur(6px);transition:opacity .9s ease var(--d,0ms),transform .9s cubic-bezier(.2,.7,.2,1) var(--d,0ms),filter .9s ease var(--d,0ms)}
.ll-reveal.is-in{opacity:1;transform:none;filter:none}
.ll-glow{position:relative;overflow:hidden;transition:border-color .3s,transform .3s}
.ll-glow::before{content:"";position:absolute;inset:0;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),#7ab1fe26,transparent 60%);opacity:0;transition:opacity .35s;pointer-events:none}
.ll-glow:hover::before{opacity:1}
.ll-glow:hover{transform:translateY(-2px)}
.ll-answer{position:relative;overflow:hidden}
.ll-answer::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,#cfe3ff14 50%,transparent 70%);transform:translateX(-100%);animation:ll-sweep 7s ease-in-out 1.2s infinite}
@keyframes ll-sweep{0%{transform:translateX(-100%)}35%,100%{transform:translateX(100%)}}
.lp-proof b{text-shadow:0 0 24px #7ab1fe66}
.service-actions a:first-child{box-shadow:0 0 0 0 #fa833655;animation:ll-pulse 3.2s ease-out infinite}
@keyframes ll-pulse{0%{box-shadow:0 0 0 0 #fa833655}70%{box-shadow:0 0 0 14px #fa833600}100%{box-shadow:0 0 0 0 #fa833600}}
/* 構想中の道具 */
.ll-ideas{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:44px;background:#ffffff16}
.ll-ideas article{padding:30px 26px;background:#0d121b}
.ll-ideas .ll-badge{display:inline-block;margin-bottom:14px;padding:3px 10px;border:1px solid #fa994c77;border-radius:999px;color:#fa994c;font-size:11px;letter-spacing:.08em}
.ll-ideas h3{margin:0 0 8px}
.ll-ideas p{margin:0;color:#a8b1bf;line-height:1.85}
.ll-ideas-note{margin-top:22px;color:#8d96a4;font-size:13px}
@media(max-width:760px){.ll-ideas{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ll-poem,.service-kicker::after,.ll-answer::after,.service-actions a:first-child{animation:none}.ll-glow:hover{transform:none}}
.ll-planets{position:fixed;left:0;top:0;width:100%;height:100vh;height:100lvh;z-index:0;pointer-events:none}

/* 最後の区画：惑星直列の舞台（planets-3d.js が .ll-finale を見て演出する） */
html body .service-page section.ll-finale{min-height:110vh;padding:0;display:flex;align-items:flex-start;justify-content:center;background:transparent;border:0}
.ll-finale-inner{position:sticky;top:14vh;text-align:center;padding:0 20px}
.ll-finale .service-kicker{display:inline-block}
.ll-finale-copy{margin:10px 0 0;font-size:clamp(28px,4.6vw,60px);font-weight:300;line-height:1.45;letter-spacing:.05em;color:#fefefd;text-shadow:0 0 28px #7ab1fe66}
.ll-finale-note{margin-top:16px;color:#8d96a4;font-size:12px}

/* 見出しを左右交互に（右寄せの区画）。空いた側を惑星が通る */
.ll-title-right > .service-inner > .service-kicker,.ll-title-right > .service-inner > h2{text-align:right}
.ll-title-right > .service-inner > .service-kicker{padding-left:0;padding-right:20px}
.ll-title-right > .service-inner > .service-kicker::before{left:auto;right:0}
.ll-title-right > .service-inner > .service-kicker::after{left:auto;right:3px}
.ll-title-right .service-copy > div:first-child{text-align:right}
@media(min-width:761px){.ll-title-right .service-copy > div:first-child{order:2}}
