main.careers {
    padding-top: 80px;
    padding-bottom: 0;
}

.careers_kv {
    width: 100%;
    height: 485px;
    background: url(../img/careers/careers_kv@2x.jpg) center center / cover no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 67px;
    & h1 {
        color: #fff;
        font-family: Inter;
        font-size: 75px;
        font-weight: 700;
        padding-bottom: 0;
        margin-bottom: 5px;
    }
    & p {
        color: #fff;
        font-family: Inter;
        font-size: 25px;
        font-weight: 700;
        margin-bottom: 60px;
    }
}

.careers_btn {
    position: relative;
    width: 261px;
    background: #f2c643;
    transition: all 0.3s ease;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 0 10px #7f90e1;
    a {
        display: flex;
        width: 100%;
        height: 59px;
        justify-content: center;
        align-items: center;
        padding: 0 25px 0 10px;
        font-size: 23px;
        font-weight: 700;
        color: #1d1d1d;
        text-decoration: none;
        &:before {
            content: "";
            position: absolute;
            top: 1px;
            bottom: 0;
            right: 40px;
            margin: auto;
            width: 16px;
            height: 2px;
            background: #1d1d1d;
            transform: rotate(-45deg);
            transition: all 0.3s ease;
            border-radius: 2px;
        }
        &:after {
            content: "";
            position: absolute;
            top: 0;
            bottom: 0;
            right: 40px;
            margin: auto;
            width: 15px;
            height: 15px;
            border-top: 2px solid #1d1d1d;
            border-right: 2px solid #1d1d1d;
            transition: all 0.3s ease;
            border-radius: 2px;
        }
    }
    &:hover {
        background: #fff;
        & a:before {
            top: -0.5px;
            transform: rotate(0);
        }
        & a:after {
            transform: rotate(45deg);
        }
    }
}

.pdf_wrap {
    margin: 0 auto 76px;
    width: 100%;
    max-width: 800px;
}

.careers_link_wrap {
    width: 100%;
    max-width: 1092px;
    margin: 0 auto 62px;
    display: flex;
    & dl {
        display: block;
        border-bottom: none;
        width: calc(100% / 3);
        padding: 30px 16px;
        & dt {
            width: 100%;
            text-align: center;
            border: none;
            color: #fff;
            font-size: 20px;
            font-family: Inter;
            font-weight: 400;
            font-style: italic;
            margin-bottom: 25px;
            padding: 4px 20px;
            background: linear-gradient(to right, #7b80aa 30%, #586097 100%);
        }
        & dd {
            width: 100%;
            border-top: none;
            border-bottom: 1px solid #f0f0ee;
            padding: 0;
            & a {
                position: relative;
                display: block;
                width: 100%;
                font-weight: 600;
                text-decoration: none;
                padding: 25px 30px 25px 20px;
                &:after {
                    position: absolute;
                    content: "";
                    top: 0;
                    bottom: 0;
                    right: 20px;
                    margin: auto;
                    width: 10px;
                    height: 10px;
                    border-top: 1px solid #1d1d1d;
                    border-right: 1px solid #1d1d1d;
                    transform: rotate(45deg);
                    transition: all 0.3s ease;
                }
                &[target="_blank"] {
                    &:after {
                        position: absolute;
                        content: "";
                        background: url(../img/common/link_arrow_bk.svg) 0 0 / contain no-repeat;
                        width: 12px;
                        height: 12px;
                        right: 20px;
                        border-top: none;
                        border-right: none;
                        transform: none;
                    }
                }
                &:hover {
                    &:after {
                        right: 10px;
                    }
                }
            }
            & span {
                font-size: 11px;
            }
        }
        &:nth-child(2) {
            border-left: 1.5px solid #f0f0ee;
            border-right: 1.5px solid #f0f0ee;
            & dt {
                background: linear-gradient(to right, #7384ad 30%, #445680 100%);
            }
        }
    }
}

.careers_bg_wrap {
    padding: 91px 0 130px;
    background:
        url(../img/careers/careers_box_bg_t.png) center top no-repeat,
        url(../img/careers/careers_box_bg_b.png) center bottom no-repeat,
        #080808;
    & section {
        width: 1060px;
        margin: 0 auto;
        & .careers_bg_box_head {
            display: flex;
            align-items: flex-end;
            margin-bottom: 25px;
            & p {
                font-weight: 500;
                font-size: 20px;
                color: #515151;
                margin-left: 25px;
                padding-bottom: 14px;
            }
        }
    }
}

.careers_bg_wrap .careers_bg_box01 {
    margin-bottom: 120px;
    & h2 {
        font-size: 50px;
        font-weight: 600;
        font-family: Inter;
        width: fit-content;
        background: linear-gradient(to right top, #fff 0%, #fff 50%, #999999 100%);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        padding: 0;
    }
    & ul {
        display: flex;
        justify-content: space-between;
        & li {
            position: relative;
            width: 510px;
            height: 225px;
            border-radius: 18px;
            border: 4px solid #fff;
            overflow: hidden;
            margin: 0;
            padding: 45px 35px;
            & a {
                position: absolute;
                width: 100%;
                height: 100%;
                left: 0;
                top: 0;
                z-index: 3;
            }
            & .bg_img {
                position: absolute;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                object-fit: cover;
                transition: 0.3s;
            }
            & .cap {
                position: relative;
                z-index: 2;
                color: #fff;
                font-size: 31px;
                font-weight: 600;
                font-family: Inter;
                line-height: 1;
                margin-bottom: 10px;
            }
            & .dis {
                position: relative;
                z-index: 2;
                padding-left: 12px;
                color: #fff;
                font-weight: 500;
                font-size: 16px;
                &:before {
                    position: absolute;
                    content: "";
                    width: 5px;
                    height: 5px;
                    border-radius: 50%;
                    background: #fff;
                    left: 0;
                    top: 12px;
                }
            }
            &:hover {
                & .bg_img {
                    transform: scale(1.1);
                }
            }
        }
    }
}

.careers_bg_wrap .careers_bg_box02 {
    & h2 {
        font-size: 50px;
        font-weight: 600;
        font-family: Inter;
        width: fit-content;
        background: linear-gradient(195deg, #c1befa 30%, #4b5deb 50%, #1f2e65 95%);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        padding: 0;
    }
}

.accordion_wrap {
    & .accordion_parts {
        display: flex;
        & h3 {
            position: relative;
            width: 50%;
            padding: 23px 46px;
            color: #fff;
            font-size: 30px;
            font-weight: 600;
            font-family: Inter;
            cursor: pointer;
            &:after {
                position: absolute;
                content: "";
                bottom: 38px;
                right: 20px;
                width: 15px;
                height: 15px;
                border-top: 2px solid #fff;
                border-right: 2px solid #fff;
                transform: rotate(45deg);
                transition: all 0.3s ease;
            }
        }
        &.accordion01 {
            & h3 {
                background: #2b3577;
            }
        }
        &.accordion02 {
            & h3 {
                background: #3946a9;
            }
        }
        &.accordion03 {
            & h3 {
                background: #404fc3;
            }
        }
        & ul {
            width: 50%;
            height: 0;
            overflow: hidden;
            transition: all 0.3s ease;
            & li {
                width: 100%;
                background: #e7e7e7;
                margin: 0 0 2px;
                transition: all 0.3s ease;
                & a {
                    position: relative;
                    display: block;
                    padding: 22px 50px 22px 69px;
                    text-decoration: none;
                    color: #2d2d2d;
                    font-weight: 500;
                    &:after {
                        position: absolute;
                        content: "";
                        top: 0;
                        bottom: 0;
                        right: 25px;
                        margin: auto;
                        width: 10px;
                        height: 10px;
                        border-top: 1px solid #000;
                        border-right: 1px solid #000;
                        transform: rotate(45deg);
                        transition: all 0.3s ease;
                    }
                }
                &:hover {
                    opacity: 0.8;
                    & a:after {
                        right: 15px;
                    }
                }
            }
        }
        &.open_accordion {
            & ul {
                height: 100%;
            }
            & h3:after {
                bottom: 38px;
                right: 20px;
                transform: rotate(135deg);
            }
        }
    }
}

@media screen and (max-width: 960px) {
    main.careers {
        padding-top: 60px;
        padding-bottom: 0;
        margin-top: 0;
    }

    .careers_kv {
        width: 100%;
        height: 285px;
        background: url(../img/careers/sp_careers_kv@2x.jpg) center center / cover no-repeat;
        margin-bottom: 20px;
        & h1 {
            font-size: 30px;
            margin-bottom: 15px;
        }
        & p {
            text-align: center;
            font-size: 18px;
            font-weight: 500;
            margin-bottom: 40px;
        }
    }

    .careers_btn {
        position: relative;
        width: 153px;
        border-radius: 21px;
        a {
            height: 41px;
            padding: 0 25px 0 10px;
            font-size: 15px;
            &:before {
                right: 35px;
                width: 13px;
            }
            &:after {
                right: 35px;
                width: 12px;
                height: 12px;
            }
        }
    }

    .pdf_wrap {
        margin: 0 auto 67px;
        padding: 0 10px;
        width: 100%;
    }

    .careers_link_wrap {
        width: 86%;
        margin: 0 auto 65px;
        display: block;
        & dl {
            width: 100%;
            padding: 0;
            &:nth-child(2) {
                border-left: none;
                border-right: none;
            }
            &:not(:last-child) {
                margin-bottom: 60px;
            }
            & dt {
                margin-bottom: 15px;
                text-align: left;
            }
            & dd {
                width: 100%;
                border-top: none;
                border-bottom: 1px solid #f0f0ee;
                padding: 0;
                font-size: 16px;
                & a {
                    position: relative;
                    display: block;
                    width: 100%;
                    text-decoration: none;
                    padding: 21px 25px 21px 10px;
                    &:after {
                        right: 3px;
                    }
                    &[target="_blank"] {
                        &:after {
                            right: 0;
                        }
                    }
                    &:hover {
                        &:after {
                            right: -5px;
                        }
                    }
                }
                & span {
                    font-size: 11px;
                }
            }
        }
    }

    .careers_bg_wrap {
        padding: 69px 8% 78px;
        background:
            url(../img/careers/careers_box_bg_t.png) left -38px top / 716px auto no-repeat,
            url(../img/careers/careers_box_bg_b.png) right bottom / 716px auto no-repeat,
            #080808;
        & section {
            width: 100%;
            & .careers_bg_box_head {
                display: block;
                margin-bottom: 30px;
                & p {
                    font-size: 14px;
                    margin-left: 0;
                    padding-bottom: 0;
                }
            }
        }
    }

    .careers_bg_wrap .careers_bg_box01 {
        margin-bottom: 83px;
        & h2 {
            font-size: 30px;
            padding: 0;
        }
        & ul {
            display: block;
            & li {
                position: relative;
                width: 100%;
                height: 120px;
                border-radius: 15px;
                border: 2px solid #fff;
                overflow: hidden;
                margin: 0;
                padding: 25px 21px;
                & .cap {
                    font-size: 21px;
                    margin-bottom: 10px;
                    & img {
                        width: 160px;
                        height: auto;
                    }
                }
                & .dis {
                    padding-left: 10px;
                    font-size: 13px;
                    &:before {
                        width: 4px;
                        height: 4px;
                        top: 12px;
                    }
                }
                &:first-child {
                    margin-bottom: 30px;
                }
            }
        }
    }

    .careers_bg_wrap .careers_bg_box02 {
        & h2 {
            font-size: 30px;
            padding: 0;
        }
    }

    .accordion_wrap {
        & .accordion_parts {
            display: block;
            & h3 {
                width: 100%;
                padding: 30px 45px 30px 15px;
                font-size: 20px;
                &:after {
                    position: absolute;
                    content: "";
                    bottom: 41px;
                    right: 20px;
                    width: 13px;
                    height: 13px;
                }
            }
            &.accordion01 {
                & h3 {
                    background: #2b3577;
                }
            }
            &.accordion02 {
                & h3 {
                    background: #3946a9;
                }
            }
            &.accordion03 {
                & h3 {
                    background: #404fc3;
                }
            }
            & ul {
                width: 100%;
                & li {
                    & a {
                        padding: 24px 40px 24px 15px;
                        &:after {
                            right: 20px;
                        }
                    }
                    &:hover {
                        & a:after {
                            right: 10px;
                        }
                    }
                }
            }
            &.open_accordion {
                & ul {
                    height: 100%;
                }
                & h3:after {
                    bottom: 42px;
                    right: 20px;
                }
            }
        }
    }
}

/*   新卒2028用   */

@import url("https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;500;600;700&display=swap");

#newgrads2028 {
    padding-top: 0;
    padding-bottom: 0;
    background: #f7f4ec;
    color: #121212;
    font-family: "Noto Sans JP", "Noto Sans", sans-serif;
    overflow: hidden;
}

#newgrads2028 *,
#newgrads2028 *::before,
#newgrads2028 *::after {
    box-sizing: border-box;
}

#newgrads2028 a {
    color: inherit;
    text-decoration: none;
}

#newgrads2028 img {
    display: block;
    max-width: 100%;
}

