@charset "utf-8";
.modal-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.7); /* 薄暗い背景 */
            display: flex;
            justify-content: center;
            align-items: center;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.3s ease, visibility 0.3s ease;
            z-index: 9999;
            cursor: pointer; /* 背景の上にマウスが来たらポインターにする */
        }

        /* モーダル表示用クラス */
        .modal-overlay.is-active {
            opacity: 1;
            visibility: visible;
        }

        /* ② モーダルの中身（白枠・コンテンツエリア） */
        .modal-content {
            background-color: #fff;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
            position: relative;
            max-width: 85%;
            max-height: 85%;
            text-align: center;
            cursor: default; /* 中身の上では通常のカーソルに戻す */
        }

        /* 画像のレスポンシブ対応 */
        .modal-content img {
            max-width: 100%;
            height: auto;
            display: block;
            border-radius: 4px;
        }

        /* ③ 閉じるボタン（右上のバツマーク） */
        .close-btn {
            position: absolute;
            top: -15px;
            right: -15px;
            width: 32px;
            height: 32px;
            background-color: #333;
            color: #fff;
            border: 2px solid #fff; /* 白枠をつけて見やすく */
            border-radius: 50%;
            font-size: 20px;
            font-weight: bold;
            cursor: pointer;
            display: flex;
            justify-content: center;
            align-items: center;
            box-shadow: 0 2px 10px rgba(0,0,0,0.3);
            /* スマホでのタップの反応を良くする設定 */
            touch-action: manipulation; 
        }
        .close-btn:hover {
            background-color: #e53935; /* ホバー時に赤くする */
        }