/* 初期ブレンドモードなし */
.recruit-page .header {
    mix-blend-mode: normal;
}
.recruit-page .header__logo svg {
    color: #fff;
}
.recruit-page .gnav__link {
    color: #fff;
    mix-blend-mode: normal;
}
.recruit-page .headerDropdownButton span {
    background-color: #fff;
    mix-blend-mode: normal;
}

/* スクロール後にブレントモードへ */
.recruit-page .header.is-scroll {
    mix-blend-mode: difference;
}
.recruit-page .header.is-scroll .header__logo svg {
    color: #fff;
}
.recruit-page .header.is-scroll .gnav__link {
    color: #fff;
    mix-blend-mode: difference;
}
.recruit-page .header.is-scroll .headerDropdownButton span {
    background-color: #fff;
    mix-blend-mode: difference;
}

@media (max-width: 48rem) {
    .headerDropdownButton span {
        background-color: var(--color-text-white);
    }

    .header.is-scroll .headerDropdownButton span {
        background-color: var(--color-text-base);
    }
}

/* Main Visual */
.mv {
    position: relative;
}

.mv::before {
    background: linear-gradient(0deg, var(--bgc-black), transparent);
    bottom: 0;
    content: "";
    height: 18rem;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 1;
}

.mv__image {
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
}

.mv__inner {
    display: grid;
    gap: 10.625rem;
    max-width: 71rem;
    padding-block: calc(var(--header-height) + 3.25rem) 7.5rem;
    position: relative;
}

.mvTitle {
    color: var(--color-text-white);
    display: grid;
    justify-items: end;
}

.mvTitle__en {
    font-size: 8rem;
    font-weight: 600;
    letter-spacing: -0.01rem;
    line-height: 1.1;
}

.mv__text {
    color: var(--color-text-white);
    display: grid;
    gap: 1.75rem;
    max-width: 33.125rem;
    position: relative;
    z-index: 1;
}

.mv__text .block {
    display: block;
}

.mv__catch {
    font-size: var(--text-4xl);
}

.mv__lead {
    font-family: var(--font-ibm);
    font-size: var(--text-lg);
    font-weight: 500;
    letter-spacing: 0.02rem;
    line-height: 2;
}

.splide {
    position: relative;
    z-index: 1;
}

.mvCarousel {
    background-color: var(--bgc-black);
    padding-block: 2.0625rem;
    position: relative;
}

.mvCarousel::before {
    --height: 5rem;

    background: linear-gradient(0deg, var(--bgc-black) 100%, transparent 0%);
    content: "";
    height: var(--height);
    left: 0;
    position: absolute;
    top: calc(var(--height) * -1);
    width: 100%;
}

.mvCarousel__list {
    position: relative;
}

.mvCarousel__item {
    align-items: center;
    color: var(--color-text-white);
    display: flex !important;
    font-family: var(--font-inter);
    font-size: var(--text-xl);
    font-weight: 300;
    gap: 0.75rem;
    letter-spacing: -0.02em;
    line-height: 1;
    white-space: nowrap;
}

@media (max-width: 48rem) {
    .mv__inner {
        gap: 10rem;
        padding-block: calc(var(--header-height) + 3.1rem) 4rem;
    }

    .mvTitle__en {
        font-size: 4rem;
    }

    .mvTitle__ja {
        font-size: 0.875rem;
    }
}

/* Splide Overrides */
.splide__arrow,
.splide__pagination {
    display: none !important;
}

/* Mind */
.mind__container {
    padding-block: 7.5rem;
}

.mind__catch {
    color: color-mix(in srgb, var(--color-orange-light) 30%, transparent 70%);
    display: grid;
    font-size: 10.25rem;
    font-weight: 600;
    letter-spacing: -0.01rem;
    line-height: 1.1;
    margin-inline: auto;
    max-width: var(--container-width);
}

.mind__catch--icon {
    aspect-ratio: 1;
    display: inline-flex;
    height: 5.125rem;
    width: 5.125rem;
}

