:root {
  --ink: #102f50;
  --blue: #0098dc;
  --blue-deep: #075b9d;
  --blue-pale: #edf8fd;
  --red: #e60012;
}

/* スクロールバー装飾 */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }

/* 2行省略 */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 2倍ズーム用 */
.zoom-container { cursor: zoom-in; }
.zoom-container.is-zoomed { cursor: zoom-out; }
.zoom-img {
  transition: transform 0.25s cubic-bezier(0.2, 0, 0.2, 1);
  transform-origin: center center;
}
.is-zoomed .zoom-img { transform: scale(2); }

/* ドキュメント枠レイアウト */
.doc-container {
  background-color: #ffffff;
  border-radius: 1.5rem;
  border: 1px solid rgba(7, 91, 157, 0.15);
  padding: 2rem;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
@media (max-width: 640px) {
  .doc-container { padding: 1rem; border-radius: 1rem; }
}
.doc-container img { max-width: 100% !important; height: auto !important; }
.doc-container table { max-width: 100% !important; overflow-x: auto; display: block; }

/* TencentのCSSによる横幅潰れ防止 */
html, body {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

header.site-header-fixed,
footer.site-footer-fixed {
  width: 100vw !important;
  max-width: 100vw !important;
  left: 0 !important;
  right: 0 !important;
  box-sizing: border-box !important;
}

/* ロゴ：上から降りてくるアニメーション */
@keyframes slideDownIn {
  0% {
    opacity: 0;
    transform: translateY(-12px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* サブテキスト：遅れてふわっと表示 */
@keyframes fadeInDelay {
  0% {
    opacity: 0;
    transform: translateX(-4px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.anim-logo {
  opacity: 0;
  /* 0.6s(アニメーション時間) の後ろに 1s(遅延時間) を追加 */
  animation: slideDownIn 0.6s cubic-bezier(0.16, 1, 0.3, 1) 1s forwards;
}

.anim-slogan {
  opacity: 0;
  /* ロゴが落ちた後に表示されるよう 1.35s(遅延時間) に変更 */
  animation: fadeInDelay 0.7s cubic-bezier(0.16, 1, 0.3, 1) 1.35s forwards;
}