/* ================================================
   plus-wealth.com v2 — Japanese Finance Magazine
   Navy #0E2340 · Red #CC0000 · Gold #C8962E
   Warm off-white #F6F3EE
   ================================================ */
:root{
    --pw-navy:  #0E2340;
    --pw-red:   #CC0000;
    --pw-gold:  #C8962E;
    --pw-bg:    #F6F3EE;
    --pw-white: #FFFFFF;
    --pw-light: #EDE9E0;
    --pw-bdr:   #D5CFC6;
    --pw-muted: #6B6258;
    --pw-text:  #1A1A1A;
}

html{scroll-behavior:smooth}

/* 最上部 red accent bar */
body::before{
    content:'';display:block;position:fixed;
    top:0;left:0;right:0;height:4px;
    background:var(--pw-red);z-index:99999;
}
body{
    background:var(--pw-bg)!important;
    color:var(--pw-text)!important;
    font-family:'Noto Sans JP',sans-serif!important;
    font-size:0.9rem!important;
    line-height:1.85!important;
    margin-top:4px!important;
    -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{
    font-family:'Noto Serif JP',serif!important;
    color:var(--pw-navy)!important;
    font-weight:600!important;
    letter-spacing:.02em;
}

/* ── Header ── */
.ct-header,.site-header,#masthead,
[data-row="top"],[data-row="main"],[data-row="bottom"]{
    background:var(--pw-navy)!important;
    border-bottom:3px solid var(--pw-gold)!important;
    margin-top:4px!important;
}
.ct-header a,.site-header a,header a{color:#E8E4DC!important}
.site-title a{
    font-family:'Noto Serif JP',serif!important;
    font-weight:600!important;font-size:1.1rem!important;
    letter-spacing:.1em!important;color:#E8E4DC!important;
}
.ct-main-nav>ul>li>a,.main-navigation ul li a{
    color:rgba(232,228,220,.8)!important;
    font-size:.82rem!important;font-weight:400!important;
    letter-spacing:.06em!important;
}
.ct-main-nav>ul>li>a:hover,.main-navigation ul li a:hover{
    color:var(--pw-gold)!important;
}

/* ── Hero (structured, no wave) ── */
.pw-hero{
    background:var(--pw-navy);
    border-bottom:1px solid rgba(200,150,46,.35);
}
.pw-hero-inner{
    max-width:1100px;margin:0 auto;
    padding:32px 24px;
    display:flex;align-items:center;gap:28px;
}
.pw-hero-kicker{
    display:block;font-size:.6rem;letter-spacing:4px;
    text-transform:uppercase;color:var(--pw-gold);
    margin-bottom:10px;font-family:'Noto Sans JP',sans-serif;font-weight:300;
}
.pw-hero-ttl{
    font-family:'Noto Serif JP',serif!important;
    font-size:1.55rem!important;font-weight:600!important;
    color:#EDE8DF!important;line-height:1.5!important;
    margin:0 0 10px!important;
}
.pw-hero-sub{
    font-size:.78rem!important;
    color:rgba(237,232,223,.5)!important;
    margin:0!important;line-height:1.7;
}
.pw-hero-rule{
    display:inline-block;width:36px;height:2px;
    background:var(--pw-gold);margin-bottom:14px;
}

/* ── Category nav bar ── */
.pw-cat-nav{
    background:var(--pw-light);
    border-bottom:2px solid var(--pw-bdr);
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    white-space:nowrap;
}
.pw-cat-nav-inner{
    max-width:1100px;margin:0 auto;padding:0 20px;
    display:inline-flex;gap:0;
}
.pw-cat-nav a{
    display:inline-block;padding:9px 16px;
    font-size:.76rem;font-weight:500;
    color:var(--pw-muted)!important;
    text-decoration:none!important;
    border-right:1px solid var(--pw-bdr);
    transition:background .15s,color .15s;
}
.pw-cat-nav a:first-child{border-left:1px solid var(--pw-bdr)}
.pw-cat-nav a:hover{background:var(--pw-white);color:var(--pw-navy)!important}
.pw-cat-nav a.active{
    background:var(--pw-white);color:var(--pw-red)!important;
    font-weight:700;border-top:2px solid var(--pw-red);margin-top:-2px;
}

/* ── Section label ── */
.pw-section-label{
    font-family:'Noto Serif JP',serif;
    font-size:1rem;font-weight:600;
    color:var(--pw-navy);
    padding:8px 0 8px 14px;
    border-left:4px solid var(--pw-red);
    margin-bottom:18px;
    letter-spacing:.04em;
}

/* ── Post list (Japanese news list style, NOT cards) ── */
article.type-post,.ct-post-card,.post-card{
    background:var(--pw-white)!important;
    border:none!important;
    border-bottom:1px solid var(--pw-bdr)!important;
    border-radius:0!important;
    box-shadow:none!important;
    padding:14px 0!important;
    overflow:visible!important;
    transition:background .15s!important;
    position:relative;
}
article.type-post:first-child,.ct-post-card:first-child{
    border-top:1px solid var(--pw-bdr)!important;
}
article.type-post::before{
    content:'';position:absolute;top:0;left:0;
    width:3px;height:0;background:var(--pw-red);
    transition:height .2s;
}
article.type-post:hover::before{height:100%}
article.type-post:hover{background:#FBF9F5!important}

.entry-title{font-family:'Noto Serif JP',serif!important;font-size:.95rem!important}
.entry-title a{
    color:var(--pw-navy)!important;font-weight:600!important;
    line-height:1.65!important;text-decoration:none!important;
    transition:color .2s!important;
}
.entry-title a:hover{color:var(--pw-red)!important}

.entry-meta,.posted-on,.entry-date{
    font-size:.7rem!important;color:var(--pw-muted)!important;
    letter-spacing:.04em!important;
}
.cat-links a{
    background:var(--pw-red)!important;color:#fff!important;
    font-size:.64rem!important;font-weight:700!important;
    padding:1px 8px!important;border-radius:2px!important;
    letter-spacing:.04em!important;text-decoration:none!important;
}

/* ── Sidebar ── */
.ct-sidebar .widget,#secondary .widget,aside .widget{
    background:var(--pw-white)!important;
    border:1px solid var(--pw-bdr)!important;
    border-top:3px solid var(--pw-navy)!important;
    border-radius:0!important;padding:18px!important;
    margin-bottom:20px!important;box-shadow:none!important;
}
.widgettitle,.widget-title{
    font-family:'Noto Serif JP',serif!important;
    font-size:.86rem!important;font-weight:600!important;
    color:var(--pw-navy)!important;
    padding-bottom:10px!important;
    border-bottom:1px solid var(--pw-bdr)!important;
    margin-bottom:14px!important;letter-spacing:.04em!important;
    text-transform:none!important;
}
.widgettitle::before,.widget-title::before{
    content:'■ ';color:var(--pw-red);font-size:.65em;
}

/* ── CTA Box (aligned, serious) ── */
.pw-cta{
    background:var(--pw-navy);border:none;border-radius:0;
    padding:22px 18px;text-align:left;margin-bottom:20px;
    position:relative;overflow:hidden;
}
.pw-cta::before{
    content:'';position:absolute;top:0;left:0;
    width:4px;height:100%;background:var(--pw-gold);
}
.pw-cta-label{
    font-size:.58rem;letter-spacing:4px;text-transform:uppercase;
    color:var(--pw-gold);margin-bottom:10px;
    margin-left:12px;display:block;
    font-family:'Noto Sans JP',sans-serif;
}
.pw-cta-title{
    font-family:'Noto Serif JP',serif;
    font-size:1rem;font-weight:600;color:#EDE8DF;
    line-height:1.65;margin-bottom:10px;margin-left:12px;
}
.pw-cta-body{
    font-size:.75rem;color:rgba(232,228,220,.6);
    line-height:1.9;margin-bottom:16px;margin-left:12px;
}
.pw-cta-btn{
    display:block;background:var(--pw-gold);
    color:var(--pw-navy)!important;
    font-family:'Noto Sans JP',sans-serif;
    font-size:.78rem;font-weight:700;
    text-align:center;padding:10px 16px;
    border-radius:0;text-decoration:none!important;
    letter-spacing:.06em;transition:filter .2s;
}
.pw-cta-btn:hover{filter:brightness(1.1)}

/* ── Single post ── */
.single .entry-content{font-size:.92rem;line-height:2.0;font-weight:400}
.single .entry-content h2{
    border-left:4px solid var(--pw-red)!important;
    background:#F0EDE6!important;
    padding:10px 16px!important;
    margin:44px 0 18px!important;
    font-size:1.05rem!important;border-radius:0!important;
}
.single .entry-content h3{
    border-bottom:2px solid var(--pw-navy)!important;
    padding-bottom:6px!important;
    margin:34px 0 14px!important;font-size:.98rem!important;
}
.single .entry-content blockquote{
    background:#F8F5EF!important;
    border-left:4px solid var(--pw-gold)!important;
    border-radius:0!important;padding:16px 20px!important;
    font-style:normal!important;
    border-top:1px solid var(--pw-bdr)!important;
    border-right:1px solid var(--pw-bdr)!important;
    border-bottom:1px solid var(--pw-bdr)!important;
}

/* ── Footer ── */
.ct-footer,.site-footer,#colophon{
    background:var(--pw-navy)!important;
    border-top:3px solid var(--pw-gold)!important;
    color:rgba(232,228,220,.42)!important;
    font-size:.76rem!important;padding:28px 20px!important;
}
.ct-footer a,.site-footer a{
    color:rgba(200,150,46,.7)!important;text-decoration:none!important;
}
.ct-footer a:hover,.site-footer a:hover{color:var(--pw-gold)!important}

/* ── Back to top (square, serious) ── */
.pw-backtop{
    position:fixed;bottom:30px;right:24px;
    width:38px;height:38px;
    background:var(--pw-red);color:#fff!important;
    text-align:center;line-height:38px;
    font-size:.85rem;font-weight:700;
    text-decoration:none!important;
    opacity:0;pointer-events:none;
    transition:opacity .3s,background .2s;
    z-index:9998;border-radius:0;
}
.pw-backtop.show{opacity:1;pointer-events:auto}
.pw-backtop:hover{background:#A80000;color:#fff!important}

/* ── Reading progress ── */
.pw-progress{
    position:fixed;top:4px;left:0;height:3px;
    background:var(--pw-gold);width:0;z-index:99998;
    transition:width .1s linear;
}