.mind__catch--bottom {
    justify-self: end;
    margin-top: -1.875rem;
}

.mind__head {
    font-size: var(--text-2xl);
    font-weight: 600;
    letter-spacing: 0.04rem;
    line-height: 1.4;
}

.mind__contents {
    display: grid;
    gap: 1.5rem 2rem;
    grid-template-columns: 27rem auto;
    justify-content: space-between;
    margin-top: -5rem;
    position: relative;
}

.mind__body {
    max-width: 36.75rem;
}

.mind__body p {
    font-family: var(--font-ibm);
    font-size: var(--text-lg);
    line-height: 2;
}

.mind__body p + p {
    margin-top: 2.25rem;
}

.mind__body .block {
    display: block;
}

.mind__button {
    display: grid;
    justify-items: end;
    margin-top: 1.875rem;
}

.mind__button a {
    align-items: center;
    display: inline-flex;
    font-family: var(--font-ibm);
    font-size: var(--text-xl);
    gap: 1rem;
    line-height: 1.6;
    transition: color 0.25s;
}

.mind__button a:hover {
    color: var(--color-orange);
}

@media (max-width: 60rem) {
    .mind__catch {
        font-size: clamp(4rem, -1.75rem + 20vw, 10.25rem);
        padding-inline: 1rem;
    }

    .mind__catch--bottom {
        justify-self: end;
        margin-top: -0.625rem;
    }

    .mind__container {
        padding-block: 5rem;
    }

    .mind__catch--icon {
        height: 9.6vw;
        width: 9.6vw;
    }

    .mind__contents {
        grid-template-columns: 1fr;
        margin: 2.25rem auto 0;
        width: fit-content;
    }

    .mind__button {
        margin-top: 1.5rem;
    }
}

/* Ideal Person */
.ideal {
    background: linear-gradient(0deg, var(--color-orange), var(--color-orange-light));
}

.ideal__container {
    align-items: start;
    display: grid;
    gap: 2.25rem 4rem;
    grid-template-columns: 13.4375rem 1fr;
    padding-block: 7.5rem 6.25rem;
}

.idealList__item {
    color: var(--color-text-white);
    counter-increment: idealList;
    display: grid;
    gap: 2.25rem;
    grid-template-columns: 10.5rem 1fr;
    padding-block: 2.625rem;
    position: relative;
}

.idealList__item:first-of-type {
    padding-top: 0;
}

.idealList__content {
    align-items: start;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto 1fr;
}

.idealList__content::before {
    color: var(--color-text-white);
    content: counter(idealList, decimal-leading-zero);
    font-size: 1rem;
    letter-spacing: -0.01rem;
    line-height: 1.1;
    margin-top: 1.6rem;
}

.idealList__image--sp {
    display: none;
}

.idealList__text {
    display: grid;
    gap: 0.625rem;
}

.idealList__en {
    font-size: 4rem;
    font-weight: 600;
    letter-spacing: -0.01rem;
    line-height: 1.1;
}

.idealList__ja {
    font-family: var(--font-ibm);
    font-size: var(--text-xl);
    font-weight: 500;
    line-height: 1.6;
}

.idealList__divider {
    bottom: 0;
    left: 0;
    position: absolute;
    width: 100%;
}

@media (max-width: 60rem) {
    .ideal__container {
        grid-template-columns: 1fr;
    }

    .ideal__container {
        padding-block: 4rem;
    }
}

