/*
 * Mobile Typography Overrides
 * スマートフォン表示時のテキスト左寄せルール
 * 要望に基づき主要テキスト要素のデフォルト揃えを左に統一
 */

@media (max-width: 768px) {
    body,
    body h1,
    body h2,
    body h3,
    body h4,
    body h5,
    body h6,
    body p,
    body li,
    body dt,
    body dd,
    body blockquote,
    body figcaption,
    body table,
    body th,
    body td {
        text-align: left !important;
    }

    .hero-content,
    .hero-title,
    .hero-subtitle,
    .hero-description,
    .hero-buttons,
    .section-header,
    .section-title,
    .section-subtitle,
    .section-description,
    .page-header-content,
    .page-header-title,
    .page-header-subtitle,
    .cta-section,
    .cta-section *,
    .entry-content,
    .entry-content *,
    .card,
    .card-title,
    .card-content,
    .footer-content,
    .footer-section,
    .footer-section *,
    .footer-bottom,
    .contact-hours,
    .mobile-nav-menu,
    .mobile-nav-menu a,
    .mobile-contact-info,
    .mobile-contact-info *,
    .archive-news-page .news-card__body,
    .news-card__body,
    .works-detail,
    .works-detail *,
    .contact-form,
    .contact-form *,
    .page-content,
    .page-content * {
        text-align: left !important;
    }

    .hero-buttons,
    .cta-section,
    .footer-cta,
    .footer-cta *,
    .page-header-content,
    .section-header {
        align-items: flex-start !important;
        justify-content: flex-start !important;
    }

    .intro-text {
        border: none !important;
    }

    .machine-page h2 {
        text-align: center !important;
    }

    .machine-page .intro-text h2 {
        text-align: left !important;
    }

    .about-page h2 {
        text-align: center !important;
    }

    .about-page .intro-text h2 {
        text-align: left !important;
    }

    .hero-description,
    .section-subtitle,
    .section-description,
    .page-header-subtitle {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .cta-section h2,
    .cta-section h2 *,
    .cta-section p {
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .footer-phone-btn,
    .footer-contact-btn {
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
    }

    .site-footer .contact-hours {
        justify-content: flex-start !important;
        text-align: left !important;
        align-items: center !important;
    }
}
