/* 衛星データ解析ページ（試作）。トップと同じ作り：黒地・細い線・画面いっぱいの最初の区切り */
.sat-hero{background:#000}
.sat-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:brightness(.62);transform-origin:50% 55%;animation:satzoom 26s cubic-bezier(.3,.1,.3,1) forwards}
@keyframes satzoom{from{transform:scale(1)}to{transform:scale(1.12)}}
@media (prefers-reduced-motion:reduce){.sat-hero-img{animation:none}}
.sat-hero .panel-shade{background:linear-gradient(to top,rgba(0,0,0,.85) 0,rgba(0,0,0,0) 62%),linear-gradient(to right,rgba(0,0,0,.45) 0,rgba(0,0,0,0) 60%)}
.sat-hero .sat-credit{left:var(--gx);right:auto;text-align:left;bottom:14px;max-width:min(80vw,760px)}
.sat-hero .panel-copy{bottom:clamp(54px,9vh,100px)}

.sat-h2{font-family:var(--font-jp);font-weight:900;font-feature-settings:"palt";font-size:clamp(28px,4.4vw,76px);line-height:1.25;letter-spacing:.01em}
.sat-cols{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,4vw,72px);align-items:start;margin-bottom:clamp(40px,7vh,80px)}
.sat-text p,.sample-body p,.diff li,.steps dd,.data-list span,.links li{font-family:var(--font-jp);font-weight:500;font-size:clamp(15px,1.1vw,17px);line-height:1.95}
.sat-text p+p{margin-top:1em}
.sat-text p:first-child{font-weight:700;font-size:clamp(17px,1.4vw,22px);line-height:1.7}
.stages{list-style:none;border-top:1px solid var(--line)}
.stages li{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line);font-family:var(--font-jp);font-weight:700;font-size:clamp(15px,1.15vw,18px);line-height:1.6}
.chip{display:inline-block;flex:0 0 auto;width:16px;height:16px;margin-top:.3em;margin-right:10px}
.stages .chip{margin-right:0}
.c0{background:#ececec}.c1{background:#f0c428}.c2{background:#d63c30}.c3{background:#3462a0}
.sample{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start;padding-top:clamp(32px,5vh,56px);border-top:1px solid var(--line)}
.sample-fig img{width:100%;height:auto;display:block;border:1px solid var(--line);background:#000}
.sample-fig figcaption{font-family:var(--font-jp);font-weight:500;font-size:13px;line-height:1.8;opacity:.8;margin-top:10px}
.sample-body h3,.diff h3,.ex-item h3{font-family:var(--font-jp);font-weight:700;font-feature-settings:"palt";font-size:clamp(18px,1.6vw,26px);line-height:1.5;margin-bottom:14px}
.rate{width:100%;border-collapse:collapse;margin:20px 0;font-family:var(--font-jp)}
.rate caption{text-align:left;font-weight:500;font-size:13px;opacity:.8;padding-bottom:8px}
.rate th,.rate td{padding:11px 8px 11px 0;border-bottom:1px solid var(--line);text-align:left;font-size:15px;font-weight:500}
.rate thead th{font-size:12px;opacity:.7;border-top:1px solid var(--line)}
.rate td:nth-child(2),.rate td:nth-child(3),.rate th:nth-child(2),.rate th:nth-child(3){text-align:right;font-variant-numeric:tabular-nums}
.rate td:first-child{font-weight:700}
.rate .chip{vertical-align:-1px;margin-top:0}
.warn{border-left:2px solid rgba(255,255,255,.6);padding-left:14px;font-size:14px!important;line-height:1.9!important;opacity:.92}
.sample-body p+p{margin-top:1em}
.diff{margin-top:clamp(36px,6vh,64px);padding-top:clamp(28px,4vh,44px);border-top:1px solid var(--line);max-width:900px}
.diff ul{list-style:none}
.diff li{padding:10px 0 10px 1.2em;position:relative}
.diff li::before{content:"";position:absolute;left:0;top:1.15em;width:7px;height:1px;background:#fff}

.ex{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,64px)}
.ex-item{border-top:1px solid var(--line);padding-top:20px}
.ex-figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:6px 0 20px}
.ex-figs img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.ex-figs figcaption{font-family:var(--font-jp);font-weight:500;font-size:12px;line-height:1.5;margin-top:6px;opacity:.85}
.steps div{display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.steps dt{font-family:var(--font-jp);font-weight:700;font-size:14px;line-height:1.9;opacity:.8}
.steps dd{margin:0}

.data-list{list-style:none;border-top:1px solid var(--line)}
.data-list li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr) minmax(0,1.3fr);gap:clamp(12px,2vw,32px);padding:18px 0;border-bottom:1px solid var(--line);align-items:start}
.data-list b{font-family:var(--font-jp);font-weight:700;font-feature-settings:"palt";font-size:clamp(15px,1.2vw,19px);line-height:1.6}
.data-list small{font-family:var(--font-jp);font-weight:500;font-size:12px;line-height:1.8;opacity:.7}
.big-note{font-family:var(--font-jp);font-weight:900;font-size:clamp(28px,3.4vw,56px);line-height:1.3}
.links{list-style:none;border-top:1px solid var(--line)}
.links li{padding:14px 0;border-bottom:1px solid var(--line)}
.links a{text-decoration:underline;text-underline-offset:4px}
.cta-blk .hero-btn{display:inline-flex}