@media (max-width: 40rem) {
    .idealList__item {
        grid-template-columns: 1fr;
        padding-block: 2.25rem;
    }

    .idealList__image--pc {
        display: none;
    }

    .idealList__image--sp {
        display: inline-flex;
        grid-area: auto / 3 / auto / 3;
        justify-self: end;
        max-width: 5.375rem;
        object-fit: cover;
    }

    .idealList__content {
        grid-template-columns: 1fr;
    }

    .idealList__content::before {
        content: "";
    }

    .idealList__text {
        gap: 1.5rem;
    }

    .idealList__en {
        align-items: end;
        display: grid;
        font-size: 2.25rem;
        justify-content: start;
        justify-content: space-between;
        max-width: 24rem;
        position: relative;
    }

    .idealList__en::before {
        color: var(--color-text-white);
        content: counter(idealList, decimal-leading-zero);
        font-size: 1rem;
        left: 0;
        letter-spacing: -0.01rem;
        line-height: 1.1;
        position: absolute;
        top: -0.5rem;
    }
}

/* By The Numbers */
.numbers {
    padding-block: 7.5rem;
    --item-gap: 2.5rem;
}

.numbersList {
    display: grid;
    gap: var(--item-gap);
    margin-top: 3.125rem;
}

.numbersList__group {
    display: flex;
    gap: var(--item-gap);
}

.numbersList__item {
    background-color: var(--bgc-white);
    border-radius: var(--rounded-lg);
    box-shadow: 0 0 1.5rem 0.625rem rgb(255 153 64 / 20%);
    display: grid;
    gap: 1.875rem;
    padding: 2rem;
    position: relative;
}

.numbersList__label {
    color: var(--color-orange);
    display: inline-flex;
    font-size: var(--text-lg);
    font-weight: 600;
    letter-spacing: 0.06rem;
    line-height: 1.3;
}

.numbersList__numberGroup {
    align-items: flex-end;
    display: flex;
    gap: 0.25rem;
}

.numbersList__number {
    display: inline-block;
    font-size: 4rem;
    font-weight: 600;
    letter-spacing: -0.01rem;
    line-height: 1.1;
}

.numbersList__unit {
    font-family: var(--font-ibm);
    font-size: var(--text-2xl);
    font-weight: 600;
    letter-spacing: 0.04rem;
    line-height: 1.4;
    white-space: nowrap;
}

.numbers-now {
    font-weight: 400;
    line-height: 1.8;
}

.icon-flask {
    margin: 0.375rem 0 0.1875rem 30px;
}

.icon-notebook {
    margin: 0.1875rem 36px 0 0;
}

.icon-experienced {
    margin: 0.125rem 4px 0.0625rem 0.75rem;
}

.icon-inexperienced {
    margin: 2px 1.43px 1px 2px;
}

.experience-numbers {
    margin: 0 9px 0 16px;
}

.img-scrollbar {
    margin-top: 1rem;
}

@media (max-width: 48rem) {
    .icon-flask {
        margin: 0;
    }

    .icon-notebook {
        margin: 0;
    }

    .icon-experienced {
        margin: 0;
    }

    .icon-inexperienced {
        margin: 0 0 0 8px;
    }

    .experience-numbers {
        margin: 0 0.75rem;
    }

    .img-scrollbar {
        margin-top: 21px;
    }
}

/* Utilities */
.text-orange {
    color: var(--color-orange);
}

.w-full {
    width: 100%;
}

.w-676 {
    width: 42.25rem;
}

.w-424 {
    width: 26.5rem;
}

.w-318 {
    width: 19.875rem;
}

.h-320 {
    height: 20rem;
}

.h-225 {
    height: 14.0625rem;
}

.flex {
    display: flex;
}

.flex-col {
    flex-direction: column;
}

.items-center {
    align-items: center;
}

.items-baseline {
    align-items: baseline;
}

.items-flexend {
    align-items: flex-end;
}

.justify-center {
    justify-content: center;
}

.justify-between {
    justify-content: space-between;
}

.mt-4 {
    margin-top: 2rem;
}

.mt-3 {
    margin-top: 1.5rem;
}

.mt-2 {
    margin-top: 1rem;
}

.mt-1 {
    margin-top: 0.5rem;
}

.mr-2 {
    margin-right: 1rem;
}

.pl-5 {
    padding-left: 2.5rem;
}

