@charset "utf-8";

/*
 * TOPページ：メインコンテンツ（intro_section / work_section）
 * 規約: html font-size 10px, rem 表記, BEM風 snake_case, クラスセレクタのみ
 * ブレークポイント: SP ~639px / Tablet 640px~959px / PC 960px~
 */


/* ========== intro_section（私たちは"笑顔の介護"を） ========== */

.intro_section {
    padding: 3rem 0 4rem;
}

.intro_section_row {
    position: relative;
    max-width: 120rem;
    margin: 0 auto;
    padding: 0 1.6rem;
}

.intro_section_inner {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.intro_section_fig {
    position: relative;
    width: 100%;
    border-radius: 1rem;
    overflow: hidden;
}

.intro_section_img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
    object-fit: cover;
}

.intro_section_body {
    flex: 1;
}

.intro_section_title {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.06em;
    color: var(--text-color, #141437);
    margin: 0 0 1.2rem;
}

.intro_section_title_right {
    text-align: left;
}

.intro_section_txt {
    font-size: 1.5rem;
    line-height: 1.8;
    letter-spacing: 0.04em;
    color: var(--text-color, #141437);
    margin: 0 0 1.6rem;
}

/* ========== gallery_section（top/bottom ジグザグ・オートスクロール） ========== */

.gallery_section {
    padding: 2rem 0 4rem;
}

@media screen and (min-width: 768px) {
    .gallery_section {
        padding: 3rem 0 6rem;
    }
}

/* ギャラリースライダー */
.gallery_section .cmn-slider {
    pointer-events: none;
}

.gallery_section .cmn-slider__slide {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 21rem;
    height: 17.8rem;
}

.gallery_section .cmn-slider__slide.cmn-slider__slide--top {
    align-items: flex-end;
}

.gallery_section .cmn-slider__slide.cmn-slider__slide--bottom {
    align-items: flex-start;
}

.gallery_section .cmn-slider__fig {
    border-radius: 1.5rem;
    overflow: hidden;
    width: 100%;
    height: 100%;
}

.gallery_section .cmn-slider__fig img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    vertical-align: bottom;
}

@media screen and (min-width: 768px) {
    .gallery_section .cmn-slider__slide {
        width: 42rem;
        height: 35.4rem;
    }

    /* ギャラリー凸凹レイアウト（PCのみ） */
    .gallery_section .splide__list > .splide__slide:nth-child(even) {
        margin-top: 6rem;
    }

    .gallery_section .cmn-slider__fig {
        border-radius: 2rem;
    }
}

/* Tablet: 640px ~ 959px */
@media screen and (min-width: 640px) {
    .intro_section {
        padding: 4rem 0 5rem;
    }

    .intro_section_row {
        padding: 0 2.4rem;
    }

    .intro_section_inner {
        flex-direction: row;
        align-items: center;
        gap: 2.4rem;
    }

    .intro_section_fig {
        width: 42%;
        flex-shrink: 0;
    }


    .intro_section_title {
        font-size: 2.2rem;
        margin-bottom: 1.4rem;
    }

    .intro_section_txt {
        font-size: 1.6rem;
        margin-bottom: 1.8rem;
    }
}

/* PC: 960px ~ */
@media screen and (min-width: 960px) {
    .intro_section {
        padding: 2rem 0 6rem;
    }

    .intro_section_row {
        padding: 0 4rem;
    }

    .intro_section_inner {
        gap: 4rem;
    }

    .intro_section_fig {
        width: 56.9rem;
        max-width: 48%;
    }

    .intro_section_title {
        font-size: clamp(2.6rem, 2.8vw, 3.6rem);
        margin-bottom: 1.2rem;
    }

    .intro_section_txt {
        font-size: 1.6rem;
        line-height: 1.8;
        margin-bottom: 2rem;
    }
}

/* ========== work_section（訪問介護ってどんなお仕事） ========== */

.work_section {
    padding: 3rem 0 4rem;
}

.work_section_inner {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    max-width: 120rem;
    margin: 0 auto;
    padding: 0 1.6rem;
}

.work_section_text {
    flex: 1;
}

.work_section_title {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.06em;
    color: var(--text-color, #141437);
    margin: 0 0 1.2rem;
}

.work_section_txt {
    font-size: 1.5rem;
    line-height: 1.8;
    letter-spacing: 0.04em;
    color: var(--text-color, #141437);
    margin: 0 0 1.6rem;
}

.work_section_sub_ttl {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--text-color, #141437);
    margin: 2rem 0 1rem;
    padding-bottom: 0.4rem;
    border-bottom: 2px solid var(--primary-color, #ff8a00);
}

.work_section_faq {
    margin: 0;
    padding: 0;
    list-style: none;
}

.work_section_faq_item {
    margin-bottom: 0;
}

.work_section_faq dt {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--text-color, #141437);
    margin: 1rem 0 0.4rem;
    padding-left: 1rem;
    border-left: 3px solid var(--primary-color, #ff8a00);
}

.work_section_faq dd {
    font-size: 1.4rem;
    line-height: 1.7;
    color: #555;
    margin: 0 0 0 1rem;
    padding: 0 0 0 1rem;
}

.work_section_more_lead {
    font-size: 1.4rem;
    color: #555;
    margin: 1.6rem 0 0.8rem;
}

/* work_section_bottom：カラム下の未経験OK・FAQ・Read more */
.work_section_bottom {
    width: 100%;
    margin: 0 auto;
    padding: 3rem 1.6rem 3.2rem;
}

.work_section_bottom_inner {
    max-width: 120rem;
    margin: 0 auto;
}

/* 未経験OK・資格取得サポート（画像＋テキスト・強みとして強調） */
.work_section_support {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-bottom: 3rem;
}

.work_section_support_fig {
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 1rem;
    aspect-ratio: 4 / 3;
}

.work_section_support_img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.work_section_support_body {
    flex: 1;
}

.work_section_support_label {
    display: inline-block;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--primary-color, #ff8a00);
    margin: 0 0 0.8rem;
    padding: 0.4rem 1rem;
    border: 2px solid var(--primary-color, #ff8a00);
    border-radius: 999px;
}

.work_section_bottom .work_section_support_body .work_section_sub_ttl {
    margin-top: 0;
    font-size: 1.75rem;
    padding-bottom: 0.6rem;
    border-bottom-width: 3px;
}

.work_section_bottom_txt {
    font-size: 1.5rem;
    line-height: 1.9;
    letter-spacing: 0.04em;
    color: var(--text-color, #141437);
    margin: 0 0 2rem;
}

.work_section_support_body .work_section_bottom_txt {
    margin-bottom: 0;
}

/* FAQ カード風デザイン */
.work_section_bottom .work_section_faq {
    margin: 2rem 0 2.4rem;
}

.work_section_bottom .work_section_faq_item {
    background: #fff;
    border-radius: 0.8rem;
    padding: 1.4rem 1.6rem 1.4rem 1.8rem;
    margin-bottom: 1rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(255, 138, 0, 0.15);
}

.work_section_bottom .work_section_faq_item:last-of-type {
    margin-bottom: 0;
}

.work_section_bottom .work_section_faq dt {
    font-size: 1.5rem;
    margin: 0 0 0.6rem;
    padding-left: 1.2rem;
    border-left: 4px solid var(--primary-color, #ff8a00);
    line-height: 1.5;
}

.work_section_bottom .work_section_faq dd {
    font-size: 1.4rem;
    line-height: 1.75;
    margin: 0 0 0 1.2rem;
    padding: 0 0 0 1.2rem;
}

.work_section_bottom .work_section_more_lead {
    font-size: 1.5rem;
    margin: 2rem 0 1rem;
    text-align: center;
}

.work_section_bottom .work_section_btn_wrap {
    margin-top: 1.6rem;
    text-align: center;
}

.work_section_btn_wrap {
    margin-top: 0.4rem;
    text-align: center;
}

.work_section_btn {
    display: block;
    width: fit-content;
    margin: auto;
    align-items: center;
    justify-content: space-between;
    min-width: 20rem;
    padding: 1.2rem 1.6rem 1.2rem 2rem;
    border: 2px solid var(--primary-color, #ff8a00);
    border-radius: 999px;
    background: var(--primary-color, #ff8a00);
    color: #fff;
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-decoration: none;
    transition: opacity 0.25s ease;
}

.work_section_btn_icon {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin-left: 0.6rem;
    background: url("../image/common/ic_arrow_vf3afd577ce609d332f977d52a4efd74e.svg") no-repeat center;
    background-size: contain;
}

@media (hover: hover) {
    .work_section_btn:hover {
        opacity: 0.9;
    }
}

.work_section_media {
    overflow: hidden;
    margin: 0 calc(50% - 50vw);
}

.work_section_slider {
    overflow: hidden;
}

.work_section_slider .swiper-wrapper {
    transition-timing-function: linear;
}

.work_section_slide {
    height: auto;
}

.work_section_slide_fig {
    margin: 0;
    /* aspect-ratio: 1201 / 1601; */
    overflow: hidden;
    border-radius: 1rem;
}

.work_section_slide_img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* #job-slider：既存のSwiper初期化に合わせて高さを確保 */
#job-slider {
    overflow: hidden;
}

#job-slider .swiper-slide {
    height: auto;
}

/* Tablet: 640px ~ 959px */
@media screen and (min-width: 640px) {
    .work_section {
        padding: 4rem 0 5rem;
    }

    .work_section_inner {
        padding: 0 2.4rem;
        gap: 3rem;
    }

    .work_section_title {
        font-size: 2.2rem;
        margin-bottom: 2rem;
    }

    .work_section_txt {
        font-size: 1.6rem;
        margin-bottom: 1.8rem;
    }

    .work_section_bottom {
        padding: 4rem 2.4rem 4rem;
    }

    .work_section_support {
        flex-direction: row;
        align-items: center;
        gap: 2.4rem;
    }

    .work_section_support_fig {
        width: 42%;
        max-width: 48rem;
        aspect-ratio: 4 / 5;
    }

    .work_section_support_body {
        width: 58%;
    }

    .work_section_bottom .work_section_support_body .work_section_sub_ttl {
        font-size: 2rem;
    }

    .work_section_bottom_txt {
        font-size: 1.6rem;
    }

    .work_section_bottom .work_section_faq_item {
        padding: 1.6rem 1.8rem 1.6rem 2rem;
    }

    .work_section_bottom .work_section_faq dt {
        font-size: 1.55rem;
    }

    .work_section_bottom .work_section_faq dd {
        font-size: 1.45rem;
    }
}

/* PC: 960px ~ */
@media screen and (min-width: 960px) {
    .work_section {
        padding: 5rem 0 10rem;
    }

    .work_section_inner {
        flex-direction: row;
        align-items: center;
        gap: 3rem;
        padding: 0 4rem;
        max-width: 131.2rem;
        margin-left: auto;
        margin-right: auto;
    }

    .work_section_text {
        width: 50%;
        flex-shrink: 0;
        letter-spacing: 0.1em;
    }

    .work_section_title {
        font-size: clamp(2.6rem, 2.8vw, 3.6rem);
        margin-bottom: 3rem;
    }

    .work_section_txt {
        font-size: 1.6rem;
        line-height: 1.8;
        margin-bottom: 0;
    }

    .work_section_bottom {
        padding: 5rem 4rem 5rem;
    }

    .work_section_support {
        margin-bottom: 4rem;
        gap: 3rem;
    }

    .work_section_bottom .work_section_support_body .work_section_sub_ttl {
        font-size: 2.2rem;
    }

    .work_section_bottom .work_section_faq_item {
        padding: 1.8rem 2rem 1.8rem 2.2rem;
        margin-bottom: 1.2rem;
    }

    .work_section_bottom .work_section_faq_item:hover {
        box-shadow: 0 4px 16px rgba(255, 138, 0, 0.08);
        border-color: rgba(255, 138, 0, 0.25);
    }

    .work_section_bottom .work_section_btn_wrap {
        margin-top: 2rem;
        text-align: center;
    }

    .work_section_btn {
        min-width: 20rem;
        padding: 1.4rem 2rem 1.4rem 2.4rem;
        font-size: 1.6rem;
        letter-spacing: 0.16em;
    }

    .work_section_media {
        width: calc(50% - 3rem);
        border-radius: 1rem;
        flex: 1;
        min-width: 0;
        margin: 0;
    }

    .work_section_slide_fig {
        border-radius: 1rem;
    }
}

/* ========== style.css から移動（メインコンテンツ・正） ========== */
@media (min-width:1512px), print {
    .main:before {
        z-index: 15
    }

    .main:after {
        display: none
    }

    .main__inner {
        padding-top: 0;
        margin-bottom: 0
    }

    .main__inner .icon-arrow01 {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 60px;
        height: 40px;
        flex-shrink: 0;
        margin-left: 20px;
        border-radius: 100px;
        background: var(--primary-color);
        z-index: 2;
        transition: transform .3s;
        will-change: transform
    }

    .main__inner .icon-arrow01:before {
        content: "";
        display: block;
        width: 16px;
        height: 16px;
        background: url("../image/common/ic_forward_white_v6550ccfdb27974fcf5859e331fa7519a.svg")no-repeat;
        background-size: 100% 100%
    }

    .main-visual {
        position: relative;
        z-index: 10;
        min-height: 55.75vw
    }

    .main-visual--title video {
        display: block;
        width: 100%
    }

    .main-visual:before {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../image/top/pattern_01_vcc48c8b7cc24e06f0bd0cd1e21710f7b.webp");
        background-size: 1024px;
        opacity: .25;
        z-index: -1
    }

    .main-visual .ill-main {
        position: absolute;
        bottom: -91px;
        right: 0;
        width: 632px;
        height: 545px
    }

    .main-visual .ill-main.active .ill-img {
        animation: rightToLeft 1s forwards
    }

    .main-visual .ill-main.active .ill-img-04 {
        animation-delay: .2s
    }

    .main-visual .ill-main.active .ill-img-03 {
        animation-delay: .4s
    }

    .main-visual .ill-main.active .ill-img-02 {
        animation-delay: .5s
    }

    .main-visual .ill-main.active .ill-img-01 {
        animation-delay: .8s
    }

    .main-visual .ill-main .ill-img {
        position: absolute;
        opacity: 0
    }

    .main-visual .ill-main .ill-img-01 {
        top: 77px;
        right: 0;
        width: 344px;
        height: 245px;
        background: url("../image/top/ill_main_01_ve1d6c9cc251fae354f21e49bab33ea2e.webp")no-repeat;
        background-size: 344px 245px
    }

    .main-visual .ill-main .ill-img-02 {
        bottom: 5px;
        right: 0;
        width: 240px;
        height: 161px;
        background: url("../image/top/ill_main_02_v065106f78b8981342a79e00f0a136f56.webp")no-repeat;
        background-size: 240px 161px
    }

    .main-visual .ill-main .ill-img-03 {
        top: 0;
        right: 0;
        width: 101px;
        height: 191px;
        background: url("../image/top/ill_main_03_v364018e95adbc769a8085559fb2c47e2.webp")no-repeat;
        background-size: 101px 191px
    }

    .main-visual .ill-main .ill-img-04 {
        bottom: 16px;
        right: 0;
        width: 632px;
        height: 482px;
        background: url("../image/top/ill_main_04_v5e0d25ec074fe5a3167d8b4e032dcb94.webp")no-repeat;
        background-size: 632px 482px
    }

    .main-visual .ill-main .ill-img-05 {
        bottom: 64px;
        right: 0;
        width: 495px;
        height: 329px;
        background: url("../image/top/ill_main_05_v4cfcfab6bffa04f7501cb76e9ffa7898.webp")no-repeat;
        background-size: 495px 329px
    }

    .bnr-fixed {
        position: fixed;
        bottom: 36px;
        right: 36px;
        z-index: 100;
        transition: opacity .5s, visibility .5s;
        will-change: opacity, visibility
    }

    .bnr-fixed.fixed {
        position: fixed
    }

    .bnr-fixed.hide {
        opacity: 0;
        visibility: hidden
    }

    .bnr-fixed .bnr-close {
        position: absolute;
        top: -16px;
        right: -14px;
        width: 30px;
        height: 30px;
        background: url("../image/top/close_fix_v2af32e01995f1f3b60f385b45016522d.webp")no-repeat;
        background-size: cover;
        z-index: 2;
        border-radius: 50%;
        cursor: pointer
    }

    .bnr-fixed .bnr-wrap {
        background-color: #fff;
        border-radius: 10px;
        box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, .2)
    }

    .bnr-fixed .bnr-link {
        display: block;
        width: 390px
    }

    .block-title {
        font-size: 4rem;
        font-weight: 700;
        line-height: 1.4;
        letter-spacing: .1em;
        text-align: center;
        margin-bottom: 62px
    }

    .text-left {
        text-align: left
    }

    .text-right {
        text-align: right
    }

    .text-center {
        text-align: center
    }

    .head-text {
        position: relative;
        padding: 162px 0 670px;
        background-color: #fff;
        text-align: center;
        z-index: 2
    }

    .head-text .ill-head .ill-img {
        position: absolute;
        top: 52px;
        left: 0;
        width: 192px;
        height: 196px;
        background: url("../image/top/ill03_v6973ba31793b56eaf0e69cdf801eb0df.webp")no-repeat;
        background-size: 192px 196px;
        opacity: 0
    }

    .head-text .ill-head.active .ill-img {
        animation: leftToRight 1s forwards
    }

    .head-text .ill-bottom-01 {
        position: absolute;
        bottom: 356px;
        right: 0;
        width: 1433px;
        height: 243px
    }

    .head-text .ill-bottom-01 .ill-img {
        position: absolute;
        opacity: 0
    }

    .head-text .ill-bottom-01 .ill-img-01 {
        top: 0;
        left: 0;
        width: 1180px;
        height: 212px;
        background: url("../image/top/ill_u05_va400639b18c382fe648f7ba1d6b56b75.webp")no-repeat;
        background-size: 1180px 212px
    }

    .head-text .ill-bottom-01 .ill-img-02 {
        bottom: 0;
        right: 0;
        width: 540px;
        height: 137px;
        background: url("../image/top/ill_u06_vfe88f42b9fd42b61de2ab69af7845c0f.webp")no-repeat;
        background-size: 540px 137px
    }

    .head-text .ill-bottom-01.active .ill-img {
        animation: rightToLeft02 1s forwards
    }

    .head-text .ill-bottom-01.active .ill-img-02 {
        animation-delay: .2s
    }

    .head-text .ill-bottom-02 {
        position: absolute;
        bottom: 115px;
        left: 0;
        width: 1381px;
        height: 817px
    }

    .head-text .ill-bottom-02 .ill-img {
        position: absolute;
        opacity: 0
    }

    .head-text .ill-bottom-02 .ill-img-01 {
        top: 0;
        left: 0;
        width: 157px;
        height: 184px;
        background: url("../image/top/ill_u01_v69dddc43ce4be08ca9b59bd3c68f797d.webp")no-repeat;
        background-size: 157px 184px
    }

    .head-text .ill-bottom-02 .ill-img-02 {
        top: 180px;
        left: 0;
        width: 753px;
        height: 419px;
        background: url("../image/top/ill_u02_vaa01c2e1ba038fb986e4909d45c6101c.webp")no-repeat;
        background-size: 753px 419px
    }

    .head-text .ill-bottom-02 .ill-img-03 {
        top: 293px;
        left: 0;
        width: 204px;
        height: 149px;
        background: url("../image/top/ill_u03_vdb446a7a09c16ce4be22e1d4ccd7a9e1.webp")no-repeat;
        background-size: 204px 149px
    }

    .head-text .ill-bottom-02 .ill-img-04 {
        bottom: 0;
        right: 0;
        width: 681px;
        height: 199px;
        background: url("../image/top/ill_u04_v8e46b8f771bcc0ce08a68e2c4434780e.webp")no-repeat;
        background-size: 681px 199px
    }

    .head-text .ill-bottom-02.active .ill-img {
        animation: leftToRight 1s forwards
    }

    .head-text .ill-bottom-02.active .ill-img-02 {
        animation-delay: .2s
    }

    .head-text .ill-bottom-02.active .ill-img-03 {
        animation-delay: .4s
    }

    .head-text .ill-bottom-02.active .ill-img-04 {
        animation-delay: .6s
    }

    .head-text .text-catch {
        font-size: 3.2rem;
        font-weight: 700;
        line-height: 2
    }

    .head-text .text-catch+.text-catch {
        margin-top: 64px
    }

    .head-text .text-catch .hl {
        text-decoration: underline;
        text-decoration-thickness: .4em;
        text-decoration-color: #ffeb00;
        text-underline-offset: -.1em;
        -webkit-text-decoration-skip-ink: none;
        text-decoration-skip-ink: none
    }

    .text-u {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 73px
    }

    .text-u .t-para span {
        display: block;
        font-size: 3.065rem;
        font-weight: 700;
        line-height: 1.6
    }

    .text-u .t-img {
        width: 119px;
        margin-top: 8px;
        margin-left: 18px
    }

    .block-news {
        background-color: #fff;
        padding-bottom: 353px;
        padding-top: 86px
    }

    .block-news .row {
        position: relative;
        max-width: 1312px;
        z-index: 2
    }

    .block-news .row:before {
        content: "";
        position: absolute;
        top: -91px;
        left: 392px;
        width: 165px;
        height: 103px;
        background: url("../image/top/ill06_v862c7edd7752498016ecf10c15261ff9.webp")no-repeat;
        background-size: 165px 103px;
        z-index: -1;
        opacity: 0
    }

    .block-news.active .row:before {
        animation: leftToRight 1s forwards
    }

    .list-news .item {
        display: flex;
        border-top: 1px solid #141437;
        padding: 39px 10px
    }

    .list-news .item:last-of-type {
        border-bottom: 1px solid #141437
    }

    .list-news .item-catch {
        width: 190px;
        font-size: 2.4rem;
        font-weight: 700;
        line-height: 1.4
    }

    .list-news .item-text {
        display: flex;
        align-items: center;
        flex: 1
    }

    .list-news .item-list {
        flex: 1
    }

    .list-news .item-list li:not(:last-of-type) {
        padding-bottom: 28px
    }

    .list-news .item-list li:not(:first-of-type) {
        padding-top: 28px;
        border-top: 1px solid #cadbe0
    }

    .list-news .item-list li a {
        display: inline-flex;
        align-items: center
    }

    .list-news .item-list li .date {
        font-family: var(--font-en);
        font-size: 1.8rem;
        font-weight: 400;
        letter-spacing: .05em;
        color: #8d8d9a;
        margin-right: 40px
    }

    .list-news .item-list li .labels {
        font-size: 1.6rem;
        letter-spacing: .08em;
        margin-right: 20px
    }

    .list-news .item-list li .labels .lb {
        background-color: var(--second-color);
        color: #fff;
        border: 1px solid var(--second-color)
    }

    .list-news .item-list li .labels span {
        display: inline-block;
        text-align: center;
        min-width: 55px;
        padding: 0 7px;
        border-radius: 4px;
        border: 1px solid;
        color: var(--third-color)
    }

    .list-news .item-list li .text {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
        overflow: hidden;
        font-size: 2.2rem
    }

    .list-news .item-link {
        margin-left: 22px
    }

    @media (hover:hover) {
        .list-news .item-link a:not(.disabled):hover {
            opacity: 1;
            transform: translateX(10px)
        }
    }

    .block-thought {
        position: relative;
        padding-bottom: 240px;
        z-index: 5
    }



    .block-thought .ill {
        position: absolute;
        top: -281px;
        left: 0;
        width: 822px;
        height: 541px
    }

    .block-thought .ill .ill-img {
        position: absolute;
        opacity: 0
    }

    .block-thought .ill .ill-img-01 {
        bottom: 98px;
        right: 0;
        width: 493px;
        height: 212px;
        background: url("../image/top/ill_thought_01_v20fad4ad0cf8a0cb029d4b24faa6b38a.webp")no-repeat;
        background-size: 493px 212px
    }

    .block-thought .ill .ill-img-02 {
        top: 0;
        left: 0;
        width: 607px;
        height: 541px;
        background: url("../image/top/ill_thought_02_v56194e7589c2f25af12f6081e9aa23f4.webp")no-repeat;
        background-size: 607px 541px
    }

    .block-thought .ill .ill-img-03 {
        top: 80px;
        left: 0;
        width: 307px;
        height: 433px;
        background: url("../image/top/ill_thought_03_vdc9537f45755bb081415c25870975081.webp")no-repeat;
        background-size: 307px 433px
    }

    .block-thought .ill.active .ill-img {
        animation: leftToRight 1s forwards
    }

    .block-thought .ill.active .ill-img-02 {
        animation-delay: .2s
    }

    .block-thought .ill.active .ill-img-03 {
        animation-delay: .4s
    }

    .block-thought .row {
        position: relative;
        z-index: 2
    }

    .block-thought.active .row:before {
        animation: rightToLeft02 1s forwards
    }

    .block-thought .image-link {
        margin-top: 82px
    }

    .image-link {
        display: flex
    }

    .image-link .image {
        position: relative;
        width: 569px;
        border-radius: 10px;
        overflow: hidden;
        perspective: 1px;
        margin-right: 100px
    }

    .image-link .image:after {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../image/top/pattern_01_vcc48c8b7cc24e06f0bd0cd1e21710f7b.webp");
        background-size: 1024px;
        opacity: .2
    }

    .image-link .box-link {
        flex: 1
    }

    .image-link .box-link .list-link {
        margin-bottom: 65px
    }

    .image-link .box-link .list-link .item {
        padding: 43px 0 46px;
        border-top: 1px solid #141437
    }

    .image-link .box-link .list-link .item:last-of-type {
        border-bottom: 1px solid #141437
    }

    .image-link .box-link .list-link .item .icon-arrow01 {
        margin-top: 2px
    }

    .image-link .box-link .list-link a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 3.2rem;
        font-weight: 700;
        line-height: 1.6;
        letter-spacing: .16em
    }

    @media (hover:hover) {
        .image-link .box-link .list-link a:not(.disabled):hover {
            opacity: 1
        }

        .image-link .box-link .list-link a:not(.disabled):hover .icon-arrow01 {
            transform: translateX(10px)
        }
    }

    .block-articles {
        position: relative;
        padding-top: 36px;
        padding-bottom: 190px
    }

    .block-articles:before {
        content: "";
        position: absolute;
        top: 0;
        left: calc((100% - 1200px)/2);
        margin-left: 356px;
        width: 175px;
        height: 87px;
        background: url("../image/top/ill09_vafd6e7c1b5a7617d2353dbacfab90d1b.webp")no-repeat;
        background-size: 175px 87px;
        z-index: -1;
        opacity: 0
    }

    .block-articles .ill {
        position: absolute;
        top: -68px;
        right: 0;
        width: 315px;
        height: 447px
    }

    .block-articles .ill .ill-img {
        position: absolute;
        opacity: 0
    }

    .block-articles .ill .ill-img-01 {
        top: 0;
        right: 0;
        width: 192px;
        height: 239px;
        background: url("../image/top/ill_articles_01_ve58a6b35c9813b2d0eafd423a41eda2c.webp")no-repeat;
        background-size: 192px 239px
    }

    .block-articles .ill .ill-img-02 {
        bottom: 0;
        right: 0;
        width: 315px;
        height: 253px;
        background: url("../image/top/ill_articles_02_v8cb7127ba140586870964b3afaf1dd70.webp")no-repeat;
        background-size: 315px 253px
    }

    .block-articles.active:before {
        animation: leftToRight 1s forwards
    }

    .block-articles.active .ill-img {
        animation: rightToLeft02 1s forwards
    }

    .block-articles.active .ill-img-02 {
        animation-delay: .2s
    }

    .block-articles .block-title {
        margin-bottom: 12px
    }

    .box-articles {
        max-width: 1950px;
        padding-bottom: 50px;
        padding-top: 50px
    }

    .box-articles .swiper-slide {
        backface-visibility: hidden;
        transform: scale(.625) translate3d(0, 0, 0);
        transition: all .6s
    }

    .box-articles .swiper-slide-next {
        transform: scale(.625) translate3d(-18%, 0, 0)
    }

    .box-articles .swiper-slide-prev {
        transform: scale(.625) translate3d(18%, 0, 0)
    }

    .box-articles .swiper-slide-active {
        transform: scale(1) translate3d(0, 0, 0)
    }

    .box-articles .swiper-slide-duplicate-active {
        transform: scale(1) translate3d(0, 0, 0) !important;
        transition: all .6s !important
    }

    .box-articles .swiper-button-prev, .box-articles .swiper-button-next {
        width: 120px;
        height: 120px;
        background-color: var(--second-color);
        border-radius: 100%;
        margin-top: -60px
    }

    .box-articles .swiper-button-prev:after, .box-articles .swiper-button-next:after {
        font-size: 2.7rem;
        color: #fff
    }

    .box-articles .swiper-button-prev {
        left: calc((100% - 980px)/2)
    }

    .box-articles .swiper-button-next {
        right: calc((100% - 980px)/2)
    }

    .list-article .item {
        width: 800px;
        box-shadow: 4px 4px 20px 0 rgba(0, 0, 0, .2);
        border-radius: 10px
    }

    .list-article .item a {
        display: block
    }

    .block-job {
        padding-bottom: 100px;
        position: relative;
        z-index: 5
    }

    .block-job .ill {
        position: absolute;
        top: -136px;
        left: 0;
        width: 564px;
        height: 378px
    }

    .block-job .ill .ill-img {
        position: absolute;
        opacity: 0
    }

    .block-job .ill .ill-img-01 {
        bottom: 0;
        left: 0;
        width: 564px;
        height: 243px;
        background: url("../image/top/ill_job_01_vb5b928acbf60fb71f3cf0d93d1b01f20.webp")no-repeat;
        background-size: 564px 243px
    }

    .block-job .ill .ill-img-02 {
        top: 0;
        left: 0;
        width: 270px;
        height: 267px;
        background: url("../image/top/ill_job_02_ve5fc14bd3a5552fbc23cdf5c4a9d6c95.webp")no-repeat;
        background-size: 270px 267px
    }

    .block-job.active .ill-img {
        animation: leftToRight 1s forwards
    }

    .block-job.active .ill-img-02 {
        animation-delay: .2s
    }

    .block-job .text-image {
        display: flex;
        align-items: flex-end
    }

    .block-job .text-image .text {
        position: relative;
        width: 400px;
        flex-shrink: 0;
        margin-right: 138px;
        margin-left: calc((100% - 1312px)/2);
        letter-spacing: .1em
    }

    .block-job .text-image .text .block-title {
        margin-bottom: 72px
    }

    .block-job .text-image .text .txt {
        line-height: 1.8
    }

    .block-job .text-image .text .box-btn {
        margin-top: 70px
    }

    .block-job .text-image .text.active:before {
        animation: rightToLeft 1s forwards
    }

    .block-job .text-image .image {
        overflow: hidden;
        border-radius: 10px 0 0 10px
    }

    .block-job .text-image .image .list-image {
        display: flex
    }

    .block-job .text-image .image .list-image .item {
        width: 600px;
        flex-shrink: 0;
        border-radius: 10px;
        overflow: hidden;
        perspective: 1px;
        position: relative
    }

    .block-job .text-image .image .list-image .item:after {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../image/top/pattern_01_vcc48c8b7cc24e06f0bd0cd1e21710f7b.webp");
        background-size: 1024px;
        opacity: .2
    }

    .block-job .text-image .image .list-image .item {
        margin-right: 20px
    }

    .block-job .swiper-wrapper {
        transition-timing-function: linear !important
    }

    .block-peers {
        position: relative;
        padding-top: 160px;
        padding-bottom: 268px
    }

    .block-peers .ill {
        position: absolute;
        top: -420px;
        right: 0;
        width: 1296px;
        height: 624px
    }

    .block-peers .ill .ill-img {
        position: absolute;
        opacity: 0
    }

    .block-peers .ill .ill-img-01 {
        top: 0;
        right: 0;
        width: 494px;
        height: 504px;
        background: url("../image/top/ill_peers_01_v0cf87bff3e9e2a41c49cb48c51953d1a.webp")no-repeat;
        background-size: 494px 504px
    }

    .block-peers .ill .ill-img-02 {
        top: 284px;
        right: 0;
        width: 1036px;
        height: 213px;
        background: url("../image/top/ill_peers_02_v13c2d0026034683bc09523c77a96ba5d.webp")no-repeat;
        background-size: 1036px 213px
    }

    .block-peers .ill .ill-img-03 {
        bottom: 0;
        left: 0;
        width: 583px;
        height: 122px;
        background: url("../image/top/ill_peers_03_v9dd20d8ef9ce1e3ffaf4e53f762926ff.webp")no-repeat;
        background-size: 583px 122px
    }

    .block-peers .ill.active .ill-img {
        animation: rightToLeft02 1s forwards
    }

    .block-peers .ill.active .ill-img-02 {
        animation-delay: .2s
    }

    .block-peers .ill.active .ill-img-03 {
        animation-delay: .4s
    }

    .block-peers .row {
        position: relative;
        max-width: 1312px
    }

    .block-peers .row:before {
        content: "";
        position: absolute;
        top: -61px;
        right: 16px;
        width: 140px;
        height: 96px;
        background: url("../image/top/ill14_v317b6b48286733f1dd6e802fbd03be72.webp")no-repeat;
        background-size: 140px 96px;
        z-index: -1;
        opacity: 0
    }

    .block-peers.active .row:before {
        animation: leftToRight 1s forwards
    }

    .block-peers .block-title {
        margin-bottom: 82px
    }

    .block-peers .peers-box {
        margin-left: calc((100% - 1312px)/2);
        margin-bottom: 40px
    }

    .block-peers .peers-wrap {
        overflow-x: auto;
        -webkit-user-select: none;
        -ms-user-select: none;
        user-select: none;
        cursor: grab;
        -webkit-overflow-scrolling: touch
    }

    .block-peers .peers-wrap.active {
        cursor: grabbing
    }

    .block-peers .peers-wrap.active .item-link {
        pointer-events: none
    }

    .block-peers .peers-wrap::-webkit-scrollbar {
        height: 10px
    }

    .block-peers .peers-wrap::-webkit-scrollbar-track {
        background: #fff;
        border-radius: 10px;
        overflow: hidden
    }

    .block-peers .peers-wrap::-webkit-scrollbar-thumb {
        background: var(--primary-color);
        border-radius: 10px;
        overflow: hidden
    }

    .block-peers .list-peers {
        display: inline-flex;
        margin-bottom: 40px;
        padding-right: 100px
    }

    .block-peers .list-peers .item {
        width: 360px;
        flex-shrink: 0
    }

    .block-peers .list-peers .item:not(:last-child) {
        margin-right: 80px
    }

    .block-peers .list-peers .item:nth-child(2n) {
        margin-top: 70px
    }

    .block-peers .list-peers .item-link {
        display: block
    }

    @media (hover:hover) {
        .block-peers .list-peers .item-link:not(.disabled):hover .icon-arrow01 {
            transform: translateX(10px)
        }
    }

    .block-peers .list-peers .item-image {
        position: relative;
        border-radius: 10px;
        overflow: hidden;
        margin-bottom: 30px
    }

    .block-peers .list-peers .item-image:after {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../image/top/pattern_01_vcc48c8b7cc24e06f0bd0cd1e21710f7b.webp");
        background-size: 1024px;
        opacity: .2
    }

    .block-peers .list-peers .item-image .info {
        position: absolute;
        bottom: 0;
        right: 0;
        z-index: 2;
        background-color: #fff;
        border-top-left-radius: 20px;
        width: 267px;
        padding: 23px 10px 12px 30px
    }

    .block-peers .list-peers .item-image .year {
        font-size: 1.6rem;
        letter-spacing: .1em;
        margin-bottom: 8px
    }

    .block-peers .list-peers .item-image .position {
        font-size: 2rem;
        font-weight: 700;
        letter-spacing: .08em;
        line-height: 1.6
    }

    .block-peers .list-peers .item-text {
        font-size: 1.8rem;
        font-weight: 700;
        line-height: 1.8;
        letter-spacing: .1em;
        margin-bottom: 30px
    }

    .block-peers .list-peers .item-footer {
        border-top: 1px solid #333;
        padding-top: 15px;
        display: flex;
        justify-content: space-between
    }

    .block-peers .list-peers .item-footer .job-name {
        font-size: 2.8rem;
        font-weight: 700;
        letter-spacing: .16em
    }

    .block-peers .list-peers .item-footer .icon-arrow01 {
        margin-top: 4px
    }

    .block-environment {
        position: relative;
        padding-top: 15px;
        padding-bottom: 177px
    }

    .block-environment .ill {
        position: absolute;
        top: -348px;
        left: 0;
        width: 525px;
        height: 410px
    }

    .block-environment .ill .ill-img {
        position: absolute;
        opacity: 0
    }

    .block-environment .ill .ill-img-01 {
        top: 0;
        left: 0;
        width: 259px;
        height: 325px;
        background: url("../image/top/ill_environment_01_v2ee4a2c4acd243820a3ce5d0b6d0587f.webp")no-repeat;
        background-size: 259px 325px
    }

    .block-environment .ill .ill-img-02 {
        bottom: 0;
        left: 0;
        width: 405px;
        height: 192px;
        background: url("../image/top/ill_environment_02_ve8cefca94baf55f835935b8c77c45cdd.webp")no-repeat;
        background-size: 405px 192px
    }

    .block-environment .ill .ill-img-03 {
        top: 207px;
        right: 0;
        width: 206px;
        height: 65px;
        background: url("../image/top/ill_environment_03_vb3d7b37c764ef6a930d2bd92dd76b466.webp")no-repeat;
        background-size: 206px 65px
    }

    .block-environment .ill.active .ill-img {
        animation: leftToRight 1s forwards
    }

    .block-environment .ill.active .ill-img-02 {
        animation-delay: .2s
    }

    .block-environment .ill.active .ill-img-03 {
        animation-delay: .4s
    }

    .block-environment .row {
        position: relative
    }

    .block-environment .row:before {
        content: "";
        position: absolute;
        top: -15px;
        left: 360px;
        width: 135px;
        height: 136px;
        background: url("../image/top/ill16_vcfbf59192c65367aaba7125e34f5e52d.webp")no-repeat;
        background-size: 135px 136px;
        z-index: -1;
        opacity: 0
    }

    .block-environment.active .row:before {
        animation: rightToLeft02 1s forwards
    }

    .block-environment .block-title {
        margin-bottom: 80px
    }

    .block-environment .list-col {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        margin: 0 52px 122px;
        gap: 96px
    }

    .block-environment .list-col .item-link {
        display: block
    }

    @media (hover:hover) {
        .block-environment .list-col .item-link:not(.disabled):hover .icon-arrow01 {
            transform: translateX(10px)
        }
    }

    .block-environment .list-col .item .image {
        position: relative;
        border-radius: 100%;
        overflow: hidden;
        margin-bottom: 47px
    }

    .block-environment .list-col .item .image:after {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../image/top/pattern_01_vcc48c8b7cc24e06f0bd0cd1e21710f7b.webp");
        background-size: 1024px;
        opacity: .2
    }

    .block-environment .list-col .item .catch {
        font-size: 4.8rem;
        font-weight: 700;
        text-align: center;
        margin-bottom: 45px
    }

    .block-environment .list-col .item .text {
        margin: 0 5px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center
    }

    .block-environment .list-col .item .text-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 2.4rem;
        font-weight: 700;
        letter-spacing: .13em;
        line-height: 1.6;
        border-top: 1px solid #333;
        padding-top: 18px
    }

    .box-faq {
        max-width: 900px;
        margin: 0 auto
    }

    .box-faq__link {
        display: flex;
        align-items: center;
        gap: 55px;
        background-color: #fff;
        border-radius: 20px;
        overflow: hidden;
        padding: 30px
    }

    .box-faq__link .image {
        width: 240px;
        height: 160px;
        flex-shrink: 0
    }

    .box-faq__link .image img {
        border-radius: 4px
    }

    .box-faq__link .text {
        display: flex;
        align-items: center;
        font-size: 4rem;
        font-weight: 700;
        letter-spacing: .16em;
        margin-bottom: 6px
    }

    .box-faq__link .text .icon-arrow01 {
        margin-left: 44px;
        margin-top: 3px
    }

    @media (hover:hover) {
        .box-faq__link:hover .icon-arrow01 {
            transform: translateX(10px)
        }
    }

    .block-calendar {
        position: relative;
        z-index: 2;
        background-color: #fff;
        padding-top: 480px;
        padding-bottom: 125px
    }

    .block-calendar:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 183px;
        background: url("../image/top/border_02_v19f61b6f3aa6b5ce362004eece852cf4.webp")no-repeat top center;
        background-size: 100% 100%;
        z-index: -1
    }

    .block-calendar:after {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../image/top/pattern_01_vcc48c8b7cc24e06f0bd0cd1e21710f7b.webp");
        background-size: 1024px;
        opacity: .3;
        z-index: -2
    }

    .block-calendar .ill {
        position: absolute;
        top: -108px;
        right: 0;
        width: 870px;
        height: 462px
    }

    .block-calendar .ill .ill-img {
        position: absolute;
        opacity: 0
    }

    .block-calendar .ill .ill-img-01 {
        top: 20px;
        right: 0;
        width: 476px;
        height: 367px;
        background: url("../image/top/ill_calendar_01_v9670b92b4a76dd6f58834bbb9cb99a90.webp")no-repeat;
        background-size: 476px 367px
    }

    .block-calendar .ill .ill-img-02 {
        top: 93px;
        left: 0;
        width: 870px;
        height: 128px;
        background: url("../image/top/ill_calendar_02_vcfe6e26fd47baf3cfd2b7f11be4f9c10.webp")no-repeat;
        background-size: 870px 128px
    }

    .block-calendar .ill .ill-img-03 {
        bottom: 0;
        right: 60px;
        width: 681px;
        height: 198px;
        background: url("../image/top/ill_calendar_03_v0a8a3dd0873f56e2e79945d2680a261e.webp")no-repeat;
        background-size: 681px 198px
    }

    .block-calendar .ill .ill-img-04 {
        top: 0;
        right: 0;
        width: 343px;
        height: 326px;
        background: url("../image/top/ill_calendar_04_v3b50ae23edfee20d21ce87ab7d01b505.webp")no-repeat;
        background-size: 343px 326px
    }

    .block-calendar .ill.active .ill-img {
        animation: rightToLeft02 1s forwards
    }

    .block-calendar .ill.active .ill-img-02 {
        animation-delay: .2s
    }

    .block-calendar .ill.active .ill-img-03 {
        animation-delay: .4s
    }

    .block-calendar .ill.active .ill-img-04 {
        animation-delay: .6s
    }

    .block-calendar .row {
        position: relative;
        max-width: 1312px
    }

    .block-calendar .row:before {
        content: "";
        position: absolute;
        top: -39px;
        left: 285px;
        width: 165px;
        height: 103px;
        background: url("../image/top/ill18_vcadaf99bcc885482f0cd36015e809dbe.webp")no-repeat;
        background-size: 165px 103px;
        z-index: -1;
        opacity: 0
    }

    .block-calendar .row.active:before {
        animation: leftToRight 1s forwards
    }

    .block-calendar .block-title {
        margin-bottom: 82px
    }

    .block-calendar .box-btn {
        margin-top: 80px
    }

    .event-detail {
        background-color: #fff;
        font-size: 1.8rem
    }

    .event-detail__head {
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border: 1px solid #d5d4df;
        background-color: #f4f4f4;
        padding: 10px 20px
    }

    .event-detail__head .icon-close {
        position: absolute;
        top: 50%;
        right: 12px;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 44px;
        height: 44px;
        transform: translateY(-50%)
    }

    .event-detail__head .icon-close:before {
        content: "";
        width: 20px;
        height: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        background: #333;
        clip-path: polygon(0 0, 50% 100%, 100%0)
    }

    .event-detail__box {
        display: flex;
        align-items: center;
        border: 1px solid #cadbe0;
        border-top: 0
    }

    .event-detail__box a {
        display: flex;
        align-items: center;
        width: 100%
    }

    .event-detail__box .event-time {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 18px 12px 17px;
        margin-right: 28px;
        line-height: 1.3;
        width: 165px;
        flex-shrink: 0;
        font-family: var(--font-en01)
    }

    .event-detail__box .event-time .ic {
        transform: rotate(90deg)
    }

    .event-detail__box .event-time:after {
        content: "";
        position: absolute;
        top: 50%;
        right: -8px;
        width: 8px;
        height: 92%;
        background-color: var(--third-color);
        transform: translateY(-50%)
    }

    .event-detail__box .event-text {
        font-size: 2.2rem;
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: .1em;
        padding: 16px 0
    }

    .event-detail__box.recruit .event-time:after {
        background-color: #ff8a00
    }

    .calendar {
        position: relative;
        background-color: #fff;
        border-radius: 16px;
        box-shadow: 0 10px 30px 0 rgba(0, 0, 0, .07);
        padding: 42px 30px 40px
    }

    .calendar:before {
        content: "";
        position: absolute;
        inset: 0;
        box-shadow: 0 16px 16px 0 rgba(0, 0, 0, .04);
        z-index: -1;
        border-radius: 16px
    }

    .calendar:after {
        content: "";
        position: absolute;
        inset: 0;
        box-shadow: 0 20px 30px 0 rgba(0, 0, 0, .05);
        z-index: -2;
        border-radius: 16px
    }

    .calendar__head {
        display: flex;
        justify-content: space-between
    }

    .calendar__control {
        display: flex;
        gap: 45px;
        margin-right: 20px;
        margin-top: 5px
    }

    .calendar__control .button {
        cursor: pointer;
        transition: opacity .3s;
        will-change: opacity
    }

    @media (hover:hover) {
        .calendar__control .button:hover {
            opacity: .7
        }
    }

    .calendar__control .button.disable {
        pointer-events: none
    }

    .calendar__control .button__prev {
        width: 8px;
        height: 14px;
        background: url("../image/top/arrow_01_v1c2befa934f99275a1607057faf97ecd.webp")no-repeat;
        background-size: 8px 14px;
        transform: rotate(180deg)
    }

    .calendar__control .button__prev.disable {
        background-image: url("../image/top/arrow_01_off_v298a9f99aff3a27fa61fd99072031259.webp");
        transform: rotate(0)
    }

    .calendar__control .button__next {
        width: 8px;
        height: 14px;
        background: url("../image/top/arrow_01_v1c2befa934f99275a1607057faf97ecd.webp")no-repeat;
        background-size: 8px 14px
    }

    .calendar__control .button__next.disable {
        background-image: url("../image/top/arrow_01_off_v298a9f99aff3a27fa61fd99072031259.webp");
        transform: rotate(180deg)
    }

    .calendar__wrap {
        position: relative;
        transition: all .5s
    }

    .calendar__month {
        width: 100%
    }

    .calendar__month .month__name {
        font-size: 2.2rem;
        font-weight: 500;
        margin-bottom: 22px
    }

    .calendar__month .month__name .en {
        font-family: var(--font-en);
        font-size: 2.4rem;
        font-weight: 700
    }

    .calendar__month .month__week-name {
        width: 100%;
        height: auto;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        font-family: var(--font-en01);
        font-size: 1.4rem;
        font-weight: 600;
        border-left: 1px solid #d5d4df;
        border-top: 1px solid #d5d4df
    }

    .calendar__month .month__week-name span {
        display: inline-block;
        width: calc(100%/7);
        text-align: center;
        padding: 20px;
        border-right: 1px solid #d5d4df;
        border-bottom: 1px solid #d5d4df
    }

    .calendar__month .month__date {
        border-left: 1px solid #d5d4df;
        display: flex;
        flex-wrap: wrap
    }

    .calendar__month .month__date .date {
        width: calc(100%/7);
        font-family: var(--font-en01);
        font-size: 1.4rem;
        font-weight: 400;
        letter-spacing: .1em;
        cursor: pointer;
        border-right: 1px solid #d5d4df;
        border-bottom: 1px solid #d5d4df
    }

    .calendar__month .month__date .date>span {
        display: inline-flex;
        justify-content: center;
        min-width: 22px
    }

    .calendar__month .month__date .date.bg-01 {
        background-color: #f4f4f4
    }

    .calendar__month .month__date .date .list-event {
        margin-top: 8px
    }

    .calendar__month .month__date .date .list-event .item {
        background-color: #0094ff;
        color: #fff;
        font-family: var(--font-base);
        font-size: 1.2rem;
        font-weight: 500;
        line-height: 1.6;
        letter-spacing: .05em;
        max-height: 56px;
        padding: 8px 10px 12px;
        border-radius: 4px;
        overflow: hidden
    }

    .calendar__month .month__date .date .list-event .item:not(:last-of-type) {
        margin-bottom: 3px
    }

    .calendar__month .month__date .date .list-event .item span {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden
    }

    .calendar__month .month__date .date .list-event .item.recruit {
        background-color: #ff8a00
    }

    .calendar__month .month__date .date-inner {
        width: 100%;
        height: 100%;
        padding: 20px 16px
    }

    .calendar__month .month__date .date.active .date-inner {
        position: relative
    }

    .calendar__month .month__date .date.active .date-inner:before {
        content: "";
        position: absolute;
        inset: 0;
        border: 1px solid var(--primary-color)
    }

    .calendar .event-detail {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 10;
        height: 0;
        overflow: hidden;
        transition: height .5s;
        will-change: height
    }

    .block-instagram {
        position: relative;
        z-index: 2;
        background-color: #fff;
        padding-top: 40px;
        padding-bottom: 177px
    }

    .block-instagram:after {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../image/top/pattern_01_vcc48c8b7cc24e06f0bd0cd1e21710f7b.webp");
        background-size: 1024px;
        opacity: .4;
        z-index: -2
    }

    .block-instagram .row {
        max-width: 1312px;
        position: relative
    }

    .block-instagram .row:before {
        content: "";
        position: absolute;
        top: -39px;
        right: 309px;
        width: 169px;
        height: 102px;
        background: url("../image/top/ill19_v4a36ca9d667b988332a85733687eb207.webp")no-repeat;
        background-size: 169px 102px;
        z-index: -1;
        opacity: 0
    }

    .block-instagram.active .row:before {
        animation: rightToLeft 1s forwards
    }

    .block-instagram .block-title {
        margin-bottom: 82px
    }

    .block-instagram .username {
        font-size: 2rem;
        font-weight: 700;
        letter-spacing: .16em;
        margin-bottom: 32px
    }

    .block-instagram .box-btn {
        margin-top: 70px
    }

    .list-instagram {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 32px
    }

    .list-instagram .item {
        box-shadow: 2px 4px 10px 0 rgba(0, 0, 0, .2);
        border-radius: 16px;
        overflow: hidden;
        transform: translateZ(0)
    }

    .list-instagram .item a {
        display: block
    }

    .list-instagram .item-image {
        width: 304px;
        height: 304px
    }
}

@media (min-width:769px) and (max-width:1511px) {
    .main:before {
        z-index: 15
    }

    .main:after {
        display: none
    }

    .main__inner {
        padding-top: 0;
        margin-bottom: 0
    }

    .main__inner .icon-arrow01 {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 3.97vw;
        height: 2.65vw;
        flex-shrink: 0;
        margin-left: 1.32vw;
        border-radius: 6.61vw;
        background: var(--primary-color);
        z-index: 2;
        transition: transform .3s;
        will-change: transform
    }

    .main__inner .icon-arrow01:before {
        content: "";
        display: block;
        width: 1.06vw;
        height: 1.06vw;
        background: url("../image/common/ic_forward_white_v6550ccfdb27974fcf5859e331fa7519a.svg")no-repeat;
        background-size: 100% 100%
    }

    .main-visual {
        position: relative;
        z-index: 10;
        min-height: 55.75vw
    }

    .main-visual--title video {
        display: block;
        width: 100%
    }

    .main-visual:before {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../image/top/pattern_01_vcc48c8b7cc24e06f0bd0cd1e21710f7b.webp");
        background-size: 67.72vw;
        opacity: .25;
        z-index: -1
    }

    .main-visual .ill-main {
        position: absolute;
        bottom: -6.02vw;
        right: 0;
        width: 41.8vw;
        height: 36.04vw
    }

    .main-visual .ill-main.active .ill-img {
        animation: rightToLeft 1s forwards
    }

    .main-visual .ill-main.active .ill-img-04 {
        animation-delay: .2s
    }

    .main-visual .ill-main.active .ill-img-03 {
        animation-delay: .4s
    }

    .main-visual .ill-main.active .ill-img-02 {
        animation-delay: .5s
    }

    .main-visual .ill-main.active .ill-img-01 {
        animation-delay: .8s
    }

    .main-visual .ill-main .ill-img {
        position: absolute;
        opacity: 0
    }

    .main-visual .ill-main .ill-img-01 {
        top: 5.09vw;
        right: 0;
        width: 22.75vw;
        height: 16.2vw;
        background: url("../image/top/ill_main_01_ve1d6c9cc251fae354f21e49bab33ea2e.webp")no-repeat;
        background-size: 22.75vw 16.2vw
    }

    .main-visual .ill-main .ill-img-02 {
        bottom: .33vw;
        right: 0;
        width: 15.87vw;
        height: 10.65vw;
        background: url("../image/top/ill_main_02_v065106f78b8981342a79e00f0a136f56.webp")no-repeat;
        background-size: 15.87vw 10.65vw
    }

    .main-visual .ill-main .ill-img-03 {
        top: 0;
        right: 0;
        width: 6.68vw;
        height: 12.63vw;
        background: url("../image/top/ill_main_03_v364018e95adbc769a8085559fb2c47e2.webp")no-repeat;
        background-size: 6.68vw 12.63vw
    }

    .main-visual .ill-main .ill-img-04 {
        bottom: 1.06vw;
        right: 0;
        width: 41.8vw;
        height: 31.88vw;
        background: url("../image/top/ill_main_04_v5e0d25ec074fe5a3167d8b4e032dcb94.webp")no-repeat;
        background-size: 41.8vw 31.88vw
    }

    .main-visual .ill-main .ill-img-05 {
        bottom: 4.23vw;
        right: 0;
        width: 32.74vw;
        height: 21.76vw;
        background: url("../image/top/ill_main_05_v4cfcfab6bffa04f7501cb76e9ffa7898.webp")no-repeat;
        background-size: 32.74vw 21.76vw
    }

    .bnr-fixed {
        position: fixed;
        bottom: 2.38vw;
        right: 2.38vw;
        z-index: 100;
        transition: opacity .5s, visibility .5s;
        will-change: opacity, visibility
    }

    .bnr-fixed.fixed {
        position: fixed
    }

    .bnr-fixed.hide {
        opacity: 0;
        visibility: hidden
    }

    .bnr-fixed .bnr-close {
        position: absolute;
        top: -1.06vw;
        right: -.93vw;
        width: 1.98vw;
        height: 1.98vw;
        background: url("../image/top/close_fix_v2af32e01995f1f3b60f385b45016522d.webp")no-repeat;
        background-size: cover;
        z-index: 2;
        border-radius: 50%;
        cursor: pointer
    }

    .bnr-fixed .bnr-wrap {
        background-color: #fff;
        border-radius: .66vw;
        box-shadow: .13vw .13vw .26vw 0 rgba(0, 0, 0, .2)
    }

    .bnr-fixed .bnr-link {
        display: block;
        width: 25.79vw
    }

    .block-title {
        font-size: 4.23vw;
        font-weight: 700;
        line-height: 1.4;
        letter-spacing: .1em;
        text-align: center;
        margin-bottom: 4.1vw
    }

    .text-left {
        text-align: left
    }

    .text-right {
        text-align: right
    }

    .text-center {
        text-align: center
    }

    .head-text {
        position: relative;
        padding: 10.71vw 0 44.31vw;
        background-color: #fff;
        text-align: center;
        z-index: 2
    }

    .head-text .ill-head .ill-img {
        position: absolute;
        top: 3.44vw;
        left: 0;
        width: 12.7vw;
        height: 12.96vw;
        background: url("../image/top/ill03_v6973ba31793b56eaf0e69cdf801eb0df.webp")no-repeat;
        background-size: 12.7vw 12.96vw;
        opacity: 0
    }

    .head-text .ill-head.active .ill-img {
        animation: leftToRight 1s forwards
    }

    .head-text .ill-bottom-01 {
        position: absolute;
        bottom: 23.54vw;
        right: 0;
        width: 94.78vw;
        height: 16.07vw
    }

    .head-text .ill-bottom-01 .ill-img {
        position: absolute;
        opacity: 0
    }

    .head-text .ill-bottom-01 .ill-img-01 {
        top: 0;
        left: 0;
        width: 78.04vw;
        height: 14.02vw;
        background: url("../image/top/ill_u05_va400639b18c382fe648f7ba1d6b56b75.webp")no-repeat;
        background-size: 78.04vw 14.02vw
    }

    .head-text .ill-bottom-01 .ill-img-02 {
        bottom: 0;
        right: 0;
        width: 35.71vw;
        height: 9.06vw;
        background: url("../image/top/ill_u06_vfe88f42b9fd42b61de2ab69af7845c0f.webp")no-repeat;
        background-size: 35.71vw 9.06vw
    }

    .head-text .ill-bottom-01.active .ill-img {
        animation: rightToLeft02 1s forwards
    }

    .head-text .ill-bottom-01.active .ill-img-02 {
        animation-delay: .2s
    }

    .head-text .ill-bottom-02 {
        position: absolute;
        bottom: 7.61vw;
        left: 0;
        width: 91.34vw;
        height: 54.03vw
    }

    .head-text .ill-bottom-02 .ill-img {
        position: absolute;
        opacity: 0
    }

    .head-text .ill-bottom-02 .ill-img-01 {
        top: 0;
        left: 0;
        width: 10.38vw;
        height: 12.17vw;
        background: url("../image/top/ill_u01_v69dddc43ce4be08ca9b59bd3c68f797d.webp")no-repeat;
        background-size: 10.38vw 12.17vw
    }

    .head-text .ill-bottom-02 .ill-img-02 {
        top: 11.9vw;
        left: 0;
        width: 49.8vw;
        height: 27.71vw;
        background: url("../image/top/ill_u02_vaa01c2e1ba038fb986e4909d45c6101c.webp")no-repeat;
        background-size: 49.8vw 27.71vw
    }

    .head-text .ill-bottom-02 .ill-img-03 {
        top: 19.38vw;
        left: 0;
        width: 13.49vw;
        height: 9.85vw;
        background: url("../image/top/ill_u03_vdb446a7a09c16ce4be22e1d4ccd7a9e1.webp")no-repeat;
        background-size: 13.49vw 9.85vw
    }

    .head-text .ill-bottom-02 .ill-img-04 {
        bottom: 0;
        right: 0;
        width: 45.04vw;
        height: 13.16vw;
        background: url("../image/top/ill_u04_v8e46b8f771bcc0ce08a68e2c4434780e.webp")no-repeat;
        background-size: 45.04vw 13.16vw
    }

    .head-text .ill-bottom-02.active .ill-img {
        animation: leftToRight 1s forwards
    }

    .head-text .ill-bottom-02.active .ill-img-02 {
        animation-delay: .2s
    }

    .head-text .ill-bottom-02.active .ill-img-03 {
        animation-delay: .4s
    }

    .head-text .ill-bottom-02.active .ill-img-04 {
        animation-delay: .6s
    }

    .head-text .text-catch {
        font-size: 2.12vw;
        font-weight: 700;
        line-height: 2
    }

    .head-text .text-catch+.text-catch {
        margin-top: 4.23vw
    }

    .head-text .text-catch .hl {
        text-decoration: underline;
        text-decoration-thickness: .4em;
        text-decoration-color: #ffeb00;
        text-underline-offset: -.1em;
        -webkit-text-decoration-skip-ink: none;
        text-decoration-skip-ink: none
    }

    .text-u {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 4.83vw
    }

    .text-u .t-para span {
        display: block;
        font-size: 2.03vw;
        font-weight: 700;
        line-height: 1.6
    }

    .text-u .t-img {
        width: 7.87vw;
        margin-top: .53vw;
        margin-left: 1.19vw
    }

    .block-news {
        background-color: #fff;
        padding-bottom: 23.35vw;
        padding-top: 5.69vw
    }

    .block-news .row {
        position: relative;
        max-width: 86.77vw;
        z-index: 2
    }

    .block-news .row:before {
        content: "";
        position: absolute;
        top: -6.02vw;
        left: 25.93vw;
        width: 10.91vw;
        height: 6.81vw;
        background: url("../image/top/ill06_v862c7edd7752498016ecf10c15261ff9.webp")no-repeat;
        background-size: 10.91vw 6.81vw;
        z-index: -1;
        opacity: 0
    }

    .block-news.active .row:before {
        animation: leftToRight 1s forwards
    }

    .list-news .item {
        display: flex;
        border-top: 1px solid #141437;
        padding: 2.58vw .66vw
    }

    .list-news .item:last-of-type {
        border-bottom: 1px solid #141437
    }

    .list-news .item-catch {
        width: 12.57vw;
        font-size: 1.59vw;
        font-weight: 700;
        line-height: 1.4
    }

    .list-news .item-text {
        display: flex;
        align-items: center;
        flex: 1
    }

    .list-news .item-list {
        flex: 1
    }

    .list-news .item-list li:not(:last-of-type) {
        padding-bottom: 1.85vw
    }

    .list-news .item-list li:not(:first-of-type) {
        padding-top: 1.85vw;
        border-top: 1px solid #cadbe0
    }

    .list-news .item-list li a {
        display: inline-flex;
        align-items: center
    }

    .list-news .item-list li .date {
        font-family: var(--font-en);
        font-size: 1.19vw;
        font-weight: 400;
        letter-spacing: .05em;
        color: #8d8d9a;
        margin-right: 2.65vw
    }

    .list-news .item-list li .labels {
        font-size: 1.06vw;
        letter-spacing: .08em;
        margin-right: 1.32vw
    }

    .list-news .item-list li .labels .lb {
        background-color: var(--second-color);
        color: #fff;
        border: 1px solid var(--second-color)
    }

    .list-news .item-list li .labels span {
        display: inline-block;
        text-align: center;
        min-width: 3.64vw;
        padding: 0 .46vw;
        border-radius: .26vw;
        border: 1px solid;
        color: var(--third-color)
    }

    .list-news .item-list li .text {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
        overflow: hidden;
        font-size: 1.46vw
    }

    .list-news .item-link {
        margin-left: 1.46vw
    }

    @media (hover:hover) {
        .list-news .item-link a:not(.disabled):hover {
            opacity: 1;
            transform: translateX(.66vw)
        }
    }

    .block-thought {
        position: relative;
        padding-top: 10.58vw;
        padding-bottom: 15.87vw;
        z-index: 5
    }


    .block-thought .ill {
        position: absolute;
        top: -18.58vw;
        left: 0;
        width: 54.37vw;
        height: 35.78vw
    }

    .block-thought .ill .ill-img {
        position: absolute;
        opacity: 0
    }

    .block-thought .ill .ill-img-01 {
        bottom: 6.48vw;
        right: 0;
        width: 32.61vw;
        height: 14.02vw;
        background: url("../image/top/ill_thought_01_v20fad4ad0cf8a0cb029d4b24faa6b38a.webp")no-repeat;
        background-size: 32.61vw 14.02vw
    }

    .block-thought .ill .ill-img-02 {
        top: 0;
        left: 0;
        width: 40.15vw;
        height: 35.78vw;
        background: url("../image/top/ill_thought_02_v56194e7589c2f25af12f6081e9aa23f4.webp")no-repeat;
        background-size: 40.15vw 35.78vw
    }

    .block-thought .ill .ill-img-03 {
        top: 5.29vw;
        left: 0;
        width: 20.3vw;
        height: 28.64vw;
        background: url("../image/top/ill_thought_03_vdc9537f45755bb081415c25870975081.webp")no-repeat;
        background-size: 20.3vw 28.64vw
    }

    .block-thought .ill.active .ill-img {
        animation: leftToRight 1s forwards
    }

    .block-thought .ill.active .ill-img-02 {
        animation-delay: .2s
    }

    .block-thought .ill.active .ill-img-03 {
        animation-delay: .4s
    }

    .block-thought .row {
        position: relative;
        z-index: 2
    }


    .block-thought.active .row:before {
        animation: rightToLeft02 1s forwards
    }

    .block-thought .image-link {
        margin-top: 5.42vw
    }

    .image-link {
        display: flex
    }

    .image-link .image {
        position: relative;
        width: 37.63vw;
        border-radius: .66vw;
        overflow: hidden;
        perspective: 1px;
        margin-right: 6.61vw
    }

    .image-link .image:after {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../image/top/pattern_01_vcc48c8b7cc24e06f0bd0cd1e21710f7b.webp");
        background-size: 67.72vw;
        opacity: .2
    }

    .image-link .box-link {
        flex: 1
    }

    .image-link .box-link .list-link {
        margin-bottom: 4.3vw
    }

    .image-link .box-link .list-link .item {
        padding: 2.84vw 0 3.04vw;
        border-top: 1px solid #141437
    }

    .image-link .box-link .list-link .item:last-of-type {
        border-bottom: 1px solid #141437
    }

    .image-link .box-link .list-link .item .icon-arrow01 {
        margin-top: .13vw
    }

    .image-link .box-link .list-link a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 2.12vw;
        font-weight: 700;
        line-height: 1.6;
        letter-spacing: .16em
    }

    @media (hover:hover) {
        .image-link .box-link .list-link a:not(.disabled):hover {
            opacity: 1
        }

        .image-link .box-link .list-link a:not(.disabled):hover .icon-arrow01 {
            transform: translateX(.66vw)
        }
    }

    .block-articles {
        position: relative;
        padding-top: 2.38vw;
        padding-bottom: 12.57vw
    }

    .block-articles:before {
        content: "";
        position: absolute;
        top: 0;
        left: calc((100% - 79.37vw)/2);
        margin-left: 23.54vw;
        width: 11.57vw;
        height: 5.75vw;
        background: url("../image/top/ill09_vafd6e7c1b5a7617d2353dbacfab90d1b.webp")no-repeat;
        background-size: 11.57vw 5.75vw;
        z-index: -1;
        opacity: 0
    }

    .block-articles .ill {
        position: absolute;
        top: -4.5vw;
        right: 0;
        width: 20.83vw;
        height: 29.56vw
    }

    .block-articles .ill .ill-img {
        position: absolute;
        opacity: 0
    }

    .block-articles .ill .ill-img-01 {
        top: 0;
        right: 0;
        width: 12.7vw;
        height: 15.81vw;
        background: url("../image/top/ill_articles_01_ve58a6b35c9813b2d0eafd423a41eda2c.webp")no-repeat;
        background-size: 12.7vw 15.81vw
    }

    .block-articles .ill .ill-img-02 {
        bottom: 0;
        right: 0;
        width: 20.83vw;
        height: 16.73vw;
        background: url("../image/top/ill_articles_02_v8cb7127ba140586870964b3afaf1dd70.webp")no-repeat;
        background-size: 20.83vw 16.73vw
    }

    .block-articles.active:before {
        animation: leftToRight 1s forwards
    }

    .block-articles.active .ill-img {
        animation: rightToLeft02 1s forwards
    }

    .block-articles.active .ill-img-02 {
        animation-delay: .2s
    }

    .block-articles .block-title {
        margin-bottom: .79vw
    }

    .box-articles {
        max-width: 128.97vw;
        padding-bottom: 3.31vw;
        padding-top: 3.31vw
    }

    .box-articles .swiper-slide {
        backface-visibility: hidden;
        transform: scale(.625) translate3d(0, 0, 0);
        transition: all .6s
    }

    .box-articles .swiper-slide-next {
        transform: scale(.625) translate3d(-18%, 0, 0)
    }

    .box-articles .swiper-slide-prev {
        transform: scale(.625) translate3d(18%, 0, 0)
    }

    .box-articles .swiper-slide-active {
        transform: scale(1) translate3d(0, 0, 0)
    }

    .box-articles .swiper-slide-duplicate-active {
        transform: scale(1) translate3d(0, 0, 0) !important;
        transition: all .6s !important
    }

    .box-articles .swiper-button-prev, .box-articles .swiper-button-next {
        width: 7.94vw;
        height: 7.94vw;
        background-color: var(--second-color);
        border-radius: 100%;
        margin-top: -3.97vw
    }

    .box-articles .swiper-button-prev:after, .box-articles .swiper-button-next:after {
        font-size: 1.79vw;
        color: #fff
    }

    .box-articles .swiper-button-prev {
        left: calc((100% - 64.81vw)/2)
    }

    .box-articles .swiper-button-next {
        right: calc((100% - 64.81vw)/2)
    }

    .list-article .item {
        width: 52.91vw;
        box-shadow: .26vw .26vw 1.32vw 0 rgba(0, 0, 0, .2);
        border-radius: .66vw
    }

    .list-article .item a {
        display: block
    }

    .block-job {
        padding-bottom: 24.6vw;
        position: relative;
        z-index: 5
    }

    .block-job .ill {
        position: absolute;
        top: -8.99vw;
        left: 0;
        width: 37.3vw;
        height: 25vw
    }

    .block-job .ill .ill-img {
        position: absolute;
        opacity: 0
    }

    .block-job .ill .ill-img-01 {
        bottom: 0;
        left: 0;
        width: 37.3vw;
        height: 16.07vw;
        background: url("../image/top/ill_job_01_vb5b928acbf60fb71f3cf0d93d1b01f20.webp")no-repeat;
        background-size: 37.3vw 16.07vw
    }

    .block-job .ill .ill-img-02 {
        top: 0;
        left: 0;
        width: 17.86vw;
        height: 17.66vw;
        background: url("../image/top/ill_job_02_ve5fc14bd3a5552fbc23cdf5c4a9d6c95.webp")no-repeat;
        background-size: 17.86vw 17.66vw
    }

    .block-job.active .ill-img {
        animation: leftToRight 1s forwards
    }

    .block-job.active .ill-img-02 {
        animation-delay: .2s
    }

    .block-job .text-image {
        display: flex;
        align-items: flex-end
    }

    .block-job .text-image .text {
        position: relative;
        width: 26.46vw;
        flex-shrink: 0;
        margin-right: 9.13vw;
        margin-left: calc((100% - 86.77vw)/2);
        letter-spacing: .1em
    }

    .block-job .text-image .text:before {
        content: "";
        position: absolute;
        top: 2.18vw;
        right: -1.92vw;
        width: 10.05vw;
        height: 7.21vw;
        background: url("../image/top/ill12_v4eee67c57d63191bda96aefb383eb918.webp")no-repeat;
        background-size: 10.05vw 7.21vw;
        z-index: -1;
        opacity: 0
    }

    .block-job .text-image .text .block-title {
        margin-bottom: 4.76vw
    }

    .block-job .text-image .text .txt {
        line-height: 1.8
    }

    .block-job .text-image .text .box-btn {
        margin-top: 4.63vw
    }

    .block-job .text-image .text.active:before {
        animation: rightToLeft 1s forwards
    }

    .block-job .text-image .image {
        overflow: hidden;
        border-radius: .66vw 0 0 .66vw
    }

    .block-job .text-image .image .list-image {
        display: flex
    }

    .block-job .text-image .image .list-image .item {
        width: 39.68vw;
        flex-shrink: 0;
        border-radius: .66vw;
        overflow: hidden;
        perspective: 1px;
        position: relative
    }

    .block-job .text-image .image .list-image .item:after {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../image/top/pattern_01_vcc48c8b7cc24e06f0bd0cd1e21710f7b.webp");
        background-size: 67.72vw;
        opacity: .2
    }

    .block-job .text-image .image .list-image .item {
        margin-right: 1.32vw
    }

    .block-job .swiper-wrapper {
        transition-timing-function: linear !important
    }

    .block-peers {
        position: relative;
        padding-top: 10.58vw;
        padding-bottom: 17.72vw
    }

    .block-peers .ill {
        position: absolute;
        top: -27.78vw;
        right: 0;
        width: 85.71vw;
        height: 41.27vw
    }

    .block-peers .ill .ill-img {
        position: absolute;
        opacity: 0
    }

    .block-peers .ill .ill-img-01 {
        top: 0;
        right: 0;
        width: 32.67vw;
        height: 33.33vw;
        background: url("../image/top/ill_peers_01_v0cf87bff3e9e2a41c49cb48c51953d1a.webp")no-repeat;
        background-size: 32.67vw 33.33vw
    }

    .block-peers .ill .ill-img-02 {
        top: 18.78vw;
        right: 0;
        width: 68.52vw;
        height: 14.09vw;
        background: url("../image/top/ill_peers_02_v13c2d0026034683bc09523c77a96ba5d.webp")no-repeat;
        background-size: 68.52vw 14.09vw
    }

    .block-peers .ill .ill-img-03 {
        bottom: 0;
        left: 0;
        width: 38.56vw;
        height: 8.07vw;
        background: url("../image/top/ill_peers_03_v9dd20d8ef9ce1e3ffaf4e53f762926ff.webp")no-repeat;
        background-size: 38.56vw 8.07vw
    }

    .block-peers .ill.active .ill-img {
        animation: rightToLeft02 1s forwards
    }

    .block-peers .ill.active .ill-img-02 {
        animation-delay: .2s
    }

    .block-peers .ill.active .ill-img-03 {
        animation-delay: .4s
    }

    .block-peers .row {
        position: relative;
        max-width: 86.77vw
    }

    .block-peers .row:before {
        content: "";
        position: absolute;
        top: -4.03vw;
        right: 1.06vw;
        width: 9.26vw;
        height: 6.35vw;
        background: url("../image/top/ill14_v317b6b48286733f1dd6e802fbd03be72.webp")no-repeat;
        background-size: 9.26vw 6.35vw;
        z-index: -1;
        opacity: 0
    }

    .block-peers.active .row:before {
        animation: leftToRight 1s forwards
    }

    .block-peers .block-title {
        margin-bottom: 5.42vw
    }

    .block-peers .peers-box {
        margin-left: calc((100% - 86.77vw)/2);
        margin-bottom: 2.65vw
    }

    .block-peers .peers-wrap {
        overflow-x: auto;
        -webkit-user-select: none;
        -ms-user-select: none;
        user-select: none;
        cursor: grab;
        -webkit-overflow-scrolling: touch
    }

    .block-peers .peers-wrap.active {
        cursor: grabbing
    }

    .block-peers .peers-wrap.active .item-link {
        pointer-events: none
    }

    .block-peers .peers-wrap::-webkit-scrollbar {
        height: .66vw
    }

    .block-peers .peers-wrap::-webkit-scrollbar-track {
        background: #fff;
        border-radius: .66vw;
        overflow: hidden
    }

    .block-peers .peers-wrap::-webkit-scrollbar-thumb {
        background: var(--primary-color);
        border-radius: .66vw;
        overflow: hidden
    }

    .block-peers .list-peers {
        display: inline-flex;
        margin-bottom: 2.65vw;
        padding-right: 6.61vw
    }

    .block-peers .list-peers .item {
        width: 23.81vw;
        flex-shrink: 0
    }

    .block-peers .list-peers .item:not(:last-child) {
        margin-right: 5.29vw
    }

    .block-peers .list-peers .item:nth-child(2n) {
        margin-top: 4.63vw
    }

    .block-peers .list-peers .item-link {
        display: block
    }

    @media (hover:hover) {
        .block-peers .list-peers .item-link:not(.disabled):hover .icon-arrow01 {
            transform: translateX(.66vw)
        }
    }

    .block-peers .list-peers .item-image {
        position: relative;
        border-radius: .66vw;
        overflow: hidden;
        margin-bottom: 1.98vw
    }

    .block-peers .list-peers .item-image:after {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../image/top/pattern_01_vcc48c8b7cc24e06f0bd0cd1e21710f7b.webp");
        background-size: 67.72vw;
        opacity: .2
    }

    .block-peers .list-peers .item-image .info {
        position: absolute;
        bottom: 0;
        right: 0;
        z-index: 2;
        background-color: #fff;
        border-top-left-radius: 1.32vw;
        width: 17.66vw;
        padding: 1.52vw .66vw .79vw 1.98vw
    }

    .block-peers .list-peers .item-image .year {
        font-size: 1.06vw;
        letter-spacing: .1em;
        margin-bottom: .53vw
    }

    .block-peers .list-peers .item-image .position {
        font-size: 1.32vw;
        font-weight: 700;
        letter-spacing: .08em;
        line-height: 1.6
    }

    .block-peers .list-peers .item-text {
        font-size: 1.19vw;
        font-weight: 700;
        line-height: 1.8;
        letter-spacing: .1em;
        margin-bottom: 1.98vw
    }

    .block-peers .list-peers .item-footer {
        border-top: 1px solid #333;
        padding-top: .99vw;
        display: flex;
        justify-content: space-between
    }

    .block-peers .list-peers .item-footer .job-name {
        font-size: 1.85vw;
        font-weight: 700;
        letter-spacing: .16em
    }

    .block-peers .list-peers .item-footer .icon-arrow01 {
        margin-top: .26vw
    }

    .block-environment {
        position: relative;
        padding-top: .99vw;
        padding-bottom: 11.71vw
    }

    .block-environment .ill {
        position: absolute;
        top: -23.02vw;
        left: 0;
        width: 34.72vw;
        height: 27.12vw
    }

    .block-environment .ill .ill-img {
        position: absolute;
        opacity: 0
    }

    .block-environment .ill .ill-img-01 {
        top: 0;
        left: 0;
        width: 17.13vw;
        height: 21.49vw;
        background: url("../image/top/ill_environment_01_v2ee4a2c4acd243820a3ce5d0b6d0587f.webp")no-repeat;
        background-size: 17.13vw 21.49vw
    }

    .block-environment .ill .ill-img-02 {
        bottom: 0;
        left: 0;
        width: 26.79vw;
        height: 12.7vw;
        background: url("../image/top/ill_environment_02_ve8cefca94baf55f835935b8c77c45cdd.webp")no-repeat;
        background-size: 26.79vw 12.7vw
    }

    .block-environment .ill .ill-img-03 {
        top: 13.69vw;
        right: 0;
        width: 13.62vw;
        height: 4.3vw;
        background: url("../image/top/ill_environment_03_vb3d7b37c764ef6a930d2bd92dd76b466.webp")no-repeat;
        background-size: 13.62vw 4.3vw
    }

    .block-environment .ill.active .ill-img {
        animation: leftToRight 1s forwards
    }

    .block-environment .ill.active .ill-img-02 {
        animation-delay: .2s
    }

    .block-environment .ill.active .ill-img-03 {
        animation-delay: .4s
    }

    .block-environment .row {
        position: relative
    }

    .block-environment .row:before {
        content: "";
        position: absolute;
        top: -.99vw;
        left: 23.81vw;
        width: 8.93vw;
        height: 8.99vw;
        background: url("../image/top/ill16_vcfbf59192c65367aaba7125e34f5e52d.webp")no-repeat;
        background-size: 8.93vw 8.99vw;
        z-index: -1;
        opacity: 0
    }

    .block-environment.active .row:before {
        animation: rightToLeft02 1s forwards
    }

    .block-environment .block-title {
        margin-bottom: 5.29vw
    }

    .block-environment .list-col {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        margin: 0 3.44vw 8.07vw;
        gap: 6.35vw
    }

    .block-environment .list-col .item-link {
        display: block
    }

    @media (hover:hover) {
        .block-environment .list-col .item-link:not(.disabled):hover .icon-arrow01 {
            transform: translateX(.66vw)
        }
    }

    .block-environment .list-col .item .image {
        position: relative;
        border-radius: 100%;
        overflow: hidden;
        margin-bottom: 3.11vw
    }

    .block-environment .list-col .item .image:after {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../image/top/pattern_01_vcc48c8b7cc24e06f0bd0cd1e21710f7b.webp");
        background-size: 67.72vw;
        opacity: .2
    }

    .block-environment .list-col .item .catch {
        font-size: 3.17vw;
        font-weight: 700;
        text-align: center;
        margin-bottom: 2.98vw
    }

    .block-environment .list-col .item .text {
        margin: 0 .33vw;
        display: flex;
        flex-wrap: wrap;
        justify-content: center
    }

    .block-environment .list-col .item .text-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 1.59vw;
        font-weight: 700;
        letter-spacing: .13em;
        line-height: 1.6;
        border-top: 1px solid #333;
        padding-top: 1.19vw
    }

    .box-faq {
        max-width: 59.52vw;
        margin: 0 auto
    }

    .box-faq__link {
        display: flex;
        align-items: center;
        gap: 3.64vw;
        background-color: #fff;
        border-radius: 1.32vw;
        overflow: hidden;
        padding: 1.98vw
    }

    .box-faq__link .image {
        width: 15.87vw;
        height: 10.58vw;
        flex-shrink: 0
    }

    .box-faq__link .image img {
        border-radius: .26vw
    }

    .box-faq__link .text {
        display: flex;
        align-items: center;
        font-size: 2.65vw;
        font-weight: 700;
        letter-spacing: .16em;
        margin-bottom: .4vw
    }

    .box-faq__link .text .icon-arrow01 {
        margin-left: 2.91vw;
        margin-top: .2vw
    }

    @media (hover:hover) {
        .box-faq__link:hover .icon-arrow01 {
            transform: translateX(.66vw)
        }
    }

    .block-calendar {
        position: relative;
        z-index: 2;
        background-color: #fff;
        padding-top: 31.75vw;
        padding-bottom: 8.27vw
    }

    .block-calendar:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 12.1vw;
        background: url("../image/top/border_02_v19f61b6f3aa6b5ce362004eece852cf4.webp")no-repeat top center;
        background-size: 100% 100%;
        z-index: -1
    }

    .block-calendar:after {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../image/top/pattern_01_vcc48c8b7cc24e06f0bd0cd1e21710f7b.webp");
        background-size: 67.72vw;
        opacity: .3;
        z-index: -2
    }

    .block-calendar .ill {
        position: absolute;
        top: -7.14vw;
        right: 0;
        width: 57.54vw;
        height: 30.56vw
    }

    .block-calendar .ill .ill-img {
        position: absolute;
        opacity: 0
    }

    .block-calendar .ill .ill-img-01 {
        top: 1.32vw;
        right: 0;
        width: 31.48vw;
        height: 24.27vw;
        background: url("../image/top/ill_calendar_01_v9670b92b4a76dd6f58834bbb9cb99a90.webp")no-repeat;
        background-size: 31.48vw 24.27vw
    }

    .block-calendar .ill .ill-img-02 {
        top: 6.15vw;
        left: 0;
        width: 57.54vw;
        height: 8.47vw;
        background: url("../image/top/ill_calendar_02_vcfe6e26fd47baf3cfd2b7f11be4f9c10.webp")no-repeat;
        background-size: 57.54vw 8.47vw
    }

    .block-calendar .ill .ill-img-03 {
        bottom: 0;
        right: 3.97vw;
        width: 45.04vw;
        height: 13.1vw;
        background: url("../image/top/ill_calendar_03_v0a8a3dd0873f56e2e79945d2680a261e.webp")no-repeat;
        background-size: 45.04vw 13.1vw
    }

    .block-calendar .ill .ill-img-04 {
        top: 0;
        right: 0;
        width: 22.69vw;
        height: 21.56vw;
        background: url("../image/top/ill_calendar_04_v3b50ae23edfee20d21ce87ab7d01b505.webp")no-repeat;
        background-size: 22.69vw 21.56vw
    }

    .block-calendar .ill.active .ill-img {
        animation: rightToLeft02 1s forwards
    }

    .block-calendar .ill.active .ill-img-02 {
        animation-delay: .2s
    }

    .block-calendar .ill.active .ill-img-03 {
        animation-delay: .4s
    }

    .block-calendar .ill.active .ill-img-04 {
        animation-delay: .6s
    }

    .block-calendar .row {
        position: relative;
        max-width: 86.77vw
    }

    .block-calendar .row:before {
        content: "";
        position: absolute;
        top: -2.58vw;
        left: 18.85vw;
        width: 10.91vw;
        height: 6.81vw;
        background: url("../image/top/ill18_vcadaf99bcc885482f0cd36015e809dbe.webp")no-repeat;
        background-size: 10.91vw 6.81vw;
        z-index: -1;
        opacity: 0
    }

    .block-calendar .row.active:before {
        animation: leftToRight 1s forwards
    }

    .block-calendar .block-title {
        margin-bottom: 5.42vw
    }

    .block-calendar .box-btn {
        margin-top: 5.29vw
    }

    .event-detail {
        background-color: #fff;
        font-size: 1.19vw
    }

    .event-detail__head {
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border: 1px solid #d5d4df;
        background-color: #f4f4f4;
        padding: .66vw 1.32vw
    }

    .event-detail__head .icon-close {
        position: absolute;
        top: 50%;
        right: .79vw;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 2.91vw;
        height: 2.91vw;
        transform: translateY(-50%)
    }

    .event-detail__head .icon-close:before {
        content: "";
        width: 1.32vw;
        height: 1.06vw;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        background: #333;
        clip-path: polygon(0 0, 50% 100%, 100%0)
    }

    .event-detail__box {
        display: flex;
        align-items: center;
        border: 1px solid #cadbe0;
        border-top: 0
    }

    .event-detail__box a {
        display: flex;
        align-items: center;
        width: 100%
    }

    .event-detail__box .event-time {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 1.19vw .79vw 1.12vw;
        margin-right: 1.85vw;
        line-height: 1.3;
        width: 10.91vw;
        flex-shrink: 0;
        font-family: var(--font-en01)
    }

    .event-detail__box .event-time .ic {
        transform: rotate(90deg)
    }

    .event-detail__box .event-time:after {
        content: "";
        position: absolute;
        top: 50%;
        right: -.53vw;
        width: .53vw;
        height: 92%;
        background-color: var(--third-color);
        transform: translateY(-50%)
    }

    .event-detail__box .event-text {
        font-size: 1.46vw;
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: .1em;
        padding: 1.06vw 0
    }

    .event-detail__box.recruit .event-time:after {
        background-color: #ff8a00
    }

    .calendar {
        position: relative;
        background-color: #fff;
        border-radius: 1.06vw;
        box-shadow: 0 .66vw 1.98vw 0 rgba(0, 0, 0, .07);
        padding: 2.78vw 1.98vw 2.65vw
    }

    .calendar:before {
        content: "";
        position: absolute;
        inset: 0;
        box-shadow: 0 1.06vw 1.06vw 0 rgba(0, 0, 0, .04);
        z-index: -1;
        border-radius: 1.06vw
    }

    .calendar:after {
        content: "";
        position: absolute;
        inset: 0;
        box-shadow: 0 1.32vw 1.98vw 0 rgba(0, 0, 0, .05);
        z-index: -2;
        border-radius: 1.06vw
    }

    .calendar__head {
        display: flex;
        justify-content: space-between
    }

    .calendar__control {
        display: flex;
        gap: 2.98vw;
        margin-right: 1.32vw;
        margin-top: .33vw
    }

    .calendar__control .button {
        cursor: pointer;
        transition: opacity .3s;
        will-change: opacity
    }

    @media (hover:hover) {
        .calendar__control .button:hover {
            opacity: .7
        }
    }

    .calendar__control .button.disable {
        pointer-events: none
    }

    .calendar__control .button__prev {
        width: .53vw;
        height: .93vw;
        background: url("../image/top/arrow_01_v1c2befa934f99275a1607057faf97ecd.webp")no-repeat;
        background-size: .53vw .93vw;
        transform: rotate(180deg)
    }

    .calendar__control .button__prev.disable {
        background-image: url("../image/top/arrow_01_off_v298a9f99aff3a27fa61fd99072031259.webp");
        transform: rotate(0)
    }

    .calendar__control .button__next {
        width: .53vw;
        height: .93vw;
        background: url("../image/top/arrow_01_v1c2befa934f99275a1607057faf97ecd.webp")no-repeat;
        background-size: .53vw .93vw
    }

    .calendar__control .button__next.disable {
        background-image: url("../image/top/arrow_01_off_v298a9f99aff3a27fa61fd99072031259.webp");
        transform: rotate(180deg)
    }

    .calendar__wrap {
        position: relative;
        transition: all .5s
    }

    .calendar__month {
        width: 100%
    }

    .calendar__month .month__name {
        font-size: 1.46vw;
        font-weight: 500;
        margin-bottom: 1.46vw
    }

    .calendar__month .month__name .en {
        font-family: var(--font-en);
        font-size: 1.59vw;
        font-weight: 700
    }

    .calendar__month .month__week-name {
        width: 100%;
        height: auto;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        font-family: var(--font-en01);
        font-size: .93vw;
        font-weight: 600;
        border-left: 1px solid #d5d4df;
        border-top: 1px solid #d5d4df
    }

    .calendar__month .month__week-name span {
        display: inline-block;
        width: calc(100%/7);
        text-align: center;
        padding: 1.32vw;
        border-right: 1px solid #d5d4df;
        border-bottom: 1px solid #d5d4df
    }

    .calendar__month .month__date {
        border-left: 1px solid #d5d4df;
        display: flex;
        flex-wrap: wrap
    }

    .calendar__month .month__date .date {
        width: calc(100%/7);
        font-family: var(--font-en01);
        font-size: .93vw;
        font-weight: 400;
        letter-spacing: .1em;
        cursor: pointer;
        border-right: 1px solid #d5d4df;
        border-bottom: 1px solid #d5d4df
    }

    .calendar__month .month__date .date>span {
        display: inline-flex;
        justify-content: center;
        min-width: 1.46vw
    }

    .calendar__month .month__date .date.bg-01 {
        background-color: #f4f4f4
    }

    .calendar__month .month__date .date .list-event {
        margin-top: .53vw
    }

    .calendar__month .month__date .date .list-event .item {
        background-color: #0094ff;
        color: #fff;
        font-family: var(--font-base);
        font-size: .79vw;
        font-weight: 500;
        line-height: 1.6;
        letter-spacing: .05em;
        max-height: 3.7vw;
        padding: .53vw .66vw .79vw;
        border-radius: .26vw;
        overflow: hidden
    }

    .calendar__month .month__date .date .list-event .item:not(:last-of-type) {
        margin-bottom: .2vw
    }

    .calendar__month .month__date .date .list-event .item span {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden
    }

    .calendar__month .month__date .date .list-event .item.recruit {
        background-color: #ff8a00
    }

    .calendar__month .month__date .date-inner {
        width: 100%;
        height: 100%;
        padding: 1.32vw 1.06vw
    }

    .calendar__month .month__date .date.active .date-inner {
        position: relative
    }

    .calendar__month .month__date .date.active .date-inner:before {
        content: "";
        position: absolute;
        inset: 0;
        border: 1px solid var(--primary-color)
    }

    .calendar .event-detail {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 10;
        height: 0;
        overflow: hidden;
        transition: height .5s;
        will-change: height
    }

    .block-instagram {
        position: relative;
        z-index: 2;
        background-color: #fff;
        padding-top: 2.65vw;
        padding-bottom: 11.71vw
    }

    .block-instagram:after {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../image/top/pattern_01_vcc48c8b7cc24e06f0bd0cd1e21710f7b.webp");
        background-size: 67.72vw;
        opacity: .4;
        z-index: -2
    }

    .block-instagram .row {
        max-width: 86.77vw;
        position: relative
    }

    .block-instagram .row:before {
        content: "";
        position: absolute;
        top: -2.58vw;
        right: 20.44vw;
        width: 11.18vw;
        height: 6.75vw;
        background: url("../image/top/ill19_v4a36ca9d667b988332a85733687eb207.webp")no-repeat;
        background-size: 11.18vw 6.75vw;
        z-index: -1;
        opacity: 0
    }

    .block-instagram.active .row:before {
        animation: rightToLeft 1s forwards
    }

    .block-instagram .block-title {
        margin-bottom: 5.42vw
    }

    .block-instagram .username {
        font-size: 1.32vw;
        font-weight: 700;
        letter-spacing: .16em;
        margin-bottom: 2.12vw
    }

    .block-instagram .box-btn {
        margin-top: 4.63vw
    }

    .list-instagram {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 2.12vw
    }

    .list-instagram .item {
        box-shadow: .13vw .26vw .66vw 0 rgba(0, 0, 0, .2);
        border-radius: 1.06vw;
        overflow: hidden;
        transform: translateZ(0)
    }

    .list-instagram .item a {
        display: block
    }

    .list-instagram .item-image {
        width: 20.11vw;
        height: 20.11vw
    }
}

@media only screen and (max-width:768px) {
    .header-ill01 {
        width: 70.31vw;
        height: 66.15vw
    }

    .header-ill01 span.ill01_01 {
        width: 29.04vw;
        height: 66.15vw;
        background-image: url("../image/top/ill01_01_sp_v0ff4a0fbb6eae89c18e1d223872efffb.webp")
    }

    .header-ill01 span.ill01_02 {
        width: 44.79vw;
        height: 27.21vw;
        background-image: url("../image/top/ill01_02_sp_v067592074b99b23630cf6594cf3e909c.webp")
    }

    .header-ill01 span.ill01_03 {
        width: 70.31vw;
        height: 66.15vw;
        background-image: url("../image/top/ill01_03_sp_vb0f5ccb463e27d19ce0d509f223c4121.webp")
    }

    .header-ill01 span.ill01_04 {
        top: 56.51vw;
        left: 15.36vw;
        width: 10.03vw;
        height: 9.64vw;
        background-image: url("../image/top/ill01_04_sp_v849d8dc1ee21b45d96d0413d056d04e5.webp")
    }

    .main:before {
        width: 77.34vw;
        height: 66.15vw;
        background-image: url("../image/top/ill01_sp_v82d56b33344b90aaeeda72e5ee9781c1.webp");
        z-index: 15
    }

    .main:after {
        display: none
    }

    .main__inner {
        padding-top: 0;
        margin-bottom: 0
    }

    .main__inner .icon-arrow01 {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 10.16vw;
        height: 6.77vw;
        flex-shrink: 0;
        margin-left: 2.6vw;
        border-radius: 13.02vw;
        background: var(--primary-color);
        z-index: 2
    }

    .main__inner .icon-arrow01:before {
        content: "";
        display: block;
        width: 2.86vw;
        height: 2.73vw;
        background: url("../image/common/ic_forward_white_v6550ccfdb27974fcf5859e331fa7519a.svg")no-repeat;
        background-size: 100% 100%
    }

    .main-visual {
        position: relative;
        z-index: 10;
        display: flex;
        align-items: flex-end;
        min-height: 100vh
    }

    .main-visual--title video {
        display: block;
        width: 100%
    }

    .main-visual:before {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../image/top/pattern_01_vcc48c8b7cc24e06f0bd0cd1e21710f7b.webp");
        background-size: 133.33vw;
        opacity: .25;
        z-index: -1
    }

    .main-visual .ill-main {
        position: absolute;
        bottom: -31.51vw;
        right: 0;
        width: 73.18vw;
        height: 68.1vw
    }

    .main-visual .ill-main.active .ill-img {
        animation: rightToLeft 1s forwards
    }

    .main-visual .ill-main.active .ill-img-04 {
        animation-delay: .2s
    }

    .main-visual .ill-main.active .ill-img-03 {
        animation-delay: .4s
    }

    .main-visual .ill-main.active .ill-img-02 {
        animation-delay: .5s
    }

    .main-visual .ill-main.active .ill-img-01 {
        animation-delay: .6s
    }

    .main-visual .ill-main .ill-img {
        position: absolute;
        opacity: 0
    }

    .main-visual .ill-main .ill-img-01 {
        top: 5.47vw;
        right: 0;
        width: 34.9vw;
        height: 40.23vw;
        background: url("../image/top/ill_main_01_sp_v24ba898bff5ff6452bbcb9ba6226de47.webp")no-repeat;
        background-size: 34.9vw 40.23vw
    }

    .main-visual .ill-main .ill-img-02 {
        bottom: 0;
        right: 0;
        width: 35.42vw;
        height: 22.27vw;
        background: url("../image/top/ill_main_02_sp_v8d80eea1c324e4973f55cda01973b69a.webp")no-repeat;
        background-size: 35.42vw 22.27vw
    }

    .main-visual .ill-main .ill-img-03 {
        top: 8.07vw;
        right: 0;
        width: 8.07vw;
        height: 31.51vw;
        background: url("../image/top/ill_main_03_sp_v47e3288b008b52107bf19d35e7a02b27.webp")no-repeat;
        background-size: 8.07vw 31.51vw
    }

    .main-visual .ill-main .ill-img-04 {
        top: 0;
        right: 0;
        width: 73.18vw;
        height: 66.41vw;
        background: url("../image/top/ill_main_04_sp_v2bc2262a2aca328f7a52adf0fb8869b0.webp")no-repeat;
        background-size: 73.18vw 66.41vw
    }

    .main-visual .ill-main .ill-img-05 {
        bottom: 0;
        right: 0;
        width: 53.91vw;
        height: 54.04vw;
        background: url("../image/top/ill_main_05_sp_v0bff9fb958fc1fbe550be4dfe091f733.webp")no-repeat;
        background-size: 53.91vw 54.04vw
    }

    .bnr-fixed {
        position: fixed;
        bottom: 0;
        right: 0;
        z-index: 100;
        transition: opacity .5s, visibility .5s;
        will-change: opacity, visibility
    }

    .bnr-fixed.fixed {
        position: fixed
    }

    .bnr-fixed.hide {
        opacity: 0;
        visibility: hidden
    }

    .bnr-fixed .bnr-close {
        position: absolute;
        top: -8.98vw;
        right: 1.3vw;
        width: 7.16vw;
        height: 7.16vw;
        background: url("../image/top/close_fix_sp_vc869d2a6f58388fc7b5f4ae0d8e0d0f2.webp")no-repeat;
        background-size: cover;
        z-index: 2;
        border-radius: 50%;
        cursor: pointer
    }

    .bnr-fixed .bnr-wrap {
        background-color: #fff;
        border-radius: 1.3vw;
        box-shadow: .26vw .26vw .52vw 0 rgba(0, 0, 0, .2)
    }

    .bnr-fixed .bnr-link {
        display: block;
        width: 65.23vw
    }

    .block-title {
        font-size: 9.38vw;
        font-weight: 700;
        line-height: 1.4;
        letter-spacing: .1em;
        text-align: center;
        margin-bottom: 7.81vw
    }

    .text-left {
        text-align: left
    }

    .text-right {
        text-align: right
    }

    .text-center {
        text-align: center
    }

    .head-text {
        position: relative;
        padding: 41.8vw 0 87.24vw;
        background-color: #fff;
        text-align: center;
        z-index: 2
    }

    .head-text .ill-head .ill-img {
        position: absolute;
        top: 21.09vw;
        left: 0;
        width: 20.7vw;
        height: 8.85vw;
        background: url("../image/top/ill03_sp_vf5f986fe03355c7f8bb851095ccccfa7.webp")no-repeat;
        background-size: 20.7vw 8.85vw;
        opacity: 0
    }

    .head-text .ill-head.active .ill-img {
        animation: leftToRight 1s forwards
    }

    .head-text .ill-bottom-01 {
        position: absolute;
        bottom: 24.61vw;
        right: 0;
        width: 100vw;
        height: 54.56vw;
        z-index: 2
    }

    .head-text .ill-bottom-01 .ill-img {
        position: absolute;
        opacity: 0
    }

    .head-text .ill-bottom-01 .ill-img-01 {
        bottom: 11.33vw;
        left: 0;
        width: 99.09vw;
        height: 20.44vw;
        background: url("../image/top/ill_u05_sp_vb00d3e0a49f39fce50564b373d1e2702.webp")no-repeat;
        background-size: 99.09vw 20.44vw
    }

    .head-text .ill-bottom-01 .ill-img-02 {
        bottom: 0;
        right: 0;
        width: 29.82vw;
        height: 10.68vw;
        background: url("../image/top/ill_u06_sp_v9f5b43fe4218efa89dbbceb4ffa7cc2b.webp")no-repeat;
        background-size: 29.82vw 10.68vw
    }

    .head-text .ill-bottom-01 .ill-img-03 {
        top: 0;
        right: 0;
        width: 19.27vw;
        height: 21.35vw;
        background: url("../image/top/ill_u07_sp_v6285c34f1acb3915164c0dc35bcc05b2.webp")no-repeat;
        background-size: 19.27vw 21.35vw
    }

    .head-text .ill-bottom-01.active .ill-img {
        animation: rightToLeft02 1s forwards
    }

    .head-text .ill-bottom-01.active .ill-img-02 {
        animation-delay: .2s
    }

    .head-text .ill-bottom-01.active .ill-img-03 {
        animation-delay: .4s
    }

    .head-text .ill-bottom-02 {
        position: absolute;
        bottom: 1.69vw;
        left: 0;
        width: 100vw;
        height: 96.48vw
    }

    .head-text .ill-bottom-02 .ill-img {
        position: absolute;
        opacity: 0
    }

    .head-text .ill-bottom-02 .ill-img-01 {
        top: 0;
        left: 0;
        width: 7.29vw;
        height: 15.76vw;
        background: url("../image/top/ill_u01_sp_vadbea3fde796c2d93b91002e848350da.webp")no-repeat;
        background-size: 7.29vw 15.76vw
    }

    .head-text .ill-bottom-02 .ill-img-02 {
        top: 17.19vw;
        left: 0;
        width: 50.52vw;
        height: 46.22vw;
        background: url("../image/top/ill_u02_sp_v6f14084f24327ef4309dc4639deccad7.webp")no-repeat;
        background-size: 50.52vw 46.22vw
    }

    .head-text .ill-bottom-02 .ill-img-03 {
        top: 31.51vw;
        left: 0;
        width: 5.6vw;
        height: 7.68vw;
        background: url("../image/top/ill_u03_sp_v8fb5ee02d3f0df1639e772a21dce51e0.webp")no-repeat;
        background-size: 5.6vw 7.68vw
    }

    .head-text .ill-bottom-02 .ill-img-04 {
        bottom: 0;
        right: 0;
        width: 56.64vw;
        height: 27.34vw;
        background: url("../image/top/ill_u04_sp_va2c7b88251e771bd00d5e022263e2a79.webp")no-repeat;
        background-size: 56.64vw 27.34vw
    }

    .head-text .ill-bottom-02.active .ill-img {
        animation: leftToRight 1s forwards
    }

    .head-text .ill-bottom-02.active .ill-img-02 {
        animation-delay: .2s
    }

    .head-text .ill-bottom-02.active .ill-img-03 {
        animation-delay: .4s
    }

    .head-text .ill-bottom-02.active .ill-img-04 {
        animation-delay: .6s
    }

    .head-text .text-catch {
        font-size: 4.17vw;
        font-weight: 700;
        line-height: 2
    }

    .head-text .text-catch+.text-catch {
        margin-top: 8.33vw
    }

    .head-text .text-catch .hl {
        text-decoration: underline;
        text-decoration-thickness: .4em;
        text-decoration-color: #ffeb00;
        text-underline-offset: -.1em;
        -webkit-text-decoration-skip-ink: none;
        text-decoration-skip-ink: none
    }

    .text-u {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 13.28vw
    }

    .text-u .t-para span {
        display: block;
        font-size: 5.47vw;
        font-weight: 700;
        line-height: 1.65;
        letter-spacing: .14em
    }

    .text-u .t-img {
        width: 24.09vw;
        margin-top: 1.3vw;
        margin-left: 3.65vw
    }

    .block-news {
        background-color: #fff;
        padding-bottom: 45.18vw;
        padding-top: 11.33vw
    }

    .block-news .row {
        position: relative;
        z-index: 2
    }

    .block-news .row:before {
        content: "";
        position: absolute;
        top: -12.76vw;
        left: 12.89vw;
        width: 21.22vw;
        height: 13.15vw;
        background: url("../image/top/ill06_v862c7edd7752498016ecf10c15261ff9.webp")no-repeat;
        background-size: 21.22vw 13.15vw;
        z-index: -1;
        opacity: 0
    }

    .block-news.active .row:before {
        animation: leftToRight 1s forwards
    }

    .list-news .item {
        position: relative;
        border-top: 1px solid #141437;
        padding: 5.86vw 1.3vw
    }

    .list-news .item:last-of-type {
        border-bottom: 1px solid #141437
    }

    .list-news .item-catch {
        width: calc(100% - 11.72vw);
        font-size: 4.95vw;
        font-weight: 700;
        line-height: 1.4;
        letter-spacing: .1em;
        margin-bottom: 2.6vw
    }

    .list-news .item-text {
        letter-spacing: .16em
    }

    .list-news .item-list {
        flex: 1
    }

    .list-news .item-list li:not(:last-of-type) {
        padding-bottom: 6.12vw
    }

    .list-news .item-list li:not(:first-of-type) {
        padding-top: 2.34vw;
        border-top: 1px solid #cadbe0
    }

    .list-news .item-list li a {
        display: inline-flex;
        flex-wrap: wrap;
        align-items: center
    }

    .list-news .item-list li .date {
        font-family: var(--font-en);
        font-size: 3.13vw;
        font-weight: 400;
        letter-spacing: .05em;
        color: #8d8d9a;
        margin-right: 2.6vw
    }

    .list-news .item-list li .labels {
        font-size: 2.86vw;
        letter-spacing: .08em
    }

    .list-news .item-list li .labels .lb {
        background-color: var(--second-color);
        color: #fff;
        border: 1px solid var(--second-color)
    }

    .list-news .item-list li .labels span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        min-height: 4.95vw;
        min-width: 9.9vw;
        padding: 0 .91vw;
        border-radius: .52vw;
        border: 1px solid;
        line-height: 1;
        margin-right: 2.6vw;
        color: var(--third-color)
    }

    .list-news .item-list li .text {
        margin-top: 2.34vw;
        width: 100%;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        line-height: 1.6
    }

    .list-news .item-link {
        position: absolute;
        top: 6.25vw;
        right: 1.3vw;
        margin-left: 2.86vw
    }

    .block-thought {
        position: relative;
        padding-top: 18.88vw;
        padding-bottom: 24.61vw;
        z-index: 5
    }



    .block-thought .ill {
        position: absolute;
        top: -35.68vw;
        left: 0;
        width: 69.01vw;
        height: 47.79vw
    }

    .block-thought .ill .ill-img {
        position: absolute;
        opacity: 0
    }

    .block-thought .ill .ill-img-01 {
        bottom: 9.51vw;
        right: 0;
        width: 47.92vw;
        height: 20.7vw;
        background: url("../image/top/ill_thought_01_sp_v085e2a1410796195132e25587e5c24f1.webp")no-repeat;
        background-size: 47.92vw 20.7vw
    }

    .block-thought .ill .ill-img-02 {
        top: 0;
        left: 0;
        width: 48.18vw;
        height: 47.79vw;
        background: url("../image/top/ill_thought_02_sp_vaedf9a568c2519ae2377fa66bb03f69f.webp")no-repeat;
        background-size: 48.18vw 47.79vw
    }

    .block-thought .ill .ill-img-03 {
        top: 6.12vw;
        left: 0;
        width: 19.01vw;
        height: 38.93vw;
        background: url("../image/top/ill_thought_03_sp_v81f06750dcd724ed5ae3a4f62479f6cc.webp")no-repeat;
        background-size: 19.01vw 38.93vw
    }

    .block-thought .ill.active .ill-img {
        animation: leftToRight 1s forwards
    }

    .block-thought .ill.active .ill-img-02 {
        animation-delay: .2s
    }

    .block-thought .ill.active .ill-img-03 {
        animation-delay: .4s
    }

    .block-thought .row {
        position: relative;
        z-index: 2
    }


    .block-thought.active .row:before {
        animation: rightToLeft02 1s forwards
    }

    .block-thought .image-link {
        margin-top: 10.29vw
    }

    .image-link .image {
        position: relative;
        width: 100%;
        border-radius: 1.3vw;
        overflow: hidden;
        perspective: 1px;
        margin-bottom: 10.42vw
    }

    .image-link .image:after {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../image/top/pattern_01_vcc48c8b7cc24e06f0bd0cd1e21710f7b.webp");
        background-size: 133.33vw;
        opacity: .2
    }

    .image-link .box-link .list-link {
        margin-bottom: 11.72vw
    }

    .image-link .box-link .list-link .item {
        padding: 6.77vw 0 7.29vw;
        border-top: 1px solid #141437
    }

    .image-link .box-link .list-link .item:last-of-type {
        border-bottom: 1px solid #141437
    }

    .image-link .box-link .list-link .item .icon-arrow01 {
        margin-top: .26vw
    }

    .image-link .box-link .list-link a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 5.21vw;
        font-weight: 700;
        line-height: 1.6;
        letter-spacing: .16em
    }

    .image-link .box-link .box-btn {
        text-align: center
    }

    .block-articles {
        position: relative;
        padding-top: 4.69vw;
        padding-bottom: 10.42vw
    }

    .block-articles:before {
        content: "";
        position: absolute;
        top: 1px;
        left: 16.67vw;
        width: 22.79vw;
        height: 11.33vw;
        background: url("../image/top/ill09_vafd6e7c1b5a7617d2353dbacfab90d1b.webp")no-repeat;
        background-size: 22.79vw 11.33vw;
        z-index: -1;
        opacity: 0
    }

    .block-articles .ill {
        position: absolute;
        top: -7.16vw;
        right: 0;
        width: 33.46vw;
        height: 47.53vw
    }

    .block-articles .ill .ill-img {
        position: absolute;
        opacity: 0
    }

    .block-articles .ill .ill-img-01 {
        top: 0;
        right: 0;
        width: 17.45vw;
        height: 20.44vw;
        background: url("../image/top/ill_articles_01_sp_v87a369b8adf4d7cb584bcfcdfbc5cfcb.webp")no-repeat;
        background-size: 17.45vw 20.44vw
    }

    .block-articles .ill .ill-img-02 {
        bottom: 0;
        right: 0;
        width: 33.85vw;
        height: 24.87vw;
        background: url("../image/top/ill_articles_02_sp_v5e283076d403c65a395198d919e85f11.webp")no-repeat;
        background-size: 33.85vw 24.87vw
    }

    .block-articles.active:before {
        animation: leftToRight 1s forwards
    }

    .block-articles.active .ill-img {
        animation: rightToLeft02 1s forwards
    }

    .block-articles.active .ill-img-02 {
        animation-delay: .2s
    }

    .block-articles .block-title {
        margin-bottom: 1.56vw
    }

    .box-articles {
        padding-bottom: 6.51vw;
        padding-top: 6.51vw
    }

    .box-articles .swiper-slide {
        backface-visibility: hidden;
        transform: scale(.625) translate3d(0, 0, 0);
        transition: all .6s
    }

    .box-articles .swiper-slide-next {
        transform: scale(.625) translate3d(-18%, 0, 0)
    }

    .box-articles .swiper-slide-prev {
        transform: scale(.625) translate3d(18%, 0, 0)
    }

    .box-articles .swiper-slide-active {
        transform: scale(1) translate3d(0, 0, 0)
    }

    .box-articles .swiper-slide-duplicate-active {
        transform: scale(1) translate3d(0, 0, 0) !important;
        transition: all .6s !important
    }

    .box-articles .swiper-button-prev, .box-articles .swiper-button-next {
        width: 15.63vw;
        height: 15.63vw;
        background-color: var(--second-color);
        border-radius: 100%;
        margin-top: -7.81vw
    }

    .box-articles .swiper-button-prev:after, .box-articles .swiper-button-next:after {
        font-size: 3.13vw;
        color: #fff
    }

    .box-articles .swiper-button-prev {
        left: 2.6vw
    }

    .box-articles .swiper-button-next {
        right: 2.6vw
    }

    .list-article .item {
        width: 72.92vw;
        box-shadow: .36vw .36vw 1.82vw 0 rgba(0, 0, 0, .2);
        border-radius: .91vw
    }

    .block-job {
        padding-top: 28.91vw;
        padding-bottom: 48.44vw;
        position: relative
    }

    .block-job .ill {
        position: absolute;
        top: -16.93vw;
        left: 0;
        width: 57.03vw;
        height: 40.23vw
    }

    .block-job .ill .ill-img {
        position: absolute;
        opacity: 0
    }

    .block-job .ill .ill-img-01 {
        bottom: 0;
        left: 0;
        width: 57.03vw;
        height: 26.17vw;
        background: url("../image/top/ill_job_01_sp_v44e5f0dda0997c278733bf8a95b7a72f.webp")no-repeat;
        background-size: 57.03vw 26.17vw
    }

    .block-job .ill .ill-img-02 {
        top: 0;
        left: 0;
        width: 23.18vw;
        height: 27.21vw;
        background: url("../image/top/ill_job_02_sp_v0a9b79961e9368b1fea59b09dc490f46.webp")no-repeat;
        background-size: 23.18vw 27.21vw
    }

    .block-job.active .ill-img {
        animation: leftToRight 1s forwards
    }

    .block-job.active .ill-img-02 {
        animation-delay: .2s
    }

    .block-job .text-image {
        position: relative;
        padding: 0 3.91vw 27.34vw
    }

    .block-job .text-image .text {
        letter-spacing: .1em
    }

    .block-job .text-image .text .block-title {
        margin-bottom: 5.86vw
    }

    .block-job .text-image .text .txt {
        margin-bottom: 8.46vw
    }

    .block-job .text-image .text .box-btn {
        width: 100%;
        text-align: center
    }

    .block-job .text-image .image {
        margin-right: -3.91vw;
        overflow: hidden;
        border-radius: 1.17vw 0 0 1.17vw;
        perspective: 1px
    }

    .block-job .text-image .image .list-image .item {
        width: 73.96vw;
        flex-shrink: 0;
        border-radius: 1.17vw;
        overflow: hidden;
        perspective: 1px;
        position: relative
    }

    .block-job .text-image .image .list-image .item:after {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../image/top/pattern_01_vcc48c8b7cc24e06f0bd0cd1e21710f7b.webp");
        background-size: 133.33vw;
        opacity: .2
    }

    .block-job .text-image .image .list-image .item {
        margin-right: 2.34vw
    }

    .block-job .text-image .box-btn {
        position: absolute;
        bottom: 0;
        left: 0
    }

    .block-job .swiper-wrapper {
        transition-timing-function: linear !important
    }

    .block-peers {
        position: relative;
        padding-top: 12.5vw;
        padding-bottom: 34.9vw
    }

    .block-peers .ill {
        position: absolute;
        top: -60.16vw;
        right: 0;
        width: 100%;
        height: 70.83vw
    }

    .block-peers .ill .ill-img {
        position: absolute;
        opacity: 0
    }

    .block-peers .ill .ill-img-01 {
        top: 0;
        right: 0;
        width: 52.34vw;
        height: 61.85vw;
        background: url("../image/top/ill_peers_01_sp_v0c895b9457ca86a279bf95fadb3f6a5b.webp")no-repeat;
        background-size: 52.34vw 61.85vw
    }

    .block-peers .ill .ill-img-02 {
        top: 35.16vw;
        right: 0;
        width: 100vw;
        height: 24.61vw;
        background: url("../image/top/ill_peers_02_sp_vdcf9aff8515286c0c0dc8705565366da.webp")no-repeat;
        background-size: 100vw 24.61vw
    }

    .block-peers .ill .ill-img-03 {
        bottom: 0;
        left: 0;
        width: 19.14vw;
        height: 9.24vw;
        background: url("../image/top/ill_peers_03_sp_ve492964604505c447254f0960198188b.webp")no-repeat;
        background-size: 19.14vw 9.24vw
    }

    .block-peers .ill.active .ill-img {
        animation: rightToLeft02 1s forwards
    }

    .block-peers .ill.active .ill-img-02 {
        animation-delay: .2s;
        animation: leftToRight 1s forwards
    }

    .block-peers .ill.active .ill-img-03 {
        animation: leftToRight 1s forwards;
        animation-delay: .4s
    }

    .block-peers .row {
        position: relative
    }

    .block-peers .row:before {
        content: "";
        position: absolute;
        top: -6.9vw;
        right: 7.16vw;
        width: 18.23vw;
        height: 12.5vw;
        background: url("../image/top/ill14_v317b6b48286733f1dd6e802fbd03be72.webp")no-repeat;
        background-size: 18.23vw 12.5vw;
        z-index: -1;
        opacity: 0
    }

    .block-peers.active .row:before {
        animation: rightToLeft02 1s forwards
    }

    .block-peers .block-title {
        margin-bottom: 9.11vw
    }

    .block-peers .peers-wrap {
        margin-left: 3.91vw;
        margin-bottom: 6.25vw;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }

    .block-peers .peers-wrap::-webkit-scrollbar {
        height: 1.3vw
    }

    .block-peers .peers-wrap::-webkit-scrollbar-track {
        background: #fff;
        border-radius: 1.3vw;
        overflow: hidden
    }

    .block-peers .peers-wrap::-webkit-scrollbar-thumb {
        background: var(--primary-color);
        border-radius: 1.3vw;
        overflow: hidden
    }

    .block-peers .list-peers {
        display: inline-flex;
        margin-bottom: 5.21vw;
        margin-right: 3.91vw
    }

    .block-peers .list-peers .item {
        width: 57.29vw;
        flex-shrink: 0
    }

    .block-peers .list-peers .item:not(:last-of-type) {
        margin-right: 6.51vw
    }

    .block-peers .list-peers .item:nth-child(2n) {
        margin-top: 10.42vw
    }

    .block-peers .list-peers .item-link {
        display: block
    }

    .block-peers .list-peers .item-image {
        position: relative;
        border-radius: 1.56vw;
        overflow: hidden;
        margin-bottom: 4.3vw
    }

    .block-peers .list-peers .item-image:after {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../image/top/pattern_01_vcc48c8b7cc24e06f0bd0cd1e21710f7b.webp");
        background-size: 133.33vw;
        opacity: .2
    }

    .block-peers .list-peers .item-image .info {
        position: absolute;
        bottom: 0;
        right: 0;
        z-index: 2;
        background-color: #fff;
        border-top-left-radius: 3.13vw;
        min-width: 31.51vw;
        padding: 3.52vw 4.69vw 1.56vw
    }

    .block-peers .list-peers .item-image .year {
        font-size: 2.6vw;
        letter-spacing: .1em;
        line-height: 1.6;
        margin-bottom: .91vw
    }

    .block-peers .list-peers .item-image .position {
        font-size: 3.39vw;
        font-weight: 700;
        letter-spacing: .1em;
        line-height: 1.8
    }

    .block-peers .list-peers .item-text {
        font-size: 3.65vw;
        font-weight: 700;
        line-height: 1.8;
        letter-spacing: .1em;
        margin-bottom: 4.56vw
    }

    .block-peers .list-peers .item-footer {
        border-top: 1px solid #333;
        padding-top: 2.21vw;
        display: flex;
        justify-content: space-between
    }

    .block-peers .list-peers .item-footer .job-name {
        font-size: 4.43vw;
        font-weight: 700;
        letter-spacing: .16em
    }

    .block-peers .list-peers .item-footer .icon-arrow01 {
        margin-top: .78vw
    }

    .block-environment {
        position: relative;
        padding-top: 14.97vw;
        padding-bottom: 48.18vw
    }

    .block-environment .ill {
        position: absolute;
        top: -31.9vw;
        left: 0;
        width: 51.17vw;
        height: 39.71vw
    }

    .block-environment .ill .ill-img {
        position: absolute;
        opacity: 0
    }

    .block-environment .ill .ill-img-01 {
        top: 0;
        left: 0;
        width: 25.52vw;
        height: 31.51vw;
        background: url("../image/top/ill_environment_01_sp_v8fb9fe619eab3e6f711e3ebeafb64951.webp")no-repeat;
        background-size: 25.52vw 31.51vw
    }

    .block-environment .ill .ill-img-02 {
        bottom: 0;
        left: 0;
        width: 39.58vw;
        height: 18.62vw;
        background: url("../image/top/ill_environment_02_sp_va232ed6f6537dc499f4003cca2f13d93.webp")no-repeat;
        background-size: 39.58vw 18.62vw
    }

    .block-environment .ill .ill-img-03 {
        top: 20.05vw;
        right: 0;
        width: 19.92vw;
        height: 6.38vw;
        background: url("../image/top/ill_environment_03_sp_v21b6330a216ea355311000761c3902f3.webp")no-repeat;
        background-size: 19.92vw 6.38vw
    }

    .block-environment .ill.active .ill-img {
        animation: leftToRight 1s forwards
    }

    .block-environment .ill.active .ill-img-02 {
        animation-delay: .2s
    }

    .block-environment .ill.active .ill-img-03 {
        animation-delay: .4s
    }

    .block-environment .row {
        position: relative
    }

    .block-environment .row:before {
        content: "";
        position: absolute;
        top: -1.56vw;
        left: 17.32vw;
        width: 17.45vw;
        height: 19.14vw;
        background: url("../image/top/ill16_sp_v9fa24b2aaf14582eccea7a9800d2b895.webp")no-repeat;
        background-size: 17.45vw 19.14vw;
        z-index: -1;
        opacity: 0
    }

    .block-environment.active .row:before {
        animation: rightToLeft02 1s forwards
    }

    .block-environment .block-title {
        margin-bottom: 10.42vw
    }

    .block-environment .list-col {
        margin: 0 3.91vw 13.02vw
    }

    .block-environment .list-col .item:not(:last-of-type) {
        margin-bottom: 13.02vw
    }

    .block-environment .list-col .item-link {
        display: block
    }

    .block-environment .list-col .item .image {
        position: relative;
        border-radius: 100%;
        overflow: hidden;
        margin-bottom: 5.86vw
    }

    .block-environment .list-col .item .image:after {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../image/top/pattern_01_vcc48c8b7cc24e06f0bd0cd1e21710f7b.webp");
        background-size: 133.33vw;
        opacity: .2
    }

    .block-environment .list-col .item .catch {
        font-size: 7.29vw;
        font-weight: 700;
        text-align: center;
        margin-bottom: 5.73vw
    }

    .block-environment .list-col .item .text {
        display: flex;
        flex-wrap: wrap;
        justify-content: center
    }

    .block-environment .list-col .item .text-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        font-size: 4.17vw;
        font-weight: 700;
        letter-spacing: .16em;
        line-height: 1.6;
        border-top: 1px solid #333;
        padding-top: 2.21vw
    }

    .block-environment .list-col .item .text-footer .icon-arrow01 {
        margin-top: .26vw;
        margin-left: 0
    }

    .box-faq__link {
        display: flex;
        align-items: center;
        gap: 4.04vw;
        background-color: #fff;
        border-radius: 2.6vw;
        overflow: hidden;
        padding: 3.91vw
    }

    .box-faq__link .image {
        width: 28.65vw;
        height: 19.14vw;
        flex-shrink: 0
    }

    .box-faq__link .image img {
        border-radius: .52vw
    }

    .box-faq__link .text {
        display: flex;
        align-items: center;
        font-size: 4.56vw;
        font-weight: 700;
        line-height: 1.4;
        letter-spacing: .16em;
        margin-bottom: .78vw
    }

    .box-faq__link .text .icon-arrow01 {
        margin-left: 3.91vw;
        margin-top: .39vw
    }

    .block-calendar {
        position: relative;
        z-index: 2;
        background-color: #fff;
        padding-top: 16.41vw;
        padding-bottom: 16.28vw
    }

    .block-calendar:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 18.1vw;
        background: url("../image/top/border_02_sp_v682c4866e3fef45c386f55a78ff94028.webp")no-repeat top center;
        background-size: 100% 100%;
        z-index: -1
    }

    .block-calendar:after {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../image/top/pattern_01_vcc48c8b7cc24e06f0bd0cd1e21710f7b.webp");
        background-size: 133.33vw;
        opacity: .3;
        z-index: -2
    }

    .block-calendar .ill {
        position: absolute;
        top: -36.85vw;
        right: 0;
        width: 77.47vw;
        height: 38.15vw
    }

    .block-calendar .ill .ill-img {
        position: absolute;
        opacity: 0
    }

    .block-calendar .ill .ill-img-01 {
        top: 0;
        right: 0;
        width: 39.71vw;
        height: 30.86vw;
        background: url("../image/top/ill_calendar_01_sp_v905ebaf561c36bd6ec918fcdaec7d328.webp")no-repeat;
        background-size: 39.71vw 30.86vw
    }

    .block-calendar .ill .ill-img-02 {
        top: 2.6vw;
        left: 0;
        width: 77.47vw;
        height: 12.37vw;
        background: url("../image/top/ill_calendar_02_sp_v425f58821aad90a9fd734194135c820b.webp")no-repeat;
        background-size: 77.47vw 12.37vw
    }

    .block-calendar .ill .ill-img-03 {
        bottom: 0;
        right: 0;
        width: 65.1vw;
        height: 19.14vw;
        background: url("../image/top/ill_calendar_03_sp_vee0c66554aaa1b4327802a5504d68ce8.webp")no-repeat;
        background-size: 65.1vw 19.14vw
    }

    .block-calendar .ill .ill-img-04 {
        top: 0;
        right: 0;
        width: 26.95vw;
        height: 24.74vw;
        background: url("../image/top/ill_calendar_04_sp_v85aeb98c11549acfaa5d989ab5d5967c.webp")no-repeat;
        background-size: 26.95vw 24.74vw
    }

    .block-calendar .ill.active .ill-img {
        animation: rightToLeft02 1s forwards
    }

    .block-calendar .ill.active .ill-img-02 {
        animation-delay: .2s
    }

    .block-calendar .ill.active .ill-img-03 {
        animation-delay: .4s
    }

    .block-calendar .ill.active .ill-img-04 {
        animation-delay: .6s
    }

    .block-calendar .row {
        position: relative;
        padding: 0
    }

    .block-calendar .row:before {
        content: "";
        position: absolute;
        top: -4.82vw;
        left: 2.34vw;
        width: 21.48vw;
        height: 13.41vw;
        background: url("../image/top/ill18_vcadaf99bcc885482f0cd36015e809dbe.webp")no-repeat;
        background-size: 21.48vw 13.41vw;
        z-index: -1;
        opacity: 0
    }

    .block-calendar .row.active:before {
        animation: leftToRight 1s forwards
    }

    .block-calendar .block-title {
        margin-bottom: 9.11vw
    }

    .block-calendar .box-btn {
        margin-top: 11.72vw
    }

    .event-detail {
        background-color: #fff;
        font-size: 2.6vw
    }

    .event-detail__head {
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border: 1px solid #d5d4df;
        background-color: #f4f4f4;
        padding: 1.04vw 2.6vw
    }

    .event-detail__head .icon-close {
        position: absolute;
        top: 50%;
        right: 1.82vw;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 5.73vw;
        height: 5.73vw;
        transform: translateY(-50%)
    }

    .event-detail__head .icon-close:before {
        content: "";
        width: 3.13vw;
        height: 2.6vw;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        background: #333;
        clip-path: polygon(0 0, 50% 100%, 100%0)
    }

    .event-detail__box {
        display: flex;
        align-items: center;
        border: 1px solid #cadbe0;
        border-top: 0
    }

    .event-detail__box a {
        display: flex;
        align-items: center;
        width: 100%
    }

    .event-detail__box .event-time {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 2.73vw 1.56vw 2.47vw;
        margin-right: 3.65vw;
        line-height: 1.22;
        width: 23.7vw;
        flex-shrink: 0;
        font-family: var(--font-en01);
        font-weight: 400;
        color: #333
    }

    .event-detail__box .event-time .ic {
        transform: rotate(90deg)
    }

    .event-detail__box .event-time:after {
        content: "";
        position: absolute;
        top: 50%;
        right: -1.04vw;
        width: 1.3vw;
        height: 93%;
        background-color: var(--third-color);
        transform: translateY(-50%)
    }

    .event-detail__box .event-text {
        font-size: 3.39vw;
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: .1em;
        padding: 2.08vw 0
    }

    .event-detail__box.recruit .event-time:after {
        background-color: #ff8a00
    }

    .calendar {
        position: relative;
        background-color: #fff;
        box-shadow: 0 1.3vw 3.91vw 0 rgba(0, 0, 0, .07);
        padding: 5.34vw 0 5.21vw
    }

    .calendar:before {
        content: "";
        position: absolute;
        inset: 0;
        box-shadow: 0 2.08vw 2.08vw 0 rgba(0, 0, 0, .04);
        z-index: -1
    }

    .calendar:after {
        content: "";
        position: absolute;
        inset: 0;
        box-shadow: 0 2.6vw 3.91vw 0 rgba(0, 0, 0, .05);
        z-index: -2
    }

    .calendar__head {
        display: flex;
        justify-content: space-between;
        margin-bottom: 3.26vw
    }

    .calendar__head .month__name {
        margin-top: .52vw
    }

    .calendar__control {
        display: flex;
        gap: 5.08vw;
        margin-right: 3.52vw;
        margin-top: .26vw
    }

    .calendar__control .button.disable {
        pointer-events: none
    }

    .calendar__control .button__prev {
        width: 2.6vw;
        height: 3.26vw;
        background: url("../image/top/arrow_01_v1c2befa934f99275a1607057faf97ecd.webp")no-repeat center center;
        background-size: 1.56vw 2.6vw;
        transform: rotate(180deg)
    }

    .calendar__control .button__prev.disable {
        background-image: url("../image/top/arrow_01_off_v298a9f99aff3a27fa61fd99072031259.webp");
        transform: rotate(0)
    }

    .calendar__control .button__next {
        width: 2.6vw;
        height: 3.26vw;
        background: url("../image/top/arrow_01_v1c2befa934f99275a1607057faf97ecd.webp")no-repeat center center;
        background-size: 1.56vw 2.6vw
    }

    .calendar__control .button__next.disable {
        background-image: url("../image/top/arrow_01_off_v298a9f99aff3a27fa61fd99072031259.webp");
        transform: rotate(180deg)
    }

    .calendar__wrap {
        position: relative;
        transition: all .5s
    }

    .calendar__month {
        width: 100%
    }

    .calendar__month .month__name {
        font-size: 2.86vw;
        font-weight: 500;
        margin-left: 1.95vw
    }

    .calendar__month .month__name .en {
        font-family: var(--font-en);
        font-size: 3.13vw;
        font-weight: 700
    }

    .calendar__month .month__week-name {
        width: 100%;
        height: auto;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        font-family: var(--font-en01);
        font-size: 2.6vw;
        font-weight: 600;
        border-left: 1px solid #d5d4df;
        border-top: 1px solid #d5d4df
    }

    .calendar__month .month__week-name span {
        display: inline-block;
        width: calc(100%/7);
        text-align: center;
        padding: 1.82vw 1.82vw 1.56vw;
        border-right: 1px solid #d5d4df;
        border-bottom: 1px solid #d5d4df
    }

    .calendar__month .month__date {
        border-left: 1px solid #d5d4df;
        display: flex;
        flex-wrap: wrap
    }

    .calendar__month .month__date .date {
        width: calc(100%/7);
        font-size: 2.6vw;
        font-weight: 400;
        letter-spacing: .1em;
        border-right: 1px solid #d5d4df;
        border-bottom: 1px solid #d5d4df
    }

    .calendar__month .month__date .date.bg-01 {
        background-color: #f4f4f4
    }

    .calendar__month .month__date .date .list-event {
        margin-top: .39vw;
        margin-bottom: .91vw
    }

    .calendar__month .month__date .date .list-event .item {
        background-color: #0094ff;
        color: #fff;
        font-family: var(--font-base);
        font-size: 2.34vw;
        font-weight: 500;
        line-height: 1.6;
        letter-spacing: -.07em;
        max-height: 7.29vw;
        padding: 1px .52vw .39vw;
        border-radius: .52vw;
        overflow: hidden
    }

    .calendar__month .month__date .date .list-event .item:not(:last-of-type) {
        margin-bottom: .39vw
    }

    .calendar__month .month__date .date .list-event .item span {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
        overflow: hidden
    }

    .calendar__month .month__date .date .list-event .item.recruit {
        background-color: #ff8a00
    }

    .calendar__month .month__date .date-inner {
        width: 100%;
        height: 100%;
        padding: 1.3vw .65vw .91vw
    }

    .calendar__month .month__date .date-inner>span {
        font-family: var(--font-en01);
        color: #333
    }

    .calendar__month .month__date .date.active .date-inner {
        position: relative
    }

    .calendar__month .month__date .date.active .date-inner:before {
        content: "";
        position: absolute;
        inset: 0;
        border: 1px solid var(--primary-color)
    }

    .calendar .event-detail {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 10;
        height: 0;
        overflow: hidden;
        transition: all .5s
    }

    .block-instagram {
        position: relative;
        z-index: 2;
        background-color: #fff;
        padding-top: 2.6vw;
        padding-bottom: 45.31vw
    }

    .block-instagram:after {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../image/top/pattern_01_vcc48c8b7cc24e06f0bd0cd1e21710f7b.webp");
        background-size: 133.33vw;
        opacity: .4;
        z-index: -2
    }

    .block-instagram .row {
        max-width: 170.83vw;
        position: relative
    }

    .block-instagram .row:before {
        content: "";
        position: absolute;
        top: -3.39vw;
        right: 3.65vw;
        width: 22.01vw;
        height: 13.28vw;
        background: url("../image/top/ill19_v4a36ca9d667b988332a85733687eb207.webp")no-repeat;
        background-size: 22.01vw 13.28vw;
        z-index: -1;
        opacity: 0
    }

    .block-instagram.active .row:before {
        animation: rightToLeft 1s forwards
    }

    .block-instagram .block-title {
        margin-bottom: 9.11vw
    }

    .block-instagram .username {
        font-size: 3.91vw;
        font-weight: 700;
        letter-spacing: .16em;
        margin-bottom: 5.99vw
    }

    .block-instagram .box-btn {
        margin-top: 9.38vw
    }

    .list-instagram {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 2.6vw
    }

    .list-instagram .item {
        box-shadow: .26vw .52vw 1.3vw 0 rgba(0, 0, 0, .2);
        border-radius: 2.08vw;
        overflow: hidden;
        transform: translateZ(0)
    }

    .list-instagram .item a {
        display: block
    }

    .list-instagram .item-image {
        width: 44.79vw;
        height: 44.79vw
    }
}


