.p_br {
    display: block
}

.m_br {
    display: none
}

.pad_br {
    display: none
}

@media screen and (max-width:1023px) {
    .p_br {
        display: none
    }

    .pad_br {
        display: block
    }
}

@media screen and (max-width:767px) {
    .p_br,
    .pad_br {
        display: none
    }

    .m_br {
        display: block
    }
}

br.pad_br,
br.m_br {
    display: none
}

@media screen and (max-width:1023px) {
    br.p_br {
        display: none
    }

    br.pad_br {
        display: block
    }

    br.p_br1023 {
        display: none
    }
}

@media screen and (max-width:767px) {
    br.p_br,
    br.pad_br {
        display: none
    }

    br.m_br {
        display: block
    }
}

@media screen and (max-width:1440px) {
    .bl_title-faq {
        margin-top: 6.25rem;
        margin-bottom: 3.75rem;
        padding: 0 2rem
    }

    .bl_title-faq span {
        font-size: 0.9rem
    }

    .bl_title-faq h2 {
        font-size: 2.75rem;
        line-height: 1.3
    }

    .bl_title-faq p {
        font-size: 1rem;
        line-height: 1.9
    }

    .bl_faq-section {
        padding: 7.5rem 2rem
    }

    .bl_faq-list {
        max-width: 68.75rem;
        margin-inline: auto
    }

    .bl_faq-item {
        margin-bottom: 1.125rem;
        border-radius: 1.5rem
    }

    .el_faq-question {
        padding: 1.75rem 2rem;
        gap: 1rem
    }

    .el_faq-q {
        width: 3.25rem;
        min-width: 3.25rem;
        font-size: 1.35rem
    }

    .el_faq-title {
        font-size: 1.05rem;
        line-height: 1.8
    }

    .el_faq-icon {
        width: 2.5rem;
        height: 2.5rem;
        min-width: 2.5rem
    }

    .el_faq-answer-inner {
        padding: 0 2rem 1.75rem;
        gap: 1rem
    }

    .el_faq-a {
        width: 2.5rem;
        min-width: 2.5rem;
        font-size: 1.35rem
    }

    .el_faq-answer p {
        font-size: 1rem;
        line-height: 1.9
    }

    header {
        padding: 1.25rem 2rem
    }

    header.is-scrolled {
        padding: 0.875rem 2rem
    }

    .bl_top-logo img {
        width: auto
    }

    .bl_header_right {
        gap: 1rem
    }

    .bl_header_entry {
        width: 8.75rem;
        height: 3.5rem;
        font-size: 0.95rem
    }

    .bl_header_burger {
        width: 3.75rem;
        height: 3.75rem
    }

    .bl_burger-menu {
        padding: 7.5rem 3.75rem 3.75rem;
        gap: 1.75rem
    }

    .bl_burger-menu a {
        font-size: 1.2rem
    }

    .ly_top_hero {
        padding-top: 17.5rem;
        padding-left: 2rem;
        padding-right: 2rem
    }

    .ly_top_hero h1 {
        font-size: clamp(4.5rem, 6vw, 5.625rem);
        line-height: 1.25
    }

    .ly_top_hero .bl_copy_mini {
        font-size: 0.72em
    }

    .bl_hero_logo {
        width: clamp(17rem, 23vw, 21.25rem)
    }

    .ly_top_hero p {
        margin-top: 2.25rem;
        font-size: clamp(1.875rem, 3vw, 2.5rem);
        line-height: 1.55;
        letter-spacing: 0.16em
    }

    .hero-bg {
        height: 105rem
    }

    .el_hero-bg_yellow,
    .el_hero-bg_lblue,
    .el_hero-bg_red,
    .el_hero-bg_purple,
    .el_hero-bg_blue {
        width: 54rem;
        height: auto;
        max-width: none
    }

    .el_hero-bg_yellow {
        top: -14rem;
        left: -18rem
    }

    .el_hero-bg_lblue {
        top: 20rem;
        left: -18rem
    }

    .el_hero-bg_red {
        top: -37rem;
        left: 23rem
    }

    .el_hero-bg_purple {
        top: -14rem;
        right: -17rem
    }

    .el_hero-bg_blue {
        top: 13rem;
        right: -22rem
    }

    .bl_arch-section {
        margin-top: 3.75rem
    }

    .bl_arch {
        width: 94%;
        padding: 6.875rem 2.5rem;
        border-top-left-radius: 50% 32rem;
        border-top-right-radius: 50% 32rem
    }

    .bl_arch-ytwrap {
        width: min(52.5rem, 82vw);
        margin-top: 3.75rem;
        border-radius: 1.5rem
    }

    .bl_recruit-area {
        padding: 5rem 2.5rem
    }

    .bl_script-text {
        font-size: 5rem
    }

    .bl_about-section {
        padding: 7.5rem 2rem
    }

    .bl_about-heading {
        margin-bottom: 4.5rem
    }

    .bl_about-heading h2 {
        font-size: 2.25rem;
        line-height: 1.4
    }

    .bl_script-txt {
        font-size: 5.5rem
    }

    .bl_about-grid {
        width: min(72rem, calc(100% - 4rem));
        margin-inline: auto;
        gap: 3rem 2rem
    }

    .bl_about_circle {
        width: clamp(11.5rem, 15vw, 13.75rem);
        height: clamp(11.5rem, 15vw, 13.75rem)
    }

    .bl_about_vertical {
        font-size: 1.5rem
    }

    .el_arrow-btn {
        width: 3rem;
        height: 3rem;
        font-size: 1.375rem
    }

    .bl_about-card h3 {
        font-size: 1.125rem;
        line-height: 1.6
    }

    .bl_career-block {
        margin: 7.5rem 0;
        gap: 3rem
    }

    .bl_career-content {
        padding: 0 2rem
    }

    .bl_career-photo {
        height: 28rem
    }

    .bl_people-card {
        width: min(72rem, calc(100% - 4rem))
    }

    .bl_people-row-top,
    .bl_people-row-bottom {
        gap: 2rem
    }

    .bl_interview-list {
        gap: 1.5rem
    }

    .bl_work-env-inner {
        width: min(72rem, calc(100% - 4rem));
        gap: 3rem
    }

    .bl_work-env-photo {
        height: 28rem
    }

    .bl_recruit-card {
        width: min(72rem, calc(100% - 4rem))
    }

    .bl_recruit-overlay h2 {
        font-size: 2.75rem
    }

    .bl_recruit-overlay p {
        font-size: 1rem;
        line-height: 1.9
    }

    .bl_footer_entry-cta {
        padding: 8rem 2rem
    }

    .bl_footer_entry-cta__title {
        font-size: 2rem;
        line-height: 1.4
    }

    .bl_footer_entry-cta__text {
        font-size: 1rem
    }

    .bl_contact-block {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-height: 22rem;
        padding: 5rem 2rem;
        text-align: center
    }

    .bl_question-box {
        padding-left: 0;
        align-items: center;
        text-align: center
    }

    .bl_question-script {
        top: -1.25rem
    }

    .bl_question-text {
        margin-top: 2rem;
        font-size: 0.875rem;
        line-height: 2;
        text-align: center
    }

    .bl_question-button-wrap {
        margin-top: 2.25rem
    }

    .bl_question-button {
        width: 20.9375rem;
        height: 4rem;
        font-size: 0.875rem
    }

    .bl_footer-nav-area {
        padding: 4.5rem 2rem 2.5rem
    }

    .bl_footer-inner {
        gap: 2.5rem
    }
}

@media screen and (max-width:1200px) {
    .bl_title-faq {
        margin-top: 5rem;
        margin-bottom: 3rem;
        padding: 0 1.5rem
    }

    .bl_title-faq span {
        font-size: 0.875rem
    }

    .bl_title-faq h2 {
        font-size: 2.25rem;
        line-height: 1.35;
        margin-bottom: 0.875rem
    }

    .bl_title-faq p {
        font-size: 0.95rem;
        line-height: 1.85
    }

    .bl_faq-section {
        padding: 6rem 1.5rem
    }

    .bl_faq-list {
        max-width: 58rem
    }

    .bl_faq-item {
        margin-bottom: 1rem;
        border-radius: 1.375rem
    }

    .el_faq-question {
        padding: 1.5rem 1.5rem;
        align-items: flex-start;
        gap: 0.875rem
    }

    .el_faq-q {
        width: 3rem;
        min-width: 3rem;
        font-size: 1.25rem;
        line-height: 1.4
    }

    .el_faq-title {
        font-size: 1rem;
        line-height: 1.75;
        padding-right: 0.75rem
    }

    .el_faq-icon {
        width: 2.25rem;
        height: 2.25rem;
        min-width: 2.25rem
    }

    .el_faq-icon::before {
        width: 0.875rem
    }

    .el_faq-icon::after {
        height: 0.875rem
    }

    .el_faq-answer-inner {
        padding: 0 1.5rem 1.5rem;
        gap: 0.875rem
    }

    .el_faq-a {
        font-size: 1.25rem
    }

    .el_faq-answer p {
        font-size: 0.95rem;
        line-height: 1.85
    }

    header {
        padding: 1rem 1.5rem
    }

    header.is-scrolled {
        padding: 0.75rem 1.5rem
    }

    .bl_top-logo img {
        width: auto
    }

    .bl_header_sns {
        display: none
    }

    .bl_header_entry {
        width: 7.75rem;
        height: 3.25rem;
        font-size: 0.9rem
    }

    .bl_header_right {
        gap: 0.75rem
    }

    .bl_header_burger {
        width: 3.5rem;
        height: 3.5rem
    }

    .bl_burger-menu {
        width: min(28rem, 100%);
        padding: 7rem 2.5rem 3rem;
        gap: 1.5rem;
        justify-content: flex-start;
        overflow-y: auto
    }

    .bl_burger-menu a {
        font-size: 1.125rem
    }

    .bl_menu_sns {
        display: flex;
        gap: 1rem;
        margin-top: 2.5rem;
        padding-top: 1.875rem;
        border-top: 1px solid rgba(0, 0, 0, 0.1)
    }

    .bl_menu_sns a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 3rem;
        height: 3rem;
        border-radius: 50%;
        background: #333
    }

    .bl_menu_sns img {
        width: 1.25rem;
        height: 1.25rem
    }

    .ly_top-bg {
        padding-bottom: 0
    }

    .ly_top_hero {
        padding-top: 14rem;
        padding-left: 1.5rem;
        padding-right: 1.5rem
    }

    .ly_top_hero h1 {
        font-size: clamp(3.25rem, 7vw, 4.5rem);
        line-height: 1.3
    }

    .ly_top_hero .bl_copy_mini {
        font-size: 0.7em;
        position: relative;
        left: 0.35em;
        top: 0.12em
    }

    .bl_hero_logo {
        width: clamp(14rem, 30vw, 19rem);
        display: inline-block;
        position: relative;
        top: 0.15em
    }

    .bl_hero_copybtm {
        display: inline-block;
        margin-left: 0.2rem
    }

    .ly_top_hero p {
        margin-top: 2rem;
        font-size: clamp(1.5rem, 3.6vw, 2.125rem);
        line-height: 1.6;
        letter-spacing: 0.13em
    }

    .hero-bg {
        height: 84rem;
        opacity: 0.95
    }

    .el_hero-bg_yellow,
    .el_hero-bg_lblue,
    .el_hero-bg_red,
    .el_hero-bg_purple,
    .el_hero-bg_blue {
        width: 46rem
    }

    .el_hero-bg_yellow {
        top: -12rem
    }

    .el_hero-bg_lblue {
        top: 17rem;
        left: -20rem
    }

    .el_hero-bg_red {
        top: -31rem;
        left: 14rem
    }

    .el_hero-bg_purple {
        top: -14rem;
        right: -20rem
    }

    .el_hero-bg_blue {
        top: 13rem;
        right: -21rem
    }

    .bl_arch-section {
        margin-top: 3.25rem
    }

    .bl_arch {
        width: 96%;
        padding: 6rem 2rem;
        border-top-left-radius: 50% 22rem;
        border-top-right-radius: 50% 22rem;
        background: rgba(255, 255, 255, 0.66);
        backdrop-filter: blur(0.5rem)
    }

    .bl_arch .bl_about-heading {
        margin-bottom: 2.5rem
    }

    .bl_arch .bl_about-heading h2 {
        font-size: 1.875rem;
        line-height: 1.5;
        text-align: center
    }

    .bl_arch .bl_script-txt {
        font-size: 4.75rem;
        top: -1rem
    }

    .bl_arch_subtxt {
        margin-top: 1rem;
        font-size: 0.8125rem;
        line-height: 1.9
    }

    .bl_arch-ytwrap {
        width: 100%;
        max-width: 46rem;
        margin-top: 3rem;
        border-radius: 1.25rem
    }

    .bl_recruit-area {
        padding: 4.5rem 1.5rem
    }

    .bl_recruit-left {
        min-height: 18rem
    }

    .bl_recruit-right {
        min-height: 18rem
    }

    .bl_script-text {
        left: 50%;
        top: 2rem;
        transform: translateX(-50%) rotate(-4deg);
        font-size: 4.25rem
    }

    .bl_about-section {
        padding: 6rem 1.5rem;
        background-size: calc(100vw / 36) calc(100vw / 36)
    }

    .bl_about-heading {
        margin-bottom: 4rem
    }

    .bl_about-heading h2 {
        font-size: 1.875rem;
        line-height: 1.45
    }

    .bl_min {
        font-size: 0.8em
    }

    .bl_script-txt {
        top: -0.875rem;
        font-size: 4.75rem;
        white-space: nowrap
    }

    .bl_about-grid {
        width: 100%;
        max-width: 48rem;
        margin: 0 auto;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 3rem 1.5rem
    }

    .bl_about-card {
        width: 100%;
        min-width: 0
    }

    .bl_about_circle {
        width: clamp(10rem, 18vw, 12rem);
        height: clamp(10rem, 18vw, 12rem);
        margin: 0 auto
    }

    .bl_about_circle img {
        max-width: 100%;
        height: auto
    }

    .bl_about_vertical {
        right: -0.45rem;
        font-size: 1.25rem
    }

    .el_arrow-btn {
        width: 2.875rem;
        height: 2.875rem;
        font-size: 1.25rem
    }

    .bl_about-card h3 {
        margin-top: 1rem;
        font-size: 1.0625rem;
        line-height: 1.55
    }

    .bl_career-block {
        grid-template-columns: 1fr 1fr;
        margin: 6rem 0;
        gap: 2rem;
        row-gap: 2rem
    }

    .bl_career-content {
        width: 100%;
        padding: 0 1.5rem
    }

    .bl_career-photo {
        height: 22rem
    }

    .bl_people-card {
        width: calc(100% - 3rem);
        padding: 5rem 2rem 3rem
    }

    .bl_interview-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.25rem
    }

    .bl_interview-list img {
        width: 100%;
        height: auto
    }

    .bl_talk-photo {
        width: 100%;
        height: auto
    }

    .bl_work-env-inner {
        width: calc(100% - 3rem);
        min-height: auto;
        padding: 5.5rem 0;
        gap: 2.5rem
    }

    .bl_work-env-content {
        width: min(27rem, 100%)
    }

    .bl_work-env-photo {
        margin-right: 0;
        height: 22rem;
        border-radius: 1.25rem
    }

    .bl_work-env-btn {
        width: 100%;
        max-width: 20rem
    }

    .bl_recruit-card {
        width: calc(100% - 3rem);
        height: auto
    }

    .bl_recruit-right img {
        height: 100%
    }

    .bl_recruit-overlay {
        padding: 3rem 2rem
    }

    .bl_recruit-overlay h2 {
        font-size: 2.25rem
    }

    .bl_recruit-overlay p {
        font-size: 0.95rem
    }

    .bl_footer_entry-cta {
        padding: 7rem 1.5rem
    }

    .bl_footer_entry-cta__title {
        font-size: 2.5rem
    }

    .bl_footer_entry-cta__text {
        font-size: 0.95rem
    }

    .bl_footer_entry-cta__button {
        width: 100%;
        max-width: 22rem;
        height: 4.5rem;
        font-size: 1rem;
        letter-spacing: 0.16em
    }

    .bl_contact-block {
        min-height: auto;
        padding: 4.75rem 1.5rem;
        background: radial-gradient(circle at 20% 8%, rgba(125, 220, 255, 0.28) 0, rgba(125, 220, 255, 0.14) 22%, transparent 42%), radial-gradient(circle at 88% 92%, rgba(230, 76, 157, 0.18) 0, transparent 34%), #f6f8fb
    }

    .bl_question-box {
        width: 100%;
        max-width: 42rem;
        margin: 0 auto
    }

    .bl_question-heading {
        margin-bottom: 1.5rem
    }

    .bl_question-heading h2 {
        font-size: 1.875rem;
        line-height: 1.4
    }

    .bl_question-script {
        top: -1.125rem;
        font-size: 5.75rem
    }

    .bl_question-text {
        margin: 0;
        line-height: 1.95
    }

    .bl_question-button {
        gap: 2rem;
        font-size: 0.9375rem;
        line-height: 1;
        letter-spacing: 0.06em
    }

    .bl_question-button span {
        font-size: 0.9375rem
    }

    .bl_question-button:hover {
        transform: none
    }

    .bl_footer-nav-area {
        padding: 4rem 1.5rem 2rem
    }

    .bl_footer-inner {
        gap: 2rem
    }

    .bl_footer-links a {
        font-size: 0.875rem;
        line-height: 1.8
    }

    .bl_bg-blob {
        opacity: 0.35;
        filter: blur(5rem)
    }
}