.pl-4 {
    padding-left: 2rem;
}

.pl-3 {
    padding-left: 1.5rem;
}

.pl-2 {
    padding-left: 1rem;
}

.pl-1 {
    padding-left: 0.5rem;
}

.grid-cols-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.gap-2 {
    gap: 1rem;
}

.gap-3 {
    gap: 1.5rem;
}

.gap-6 {
    gap: 3rem;
}

@media (max-width: 74.25rem) {
    .numbers {
        --item-gap: 1.25rem;
    }

    .numbersList__group {
        display: grid;
        flex-direction: column;
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
        grid-template-columns: 1fr;
        width: 100%;
    }

    .numbersList li {
        height: auto;
        justify-items: center;
        width: 100%;
    }
}

@media (max-width: 48rem) {
    .numbers__head {
        display: block;
    }
    .numbers-now {
        font-size: 0.875rem;
        margin-bottom: 1.75rem;
        margin-top: 1.25rem;
        text-align: right;
    }

    .numbersList {
        /* gap: 0; */
        margin-top: 0.5rem;
    }

    .numbersList li {
        padding: 1.25rem 0;
    }

    .numbersList__number {
        font-size: 2.875rem;
    }
    .numbers {
        padding-block: 4rem 5rem;
    }

    .flex-col--sp {
        flex-direction: column;
    }

    .flex-col-reverse--sp {
        flex-direction: column-reverse;
    }

    .numbersList__item--retention .numbersList__label {
        padding-bottom: 1rem;
    }

    .svg-scale-sp {
        scale: 0.7575;
    }

    .gap-1-sp {
        gap: 0.5rem;
    }

    .svg-50-sp {
        display: inline-block;
        width: 50%;
    }
    .svg-52px-sp {
        display: inline-block;
        width: 3.260625rem;
    }
    .graph-sp {
        display: inline-block;
        margin-left: 2.25rem;
        width: 4.76375rem;
    }
}

.ch-1 {
    display: inline-block;
    font-variant-numeric: tabular-nums;
    text-align: right;
    width: 1ch;
}
.ch-2 {
    display: inline-block;
    font-variant-numeric: tabular-nums;
    text-align: right;
    width: 2ch;
}
.ch-3 {
    display: inline-block;
    font-variant-numeric: tabular-nums;
    text-align: right;
    width: 3ch;
}
.ch-4 {
    display: inline-block;
    font-variant-numeric: tabular-nums;
    text-align: right;
    width: 4ch;
}

/* Company Culture */
.culture {
    background-color: var(--bgc-black);
    color: var(--color-text-white);
}

.culture__container {
    padding-block: 9.375rem 3.75rem;
}

.culture__contents {
    display: grid;
    gap: 2.25rem;
    grid-template-columns: 1fr 1fr;
}

.culture__contents .block {
    display: block;
}

.culture__text {
    align-content: center;
    align-items: start;
    display: grid;
    gap: 3rem;
}

.culture__lead {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.8;
}

@media (max-width: 48rem) {
    .culture__container {
        padding-block: 5rem 2rem;
    }

    .culture__contents {
        grid-template-columns: 1fr;
    }

    .culture .sectionTitle__en {
        font-size: 2rem;
    }

    .culture .sectionTitle__ja {
        font-size: 1rem;
    }

    .culture__image {
        margin-inline: auto;
    }

    .culture__text {
        gap: 1.5rem;
    }
}

/* Our Values */
.values {
    background-color: var(--bgc-black);
    color: var(--color-text-white);
}

.values__container {
    padding-block: 3.75rem 9.375rem;
}

.values__contents {
    display: grid;
    gap: 2.25rem;
    grid-template-columns: 1fr 1fr;
}

.values__contents .block {
    display: block;
}

.values__text {
    align-content: center;
    align-items: start;
    display: grid;
    gap: 3rem;
}

.values__lead {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.8;
}

.values__button {
    z-index: 1;
}