/* ============================================
   スタッフインタビュー — 他セクションと色・フォント統一
   primary: var(--primary-color) / 背景: #fff
   ============================================ */

#staff-interview {
    padding: 5rem 0 7rem;
}

#staff-interview .staff_section_title {
    font-family: var(--font-base);
    font-size: clamp(2.4rem, 6.4vw, 3.6rem);
    font-weight: 700;
    color: #333;
    text-align: center;
    letter-spacing: 0.08em;
    line-height: 1.4;
    position: relative;
    padding-bottom: 2rem;
}

#staff-interview .staff_section_title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 4.8rem;
    height: 3px;
    background: linear-gradient(90deg, var(--primary-color), #ffb347);
    border-radius: 2px;
}

#staff-interview .staff_lead_text {
    margin-top: 2.4rem;
    padding: 0 2rem;
    max-width: 72rem;
    margin-left: auto;
    margin-right: auto;
}

#staff-interview .staff_lead_txt {
    text-align: center;
    font-size: clamp(1.3rem, 3.6vw, 1.5rem);
    line-height: 1.9;
    color: #555;
    letter-spacing: 0.05em;
}

#staff-interview .staff_card_list {
    list-style: none;
    margin: 4rem 2rem 0;
    padding: 0 2rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.4rem;
    max-width: 120rem;
    margin-left: auto;
    margin-right: auto;
}

