#floating_btns {
    position: fixed;
    bottom: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    width: 100%; /* 100vw から 100% に変更 */
    filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.5));
    /* font-family: 'Meiryo', sans-serif; // グローバルに移動推奨 */

    #link-button {
        width: 100%;
        padding: 1.6rem;
        background-color: #FFF;
        border: solid 3px #00A3E5;
        position: relative;
        text-decoration: none !important;
        /* transition プロパティを統合し、visibility と opacity の時間を調整 */
        transition: opacity 0.5s ease-in-out, transform 0.8s ease, visibility 0.5s ease-in-out;
        border-radius: 5px; /* 基本スタイルとして移動 */

        @media (min-width:900px) {
            background-color: rgba(255, 255, 255, 0.9);
        }

        /* 状態クラスをネストして配置 */
        &.hidden {
            visibility: hidden;
            opacity: 0;
            transform: translateY(20px);
        }

        &.show {
            visibility: visible;
            opacity: 1;
            transform: translateY(0);
        }

        &.fade-out { /* fade-outクラスの定義を追加 */
            opacity: 0;
            visibility: hidden; /* アニメーション終了後に要素を完全に非表示にする */
        }

        /* close-buttonのスタイルを#link-button内にネスト */
        .close-button {
            display: none; /* 初期状態は非表示 */
            
            @media (min-width:768px) {
                display: flex; 
                align-items: center;
                justify-content: center;
                width: 24px;
                height: 24px;
                position: absolute;
                top: -10px;
                right: -10px;
                background-color: #00A3E5;
                border: solid 1px #FFF;
                border-radius: 50%;
                color: white;
                cursor: pointer;
                font-size: 16px;
                box-shadow: 0 2px 5px rgba(0,0,0,0.2);
                z-index: 1001;
            }
        }
    }

    .floating_inner {
        display: flex;
        align-items: stretch;
        justify-content: space-between;
		flex-direction:column;
        gap: 0.8rem;
        font-size: clamp(1.2rem, 3.2vw, 1.6rem);

        p {
            margin: 0;
        }

		.popup-sp_none {
			display: none;
		}

        strong {
            color: #000;
            font-size: clamp(1.4rem, 3.2vw, 2rem);
            font-weight: 700;
        }
		
		> a {
			text-decoration: none;
		}

        .floating_btn {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 70%;
            height: 100%;
            padding: 1rem;
            color: #FFF;
            font-weight: 700;
            position: relative;
            white-space: nowrap;
            z-index: 0;

			&:hover {
				text-decoration: none;
			}

            &::before {
                content: "";
                display: block;
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                transition: .3s ease-in-out;
                background: linear-gradient(#00A3E5, #0D96D5);;
                z-index: -1;
            }

            &::after {
                content: "";
                display: block;
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                transition: .3s ease-in-out;
                background: linear-gradient(#1643B6, #1643B6);;
                z-index:-2;
            }

            &:hover::before {
                opacity:0;
            }

        }
    }


    @media (min-width:768px) {
        width: 380px;
        right: 1rem;
        bottom: 8rem;
		
        .floating_inner {
            .popup-sp_none {
				display: block;
                font-size: 1.4rem;
				text-align: left;
			}
        }

        p {
            text-align: center;
        }

        .floating_inner {
            flex-direction: column;
            
            .floating_btn {
                width: 100%;
            }
        }
    }
}