@media screen and (max-width:768px) {
    .bl_title-faq {
        margin-top: 70px;
        margin-bottom: 40px;
        padding: 0 20px
    }

    .bl_title-faq span {
        font-size: 0.85rem
    }

    .bl_title-faq h2 {
        font-size: 2rem;
        line-height: 1.3;
        margin-bottom: 12px
    }

    .bl_title-faq p {
        font-size: 0.9rem;
        line-height: 1.8
    }

    .bl_faq-section {
        padding: 80px 16px
    }

    .bl_faq-list {
        max-width: 100%
    }

    .bl_faq-item {
        margin-bottom: 14px;
        border-radius: 20px
    }

    .el_faq-question {
        padding: 20px 16px;
        gap: 12px
    }

    .el_faq-q {
        width: 42px;
        min-width: 42px;
        font-size: 1.1rem
    }

    .el_faq-title {
        font-size: 0.95rem;
        line-height: 1.7;
        padding-right: 10px
    }

    .el_faq-icon {
        width: 32px;
        height: 32px;
        min-width: 32px
    }

    .el_faq-icon::before {
        width: 12px
    }

    .el_faq-icon::after {
        height: 12px
    }

    .el_faq-answer-inner {
        padding: 0 16px 20px;
        gap: 12px
    }

    .el_faq-a {
        width: 32px;
        min-width: 32px;
        font-size: 1.1rem
    }

    .el_faq-answer p {
        font-size: 0.9rem;
        line-height: 1.8
    }

    header {
        padding: 16px 20px
    }

    header.is-scrolled {
        padding: 12px 20px
    }

    .bl_top-logo img {
        width: auto
    }

    .bl_header_entry {
        width: 110px;
        height: 48px
    }

    .bl_header_right {
        gap: 10px
    }

    .bl_header_burger {
        width: 52px;
        height: 52px
    }

    .bl_burger-menu {
        width: 100%;
        padding: 100px 30px 40px;
        gap: 24px
    }

    .bl_burger-menu a {
        font-size: 1.1rem
    }

    .bl_menu_sns {
        gap: 16px;
        margin-top: 40px;
        padding-top: 30px
    }

    .bl_menu_sns a {
        width: 48px;
        height: 48px
    }

    .bl_menu_sns img {
        width: 20px;
        height: 20px
    }

    .recruit-area {
        padding: 56px 18px
    }

    .recruit-card {
        grid-template-columns: 1fr;
        border-radius: 16px
    }

    .recruit-left {
        min-height: 230px
    }

    .recruit-right {
        height: 220px
    }

    .script-text {
        top: 34px;
        font-size: 58px
    }

    .bl_about-section {
        padding: 5rem 1rem;
        background-size: calc(100vw / 30) calc(100vw / 30)
    }

    .bl_about-heading {
        margin-bottom: 3.75rem
    }

    .bl_about-heading h2 {
        flex-direction: column;
        align-items: center;
        font-size: 1.5rem;
        line-height: 1.4
    }

    .bl_min {
        margin-left: 0;
        margin-top: 0.25rem
    }

    .bl_script-txt {
        top: -0.75rem;
        font-size: 3.5rem
    }

    .bl_about-grid {
        max-width: 26rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2.25rem 1rem
    }

    .bl_about_circle {
        width: clamp(8.5rem, 39vw, 10rem);
        height: clamp(8.5rem, 39vw, 10rem)
    }

    .bl_about_vertical {
        right: -0.35rem;
        font-size: 1rem
    }

    .el_arrow-btn {
        width: 3rem;
        height: 3rem;
        font-size: 1.375rem
    }

    .bl_about-card h3 {
        font-size: 1rem;
        line-height: 1.5
    }

    .bl_career-block {
        grid-template-columns: 1fr;
        margin: 80px 0;
        gap: 32px;
        row-gap: 30px
    }

    .bl_career-content {
        padding: 0 20px
    }

    .bl_career-photo {
        height: 260px;
        border-radius: 0
    }

    .bl_people-card {
        width: calc(100% - 30px);
        padding: 70px 20px 40px
    }

    .bl_people-row-top,
    .bl_people-row-bottom {
        grid-template-columns: 1fr;
        gap: 30px
    }

    .bl_interview-list {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px
    }

    .bl_work-env-inner {
        width: calc(100% - 40px);
        padding: 80px 0;
        grid-template-columns: 1fr;
        gap: 40px
    }

    .bl_work-env-content {
        width: min(430px, 100%)
    }

    .bl_work-env-photo {
        height: 260px;
        border-radius: 20px
    }

    .bl_work-env-btn {
        max-width: 320px
    }

    .bl_recruit-card {
        width: 100%;
        grid-template-columns: 1fr
    }

    .bl_recruit-right img {
        height: 220px
    }

    .bl_recruit-overlay {
        padding: 40px 20px
    }

    .bl_recruit-overlay h2 {
        font-size: 2rem
    }

    .bl_recruit-overlay p {
        font-size: 0.9rem
    }

    .bl_footer_entry-cta {
        padding: 100px 20px
    }

    .bl_footer_entry-cta__title {
        font-size: 1.8rem
    }

    .bl_footer_entry-cta__text {
        font-size: 0.9rem
    }

    .bl_footer_entry-cta__button {
        max-width: 320px;
        height: 70px;
        letter-spacing: 0.2em
    }

    .bl_contact-block {
        display: block;
        padding: 4rem 1rem
    }

    .bl_question-box {
        max-width: 23rem;
        padding: 2.5rem 1.25rem 0;
        background: #fff;
        border-radius: 1.5rem 1.5rem 0 0
    }

    .bl_question-heading h2 {
        font-size: 1.625rem
    }

    .bl_question-script {
        top: -1rem;
        font-size: 4rem
    }

    .bl_question-text {
        line-height: 1.9;
        text-align: left
    }

    .bl_question-text br {
        display: none
    }

    .bl_question-button-wrap {
        width: 100%;
        max-width: 23rem;
        margin: 0 auto;
        padding: 2rem 1.25rem 2.5rem;
        background: #fff;
        border-radius: 0 0 1.5rem 1.5rem
    }

    .bl_question-button {
        width: 100%;
        height: 3.5rem;
        gap: 0;
        box-shadow: 0 0.5rem 1rem rgba(78, 123, 180, 0.18)
    }

    .bl_question-button span {
        margin-left: 0.75rem
    }

    .bl_footer-nav-area {
        padding: 50px 20px 30px
    }

    .bl_footer-inner {
        display: flex;
        flex-direction: column;
        gap: 32px;
        align-items: center;
        text-align: center
    }

    .bl_footer-divider {
        display: none
    }

    .bl_footer-links {
        width: 100%;
        grid-template-columns: 1fr;
        gap: 0
    }

    .bl_footer-links ul {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: 6px
    }

    .bl_footer-links li {
        margin: 8px
    }

    .bl_footer-links li+li {
        margin-top: 8px
    }

    .bl_footer-links a {
        font-size: 14px
    }

    .bl_footer-logos {
        width: 100%;
        padding-top: 0
    }

    .bl_logo-row {
        justify-content: center;
        flex-wrap: wrap;
        gap: 18px;
        margin-bottom: 20px
    }

    .bl_sdgs-logo {
        font-size: 8px
    }

    .bl_sdgs-logo strong {
        font-size: 15px
    }

    .bl_privacy-logo {
        width: 48px;
        height: 34px;
        font-size: 22px
    }

    .bl_cert-logo {
        width: 52px;
        height: 52px;
        font-size: 22px
    }

    .bl_footer-logos p {
        font-size: 11px;
        line-height: 1.8
    }

    .bl_bg-blob {
        opacity: 0.3;
        filter: blur(80px)
    }

    .ly_top_hero {
        padding-top: 9.5rem;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .ly_top_hero h1 {
        font-size: 2.25rem;
        line-height: 1
    }

    .ly_top_hero .bl_copy_mini {
        font-size: 0.75em;
        left: 0.6em;
        top: 0.2em
    }

    .bl_hero_logo {
        width: clamp(10.5rem, 50vw, 14rem);
        top: 0.2em
    }

    .ly_top_hero p {
        margin-top: 1.5rem;
        font-size: clamp(1.125rem, 5vw, 1.5rem);
        letter-spacing: 0.1em
    }

    .bl_arch-section {
        margin-top: 3.5rem
    }

    .bl_arch {
        width: 100%;
        padding: 5rem 1rem 4.5rem;
        border-top-left-radius: 50% 8rem;
        border-top-right-radius: 50% 8rem;
        background: rgba(255, 255, 255, 0.72);
        backdrop-filter: blur(0.375rem)
    }

    .bl_arch .bl_about-heading {
        margin-bottom: 1.75rem
    }

    .bl_arch .bl_about-heading h2 {
        font-size: 1.45rem;
        line-height: 1.55
    }

    .bl_arch .bl_min {
        display: block;
        margin-left: 0;
        margin-top: 0.15rem;
        font-size: 0.78em
    }

    .bl_arch .bl_script-txt {
        font-size: 3.5rem;
        top: -0.9rem
    }

    .bl_arch_subtxt {
        margin-top: 1.25rem;
        letter-spacing: 0.04em
    }

    .bl_arch_subtxt br:not(.p_br):not(.pad_br):not(.m_br) {
        display: none
    }

    .bl_arch-ytwrap {
        margin-top: 2rem;
        border-radius: 1rem;
        box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.14)
    }

    .hero-bg {
        height: 58rem;
        opacity: 0.9
    }

    .el_hero-bg_yellow,
    .el_hero-bg_lblue,
    .el_hero-bg_red,
    .el_hero-bg_purple,
    .el_hero-bg_blue {
        width: 31rem
    }

    .el_hero-bg_yellow {
        top: -7rem;
        left: -15rem
    }

    .el_hero-bg_lblue {
        top: 13rem;
        left: -14rem
    }

    .el_hero-bg_red {
        top: -22rem;
        left: 2rem
    }

    .el_hero-bg_purple {
        top: -11rem;
        right: -18rem
    }

    .el_hero-bg_blue {
        top: 10rem;
        right: -15rem
    }
}

@media screen and (max-width:500px) {
    .bl_title-faq {
        margin-top: 4.375rem;
        margin-bottom: 2.5rem;
        padding: 0 1.25rem
    }

    .bl_title-faq h2 {
        margin-bottom: 0.75rem
    }

    .bl_faq-section {
        padding: 5rem 1rem
    }

    .bl_faq-item {
        margin-bottom: 0.875rem;
        border-radius: 1.25rem
    }

    .el_faq-question {
        padding: 1.25rem 1rem;
        gap: 0.75rem
    }

    .el_faq-q {
        width: 2.625rem;
        min-width: 2.625rem
    }

    .el_faq-title {
        padding-right: 0.625rem
    }

    .el_faq-icon {
        width: 2rem;
        height: 2rem;
        min-width: 2rem
    }

    .el_faq-icon::before {
        width: 0.75rem
    }

    .el_faq-icon::after {
        height: 0.75rem
    }

    .el_faq-answer-inner {
        padding: 0 1rem 1.25rem;
        gap: 0.75rem
    }

    .el_faq-a {
        width: 2rem;
        min-width: 2rem
    }

    header {
        padding: 1rem 1.25rem
    }

    header.is-scrolled {
        padding: 0.75rem 1.25rem
    }

    .bl_top-logo img {
        width: auto
    }

    .bl_header_entry {
        width: 6.875rem;
        height: 3rem
    }

    .bl_header_right {
        gap: 0.625rem
    }

    .bl_header_burger {
        width: 3.25rem;
        height: 3.25rem
    }

    .bl_burger-menu {
        padding: 6.25rem 1.875rem 2.5rem;
        gap: 1.5rem
    }

    .bl_menu_sns {
        gap: 1rem;
        margin-top: 2.5rem;
        padding-top: 1.875rem
    }

    .bl_menu_sns a {
        width: 3rem;
        height: 3rem
    }

    .bl_menu_sns img {
        width: 1.25rem;
        height: 1.25rem
    }

    .ly_top_hero h1 {
        font-size: clamp(2.25rem, 10vw, 3rem);
        line-height: 1.08
    }

    .ly_top_hero .bl_copy_mini {
        left: 0.55em;
        top: 0.18em
    }

    .recruit-area {
        padding: 3.5rem 1.125rem
    }

    .recruit-card {
        border-radius: 1rem
    }

    .recruit-left {
        min-height: 14.375rem
    }

    .recruit-right {
        height: 13.75rem
    }

    .script-text {
        top: 2.125rem;
        font-size: 3.625rem
    }

    .bl_career-block {
        margin: 5rem 0;
        gap: 2rem;
        row-gap: 1.875rem
    }

    .bl_career-content {
        padding: 0 1.25rem
    }

    .bl_career-photo {
        height: 16.25rem
    }

    .bl_people-card {
        width: calc(100% - 1.875rem);
        padding: 4.375rem 1.25rem 2.5rem
    }

    .bl_people-row-top,
    .bl_people-row-bottom {
        gap: 1.875rem
    }

    .bl_interview-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.25rem
    }

    .bl_work-env-inner {
        width: calc(100% - 2.5rem);
        padding: 5rem 0;
        gap: 2.5rem
    }

    .bl_work-env-content {
        width: min(26.875rem, 100%)
    }

    .bl_work-env-photo {
        height: 16.25rem;
        border-radius: 1.25rem
    }

    .bl_work-env-btn {
        max-width: 20rem
    }

    .bl_recruit-right img {
        height: 13.75rem
    }

    .bl_recruit-overlay {
        padding: 2.5rem 1.25rem
    }

    .bl_footer_entry-cta {
        padding: 6.25rem 1.25rem
    }

    .bl_footer_entry-cta__button {
        max-width: 20rem;
        height: 4.375rem
    }

    .bl_footer-nav-area {
        padding: 3.125rem 1.25rem 1.875rem
    }

    .bl_footer-inner {
        gap: 2rem
    }

    .bl_footer-links ul {
        margin-top: 0.375rem
    }

    .bl_footer-links li {
        margin: 0.5rem
    }

    .bl_footer-links li+li {
        margin-top: 0.5rem
    }

    .bl_footer-links a {
        font-size: 0.875rem
    }

    .bl_logo-row {
        gap: 1.125rem;
        margin-bottom: 1.25rem
    }

    .bl_sdgs-logo {
        font-size: 0.5rem
    }

    .bl_sdgs-logo strong {
        font-size: 0.9375rem
    }

    .bl_privacy-logo {
        width: 3rem;
        height: 2.125rem;
        font-size: 1.375rem
    }

    .bl_cert-logo {
        width: 3.25rem;
        height: 3.25rem;
        font-size: 1.375rem
    }

    .bl_footer-logos p {
        font-size: 0.6875rem
    }

    .bl_bg-blob {
        filter: blur(5rem)
    }
}

.bl_int-people,
.bl_interview-people-bg,
.bl_interview-talk-body {
    overflow-x: hidden
}

@media screen and (max-width:1024px) {
    .bl_int-people_cont {
        grid-template-columns: repeat(2, 1fr);
        gap: 32px
    }

    .bl_int-people {
        padding: 100px 24px 130px
    }

    .bl_interview-talk-profile ul {
        gap: 30px
    }

    .bl_p_profile-card {
        width: calc(50% - 15px)
    }

    .bl_p_talk-block {
        width: calc(100% - 48px);
        padding: 60px 44px
    }

    .bl_p_section-head h3 {
        font-size: 1.8rem
    }

    .bl_p_bubble {
        max-width: calc(100% - 110px)
    }
}

@media screen and (max-width:820px) {
    .bl_people-mv {
        padding-left: 24px;
        padding-right: 24px
    }

    .bl_hero-grid,
    .bl_people-mv .bl_container {
        display: block
    }

    .bl_people-mv_img {
        margin-bottom: 32px
    }

    .bl_people-mv_img img {
        width: 100%
    }

    .bl_people-mv_contents {
        width: 100%
    }

    .bl_interview_contleft,
    .bl_interview_contright {
        display: block;
        margin-bottom: 70px
    }

    .bl_interview_contleft img,
    .bl_interview_contright img {
        width: 100%;
        margin-bottom: 24px
    }

    .bl_interview_text {
        width: 100%
    }

    .bl_interview_fav-goal {
        display: block
    }

    .bl_interview_fav {
        margin-bottom: 24px
    }

    .bl_interview-talk-profile ul {
        display: block
    }

    .bl_p_profile-card {
        width: 100%;
        max-width: 520px;
        margin: 0 auto 32px
    }

    .bl_p_profile-card:last-child {
        margin-bottom: 0
    }
}

@media screen and (max-width:767px) {
    .bl_int-people {
        padding: 80px 16px 100px
    }

    .ly_wrap_int-people>p {
        margin: -30px auto 50px;
        text-align: left
    }

    .bl_int-people_cont {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .bl_int-people_item a {
        border-radius: 18px
    }

    .bl_int-people_img {
        aspect-ratio: 4 / 3
    }

    .bl_int-people_txt {
        padding-bottom: 48px
    }

    .bl_int-people_ctgr span {
        white-space: normal;
        line-height: 1.5
    }

    .bl_people-mv {
        padding: 90px 16px 64px
    }

    .bl_people-mv_contents h2 {
        font-size: 1.5rem;
        line-height: 1.5
    }

    .bl_people-mv_meta {
        display: block
    }

    .bl_people-mv_meta h3 {
        display: inline-block;
        margin: 0 6px 8px 0
    }

    .bl_people-mv_block p {
        line-height: 1.9
    }

    .bl_interview-people-bg {
        padding: 70px 16px 90px
    }

    .bl_interview_contleft,
    .bl_interview_contright {
        margin-bottom: 56px
    }

    .bl_interview_text,
    .bl_interview_text-fav {
        padding: 24px 20px
    }

    .bl_interview_text h2,
    .bl_interview_text-fav h2 {
        font-size: 1.25rem;
        line-height: 1.55
    }

    .bl_interview_text p,
    .bl_interview_text-fav p {
        font-size: .9rem;
        line-height: 1.9
    }

    .bl_interview_fav-goal {
        margin-bottom: 56px
    }

    .bl_interview-talk-profile {
        margin-bottom: 80px
    }

    .bl_p_profile-card {
        padding: 30px 22px
    }

    .bl_p_profile-image img {
        width: 140px;
        height: 140px
    }

    .profile-body .name {
        font-size: 1.35rem
    }

    .profile-body .position {
        line-height: 1.6
    }

    .reason {
        padding: 20px
    }

    .bl_p_talk-block {
        width: calc(100% - 32px);
        padding: 52px 20px 34px;
        margin-bottom: 60px;
        border-radius: 28px
    }

    .bl_p_number {
        top: -32px;
        left: 16px;
        font-size: 5.5rem
    }

    .bl_p_section-head {
        margin-bottom: 28px
    }

    .bl_p_section-head h3 {
        font-size: 1.35rem;
        line-height: 1.6
    }

    .bl_p_lead {
        padding: 24px 20px 24px 58px;
        margin-bottom: 36px
    }

    .bl_p_lead::before {
        left: 18px;
        top: 24px
    }

    .bl_p_lead p {
        font-size: .9rem;
        line-height: 1.85
    }

    .bl_p_bubble-row,
    .bl_p_bubble-row.right {
        display: block;
        margin-bottom: 40px
    }

    .bl_p_avatar {
        width: auto;
        display: flex;
        align-items: center;
        gap: 10px;
        text-align: left;
        margin-bottom: 12px
    }

    .bl_p_avatar img {
        width: 52px;
        height: 52px
    }

    .bl_p_avatar span {
        margin-top: 0
    }

    .bl_p_bubble {
        max-width: 100%;
        padding: 24px 20px
    }

    .bl_p_bubble p {
        font-size: .9rem;
        line-height: 1.9
    }
}

@media screen and (max-width:480px) {
    .bl_int-people {
        padding-left: 14px;
        padding-right: 14px
    }

    .el_lv2Heading .ja {
        font-size: 1.5rem
    }

    .el_lv2Heading .en {
        font-size: .7rem
    }

    .bl_people-mv {
        padding-left: 14px;
        padding-right: 14px
    }

    .bl_people-mv_contents h2 {
        font-size: 1.35rem
    }

    .bl_interview_text,
    .bl_interview_text-fav {
        padding: 22px 18px
    }

    .bl_p_talk-block {
        width: calc(100% - 28px);
        padding-left: 18px;
        padding-right: 18px
    }

    .bl_p_lead {
        padding: 56px 18px 20px
    }

    .bl_p_lead::before {
        top: 18px;
        left: 18px
    }

    .bl_p_bubble {
        padding: 22px 18px
    }
}

@media screen and (max-width:1024px) {
    .ly_top-bg {
        min-height: auto
    }

    .bl_hero {
        min-height: auto;
        padding: 130px 24px 90px
    }

    .bl_hero-grid {
        grid-template-columns: 1fr 1fr;
        gap: 24px
    }

    .bl_hero-copy h1 {
        font-size: 4.2em
    }

    .bl_bf_hero-image img,
    .bl_hero-image img {
        width: 100%;
        height: 480px
    }

    .anchor-nav-wrapper {
        padding: 100px 24px
    }

    .anchor-lists .anchor-lists_01 {
        gap: 24px
    }

    .anchor a {
        width: 300px;
        height: 68px;
        font-size: 1.25rem
    }
}

@media screen and (max-width:820px) {
    .bl_hero {
        padding: 110px 24px 80px
    }

    .bl_hero-grid {
        display: block
    }

    .bl_hero-copy {
        margin-bottom: 40px
    }

    .bl_hero-copy h1 {
        font-size: 3.8em
    }

    .bl_hero-copy p {
        max-width: 100%
    }

    .bl_bf_hero-image,
    .bl_hero-image {
        text-align: center
    }

    .bl_bf_hero-image img,
    .bl_hero-image img {
        width: 100%;
        height: auto;
        max-height: 520px;
        object-fit: contain
    }

    .anchor-nav-wrapper {
        padding: 80px 24px
    }

    .anchor-lists .anchor-lists_01 {
        gap: 18px
    }

    .anchor a {
        width: 260px;
        height: 64px;
        font-size: 1.1rem;
        letter-spacing: .1em
    }
}

@media screen and (max-width:767px) {
    .ly_top-bg {
        background-image: url("img/Frame2-sp.webp");
        background-position: top center;
        background-size: cover;
        background-repeat: no-repeat
    }

    .bl_hero {
        min-height: auto;
        padding: 90px 16px 64px;
        align-items: flex-start
    }

    .bl_hero-grid {
        display: block
    }

    .bl_hero-copy {
        margin-bottom: 32px
    }

    .bl_hero-copy .bl_sub {
        font-size: .78rem;
        margin-bottom: 12px
    }

    .bl_hero-copy h1 {
        font-size: 2.8em;
        line-height: 1.35
    }

    .bl_hero-copy p {
        font-size: .92rem;
        line-height: 1.8
    }

    .bl_bf_hero-image img,
    .bl_hero-image img {
        width: 100%;
        height: auto;
        max-height: 420px;
        object-fit: contain;
        border-radius: 20px
    }

    .anchor-nav-wrapper {
        padding: 60px 16px
    }

    .anchor-lists .anchor-lists_01 {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        gap: 12px;
        width: 100%;
        margin: 0 auto;
        padding: 0;
        box-sizing: border-box
    }

    .anchor {
        width: 100%;
        display: flex;
        justify-content: center
    }

    .anchor+.anchor {
        margin-top: 18px
    }

    .anchor a {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        max-width: 360px;
        height: 62px;
        margin: 0 auto;
        font-size: 1.05rem;
        letter-spacing: .08em;
        box-sizing: border-box
    }
}

@media screen and (max-width:480px) {
    .bl_hero {
        padding: 82px 14px 56px
    }

    .bl_hero-copy h1 {
        font-size: 2.35em
    }

    .bl_hero-copy p {
        font-size: .88rem
    }

    .bl_bf_hero-image img,
    .bl_hero-image img {
        max-height: 360px
    }

    .anchor-nav-wrapper {
        padding: 50px 14px
    }

    .anchor a {
        height: 58px;
        font-size: .95rem
    }
}

.js-hero-scroll,
.bl_hero,
.bl_hero .bl_container,
.hero-step,
.hero-step * {
    box-sizing: border-box
}

.bl_hero img,
.hero-step img {
    max-width: 100%;
    height: auto
}

@supports (height:100svh) {
    .js-hero-scroll {
        min-height: 100svh
    }

    .bl_hero {
        height: 100svh
    }

    .hero-step {
        min-height: 100svh
    }
}

@media screen and (min-width:768px) and (max-width:1024px) {
    .bl_hero .bl_container {
        width: min(960px, calc(100% - 48px))
    }

    .hero-step {
        padding: 48px 0
    }

    .hero-step h1 {
        font-size: clamp(3rem, 6vw, 4.8rem);
        margin-bottom: 24px
    }

    .hero-step h2 {
        font-size: clamp(2.2rem, 4vw, 3.2rem);
        margin-bottom: 22px
    }

    .bl_bf_hero,
    .bl_bf_container {
        width: 100%
    }

    .bl_hero-grid {
        display: grid;
        grid-template-columns: 0.95fr 1.05fr;
        gap: 32px;
        align-items: center
    }

    .bl_bf_hero-copy p {
        font-size: clamp(0.95rem, 1.6vw, 1.08rem);
        line-height: 1.8
    }

    .bl_bf_hero-image img {
        max-height: 520px;
        object-fit: contain
    }

    .hero-step02 {
        padding: 40px 0
    }

    .ratio-intro p {
        margin-bottom: 24px;
        font-size: clamp(1.15rem, 2vw, 1.35rem);
        line-height: 1.75;
        letter-spacing: 0.16em
    }

    .ratio-bar {
        height: 54px
    }

    .ratio-number {
        font-size: 2rem
    }

    .info-cards {
        gap: 18px
    }

    .info-card {
        min-height: 190px;
        padding: 16px 18px 18px
    }

    .info-card__number strong {
        font-size: clamp(2.8rem, 5vw, 3.8rem)
    }

    .hero-image-text {
        grid-template-columns: 1fr 1fr;
        gap: 36px
    }

    .hero-image-text__body p {
        font-size: 1rem;
        line-height: 1.9
    }

    .hero-image-text__image img {
        height: min(48vw, 480px);
        border-radius: 24px
    }

    .hero-career__heading {
        margin-top: 0;
        margin-bottom: 24px
    }

    .hero-career__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
        max-width: 820px;
        margin: 0 auto
    }

    .career-mini-card__media {
        height: 150px
    }

    .career-mini-card__body {
        padding: 18px 18px 20px
    }

    .career-mini-card h3 {
        font-size: 1.75rem;
        margin-bottom: 8px
    }

    .career-mini-card h4 {
        font-size: 0.98rem;
        line-height: 1.5
    }

    .career-mini-card p {
        font-size: 0.84rem;
        line-height: 1.65
    }

    .hero-nav-end__heading {
        margin-bottom: 28px
    }

    .hero-nav-end__links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
        max-width: 760px;
        margin: 0 auto
    }

    .hero-nav-link {
        min-height: 160px;
        padding: 26px 22px;
        border-radius: 22px
    }
}

