/* 
 * カスタムフォント設定
 * Google Fonts: Noto Sans (英語) & Noto Sans JP (日本語) に統一
 * フォールバック: ゴシック体
 */

/* ===== メインフォント設定 ===== */

/* グローバル設定（全要素） - Noto Sansファミリーに統一 */
body,
html,
* {
    font-family: "Noto Sans JP", "Noto Sans", 
                 "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", 
                 "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", 
                 "メイリオ", Meiryo, "Osaka", 
                 "MS Pゴシック", "MS PGothic", 
                 Arial, Helvetica, sans-serif !important;
}

/* ===== 言語別フォント設定 ===== */

/* 英語コンテンツ専用 - Roboto */
.en-content,
.english-text,
[lang="en"],
.english {
    font-family: "Roboto", 
                 Arial, Helvetica, 
                 "Yu Gothic", "游ゴシック", YuGothic,
                 sans-serif !important;
}

/* 日本語コンテンツ専用 - Noto Sans JP */
.jp-content,
.japanese-text,
[lang="ja"],
.japanese {
    font-family: "Noto Sans JP", 
                 "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", 
                 "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", 
                 "メイリオ", Meiryo, "Osaka", 
                 "MS Pゴシック", "MS PGothic", 
                 sans-serif !important;
}

/* ===== フォントウェイト設定 ===== */

/* 軽い（300） */
.font-light,
.weight-300,
.thin {
    font-weight: 300 !important;
}

/* 通常（400） */
.font-normal,
.weight-400,
.regular {
    font-weight: 400 !important;
}

/* セミボールド（600） */
.font-semibold,
.weight-600,
.semibold {
    font-weight: 600 !important;
}

/* ボールド（700） */
.font-bold,
.weight-700,
.bold {
    font-weight: 700 !important;
}

/* ===== 具体的な要素への適用 ===== */

/* 見出し（h1-h6） */
h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    font-family: "Noto Sans JP", "Noto Sans", 
                 "Yu Gothic", "游ゴシック", YuGothic, 
                 sans-serif !important;
}

/* 強調テキスト */
strong, b {
    font-weight: 700;
}

/* 段落テキスト */
p, div, span {
    font-weight: 400;
}

/* ナビゲーション */
nav, .menu, .navigation {
    font-weight: 400;
    font-family: "Noto Sans JP", "Noto Sans", sans-serif !important;
}

/* ===== ブラウザ対応・フォールバック ===== */

/* Google Fonts非対応ブラウザ用フォールバック */
@supports not (font-display: swap) {
    body, html, * {
        font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", 
                     "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", 
                     "メイリオ", Meiryo, "Osaka", 
                     "MS Pゴシック", "MS PGothic", 
                     Arial, Helvetica, sans-serif !important;
    }
}

/* Internet Explorer 11対応 */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    body, html, * {
        font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", 
                     "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", 
                     "メイリオ", Meiryo, "Osaka", 
                     "MS Pゴシック", "MS PGothic", 
                     Arial, Helvetica, sans-serif !important;
    }
}

/* Firefox用追加設定 */
@-moz-document url-prefix() {
    body, html, * {
        font-family: "Noto Sans JP", "Noto Sans", 
                     "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", 
                     "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", 
                     "メイリオ", Meiryo, "Osaka", 
                     "MS Pゴシック", "MS PGothic", 
                     Arial, Helvetica, sans-serif !important;
    }
}

/* ===== Noto Sans 特別設定 ===== */

/* Noto Sans固有のスタイル調整 */
.noto-sans-text {
    font-family: "Noto Sans", Arial, Helvetica, sans-serif !important;
    font-feature-settings: "kern" 1, "liga" 1;
    text-rendering: optimizeLegibility;
}

.noto-sans-jp-text {
    font-family: "Noto Sans JP", "Yu Gothic", "游ゴシック", sans-serif !important;
    font-feature-settings: "kern" 1, "liga" 1;
    text-rendering: optimizeLegibility;
}

/* ===== モバイル最適化 ===== */
@media (max-width: 768px) {
    /* モバイルでのフォントサイズとウェイト調整 */
    body {
        font-weight: 400;
        font-family: "Noto Sans JP", "Noto Sans", sans-serif !important;
    }
    
    h1, h2, h3 {
        font-weight: 600;
    }
    
    h4, h5, h6 {
        font-weight: 500;
    }
}

/* ===== 印刷用最適化 ===== */
@media print {
    body, html, * {
        font-family: "Noto Sans JP", "Yu Gothic", "游ゴシック", 
                     Arial, "MS PGothic", sans-serif !important;
        font-weight: 400 !important;
    }
    
    h1, h2, h3, h4, h5, h6 {
        font-weight: 700 !important;
    }
}

/* ===== 特殊なフォントクラス ===== */

/* Roboto強制適用（英語用） */
.force-roboto {
    font-family: "Roboto", Arial, sans-serif !important;
}

/* Noto Sans JP強制適用 */
.force-noto-sans-jp {
    font-family: "Noto Sans JP", "Yu Gothic", sans-serif !important;
}

/* フォント統一クラス */
.unified-font {
    font-family: "Noto Sans JP", "Noto Sans", sans-serif !important;
}

/* ===== Roboto専用クラス（必要な時に使用） ===== */

/* Roboto強制適用 */
.roboto-font,
.force-roboto,
.use-roboto {
    font-family: "Roboto", Arial, Helvetica, sans-serif !important;
}

/* Roboto + 日本語フォールバック */
.roboto-mixed {
    font-family: "Roboto", "Noto Sans JP", "Yu Gothic", "游ゴシック", sans-serif !important;
}

/* Roboto英語専用 */
.roboto-en,
.roboto-english {
    font-family: "Roboto", Arial, Helvetica, sans-serif !important;
}

/* Roboto特定ウェイト */
.roboto-light {
    font-family: "Roboto", Arial, sans-serif !important;
    font-weight: 300 !important;
}

.roboto-regular {
    font-family: "Roboto", Arial, sans-serif !important;
    font-weight: 400 !important;
}

.roboto-semibold {
    font-family: "Roboto", Arial, sans-serif !important;
    font-weight: 600 !important;
}

.roboto-bold {
    font-family: "Roboto", Arial, sans-serif !important;
    font-weight: 700 !important;
}
