@charset "UTF-8";

/* === スマホでもカクッとしないスムーズ流し === */
.bbs {
  position: absolute;
  top: 0;
  width: 100%;
  height: 2.2em;
  overflow: hidden;
  display: flex;
  align-items: center;
  color: rgba(163, 148, 104, 1.00);
  font-family: "Cormorant Infant", serif;
  font-family: "operetta-32", serif;
  font-weight: 600;
  font-style: normal;
  z-index: 3;
  transition: opacity 0.6s ease;
  letter-spacing: 0em;
  margin: 0;
  padding: 0;
  line-height: 1;
}

.bbs.hide {
  opacity: 0;
  pointer-events: none;
}

/* === 横スクロール部分 === */
.bbs ul {
  display: flex;
  white-space: nowrap;
  font-size: clamp(1.8em, 6vw, 3em);
  opacity: 0.5;
  padding: 0;
  margin: 0;
  will-change: transform;
  backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
}

/* 各項目 */
.bbs ul li {
  display: inline-block;
  padding-right: 0.5em;
}

/* === アニメーション：奇数と偶数でずらし完全ループ === */
.bbs ul:nth-child(odd) {
  animation: loop 50s -25s linear infinite;
}
.bbs ul:nth-child(even) {
  animation: loop2 50s linear infinite;
}

/* --- アニメーション定義 --- */
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-200%);
  }
}

/* 小さい文字用クラス */
.sml {
  font-size: clamp(1.3em, 4vw, 2em);
}

/* PC時 */
@media screen and (min-width: 1024px) {
  .bbs {
    font-weight: 600;
    height: 2.2em;
  }
  .bbs ul {
    font-size: clamp(2em, 3vw, 3em);
  }
  .sml {
    font-size: clamp(2em, 3vw, 2.5em);
  }
}

/* タブレット縦向き */
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .bbs ul {
    font-size: clamp(2em, 5vw, 3em);
  }
  .sml {
    font-size: clamp(2em, 5vw, 3em);
  }
}
