@charset 'UTF-8';
/* ----------------------------------------------
　PC設定
------------------------------------------------*/
.p-loadAnime
{
    position: fixed;
    z-index: 100000;
    top: 0;
    left: 0;

    display: flex;

    width: 100%;
    height: 100%;

    transition: all .5s;
    transform: translateX(0%);

    background-color: #fff;

    justify-content: center;
    align-items: center;
}
.p-loadAnime.complate
{
    animation: disnone 1s 0s linear forwards;
}
.p-loadAnime.opacity
{
    background: unset;
}
.p-loadAnime.opacity .load_logo
{
    display: none;
}
.p-loadAnime.reload
{
    z-index: -100 !important;

    display: none !important;

    transform: translateX(-500%) !important;

    opacity: 0 !important;
}
.p-loadAnime__inner
{
    position: relative;

    overflow: hidden;

    width: 100%;
    height: 100%;

    transition: opacity .5s;

    opacity: 0;
}
.p-loadAnime__inner.load
{
    opacity: 1;
}
.p-loadAnime__blueExpand
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 8vw;
    height: 8vw;

    transform: translate(-50%, -50%) scale(0);
    transform-origin: center;
    pointer-events: none;

    border-radius: 50%;
    background: #00a4e3;
}
.p-loadAnime__curtain
{
    position: absolute;

    overflow: hidden;

    pointer-events: none;

    inset: 0;
}
.p-loadAnime__curtainPanel
{
    position: absolute;
    left: 0;

    width: 100%;
    height: 50%;

    background: #005bac;

    will-change: transform, clip-path;
}
.p-loadAnime__curtainPanel--top
{
    top: 0;

    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.p-loadAnime__curtainPanel--bottom
{
    bottom: 0;

    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.p-loadAnime .cls-1,
.p-loadAnime .cls-5
{
    fill: #005bab;
}
.p-loadAnime .cls-2
{
    fill: #fff;
}
.p-loadAnime .cls-3,
.p-loadAnime .cls-4
{
    fill: #00a4e3;
}
.p-loadAnime .logo_only,
.p-loadAnime .logo
{
    position: absolute;

    margin: auto;

    inset: 0;
}
.p-loadAnime .logo_only
{
    width: 80px;
    height: 80px;
}
.p-loadAnime .logo
{
    width: 80%;
    max-width: 500px;
    height: auto;
}

@keyframes disnone
{
    0%
    {
        z-index: 100000;

        display: flex;

        transform: translateX(0%);

        opacity: 1;
    }
    99%
    {
        z-index: 100000;

        display: flex;

        transform: translateX(0%);

        opacity: 0;
    }
    100%
    {
        z-index: -100;

        display: none;

        transform: translateX(-500%);

        opacity: 0;
    }
}
.l-header
{
    background-color: var(--main-white);
}

.l-contents
{
    position: relative;
    z-index: 1;
}
.l-contents::before
{
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;

    display: inline-block;

    width: 100%;
    height: 100vh;

    content: '';

    opacity: 0;
    background: url(/images/top/bg.jpg) center/cover no-repeat;
}
.l-contents.is-show::before
{
    opacity: 1;
}

.p-news
{
    margin-top: var(--fs32_40);

    background-color: var(--main-white);
}
.p-news__inner
{
    display: flex;

    padding: var(--m25) var(--m40);

    border: 1px solid var(--main-col);
    border-radius: var(--m10);

    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
.p-news__title
{
    font-size: var(--fs16_18);
    font-weight: bold;

    padding-right: 2em;

    border-right: 1px solid var(--main-col);
}
.p-news__list
{
    width: calc(100% - var(--fs16_18) * 7 - var(--fs22_36) - var(--fs14_18) * 8.2);
    padding: 0 var(--fs22_36);
}
.p-news__row
{
    display: flex;

    flex-wrap: wrap;
    grid-gap: 10px var(--m60);
}
.p-news__dt
{
    font-size: var(--fs16_18);
    font-weight: 400;
}
.p-news__dd
{
    font-size: var(--fs14_18);
}
.p-news .c-link-bt
{
    padding-left: var(--fs22_36);

    border-left: 1px solid var(--main-col);
}

.p-about
{
    padding-bottom: var(--m180);
    margin-top: var(--m120);
    background-color: var(--main-white);
}
.p-about .c-title
{
    margin-bottom: var(--m50);

    text-align: center;
}
.p-about .c-text
{
    margin-bottom: var(--m50);

    text-align: center;
}
.p-about__list
{
    display: flex;

    flex-wrap: wrap;
    grid-gap: var(--m60) 1.66%;
}
.p-about__box
{
    width: 32.226%;
}
.p-about__box-image
{
    overflow: hidden;

    border: 1px solid var(--gray01);
    border-radius: var(--m10);

    aspect-ratio: 386/260;
}
.p-about__box-image img
{
    height: 100%;

    -o-object-fit: cover;

       object-fit: cover;
}
.p-about__box .c-link-bt
{
    margin-top: var(--m16);
}

.p-jobs
{
    padding-bottom: var(--m180);

    background-color: var(--main-white);
}
.p-jobs .c-title-row
{
    margin-bottom: var(--m70);
}
.p-jobs__list
{
    display: flex;

    flex-wrap: wrap;
    grid-gap: var(--m60) 1.66%;
}
.p-jobs__box
{
    width: 32.226%;
}
.p-jobs__box-image
{
    overflow: hidden;

    border: 1px solid var(--gray01);
    border-radius: var(--m10);

    aspect-ratio: 386/260;
}
.p-jobs__box-image img
{
    height: 100%;

    -o-object-fit: cover;

       object-fit: cover;
}
.p-jobs__box .c-link-bt
{
    margin-top: var(--m16);
}

.p-recruit
{
    padding-bottom: var(--m180);

    border-bottom-right-radius: var(--m60);
    border-bottom-left-radius: var(--m60);
    background-color: var(--main-white);
}
.p-recruit .c-title-row
{
    margin-bottom: var(--m70);
}
.p-recruit__box
{
    border: 1px solid var(--gray01);
    box-shadow: 2px 2px 2px rgba(204, 204, 204, .75);
}
.p-recruit__box:not(:last-of-type)
{
    margin-bottom: var(--fs18_20);
}
.p-recruit__box-link
{
    display: flex;
    flex-direction: row-reverse;

    padding: var(--m24);

    flex-wrap: wrap;
    justify-content: space-between;
}
.p-recruit__box-inner
{
    width: 78%;
}
.p-recruit__box-title
{
    font-size: var(--fs18_23);
    font-weight: bold;
}
.p-recruit__overview
{
    display: flex;

    margin-top: var(--fs16_20);
    padding: var(--m8) var(--m14);

    border: 1px solid var(--gray01);

    flex-wrap: wrap;
    grid-gap: var(--fs16_20);
}
.p-recruit__overview-box
{
    display: flex;
}
.p-recruit__overview-dt
{
    font-size: var(--fs14_18);
    font-weight: 500;

    color: var(--gray02);
}
.p-recruit__overview-dd
{
    font-size: var(--fs16_18);
    font-weight: 500;

    color: var(--main-col);
}
.p-recruit__time
{
    display: flex;

    margin-top: var(--m8);

    align-items: center;
    grid-gap: 2px;
}
.p-recruit__time::before
{
    display: inline-block;

    width: var(--fs14_16);

    content: '';

    background: url(/images/common/icon_timer.svg) center/contain no-repeat;

    aspect-ratio: 1/1;
}
.p-recruit__time-text
{
    font-size: var(--fs14_16);
    font-weight: 500;

    color: var(--gray02);
}
.p-recruit__image
{
    overflow: hidden;

    width: 20%;

    aspect-ratio: 230/177;
}
.p-recruit__image img
{
    height: 100%;

    -o-object-fit: cover;

       object-fit: cover;
}
.p-recruit__none
{
  font-size: var(--fs18_22);
  font-weight: 500;
}

.c-separator
{
    width: 100%;
    height: 200px;
}

.p-voice
{
    padding: var(--m180) 0;

    background-color: var(--main-white);
}
.p-voice .c-title-row
{
    margin-bottom: var(--m50);
}
.p-voice__slider-area
{
    position: relative;
    z-index: 1;
}
.p-voice__slider
{
    overflow: hidden;

    padding: 0 1%;
}
.p-voice__box-link
{
    display: flex;
    flex-direction: column-reverse;
}
.p-voice__box-text
{
    margin-top: var(--fs14_16);
}
.p-voice__box-position
{
    font-size: var(--fs14_18);
    font-weight: bold;
}
.p-voice__box-name
{
    font-size: var(--fs16_20);
    font-weight: bold;
}
.p-voice__box-image
{
    overflow: hidden;

    border: 1px solid var(--gray01);
    border-radius: var(--m10);

    aspect-ratio: 386/430;
}
.p-voice__box-image img
{
    height: 100%;

    -o-object-fit: cover;

       object-fit: cover;
}
.p-voice .c-button
{
    max-width: 275px;
    margin: var(--m85) auto 0;
}

.p-benefits
{
    padding-bottom: var(--m180);

    background-color: var(--main-white);
}
.p-benefits__inner
{
    padding: var(--m120) var(--m16_80) var(--m80);

    border-radius: var(--m10);
    background-color: var(--blue03);
}
.p-benefits .c-title-row
{
    margin-bottom: var(--m65);
}
.p-benefits .c-title-row .c-title
{
    width: 30%;
}
.p-benefits .c-title-row .c-text
{
    width: calc(70% - var(--m65));
}
.p-benefits__list
{
    display: flex;

    flex-wrap: wrap;
    grid-gap: var(--m16_20) 1.66%;
}
.p-benefits__bt
{
    width: 49.17%;
}
.p-benefits__bt-link
{
    line-height: 1;

    display: flex;

    padding: var(--m25);

    transition: all .5s;

    border: 1px solid var(--gray01);
    border-radius: var(--m10);
    background-color: var(--main-white);

    align-items: center;
    justify-content: center;
}
.p-benefits__bt-link::after
{
    display: inline-block;

    width: var(--fs16_18);

    content: '';

    background-image: url(/images/common/arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    aspect-ratio: 1/1;
}
.p-benefits__bt-text
{
    font-size: var(--fs16_20);
    font-weight: bold;

    width: calc(100% - var(--fs16_18));
}
.p-benefits__bt-text.left
{
    text-align: left;
}
.p-benefits .c-button
{
    max-width: 275px;
    margin: var(--m75) auto 0;
}

.p-flow
{
    padding-bottom: var(--m180);

    background-color: var(--main-white);
}
.p-flow .c-title-row
{
    margin-bottom: var(--m70);
}
.p-flow__list
{
    display: flex;

    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
.p-flow__box
{
    position: relative;
    z-index: 1;

    display: flex;
    flex-direction: column;

    width: 22.5%;
    padding: var(--m35) var(--m16) var(--m40);

    border: 3px solid var(--blue01);
    border-radius: var(--m20);

    align-items: center;
    justify-content: space-between;
    grid-gap: var(--m50) 0;
}
.p-flow__box.flow02
{
    border-color: var(--blue01);
}
.p-flow__box.flow02 *
{
    color: var(--blue01);
}
.p-flow__box.flow03
{
    border-color: var(--blue05);
}
.p-flow__box.flow03 *
{
    color: var(--blue05);
}
.p-flow__box.flow04
{
    border-color: var(--main-col);
}
.p-flow__box.flow04 *
{
    color: var(--main-col);
}
.p-flow__box-en
{
    font-size: var(--fs16_20);
    font-weight: bold;

    color: var(--blue01);

    order: 1;
}
.p-flow__box-text
{
    font-size: var(--fs18_26);
    font-weight: bold;

    color: var(--blue01);

    order: 3;
}
.p-flow__box-text small
{
    font-size: var(--fs16_20);
    font-weight: bold;

    color: var(--blue01);
}
.p-flow__box-image
{
    width: 75%;
    max-width: 120px;

    aspect-ratio: 1/1;
    order: 2;
}
.p-flow__box-image img
{
    height: 100%;

    -o-object-fit: contain;

       object-fit: contain;
}
.p-flow__arrow
{
    position: relative;
    z-index: 2;

    width: max(6.66%, 30px);
    margin: 0 calc(min(1.833vw, 22px) * -1);

    background: url(/images/top/flow_arrow01.svg) center/contain no-repeat;

    aspect-ratio: 1/1;
}
.p-flow__arrow.arrow02
{
    background-image: url(/images/top/flow_arrow02.svg);
}
.p-flow__arrow.arrow03
{
    background-image: url(/images/top/flow_arrow03.svg);
}
.p-flow .c-button
{
    max-width: 275px;
    margin: var(--m75) auto 0;
}

.p-insta
{
    padding-bottom: var(--m180);

    background-color: var(--main-white);
}
.p-insta .c-title-row
{
    margin-bottom: var(--m35);
}
.p-insta__slider-area
{
    position: relative;
    z-index: 1;
}
.p-insta__slider
{
    overflow: hidden;

    padding: 0 1%;
}
.p-insta__box-link
{
    display: block;
    overflow: hidden;

    border: 1px solid var(--gray01);

    aspect-ratio: 270/360;
}
.p-insta__box-link img
{
    height: 100%;

    -o-object-fit: cover;

       object-fit: cover;
}
.p-insta .c-button
{
    max-width: 275px;
    margin: var(--m85) auto 0;
}

.p-link-area
{
    padding-bottom: var(--m70);

    background-color: var(--main-white);
}
.p-link-area .c-title
{
    font-size: var(--fs18_30);

    margin-bottom: var(--m100);

    text-align: center;
}
.p-link-area__list
{
    display: flex;

    flex-wrap: wrap;
    grid-gap: var(--m40) 0;
    justify-content: space-between;
    align-items: flex-start;
}
.p-link-area__box
{
    width: 22.5%;
}
.p-link-area__box .c-link-bt
{
    margin-bottom: .5rem;
    padding-bottom: .15rem;

    border-bottom: 1px solid var(--gray01);
}
.p-link-area__text
{
    font-size: var(--fs14_18);
    font-weight: 500;
}
.p-link-area .c-link-bt__text
{
    font-size: var(--fs16_18);
}

/* ----------------------------------------------
　PAD以下設定
------------------------------------------------*/
.p-mv
{
    position: relative;
    z-index: 1;

    display: flex;
    overflow: hidden;

    background-color: var(--main-white);

    aspect-ratio: 1600/570;
    justify-content: center;
}
.p-mv__inner
{
    position: absolute;
    z-index: 10;
    top: 50%;

    transform: translateY(-50%);
}
.p-mv__catch
{
    margin-bottom: var(--m40);
}
.p-mv__catch-text
{
    font-size: var(--fs24_60);
    font-weight: bold;
    line-height: 1;

    display: block;

    max-width: -moz-fit-content;

    max-width: fit-content;
    padding: .25em;

    border-radius: var(--m10);
    background-color: var(--main-white);
}
.p-mv__catch-text:not(:last-of-type)
{
    margin-bottom: var(--m25);
}
.p-mv__main,
.p-mv__cell
{
    position: relative;

    overflow: hidden;

    border-radius: var(--m10);
}
.p-mv__main img,
.p-mv__cell img
{
    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;

       object-fit: cover;
}
.p-mv__main
{
    z-index: 2;
}
.p-mv__cell
{
    z-index: 1;
}
.p-mv__cell img
{
    position: absolute;

    transition: opacity 1.6s ease;

    opacity: 0;

    inset: 0;
}
.p-mv__cell img.is-active
{
    opacity: 1;
}

@media all and (min-width: 621px)
{
    .p-mv__bg
    {
        position: absolute;
        z-index: 1;
        top: 0;
        left: 50%;

        display: grid;

        width: 114.6875%;
        height: 100%;

        transform: translateX(-50%);

        gap: var(--m20) 1.25%;
        grid-template-columns: .19fr .18fr .34fr .15fr .15fr;
        grid-template-rows: repeat(2, 1fr);
    }
    .p-mv__main
    {
        grid-column: 3/4;
        grid-row: 1/3;
    }
    .p-mv__bg.is-layout-01 .sub01
    {
        grid-column: 1/2;
        grid-row: 1/3;
    }
    .p-mv__bg.is-layout-01 .sub02
    {
        grid-column: 2/3;
        grid-row: 1/2;
    }
    .p-mv__bg.is-layout-01 .sub03
    {
        grid-column: 2/3;
        grid-row: 2/3;
    }
    .p-mv__bg.is-layout-01 .sub04
    {
        grid-column: 4/6;
        grid-row: 1/2;
    }
    .p-mv__bg.is-layout-01 .sub05
    {
        grid-column: 4/5;
        grid-row: 2/3;
    }
    .p-mv__bg.is-layout-01 .sub06
    {
        grid-column: 5/6;
        grid-row: 2/3;
    }
    .p-mv__bg.is-layout-02 .sub01
    {
        grid-column: 1/3;
        grid-row: 1/2;
    }
    .p-mv__bg.is-layout-02 .sub02
    {
        grid-column: 1/2;
        grid-row: 2/3;
    }
    .p-mv__bg.is-layout-02 .sub03
    {
        grid-column: 4/5;
        grid-row: 1/2;
    }
    .p-mv__bg.is-layout-02 .sub04
    {
        grid-column: 5/6;
        grid-row: 1/3;
    }
    .p-mv__bg.is-layout-02 .sub05
    {
        grid-column: 2/3;
        grid-row: 2/3;
    }
    .p-mv__bg.is-layout-02 .sub06
    {
        grid-column: 4/5;
        grid-row: 2/3;
    }
    .p-mv__bg.is-layout-03 .sub01
    {
        grid-column: 2/3;
        grid-row: 1/2;
    }
    .p-mv__bg.is-layout-03 .sub02
    {
        grid-column: 1/2;
        grid-row: 1/3;
    }
    .p-mv__bg.is-layout-03 .sub03
    {
        grid-column: 4/6;
        grid-row: 2/3;
    }
    .p-mv__bg.is-layout-03 .sub04
    {
        grid-column: 2/3;
        grid-row: 2/3;
    }
    .p-mv__bg.is-layout-03 .sub05
    {
        grid-column: 5/6;
        grid-row: 1/2;
    }
    .p-mv__bg.is-layout-03 .sub06
    {
        grid-column: 4/5;
        grid-row: 1/2;
    }
}
@media all and (min-width: 769px)
{
    .p-benefits__bt-link:hover
    {
        background-color: var(--main-col);
    }
    .p-benefits__bt-link:hover::after
    {
        background-image: url(/images/common/arrow_w.svg);
    }
    .p-benefits__bt-link:hover .p-benefits__bt-text
    {
        color: var(--main-white);
    }
}
@media all and (max-width: 768px)
{
    .p-mv
    {
        aspect-ratio: 2/1.1;
    }
    .p-about__box
    {
        width: 49.17%;
    }
    .p-jobs__box
    {
        width: 49.17%;
    }
    .p-recruit__box-link
    {
        grid-gap: var(--m30);
    }
    .p-recruit__box-inner
    {
        width: 100%;
    }
    .p-recruit__image
    {
        width: 100%;
        max-width: 500px;
        margin: 0 auto;
    }
    .p-flow__list
    {
        position: relative;

        grid-gap: var(--m40) 0;
    }
    .p-flow__box
    {
        width: 47%;
    }
    .p-flow__arrow.arrow02
    {
        position: absolute;
        top: 20%;
        right: 0;

        margin: 0;

        transform: translateX(75%);
    }
    .p-link-area__box
    {
        width: 48%;
    }
}
/* ----------------------------------------------
　SP調整
------------------------------------------------*/
@media all and (max-width: 620px)
{
    .p-mv
    {
        aspect-ratio: unset;
    }
    .p-mv__bg
    {
        display: grid;

        width: 100%;

        grid-template-columns: repeat(3, 1fr);
        gap: 2.77vw 2%;
    }
    .p-mv__main,
    .p-mv__cell
    {
        width: auto;

        border-radius: 5px;

        aspect-ratio: 3/2;
    }
    .p-mv__main
    {
        grid-column: 1/4;
        grid-row: 2;
    }
    .p-mv__cell.sub01
    {
        grid-column: 1;
        grid-row: 1;
    }
    .p-mv__cell.sub02
    {
        grid-column: 2;
        grid-row: 1;
    }
    .p-mv__cell.sub03
    {
        grid-column: 3;
        grid-row: 1;
    }
    .p-mv__cell.sub04
    {
        grid-column: 1;
        grid-row: 3;
    }
    .p-mv__cell.sub05
    {
        grid-column: 2;
        grid-row: 3;
    }
    .p-mv__cell.sub06
    {
        grid-column: 3;
        grid-row: 3;
    }
    .p-news__title
    {
        width: 100%;
        margin-bottom: 8px;
        padding-right: 0;
        padding-bottom: 8px;

        text-align: center;

        border-right: unset;
        border-bottom: 1px solid var(--main-col);
    }
    .p-news__list
    {
        width: 100%;
        padding: 0;
    }
    .p-news__row
    {
        align-items: center;
    }
    .p-news .c-link-bt
    {
        width: 100%;
        margin-top: 8px;
        padding-top: 8px;
        padding-left: 0;

        border-top: 1px solid var(--main-col);
        border-left: unset;
    }
    .p-news .c-link-bt .c-link-bt__link
    {
        justify-content: center;
    }
    .p-about__box
    {
        width: 100%;
    }
    .p-jobs__box
    {
        width: 100%;
    }
    .p-benefits .c-title-row .c-title,
    .p-benefits .c-title-row .c-text
    {
        width: auto;
    }
    .p-flow__box-image
    {
        max-height: 70px;
    }
    .p-link-area__box
    {
        width: 100%;
    }
}
