/* Hamburger Menu Styles */
#hamburger.active span:first-of-type {
    transform: rotate(-135deg);
    top: 50%;
}

#hamburger.active span:last-of-type {
    transform: rotate(135deg);
    top: 50%;
    width: 100%;
}

/* Company Page Styles */
.company-hero-section {
    position: relative;
    width: 100%;
    height: 300px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
}

@media (min-width: 768px) {
    .company-hero-section {
        height: 405px;
    }
}

/* Font Variation Settings for Roboto */
.roboto-wdth-100 {
    font-variation-settings: 'wdth' 100;
}

/* Company Profile Title */
.company-profile-title {
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    color: #595757;
    font-size: 32px;
    margin-bottom: 0.5rem;
    font-variation-settings: 'wdth' 100;
}

@media (min-width: 768px) {
    .company-profile-title {
        font-size: 40px;
    }
}

/* Contact Banner Title */
.contact-banner-title {
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    color: white;
    font-size: 40px;
    font-variation-settings: 'wdth' 100;
}

@media (min-width: 768px) {
    .contact-banner-title {
        font-size: 56px;
    }
}

@media (min-width: 1024px) {
    .contact-banner-title {
        font-size: 70px;
    }
}

/* Recruit Page Styles */
.recruit-hero-title {
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    color: #595757;
    font-size: 48px;
    margin-bottom: 1.5rem;
    font-variation-settings: 'wdth' 100;
}

@media (min-width: 768px) {
    .recruit-hero-title {
        font-size: 64px;
        margin-bottom: 2rem;
    }
}

@media (min-width: 1024px) {
    .recruit-hero-title {
        font-size: 80px;
    }
}

.recruit-message-title {
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    color: #595757;
    font-size: 48px;
    font-variation-settings: 'wdth' 100;
}

@media (min-width: 768px) {
    .recruit-message-title {
        font-size: 64px;
    }
}

@media (min-width: 1024px) {
    .recruit-message-title {
        font-size: 80px;
    }
}

/* Gradient Button */
.gradient-button {
    background-image: linear-gradient(90deg, rgb(68, 86, 164) 0%, rgb(40, 116, 159) 26%, rgb(0, 161, 153) 68%, rgb(60, 193, 142) 100%);
}

/* Contact Form Styles */
.contact-form-title {
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    color: #595757;
    font-size: 32px;
    margin-bottom: 0.5rem;
    font-variation-settings: 'wdth' 100;
}

@media (min-width: 768px) {
    .contact-form-title {
        font-size: 40px;
    }
}

.contact-input {
    background-color: rgba(0, 161, 153, 0.06);
    border: 1px solid #00a199;
    border-radius: 15px;
    padding: 1.25rem 1.5rem;
    font-size: 16px;
    transition: all 0.3s ease;
}

.contact-input:focus {
    outline: none;
    ring: 2px;
    ring-color: #00a199;
    background-color: rgba(0, 161, 153, 0.08);
}

@media (min-width: 768px) {
    .contact-input {
        padding: 1.5rem 1.5rem;
    }
}

.contact-submit-button {
    background-color: #00a199;
    color: white;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: bold;
    font-size: 24px;
    padding: 1.5rem 4rem;
    border-radius: 50px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    display: inline-block;
    margin: 0 auto;
}

.contact-submit-button:hover {
    background-color: #008f88;
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

@media (min-width: 768px) {
    .contact-submit-button {
        font-size: 32px;
        padding: 2rem 6rem;
    }
}

#particles-js,
#particles-js canvas,
#particles-js-footer,
#particles-js-footer canvas {
    width: 100%;
    height: 100%;
}

/* MW WP Form: show blocks only on matching view */
.mw_wp_form_confirm .mw_wp_form_input {
  display: none !important;
}
.mw_wp_form_input .mw_wp_form_confirm {
  display: none !important;
}
