        /* 全体のフォント指定 */
        body {
            font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
            margin: 0; padding: 0; height: 100vh;
            display: flex; justify-content: center; align-items: center;
            overflow: hidden; position: relative;
            background: linear-gradient(to bottom, #ffcc33, #ffb300, #ff8f00, #f48c06);
            background-size: 100% 400%;
            animation: bg-pan-bottom 8s both infinite alternate;
        }

        @keyframes bg-pan-bottom {
            0% { background-position: 50% 0%; }
            100% { background-position: 50% 100%; }
        }

        /* --- 流れる文字の設定 --- */
        .text-container {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0;
        }

        .floating-text {
            position: absolute;
            color: rgba(255, 255, 255, 0.4);
            font-weight: 900; /* 極太フォントでかっこよく */
            font-size: 2rem;
            letter-spacing: 0.1em;
            white-space: nowrap;
            animation: textFlow linear infinite;
            user-select: none;
        }

     /* --- 流れる文字の設定（修正版） --- */
.text-container {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0;
}

.floating-text {
    position: absolute;
    color: rgba(255, 255, 255, 0.4);
    font-weight: 900;
    font-size: 2rem;
    letter-spacing: 0.1em;
    white-space: nowrap;
    /* opacityを0にしておき、アニメーション開始時に1にする */
    opacity: 0;
    animation: textFlow linear infinite;
    user-select: none;
}

/* アニメーション：最初から画面内にある状態からスタートするように調整 */
@keyframes textFlow {
    0% { transform: translateX(110vw) skewX(-10deg); opacity: 0; }
    5% { opacity: 1; }
    95% { opacity: 1; }
    100% { transform: translateX(-60vw) skewX(-10deg); opacity: 0; }
}

/* 個別の設定：
   初期位置をバラバラにするために、1回目だけ違う動きをするアニメーションを当てるか、
   単純に「delay」をマイナス値に設定すると、"すでにアニメーションが始まっていた" ことにできます！
*/
.floating-text:nth-child(1) { top: 10%; animation-duration: 12s; animation-delay: -2s; }
.floating-text:nth-child(2) { top: 30%; animation-duration: 18s; animation-delay: -5s; font-size: 3rem; }
.floating-text:nth-child(3) { top: 50%; animation-duration: 15s; animation-delay: -8s; }
.floating-text:nth-child(4) { top: 70%; animation-duration: 22s; animation-delay: -12s; font-size: 1.5rem; }
.floating-text:nth-child(5) { top: 85%; animation-duration: 14s; animation-delay: -1s; }
        /* --- コンテンツエリア --- */
        .container {
            position: relative; z-index: 1;
            width: 85%; max-width: 380px;
            background: rgba(255, 255, 255, 0.98);
            padding: 40px 20px;
            border-radius: 4px; 
            box-shadow: 0 20px 50px rgba(0,0,0,0.15);
            text-align: center;
        }

        .profile-img {
            width: 120px; height: 120px;
            border: 0px solid #ffab00;
            margin-bottom: 15px; border-radius: 4px;
            object-fit: cover;
        }

        h1 { 
            font-size: 1.4rem; color: #d35400; 
            margin-bottom: 30px; font-weight: 700; 
            letter-spacing: 3px;
        }

        .link-button {
            display: flex; align-items: center; justify-content: center;
            text-decoration: none; background-color: #fff; color: #333;
            height: 60px; margin-bottom: 15px; 
            font-weight: 700; /* ボタンの文字も太く */
            border: 2px solid #f0f0f0; border-radius: 0px;
            transition: 0.3s ease; position: relative;
        }

        .link-button:hover {
            background-color: #333; /* ホバーで黒背景にかっこよく */
            color: #fff;
            border-color: #333;
            transform: scale(1.05);
        }

        .link-button::before { content: ""; position: absolute; left: 0; width: 8px; height: 100%; }
        .x-link::before { background-color: #000; }
        .line-link::before { background-color: #06C755; }
        .insta-link::before { background-color: #E1306C; }
        .tiktok-link::before { background-color: #000; border-right: 2px solid #ff0050; }
		       .official-link::before { background-color: #D8772D; }

        .footer { margin-top: 30px; font-size: 0.75rem; color: #ff8f00; font-weight: 700; letter-spacing: 1px; }