@charset "utf-8";

@media (max-width: 1561px) {
    .wrapper { font-size: 1vw; }
    .container { width: 94%; }
}
@media (max-width: 1441px) {
    .wrapper { font-size: 1.125vw; }
}
@media (max-width: 1281px) {
    .wrapper { font-size: 1.25vw; word-break: keep-all; }
    .about .about_list li { gap: 1em; }
    .cs_txt p br { display: none; }
}
@media (max-width: 1080Px) {
    .cont_tbl { overflow-x: scroll; }
}
@media (max-width: 1025px) {
    .wrapper { font-size: 1.4vw; }
    .logo { height: 2em; }
    .about .about_list li { flex-direction: column; align-items: flex-start; }
    .cs_con,
    .partner_con { gap: 3%; }
    .partner_txt { padding-left: 1.5em; }
    .partner_txt .partner_box { margin-bottom: -1.5em; }
    .partner_img { padding: 1em; }
}
@media (max-width: 992px) {
    .wrapper { font-size: 15px; }
    .hd_con { justify-content: space-between; }
    .hd_gnb { display: none; }
    .hd_anb { width: 100%; height: calc(var(--vh) * 100); display: block; left: auto; right: 0; transform: translateX(100%); transition: var(--ts-md); }
    .hd_anb a { display: block; }
    .hd_anb.is-open { transform: translateX(0); }
    .hd_anb_list { display: flex; flex-direction: column; gap: 2em; padding: 3em 0; }
    .hd_anb_item > a { font-size: 1.5em; }
    .hd_anb_sub { display: none; padding: 1em }
    .hd_anb_sub a { font-size: 1.125em; }
    .ft { text-align: center; }
    .ft_box { flex-direction: column; align-items: center; gap: 1em; }

    /* idx */
    .idx_title h3 { font-size: 1.25em; }
    .idx_banner .idx_title h2,
    .idx_title h2 { font-size: 2.875em; }
    .idx_title p { font-size: 1.25em; }
    .idx_product, .idx_cert, .idx_youtube, .idx_latest { padding: 6em 0; }
    .idx_quick { text-align: center; }
    .idx_quick .quick_box { flex-direction: column-reverse; gap: 3em; align-items: center; }
    .idx_quick .quick_txt,
    .idx_quick .quick_list { width: 100%; }

    /* sub */
    .sub .page_title p { font-size: 1.25em; }

    /* ceo */
    .ceo_con { flex-direction: column; gap: 2em; }

    /* about */
    .about .page_title { text-align: center; }
    .about_con { flex-direction: column; gap: 2em; }
    .about_img, .about_txt { margin: auto; text-align: center; max-width: 760px; }
    .about_txt p { font-size: 1.125em; }

    /* location */
    .location_list { grid-template-columns: repeat(2,1fr); }
    .location_list li:nth-child(1) { grid-column: 1/-1; }

    /* spec */
    .spec_tbl table { font-size: 0.9375em; }

    /* product */
    .product .gallery .post_list { grid-template-columns: repeat(2, 1fr); }

    /* cs */
    .cs_con { flex-direction: column; gap: 3em; }
    .cs_bnr,
    .cs_txt { width: 100%; max-width: 760px; margin: auto; }

    /* service */
    .service_title { font-size: 1.5em; }
    .service_txt p br { display: none; }

    /* dealer */
    .dealer .dealer_con { flex-direction: column-reverse; gap: 3em; }
    .dealer .basic,
    .dealer .dealer_map { width: 100%; max-width: 760px; margin: auto; }
    .dealer .dealer_map { width: 60%; }

    /* partner */
    .partner_con { display: flex; flex-direction: column-reverse; align-items: center; gap: 3em; }
    .partner_txt,
    .partner_img { width: 100%; max-width: 760px; margin: auto; }
    .partner_img img { width: 100%; }
    .partner_txt { flex-direction: column; align-items: flex-start; padding: 0; }
    .partner_txt img { position: static; width: 75%; margin: auto; transform: translateX(2%); }
    .partner_txt .partner_box { width: 100%; margin-top: -4em; text-align: center; }
}

@media (max-width: 586px) {
    .wrapper { font-size: 2.5vw; }
    .container { width: 92%; }
    .hd,.ft { font-size: 1.25em; }
    .hd_anb_list { padding: 3em 2em; font-size: 1.125em; }
    .hd_anb_sub { padding: 1.25em; padding-bottom: 0; }
    .hd_anb_sub li { margin-bottom: 1.125em; }

    .idx_latest .latest_box { flex-direction: column; gap: 3em; }
    .idx_banner .idx_title h2,
    .idx_title h2 { font-size: 2.5em; }
    .idx_youtube .youtube { width: 100%; }

    .about_list ul { grid-template-columns: repeat(2,1fr); }
    .cert .gallery .post_list { grid-template-columns: repeat(2,1fr); }
    .location_map { padding-top: 60%; }
    .service_list li { flex-direction: column !important; margin-top: 3em; }
    .service_img, .service_txt { width: 100%; }

    .service_bnr { text-align: center; }
    .service_bnr h4 { font-size: 2em; margin-bottom: 1em; }
    .service_bnr p { text-align: center; line-height: 1.3; }
    .dealer .dealer_map { width: 70%; }

    .partner_img h3 { width: 70%; }
}