.values__button .button {
    max-width: 22.5rem;
    width: 100%;
}

.values__button .button__text {
    align-items: center;
    display: inline-flex;
    gap: 0.75rem;
}

@media (max-width: 48rem) {
    .values__container {
        padding-block: 2rem 5rem;
    }

    .values__contents {
        grid-template-columns: 1fr;
    }

    .values .sectionTitle__en {
        font-size: 2rem;
    }

    .culture .sectionTitle__ja {
        font-size: 1rem;
    }

    .values__text {
        gap: 1.5rem;
        order: 2;
    }

    .values__image {
        margin-inline: auto;
    }

    .values__button {
        text-align: center;
    }
}

/* Open Positions */
.positions__container {
    padding-block: 7.5rem;
}

.positionsList {
    display: grid;
    margin-top: 3rem;
}

.positionsList__item {
    align-items: start;
    border-top: 0.125rem solid var(--color-orange-light);
    display: grid;
    gap: 1.25rem 3rem;
    grid-template-columns: 22.8rem 1fr;
    padding-block: 2.25rem 2.875rem;
}

.positions__name {
    align-items: center;
    display: grid;
    font-family: var(--font-ibm);
    font-size: 2rem;
    font-weight: 600;
    gap: 0.75rem;
    grid-template-columns: auto 1fr;
    letter-spacing: 0.04em;
    line-height: 1.4;
}

.positionsList__item:last-of-type {
    padding-bottom: 0;
}

.positions__name span {
    color: var(--color-orange);
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: -0.01em;
}

.positions__description p {
    font-family: var(--font-ibm);
    font-size: var(--text-md);
    font-weight: 400;
    line-height: 1.8;
}

.positions__description ul {
    display: grid;
    gap: 0.5rem;
}

.positions__description li {
    display: grid;
    font-family: var(--font-ibm);
    font-size: var(--text-sm);
    font-weight: 400;
    gap: 0.5rem;
    grid-template-columns: auto 1fr;
    line-height: 1.6;
}

.positions__description li::before {
    aspect-ratio: 1;
    background-color: var(--color-orange);
    content: "";
    display: block;
    margin-top: 0.4rem;
    width: 0.375rem;
}

.positions__description hr {
    border: none;
    border-top: 0.0625rem dashed #e17721;
    margin-block: 1.25rem;
}

@media (max-width: 64.0625rem) {
    .positions__container {
        padding-block: 4rem;
    }

    .positionsList__item {
        grid-template-columns: 1fr;
    }

    .positions__name {
        font-size: 1.5rem;
        gap: 0.5rem;
        grid-template-columns: 1fr;
    }
}

/* Job Requirements */
.require {
    padding-block: 6.875rem 3.75rem;
    position: relative;
}

.require::before {
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--color-orange-light) 40%, transparent 60%),
        var(--bgc-white)
    );
    content: "";
    height: 8.75rem;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 100%;
    z-index: -1;
}

.require__contents {
    border-radius: var(--rounded-lg);
    box-shadow: 0 0 1.875rem 0.625rem rgb(255 153 64 / 20%);
    margin-top: 3rem;
    padding: 2.5rem 2.5rem 1.875rem;
}

.requireList__item {
    display: grid;
    gap: 0 4rem;
    grid-template-columns: 7.375rem 1fr;
    overflow: hidden;
    padding-block: 1rem;
    position: relative;
}

.requireList__item:first-of-type {
    padding-top: 0;
}

.requireList__item:last-of-type {
    padding-bottom: 0;
}

.requireList__item::after {
    bottom: 1rem;
    content: url("/assets/images/common/img-divider-dotted.svg");
    display: block;
    height: 0.0625rem;
    left: 0;
    position: absolute;
    width: 100%;
}
.requireList__item:last-of-type::after {
    content: "";
}

.requireList__item dt {
    font-family: var(--font-ibm);
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.8;
    padding-left: 0.5rem;
}