#newgrads2028 section,
#newgrads2028 article,
#newgrads2028 figure,
#newgrads2028 h1,
#newgrads2028 h2,
#newgrads2028 h3,
#newgrads2028 p {
    margin: 0;
    padding: 0;
}

#newgrads2028 ul,
#newgrads2028 ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

#newgrads2028 .ng28-hero-bg {
    background-image: linear-gradient(90deg, rgba(2, 11, 23, 0.28), rgba(2, 11, 23, 0.04) 48%, rgba(2, 11, 23, 0.24)), url("../img/recruit/ng28-bg-pc-cropped.png");
    background-position: center;
    background-size: cover;
    inset: 0;
    position: absolute;
    transform: scale(1.02);
}

#newgrads2028 .ng28-hero-inner {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 900px;
    padding: 178px 96px 126px;
    position: relative;
    z-index: 1;
}

#newgrads2028 .ng28-hero-title {
    color: #fff;
    font-size: 82px;
    line-height: 1.45;
    margin: 0;
    text-shadow: 0 12px 38px rgba(0, 0, 0, 0.28);
}

#newgrads2028 .ng28-opening-line {
    display: block;
    overflow: hidden;
}

#newgrads2028 .ng28-opening-line-inner {
    display: inline-block;
    white-space: nowrap;
    will-change: transform;
}

#newgrads2028 .ng28-opening-char {
    opacity: 0;
    display: inline-block;
    will-change: opacity, transform;
}

#newgrads2028 .ng28-hero-lead {
    align-self: flex-end;
    color: #fff;
    font-size: 42px;
    line-height: 1.7;
    margin: 0;
    text-align: left;
    text-shadow: 0 10px 30px rgba(0, 0, 0, 0.24);
}

#newgrads2028 .ng28-top-cta {
    align-items: center;
    background: #ab8a43;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
    min-height: 96px;
    padding: 20px 28px;
    position: absolute;
    right: 76px;
    text-align: center;
    top: 44px;
    width: 270px;
    z-index: 2;
}

#newgrads2028 .ng28-top-cta span {
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

#newgrads2028 .ng28-top-cta strong {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
}

#newgrads2028 .ng28-business {
    background: linear-gradient(180deg, #f8f6f0 0%, #eeeadf 100%);
    padding: 138px 72px 156px;
}

#newgrads2028 .ng28-section-head {
    margin: 0 auto 82px;
    max-width: 1180px;
    text-align: center;
}

#newgrads2028 .ng28-section-label {
    color: #a9873f;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 22px;
}

#newgrads2028 .ng28-section-title {
    color: #101010;
    font-size: 46px;
    line-height: 1.62;
    margin: 0;
}

#newgrads2028 .ng28-section-copy {
    font-size: 19px;
    font-weight: 500;
    line-height: 2;
    margin: 28px auto 0;
    max-width: 860px;
}

#newgrads2028 .ng28-business-grid {
    display: grid;
    gap: 42px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 auto;
    max-width: 1390px;
}

#newgrads2028 .ng28-business-card {
    background: #fff;
    box-shadow: 0 22px 52px rgba(23, 28, 34, 0.13);
    display: grid;
    grid-template-rows: 310px 1fr;
    min-height: 650px;
    overflow: hidden;
}

#newgrads2028 .ng28-card-image,
#newgrads2028 .ng28-person-image {
    background-position: center;
    background-size: cover;
    display: block;
    transition: transform 0.55s ease;
}

#newgrads2028 .ng28-person-image.kameda {
    background-image: url("../img/recruit/ng28-person-kameda.png");
}

#newgrads2028 .ng28-person-image.sasaki {
    background-image: url("../img/recruit/ng28-person-sasaki.png");
}

#newgrads2028 .ng28-person-image.masuda {
    background-image: url("../img/recruit/ng28-person-masuda.png");
}

#newgrads2028 .ng28-person-image.takata {
    background-image: url("../img/recruit/ng28-person-takata.png");
}

#newgrads2028 .ng28-card-panel {
    display: flex;
    flex-direction: column;
    padding: 42px 44px 48px;
}

#newgrads2028 .ng28-card-kicker {
    color: #a9873f;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 10px;
}

#newgrads2028 .ng28-card-title {
    color: #0f2031;
    font-family: "Noto Sans", "Noto Sans JP", sans-serif;
    font-size: 42px;
    font-weight: 700;
    line-height: 1.1;
    margin: 0 0 28px;
}

#newgrads2028 .ng28-card-copy {
    font-family: "Noto Sans", "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 2;
    text-shadow: 0 0 8px rgba(0, 0, 0, 0.4);
}

#newgrads2028 .ng28-frontier {
    background: #03070d;
    color: #fff;
    position: relative;
    overflow: hidden;
}

#newgrads2028 .ng28-frontier-bg {
    background-image: radial-gradient(circle at 74% 12%, rgba(80, 145, 215, 0.22), transparent 34%), url("../img/recruit/ng28-dark-blue.png");
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    inset: 0;
    opacity: 0.85;
    position: absolute;
}

#newgrads2028 .ng28-frontier-inner {
    margin: 0 auto;
    max-width: 1560px;
    padding: 152px 72px 170px;
    position: relative;
    z-index: 1;
}

#newgrads2028 .ng28-dark-title {
    font-size: 50px;
    line-height: 1.66;
    margin: 0 0 92px;
}

#newgrads2028 .ng28-frontier-story {
    display: grid;
    gap: 42px 62px;
    grid-template-columns: 1fr 1.05fr;
    align-items: start;
}

#newgrads2028 .ng28-story-text {
    align-self: center;
    font-size: 18px;
    font-weight: 500;
    line-height: 2.25;
    max-width: 560px;
}

#newgrads2028 .ng28-story-text p {
    margin: 0 0 32px;
    font-size: 25px;
}

#newgrads2028 .ng28-story-text p:last-child {
    margin-bottom: 0;
}

#newgrads2028 .ng28-story-photo,
#newgrads2028 .ng28-story-side {
    margin: 0;
    overflow: hidden;
}

#newgrads2028 .ng28-story-photo img,
#newgrads2028 .ng28-story-side img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

#newgrads2028 .ng28-story-photo {
    height: 520px;
}