#staff-interview .staff_card {
    margin: 0;
}

#staff-interview .staff_card_link {
    display: block;
    text-decoration: none;
    color: inherit;
    background: #fff;
    border-radius: 0.8rem;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(0, 0, 0, 0.06);
    transition: box-shadow 0.3s, transform 0.3s, border-color 0.3s;
}

#staff-interview .staff_card_link:hover {
    box-shadow: 0 8px 24px rgba(255, 138, 0, 0.12);
    border-color: rgba(255, 138, 0, 0.2);
}

#staff-interview .staff_card_link:active {
    transform: scale(0.99);
}

#staff-interview .staff_card_img {
    overflow: hidden;
    background: #fff;
}

#staff-interview .staff_card_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

#staff-interview .staff_card_body {
    padding: 2rem 1.8rem 2.4rem;
    position: relative;
}

#staff-interview .staff_card_role {
    font-size: clamp(1.3rem, 1.4vw, 1.6rem);
    line-height: 1.5;
    color: #555;
    letter-spacing: 0.05em;
    margin: 0 0 0.6rem;
}

#staff-interview .staff_card_name {
    font-size: 2rem;
    font-weight: 700;
    color: var(--primary-color);
    letter-spacing: 0.08em;
    line-height: 1.4;
    margin: 0 0 1rem;
}