.requireList__item dd {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.8;
}

.requireList__item dd li {
    display: grid;
    gap: 0.5rem;
    grid-template-columns: auto 1fr;
}

.requireList__item dd li::before {
    aspect-ratio: 1;
    background-color: var(--color-orange);
    content: "";
    display: block;
    margin-top: 0.65rem;
    width: 0.375rem;
}

.requireList__item small {
    font-size: var(--text-xs);
}
.link__information {
}
.link__information a {
    align-items: center;
    display: flex;
    gap: 8px;
}
.mt-12 {
    margin-top: 12px;
}

@media (max-width: 53.75rem) {
    .require__contents {
        padding: 1.75rem 1.25rem;
    }

    .requireList__item {
        gap: 0.25rem;
        grid-auto-rows: auto;
        grid-template-columns: 1fr;
    }

    .requireList__item dd {
        padding-left: 0.5rem;
    }

    .requireList__item small {
        display: block;
    }
}

@media (max-width: 48rem) {
    .require {
        padding-block: 4rem 2rem;
    }

    .require::before {
        height: 4rem;
    }
}

/* Selection Process */
.selection__container {
    padding-block: 3.75rem 7.5rem;
}

.selection__lead {
    font-size: var(--text-md);
    font-weight: 400;
    line-height: 1.8;
    margin-top: 2.5rem;
}

.selectionFlow {
    display: flex;
    justify-content: space-between;
    margin-top: 2.5rem;
    position: relative;
}

.selectionFlow__item {
    align-items: center;
    counter-increment: selectionFlow;
    display: grid;
    gap: 1rem 1.75rem;
    justify-items: center;
}

.selectionFlow::after {
    background-color: var(--color-orange);
    content: "";
    display: block;
    height: 0.0625rem;
    position: absolute;
    top: 1rem;
    width: 100%;
    z-index: -1;
}

.selectionFlow__number {
    position: relative;
}

.selectionFlow__number::before {
    background-color: var(--bgc-white);
    content: "";
    display: block;
    height: 100%;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 200%;
}

.selectionFlow__number::after {
    aspect-ratio: 1;
    background-color: var(--color-orange-light);
    border-radius: var(--rounded-full);
    color: var(--color-text-white);
    content: counter(selectionFlow, decimal-leading-zero);
    display: inline-grid;
    place-items: center;
    position: relative;
    width: 2.25rem;
    z-index: 1;
}

@media (max-width: 48rem) {
    .selection__container {
        padding-block: 2rem 4rem;
    }

    .selection__lead {
        margin-top: 1.5rem;
    }

    .selectionFlow {
        flex-direction: column;
        gap: 2.5rem;
    }

    .selectionFlow::after {
        height: 90%;
        left: 1rem;
        width: 0.0625rem;
    }

    .selectionFlow__item {
        grid-template-columns: auto 1fr;
        justify-items: start;
    }

    .selectionFlow__number::before {
        height: 144%;
        top: 50%;
        transform: translate(-50%, -50%);
    }
}

/* Employee Benefits */
.benefits {
    padding-block: 7.5rem;
    position: relative;
}

.benefits__bg {
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
    z-index: -1;
}

.benefitsList {
    display: grid;
    gap: 2.5rem;
    grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr));
    margin-top: 3rem;
}

.benefitsList__item {
    background-color: rgba(255 255 255 / 0.7);
    border: 0.0625rem solid var(--color-orange-light);
    border-radius: var(--rounded-lg);
    display: grid;
    gap: 1.5rem;
    grid-row: span 2;
    grid-template-rows: auto 1fr;
    grid-template-rows: subgrid;
    padding: 1.75rem 2.5rem;
}

.benefitsList__title {
    align-items: center;
    display: flex;
    font-family: var(--font-ibm);
    font-size: var(--text-lg);
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1.3;
}

.benefitsList__body {
    font-family: var(--font-ibm);
    font-size: 1rem;
    font-weight: 400;
    height: auto;
    letter-spacing: 0.02em;
    line-height: 1.8;
}