#newgrads2028 .ng28-story-side {
    height: 420px;
    margin-left: 84px;
    max-width: 520px;
}

#newgrads2028 .ng28-story-text-second {
    justify-self: end;
    margin-top: 58px;
}

#newgrads2028 .ng28-statement {
    font-size: 48px;
    line-height: 1.8;
    margin: 142px auto 112px;
    max-width: 1180px;
    text-align: center;
}

#newgrads2028 .ng28-role-grid {
    display: grid;
    gap: 28px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

#newgrads2028 .ng28-role-card {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    min-height: 510px;
    overflow: hidden;
}

#newgrads2028 .ng28-role-card img {
    height: 260px;
    object-fit: cover;
    width: 100%;
}

#newgrads2028 .ng28-role-card div {
    padding: 28px 26px 32px;
}

#newgrads2028 .ng28-role-card p {
    color: #c4a763;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 12px;
    text-shadow: 0 0 4px rgba(0, 0, 0, 0.8);
}

#newgrads2028 .ng28-role-card h3 {
    font-size: 23px;
    font-weight: 700;
    line-height: 1.45;
    margin: 0;
    padding: 0;
    text-shadow: 0 0 4px rgba(0, 0, 0, 0.8);
}

#newgrads2028 .ng28-role-card span {
    display: block;
    font-size: 15px;
    font-weight: 500;
    font-family: "Noto Sans JP", "Noto Sans", sans-serif;
    line-height: 1.85;
    text-shadow: 0 0 4px rgba(0, 0, 0, 0.8);
}

#newgrads2028 .ng28-main-cta {
    align-items: center;
    background: #a9873f;
    color: #fff;
    display: inline-flex;
    font-size: 17px;
    font-weight: 700;
    gap: 44px;
    justify-content: center;
    line-height: 1.4;
    margin-top: 76px;
    min-height: 78px;
    min-width: 280px;
    padding: 0 32px;
}

#newgrads2028 .ng28-message {
    background: #03070d;
    color: #fff;
    padding: 0 72px 158px;
}

#newgrads2028 .ng28-message-inner {
    display: grid;
    gap: 70px;
    grid-template-columns: minmax(380px, 560px) minmax(0, 720px);
    margin: 0 auto;
    max-width: 1390px;
    align-items: end;
}

#newgrads2028 .ng28-message-photo {
    margin: 0;
}

#newgrads2028 .ng28-message-title {
    font-size: 31px;
    padding-bottom: 0;
    line-height: 1.82;
    margin: 0 0 44px;
}

#newgrads2028 .ng28-message-body p {
    font-size: 16px;
    font-weight: 500;
    line-height: 2.15;
    margin: 0 0 22px;
}

#newgrads2028 .ng28-message-body .ng28-section-label {
    color: #575757;
    margin-bottom: 28px;
}

#newgrads2028 .ng28-message-body .ng28-sign {
    margin: 44px 0 0;
    text-align: right;
}

#newgrads2028 .ng28-people {
    background: linear-gradient(180deg, #f3efe4 0%, #fff 100%);
    display: grid;
    gap: 78px;
    grid-template-columns: minmax(360px, 520px) minmax(0, 1fr);
    padding: 144px 0 166px 96px;
}

#newgrads2028 .ng28-people-head {
    padding-top: 24px;
}

#newgrads2028 .ng28-people-head p {
    font-size: 21px;
    font-weight: 700;
    line-height: 1.7;
    margin: 34px 0 0;
}

#newgrads2028 .ng28-slider-control {
    align-items: center;
    display: flex;
    gap: 22px;
    margin-top: 86px;
}

#newgrads2028 .ng28-slider-control button {
    align-items: center;
    appearance: none;
    background: transparent;
    border: 1px solid #1b1b1b;
    border-radius: 50%;
    color: #1b1b1b;
    cursor: pointer;
    display: inline-flex;
    font-size: 20px;
    height: 48px;
    justify-content: center;
    line-height: 1;
    padding: 0;
    transition:
        background 0.25s ease,
        color 0.25s ease;
    width: 48px;
}

#newgrads2028 .ng28-slider-control button:hover {
    color: #333;
}

#newgrads2028 .ng28-slider-count {
    font-family: "Noto Sans", "Noto Sans JP", sans-serif;
    font-size: 18px;
    font-weight: 700;
    min-width: 58px;
    text-align: center;
}

#newgrads2028 .ng28-slider-area {
    min-width: 0;
    overflow: hidden;
    padding: 0 0 16px;
}

#newgrads2028 .ng28-people-slider .slick-list {
    overflow: visible;
}

#newgrads2028 .ng28-people-slider .slick-track {
    display: flex;
}

#newgrads2028 .ng28-people-slider .slick-slide {
    height: auto;
    margin-right: 32px;
    width: 365px !important;
}

#newgrads2028 .ng28-person-slide {
    background: #0b111a;
    color: #fff;
    display: block;
    height: 560px;
    overflow: hidden;
    position: relative;
    width: 100%;
}

#newgrads2028 .ng28-person-image {
    inset: 0;
    position: absolute;
}

#newgrads2028 .ng28-person-slide::after {
    background: linear-gradient(180deg, rgba(4, 7, 12, 0.02) 16%, rgba(4, 7, 12, 0.9) 100%);
    content: "";
    inset: 0;
    position: absolute;
}

#newgrads2028 .ng28-person-body {
    bottom: 28px;
    display: flex;
    flex-direction: column;
    left: 28px;
    position: absolute;
    right: 28px;
    z-index: 1;
}

#newgrads2028 .ng28-person-title {
    font-size: 21px;
    font-weight: 700;
    line-height: 1.62;
}

#newgrads2028 .ng28-person-line {
    background: rgba(255, 255, 255, 0.76);
    display: block;
    height: 1px;
    margin: 24px 0 18px;
}

#newgrads2028 .ng28-person-name {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.45;
}

#newgrads2028 .ng28-person-role {
    font-family: "Noto Sans JP", "Noto Sans", sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.55;
    margin-top: 8px;
    min-height: 40px;
}

#newgrads2028 .ng28-person-en {
    color: rgba(255, 255, 255, 0.72);
    font-family: "Noto Sans", "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
    padding-left: 8px;
}

#newgrads2028 .ng28-final {
    background: #fff;
    overflow: hidden;
    padding: 104px 72px 128px;
}

#newgrads2028 .ng28-final-inner {
    align-items: center;
    display: grid;
    grid-template-columns: minmax(360px, 540px) minmax(0, 1fr);
    margin: 0 auto;
    max-width: 1390px;
    min-height: 520px;
    position: relative;
}

#newgrads2028 .ng28-final-title {
    font-size: 52px;
    line-height: 1.55;
    margin: 0;
}

#newgrads2028 .ng28-final-copy {
    position: relative;
    z-index: 1;
}

#newgrads2028 .ng28-final-copy p {
    font-size: 19px;
    font-weight: 700;
    line-height: 2;
    margin: 36px 0 0;
}

#newgrads2028 .ng28-final-copy .ng28-main-cta {
    margin-top: 48px;
}

#newgrads2028 .ng28-final-earth {
    justify-self: end;
    max-width: 860px;
    width: 100%;
}

@media (max-width: 1280px) {
    #newgrads2028 .ng28-hero-inner {
        padding-left: 64px;
        padding-right: 64px;
    }

    #newgrads2028 .ng28-hero-title {
        font-size: 68px;
    }

    #newgrads2028 .ng28-dark-title,
    #newgrads2028 .ng28-statement,
    #newgrads2028 .ng28-final-title {
        font-size: 42px;
    }

    #newgrads2028 .ng28-business-grid,
    #newgrads2028 .ng28-role-grid {
        gap: 24px;
    }
}

@media (max-width: 1024px) {
    #newgrads2028 .ng28-business-grid,
    #newgrads2028 .ng28-frontier-story,
    #newgrads2028 .ng28-message-inner,
    #newgrads2028 .ng28-people,
    #newgrads2028 .ng28-final-inner {
        grid-template-columns: 1fr;
    }

    #newgrads2028 .ng28-role-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #newgrads2028 .ng28-people {
        padding: 112px 48px 132px;
    }

    #newgrads2028 .ng28-slider-area {
        overflow: visible;
    }

    #newgrads2028 .ng28-story-side,
    #newgrads2028 .ng28-story-text-second {
        justify-self: stretch;
        margin-left: 0;
        margin-top: 0;
        max-width: none;
    }
}

@media (max-width: 640px) {
    #newgrads2028 .ng28-business,
    #newgrads2028 .ng28-frontier-inner,
    #newgrads2028 .ng28-message,
    #newgrads2028 .ng28-final {
        padding-left: 24px;
        padding-right: 24px;
    }

    #newgrads2028 .ng28-section-title,
    #newgrads2028 .ng28-dark-title,
    #newgrads2028 .ng28-statement,
    #newgrads2028 .ng28-final-title {
        font-size: 32px;
        line-height: 1.65;
    }

    #newgrads2028 .ng28-section-copy,
    #newgrads2028 .ng28-final-copy p {
        font-size: 16px;
        line-height: 1.95;
    }

    #newgrads2028 .ng28-card-copy,
    #newgrads2028 .ng28-story-text,
    #newgrads2028 .ng28-message-body p {
        font-size: 15px;
        line-height: 1.95;
    }

    #newgrads2028 .ng28-story-photo,
    #newgrads2028 .ng28-story-side {
        height: 260px;
    }

    #newgrads2028 .ng28-main-cta {
        gap: 28px;
        margin-top: 48px;
        min-width: 0;
        width: 100%;
    }
}

#newgrads2028 {
    background: #fff;
    color: #000;
    font-family: "Noto Sans", "Noto Sans JP", sans-serif;
    line-height: 1;
    margin: 0;
    overflow: hidden;
    width: 100%;
}

