/* UG Success Ads – ポータル部品（一覧・サイドバー・カード） */
.ugp-body{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:28px;align-items:start}
@media (max-width:900px){.ugp-body{grid-template-columns:1fr}}
.ugp-main{display:grid;gap:30px;min-width:0}
.ugp-side{display:grid;gap:18px}

.ugp-sec{display:grid;gap:14px}
.ugp-sech{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:2px solid var(--ugp-navy,#1d3557);padding-bottom:8px}
.ugp-sech h2{font-size:1.15rem;margin:0;line-height:1.4}
.ugp-sech span{font-size:.82rem;color:var(--ugp-muted,#5b6679)}
.ugp-clear{font-size:.82rem;font-weight:700;color:var(--ugp-navy,#1d3557)}

.ugp-ctabs{display:flex;flex-wrap:wrap;gap:6px}
.ugp-ctabs a{border:1px solid var(--ugp-line,#d9dfe7);background:#fff;border-radius:999px;padding:4px 16px;font-size:.82rem;color:inherit;text-decoration:none}
.ugp-ctabs a:hover{border-color:var(--ugp-navy,#1d3557)}
.ugp-ctabs a.is-on{background:var(--ugp-navy,#1d3557);border-color:var(--ugp-navy,#1d3557);color:#fff;font-weight:700}

.ugp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.ugp-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--ugp-line,#d9dfe7);border-radius:8px;overflow:hidden;text-decoration:none!important;color:inherit;transition:box-shadow .15s,transform .15s}
.ugp-card:hover{box-shadow:0 8px 22px rgba(20,35,60,.12);transform:translateY(-2px)}
.ugp-card-img{aspect-ratio:16/10;max-width:100%;overflow:hidden;background:#eef1f5}
.ugp-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.ugp-ph{display:grid;place-items:center;width:100%;height:100%;color:#fff;font-weight:900;font-size:1.5rem;letter-spacing:.04em}
.ugp-card-body{padding:12px 14px 14px;display:grid;gap:4px}
.ugp-card-body h3{font-size:.98rem;line-height:1.45;margin:0}
.ugp-card-body p{margin:0;font-size:.82rem;color:var(--ugp-muted,#5b6679);line-height:1.6}
.ugp-chip{justify-self:start;font-size:.7rem;font-weight:700;padding:1px 9px;border-radius:999px;background:#e3ecfb;color:#1e4fa8}
.ugp-new{font-size:.62rem;font-weight:700;color:#fff;background:var(--ugp-seal,#c8372d);border-radius:3px;padding:0 5px;margin-left:6px;vertical-align:middle}

.ugp-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.ugp-cats a{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#fff;border:1px solid var(--ugp-line,#d9dfe7);border-radius:6px;padding:11px 13px;font-size:.88rem;font-weight:600;color:inherit;text-decoration:none}
.ugp-cats a:hover{border-color:var(--ugp-navy,#1d3557)}
.ugp-cats em{font-style:normal;font-weight:400;font-size:.75rem;color:var(--ugp-muted,#5b6679)}

.ugp-empty{background:#fff;border:1px dashed var(--ugp-line,#d9dfe7);border-radius:8px;padding:28px;text-align:center;color:var(--ugp-muted,#5b6679)}
.ugp-pager{display:flex;gap:6px;flex-wrap:wrap}
.ugp-pager .page-numbers{border:1px solid var(--ugp-line,#d9dfe7);background:#fff;border-radius:6px;padding:4px 11px;text-decoration:none;color:inherit}
.ugp-pager .current{background:var(--ugp-navy,#1d3557);color:#fff;border-color:var(--ugp-navy,#1d3557)}

.ugp-box{background:#fff;border:1px solid var(--ugp-line,#d9dfe7);border-radius:8px;overflow:hidden}
.ugp-box h3{font-size:.9rem;margin:0;padding:10px 14px;border-bottom:1px solid var(--ugp-line,#d9dfe7)}
.ugp-bx{padding:14px}
.ugp-cta{background:var(--ugp-navy,#1d3557);border:0;color:#fff}
.ugp-cta .ugp-bx{display:grid;gap:8px;justify-items:start}
.ugp-cta strong{font-size:1.02rem;line-height:1.45}
.ugp-cta p{margin:0;font-size:.82rem;opacity:.9}
.ugp-cta a{background:var(--ugp-seal,#c8372d);color:#fff;text-decoration:none;border-radius:6px;padding:8px 16px;font-weight:700;font-size:.88rem}
.ugp-rank{list-style:none;margin:0;padding:0}
.ugp-rank li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;padding:9px 14px;border-bottom:1px solid var(--ugp-line,#d9dfe7);font-size:.85rem}
.ugp-rank li:last-child{border-bottom:0}
.ugp-rank i{font-style:normal;font-weight:900;text-align:center;color:var(--ugp-muted,#5b6679)}
.ugp-rank li:nth-child(-n+3) i{color:var(--ugp-seal,#c8372d)}
.ugp-rank a{color:inherit;text-decoration:none}
.ugp-rank a:hover{text-decoration:underline}
.ugp-rank small{display:block;font-size:.72rem;color:var(--ugp-muted,#5b6679)}
.ugp-news{list-style:none;margin:0;padding:0}
.ugp-news li{padding:8px 14px;border-bottom:1px solid var(--ugp-line,#d9dfe7);font-size:.82rem}
.ugp-news li:last-child{border-bottom:0}
.ugp-news time{display:block;font-size:.72rem;color:var(--ugp-muted,#5b6679)}
.ugp-news a{color:inherit}

/* 広告詳細の上部（画像＋情報） */
.ugsa-ad-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:26px;align-items:start;margin-bottom:22px}
@media (max-width:760px){.ugsa-ad-top{grid-template-columns:1fr}}
.ugsa-ad-img{aspect-ratio:4/3;max-width:100%;border-radius:10px;overflow:hidden;background:#eef1f5}
.ugsa-ad-img img{width:100%;height:100%;object-fit:cover;display:block}
.ugsa-ad-img .ugp-ph{font-size:2.6rem}
.ugsa-ad-info{display:grid;gap:10px;align-content:start}
.ugsa-ad-info .ugsa-btn{text-decoration:none;display:inline-block}
@media (prefers-reduced-motion:reduce){.ugp-card{transition:none}}

/* 掲載の流れ */
.ugp-flow{list-style:none;margin:0;padding:6px 14px 10px;counter-reset:none}
.ugp-flow li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;align-items:start;padding:8px 0;border-bottom:1px dashed var(--ugp-line,#d9dfe7);font-size:.85rem;line-height:1.55}
.ugp-flow li:last-child{border-bottom:0;font-weight:700;color:var(--ugp-seal,#c8372d)}
.ugp-flow i{font-style:normal;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ugp-navy,#1d3557);color:#fff;font-size:.75rem;font-weight:700}

/* 申込ページの2カラム（どのテーマでも） */
.ugp-2col{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start}
.ugp-2col-main{min-width:0}
.ugp-2col .ugp-side{position:sticky;top:16px}
@media (max-width:900px){.ugp-2col{grid-template-columns:1fr}.ugp-2col .ugp-side{position:static}}