@media screen and (max-width:767px) {

    html,
    body {
        overflow-x: hidden
    }

    .js-hero-scroll {
        min-height: 100svh;
        overflow: hidden
    }

    .bl_hero {
        height: 100svh;
        min-height: 100svh;
        overflow: hidden
    }

    .bl_hero .bl_container {
        width: min(100%, calc(100% - 28px));
        height: 100%
    }

    .hero-step {
        min-height: 100svh;
        height: 100%;
        padding: calc(18px + env(safe-area-inset-top)) 0 calc(18px + env(safe-area-inset-bottom));
        justify-content: center;
        align-items: center;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        text-align: center
    }

    .hero-step::-webkit-scrollbar {
        width: 0;
        height: 0
    }

    .hero-step h1,
    .hero-step h2 {
        line-height: 1.28;
        letter-spacing: 0.03em
    }

    .hero-step h1 {
        font-size: clamp(2.4rem, 12vw, 3.35rem);
        margin-bottom: 18px
    }

    .hero-step h2 {
        font-size: clamp(1.85rem, 8.5vw, 2.45rem);
        margin-bottom: 16px
    }

    .bl_sub,
    .bl_bf_sub,
    .bl_tr_sub {
        margin-bottom: 10px;
        font-size: 0.78rem;
        letter-spacing: 0.18em
    }

    .hero-center-text,
    .hero-text-block p {
        font-size: 0.94rem;
        line-height: 1.85
    }

    .hero-bg {
        position: absolute;
        inset: 0;
        height: 100svh;
        opacity: 0.72
    }

    .el_hero-bg_yellow {
        top: auto;
        right: -90px;
        bottom: -70px;
        left: auto;
        transform: scale(0.78) rotate(100deg)
    }

    .el_hero-bg_lblue {
        top: -150px;
        right: -160px;
        left: auto;
        transform: scale(0.95) rotate(180deg)
    }

    .el_hero-bg_red {
        top: -150px;
        left: -170px;
        transform: scale(0.72) rotate(27deg)
    }

    .el_hero-bg_purple {
        top: auto;
        left: -110px;
        bottom: 120px;
        transform: scale(0.75) rotate(153deg)
    }

    .el_hero-bg_blue {
        top: 42%;
        left: -280px;
        transform: scale(0.68) rotate(105deg)
    }

    .hero-step01 {
        justify-content: center
    }

    .bl_bf_hero,
    .bl_bf_container,
    .bl_hero-grid {
        width: 100%
    }

    .bl_hero-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 18px;
        align-items: center;
        justify-items: center
    }

    .bl_bf_hero-copy {
        width: 100%;
        text-align: center
    }

    .bl_bf_hero-copy p {
        margin: 0 auto;
        max-width: 20em;
        font-size: 0.95rem;
        line-height: 1.75;
        letter-spacing: 0.04em
    }

    .bl_bf_copy_mini {
        font-size: 0.55em
    }

    .bl_bf_hero-image {
        width: min(78vw, 320px);
        margin: 0 auto
    }

    .bl_bf_hero-image img {
        display: block;
        width: 100%;
        max-height: 34svh;
        object-fit: contain
    }

    .hero-step02 {
        justify-content: center;
        padding-top: calc(20px + env(safe-area-inset-top));
        padding-bottom: calc(18px + env(safe-area-inset-bottom))
    }

    .ratio-intro {
        width: 100%;
        margin: 0 auto 14px
    }

    .ratio-intro p {
        margin: 0;
        font-size: clamp(0.92rem, 4.1vw, 1.08rem);
        line-height: 1.8;
        letter-spacing: 0.08em
    }

    .ratio-intro br,
    .hero-career__heading br,
    .hero-nav-end__heading br,
    .hero-image-text__body br {
        display: none
    }

    .ratio-bar {
        width: 100%;
        height: 46px;
        border-radius: 5px;
        box-shadow: 0 12px 28px rgba(0, 60, 140, 0.1)
    }

    .ratio-number {
        margin-left: 10px;
        font-size: clamp(1.35rem, 6.2vw, 1.85rem)
    }

    .ratio-percent {
        margin-left: 1px;
        margin-bottom: 0px;
        font-size: 0.8rem
    }

    .info-cards {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px
    }

    .info-card {
        min-height: 0;
        padding: 12px 12px 14px;
        border-radius: 16px;
        box-shadow: 0 14px 36px rgba(0, 60, 140, 0.09)
    }

    .info-card__label {
        padding: 8px 10px;
        border-radius: 10px;
        font-size: 0.98rem
    }

    .info-card__lead {
        margin-top: 9px;
        font-size: 0.86rem;
        line-height: 1.55;
        letter-spacing: 0.03em
    }

    .info-card__lead br,
    .info-card__desc br {
        display: none
    }

    .info-card__desc {
        margin-top: 6px;
        font-size: 0.73rem;
        line-height: 1.55;
        letter-spacing: 0.02em
    }

    .info-card__number {
        gap: 4px;
        padding-top: 8px
    }

    .info-card__number span {
        font-size: 0.96rem
    }

    .info-card__number strong {
        font-size: clamp(2.1rem, 10vw, 2.75rem)
    }

    .hero-step03 {
        text-align: center
    }

    .hero-image-text {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 18px;
        align-items: center
    }

    .hero-image-text__body {
        justify-self: center;
        order: 1
    }

    .hero-image-text__image {
        justify-self: center;
        order: 2;
        width: min(100%, 340px)
    }

    .hero-image-text__body p {
        max-width: 23em;
        margin: 0 auto;
        font-size: 0.95rem;
        line-height: 1.85;
        text-align: left
    }

    .hero-image-text__image img {
        width: 100%;
        height: min(34svh, 270px);
        object-fit: cover;
        border-radius: 22px;
        box-shadow: 0 18px 48px rgba(0, 80, 160, 0.14)
    }

    .hero-career {
        width: 100%
    }

    .hero-career__heading {
        margin-top: 0;
        margin-bottom: 16px
    }

    .hero-career__heading h2 {
        margin-bottom: 10px;
        font-size: clamp(1.8rem, 8.2vw, 2.35rem)
    }

    .hero-career__heading p {
        max-width: 24em;
        font-size: 0.86rem;
        line-height: 1.65
    }

    .hero-career__cards {
        width: calc(100% + 28px);
        margin-left: -14px;
        padding: 4px 14px 12px;
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(250px, 78vw);
        grid-template-columns: none;
        gap: 14px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch
    }

    .hero-career__cards::-webkit-scrollbar {
        height: 0
    }

    .career-mini-card {
        scroll-snap-align: center;
        border-radius: 22px;
        box-shadow: 0 16px 44px rgba(0, 80, 160, 0.12)
    }

    .career-mini-card__media {
        height: clamp(118px, 34vw, 150px)
    }

    .career-mini-card__body {
        padding: 16px 16px 18px
    }

    .career-mini-card__tag {
        margin-bottom: 9px;
        padding: 5px 10px;
        font-size: 0.68rem;
        letter-spacing: 0.1em
    }

    .career-mini-card h3 {
        margin-bottom: 8px;
        font-size: clamp(1.45rem, 6.6vw, 1.85rem)
    }

    .career-mini-card h4 {
        margin-bottom: 8px;
        font-size: 0.92rem;
        line-height: 1.5
    }

    .career-mini-card p {
        font-size: 0.8rem;
        line-height: 1.65
    }

    .hero-nav-end {
        width: 100%
    }

    .hero-nav-end__heading {
        margin-bottom: 18px
    }

    .hero-nav-end__heading h2 {
        margin-bottom: 10px;
        font-size: clamp(1.9rem, 8.5vw, 2.45rem)
    }

    .hero-nav-end__heading p {
        max-width: 23em;
        font-size: 0.9rem;
        line-height: 1.7
    }

    .hero-nav-end__links {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        width: 100%
    }

    .hero-nav-link {
        min-height: 128px;
        padding: 18px 12px 20px;
        border-radius: 18px;
        box-shadow: 0 16px 42px rgba(0, 80, 160, 0.11)
    }

    .hero-nav-link::before {
        height: 5px
    }

    .hero-nav-link span {
        margin-bottom: 10px;
        font-size: 0.72rem;
        letter-spacing: 0.14em
    }

    .hero-nav-link strong {
        margin-bottom: 7px;
        font-size: clamp(1.05rem, 5.2vw, 1.35rem);
        line-height: 1.35
    }

    .hero-nav-link small {
        font-size: 0.72rem;
        line-height: 1.55
    }

    .hero-nav-link:hover {
        transform: none
    }
}

@media screen and (max-width:430px) {
    .bl_hero .bl_container {
        width: calc(100% - 24px)
    }

    .hero-step {
        padding-top: calc(16px + env(safe-area-inset-top));
        padding-bottom: calc(16px + env(safe-area-inset-bottom))
    }

    .hero-step h1 {
        font-size: clamp(2.2rem, 11.5vw, 3rem)
    }

    .hero-step h2 {
        font-size: clamp(1.72rem, 8vw, 2.2rem)
    }

    .bl_bf_hero-image {
        width: min(76vw, 290px)
    }

    .ratio-intro p {
        font-size: 0.92rem;
        line-height: 1.75
    }

    .ratio-bar {
        height: 42px
    }

    .info-card {
        padding: 11px 11px 13px
    }

    .info-card__lead {
        font-size: 0.82rem
    }

    .info-card__desc {
        font-size: 0.7rem
    }

    .hero-image-text__body p {
        font-size: 0.9rem
    }

    .hero-career__cards {
        width: calc(100% + 24px);
        margin-left: -12px;
        padding-left: 12px;
        padding-right: 12px;
        grid-auto-columns: minmax(238px, 82vw)
    }

    .career-mini-card__body {
        padding: 15px 15px 17px
    }

    .hero-nav-end__links {
        gap: 10px
    }

    .hero-nav-link {
        min-height: 118px;
        padding: 16px 10px 18px;
        border-radius: 16px
    }
}

@media screen and (max-width:767px) and (max-height:720px) {
    .hero-step {
        justify-content: flex-start
    }

    .hero-step h1 {
        margin-bottom: 12px;
        font-size: clamp(2rem, 10vw, 2.75rem)
    }

    .hero-step h2 {
        margin-bottom: 10px;
        font-size: clamp(1.55rem, 7.2vw, 2rem)
    }

    .bl_sub,
    .bl_bf_sub,
    .bl_tr_sub {
        margin-bottom: 7px
    }

    .bl_bf_hero-image img {
        max-height: 27svh
    }

    .ratio-intro {
        margin-bottom: 10px
    }

    .ratio-intro p {
        font-size: 0.86rem;
        line-height: 1.6
    }

    .ratio-bar {
        height: 38px
    }

    .info-cards {
        gap: 8px
    }

    .info-card {
        padding: 9px 10px 10px
    }

    .info-card__label {
        padding: 6px 9px;
        font-size: 0.9rem
    }

    .info-card__lead {
        margin-top: 7px;
        font-size: 0.78rem;
        line-height: 1.45
    }

    .info-card__desc {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        font-size: 0.66rem;
        line-height: 1.45
    }

    .info-card__number {
        padding-top: 6px
    }

    .info-card__number strong {
        font-size: 2rem
    }

    .hero-image-text {
        gap: 12px
    }

    .hero-image-text__body p {
        font-size: 0.84rem;
        line-height: 1.65
    }

    .hero-image-text__image img {
        height: min(28svh, 210px);
        border-radius: 18px
    }

    .hero-career__heading,
    .hero-nav-end__heading {
        margin-bottom: 12px
    }

    .hero-career__heading p,
    .hero-nav-end__heading p {
        font-size: 0.78rem;
        line-height: 1.5
    }

    .hero-career__cards {
        grid-auto-columns: minmax(230px, 80vw)
    }

    .career-mini-card__media {
        height: 105px
    }

    .career-mini-card__body {
        padding: 12px 13px 14px
    }

    .career-mini-card__tag {
        margin-bottom: 6px;
        font-size: 0.62rem
    }

    .career-mini-card h3 {
        margin-bottom: 6px;
        font-size: 1.35rem
    }

    .career-mini-card h4 {
        margin-bottom: 5px;
        font-size: 0.82rem;
        line-height: 1.42
    }

    .career-mini-card p {
        font-size: 0.72rem;
        line-height: 1.48
    }

    .hero-nav-end__links {
        gap: 8px
    }

    .hero-nav-link {
        min-height: 104px;
        padding: 13px 9px 15px
    }

    .hero-nav-link span {
        margin-bottom: 6px;
        font-size: 0.66rem
    }

    .hero-nav-link strong {
        margin-bottom: 4px;
        font-size: 1rem
    }

    .hero-nav-link small {
        font-size: 0.66rem;
        line-height: 1.4
    }
}

@media screen and (max-width:900px) and (orientation:landscape) {
    .hero-step {
        padding-top: 14px;
        padding-bottom: 14px
    }

    .hero-step h1 {
        font-size: clamp(2rem, 6vw, 3rem);
        margin-bottom: 10px
    }

    .hero-step h2 {
        font-size: clamp(1.6rem, 4vw, 2.2rem);
        margin-bottom: 10px
    }

    .bl_hero-grid,
    .hero-image-text {
        grid-template-columns: 1fr 1fr;
        gap: 22px
    }

    .bl_bf_hero-image img,
    .hero-image-text__image img {
        max-height: 62svh;
        height: 62svh;
        object-fit: contain
    }

    .hero-career__cards {
        grid-auto-columns: minmax(210px, 34vw)
    }

    .hero-nav-end__links {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }

    .hero-nav-link {
        min-height: 110px
    }
}

@media screen and (max-width:1180px) {
    .bl_content_container {
        width: min(1000px, calc(100% - 40px));
        grid-template-columns: 110px minmax(0, 1fr);
        gap: 36px
    }

    .bl_card_inner {
        border-radius: 44px 44px 0 0;
        padding-top: 44px;
        padding-bottom: 96px
    }

    .bl_card-02 {
        margin-top: -80px
    }

    .bl_card-03 {
        margin-top: -100px
    }

    .bl_bf_card {
        min-height: 400px
    }

    .bl_bf_card img {
        max-height: 200px
    }
}