#newgrads2028 .ng28-mincho {
    font-family: "Zen Old Mincho", "Noto Serif JP", serif;
    font-weight: 500;
    letter-spacing: 0;
}

#newgrads2028 .ng28-link-banner {
    transition:
        filter 0.35s ease,
        opacity 0.35s ease,
        transform 0.35s ease;
}

#newgrads2028 .ng28-link-banner:hover {
    filter: brightness(1.08);
    opacity: 0.94;
    transform: translateY(-4px);
}

#newgrads2028 .ng28-link-banner:hover .ng28-card-image,
#newgrads2028 .ng28-link-banner:hover .ng28-person-image {
    transform: scale(1.04);
}

@media (min-width: 641px) {
    #newgrads2028 .ng28-hero-bg {
        background-image: url("../img/recruit/ng28-bg-pc-cropped.png");
        background-position: center;
        background-size: cover;
        inset: -1px;
        position: absolute;
        transform: none;
    }

    #newgrads2028 .ng28-hero-bg::after {
        background: rgba(10, 14, 25, 0.16);
        content: "";
        inset: 0;
        position: absolute;
    }

    #newgrads2028 .ng28-section-head {
        margin: 0 0 min(3.020833vw, 58px) 21.875vw;
        max-width: none;
        text-align: left;
    }

    #newgrads2028 .ng28-business-card::after {
        background: linear-gradient(114deg, rgba(0, 0, 0, 0.4) 12%, rgba(0, 0, 0, 0.4) 21%, rgba(0, 0, 0, 0.15) 83%);
        content: "";
        inset: 0;
        position: absolute;
    }

    #newgrads2028 .ng28-frontier,
    #newgrads2028 .ng28-message {
        background: #030202;
        color: #fff;
    }

    #newgrads2028 .ng28-frontier-bg {
        background: #030202;
        inset: 0;
        opacity: 1;
        position: absolute;
    }

    #newgrads2028 .ng28-frontier-bg::after {
        background-image: url("../img/recruit/ng28-market-light.png");
        background-position: left bottom;
        background-repeat: no-repeat;
        background-size: contain;
        bottom: min(24.479167vw, 470px);
        content: "";
        height: min(25.729167vw, 494px);
        left: max(-11.145833vw, -214px);
        opacity: 0.2;
        position: absolute;
        width: min(51.041667vw, 980px);
        z-index: 1;
    }

    #newgrads2028 .ng28-story-text {
        color: #fff;
        font-family: "Zen Old Mincho", "Noto Serif JP", serif;
        font-size: min(1.302083vw, 25px);
        font-weight: 400;
        line-height: min(2.083333vw, 40px);
        left: 42.239583vw;
        margin: 0;
        max-width: min(39.375vw, 756px);
        position: absolute;
        top: min(23.854167vw, 458px);
    }

    #newgrads2028 .ng28-story-text p {
        margin: 0 0 min(1.041667vw, 20px);
    }

    #newgrads2028 .ng28-story-photo img {
        height: 100%;
        object-fit: cover;
        width: 100%;
    }

    #newgrads2028 .ng28-story-side img {
        height: 100%;
        object-fit: cover;
        width: 100%;
    }

    #newgrads2028 .ng28-role-card::after {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 48%, #000 88%);
        content: "";
        inset: 0;
        position: absolute;
    }

    #newgrads2028 .ng28-role-card img {
        height: 100%;
        object-fit: cover;
        width: 100%;
    }

    #newgrads2028 .ng28-role-card div {
        bottom: min(1.302083vw, 25px);
        left: min(1.067708vw, 20.5px);
        padding: 0;
        position: absolute;
        right: min(1.067708vw, 20.5px);
        z-index: 1;
    }

    #newgrads2028 .ng28-main-cta {
        align-items: center;
        background: rgba(151, 116, 20, 0.52);
        border: 1px solid rgba(255, 255, 255, 0.38);
        color: #fff;
        display: flex;
        font-family: "Zen Old Mincho", "Noto Serif JP", serif;
        font-size: min(1.041667vw, 20px);
        font-weight: 400;
        gap: min(1.302083vw, 25px);
        justify-content: center;
        line-height: 1;
        min-height: 0;
        min-width: 0;
        padding: 0;
    }

    #newgrads2028 .ng28-message-body .ng28-sign {
        margin: min(1.5625vw, 30px) 0 0;
        text-align: right;
    }

    #newgrads2028 .ng28-person-image {
        background-position: center top;
        background-size: cover;
        inset: 0;
        position: absolute;
        transition: transform 0.55s ease;
    }

    #newgrads2028 .ng28-person-slide::after {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 48%, #000 88%);
        content: "";
        inset: 0;
        position: absolute;
    }

    #newgrads2028 .ng28-person-body {
        bottom: min(1.354167vw, 26px);
        left: min(1.458333vw, 28px);
        position: absolute;
        right: min(1.458333vw, 28px);
        z-index: 1;
    }

    #newgrads2028 .ng28-person-line {
        background: #fff;
        display: block;
        height: 1px;
        margin: min(1.041667vw, 20px) 0 min(0.833333vw, 16px);
        opacity: 0.85;
    }

    #newgrads2028 .ng28-final-copy .ng28-main-cta {
        font-family: "Noto Sans", "Noto Sans JP", sans-serif;
        font-size: 19px;
        height: min(5.989583vw, 115px);
        left: 500px;
        margin: auto;
        position: absolute;
        top: 0;
        bottom: 0;
        width: 418px;
        z-index: 3;
    }
}

