.pgss{ --accent:#ff5e62; max-width:440px; margin:0 auto;
font-family:'Zen Kaku Gothic New','Hiragino Sans','Yu Gothic',sans-serif; color:#2d2f36; }
.pgss *{ box-sizing:border-box; }
.pgss__stage{ position:relative; border-radius:16px; overflow:hidden; aspect-ratio:4/3;
background:#000; touch-action:pan-y; user-select:none; }
.pgss__track{ display:flex; height:100%; margin:0; padding:0; list-style:none;
transition:transform .5s cubic-bezier(.22,.61,.36,1); }
.pgss__slide{ position:relative; flex:0 0 100%; height:100%;
background:linear-gradient(135deg,var(--g1,#ff9a56),var(--g2,#ff5e62)); }
.pgss__slide img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.pgss__slide::after{ content:'写真をドロップ'; position:absolute; left:16px; bottom:14px;
font-family:ui-monospace,monospace; font-size:12px; color:rgba(255,255,255,.85); }
.pgss__slide:has(img)::after{ display:none; }
.pgss__progress{ position:absolute; top:0; left:0; right:0; height:4px;
background:rgba(255,255,255,.35); z-index:3; }
.pgss__progress span{ display:block; height:100%; width:0; background:var(--accent); }
.pgss__nav{ position:absolute; top:50%; transform:translateY(-50%); width:38px; height:38px;
border-radius:50%; border:0; background:rgba(255,255,255,.88); color:var(--accent);
font-size:20px; line-height:1; cursor:pointer; display:flex; align-items:center;
justify-content:center; box-shadow:0 2px 8px rgba(0,0,0,.2); z-index:4; }
.pgss__prev{ left:12px; } .pgss__next{ right:12px; }
.pgss__play{ position:absolute; right:12px; bottom:12px; height:30px; min-width:30px;
padding:0 11px; border-radius:99px; border:0; background:rgba(0,0,0,.48); color:#fff;
font-size:11px; cursor:pointer; z-index:4; }
.pgss__caption{ margin-top:16px; }
.pgss__title{ margin:0; font-family:'Zen Maru Gothic',sans-serif; font-size:19px; font-weight:700; }
.pgss__desc{ margin:5px 0 0; font-size:13px; line-height:1.75; color:#6b7280; }
.pgss__dots{ display:flex; gap:7px; justify-content:center; margin-top:16px; }
.pgss__dot{ width:7px; height:7px; padding:0; border:0; border-radius:99px;
background:rgba(0,0,0,.14); cursor:pointer; transition:all .3s ease; }
.pgss__dot.is-active{ width:20px; background:var(--accent); }
@keyframes pgssGrow{ from{width:0} to{width:100%} }