        /* 基本設定 */
        :root {
            --primary-color: #333;
            --accent-color: #007bff;
            --bg-color: #f4f4f4;
            --text-color: #333;
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
            line-height: 1.6;
            color: var(--text-color);
            background-color: #fff;
        }

        /* レイアウト */
        .container {
            width: 90%;
            max-width: 1000px;
            margin: 0 auto;
            padding: 0 20px;
        }

        header {
            background: var(--primary-color);
            color: #fff;
            padding: 2rem 0;
            text-align: center;
        }

        nav {
            background: #eee;
            padding: 0.5rem;
            text-align: center;
            position: sticky;
            top: 0;
        }

        nav a {
            margin: 0 15px;
            text-decoration: none;
            color: var(--primary-color);
            font-weight: bold;
        }

        section {
            padding: 4rem 0;
            border-bottom: 1px solid #eee;
        }

        /* 多言語併記の工夫 */
        .lang-en {
            display: block;
            font-size: 0.9rem;
            color: #666;
            margin-top: 5px;
        }

        /* レスポンシブ調整（スマホ向け） */
        @media (max-width: 600px) {
            header h1 { font-size: 1.5rem; }
            nav a { display: block; padding: 10px 0; }
        }

        footer {
            text-align: center;
            padding: 2rem;
            background: #333;
            color: #fff;
            margin-top: 2rem;
        }