@charset "utf-8";


/************************************
body
************************************/
body {
    padding-top: 9rem!important;
}


/************************************
#recruit
************************************/
@media screen and (min-width: 768px) {
	#recruit {
		width: 100%;
	}
    
    #recruit>hgroup {
        box-sizing: border-box;
        border-left: 0.5rem solid var(--blue);
		width: 100rem;
        padding-left: 2rem;
        margin: 0 auto 3rem;
    }
    
    #recruit>hgroup p {
        color: var(--bw1);
        font-size: 1.4rem;
        font-weight: var(--regular);
        margin-bottom: 1.5rem;
    }
    
    #recruit>hgroup h2 {
        font-family: "Inter", sans-serif;
        color: var(--bw1);
        font-size: 4.4rem;
        font-weight: 500;
        letter-spacing: 0.02em;
    }
    
    #recruit .features_wrapper {
        display: flex;
        justify-content: space-between;
		width: 100rem;
        padding-bottom: 10rem;
        margin: 0 auto;
    }
    
    #recruit .features_wrapper .menu {
        display: flex;
        flex-direction: column;
        gap: 2rem 0;
        width: 15rem;
    }
    
    #recruit .features_wrapper .menu li {
        width: 100%;
    }
    
    #recruit .features_wrapper .menu li a {
        position: relative;
        display: block;
        color: var(--bw1);
        font-size: 1.6rem;
        font-weight: var(--bold);
        border-bottom: 0.1rem solid var(--bw1);
        width: 100%;
        padding: 1rem 0;
    }
    
    #recruit .features_wrapper .menu li a::after {
        position: absolute;
        display: block;
        content: "\f061";
        align-content: center;
        font-family: "Font Awesome 6 Free";
        color: var(--bw1);
        font-size: 1.6rem;
        line-height: 1em;
        font-weight: 900;
        text-align: right;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
    }
    
    #recruit .features_wrapper .container {
        width: 80rem;
    }
    
    #recruit .features_wrapper .container #features {
        width: 100%;
    }
    
    #recruit .features_wrapper .container #features h3, #recruit .guidelines_wrapper .container #guidelines h3, #recruit #contact .wrapper h3 {
        position: relative;
        box-sizing: border-box;
        color: var(--bw1);
        font-size: 3.6rem;
        font-weight: var(--bold);
        width: 100%;
        padding: 2rem;
        margin-bottom: 1rem;
    }
    
    #recruit .features_wrapper .container #features h3::before, #recruit .guidelines_wrapper .container #guidelines h3::before, #recruit #contact .wrapper h3::before {
        position: absolute;
        display: block;
        content: "";
        width: 4.25rem;
        height: 4.25rem;
        border-top: 0.1rem solid var(--bw1);
        border-left: 0.1rem solid var(--bw1);
        top: 0;
        left: 0;
    }
    
    #recruit .features_wrapper .container #features ul {
        display: flex;
        justify-content: space-between;
    }
    
    #recruit .features_wrapper .container #features ul li {
        display: flex;
        flex-direction: column;
        gap: 1rem 0;
        width: 24rem;
    }
    
    #recruit .features_wrapper .container #features ul li img {
        width: 100%;
        height: 18rem;
    }
    
    #recruit .features_wrapper .container #features ul li .text {
        flex: 1;
        box-sizing: border-box;
        border-top: 0.1rem solid var(--blue);
        border-bottom: 0.1rem solid var(--blue);
        width: 100%;
        padding: 1rem 0;
    }
    
    #recruit .features_wrapper .container #features ul li .text h4 {
        color: var(--blue);
        font-size: 2rem;
        line-height: 3rem;
        font-weight: var(--regular);
        text-align: center;
        width: 100%;
        margin-bottom: 1rem;
    }
    
    #recruit .features_wrapper .container #features ul li .text p {
        color: var(--bw1);
        font-size: 1.6rem;
        line-height: 2.6rem;
        font-weight: var(--regular);
        text-align: justify;
        width: 22rem;
        margin: 0 auto;
    }
    
    #recruit .guidelines_wrapper {
        padding-bottom: 10rem;
    }
    
    #recruit .guidelines_wrapper .container {
        display: flex;
        justify-content: flex-end;
        width: 100rem;
        margin: 0 auto;
    }
    
    #recruit .guidelines_wrapper .container #guidelines {
        width: 80rem;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category {
        width: 100%;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.graduate {
        border-bottom: 0.1rem solid var(--bw3);
        padding-bottom: 3rem;
        margin-bottom: 3rem;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category>h4 {
        color: var(--blue);
        font-size: 2rem;
        font-weight: var(--bold);
        margin-bottom: 2rem;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category>p {
        color: var(--bw1);
        font-size: 1.6rem;
        font-weight: var(--bold);
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table, #recruit .guidelines_wrapper .container #guidelines .category.career table tbody {
        width: 100%;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr {
        display: flex;
        justify-content: space-between;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr th, #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr td {
        border-bottom: 0.1rem solid var(--bw3);
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr:first-child th, #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr:first-child td {
        border-top: 0.1rem solid var(--bw3);
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr th {
        box-sizing: border-box;
        color: var(--bw1);
        font-size: 1.6rem;
        line-height: 2.6rem;
        font-weight: var(--bold);
        width: 18rem;
        padding: 2rem 0;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr td {
        box-sizing: border-box;
        width: 60rem;
        padding: 2rem 0;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr td:has(ol) {
        padding: 0;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr td>p {
        color: var(--bw1);
        font-size: 1.6rem;
        line-height: 2.6rem;
        font-weight: var(--regular);
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr td ol li {
        width: 100%;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr td ol li {
        box-sizing: border-box;
        border-bottom: 0.1rem solid var(--bw3);
        width: 100%;
        padding: 2rem 0;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr td ol li:last-child {
        border-bottom: none;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr td ol li>h5 {
        color: var(--bw1);
        font-size: 1.6rem;
        line-height: 2.6rem;
        font-weight: var(--bold);
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr td ol li>p {
        color: var(--bw1);
        font-size: 1.6rem;
        line-height: 2.6rem;
        font-weight: var(--regular);
    }
    
    #recruit #contact {
        background-color: var(--beige);
        width: 100%;
        padding: 6rem 0;
    }
    
    #recruit #contact .wrapper {
        width: 60rem;
        margin: 0 auto;
    }
    
    #recruit #contact .wrapper .container {
        background-color: var(--bw5);
        width: 100%;
        padding: 4rem 0;
    }
    
    #recruit #contact .wrapper .container>p {
        color: var(--blue);
        font-size: 2rem;
        font-weight: var(--bold);
        text-align: center;
        margin-bottom: 3rem;
    }
    
    #recruit #contact .wrapper .container .contact {
        display: flex;
        align-items: center;
        box-sizing: border-box;
        gap: 0 1.6rem;
        background-color: var(--green);
        border-radius: 0.8rem;
        width: 44rem;
        height: 6.4rem;
        padding-left: 13rem;
        margin: 0 auto;
    }
    
    #recruit #contact .wrapper .container .contact img {
        width: 3rem;
        height: 1.8rem;
    }
    
    #recruit #contact .wrapper .container .contact p {
        color: var(--bw5);
        font-size: 2.2rem;
        font-weight: var(--regular);
    }
}

@media screen and (max-width: 767px) {
	#recruit {
		width: 100%;
	}
    
    #recruit>hgroup {
        box-sizing: border-box;
        border-left: 0.5rem solid var(--blue);
        width: 34rem;
        padding-left: 2rem;
        margin: 0 auto 5rem;
    }
    
    #recruit>hgroup p {
        color: var(--bw1);
        font-size: 1.4rem;
        font-weight: var(--regular);
        margin-bottom: 1.5rem;
    }
    
    #recruit>hgroup h2 {
        font-family: "Inter", sans-serif;
        color: var(--bw1);
        font-size: 4.4rem;
        font-weight: 500;
        letter-spacing: 0.02em;
    }
    
    #recruit .features_wrapper {
		width: 100%;
        padding-bottom: 11rem;
    }
    
    #recruit .features_wrapper .menu {
        display: flex;
        flex-direction: column;
        gap: 2rem 0;
        width: 34rem;
        margin: 0 auto 6rem;
    }
    
    #recruit .features_wrapper .menu li {
        width: 100%;
    }
    
    #recruit .features_wrapper .menu li a {
        position: relative;
        display: block;
        color: var(--bw1);
        font-size: 1.8rem;
        font-weight: var(--bold);
        border-bottom: 0.1rem solid var(--bw1);
        width: 100%;
        padding: 1rem 0;
    }
    
    #recruit .features_wrapper .menu li a::after {
        position: absolute;
        display: block;
        content: "\f061";
        align-content: center;
        font-family: "Font Awesome 6 Free";
        color: var(--bw1);
        font-size: 1.8rem;
        line-height: 1em;
        font-weight: 900;
        text-align: right;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
    }
    
    #recruit .features_wrapper .container {
        width: 34rem;
        margin: 0 auto;
    }
    
    #recruit .features_wrapper .container #features {
        width: 100%;
    }
    
    #recruit .features_wrapper .container #features h3, #recruit .guidelines_wrapper .container #guidelines h3, #recruit #contact .wrapper h3 {
        position: relative;
        box-sizing: border-box;
        color: var(--bw1);
        font-size: 3.6rem;
        font-weight: var(--bold);
        width: 100%;
        padding: 2rem;
        margin-bottom: 1rem;
    }
    
    #recruit .features_wrapper .container #features h3::before, #recruit .guidelines_wrapper .container #guidelines h3::before, #recruit #contact .wrapper h3::before {
        position: absolute;
        display: block;
        content: "";
        width: 4.25rem;
        height: 4.25rem;
        border-top: 0.1rem solid var(--bw1);
        border-left: 0.1rem solid var(--bw1);
        top: 0;
        left: 0;
    }
    
    #recruit .features_wrapper .container #features ul {
        display: flex;
        flex-direction: column;
        gap: 5.5rem 0;
        width: 100%;
    }
    
    #recruit .features_wrapper .container #features ul li {
        display: flex;
        flex-direction: column;
        gap: 1rem 0;
        width: 100%;
    }
    
    #recruit .features_wrapper .container #features ul li img {
        width: 100%;
        height: 25.5rem;
    }
    
    #recruit .features_wrapper .container #features ul li .text {
        flex: 1;
        box-sizing: border-box;
        border-top: 0.1rem solid var(--blue);
        border-bottom: 0.1rem solid var(--blue);
        width: 100%;
        padding: 1rem 0;
    }
    
    #recruit .features_wrapper .container #features ul li .text h4 {
        color: var(--blue);
        font-size: 2rem;
        line-height: 3rem;
        font-weight: var(--regular);
        text-align: center;
        width: 100%;
        margin-bottom: 1rem;
    }
    
    #recruit .features_wrapper .container #features ul li .text p {
        color: var(--bw1);
        font-size: 1.6rem;
        line-height: 2.6rem;
        font-weight: var(--regular);
        text-align: justify;
        width: 31rem;
        margin: 0 auto;
    }
    
    #recruit .guidelines_wrapper {
        padding-bottom: 10rem;
    }
    
    #recruit .guidelines_wrapper .container {
        display: flex;
        justify-content: flex-end;
        width: 34rem;
        margin: 0 auto;
    }
    
    #recruit .guidelines_wrapper .container #guidelines {
        width: 100%;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category {
        width: 100%;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.graduate {
        border-bottom: 0.1rem solid var(--bw3);
        padding-bottom: 3rem;
        margin-bottom: 3rem;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category>h4 {
        color: var(--blue);
        font-size: 2rem;
        font-weight: var(--bold);
        margin-bottom: 2rem;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category>p {
        color: var(--bw1);
        font-size: 1.6rem;
        font-weight: var(--bold);
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table, #recruit .guidelines_wrapper .container #guidelines .category.career table tbody {
        width: 100%;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr {
        display: flex;
        justify-content: space-between;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr th, #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr td {
        border-bottom: 0.1rem solid var(--bw3);
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr:first-child th, #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr:first-child td {
        border-top: 0.1rem solid var(--bw3);
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr th {
        box-sizing: border-box;
        color: var(--bw1);
        font-size: 1.6rem;
        line-height: 2.6rem;
        font-weight: var(--bold);
        width: 10rem;
        padding: 2rem 0;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr td {
        box-sizing: border-box;
        width: 22.4rem;
        padding: 2rem 0;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr td:has(ol) {
        padding: 0;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr td>p {
        color: var(--bw1);
        font-size: 1.6rem;
        line-height: 2.6rem;
        font-weight: var(--regular);
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr td ol li {
        width: 100%;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr td ol li {
        box-sizing: border-box;
        border-bottom: 0.1rem solid var(--bw3);
        width: 100%;
        padding: 2rem 0;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr td ol li:last-child {
        border-bottom: none;
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr td ol li>h5 {
        color: var(--bw1);
        font-size: 1.6rem;
        line-height: 2.6rem;
        font-weight: var(--bold);
    }
    
    #recruit .guidelines_wrapper .container #guidelines .category.career table tbody tr td ol li>p {
        color: var(--bw1);
        font-size: 1.6rem;
        line-height: 2.6rem;
        font-weight: var(--regular);
    }
    
    #recruit #contact {
        background-color: var(--beige);
        width: 100%;
        padding: 6rem 0 5.5rem;
    }
    
    #recruit #contact .wrapper {
        width: 34rem;
        margin: 0 auto;
    }
    
    #recruit #contact .wrapper .container {
        width: 100%;
        padding: 4rem 0;
    }
    
    #recruit #contact .wrapper .container>p {
        color: var(--blue);
        font-size: 2rem;
        font-weight: var(--bold);
        text-align: center;
        margin-bottom: 3rem;
    }
    
    #recruit #contact .wrapper .container .contact {
        display: flex;
        align-items: center;
        box-sizing: border-box;
        gap: 0 1.6rem;
        background-color: var(--green);
        border-radius: 0.8rem;
        width: 34rem;
        height: 6rem;
        padding-left: 7.5rem;
        margin: 0 auto;
    }
    
    #recruit #contact .wrapper .container .contact img {
        width: 3rem;
        height: 1.8rem;
    }
    
    #recruit #contact .wrapper .container .contact p {
        color: var(--bw5);
        font-size: 2.4rem;
        font-weight: var(--regular);
    }
}