@charset "UTF-8";
.color-seisan {
    --job-color: var(--color-seisan);
}
.color-gijyutu {
    --job-color: var(--color-gijyutu);
}
.color-seizou {
    --job-color: var(--color-seizou);
}
.color-hinshitsu {
    --job-color: var(--color-hinshitsu);
}
.color-jimu {
    --job-color: var(--color-jimu);
}
.modal.seisan,
.p-recruit__interview .interViewList li.seisan {
    --affiliation-color: var(--color-seisan);
}
.modal.gijyutu,
.p-recruit__interview .interViewList li.gijyutu {
    --affiliation-color: var(--color-gijyutu);
}
.modal.seizou,
.p-recruit__interview .interViewList li.seizou {
    --affiliation-color: var(--color-seizou);
}
.modal.hinshitsu,
.p-recruit__interview .interViewList li.hinshitsu {
    --affiliation-color: var(--color-hinshitsu);
}
.modal.jimu,
.p-recruit__interview .interViewList li.jimu {
    --affiliation-color: var(--color-jimu);
}
.modal.shinsotsu,
.p-recruit__interview .interViewList li.shinsotsu {
    --type-color: var(--color-shinsotsu);
}
.modal.chuto,
.p-recruit__interview .interViewList li.chuto {
    --type-color: var(--color-chuto);
}



section .inner {
    width: calc(100% - 40px);
    margin-inline: auto;
}
.secTitle {
    text-align: center;
    --secTitleOutline: var(--blue3);
    transform: rotate3d(0, 1, 0, 90deg);
    transition: transform 0.8s 0.1s;
}
.secTitle.is-animated {
    transform: rotate3d(0, 0, 0, 0);
}
.secTitle .en {
    position: relative;
    font-family: var(--font2);
    font-weight: 900;
    color: #fff;
    -webkit-text-stroke: 2px #333;
    width: fit-content;
    margin: 0 auto;
    z-index: 1;
}
.secTitle .en:before {
    content: attr(data-text);
    display: block;
    position: absolute;
    color: transparent;
    z-index: -1;
    -webkit-text-stroke-color: var(--secTitleOutline);
}
.secTitle p {
    text-align: center;
    font-weight: bold;
}

.p-recruit__mv {
    position: relative;
}
.p-recruit__mv .mv_logo {
    margin: 0;
    opacity: 0;
    animation: mv_logo_appear linear 0.9s 1 0s forwards;
}
.p-recruit__mv .mv_logoArea .mv_img1 {
    position: absolute;
    top: 9%;
    right: 4%;
    width: 9.5%;
    opacity: 0;
    animation: mv_logo_bird ease-out 0.5s 1 1s forwards;
}
.p-recruit__mv .mv_rainbowArea {
    box-sizing: content-box;
    position: relative;
}
.p-recruit__mv .mv_rainbowArea img {
    display: block;
}
.p-recruit__mv .mv_rainbowArea > div {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
}
.p-recruit__mv .mv_rainbowArea .rainbow1 {
    z-index: 4;
    animation-delay: 1s;
    animation-duration: 0.8s;
}
.p-recruit__mv .mv_rainbowArea .rainbow2 {
    z-index: 2;
    animation-delay: 1.5s;
    animation-duration: 1.5s;
}
.p-recruit__mv .mv_rainbowArea .group1 {
    z-index: 5;
    animation-delay: 2.4s;
}
.p-recruit__mv .mv_rainbowArea .group2 {
    z-index: 3;
    animation-delay: 2.9s;
}
.p-recruit__mv .mv_rainbowArea .group3 {
    z-index: 1;
    animation-delay: 3.4s;
}
.underMv_text {
    text-align: right;
}