@media (max-width: 640px) {
    #newgrads2028 .ng28-hero {
        height: 760px !important;
        background: #050c1e;
        min-height: 0;
        overflow: visible;
        position: relative;
    }

    #newgrads2028 .ng28-hero-bg {
        background-image: url("../img/recruit/ng28-bg-pc-cropped.png");
        background-position: left 18% top;
        background-size: auto 80%;
        inset: 0;
        position: absolute;
    }

    #newgrads2028 .ng28-hero-bg::after {
        background: rgba(10, 14, 25, 0.16);
        content: "";
        inset: 0;
        position: absolute;
    }

    #newgrads2028 .ng28-hero-inner {
        inset: 0;
        min-height: 0;
        padding: 0;
        position: absolute;
        z-index: 1;
    }

    #newgrads2028 .ng28-top-cta {
        align-items: center;
        background: linear-gradient(90deg, #c2af7d 0%, #af995f 37%, #a88b4d 100%);
        border-radius: 3.90625vw 3.90625vw 0 0;
        color: #fff;
        display: grid;
        grid-template-columns: 1fr 9.6517vw;
        grid-template-rows: auto auto;
        height: 17.65625vw;
        left: 0;
        min-height: 0;
        padding: 2.8125vw 16.5625vw 2.5vw 26.40625vw;
        position: fixed;
        right: auto;
        text-align: left;
        bottom: 0;
        top: auto;
        width: 100%;
        z-index: 999999;
    }

    #newgrads2028 .ng28-top-cta span {
        color: rgba(255, 255, 255, 0.58);
        font-size: 3.619375vw;
        font-weight: 400;
        grid-column: 1;
        line-height: 1.15;
    }

    #newgrads2028 .ng28-top-cta strong {
        color: #fff;
        font-size: 4.102031vw;
        font-weight: 500;
        grid-column: 1;
        line-height: 1.25;
    }

    #newgrads2028 .ng28-top-cta img {
        grid-column: 2;
        grid-row: 1 / 3;
        height: 9.6517vw;
        width: 9.6517vw;
    }

    #newgrads2028 .ng28-business {
        padding-bottom: 96px;
        padding-top: 88px;
        background: #fff;
        display: block;
        padding: 25vw 7.03125vw 25.9375vw;
    }

    #newgrads2028 .ng28-section-head {
        margin-bottom: 54px;
        margin: 0 0 8.4375vw;
        text-align: left;
    }

    #newgrads2028 .ng28-section-label {
        font-size: 24px;
    }

    #newgrads2028 .ng28-business .ng28-section-label {
        color: #000;
        display: block;
        font-family: "Zen Old Mincho", "Noto Serif JP", serif;
        font-size: 5.46875vw;
        font-weight: 500;
        line-height: 1.4286;
        margin: 0;
    }

    #newgrads2028 .ng28-section-title {
        color: #000;
        font-size: 5.46875vw;
        line-height: 1.4286;
        margin: 0;
    }

    #newgrads2028 .ng28-section-copy {
        color: #000;
        font-family: "Zen Old Mincho", "Noto Serif JP", serif;
        font-size: 3.125vw;
        font-weight: 400;
        line-height: 2.05;
        margin: 6.09375vw 0 0;
        max-width: 86vw;
        white-space: normal;
    }

    #newgrads2028 .ng28-business-grid {
        display: grid;
        gap: 8.90625vw;
        grid-template-columns: 1fr;
        margin: 0;
    }

    #newgrads2028 .ng28-business-card {
        grid-template-rows: 230px 1fr;
        display: block;
        height: 90vw;
        min-height: 0;
        overflow: hidden;
        position: relative;
        width: 85.9375vw;
    }

    #newgrads2028 .ng28-card-image {
        background-position: center;
        background-size: cover;
        inset: 0;
        position: absolute;
        transition: transform 0.55s ease;
    }

    #newgrads2028 .ng28-business-card::after {
        background: linear-gradient(114deg, rgba(0, 0, 0, 0.4) 12%, rgba(0, 0, 0, 0.4) 21%, rgba(0, 0, 0, 0.15) 83%);
        content: "";
        inset: 0;
        position: absolute;
    }

    #newgrads2028 .ng28-card-panel {
        bottom: 0;
        color: #fff;
        display: block;
        left: 4.958vw;
        padding: 0;
        position: absolute;
        right: 4.958vw;
        top: 7.2625vw;
        z-index: 1;
    }

    #newgrads2028 .ng28-card-title {
        color: #fff;
        display: block;
        font-family: "Zen Old Mincho", "Noto Serif JP", serif;
        font-size: 3.90625vw;
        font-weight: 600;
        line-height: 1.6;
        margin: 0 0 4.6875vw;
    }

    #newgrads2028 .ng28-card-title span {
        font-size: 3.125vw;
    }

    #newgrads2028 .ng28-card-copy {
        font-family: "Noto Sans", "Noto Sans JP", sans-serif;
        color: #fff;
        display: block;
        font-size: 2.8125vw;
        font-weight: 400;
        line-height: 5.3125vw;
        margin: 0;
        width: 76.02vw;
    }

    #newgrads2028 .ng28-card-more {
        align-items: center;
        bottom: -5vw;
        display: flex;
        font-size: 2.8125vw;
        font-weight: 500;
        gap: 4.21875vw;
        left: 0;
        line-height: 5.3125vw;
        position: relative;
    }

    #newgrads2028 .ng28-frontier,
    #newgrads2028 .ng28-message {
        background: #030202;
        color: #fff;
    }

    #newgrads2028 .ng28-frontier {
        min-height: auto;
        overflow: hidden;
        position: relative;
    }

    #newgrads2028 .ng28-frontier-bg {
        display: none;
    }

    #newgrads2028 .ng28-frontier-bg::after {
        background-image: url("../img/recruit/ng28-market-light.png");
        background-position: left bottom;
        background-repeat: no-repeat;
        background-size: 122.644vw auto;
        bottom: 263.75vw;
        content: "";
        height: 77.1875vw;
        left: -33.4375vw;
        opacity: 0.9;
        position: absolute;
        width: 153.145895vw;
    }

    #newgrads2028 .ng28-frontier-inner {
        padding-bottom: 104px;
        padding-top: 98px;
        margin: 0;
        max-width: none;
        padding: 20.9375vw 7.03125vw 0;
        position: relative;
        z-index: 1;
    }

    #newgrads2028 .ng28-dark-title {
        margin-bottom: 54px;
        background: linear-gradient(141deg, #fff 64%, #b6b6b6 77%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        font-size: 7.03125vw;
        line-height: 1.6667;
        margin: 0 0 30px;
    }

    #newgrads2028 .ng28-frontier-story {
        display: block;
        position: relative;
    }

    #newgrads2028 .ng28-story-text {
        color: #fff;
        font-family: "Zen Old Mincho", "Noto Serif JP", serif;
        font-size: 3.90625vw;
        font-weight: 400;
        line-height: 6.25vw;
        margin: 0;
        max-width: none;
    }

    #newgrads2028 .ng28-story-text p {
        margin: 0 0 6.125vw;
        font-size: 16px;
    }

    #newgrads2028 .ng28-story-photo {
        height: 29.064vw;
        margin: -35.625vw 0 20vw 79.0625vw;
        overflow: hidden;
        width: 16.445vw;
    }

    #newgrads2028 .ng28-story-photo img,
    #newgrads2028 .ng28-story-side img {
        height: 100%;
        object-fit: cover;
        width: 100%;
    }

    #newgrads2028 .ng28-story-side {
        height: 32.065vw;
        margin: 29.375vw 0 19.375vw -8.90625vw;
        overflow: hidden;
        width: 33.125vw;
        position: absolute !important;
        bottom: -250px;
    }

    #newgrads2028 .ng28-story-text-second {
        margin: 0;
    }

    #newgrads2028 .ng28-statement {
        color: #fff;
        font-size: 5.46875vw;
        font-weight: 400;
        line-height: 1.7143;
        margin: 65vw 0 13vw;
        text-align: left;
    }

    #newgrads2028 .ng28-role-grid {
        display: grid;
        gap: 4.6875vw;
        grid-template-columns: repeat(2, 39.84375vw);
        margin: 0;
        max-width: none;
    }

    #newgrads2028 .ng28-role-card {
        background: transparent;
        color: #fff;
        height: 66.0387vw;
        min-height: 0;
        overflow: hidden;
        position: relative;
        width: 39.84375vw;
    }

    #newgrads2028 .ng28-role-card::after {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 48%, #000 88%);
        content: "";
        inset: 0;
        position: absolute;
    }

    #newgrads2028 .ng28-role-card img {
        height: 100%;
        object-fit: cover;
        width: 100%;
    }

    #newgrads2028 .ng28-role-card div {
        bottom: 3.90625vw;
        left: 3.2vw;
        padding: 0;
        position: absolute;
        right: 3.2vw;
        z-index: 1;
    }

    #newgrads2028 .ng28-role-card h3 {
        font-size: 2.8125vw;
        font-weight: 500;
        line-height: 6.25vw;
        margin: 0;
    }

    #newgrads2028 .ng28-role-card p {
        color: rgba(255, 255, 255, 0.45);
        font-size: 1.875vw;
        font-weight: 500;
        margin: 0 0 12px;
    }

    #newgrads2028 .ng28-role-card span {
        display: block;
        font-size: 2.265625vw;
        font-weight: 400;
        line-height: 3.90625vw;
    }

    #newgrads2028 .ng28-frontier .ng28-main-cta {
        display: none;
    }

    #newgrads2028 .ng28-message {
        padding-bottom: 96px;
        margin-top: 0;
        min-height: auto;
        padding: 20vw 7.03125vw 13.4375vw;
        position: relative;
    }

    #newgrads2028 .ng28-message-inner {
        display: block;
        margin: 0;
        max-width: none;
    }

    #newgrads2028 .ng28-message-photo {
        height: 37.1875vw;
        margin: 0 0 -38.75vw 42.1875vw;
        overflow: hidden;
        width: 60.955vw;
    }

    #newgrads2028 .ng28-message-photo img {
        height: 100%;
        object-fit: cover;
        opacity: 0.6;
        width: 100%;
    }

    #newgrads2028 .ng28-message-body {
        background: linear-gradient(122deg, #fff 31%, #999 103%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        font-family: "Zen Old Mincho", "Noto Serif JP", serif;
        margin: 0;
        position: relative;
        z-index: 3;
    }

    #newgrads2028 .ng28-message-body p,
    #newgrads2028 .ng28-message-title {
        font-family: "Zen Old Mincho", "Noto Serif JP", serif;
        font-size: 3.28125vw;
        font-weight: 500;
        line-height: 5.9375vw;
        margin: 0 0 3.4375vw;
    }

    #newgrads2028 .ng28-message-body .ng28-section-label {
        font-size: 6vw;
    }

    #newgrads2028 .ng28-message-title {
        display: block;
        font-size: inherit;
        margin: 0 0 20px;
    }

    #newgrads2028 .ng28-message-body .ng28-sign {
        margin: 7.8125vw 0 0;
        text-align: right;
    }

    #newgrads2028 .ng28-message .ng28-main-cta {
        display: none;
    }

    #newgrads2028 .ng28-people {
        gap: 46px;
        background: linear-gradient(98deg, #fff 14%, #f3f3f3 69%, #9d9d9d 120%);
        display: flex;
        flex-direction: column;
        min-height: 172.96875vw;
        overflow: hidden;
        padding: 13.28125vw 0 0 6.5625vw;
    }

    #newgrads2028 .ng28-people .ng28-section-title {
        font-size: 4.6875vw;
        line-height: 7.8125vw;
        order: 1;
    }

    #newgrads2028 .ng28-people-head {
        display: contents;
        padding: 0;
    }

    #newgrads2028 .ng28-people-head p {
        margin-top: 22px;
        font-family: "Zen Old Mincho", "Noto Serif JP", serif;
        font-size: 3.125vw;
        font-weight: 400;
        line-height: 6.40625vw;
        margin: 1.40625vw 0 0 0.46875vw;
        order: 2;
    }

    #newgrads2028 .ng28-slider-area {
        margin-top: 9.0625vw;
        order: 3;
        overflow: visible;
        padding: 0;
    }

    #newgrads2028 .ng28-people-slider .slick-list {
        overflow: visible;
    }

    #newgrads2028 .ng28-people-slider .slick-slide {
        height: auto;
        margin-right: 7.8125vw;
        width: 54.6875vw !important;
    }

    #newgrads2028 .ng28-person-slide {
        color: #fff;
        display: block;
        height: 76.5625vw;
        overflow: hidden;
        position: relative;
        width: 100%;
    }

    #newgrads2028 .ng28-person-image {
        background-position: center top;
        background-size: cover;
        inset: 0;
        position: absolute;
        transition: transform 0.55s ease;
    }

    #newgrads2028 .ng28-person-slide::after {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 48%, #000 88%);
        content: "";
        inset: 0;
        position: absolute;
    }

    #newgrads2028 .ng28-person-body {
        bottom: 4.0625vw;
        left: 4.375vw;
        position: absolute;
        right: 4.375vw;
        z-index: 1;
    }

    #newgrads2028 .ng28-person-title {
        display: block;
        font-family: "Zen Old Mincho", "Noto Serif JP", serif;
        font-size: 3.28125vw;
        font-weight: 500;
        line-height: 5.46875vw;
    }

    #newgrads2028 .ng28-person-line {
        background: #fff;
        display: block;
        height: 1px;
        margin: 3.125vw 0 2.5vw;
        opacity: 0.85;
    }

    #newgrads2028 .ng28-person-name {
        display: inline-block;
        font-size: 2.8125vw;
        font-weight: 300;
        line-height: 1;
        margin-right: 3.125vw;
    }

    #newgrads2028 .ng28-person-en {
        color: #fff;
        display: inline-block;
        font-size: 2.34375vw;
        font-weight: 400;
        line-height: 1;
        margin: 0;
    }

    #newgrads2028 .ng28-person-role {
        display: block;
        font-size: 2.03125vw;
        font-weight: 300;
        line-height: 3.34375vw;
        margin-top: 2.03125vw;
        min-height: 0;
    }

    #newgrads2028 .ng28-slider-control {
        margin-top: 42px;
        align-items: center;
        border: 1px solid #525252;
        border-radius: 2.220781vw;
        display: flex;
        gap: 4.0625vw;
        height: 14.620312vw;
        justify-content: center;
        margin: 13.28125vw 0 0 26.5625vw;
        order: 4;
        width: 33.867344vw;
    }

    #newgrads2028 .ng28-slider-control button {
        background: transparent;
        border: 0;
        color: #525252;
        cursor: pointer;
        font-size: 3.51625vw;
        line-height: 6.292344vw;
        padding: 0;
    }

    #newgrads2028 .ng28-slider-count {
        color: #525252;
        font-size: 2.590938vw;
        font-weight: 500;
        letter-spacing: 0.1em;
        min-width: 0;
    }

    #newgrads2028 .ng28-final {
        padding: 76px 0 88px;
        background: #fff;
        min-height: 108.125vw;
        overflow: hidden;
    }

    #newgrads2028 .ng28-final-inner {
        display: block;
        margin: 0;
        max-width: none;
        min-height: 0;
        position: relative;
    }

    #newgrads2028 .ng28-final-copy {
        margin-left: 7.03125vw;
        position: relative;
        z-index: 1;
    }

    #newgrads2028 .ng28-final-title {
        color: #000;
        font-size: 4.6875vw;
        line-height: 7.8125vw;
        margin: 0;
    }

    #newgrads2028 .ng28-final-copy p {
        color: #000;
        font-family: "Zen Old Mincho", "Noto Serif JP", serif;
        font-size: 3.125vw;
        font-weight: 400;
        line-height: 6.40625vw;
        margin: 3.90625vw 0 0 0.46875vw;
    }

    #newgrads2028 .ng28-final-earth {
        margin-right: -96px;
        margin-top: 44px;
        height: 45.15625vw;
        margin: 17.1875vw auto 0 0;
        max-width: none;
        object-fit: cover;
        width: 80.518vw;
    }

    #newgrads2028 .ng28-final-copy .ng28-main-cta {
        align-items: center;
        background: rgba(151, 116, 20, 0.52);
        border: 1px solid rgba(255, 255, 255, 0.5);
        color: #fff;
        display: flex;
        font-family: "Noto Sans", "Noto Sans JP", sans-serif;
        font-size: 2.96875vw;
        font-weight: 500;
        gap: 4.375vw;
        height: 15vw;
        justify-content: center;
        left: auto;
        right: 8vw;
        margin: 0;
        min-height: 0;
        min-width: 0;
        padding: 0;
        position: absolute;
        top: auto;
        bottom: -62.5vw;
        width: 58.90625vw;
        z-index: 3;
    }
}

