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

        body {
            font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, sans-serif;
            line-height: 1.8;
            color: #282828;
            background-color: #ffffff;
        }

        header {
            background-color: #ffffff;
            border-bottom: 1px solid #e8e8e8;
            padding: 20px 0;
            position: sticky;
            top: 0;
            z-index: 1000;
        }

        .header-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 30px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .logo {
            font-size: 36px;
            font-weight: 300;
            letter-spacing: 0.03em;
        }

        .logo a {
            color: #282828;
            text-decoration: none;
        }

        nav ul {
            list-style: none;
            display: flex;
            gap: 35px;
        }

        nav ul li a {
            color: #282828;
            text-decoration: none;
            font-size: 13px;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            transition: opacity 0.3s ease;
        }

        nav ul li a:hover {
            opacity: 0.6;
        }

        main {
            max-width: 900px;
            margin: 0 auto;
            padding: 60px 30px 80px;
        }

        h1 {
            font-size: 24px;
            font-weight: 400;
            letter-spacing: 0.1em;
            text-align: center;
            margin-bottom: 50px;
            text-transform: uppercase;
        }

        article {
            margin-bottom: 60px;
        }

        article h2 {
            font-size: 21px;
            font-weight: 400;
            line-height: 1.5;
            text-align: center;
            margin: 40px 0 25px;
            letter-spacing: 0.05em;
        }

        article h3 {
            font-size: 20px;
            font-weight: 400;
            line-height: 1.6;
            text-align: center;
            margin: 30px 0 20px;
            letter-spacing: 0.02em;
        }

        article p {
            font-size: 13px;
            line-height: 1.8;
            margin-bottom: 15px;
            letter-spacing: 0.02em;
        }

        .transition-section {
            margin: 60px 0 50px;
            padding: 40px 0;
            border-top: 1px solid #e8e8e8;
        }

        .transition-section p {
            font-size: 14px;
            line-height: 1.9;
            margin-bottom: 15px;
        }

        {% if links %}
        .links-section {
            background-color: #fafafa;
            padding: 50px 40px;
            margin: 0 -30px;
        }

        .links-container {
            max-width: 900px;
            margin: 0 auto;
        }

        .links-section h3 {
            font-size: 18px;
            font-weight: 400;
            margin-bottom: 20px;
            letter-spacing: 0.05em;
            text-align: left;
        }

        .links-section ul {
            list-style: none;
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 12px 30px;
            margin-bottom: 40px;
        }

        .links-section ul:last-child {
            margin-bottom: 0;
        }

        .links-section li {
            font-size: 13px;
        }

        .links-section li a {
            color: #282828;
            text-decoration: none;
            border-bottom: 1px solid transparent;
            transition: border-color 0.3s ease;
            display: inline-block;
            padding-bottom: 2px;
        }

        .links-section li a:hover {
            border-bottom-color: #282828;
        }
        {% endif %}

        footer {
            background-color: #ffffff;
            border-top: 1px solid #e8e8e8;
            padding: 40px 0;
            margin-top: 80px;
        }

        .footer-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 30px;
            text-align: center;
        }

        .footer-container p {
            font-size: 12px;
            line-height: 2;
            letter-spacing: 0.03em;
            color: #282828;
        }

        @media (max-width: 768px) {
            .header-container {
                flex-direction: column;
                gap: 20px;
                padding: 0 20px;
            }

            .logo {
                font-size: 30px;
            }

            nav ul {
                flex-wrap: wrap;
                justify-content: center;
                gap: 20px 25px;
            }

            nav ul li a {
                font-size: 11px;
            }

            main {
                padding: 40px 20px 60px;
            }

            h1 {
                font-size: 20px;
                margin-bottom: 35px;
            }

            article h2 {
                font-size: 18px;
            }

            article h3 {
                font-size: 17px;
            }

            .links-section {
                padding: 40px 25px;
                margin: 0 -20px;
            }

            .links-section ul {
                grid-template-columns: 1fr;
                gap: 10px;
            }

            .links-section h3 {
                font-size: 16px;
            }
        }

        @media (max-width: 480px) {
            nav ul {
                gap: 15px 20px;
            }

            nav ul li a {
                font-size: 10px;
            }
        }
    