main {
    padding-top: 38px;
}
#hero {
    background-color: var(--red);
    background-image: url('../../../images/2025/careers/hero-bg-join.jpg');
    background-image: image-set(url('../../../images/2025/careers/hero-bg-join.jpg') 1x, url('../../../images/2025/careers/hero-bg-join@2x.jpg') 2x);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: 40px 0 24px;
    width: 1280px;
    max-width: calc(100% - 30px);
}

#hero .inner {
    overflow: hidden;
}

#hero .title {
    font-size: 3.5em;
    margin-bottom: 9px;
}

#hero .title span {
    font-size: 0.73214286em;
    position: relative;
    text-transform: none;
    display: block;
    width: fit-content;
    margin: 0 auto -0.3em;
}

#hero .title span::before,
#hero .title span::after {
    content: '';
    position: absolute;
    background-color: #fff;
    height: 2px;
    width: 99px;
    top: 0.6em;
}

#hero .title span::before {
    left: -106px;
}

#hero .title span::after {
    right: -111px;
}

#hero .title em {
    font-style: normal;
}

@media screen and (max-width: 567px) {
    #hero {
        margin-top: 22px;
        padding: 30px 0;
    }

    #hero .title {
        max-width: 320px;
        margin: 0 auto;
        font-size: 2.5625em;
    }

    #hero .title span {
        font-size: 0.73170732em;
    }

    #hero .title span::before,
    #hero .title span::after {
        width: 74px;
    }

    #hero .title span::before {
        left: -76px;
    }

    #hero .title span::after {
        right: -81px;
    }
}

#apply {
    margin-top: 58px;
    margin-bottom: 67px;
}

#apply .container {
    --content-width: 1310px;
}

#apply p {
    margin: 0;
}

#apply p.sub {
    font-size: 18px;
    line-height: 1.444;
}

#apply .inner {
    gap: 30px;
}

#apply .position {
    font-size: 24px;
    line-height: 1.08333333;
    margin-bottom: 6px;
}

#apply .location {
    font-size: 18px;
}

#apply .desc {
    font-size: 1em;
    line-height: 2;
    margin-top: 14px;
}

#apply .desc ul {
    list-style-type: '-';
    list-style-position: outside;
    padding: 0 0 0 10px;
    margin-top: 14px;
}

#apply .desc ul li {
    padding-left: 10px;
}

#apply .desc p {
    margin: 21px 0 0;
}

#apply .left {
    flex-basis: 560px;
}

#apply .right {
    flex-basis: 638px;
    padding-right: 9px;
}

#apply form h3 {
    font-size: 2em;
    margin-bottom: 18px;
}

@media screen and (max-width: 992px) {
}

@media screen and (max-width: 768px) {
    #apply {
        margin-top: 44px;
        margin-bottom: 100px;
    }

    #apply .inner {
        flex-direction: column;
        gap: 35px;
    }

    #apply .inner>* {
        flex-basis: unset;
        width: 100%;
    }

    #apply .left {
        position: relative;
        margin-top: 9px;
    }

    #apply .right {
        padding: 0;
    }
}

