body { position: relative; overflow: hidden; } body::before { content: ""; position: fixed; top: 0; left: 0; margin: 0; width: 100%; height: 100%; transform: translate(-50%, -50%) rotate(30deg); transform-origin: center; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='200'%3E%3Ctext x='0' y='50%25' dominant-baseline='middle' font-size='3rem' fill='rgba(0,0,0,0.1)'%3Eあっと夫婦のプログラミング教室%3C/text%3E%3C/svg%3E") repeat-y; background-size: auto 200px; pointer-events: none; z-index: -1; animation: scrollText 15s linear infinite; } body::after { content: ""; position: fixed; top: 6rem; left:30%; margin: 0; width: 100%; height: 100%; transform: translate(-50%, -50%) rotate(30deg); transform-origin: center; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='200'%3E%3Ctext x='0' y='50%25' dominant-baseline='middle' font-size='3rem' fill='rgba(0,0,0,0.1)'%3Eあっと夫婦のプログラミング教室%3C/text%3E%3C/svg%3E") repeat-y; background-size: auto 200px; pointer-events: none; z-index: -1; animation: scrollText 15s linear infinite; } @keyframes scrollText { from { transform: translateX(100vw); } to { transform: translateX(calc(-1% - 100vw)); } }