#staff-interview .staff_card_desc {
    font-size: 1.4rem;
    line-height: 1.7;
    color: #333;
    letter-spacing: 0.05em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

#staff-interview .staff_card_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: 0.4rem;
    background-color: var(--primary-color);
    position: absolute;
    right: 1.8rem;
    bottom: 2.4rem;
    transition: background-color 0.25s;
}

#staff-interview .staff_card_link:hover .staff_card_btn {
    background-color: #e67a00;
}

#staff-interview .staff_card_btn::after {
    content: "";
    width: 0.8rem;
    height: 1.2rem;
    margin-left: 0.2rem;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 15'%3E%3Cpath fill='%23fff' d='M1 0l8 7.5L1 15z'/%3E%3C/svg%3E") no-repeat center;
    background-size: 100% 100%;
}

@media screen and (min-width: 640px) {
    #staff-interview .staff_card_list {
        grid-template-columns: repeat(2, 1fr);
        gap: 2.4rem;
        padding: 0 2rem;
    }
}

@media screen and (min-width: 960px) {
    #staff-interview {
        padding: 6rem 0 10rem;
    }

    #staff-interview .staff_section_title {
        font-size: 3.6rem;
        padding-bottom: 2.4rem;
    }

    #staff-interview .staff_section_title::after {
        width: 6rem;
    }

    #staff-interview .staff_card_list {
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem;
        margin-top: 5rem;
    }

    #staff-interview .staff_card_body {
        padding: 2.2rem 2rem 2.8rem;
    }

    #staff-interview .staff_card_name {
        font-size: 2rem;
    }

    #staff-interview .staff_card_desc {
        font-size: clamp(1.5rem, 1.5vw, 1.6rem);
    }

    #staff-interview .staff_card_btn {
        width: 4.4rem;
        height: 4.4rem;
        right: 2rem;
        bottom: 2.8rem;
    }
}

