body {
    font-weight: 400;
    letter-spacing: .04em;
    overflow-x: hidden
}

body .js-scroll-fade {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity .7s, transform .7s
}

body .js-scroll-fade.is-add-visible,
body .js-scroll-fade.is-on,
body .js-scroll-fade.is-visible {
    opacity: 1;
    transform: translateY(0)
}

@font-face {
    font-family: holland;
    src: url(../fonts/holland.ttf)
}

body {
    color: #222;
    font-family: Noto Sans JP, sans-serif;
    line-height: 1.43
}

body main {
    overflow-x: clip
}

.c-page-header,
.recruit {
    background-color: #f7f7f7
}

.recruit {
    padding: 15.7333333333vw 0 23.4666666667vw
}

@media (min-width:52.1875em) {
    .recruit {
        padding: 6.7361111111vw 0 12.0833333333vw
    }
}

@media (min-width:90em) {
    .recruit {
        padding: 97px 0 174px
    }
}

.recruit__inner {
    margin: 0 auto;
    max-width: 87.2vw
}

@media (min-width:52.1875em) {
    .recruit__inner {
        max-width: 83.3333333333vw
    }
}

@media (min-width:90em) {
    .recruit__inner {
        max-width: 1200px
    }
}

.recruit__inner .recruit__boxes {
    margin-bottom: 10.6666666667vw;
}

@media (min-width:52.1875em) {
    .recruit__inner .recruit__boxes {
        margin-bottom: 4.5138888889vw;
    }
}

@media (min-width:90em) {
    .recruit__inner .recruit__boxes {
        margin-bottom: 65px;
    }
}

.recruit__inner .recruit__title {
    color: #b80016;
    display: inline-block;
    font-family: Poppins, sans-serif;
    font-size: 6.4vw;
    font-style: italic;
    font-weight: 500;
    letter-spacing: .04em;
    line-height: 1;
    margin-bottom: 10.6666666667vw;
    position: relative
}

@media (min-width:52.1875em) {
    .recruit__inner .recruit__title {
        font-size: 3.8888888889vw;
        margin-bottom: 4.5138888889vw
    }
}

@media (min-width:90em) {
    .recruit__inner .recruit__title {
        font-size: 56px;
        margin-bottom: 65px
    }
}

.recruit__inner span {
    color: #222;
    display: block;
    font-size: 3.2vw;
    font-weight: 700;
    line-height: 1;
    margin-top: 1.3333333333vw
}

@media (min-width:52.1875em) {
    .recruit__inner span {
        font-size: 1.25vw;
        letter-spacing: .06em;
        margin-top: 1.0416666667vw
    }
}

@media (min-width:90em) {
    .recruit__inner span {
        font-size: 18px;
        margin-top: 15px
    }
}

.recruit__inner ul {
    display: flex;
    flex-wrap: wrap;
    gap: 5.3333333333vw
}

@media (min-width:52.1875em) {
    .recruit__inner ul {
        gap: 1.25vw
    }
}

@media (min-width:90em) {
    .recruit__inner ul {
        gap: 18px
    }
}

.recruit__inner ul li {
    width: 100%
}

@media (min-width:52.1875em) {
    .recruit__inner ul li {
        width: 26.9444444444vw
    }
}

@media (min-width:90em) {
    .recruit__inner ul li {
        width: 388px
    }
}

.recruit__inner ul li a {
    align-items: center;
    background-color: #fff;
    border-radius: 2.1333333333vw;
    display: flex;
    justify-content: space-between;
    padding: 5.3333333333vw 4.5333333333vw;
    position: relative;
    width: 100%
}

@media (min-width:52.1875em) {
    .recruit__inner ul li a {
        border-radius: .5555555556vw;
        padding: 2.5vw 2.2222222222vw
    }

    .recruit__inner ul li a:hover .c-links-item__radius {
        background-color: #fff
    }

    .recruit__inner ul li a:hover .c-links-item__radius .accent {
        opacity: 1 !important
    }
}

@media (min-width:90em) {
    .recruit__inner ul li a {
        border-radius: 8px;
        padding: 36px 32px
    }
}

.recruit__inner ul li a:after {
    background-color: #b80016;
    content: "";
    height: 1.0666666667vw;
    left: 4vw;
    position: absolute;
    top: 0;
    width: 100%;
    width: 6.6666666667vw
}

@media (min-width:52.1875em) {
    .recruit__inner ul li a:after {
        height: .2777777778vw;
        left: 2.1527777778vw;
        width: 1.7361111111vw
    }
}

@media (min-width:90em) {
    .recruit__inner ul li a:after {
        height: 4px;
        left: 31px;
        width: 25px
    }
}

.recruit__inner ul li a .recruit__job-title {
    display: inline-block;
    font-size: 5.3333333333vw;
    font-weight: 500;
    letter-spacing: .09em;
    line-height: 1.5;
    position: relative
}

@media (min-width:52.1875em) {
    .recruit__inner ul li a .recruit__job-title {
        font-size: 1.3888888889vw
    }
}

@media (min-width:90em) {
    .recruit__inner ul li a .recruit__job-title {
        font-size: 20px
    }
}

.recruit__inner ul li a .recruit__job-title .en {
    color: #b80016;
    font-family: Poppins, sans-serif;
    font-size: 3.2vw;
    font-style: italic;
    font-weight: 700;
    margin-bottom: 1.3333333333vw;
    margin-top: 0
}

@media (min-width:52.1875em) {
    .recruit__inner ul li a .recruit__job-title .en {
        font-size: .8333333333vw;
        letter-spacing: .06em;
        margin-bottom: .3472222222vw
    }
}