@keyframes mv_rainbow_show {
    0% {
        clip-path: polygon(100% 0%, 100% 0%, 100% 0, 100% 0);
    }
    100% {
        clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
    }
}
@keyframes mv_rainbow_group_fadein {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes mv_logo_appear {
    0% {
        opacity: 0;
        rotate: -40deg;
        scale: 0.3;
        translate: -50% -50%;
    }
    100% {
        opacity: 1;
        rotate: 0deg;
        scale: 1;
        translate: 0 0;
    }
}
@keyframes mv_logo_bird {
    0% {
        opacity: 0;
        scale: 0.2;
    }
    100% {
        opacity: 1;
        scale: 1;
    }
}

.p-recruit__mv .mv_rainbowArea :is(.rainbow1, .rainbow2) {
    clip-path: polygon(100% 0%, 100% 0%, 100% 0, 100% 0);
    animation-name: mv_rainbow_show;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
    animation-timing-function: ease-in;
    animation-direction: normal;
}
.p-recruit__mv .mv_rainbowArea :is(.group1, .group2, .group3) {
    opacity: 0;
    animation-name: mv_rainbow_group_fadein;
    animation-fill-mode: forwards;
    animation-duration: 1s;
    animation-iteration-count: 1;
    animation-timing-function: ease-in;
    animation-direction: normal;
}

main section {
    overflow: hidden;
}
@media all and (min-width: 768px) {
    main section {
        padding: 1px 0;
    }
    main section .inner {
        max-width: 1200px;
        margin-top: 199px;
        margin-bottom: 199px;
    }
    .secTitle {
        margin-bottom: 95px;
    }
    .secTitle .en {
        font-size: 12rem;
        line-height: 1.2;
    }
    .secTitle .en:before {
        -webkit-text-stroke-width: 24px;
    }
    .secTitle p {
        font-size: 2.4rem;
        letter-spacing: 0.1em;
        margin-top: -7px;
    }

    .p-recruit__mv {
        background-image: linear-gradient(
            30deg,
            #fff 30%,
            #89f7fe 70%,
            #66a6ff 100%
        );
    }
    .p-recruit__mv .mv_logoArea {
        position: absolute;
        top: 19%;
        left: 0;
        z-index: 1;
        max-width: 43%;
    }
    .p-recruit__mv .mv_rainbowArea {
        width: 1592px;
        max-width: 83%;
        aspect-ratio: 1592/940;
        margin-left: auto;
        padding-top: 140px;
    }
    .underMv_text {
        font-size: 1.4rem;
        margin: 6px 42px 0 0;
    }
}

@media all and (max-width: 767px) {
    main section {
        padding: 1px 0;
    }
    main section .inner {
        margin-top: 119px;
        margin-bottom: 119px;
    }
    .secTitle {
        margin-bottom: 75px;
    }
    .secTitle .en {
        font-size: 4.7rem;
        line-height: 1.2;
        -webkit-text-stroke-width: 1px;
    }
    .secTitle .en:before {
        -webkit-text-stroke-width: 12px;
    }
    .secTitle p {
        font-size: 2rem;
        letter-spacing: 0.05em;
        margin-top: -2px;
    }

    .p-recruit__mv {
        background-image: linear-gradient(
            20deg,
            #fff 20%,
            #89f7fe 50%,
            #66a6ff 100%
        );
        padding-top: 85px;
        padding-bottom: 60px;
    }
    .p-recruit__mv .mv_logoArea {
        position: relative;
        margin-left: 10px;
        width: 78%;
    }
    .p-recruit__mv .mv_rainbowArea {
        width: 100%;
        aspect-ratio: 750/800;
        margin-top: -50px;
    }
    .underMv_text {
        font-size: 1rem;
        margin: 0 20px 0 0;
    }
}

.p-recruit__movie .movieArea {
    aspect-ratio: 16/9;
    max-width: 800px;
    margin: 0 auto;
}
.p-recruit__movie .movieArea iframe {
    width: 100%;
    height: 100%;
    display: block;
}

.p-recruit__message .inner {
    margin-top: 0;
    margin-bottom: 0;
}
.p-recruit__message :is(h4, .text) {
    text-align: center;
}
.p-recruit__message h4 {
    font-weight: bold;
    margin: 0 0 60px;
}
.p-recruit__message .text .t1 {
    font-weight: 500;
}
.p-recruit__message .text .t2 {
    font-weight: bold;
}
.p-recruit__message .text p:last-child {
    margin-bottom: 0;
}
@media all and (min-width: 768px) {
    .p-recruit__message {
        margin-top: 70px;
        padding-bottom: 100px;
    }
    .p-recruit__message h4 {
        font-size: 4.2rem;
        line-height: 1.238;
        letter-spacing: 0.1em;
    }
    .p-recruit__message .text .t1 {
        font-size: 2rem;
        line-height: 2.1;
        letter-spacing: 0.1em;
        margin-bottom: 27px;
    }
    .p-recruit__message .text .t2 {
        font-size: 2.4rem;
        line-height: 1.833;
        letter-spacing: 0.1em;
        margin-bottom: 30px;
    }
}
@media all and (max-width: 767px) {
    .p-recruit__message {
        margin-top: 58px;
        padding-bottom: 60px;
    }
    .p-recruit__message h4 {
        font-size: 2.4rem;
        line-height: 1.416;
        letter-spacing: 0.05em;
        margin-bottom: 40px;
    }
    .p-recruit__message .text .t1 {
        font-size: 1.6rem;
        line-height: 1.625;
        letter-spacing: 0.05em;
        margin-bottom: 40px;
    }
    .p-recruit__message .text .t2 {
        font-size: 2.1rem;
        line-height: 1.476;
        letter-spacing: 0.05em;
        margin-bottom: 40px;
    }
}
@media all and (min-width: 768px) {
    .p-recruit__movie .inner {
        margin-top: 72px;
    }
}
@media all and (max-width: 767px) {
    .p-recruit__movie .inner {
        margin-top: 50px;
    }
}

:is(.p-recruit__jobs, .p-recruit__personality) {
    background-color: var(--blue5);
}
:is(.p-recruit__jobs, .p-recruit__personality) .secTitle {
    --secTitleOutline: var(--blue6);
}
.p-recruit__jobs .jobList {
    list-style: none;
    margin: 0;
    padding: 0;
}
.p-recruit__jobs .jobList > li .infoArea p {
    margin: 0;
}
.p-recruit__jobs .jobList .imgArea .label {
    margin: 0;
    text-align: center;
    font-weight: bold;
    position: relative;
}
.p-recruit__jobs .jobList .imgArea .label span {
    position: relative;
    z-index: 1;
}
.p-recruit__jobs .jobList .imgArea .label:before,
.p-recruit__jobs .jobList .imgArea .label:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
}
.p-recruit__jobs .jobList .imgArea .label:before {
    background-color: var(--job-color);
    top: 0;
    left: 0;
}
.p-recruit__jobs .jobList .imgArea .label:after {
    background-color: #333;
    z-index: -1;
}
.p-recruit__jobs .imgSlide {
    background-image: url(../img/recruit/top/img-slide.png);
    background-position: left 0 center;
    background-repeat: repeat-x;
    animation: jobs_img_slide linear 80s infinite 0s forwards;
}
@keyframes jobs_img_slide {
    from {
        background-position-x: 0;
    }
    to {
        background-position-x: calc(
            var(--slide-height) * (-11200 / 840)
        ); /* 実際に表示する画像の高さ * 画像の縦横比率  */
    }
}

