@media (hover: hover) {
    .header-container nav ul li a:hover {
        color: #1a2f4a;
        border-color: #2e6da4;
    }
}

@media (max-width: 1125px) {
    .main-message-title {
        font-size: 22px;
    }

    .main-message-sub {
        font-size: 18px;
    }
}

@media (max-width: 1050px) {
    .main-message-title {
        font-size: 18px;
    }
}

@media (max-width: 1100px) {

    .main-message-title span {
        width: 60%;
        display: block;
    }

    .main-message-title .line2 {
        margin-left: 25px;
    }

    .main-message-title::before {
        margin-right: 22px;
    }
}

@media (max-width: 980px) {
    .hero-container {
        grid-column: full !important;
    }

    .main-img {
        width: 100%;
    }

    .main-img::before {
        display: none;
    }

    .main-message {
        height: auto;
        width: 100%;
        margin-top: 40px;
        padding: 48px 32px;
    }

    .main-message-title {
        justify-content: center;
        transform: none;
        text-align: center;
    }

    .main-message-title span {
        font-size: 28px;
        display: inline;
        width: auto;
    }

    .main-message-title .line2 {
        margin-left: 0;
    }

    .main-message-title::before {
        display: none;
    }

    .main-message-sub {
        width: 100%;
        font-size: 20px;
        text-align: center;
        padding: 0;
    }

    .main-message-sub p {
        margin-bottom: 20px;
    }

    .main-message::before {
        display: none;
    }
}

@media (max-width: 900px) {
    .service-content-wrapper {
        font-size: 14px;
    }
    
    .footer-main nav ul li a {
        font-size: 16px;
    }
}

@media (max-width: 800px) {
    .hamburger {
        display: block;
        z-index: 1001;
    }

    .nav-menu {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        z-index: 1000;
        background-color: rgba(244, 247, 251, 0.98);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.4s ease;
        margin-top: 0;
        padding: 0;
        right: auto;
    }

    .nav-menu.active {
        opacity: 1;
        pointer-events: auto;
        right: auto;
    }

    .nav-menu ul {
        flex-direction: column;
        align-items: center;
        gap: 40px;
    }

    .nav-menu ul li a {
        font-size: 28px;
        letter-spacing: 0.2em;
        color: #1a2f4a;
    }

    .contact-container {
        margin: 0 80px;
    }

    .footer-left {
        font-size: 12px;
    }

    .footer-main nav ul li a {
        font-size: 14px;
    }

    .footer-right img {
        width: 20px;
        height: 20px;
    }
}

@media (max-width: 700px) {
    .main-message-sub {
        font-size: 20px;
    }

    .service-content-wrapper {
        width: 100%;
        margin: 0 10%;
        font-size: 20px;
    }

    .footer-left, .footer-main, .footer-right {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .footer-main {
        margin-bottom: 20px;
    }

    .footer-right {
        padding-bottom: 20px;
    }

    .footer-container {
        flex-direction: column;
        padding: 48px 0;
        gap: 24px;
    }
}


@media (max-width: 600px) {
    .main-message {
        height: auto;
    }

    .main-message-title span {
        font-size: 24px;
        
    }

    .main-message-sub {
        font-size: 16px;
    }

    .work-desc {
        font-size: 14px;
    }

    .contact-container {
        margin: 0 40px;
    }

    .sns-icons img {
        width: 24px;
    }

    .submit-button {
        font-size: 16px;
        padding: 5px 30px;
    }
}

@media (max-width: 500px) {
    .main-img {
        height: 300px;
    }

    .main-message-title {
        font-size: 20px;
    }

    .work-title-link {
        font-size: 24px;
    }

    .work-desc {
        font-size: 12px;
    }

    .service-content-wrapper p {
        font-size: 16px;
    }
}

@media (max-width: 450px) {
    .main-message-sub {
        font-size: 14px;
    }
}

@media (max-width: 400px) {
    .logo {
        font-size: 28px;
    }

    .services-lead-text {
        font-size: 13px;
    }

    .services-meta-item {
        padding: 12px 8px;
    }

    .services-meta-value {
        font-size: 11px;
    }

    .services-meta-label {
        font-size: 9px;
    }

    .header-container nav ul li a {
        font-size: 16px;
    }

    .main-message {
        height: auto;
    }

    .main-message-sub {
        font-size: 12px;
    }

    .main-message-sub p {
        margin-bottom: 30px;
    }

    .service-content-wrapper h4 {
        font-size: 18px;
    }

    .service-content-wrapper p {
        font-size: 14px;
    }

    .footer-main nav ul li a {
        font-size: 12px;
    }
}

@media (max-width: 350px) {
    .main-message {
        height: auto;
    }

    .main-message-title span {
        font-size: 20px;
    }

    .service-content-wrapper h4 {
        font-size: 16px;
    }

    .service-content-wrapper p {
        font-size: 12px;
    }

    .sns-icons img {
        width: 20px;
    }

    .footer-main nav ul li a {
        font-size: 10px;
    }
}