/* Isolated reader logos for order/sample pages. */
.post_c .weekly-reader-banners { margin:32px 0; padding:30px 0; background:#f3f9fe; overflow:hidden; clear:both; }
.post_c .weekly-reader-banners * { box-sizing:border-box; }
.post_c .weekly-reader-banners .weekly-reader-banners__title { margin:0 16px 26px; padding:0; border:0; background:none; color:#073b75; font-size:clamp(21px,2.5vw,34px); font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; font-weight:900; line-height:1.4; letter-spacing:.04em; text-align:center; }
.post_c .weekly-reader-banners__title::before,.post_c .weekly-reader-banners__title::after { display:none; content:none; }
.weekly-reader-logos { display:flex; overflow:hidden; min-width:0; mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.weekly-reader-logos + .weekly-reader-logos { margin-top:14px; }
.weekly-reader-logo-list { gap:18px; padding-right:18px; }
.post_c .weekly-reader-logo { position:relative; flex:0 0 auto; overflow:hidden; width:clamp(180px,20vw,240px); height:100px; margin:0; padding:12px; border:1px solid #d5e5f1; background:#fff; }
.post_c .weekly-reader-banners .weekly-reader-logo img { position:absolute; inset:12px; display:block; width:calc(100% - 24px)!important; height:calc(100% - 24px)!important; max-width:none; margin:0; padding:0; border:0; object-fit:contain; object-position:center; }
@media(max-width:680px) { .post_c .weekly-reader-logo { width:180px; height:80px; padding:8px; } .post_c .weekly-reader-banners .weekly-reader-logo img { inset:8px; width:calc(100% - 16px)!important; height:calc(100% - 16px)!important; } }
/* Shared logo loop: clip on every OS, including always-visible scrollbars. */
.weekly-reader-logos.logo-marquee {
  display: block;
  overflow: hidden;
  min-width: 0;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.weekly-reader-logos.logo-marquee::-webkit-scrollbar { display: none; }
.weekly-reader-logos.logo-marquee .weekly-reader-logo-track {
  display: flex;
  width: max-content;
  gap: 0;
  animation: weekly-reader-loop var(--logo-duration, 120s) linear infinite;
  /* Override the page-wide reduced-motion duration only for these requested loops. */
  animation-duration: var(--logo-duration, 120s) !important;
  animation-direction: normal;
  animation-play-state: running;
  will-change: transform;
}
.weekly-reader-logos.logo-marquee.weekly-reader-logos--reverse .weekly-reader-logo-track { animation-direction: reverse; }
.weekly-reader-logos.logo-marquee:hover .weekly-reader-logo-track,
.weekly-reader-logos.logo-marquee:focus-within .weekly-reader-logo-track { animation-play-state: running; }
.weekly-reader-logos.logo-marquee .weekly-reader-logo-list {
  display: flex;
  flex: 0 0 auto;
  width: max-content;
  align-items: center;
  margin: 0;
}
.weekly-reader-logos.logo-marquee .weekly-reader-logo { flex: 0 0 auto; }
.weekly-reader-banners .weekly-reader-logos.logo-marquee .weekly-reader-logo--featured {
  width: clamp(216px, 24vw, 288px);
  height: 120px;
}
@media (max-width: 680px) {
  .weekly-reader-banners .weekly-reader-logos.logo-marquee .weekly-reader-logo--featured { width: 216px; height: 96px; }
}
@keyframes weekly-reader-loop {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(calc(-1 * var(--logo-distance)), 0, 0); }
}