#newgrads2028 .ng28-hero {
    background: #06101d;
    position: relative;
    overflow: hidden;
    height: 100vh !important;
    min-height: 0 !important;
}

#newgrads2028 .ng28-message-photo,
#newgrads2028 .ng28-story-photo,
#newgrads2028 .ng28-story-side {
    position: relative;
}

#newgrads2028 .ng28-card-image {
    height: 100%;
    inset: 0;
    overflow: hidden;
    position: absolute;
}

#newgrads2028 .ng28-card-image img {
    display: block;
    height: 100%;
    max-width: 100%;
    object-fit: cover;
    position: static;
    transition: transform 0.55s ease;
    width: 100%;
}

#newgrads2028 .ng28-story-photo img,
#newgrads2028 .ng28-story-side img,
#newgrads2028 .ng28-message-photo img {
    display: block;
    height: 100% !important;
    left: auto !important;
    max-width: 100% !important;
    object-fit: cover !important;
    position: static !important;
    top: auto !important;
    width: 100% !important;
}

#newgrads2028 .ng28-message-photo img {
    height: 650px;
    object-fit: cover;
    object-position: center;
    width: 100%;
    opacity: 0.6;
}

#newgrads2028 .ng28-link-banner:hover .ng28-card-image {
    transform: none;
}

#newgrads2028 .ng28-link-banner:hover .ng28-card-image img {
    transform: scale(1.035);
}

#newgrads2028 .ng28-message-photo::after {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.58) 24%, rgba(0, 0, 0, 0) 52%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 2;
}

@media (max-width: 640px) {
    #newgrads2028 .ng28-hero-title {
        color: #fff;
        font-size: 9.868906vw;
        left: 4vw;
        line-height: 1.525;
        margin: 0;
        position: absolute;
        text-shadow: 0 0 18px rgba(8, 16, 30, 0.75);
        top: 5vh !important;
    }

    #newgrads2028 .ng28-hero-lead {
        align-self: flex-start;
        color: #fff;
        font-size: 5.9375vw;
        line-height: 1.674;
        margin: 0;
        position: absolute;
        right: 2.65625vw;
        text-shadow: 0 0 8px rgba(21, 20, 24, 0.85);
        top: 70.75vh !important;
    }
}

body {
    margin: 0;
}

@media (min-width: 641px) {
    #newgrads2028 .ng28-hero,
    #newgrads2028 .ng28-business,
    #newgrads2028 .ng28-frontier,
    #newgrads2028 .ng28-message,
    #newgrads2028 .ng28-people,
    #newgrads2028 .ng28-final {
        padding-left: var(--ng28-pc-side) !important;
        padding-right: var(--ng28-pc-side) !important;
    }

    #newgrads2028 .ng28-section-head,
    #newgrads2028 .ng28-business-grid,
    #newgrads2028 .ng28-frontier-inner,
    #newgrads2028 .ng28-message-inner,
    #newgrads2028 .ng28-people,
    #newgrads2028 .ng28-final-inner {
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: none !important;
        width: var(--ng28-pc-inner) !important;
    }

    #newgrads2028 .ng28-section-label {
        font-size: 16px !important;
        line-height: 1.5 !important;
    }

    #newgrads2028 .ng28-hero {
        background: #050c1e;
        display: flex !important;
        flex-direction: column !important;
        height: 100vh !important;
        justify-content: center !important;
        min-height: 620px !important;
        overflow: hidden !important;
        position: relative !important;
    }

    #newgrads2028 .ng28-hero-bg,
    #newgrads2028 .ng28-hero-bg::after,
    #newgrads2028 .ng28-frontier-bg,
    #newgrads2028 .ng28-frontier-bg::after {
        position: absolute !important;
    }

    #newgrads2028 .ng28-hero-inner {
        display: flex !important;
        flex-direction: column !important;
        gap: 44vh !important;
        inset: auto !important;
        justify-content: center !important;
        margin: 0 auto !important;
        min-height: 0 !important;
        padding: 0 !important;
        position: relative !important;
        width: 100% !important;
        z-index: 1 !important;
    }

    #newgrads2028 .ng28-top-cta {
        align-items: center;
        color: #fff;
        display: grid;
        grid-template-columns: 1fr min(2.041667vw, 39px);
        grid-template-rows: auto auto;
        left: auto;
        min-height: 0;
        text-align: left;
        z-index: 2;
        background: rgba(151, 116, 20, 0.5);
        font-size: 16px !important;
        height: 110px !important;
        padding: 26px 34px !important;
        position: absolute !important;
        right: 0 !important;
        top: 0 !important;
        width: 392px !important;
        border-radius: 0 0 0 15px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.5);
        border-left: 1px solid rgba(255, 255, 255, 0.5);
    }

    #newgrads2028 .ng28-top-cta span {
        font-family: "Noto Sans", "Noto Sans JP", sans-serif;
        font-weight: 400;
        grid-column: 1;
        line-height: 1.2;
        font-size: 20px !important;
        color: #fff;
    }

    #newgrads2028 .ng28-top-cta strong {
        color: #fff;
        font-weight: 500;
        grid-column: 1;
        line-height: 1.35;
        margin-top: 0.25em;
        font-size: 16px !important;
    }

    #newgrads2028 .ng28-top-cta img {
        grid-column: 2;
        grid-row: 1 / 3;
        height: 39px !important;
        width: 39px !important;
    }

    #newgrads2028 .ng28-card-image {
        background-position: center;
        background-size: cover;
        inset: 0;
        transition: transform 0.55s ease;
        position: absolute !important;
    }

    #newgrads2028 .ng28-card-title,
    #newgrads2028 .ng28-card-title span {
        font-size: 22px !important;
        line-height: 1.55 !important;
    }

    #newgrads2028 .ng28-story-text,
    #newgrads2028 .ng28-story-text-second {
        flex: 1 1 480px !important;
        font-size: 18px !important;
        left: auto !important;
        line-height: 2 !important;
        margin: 0 !important;
        max-width: none !important;
        position: static !important;
        top: auto !important;
    }

    #newgrads2028 .ng28-role-card div,
    #newgrads2028 .ng28-person-body {
        position: absolute !important;
    }

    #newgrads2028 .ng28-message::before {
        color: #575757;
        content: "TOP MESSAGE";
        font-family: "Zen Old Mincho", "Noto Serif JP", serif;
        font-size: min(1.822917vw, 35px);
        left: 21.822917vw;
        line-height: min(3.620365vw, 69.5px);
        position: absolute;
        top: min(48.75vw, 936px);
        display: none !important;
    }

    #newgrads2028 .ng28-message-photo img {
        object-fit: cover;
        opacity: 0.6;
        width: 100%;
        aspect-ratio: 754 / 460 !important;
        height: auto !important;
    }

    #newgrads2028 .ng28-message-body .ng28-section-label {
        display: block !important;
        font-size: 35px !important;
        font-weight: 400 !important;
    }

    #newgrads2028 .ng28-message-title {
        font-size: inherit;
        line-height: inherit;
        margin: 0;
        display: block !important;
    }

    #newgrads2028 .ng28-slider-control button {
        background: transparent;
        border: 0;
        color: #525252;
        cursor: pointer;
        height: auto;
        line-height: min(2.097396vw, 40.27px);
        padding: 0;
        width: auto;
        font-size: 18px !important;
    }

    #newgrads2028 .ng28-slider-count {
        color: #525252;
        font-weight: 500;
        letter-spacing: 0.1em;
        min-width: 0;
        font-size: 14px !important;
    }
}