.benefitsList__body .block {
    display: block;
}

@media (max-width: 48rem) {
    .benefits {
        padding-block: 4rem;
    }

    .benefitsList {
        display: grid;
        gap: 1.5rem;
        grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr));
        margin-top: 3rem;
    }

    .benefitsList__item {
        gap: 1.25rem;
        padding: 1.75rem 2rem;
    }

    .benefitsList__body {
        font-size: 0.875rem;
    }
}

/* Recruit */
.qa {
    padding-block: 7.5rem;
}

.detailsList {
    display: grid;
    padding-top: 3rem;
}

.details {
    align-items: start;
    display: grid;
    position: relative;
}

.details::after {
    border-image: url("/assets/images/common/img-divider-dotted.svg");
    border-image-outset: 0;
    border-image-repeat: stretch;
    border-image-slice: 1;
    border-image-width: 0.0625rem;
    content: "";
    display: block;
    height: 0.125rem;
    width: 100%;
}

.details__summary {
    align-items: center;
    display: grid;
    gap: 1.25rem 1.5rem;
    grid-template-columns: auto 1fr auto;
    padding-block: 2.25rem;
    transition: background-color 0.25s;
}

.details[open] .details__summary {
    grid-template-columns: auto 1fr auto;
}

@media (any-hover: hover) {
    .details__summary:hover {
        background-color: color-mix(in srgb, var(--color-orange) 0%, var(--color-orange-light) 10%);
    }
}

.details__title {
    font-family: var(--font-ibm);
    font-size: var(--text-xl);
    line-height: 1.6;
}

.details__icon {
    align-self: center;
    justify-self: end;
}

.details__icon .plus--horizontal {
    transition:
        opacity 0s,
        visibility 0s;
}

.details[open] .details__icon .plus--horizontal {
    opacity: 0;
    visibility: hidden;
}

.details__contentInner {
    display: grid;
    gap: 0 1.2rem;
    grid-template-columns: 2rem 1fr;
}

.details__contentInner::before {
    content: "";
}

.details__link {
    font-weight: 700;
    text-decoration: underline;
}

.details__content p {
    font-family: var(--font-ibm);
    font-size: var(--text-md);
    font-weight: 400;
    line-height: 1.8;
    padding-bottom: 2.25rem;
}

@media (max-width: 48rem) {
    .qa {
        padding-block: 4rem;
    }

    .detailsList {
        padding-top: 2.25rem;
    }

    .details__summary {
        padding-block: 1.5rem;
    }

    .details__title {
        grid-area: 2 / 1 / 2 / 1;
    }

    .details__icon {
        grid-area: 2 / 2 / 2 / 2;
    }

    .details__contentInner {
        grid-template-columns: 1fr;
    }
}

/* CTA */
.cta {
    position: relative;
}

.cta__container {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding-block: 7.5rem;
    position: relative;
    row-gap: 3rem;
}

.cta__bg {
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
}

.cta__catch {
    color: var(--color-text-white);
    font-size: var(--text-4xl);
    font-weight: 600;
    letter-spacing: 0.04rem;
    line-height: 1.4;
}

.cta__catch .block {
    display: block;
}

.cta__button {
    font-family: var(--font-ibm);
    gap: 0.625rem;
    padding-top: 0.125rem;
    z-index: 1;
}

.cta__button .button__icon {
    margin-top: 0.0625rem;
}

@media (max-width: 53.75rem) {
    .cta__container {
        flex-direction: column;
        padding-block: 5rem 6rem;
    }

    .cta__button {
        display: grid;
        grid-template-columns: auto 1fr auto;
        height: 5.25rem;
        max-width: 18.9375rem;
        width: 100%;
    }

    .cta__button .button__text {
        display: flex;
        flex-direction: column;
    }

    .cta__button .inline-block {
        display: block;
    }
}