@media screen and (max-width:900px) {
    .stackArea {
        margin-top: -64px
    }

    .bl_card_inner {
        top: 0;
        min-height: auto;
        border-radius: 38px 38px 0 0;
        padding-top: 44px;
        padding-bottom: 84px
    }

    .bl_card-02 {
        margin-top: -64px
    }

    .bl_card-03 {
        margin-top: -76px
    }

    .bl_content_container {
        width: min(760px, calc(100% - 36px));
        grid-template-columns: 86px minmax(0, 1fr);
        gap: 24px
    }

    .bl_bf_section-number1,
    .bl_bf_section-number2,
    .bl_bf_section-number3 {
        top: 76px;
        font-size: 4.4rem
    }

    .bl_bf_gridcontent {
        margin-top: 22px
    }

    .bl_section-title {
        margin-bottom: 28px
    }

    .bl_section-title h2 {
        font-size: clamp(1.65rem, 4vw, 2.25rem)
    }

    .bl_bf_cards {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .bl_bf_card {
        min-height: auto;
        padding: 26px;
        border-radius: 24px
    }

    .bl_bf_card img {
        width: min(100%, 300px);
        max-height: 190px;
        margin: 8px auto 22px
    }
}

@media screen and (max-width:767px) {
    .stackArea {
        margin-top: -42px;
        overflow: hidden
    }

    .bl_card_inner {
        position: relative;
        top: auto;
        min-height: auto;
        border-radius: 30px 30px 0 0;
        padding-top: 34px;
        padding-bottom: 64px;
        box-shadow: 0 -18px 46px rgba(0, 60, 120, .10)
    }

    .bl_card-02,
    .bl_card-03 {
        margin-top: -38px
    }

    .bl_content_container {
        display: block;
        width: min(100% - 28px, 520px)
    }

    .bl_bf_section-number1,
    .bl_bf_section-number2,
    .bl_bf_section-number3 {
        position: relative;
        top: auto;
        left: auto;
        display: inline-block;
        margin: 0 0 18px;
        font-size: clamp(3.1rem, 18vw, 4.8rem);
        line-height: .9
    }

    .bl_bf_gridcontent {
        margin: 0
    }

    .bl_section-title {
        margin-bottom: 24px
    }

    .bl_section-title .bl_en {
        font-size: .76rem;
        letter-spacing: .18em;
        margin-bottom: 10px
    }

    .bl_section-title h2 {
        font-size: clamp(1.45rem, 7vw, 2rem);
        line-height: 1.45
    }

    .bl_bf_cards {
        grid-template-columns: 1fr;
        gap: 18px
    }

    .bl_bf_card {
        padding: 22px 20px 24px;
        border-radius: 22px;
        min-height: auto;
        box-shadow: 0 12px 32px rgba(0, 60, 120, .08)
    }

    .bl_bf_card:hover {
        transform: none
    }

    .bl_bf_card-number,
    .bl_bf_card-number2,
    .bl_bf_card-number3 {
        font-size: clamp(2.75rem, 13vw, 3.8rem);
        margin-bottom: 12px
    }

    .bl_bf_card h3 {
        font-size: clamp(1.2rem, 5vw, 1.55rem);
        line-height: 1.45;
        margin-bottom: 12px
    }

    .bl_bf_card img {
        width: min(78%, 240px);
        max-height: 165px;
        padding: 10px;
        margin: 4px auto 18px
    }

    .bl_bf_card p {
        font-size: .94rem;
        line-height: 1.85;
        text-align: left
    }

    .bl_bf_card-txt {
        margin-top: 4px;
        padding: 28px 18px;
        border-radius: 24px
    }

    .bl_bf_card-txt h3 {
        font-size: clamp(1.2rem, 5vw, 1.55rem)
    }

    .bl_work-env-btn {
        width: 100%;
        margin-top: 24px;
        min-height: 3.9rem;
        padding: 14px 20px;
        gap: 12px;
        font-size: .95rem;
        letter-spacing: .03em
    }
}

@media screen and (max-width:480px) {
    .bl_content_container {
        width: calc(100% - 24px)
    }

    .bl_card_inner {
        border-radius: 26px 26px 0 0;
        padding-top: 30px;
        padding-bottom: 56px
    }

    .bl_card-02,
    .bl_card-03 {
        margin-top: -32px
    }

    .bl_section-title h2 {
        font-size: 1.38rem
    }

    .bl_bf_card {
        padding: 20px 18px 22px
    }

    .bl_bf_card img {
        width: min(82%, 210px);
        max-height: 145px
    }

    .bl_bf_card p {
        font-size: .9rem;
        line-height: 1.8
    }

    .bl_work-env-btn {
        font-size: .88rem;
        padding-inline: 16px
    }
}

@media screen and (max-width:1180px) {

    .sec-container,
    .anchor-nav,
    .bl_entry_sec-container {
        width: min(980px, calc(100% - var(--recruit-side-padding-tab) * 2))
    }

    .anchor-lists .anchor-lists_01 {
        gap: 18px
    }

    .anchor a {
        height: 68px;
        font-size: 1.22rem;
        letter-spacing: .1em
    }

    .recruit-card {
        padding: 32px
    }

    .salary-item {
        padding: 20px 18px
    }

    .salary-item strong {
        font-size: 1.65rem
    }

    .flow-line {
        gap: 14px
    }

    .flow-item {
        min-height: 240px;
        padding: 26px 16px
    }

    .flow-item::after {
        right: -13px;
        font-size: 1.6rem
    }

    .flow-number {
        font-size: 3.3rem
    }

    .flow-item img {
        width: 90px;
        height: 90px;
        margin: 16px auto
    }

    .flow-item h3 {
        font-size: 1.25rem
    }

    .flow-overlay {
        padding: 18px 14px;
        font-size: .82rem
    }
}

@media screen and (max-width:960px) {

    .sec-container,
    .anchor-nav,
    .bl_entry_sec-container {
        width: min(820px, calc(100% - var(--recruit-side-padding-tab) * 2))
    }

    .anchor-nav-wrapper {
        padding: 76px 0
    }

    .anchor-lists .anchor-lists_01 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px
    }

    .anchor a {
        max-width: none;
        height: 60px;
        font-size: 1rem;
        letter-spacing: .06em
    }

    .recruit-page-section,
    .recruit-flow-section {
        padding: 76px 0 80px
    }

    #entry-form {
        padding: 76px 0 90px
    }

    .section-heading {
        margin-bottom: 42px
    }

    .section-heading p br:not(.p_br):not(.pad_br):not(.m_br) {
        display: none
    }

    .recruit-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px
    }

    .recruit-card {
        border-radius: 24px;
        padding: 26px 22px
    }

    .recruit-card h3 {
        font-size: 1.25rem;
        margin-bottom: 12px
    }

    .recruit-card p {
        font-size: .94rem;
        line-height: 1.75
    }

    .salary-box {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px
    }

    .salary-item {
        padding: 16px 12px;
        border-radius: 16px
    }

    .salary-item span {
        font-size: .85rem;
        line-height: 1.45
    }

    .salary-item strong {
        font-size: 1.32rem;
        margin-top: 8px
    }

    .recruit-card small {
        margin-top: 16px;
        font-size: .8rem;
        line-height: 1.75
    }

    .flow-line {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px
    }

    .flow-item {
        min-height: auto;
        padding: 26px 22px;
        border-radius: 24px
    }

    .flow-item::after {
        display: none
    }

    .flow-number {
        font-size: 3rem
    }

    .flow-item img {
        width: 94px;
        height: 94px;
        margin: 14px auto
    }

    .flow-item h3 {
        font-size: 1.25rem;
        margin-bottom: 12px
    }

    .flow-overlay {
        position: static;
        opacity: 1;
        visibility: visible;
        width: 100%;
        margin-top: 12px;
        padding: 14px 12px;
        border-radius: 14px;
        background: linear-gradient(135deg, rgba(38, 144, 255, .82), rgba(255, 88, 175, .86));
        font-size: .85rem;
        line-height: 1.7
    }

    .flow-item:hover .flow-number,
    .flow-item:hover img,
    .flow-item:hover h3,
    .flow-item:hover small {
        opacity: 1;
        transform: none;
        filter: none
    }

    .bl_entry_entry-form-body {
        padding: 46px 36px;
        border-radius: 18px
    }

    .bl_form_item {
        gap: 28px
    }

    .bl_form_ttl {
        width: 210px
    }
}

@media screen and (max-width:767px) {

    .sec-container,
    .anchor-nav,
    .bl_entry_sec-container {
        width: min(460px, calc(100% - var(--recruit-side-padding-sp) * 2))
    }

    .anchor-lists .anchor-lists_01 {
        grid-template-columns: 1fr;
        gap: 12px
    }

    .anchor a {
        max-width: 360px;
        height: 56px;
        font-size: .95rem;
        letter-spacing: .08em
    }

    .recruit-page-section,
    .recruit-flow-section {
        padding: 58px 0 64px
    }

    #entry-form {
        padding: 58px 0 76px
    }

    .section-heading {
        margin-bottom: 30px
    }

    .section-heading span {
        font-size: .78rem;
        letter-spacing: .16em
    }

    .section-heading h2 {
        font-size: clamp(2rem, 10vw, 2.7rem);
        margin-bottom: 14px
    }

    .section-heading p {
        font-size: .92rem;
        line-height: 1.8
    }

    .section-heading p br:not(.p_br):not(.pad_br):not(.m_br),
    .recruit-card p br:not(.p_br):not(.pad_br):not(.m_br) {
        display: none
    }

    .recruit-cards {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .recruit-card {
        padding: 22px 18px;
        border-radius: 20px
    }

    .recruit-card-wide {
        grid-column: auto
    }

    .recruit-card h3 {
        font-size: 1.18rem;
        margin-bottom: 10px
    }

    .recruit-card p {
        font-size: .92rem;
        line-height: 1.75
    }

    .salary-box {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-top: 14px
    }

    .salary-item {
        padding: 16px
    }

    .salary-item strong {
        font-size: 1.35rem
    }

    .recruit-card small {
        font-size: .8rem
    }

    .flow-line {
        grid-template-columns: 1fr;
        gap: 18px
    }

    .flow-item {
        min-height: auto;
        padding: 22px 18px;
        border-radius: 20px;
        cursor: default
    }

    .flow-item::after {
        content: "↓";
        display: block;
        right: 50%;
        top: auto;
        bottom: -25px;
        transform: translateX(50%);
        font-size: 1.5rem;
        color: var(--recruit-blue);
        z-index: 3
    }

    .flow-item:last-child::after {
        display: none
    }

    .flow-number {
        font-size: 3rem
    }

    .flow-item img {
        width: 88px;
        height: 88px;
        margin: 12px auto
    }

    .flow-item h3 {
        font-size: 1.2rem;
        margin-bottom: 12px
    }

    .flow-overlay {
        position: static;
        opacity: 1;
        visibility: visible;
        width: 100%;
        margin-top: 12px;
        padding: 14px 12px;
        border-radius: 14px;
        background: linear-gradient(135deg, rgba(38, 144, 255, .82), rgba(255, 88, 175, .86));
        font-size: .84rem;
        line-height: 1.7
    }

    .flow-item:hover .flow-number,
    .flow-item:hover img,
    .flow-item:hover h3,
    .flow-item:hover small {
        opacity: 1;
        transform: none;
        filter: none
    }

    .bl_career-people-bg {
        padding-bottom: 80px
    }

    .bl_career-people-bg::after {
        opacity: .10
    }

    .bl_bg-blob {
        opacity: .42;
        filter: blur(24px)
    }

    .bl_bg-blob-green-left {
        left: -120px;
        top: 60px;
        width: 230px;
        height: 190px
    }

    .bl_bg-blob-orange {
        left: -160px;
        top: 620px;
        width: 420px;
        height: 340px
    }

    .bl_bg-blob-yellow {
        left: -320px;
        top: 1320px;
        width: 540px;
        height: 620px
    }

    .bl_bg-blob-green-right {
        right: -220px;
        top: 340px;
        width: 420px;
        height: 310px
    }

    .bl_bg-blob-cyan {
        right: -180px;
        top: 1160px;
        width: 360px;
        height: 430px
    }

    .bl_bg-blob-purple-large {
        right: -260px;
        bottom: 240px;
        width: 420px;
        height: 360px
    }

    .bl_bg-blob-pink {
        left: 48%;
        bottom: -110px;
        width: 260px;
        height: 190px
    }

    .bl_entry_heading-wrapper {
        margin-bottom: 34px
    }

    .bl_entry_entry-form-body {
        padding: 30px 20px;
        border-radius: 18px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, .045)
    }

    .first-precautions {
        margin-bottom: 34px;
        font-size: .82rem;
        line-height: 1.8
    }

    .bl_form_item {
        display: block;
        padding: 22px 0
    }

    .bl_form_ttl {
        width: auto;
        margin-bottom: 10px;
        font-size: .95rem
    }

    .bl_form_input {
        width: 100%
    }

    .bl_form_his {
        margin-left: 8px;
        padding: 3px 8px;
        font-size: .6rem
    }

    .bl_form_box {
        grid-template-columns: 1fr;
        gap: 0
    }

    .bl_contact_txt,
    .school,
    .tel,
    .email {
        height: 54px;
        padding: 0 14px;
        font-size: .95rem
    }

    .graduation-year,
    .where-to-know {
        gap: 10px
    }

    .graduation-year label,
    .where-to-know label {
        width: 100%;
        padding: 13px 14px;
        line-height: 1.5
    }

    .bl_form_pp {
        margin-top: 36px;
        padding: 24px 18px
    }

    .bl_form_pp_txt {
        text-align: left;
        font-size: .86rem
    }

    .bl_form_submit {
        margin-top: 36px
    }

    .bl_form_btn {
        width: 100%;
        max-width: 340px;
        height: 62px;
        font-size: 1rem
    }

    .bl_recaptcha {
        font-size: .7rem
    }
}

@media screen and (max-width:480px) {

    .sec-container,
    .anchor-nav,
    .bl_entry_sec-container {
        width: calc(100% - 24px)
    }

    .anchor a {
        max-width: none
    }

    .recruit-page-section,
    .recruit-flow-section {
        padding: 52px 0 58px
    }

    #entry-form {
        padding: 52px 0 68px
    }

    .section-heading h2 {
        font-size: 2rem
    }

    .recruit-card {
        padding: 20px 16px
    }

    .salary-item {
        padding: 15px
    }

    .flow-item {
        padding: 20px 16px
    }

    .flow-overlay {
        font-size: .82rem
    }

    .bl_entry_entry-form-body {
        padding: 26px 16px
    }
}

@media screen and (max-width:960px) {
    .anchor-nav {
        max-width: 760px;
        padding: 0 24px;
        box-sizing: border-box
    }

    .anchor-lists {
        width: 100%;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px
    }

    .anchor-lists .anchor a {
        max-width: 190px;
        height: 58px;
        font-size: 0.95rem;
        letter-spacing: .05em
    }

    .anchor-lists_01 {
        width: 100%;
        max-width: 560px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 32px
    }

    .anchor-lists_01 .anchor a {
        max-width: 240px;
        height: 58px;
        font-size: 0.95rem;
        letter-spacing: .05em
    }
}

@media screen and (max-width:767px) {
    .anchor-nav {
        max-width: 520px;
        padding: 0 16px
    }

    .anchor-lists {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px
    }

    .anchor-lists .anchor a {
        max-width: none;
        height: 52px;
        padding: 0 10px;
        font-size: 0.86rem;
        letter-spacing: .02em
    }

    .anchor-lists_01 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px
    }

    .anchor-lists_01 .anchor a {
        max-width: none;
        height: 54px;
        padding: 0 12px;
        font-size: 0.88rem;
        letter-spacing: .02em
    }
}

@media screen and (max-width:428px) {
    .anchor-lists {
        grid-template-columns: 1fr;
        gap: 12px;
        width: min(100%, 300px)
    }

    .anchor-lists_01 {
        grid-template-columns: 1fr;
        gap: 12px;
        width: min(100%, 300px)
    }

    .anchor-lists .anchor a,
    .anchor-lists_01 .anchor a {
        height: 54px;
        font-size: 0.95rem
    }
}

@media screen and (max-width:1180px) {
    .ly_people_top-bg {
        padding: 96px 48px 70px
    }

    .bl_people-mv {
        max-width: 1000px;
        min-height: 560px
    }

    .bl_people-mv_img {
        left: 0;
        bottom: -56px
    }

    .bl_people-mv_img img {
        width: 380px;
        height: 480px
    }

    .bl_people-mv_contents {
        right: 0;
        bottom: -56px;
        width: 640px;
        padding: 42px
    }

    .bl_people-mv_contents h2 {
        font-size: 2.1rem;
        line-height: 1.45
    }

    .bl_interview-people-inner {
        max-width: 980px;
        gap: 72px
    }

    .bl_interview .bl_interview_contleft,
    .bl_interview .bl_interview_contright {
        margin: 24px 20px -44px;
        padding: 42px;
        gap: 38px
    }

    .bl_interview_contleft img,
    .bl_interview_contright img {
        width: 240px;
        height: 220px
    }

    .bl_interview_text h2 {
        font-size: 1.6rem
    }

    .bl_interview_fav-goal {
        max-width: 940px;
        gap: 28px
    }

    .bl_interview_fav,
    .bl_interview_goal {
        padding: 40px
    }
}

@media screen and (max-width:960px) {
    .ly_people_top-bg {
        min-height: auto;
        padding: 104px 32px 80px
    }

    .bl_people-mv {
        max-width: 760px;
        min-height: auto;
        display: grid;
        grid-template-columns: minmax(220px, 0.85fr) minmax(0, 1.15fr);
        gap: 28px;
        align-items: center
    }

    .bl_people-mv>.bl_container {
        display: none
    }

    .bl_people-mv_img {
        position: relative;
        left: auto;
        bottom: auto;
        z-index: 2
    }

    .bl_people-mv_img img {
        width: 100%;
        height: 420px;
        object-fit: cover;
        border-radius: 24px
    }

    .bl_people-mv_contents {
        position: relative;
        right: auto;
        bottom: auto;
        width: 100%;
        padding: 34px;
        border-radius: 26px;
        z-index: 3
    }

    .bl_people-mv_contents h2 {
        font-size: 1.8rem;
        line-height: 1.45;
        margin-bottom: 18px
    }

    .bl_people-mv_meta {
        margin-bottom: 18px
    }

    .bl_people-mv_meta h3 {
        font-size: 0.98rem;
        line-height: 1.65
    }

    .bl_people-mv_block {
        margin-top: 18px
    }

    .bl_people-mv_block p {
        font-size: 0.94rem;
        line-height: 1.9
    }

    .bl_interview-people-bg {
        z-index: auto;
        padding: 72px 0 88px;
        box-shadow: none
    }

    .bl_interview-people-inner {
        width: min(100% - 48px, 760px);
        max-width: none;
        padding: 0;
        gap: 56px
    }

    .bl_interview .bl_interview_contleft,
    .bl_interview .bl_interview_contright {
        max-width: none;
        width: 100%;
        margin: 0;
        padding: 32px;
        gap: 28px;
        border-radius: 26px
    }

    .bl_interview_contleft img,
    .bl_interview_contright img {
        width: 220px;
        height: 210px;
        border-radius: 20px
    }

    .bl_interview_text h2 {
        font-size: 1.42rem;
        line-height: 1.5;
        margin-bottom: 1.1rem
    }

    .bl_interview_text p {
        font-size: 0.95rem;
        line-height: 1.9
    }

    .bl_interview_fav-goal {
        width: 100%;
        max-width: none;
        gap: 22px
    }

    .bl_interview_fav,
    .bl_interview_goal {
        padding: 34px 30px;
        border-radius: 26px
    }

    .bl_interview_text-fav h2 {
        font-size: 1.28rem;
        line-height: 1.5;
        margin-bottom: 1rem
    }

    .bl_interview_text-fav p {
        font-size: 1rem;
        line-height: 1.9
    }

    .bl_interview .bl_bg-blob {
        opacity: .48;
        filter: blur(46px)
    }

    .bl_people-blob-yellow {
        left: -220px;
        top: 1300px;
        width: 480px;
        height: 420px
    }

    .bl_bg-blob-orange {
        left: -180px;
        top: 520px;
        width: 420px;
        height: 340px
    }

    .bl_bg-blob-green-right {
        right: -220px;
        top: 280px;
        width: 420px;
        height: 320px
    }

    .bl_bg-blob-cyan {
        right: -180px;
        top: 980px;
        width: 360px;
        height: 440px
    }
}

