/* Re:Life Lab — Bridge (Stage 1.5, hand-written).
   The article body keeps its own HTML. inc/bridge.php only adds a class name to known blocks; this file gives those blocks the editorial look
   (type, space, thin rules — no coloured boxes). Inline styles written in the editor are overridden here, which is why !important is used.
   A block without a class keeps its original display. */
body.rl-bridge .entry-content .rl-b{box-shadow:none!important;border-radius:0!important}
body.rl-bridge .entry-content strong{font-weight:700;color:var(--ink)}
body.rl-bridge .entry-content>ul{list-style:none;margin:0 0 1.5em;padding:0}
body.rl-bridge .entry-content>ul>li{position:relative;padding:3px 0 3px 18px;margin:0}
body.rl-bridge .entry-content>ul>li::before{content:"";position:absolute;left:3px;top:1.05em;width:7px;height:2px;background:var(--ochre)}
body.rl-bridge .entry-content>ol{margin:0 0 1.5em;padding-left:1.5em}
body.rl-bridge .entry-content>ol>li::marker{font-family:var(--f-num);font-weight:700;color:var(--ochre-t)}
body.rl-bridge .entry-content>p[style*="font-size:12px"],body.rl-bridge .entry-content>p[style*="font-size:13px"],body.rl-bridge .entry-content>p[style*="font-size: 12px"],body.rl-bridge .entry-content>p[style*="font-size: 13px"]{font-size:13px!important;line-height:1.75;color:var(--sub)!important}
body.rl-bridge .entry-content figure img,body.rl-bridge .entry-content>p>img{border:1px solid var(--line)}

/* ---- PR notice: already stated in the Trust Line; here it is small print ---- */
body.rl-bridge .entry-content .rl-b--pr{background:none!important;border:0!important;padding:0!important;margin:0 0 1.2em!important;font-size:13px!important;line-height:1.75!important;color:var(--sub)!important;font-weight:400!important}
body.rl-bridge .entry-content .rl-b--pr *{font-size:13px!important;color:var(--sub)!important;font-weight:400!important;margin:0!important}

body.rl-bridge .entry-content .rl-b--prq{border:0!important;padding:0!important;margin:0 0 1.35em!important;background:none!important}
body.rl-bridge .entry-content .rl-b--prq>p:first-child,body.rl-bridge .entry-content .rl-b--prq>p:first-child strong{font-size:13px!important;line-height:1.75!important;color:var(--sub)!important;font-weight:400!important}
body.rl-bridge .entry-content .rl-b--prq>p{margin:0 0 1.2em}

