/* japanese.css - 日本語サイト専用（ja ページのみ読込） */

:root {
    --ja-font-sans: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", "Meiryo", sans-serif;
    --ja-font-heading: "Hiragino Sans", "Yu Gothic UI", "Meiryo", sans-serif;
}

/* ベースタイポグラフィ */
body.ja-site {
    font-family: var(--ja-font-sans);
    font-size: 16px;
    line-height: 1.75;
    letter-spacing: 0.02em;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.ja-site h1,
body.ja-site h2,
body.ja-site h3,
body.ja-site h4,
body.ja-site h5,
body.ja-site h6 {
    font-family: var(--ja-font-heading);
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 1.45;
}

body.ja-site p,
body.ja-site li,
body.ja-site td,
body.ja-site th {
    line-height: 1.8;
    letter-spacing: 0.02em;
}

body.ja-site input[type="text"],
body.ja-site input[type="email"],
body.ja-site input[type="phone"],
body.ja-site textarea,
body.ja-site select,
body.ja-site button,
body.ja-site .btn {
    font-family: var(--ja-font-sans);
}

body.ja-site button,
body.ja-site .btn {
    font-weight: 600;
}

/* ナビゲーション：中文版と同じ space-between 配置 */
body.ja-site .nav-links {
    flex-wrap: nowrap;
    gap: 1.25rem;
    margin-right: 5.5rem;
}

body.ja-site .nav-links a {
    white-space: nowrap;
    flex-shrink: 0;
    font-family: var(--ja-font-heading);
    font-size: 0.9rem;
    font-weight: 500;
    padding: 5px 10px;
    letter-spacing: 0.01em;
}

body.ja-site .navbar,
body.ja-site .mobile-menu {
    font-family: var(--ja-font-heading);
}

body.ja-site .news-item,
body.ja-site .news-card,
body.ja-site footer {
    font-family: var(--ja-font-sans);
}

body.ja-site .news-date,
body.ja-site .publish-date,
body.ja-site [class*="date"] {
    font-family: "Meiryo UI", "Meiryo", var(--ja-font-sans);
    font-size: 0.9em;
    font-variant-numeric: tabular-nums;
}

body.ja-site .page-title,
body.ja-site .section-title {
    font-family: var(--ja-font-heading);
    font-weight: 700;
    letter-spacing: 0.04em;
}

body.ja-site .description,
body.ja-site .lead,
body.ja-site .subtitle {
    line-height: 1.85;
}

body.ja-site .container {
    word-break: normal;
    overflow-wrap: anywhere;
}

body.ja-site table {
    font-family: "Meiryo UI", "Meiryo", var(--ja-font-sans);
}

body.ja-site code,
body.ja-site pre {
    font-family: "SFMono-Regular", "Consolas", "Menlo", monospace;
}

@media (min-width: 1200px) {
    body.ja-site .nav-links {
        gap: 1.5rem;
    }
}

@media (max-width: 768px) {
    body.ja-site {
        font-size: 15px;
        line-height: 1.7;
    }

    body.ja-site h1 {
        font-size: 1.8em;
    }

    body.ja-site h2 {
        font-size: 1.4em;
    }

    body.ja-site h3 {
        font-size: 1.2em;
    }

}
