@charset "UTF-8";
/* CSS Document */
 /* --- Styles Section --- */
        body {
            font-family: 'Noto Sans JP', sans-serif;
            scroll-behavior: smooth;
        }

        /* Hero Section Styling */
        .hero-gradient {
            background: linear-gradient(rgba(0, 50, 100, 0.4), rgba(0, 50, 100, 0.4)), 
                        url('https://images.unsplash.com/photo-1486006920555-c77dcf18193c?ixlib=rb-1.2.1&auto=format&fit=crop&w=1920&q=80');
            background-size: cover;
            background-position: center;
        }

        .section-padding {
            padding: 80px 20px;
        }

        /* Map responsive container */
        .map-container {
            position: relative;
            padding-bottom: 75%; /* 4:3 Aspect Ratio */
            height: 0;
            overflow: hidden;
            border-radius: 1.5rem;
        }
        
        .map-container iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }

        /* --- CSS-only Hamburger Menu Logic --- */
        #menu-toggle {
            display: none;
        }

        /* Hide menu by default on mobile */
        #mobile-menu {
            position: fixed;
            inset: 0;
            background: linear-gradient(to bottom right, #1e3a8a, #172554, #020617);
            z-index: 70;
            display: flex;
            flex-direction: column;
            align-items: center;
            overflow-y: auto;
            opacity: 0;
            visibility: hidden;
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            color: white;
            padding: 60px 0 600px 0;
        }

        /* Show menu when checkbox is checked */
        #menu-toggle:checked ~ #mobile-menu {
            opacity: 1;
            visibility: visible;
        }

        /* Prevent body scroll when menu is open */
        body:has(#menu-toggle:checked) {
            overflow: hidden;
        }

        /* Strength Card Hover */
        .strength-card {
            transition: all 0.3s ease;
        }
        .strength-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
        }