.ns-rep{max-width:820px;margin:0 auto;padding:48px 20px 72px;color:var(--text-primary);font-family:var(--font-sans)}
.ns-rep-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;color:#5f6b7a;margin-bottom:14px}
.ns-rep-meta img{width:24px;height:16px;border-radius:2px;box-shadow:0 0 0 1px #e2e6ea}
.ns-rep-tag{font-size:12px;padding:3px 10px;border-radius:999px;background:#fdecec;color:#c62828;font-weight:600}
.ns-rep-hdr{margin:8px 0 22px}
.ns-rep-hdr img{display:block;width:100%;height:auto}
.ns-rep h1{word-break:auto-phrase;text-wrap:balance;font-family:var(--font-serif);font-size:clamp(19px,2.4vw,24px);line-height:1.5;font-weight:700;margin:0 0 14px;letter-spacing:.02em}
.ns-rep-sub{font-size:13px;color:#5f6b7a;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:12px 0;margin-bottom:28px;display:flex;gap:6px 20px;flex-wrap:wrap;word-break:auto-phrase}
.ns-rep-pdf{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--primary-light);border:1px solid #cfdcef;border-radius:8px;padding:16px 20px;margin:0 0 36px}
.ns-rep-pdf .t{font-size:14px;color:#33475b;line-height:1.6;word-break:auto-phrase}
.ns-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;font-weight:600;font-size:15px;border-radius:6px;padding:12px 22px;text-decoration:none}
.ns-btn-o{border:1.5px solid var(--primary);color:var(--primary);background:#fff}
.ns-btn-f{background:var(--primary);color:#fff;border:1.5px solid var(--primary)}
.ns-rep-body h2{font-family:var(--font-serif);font-size:21px;font-weight:700;color:var(--primary);margin:40px 0 14px;padding-left:14px;border-left:4px solid var(--primary);line-height:1.5}
.ns-rep-body h3{font-size:17px;font-weight:700;color:var(--text-primary);margin:28px 0 10px;line-height:1.6}
.ns-rep-body p{font-size:16px;line-height:2;margin:0 0 18px;text-align:left;text-wrap:pretty}
.ns-rep-figure{margin:28px 0 32px;border:1px solid var(--border);border-radius:8px;padding:14px;background:#fff}
.ns-rep-figure img{display:block;width:100%;height:auto}
.ns-rep-figure:not(.wide) img{max-width:520px;margin:0 auto}
.ns-rep-disc{margin-top:44px;background:#f6f7f9;border-radius:8px;padding:20px 22px;font-size:12.5px;line-height:1.9;color:#4a5562;text-align:left;text-wrap:pretty}
.ns-rep-disc .co{font-weight:600;color:#33475b;margin-bottom:8px;word-break:auto-phrase}
.ns-rep-cta{margin-top:36px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.ns-rep .nw{white-space:nowrap}
.ns-rep .ib{display:inline-block}
@media(max-width:600px){
.ns-rep{padding:32px 16px 56px}
.ns-rep-pdf{flex-direction:column;align-items:stretch}
.ns-rep-body h2{font-size:19px}
.ns-rep-body p{font-size:15.5px;line-height:1.95}
.ns-rep-cta .ns-btn{flex:1 1 100%}
.ns-rep-figure{padding:10px}
.ns-rep-figure.wide .sc{overflow-x:auto}
.ns-rep-figure.wide img{width:640px;max-width:none}
}

/* マーケット情報 hero, same as the listing page (theme page-listing.css only loads on that page) */
.page-hero {
    position: relative;
    background: linear-gradient(135deg, #1b5daa 0%, #14478a 50%, #0e3566 100%);
    padding: 56px 0 48px;
    overflow: hidden;
    text-align: center;
}

.page-hero-shapes {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}

.ph-shape {
    position: absolute;
    border-radius: 50%;
    opacity: 0.5;
}

.ph-s1 {
    width: 300px;
    height: 300px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    top: -80px;
    right: -60px;
}

.ph-s2 {
    width: 180px;
    height: 180px;
    background: rgba(255, 255, 255, 0.03);
    bottom: -40px;
    left: -40px;
}

.page-hero-content {
    position: relative;
    z-index: 2;
}

.page-hero-label {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
    letter-spacing: 0.1em;
    margin-bottom: 8px;
}

.page-hero-title {
    font-family: var(--font-serif);
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 10px;
}