@media (max-width: 640px) {
    #newgrads2028 .ng28-people-inner {
        display: flex !important;
        flex-direction: column;
    }

    #newgrads2028 .ng28-slider-control {
        flex-wrap: nowrap;
        order: 4 !important;
    }

    #newgrads2028 .ng28-slider-area {
        order: 3 !important;
    }

    #newgrads2028 .ng28-slider-count {
        display: inline-flex;
        justify-content: center;
        min-width: 12vw;
        white-space: nowrap;
    }
}

@media (min-width: 641px) and (max-width: 1100px) {
    #newgrads2028 .ng28-business-grid,
    #newgrads2028 .ng28-role-grid,
    #newgrads2028 .ng28-frontier-story,
    #newgrads2028 .ng28-final-inner {
        flex-wrap: wrap !important;
    }

    #newgrads2028 .ng28-business-grid {
        justify-content: center !important;
    }

    #newgrads2028 .ng28-business-card {
        flex: 0 1 515px !important;
    }

    #newgrads2028 .ng28-role-grid {
        justify-content: center !important;
    }

    #newgrads2028 .ng28-role-card {
        flex: 0 1 255px !important;
    }

    #newgrads2028 .ng28-message-inner {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    #newgrads2028 .ng28-message-photo,
    #newgrads2028 .ng28-message-body {
        flex: 0 1 auto !important;
        width: min(100%, 754px) !important;
    }

    #newgrads2028 .ng28-people-inner {
        flex-direction: column !important;
    }

    #newgrads2028 .ng28-slider-control {
        margin-top: 42px !important;
    }

    #newgrads2028 .ng28-final-copy,
    #newgrads2028 .ng28-final-earth {
        flex: 1 1 420px !important;
    }
}