/* ---- boxes → lines ---- */
body.rl-bridge .entry-content .rl-b--box{background:none!important;border:0!important;margin:26px 0!important;font-size:15px;line-height:1.85}
body.rl-bridge .entry-content .rl-b--box :is(p,li,span,div,ul,ol,h3,h4,em,b){color:inherit!important;background:none!important;border-color:var(--line)!important}
body.rl-bridge .entry-content .rl-b--box strong{color:var(--ink)!important;background:none!important}
body.rl-bridge .entry-content .rl-b--box :is(p,li){font-size:15px!important;line-height:1.85!important}
body.rl-bridge .entry-content .rl-b--box>:first-child{margin-top:0!important}
body.rl-bridge .entry-content .rl-b--box>:last-child{margin-bottom:0!important}
body.rl-bridge .entry-content .rl-b--box ul{list-style:none;margin:6px 0;padding:0!important}
body.rl-bridge .entry-content .rl-b--box ul li{position:relative;padding:3px 0 3px 18px;margin:0}
body.rl-bridge .entry-content .rl-b--box ul li::before{content:"";position:absolute;left:3px;top:1.05em;width:7px;height:2px;background:var(--ochre)}
body.rl-bridge .entry-content .rl-b--box ol{margin:6px 0;padding-left:1.4em!important}
/* note / supplementary */
body.rl-bridge .entry-content .rl-b--note{border-left:2px solid var(--navy-line)!important;padding:2px 0 2px 16px!important}
body.rl-bridge .entry-content p.rl-b--note{font-size:15px!important}
/* warning: ochre line + label + text (no yellow surface) */
body.rl-bridge .entry-content .rl-b--warn{border-left:3px solid var(--ochre)!important;padding:2px 0 2px 16px!important}
body.rl-bridge .entry-content .rl-b--warn::before{content:"注意";display:block;font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--ochre-t);line-height:1.5;margin-bottom:4px}
/* conclusion: the same form as the Quick Answer — navy rule, short ochre rule, ink text */
body.rl-bridge .entry-content .rl-b--concl{position:relative;border-top:2px solid var(--navy)!important;border-bottom:1px solid var(--line)!important;padding:16px 0 16px!important;color:var(--text)}
body.rl-bridge .entry-content .rl-b--concl::before{content:"";position:absolute;left:0;top:-2px;width:56px;height:2px;background:var(--ochre)}
body.rl-bridge .entry-content .rl-b--concl>:first-child,body.rl-bridge .entry-content .rl-b--concl>:first-child strong{font-size:17px!important;line-height:1.7!important;font-weight:700!important;color:var(--ink)!important}
body.rl-bridge .entry-content p.rl-b--concl{font-size:16px!important;font-weight:700;color:var(--ink)!important}
/* reading guide (この記事でわかること) */
body.rl-bridge .entry-content .rl-b--guide{border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;padding:14px 0!important}
body.rl-bridge .entry-content .rl-b--guide>:first-child,body.rl-bridge .entry-content .rl-b--guide>:first-child strong{font-size:13px!important;font-weight:700!important;letter-spacing:.1em;color:var(--ochre-t)!important;line-height:1.5!important;margin-bottom:6px!important}
/* 現場のひとこと: an existing paragraph in which the article speaks from shop-floor experience */
body.rl-bridge .entry-content .rl-b--memo{margin:26px 0;padding:2px 0 2px 18px;border-left:3px solid var(--ochre)}
body.rl-bridge .entry-content .rl-b--memo::before{content:"現場のひとこと";display:block;font-size:14px;font-weight:700;color:var(--ink);line-height:1.5;margin-bottom:6px}
/* sources */
body.rl-bridge .entry-content .rl-b--src{background:none!important;border:0!important;border-top:1px solid var(--line)!important;padding:14px 0 0!important;margin:30px 0!important;font-size:14px!important;line-height:1.8}
body.rl-bridge .entry-content .rl-b--src :is(p,li){font-size:14px!important;line-height:1.8!important}

/* ---- conversation: a reader's question and the desk's answer, light enough not to break the reading flow ---- */
body.rl-bridge .entry-content .rl-b--talk{display:grid!important;grid-template-columns:44px minmax(0,1fr);gap:0 12px!important;align-items:start!important;margin:26px 0!important}
body.rl-bridge .entry-content .rl-b--talk+.rl-b--talk{margin-top:-16px!important}
/* the picture may be written as <div><img>name</div>, as a bare <img>, or inside a <span>/<p>: the first child is always the speaker, the <div> after it is what is said */
body.rl-bridge .entry-content .rl-b--talk>*{grid-column:2;min-width:0}
body.rl-bridge .entry-content .rl-b--talk>:first-child{grid-column:1;grid-row:1;text-align:center;line-height:1.3;margin:0!important;padding:0!important}
body.rl-bridge .entry-content .rl-b--talk>p:empty,body.rl-bridge .entry-content .rl-b--talk>br{display:none}
/* the speaker's picture is found by WHERE it is (the first child, or inside it), not by its src: with lazy loading the src is a placeholder until the script has run, and the
   picture kept its original 60px / 100px in the 44px column and ran into what is said (Production Visual QA 2026-10-06) */
