/**
 * 日本語行書体スタイル
 * Japanese Serif (Mincho) Typography Styles
 */

/* ヒーローセクションのタイトル */
.hero-title {
    font-family: 'Shippori Mincho', 'Noto Serif JP', 'YuMincho', 'Hiragino Mincho ProN', serif !important;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.5;
    font-feature-settings: "palt" 1;
}

.hero-subtitle {
    font-family: 'Shippori Mincho', 'Noto Serif JP', serif !important;
    font-weight: 400;
    letter-spacing: 0.08em;
    line-height: 1.8;
}

/* セクションタイトル */
.section-title,
.display-heading,
.cards-title {
    font-family: 'Shippori Mincho', 'Noto Serif JP', 'YuMincho', serif !important;
    font-weight: 600;
    letter-spacing: 0.1em;
    font-feature-settings: "palt" 1;
}

.section-subtitle,
.subtitle-large,
.cards-description {
    font-family: 'Noto Serif JP', 'Shippori Mincho', serif !important;
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1.8;
}

/* セクションラベルは英語フォントのまま */
.section-label {
    font-family: 'Outfit', 'Poppins', sans-serif !important;
    text-transform: uppercase;
    letter-spacing: 0.15em;
}

/* カードタイトル */
.card-title,
.service-content h3,
.concept-content h3,
.program-content h3,
.pricing-header h3,
.blog-content h3 {
    font-family: 'Shippori Mincho', 'Noto Serif JP', serif !important;
    font-weight: 600;
    letter-spacing: 0.06em;
}

/* トレーナー名 */
.trainer-info h3,
.trainer-name {
    font-family: 'Shippori Mincho', 'Noto Serif JP', serif !important;
    font-weight: 600;
    letter-spacing: 0.08em;
}

/* CTAタイトル */
.cta-title {
    font-family: 'Shippori Mincho', 'Noto Serif JP', serif !important;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.4;
}

.cta-description {
    font-family: 'Noto Serif JP', serif !important;
    letter-spacing: 0.05em;
    line-height: 1.8;
}

/* ロゴテキスト */
.logo-text,
.logo-link,
.header-logo .logo-text {
    font-family: 'Shippori Mincho', 'Noto Serif JP', serif !important;
    font-weight: 700;
    letter-spacing: 0.15em;
}

/* フィーチャーアイテム */
.feature-item h3,
.concept-content h3 {
    font-family: 'Shippori Mincho', 'Noto Serif JP', serif !important;
    font-weight: 600;
    letter-spacing: 0.08em;
}

/* 料金表示 */
.price-amount {
    font-family: 'Outfit', sans-serif !important; /* 数字は英語フォント */
}

/* アクセス情報の見出し */
.access-details h3 {
    font-family: 'Shippori Mincho', 'Noto Serif JP', serif !important;
    font-weight: 600;
    letter-spacing: 0.08em;
}

/* ブログカテゴリー以外のブログタイトル */
article h3,
.blog-card h3 {
    font-family: 'Noto Serif JP', 'Shippori Mincho', serif !important;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.6;
}

/* ローディング画面のロゴ */
.instant-loader-logo,
.loader-logo {
    font-family: 'Shippori Mincho', 'Noto Serif JP', serif !important;
    font-weight: 700;
    letter-spacing: 0.12em;
}

/* モバイルメニューのロゴ */
.mobile-logo {
    font-family: 'Shippori Mincho', 'Noto Serif JP', serif !important;
    font-weight: 700;
    letter-spacing: 0.1em;
}

/* 見出しレベル別の調整 */
h1 {
    font-family: 'Shippori Mincho', 'Noto Serif JP', serif !important;
    letter-spacing: 0.12em;
    line-height: 1.5;
}

h2 {
    font-family: 'Shippori Mincho', 'Noto Serif JP', serif !important;
    letter-spacing: 0.1em;
    line-height: 1.4;
}

h3 {
    font-family: 'Shippori Mincho', 'Noto Serif JP', serif !important;
    letter-spacing: 0.08em;
    line-height: 1.4;
}

h4, h5, h6 {
    font-family: 'Noto Serif JP', serif !important;
    letter-spacing: 0.06em;
    line-height: 1.5;
}

/* 特別なエフェクトクラス */
.jp-serif {
    font-family: 'Shippori Mincho', 'Noto Serif JP', serif !important;
}

.jp-elegant {
    font-family: 'Sawarabi Mincho', 'Noto Serif JP', serif !important;
    font-weight: 400;
}

/* レスポンシブ調整 */
@media (max-width: 768px) {
    .hero-title,
    .section-title {
        letter-spacing: 0.08em;
    }
    
    h1, h2, h3 {
        letter-spacing: 0.06em;
    }
}