@media screen and (max-width:767px) {
    .ly_people_top-bg {
        min-height: auto;
        padding: 92px 20px 54px;
        background-position: top center
    }

    .bl_people-mv {
        width: min(100%, 460px);
        display: block;
        margin: 0 auto
    }

    .bl_people-mv_img {
        width: 100%;
        margin: 0 auto
    }

    .bl_people-mv_img img {
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 5;
        object-fit: cover;
        object-position: top center;
        border-radius: 24px;
        box-shadow: 0 22px 54px rgba(0, 0, 0, .14)
    }

    .bl_people-mv_contents {
        width: calc(100% - 20px);
        margin: -34px auto 0;
        padding: 28px 22px 26px;
        border-radius: 24px;
        background: rgba(255, 255, 255, .92);
        backdrop-filter: blur(20px);
        box-shadow: 0 24px 60px rgba(0, 60, 140, .14)
    }

    .bl_people-mv_contents h2 {
        font-size: clamp(1.45rem, 6vw, 1.85rem);
        line-height: 1.5;
        margin-bottom: 16px
    }

    .bl_people-mv_meta {
        margin-bottom: 16px
    }

    .bl_people-mv_meta h3 {
        font-size: 0.92rem;
        line-height: 1.65
    }

    .bl_people-mv_block {
        margin-top: 16px
    }

    .bl_people-mv_block h3 {
        font-size: 0.76rem;
        letter-spacing: .08em;
        margin-bottom: 5px
    }

    .bl_people-mv_block p {
        font-size: 0.9rem;
        line-height: 1.85
    }

    .bl_interview-people-bg {
        padding: 56px 0 70px
    }

    .bl_interview-people-inner {
        width: min(100% - 28px, 460px);
        gap: 34px
    }

    .bl_interview .bl_interview_contleft,
    .bl_interview .bl_interview_contright {
        display: flex;
        flex-direction: column;
        width: 100%;
        margin: 0;
        padding: 22px 18px 24px;
        gap: 20px;
        border-radius: 22px
    }

    .bl_interview .bl_interview_contright {
        flex-direction: column
    }

    .bl_interview_contleft img,
    .bl_interview_contright img {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 10;
        object-fit: cover;
        object-position: center;
        border-radius: 18px
    }

    .bl_interview_text {
        width: 100%
    }

    .bl_interview_text h2 {
        font-size: 1.22rem;
        line-height: 1.55;
        margin-bottom: 1rem
    }

    .bl_interview_text h2::before,
    .bl_interview_text-fav h2::before {
        width: 34px;
        height: 3px;
        margin-bottom: 9px
    }

    .bl_interview_text p {
        font-size: 0.92rem;
        line-height: 1.85
    }

    .bl_interview_fav-goal {
        display: grid;
        grid-template-columns: 1fr;
        gap: 18px;
        width: 100%
    }

    .bl_interview_fav,
    .bl_interview_goal {
        padding: 26px 22px;
        border-radius: 22px
    }

    .bl_interview_text-fav h2 {
        font-size: 1.16rem;
        line-height: 1.5;
        margin-bottom: 0.9rem
    }

    .bl_interview_text-fav p {
        font-size: 0.92rem;
        line-height: 1.85
    }

    .bl_interview .bl_interview_contleft:hover,
    .bl_interview .bl_interview_contright:hover,
    .bl_interview_fav:hover,
    .bl_interview_goal:hover {
        transform: none
    }

    .bl_interview .bl_bg-blob {
        opacity: .34;
        filter: blur(42px)
    }

    .bl_bg-blob-green-left {
        left: -130px;
        top: 40px;
        width: 230px;
        height: 190px
    }

    .bl_bg-blob-orange {
        left: -170px;
        top: 520px;
        width: 360px;
        height: 300px
    }

    .bl_people-blob-yellow {
        left: -260px;
        top: 1180px;
        width: 460px;
        height: 430px
    }

    .bl_bg-blob-green-right {
        right: -230px;
        top: 260px;
        width: 380px;
        height: 300px
    }

    .bl_bg-blob-cyan {
        right: -210px;
        top: 940px;
        width: 340px;
        height: 420px
    }

    .bl_bg-blob-purple-large {
        right: -250px;
        bottom: 280px;
        width: 360px;
        height: 320px
    }

    .bl_bg-blob-pink {
        left: 42%;
        bottom: -100px;
        width: 240px;
        height: 180px
    }
}

@media screen and (max-width:480px) {
    .ly_people_top-bg {
        padding: 84px 14px 46px
    }

    .bl_people-mv {
        width: 100%
    }

    .bl_people-mv_contents {
        width: calc(100% - 12px);
        margin-top: -28px;
        padding: 24px 18px 24px;
        border-radius: 22px
    }

    .bl_people-mv_img img {
        border-radius: 22px
    }

    .bl_interview-people-inner {
        width: calc(100% - 24px);
        gap: 28px
    }

    .bl_interview .bl_interview_contleft,
    .bl_interview .bl_interview_contright {
        padding: 20px 16px 22px;
        border-radius: 20px
    }

    .bl_interview_text h2 {
        font-size: 1.12rem
    }

    .bl_interview_text p,
    .bl_interview_text-fav p {
        font-size: 0.88rem;
        line-height: 1.82
    }

    .bl_interview_fav,
    .bl_interview_goal {
        padding: 24px 18px;
        border-radius: 20px
    }
}

@media screen and (max-width:767px) {

    .js-hero-scroll .hero-bg,
    body.home .hero-bg,
    .hero-bg {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100svh;
        overflow: hidden;
        opacity: 0.76;
        pointer-events: none
    }

    .js-hero-scroll .el_hero-bg_yellow,
    .js-hero-scroll .el_hero-bg_lblue,
    .js-hero-scroll .el_hero-bg_red,
    .js-hero-scroll .el_hero-bg_purple,
    .js-hero-scroll .el_hero-bg_blue,
    .hero-bg .el_hero-bg_yellow,
    .hero-bg .el_hero-bg_lblue,
    .hero-bg .el_hero-bg_red,
    .hero-bg .el_hero-bg_purple,
    .hero-bg .el_hero-bg_blue {
        width: min(30rem, 128vw);
        max-width: none;
        height: auto;
        right: auto;
        transform-origin: center center
    }

    .js-hero-scroll .el_hero-bg_yellow,
    .hero-bg .el_hero-bg_yellow {
        top: auto;
        bottom: -8rem;
        left: calc(50% - 3rem)
    }

    .js-hero-scroll .el_hero-bg_lblue,
    .hero-bg .el_hero-bg_lblue {
        top: -12rem;
        bottom: auto;
        left: calc(50% - 6rem)
    }

    .js-hero-scroll .el_hero-bg_red,
    .hero-bg .el_hero-bg_red {
        top: -10rem;
        bottom: auto;
        left: calc(50% - 24rem)
    }

    .js-hero-scroll .el_hero-bg_purple,
    .hero-bg .el_hero-bg_purple {
        top: auto;
        bottom: -10rem;
        left: calc(50% - 22rem)
    }

    .js-hero-scroll .el_hero-bg_blue,
    .hero-bg .el_hero-bg_blue {
        top: 38%;
        bottom: auto;
        left: calc(50% - 17rem)
    }
}

@media screen and (max-width:430px) {

    .js-hero-scroll .el_hero-bg_yellow,
    .js-hero-scroll .el_hero-bg_lblue,
    .js-hero-scroll .el_hero-bg_red,
    .js-hero-scroll .el_hero-bg_purple,
    .js-hero-scroll .el_hero-bg_blue,
    .hero-bg .el_hero-bg_yellow,
    .hero-bg .el_hero-bg_lblue,
    .hero-bg .el_hero-bg_red,
    .hero-bg .el_hero-bg_purple,
    .hero-bg .el_hero-bg_blue {
        width: min(28rem, 132vw)
    }

    .js-hero-scroll .el_hero-bg_red,
    .hero-bg .el_hero-bg_red {
        left: calc(50% - 22rem)
    }

    .js-hero-scroll .el_hero-bg_purple,
    .hero-bg .el_hero-bg_purple {
        left: calc(7% - 16rem);
        top: 3rem
    }

    .js-hero-scroll .el_hero-bg_blue,
    .hero-bg .el_hero-bg_blue {
        left: calc(50% - 20rem);
        top: 12rem
    }

    .js-hero-scroll .el_hero-bg_yellow,
    .hero-bg .el_hero-bg_yellow {
        left: calc(90% - 10rem);
        top: 10rem
    }
}

.bl_footer_entry-cta,
.bl_footer_entry-cta * {
    box-sizing: border-box
}

.bl_footer_entry-cta {
    position: relative;
    overflow: hidden;
    padding: 9rem 2rem 8.5rem;
    background: radial-gradient(circle at 18% 20%, rgba(75, 167, 255, 0.22), transparent 32%), radial-gradient(circle at 82% 18%, rgba(255, 110, 179, 0.22), transparent 34%), linear-gradient(135deg, #eef8ff 0%, #ffffff 48%, #f7f1ff 100%);
    text-align: center;
    isolation: isolate
}

.bl_footer_entry-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image: linear-gradient(rgba(38, 130, 255, 0.055) 1px, transparent 1px), linear-gradient(90deg, rgba(38, 130, 255, 0.055) 1px, transparent 1px);
    background-size: 4rem 4rem;
    mask-image: linear-gradient(to bottom, transparent 0%, #000 18%, #000 82%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 18%, #000 82%, transparent 100%)
}

.bl_footer_entry-cta__shape {
    position: absolute;
    z-index: -1;
    border-radius: 999px;
    pointer-events: none;
    filter: blur(0.25rem)
}

.bl_footer_entry-cta__shape--01 {
    width: 28rem;
    height: 28rem;
    top: -12rem;
    left: -8rem;
    background: radial-gradient(circle, rgba(75, 167, 255, 0.32), rgba(75, 167, 255, 0.06) 58%, transparent 72%)
}

.bl_footer_entry-cta__shape--02 {
    width: 32rem;
    height: 32rem;
    right: -10rem;
    bottom: -14rem;
    background: radial-gradient(circle, rgba(255, 110, 179, 0.28), rgba(156, 92, 255, 0.08) 58%, transparent 74%)
}

.bl_footer_entry-cta__inner {
    position: relative;
    z-index: 1;
    width: min(48rem, 100%);
    margin: 0 auto
}

.bl_footer_entry-cta__eyebrow {
    margin-bottom: 1.4rem;
    color: #2682ff;
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    line-height: 1.4
}

.bl_footer_entry-cta__title {
    margin: 0;
    color: #1d1d1f;
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 900;
    line-height: 1.28;
    letter-spacing: 0.04em
}

.bl_footer_entry-cta__text {
    margin-top: 1.8rem;
    color: #3f4650;
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 2;
    letter-spacing: 0.08em
}

.bl_footer_entry-cta__button {
    width: min(22rem, 100%);
    min-height: 4.75rem;
    margin: 3rem auto 0;
    padding: 1rem 2rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: #fff;
    font-size: 1.15rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    line-height: 1;
    background: linear-gradient(135deg, #2682ff, #00a8ff);
    box-shadow: 0 1rem 2.5rem rgba(38, 130, 255, 0.28);
    transition: transform 0.35s ease, box-shadow 0.35s ease, background 0.35s ease
}

.bl_footer_entry-cta__button svg {
    width: 1.35rem;
    height: 1.35rem;
    flex: 0 0 auto;
    transition: transform 0.35s ease
}

.bl_footer_entry-cta__button:hover {
    color: #fff;
    transform: translateY(-0.25rem);
    background: linear-gradient(135deg, #4ba7ff, #9c5cff, #ff6eb3);
    box-shadow: 0 0 1.5rem rgba(156, 92, 255, 0.32), 0 1.25rem 3rem rgba(38, 130, 255, 0.25)
}

.bl_footer_entry-cta__button:hover svg {
    transform: translateX(0.35rem)
}

.bl_logo-row--official {
    display: grid;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1.25rem 1.75rem;
    grid-template-columns: repeat(4, 1fr)
}

.bl_logo-row--official .bl_footer-logo-img {
    width: auto;
    height: 5.25rem;
    max-width: none;
    object-fit: contain
}

.bl_logo-row--official .bl_footer-logo-img--corp {
    height: auto;
    width: min(20rem, 100%)
}

@media screen and (max-width:1024px) {
    .bl_footer_entry-cta {
        padding: 7rem 1.75rem 6.75rem
    }

    .bl_footer_entry-cta::before {
        background-size: 3.25rem 3.25rem
    }

    .bl_footer_entry-cta__shape--01 {
        width: 23rem;
        height: 23rem;
        top: -10rem;
        left: -10rem
    }

    .bl_footer_entry-cta__shape--02 {
        width: 26rem;
        height: 26rem;
        right: -11rem;
        bottom: -12rem
    }

    .bl_footer_entry-cta__title {
        font-size: clamp(2.25rem, 6vw, 3.4rem)
    }

    .bl_footer_entry-cta__text {
        margin-top: 1.5rem;
        font-size: 1rem
    }

    .bl_footer_entry-cta__button {
        min-height: 4.35rem;
        margin-top: 2.5rem;
        font-size: 1rem
    }

    .bl_logo-row--official .bl_footer-logo-img {
        height: 4.75rem
    }

    .bl_logo-row--official .bl_footer-logo-img--corp {
        width: min(17rem, 100%)
    }
}

@media screen and (max-width:767px) {
    .bl_footer_entry-cta {
        padding: 5.5rem 1.25rem 5.25rem;
        background: radial-gradient(circle at 50% 0%, rgba(75, 167, 255, 0.2), transparent 36%), radial-gradient(circle at 50% 100%, rgba(255, 110, 179, 0.18), transparent 38%), linear-gradient(180deg, #f0f9ff 0%, #ffffff 48%, #f8f3ff 100%)
    }

    .bl_footer_entry-cta::before {
        background-size: 2.5rem 2.5rem
    }

    .bl_footer_entry-cta__shape {
        filter: blur(0.35rem);
        opacity: 0.9
    }

    .bl_footer_entry-cta__shape--01 {
        width: 18rem;
        height: 18rem;
        top: -8rem;
        left: 50%;
        transform: translateX(-82%)
    }

    .bl_footer_entry-cta__shape--02 {
        width: 20rem;
        height: 20rem;
        right: auto;
        left: 50%;
        bottom: -9rem;
        transform: translateX(-18%)
    }

    .bl_footer_entry-cta__eyebrow {
        margin-bottom: 1rem;
        font-size: 0.75rem;
        letter-spacing: 0.18em
    }

    .bl_footer_entry-cta__title {
        font-size: clamp(2rem, 9vw, 2.75rem);
        line-height: 1.35;
        letter-spacing: 0.03em
    }

    .bl_footer_entry-cta__text {
        margin-top: 1.35rem;
        font-size: 0.95rem;
        line-height: 1.9;
        letter-spacing: 0.06em
    }

    .bl_footer_entry-cta__button {
        width: min(19rem, 100%);
        min-height: 4rem;
        margin-top: 2.25rem;
        padding: 0.9rem 1.5rem;
        font-size: 0.95rem
    }

    .bl_footer_entry-cta__button svg {
        width: 1.15rem;
        height: 1.15rem
    }

    .bl_logo-row--official {
        gap: 1rem
    }

    .bl_logo-row--official .bl_footer-logo-img {
        height: 4rem
    }

    .bl_logo-row--official .bl_footer-logo-img--corp {
        width: min(15rem, 90vw);
        flex-basis: 100%
    }
}

@media screen and (max-width:480px) {
    .bl_footer_entry-cta {
        padding: 4.75rem 1rem
    }

    .bl_footer_entry-cta__title {
        font-size: clamp(1.85rem, 10vw, 2.35rem)
    }

    .bl_footer_entry-cta__text {
        font-size: 0.9rem
    }

    .bl_footer_entry-cta__button {
        min-height: 3.75rem;
        font-size: 0.9rem
    }

    .bl_logo-row--official .bl_footer-logo-img {
        height: 3.35rem
    }
}

@media (prefers-reduced-motion:reduce) {

    .bl_footer_entry-cta__button,
    .bl_footer_entry-cta__button svg {
        transition: none
    }

    .bl_footer_entry-cta__button:hover,
    .bl_footer_entry-cta__button:hover svg {
        transform: none
    }
}

.bl_arch_subheading {
    margin: 0 0 1rem;
    color: #1d1d1f;
    font-size: clamp(1.25rem, 3.1vw, 2rem);
    font-weight: 900;
    line-height: 1.38;
    letter-spacing: 0.08em
}

.bl_arch_subtxt p {
    margin: 0
}

@media screen and (max-width:1024px) {
    .bl_arch_subheading {
        font-size: clamp(1.55rem, 4vw, 2.25rem);
        line-height: 1.45
    }
}

@media screen and (max-width:767px) {
    .bl_arch_subheading {
        margin-bottom: 0.875rem;
        font-size: 1.25rem;
        letter-spacing: 0.05em
    }

    .bl_arch_subtxt p {
        font-size: 0.875rem;
        line-height: 1.9
    }
}

.js-motion-ready .js-page-reveal {
    will-change: transform, opacity, filter
}

.js-motion-ready .js-page-reveal:not(.is-revealed) {
    opacity: 0;
    transform: translate3d(0, 2.5rem, 0);
    filter: blur(0.25rem)
}

.js-page-reveal.is-revealed {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0)
}

.js-motion-ready .js-soft-parallax {
    will-change: transform
}

.js-motion-ready .js-hero-polish-target,
.js-motion-ready .js-hero-polish-target img {
    will-change: transform, opacity, filter
}

.js-motion-ready .js-motion-button {
    will-change: transform
}

@media (prefers-reduced-motion:reduce) {

    .js-motion-ready .js-page-reveal,
    .js-motion-ready .js-soft-parallax,
    .js-motion-ready .js-hero-polish-target,
    .js-motion-ready .js-motion-button {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
        animation: none !important
    }
}

.js-motion-ready .js-page-reveal {
    transition: opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1), transform 0.75s cubic-bezier(0.22, 1, 0.36, 1), filter 0.75s cubic-bezier(0.22, 1, 0.36, 1)
}

html.js-top-depth-ready .hero-bg,
html.js-top-depth-ready .hero-bg .el_hero-bg_yellow,
html.js-top-depth-ready .hero-bg .el_hero-bg_lblue,
html.js-top-depth-ready .hero-bg .el_hero-bg_red,
html.js-top-depth-ready .hero-bg .el_hero-bg_purple,
html.js-top-depth-ready .hero-bg .el_hero-bg_blue,
html.js-top-depth-ready .ly_top_hero,
html.js-top-depth-ready .ly_top_hero h1,
html.js-top-depth-ready .bl_arch-section,
html.js-top-depth-ready .bl_arch-section .bl_arch,
html.js-top-depth-ready .bl_career-people-bg,
html.js-top-depth-ready .bl_career-people-inner,
html.js-top-depth-ready .bl_career-people-bg .bl_bg-blob {
    will-change: transform;
    backface-visibility: hidden;
    transform-style: preserve-3d
}

html.js-top-depth-ready .hero-bg,
html.js-top-depth-ready .bl_career-people-bg {
    isolation: isolate
}

html.js-top-depth-ready .bl_career-people-bg {
    perspective: 1400px
}

html.js-top-depth-ready .bl_career-people-inner {
    transform-origin: center top
}

@media (prefers-reduced-motion:reduce) {

    html.js-top-depth-ready .hero-bg,
    html.js-top-depth-ready .hero-bg .el_hero-bg_yellow,
    html.js-top-depth-ready .hero-bg .el_hero-bg_lblue,
    html.js-top-depth-ready .hero-bg .el_hero-bg_red,
    html.js-top-depth-ready .hero-bg .el_hero-bg_purple,
    html.js-top-depth-ready .hero-bg .el_hero-bg_blue,
    html.js-top-depth-ready .ly_top_hero,
    html.js-top-depth-ready .ly_top_hero h1,
    html.js-top-depth-ready .bl_arch-section,
    html.js-top-depth-ready .bl_arch-section .bl_arch,
    html.js-top-depth-ready .bl_career-people-bg,
    html.js-top-depth-ready .bl_career-people-inner,
    html.js-top-depth-ready .bl_career-people-bg .bl_bg-blob {
        will-change: auto;
        transform: none !important
    }
}

@media screen and (max-width:1180px) {

    .recruit-card-wide .salary-box,
    .recruit-card-wide .salary-box-single-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px
    }

    .salary-item {
        min-height: 140px;
        padding: 54px 12px 18px
    }

    .salary-title {
        min-height: 36px;
        padding: 8px 10px;
        font-size: .8rem
    }

    .salary-area {
        padding: 4px 10px;
        font-size: .72rem
    }

    .salary-item strong {
        font-size: clamp(1.8rem, 3.1vw, 2.45rem)
    }
}

@media screen and (max-width:960px) {

    .recruit-card-wide .salary-box,
    .recruit-card-wide .salary-box-single-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
        margin-top: 18px
    }

    .salary-item {
        min-height: 128px;
        padding: 50px 8px 16px;
        border-radius: 14px
    }

    .salary-title {
        min-height: 34px;
        padding: 7px 8px;
        font-size: .72rem;
        line-height: 1.35
    }

    .salary-area {
        padding: 4px 8px;
        font-size: .66rem;
        line-height: 1.45
    }

    .salary-item strong {
        margin-top: 9px;
        font-size: clamp(1.45rem, 3vw, 1.95rem)
    }

    .recruit-card .salary-notes {
        margin-top: 16px;
        font-size: .8rem;
        line-height: 1.75
    }
}