@media screen and (max-width: 567px) {
    #hero {
        padding: 33px 0 22px 0;
        margin-top: 0;
    }

    #apply {
        margin-top: 39px;
    }

    #apply form h3 {
        font-size: 24px;
        margin-bottom: 11px;
    }

    #apply .left-inner {
        padding: 0 10px;
    }

    #apply .position {
        font-size: 20px;
        line-height: 1.3;
    }

    #apply .location {
        font-size: 18px;
    }

    #apply p.sub {
        font-size: 1em;
    }

    #apply .desc {
        font-size: 0.75em;
        line-height: 2.66666667;
        margin-top: 20px;
    }

    #apply .desc ul {
        padding: 0 0 0px 4px;
    }

    #apply .desc ul li {
        padding-left: 6px;
        margin-bottom: 12px;
    }
}
#apply form{
    width: 100%;
}
#apply .form-field {
    padding: 8px;
    flex-basis: 50%;
    flex-grow: 1;
}
#apply .form-field label {
    left: 16px;
    font-size: 1.125em;
    margin-bottom: 0;
    line-height: 1;
    margin-top: 0.3em;
    transition: all 0.3s;
}
#apply .form-field .textarea_box label {
    margin-top: 16px;
}
#apply .form-field input,
#apply .form-field textarea,
#apply .form-field select{
    font-size: 1.125em;
    height: 56px;
    background-color: #fff;
    width: 100%;
    text-indent: 16px;
    padding-top: 18px;
    border-radius: 12px;
}
#apply .form-field select{
    background-image: none;
}
#apply .form-field textarea {
    height: 126px;
    padding-top: 16px;
    resize: none;
}
#apply .form-field .select_box:after{
    content: '';
    display: block;
    width: 17px;
    height: 10px;
    position: absolute;
    right: 15px;
    background-repeat: no-repeat;
    background-position: center;
	background-image: url(../../../images/2025/contact/down-arrow.png);
	background-image: -webkit-image-set(url("../../../images/2025/contact/down-arrow.png") 1x, url("../../../images/2025/contact/down-arrow@2x.png") 2x);
    background-size: cover;
    pointer-events: none;
}
@-moz-document url-prefix() {
    #apply .form-field select {
       text-indent: 8px;
    }
}
#apply .form-field select.selected,
#apply .form-field input{
    color: var(--black);
}
#apply .form-field select,
#apply .form-field ::placeholder{
    opacity: 1;
    color: #262626;
}
#apply .form-field input:-internal-autofill-selected,
#apply .form-field input:-webkit-autofill,
#apply .form-field input:-webkit-autofill:focus {
    background-color: #fff !important;
    transition: background-color 0s 600000s, color 0s 600000s !important;
}
#apply .form-action [type="submit"] {
	width: 191px;
	height: 39px;
	border-radius: 20px;
	margin-top: 28px;
	font-size: 1.25em;
}
#apply .form-action [type="submit"].button[disabled]{
    opacity: 0.8;
    cursor: not-allowed;
}

#apply .form-field .select_box.focused:after {
    transform: scaleY(-1);
}
#apply .form-field .focused label,
#apply .form-field .has-value label {
    font-size: 0.84375em;
    margin-top: calc(-2.9em + 24px);
    color: var(--focus-color);
}
#apply .form-field .textarea_box.focused label, 
#apply .form-field .textarea_box.has-value label {
    margin-top: 8px;
}
#apply .form-field .focused select,
#apply .form-field .focused textarea,
#apply .form-field .focused input{
    border-color: var(--focus-border);
    border-width: 2px;
}
#apply .form-field .validation-error:before,
#apply .form-field .incomplete-mask:before {
    content: '';
    display: block;
    width: 23px;
    height: 23px;
    position: absolute;
    z-index: 2;
    right: 16px;
    background-repeat: no-repeat;
    background-position: center;
	background-image: url(../../../../images/error.png);
	background-image: -webkit-image-set(url("../../../../images/error.png") 1x, url("../../../../images/error@2x.png") 2x);
    background-size: cover;
    pointer-events: none;
}

#apply .form-field .validation-error select,
#apply .form-field .validation-error textarea,
#apply .form-field .validation-error input,
#apply .form-field .incomplete-mask input{
    border-color: var(--error-border);
    border-width: 2px;
}
#apply .form-field .validation-error label,
#apply .form-field .incomplete-mask label{
    color: var(--error-color);
}
#apply .form-field .form-field-error {
    bottom: -1.5em;
    left: 2em;
    font-size: 0.5em;
}

@media screen and (max-width: 767px) {

	#apply .contact-form {
		margin-top: 0;
		flex-basis: unset;
	}
}

@media screen and (max-width: 567px) {
    main {
        padding-top: 30px;
    }
    #apply .form-row.flex{
		flex-direction: column;
	}
}