/* v1.6.9 – one sponsor inventory, two quiet square-carousel placements per sidebar. */
.tkp-shared-square{box-sizing:border-box;min-width:0;width:100%;margin:0 0 28px;color:#292723;background:#fff;overflow:hidden}
.tkp-shared-square *{box-sizing:border-box}
.tkp-shared-square-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;padding:0 0 8px;border-bottom:1px solid #e5e2dc;color:#635e55;font:500 11px/1.5 -apple-system,BlinkMacSystemFont,'Noto Sans JP',sans-serif}
.tkp-shared-square-heading span+span{letter-spacing:.09em;color:#8a847d;font-size:9px}
.tkp-shared-square-carousel{min-width:0;width:100%;position:relative}
.tkp-shared-square-viewport{width:100%;overflow:hidden;touch-action:pan-y;position:relative}
.tkp-shared-square-track{width:100%;min-width:0}
.tkp-shared-square-slide{display:none;min-width:0;width:100%;color:#282723;text-decoration:none!important;line-height:1.5;outline-offset:3px}
.tkp-shared-square-slide.is-active{display:block}
.tkp-shared-square-image{display:block;width:100%;aspect-ratio:1/1;background:#fff;overflow:hidden}
.tkp-shared-square-image img{width:100%;height:100%;display:block;object-fit:contain;object-position:center}
.tkp-shared-square-byline{display:block;margin-top:7px;font-size:10px;line-height:1.55;text-align:right;color:#69645b}
.tkp-shared-square-slide:hover .tkp-shared-square-image{opacity:.95}
.tkp-shared-square-carousel.is-ready .tkp-shared-square-track{display:flex;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}
.tkp-shared-square-carousel.is-ready .tkp-shared-square-slide{display:block;flex:0 0 100%;width:100%}
.tkp-shared-square-dots{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:9px;min-height:28px}
.tkp-shared-square-dot{border:0;background:none;display:grid;place-items:center;width:25px;height:28px;padding:5px;cursor:pointer}
.tkp-shared-square-dot>span{display:block;background:#bbb7ae;width:5px;height:5px;border-radius:50%;transition:background .15s,width .15s}
.tkp-shared-square-dot[aria-current=true]>span{background:#2a4f42;width:15px;border-radius:4px}
.tkp-shared-square-dot:focus-visible{outline:2px solid #244e41;outline-offset:1px}
.tkp-shared-square--bottom{margin-top:38px;padding-top:26px;border-top:1px solid #e5e2dc}
/* Homepage uses an independently following right column. */
body.tkp-home .sidebar>.tkp-shared-square--top{margin-top:0}
body.tkp-home .sidebar>.tkp-shared-square--bottom{margin-bottom:2px}
/* Interview retains its own independent-scroll sidebar. */
body.tkp-reading-page .tkp-rail-inner>.tkp-shared-square--top{margin:0 0 30px}
body.tkp-reading-page .tkp-rail-inner>.tkp-shared-square--bottom{margin-top:36px}
/* Classic article and archive templates: keep existing body/content modules unchanged. */
.tkp-shared-detail-layout,.tkp-shared-archive-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,290px);gap:42px;align-items:start;width:100%;max-width:1100px;margin:0 auto}
.tkp-shared-detail-main,.tkp-shared-archive-main{min-width:0;width:100%}
.tkp-shared-detail-main>.columnSingle,.tkp-shared-detail-main .columnSingle_inner{max-width:100%;width:100%}
.tkp-shared-detail-main img,.tkp-shared-archive-main img{max-width:100%;height:auto}
.tkp-shared-square-rail{min-width:0;width:100%;display:block;padding-top:0}
.tkp-shared-square-rail>.tkp-shared-square{margin-bottom:28px}
.tkp-shared-square-related{border-top:1px solid #e1ded8;padding-top:18px;margin:15px 0 26px}
.tkp-shared-square-related>h2{font-size:16px;line-height:1.6;font-weight:650;margin:0 0 16px;color:#30302a}
.tkp-shared-square-related>a{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid #eeece8;font-size:12px;line-height:1.65;color:#34332f;text-decoration:none}
.tkp-shared-square-related>a:hover{text-decoration:underline;text-underline-offset:3px}
.tkp-shared-square-related img{width:64px!important;height:54px!important;object-fit:cover;background:#f2f2f2;flex-shrink:0}
/* Legacy business-column sidebar: custom placement but its existing Suggest/Popular remain. */
.single-aside>.tkp-shared-square--top{margin-bottom:26px}
.single-aside>.tkp-shared-square--bottom{margin-top:32px}
/* On smaller devices a right column becomes an after-content section.
   Do not double the same slide carousel on a single-column display. */
@media(max-width:1000px){
  .tkp-shared-detail-layout,.tkp-shared-archive-layout{grid-template-columns:minmax(0,1fr) 250px;gap:24px}
}
@media(max-width:850px){
  .tkp-shared-detail-layout,.tkp-shared-archive-layout{grid-template-columns:minmax(0,1fr);gap:25px}
  .tkp-shared-detail-layout>.tkp-shared-square-rail,.tkp-shared-archive-layout>.tkp-shared-square-rail{max-width:600px;margin:20px auto 0}
  .tkp-shared-detail-layout .tkp-shared-square--bottom,.tkp-shared-archive-layout .tkp-shared-square--bottom{display:none!important}
  .tkp-shared-detail-layout .tkp-shared-square--top,.tkp-shared-archive-layout .tkp-shared-square--top{max-width:300px;margin:0 auto 30px}
}
@media(max-width:900px){
  body.tkp-reading-page .tkp-reading-rail .tkp-shared-square{display:none!important}
  body.tkp-reading-page .tkp-reading-rail .tkp-shared-square--bottom{display:none!important}
}
@media(max-width:1099px){body.tkp-home .tkp-shared-square--bottom{display:none!important}}
@media print{.tkp-shared-square,.tkp-shared-square-rail{display:none!important}.tkp-shared-detail-layout,.tkp-shared-archive-layout{display:block}}
@media(prefers-reduced-motion:reduce){.tkp-shared-square-carousel.is-ready .tkp-shared-square-track{transition:none!important}}
