.home-page .m_project_pro_d dl[hidden] { display: none; }
.home-page .m_project_pro_d dl.is-active { opacity: 1; z-index: 2; }
.home-page .m_project_pro_t [role=tab] { cursor: pointer; }
.home-page .m_project_pro_t [role=tab]:focus-visible { outline: 2px solid #008ed6; outline-offset: -3px; }

@media (max-width: 767px) {
    /* Reveal content immediately on a small screen, without staggered scroll delays. */
    .home-page .main .wow {
        visibility: visible !important;
        opacity: 1 !important;
        animation: none !important;
        transform: none !important;
    }
    .home-page .banner_des .animated { animation: none !important; opacity: 1 !important; transform: none !important; }
    .home-page .head { height: clamp(320px, 92vw, 420px); }
    .home-page .banner_video, .home-page .banner_video img { height: 100%; }
    .home-page .banner_video img { display: block; object-fit: cover; margin-top: 0; }
    .home-page .banner_des { top: 50%; margin-top: 0; transform: translateY(-40%); }
    .home-page .banner_des .banner_title { width: calc(100% - 32px); margin-top: 0; }
    .home-page .banner_title dl { display: grid; grid-template-columns: 1fr 2.2fr 1fr; align-items: center; gap: 8px; }
    .home-page .banner_des .banner_title dd,
    .home-page .banner_des .banner_title dd.right {
        width: auto; height: auto; float: none; margin: 0;
        font-size: clamp(12px, 3vw, 16px); letter-spacing: 1px; line-height: 1.5; text-align: center;
    }
    .home-page .banner_des .banner_title dt { width: 100%; height: auto; aspect-ratio: 3.125; float: none; }
    .home-page .banner_des .banner_light { height: 18px; margin-top: -3px; }
    .home-page .banner_light img { height: 100%; object-fit: contain; }
    .home-page .banner_des .banner_line { font-size: clamp(12px, 3.5vw, 17px); letter-spacing: 1px; padding: 0 16px; }
    .home-page .banner_button { display: flex; gap: 8px; width: calc(100% - 48px); max-width: 420px; margin: 24px auto 0; }
    .home-page .banner_button a { flex: 1; width: auto; min-width: 0; height: 44px; margin: 0; float: none; box-sizing: border-box; font-size: 14px; line-height: 42px; }

    .home-page .main_title, .home-page .main_title_d { margin-top: 0; }
    .home-page .main_title h3, .home-page .main_title_d h3 { font-size: 24px; line-height: 1.3; }
    .home-page .main_title h3 o, .home-page .main_title_d h3 o { font-size: 16px; }
    .home-page .main_title .title_line, .home-page .main_title_d .title_line { width: 180px; margin: 6px auto 4px; }
    .home-page .main_title p, .home-page .main_title_d p { font-size: 11px; line-height: 1.5; }
    .home-page .m_about { padding: 28px 0 12px; }
    .home-page .m_about_right { width: calc(100% - 32px); padding: 0; }
    .home-page .m_about_r_title { display: flex; align-items: center; height: auto; }
    .home-page .m_about_r_title img { width: 47%; height: auto; float: none; }
    .home-page .m_about_r_title i { height: auto; margin-left: 8px; float: none; font-size: 12px; line-height: 1.5; letter-spacing: 0; }
    .home-page .m_about_r_line { width: 100%; margin: 10px 0 8px; }
    .home-page .m_about_r_des { font-size: 14px; line-height: 1.7; letter-spacing: 0; padding: 0; margin-bottom: 8px; }
    .home-page .m_about_r_key ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 4px; }
    .home-page .m_about_r_key ul li { width: auto; height: auto; margin: 0; float: none; }
    .home-page .m_about_r_key ul o { display: none; }
    .home-page .m_about_r_key ul span { width: 12px; height: 10px; margin: 5px 4px 0 0; }
    .home-page .m_about_r_key h4 { font-size: 12px; padding: 0; }
    .home-page .m_about_left { height: 10.8rem; margin: 10px auto 0; }
    .home-page .m_about_left ul { transform: scale(.78); transform-origin: top center; }

    .home-page .m_project { padding-top: 24px; }
    .home-page .m_project .m_project_pro_t { width: calc(100% - 24px); margin: 16px auto 0; }
    .home-page .m_project_pro_t ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .home-page .m_project .m_project_pro_t ul > o, .home-page .m_project .m_project_pro_t ul > i { display: none; }
    .home-page .m_project .m_project_pro_t ul li { width: auto; float: none; padding: 8px 6px; }
    .home-page .m_project .m_project_pro_t ul li p { font-size: 11px; margin: 6px 0 2px; }
    .home-page .m_project .m_project_pro_t ul li h4 { font-size: 13px; }
    .home-page .m_project .m_project_pro_d .m_project_pro_d_bg { height: auto; }
    .home-page .m_project .m_project_pro_d dl { position: static; width: 100%; padding: 12px 16px 22px; box-sizing: border-box; opacity: 1; }
    .home-page .m_project .m_project_pro_d dt { width: min(68%, 260px); height: auto; aspect-ratio: 600 / 538; background-size: contain; }
    .home-page .m_project .m_project_pro_d dd { width: 100%; height: auto; padding: 0; float: none; }
    .home-page .m_project .m_project_pro_d dd .pro_title { height: auto; margin: 8px 0 0; overflow: visible; }
    .home-page .m_project .m_project_pro_d dd h4 { float: none; font-size: 20px; line-height: 1.4; letter-spacing: 0; }
    .home-page .m_project .m_project_pro_d dd i { display: block; float: none; font-size: 12px; line-height: 1.6; letter-spacing: 0; }
    .home-page .m_project .m_project_pro_d dd .pro_des p { font-size: 14px; line-height: 1.7; letter-spacing: 0; margin: 4px 0; padding-left: 12px; }
    .home-page .m_project .m_project_pro_d dd .pro_des p span { width: 4px; height: 4px; top: 10px; }
    .home-page .m_project .m_project_pro_d dd .pro_tip { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
    .home-page .m_project .m_project_pro_d dd .pro_tip span { float: none; height: auto; margin: 0; padding: 3px 8px; font-size: 12px; line-height: 1.5; }

    .home-page .m_plan ul li a { height: 88px; }
    .home-page .m_plan ul li img { display: block; height: 100%; margin: 0; object-fit: cover; }
    .home-page .m_plan_des { display: flex; align-items: center; gap: 10px; padding: 0 16px 0 76px; box-sizing: border-box; background-size: 44px auto; background-position: 16px center; }
    .home-page .m_plan_des span { display: none; }
    .home-page .m_plan_des h3 { flex: 1; width: auto; float: none; margin: 0; text-align: left; font-size: 18px; }
    .home-page .m_plan_des i { width: 76px; height: 30px; margin: 0; float: none; font-size: 12px; line-height: 30px; }
    .home-page .m_case { padding: 28px 0 14px; }
    .home-page .m_case_col { margin-top: 16px; }
    .home-page .m_case_col dl { margin-bottom: 14px; }
    .home-page .m_case_col dl dt { font-size: 14px; margin-top: 8px; }

    .home-page .m_corp { padding: 28px 0; }
    .home-page .m_corp ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); justify-items: center; gap: 10px 6px; width: calc(100% - 32px); margin-top: 18px; }
    .home-page .m_corp ul li { width: 5rem; height: 1.754rem; margin: 0; float: none; background-size: 24.6753rem 8.7013rem; }
    .home-page .m_corp_1_1, .home-page .m_corp_2_1, .home-page .m_corp_3_1, .home-page .m_corp_4_1 { --logo-x: 0rem; }
    .home-page .m_corp_1_2, .home-page .m_corp_2_2, .home-page .m_corp_3_2, .home-page .m_corp_4_2 { --logo-x: -6.4935rem; }
    .home-page .m_corp_1_3, .home-page .m_corp_2_3, .home-page .m_corp_3_3, .home-page .m_corp_4_3 { --logo-x: -13.0519rem; }
    .home-page .m_corp_1_4, .home-page .m_corp_2_4, .home-page .m_corp_3_4, .home-page .m_corp_4_4 { --logo-x: -19.6753rem; }
    .home-page .m_corp_1_1, .home-page .m_corp_1_2, .home-page .m_corp_1_3, .home-page .m_corp_1_4 { --logo-y: 0rem; }
    .home-page .m_corp_2_1, .home-page .m_corp_2_2, .home-page .m_corp_2_3, .home-page .m_corp_2_4 { --logo-y: -2.3377rem; }
    .home-page .m_corp_3_1, .home-page .m_corp_3_2, .home-page .m_corp_3_3, .home-page .m_corp_3_4 { --logo-y: -4.6104rem; }
    .home-page .m_corp_4_1, .home-page .m_corp_4_2, .home-page .m_corp_4_3, .home-page .m_corp_4_4 { --logo-y: -6.9481rem; }
    .home-page .m_corp ul li { background-position: var(--logo-x) var(--logo-y); }

    .home-page .m_map { padding: 28px 0 12px; }
    .home-page .m_map_nr { height: 16rem; overflow: hidden; }
    .home-page .m_map_nr h3 { padding-top: 16px; font-size: 17px; }
    .home-page .m_map_nr p { font-size: 13px; line-height: 1.6; margin-bottom: 12px; }
    .home-page .m_map_nr dt { font-size: 24px; }
    .home-page .m_map_nr dd { font-size: 12px; }
    .home-page .m_map_circle { top: 9rem; }
    .home-page .m_map_nr .m_map_all { width: 13rem; height: 13rem; left: 3.3rem; top: 5.5rem; }
    .home-page .m_map_nr .m_map_all div { width: 100%; height: 100%; background-size: contain; }
    .home-page .m_consult { padding: 16px 0; }
    .home-page .m_consult_nr p { margin: 0 0 12px; font-size: 14px; line-height: 1.7; }
    .home-page .m_consult_nr p b { font-size: 24px; line-height: 1.25; }
    .home-page .m_consult_nr a { width: 120px; height: 38px; margin-right: 0; font-size: 14px; line-height: 38px; }

    .home-page .m_input { padding: 28px 0; }
    .home-page .m_input_hr { width: calc(100% - 32px); max-width: 520px; padding: 1px; margin-top: 16px; box-sizing: border-box; }
    .home-page .m_input_hr form { padding: 16px; box-sizing: border-box; }
    .home-page .m_input_hr li { width: 100%; margin-bottom: 10px; }
    .home-page .m_input_hr input, .home-page .m_input_hr textarea { width: 100%; padding: 10px 12px; }
    .home-page .m_input_hr input { height: 44px; }
    .home-page .m_input_hr textarea { height: 84px; }
    .home-page .m_input_hr input[type=submit] { width: auto; }
    .home-page .m_news.wejoy-news { padding: 28px 0; }
    .home-page .m_news.wejoy-news .main4_t { margin: 12px auto 16px; }
    .home-page .wejoy-news .main4_t button { min-height: 44px; font-size: 14px; }
    .home-page .m_news.wejoy-news .main4_b { width: calc(100% - 32px); max-width: 520px; }
    .home-page .wejoy-news .main4_b .m_news_list { padding: 10px 12px 14px; }
    .home-page .m_news.wejoy-news .main4_b .m_news_cover { aspect-ratio: 2.04; }
    .home-page .m_news.wejoy-news .main4_b h3 { padding: 8px 0; font-size: 14px; }
    .home-page .m_news.wejoy-news .main4_b li { min-height: 30px; line-height: 1.6; }
    .home-page .m_news.wejoy-news .main4_b li a { display: block; padding: 4px 0; font-size: 13px; }
    .home-page .foot { padding: 24px 16px; }
    .home-page .foot ul { padding: 0; }
    .home-page .foot ul li { padding-bottom: 16px; }
    .home-page .foot ul h4 { font-size: 16px; }
    .home-page .foot ul p { font-size: 13px; line-height: 1.6; opacity: .65; }
    .home-page .foot ol { width: 100%; padding: 8px 0; }
    .home-page .foot ol li { font-size: 11px; opacity: .55; }
    .home-page .foot .copyright { margin-top: 12px; font-size: 11px; line-height: 1.6; }
}
