body {
            font-family: 'Noto Sans JP', sans-serif;
            scroll-behavior: smooth;
        }
        .font-montserrat {
            font-family: 'Montserrat', sans-serif;
        }
        
        /* ヒーローセクションの調整 */
        .hero-container {
            position: relative;
            width: 100%;
            background-color: #000;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            height: 50vh;
        }

        @media (min-width: 768px) {
            .hero-container {
                margin-top: 72px;
                height: 80vh; 
            }
        }

        /* 7枚画像対応のCSSスライドショー */
        .slideshow {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 0;
        }

        .slide {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-size: cover;
            background-position: center;
            opacity: 0;
            /* 7枚 × 5秒 = 35秒サイクル */
            animation: slide-animation 35s infinite; 
        }

        /* 画像の指定と遅延時間の計算 (35秒 / 7枚 = 5秒おき) */
        .slide:nth-child(1) { background-image: url('../img/01.jpg'); animation-delay: 0s; }
        .slide:nth-child(2) { background-image: url('../img/02.jpg'); animation-delay: 5s; }
        .slide:nth-child(3) { background-image: url('../img/03.jpg'); animation-delay: 10s; }
        .slide:nth-child(4) { background-image: url('../img/04.jpg'); animation-delay: 15s; }
        .slide:nth-child(5) { background-image: url('../img/05.jpg'); animation-delay: 20s; }
        .slide:nth-child(6) { background-image: url('../img/06.jpg'); animation-delay: 25s; }
        .slide:nth-child(7) { background-image: url('../img/07.jpg'); animation-delay: 30s; }

        @keyframes slide-animation {
            0% { opacity: 0; transform: scale(1.0); }
            5% { opacity: 1; } /* フェードイン完了 */
            15% { opacity: 1; } /* 表示維持 */
            20% { opacity: 0; transform: scale(1.1); } /* フェードアウト + ズーム */
            100% { opacity: 0; }
        }

        /* ナビゲーション制御 */
        #nav-toggle {
            display: none;
        }
        #nav-toggle:checked ~ nav {
            display: flex;
        }

        .service-card {
            transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
        }
        .service-card:hover {
            transform: translateY(-8px);
        }