.sa-hero { padding-top: calc(var(--min-hd-h) + var(--min-safe-t) + clamp(28px, 3.6vw, 48px)); padding-bottom: clamp(28px, 3.4vw, 44px); }
.sa-hero .sa-tag {
  width: min(100%, 1000px); margin: clamp(26px, 2.9vw, 40px) auto 0;
  aspect-ratio: 2000 / 1039;
}
.sa-tag > picture { display: block; width: 100%; height: 100%; }
.sa-tag > picture > img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 640px) {
  .sa-hero .sa-tag { width: min(100%, 460px); aspect-ratio: 1074 / 1116; margin-top: 24px; }
}
@media (min-width: 641px) {
  .sa-hero {
    --sa-pt: min(clamp(28px, 3.6vw, 48px), clamp(16px, calc(16px + (100vh - 650px) * 0.128), 48px));    
    --sa-h1: min(var(--min-fs-h1), clamp(40px, calc(40px + (100vh - 650px) * 0.048), 52px));             
    --sa-ga: min(clamp(24px, 3vw, 36px), clamp(18px, calc(18px + (100vh - 650px) * 0.072), 36px));       
    --sa-gf: min(clamp(26px, 2.9vw, 40px), clamp(20px, calc(20px + (100vh - 650px) * 0.08), 40px));      
    --sa-top: calc(var(--min-hd-h) + var(--min-safe-t) + var(--sa-pt) + var(--sa-h1) * 1.24 + var(--sa-ga) + var(--cm-tap-1) + var(--sa-gf));   
    padding-top: calc(var(--min-hd-h) + var(--min-safe-t) + var(--sa-pt));
  }
  .sa-hero .min-h1 { font-size: var(--sa-h1); }
  .sa-hero .min-actions { margin-top: var(--sa-ga); }
  .sa-hero .sa-tag {
    margin-top: var(--sa-gf);
    width: min(100%, 1000px, max(520px, calc((100vh - var(--sa-top) - 20px) * 2000 / 1039)));
    width: min(100%, 1000px, max(520px, calc((100svh - var(--sa-top) - 20px) * 2000 / 1039)));
  }
  .sa-hero > .cm-bg { height: max(var(--cm-glow-h), min(31vw, 800px)); }
}
.sa-step { text-align: center; }
.sa-stage {
  position: relative; overflow: hidden; margin: 20px auto 0;
  width: min(100%, 1000px); aspect-ratio: 16 / 10;
  background: #fff; border: 1px solid var(--cm-line); border-radius: var(--va-stage-r); box-shadow: var(--cm-shadow-2);
}
.sa-stage > picture { position: absolute; inset: 0; display: block; }
.sa-stage > picture > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sa-stage > video { position: absolute; inset: 0; width: 100%; height: 100%; visibility: hidden; pointer-events: none; }   
.sa-stage > canvas {
  position: absolute; inset: 0; display: block; width: 100%; height: 100%; pointer-events: none;
  opacity: 0; transition: opacity 180ms var(--cm-ease-out);   
}
.sa-stage.is-armed > canvas { opacity: 1; transition-duration: 0s; }   
@media (max-width: 640px) {
  .sa-step { --min-sec-y: 40px; }   
  .sa-stage { width: min(100%, 460px); aspect-ratio: 4 / 5; margin-top: 16px; border-radius: var(--cm-r-card); }
}
@media (min-width: 641px) {
  .sa-step, .sa-sec {
    --sa-h2: min(var(--min-fs-h2), clamp(28px, calc(28px + (100vh - 650px) * 0.04), 38px));
    --sa-gap: clamp(16px, calc(16px + (100vh - 650px) * 0.064), 32px);
  }
  .sa-step {
    --min-sec-y: min(clamp(36px, calc(36px + (100vh - 650px) * 0.144), 72px), max(36px, 5vw));   
  }
  .sa-step .min-h2, .sa-sec .min-h2 { font-size: var(--sa-h2); }
  .sa-sec .min-sec__head { margin-bottom: min(var(--min-head-gap), clamp(24px, calc(24px + (100vh - 650px) * 0.08), 44px)); }              
  .sa-sec.min-cta .min-actions { margin-top: min(clamp(24px, 3vw, 36px), clamp(20px, calc(20px + (100vh - 650px) * 0.064), 36px)); }   
  .sa-stage {
    margin-top: var(--sa-gap);
    width: min(100%, 1000px, max(440px, calc((100vh - var(--min-hd-h) - var(--min-safe-t) - var(--sa-h2) * 1.3 - var(--sa-gap) - 48px) * 1.456)));
    width: min(100%, 1000px, max(440px, calc((100svh - var(--min-hd-h) - var(--min-safe-t) - var(--sa-h2) * 1.3 - var(--sa-gap) - 48px) * 1.456)));
  }
}
@media (prefers-reduced-motion: reduce) {
  .sa-stage > canvas { display: none; }   
}
.sa-miss { aspect-ratio: auto; padding: clamp(18px, 2.2vw, 28px) 12px; background: #fff; }
.sa-miss__full { display: block; width: 100%; max-width: 1103px; height: auto; margin-inline: auto; border-radius: 4px; }
.sa-miss__pair { display: none; }
@media (min-width: 900px) {
  .sa-row { grid-template-columns: minmax(0, 1fr); }
  .sa-row > .va-row__text { text-align: center; }
  .sa-row > .va-row__text .min-chips { justify-content: center; }
  .sa-miss { width: 100%; margin-inline: auto; }
}
@media (min-width: 0px) {
  .sa-row { row-gap: var(--s4-g2, 16px); }
  .sa-row > .va-row__text .min-chips { margin-top: var(--sa-gap, 16px); }
}
@media (max-width: 899px) {
  .sa-miss { width: 100%; max-width: 477px; padding: 20px 12px; }   
  .sa-miss__full { display: none; }
  .sa-miss__pair { display: flex; align-items: flex-start; gap: 12px; max-width: 451px; margin-inline: auto; }   
  .sa-miss__pair > img { display: block; min-width: 0; height: auto; object-fit: cover; }
  .sa-miss__pair > img:first-child { flex: 222 1 0px; aspect-ratio: 222 / 274; object-position: 15.4% 50%; }   
  .sa-miss__pair > img:last-child { flex: 29 1 0px; aspect-ratio: 29 / 274; object-position: 47.4% 50%; }      
}
@media (min-width: 641px) {
  .sa-sec { --min-sec-y: min(clamp(56px, 7.5vw, 104px), clamp(64px, calc(64px + (100vh - 650px) * 0.16), 104px)); }
}
.s4-seg, .s4-chips { margin-top: 16px; }
.s4-stage {
  position: relative; overflow: hidden; margin: 16px auto 0;
  width: min(100%, 460px); aspect-ratio: 4 / 5;
  container-type: size;
  border: 1px solid var(--cm-line); border-radius: var(--cm-r-card); box-shadow: var(--cm-shadow-2);
  background:
    radial-gradient(ellipse 62% 86% at 0% 0%, var(--cm-glow-v), transparent 72%),
    radial-gradient(ellipse 62% 86% at 100% 0%, var(--cm-glow-1), transparent 72%),
    #fff;
}
.s4-shot {
  flex: none; margin: 0; overflow: hidden; box-sizing: border-box;
  background: #fff; border: 1px solid var(--cm-line-2); border-radius: 14px; box-shadow: var(--cm-shadow-2);
  height: 78%; aspect-ratio: var(--ar, 1);   
}
.s4-shot > img, .s4-shot > picture, .s4-shot > picture > img { display: block; width: 100%; height: 100%; object-fit: cover; }
@supports (width: 1cqw) {
  .s4-shot {
    --w: min(var(--mw, 46cqw), calc(var(--mh, 86cqh) * var(--ar, 1)), var(--nat, 4000px));
    width: var(--w); height: auto;
  }
}
.s4-shot--scr { --mw: 30cqw; border-radius: 20px; }            
.s4-shot--zoom { --mw: 48cqw; }                                
.s4-shot--web { --mw: 92cqw; border-radius: 12px; }            
.s4-shot--cal { --ar: 2.0896; --nat: 886px; }   
.s4-pan--web { padding: 0 2cqw; }
.s4-wide { --mw: 95cqw; }
.s4-wide > img { object-position: 23.33% 50%; }   
.s4-tri { flex: none; display: block; width: 9px; height: 11px; background: var(--cm-brand); clip-path: polygon(0 0, 100% 50%, 0 100%); }   
.s4-pan {
  position: absolute; inset: 0; margin: 0; display: flex; align-items: center; justify-content: center; gap: 2.4cqw; padding: 0 3cqw;
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity 140ms var(--cm-ease-out), visibility 0s linear 140ms, transform 0s linear 140ms;
}
.s4-pan.is-on {
  opacity: 1; visibility: visible; transform: none;
  transition: opacity var(--cm-t-rise) var(--cm-ease-out) 90ms, transform var(--cm-t-rise) var(--cm-ease-out) 90ms, visibility 0s;
}
.s4-pair { display: none; }
.s4-flow {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 1.4cqw; padding: 0 1.6cqw;
  --fh: min(88cqh, calc((91.2cqw - 18px) / 2.3908));
}
.s4-shot--tag { --mw: 24cqw; --mh: 88cqh; border: 0; }
.s4-shot--form { --mw: 30cqw; --mh: 78cqh; border-radius: 16px; }
.s4-shot--panel { --mw: 35cqw; border-radius: 12px; }
@media (min-width: 960px) {
  @supports (width: 1cqw) { .s4-flow > .s4-shot { --w: calc(var(--fh) * var(--ar)); } }
}
.s4-sec { --s4-vh: 100vh; --s4-bar: 48px; }   
@supports (height: 100svh) { .s4-sec { --s4-vh: 100svh; } }
@media (min-width: 641px) and (max-width: 860px) { .s4-sec { --s4-bar: 44px; } }   
@media (min-width: 641px) {
  .s4-sec, .sa-sec { --s4-g2: clamp(14px, calc(14px + (100vh - 650px) * 0.05), 22px); }   
  .s4-chips { min-height: var(--s4-bar); align-content: center; }
  .s4-sec {
    --s4-h: clamp(340px, calc((var(--s4-vh) - var(--min-hd-h) - var(--min-safe-t) - var(--sa-h2) * 1.3 - var(--sa-gap) - var(--s4-bar) - var(--s4-g2) - 48px) * 0.93), 520px);
  }
  .s4-seg, .s4-chips { margin-top: var(--sa-gap); }
  .s4-stage {
    margin-top: var(--s4-g2); aspect-ratio: auto; border-radius: var(--va-stage-r);
    height: min(var(--s4-h), 58vw); width: min(100%, 1000px, calc(var(--s4-h) * 2.1));   
  }
}
@media (max-width: 959px) {
  .s4-stage--flow { width: min(100%, 460px); height: auto; aspect-ratio: auto; container-type: inline-size; }
  .s4-flow { position: static; flex-direction: column; gap: 16px; padding: 24px 0 26px; }
  .s4-flow > .s4-tri { width: 11px; height: 9px; clip-path: polygon(0 0, 100% 0, 50% 100%); }
  .s4-flow > .s4-shot { height: auto; width: min(72%, 296px); }
  @supports (width: 1cqw) { .s4-flow > .s4-shot { width: var(--w); } }
  .s4-shot--tag { --w: min(52cqw, 240px); }
  .s4-shot--form { --w: min(72cqw, 300px); }
  .s4-shot--panel { --w: min(92cqw, 385px); }   
}
@media (max-width: 640px) {
  .s4-pan { padding: 0; }
  .s4-pan--phone { align-items: flex-start; padding-top: 6cqw; }
  .s4-pan--phone > .s4-tri, .s4-pan--phone > .s4-shot--zoom { display: none; }
  .s4-pan--phone::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 12%; background: linear-gradient(rgba(255, 255, 255, 0), #fff); pointer-events: none; }
  .s4-shot--scr { --mw: 78cqw; --mh: 400cqh; border-radius: 22px; }
  .s4-wide { display: none; }
  .s4-pair {
    display: flex; align-items: flex-start; gap: 10px; box-sizing: border-box; width: min(97%, 366px); padding: 8px;   
    background: #fff; border: 1px solid var(--cm-line-2); border-radius: 12px; box-shadow: var(--cm-shadow-2);
  }
  .s4-pair > img { display: block; min-width: 0; height: auto; object-fit: cover; }
  .s4-pair > img:first-child { flex: 58.67 1 0px; aspect-ratio: 58.67 / 260; object-position: 87.07% 50%; }   
  .s4-pair > img:last-child { flex: 152.33 1 0px; aspect-ratio: 152.33 / 260; object-position: 26.85% 50%; }   
  .s4-shot--cal { --ar: 0.8325; --nat: 353px; --mw: 91cqw; }   
}
@media (prefers-reduced-motion: reduce) {
  .s4-pan, .s4-pan.is-on { transform: none; transition: opacity 160ms ease, visibility 0s; }   
}
:root {
  --t-h-weight: 700; --t-h-color: var(--cm-ink); --t-em: var(--cm-brand); --t-em-weight: 700;
  --min-ls-h1: -0.04em; --min-ls-h2: -0.035em;
}
.min-page main :is(h1, h2) { font-weight: var(--t-h-weight); color: var(--t-h-color); line-height: 1.24; word-break: keep-all; }
.min-page main :is(h1, h2) em { font-style: normal; font-weight: var(--t-em-weight); color: var(--t-em); }
.min-page main .min-faq__item > summary { letter-spacing: -0.02em; }
@media (max-width: 480px) { .sa-step .min-h2 > .min-nb { display: block; } }
@media (max-width: 339px) { .sa-hero .min-h1 { font-size: 28px; } }
.min-page main .min-chip {
  background: #fff; box-shadow: inset 0 0 0 1px var(--cm-line-2);
  color: var(--cm-ink-3); font-size: 15px; font-weight: 500; letter-spacing: -0.015em;
}
.s4-seg.va-seg { gap: 2px; padding: 0; border-radius: 0; background: transparent; }
.s4-seg .va-seg__btn {
  position: relative; min-height: 48px; padding: 0 16px; border-radius: 8px; background: transparent; box-shadow: none;   
  color: var(--cm-ink-4); font-size: 17px; font-weight: 500; letter-spacing: -0.02em;
}
.s4-seg .va-seg__btn::after {
  content: ""; position: absolute; left: 16px; right: 16px; bottom: 6px; height: 2px; border-radius: 2px;
  background: var(--cm-brand); transform: scaleX(0); transform-origin: 50% 50%;
  transition: transform var(--cm-t-fast) var(--cm-ease-out);
}
.s4-seg .va-seg__btn[aria-pressed="true"] { background: transparent; box-shadow: none; color: var(--cm-ink); }
.s4-seg .va-seg__btn[aria-pressed="true"]::after { transform: scaleX(1); }
@media (max-width: 860px) {
  .s4-seg.va-seg { gap: 0; }
  .s4-seg .va-seg__btn { min-height: 44px; padding: 0 11px; background: transparent; color: var(--cm-ink-4); font-size: 15px; }
  .s4-seg .va-seg__btn::after { left: 11px; right: 11px; bottom: 5px; }
  .s4-seg .va-seg__btn[aria-pressed="true"] { background: transparent; color: var(--cm-ink); }
}
@media (max-width: 600px) { .s4-seg.va-seg { max-width: 316px; } }   
@media (prefers-reduced-motion: reduce) { .s4-seg .va-seg__btn::after { transition: none; } }