@media (max-width:899px){
  .sat-cols,.sample{grid-template-columns:1fr}
  .ex{grid-template-columns:1fr}
  .data-list li{grid-template-columns:1fr;gap:6px}
  .steps div{grid-template-columns:1fr;gap:2px}
  .sat-h2{font-size:clamp(26px,7.6vw,44px)}
  .ex-figs figcaption{font-size:10.5px}
}
@media (min-width:1200px){#flow .flow{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* ===== 最初の画面：雪なし→雪の重なり（28秒で往復。本物の写真2枚だけ） ===== */
.sat-hero-stack{position:absolute;inset:0;animation:satzoom 14s ease-in-out infinite alternate;transform-origin:50% 55%}
.sat-hero-stack .hz{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:brightness(.72)}
.sat-hero-stack .hz-b{opacity:0;animation:snowx 28s ease-in-out infinite}
.sat-hero .sat-hero-img{display:none}
@keyframes snowx{0%,16%{opacity:0}40%,68%{opacity:1}92%,100%{opacity:0}}
@keyframes stA{0%,28%{opacity:1}32%,80%{opacity:0}84%,100%{opacity:1}}
@keyframes stB{0%,28%{opacity:0}32%,80%{opacity:1}84%,100%{opacity:0}}
.sat-state{position:absolute;z-index:5;right:var(--gx);top:calc(var(--nav-h) + clamp(24px,5vh,56px));display:grid;justify-items:end;text-align:right}
.sat-state .st{grid-area:1/1;display:block;white-space:nowrap}
.sat-state .st-a{animation:stA 28s ease-in-out infinite}
.sat-state .st-b{animation:stB 28s ease-in-out infinite}
.st-d{display:block;font-family:var(--font-jp);font-weight:700;font-size:clamp(15px,1.5vw,26px);letter-spacing:.04em;text-shadow:0 1px 14px rgba(0,0,0,.6)}
.st-v{display:block;font-family:var(--font-en);font-weight:700;font-size:clamp(44px,6.6vw,120px);line-height:1;letter-spacing:.01em;text-shadow:0 1px 18px rgba(0,0,0,.4)}
.st-v{font-family:var(--font-jp)}
@media (prefers-reduced-motion:reduce){
  .sat-hero-stack,.sat-hero-stack .hz-b{animation:none}
  .sat-hero-stack .hz-b{opacity:1}
  .sat-state .st-a{animation:none;opacity:0}
  .sat-state .st-b{animation:none;opacity:1}
}
@media (max-width:899px){.sat-state{right:auto;left:var(--gx);text-align:left;justify-items:start}}

/* ===== 最初の画面の見出し：英字はp・日本語1行がh1（トップと同じ大きさの考え方） ===== */
#top-hero{--pn-em:5.02;--pn-chunk:19.4}
h1.panel-jp{font-weight:700}
.sat-hero .panel-copy{bottom:clamp(54px,9vh,100px)}

/* ===== くわしく見る・無料相談 ===== */
.more{margin-top:clamp(28px,4vh,48px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:900px}
.more summary{list-style:none;cursor:pointer;padding:18px 40px 18px 0;position:relative;font-family:var(--font-jp);font-weight:700;font-size:clamp(16px,1.3vw,20px)}
.more summary::-webkit-details-marker{display:none}
.more summary::after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;border-right:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:translateY(-70%) rotate(45deg);transition:transform .3s}
.more[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.more-body{padding:4px 0 26px}
.more-body p{font-family:var(--font-jp);font-weight:500;font-size:clamp(15px,1.1vw,17px);line-height:1.95}
.more-body p+p{margin-top:1em}
.more-body h3{font-family:var(--font-jp);font-weight:700;font-size:clamp(17px,1.4vw,22px);margin:28px 0 10px}
.more-body ul{list-style:none}
.more-body li{font-family:var(--font-jp);font-weight:500;font-size:clamp(15px,1.1vw,17px);line-height:1.95;padding:8px 0 8px 1.2em;position:relative}
.more-body li::before{content:"";position:absolute;left:0;top:1.15em;width:7px;height:1px;background:#fff}
.price-line{font-family:var(--font-jp);font-weight:700;font-size:clamp(17px,1.4vw,22px);line-height:1.7;margin-bottom:24px}
.ex-fig1{margin:6px 0 20px}.ex-fig1 img{display:block;width:100%;height:auto;border:1px solid var(--line);background:#fff}
@media (min-width:1200px){.ex{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ex-figs2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ex-credit{font-family:var(--font-jp);font-weight:500;font-size:11px;line-height:1.7;opacity:.65;margin:-10px 0 16px}
.sample-fig .ex-credit{margin:6px 0 0}