@media screen and (max-width:767px) {

    .recruit-card-wide .salary-box,
    .recruit-card-wide .salary-box-single-row {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 14px
    }

    .salary-item {
        min-height: 108px;
        padding: 48px 12px 16px;
        border-radius: 16px
    }

    .salary-title {
        min-height: 34px;
        padding: 8px 10px;
        font-size: .82rem
    }

    .salary-area {
        padding: 4px 10px;
        font-size: .72rem;
        line-height: 1.5
    }

    .salary-item strong {
        font-size: clamp(1.75rem, 9.2vw, 2.2rem);
        margin-top: 8px
    }

    .salary-item strong span {
        margin-left: 2px;
        font-size: .45em
    }

    .recruit-card .salary-notes {
        gap: 8px;
        margin-top: 14px;
        font-size: .78rem
    }

    .salary-note {
        gap: 8px;
        padding-bottom: 8px
    }

    .salary-note::before {
        width: 19px;
        height: 19px;
        min-width: 19px;
        font-size: .68rem
    }
}

@media screen and (max-width:500px) {
    .salary-item {
        min-height: 104px;
        padding: 46px 10px 14px
    }

    .salary-title {
        padding: 7px 9px;
        font-size: .78rem
    }

    .salary-area {
        padding: 4px 9px;
        font-size: .7rem
    }

    .salary-item strong {
        font-size: clamp(1.65rem, 9vw, 2rem)
    }
}

@media screen and (min-width:2500px) {
    header {
        padding: 2rem clamp(3rem, 4vw, 8rem)
    }

    header.is-scrolled {
        padding: 1.25rem clamp(3rem, 4vw, 8rem)
    }

    .bl_top-logo img {
        width: auto
    }

    .bl_header_right {
        gap: clamp(1.25rem, 1.1vw, 2rem)
    }

    .bl_header_sns {
        gap: clamp(1.5rem, 1.4vw, 2.5rem)
    }

    .bl_header_entry {
        width: clamp(15.625rem, 8vw, 20rem);
        height: clamp(4rem, 2.4vw, 5.25rem);
        font-size: clamp(1.6rem, 0.88vw, 2.1rem)
    }

    .bl_header_burger {
        width: clamp(4rem, 2.4vw, 5.25rem);
        height: clamp(4rem, 2.4vw, 5.25rem)
    }

    .bl_burger-menu {
        width: clamp(26.25rem, 18vw, 38rem);
        padding: clamp(8rem, 6vw, 12rem) clamp(3.125rem, 2.8vw, 6rem);
        gap: clamp(1.875rem, 1.3vw, 2.75rem)
    }

    .bl_burger-menu a {
        font-size: clamp(1.45rem, 0.95vw, 2rem)
    }

    .ly_top_hero {
        padding-top: clamp(20rem, 9.2vw, 24rem);
        padding-left: clamp(2rem, 4vw, 8rem);
        padding-right: clamp(2rem, 4vw, 8rem)
    }

    .ly_top_hero h1 {
        font-size: clamp(5.625rem, 3.55vw, 8rem);
        line-height: 1.3
    }

    .bl_hero_logo {
        width: clamp(21.25rem, 14vw, 32rem)
    }

    .ly_top_hero p {
        margin-top: clamp(2.5rem, 1.6vw, 4rem);
        font-size: clamp(2.5rem, 1.65vw, 3.6rem);
        line-height: 1.6
    }

    .hero-bg {
        height: clamp(105rem, 56vw, 132rem)
    }

    .el_hero-bg_yellow,
    .el_hero-bg_lblue,
    .el_hero-bg_red,
    .el_hero-bg_purple,
    .el_hero-bg_blue {
        width: clamp(54rem, 30vw, 72rem);
        max-width: none
    }

    .el_hero-bg_yellow {
        top: clamp(-18rem, -7vw, -14rem);
        left: clamp(-24rem, -8vw, -18rem)
    }

    .el_hero-bg_lblue {
        top: clamp(18rem, 10vw, 26rem);
        left: clamp(-24rem, -8vw, -18rem)
    }

    .el_hero-bg_red {
        top: clamp(-42rem, -14vw, -37rem);
        left: clamp(23rem, 18vw, 42rem)
    }

    .el_hero-bg_purple {
        top: clamp(-18rem, -7vw, -14rem);
        right: clamp(-24rem, -8vw, -17rem)
    }

    .el_hero-bg_blue {
        top: clamp(13rem, 8vw, 24rem);
        right: clamp(-28rem, -9vw, -22rem)
    }

    .bl_arch {
        width: min(92%, 2100px);
        padding: clamp(7.5rem, 5vw, 11rem) clamp(2.5rem, 4vw, 6rem);
        border-top-left-radius: 50% clamp(37.5rem, 20vw, 54rem);
        border-top-right-radius: 50% clamp(37.5rem, 20vw, 54rem)
    }

    .bl_arch-ytwrap {
        width: min(68rem, 48vw);
        margin-top: clamp(3.75rem, 2.5vw, 5.5rem)
    }

    .bl_about-section {
        padding: clamp(8.75rem, 6vw, 13rem) clamp(2rem, 4vw, 8rem);
        background-size: calc(100vw / 90) calc(100vw / 90)
    }

    .bl_about-grid {
        width: min(1400px, calc(100% - 8rem));
        gap: clamp(4.375rem, 3vw, 6rem) clamp(2.5rem, 2.4vw, 4.5rem)
    }

    .bl_about_circle {
        width: clamp(16.875rem, 9vw, 21rem);
        height: clamp(16.875rem, 9vw, 21rem)
    }

    .bl_about_vertical {
        font-size: clamp(1.875rem, 1.15vw, 2.6rem)
    }

    .bl_career-block {
        max-width: 2200px;
        margin-left: auto;
        margin-right: auto;
        grid-template-columns: minmax(560px, 48vw) minmax(420px, 560px);
        column-gap: clamp(3.25rem, 3vw, 6rem)
    }

    .bl_career-photo {
        height: clamp(30rem, 20vw, 42rem)
    }

    .bl_career-content {
        width: min(34rem, 100%)
    }

    .bl_people-card,
    .bl_work-env-inner,
    .bl_recruit-card {
        width: min(1500px, calc(100% - 8rem))
    }

    .bl_work-env-photo {
        height: clamp(28rem, 20vw, 40rem)
    }

    .bl_footer_entry-cta {
        padding: clamp(8rem, 6vw, 13rem) clamp(2rem, 4vw, 8rem)
    }

    .bl_footer-inner,
    .bl_question-box,
    .bl_faq-list,
    .sec-container,
    .bl_content_container,
    .bl_interview-people-inner,
    .ly_wrap_int-people {
        max-width: 1500px
    }
}

@media screen and (max-width:1279px) {
    .bl_title-faq {
        margin-top: 5rem;
        margin-bottom: 3rem;
        padding: 0 1.5rem
    }

    .bl_title-faq h2 {
        font-size: 2.25rem;
        line-height: 1.35;
        margin-bottom: 0.875rem
    }

    .bl_title-faq p {
        font-size: 0.95rem;
        line-height: 1.85
    }

    .bl_faq-section {
        padding: 6rem 1.5rem
    }

    .bl_faq-list {
        max-width: 58rem
    }

    header {
        padding: 1rem 1.5rem
    }

    header.is-scrolled {
        padding: 0.75rem 1.5rem
    }

    .bl_top-logo img {
        width: auto
    }

    .bl_header_sns {
        display: none
    }

    .bl_header_entry {
        width: 7.75rem;
        height: 3.25rem;
        font-size: 0.9rem
    }

    .bl_header_right {
        gap: 0.75rem
    }

    .bl_header_burger {
        width: 3.5rem;
        height: 3.5rem
    }

    .bl_burger-menu {
        width: min(28rem, 100%);
        padding: 7rem 2.5rem 3rem;
        gap: 1.5rem;
        justify-content: flex-start;
        overflow-y: auto
    }

    .ly_top_hero {
        padding-top: 14rem;
        padding-left: 1.5rem;
        padding-right: 1.5rem
    }

    .ly_top_hero h1 {
        font-size: clamp(3.25rem, 7vw, 4.5rem);
        line-height: 1.3
    }

    .bl_hero_logo {
        width: clamp(14rem, 30vw, 19rem)
    }

    .ly_top_hero p {
        margin-top: 2rem;
        font-size: clamp(1.5rem, 3.6vw, 2.125rem);
        line-height: 1.6;
        letter-spacing: 0.13em
    }

    .hero-bg {
        height: 84rem;
        opacity: 0.95
    }

    .el_hero-bg_yellow,
    .el_hero-bg_lblue,
    .el_hero-bg_red,
    .el_hero-bg_purple,
    .el_hero-bg_blue {
        width: 46rem
    }

    .bl_arch {
        width: 96%;
        padding: 6rem 2rem;
        border-top-left-radius: 50% 22rem;
        border-top-right-radius: 50% 22rem
    }

    .bl_arch-ytwrap {
        width: 100%;
        max-width: 46rem
    }

    .bl_about-section {
        padding: 6rem 1.5rem;
        background-size: calc(100vw / 36) calc(100vw / 36)
    }

    .bl_about-grid {
        width: 100%;
        max-width: 48rem;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 3rem 1.5rem
    }

    .bl_about_circle {
        width: clamp(10rem, 18vw, 12rem);
        height: clamp(10rem, 18vw, 12rem)
    }

    .bl_career-block {
        grid-template-columns: 1fr 1fr;
        margin: 6rem 0;
        gap: 2rem;
        row-gap: 2rem
    }

    .bl_career-content {
        width: 100%;
        padding: 0 1.5rem
    }

    .bl_career-photo,
    .bl_work-env-photo {
        height: 22rem
    }

    .bl_people-card,
    .bl_work-env-inner,
    .bl_recruit-card {
        width: calc(100% - 3rem)
    }

    .bl_work-env-inner {
        padding: 5.5rem 0;
        gap: 2.5rem
    }

    .bl_footer_entry-cta {
        padding: 7rem 1.5rem
    }

    .sec-container {
        width: min(1180px, calc(100% - 48px))
    }
}

@media screen and (max-width:1023px) {
    header {
        padding: 1rem 1.25rem
    }

    header.is-scrolled {
        padding: 0.75rem 1.25rem
    }

    .bl_top-logo img {
        width: auto
    }

    .bl_header_entry {
        width: 7rem;
        height: 3rem;
        font-size: 0.85rem
    }

    .bl_header_burger {
        width: 3.25rem;
        height: 3.25rem
    }

    .bl_burger-menu {
        width: 100%;
        max-width: 28rem;
        padding: 6.75rem 2rem 3rem
    }

    .ly_top_hero {
        padding-top: 11.5rem;
        padding-left: 1.25rem;
        padding-right: 1.25rem
    }

    .ly_top_hero h1 {
        font-size: clamp(3rem, 7.2vw, 4rem);
        line-height: 1.22
    }

    .bl_hero_logo {
        width: clamp(13rem, 32vw, 17rem)
    }

    .ly_top_hero p {
        margin-top: 1.75rem;
        font-size: clamp(1.35rem, 3.6vw, 1.95rem);
        line-height: 1.62;
        letter-spacing: 0.12em
    }

    .hero-bg {
        height: 72rem;
        opacity: 0.9
    }

    .el_hero-bg_yellow,
    .el_hero-bg_lblue,
    .el_hero-bg_red,
    .el_hero-bg_purple,
    .el_hero-bg_blue {
        width: 41rem
    }

    .el_hero-bg_yellow {
        top: -10rem;
        left: -18rem
    }

    .el_hero-bg_lblue {
        top: 15rem;
        left: -20rem
    }

    .el_hero-bg_red {
        top: -28rem;
        left: 9rem
    }

    .el_hero-bg_purple {
        top: -13rem;
        right: -21rem
    }

    .el_hero-bg_blue {
        top: 12rem;
        right: -22rem
    }

    .bl_arch-section {
        margin-top: 2.75rem
    }

    .bl_arch {
        width: calc(100% - 2rem);
        padding: 5rem 1.5rem;
        border-top-left-radius: 50% 16rem;
        border-top-right-radius: 50% 16rem
    }

    .bl_arch .bl_about-heading h2,
    .bl_about-heading h2,
    .bl_people-heading h2 {
        font-size: 1.625rem;
        line-height: 1.45
    }

    .bl_script-txt,
    .bl_people-script {
        font-size: clamp(3.75rem, 10vw, 5rem)
    }

    .bl_about-grid {
        max-width: 34rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2.5rem 1.25rem
    }

    .bl_about_circle {
        width: clamp(9.5rem, 27vw, 11rem);
        height: clamp(9.5rem, 27vw, 11rem)
    }

    .bl_about_vertical {
        right: -0.35rem;
        font-size: 1.08rem
    }

    .bl_career-block,
    .bl_work-env-inner,
    .bl_recruit-card {
        grid-template-columns: 1fr
    }

    .bl_career-block {
        margin: 5.5rem 0;
        gap: 2rem
    }

    .bl_career-photo,
    .bl_work-env-photo {
        height: 19rem
    }

    .bl_career-content,
    .bl_work-env-content {
        width: min(34rem, 100%);
        margin: 0 auto
    }

    .bl_people-card {
        padding: 4.75rem 1.75rem 3rem
    }

    .bl_people-row-top,
    .bl_people-row-bottom {
        grid-template-columns: 1fr;
        gap: 2rem
    }

    .bl_interview-list,
    .bl_int-people_cont {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .ly_people_top-bg {
        min-height: auto;
        padding: 6.5rem 2rem 5rem
    }

    .bl_people-mv {
        max-width: 46rem;
        min-height: auto
    }

    .bl_hero {
        min-height: auto;
        padding: 7rem 1.5rem 5rem
    }

    .bl_hero-grid {
        display: block
    }

    .bl_hero-copy {
        margin-bottom: 2.5rem
    }

    .bl_hero-copy h1,
    .bl_people-copy h1 {
        font-size: clamp(3rem, 8vw, 3.8rem)
    }

    .bl_bf_hero-image img,
    .bl_hero-image img {
        width: 100%;
        max-height: 30rem;
        object-fit: cover
    }

    .sec-container,
    .bl_content_container {
        width: calc(100% - 2.5rem)
    }

    .recruit-card-wide .salary-box,
    .recruit-card-wide .salary-box-single-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px
    }
}

@media screen and (max-width:767px) {
    .bl_title-faq {
        margin-top: 4.375rem;
        margin-bottom: 2.5rem;
        padding: 0 1.25rem
    }

    .bl_title-faq h2 {
        font-size: 2rem;
        line-height: 1.3
    }

    .bl_faq-section {
        padding: 5rem 1rem
    }

    .el_faq-question {
        padding: 1.25rem 1rem;
        gap: 0.75rem
    }

    .el_faq-answer-inner {
        padding: 0 1rem 1.25rem;
        gap: 0.75rem
    }

    header {
        padding: 1rem 1.25rem
    }

    header.is-scrolled {
        padding: 0.75rem 1.25rem
    }

    .bl_top-logo img {
        width: auto
    }

    .bl_header_entry {
        width: 6.875rem;
        height: 3rem;
        font-size: 0.8rem
    }

    .bl_header_right {
        gap: 0.625rem
    }

    .bl_header_burger {
        width: 3.25rem;
        height: 3.25rem
    }

    .ly_top_hero {
        padding-top: 9.25rem;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .ly_top_hero h1 {
        font-size: clamp(2.55rem, 9vw, 3.7rem);
        line-height: 1.12
    }

    .bl_hero_logo {
        width: clamp(10.5rem, 45vw, 15rem)
    }

    .ly_top_hero p {
        margin-top: 1.5rem;
        font-size: clamp(1.05rem, 4.6vw, 1.55rem);
        line-height: 1.72;
        letter-spacing: 0.09em
    }

    .hero-bg {
        height: 100svh;
        min-height: 38rem;
        opacity: 0.76
    }

    .hero-bg .el_hero-bg_yellow,
    .hero-bg .el_hero-bg_lblue,
    .hero-bg .el_hero-bg_red,
    .hero-bg .el_hero-bg_purple,
    .hero-bg .el_hero-bg_blue {
        width: min(32rem, 126vw)
    }

    .bl_arch-section {
        margin-top: 2rem
    }

    .bl_arch {
        width: calc(100% - 1rem);
        padding: 4.5rem 1rem;
        border-top-left-radius: 50% 11rem;
        border-top-right-radius: 50% 11rem
    }

    .bl_arch-ytwrap {
        border-radius: 1rem;
        margin-top: 2rem
    }

    .bl_about-section {
        padding: 5rem 1rem;
        background-size: calc(100vw / 30) calc(100vw / 30)
    }

    .bl_about-heading {
        margin-bottom: 3.75rem
    }

    .bl_about-heading h2 {
        flex-direction: column;
        align-items: center;
        font-size: 1.5rem
    }

    .bl_script-txt,
    .bl_people-script {
        font-size: 3.5rem
    }

    .bl_about-grid {
        max-width: 26rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2.25rem 1rem
    }

    .bl_about_circle {
        width: clamp(8.5rem, 39vw, 10rem);
        height: clamp(8.5rem, 39vw, 10rem)
    }

    .bl_about-card h3 {
        font-size: 1rem;
        line-height: 1.5
    }

    .bl_career-block {
        grid-template-columns: 1fr;
        margin: 5rem 0;
        gap: 2rem
    }

    .bl_career-content {
        padding: 0 1.25rem
    }

    .bl_career-photo,
    .bl_work-env-photo {
        height: 16.25rem
    }

    .bl_people-card {
        width: calc(100% - 1.875rem);
        padding: 4.375rem 1.25rem 2.5rem
    }

    .bl_people-row-top,
    .bl_people-row-bottom,
    .bl_work-env-inner,
    .bl_recruit-card {
        grid-template-columns: 1fr
    }

    .bl_interview-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.25rem
    }

    .bl_int-people_cont {
        grid-template-columns: 1fr
    }

    .bl_work-env-inner {
        width: calc(100% - 2.5rem);
        padding: 5rem 0;
        gap: 2.5rem
    }

    .bl_recruit-card {
        width: 100%
    }

    .bl_recruit-right img {
        height: 13.75rem
    }

    .bl_recruit-overlay {
        padding: 2.5rem 1.25rem
    }

    .bl_footer_entry-cta {
        padding: 5.5rem 1.25rem 5.25rem
    }

    .bl_footer_entry-cta__button {
        max-width: 20rem;
        min-height: 3.75rem
    }

    .bl_contact-block {
        padding: 4rem 1rem
    }

    .bl_question-box,
    .bl_question-button-wrap {
        max-width: 23rem
    }

    .bl_hero {
        padding: 5.625rem 1rem 4rem
    }

    .bl_hero-copy h1,
    .bl_people-copy h1 {
        font-size: clamp(2.45rem, 10vw, 3.1rem)
    }

    .bl_bf_hero-image img,
    .bl_hero-image img {
        max-height: 24rem
    }

    .ly_people_top-bg {
        padding: 5.75rem 1.25rem 3.375rem
    }

    .bl_people-mv {
        width: min(100%, 28.75rem)
    }

    .sec-container,
    .bl_content_container {
        width: calc(100% - 1.75rem)
    }

    .recruit-card-wide .salary-box,
    .recruit-card-wide .salary-box-single-row {
        grid-template-columns: 1fr;
        gap: 12px
    }
}

