@charset "utf-8";
.operation-info{
  overflow: hidden;
  width: 100%;
  background: #fff;
}
.operation-info,
.operation-info * {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.operation-info{
  font-size: 18px; /* ここで基準を固定 */
}

.operation-info__text{
  font-size: 1em; /* 親に追従 */
}
/* 1行固定 */
.operation-info__inner{
  display: flex;
  align-items: center;
  white-space: nowrap;
  will-change: transform;
}

/* JSで複製される2本のテキスト（=トラック） */
.operation-info__track{
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

/* 文言 */

.operation-info__text{
    display: block;
    font-size: 1em;
    line-height: 1.8;
    padding: 5px 10px;
}

/* 2本の間のスペース（電光掲示板の“間”） */
.operation-info__gap{
  display: inline-block;
  width: var(--op-gap, 48px);
  flex: 0 0 auto;
}

/* 無限ループ：1トラック分だけ左に移動して繰り返し */
.operation-info__inner.is-marquee{
  animation: opLoop var(--op-duration, 20s) linear infinite;
  animation-delay: var(--op-delay, 0s);
  transform: translateX(0);
}

@keyframes opLoop{
  0%   { transform: translateX(0); }
  100% { transform: translateX(calc(-1 * var(--op-track-width, 0px))); }
}

/* 任意：PCでホバー停止 */
@media (hover:hover){
  .operation-info:hover .operation-info__inner.is-marquee{
    animation-play-state: paused;
  }
}

/* iPhone Safari の自動文字拡大を無効化（こあら側だけ） */
#koalabusstatus,
#koalabusstatus *{
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* こあら側の基準フォントを固定（親で固定すると強い） */
#koalabusstatus .operation-info{
  font-size: 18px;
  line-height: 1.8;
}

/* 子は親に追従 */
#koalabusstatus .operation-info__text{
  font-size: 1em;
}

html{
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}