body.rl-bridge .entry-content .rl-b--talk>:first-child{overflow:hidden;max-width:44px}
body.rl-bridge .entry-content .rl-b--talk>img:first-child,body.rl-bridge .entry-content .rl-b--talk>:first-child img,body.rl-bridge .entry-content .rl-b--talk img:is([src*="character-"],[data-src*="character-"]){display:block;width:40px!important;height:40px!important;max-width:none;margin:0 auto 2px!important;border:1px solid var(--line)!important;border-radius:50%!important;object-fit:cover;box-sizing:border-box}
/* some articles write the size inline WITH !important (width:100px !important). A stylesheet cannot override that, and the Bridge never rewrites an <img>. The picture keeps its
   100px box and is drawn at 0.4 (= 40px); the negative margins give back the space the 100px box would take. Without this rule the picture covered the first 56px of what is said. */
body.rl-bridge .entry-content .rl-b--talk>img:first-child[style*="100px"][style*="important"],body.rl-bridge .entry-content .rl-b--talk>:first-child img[style*="100px"][style*="important"],body.rl-bridge .entry-content .rl-b--talk img:is([src*="character-"],[data-src*="character-"])[style*="100px"][style*="important"]{transform:scale(.4);transform-origin:0 0;margin:0 -60px -58px 2px!important;border-width:2.5px!important;max-width:none}
body.rl-bridge .entry-content .rl-b--talk>:first-child :is(div,span,p){font-size:13px!important;line-height:1.3;color:var(--sub)!important;margin:0!important}
body.rl-bridge .entry-content .rl-b--talk>:not(:first-child):is(div){grid-row:1;background:#fff!important;border:1px solid var(--line)!important;border-radius:3px!important;padding:10px 14px!important;max-width:none!important;margin:0!important}
body.rl-bridge .entry-content .rl-b--talk>:not(:first-child):is(div)::before,body.rl-bridge .entry-content .rl-b--talk>:not(:first-child):is(div)::after{content:none!important}
body.rl-bridge .entry-content .rl-b--talk>:not(:first-child):is(div) :is(p,span){font-size:15px!important;line-height:1.8!important;margin:0!important;color:var(--text)!important}
body.rl-bridge .entry-content .rl-b--talk-ed>:not(:first-child):is(div){background:#FBF6EC!important;border-color:var(--sand-line)!important}

/* ---- FAQ: question in bold with an ochre Q, answer in plain text; lines only ---- */
body.rl-bridge .entry-content .rl-b--faq{border:0!important;border-top:1px solid var(--line)!important;margin:22px 0!important;overflow:visible!important}
body.rl-bridge .entry-content .rl-b--faq>div{background:none!important;border:0!important;padding:0!important}
body.rl-bridge .entry-content .rl-b--faq>div:nth-child(odd){padding:14px 0 4px!important}
body.rl-bridge .entry-content .rl-b--faq>div:nth-child(odd) p{font-size:16px!important;line-height:1.65!important;font-weight:700!important;color:var(--ink)!important}
body.rl-bridge .entry-content .rl-b--faq>div:nth-child(even){padding:0 0 14px!important;border-bottom:1px solid var(--line)!important}
body.rl-bridge .entry-content .rl-b--faq>div:nth-child(even) p{font-size:15px!important;line-height:1.9!important}

/* ---- related articles written in the body: rows, not cards ---- */
body.rl-bridge .entry-content .rl-b--rel{margin:30px 0!important;padding:0!important;background:none!important;border:0!important}
body.rl-bridge .entry-content .rl-b--rel>p:first-child{border:0!important;padding:0 0 6px!important;margin:0!important;font-size:13px!important;font-weight:700!important;letter-spacing:.12em;color:var(--ochre-t)!important}
body.rl-bridge .entry-content .rl-b--rel>div,body.rl-bridge .entry-content .rl-b--rel>ul{display:block!important;border-top:1px solid var(--line);margin:0!important;padding:0!important;list-style:none}
body.rl-bridge .entry-content .rl-b--rel a{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;align-items:center;min-height:56px;max-width:none!important;padding:10px 0!important;background:none!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;text-decoration:none!important;color:var(--ink)!important}
body.rl-bridge .entry-content .rl-b--rel a::after{content:"→";font-family:var(--f-num);color:var(--ochre)}
body.rl-bridge .entry-content .rl-b--rel a img{display:none!important}
body.rl-bridge .entry-content .rl-b--rel a p{margin:0!important;padding:0!important;font-size:15px!important;line-height:1.65!important;font-weight:700;color:var(--ink)!important}
body.rl-bridge .entry-content .rl-b--rel li{margin:0;padding:0}
body.rl-bridge .entry-content .rl-b--rel li::before{content:none}

/* ---- action. Affiliate: navy (primary). Official / internal button: outline (secondary). href, rel, target and the link text are not touched. ---- */
body.rl-bridge .entry-content .rl-b--cta{margin:30px 0!important;padding:16px 0 14px!important;border-top:2px solid var(--navy)!important;border-bottom:1px solid var(--line)!important;background:none!important;text-align:left!important}
body.rl-bridge .entry-content .rl-b--cta p{border:0!important;padding-left:0!important;font-size:13px!important;line-height:1.7!important;color:var(--sub)!important;margin:8px 0 0!important;text-align:left!important}
body.rl-bridge .entry-content .rl-b--cta>p:first-child:not(:has(a)){font-size:15px!important;font-weight:700;color:var(--ink)!important;margin:0 0 10px!important}
body.rl-bridge .entry-content a[style*="background"]:not([style*="background:#fff"]):not([style*="background: #fff"]){--cb:#fff;--cc:var(--navy);--ca:var(--ochre);display:flex!important;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;width:100%;max-width:none!important;min-height:56px;margin:0!important;padding:8px 18px 8px 20px!important;background:var(--cb)!important;color:var(--cc)!important;border:1.5px solid var(--navy)!important;border-radius:var(--r,3px)!important;box-shadow:none!important;font-size:16px!important;font-weight:700!important;line-height:1.5!important;text-align:left!important;text-decoration:none!important;letter-spacing:0!important}
body.rl-bridge .entry-content a[style*="background"]:not([style*="background:#fff"]):not([style*="background: #fff"])::after{content:"→";flex:none;font-family:var(--f-num);font-weight:700;color:var(--ca)}
body.rl-bridge .entry-content a[style*="background"]:not([style*="background:#fff"]):not([style*="background: #fff"]):is([href*="a8.net"],[href*="valuecommerce"],[href*="accesstrade"],[href*="moshimo"],[href*="ck.jp.ap"],[href*="afl.rakuten"],[href*="amzn.to"],[href*="amazon.co.jp"]){--cb:var(--navy);--cc:#fff;--ca:var(--gold)}
body.rl-bridge .entry-content a[style*="background"]:not([style*="background:#fff"]):not([style*="background: #fff"]):is([href*="a8.net"],[href*="valuecommerce"],[href*="accesstrade"],[href*="moshimo"],[href*="ck.jp.ap"],[href*="afl.rakuten"],[href*="amzn.to"],[href*="amazon.co.jp"]):hover{--cb:var(--navy-d)}
/* three or more actions in one block: rows, so that the block does not become a wall of buttons */
body.rl-bridge .entry-content .rl-b--cta-list a[style*="background"]:not([style*="background:#fff"]):not([style*="background: #fff"]){--cb:transparent!important;--cc:var(--navy)!important;--ca:var(--ochre)!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;min-height:52px!important;padding:8px 0!important;font-size:15px!important}
body.rl-bridge .entry-content .rl-b--cta-list a[style*="background"]:not([style*="background:#fff"]):not([style*="background: #fff"])::after{content:"↗"}
body.rl-bridge .entry-content .rl-b--cta-list{padding-bottom:0!important;border-bottom:0!important}
body.rl-bridge .entry-content a[style*="background"]:focus-visible{outline:3px solid var(--ochre);outline-offset:3px}
body.rl-bridge .entry-content .rl-b--cta:not(.rl-b--cta-list) a[style*="background"]:not([style*="background:#fff"]):not([style*="background: #fff"])~a{margin-top:8px!important}
body.rl-bridge .entry-content .rl-b--cta br{display:none}

/* ---- tables: one HTML table; the display follows its purpose ---- */
body.rl-bridge .entry-content .rl-b--tb{margin:22px 0 30px!important;padding:0;border:0;max-width:100%}
body.rl-bridge .entry-content .rl-b--tb table,body.rl-bridge .entry-content table.rl-b--tb{width:100%!important;border-collapse:collapse!important;border:0!important;margin:0!important;font-size:14px!important;line-height:1.65;font-variant-numeric:tabular-nums;background:none}
body.rl-bridge .entry-content .rl-b--tb :is(th,td){text-align:left!important;vertical-align:top;padding:11px 10px!important;border:0!important;border-bottom:1px solid var(--line)!important;background:none!important;color:var(--text)!important;font-size:14px}
body.rl-bridge .entry-content .rl-b--tb tr{background:none!important}
body.rl-bridge .entry-content .rl-b--tb :is(table,th,td){white-space:normal!important}
body.rl-bridge .entry-content .rl-b--tb th{background:var(--navy-tint)!important;color:var(--ink)!important;font-weight:700;border-top:2px solid var(--navy)!important;border-bottom:1px solid var(--navy-line)!important;font-size:13px!important;line-height:1.5}
body.rl-bridge .entry-content .rl-b--tb thead~tbody th,body.rl-bridge .entry-content .rl-b--tb tr:not(:first-child) th{background:none!important;border-top:0!important;border-bottom:1px solid var(--line)!important;font-size:14px!important}
body.rl-bridge .entry-content .rl-b--tb td:first-child{color:var(--ink)!important;font-weight:700}
body.rl-bridge .entry-content .rl-tb--kv td:first-child{color:var(--sub)!important;font-weight:400;width:38%}
body.rl-bridge .entry-content .rl-b--tb strong{color:var(--ink)!important}
@media (max-width:767px){
  /* kv (2 columns) and c3 (label + 2 values) fit the screen. cmp: the label column stays in place and two value columns are visible at a time. wide: plain sideways scroll. */
  body.rl-bridge .entry-content table.rl-b--tb:is(.rl-tb--cmp,.rl-tb--wide){display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  body.rl-bridge .entry-content :is(div,figure).rl-b--tb:is(.rl-tb--cmp,.rl-tb--wide){overflow-x:auto;-webkit-overflow-scrolling:touch}
  body.rl-bridge .entry-content :is(div,figure).rl-b--tb:is(.rl-tb--cmp,.rl-tb--wide) table{display:table;width:auto!important;min-width:100%}
  body.rl-bridge .entry-content .rl-b--tb:is(.rl-tb--kv,.rl-tb--c3){overflow:visible}
  body.rl-bridge .entry-content .rl-b--tb:is(.rl-tb--kv,.rl-tb--c3) table,body.rl-bridge .entry-content table.rl-b--tb:is(.rl-tb--kv,.rl-tb--c3){display:table;table-layout:auto}
  body.rl-bridge .entry-content .rl-b--tb:is(.rl-tb--kv,.rl-tb--c3) :is(th,td){padding:10px 8px!important;overflow-wrap:anywhere;word-break:normal}
  body.rl-bridge .entry-content .rl-tb--c3 :is(th,td):first-child{width:27%}
  body.rl-bridge .entry-content .rl-tb--cmp :is(th,td){min-width:calc((100vw - 40px - 92px) / 2.12);box-sizing:border-box}
  body.rl-bridge .entry-content .rl-tb--cmp :is(th,td):first-child{position:sticky;left:0;z-index:1;min-width:92px;max-width:112px;background:var(--paper)!important;box-shadow:1px 0 0 var(--navy-line)}
  body.rl-bridge .entry-content .rl-tb--cmp tr:first-child th:first-child{background:var(--navy-tint)!important}
  body.rl-bridge .entry-content .rl-tb--wide :is(th,td){min-width:112px}
  body.rl-bridge .entry-content :is(.rl-tb--cmp,.rl-tb--wide){border-right:1px solid var(--line)!important}
  body.rl-bridge .entry-content :is(div,figure).rl-b--tb:is(.rl-tb--cmp,.rl-tb--wide)::before{content:"横に動かせます →";display:block;position:sticky;left:0;font-size:13px;line-height:1.5;color:var(--sub);text-align:right;padding-bottom:6px}
  body.rl-bridge .entry-content :is(.rl-tb--cmp,.rl-tb--wide):focus-visible{outline:3px solid var(--ochre);outline-offset:2px}
}
@media (min-width:768px){
  body.rl-bridge .entry-content .rl-b--tb table,body.rl-bridge .entry-content table.rl-b--tb{font-size:15px!important}
  body.rl-bridge .entry-content .rl-b--tb :is(th,td){font-size:15px}
  body.rl-bridge .entry-content .rl-b--tb th{font-size:13px!important}
  body.rl-bridge .entry-content .rl-b--tb td{min-width:5.5em}
  body.rl-bridge .entry-content .rl-b--tb{overflow:visible}
}
/* a table whose header row is written with <td>: the first row is the header */
body.rl-bridge .entry-content .rl-b--tb table:not(:has(th)) tr:first-child td,body.rl-bridge .entry-content table.rl-b--tb:not(:has(th)) tr:first-child td{background:var(--navy-tint)!important;color:var(--ink)!important;font-weight:700;border-top:2px solid var(--navy)!important;border-bottom:1px solid var(--navy-line)!important;font-size:13px!important;line-height:1.5}
body.rl-bridge .entry-content .rl-b--tb thead td{background:var(--navy-tint)!important;color:var(--ink)!important;font-weight:700;border-top:2px solid var(--navy)!important;border-bottom:1px solid var(--navy-line)!important;font-size:13px!important;line-height:1.5}
/* coloured emphasis written inline (red / orange text): ink with a quiet sand marker — emphasis stays, the alarm colour goes */
body.rl-bridge .entry-content :is(p,li,td)>:is(span,strong,b)[style*="color"]:not([style*="background"]){color:var(--ink)!important;background:linear-gradient(transparent 68%,#F1DFBA 68%)}
body.rl-bridge .entry-content .rl-b--cta a[style*="background"],body.rl-bridge .entry-content p>a[style*="background"]:only-child{min-width:100%}

/* ================= STAGE 1.6 — editorial polish ================= */
/* decorative emoji at the start of a box: the glyph stays in the HTML (aria-hidden); the brand accent (rule / label) takes its place */
body.rl-bridge .entry-content .rl-emo{display:none}
/* the page opens with a Quick Answer: the conclusion written near the top of the text reads as text, not as a second answer block */
body.rl-bridge .entry-content .rl-b--concl-lead{border:0!important;padding:0!important;margin:22px 0!important}
body.rl-bridge .entry-content .rl-b--concl-lead::before{content:none}
body.rl-bridge .entry-content .rl-b--concl-lead>:first-child,body.rl-bridge .entry-content .rl-b--concl-lead>:first-child strong{font-size:16px!important;line-height:1.8!important}
body.rl-bridge .entry-content p.rl-b--concl-lead{font-size:16px!important;line-height:1.9!important}
body.rl-bridge.rl-has-qa .entry-content .rl-b--guide :is(p,li){font-size:14px!important;line-height:1.75!important}
/* rhythm: type and space only */
body.rl-bridge .entry-content .rl-b--key{margin:1.9em 0 1.7em;padding-top:14px;background:linear-gradient(var(--ochre),var(--ochre)) left top/24px 2px no-repeat;font-size:17px;line-height:1.8}
body.rl-bridge .entry-content .rl-b--key strong{color:var(--ink)}
body.rl-bridge .entry-content .rl-b--q{margin:26px 0 .5em;padding-top:16px;border-top:1px solid var(--line);font-size:16px;line-height:1.7}
body.rl-bridge .entry-content .rl-b--q+p{font-size:15px;line-height:1.9}
body.rl-bridge .entry-content .rl-b--voice{margin:0 0 .7em;padding:1px 0 1px 14px;border-left:2px solid var(--line);font-size:15px;line-height:1.85;color:var(--sub)}
body.rl-bridge .entry-content .rl-b--voice+:not(.rl-b--voice){margin-top:1.5em}
body.rl-bridge .entry-content .rl-b--turn{margin-top:2.5em}
@media (min-width:768px){body.rl-bridge .entry-content .rl-b--key{font-size:18px}}
body.rl-bridge .entry-content .rl-b--sub{margin:1.8em 0 .5em;font-size:16px;line-height:1.7}
body.rl-bridge .entry-content .rl-b--sub strong{color:var(--ink)}
/* an action right under a heading or a conclusion: one rule, not two */
body.rl-bridge.rl-s16 .entry-content :is(h2,h3,.rl-b--concl:not(.rl-b--concl-lead))+.rl-b--cta{border-top:0!important;padding-top:0!important;margin-top:16px!important}
/* a repeated affiliate button directly under a heading (RELIFE_CTA_REPEAT): outline form, so that one action per passage reads as the primary one */
body.rl-bridge .entry-content .rl-b--cta-rep a[style*="background"]:not([style*="background:#fff"]):not([style*="background: #fff"])[href]{--cb:#fff!important;--cc:var(--navy)!important;--ca:var(--ochre)!important}
body.rl-bridge .entry-content table.rl-b--tb{margin:22px 0 30px!important}

/* ── 0.5.0 Minimal UX Refinement (the production look is kept: no new colour, font or component family) ── */
/* Related block: the repair is in the Bridge (rl_bridge_rel_repair); no row is hidden by CSS. A related frame that holds no link at all is not shown. */
body.rl-bridge .entry-content .rl-b--rel:not(:has(a[href])){display:none!important}

/* Official verify — an ordinary text block with a label. Same line language as the production note / memo blocks. */
body.rl-bridge .entry-content .rl-vf{margin:26px 0;padding:2px 0 2px 18px;border-left:3px solid var(--navy)}
body.rl-bridge .entry-content .rl-vf::before{content:"公式で確認";display:block;font-size:14px;font-weight:700;color:var(--ink);line-height:1.5;margin-bottom:6px}
body.rl-bridge .entry-content .rl-vf a[target="_blank"]::after{content:"\00a0↗";font-family:var(--f-num);color:var(--sub);font-size:.9em}
body.rl-bridge .entry-content .rl-vf a{display:inline-block;padding:3px 0}

/* Commercial — the production navy button stays. Only a plain line that says what the button is. */
body.rl-bridge .entry-content .rl-b--cta::before{content:"PR｜申込ページ（広告）";display:block;font-size:12px;letter-spacing:.08em;color:var(--sub);line-height:1.5;margin:0 0 8px}

/* Decision Anchor — the production memo block with another label */
body.rl-bridge .entry-content .rl-da{margin:26px 0;padding:2px 0 2px 18px;border-left:3px solid var(--ochre)}
body.rl-bridge .entry-content .rl-da::before{content:"ここまでの判断";display:block;font-size:14px;font-weight:700;color:var(--ink);line-height:1.5;margin-bottom:6px}
body.rl-bridge .entry-content .rl-da ul{margin:0 0 6px!important;padding-left:1.2em}
body.rl-bridge .entry-content .rl-da p{margin:0!important}

/* Next Best Action — the production "次に確認すること" rows (rl-nx), placed where a decision ends */
body.rl-bridge .entry-content .rl-nba{margin:34px 0}
body.rl-bridge .entry-content .rl-nba>p{font-size:15px!important;font-weight:700;color:var(--ink)!important;margin:0 0 8px!important}
body.rl-bridge .entry-content .rl-nba .rl-nx a{text-decoration:none!important;border-bottom:1px solid var(--line)!important;color:var(--ink)}
body.rl-bridge .entry-content .rl-nba .rl-nx a:first-of-type{border-top:1px solid var(--line)!important}
/* Mobile comparison — the point is to compare, not to scroll.
   Production gives every column the same width (about 114px on a 375px phone), so a long fee cell wraps into many short lines.
   Here a column gets the width its content needs (classes rl-c--s / --l / --xl are added by the Bridge from the length of the cell text),
   and a cell that starts with an amount shows the amount first and the note under it (spans rl-tb__v / rl-tb__s). PC is not touched. */
@media (max-width:767px){
  body.rl-bridge .entry-content :is(.rl-tb--cmp,.rl-tb--wide) :is(th,td){min-width:104px;word-break:auto-phrase;line-break:strict}
  body.rl-bridge .entry-content :is(.rl-tb--cmp,.rl-tb--wide) :is(th,td).rl-c--s{min-width:0;white-space:nowrap!important}
  body.rl-bridge .entry-content :is(.rl-tb--cmp,.rl-tb--wide) :is(th,td).rl-c--l{min-width:min(176px,calc(100vw - 150px))}
  body.rl-bridge .entry-content :is(.rl-tb--cmp,.rl-tb--wide) :is(th,td).rl-c--xl{min-width:min(212px,calc(100vw - 152px))}
  body.rl-bridge .entry-content :is(.rl-tb--cmp,.rl-tb--wide) :is(th,td):first-child{position:sticky;left:0;z-index:1;min-width:84px;max-width:108px;background:var(--paper)!important;box-shadow:1px 0 0 var(--navy-line)}
  body.rl-bridge .entry-content .rl-tb--wide :is(th,td):first-child{min-width:min(124px,36vw);max-width:132px}
  body.rl-bridge .entry-content :is(.rl-tb--cmp,.rl-tb--wide) tr:first-child th:first-child,body.rl-bridge .entry-content :is(.rl-tb--cmp,.rl-tb--wide) thead :is(th,td):first-child{background:var(--navy-tint)!important}
  body.rl-bridge .entry-content .rl-b--tb .rl-tb__v{display:block;color:var(--ink);white-space:nowrap}
  body.rl-bridge .entry-content .rl-b--tb .rl-tb__s{display:block;margin-top:2px;font-size:12.5px;line-height:1.6;color:var(--sub);font-weight:400}
  body.rl-bridge .entry-content .rl-b--tb .rl-tb__v+br{display:none}
  /* the production hint ("横に動かせます →") also for tables that have no wrapper */
  body.rl-bridge .entry-content table.rl-b--tb:is(.rl-tb--cmp,.rl-tb--wide)::before{content:"横に動かせます →";display:block;position:sticky;left:0;font-size:13px;line-height:1.5;color:var(--sub);text-align:right;padding-bottom:6px}
}
/* 2–3 column tables on the narrowest phones (under 360px): a little more room for the text. Nothing else about these tables changes. */
@media (max-width:359px){body.rl-bridge .entry-content .rl-b--tb:is(.rl-tb--kv,.rl-tb--c3) :is(th,td){padding:10px 6px!important}}