@media (min-width:90em) {
    .recruit__inner ul li a .recruit__job-title .en {
        font-size: 12px;
        margin-bottom: 5px
    }
}

.recruit__inner ul li a .c-links-item__radius {
    align-items: center;
    background-color: #b80016;
    border-radius: 50%;
    display: flex;
    height: 10.6666666667vw;
    justify-content: center;
    margin-top: 0;
    position: relative;
    width: 10.6666666667vw
}

@media (min-width:52.1875em) {
    .recruit__inner ul li a .c-links-item__radius {
        border: 1px solid #b80016;
        height: 2.9166666667vw;
        transition: background-color .3s;
        width: 2.9166666667vw
    }
}

@media (min-width:90em) {
    .recruit__inner ul li a .c-links-item__radius {
        height: 42px;
        width: 42px
    }
}

.recruit__inner ul li a .c-links-item__radius img {
    height: 3.2vw;
    object-fit: cover;
    width: 3.7333333333vw
}

@media (min-width:52.1875em) {
    .recruit__inner ul li a .c-links-item__radius img {
        height: .8333333333vw;
        width: .9722222222vw
    }
}

@media (min-width:90em) {
    .recruit__inner ul li a .c-links-item__radius img {
        height: 12px;
        width: 14px
    }
}

.recruit__inner ul li a .c-links-item__radius img.accent {
    opacity: 0;
    position: absolute;
    right: 50%;
    top: 50%;
    transform: translate(50%, -50%);
    transition: opacity .3s
}

.recruit__inner .recruit-cats {
    margin-bottom: 8.5333333333vw
}

@media (min-width:52.1875em) {
    .recruit__inner .recruit-cats {
        margin-bottom: 3.8888888889vw
    }
}

@media (min-width:90em) {
    .recruit__inner .recruit-cats {
        margin-bottom: 56px
    }
}

.recruit__inner .recruit-cats .recruit-cats-item {
    align-items: flex-start;
    background-color: #fff;
    border-radius: 2.1333333333vw;
    display: flex;
    flex-direction: column;
    gap: 3.4666666667vw;
    justify-content: flex-start;
    padding: 5.3333333333vw 6.4vw
}

@media (min-width:52.1875em) {
    .recruit__inner .recruit-cats .recruit-cats-item {
        align-items: center;
        border-radius: .5555555556vw;
        flex-direction: row;
        gap: 0;
        padding: 1.6666666667vw 2.7777777778vw
    }
}

@media (min-width:90em) {
    .recruit__inner .recruit-cats .recruit-cats-item {
        border-radius: 8px;
        padding: 24px 40px
    }
}

.recruit__inner .recruit-cats .recruit-cats-item:not(:last-child) {
    margin-bottom: 3.2vw
}

@media (min-width:52.1875em) {
    .recruit__inner .recruit-cats .recruit-cats-item:not(:last-child) {
        margin-bottom: .6944444444vw
    }
}

@media (min-width:90em) {
    .recruit__inner .recruit-cats .recruit-cats-item:not(:last-child) {
        margin-bottom: 10px
    }
}

.recruit__inner .recruit-cats .recruit-cats-item__title {
    font-size: 4.8vw;
    font-weight: 700;
    letter-spacing: .08em
}

@media (min-width:52.1875em) {
    .recruit__inner .recruit-cats .recruit-cats-item__title {
        font-size: 1.1111111111vw;
        width: 10.7142857143%
    }
}

@media (min-width:90em) {
    .recruit__inner .recruit-cats .recruit-cats-item__title {
        font-size: 16px
    }
}

.recruit__inner .recruit-cats .recruit-cats-item ul {
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
    gap: 2.1333333333vw;
    justify-content: flex-start
}

@media (min-width:52.1875em) {
    .recruit__inner .recruit-cats .recruit-cats-item ul {
        gap: .8333333333vw
    }
}

@media (min-width:90em) {
    .recruit__inner .recruit-cats .recruit-cats-item ul {
        gap: 12px
    }
}

.recruit__inner .recruit-cats .recruit-cats-item ul li a {
    border: .2666666667vw solid #ddd6d6;
    border-radius: 32vw;
    display: block;
    font-size: 3.2vw;
    font-weight: 700;
    letter-spacing: .08em;
    padding: 1.6vw 6.4vw 1.8666666667vw;
    position: relative
}

@media (min-width:52.1875em) {
    .recruit__inner .recruit-cats .recruit-cats-item ul li a {
        border: .0694444444vw solid #ddd6d6;
        border-radius: 8.3333333333vw;
        font-size: .9722222222vw;
        padding: .4861111111vw 1.6666666667vw .5555555556vw;
        transition: all .3s
    }

    .recruit__inner .recruit-cats .recruit-cats-item ul li a:hover {
        background-color: #b80016;
        color: #fff
    }

    .recruit__inner .recruit-cats .recruit-cats-item ul li a span {
        position: relative;
        z-index: 5
    }
}

@media (min-width:90em) {
    .recruit__inner .recruit-cats .recruit-cats-item ul li a {
        border: 1px solid #ddd6d6;
        border-radius: 120px;
        font-size: 14px;
        padding: 7px 24px 8px
    }
}

.recruit__inner .recruit-cats .recruit-cats-item ul li a.current {
    background-color: #b80016;
    color: #fff
}

.recruit__inner .recruit__contents {
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
    gap: 6.4vw;
    justify-content: flex-start
}

@media (min-width:52.1875em) {
    .recruit__inner .recruit__contents {
        gap: 1.1111111111vw
    }
}

@media (min-width:90em) {
    .recruit__inner .recruit__contents {
        gap: 16px
    }
}

.recruit__inner .recruit__contents .recruit-item {
    width: 100%
}