.tp-body{background:var(--bg-main,#faf8f5);color:var(--text-main,#2b2d42);font-family:'Noto Sans JP',system-ui,sans-serif;line-height:1.8;margin:0}
.tp-wrap{max-width:56rem;margin:0 auto;padding:1.5rem 1.25rem 3rem}
.tp-crumb{font-size:12px;opacity:.75;margin-bottom:1.25rem}
.tp-crumb a{color:inherit}
.tp-head{display:flex;gap:.9rem;align-items:center;margin-bottom:.75rem}
.tp-icon{font-size:2.25rem;line-height:1}
.tp-head h1{font-size:1.6rem;font-weight:700;margin:0;line-height:1.4}
.tp-cat{font-size:12px;opacity:.75;margin:.25rem 0 0}
.tp-lead{font-size:15px;margin:0 0 1.5rem}
.tp-cta{background:rgba(139,105,20,.07);border:1px solid rgba(139,105,20,.25);border-radius:12px;padding:1.1rem;margin-bottom:2rem;text-align:center}
.tp-btn{display:inline-block;background:#8B6914;color:#fff;font-weight:700;text-decoration:none;padding:.8rem 1.6rem;border-radius:9999px}
.tp-cta-note{font-size:12px;opacity:.8;margin:.7rem 0 0}
.tp-sec{margin-bottom:2rem}
.tp-sec h2{font-size:1.05rem;font-weight:700;margin:0 0 .8rem;padding-bottom:.35rem;border-bottom:1px solid rgba(0,0,0,.12)}
.tp-shots{display:flex;flex-wrap:wrap;gap:1rem}
.tp-shot{margin:0;flex:0 1 220px}
.tp-shot img{width:100%;height:auto;border:1px solid rgba(0,0,0,.15);border-radius:6px;background:#fff}
.tp-shot figcaption{font-size:11px;opacity:.75;margin-top:.35rem;text-align:center}
.tp-papers{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.6rem}
.tp-papers li{border:1px solid rgba(0,0,0,.15);border-radius:8px;padding:.6rem .9rem;font-size:13px;display:flex;flex-direction:column}
.tp-papers span{font-size:11px;opacity:.75}
.tp-brand{opacity:.6}
.tp-rel{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem}
.tp-rel a{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border:1px solid rgba(0,0,0,.13);border-radius:8px;text-decoration:none;color:inherit}
.tp-rel-icon{font-size:1.1rem}
.tp-rel-name{font-size:13px;font-weight:700;flex:1}
.tp-rel-cat{font-size:10px;opacity:.7}
.tp-note{font-size:12px;opacity:.8;margin:.8rem 0 0}
.tp-sec h3{font-size:.92rem;font-weight:700;margin:1.2rem 0 .5rem}
.tp-status{display:inline-block;font-size:12px;font-weight:700;margin:.4rem 0 0;padding:.1rem .6rem;border-radius:9999px;background:rgba(139,105,20,.1);color:#6b5210}
.tp-rel-soon{font-size:10px;font-weight:700;padding:.05rem .45rem;border-radius:9999px;background:rgba(139,105,20,.1);color:#6b5210;white-space:nowrap}
.tp-rel--hub a{flex-wrap:wrap;row-gap:.15rem}
.tp-rel--hub .tp-rel-cat{flex-basis:100%;padding-left:1.6rem}
.tp-nowrap{white-space:nowrap}
.tp-note a,.tp-footer a{color:inherit}
.tp-footer{border-top:1px solid rgba(0,0,0,.12);padding-top:1rem;font-size:11px;opacity:.8;line-height:1.7}
.tp-footer p{margin:0 0 .4rem}
.tp-copy{opacity:.7}
@media (max-width:520px){.tp-shot{flex:1 1 100%}.tp-head h1{font-size:1.3rem}}