@media screen and (max-width:600px) {
    .bl_title-faq h2 {
        font-size: clamp(1.75rem, 8vw, 2rem)
    }

    .bl_faq-section {
        padding: 4.75rem 1rem
    }

    header {
        padding: 0.875rem 1rem
    }

    header.is-scrolled {
        padding: 0.7rem 1rem
    }

    .bl_top-logo img {
        width: auto
    }

    .bl_header_entry {
        width: 6.25rem;
        height: 2.75rem;
        font-size: 0.75rem
    }

    .bl_header_burger {
        width: 3rem;
        height: 3rem
    }

    .bl_burger-menu {
        padding: 6rem 1.5rem 2.5rem
    }

    .ly_top_hero {
        padding-top: 8.5rem
    }

    .ly_top_hero h1 {
        font-size: clamp(2.25rem, 10vw, 3rem)
    }

    .ly_top_hero p {
        font-size: clamp(0.98rem, 4.4vw, 1.3rem);
        letter-spacing: 0.075em
    }

    .bl_arch {
        width: calc(100% - 0.75rem);
        padding: 4rem 1rem;
        border-top-left-radius: 50% 8.5rem;
        border-top-right-radius: 50% 8.5rem
    }

    .bl_arch .bl_about-heading h2,
    .bl_about-heading h2,
    .bl_people-heading h2 {
        font-size: 1.42rem
    }

    .bl_arch_subtxt br:not(.p_br):not(.pad_br):not(.m_br),
    .bl_question-text br {
        display: none
    }

    .bl_about-grid {
        width: 100%;
        max-width: 24rem;
        gap: 2rem 0.875rem
    }

    .bl_about_circle {
        width: clamp(7.75rem, 40vw, 9rem);
        height: clamp(7.75rem, 40vw, 9rem)
    }

    .bl_about_vertical {
        font-size: 0.95rem
    }

    .el_arrow-btn {
        width: 2.625rem;
        height: 2.625rem;
        font-size: 1.25rem
    }

    .bl_career-photo,
    .bl_work-env-photo {
        height: 15.5rem
    }

    .bl_interview-list {
        gap: 0.875rem
    }

    .bl_recruit-overlay h2,
    .bl_footer_entry-cta__title {
        font-size: clamp(1.65rem, 8vw, 2rem)
    }

    .bl_footer_entry-cta__button,
    .bl_question-button {
        width: 100%
    }

    .bl_people-mv_contents {
        padding: 1.625rem 1.25rem
    }
}

@media screen and (max-width:420px) {
    .bl_title-faq {
        padding: 0 1rem
    }

    .bl_faq-section {
        padding-left: 0.875rem;
        padding-right: 0.875rem
    }

    .el_faq-question,
    .el_faq-answer-inner {
        gap: 0.625rem
    }

    .el_faq-q {
        width: 2.375rem;
        min-width: 2.375rem
    }

    .el_faq-a,
    .el_faq-icon {
        width: 1.875rem;
        min-width: 1.875rem
    }

    .el_faq-icon {
        height: 1.875rem
    }

    header {
        padding: 0.75rem 0.875rem
    }

    header.is-scrolled {
        padding: 0.625rem 0.875rem
    }

    .bl_top-logo img {
        width: auto
    }

    .bl_header_entry {
        width: 5.75rem;
        height: 2.625rem;
        font-size: 0.7rem;
        letter-spacing: 0.04em
    }

    .bl_header_right {
        gap: 0.45rem
    }

    .bl_header_burger {
        width: 2.875rem;
        height: 2.875rem
    }

    .ly_top_hero {
        padding-top: 7.75rem;
        padding-left: 0.875rem;
        padding-right: 0.875rem
    }

    .ly_top_hero h1 {
        font-size: clamp(2.12rem, 10.2vw, 2.65rem);
        line-height: 1.08
    }

    .bl_hero_logo {
        width: clamp(9.25rem, 43vw, 11.75rem)
    }

    .ly_top_hero p {
        font-size: clamp(0.92rem, 4.2vw, 1.1rem);
        line-height: 1.72;
        letter-spacing: 0.06em
    }

    .hero-bg .el_hero-bg_yellow,
    .hero-bg .el_hero-bg_lblue,
    .hero-bg .el_hero-bg_red,
    .hero-bg .el_hero-bg_purple,
    .hero-bg .el_hero-bg_blue {
        width: min(28rem, 132vw)
    }

    .bl_arch {
        width: calc(100% - 0.5rem);
        padding: 3.75rem 0.875rem;
        border-top-left-radius: 50% 7rem;
        border-top-right-radius: 50% 7rem
    }

    .bl_arch .bl_about-heading h2,
    .bl_about-heading h2,
    .bl_people-heading h2 {
        font-size: 1.32rem
    }

    .bl_script-txt,
    .bl_people-script {
        font-size: 3rem
    }

    .bl_about-section {
        padding-left: 0.875rem;
        padding-right: 0.875rem
    }

    .bl_about-grid {
        max-width: 22rem;
        gap: 1.75rem 0.75rem
    }

    .bl_about_circle {
        width: clamp(7.25rem, 39vw, 8.35rem);
        height: clamp(7.25rem, 39vw, 8.35rem)
    }

    .bl_about-card h3 {
        font-size: 0.92rem
    }

    .bl_career-content,
    .bl_work-env-content,
    .bl_recruit-overlay,
    .bl_people-card {
        padding-left: 1rem;
        padding-right: 1rem
    }

    .bl_people-card,
    .bl_work-env-inner {
        width: calc(100% - 1.5rem)
    }

    .bl_interview-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.625rem
    }

    .bl_footer_entry-cta {
        padding: 4.75rem 1rem
    }

    .bl_question-box,
    .bl_question-button-wrap {
        max-width: 100%
    }

    .bl_hero-copy h1,
    .bl_people-copy h1 {
        font-size: clamp(2.2rem, 10.5vw, 2.7rem)
    }

    .bl_people-mv_contents {
        width: calc(100% - 0.75rem);
        padding: 1.5rem 1.125rem;
        border-radius: 1.375rem
    }

    .sec-container,
    .bl_content_container {
        width: calc(100% - 1.25rem)
    }
}

@media screen and (max-width:320px) {
    body {
        min-width: 320px
    }

    header {
        padding-left: 0.625rem;
        padding-right: 0.625rem
    }

    header.is-scrolled {
        padding-left: 0.625rem;
        padding-right: 0.625rem
    }

    .bl_top-logo img {
        width: auto
    }

    .bl_header_entry {
        width: 5.25rem;
        height: 2.375rem;
        font-size: 0.64rem;
        letter-spacing: 0.02em
    }

    .bl_header_burger {
        width: 2.5rem;
        height: 2.5rem;
        gap: 5px
    }

    .bl_header_burger span {
        width: 14px
    }

    .bl_burger-menu {
        padding: 5.25rem 1rem 2rem;
        gap: 1.25rem
    }

    .bl_burger-menu a {
        font-size: 1rem
    }

    .ly_top_hero {
        padding-top: 7rem;
        padding-left: 0.625rem;
        padding-right: 0.625rem
    }

    .ly_top_hero h1 {
        font-size: 2rem;
        letter-spacing: 0.01em
    }

    .bl_hero_logo {
        width: 8.75rem
    }

    .ly_top_hero p {
        font-size: 0.88rem;
        letter-spacing: 0.045em
    }

    .bl_arch {
        padding-left: 0.75rem;
        padding-right: 0.75rem
    }

    .bl_arch .bl_about-heading h2,
    .bl_about-heading h2,
    .bl_people-heading h2 {
        font-size: 1.18rem
    }

    .bl_about-grid {
        gap: 1.5rem 0.5rem
    }

    .bl_about_circle {
        width: 7rem;
        height: 7rem
    }

    .bl_about_vertical {
        font-size: 0.82rem;
        right: -0.25rem
    }

    .el_arrow-btn {
        width: 2.25rem;
        height: 2.25rem;
        font-size: 1.05rem;
        right: -0.35rem;
        bottom: 1.125rem
    }

    .bl_about-card h3 {
        font-size: 0.84rem;
        line-height: 1.45
    }

    .bl_career-photo,
    .bl_work-env-photo,
    .bl_recruit-right img {
        height: 13.5rem
    }

    .bl_interview-list {
        gap: 0.5rem
    }

    .bl_recruit-overlay h2,
    .bl_footer_entry-cta__title {
        font-size: 1.5rem
    }

    .bl_footer_entry-cta__button,
    .bl_question-button,
    .bl_more-btn {
        min-width: 0;
        max-width: 100%
    }

    .bl_hero-copy h1,
    .bl_people-copy h1 {
        font-size: 2rem
    }
}

@media screen and (min-width:1024px) and (max-width:1280px) {
    .bl_career-block {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        column-gap: 2rem
    }

    .bl_career-content,
    .bl_work-env-content {
        width: min(34rem, 100%);
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 1.25rem;
        padding-right: 1.25rem
    }

    .bl_career-content .bl_about-heading,
    .bl_work-env-content .bl_about-heading {
        margin-bottom: 2.25rem
    }

    .bl_career-content .bl_about-heading h2,
    .bl_work-env-content .bl_about-heading h2 {
        display: inline-flex;
        align-items: baseline;
        justify-content: center;
        flex-wrap: nowrap;
        width: auto;
        max-width: 100%;
        font-size: clamp(1.78rem, 2.45vw, 2.05rem);
        line-height: 1.35;
        letter-spacing: 0.035em;
        white-space: nowrap;
        word-break: keep-all;
        overflow-wrap: normal;
        line-break: strict
    }

    .bl_career-content .bl_about-heading h2 .bl_min,
    .bl_work-env-content .bl_about-heading h2 .bl_min {
        display: inline-block;
        flex: 0 0 auto;
        margin-left: 0.15em;
        white-space: nowrap;
        word-break: keep-all
    }

    .bl_career-content .bl_script-txt,
    .bl_work-env-content .bl_script-txt {
        font-size: clamp(4.25rem, 7.2vw, 5.25rem);
        white-space: nowrap
    }
}

.bl_life-event-intro {
    position: relative;
    z-index: 0;
    margin-top: 70px;
    margin-bottom: 130px;
    padding: 110px 24px 120px;
    overflow: hidden;
    background-color: #f7fbff;
    background-image: linear-gradient(rgba(38, 130, 255, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(38, 130, 255, .08) 1px, transparent 1px);
    background-size: 32px 32px
}

.bl_life-event-intro::before,
.bl_life-event-intro::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(70px);
    pointer-events: none
}

.bl_life-event-intro::before {
    width: 360px;
    height: 360px;
    left: -120px;
    top: 30px;
    background: rgba(80, 190, 255, .22)
}

.bl_life-event-intro::after {
    width: 420px;
    height: 420px;
    right: -150px;
    bottom: -110px;
    background: rgba(231, 76, 157, .16)
}

.bl_life-event-intro__inner {
    position: relative;
    z-index: 2;
    width: min(980px, 100%);
    margin: 0 auto;
    padding: 64px 48px;
    border-radius: 34px;
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 22px 58px rgba(0, 60, 120, .12);
    text-align: center
}

.bl_life-event-intro__en {
    margin-bottom: 14px;
    color: #1f9de6;
    font-size: .86rem;
    font-weight: 800;
    letter-spacing: .24em
}

.bl_life-event-intro__head h2 {
    margin: 0;
    color: #0d2f8f;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: .08em
}

.bl_life-event-intro__head p {
    max-width: 760px;
    margin: 24px auto 0;
    color: #444;
    font-size: 1rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: .06em
}

.bl_life-event-intro__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    width: min(360px, 100%);
    min-height: 66px;
    margin-top: 38px;
    border-radius: 999px;
    background: linear-gradient(90deg, #219ee8 0%, #d957ae 100%);
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: .08em;
    box-shadow: 0 12px 28px rgba(204, 80, 165, .18)
}

.bl_life-event-intro__btn span {
    font-size: 1.2rem;
    line-height: 1
}