@keyframes jobs_thumbnail_show {
    0% {
        translate: -105%;
    }
    100% {
        translate: 0%;
    }
}
@keyframes jobs_thumbnail_hide {
    0% {
        translate: 0%;
    }
    100% {
        translate: -105%;
    }
}

@media all and (min-width: 768px) {
    .p-recruit__jobs .inner {
        max-width: 1720px;
    }
    .p-recruit__jobs .jobInfo {
        position: relative;
        width: 100%;
        height: fit-content;
        overflow: hidden;
        display: flex;
    }
    .p-recruit__jobs .jobInfo::before {
        content: "";
        display: block;
        width: 47.6%;
        aspect-ratio: 1/1;
    }
    .p-recruit__jobs .jobInfo::after {
        content: "";
        display: block;
        width: 41.86%;
        aspect-ratio: 1/1;
        background-image: linear-gradient(135deg, #fff 0%, #506b81 100%);
        position: absolute;
        top: 0;
        left: 0;
    }
    .p-recruit__jobs .jobList {
        margin-left: auto;
        width: 46.5%;
    }
    .p-recruit__jobs .jobList > li {
        border-bottom: 2px solid #333;
    }
    .p-recruit__jobs .jobList > li:first-child {
        border-top: 2px solid #333;
    }
    .p-recruit__jobs .jobList > li .infoArea {
        padding: 15px 20px 20px;
        background-image: linear-gradient(
            to left,
            transparent 50%,
            var(--job-color) 50%
        );
        background-size: 200% 100%;
        background-position: 100% 0;
        transition: background-position 0.5s;
    }
    .p-recruit__jobs .jobList > li.pc_show .infoArea {
        background-position: 0 0;
    }
    .p-recruit__jobs .jobList > li .infoArea .jobName {
        font-size: 3.6rem;
        font-weight: bold;
        line-height: 1.444;
        letter-spacing: 0.1em;
        margin: 0 0 7px;
    }
    .p-recruit__jobs .jobList > li .infoArea p {
        letter-spacing: 0.1em;
    }
    .p-recruit__jobs .jobList .imgArea {
        width: 47.6%;
        aspect-ratio: 1/1;
        position: absolute;
        top: 0;
        left: 0;
        translate: -105%;
        animation-fill-mode: forwards;
        animation-duration: 0.6s;
        animation-iteration-count: 1;
        animation-timing-function: linear;
        animation-direction: normal;
        z-index: 1;
    }
    .p-recruit__jobs .jobList > li.pc_show .imgArea {
        animation-name: jobs_thumbnail_show;
    }
    .p-recruit__jobs .jobList > li.pc_hide .imgArea {
        animation-name: jobs_thumbnail_hide;
    }
    .p-recruit__jobs .jobList .imgArea img {
        width: 87.8%;
        position: absolute;
        bottom: 0;
        right: 0;
    }
    .p-recruit__jobs .jobList .imgArea .label {
        position: absolute;
        bottom: 12%;
        left: 6%;
        width: 52%;
        max-width: 420px;
        z-index: 2;
        font-size: clamp(2.4rem, 2.6vw, 4.8rem);
        letter-spacing: 0.1em;
        translate: 0 45%;
        padding: 11px 5px;
    }
    .p-recruit__jobs .jobList .imgArea .label:after {
        top: 10px;
        left: 10px;
    }
    .p-recruit__jobs .imgSlide {
        --slide-height: 600px;
        height: var(--slide-height);
        background-size: auto var(--slide-height);
    }
}
@media all and (max-width: 767px) {
    .p-recruit__jobs .jobList > li + li {
        margin-top: 46px;
    }
    .p-recruit__jobs .jobList > li .infoArea .jobName {
        display: none;
    }
    .p-recruit__jobs .jobList > li .infoArea p {
        letter-spacing: 0.05em;
        padding-left: 20px;
        padding-right: 20px;
    }
    .p-recruit__jobs .jobList .imgArea {
        padding-top: 20px;
        position: relative;
        z-index: 1;
        margin-bottom: 30px;
    }
    .p-recruit__jobs .jobList .imgArea:before {
        content: "";
        display: block;
        width: calc(100% - 20px);
        aspect-ratio: 1/1;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        background-image: linear-gradient(135deg, #fff 0%, #506b81 100%);
    }
    .p-recruit__jobs .jobList .imgArea img {
        width: calc(100% - 20px);
        margin-left: 20px;
    }
    .p-recruit__jobs .jobList .imgArea .label {
        width: fit-content;
        min-width: 210px;
        z-index: 2;
        font-size: 2.4rem;
        letter-spacing: 0.05em;
        padding: 4.5px 5px;
        margin: -36px auto 0;
    }
    .p-recruit__jobs .jobList .imgArea .label:after {
        top: 5px;
        left: 5px;
    }
    .p-recruit__jobs .imgSlide {
        --slide-height: 420px;
        height: var(--slide-height);
        background-size: auto var(--slide-height);
    }
}

.p-recruit__personality .list-personality {
    list-style: none;
    margin: 0;
    padding: 0;
}
.p-recruit__personality .list-personality .label {
    position: relative;
    width: calc(100% - 5px);
    font-weight: bold;
    vertical-align: middle;
    display: flex;
    justify-content: center;
    text-align: center;
}
.p-recruit__personality .list-personality .label span {
    align-self: center;
    position: relative;
    z-index: 3;
}
.p-recruit__personality .list-personality li:first-child {
    --personality-color: var(--blue2);
}
.p-recruit__personality .list-personality li:nth-child(2) {
    --personality-color: var(--blue7);
}
.p-recruit__personality .list-personality li:last-child {
    --personality-color: var(--green2);
}
.p-recruit__personality .list-personality .label::before,
.p-recruit__personality .list-personality .label::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
}
.p-recruit__personality .list-personality .label::before {
    top: 0;
    left: 0;
    background-color: var(--personality-color);
    z-index: 2;
}
.p-recruit__personality .list-personality .label::after {
    top: 5px;
    left: 5px;
    background-color: #333;
    z-index: 1;
}
.p-recruit__personality .list-personality .image {
    border-radius: 50%;
    background-color: #fff;
    display: flex;
    justify-content: center;
    aspect-ratio: 1/1;
}
.p-recruit__personality .list-personality .image img {
    display: block;
    align-self: center;
}
@media all and (min-width: 768px) {
    .p-recruit__personality .inner {
        margin-top: 185px;
    }
    .p-recruit__personality .list-personality {
        display: flex;
        gap: 60px;
    }
    .p-recruit__personality .list-personality > li {
        flex: 1;
    }
    .p-recruit__personality .list-personality .label {
        font-size: 3rem;
        line-height: 1.333;
        padding: 15px 10px 31px;
        min-height: 126px;
        margin-bottom: 38px;
    }
    .p-recruit__personality .list-personality .label::before,
    .p-recruit__personality .list-personality .label::after {
        clip-path: var(--link-shape2);
    }
    .p-recruit__personality .list-personality .image img {
        width: 69.5%;
    }
}
@media all and (max-width: 767px) {
    .p-recruit__personality .list-personality > li + li {
        margin-top: 50px;
    }
    .p-recruit__personality .list-personality .label {
        font-size: 2.4rem;
        line-height: 1.416;
        padding: 10.5px 10px 26.5px;
        min-height: 105px;
        margin-bottom: 38px;
    }
    .p-recruit__personality .list-personality .label::before,
    .p-recruit__personality .list-personality .label::after {
        clip-path: var(--link-shape3);
    }
    .p-recruit__personality .list-personality .image {
        max-width: 250px;
        margin-left: auto;
        margin-right: auto;
    }
    .p-recruit__personality .list-personality .image img {
        width: 72%;
    }
}

.p-recruit__data .dataList {
    list-style: none;
    margin: 0;
    padding: 0;
}
.p-recruit__data .dataList > li:nth-child(3n + 1) {
    --detail-color: var(--blue8);
}
.p-recruit__data .dataList > li:nth-child(3n + 2) {
    --detail-color: var(--blue9);
}
.p-recruit__data .dataList > li:nth-child(3n) {
    --detail-color: var(--green4);
}
.p-recruit__data .dataList > li .listTitle {
    font-weight: bold;
    text-align: center;
    background-color: #fff;
    border: 2px solid #333;
    margin: 0;
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 1;
    translate: -50% -50%;
    width: fit-content;
}
.p-recruit__data .dataList > li .listTitle:after {
    content: "";
    display: block;
    position: absolute;
    top: -2px;
    right: -2px;
    translate: 100%;
    background-color: #333;
    height: calc(50% + 2px);
    clip-path: polygon(0% 0%, 100% 100%, 0% 100%);
}
.p-recruit__data .dataList > li .detail {
    position: relative;
    background-color: var(--detail-color);
}
.p-recruit__data .dataList > li .detail .itemName {
    font-weight: bold;
    text-align: center;
}
.p-recruit__data .dataList > li .detail .dataImg {
    display: block;
    margin: 10px auto 20px;
}
.p-recruit__data .dataList > li .detail p {
    margin-bottom: 0;
}
.p-recruit__data .dataList > li .detail .numData {
    text-align: center;
    font-weight: bold;
}
.p-recruit__data .dataList > li .detail .numData .num {
    font-family: var(--font3);
    letter-spacing: 0;
    color: var(--blue1);
}
.p-recruit__data .dataList > li .detail .note {
    text-align: center;
    font-weight: bold;
}
.p-recruit__data .dataList > li .detail .note a {
    color: var(--blue10);
    text-decoration-thickness: 1px;
}
@media all and (min-width: 768px) {
    .p-recruit__data .dataList {
        display: grid;
        grid-template-columns: calc(50%-30px) calc(50%-30px);
        gap: 100px 60px;
    }
    .p-recruit__data .dataList > li.wide {
        grid-column: span 2;
    }
    .p-recruit__data .dataList > li .listTitle {
        min-width: 450px;
        font-size: 3.6rem;
        line-height: 1.277;
        padding: 15px 10px;
    }
    .p-recruit__data .dataList > li .listTitle:after {
        width: 18px;
    }
    .p-recruit__data .dataList > li .detail {
        margin-top: 40px;
        height: 100%;
        padding: 75px 20px 40px;
    }
    .p-recruit__data .dataList > li .detail .itemName {
        font-size: 3.6rem;
        line-height: 1.277;
    }
    .p-recruit__data .dataList > li .detail .dataImg {
        width: 90%;
    }
    .p-recruit__data .dataList > li .detail .itemName + .dataImg {
        margin-top: 30px;
    }
    .p-recruit__data .dataList > li .detail .numData {
        font-size: 3.6rem;
        letter-spacing: 0.05em;
        line-height: 1.1;
    }
    .p-recruit__data .dataList > li .detail .numData + .numData {
        margin-top: 12px;
    }
    .p-recruit__data .dataList > li .detail .numData + .numData.small {
        margin-top: 18px;
    }
    .p-recruit__data .dataList > li .detail .numData .num {
        font-size: 12rem;
        margin: 0 12px;
    }
    .p-recruit__data .dataList > li .detail .group-campany .numData.osaka .num {
        margin: 0 25px;
    }
    .p-recruit__data .dataList > li .detail.male_to_female_ratio .numData.female .num {
        margin: 0 20px;
    }
    .p-recruit__data .dataList > li .detail .numData.small {
        font-size: 2.4rem;
    }
    .p-recruit__data .dataList > li .detail .numData.small .num {
        font-size: 6rem;
        margin: 0 8px;
    }
    .p-recruit__data .dataList > li .detail .note {
        font-size: 2rem;
        line-height: 1.5;
        margin-top: 20px;
    }
    .p-recruit__data .dataList > li .detail.twin {
        display: flex;
        gap: 60px;
    }
    .p-recruit__data .dataList > li .detail.twin .item {
        width: calc(50% - 30px);
    }
}
@media all and (max-width: 767px) {
    .p-recruit__data .dataList {
        margin-top: 20px;
    }
    .p-recruit__data .dataList > li + li {
        margin-top: 70px;
    }
    .p-recruit__data .dataList > li .listTitle {
        min-width: 250px;
        font-size: 2rem;
        line-height: 1.7;
        padding: 1px 10px;
    }
    .p-recruit__data .dataList > li .listTitle:after {
        width: 15px;
    }
    .p-recruit__data .dataList > li .detail {
        margin-top: 40px;
        padding: 55px 20px 45px;
    }
    .p-recruit__data .dataList > li .detail .itemName {
        font-size: 2rem;
        line-height: 1.7;
    }
    .p-recruit__data .dataList > li .detail .dataImg {
        width: 275px;
        margin: 10px auto 0;
    }
    .p-recruit__data .dataList > li .detail .itemName + .dataImg {
        margin-top: 26px;
    }
    .p-recruit__data .dataList > li .detail .numData {
        font-size: 2.7rem;
        letter-spacing: 0.025em;
        line-height: 1.185;
    }
    .p-recruit__data .dataList > li .detail .numData + .numData {
        margin-top: -8px;
    }
    .p-recruit__data .dataList > li .detail .numData + .numData.small {
        margin-top: 18px;
    }
    .p-recruit__data .dataList > li .detail .numData .num {
        font-size: 8.6rem;
        margin: 0 12px;
    }
    .p-recruit__data .dataList > li .detail .group-campany .numData.osaka .num {
        margin: 0 20px;
    }
    .p-recruit__data .dataList > li .detail.male_to_female_ratio .numData.female .num {
        margin: 0 17px;
    }
    .p-recruit__data .dataList > li .detail .numData.small {
        font-size: 1.8rem;
    }
    .p-recruit__data .dataList > li .detail .numData.small .num {
        font-size: 5rem;
        margin: 0 8px;
    }
    .p-recruit__data .dataList > li .detail .note {
        margin-top: 10px;
    }
    .p-recruit__data .dataList > li .detail.twin .item + .item {
        margin-top: 20px;
    }
}

.p-recruit__interview {
    background-color: var(--green5);
}
.p-recruit__interview .secTitle {
    --secTitleOutline: var(--green6);
}
.p-recruit__interview .interViewList {
    list-style: none;
    margin: 0;
    padding: 0;
}
.p-recruit__interview .interViewList .affiliation {
    position: relative;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    width: fit-content;
}
.p-recruit__interview .interViewList .affiliation span {
    position: relative;
    z-index: 3;
}
.p-recruit__interview .interViewList .affiliation::before,
.p-recruit__interview .interViewList .affiliation::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    clip-path: var(--link-shape4);
    position: absolute;
}
.p-recruit__interview .interViewList .affiliation::before {
    background-color: var(--affiliation-color);
    top: 0;
    left: 0;
    z-index: 2;
}
.p-recruit__interview .interViewList .affiliation::after {
    background-color: #333;
    top: 5px;
    left: 5px;
    z-index: 1;
}
.p-recruit__interview .interViewList .detail {
    position: relative;
    background-image: linear-gradient(to bottom, #fff 0%, #a7b5c0 100%);
    background-repeat: no-repeat;
    background-position: right center;
}
.p-recruit__interview .interViewList .detail .thumbnail {
    position: absolute;
    bottom: 0;
    left: 0;
}
.p-recruit__interview .interViewList .detail .thumbnail img {
    display: block;
}
.p-recruit__interview .interViewList .detail :is(.name, .career) {
    line-height: 1;
    font-weight: bold;
}
.p-recruit__interview .interViewList .detail .type {
    background-color: var(--type-color);
    text-align: center;
    font-weight: bold;
    color: #fff;
    width: fit-content;
}
.p-recruit__interview .interViewList .modal_open {
    display: block;
    border-radius: 50%;
    position: absolute;
    aspect-ratio: 1/1;
    background-color: var(--blue11);
}
.p-recruit__interview .interViewList .modal_open::before,
.p-recruit__interview .interViewList .modal_open::after {
    content: "";
    display: block;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}
.p-recruit__interview .interViewList .modal_open::after {
    rotate: 90deg;
}
@media all and (min-width: 768px) {
    .p-recruit__interview .inner {
        max-width: 1000px;
    }
    .p-recruit__interview .interViewList {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 60px;
    }
    .p-recruit__interview .interViewList > li {
        width: calc(50% - 30px);
    }
    .p-recruit__interview .interViewList .affiliation {
        font-size: 3rem;
        letter-spacing: 0.05em;
        min-width: 180px;
        padding: 15px 10px 31px;
        margin: 0 70px -46px auto;
    }
    .p-recruit__interview .interViewList .affiliation::before,
    .p-recruit__interview .interViewList .affiliation::after {
        clip-path: var(--link-shape4);
    }
    .p-recruit__interview .interViewList .detail {
        background-size: 63.83% 100%;
        aspect-ratio: 47/44;
    }
    .p-recruit__interview .interViewList .detail .thumbnail {
        width: 76.6%;
    }
    .p-recruit__interview .interViewList .detail .info {
        padding-top: 80px;
        margin-left: 63.83%;
    }
    .p-recruit__interview .interViewList .detail :is(.name, .career) {
        letter-spacing: 0.05em;
    }
    .p-recruit__interview .interViewList .detail .name {
        font-size: 3.6rem;
        margin-bottom: 18px;
    }
    .p-recruit__interview .interViewList .detail :is(.name span, .career) {
        font-size: 2.4rem;
    }
    .p-recruit__interview .interViewList .detail .career {
        margin-bottom: 20px;
    }
    .p-recruit__interview .interViewList .detail .type {
        font-size: 2.4rem;
        line-height: 1.5;
        padding: 0 11px;
    }
    .p-recruit__interview .interViewList .modal_open {
        bottom: 28px;
        right: 20px;
        width: 90px;
    }
    .p-recruit__interview .interViewList .modal_open::before,
    .p-recruit__interview .interViewList .modal_open::after {
        width: 30px;
        height: 8px;
    }
}
@media all and (max-width: 767px) {
    .p-recruit__interview .interViewList {
        max-width: 350px;
        margin-inline: auto;
    }
    .p-recruit__interview .interViewList > li + li {
        margin-top: 50px;
    }
    .p-recruit__interview .interViewList .affiliation {
        font-size: 2rem;
        min-width: 115px;
        padding: 12px 4px 21px;
        margin: 0 77px -26.5px auto;
    }
    .p-recruit__interview .interViewList .affiliation::before,
    .p-recruit__interview .interViewList .affiliation::after {
        clip-path: var(--link-shape5);
    }
    .p-recruit__interview .interViewList .detail {
        min-height: 245px;
        width: 100%;
        background-size: 64.17% 100%;
    }
    .p-recruit__interview .interViewList .detail .thumbnail {
        width: 210px;
    }
    .p-recruit__interview .interViewList .detail .info {
        padding-top: 45px;
        margin-left: 63.83%;
    }
    .p-recruit__interview .interViewList .detail .name {
        font-size: 2.4rem;
        margin-bottom: 18px;
    }
    .p-recruit__interview .interViewList .detail :is(.name span, .career) {
        font-size: 1.8rem;
    }
    .p-recruit__interview .interViewList .detail .career {
        margin-bottom: 22px;
    }
    .p-recruit__interview .interViewList .detail .type {
        font-size: 1.8rem;
        line-height: 1.5;
        padding: 0 11px;
    }
    .p-recruit__interview .interViewList .modal_open {
        bottom: 20px;
        right: 20px;
        width: 50px;
    }
    .p-recruit__interview .interViewList .modal_open::before,
    .p-recruit__interview .interViewList .modal_open::after {
        width: 17.5px;
        height: 4px;
    }
}

.p-recruit__links .inner .linkArea a.shinsotsu {
    --links-color1: var(--blue2);
    --links-color2: var(--blue1);
}
.p-recruit__links .inner .linkArea a.chuto {
    --links-color1: var(--green1);
    --links-color2: var(--green7);
}
.p-recruit__links .inner .linkArea a {
    display: flex;
    justify-content: center;
    text-align: center;
    font-weight: bold;
    line-height: 1;
    position: relative;
    border: 2px solid #333;
    border-radius: 20px;
    text-decoration: none;
    align-items: center;
}
.p-recruit__links .inner .linkArea a:hover {
    color: #fff;
}
.p-recruit__links .inner .linkArea a::after {
    content: "";
    display: block;
    clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
    background-color: #333;
    position: absolute;
    top: 50%;
    translate: 0 -50%;
}
.p-recruit__links .inner .linkArea a:hover::after {
    background-color: #fff;
}
@media all and (min-width: 768px) {
    .p-recruit__links .inner {
        max-width: 1600px;
    }
    .p-recruit__links .inner .linkArea {
        display: flex;
        gap: 40px;
    }
    .p-recruit__links .inner .linkArea a {
        font-size: 4rem;
        min-height: 180px;
        flex: 1;
        padding: 30px;
        background-image: linear-gradient(to left,var(--links-color1) 50%, var(--links-color2) 50%);
        background-size: 200% 100%;
        background-position: center right 0%;
        transition: background-position 0.5s, color 0.3s;
    }
    .p-recruit__links .inner .linkArea a:hover {
        background-position: center right 100%;
    }
    .p-recruit__links .inner .linkArea a::after {
        width: 16px;
        height: 18px;
        right: 20px;
    }
}
@media all and (max-width: 767px) {
    .p-recruit__links .inner .linkArea a {
        font-size: 2.4rem;
        min-height: 120px;
        padding: 30px;
        background-color: var(--links-color1);
    }
    .p-recruit__links .inner .linkArea a + a {
        margin-top: 20px;
    }
    .p-recruit__links .inner .linkArea a::after {
        width: 12px;
        height: 13.5px;
        right: 10px;
    }
    .p-recruit__links .inner .linkArea a:hover {
        background-color: var(--links-color2);
        transition: color .15s, background-color .15s;
    }
    .p-recruit__links .inner .linkArea a::after {
        transition: background-color .15s;
    }
}

.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    overflow: auto;
    z-index: 200000;
    display: none;
}
.modal .modal_bg {
    background-color: rgba(0, 0, 0, 0.8);
    position: fixed;
    width: 100vw;
    height: 100vh;
    z-index: 1;
}
.modal article {
    position: relative;
    z-index: 2;
    background-color: #fff;
    width: calc(100% - 40px);
}
.modal article .modal_close {
    display: block;
    border-radius: 50%;
    position: absolute;
    aspect-ratio: 1/1;
    background-color: var(--blue11);
    z-index: 1;
}
.modal article .modal_close:hover {
    opacity: 1;
}
.modal article .modal_close::before {
    content: "";
    display: block;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}