/* ============================================
   CTA（ご応募へ誘導）セクション
   ============================================ */

.block_cta#cta {
    padding: 5rem 2rem 7rem;
}

.block_cta .cta_inner {
    max-width: 64rem;
    margin: 0 auto;
    text-align: center;
}

.block_cta .cta_title {
    font-family: var(--font-base);
    font-size: clamp(2rem, 5vw, 2.8rem);
    font-weight: 700;
    color: #333;
    letter-spacing: 0.06em;
    line-height: 1.45;
    margin: 0 0 1.2rem;
}

.block_cta .cta_lead {
    font-size: clamp(1.35rem, 2.5vw, 1.5rem);
    line-height: 1.8;
    color: #555;
    margin: 0 0 2.4rem;
}

.block_cta .cta_btns {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.2rem;
}

.block_cta .cta_btn {
    display: inline-block;
    padding: 1.2rem 2.4rem;
    font-size: 1.5rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 2rem;
    transition: opacity 0.25s, transform 0.2s, box-shadow 0.25s;
}

.block_cta .cta_btn:hover {
    opacity: 0.95;
    transform: translateY(-2px);
}

.block_cta .cta_btn_primary {
    background: linear-gradient(135deg, var(--primary-color), #ffb347);
    color: #fff;
    border: 2px solid transparent;
    box-shadow: 0 4px 12px rgba(255, 138, 0, 0.25);
}

.block_cta .cta_btn_primary:hover {
    box-shadow: 0 6px 20px rgba(255, 138, 0, 0.35);
}

.block_cta .cta_btn_secondary {
    background: #fff;
    color: var(--primary-color);
    border: 2px solid var(--primary-color);
}

.block_cta .cta_btn_secondary:hover {
    background: rgba(255, 138, 0, 0.08);
}

@media screen and (min-width: 640px) {
    .block_cta#cta {
        padding: 6rem 2rem 8rem;
    }

    .block_cta .cta_btns {
        gap: 1.6rem;
    }

    .block_cta .cta_btn {
        padding: 1.4rem 2.8rem;
        font-size: 1.6rem;
    }
}