.bl_life-event-intro__btn:hover {
    transform: translateY(-3px);
    background: linear-gradient(135deg, #2682ff, #00a8ff)
}

.bl_other-support-only {
    margin-top: -80px;
    position: relative;
    z-index: 7
}

.bl_other-support-only .bl_card_inner {
    background: linear-gradient(180deg, #fff 0%, #f8fcff 100%)
}

@media screen and (max-width:900px) {
    .bl_life-event-intro {
        margin-top: -54px;
        padding: 86px 18px 96px;
        background-size: 26px 26px
    }

    .bl_life-event-intro__inner {
        padding: 52px 32px;
        border-radius: 30px
    }

    .bl_other-support-only {
        margin-top: -64px
    }
}

@media screen and (max-width:767px) {
    .bl_life-event-intro {
        margin-top: -38px;
        padding: 70px 14px 82px;
        background-size: 22px 22px
    }

    .bl_life-event-intro__inner {
        padding: 42px 20px 38px;
        border-radius: 26px
    }

    .bl_life-event-intro__en {
        font-size: .74rem;
        letter-spacing: .2em
    }

    .bl_life-event-intro__head h2 {
        font-size: clamp(1.55rem, 7vw, 2rem)
    }

    .bl_life-event-intro__head p {
        margin-top: 18px;
        font-size: .9rem;
        line-height: 1.85;
        text-align: left
    }

    .bl_life-event-intro__head p br:not(.p_br):not(.pad_br):not(.m_br) {
        display: none
    }

    .bl_life-event-intro__btn {
        min-height: 58px;
        margin-top: 30px;
        gap: 16px;
        font-size: .92rem
    }

    .bl_other-support-only {
        margin-top: -42px
    }

    .bl_other-support-only .bl_bf_section-number3 {
        display: none
    }
}

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%
}

body.agk-top-page {
    min-width: 320px
}

body.agk-top-page header {
    box-sizing: border-box
}

body.agk-top-page .bl_top-logo,
body.agk-top-page .bl_top-logo a,
body.agk-top-page .bl_top-logo img {
    display: block
}

body.agk-top-page .bl_top-logo {
    flex: 0 1 auto;
    min-width: 0;
    position: relative;
    z-index: 1002
}

body.agk-top-page .bl_top-logo img {
    width: auto;
    max-width: min(42vw, 25rem);
    height: auto;
    object-fit: contain
}

body.agk-top-page .bl_header_right {
    flex: 0 0 auto
}

body.agk-top-page .bl_header_burger {
    padding: 0;
    border: 0;
    appearance: none;
    -webkit-appearance: none;
    line-height: 1
}

body.agk-top-page .bl_header_burger:focus-visible,
body.agk-top-page .bl_header_entry:focus-visible,
body.agk-top-page .bl_burger-menu a:focus-visible {
    outline: 3px solid rgba(38, 130, 255, 0.42);
    outline-offset: 4px
}

body.agk-top-page .bl_burger-menu.active {
    right: 0
}

body.agk-top-page.is-menu-open {
    overflow: hidden
}

body.agk-top-page .ly_top_hero {
    min-height: clamp(34rem, 54vw, 48rem);
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: clamp(4rem, 8vw, 8rem)
}

body.agk-top-page .ly_top_hero h1 {
    margin: 0;
    transform-origin: 50% 50%
}

body.agk-top-page .bl_hero_logo {
    max-width: 100%
}

body.agk-top-page .bl_recruit-area {
    box-sizing: border-box
}

body.agk-top-page .bl_recruit-card {
    height: auto;
    min-height: 320px;
    align-items: stretch;
    background: #e2e2e2
}

body.agk-top-page .bl_recruit-left,
body.agk-top-page .bl_recruit-right {
    min-height: 0
}

body.agk-top-page .bl_recruit-right img {
    width: 100%;
    height: 100%;
    min-height: 320px;
    display: block;
    object-fit: cover;
    object-position: center center
}

body.agk-top-page .bl_recruit-card:hover .bl_recruit-right img {
    transform: scale(1.025)
}

body.agk-top-page .bl_recruit-right img {
    transition: transform 0.75s cubic-bezier(.22, 1, .36, 1)
}

@media screen and (min-width:1280px) {
    body.agk-top-page .bl_top-logo img {
        width: auto;
        max-width: 30rem
    }
}

@media screen and (min-width:1024px) and (max-width:1279px) {
    body.agk-top-page header {
        padding: 1.25rem clamp(1.5rem, 3vw, 2.5rem)
    }

    body.agk-top-page header.is-scrolled {
        padding: 0.875rem clamp(1.5rem, 3vw, 2.5rem)
    }

    body.agk-top-page .bl_top-logo img {
        width: auto;
        max-width: 35vw
    }

    body.agk-top-page .bl_header_entry {
        width: clamp(8.75rem, 12vw, 10.5rem);
        height: clamp(3.25rem, 4.3vw, 3.9rem);
        font-size: clamp(0.95rem, 1.4vw, 1.15rem)
    }

    body.agk-top-page .bl_header_burger {
        width: clamp(3.5rem, 4.5vw, 4rem);
        height: clamp(3.5rem, 4.5vw, 4rem)
    }

    body.agk-top-page .ly_top_hero {
        padding-top: clamp(12.5rem, 16vw, 15rem)
    }
}

@media screen and (min-width:768px) and (max-width:1023px) {
    body.agk-top-page header {
        padding: 1.15rem 1.5rem
    }

    body.agk-top-page header.is-scrolled {
        padding: 0.8rem 1.5rem
    }

    body.agk-top-page .bl_top-logo img {
        width: auto;
        max-width: 40vw
    }

    body.agk-top-page .bl_header_entry {
        width: clamp(7.5rem, 13vw, 9rem);
        height: 3.25rem;
        font-size: 0.9rem
    }

    body.agk-top-page .bl_header_burger {
        width: 3.5rem;
        height: 3.5rem
    }

    body.agk-top-page .bl_recruit-card {
        grid-template-columns: 1fr;
        width: calc(100% - 3rem);
        min-height: 0;
        border-radius: 1.5rem
    }

    body.agk-top-page .bl_recruit-left {
        min-height: 22rem
    }

    body.agk-top-page .bl_recruit-right {
        min-height: 0;
        height: auto;
        background: transparent
    }

    body.agk-top-page .bl_recruit-right img {
        height: clamp(20rem, 42vw, 27rem);
        min-height: 0;
        object-position: center center
    }
}

@media screen and (max-width:767px) {
    body.agk-top-page header {
        padding: 1rem clamp(1rem, 3.4vw, 1.5rem)
    }

    body.agk-top-page header.is-scrolled {
        padding: 0.75rem clamp(1rem, 3.4vw, 1.5rem)
    }

    body.agk-top-page .bl_top-logo img {
        width: auto;
        max-width: 38vw
    }

    body.agk-top-page .bl_header_right {
        gap: clamp(0.5rem, 1.6vw, 0.875rem)
    }

    body.agk-top-page .bl_header_entry {
        width: clamp(6.75rem, 16vw, 8rem);
        height: clamp(3rem, 7vw, 3.35rem);
        font-size: clamp(0.78rem, 2.1vw, 0.95rem)
    }

    body.agk-top-page .bl_header_burger {
        width: clamp(3rem, 7.5vw, 3.5rem);
        height: clamp(3rem, 7.5vw, 3.5rem)
    }

    body.agk-top-page .ly_top_hero {
        min-height: clamp(28rem, 70svh, 38rem);
        padding-top: clamp(7.75rem, 18vw, 10rem);
        padding-bottom: clamp(2.75rem, 8vw, 4.5rem)
    }

    body.agk-top-page .ly_top_hero h1 {
        font-size: clamp(2.55rem, 8.8vw, 3.85rem)
    }

    body.agk-top-page .bl_hero_logo {
        width: clamp(10.75rem, 43vw, 15.75rem)
    }

    body.agk-top-page .bl_arch {
        overflow: hidden
    }

    body.agk-top-page .bl_recruit-area {
        padding: clamp(4rem, 10vw, 5.5rem) 1.25rem
    }

    body.agk-top-page .bl_recruit-card {
        width: 100%;
        min-height: 0;
        grid-template-columns: 1fr;
        border-radius: 1.5rem;
        background: transparent
    }

    body.agk-top-page .bl_recruit-left {
        min-height: clamp(22rem, 58vw, 28rem)
    }

    body.agk-top-page .bl_recruit-content {
        padding: clamp(3rem, 7vw, 4rem) 1.25rem clamp(3rem, 8vw, 4.5rem)
    }

    body.agk-top-page .bl_recruit-content p {
        padding-top: clamp(2rem, 6vw, 3rem);
        line-height: 1.8
    }

    body.agk-top-page .bl_recruit-right {
        min-height: 0;
        height: auto;
        background: transparent
    }

    body.agk-top-page .bl_recruit-right img {
        height: clamp(17rem, 43vw, 22rem);
        min-height: 0;
        object-fit: cover;
        object-position: center center
    }
}

@media screen and (max-width:480px) {
    body.agk-top-page .bl_top-logo img {
        width: auto;
        max-width: 42vw
    }

    body.agk-top-page .bl_header_entry {
        width: 5.85rem;
        height: 2.8rem;
        font-size: 0.74rem
    }

    body.agk-top-page .bl_header_burger {
        width: 2.9rem;
        height: 2.9rem
    }

    body.agk-top-page .bl_recruit-left {
        min-height: 24rem
    }

    body.agk-top-page .bl_recruit-right img {
        height: 16.5rem
    }
}

body.agk-top-page .bl_top-logo img {
    width: auto !important
}

@media screen and (min-width:1280px) {
    body.agk-top-page .bl_top-logo img {
        width: auto !important
    }
}

@media screen and (min-width:1024px) and (max-width:1279px) {
    body.agk-top-page .bl_top-logo img {
        width: auto !important
    }
}

@media screen and (min-width:768px) and (max-width:1023px) {
    body.agk-top-page .bl_top-logo img {
        width: auto !important
    }
}

@media screen and (max-width:767px) {
    body.agk-top-page .bl_top-logo img {
        width: auto !important
    }
}

@media screen and (max-width:480px) {
    body.agk-top-page .bl_top-logo img {
        width: auto !important
    }
}

body.agk-top-page .hero-bg {
    overflow: hidden !important;
    opacity: 0.96
}

body.agk-top-page .hero-bg .el_hero-bg_yellow,
body.agk-top-page .hero-bg .el_hero-bg_lblue,
body.agk-top-page .hero-bg .el_hero-bg_red,
body.agk-top-page .hero-bg .el_hero-bg_purple,
body.agk-top-page .hero-bg .el_hero-bg_blue {
    position: absolute !important;
    max-width: none !important;
    height: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate3d(var(--shape-x, 0), var(--shape-y, 0), 0) rotate(var(--shape-rotate, 0deg)) scale(var(--shape-scale, 1)) !important;
    opacity: var(--shape-opacity, 1);
    transform-origin: 50% 50% !important;
    backface-visibility: hidden;
    transform-style: preserve-3d;
    will-change: transform, opacity;
    transition: transform 1600ms cubic-bezier(0.16, 1, 0.3, 1), opacity 650ms ease-out;
    transition-delay: var(--shape-delay, 0ms)
}

@media screen and (min-width:1280px) {
    body.agk-top-page .hero-bg {
        height: clamp(68rem, 72vw, 86rem) !important;
        min-height: 100svh
    }

    body.agk-top-page .hero-bg .el_hero-bg_yellow {
        width: clamp(58rem, 60vw, 76rem) !important;
        top: clamp(-24rem, -15vw, -18rem) !important;
        left: clamp(-26rem, -17vw, -19rem) !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_red {
        width: clamp(44rem, 45vw, 60rem) !important;
        top: clamp(-34rem, -23vw, -27rem) !important;
        left: clamp(28rem, 34vw, 48rem) !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_purple {
        width: clamp(62rem, 62vw, 82rem) !important;
        top: clamp(-23rem, -14vw, -17rem) !important;
        right: clamp(-28rem, -18vw, -18rem) !important;
        left: auto !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_lblue {
        width: clamp(48rem, 46vw, 64rem) !important;
        top: clamp(25rem, 28vw, 35rem) !important;
        left: clamp(-22rem, -14vw, -15rem) !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_blue {
        width: clamp(48rem, 46vw, 64rem) !important;
        top: clamp(26rem, 30vw, 35rem) !important;
        right: clamp(-24rem, -15vw, -16rem) !important;
        left: auto !important
    }
}

@media screen and (min-width:1024px) and (max-width:1279px) {
    body.agk-top-page .hero-bg {
        height: 76rem !important;
        min-height: 100svh;
        opacity: 0.94
    }

    body.agk-top-page .hero-bg .el_hero-bg_yellow {
        width: 52rem !important;
        top: -17rem !important;
        left: -19rem !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_red {
        width: 42rem !important;
        top: -27rem !important;
        left: 30vw !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_purple {
        width: 56rem !important;
        top: -15rem !important;
        right: -20rem !important;
        left: auto !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_lblue {
        width: 43rem !important;
        top: 28rem !important;
        left: -17rem !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_blue {
        width: 43rem !important;
        top: 30rem !important;
        right: -17rem !important;
        left: auto !important
    }
}

@media screen and (min-width:768px) and (max-width:1023px) {
    body.agk-top-page .hero-bg {
        height: 72rem !important;
        min-height: 100svh;
        opacity: 0.92
    }

    body.agk-top-page .hero-bg .el_hero-bg_yellow {
        width: 47rem !important;
        top: -15rem !important;
        left: -19rem !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_red {
        width: 39rem !important;
        top: -24rem !important;
        left: 25vw !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_purple {
        width: 50rem !important;
        top: -12rem !important;
        right: -20rem !important;
        left: auto !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_lblue {
        width: 39rem !important;
        top: 28rem !important;
        left: -17rem !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_blue {
        width: 39rem !important;
        top: 30rem !important;
        right: -18rem !important;
        left: auto !important
    }
}

@media screen and (max-width:767px) {
    body.agk-top-page .hero-bg {
        height: clamp(58rem, 216vw, 70rem) !important;
        min-height: 100svh;
        opacity: 0.94
    }

    body.agk-top-page .hero-bg .el_hero-bg_red {
        width: min(34rem, 154vw) !important;
        top: -8.5rem !important;
        left: -18rem !important;
        right: auto !important;
        bottom: auto !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_blue {
        width: min(31rem, 128vw) !important;
        top: -7.5rem !important;
        right: -15rem !important;
        left: auto !important;
        bottom: auto !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_purple {
        width: min(37rem, 158vw) !important;
        top: 16.5rem !important;
        left: -19.5rem !important;
        right: auto !important;
        bottom: auto !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_lblue {
        width: min(30rem, 120vw) !important;
        top: 12rem !important;
        right: -15.5rem !important;
        left: auto !important;
        bottom: auto !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_yellow {
        width: min(39rem, 162vw) !important;
        top: 18rem !important;
        left: 34vw !important;
        right: auto !important;
        bottom: auto !important
    }

    body.agk-top-page .bl_about-grid {
        row-gap: 2.85rem
    }

    body.agk-top-page .bl_about-card {
        padding-bottom: 0.5rem
    }

    body.agk-top-page .bl_about_circle {
        overflow: visible;
        margin-bottom: 1.1rem
    }

    body.agk-top-page .bl_about_vertical {
        top: 0.05rem;
        right: -0.58rem;
        z-index: 2;
        line-height: 1;
        letter-spacing: 0.02em
    }

    body.agk-top-page .el_arrow-btn {
        right: -0.18rem;
        bottom: -0.62rem;
        z-index: 4;
        width: 2.55rem;
        height: 2.55rem;
        font-size: 1.25rem
    }
}

@media screen and (max-width:560px) {
    body.agk-top-page .hero-bg {
        height: clamp(60rem, 222vw, 68rem) !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_red {
        width: min(34rem, 160vw) !important;
        top: -7.8rem !important;
        left: -18rem !important;
        right: auto !important;
        bottom: auto !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_blue {
        width: min(30rem, 130vw) !important;
        top: -7.2rem !important;
        right: -14.5rem !important;
        left: auto !important;
        bottom: auto !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_purple {
        width: min(36rem, 166vw) !important;
        top: 16.5rem !important;
        left: -18.5rem !important;
        right: auto !important;
        bottom: auto !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_lblue {
        width: min(28.5rem, 126vw) !important;
        top: 11.2rem !important;
        right: -15rem !important;
        left: auto !important;
        bottom: auto !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_yellow {
        width: min(38rem, 170vw) !important;
        top: 17rem !important;
        left: 32vw !important;
        right: auto !important;
        bottom: auto !important
    }
}

@media screen and (max-width:480px) {
    body.agk-top-page .hero-bg {
        height: clamp(59rem, 226vw, 66rem) !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_red {
        width: min(32rem, 158vw) !important;
        top: -7.5rem !important;
        left: -15rem !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_blue {
        width: min(29rem, 132vw) !important;
        top: -7.5rem !important;
        right: -13rem !important;
        left: auto !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_purple {
        width: min(34.5rem, 166vw) !important;
        top: 15rem !important;
        left: -16.5rem !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_lblue {
        width: min(27.5rem, 126vw) !important;
        top: 10rem !important;
        right: -15.5rem !important;
        left: auto !important
    }

    body.agk-top-page .hero-bg .el_hero-bg_yellow {
        width: min(36.5rem, 172vw) !important;
        top: 15.5rem !important;
        left: 30vw !important
    }

    body.agk-top-page .bl_about-grid {
        row-gap: 2.45rem
    }

    body.agk-top-page .bl_about_circle {
        margin-bottom: 1.2rem
    }

    body.agk-top-page .bl_about_vertical {
        right: -0.62rem;
        top: -0.12rem;
        font-size: 0.74rem;
        letter-spacing: -0.01em
    }

    body.agk-top-page .el_arrow-btn {
        right: -0.16rem;
        bottom: -0.7rem;
        width: 2.15rem;
        height: 2.15rem;
        font-size: 1.05rem
    }
}

@media screen and (max-width:1023px) {
    #entry-form .bl_recruit-card {
        height: auto
    }

    #entry-form .bl_recruit-right {
        min-height: 0;
        height: auto;
        line-height: 0;
        background: transparent
    }

    #entry-form .bl_recruit-right img {
        display: block
    }
}

body.agk-top-page .bl_recruit-card:hover .bl_recruit-button,
body.agk-top-page .bl_recruit-card:focus-within .bl_recruit-button,
body.agk-top-page .bl_recruit-card.is-recruit-hover-active .bl_recruit-button {
    background: #fff;
    color: #0789bd;
    transition: 0.5s ease
}

html,
body {
    overflow-x: hidden !important;
    -ms-overflow-style: none !important;
    scrollbar-width: none !important
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
    background: transparent !important
}

html.lenis,
html.lenis body,
.lenis.lenis-smooth,
.lenis.lenis-stopped,
.lenis.lenis-scrolling {
    -ms-overflow-style: none !important;
    scrollbar-width: none !important
}

html.lenis::-webkit-scrollbar,
html.lenis body::-webkit-scrollbar,
.lenis.lenis-smooth::-webkit-scrollbar,
.lenis.lenis-stopped::-webkit-scrollbar,
.lenis.lenis-scrolling::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
    background: transparent !important
}

.bl_burger-menu,
.hero-step,
.hero-career__cards,
.ly_people_top-bg,
.bl_people_wrapper,
.bl_interview,
.bl_interview-people-bg,
.bl_interview-people-inner,
.bl_interview .bl_interview_contleft,
.bl_interview .bl_interview_contright,
.bl_interview_fav-goal,
.bl_interview_fav,
.bl_interview_goal {
    -ms-overflow-style: none !important;
    scrollbar-width: none !important
}

.bl_burger-menu::-webkit-scrollbar,
.hero-step::-webkit-scrollbar,
.hero-career__cards::-webkit-scrollbar,
.ly_people_top-bg::-webkit-scrollbar,
.bl_people_wrapper::-webkit-scrollbar,
.bl_interview::-webkit-scrollbar,
.bl_interview-people-bg::-webkit-scrollbar,
.bl_interview-people-inner::-webkit-scrollbar,
.bl_interview .bl_interview_contleft::-webkit-scrollbar,
.bl_interview .bl_interview_contright::-webkit-scrollbar,
.bl_interview_fav-goal::-webkit-scrollbar,
.bl_interview_fav::-webkit-scrollbar,
.bl_interview_goal::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
    background: transparent !important
}

.ly_people_top-bg,
.bl_people_wrapper,
.bl_interview,
.bl_interview-people-bg,
.bl_interview-people-inner,
.bl_interview .bl_interview_contleft,
.bl_interview .bl_interview_contright,
.bl_interview_fav-goal,
.bl_interview_fav,
.bl_interview_goal,
.bl_interview_text,
.bl_interview_text-fav {
    box-sizing: border-box
}

.ly_people_top-bg,
.bl_people_wrapper,
.bl_interview,
.bl_interview-people-bg,
.bl_interview-people-inner {
    width: 100%;
    max-width: 100%
}

.bl_people_wrapper:empty,
.bl_interview_days-flow:empty {
    display: none !important
}

.bl_interview {
    position: relative;
    z-index: 1;
    overflow: visible !important
}

.bl_interview-people-bg {
    position: relative;
    z-index: 0 !important;
    padding: 64px 0 110px !important;
    overflow: hidden !important;
    box-shadow: none !important
}

.bl_interview-people-inner {
    position: relative;
    z-index: 1;
    width: min(1100px, calc(100% - 64px)) !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 72px !important;
    overflow: visible !important
}

.bl_interview .bl_interview_contleft,
.bl_interview .bl_interview_contright {
    width: min(100%, 1000px) !important;
    max-width: 1000px !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: clamp(34px, 3.8vw, 50px) !important;
    gap: clamp(28px, 3.6vw, 50px) !important;
    overflow: visible !important
}

.bl_interview .bl_interview_contright {
    flex-direction: row-reverse
}

.bl_interview_contleft img,
.bl_interview_contright img {
    max-width: 100%;
    flex-shrink: 0
}

.bl_interview_text,
.bl_interview_text-fav {
    min-width: 0 !important;
    overflow: visible !important
}

.bl_interview_text h2,
.bl_interview_text-fav h2,
.bl_interview_text p,
.bl_interview_text-fav p {
    word-break: normal !important;
    overflow-wrap: anywhere
}

.bl_interview_fav-goal {
    width: min(1000px, 100%) !important;
    max-width: 1000px !important;
    margin: 0 auto !important;
    overflow: visible !important
}

.bl_interview_fav,
.bl_interview_goal {
    min-width: 0 !important;
    overflow: visible !important
}

.bl_interview-people-bg .bl_bg-blob,
.bl_interview-people-bg span {
    pointer-events: none
}

@media screen and (max-width:1180px) {
    .bl_interview-people-bg {
        padding: 60px 0 96px !important
    }

    .bl_interview-people-inner {
        width: min(980px, calc(100% - 56px)) !important;
        max-width: 980px !important;
        gap: 62px !important
    }

    .bl_interview .bl_interview_contleft,
    .bl_interview .bl_interview_contright {
        padding: 42px !important;
        gap: 38px !important
    }
}

@media screen and (max-width:960px) {
    .bl_interview-people-bg {
        padding: 56px 0 84px !important
    }

    .bl_interview-people-inner {
        width: min(100% - 48px, 760px) !important;
        max-width: 760px !important;
        gap: 48px !important
    }

    .bl_interview .bl_interview_contleft,
    .bl_interview .bl_interview_contright {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 32px !important;
        gap: 28px !important
    }
}

@media screen and (max-width:767px) {
    .ly_people_top-bg {
        min-height: auto !important;
        padding: 92px 20px 54px !important;
        overflow: hidden !important
    }

    .bl_people-mv {
        width: min(100%, 460px) !important;
        max-width: 460px !important;
        min-height: 0 !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: block !important;
        overflow: visible !important
    }

    .bl_people-mv>.bl_container {
        display: none !important
    }

    .bl_people-mv_img,
    .bl_people-mv_contents {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;
        transform: none !important
    }

    .bl_people-mv_img {
        margin: 0 !important
    }

    .bl_people-mv_img img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 4 / 5;
        object-fit: cover;
        object-position: top center
    }

    .bl_people-mv_contents {
        width: calc(100% - 20px) !important;
        max-width: 100% !important;
        margin: -34px auto 0 !important;
        padding: 28px 22px 26px !important;
        z-index: 2
    }

    .bl_interview-people-bg {
        padding: 46px 0 70px !important
    }

    .bl_interview-people-inner {
        width: min(100% - 28px, 460px) !important;
        max-width: 460px !important;
        gap: 30px !important
    }

    .bl_interview .bl_interview_contleft,
    .bl_interview .bl_interview_contright {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        padding: 22px 18px 24px !important;
        gap: 20px !important;
        border-radius: 22px !important;
        touch-action: pan-y
    }

    .bl_interview_contleft img,
    .bl_interview_contright img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 10;
        object-fit: cover;
        object-position: center;
        margin: 0 !important
    }

    .bl_interview_fav-goal {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 18px !important
    }

    .bl_interview_fav,
    .bl_interview_goal {
        width: 100% !important;
        margin: 0 !important;
        padding: 26px 22px !important;
        border-radius: 22px !important;
        touch-action: pan-y
    }

    .bl_interview .bl_interview_contleft:hover,
    .bl_interview .bl_interview_contright:hover,
    .bl_interview_fav:hover,
    .bl_interview_goal:hover {
        transform: none !important
    }
}

@media screen and (max-width:480px) {
    .ly_people_top-bg {
        padding: 84px 14px 46px !important
    }

    .bl_people-mv {
        width: 100% !important;
        max-width: none !important
    }

    .bl_people-mv_contents {
        width: calc(100% - 12px) !important;
        margin-top: -28px !important;
        padding: 24px 18px 24px !important
    }

    .bl_interview-people-inner {
        width: calc(100% - 24px) !important;
        max-width: none !important;
        gap: 26px !important
    }

    .bl_interview .bl_interview_contleft,
    .bl_interview .bl_interview_contright {
        padding: 20px 16px 22px !important;
        border-radius: 20px !important
    }

    .bl_interview_fav,
    .bl_interview_goal {
        padding: 24px 18px !important;
        border-radius: 20px !important
    }
}