/* =========================================================
   GP PRO INTEGRATION / RECOVERY v1.4 FINAL HEADING SYSTEM
   - Recovery COMPLETE v1.4 HEADER-UNIFIED の最終表示をテーマへ恒久化
   - WordPress「追加CSS」に依存しなくても同じ見出し体系を維持
========================================================= */
html body h1,
html body h2,
html body h3 {
    font-family: "Noto Sans JP", sans-serif !important;
    font-style: normal !important;
    font-weight: 700 !important;
    text-transform: none !important;
}

html body .main-title,
html body .main-title a,
html body.home .main-title,
html body.home .main-title a,
html body:not(.home) .main-title,
html body:not(.home) .main-title a {
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 30px !important;
    font-style: normal !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: .035em !important;
    text-transform: none !important;
    text-decoration: none !important;
}

html body .tkz-page-title,
html body.post-type-archive-shop .tkz-search-header h1,
html body.tax-area .tkz-area-header h1,
html body.tax-genre .tkz-genre-header h1,
html body.tax-play .tkz-play-header h1,
html body.post-type-archive-master .tkz-master-archive-header h1,
html body.single-master .tkz-master-single-header h1,
html body.post-type-archive-dictionary .tkz-dictionary-archive-header h1,
html body.tax-dictionary_category .tkz-dictionary-header h1,
html body.single-dictionary .tkz-dictionary-single-header h1,
html body.page .tkz-listing-header h1,
html body.page .tkz-recruit-header h1,
html body.page .tkz-contact-header h1,
html body.page .tkz-about-header h1,
html body.page .tkz-privacy-header h1 {
    font-size: 42px !important;
    font-weight: 700 !important;
    line-height: 1.32 !important;
    letter-spacing: .01em !important;
}

html body .tkz-home-section-title h2,
html body .tkz-area-children > h2,
html body .tkz-area-shop-section > h2,
html body .tkz-genre-shop-section > h2,
html body .tkz-play-shop-section > h2,
html body .tkz-location-shop-group-head h2,
html body .tkz-location-shop-group--local-paid .tkz-location-shop-group-head h2,
html body .tkz-location-shop-group--outside-paid .tkz-location-shop-group-head h2,
html body .tkz-location-shop-group--local-free .tkz-location-shop-group-head h2,
html body.single-master h2,
html body.single-dictionary .tkz-dictionary-single-content h2,
html body.page h2 {
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    letter-spacing: .01em !important;
}

html body .tkz-paid-shop-name,
html body .tkz-shop-card h3,
html body .tkz-area-shop-card h3,
html body .tkz-genre-shop-card h3,
html body .tkz-play-shop-card h3,
html body .tkz-home-master-card h3,
html body .tkz-master-card h3,
html body.single-master h3,
html body.single-dictionary .tkz-dictionary-single-content h3,
html body.page h3 {
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
}

html body.tax-area .tkz-location-shop-group--local-paid .tkz-location-shop-group-head h2,
html body.tax-area .tkz-location-shop-group--outside-paid .tkz-location-shop-group-head h2,
html body .tkz-location-shop-group--local-paid .tkz-location-shop-group-head h2,
html body .tkz-location-shop-group--outside-paid .tkz-location-shop-group-head h2 {
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    letter-spacing: .01em !important;
}

@media (max-width: 768px) {
    html body .main-title,
    html body .main-title a,
    html body.home .main-title,
    html body.home .main-title a,
    html body:not(.home) .main-title,
    html body:not(.home) .main-title a {
        font-size: 20px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        letter-spacing: .02em !important;
        white-space: nowrap !important;
    }

    html body .tkz-page-title,
    html body.post-type-archive-shop .tkz-search-header h1,
    html body.tax-area .tkz-area-header h1,
    html body.tax-genre .tkz-genre-header h1,
    html body.tax-play .tkz-play-header h1,
    html body.post-type-archive-master .tkz-master-archive-header h1,
    html body.single-master .tkz-master-single-header h1,
    html body.post-type-archive-dictionary .tkz-dictionary-archive-header h1,
    html body.tax-dictionary_category .tkz-dictionary-header h1,
    html body.single-dictionary .tkz-dictionary-single-header h1,
    html body.page .tkz-listing-header h1,
    html body.page .tkz-recruit-header h1,
    html body.page .tkz-contact-header h1,
    html body.page .tkz-about-header h1,
    html body.page .tkz-privacy-header h1 {
        font-size: 30px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
    }

    html body .tkz-home-section-title h2,
    html body .tkz-area-children > h2,
    html body .tkz-area-shop-section > h2,
    html body .tkz-genre-shop-section > h2,
    html body .tkz-play-shop-section > h2,
    html body .tkz-location-shop-group-head h2,
    html body .tkz-location-shop-group--local-paid .tkz-location-shop-group-head h2,
    html body .tkz-location-shop-group--outside-paid .tkz-location-shop-group-head h2,
    html body .tkz-location-shop-group--local-free .tkz-location-shop-group-head h2,
    html body.single-master h2,
    html body.single-dictionary .tkz-dictionary-single-content h2,
    html body.page h2 {
        font-size: 24px !important;
        font-weight: 700 !important;
        line-height: 1.45 !important;
    }

    html body .tkz-paid-shop-name,
    html body .tkz-shop-card h3,
    html body .tkz-area-shop-card h3,
    html body .tkz-genre-shop-card h3,
    html body .tkz-play-shop-card h3,
    html body .tkz-home-master-card h3,
    html body .tkz-master-card h3,
    html body.single-master h3,
    html body.single-dictionary .tkz-dictionary-single-content h3,
    html body.page h3 {
        font-size: 20px !important;
        font-weight: 700 !important;
        line-height: 1.5 !important;
    }
}