.modal article .close_btn1 {
    top: 0;
    right: 0;
}
.modal article .close_btn2 {
    bottom: -20px;
    right: 50%;
    translate: 50% 100%;
}
.modal article::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background-color: var(--affiliation-color);
    z-index: -1;
}
.modal .person .shozoku,
.modal .person .textArea .name,
.modal .person .textArea .info {
    font-weight: bold;
}
.modal .person .textArea .type {
    background-color: var(--type-color);
    text-align: center;
    font-weight: bold;
    color: #fff;
    width: fit-content;
}
.modal .person .imgArea {
    position: relative;
}
.modal .person .imgArea img {
    display: block;
}
.modal .person .imgArea:after {
    content: "";
    display: block;
    position: absolute;
    background-image: linear-gradient(to bottom, #edf0f2 0%, #a7b5c0 100%);
    aspect-ratio: 1 / 1;
    z-index: -1;
}
.modal .interview_qa {
    list-style: none;
    padding: 0;
}
.modal .interview_qa > li:nth-child(3n) {
    --title-color: var(--blue8);
}
.modal .interview_qa > li:nth-child(3n + 1) {
    --title-color: var(--blue9);
}
.modal .interview_qa > li:nth-child(3n + 2) {
    --title-color: var(--green4);
}
.modal .interview_qa .question {
    background-color: var(--title-color);
    color: var(--blue1);
    font-weight: bold;
}
.modal .interview_qa .answer {
    margin-bottom: 0;
}
.modal .modal_bottom_img {
    display: block;
}
@media all and (min-width: 768px) {
    .modal article {
        margin: 150px auto;
        max-width: 1200px;
        padding: 40px 100px 100px 100px;
    }
    .modal article .modal_close {
        width: 90px;
    }
    .modal article .modal_close::before {
        width: 30px;
        height: 8px;
    }
    .modal article .close_btn1 {
        translate: 50% -50%;
    }
    .modal article::before {
        height: 180px;
    }
    .modal .person {
        display: grid;
        grid-template-columns: 40% 56%;
        grid-template-rows: 140px auto;
        gap: 35px 4%;
    }
    .modal .person .shozoku {
        font-size: 4rem;
        letter-spacing: 0.1em;
        margin: 48px 0 0;
    }
    .modal .person .textArea .name {
        font-size: 3rem;
        line-height: 1.133;
        margin-bottom: 10px;
    }
    .modal .person .textArea .name span {
        font-size: 4.8rem;
        letter-spacing: 0.05em;
    }
    .modal .person .textArea .info {
        font-size: 2.4rem;
        letter-spacing: 0.05em;
        line-height: 1.416;
        margin-bottom: 12px;
    }
    .modal .person .textArea .type {
        font-size: 2.4rem;
        line-height: 1.5;
        padding: 0 12.5px;
    }
    .modal .person .imgArea {
        margin-bottom: 40px;
        grid-column: 2/2;
        grid-row: span 2;
    }
    .modal .person .imgArea img {
        width: calc(100% - 80px);
    }
    .modal .person .imgArea:after {
        top: 40px;
        left: 80px;
        width: calc(100% - 80px);
    }
    .modal .interview_qa {
        margin: 60px 0 55px;
    }
    .modal .interview_qa > li + li {
        margin-top: 58px;
    }
    .modal .interview_qa .question {
        font-size: 2.4rem;
        line-height: 1.416;
        letter-spacing: 0.05em;
        padding: 15px 10px 31px;
        clip-path: var(--link-shape1);
        margin-bottom: 16px;
    }
    .modal .interview_qa .answer {
        font-size: 1.8rem;
        line-height: 1.5;
        letter-spacing: 0.05em;
    }
}
@media all and (max-width: 767px) {
    .modal article {
        margin: 170px auto;
        max-width: 400px;
        padding: 40px 20px 50px;
    }
    .modal article .modal_close {
        width: 50px;
    }
    .modal article .close_btn1 {
        translate: 20px -50%;
    }
    .modal article .modal_close::before {
        width: 17.5px;
        height: 4px;
    }
    .modal article::before {
        height: 150px;
    }
    .modal .person .shozoku {
        font-size: 2.7rem;
        letter-spacing: 0.05em;
        margin: 0 auto 10px;
        text-align: center;
    }
    .modal .person .textArea .name {
        font-size: 1.8rem;
        line-height: 1.666;
        margin-bottom: 2px;
    }
    .modal .person .textArea .name span {
        font-size: 2.7rem;
    }
    .modal .person .textArea .info {
        font-size: 1.8rem;
        line-height: 1.666;
        margin-bottom: 6px;
    }
    .modal .person .textArea .type {
        font-size: 1.8rem;
        line-height: 1.5;
        padding: 0 9px;
        margin-top: 15px;
    }
    .modal .person .imgArea {
        margin-bottom: 22px;
        padding: 20px 0 0 45px;
    }
    .modal .person .imgArea:after {
        top: 0;
        left: 0;
        width: calc(100% - 45px);
    }
    .modal .interview_qa {
        margin: 50px 0 50px;
    }
    .modal .interview_qa > li + li {
        margin-top: 50px;
    }
    .modal .interview_qa .question {
        font-size: 1.8rem;
        line-height: 1.555;
        padding: 15.5px 10px 27.5px;
        clip-path: var(--link-shape6);
        margin-bottom: 15px;
    }
    .modal .interview_qa .answer {
        font-size: 1.4rem;
        line-height: 1.714;
        letter-spacing: 0.025em;
    }
}

.slideIn_left {
    translate: 100vw;
    transition: 1.2s;
}
.slideIn_left.is-animated {
    translate: 0;
}
.fadeIn {
    translate: 0 100px;
    opacity: 0;
    transition: opacity 0.3s, translate 0.8s;
}
.fadeIn.is-animated {
    translate: 0;
    opacity: 1;
}
.rotateIn {
    transform: rotate3d(0, 1, 0, 90deg);
    transition: transform 0.8s 0.1s;
}
.rotateIn.is-animated {
    transform: rotate3d(0, 0, 0, 0);
}
@media all and (max-width: 767px) {
    .sp-fadeIn {
        translate: 0 100px;
        opacity: 0;
        transition: opacity 0.3s, translate 0.8s;
    }
    .sp-fadeIn.is-animated {
        translate: 0;
        opacity: 1;
    }
}

