@charset "utf-8";


*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    overflow-x: hidden;
    overflow-y: auto;
}

body {
    min-height: 100vh;
    width: 100vw;
    font-size: 1rem;
    line-height: 1.85;
    font-family: "游ゴシック体", "Yu Gothic", "YuGothic", "ヒラギノ角ゴ Pro",
        "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "MS Pゴシック",
        "MS PGothic", sans-serif;

    color: #181818;
    background-color: #fff;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    overflow-x: hidden;
    overflow-y: auto;

}




/*共通スタイル*/


a {
    text-decoration: none;
}

a:link {
    color: #181818;
}

a:visited {
    color: #808080;
}

ul,
li {
    list-style: none;
    font-family: "zen-kaku-gothic-antique", sans-serif;
    font-weight: 900;

    padding: clamp(0.5rem, 2vw, 1rem) 0;
    font-size: clamp(1.5rem, 2vw + 1rem, 1.875rem);

}





p {
    font-family: "vdl-v7gothic", sans-serif;
    font-weight: 700;
    text-wrap: balance;
}

h1,
h2,
h3 {
    font-family: "zen-kaku-gothic-antique", sans-serif;
    font-weight: 900;
}


h4 {
    font-family: "futura-pt", sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: clamp(1rem, 2.5vw, 1.5rem);

}

h5 {
    /* font-size: clamp(0.8125rem, 2vw, 2rem);*/
    font-family: "le-havre-rounded", sans-serif;
    font-weight: 300;
}


.border {
    color: #181818;
    /*
    -webkit-text-stroke: 1px #181818;
    text-stroke: 0.5px #181818;
    paint-order: stroke;*/
}

.title--color {
    color: #F25341;
}



.title--style {
    padding: 2rem 1.5rem 0 1.5rem;
}

.section-group {
    max-width: clamp(320px, 100%, 1440px);
    margin: 0 auto;
}

/*
#scale-wrapper {
    transform-origin: top left;
    transition: transform 0.2s ease;

}*/


