        body {
            font-family: 'Inter', sans-serif;
            background-color: #f0f8ff; /* 淡い水色系の背景 */
            -webkit-font-smoothing: antialiased; /* antialiased */
            -moz-osx-font-smoothing: grayscale; /* antialiased */
        }
        /* Utilities for layout and spacing */
        .min-h-screen-flex { /* corresponds to min-h-screen flex flex-col items-center */
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            align-items: center;
        }
        .w-full { /* corresponds to w-full */
            width: 100%;
        }
        .container-auto { /* corresponds to container mx-auto */
            width: 100%;
            margin-left: auto;
            margin-right: auto;
        }
        .max-w-4xl { /* corresponds to max-w-4xl */
            max-width: 56rem; /* Equivalent to Tailwind's max-w-4xl */
        }
        .px-4 { /* corresponds to px-4 */
            padding-left: 1rem; /* 16px */
            padding-right: 1rem; /* 16px */
        }
        .py-16 { /* corresponds to py-16 */
            padding-top: 4rem; /* 64px */
            padding-bottom: 4rem; /* 64px */
        }
        .py-12 { /* corresponds to py-12 */
            padding-top: 3rem; /* 48px */
            padding-bottom: 3rem; /* 48px */
        }
        .p-8 { /* corresponds to p-8 */
            padding: 2rem; /* 32px */
        }
        .p-6 { /* corresponds to p-6 */
            padding: 1.5rem; /* 24px */
        }
        .py-3 { /* corresponds to py-3 */
            padding-top: 0.75rem; /* 12px */
            padding-bottom: 0.75rem; /* 12px */
        }
        .px-6 { /* corresponds to px-6 */
            padding-left: 1.5rem; /* 24px */
            padding-right: 1.5rem; /* 24px */
        }
        .py-8 { /* corresponds to py-8 */
            padding-top: 2rem; /* 32px */
            padding-bottom: 2rem; /* 32px */
        }

        /* Text styling */
        .text-center { /* corresponds to text-center */
            text-align: center;
        }
        .text-white { /* corresponds to text-white */
            color: #ffffff;
        }
        .text-gray-800 { /* corresponds to text-gray-800 */
            color: #1f2937;
        }
        .text-gray-600 { /* corresponds to text-gray-600 */
            color: #4b5563;
        }
        .text-red-500 { /* corresponds to text-red-500 */
            color: #ef4444;
        }
        .text-yellow-800 { /* corresponds to text-yellow-800 */
            color: #92400e;
        }
        .text-blue-700 { /* corresponds to text-blue-700 */
            color: #1d4ed8;
        }
        .text-blue-600 { /* corresponds to text-blue-600 */
            color: #2563eb;
        }
        .text-blue-800 { /* corresponds to text-blue-800 */
            color: #1e40af;
        }

        .main-title { /* Custom class for main title */
            font-size: 3rem; /* 48px */
            line-height: 1.2;
            text-shadow: 3px 3px 6px rgba(0,0,0,0.3);
            color: #ffffff;
            font-weight: 700;
        }
        .sub-title { /* Custom class for sub title */
            font-size: 1.5rem; /* 24px */
            line-height: 1.5;
            color: #ffffff;
        }
        .main-img{
            width: 100%;
            display: block;
            height: auto;
            margin: 0;
        }
        .text-3xl { /* corresponds to text-3xl */
            font-size: 1.875rem; /* 30px */
            line-height: 2.25rem; /* 36px */
        }
        .text-lg { /* corresponds to text-lg */
            font-size: 1.125rem; /* 18px */
            line-height: 1.75rem; /* 28px */
        }
        .text-sm { /* corresponds to text-sm */
            font-size: 0.875rem; /* 14px */
            line-height: 1.25rem; /* 20px */
        }
        .text-2xl { /* corresponds to text-2xl */
            font-size: 1.5rem; /* 24px */
            line-height: 2rem; /* 32px */
        }
        .text-xl { /* corresponds to text-xl */
            font-size: 1.25rem; /* 20px */
            line-height: 1.75rem; /* 28px */
        }
        .text-base-custom { /* Custom class for original text-md */
            font-size: 1rem; /* 16px */
            line-height: 1.5rem; /* 24px */
        }

        /* Font weights */
        .font-bold { /* corresponds to font-bold */
            font-weight: 700;
        }
        .font-semibold { /* corresponds to font-semibold */
            font-weight: 600;
        }

        /* Margins */
        .mb-4 { /* corresponds to mb-4 */
            margin-bottom: 1rem; /* 16px */
        }
        .mt-8 { /* corresponds to mt-8 */
            margin-top: 2rem; /* 32px */
        }
        .mb-8 { /* corresponds to mb-8 */
            margin-bottom: 2rem; /* 32px */
        }
        .mb-6 { /* corresponds to mb-6 */
            margin-bottom: 1.5rem; /* 24px */
        }
        .mt-4 { /* corresponds to mt-4 */
            margin-top: 1rem; /* 16px */
        }
        .mt-12 { /* corresponds to mt-12 */
            margin-top: 3rem; /* 48px */
        }
        .space-y-2 > :not([hidden]) ~ :not([hidden]) { /* corresponds to space-y-2 */
            margin-top: 0.5rem; /* 8px */
        }

        /* Layout (flex and grid) */
        .flex-center { /* corresponds to flex justify-center */
            display: flex;
            justify-content: center;
        }
        .grid-layout { /* corresponds to grid gap-8 */
            display: grid;
            gap: 2rem; /* 32px */
        }
        @media (max-width: 768px) { /* md breakpoint for md:grid-cols-2 */
            /* .md-grid-cols-2 {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            } */
            .px-4{
                padding-left:0;
                padding-right:0;
            }
            .w-full{
                width: 96%;
            }
        }

        /* Borders and Shadows */
        .rounded-b-lg { /* corresponds to rounded-b-lg */
            border-bottom-left-radius: 0.5rem; /* 8px */
            border-bottom-right-radius: 0.5rem; /* 8px */
        }
        .rounded-lg { /* corresponds to rounded-lg */
            border-radius: 0.5rem; /* 8px */
        }
        .rounded-full { /* corresponds to rounded-full */
            border-radius: 9999px; /* Fully rounded */
        }
        .rounded-t-lg { /* corresponds to rounded-t-lg */
            border-top-left-radius: 0.5rem; /* 8px */
            border-top-right-radius: 0.5rem; /* 8px */
        }

        .shadow-lg { /* corresponds to shadow-lg */
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
        }
        .shadow-xl { /* corresponds to shadow-xl */
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
        }
        .shadow-md { /* corresponds to shadow-md */
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
        }

        .border-4-white { /* corresponds to border-4 border-white */
            border-width: 4px;
            border-color: #ffffff;
        }
        .border-1px { /* corresponds to border */
            border-width: 1px;
        }
        .border-yellow-300 { /* corresponds to border-yellow-300 */
            border-color: #fcd34d;
        }
        .border-gray-200 { /* corresponds to border-gray-200 */
            border-color: #e5e7eb;
        }

        /* Backgrounds */
        .header-bg { /* Custom class for header background */
            background-image: linear-gradient(to right, #2d77b1, #0d4e81); /* blue-500 to blue-700 */
        }
        .event-info-box { /* Custom class for event info box */
            background-color: #ffffff;
            border: 2px solid #3b82f6; /* blue-500 */
        }
        .bg-yellow-100 { /* corresponds to bg-yellow-100 */
            background-color: #fef3c7;
        }
        .bg-yellow-500 { /* corresponds to bg-yellow-500 */
            background-color: #f59e0b;
        }
        .bg-white { /* corresponds to bg-white */
            background-color: #ffffff;
        }
        .footer-bg { /* Custom class for footer background */
            background-color: #1e3a8a; /* blue-900 */
        }

        /* Specific list styles */
        .speaker-list li { /* Custom class for speaker list items */
            list-style: none;
            position: relative;
            padding-left: 1.5em;
        }
        .speaker-list li:before {
            content: "•";
            position: absolute;
            left: 0;
            color: #3b82f6; /* blue-500 */
            font-weight: bold;
        }
        li{
            padding: 0;
        }

        /* Button and link interactions */
        .btn-transition { /* corresponds to transition duration-300 ease-in-out transform */
            transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
            transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
            transition-duration: 300ms;
        }
        .hover-bg-yellow-600:hover { /* corresponds to hover:bg-yellow-600 */
            background-color: #d97706; /* yellow-600 */
        }
        .hover-scale-105:hover { /* corresponds to hover:scale-105 */
            transform: scale(1.05);
        }
        .hover-underline:hover { /* corresponds to hover:underline */
            text-decoration: underline;
        }
