:root {
            --color-corporate-01: #2d7a2d;
            --color-corporate-02: #ffea00;
            --color-corporate-03: #1a5a1a;
            --color-corporate-08: #333333;
        }

        /* Hero Slider Styles */
        .hero-slider {
            position: relative;
            height: 70vh;
            overflow: hidden;
        }

        .hero-slide {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0;
            transition: opacity 1s ease-in-out;
        }

        .hero-slide img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .hero-slide.active {
            opacity: 1;
        }

        .hero-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(45deg, rgba(0, 0, 0, 0.8), rgba(89, 255, 0, 0.4));
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .hero-content {
            text-align: center;
            color: white;
            z-index: 10;
        }

        .hero-title {
            font-size: 3.5rem;
            font-weight: bold;
            margin-bottom: 1rem;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
        }

        .hero-subtitle {
            font-size: 1.5rem;
            margin-bottom: 2rem;
            text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
        }

        .hero-cta {
            background-color: var(--color-corporate-02);
            color: var(--color-corporate-08);
            padding: 1rem 2rem;
            border-radius: 50px;
            font-weight: bold;
            text-decoration: none;
            transition: all 0.3s ease;
            display: inline-block;
        }

        .hero-cta:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 8px rgba(0,0,0,0.2);
        }

        /* Navigation Dots */
        /* Navigation Dots - 位置を維持 */
        .hero-dots {
            position: absolute;
            bottom: 2rem;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            gap: 1rem;
            z-index: 20;
        }

        .hero-dot {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background-color: rgba(255, 255, 255, 0.5);
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .hero-dot.active {
            background-color: var(--color-corporate-02);
            transform: scale(1.2);
        }


        /* Navigation Arrows - 動的位置調整対応 */
        .hero-nav {
            position: absolute;
            bottom: 2.5rem; /* .hero-dotsと同じ高さ */
            transform: translateY(50%); /* ドットと垂直中央揃え */
            background-color: rgba(255, 255, 255, 0.2);
            color: white;
            border: none;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            cursor: pointer;
            transition: all 0.3s ease;
            z-index: 20;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .hero-nav:hover {
            background-color: rgba(255, 255, 255, 0.5);
        }

        /* 初期位置（JavaScriptで動的に調整される） */
        .hero-nav.prev {
            left: calc(50% - 150px); /* 初期値、JavaScriptで上書きされる */
        }

        .hero-nav.next {
            right: calc(50% - 150px); /* 初期値、JavaScriptで上書きされる */
        }

        /* レスポンシブ対応 */
        @media (max-width: 768px) {
            .hero-nav {
                width: 35px;
                height: 35px;
            }
            
            .hero-dots {
                gap: 0.8rem; /* モバイルでは間隔を少し狭める */
            }
        }

        @media (max-width: 480px) {
            .hero-nav {
                width: 30px;
                height: 30px;
            }
            
            .hero-dots {
                gap: 0.6rem; /* さらに小さい画面では間隔をより狭める */
            }
            
            .hero-dot {
                width: 10px;
                height: 10px;
            }
        }