.section-bg {
    position: relative;
    background: linear-gradient(180deg,
            #FADA7A 1%,
            #F5F0CD 35%,
            #578FCA 75%,
            #3674B5 100%);
    z-index: 0;
    min-height: 100vh
}



/*PCデザイン*/
@media (min-width: 771px) {

    .bg_line-y {
        position: absolute;
        top: 9.5%;
        left: 13%;
        content: "";
        height: calc(100% - 9.5%);
        width: 2px;
        background-color: #40FFDC;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        z-index: -1;
    }


    .bg_line-x {
        width: calc(100% - 13%);
        position: absolute;
        top: 33.6rem;
        left: 12.95%;
        background-color: #40FFDC;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        height: 2px;
        z-index: -1;
    }

    .bg_line-x-typeB {
        width: calc(100% - 13%);
        position: absolute;
        top: 30%;
        left: 13%;
        background-color: #40FFDC;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        height: 2px;
        z-index: -1;
    }


    .bg_line-x-typeC {
        width: calc(100% - 13%);
        position: absolute;
        top: 51%;
        left: 13%;
        background-color: #40FFDC;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        height: 2px;
        z-index: -1;
    }


    .bg_line-x-typeD {
        width: calc(100% - 13%);
        position: absolute;
        top: 97.2%;
        left: 13%;
        background-color: #40FFDC;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        height: 2px;
        z-index: -1;
    }

    .border-radius--large {
        width: clamp(14.8125rem, 20vw, 22.1875rem);
        height: clamp(1.5625rem, 2.5vw, 2.3125rem);
        background: #40FFDC;
        border-radius: 100vh;
        line-height: clamp(1.5625rem, 2.5vw, 2.3125rem);
        padding: 0 1rem;
    }


    .border-radius--large-540 {
        width: auto;
        min-width: 15rem;
        max-width: 33.75rem;
        height: clamp(1.5625rem, 2.5vw, 2.3125rem);
        background: #40FFDC;
        border-radius: 100vh;
        line-height: clamp(1.5625rem, 2.5vw, 2.3125rem);
        padding: 0 1rem;
        margin: 0 auto;
        white-space: nowrap;
        overflow: visible;
        display: inline-block;
    }

    .border-radius--small {
        padding: 0 1.75rem;
        height: clamp(1.5625rem, 2.5vw, 2.3125rem);
        line-height: clamp(1.5625rem, 2.5vw, 2.3125rem);
        background: #40FFDC;
        border-radius: 100vh;
        display: inline-flex;
        align-items: center;
        white-space: nowrap;
    }



    section {
        padding: 3rem 0 0 0;
    }

    .recruit-fv {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: 100dvh;
    }


    .card-wrapper {
        width: min(60vw, 500px);
        aspect-ratio: 1;
        margin: 0 auto;
        position: relative;
    }



    .card {
        width: 100%;
        height: 100%;
        position: relative;
        display: grid;
        place-items: center;
        background: #fff;
        border: #181818 solid 1px;
        border-radius: 20px;
        overflow: visible;
    }

    .card_h1_style {
        margin: 0 auto;
        text-align: left;
        width: 85%;
        font-size: 2.3em;
        line-height: 1.3;
    }

    .card_h2_style {
        margin: 0 auto;
        text-align: left;
        width: 85%;
        font-size: 2.8em;
        line-height: 1.3;
        background: linear-gradient(90deg, #0065F8 0%, #56DFCF 50%, #4300FF 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        color: transparent;
        -webkit-text-stroke: 0.5px #181818;
        text-stroke: 0.5px #181818;
        paint-order: stroke;
    }





    .card_h1_style--small {
        margin: 0 auto;
        text-align: left;
        font-size: 2.8em;
        line-height: 1.3;
    }


    .card-right {
        position: absolute;
        right: 37%;
        top: -1rem;
        font-size: 1.5em;
    }

    .card-left {
        position: absolute;
        right: 48%;
        top: -1rem;
        font-size: 1.5em;
    }

    .card-center {
        position: absolute;
        right: 5%;
        top: -1rem;
        font-size: 1.5em;
    }

    .card-fv {
        position: absolute;
        right: 28%;
        top: -1rem;
        font-size: 1.5em;
    }


    .card h5 {
        position: absolute;
        left: 75%;
        bottom: -1em;
        font-size: 1em;
    }

    .title--space {
        padding: 3rem 0 0 0;
    }

    .recruit-column01-pc-inner {
        display: flex;
    }

    .column01-item--typeB,
    .column02-item--typeC {
        width: 40%;
        display: flex;
        justify-content: flex-end;
        flex-flow: column;
    }

    .column01-item--typeB h2,
    .column02-item--typeC h2 {
        position: relative;
        bottom: 4rem;
        left: 7rem;

    }

    .column01-item--typeB p,
    .column02-item--typeC p {
        position: relative;
        left: 12rem;

    }

    .column01-item--typeC,
    .column02-item--typeD {
        margin: 0 auto;
        position: relative;
        left: 3rem;
    }

    .recruit-column02-pc,
    .recruit-column03-pc,
    .recruit-column04-pc,
    .recruit-column05-pc {
        padding: 5rem 0 0 0;
    }

    .recruit-column02-pc-inner {
        display: flex;

    }

    .column02-item--typeB {
        width: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .recruit-column04_custom-list li {
        position: relative;
        padding-left: 1.5em;
    }

    .recruit-column04_custom-list li::before {
        content: '';
        position: absolute;
        left: 0;
        top: 1em;
        width: 1em;
        height: 1em;
        background: url('../img/li_icon_img.svg') no-repeat center / contain;


    }

    .column02-item--typeC_font-style {
        text-align: left;
        font-size: 2.5em;
        line-height: 1.3;
    }

    .recruit-card {
        position: relative;
        width: 300px;
        height: 550px;


        place-items: center;
        background: #fff;
        border: #181818 solid 1px;
        border-radius: 20px;
        overflow: visible;
    }

    .recruit-column04-pc-inner {
        display: flex;
        justify-content: center;
        gap: 2rem;
        padding: 7rem 0;
    }

    .recruit-card p {
        width: 60%;
        font-size: 0.8rem;
        line-height: 1.2rem;
    }

    .recruit-card h3 {
        position: absolute;
        bottom: 33.5rem;
        width: 80%;
    }

    .recruit-column04-pc-inner img {
        padding: 3rem 0;
        width: 70%;
    }


    .recruit-card h5 {
        position: absolute;
        top: 33rem;
        left: 11.5rem;
    }


    .recruit-column05-pc-inner {
        display: flex;
        padding: 3rem 0;
    }

    .column05-item--typeA {
        width: 50%;
    }

    .column05-item--typeB {
        width: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .column05-item--typeC {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        position: relative;
    }

    .column05-item--typeC h2 {

        display: flex;
        flex-direction: column;
        align-items: flex-end;
        padding: 2rem 0 0 0;
    }

    .column05-item--typeC p {
        width: 60%;
        padding: 2rem 0;
    }

    .sp-only {
        display: none;
    }
}








/* スマホデザイン  */
@media (max-width: 768px) {

    .pc-only {
        display: none;
    }

    .bg_line-y {
        position: absolute;
        top: 9.5%;
        left: 13%;
        content: "";
        height: calc(100% - 9.5%);
        width: 2px;
        background-color: #40FFDC;

        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        z-index: -1;
    }

    .bg_line-x {
        width: 100%;
        position: absolute;
        top: 6.9rem;
        left: 16%;
        background-color: #40FFDC;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        height: 2px;
        z-index: -1;

    }


    .bg_line-y {
        position: absolute;
        content: "";
        height: calc(100% - 1.5%);
        width: 2px;
        background-color: #40FFDC;
        position: absolute;
        top: 1.5%;
        left: 16%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        z-index: -1;

    }

    .bg_line-x-typeB {
        width: 100%;
        position: absolute;
        top: 19.8%;
        left: 16%;
        background-color: #40FFDC;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        height: 2px;
        z-index: -1;

    }


    .bg_line-x-typeC {
        width: 100%;
        position: absolute;
        top: 38.7%;
        left: 16%;
        background-color: #40FFDC;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        height: 2px;
        z-index: -1;
    }


    .bg_line-x-typeD {
        width: 100%;
        position: absolute;
        top: 95.1%;
        left: 16%;
        background-color: #40FFDC;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        height: 2px;
        z-index: -1;
    }


    img {
        transform: scale(0.75);
        transform-origin: top left;
    }

    h3,
    h4 {
        font-size: 0.8rem;
    }

    .border-radius--large {
        width: 200px;
        height: 24px;
        background: #40FFDC;
        border-radius: 100vh;
        line-height: clamp(1.5625rem, 2.5vw, 2.3125rem);
        padding: 0 1rem;
    }

    p {
        text-wrap: balance;
    }

    .border-radius--large-540 {
        width: 200px;
        height: 24px;
        background: #40FFDC;
        border-radius: 100vh;
        line-height: clamp(1.5625rem, 2.5vw, 2.3125rem);
        padding: 0 1rem;
        margin: 0 auto;
        white-space: nowrap;
        overflow: visible;
        display: inline-block;
    }

    .border-radius--small {
        padding: 0 1.75rem;
        line-height: clamp(1.5625rem, 2.5vw, 2.3125rem);
        background: #40FFDC;
        border-radius: 100vh;
        display: inline-flex;
        align-items: center;
        white-space: nowrap;
    }

    .recruit-fv {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: 100dvh;
    }


    .card-wrapper {
        width: min(80vw, 500px);
        aspect-ratio: 1;
        margin: 0 auto;
        position: relative;
    }

    .card {
        width: 100%;
        height: 100%;
        position: relative;
        display: grid;
        place-items: center;
        background: #fff;
        border: #181818 solid 1px;
        border-radius: 20px;
        overflow: visible;
    }

    .card_h1_style {
        margin: 0 auto;
        text-align: left;
        width: 90%;
        font-size: 1.5em;
        line-height: 1.8;
    }


    .card_h2_style {
        margin: 0 auto;
        text-align: left;
        width: 90%;
        font-size: 3em;
        line-height: 1.3;
        background: linear-gradient(90deg, #0065F8 0%, #56DFCF 50%, #4300FF 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        color: transparent;
        -webkit-text-stroke: 0.5px #181818;
        text-stroke: 0.5px #181818;
        paint-order: stroke;
    }

    .card_h1_style--small {
        margin: 0 auto;
        text-align: left;
        font-size: 1.5em;
        line-height: 1.3;
    }


    .card-right {
        position: absolute;
        right: 7%;
        top: -1rem;
        font-size: 0.8em;
    }

    .card-right02 {
        position: absolute;
        right: 29%;
        top: -1rem;
        font-size: 0.8em;
    }


    .card-left {
        position: absolute;
        right: 29%;
        top: -1rem;
        font-size: 0.8em;
    }



    .card-fv {
        position: absolute;
        right: 30%;
        top: -1rem;
        font-size: 0.8em;
    }


    .card h5 {
        position: absolute;
        left: 62%;
        bottom: -1em;
        font-size: 1em;
    }



    .title--space {
        padding: 3rem 0 0 0;
        text-align: center;
    }

    .pc-only {
        display: none;
    }

    .sp-space {
        padding: 1.2rem 0;
    }

    .sp-right_style-top {
        display: flex;
        justify-content: flex-end;
        position: relative;
        left: -5rem;

    }

    .sp-right_style-bottom {
        display: flex;
        justify-content: flex-end;
        position: relative;
        left: -2rem;
    }


    .sp-right_img-style {
        position: relative;
        left: 5rem;
        top: 1rem;
    }

    .recruit-column01-sp p {
        font-size: 0.8rem;
        width: 70%;
        padding: 1.2rem 0 1.2rem 2rem;
        position: relative;
        left: 2rem;
    }

    .recruit-column02-sp-inner {
        padding: 2rem 0 0 0;
    }

    .column02-item--typeB {
        text-align: center;
        padding: 1rem 0;
    }

    .column02-item--typeB h4 {
        position: relative;
        top: 4rem;
        left: -4rem;
    }

    .column02-item--typeC,
    .column03-item--typeC {
        padding: 3rem 0 0 0;
    }


    .column02-item--typeC p {
        font-size: 0.8rem;
        width: 70%;
        padding: 1.2rem 0 1.2rem 2rem;
        position: relative;
        left: 2rem;
        top: 2rem;
    }

    .sp-right_img-style02 {
        position: relative;
        left: 5rem;
        top: 5rem;
    }


    .column03-item--typeC p {
        font-size: 0.8rem;
        width: 70%;
        padding: 1.2rem 0 1.2rem 2rem;
        position: relative;
        left: 5rem;
    }

    .sp-right_img-style03 {
        position: relative;
        left: 5rem;
        top: 3rem;
    }


    .recruit-column04_custom-list li {
        position: relative;
        padding-left: 1.5em;
    }

    .recruit-column04_custom-list li::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0.86em;
        width: 1em;
        height: 1em;
        background: url('../img/li_icon_img.svg') no-repeat center / contain;
    }


    .recruit-column04-sp-inner-top {
        padding: 3rem 0;
    }

    .recruit-column04-sp-inner-bottom {
        padding: 3rem 0;
        place-items: center;
        display: flex;
        flex-direction: column;
        gap: 4rem;

    }

    .recruit-card {
        width: 80%;
        height: 550px;
        place-items: center;
        background: #fff;
        border: #181818 solid 1px;
        border-radius: 20px;
        overflow: visible;
        position: relative;

    }

    .recruit-card img {
        padding: 2rem 0;
        position: relative;
        top: 2rem;
        left: 2rem;

    }

    .recruit-card p {
        width: 80%;
        font-size: 0.8rem;
    }

    .recruit-card h3 {
        position: relative;
        bottom: 16.5rem;
        left: -3rem;
    }


    .recruit-card h5 {
        position: absolute;
        top: 33.5rem;
        left: 13rem;
    }


    .card-center {
        position: absolute;
        right: 14%;
        top: -1rem;
        font-size: 0.8em;
    }


    .border-radius--large-550 {
        width: 255px;
        height: 24px;
        background: #40FFDC;
        border-radius: 100vh;
        line-height: clamp(1.5625rem, 2.5vw, 2.3125rem);
        padding: 0 1rem;
        margin: 0 auto;
        white-space: nowrap;
        overflow: visible;
        display: inline-block;
    }


    .recruit-column05-sp-inner {
        padding: 3rem 0 8rem 0;
    }

    .column05-item--typeC {
        padding: 0 0 3rem 0;
    }



    .column05-item--typeC p {
        font-size: 0.8rem;
        width: 70%;
        padding: 1.2rem 0 1.2rem 2rem;
        position: relative;
        left: 5rem;
        top: 1.5rem;
    }


    .recruit-column05-sp-right_style {
        padding: 0 0 0 2rem;
    }



}


/*ここからpositionの微調整 */

@media (min-width: 360px) and (max-width: 390px) {
    .recruit-card {
        position: relative;
    }

    .recruit-card h5 {
        position: absolute;
        top: 33.5rem;
        left: 12rem;
    }


    .recruit-card h3 {
        position: relative;
        bottom: 16.5rem;
        left: -2rem;
    }


    .card-center {
        position: absolute;
        right: 9%;
        top: -1rem;
        font-size: 0.8em;
    }
}

@media (min-width: 390px) and (max-width: 410px) {
    .recruit-card {
        position: relative;
    }

    .recruit-card h5 {
        position: absolute;
        top: 33.5rem;
        left: 12rem;
    }
}

@media (min-width: 410px) and (max-width: 420px) {
    .recruit-card {
        position: relative;
    }

    .recruit-card h5 {
        position: absolute;
        top: 33.5rem;
        left: 12rem;
    }

    .recruit-card h3 {
        position: relative;
        bottom: 16.5rem;
        left: -3rem;
    }

    .card-left {
        position: absolute;
        right: 35%;
        top: -1rem;
        font-size: 0.8em;
    }


}

@media screen and (min-width: 1025px) and (max-width: 1146px) {

    .bg_line-x {
        width: calc(100% - 13%);
        position: absolute;
        top: 34.2rem;
        left: 12.95%;
        background-color: #40FFDC;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        height: 2px;
        z-index: -1;
    }

}

@media screen and (min-width: 1147px) and (max-width: 1279px) {

    .bg_line-x {
        width: calc(100% - 13%);
        position: absolute;
        top: 33.9rem;
        left: 12.95%;
        background-color: #40FFDC;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        height: 2px;
        z-index: -1;
    }

}




@media screen and (min-width: 1280px) and (max-width: 1439px) {

    .bg_line-x {
        width: calc(100% - 13%);
        position: absolute;
        top: 33.8rem;
        left: 12.95%;
        background-color: #40FFDC;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        z-index: -1;
        height: 2px;
    }


}


/* ipad 第6世代対策 */
@media screen and (min-width: 768px) and (max-width: 768px) {

    p {
        font-size: 0.8rem;
    }

    .bg_line-x {
        width: 100%;
        position: absolute;
        top: 7.6rem;
        left: 16%;
        background-color: #40FFDC;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        z-index: -1;
        height: 2px;
    }

    .card_h1_style {
        margin: 0 auto;
        text-align: left;
        width: 90%;
        font-size: 2.5em;
        line-height: 1.8;
    }

    .card_h1_style--small {
        margin: 0 auto;
        text-align: left;
        font-size: 3.5em;
        line-height: 1.3;
    }


    .bg_line {
        position: absolute;
        content: "";
        height: calc(100% - 1.5%);
        width: 2px;
        background-color: #40FFDC;
        position: absolute;
        top: 1.5%;
        left: 11%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        z-index: -1;

    }

    .card-fv {
        position: absolute;
        right: 54%;
        top: -1rem;
        font-size: 0.8em;
    }


    .card h5 {
        position: absolute;
        left: 75%;
        bottom: -1em;
        font-size: 1em;
    }


    .card-left {
        position: absolute;
        right: 55%;
        top: -1rem;
        font-size: 0.8em;
    }

    .column02-item--typeB h4 {
        position: relative;
        top: 4rem;
        left: -11rem;
    }

    .recruit-column01-sp p,
    .column02-item--typeC p {
        font-size: 0.8rem;
        width: 61%;
        padding: 1.2rem 0 1.2rem 2rem;
        position: relative;
        left: 9rem;
    }


    .sp-right_style-top {
        display: flex;
        justify-content: flex-end;
        position: relative;
        left: -8rem;
    }

    .sp-right_style-bottom {
        display: flex;
        justify-content: flex-end;
        position: relative;
        left: -5rem;
    }

    .sp-right_img-style {
        position: relative;
        left: 25rem;
        top: 4rem;
    }

    .sp-right_img-style02,
    .sp-right_img-style03 {
        position: relative;
        left: 25rem;
        top: 5rem;
    }


    .recruit-card {
        width: 50%;
        height: 550px;
        place-items: center;
        background: #fff;
        border: #181818 solid 1px;
        border-radius: 20px;
        overflow: visible;
        position: relative;
    }


    .recruit-card h5 {
        position: absolute;
        top: 33.5rem;
        left: 17rem;
    }


    .card_h2_style {
        margin: 0 auto;
        text-align: left;
        width: 73%;
        font-size: 3em;
        line-height: 1.3;
    }


    .card_h1_style {
        margin: 0 auto;
        text-align: left;
        width: 90%;
        font-size: 2.5em;
        line-height: 1.8;
    }

    .recruit-column04-sp-inner-top {
        padding: 6rem 0;
    }

    .recruit-column02-sp-inner {
        padding: 6rem 0 0 0;
    }

    .card-center {
        right: 44%;
    }

    .card-right02 {
        position: absolute;
        right: 56%;
        top: -1rem;
        font-size: 0.8em;
    }

    .column05-item--typeC h4 {
        margin: 0 2rem;
        padding: 2rem 0;
        width: 80%;
        /* position: absolute; */
        position: relative;
        top: 2rem;
        left: 5rem;
    }
}

/* ipad対策 */
@media screen and (min-width: 820px) and (max-width: 1024px) {

    .section-bg {
        min-height: 100vh;
    }

    p {
        font-size: 0.8rem;
    }

    .column05-item--typeC p {
        margin: 0 2rem;
        padding: 2rem 0;
        width: 80%;
    }


    .column01-item--typeB p,
    .column02-item--typeC p {
        position: relative;
        left: 5rem;
    }

    .card-wrapper {
        width: min(60vw, 400px);
        aspect-ratio: 1;
        margin: 0 auto;
        position: relative;
    }

    .card-left {
        position: absolute;
        right: 36%;
        top: -1rem;
        font-size: 1em;
    }

    .card-center {
        position: absolute;
        right: 16%;
        top: -1rem;
        font-size: 1em;
    }


    .small-style {
        transform: scale(0.75);
        transform-origin: top left;
    }


    .recruit-column04-pc-inner img {
        padding: 0;
        width: 70%;
    }


    .recruit-column04-pc-inner {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 2rem;
        padding: 7rem 0;
    }

    .recruit-card {
        width: 50%;
        height: 550px;
        place-items: center;
        background: #fff;
        border: #181818 solid 1px;
        border-radius: 20px;
        overflow: visible;
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .recruit-card h5 {

        position: absolute;
        top: 33.5rem;
        left: 18rem;
    }

    .recruit-card h3 {
        position: absolute;
        bottom: 33.5rem;
        width: 80%;
        font-size: 0.8rem;
    }

    .recruit-card p {
        width: 60%;
        font-size: 0.8rem;
        line-height: 1.2rem;
        padding: 2rem 0 0 0;
    }

    .recruit-column02-pc-inner,
    .recruit-column05-pc-inner {
        display: flex;
        padding: 3rem 1rem;
    }

    .bg_line-y {
        position: absolute;
        top: 7.3%;
        left: 13%;
        content: "";
        height: calc(100% - 7.3%);
        width: 2px;
        background-color: #40FFDC;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        z-index: -1;
    }

    .card-fv {
        position: absolute;
        right: 33%;
        top: -1rem;
        font-size: 1em;
    }

    .bg_line-x-typeB {
        width: 100%;
        position: absolute;
        top: 23%;
        left: 13%;
        background-color: #40FFDC;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        height: 2px;
        z-index: -1;
    }


    .bg_line-x-typeC {
        width: 100%;
        position: absolute;
        top: 40%;
        left: 13%;
        background-color: #40FFDC;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        height: 2px;
        z-index: -1;
    }


    .bg_line-x-typeD {
        width: 100%;
        position: absolute;
        top: 94.8%;
        left: 13%;
        background-color: #40FFDC;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        height: 2px;
        z-index: -1;

    }

    .bg_line-x {
        width: calc(100% - 13%);
        position: absolute;
        top: 34.8rem;
        left: 13%;
        background-color: #40FFDC;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        z-index: -1;
        height: 2px;
    }

    .recruit-column05 {
        padding-bottom: 25%;
    }


}

/*FVアニメーション*/

.typing-animation::after {
    content: '';
    border-right: 1px solid #333;
    margin-left: 2px;
    animation: flashing 1s linear infinite;
    opacity: 0;
}

@keyframes flashing {

    0%,
    100% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }
}