@media (min-width: 641px) {
    #newgrads2028 {
        --ng28-pc-side: 8%;
        --ng28-pc-inner: min(100%, 1080px);
        --ng28-design-inner: min(100%, 1080px);
        --ng28-design-side: max(8%, calc((100vw - 1080px) / 2));
    }

    #newgrads2028 .ng28-section-title {
        color: #000;
        margin: 0;
        font-size: 35px !important;
        line-height: 1.4286 !important;
    }

    #newgrads2028 .ng28-hero-title {
        color: #fff;
        text-shadow: 0 0 30px rgba(8, 16, 30, 0.6);
        left: auto !important;
        position: static !important;
        top: auto !important;
        white-space: normal !important;
        margin: 0 !important;
        font-size: 63px !important;
        line-height: 1.53 !important;
    }

    #newgrads2028 .ng28-hero-lead {
        color: #fff;
        margin: 0;
        text-align: left;
        text-shadow: 0 0 18px rgba(21, 20, 24, 0.8);
        align-self: flex-end !important;
        position: static !important;
        right: auto !important;
        top: auto !important;
        white-space: normal !important;
        font-size: 38px !important;
        line-height: 1.67 !important;
    }

    #newgrads2028 .ng28-section-head,
    #newgrads2028 .ng28-business-grid,
    #newgrads2028 .ng28-frontier-inner,
    #newgrads2028 .ng28-final-inner {
        width: var(--ng28-design-inner) !important;
    }

    #newgrads2028 .ng28-business {
        background: #fff;
        display: flex !important;
        flex-direction: column !important;
        min-height: 0 !important;
        padding-bottom: 140px !important;
        padding-top: 88px !important;
        padding: 89px max(8%, calc((100vw - 1080px) / 2)) 160px !important;
    }

    #newgrads2028 .ng28-business .ng28-section-label {
        color: #000;
        font-family: "Zen Old Mincho", "Noto Serif JP", serif;
        font-weight: 500;
        margin: 0;
        display: block !important;
        font-size: 35px !important;
        line-height: 1.4286 !important;
    }

    #newgrads2028 .ng28-business .ng28-section-head {
        text-align: left !important;
        margin-bottom: 58px !important;
    }

    #newgrads2028 .ng28-section-copy {
        color: #000;
        font-family: "Zen Old Mincho", "Noto Serif JP", serif;
        font-weight: 400;
        margin: min(0.989583vw, 19px) 0 0;
        max-width: none;
        white-space: normal !important;
        font-size: 20px !important;
        line-height: 2.05 !important;
        width: 957px !important;
    }

    #newgrads2028 .ng28-business-grid {
        grid-template-columns: repeat(2, min(26.822917vw, 515px));
        margin-left: 21.875vw;
        max-width: none;
        display: flex !important;
        gap: 49px !important;
        overflow: visible !important;
    }

    #newgrads2028 .ng28-business-card {
        box-shadow: none;
        overflow: hidden;
        aspect-ratio: 515 / 463 !important;
        display: flex !important;
        min-height: 0 !important;
        position: relative !important;
        flex: 0 0 515px !important;
        height: 520px !important;
        width: 515px !important;
    }

    #newgrads2028 .ng28-card-panel {
        color: #fff;
        z-index: 1;
        display: flex !important;
        flex-direction: column !important;
        padding: 0 !important;
        position: absolute !important;
        left: 30px !important;
        right: 30px !important;
        top: 39px !important;
        bottom: 47px !important;
    }

    #newgrads2028 .ng28-card-title {
        color: #fff;
        display: block;
        font-family: "Zen Old Mincho", "Noto Serif JP", serif;
        font-weight: 600;
        margin: 0 0 min(1.354167vw, 26px);
        font-size: 25px !important;
        line-height: 1.6 !important;
        margin-bottom: 26px !important;
        white-space: nowrap !important;
    }

    #newgrads2028 .ng28-card-title span {
        font-size: 20px !important;
    }

    #newgrads2028 .ng28-card-copy {
        color: #fff;
        display: block;
        font-weight: 400;
        margin: 0;
        font-size: 16px !important;
        line-height: 34px !important;
        width: 456px !important;
    }

    #newgrads2028 .ng28-card-more {
        align-items: center;
        display: flex;
        font-weight: 500;
        gap: min(1.25vw, 24px);
        left: 0;
        bottom: 0 !important;
        position: absolute !important;
        font-size: 16px !important;
        line-height: 34px !important;
    }

    #newgrads2028 .ng28-role-card {
        background: transparent;
        color: #fff;
        overflow: hidden;
        position: relative !important;
        flex: 0 0 255px !important;
        height: 423px !important;
        min-height: 0 !important;
        width: 255px !important;
    }

    #newgrads2028 .ng28-role-card h3 {
        font-weight: 500;
        margin: 0;
        line-height: 1.8 !important;
        font-size: 18px !important;
    }

    #newgrads2028 .ng28-role-card p {
        color: rgba(255, 255, 255, 0.45);
        font-weight: 500;
        line-height: 1.5;
        margin: 0 0 16px;
        font-size: 12px !important;
    }

    #newgrads2028 .ng28-role-card span {
        color: #fff;
        display: block;
        font-weight: 400;
        font-size: 14.5px !important;
        line-height: 25px !important;
    }

    #newgrads2028 .ng28-message {
        display: flex !important;
        flex-direction: column !important;
        padding-bottom: 132px !important;
        padding-top: 118px !important;
        position: relative !important;
        margin-top: -930px !important;
        min-height: 1930px !important;
        padding: 936px 0 120px !important;
    }

    #newgrads2028 .ng28-message-inner {
        grid-template-columns: min(32.65625vw, 627px) min(39.270833vw, 754px);
        margin: 0 0 0 21.875vw;
        max-width: none;
        align-items: flex-start !important;
        display: flex !important;
        flex-direction: row !important;
        gap: 0 !important;
        margin-left: var(--ng28-design-side) !important;
        margin-right: 0 !important;
        overflow: visible !important;
        width: 1261px !important;
    }

    #newgrads2028 .ng28-message-body {
        background: linear-gradient(133deg, #fff 31%, #999 103%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        grid-column: 1;
        grid-row: 1;
        margin-top: min(4.375vw, 84px);
        margin: 0 !important;
        flex: 0 0 627px !important;
        order: 1 !important;
        position: relative !important;
        width: 627px !important;
        z-index: 2 !important;
    }

    #newgrads2028 .ng28-message-photo {
        grid-column: 2;
        grid-row: 1;
        overflow: hidden;
        flex: 0 0 754px !important;
        height: 460px !important;
        margin: 154px 0 0 -120px !important;
        order: 2 !important;
        position: relative !important;
        width: 754px !important;
        z-index: 1 !important;
    }

    #newgrads2028 .ng28-message-body p,
    #newgrads2028 .ng28-message-title {
        font-family: "Zen Old Mincho", "Noto Serif JP", serif;
        font-weight: 500;
        margin: 0 0 min(1.145833vw, 22px);
        font-size: 21px !important;
        line-height: 38px !important;
    }

    #newgrads2028 .ng28-message .ng28-main-cta {
        align-self: center !important;
        font-size: 16px !important;
        left: auto !important;
        margin-top: 90px !important;
        position: static !important;
        top: auto !important;
        transform: none !important;
        height: 80px !important;
        margin: 94px auto 0 !important;
        width: 509px !important;
        transition: 0.3s;
    }

    #newgrads2028 .ng28-message .ng28-main-cta:hover {
        opacity: 0.7;
    }

    #newgrads2028 .ng28-people {
        background: linear-gradient(108deg, #fff 9%, #f3f3f3 32%, #9d9d9d 99%);
        grid-template-columns: min(14.739583vw, 283px) min(80.729167vw, 1550px);
        gap: 72px !important;
        padding-bottom: 116px !important;
        padding-top: 108px !important;
        display: block !important;
        margin: 0 !important;
        padding-left: var(--ng28-pc-side) !important;
        padding-right: var(--ng28-pc-side) !important;
        width: auto !important;
        min-height: 705px !important;
        overflow: hidden !important;
        padding: 107px 0 0 var(--ng28-design-side) !important;
    }

    #newgrads2028 .ng28-people-inner {
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: none !important;
        display: flex !important;
        gap: 163px !important;
        margin: 0 !important;
        overflow: visible !important;
        width: 1996px !important;
    }

    #newgrads2028 .ng28-people-head {
        padding: 0 !important;
        flex: 0 0 300px !important;
    }

    #newgrads2028 .ng28-people .ng28-section-title {
        white-space: normal !important;
        font-size: 30px !important;
        line-height: 50px !important;
    }

    #newgrads2028 .ng28-people-head p {
        font-family: "Zen Old Mincho", "Noto Serif JP", serif;
        font-weight: 400;
        margin: min(1.302083vw, 25px) 0 0;
        white-space: normal !important;
        font-size: 20px !important;
        line-height: 41px !important;
        margin-top: 25px !important;
    }

    #newgrads2028 .ng28-slider-control {
        align-items: center;
        border: 1px solid #525252;
        display: flex;
        justify-content: center;
        border-radius: 14px !important;
        gap: 24px !important;
        height: 79px !important;
        margin-top: 191px !important;
        width: 183px !important;
    }

    #newgrads2028 .ng28-slider-area {
        padding: 0;
        min-width: 0 !important;
        flex: 0 0 1550px !important;
        overflow: visible !important;
        width: 1550px !important;
    }

    #newgrads2028 #ng28-people-title {
        font-size: 30px !important;
        line-height: 50px !important;
    }

    #newgrads2028 .ng28-people-slider .slick-list {
        overflow: hidden !important;
        width: 1550px !important;
    }

    #newgrads2028 .ng28-people-slider .slick-slide {
        height: auto;
        margin-right: 50px !important;
        width: 350px !important;
    }

    #newgrads2028 .ng28-person-slide {
        color: #fff;
        display: block;
        overflow: hidden;
        position: relative;
        width: 100%;
        height: 490px !important;
    }

    #newgrads2028 .ng28-person-title {
        display: block;
        font-family: "Zen Old Mincho", "Noto Serif JP", serif;
        font-weight: 500;
        font-size: 21px !important;
        line-height: 35px !important;
    }

    #newgrads2028 .ng28-person-name {
        display: inline-block;
        font-weight: 300;
        line-height: 1;
        margin-right: min(1.041667vw, 20px);
        font-size: 18px !important;
    }

    #newgrads2028 .ng28-person-en {
        color: #fff;
        display: inline-block;
        font-weight: 400;
        line-height: 1;
        margin: 0;
        font-size: 15px !important;
    }

    #newgrads2028 .ng28-person-role {
        display: block;
        font-weight: 300;
        margin-top: min(0.677083vw, 13px);
        min-height: 0;
        font-size: 13px !important;
        line-height: 21px !important;
    }

    #newgrads2028 .ng28-final {
        background: #fff;
        display: flex !important;
        min-height: 0 !important;
        padding-bottom: 100px !important;
        padding-top: 100px !important;
        overflow: hidden !important;
        padding: 120px 0 120px var(--ng28-design-side) !important;
    }

    #newgrads2028 .ng28-final-inner {
        grid-template-columns: 1fr 1fr;
        max-width: none;
        min-height: 0;
        height: auto !important;
        padding: 0 !important;
        position: relative !important;
        align-items: center !important;
        display: flex !important;
        gap: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
        width: 1080px !important;
    }

    #newgrads2028 .ng28-final-copy {
        margin-left: 21.71875vw;
        position: relative;
        z-index: 1;
        margin: 0 !important;
        flex: 0 0 404px !important;
        width: 404px !important;
    }

    #newgrads2028 .ng28-final-title {
        color: #000;
        margin: 0;
        font-size: 30px !important;
        line-height: 50px !important;
    }

    #newgrads2028 .ng28-final-copy p {
        color: #000;
        font-family: "Zen Old Mincho", "Noto Serif JP", serif;
        font-weight: 400;
        margin: min(1.302083vw, 25px) 0 0;
        font-size: 20px !important;
        line-height: 41px !important;
    }

    #newgrads2028 .ng28-final-earth {
        margin-top: max(-5.78125vw, -111px);
        max-width: none;
        margin: 0 !important;
        position: static !important;
        flex: 0 0 944px !important;
        height: 451px !important;
        margin-left: 174px !important;
        object-fit: cover !important;
        width: 944px !important;
    }

    #newgrads2028 .ng28-frontier {
        display: flex !important;
        min-height: 0 !important;
        padding-bottom: 132px !important;
        padding-top: 128px !important;
        position: relative !important;
        overflow: hidden !important;
        height: 2232px !important;
        padding: 0 !important;
    }

    #newgrads2028 .ng28-frontier-inner {
        margin: 0;
        max-width: none;
        flex-direction: column !important;
        padding: 0 !important;
        z-index: 1 !important;
        gap: 86px !important;
        display: block !important;
        height: 2232px !important;
        overflow: visible !important;
        position: relative !important;
        width: var(--ng28-design-inner) !important;
    }

    #newgrads2028 .ng28-dark-title {
        background: linear-gradient(157deg, #fff 64%, #b6b6b6 77%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        white-space: normal !important;
        font-size: 45px !important;
        line-height: 1.6667 !important;
        margin-left: 32px !important;
        width: 630px !important;
        left: 32px !important;
        margin: 0 !important;
        position: absolute !important;
        top: 140px !important;
    }

    #newgrads2028 .ng28-frontier-story {
        inset: auto !important;
        margin: 0 !important;
        width: auto !important;
        align-items: flex-start !important;
        flex-wrap: wrap !important;
        gap: 80px 123px !important;
        overflow: visible !important;
        display: block !important;
        position: static !important;
    }

    #newgrads2028 .ng28-story-photo {
        overflow: hidden;
        flex: 0 0 268px !important;
        order: 1 !important;
        height: 342px !important;
        left: 0 !important;
        margin: 0 !important;
        position: absolute !important;
        top: 427px !important;
        width: 268px !important;
    }

    #newgrads2028 .ng28-story-text:not(.ng28-story-text-second) {
        flex: 0 0 756px !important;
        font-size: 25px !important;
        line-height: 40px !important;
        order: 2 !important;
        left: 391px !important;
        position: absolute !important;
        top: 458px !important;
        width: 756px !important;
    }

    #newgrads2028 .ng28-story-text-second {
        margin: 0;
        max-width: min(22.5vw, 432px);
        flex: 0 0 432px !important;
        font-size: 25px !important;
        line-height: 40px !important;
        order: 3 !important;
        left: 0 !important;
        position: absolute !important;
        top: 907px !important;
        width: 432px !important;
    }

    #newgrads2028 .ng28-story-side {
        overflow: hidden;
        flex: 0 0 446px !important;
        margin-left: 221px !important;
        order: 4 !important;
        height: 281px !important;
        left: 653px !important;
        margin: 0 !important;
        position: absolute !important;
        top: 947px !important;
        width: 446px !important;
    }

    #newgrads2028 .ng28-statement {
        color: #fff;
        font-weight: 400;
        text-align: center !important;
        white-space: normal !important;
        font-size: 35px !important;
        line-height: 1.7143 !important;
        margin-top: 96px !important;
        width: 735px !important;
        left: 104px !important;
        margin: 0 !important;
        position: absolute !important;
        top: 1465px !important;
        transform: none !important;
    }

    #newgrads2028 .ng28-role-grid {
        grid-template-columns: repeat(4, min(13.301415vw, 255.39px));
        max-width: none;
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 20px !important;
        margin-top: 82px !important;
        overflow: visible !important;
        width: 1080px !important;
        left: 0 !important;
        margin: 0 !important;
        position: absolute !important;
        top: 1657px !important;
    }
}

.ng28-bottom-bnr {
    padding: 70px 8% 88px;
    background: #f2f2f2;

    & ul {
        width: min(100%, 1080px);
        margin: 0 auto !important;
        display: flex;
        gap: 20px;

        & li {
            width: calc(25% - 15px);
            margin: 0;

            & img {
                width: 100%;
                height: auto;
                transition: 0.3s;

                &:hover {
                    opacity: 0.7;
                }
            }

            & .business_child_section_flex_link {
                margin: 8px 0 0 0;
                font-size: 15px;
                text-decoration: underline !important;
            }
        }
    }
}

@media (max-width: 640px) {
    .ng28-bottom-bnr {
        padding: 60px 8% 72px;

        & ul {
            display: flex;
            flex-direction: column;
            gap: 40px;

            & li {
                width: 90%;
                margin: 0 auto;

                & .business_child_section_flex_link {
                    margin: 16px 0 0 0;
                    font-size: 14px;
                }
            }
        }
    }
}
