/* この会社で働きたい */
body.ae-careers-page {
    --careers-blue: #064bfa;
    --careers-ink: #080b20;

    margin: 0;
    color: var(--careers-ink);
    font-family: Arial, "Yu Gothic", Meiryo, sans-serif;
    background: var(--ae-dot-background);
    background-attachment: fixed;
    animation: ae-dot-background-drift 20s ease-in-out infinite;
}

.ae-careers,
.ae-careers *,
.ae-careers *::before,
.ae-careers *::after {
    box-sizing: border-box;
}

.ae-careers {
    width: 100%;
}

/* トップ画面 */
.ae-careers .ae-careers-hero {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.5fr);
    align-items: center;
    gap: 36px;

    width: calc(100% - 80px);
    max-width: 1360px;
    min-height: calc(
        100svh - var(--wp-admin--admin-bar--height, 0px)
    );
    margin: 0 auto;
    padding: 56px 0;
}

.ae-careers-hero__copy {
    min-width: 0;
}

.ae-careers-hero__eyebrow {
    margin: 0 0 28px;
    color: var(--careers-blue);
    font: 700 13px/1.6 "Courier New", monospace;
    letter-spacing: 0.08em;
}

.ae-careers-hero__english {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(42px, 4.5vw, 72px);
    font-weight: 900;
    line-height: 0.94;
    letter-spacing: -0.065em;
}

.ae-careers-hero__copy h1 {
    max-width: none;
    margin: 24px 0 0;
    font-size: clamp(23px, 2.6vw, 37px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -0.04em;
}

.ae-careers-hero__lead {
    max-width: 24em;
    margin: 16px 0 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.9;
}

.ae-careers-hero__caption {
    margin: 36px 0 0;
    color: var(--careers-blue);
    font: 700 11px/1.8 "Courier New", monospace;
    letter-spacing: 0.04em;
}

/* フィギュアのショーケース */
.ae-careers-hero__showcase {
    min-width: 0;
    border: 2px solid var(--careers-blue);
    padding: 5px;
    background: #fff;
    box-shadow: 8px 8px 0 #d8eaff;
}

.ae-careers-hero__bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    min-height: 34px;
    padding: 7px 12px;
    background: var(--careers-blue);
    color: #fff;
    font: 700 12px/1.5 "Courier New", monospace;
    letter-spacing: 0.04em;
}

.ae-careers-hero__bar span:last-child {
    white-space: nowrap;
}

.ae-careers-hero__figures {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
    gap: 12px;

    margin: 0;
    padding: 32px 16px 24px;
    list-style: none;
    background: linear-gradient(#fff, #eef7ff);
}

.ae-careers-hero__figure {
    min-width: 0;
    margin: 0;
    padding: 0;
}

.ae-careers-hero__figure img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 3;
    object-fit: contain;
}

.ae-careers-hero__showcase-footer {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    border-top: 1px solid #c3ddff;
    padding: 10px 12px;
    color: var(--careers-blue);
    font: 700 11px/1.6 "Courier New", monospace;
}

/* タブレット */
@media (max-width: 1000px) {
    .ae-careers .ae-careers-hero {
        grid-template-columns: 1fr;
        gap: 32px;
        width: calc(100% - 48px);
        min-height: auto;
        padding: 48px 0 64px;
    }

    .ae-careers-hero__english {
        font-size: clamp(60px, 11vw, 92px);
    }

    .ae-careers-hero__caption {
        margin-top: 20px;
    }

    .ae-careers-hero__showcase {
        width: 100%;
        max-width: 760px;
        justify-self: center;
    }
}

/* スマートフォン */
@media (max-width: 600px) {
    .ae-careers .ae-careers-hero {
        width: calc(100% - 36px);
        gap: 28px;
        padding: 32px 0 56px;
    }

    .ae-careers-hero__eyebrow {
        margin-bottom: 20px;
        font-size: 11px;
    }

    .ae-careers-hero__english {
        font-size: clamp(48px, 12vw, 72px);
    }

    .ae-careers-hero__copy h1 {
        margin-top: 18px;
        font-size: 26px;
    }

    .ae-careers-hero__lead {
        margin-top: 10px;
        font-size: 14px;
    }

    .ae-careers-hero__figures {
        gap: 5px;
        padding: 20px 5px 16px;
    }

    .ae-careers-hero__showcase {
        box-shadow: 5px 5px 0 #d8eaff;
    }

    .ae-careers-hero__bar,
    .ae-careers-hero__showcase-footer {
        padding-inline: 8px;
        font-size: 10px;
    }
}
/* ここから：ページ全体の仮レイアウト。既存のトップの下へ追加。 */
body.ae-careers-page {
    font-family: var(--font-family-base);
    line-height: 1.8;
}

/* 開発相談ページと同じ書体・太さ・日本語見出しサイズ */
.ae-careers-page .ae-careers-hero__english {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: -0.06em;
}
.ae-careers-page .ae-careers-hero__copy h1 {
    font-size: clamp(19px, 2vw, 28px);
}

.ae-careers-index,
.ae-careers .ae-careers-section {
    width: calc(100% - 80px);
    max-width: 1280px;
    margin-inline: auto;
}
.ae-careers-index {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 20px 0;
    border-block: 1px solid #80afff;
    margin-bottom: 28px;
}
.ae-careers-index a {
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    flex: 1 1 190px;
    border: 1px solid #80afff;
    padding: 12px 14px;
    color: var(--careers-blue);
    background: #fff;
    box-shadow: 2px 2px 0 #d8eaff;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}
.ae-careers .ae-careers-section {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
    padding: 48px 0 64px;
    border-bottom: 1px solid #c3ddff;
    scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + 24px);
}
.ae-careers-section__heading,
.ae-careers-section__content { min-width: 0; }
.ae-careers-section__number {
    margin: 0 0 12px;
    font: 700 12px/1.6 "Courier New", monospace;
    letter-spacing: 0.08em;
}
.ae-careers-section__english {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(36px, 4vw, 64px);
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: -0.06em;
    overflow-wrap: normal;
    word-break: normal;
}
.ae-careers-section__heading h2 {
    max-width: none;
    margin: 24px 0 0;
    font-size: clamp(19px, 2vw, 28px);
    font-weight: 700;
    line-height: 1.5;
}
.ae-careers-layout__lead { margin: 0 0 28px; font-size: 16px; line-height: 1.9; }
.ae-careers-layout__note { margin: 16px 0 0; font-size: 12px; line-height: 1.8; }
.ae-careers-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    min-height: 52px;
    max-width: 100%;
    border: 2px solid var(--careers-blue);
    padding: 12px 25px;
    background: #fff;
    color: var(--careers-blue);
    box-shadow: 3px 3px 0 #a9cdff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    text-decoration: none;
}
.ae-careers-section__content > .ae-careers-button { margin-top: 24px; }
.ae-careers-button:hover { background: #edf5ff; }
.ae-careers-button:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 #a9cdff; }
.ae-careers-page :is(a, summary, [tabindex]):focus-visible { outline: 3px solid var(--careers-blue); outline-offset: 5px; }
.ae-careers-window {
    min-width: 0;
    border: 2px solid var(--careers-blue);
    padding: 3px;
    background: #fff;
    box-shadow: 4px 5px 0 #b0d3ff, 0 18px 36px #0063ff12;
}
.ae-careers-window__bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 7px 12px;
    color: #fff;
    background: var(--careers-blue);
    font: 700 12px/1.6 "Courier New", monospace;
}
.ae-careers-window__bar > span:last-child { flex-shrink: 0; white-space: nowrap; }
.ae-careers-window__bar h3 { margin: 0; font: 700 20px/1.5 var(--font-family-base); }
.ae-careers-window__body { padding: 24px; }
.ae-careers-window__body p,
.ae-careers-window__body ul { margin: 0 0 18px; font-size: 16px; line-height: 1.85; }
.ae-careers-window__body ul { padding-left: 1.2em; }

/* モチーフ：間隔と個別サイズの調整 */
.ae-careers-motifs {
    --flow-size: clamp(125px, 14vw, 200px);
    --flow-gap: clamp(24px, 2.8vw, 44px);
}

/* 上段：左から右 */
.ae-careers-motifs .ae-works-flow__track {
    animation-direction: reverse;
}

/* 下段：右から左 */
.ae-careers-motifs--entry .ae-works-flow__track {
    animation-direction: normal;
}

.ae-careers-motifs .ae-works-flow__item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: none;
}

/* 上段：リンゴ型ボタンを少し小さく */
.ae-careers-motifs:not(.ae-careers-motifs--entry)
.ae-works-flow__item:nth-child(4n + 1) img {
    width: 85%;
    height: 85%;
}

/* 下段：モチーフの間隔を調整 */
.ae-careers-motifs--entry {
    --flow-gap: clamp(32px, 3.5vw, 60px);
}

/* レシートは画像内の余白が広いため、左右を詰める */
.ae-careers-motifs--entry
.ae-works-flow__item:nth-child(4n + 3) {
    margin-inline: calc(var(--flow-size) * -0.1);
}

/* 上段3番目：チョコミントを少し小さく */
.ae-careers-motifs:not(.ae-careers-motifs--entry)
.ae-works-flow__item:nth-child(4n + 3) img {
    width: 90%;
    height: 90%;
}

/* 下段2番目：惑星を少し小さくし、左右反転 */
.ae-careers-motifs--entry
.ae-works-flow__item:nth-child(4n + 2) img {
    width: 90%;
    height: 90%;
    transform: scaleX(-1);
}

/* 下段4番目：ラジカセを少し大きく */
.ae-careers-motifs--entry
.ae-works-flow__item:nth-child(4n) img {
    transform: scale(1.08);
}
/* スマホ：相談ページとモチーフのサイズ・間隔を揃える */
@media (max-width: 650px) {
body.ae-careers-page .ae-careers-motifs {
    --flow-size: 100px;
    --flow-gap: 24px;
}

body.ae-careers-page .ae-careers-motifs--entry {
    padding: 20px 0;
}

    body.ae-careers-page
    .ae-careers-motifs .ae-works-flow__item:nth-child(n) {
        margin-inline: 0;
    }

    body.ae-careers-page
    .ae-careers-motifs .ae-works-flow__item:nth-child(n) img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        transform: none;
    }
}
/* 社員紹介：3体を飾るショーケース */
.ae-careers-team {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    grid-template-areas: "copy display";
    grid-template-rows: auto;
    align-items: center;
    gap: 24px 32px;
    min-height: 0;
    padding: 24px 36px;
    background: linear-gradient(140deg, #ffffff, #f2f8ff);
}

.ae-careers-team__copy {
    grid-area: copy;
    align-self: start;
    min-width: 0;
}

.ae-careers-team .ae-careers-team__title {
    margin: 0 0 20px;
    color: #080b20;
    font-size: clamp(28px, 2.8vw, 40px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -0.04em;
}

.ae-careers-team .ae-careers-team__text {
    margin: 0 0 20px;
    color: #29456b;
    font-size: 16px;
    line-height: 2;
}
.ae-careers-team__text-short {
    display: none;
}

.ae-careers-team__display {
    grid-area: display;
    align-self: center;
    min-width: 0;
}

.ae-careers-team__scene {
    display: block;
    width: 100%;
    height: auto;
    max-height: 340px;
    object-fit: contain;
}

/* 社員紹介：3枚をひとつの展示として浮かせる */
@media (min-width: 781px) and (hover: hover) and (pointer: fine)
       and (prefers-reduced-motion: no-preference) {
    .ae-careers-team__display {
        transition: transform 260ms cubic-bezier(.22, 1, .36, 1);
    }

    .ae-careers-team__display:hover {
        transform: translateY(-6px);
    }
}

/* スマホ・タブレット：紹介文→展示→ボタン */
@media (max-width: 780px) {
    .ae-careers-team {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "copy"
            "display";
        grid-template-rows: auto auto;
        gap: 16px;
        min-height: 0;
        padding: 24px 16px 28px;
    }

    .ae-careers-team .ae-careers-team__title {
        margin-bottom: 10px;
        font-size: 28px;
    }

    .ae-careers-team .ae-careers-team__text {
        font-size: 14px;
        line-height: 1.8;
    }

}
/* エンジニアスキル */
#career-skills {
    margin-top: 0;
    border-top: 1px solid #8dbaff;
    background: linear-gradient(145deg, #fff, #edf5ff);
}

.ae-careers-skills__heading {
    padding: 18px 24px 0;
}

.ae-careers-skills__eyebrow {
    margin: 0 0 6px;
    color: var(--careers-blue);
    font: 700 12px/1.6 "Courier New", monospace;
}

.ae-careers-skills__heading h3 {
    margin: 0;
    font-size: clamp(22px, 2.4vw, 30px);
    line-height: 1.5;
}

.ae-careers-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    padding: 24px;
    background: linear-gradient(145deg, #ffffff, #edf5ff);
}

/* PC：人数｜Java・C#｜平均年齢 */
@media (min-width: 901px) {
    .ae-careers-stats {
        grid-template-columns: minmax(0, 1fr) minmax(0, 2.7fr) minmax(0, 1fr);
        grid-template-rows: repeat(2, auto);
        gap: 12px 24px;
        align-items: stretch;
    }

    .ae-careers-stats__item--count {
        grid-column: 1;
        grid-row: 1 / 3;
    }

    .ae-careers-stats__item--age {
        grid-column: 3;
        grid-row: 1 / 3;
    }

    .ae-careers-stats > .ae-careers-stats__item--java,
    .ae-careers-stats > .ae-careers-stats__item--csharp {
        grid-column: 2;
        display: grid;
        grid-template-columns: 44px minmax(0, 1fr) 64px 36px;
        align-items: center;
        gap: 10px;
        padding: 12px;
    }

    .ae-careers-stats__item--java {
        grid-row: 1;
    }

    .ae-careers-stats__item--csharp {
        grid-row: 2;
    }

    .ae-careers-stats__item--java > span:first-child,
    .ae-careers-stats__item--csharp > span:first-child {
        grid-column: 1;
        grid-row: 1;
    }

    .ae-careers-stats .ae-careers-stats__item--java p,
    .ae-careers-stats .ae-careers-stats__item--csharp p {
        grid-column: 3;
        grid-row: 1;
        gap: 3px;
        margin: 0;
        white-space: nowrap;
    }

    .ae-careers-stats .ae-careers-stats__item--java b,
    .ae-careers-stats .ae-careers-stats__item--csharp b {
        font-size: 26px;
    }

    .ae-careers-stats__item--java small,
    .ae-careers-stats__item--csharp small {
        grid-column: 4;
        grid-row: 1;
        white-space: nowrap;
    }

    .ae-careers-stats__item .ae-careers-stats__meter {
        grid-column: 2;
        grid-row: 1;
        height: 22px;
        margin-top: 0;
    }
}

.ae-careers-stats > div {
    position: relative;
    min-width: 0;
    border: 1px solid #8dbaff;
    border-radius: 6px;
    padding: 20px 18px;
    background: #fff;
    box-shadow: none;
}

.ae-careers-stats > div > span:first-child {
    color: #29456b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
}

.ae-careers-stats p {
    display: flex;
    align-items: baseline;
    gap: 5px;
    margin: 16px 0 8px;
    color: #064bfa;
    font-size: 14px;
    line-height: 1.2;
}

.ae-careers-stats b {
    font: 700 clamp(36px, 4.5vw, 64px)/1 Arial, sans-serif;
    letter-spacing: -0.05em;
}

.ae-careers-stats small {
    display: block;
    color: #526585;
    font-size: 12px;
    line-height: 1.7;
}

.ae-careers-stats__meter {
    display: block;
    height: 8px;
    margin-top: 16px;
    border-radius: 2px;
    background: #dfebff;
    overflow: hidden;
}

.ae-careers-stats__meter::before {
    content: "";
    display: block;
    width: var(--rate);
    height: 100%;
    background:
        repeating-linear-gradient(
            90deg, transparent 0 7px, #ffffff80 7px 9px
        ),
        linear-gradient(90deg, #064bfa, #69b4ff);
}

.ae-careers-skills-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid #c3ddff;
    padding: 18px 24px 22px;
    background: #f8fbff;
}

.ae-careers-skills-footer .ae-careers-layout__note {
    margin: 0;
    color: #526585;
    font-size: 12px;
    line-height: 1.8;
}

/* 社員紹介・技術と経験：各紹介枠の右下に配置 */

.ae-careers-people-window__footer {
    display: flex;
    justify-content: flex-end;
    padding: 16px 24px 24px;
    background: #f8fbff;
}

/* 2つのボタンを白地・青枠で統一 */
.ae-careers-people-window .ae-careers-people-window__link {
    display: inline-flex;
    flex: 0 1 auto;
    align-items: center;
    justify-content: center;
    gap: 18px;
    width: max-content;
    max-width: 100%;
    min-height: 48px;
    margin: 0;
    border: 2px solid #064bfa;
    border-radius: 0;
    padding: 11px 18px;
    background: #fff;
    color: #064bfa;
    box-shadow: 3px 3px 0 #b0d3ff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

.ae-careers-people-window .ae-careers-people-window__link > span {
    flex-shrink: 0;
}

.ae-careers-people-window .ae-careers-people-window__link:hover {
    background: #eaf4ff;
    color: #064bfa;
}

.ae-careers-people-window .ae-careers-people-window__link:active {
    transform: translate(2px, 2px);
    box-shadow: 1px 1px 0 #b0d3ff;
}

.ae-careers-skills__source {
    color: #29456b;
    font-size: 12px;
    text-underline-offset: 3px;
}

@media (max-width: 700px) {
    .ae-careers-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        padding: 16px;
    }

    .ae-careers-stats > div {
        padding: 16px 12px;
    }

    .ae-careers-skills-footer {
        flex-direction: column;
        align-items: flex-start;
        padding: 16px;
    }

    .ae-careers-skills-footer .ae-careers-button {
        max-width: 100%;
        font-size: 13px;
    }
}
@media (max-width: 600px) {
    /* 社員紹介：冒頭の余白と見出しを調整 */
    .ae-careers-people-window .ae-careers-team {
        padding: 12px 16px 16px;
    }

    .ae-careers-people-window .ae-careers-team__title {
        margin: 0 0 6px;
        font-size: 16px;
        line-height: 1.4;
        letter-spacing: 0;
    }

    /* 社員紹介・技術と経験：ボタンのサイズを統一 */
    body.ae-careers-page:not(.ae-careers-work-page)
    #career-members .ae-careers-people-window
    .ae-careers-button.ae-careers-people-window__link {
        box-sizing: border-box;
        width: 180px;
        max-width: 100%;
        height: auto;
        min-height: 36px;
        justify-content: space-between;
        margin: 0;
        padding: 6px 12px;
        gap: 16px;
        font-size: 13px;
        line-height: 1.6;
    }

    /* 下のボタンも上と同じ左位置に */
    body.ae-careers-page:not(.ae-careers-work-page)
    #career-members .ae-careers-people-window__footer {
        justify-content: flex-start;
        padding: 16px 16px 20px;
    }

    #career-skills .ae-careers-skills__heading {
        padding: 14px 16px 0;
    }

    #career-skills .ae-careers-skills__heading h3 {
        font-size: 20px;
        line-height: 1.5;
    }

    #career-skills .ae-careers-stats {
        gap: 8px;
        padding: 10px 16px;
        background: transparent;
    }

    #career-skills .ae-careers-stats > div {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-content: start;
        align-items: center;
        gap: 4px 6px;
        padding: 8px;
        border-color: #b5cefa;
        border-radius: 8px;
    }

    #career-skills .ae-careers-stats > div > span:first-child {
        grid-column: 1;
        grid-row: 1;
        color: #080b20;
        font-size: 11px;
        line-height: 1.4;
    }

    #career-skills .ae-careers-stats p {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        gap: 2px;
        margin: 0;
        font-size: 11px;
        line-height: 1.2;
    }

    #career-skills .ae-careers-stats b {
        font-size: 26px;
    }

    #career-skills .ae-careers-stats small {
        grid-column: 1 / -1;
        color: #344765;
        font-size: 11px;
        line-height: 1.4;
    }

    #career-skills .ae-careers-stats__meter {
        grid-column: 1 / -1;
        height: 5px;
        margin-top: 0;
    }
}

/* 実装済みの仕事内容の画像を共用 */
.ae-careers-work-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.ae-careers-work-image { display: block; width: 100%; height: auto; aspect-ratio: 3 / FV2; object-fit: contain; margin: 0 0 24px; }
.ae-careers-role-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 20px; list-style: none; }
.ae-careers-role-grid li { display: flex; flex-direction: column; align-items: center; gap: 12px; border: 1px solid #80afff; padding: 20px 10px; color: var(--careers-blue); text-align: center; }
.ae-careers-role-grid b { font: 700 36px/1 "Courier New", monospace; }
.ae-careers-role-grid span { font-size: 14px; font-weight: 700; }
.ae-careers-role-grid small { font-size: 11px; }

/* 働く環境 */
.ae-careers-benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ae-careers-benefit {
    display: grid;
    grid-template-columns: 136px minmax(0, 1fr);
    grid-template-rows: auto minmax(152px, 1fr);
    align-items: center;
    gap: 8px 16px;
    min-width: 0;
    border: 2px solid #064bfa;
    border-radius: 2px;
    padding: 4px;
    background: linear-gradient(135deg, #fff, #edf6ff);
    box-shadow: 4px 4px 0 #c9dfff;
}

.ae-careers-benefit h3 {
    grid-column: 1 / -1;
    grid-row: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 44px;
    margin: 0;
    padding: 9px 10px;
    background-color: #064bfa;
    background-image: radial-gradient(
        circle, #ffffff30 0.7px, transparent 0.7px
    );
    background-size: 3px 3px;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.5;
}

.ae-careers-benefit h3::after {
    content: "− □ ×";
    flex-shrink: 0;
    font: 700 10px/1 monospace;
    white-space: nowrap;
}

.ae-careers-benefit p {
    grid-column: 2;
    grid-row: 2;
    margin: 0;
    padding: 16px 14px 16px 0;
    color: #173355;
    font-size: 15px;
    line-height: 1.9;
    overflow-wrap: anywhere;
}

.ae-careers-benefit__icon {
    grid-column: 1;
    grid-row: 2;
    justify-self: center;
    display: block;
    width: 136px;
    height: 136px;
    object-fit: contain;
    image-rendering: pixelated;
    transform: scale(var(--benefit-icon-scale, 1));
}
.ae-careers-benefit__title-short {
    display: none;
}

/* 元画像の余白の違いを補正 */
.ae-careers-benefit:nth-child(1) { --benefit-icon-scale: 1.06; }
.ae-careers-benefit:nth-child(2) { --benefit-icon-scale: 1.08; }
.ae-careers-benefit:nth-child(3) { --benefit-icon-scale: 1.05; }
.ae-careers-benefit:nth-child(4) { --benefit-icon-scale: 1.22; }
.ae-careers-benefit:nth-child(5) { --benefit-icon-scale: 1.30; }
.ae-careers-benefit:nth-child(6) { --benefit-icon-scale: 1.18; }

/* 福利厚生・チームの数字：控えめに浮かせる */
@media (hover: hover) and (pointer: fine)
       and (prefers-reduced-motion: no-preference) {
    .ae-careers-benefit,
    .ae-careers-stats > div {
        transition:
            transform 180ms ease-out,
            box-shadow 180ms ease-out;
    }

    .ae-careers-benefit:hover,
    .ae-careers-stats > div:hover {
        transform: translateY(-4px) scale(1.008);
        box-shadow: 4px 7px 0 #c4ddff;
    }
}

/* 福利厚生の詳細ウィンドウ */
html.ae-benefits-open {
    overflow: hidden;
}

/* 福利厚生・採用FAQ：詳細モーダルの共通デザイン */
.ae-benefits-dialog {
    --benefits-blue: var(--modal-blue);
    width: min(var(--modal-width), calc(100% - 48px));
    max-width: none;
    max-height: calc(100dvh - 48px);
    margin: auto;
    padding: 0;
    overflow: auto;
    overscroll-behavior: contain;
    border: 2px solid var(--modal-blue);
    border-radius: var(--modal-radius);
    background: var(--modal-tint);
    color: var(--modal-ink);
    box-shadow: var(--modal-shadow);
    scrollbar-color: #75a5f6 #e4efff;
}

.ae-benefits-dialog,
.ae-benefits-dialog * {
    box-sizing: border-box;
}

.ae-benefits-dialog::backdrop {
    background: var(--modal-backdrop);
}

.ae-benefits-dialog__bar {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 0;
    padding: 12px 24px;
    background: var(--modal-header-background);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.6;
}

.ae-benefits-dialog .ae-benefits-dialog__bar .ae-careers-button {
    flex-shrink: 0;
    min-height: 44px;
    border: 1px solid var(--modal-white);
    border-radius: 999px;
    padding: 9px 18px;
    background: var(--modal-white);
    color: var(--modal-blue);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
    box-shadow: none;
}

.ae-benefits-dialog .ae-benefits-dialog__bar .ae-careers-button:hover {
    background: #dcecff;
    color: var(--modal-blue);
}

.ae-benefits-dialog .ae-benefits-dialog__bar .ae-careers-button:focus-visible {
    outline: 3px solid var(--modal-white);
    outline-offset: 3px;
}

.ae-benefits-dialog__body {
    padding: clamp(16px, 3vw, 32px);
    background: var(--modal-background);
}
.ae-benefits-dialog__body p {
    margin: 0;
    color: #173355;
    font-size: 16px;
    line-height: 1.9;
}

.ae-benefits-dialog__body .ae-benefits-eyebrow {
    margin-bottom: 16px;
    color: var(--benefits-blue);
    font: 700 12px/1.6 "Courier New", monospace;
    letter-spacing: 0.08em;
}

.ae-benefits-intro h2 {
    margin: 0 0 14px;
    color: var(--benefits-blue);
    font-size: clamp(26px, 3vw, 34px);
    line-height: 1.5;
    letter-spacing: -0.04em;
}

.ae-benefits-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}

.ae-benefits-tags span {
    border: 1px solid #8dbaff;
    border-radius: 4px;
    padding: 6px 14px;
    background: #fff;
    color: var(--benefits-blue);
    font-size: 13px;
    font-weight: 700;
}

/* 福利厚生詳細：項目は余白で区切り、制度を白いカードにまとめる */
.ae-benefits-section {
    margin-top: 36px;
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
}

.ae-benefits-heading {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin: 0 0 18px;
    border-bottom: 1px solid #c3d9ff;
    padding-bottom: 12px;
    color: #080b20;
    font-size: clamp(21px, 2.2vw, 26px);
    line-height: 1.5;
}

.ae-benefits-heading > span {
    flex-shrink: 0;
    color: var(--benefits-blue);
    font: 700 20px/1.5 Arial, sans-serif;
    letter-spacing: 0;
}

.ae-benefits-dialog__body h4 {
    margin: 0 0 12px;
    color: #123c84;
    font-size: 20px;
    line-height: 1.5;
}

/* 福利厚生：数字ページと共通のウィンドウ風カード */
.ae-benefits-panel {
    --benefits-panel-padding: 24px;
    min-width: 0;
    border: 2px solid #2468d8;
    border-radius: 2px;
    padding: var(--benefits-panel-padding);
    background: #fff;
    box-shadow: 3px 4px 0 #c1d8fa;
}

.ae-benefits-panel > h4 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin:
        calc(3px - var(--benefits-panel-padding))
        calc(3px - var(--benefits-panel-padding))
        24px;
    padding: 7px 10px;
    background-color: #0750ed;
    background-image: radial-gradient(
        circle,
        rgba(255, 255, 255, 0.22) 0.7px,
        transparent 0.9px
    );
    background-size: 3px 3px;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.5;
    box-shadow: inset 0 0 0 1px #ffffff45;
}

.ae-benefits-panel > h4::after {
    content: "− □ ×";
    flex-shrink: 0;
    color: #dceaff;
    font: 400 12px/1 "Courier New", monospace;
    white-space: nowrap;
}
.ae-benefits-icon {
    display: block;
    width: var(--benefits-icon-size, 116px);
    height: var(--benefits-icon-size, 116px);
    object-fit: contain;
    image-rendering: pixelated;
}

.ae-benefits-icon[src$="benefit-dress-code.png"] {
    --benefits-icon-size: clamp(140px, 18vw, 200px);
}
/* 詳細内の3D画像 */
.ae-benefits-scene {
    display: block;
    width: 100%;
    max-width: 300px;
    height: auto;
    justify-self: center;
    object-fit: contain;
}

.ae-benefits-leave {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr);
    align-items: center;
    gap: 24px;
}

.ae-benefits-vaccine > .ae-benefits-scene {
    flex-shrink: 0;
    width: 30%;
    max-width: 240px;
}

@media (max-width: 850px) {
    .ae-benefits-leave {
        grid-template-columns: minmax(0, 1fr);
    }

    .ae-benefits-leave > .ae-benefits-scene {
        max-width: 240px;
    }

    .ae-benefits-vaccine {
        flex-direction: column;
        align-items: flex-start;
    }

    .ae-benefits-vaccine > .ae-benefits-scene {
        width: 180px;
        align-self: center;
    }
}

.ae-benefits-leave h4 {
    text-align: left;
}

.ae-benefits-timeline {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    width: min(100%, 480px);
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.ae-benefits-timeline > li:not(.ae-benefits-timeline__arrow) {
    position: relative;
    display: grid;
    align-content: center;
    justify-items: start;
    gap: 14px;
    width: 100%;
    min-height: 140px;
    border: 0;
    border-top: 1px solid #b9cde5;
    border-radius: 0 0 6px 6px;
    padding: 22px 20px;
    background: #f4f7fb;
    color: #173355;
    text-align: left;
    font-weight: 700;
}

.ae-benefits-timeline > li:not(.ae-benefits-timeline__arrow)::before {
    content: "";
    position: absolute;
    top: -5px;
    left: 20px;
    width: 9px;
    height: 9px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #7195bd;
}

.ae-benefits-timeline > li:not(.ae-benefits-timeline__arrow) > span {
    color: #526982;
    font-size: 13px;
    letter-spacing: 0.08em;
}

.ae-benefits-timeline > li:last-child {
    border-color: #9dbde4;
    background: #edf4fc;
    color: #2460b5;
}

.ae-benefits-timeline > li:last-child::before {
    background: #2460b5;
}

.ae-benefits-timeline strong {
    white-space: nowrap;
    font: 700 48px/1 Arial, sans-serif;
    letter-spacing: -0.04em;
    font-variant-numeric: lining-nums tabular-nums;
}

.ae-benefits-timeline small {
    margin-left: 5px;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0;
}

.ae-benefits-timeline__arrow {
    position: relative;
    width: 100%;
    height: 1px;
    background: #a8bfd9;
    font-size: 0;
    line-height: 0;
}

.ae-benefits-timeline__arrow::after {
    content: "";
    position: absolute;
    top: -3px;
    right: 0;
    width: 7px;
    height: 7px;
    border-top: 1px solid #a8bfd9;
    border-right: 1px solid #a8bfd9;
    transform: rotate(45deg);
}

/* 有給休暇の使い方：同じウィンドウ内で付与日数につなげる */
.ae-benefits-hourly {
    display: block;
    margin-top: 24px;
    border: 0;
    border-top: 2px dotted #aac9f5;
    border-radius: 0;
    padding: 20px 0 0;
    background: transparent;
}

/* 共通ウィンドウを縦に並べる間隔 */
.ae-benefits-following {
    margin-top: 20px;
}

.ae-benefits-hourly .ae-benefits-icon,
.ae-benefits-dress .ae-benefits-icon {
    flex-shrink: 0;
    width: 100px;
    height: 100px;
}

.ae-benefits-hourly h4,
.ae-benefits-dress h4 {
    margin-bottom: 6px;
}

.ae-benefits-dialog__body .ae-benefits-hourly__number {
    color: var(--benefits-blue);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.6;
}

.ae-benefits-hourly__number strong {
    padding-inline: 5px;
    font: 700 42px/1 Arial, sans-serif;
}

.ae-benefits-support-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.ae-benefits-illustrated {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ae-benefits-illustrated .ae-benefits-icon {
    flex-shrink: 0;
}

/* 外枠と見出し帯は .ae-benefits-panel を共通利用 */
.ae-benefits-vaccine {
    display: flex;
    align-items: center;
    gap: 24px;
    min-width: 0;
    padding: 16px;
    background: #edf4fb;
    color: #173355;
}

.ae-benefits-dialog__body .ae-benefits-vaccine p {
    color: #415a76;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.9;
}

.ae-benefits-dialog__body .ae-benefits-vaccine p strong {
    color: #173355;
    font-weight: 700;
}

.ae-benefits-lounge {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.5fr);
    align-items: center;
    gap: 20px;
    min-width: 0;
}

.ae-benefits-lounge__copy,
.ae-benefits-lounge figure {
    min-width: 0;
}

.ae-benefits-lounge figure {
    margin: 0;
}

.ae-benefits-lounge img {
    display: block;
    width: 100%;
    height: auto;
}

.ae-benefits-basics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 16px;
    margin: 20px 0 0;
}
.ae-benefits-dialog__footer {
    min-height: 0;
    margin: 24px 0 0;
    border-top: 1px solid #c3d9ff;
    padding: 20px 0 0;
    background: transparent;
    text-align: right;
}

@media (max-width: 700px) {
    .ae-benefits-dialog {
        width: calc(100% - 32px);
        max-height: 92svh;
    }

    .ae-benefits-dialog__bar {
        gap: 8px;
        padding: 8px 10px;
        font-size: 10px;
    }

    .ae-benefits-dialog__bar > span {
        min-width: 0;
    }

    .ae-benefits-dialog .ae-benefits-dialog__bar .ae-careers-button {
        padding: 8px 12px;
        font-size: 12px;
    }

    .ae-benefits-dialog__body {
        padding: 18px 14px 20px;
    }

    .ae-benefits-dialog__body p,
    .ae-benefits-dialog__body .ae-benefits-vaccine p {
        color: #080b20;
        font-size: 11px;
        line-height: 1.8;
        overflow-wrap: break-word;
    }

    .ae-benefits-dialog__body .ae-benefits-eyebrow {
        margin-bottom: 10px;
        font-size: 10px;
        letter-spacing: 0.04em;
    }

    .ae-benefits-intro h2 {
        margin: 0 0 10px;
        font-size: 20px;
        line-height: 1.5;
        letter-spacing: -0.03em;
    }

    .ae-benefits-illustrated p br,
    .ae-benefits-lounge__copy p br {
        display: none;
    }

    .ae-benefits-tags {
        gap: 6px;
        margin-top: 14px;
    }

    .ae-benefits-tags span {
        padding: 4px 10px;
        font-size: 10px;
        line-height: 1.6;
    }

    .ae-benefits-section {
        margin-top: 26px;
    }

    .ae-benefits-heading {
        gap: 8px;
        margin-bottom: 12px;
        padding-bottom: 8px;
        font-size: 15px;
        line-height: 1.6;
    }

    .ae-benefits-heading > span {
        font-size: 13px;
    }

    .ae-benefits-panel {
        --benefits-panel-padding: 12px;
        padding: var(--benefits-panel-padding);
        box-shadow: 2px 3px 0 #c1d8fa;
    }

    .ae-benefits-dialog__body h4 {
        margin-bottom: 8px;
        font-size: 13px;
        line-height: 1.6;
    }

    .ae-benefits-panel > h4 {
        margin:
            calc(3px - var(--benefits-panel-padding))
            calc(3px - var(--benefits-panel-padding))
            14px;
        padding: 6px 8px;
        font-size: 13px;
    }

    .ae-benefits-panel > h4::after {
        font-size: 9px;
    }

    .ae-benefits-leave,
    .ae-benefits-support-grid,
    .ae-benefits-lounge {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .ae-benefits-leave > .ae-benefits-scene {
        width: 112px;
        max-width: 100%;
        height: auto;
    }

    .ae-benefits-timeline {
        grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr);
        gap: 6px;
        margin-top: 12px;
    }

    .ae-benefits-timeline > li:not(.ae-benefits-timeline__arrow) {
        min-width: 0;
        min-height: 0;
        gap: 8px;
        border: 1px solid #80afff;
        border-radius: 6px;
        padding: 12px 10px;
        background: #fff;
        box-shadow: 2px 2px 0 #d5e5ff;
    }

    .ae-benefits-timeline > li:last-child {
        border-color: #064bfa;
        background: #edf5ff;
    }

    .ae-benefits-timeline > li:not(.ae-benefits-timeline__arrow)::before {
        content: none;
    }

    .ae-benefits-timeline > li:not(.ae-benefits-timeline__arrow) > span {
        font-size: 11px;
        letter-spacing: 0;
    }

    .ae-benefits-timeline strong {
        font-size: 28px;
    }

    .ae-benefits-timeline small {
        margin-left: 3px;
        font-size: 12px;
    }

    .ae-benefits-hourly {
        margin-top: 16px;
        padding: 14px 0 0;
    }

    .ae-benefits-dialog__body .ae-benefits-hourly__number {
        margin-bottom: 6px;
        font-size: 13px;
    }

    .ae-benefits-hourly__number strong {
        font-size: 28px;
    }

    .ae-benefits-following {
        margin-top: 14px;
    }

    .ae-benefits-illustrated {
        display: grid;
        grid-template-columns: 72px minmax(0, 1fr);
        align-items: center;
        gap: 12px;
    }

    .ae-benefits-illustrated .ae-benefits-icon {
        width: 72px;
        height: 72px;
    }

    .ae-benefits-panel--health {
        border: 2px solid #064bfa;
        border-radius: 12px;
        padding: 16px 12px;
        background: linear-gradient(135deg, #fff, #e4f1ff);
        box-shadow: 3px 3px 0 #a9cdff;
    }

    .ae-benefits-panel--health > h4 {
        margin: 0 0 12px;
        padding: 0 0 8px;
        border-bottom: 1px solid #a9cdff;
        background: transparent;
        color: #064bfa;
        font-size: 14px;
        box-shadow: none;
    }

    .ae-benefits-panel--health > h4::after {
        content: none;
    }

    .ae-benefits-vaccine {
        display: grid;
        grid-template-columns: 112px minmax(0, 1fr);
        align-items: center;
        gap: 12px;
        padding: 0;
        background: transparent;
    }

    .ae-benefits-vaccine > .ae-benefits-scene {
        width: 100%;
        max-width: none;
        height: auto;
    }

    .ae-benefits-dialog__body .ae-benefits-vaccine p strong {
        display: block;
        color: #064bfa;
        font-size: 18px;
        line-height: 1.6;
    }

    .ae-benefits-vaccine p + p {
        margin-top: 6px;
    }

    .ae-benefits-lounge img {
        width: 100%;
        max-width: 280px;
        height: auto;
        margin-inline: auto;
    }

    .ae-benefits-basics {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        margin-top: 14px;
    }

    .ae-benefits-dialog__footer {
        display: flex;
        justify-content: flex-end;
        margin-top: 24px;
        padding-top: 16px;
        text-align: right;
    }
}

/* 福利厚生詳細：情報ボックスの共通ホバー */
@media (hover: hover) and (pointer: fine)
       and (prefers-reduced-motion: no-preference) {
    .ae-benefits-dialog :is(
        .ae-benefits-panel,
        .ae-benefits-hourly,
        .ae-benefits-vaccine,
        .ae-benefits-lounge,
        .ae-benefits-basics > div,
        .ae-benefits-dress
    ) {
        transition:
            transform 180ms ease-out,
            box-shadow 180ms ease-out;
    }

    .ae-benefits-dialog :is(
        .ae-benefits-panel,
        .ae-benefits-hourly,
        .ae-benefits-vaccine,
        .ae-benefits-lounge,
        .ae-benefits-basics > div,
        .ae-benefits-dress
    ):hover {
        transform: translateY(-4px);
        box-shadow: 4px 7px 0 #c4ddff;
    }
}
/* 採用FAQ：詳細ウィンドウ */
#career-faq > button.ae-careers-inline-link {
    border: 0;
    padding: 0;
    background: transparent;
    font-family: inherit;
    text-decoration: underline;
    cursor: pointer;
}
/* 採用FAQ：短い回答はスマホだけ表示 */
#ae-careers-faq-dialog .ae-faq-copy-phone {
    display: none;
}
/* 上部の帯を固定し、本文だけをスクロール */
#ae-careers-faq-dialog {
    height: min(800px, calc(100dvh - 48px));
    max-height: calc(100dvh - 48px);
    overflow: hidden;
}

#ae-careers-faq-dialog[open] {
    display: flex;
    flex-direction: column;
}

#ae-careers-faq-dialog > .ae-benefits-dialog__bar {
    position: relative;
    top: auto;
    flex: 0 0 auto;
}

#ae-careers-faq-dialog > .ae-benefits-dialog__body {
    flex: 1 1 auto;
    min-height: 0;
    padding: 28px 32px 32px;
    overflow-y: auto;
    overscroll-behavior: contain;
    overflow-anchor: none;
    scrollbar-color: #75a5f6 #e4efff;
}

#ae-careers-faq-dialog .ae-benefits-intro h2 {
    margin: 0 0 12px;
    font-size: clamp(24px, 3vw, 32px);
    line-height: 1.5;
}

#ae-careers-faq-dialog .ae-benefits-intro > p:last-child {
    color: #31577f;
    font-size: 14px;
    line-height: 1.85;
}

/* 質問ごとに独立したカードを配置 */
#ae-careers-faq-dialog .ae-careers-faq-dialog__list {
    display: grid;
    gap: 12px;
    margin-top: 24px;
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
}

#ae-careers-faq-dialog .ae-careers-faq > details {
    min-width: 0;
    border: 1px solid #a8c8ff;
    border-radius: 12px;
    background: #fff;
    overflow-anchor: none;
}

#ae-careers-faq-dialog .ae-careers-faq > details[open] {
    border-color: #4d8ef5;
    box-shadow: 0 4px 12px rgba(6, 75, 250, .07);
}

/* 質問行全体をクリック・タップできる */
#ae-careers-faq-dialog .ae-careers-faq summary {
    position: relative;
    display: block;
    min-height: 66px;
    border-radius: 11px;
    padding: 20px 62px 20px 58px;
    background: #fff;
    color: #17385e;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.65;
    overflow-wrap: anywhere;
    cursor: pointer;
    list-style: none;
}

#ae-careers-faq-dialog .ae-careers-faq summary::-webkit-details-marker {
    display: none;
}

#ae-careers-faq-dialog .ae-careers-faq summary::before {
    content: "Q";
    position: absolute;
    top: 20px;
    left: 18px;
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 6px;
    background: #e4efff;
    color: #064bfa;
    font: 700 16px/1 Arial, sans-serif;
}

#ae-careers-faq-dialog .ae-careers-faq summary::after {
    content: "+";
    position: absolute;
    top: 15px;
    right: 14px;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid #bdd3ff;
    border-radius: 50%;
    background: #edf5ff;
    color: #064bfa;
    font: 400 24px/1 Arial, sans-serif;
}

#ae-careers-faq-dialog .ae-careers-faq details[open] > summary {
    border-bottom: 1px solid #d1e4ff;
    border-radius: 11px 11px 0 0;
    background: #e9f4ff;
    color: #064bfa;
}

#ae-careers-faq-dialog .ae-careers-faq details[open] > summary::after {
    content: "−";
    border-color: #064bfa;
    background: #064bfa;
    color: #fff;
}

#ae-careers-faq-dialog .ae-careers-faq summary:focus-visible {
    outline: 3px solid #064bfa;
    outline-offset: -4px;
}

/* 回答は質問と背景を分け、行間を確保 */
#ae-careers-faq-dialog .ae-careers-faq details > div {
    border-radius: 0 0 11px 11px;
    padding: 20px 22px 20px 58px;
    background: #fff;
}

#ae-careers-faq-dialog .ae-careers-faq details > div > p {
    margin: 0 0 12px;
    color: #17385e;
    font-size: 15px;
    line-height: 1.95;
}

#ae-careers-faq-dialog .ae-careers-faq details > div > p:last-child {
    margin-bottom: 0;
}

#ae-careers-faq-dialog .ae-careers-inline-link {
    display: inline-block;
    margin: 6px 0 0;
}

#ae-careers-faq-dialog .ae-careers-faq .ae-careers-button {
    gap: 16px;
    width: fit-content;
    max-width: 100%;
    min-height: 46px;
    margin: 6px 0 0;
    padding: 10px 16px;
    font-size: 14px;
}

@media (hover: hover) and (pointer: fine) {
    #ae-careers-faq-dialog .ae-careers-faq summary:hover {
        background: #edf6ff;
        color: #064bfa;
    }
}

@media (prefers-reduced-motion: no-preference) {
    #ae-careers-faq-dialog .ae-careers-faq summary {
        transition: background-color 180ms ease, color 180ms ease;
    }
}

@media (max-width: 700px) {
    #ae-careers-faq-dialog {
        width: calc(100% - 24px);
        height: calc(100dvh - 24px);
        max-height: calc(100dvh - 24px);
        border-radius: 14px;
    }

    #ae-careers-faq-dialog > .ae-benefits-dialog__body {
        padding: 18px 14px 24px;
    }

    #ae-careers-faq-dialog .ae-benefits-intro h2 {
        margin: 0 0 10px;
        font-size: 20px;
        line-height: 1.5;
        letter-spacing: -0.03em;
        overflow-wrap: break-word;
    }

    #ae-careers-faq-dialog .ae-benefits-intro > p:last-child {
        display: none;
    }

    #ae-careers-faq-dialog .ae-careers-faq-dialog__list {
        gap: 10px;
        margin-top: 18px;
    }

    #ae-careers-faq-dialog .ae-careers-faq summary {
        min-height: 58px;
        padding: 15px 46px 15px 42px;
        font-size: 13px;
        line-height: 1.7;
        overflow-wrap: break-word;
    }

    #ae-careers-faq-dialog .ae-careers-faq summary::before {
        top: 15px;
        left: 10px;
        width: 22px;
        height: 22px;
        font-size: 12px;
    }

    #ae-careers-faq-dialog .ae-careers-faq summary::after {
        top: 14px;
        right: 10px;
        width: 28px;
        height: 28px;
        font-size: 20px;
    }

    #ae-careers-faq-dialog .ae-careers-faq details > div {
        padding: 14px;
    }

    #ae-careers-faq-dialog .ae-careers-faq details > div > p {
        margin: 0 0 10px;
        color: #080b20;
        font-size: 11px;
        line-height: 1.8;
        overflow-wrap: break-word;
    }

    #ae-careers-faq-dialog .ae-careers-faq details > div > p:last-child {
        margin-bottom: 0;
    }

    #career-entry #ae-careers-faq-dialog
    .ae-careers-faq .ae-careers-button {
        display: flex;
        justify-content: space-between;
        width: fit-content;
        min-width: 0;
        min-height: 30px;
        max-width: 100%;
        gap: 8px;
        margin: 8px 0 0 auto;
        padding: 4px 8px;
        font-size: 10px;
        line-height: 1.6;
        white-space: normal;
        overflow-wrap: break-word;
        box-shadow: 2px 2px 0 #a9cdff;
    }

    #ae-careers-faq-dialog .ae-careers-inline-link {
        display: block;
        width: fit-content;
        max-width: 100%;
        margin: 8px 0 0 auto;
        font-size: 11px;
        line-height: 1.8;
    }
    #ae-careers-faq-dialog .ae-faq-copy-pc {
        display: none;
    }

    #ae-careers-faq-dialog .ae-faq-copy-phone {
        display: inline;
    }

}

/* FAQ：標準の開閉機能を使用 */
.ae-careers-faq { padding: 8px 20px; }
.ae-careers-faq details + details { border-top: 1px solid #c3ddff; }
.ae-careers-faq summary { position: relative; padding: 20px 28px 20px 0; font-size: 16px; font-weight: 700; cursor: pointer; list-style: none; }
.ae-careers-faq summary::-webkit-details-marker { display: none; }
.ae-careers-faq summary::after { content: "+"; position: absolute; right: 0; color: var(--careers-blue); }
.ae-careers-faq details[open] summary::after { content: "−"; }
.ae-careers-faq details > div { padding: 0 0 20px; }
.ae-careers-faq p { margin: 0 0 12px; font-size: 15px; line-height: 1.9; }
/* ENTRY全体を共通のウィンドウにまとめる */
.ae-careers-entry-shell {
    border: 1px solid #b4ceff;
    border-radius: 8px;
    background: #f0f7ff;
}

.ae-careers-entry-shell__heading {
    border-bottom: 1px solid #c3ddff;
    padding: 22px clamp(16px, 2.5vw, 28px);
}

.ae-careers-entry-shell__heading > span {
    color: #064bfa;
    font: 700 12px/1.6 "Courier New", monospace;
    letter-spacing: 0.08em;
}

.ae-careers-entry-shell__heading h3 {
    margin: 6px 0 0;
    color: #080b20;
    font-size: 22px;
    line-height: 1.5;
}

.ae-careers-entry-shell__body {
    padding: clamp(16px, 2.5vw, 28px);
    background: linear-gradient(145deg, #fff, #f0f7ff);
        border-radius: 0 0 8px 8px;
}

.ae-careers-entry-shell__body > .ae-careers-layout__lead {
    margin-bottom: 24px;
}

.ae-careers-entry-shell .ae-careers-entry-grid {
    margin-top: 0;
}

/* 選考フロー：外側はシンプルに、STEPカードを主役にする */
#career-entry .ae-careers-selection {
    margin-top: 32px;
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
}

#career-entry .ae-careers-selection > h3 {
    margin: 0;
    border-bottom: 2px solid #064bfa;
    padding: 0 0 12px;
    background: transparent;
    color: #064bfa;
    font-size: 20px;
    line-height: 1.6;
}

#career-entry .ae-careers-selection > .ae-careers-layout__note {
    margin: 0;
    padding: 0 14px;
    color: #31577f;
    font-size: 12px;
    line-height: 1.8;
}

.ae-careers-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin: 20px 0 18px;
    padding: 0 14px;
    list-style: none;
    counter-reset: ae-careers-step;
}

.ae-careers-steps li {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
    border: 1px solid #8dbaff;
    border-radius: 5px;
    padding: 54px 16px 20px;
    background: linear-gradient(150deg, #fff, #e8f4ff);
    box-shadow: 3px 3px 0 #d8eaff;
    text-align: left;
}

.ae-careers-steps li::before {
    counter-increment: ae-careers-step;
    content: "STEP " counter(ae-careers-step, decimal-leading-zero);
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    display: flex;
    align-items: center;
    min-height: 34px;
    border-radius: 4px 4px 0 0;
    padding: 7px 14px;
    background: #064bfa;
    color: #fff;
    font: 700 13px/1.5 "Courier New", monospace;
    letter-spacing: .06em;
}

.ae-careers-steps li:not(:last-child)::after {
    content: "→";
    position: absolute;
    top: 50%;
    right: -23px;
    color: #064bfa;
    font-size: 22px;
    line-height: 1;
    transform: translateY(-50%);
}

.ae-careers-steps strong {
    color: #064bfa;
    font-size: 16px;
    line-height: 1.6;
}

.ae-careers-steps li > span {
    color: #17385e;
    font-size: 13px;
    line-height: 1.8;
}
.ae-careers-entry-card__copy-phone {
    display: none;
}

html.ae-entry-confirm-open {
    overflow: hidden;
}
/* スマホ：募集・応募のカードと選考案内 */
@media (max-width: 600px) {
    #career-entry .ae-careers-entry-shell__heading {
        display: none;
    }

    #career-entry .ae-careers-entry-shell__body {
        padding: 14px 12px 18px;
    }

    #career-entry .ae-careers-entry-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    #career-entry .ae-careers-entry-card {
        min-width: 0;
        box-shadow: 3px 3px 0 #c9dfff;
    }

    #career-entry .ae-careers-entry-card .ae-careers-window__bar {
        padding: 5px 8px;
        font-size: 10px;
        line-height: 1.5;
    }

    #career-entry .ae-careers-entry-card .ae-careers-window__body {
        display: grid;
        grid-template-columns: 64px minmax(0, 1fr);
        grid-template-rows: auto auto auto;
        align-items: start;
        gap: 6px 12px;
        padding: 14px 12px;
        text-align: left;
    }

    #career-entry .ae-careers-entry-card__icon {
        grid-column: 1;
        grid-row: 1 / 3;
        align-self: center;
        width: 64px;
        height: 64px;
        margin: 0;
    }

    #career-entry .ae-careers-entry-card h3 {
        grid-column: 2;
        grid-row: 1;
        margin: 0;
        color: #080b20;
        font-size: 15px;
        line-height: 1.6;
    }

    #career-entry .ae-careers-entry-card p {
        grid-column: 2;
        grid-row: 2;
        min-width: 0;
        margin: 0;
        color: #080b20;
        font-size: 11px;
        line-height: 1.8;
        overflow-wrap: break-word;
    }

    #career-entry .ae-careers-entry-card__copy-pc {
        display: none;
    }

    #career-entry .ae-careers-entry-card__copy-phone {
        display: inline;
    }

    #career-entry .ae-careers-entry-card {
        cursor: pointer;
    }

    #career-entry .ae-careers-entry-card
    .ae-careers-window__bar > span:last-child {
        font-size: 0;
    }

    #career-entry .ae-careers-entry-card
    .ae-careers-window__bar > span:last-child::after {
        content: "詳細";
        font-size: 10px;
    }

    body.ae-careers-page:not(.ae-careers-work-page)
    #career-entry .ae-careers-entry-card
    .ae-careers-button[target="_blank"] {
        grid-column: 2;
        grid-row: 3;
        justify-content: flex-start;
        justify-self: start;
        width: fit-content;
        height: auto;
        min-width: 0;
        min-height: 0;
        margin: 4px 0 0;
        border: 0;
        border-radius: 0;
        padding: 0;
        background: transparent;
        color: #064bfa;
        box-shadow: none;
        font-size: 11px;
        line-height: 1.7;
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    #career-entry .ae-careers-entry-card
    .ae-careers-button > span[aria-hidden="true"] {
        display: none;
    }

    .ae-entry-confirm,
    .ae-entry-confirm * {
        box-sizing: border-box;
    }

    .ae-entry-confirm {
        width: min(320px, calc(100% - 40px));
        max-width: none;
        max-height: calc(100dvh - 40px);
        margin: auto;
        border: 2px solid #064bfa;
        border-radius: 8px;
        padding: 4px;
        overflow: auto;
        background: linear-gradient(140deg, #fff, #eaf5ff);
        color: #080b20;
        box-shadow: 4px 4px 0 #8fcfff;
        font-family: var(--font-family-base, Arial, sans-serif);
    }

    .ae-entry-confirm::backdrop {
        background: rgb(27 48 77 / 25%);
        backdrop-filter: blur(7px);
        -webkit-backdrop-filter: blur(7px);
    }

    .ae-entry-confirm__bar {
        padding: 7px 8px;
        background: #064bfa;
        color: #fff;
        font: 700 10px/1.5 "Courier New", monospace;
    }

    .ae-entry-confirm__body {
        padding: 16px 12px;
    }

    .ae-entry-confirm__body h2 {
        margin: 0 0 10px;
        color: #064bfa;
        font-size: 15px;
        line-height: 1.6;
    }

    .ae-entry-confirm__body p {
        margin: 0 0 16px;
        font-size: 11px;
        line-height: 1.8;
    }

    .ae-entry-confirm__actions {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 10px;
    }

    .ae-entry-confirm__actions > :is(button, a) {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 36px;
        max-width: 100%;
        border: 1px solid #064bfa;
        border-radius: 4px;
        padding: 7px 10px;
        background: #fff;
        color: #064bfa;
        font: inherit;
        font-size: 11px;
        font-weight: 700;
        line-height: 1.6;
        text-decoration: none;
        cursor: pointer;
    }

    .ae-entry-confirm__actions > a {
        background: #064bfa;
        color: #fff;
    }

    .ae-entry-confirm :is(button, a):focus-visible {
        outline: 3px solid #24aadd;
        outline-offset: 3px;
    }

    #career-entry .ae-careers-layout__note,
    #career-entry .ae-careers-selection > .ae-careers-layout__note {
        margin: 12px 0 0;
        padding: 0;
        font-size: 10px;
        line-height: 1.8;
    }

    #career-entry .ae-careers-selection {
        margin-top: 26px;
    }

    #career-entry .ae-careers-selection > h3 {
        padding-bottom: 8px;
        font-size: 15px;
        line-height: 1.6;
    }

    #career-entry .ae-careers-steps {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        margin: 14px 0 12px;
        padding: 0;
    }

    #career-entry .ae-careers-steps li {
        --step-delay: 0s;
        position: relative;
        display: grid;
        grid-template-columns: 60px minmax(0, 1fr);
        align-items: center;
        gap: 4px 10px;
        min-width: 0;
        border: 1px solid #8dbaff;
        border-radius: 5px;
        padding: 12px;
        background: linear-gradient(150deg, #fff, #e8f4ff);
        box-shadow: 2px 2px 0 #d8eaff;
    }

    #career-entry .ae-careers-steps li:nth-child(2) {
        --step-delay: 1.6s;
    }

    #career-entry .ae-careers-steps li:nth-child(3) {
        --step-delay: 3.2s;
    }

    #career-entry .ae-careers-steps li:nth-child(4) {
        --step-delay: 4.8s;
    }

    #career-entry .ae-careers-steps li::before {
        content: "STEP " counter(ae-careers-step, decimal-leading-zero);
        position: static;
        grid-column: 1;
        grid-row: 1 / 3;
        display: block;
        min-height: 0;
        border-radius: 4px;
        padding: 6px 4px;
        background: #064bfa;
        color: #fff;
        font: 700 10px/1.6 "Courier New", monospace;
        letter-spacing: 0;
        text-align: center;
    }

    #career-entry .ae-careers-steps li:not(:last-child)::after {
        content: "";
        position: absolute;
        top: calc(100% + 1px);
        right: auto;
        bottom: auto;
        left: 41px;
        width: 2px;
        height: 10px;
        background: #24baff;
        box-shadow: 0 0 8px #24baff;
        transform: scaleY(0);
        transform-origin: top;
        opacity: 0;
    }

    #career-entry .ae-careers-steps strong {
        grid-column: 2;
        grid-row: 1;
        font-size: 12px;
        line-height: 1.6;
    }

    #career-entry .ae-careers-steps li > span {
        grid-column: 2;
        grid-row: 2;
        font-size: 11px;
        line-height: 1.7;
    }

    @media (prefers-reduced-motion: no-preference) {
        #career-entry .ae-careers-steps li {
            animation: ae-entry-compact-card 8s linear infinite;
            animation-delay: var(--step-delay);
        }

        #career-entry .ae-careers-steps li::before {
            animation: ae-entry-compact-number 8s linear infinite;
            animation-delay: var(--step-delay);
        }

        #career-entry .ae-careers-steps li:not(:last-child)::after {
            animation: ae-entry-compact-ray 8s linear infinite;
            animation-delay: var(--step-delay);
        }
    }

    @keyframes ae-entry-compact-card {
        0%, 15% {
            border-color: #168fff;
            box-shadow:
                0 0 0 1px #42bdff,
                0 0 16px #24baff80;
        }
        20%, 100% {
            border-color: #8dbaff;
            box-shadow: 2px 2px 0 #d8eaff;
        }
    }

    @keyframes ae-entry-compact-number {
        0%, 15% {
            background: #007fdf;
            box-shadow: 0 0 12px #24baffb3;
        }
        20%, 100% {
            background: #064bfa;
            box-shadow: none;
        }
    }

    @keyframes ae-entry-compact-ray {
        0%, 12% {
            transform: scaleY(0);
            opacity: 0;
        }
        18%, 22% {
            transform: scaleY(1);
            opacity: 1;
        }
        30%, 100% {
            transform: scaleY(1);
            opacity: 0;
        }
    }

    #career-entry #career-faq {
        margin-top: 26px;
    }

    #career-entry #career-faq > h3 {
        margin: 0 0 12px;
        font-size: 15px;
        line-height: 1.6;
    }

    #career-entry #career-faq > .ae-careers-window {
        box-shadow: 3px 3px 0 #c9dfff;
    }

    #career-entry #career-faq > .ae-careers-window
    > .ae-careers-window__bar {
        padding: 5px 8px;
        font-size: 10px;
    }

    #career-entry #career-faq > .ae-careers-window
    .ae-careers-faq summary {
        padding: 12px 24px 12px 0;
        font-size: 12px;
        line-height: 1.7;
    }

    #career-entry #career-faq > .ae-careers-window
    .ae-careers-faq p {
        font-size: 11px;
        line-height: 1.8;
    }

    #career-entry #career-faq .ae-careers-inline-link {
        font-size: 11px;
        line-height: 1.8;
    }
}
/* ENTRY：選考フロー・FAQの反応 */
@media (hover: hover) and (pointer: fine) {
    #career-entry .ae-careers-faq summary:hover {
        background-color: #edf5ff;
        color: #064bfa;
    }

    #career-entry .ae-careers-inline-link:hover {
        color: #0336b8;
        text-decoration-thickness: 2px;
    }
}

@media (hover: hover) and (pointer: fine)
       and (prefers-reduced-motion: no-preference) {
    #career-entry .ae-careers-steps li {
        transition:
            transform 180ms ease-out,
            box-shadow 180ms ease-out;
    }

    #career-entry .ae-careers-steps li:hover {
        transform: translateY(-4px);
        box-shadow: 4px 7px 0 #c4ddff;
    }

    #career-entry .ae-careers-faq summary {
        transition:
            background-color 180ms ease-out,
            color 180ms ease-out;
    }

    #career-entry .ae-careers-inline-link {
        transition:
            transform 180ms ease-out,
            color 180ms ease-out;
    }

    #career-entry .ae-careers-inline-link:hover {
        transform: translateX(3px);
    }
}

/* 募集・面談 */
.ae-careers-entry-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 40px;
}

.ae-careers-entry-card {
    position: relative;
    display: flex;
    flex-direction: column;
}

.ae-careers-entry-card .ae-careers-window__bar {
    flex-shrink: 0;
    background-image: repeating-linear-gradient(
        0deg,
        transparent 0 2px,
        rgba(255, 255, 255, 0.25) 2px 3px
    );
}

.ae-careers-entry-card .ae-careers-window__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    padding: 24px 20px;
    background: linear-gradient(145deg, #fff 35%, #eaf4ff);
    text-align: center;
}

.ae-careers-entry-card__icon {
    display: block;
    flex-shrink: 0;
    width: 160px;
    height: 96px;
    margin-bottom: 20px;
    background-color: #24aadd;
    -webkit-mask-image: var(--recruit-icon);
    mask-image: var(--recruit-icon);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

.ae-careers-entry-card h3 {
    margin: 0;
    font-size: clamp(21px, 1.8vw, 28px);
    line-height: 1.5;
}

.ae-careers-entry-card p {
    margin: 16px 0 28px;
    font-size: 15px;
    line-height: 1.9;
}

.ae-careers-entry-card .ae-careers-button {
    width: 100%;
    gap: 12px;
    margin-top: auto;
    padding: 12px 14px;
    border-color: #064bfa;
    background: #064bfa;
    color: #fff;
    box-shadow: 3px 3px 0 #a9cdff;
    font-size: 15px;
}

@media (hover: hover) and (pointer: fine) {
    .ae-careers-entry-card .ae-careers-button:hover {
        background: #064bfa;
        color: #fff;
    }
}
/* ENTRY：カード全体をリンクにする */
.ae-careers-entry-card .ae-careers-button::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    cursor: pointer;
}

@media (hover: hover) and (pointer: fine)
       and (prefers-reduced-motion: no-preference) {
    .ae-careers-entry-card {
        transition: transform 180ms ease-out;
    }

    .ae-careers-entry-card:hover:not(:active) {
        transform: scale(1.012);
    }

    .ae-careers-entry-card:active {
        transform: scale(1.004);
    }
}
.ae-careers .ae-careers-section:last-child { border-bottom: 0; padding-bottom: 100px; }
.ae-careers-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

@media (max-width: 1100px) {
    .ae-careers .ae-careers-section { grid-template-columns: 1fr; gap: 28px; }
    .ae-careers-section__english { font-size: clamp(36px, 7.5vw, 60px); }
    .ae-careers-section__heading h2 { margin-top: 18px; }
}
@media (max-width: 780px) {
    .ae-careers-index,
    .ae-careers .ae-careers-section { width: calc(100% - 48px); }
    .ae-careers-index { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ae-careers-index a { min-width: 0; font-size: 13px; padding: 12px 10px; }
    .ae-careers .ae-careers-section { padding: 36px 0 48px; }
    .ae-careers-work-grid,
    .ae-careers-entry-grid { grid-template-columns: 1fr; }
    .ae-careers-role-grid,
    .ae-careers-benefit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .ae-careers-benefit { padding: 20px 14px; }
    .ae-careers-benefit h3 { font-size: 16px; }
    .ae-careers-steps {
        grid-template-columns: 1fr;
    }

    .ae-careers-steps li:not(:last-child)::after {
        content: "↓";
        top: auto;
        right: 50%;
        bottom: -24px;
        transform: translateX(50%);
    }
    .ae-careers-entry-card .ae-careers-button { align-self: flex-start; padding-inline: 20px; }
}
@media (max-width: 480px) {
    .ae-careers-index,
    .ae-careers .ae-careers-section { width: calc(100% - 36px); }
    .ae-careers-section__english { font-size: clamp(32px, 9vw, 42px); }
    .ae-careers-section__heading h2 { font-size: 20px; }
    .ae-careers-role-grid { padding: 12px; gap: 10px; }
    .ae-careers-window__body { padding: 20px 16px; }
    .ae-careers-button { font-size: 14px; gap: 16px; padding-inline: 18px; }
}
/* トップ：メンバーフィギュアのショーケース */
.ae-careers .ae-careers-showroom {
    display: grid;
    grid-template-columns: minmax(240px, 0.65fr) minmax(0, 2.35fr);
    align-items: center;
    gap: 28px;
    width: calc(100% - 80px);
    max-width: 1440px;
    min-height: 0;
    margin-inline: auto;
    padding: 40px 0 32px;
}
.ae-careers-showroom__copy,
.ae-careers-showroom__gallery { min-width: 0; }
.ae-careers-showroom__eyebrow {
    margin: 0 0 24px;
    color: var(--careers-blue);
    font: 700 12px/1.7 "Courier New", monospace;
    letter-spacing: 0.06em;
}
.ae-careers-showroom__english {
    margin: 0;
    color: var(--careers-blue);
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(42px, 4.4vw, 68px);
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: -0.06em;
}
.ae-careers-showroom__copy h1 {
    max-width: none;
    margin: 24px 0 0;
    font-size: clamp(19px, 2vw, 28px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -0.04em;
}
.ae-careers-showroom__message { margin: 24px 0 0; font-size: 24px; font-weight: 700; line-height: 1.5; }
.ae-careers-showroom__lead { margin: 18px 0 0; font-size: 14px; line-height: 1.9; }
.ae-careers-showroom__signature { margin: 24px 0 0; }
.ae-careers-showroom__stage {
    position: relative;
    isolation: isolate;
    display: grid;
    align-items: end;
    min-width: 0;
    min-height: clamp(420px, 66svh, 680px);
    background: radial-gradient(ellipse at 50% 70%, #d8eeff75, transparent 70%);
}
.ae-careers-showroom__plinth {
    position: absolute;
    z-index: -1;
    right: -1%;
    bottom: 18px;
    left: -1%;
    height: 74px;
    border: 1px solid #d0d7de;
    border-radius: 50%;
    background: linear-gradient(180deg, #fff 0%, #eef1f4 45%, #c9d1d9 64%, #f7fafc 100%);
    box-shadow: inset 0 5px 4px #ffffffd9, inset 0 -8px 8px #8b99aa38, 0 24px 25px -10px #46556e26;
}
.ae-careers-showroom__plinth::after {
    content: "";
    position: absolute;
    inset: 0 0 14px;
    border: 1px solid #ffffffc7;
    border-radius: 50%;
    background: linear-gradient(160deg, #ffffffd9, #d9e2ea8c);
}
.ae-careers-showroom__lineup {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: end;
    gap: 0;
    margin: 0;
    padding: 42px 8px 52px;
    list-style: none;
    perspective: 1400px;
}
.ae-careers-showroom__item {
    position: relative;
    min-width: 0;
    margin: 0;
    padding: 0;
    transform: scale(0.94) rotateY(var(--showroom-turn, 0deg));
    transform-origin: center bottom;
    transition: transform 400ms ease;
}
.ae-careers-showroom__item:first-child { --showroom-turn: 12deg; }
.ae-careers-showroom__item:nth-child(n+3) { --showroom-turn: -12deg; }
.ae-careers-showroom__item.is-selected { z-index: 2; transform: translateY(-8px) scale(1.12); }
.ae-careers-showroom__figure {
    display: block;
    width: 100%;
    margin: 0;
    border: 0;
    border-radius: 0;
    padding: 0;
    color: inherit;
    background: transparent;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
.ae-careers-showroom__figure img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 3;
    object-fit: contain;
    object-position: center bottom;
    filter: drop-shadow(0 14px 10px #1b2e4930);
}
.ae-careers-showroom__controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    margin-top: 12px;
}
.ae-careers-showroom__controls[hidden] { display: none; }
.ae-careers-showroom__arrow,
.ae-careers-showroom__numbers button {
    min-width: 44px;
    min-height: 44px;
    border: 0;
    border-bottom: 2px solid transparent;
    padding: 8px;
    color: var(--careers-blue);
    background: transparent;
    font: 700 15px/1.5 "Courier New", monospace;
    cursor: pointer;
}
.ae-careers-showroom__arrow { font-size: 28px; }
.ae-careers-showroom__arrow:disabled { opacity: 0.3; cursor: default; }
.ae-careers-showroom__numbers { display: flex; gap: 4px; }
.ae-careers-showroom__numbers button[aria-pressed="true"] { border-bottom-color: var(--careers-blue); background: #eaf4ff; }
.ae-careers-showroom__hint { margin: 6px 0 0; color: var(--careers-blue); text-align: center; font-size: 12px; }
.ae-careers-showroom__bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 12px 0; }
.ae-careers-showroom__status { margin: 0; color: var(--careers-blue); font: 700 12px/1.6 "Courier New", monospace; }
.ae-careers-showroom :is(a, button, [tabindex]):focus-visible { outline: 3px solid var(--careers-blue); outline-offset: 4px; }

@media (max-width: 1100px) {
    .ae-careers .ae-careers-showroom { grid-template-columns: 220px minmax(0, 1fr); gap: 20px; }
    .ae-careers-showroom__stage { min-height: 400px; }
    .ae-careers-showroom__english { font-size: 48px; }
    .ae-careers-showroom__message { font-size: 20px; }
}
@media (max-width: 780px) {
    .ae-careers .ae-careers-showroom { display: block; width: calc(100% - 48px); min-height: 0; padding: 32px 0 44px; }
    .ae-careers-showroom__copy { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
    .ae-careers-showroom__eyebrow { grid-column: 1 / -1; margin-bottom: 18px; }
    .ae-careers-showroom__english { grid-column: 1; grid-row: 2 / 5; font-size: clamp(40px, 8vw, 60px); }
    .ae-careers-showroom__copy h1 { grid-column: 2; margin: 0; font-size: 22px; }
    .ae-careers-showroom__message { grid-column: 2; margin-top: 14px; font-size: 20px; }
    .ae-careers-showroom__message br { display: none; }
    .ae-careers-showroom__lead { grid-column: 2; margin-top: 10px; font-size: 13px; }
    .ae-careers-showroom__signature { display: none; }
    .ae-careers-showroom__gallery { margin-top: 24px; }
    .ae-careers-showroom__stage { display: block; min-height: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #064bfa #e6f2ff; }
    .ae-careers-showroom__lineup { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 62%; gap: 8px; padding: 36px 20px 48px; perspective: none; }
    .ae-careers-showroom__item { scroll-snap-align: center; transform: scale(0.94); }
    .ae-careers-showroom__item.is-selected { transform: translateY(-6px) scale(1.04); }
    .ae-careers-showroom__plinth { display: none; }
    .ae-careers-showroom__controls { gap: 8px; margin-top: 8px; }
    .ae-careers-showroom__bottom { padding-inline: 0; }
    .ae-careers-showroom__bottom .ae-careers-button { gap: 10px; padding-inline: 16px; font-size: 14px; }
}
@media (max-width: 480px) {
    .ae-careers .ae-careers-showroom { width: calc(100% - 36px); }
    .ae-careers-showroom__copy { grid-template-columns: 1fr; }
    .ae-careers-showroom__english { grid-row: auto; font-size: clamp(40px, 10vw, 48px); }
    .ae-careers-showroom__english br { display: none; }
    .ae-careers-showroom__copy h1,
    .ae-careers-showroom__message,
    .ae-careers-showroom__lead { grid-column: 1; }
    .ae-careers-showroom__copy h1 { margin-top: 18px; }
    .ae-careers-showroom__message { margin-top: 12px; }
    .ae-careers-showroom__lead br { display: none; }
    .ae-careers-showroom__bottom { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
    .ae-careers-showroom__item { transition: none; }
}
/* トップ：浅い円弧に沿って左右へ回る陳列スタンド */
.ae-careers-showroom.is-rotary .ae-careers-showroom__stage {
    display: block;
    position: relative;
    height: clamp(440px, 66svh, 680px);
    min-height: 0;
    overflow: hidden;
    overflow: clip;
    touch-action: pan-y;
    scroll-snap-type: none;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
}
.ae-careers-showroom.is-rotary.is-dragging .ae-careers-showroom__stage,
.ae-careers-showroom.is-rotary.is-dragging .ae-careers-showroom__figure { cursor: grabbing; }
.ae-careers-showroom.is-rotary .ae-careers-showroom__lineup {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    perspective: none;
}
.ae-careers-showroom.is-rotary .ae-careers-showroom__item,
.ae-careers-showroom.is-rotary .ae-careers-showroom__item.is-selected {
    position: absolute;
    left: 50%;
    bottom: 64px;
    width: var(--pack-width, 280px);
    height: var(--pack-height, 400px);
    margin: 0;
    padding: 0;
    transform: translate3d(calc(-50% + var(--arc-x, 0px)), var(--arc-y, 0px), 0) scale(var(--arc-scale, 1));
    transform-origin: center bottom;
    transition: none;
    scroll-snap-align: none;
    will-change: transform;
}
.ae-careers-showroom.is-rotary .ae-careers-showroom__figure {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    overflow: visible;
    cursor: grab;
    touch-action: pan-y;
}
.ae-careers-showroom.is-rotary .ae-careers-showroom__figure img {
    position: absolute;
    left: 50%;
    top: 0;
    display: block;
    width: auto;
    height: 100%;
    max-width: none;
    max-height: none;
    aspect-ratio: auto;
    object-fit: initial;
    object-position: initial;
    transform: translateX(-50%);
    pointer-events: none;
    filter: drop-shadow(0 14px 10px #1b2e4930);
}
.ae-careers-showroom.is-rotary .ae-careers-showroom__plinth {
    display: block;
    position: absolute;
    z-index: -1;
    left: 4%;
    right: 4%;
    bottom: 25px;
    width: auto;
    height: 85px;
    margin: 0;
}
.ae-careers-showroom.is-rotary .ae-careers-showroom__figure:focus-visible { outline-offset: 8px; }
@media (max-width: 780px) {
    .ae-careers-showroom.is-rotary .ae-careers-showroom__stage { height: clamp(370px, 53svh, 480px); }
    .ae-careers-showroom.is-rotary .ae-careers-showroom__item { bottom: 54px; }
    .ae-careers-showroom.is-rotary .ae-careers-showroom__plinth { left: -12%; right: -12%; height: 62px; bottom: 22px; }
}
/* 回転棚：同じ中心軸を回る立体カードと、コードで作る裏面 */
.ae-careers-showroom.is-cylinder .ae-careers-showroom__stage {
    display: block;
    position: relative;
    height: clamp(440px, 66svh, 680px);
    min-height: 0;
    isolation: auto;
    overflow: hidden;
    overflow: clip;
    perspective: var(--rack-perspective, 1600px);
    perspective-origin: 50% 36%;
    touch-action: pan-y;
    scroll-snap-type: none;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
}
.ae-careers-showroom.is-cylinder.is-dragging .ae-careers-showroom__stage,
.ae-careers-showroom.is-cylinder.is-dragging .ae-careers-showroom__figure { cursor: grabbing; }
.ae-careers-showroom.is-cylinder .ae-careers-showroom__lineup {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: visible;
    list-style: none;
    perspective: none;
    transform-style: preserve-3d;
}
.ae-careers-showroom.is-cylinder .ae-careers-showroom__item,
.ae-careers-showroom.is-cylinder .ae-careers-showroom__item.is-selected {
    position: absolute;
    left: 50%;
    bottom: 64px;
    width: var(--card-width, 220px);
    height: var(--card-height, 400px);
    min-width: 0;
    margin: 0;
    padding: 0;
    opacity: 1;
    z-index: auto;
    transform: translate3d(calc(-50% + var(--rack-x, 0px)), 0px, var(--rack-z, 0px)) rotateY(var(--rack-angle, 0deg));
    transform-style: preserve-3d;
    transform-origin: center center;
    transition: none;
    scroll-snap-align: none;
    will-change: transform;
}
.ae-careers-showroom.is-cylinder .ae-careers-showroom__figure {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    overflow: visible;
    border: 0;
    padding: 0;
    background: transparent;
    transform-style: preserve-3d;
    cursor: grab;
    touch-action: pan-y;
}
.ae-careers-showroom.is-cylinder .ae-rack-face {
    display: block;
    position: absolute;
    inset: 0;
    border-radius: 14px;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}
.ae-careers-showroom.is-cylinder .ae-rack-front { transform: translateZ(4px); }
.ae-careers-showroom.is-cylinder .ae-rack-front img {
    position: absolute;
    display: block;
    left: 50%;
    top: 0;
    width: auto;
    height: 100%;
    max-width: none;
    max-height: none;
    aspect-ratio: auto;
    object-fit: initial;
    object-position: initial;
    transform: translateX(-50%);
    filter: none;
    pointer-events: none;
}
.ae-careers-showroom.is-cylinder .ae-rack-back {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    border: 3px solid #17416a;
    padding: 15% 10% 9%;
    color: var(--rack-ink, #fff);
    background-color: var(--rack-color, #064bfa);
    background-image: linear-gradient(135deg, #ffffff42, transparent 42%, #00244724), repeating-linear-gradient(-35deg, transparent 0 35px, #ffffff12 35px 55px);
    box-shadow: inset 0 0 0 1px #ffffff6b;
    transform: rotateY(180deg) translateZ(4px);
    font-family: Arial, Helvetica, sans-serif;
    text-align: left;
}
.ae-careers-showroom.is-cylinder .ae-rack-brand-front { transform: translateZ(4px); }
.ae-rack-back::before {
    content: "";
    position: absolute;
    left: 38%;
    top: 3%;
    width: 24%;
    height: 3%;
    border: 1px solid #17416a88;
    border-radius: 8px;
    background: #e7eef4;
}
.ae-rack-back__brand { font-size: clamp(12px, 1.4vw, 20px); font-weight: 700; line-height: 1.2; letter-spacing: -0.05em; }
.ae-rack-back__number { margin-top: 6%; font-size: clamp(44px, 5.4vw, 78px); font-weight: 700; line-height: 1; letter-spacing: -0.06em; }
.ae-rack-back__title { font-size: clamp(14px, 1.8vw, 26px); font-weight: 700; line-height: 1.05; }
.ae-rack-back__rule { display: block; width: 100%; height: 1px; margin-block: 5%; background: currentColor; opacity: 0.55; }
.ae-rack-back__words { white-space: pre-line; font: 700 clamp(9px, 1vw, 14px)/1.7 "Courier New", monospace; }
.ae-rack-back__barcode { display: block; width: 80%; height: 8%; margin-top: auto; background: repeating-linear-gradient(90deg, currentColor 0 2px, transparent 2px 4px, currentColor 4px 5px, transparent 5px 8px); opacity: 0.7; }
.ae-rack-back__footer { font: 700 clamp(8px, 0.8vw, 11px)/1.5 "Courier New", monospace; }
.ae-careers-showroom.is-cylinder .ae-rack-edge {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 8px;
    border: 1px solid #18426b55;
    border-radius: 4px;
    background: linear-gradient(90deg, #17416a, var(--rack-color, #064bfa), #ffffffa6);
}
.ae-rack-edge--left { left: 0; transform: translateX(-50%) rotateY(90deg); }
.ae-rack-edge--right { right: 0; transform: translateX(50%) rotateY(90deg); }
.ae-careers-showroom.is-cylinder .ae-careers-showroom__plinth {
    display: block;
    position: absolute;
    z-index: -1;
    left: 3%;
    right: 3%;
    bottom: 25px;
    width: auto;
    height: 30%;
    margin: 0;
}
.ae-careers-showroom.is-cylinder .ae-careers-showroom__figure:focus-visible { outline-offset: 10px; }
@media (max-width: 780px) {
    .ae-careers-showroom.is-cylinder .ae-careers-showroom__stage { height: clamp(370px, 53svh, 480px); }
    .ae-careers-showroom.is-cylinder .ae-careers-showroom__item { bottom: 54px; }
    .ae-careers-showroom.is-cylinder .ae-careers-showroom__plinth { left: -18%; right: -18%; bottom: 22px; height: 28%; }
    .ae-careers-showroom.is-cylinder .ae-careers-showroom__numbers { gap: 0; }
    .ae-careers-showroom.is-cylinder .ae-careers-showroom__numbers button { min-width: 34px; padding-inline: 4px; }
    .ae-careers-showroom.is-cylinder .ae-careers-showroom__arrow { min-width: 36px; padding-inline: 4px; }
    .ae-rack-back__brand { font-size: 13px; }
    .ae-rack-back__number { font-size: 48px; }
    .ae-rack-back__title { font-size: 18px; }
    .ae-rack-back__words { font-size: 10px; }
}
/* 独立した側面パーツを隠す */
.ae-careers-showroom.is-cylinder .ae-rack-edge {
    display: none;
}

/* 表裏の間隔を狭める */
.ae-careers-showroom.is-cylinder .ae-rack-front,
.ae-careers-showroom.is-cylinder .ae-rack-brand-front {
    transform: translateZ(0.6px);
}

.ae-careers-showroom.is-cylinder
.ae-rack-back:not(.ae-rack-brand-front) {
    transform: rotateY(180deg) translateZ(0.6px);
}
/* 用意済みの5方向画像を、棚の向きに合わせて表示 */
.ae-careers-showroom.is-cylinder.uses-angle-images .ae-rack-front {
    overflow: hidden;
    border-radius: 14px;
}
.ae-careers-showroom.is-cylinder.uses-angle-images .ae-rack-front img {
    position: absolute;
    left: 0;
    top: 0;
    max-width: none;
    max-height: none;
    aspect-ratio: auto;
    transform-origin: 0 0;
    transition: opacity 140ms linear;
    pointer-events: none;
}
/* 側面の線を再表示しない */
.ae-careers-showroom.is-cylinder.uses-angle-images .ae-rack-edge {
    display: none;
}
@media (prefers-reduced-motion: reduce) {
    .ae-careers-showroom.is-cylinder.uses-angle-images .ae-rack-front img {
        transition: none;
    }
}
/* 採用トップ：相談・AI・数字ページと見出しの基本ルールをそろえる */
.ae-careers .ae-careers-showroom {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.8fr);
    gap: 32px;
    width: calc(100% - 80px);
    max-width: 1280px;
    padding: 60px 0 40px;
}
.ae-careers-showroom .ae-careers-showroom__copy {
    font-family: var(--font-family-base, sans-serif);
    color: var(--careers-ink);
}
.ae-careers-showroom .ae-careers-showroom__eyebrow {
    margin: 0 0 18px;
    color: var(--careers-ink);
    font: 700 12px/1.6 "Courier New", monospace;
    letter-spacing: 0.08em;
}
.ae-careers-showroom .ae-careers-showroom__english {
    margin: 0 0 24px;
    color: var(--careers-ink);
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(48px, 6vw, 92px);
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: -0.06em;
}
.ae-careers-showroom .ae-careers-showroom__copy h1 {
    margin: 0;
    color: var(--careers-ink);
    font-size: clamp(19px, 2vw, 28px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
}
.ae-careers-showroom .ae-careers-showroom__message {
    margin: 24px 0 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6;
}
.ae-careers-showroom .ae-careers-showroom__message br { display: none; }
.ae-careers-showroom .ae-careers-showroom__lead {
    margin: 12px 0 0;
    font-size: 14px;
    line-height: 1.9;
}
.ae-careers-showroom .ae-careers-showroom__signature {
    margin: 28px 0 0;
    color: var(--careers-blue);
}
.ae-careers-showroom .ae-careers-showroom__gallery { margin-top: 0; }
.ae-careers-showroom.is-cylinder .ae-careers-showroom__stage {
    height: clamp(420px, 60svh, 600px);
}
.ae-careers-showroom .ae-careers-showroom__controls { gap: 16px; }
.ae-careers-showroom .ae-careers-showroom__bottom {
    padding: 20px 0 0;
}
@media (min-width: 781px) and (max-width: 1100px) {
    .ae-careers .ae-careers-showroom {
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.5fr);
        gap: 24px;
    }
    .ae-careers-showroom .ae-careers-showroom__controls { gap: 4px; }
    .ae-careers-showroom .ae-careers-showroom__numbers { gap: 0; }
    .ae-careers-showroom .ae-careers-showroom__numbers button { min-width: 34px; }
}
@media (max-width: 780px) {
    .ae-careers .ae-careers-showroom {
        display: block;
        width: calc(100% - 48px);
        min-height: 0;
        padding: 32px 0 44px;
    }
    .ae-careers-showroom .ae-careers-showroom__copy { display: block; }
    .ae-careers-showroom .ae-careers-showroom__english {
        font-size: clamp(40px, 9vw, 64px);
    }
    .ae-careers-showroom .ae-careers-showroom__english br { display: block; }
    .ae-careers-showroom .ae-careers-showroom__copy h1 { font-size: 22px; }
    .ae-careers-showroom .ae-careers-showroom__message { margin-top: 20px; }
    .ae-careers-showroom .ae-careers-showroom__lead br { display: initial; }
    .ae-careers-showroom .ae-careers-showroom__signature { display: none; }
    .ae-careers-showroom .ae-careers-showroom__gallery { margin-top: 24px; }
    .ae-careers-showroom.is-cylinder .ae-careers-showroom__stage {
        height: clamp(370px, 53svh, 480px);
    }
    .ae-careers-showroom .ae-careers-showroom__controls { gap: 8px; }
}

.ae-careers-showroom__mobile-lead {
    display: none;
}
@media (max-width: 600px) {
    .ae-careers .ae-careers-showroom {
        width: calc(100% - 32px);
        padding: 72px 0 8px;
    }

    .ae-careers-showroom .ae-careers-showroom__eyebrow {
        display: none;
    }

    .ae-careers-showroom .ae-careers-showroom__english {
        margin: 0;
        font-size: clamp(28px, 8.5vw, 34px);
        line-height: 1.02;
        letter-spacing: -0.045em;
    }

    .ae-careers-showroom .ae-careers-showroom__copy h1 {
        margin: 4px 0 0;
        font-size: 18px;
        line-height: 1.4;
    }

    .ae-careers-showroom .ae-careers-showroom__english br {
        display: none;
    }

    .ae-careers-showroom .ae-careers-showroom__message,
    .ae-careers-showroom .ae-careers-showroom__lead {
        display: none;
    }

.ae-careers-showroom .ae-careers-showroom__mobile-lead {
    display: block;
    margin: 4px 0 0;
    font-size: 11px;
    line-height: 1.7;
}

    .ae-careers .ae-careers-showroom .ae-careers-showroom__more {
        gap: 10px;
        min-height: 30px;
        margin-top: 8px;
        padding: 4px 10px;
        font-size: 11px;
        line-height: 1.6;
        box-shadow: none;
    }

    .ae-careers-showroom .ae-careers-showroom__gallery {
        margin-top: 24px;
    }

    .ae-careers-showroom .ae-careers-showroom__numbers button,
    .ae-careers-showroom .ae-careers-showroom__hint {
        color: #064bfa;
        font: 700 12px/1.4 var(--font-family-base, sans-serif);
        letter-spacing: normal;
    }

    .ae-careers-showroom.is-cylinder .ae-careers-showroom__lineup {
        top: 12px;
    }

    .ae-careers-showroom .ae-careers-showroom__controls {
        margin-top: 4px;
    }

    .ae-careers-showroom .ae-careers-showroom__controls button {
        min-height: 36px;
        padding-block: 4px;
    }

    .ae-careers-showroom .ae-careers-showroom__hint {
        margin-top: 0;
        line-height: 1.3;
    }

    .ae-careers-showroom .ae-careers-showroom__bottom {
        padding: 0;
    }

    .ae-careers > .ae-page-first-screen > .ae-page-scroll-guide {
        margin: 0 auto;
        padding: 4px 12px 24px;
        gap: 2px;
        font-size: 9px;
    }

    .ae-careers .ae-page-scroll-guide__arrow {
        font-size: 20px;
    }

    .ae-careers-showroom.is-cylinder .ae-careers-showroom__stage {
        width: calc(100% + 32px);
        margin-left: -16px;
        height: clamp(280px, 42svh, 340px);
    }

    .ae-careers-showroom.is-cylinder .ae-careers-showroom__plinth {
        left: -3%;
        right: -3%;
        bottom: 13px;
        height: 30%;
    }
    .ae-careers-showroom.is-cylinder .ae-rack-back {
        gap: calc(var(--card-height) * 0.022);
        border-width: calc(var(--card-height) * 0.0067);
    }

    .ae-careers-showroom.is-cylinder .ae-rack-face {
        border-radius: calc(var(--card-height) * 0.031);
    }

    .ae-careers-showroom.is-cylinder .ae-rack-back__brand {
        font-size: calc(var(--card-height) * 0.044);
    }

    .ae-careers-showroom.is-cylinder .ae-rack-back__number {
        font-size: calc(var(--card-height) * 0.173);
    }

    .ae-careers-showroom.is-cylinder .ae-rack-back__title {
        font-size: calc(var(--card-height) * 0.058);
    }

    .ae-careers-showroom.is-cylinder .ae-rack-back__words {
        font-size: calc(var(--card-height) * 0.031);
    }

    .ae-careers-showroom.is-cylinder .ae-rack-back__footer {
        font-size: calc(var(--card-height) * 0.024);
    }
}
/* 説明文の文字サイズ・太さをそろえる */
.ae-careers-showroom .ae-careers-showroom__message,
.ae-careers-showroom .ae-careers-showroom__lead {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.9;
}
.ae-careers-showroom .ae-careers-showroom__lead {
    margin-top: 0;
}

/* 選択中の番号・職種は読み上げ用に残し、画面では隠す */
.ae-careers-showroom .ae-careers-showroom__status {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    border: 0;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
.ae-careers-showroom .ae-careers-showroom__bottom {
    justify-content: flex-end;
}

/* 採用トップ：会社紹介と同じ丸い案内ボタン */
.ae-careers-showroom .ae-careers-showroom__more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    max-width: 100%;
    min-height: 48px;
    margin-top: 24px;
    border: 1px solid #064bfa;
    border-radius: 999px;
    padding: 12px 24px;
    background: transparent;
    color: #064bfa;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
    text-decoration: none;
    transition:
        transform 180ms ease,
        background-color 180ms ease,
        color 180ms ease,
        box-shadow 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
    .ae-careers-showroom .ae-careers-showroom__more:hover {
        background: #064bfa;
        color: #fff;
        box-shadow: 0 5px 12px #064bfa26;
    }
}

@media (hover: hover) and (pointer: fine)
       and (prefers-reduced-motion: no-preference) {
    .ae-careers-showroom .ae-careers-showroom__more:hover {
        transform: translateY(-2px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .ae-careers-showroom .ae-careers-showroom__more {
        transition: none;
    }
}
/* 採用ページ：共通仕様の右上目次 */
.ae-careers-page { --careers-nav-admin-offset: 0px; }
.ae-careers-page.admin-bar { --careers-nav-admin-offset: 32px; }
@media (max-width: 782px) {
    .ae-careers-page.admin-bar { --careers-nav-admin-offset: 46px; }
}
.ae-careers-floating-nav {
    position: fixed;
    top: calc(var(--careers-nav-admin-offset) + 14px);
    right: clamp(16px, 2.5vw, 40px);
    z-index: 1000;
    max-width: calc(100% - 32px);
    font-family: var(--font-family-base, sans-serif);
}
.ae-careers-floating-nav[hidden] { display: none; }
.ae-careers-floating-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    border: 1px solid #d2e2ff;
    border-radius: 32px;
    padding: 6px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 5px 14px rgba(6,75,250,.09),
        0 12px 28px rgba(30,70,130,.06), inset 0 1px 0 #fffffff2;
}
.ae-careers-floating-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border: 1px solid #d2e2ff;
    border-radius: 24px;
    padding: 10px 18px;
    background: #fff;
    color: #064bfa;
    box-shadow: 0 2px 4px rgba(6,75,250,.07), inset 0 1px 0 #ffffffe6;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 220ms ease, border-color 220ms ease;
}
.ae-careers-floating-links a[aria-current="location"] {
    border-color: #80afff;
    background: linear-gradient(180deg, #f3f8ff, #deecff);
    box-shadow: inset 0 1px 2px #fff, 0 2px 5px rgba(6,75,250,.08);
}
.ae-careers-floating-links a:focus-visible {
    outline: 2px solid #064bfa;
    outline-offset: 3px;
}
@media (hover: hover) and (pointer: fine) {
    .ae-careers-floating-links a:hover { border-color: #bad2ff; background-color: #eef5ff; }
}
.ae-careers .ae-careers-section,
.ae-careers .ae-careers-subsection {
    scroll-margin-top: calc(var(--careers-nav-admin-offset) + var(--careers-nav-height, 60px) + 24px);
}
/* 116：採用情報へ戻る位置の余白を小さくする */
.ae-careers #career-recruit {
    scroll-margin-top: calc(
        var(--wp-admin--admin-bar--height, 0px) + 8px
    );
}
.ae-careers .ae-careers-section { font-family: var(--font-family-base, sans-serif); }
.ae-careers-subsection { margin-top: 40px; }
.ae-careers-subsection > h3,
.ae-careers-overview > h3 { margin: 0 0 16px; font-size: 20px; line-height: 1.5; }
.ae-careers-subsection > .ae-careers-button { margin-top: 24px; }
.ae-careers-recruit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.ae-careers-recruit-grid .ae-careers-window__body { padding: 24px; }
.ae-careers-recruit-grid h3 { margin: 0 0 16px; font-size: 22px; }
.ae-careers-recruit-grid p { margin: 0 0 20px; font-size: 15px; line-height: 1.9; }
.ae-careers-overview { margin-top: 32px; border-top: 1px solid #c3ddff; padding-top: 24px; }
.ae-careers-overview > p:not(.ae-careers-layout__note) { margin: 0 0 16px; font-size: 15px; line-height: 1.9; }
.ae-careers-summary-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; padding: 0; list-style: none; }
.ae-careers-summary-tags li { border: 1px solid #c3ddff; padding: 8px 12px; background: #f3f8ff; color: #064bfa; font-size: 14px; }
.ae-careers-inline-link { display: inline-block; color: #064bfa; font-size: 14px; font-weight: 700; line-height: 1.8; text-underline-offset: 6px; }
.ae-careers-subsection > .ae-careers-inline-link { margin-top: 20px; }
.ae-careers-company-data { margin: 0 0 24px; }
.ae-careers-company-data > div { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 20px; border-bottom: 1px solid #d2e2ff; padding: 18px 0; }
.ae-careers-company-data dt { font-size: 14px; font-weight: 700; }
.ae-careers-company-data dd { margin: 0; font-size: 15px; line-height: 1.9; }
@media (min-width: 781px) and (max-width: 1100px) {
    .ae-careers-floating-links a { padding-inline: 12px; font-size: 12px; }
}
@media (max-width: 780px) {
    .ae-careers-recruit-grid { grid-template-columns: 1fr; }
    .ae-careers-recruit-grid .ae-careers-window__body { padding: 20px 16px; }
    .ae-careers-company-data > div { grid-template-columns: 1fr; gap: 8px; }
    .ae-careers-subsection { margin-top: 32px; }
}
@media (prefers-reduced-motion: reduce) {
    .ae-careers-floating-links a { transition: none; }
}
/* 仕事内容：開発相談の「対応できること」と統一 */
#career-work .ae-careers-work-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border-radius: 6px;
    padding: 4px;
    box-shadow:
        3px 3px 0 #62caff,
        6px 8px 0 rgba(6, 75, 250, 0.1),
        inset 0 0 0 1px #8cd7ff;
}

#career-work .ae-careers-work-grid {
    gap: 24px;
}

#career-work .ae-careers-work-card .ae-careers-window__body {
    display: flex;
    flex-direction: column;
    flex: 1;
}

@media (min-width: 1000px) {
    .ae-careers #career-work {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
        column-gap: 48px;
        row-gap: 28px;
        align-items: center;
        padding-top: 36px;
        padding-bottom: 36px;
    }

    #career-work > .ae-careers-section__heading {
        grid-column: 1;
        grid-row: 1;
    }

    #career-work > .ae-careers-section__content {
        display: contents;
    }

    #career-work > .ae-careers-section__content > .ae-careers-layout__lead {
        grid-column: 2;
        grid-row: 1;
        margin: 0;
        font-size: 16px;
        line-height: 1.9;
    }

    #career-work .ae-careers-section__english {
        font-size: clamp(40px, 4vw, 64px);
    }

    #career-work .ae-careers-section__heading h2 {
        margin-top: 14px;
    }

    #career-work .ae-careers-work-grid {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    #career-work > .ae-careers-section__content > .ae-careers-button {
        grid-column: 1 / -1;
        grid-row: 3;
        justify-self: start;
        margin-top: 0;
    }

    #career-work #career-growth {
        grid-column: 1 / -1;
        grid-row: 4;
    }

    #career-work .ae-careers-work-card .ae-careers-window__bar {
        padding: 5px 12px;
    }

    #career-work .ae-careers-work-card h3 {
        font-size: 18px;
    }

    #career-work .ae-careers-work-card .ae-careers-window__body {
        padding: 24px 26px;
    }

    #career-work .ae-careers-work-image {
        height: clamp(160px, 27vh, 260px);
        aspect-ratio: auto;
        margin-bottom: 18px;
    }

    #career-work .ae-careers-work-card p {
        margin-bottom: 10px;
        font-size: 15px;
        line-height: 1.7;
    }

    #career-work .ae-careers-work-card ul {
        margin-bottom: 0;
        font-size: 15px;
        line-height: 1.7;
    }
}
/* 仕事内容・働く環境：ページタイトルを左揃え */
.ae-careers-work-page #ae-careers-work-title {
    max-width: none;
    margin: 24px 0 0;
    font-size: clamp(19px, 2vw, 28px);
    font-weight: 700;
    line-height: 1.5;
}
/* 仕事内容・働く環境：詳細ページ共通の背景 */
body.ae-careers-work-page {
    background-color: #deecff;
    background-image: radial-gradient(
        circle,
        #fff 1.5px,
        transparent 1.5px
    );
    background-size: 24px 24px;
    background-attachment: fixed;
}

/* 118：本文と戻るボタンの幅を揃える親枠 */
.ae-careers-work-page .ae-careers-work-layout {
    --ae-return-layout-width: calc(100% - 48px);
    --ae-return-layout-max: 1440px;
}

/* 118：01以降をまとめる本文シート */
.ae-careers-work-page .ae-careers-body-sheet {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0 auto 32px;
    border: 1px solid #b4ceff;
    border-radius: 48px;
    padding: 16px 0 0;
    background: #f8fbff;
    box-shadow: 0 12px 36px rgba(6, 75, 250, 0.07);
}

.ae-careers-work-page
.ae-careers-body-sheet > .ae-careers-section {
    width: calc(100% - 80px);
    max-width: 1280px;
}

@media (max-width: 780px) {
    .ae-careers-work-page .ae-careers-work-layout {
        --ae-return-layout-width: calc(100% - 24px);
    }

    .ae-careers-work-page .ae-careers-body-sheet {
        width: 100%;
        margin-bottom: 16px;
        border-radius: 28px;
        padding-top: 8px;
    }

    .ae-careers-work-page
    .ae-careers-body-sheet > .ae-careers-section {
        width: calc(100% - 32px);
    }
}

/* 詳細ページ：上部の戻るリンク */
.ae-careers-return-top {
    width: min(1280px, calc(100% - 36px));
    margin: 0 auto;
    padding: 24px 0 0;
    text-align: right;
}

.ae-careers-return-top a {
    display: inline-block;
    padding: 8px 0;
    color: #064bfa;
    font-size: 14px;
    font-weight: 700;
    text-underline-offset: 5px;
}

/* 採用情報：詳細ページへの画像付きカード */
#career-recruit .ae-careers-guide-grid {
    gap: 24px;
}

#career-recruit .ae-careers-guide-grid > .ae-careers-window {
    display: flex;
    flex-direction: column;
    position: relative;
}

#career-recruit .ae-careers-guide-image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

#career-recruit .ae-careers-guide-grid .ae-careers-window__body {
    display: flex;
    flex: 1;
    flex-direction: column;
}

#career-recruit .ae-careers-guide-grid .ae-careers-inline-link {
    align-self: flex-start;
    margin-top: auto;
}

@media (max-width: 600px) {
    body:not(.ae-careers-work-page)
    .ae-careers > :is(#career-recruit, #career-members, #career-style) {
        gap: 4px;
        border-bottom: 0;
        padding-bottom: 60px;
    }

    body:not(.ae-careers-work-page)
    .ae-careers > #career-entry {
        gap: 4px;
        border-bottom: 0;
        padding-bottom: 8px;
    }

    body:not(.ae-careers-work-page)
    :is(#career-recruit, #career-members, #career-style, #career-entry)
    .ae-careers-section__number {
        margin: 0 0 6px;
        font-size: 10px;
        line-height: 1.4;
        letter-spacing: 0.04em;
    }

    body:not(.ae-careers-work-page)
    :is(#career-recruit, #career-members, #career-style, #career-entry)
    .ae-careers-section__english {
        font-size: clamp(36px, 7.5vw, 60px);
        line-height: 0.98;
    }

    body:not(.ae-careers-work-page)
    :is(#career-recruit, #career-members, #career-style, #career-entry)
    .ae-careers-section__heading h2 {
        margin: 4px 0 0;
        font-size: clamp(19px, 2vw, 28px);
        line-height: 1.5;
    }

    body:not(.ae-careers-work-page)
    :is(#career-recruit, #career-members, #career-style, #career-entry)
    :is(.ae-careers-layout__lead, .ae-careers-team__text) {
        margin: 0 0 8px;
        color: #080b20;
        font-size: 11px;
        line-height: 1.7;
        letter-spacing: 0;
        text-align: left;
    }

    .ae-careers-team__text-full {
        display: none;
    }

    .ae-careers-team__text-short {
        display: inline;
    }

    #career-recruit .ae-careers-guide-grid {
        gap: 16px;
    }

    #career-recruit .ae-careers-guide-grid > .ae-careers-window {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto 1fr;
        aspect-ratio: 1 / 1;
    }

    #career-recruit .ae-careers-window__bar {
        grid-column: 1 / -1;
        padding: 5px 8px;
        font-size: 10px;
    }

    #career-recruit .ae-careers-guide-image {
        display: block;
        align-self: start;
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
        object-fit: contain;
    }

    #career-recruit .ae-careers-guide-grid .ae-careers-window__body {
        min-width: 0;
        padding: 12px;
    }

    #career-recruit .ae-careers-guide-grid h3 {
        margin-bottom: 6px;
        font-size: 15px;
        line-height: 1.5;
    }

    #career-recruit .ae-careers-guide-grid p {
        margin-bottom: 8px;
        font-size: 12px;
        line-height: 1.7;
    }

    #career-recruit .ae-careers-guide-grid .ae-careers-inline-link {
        font-size: 11px;
        line-height: 1.6;
    }
}

/* 採用情報：カード全体をリンクのクリック範囲にする */
#career-recruit .ae-careers-guide-grid .ae-careers-inline-link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    cursor: pointer;
}

@media (prefers-reduced-motion: no-preference) {
    #career-recruit .ae-careers-guide-grid > .ae-careers-window {
        transition: transform 180ms ease-out;
    }

    #career-recruit .ae-careers-guide-grid > .ae-careers-window:active {
        transform: scale(1.004);
    }
}

@media (hover: hover) and (pointer: fine)
       and (prefers-reduced-motion: no-preference) {
    #career-recruit .ae-careers-guide-grid > .ae-careers-window:hover:not(:active) {
        transform: scale(1.012);
    }
}

/* 採用情報：代表挨拶への案内カード */
.ae-careers-message {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 32px;
    margin-top: 24px;
    border: 1px solid #90b8ff;
    border-radius: 8px;
    padding: 28px 32px;
    background: #fff;
    color: #080b20;
    box-shadow: 0 6px 18px rgba(6, 75, 250, 0.07);
}

.ae-careers-message__copy {
    min-width: 0;
}

.ae-careers-message__label {
    margin: 0 0 12px;
    color: #064bfa;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.04em;
}

.ae-careers-message__label > span {
    font-family: "Courier New", monospace;
}

.ae-careers-message__title {
    margin: 0 0 10px;
    color: #080b20;
    font-size: clamp(22px, 2.2vw, 28px);
    font-weight: 700;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.ae-careers-message__description {
    margin: 0;
    color: #080b20;
    font-size: 16px;
    line-height: 1.9;
    overflow-wrap: anywhere;
}

.ae-careers-message__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    justify-self: end;
    box-sizing: border-box;
    min-height: 52px;
    max-width: 100%;
    border: 1.5px solid #064bfa;
    border-radius: 999px;
    padding: 12px 28px;
    background: #fff;
    color: #064bfa;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    text-decoration: none;
    white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) {
    .ae-careers-message__button:hover {
        background: #edf5ff;
    }
}

/* 代表挨拶カード：スマホでは縦並び */
@media (max-width: 780px) {
    .ae-careers-message {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
        padding: 24px 20px;
    }

    .ae-careers-message__title {
        font-size: 22px;
    }

    .ae-careers-message__description {
        font-size: 15px;
    }

    .ae-careers-message__description br {
        display: none;
    }

    .ae-careers-message__button {
        justify-self: start;
        padding-inline: 24px;
        font-size: 15px;
    }
}
@media (max-width: 600px) {
    #career-recruit .ae-careers-message {
        gap: 8px;
        padding: 16px;
    }

    #career-recruit .ae-careers-message__label {
        margin: 0 0 6px;
        font-size: 10px;
        line-height: 1.4;
    }

    #career-recruit .ae-careers-message__title {
        margin: 0 0 8px;
        font-size: 16px;
        line-height: 1.5;
    }

    #career-recruit .ae-careers-message__description {
        font-size: 11px;
        line-height: 1.7;
    }

    #career-recruit .ae-careers-message__button {
        min-height: 30px;
        padding: 4px 10px;
        gap: 10px;
        font-size: 11px;
        line-height: 1.6;
    }

    body:not(.ae-careers-work-page)
    .ae-careers > #career-members {
        padding-bottom: 48px;
    }

body:not(.ae-careers-work-page)
.ae-careers > #career-style {
    padding-top: 12px;
    padding-bottom: 32px;
}

    #career-style .ae-careers-benefit-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
        margin: 16px 0 0;
        border: 1px solid #80afff;
        border-radius: 8px;
        padding: 20px 6px 18px;
        background: #ffffffed;
        box-shadow: 3px 3px 0 #c9dfff;
    }

    #career-style .ae-careers-section__content
    > .ae-careers-button[data-benefits-open] {
        margin-top: 12px;
    }

    #career-style .ae-careers-benefit,
    #career-style .ae-careers-benefit:hover {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto;
        align-content: start;
        align-items: start;
        gap: 12px;
        min-width: 0;
        border: 0;
        border-radius: 0;
        padding: 0;
        background: transparent;
        box-shadow: none;
        transform: none;
    }

    #career-style .ae-careers-benefit:nth-child(2),
    #career-style .ae-careers-benefit:nth-child(5),
    #career-style .ae-careers-benefit:nth-child(6) {
        display: none;
    }

    #career-style .ae-careers-benefit__icon {
        grid-column: 1;
        grid-row: 1;
        justify-self: center;
        align-self: center;
        width: 64px;
        height: 64px;
        margin: 0;
    }

    #career-style .ae-careers-benefit h3 {
        grid-column: 1;
        grid-row: 2;
        display: block;
        min-width: 0;
        min-height: 0;
        margin: 0;
        padding: 0;
        background: transparent;
        color: #064bfa;
        font-size: 12px;
        line-height: 1.6;
        text-align: center;
        text-wrap: wrap;
    }

    #career-style .ae-careers-benefit h3::after {
        content: none;
    }

    #career-style .ae-careers-benefit__title-full,
    #career-style .ae-careers-benefit p {
        display: none;
    }

    #career-style .ae-careers-benefit__title-short {
        display: block;
    }
}
/* 118：仕事内容カードを詳細ページ共通のデザインに統一 */
.ae-careers-work-page #career-work .ae-careers-work-card {
    border: 1px solid #739eff;
    border-radius: 12px;
    padding: 0;
    background: #fff;
    box-shadow: 0 8px 24px rgba(6, 75, 250, 0.16);
    overflow: hidden;
}

.ae-careers-work-page #career-work
.ae-careers-work-card .ae-careers-window__bar {
    border-bottom: 1px solid #d2e2ff;
    padding: 14px 18px;
    background: #fff;
    color: #064bfa;
}

.ae-careers-work-page #career-work
.ae-careers-work-card .ae-careers-window__bar h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
}

.ae-careers-work-page #career-work
.ae-careers-work-card .ae-careers-window__bar > span {
    display: none;
}

@media (max-width: 780px) {
    .ae-careers-work-page #career-work
    .ae-careers-work-card .ae-careers-window__bar {
        padding: 12px 14px;
    }

    .ae-careers-work-page #career-work
    .ae-careers-work-card .ae-careers-window__bar h3 {
        font-size: 16px;
    }
}
/* 118：仕事内容・Qカードにマウスを合わせると少し浮く */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .ae-careers-work-page #career-work .ae-careers-work-card,
    .ae-careers-work-page .ae-careers-questions__item,
    .ae-careers-work-page .ae-careers-role-choice {
        transition:
            transform 220ms ease,
            box-shadow 220ms ease;
    }

    .ae-careers-work-page #career-work .ae-careers-work-card:hover,
    .ae-careers-work-page .ae-careers-questions__item:hover,
    .ae-careers-work-page .ae-careers-role-choice:hover {
        transform: translateY(-4px);
        box-shadow: 0 14px 28px rgba(6, 75, 250, 0.18);
    }
}
/* 118：働く自分を想像する入口 */
.ae-careers-work-page .ae-careers-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 64px;
    width: calc(100% - 80px);
    max-width: 1280px;
    margin: 0 auto;
    padding: 64px 0 56px;
    color: #080b20;
    font-family: var(--font-family-base, sans-serif);
}

.ae-careers-intro__copy,
.ae-careers-intro__nav {
    min-width: 0;
}

.ae-careers-intro__english {
    margin: 0 0 12px;
    color: #064bfa;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(20px, 2.4vw, 32px);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.04em;
}

.ae-careers-intro__label {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
}

.ae-careers-work-page .ae-careers-intro #ae-careers-work-title {
    max-width: none;
    margin: 24px 0;
    color: #080b20;
    font-size: clamp(22px, 2vw, 28px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
    text-align: left;
}

.ae-careers-intro__lead {
    margin: 0;
    font-size: 16px;
    line-height: 2;
}

.ae-careers-intro__nav {
    display: none;
    gap: 14px;
}

.ae-careers-intro__link {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) 36px;
    align-items: center;
    gap: 16px;
    border: 1px solid #739eff;
    border-radius: 12px;
    padding: 24px;
    background: #fff;
    color: #080b20;
    box-shadow: 0 8px 24px rgba(6, 75, 250, 0.1);
    text-decoration: none;
    transition:
        transform 220ms ease,
        border-color 220ms ease,
        box-shadow 220ms ease;
}

.ae-careers-intro__number {
    color: #064bfa;
    font: 700 24px/1 Arial, Helvetica, sans-serif;
}

.ae-careers-intro__text {
    display: grid;
    gap: 6px;
}

.ae-careers-intro__text strong {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
}

.ae-careers-intro__text > span {
    color: #515c75;
    font-size: 13px;
    line-height: 1.7;
}

.ae-careers-intro__arrow {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #eef5ff;
    color: #064bfa;
    font-size: 22px;
    line-height: 1;
    transition: transform 220ms ease;
}

.ae-careers-intro__link:focus-visible {
    outline: 3px solid #064bfa;
    outline-offset: 5px;
}

@media (hover: hover) and (pointer: fine) {
    .ae-careers-intro__link:hover {
        border-color: #064bfa;
        color: #080b20;
        box-shadow: 0 12px 28px rgba(6, 75, 250, 0.18);
        transform: translateY(-4px);
    }

    .ae-careers-intro__link:hover .ae-careers-intro__arrow {
        transform: translate(3px, 3px);
    }
}

@media (max-width: 1000px) {
    .ae-careers-work-page .ae-careers-intro {
        gap: 32px;
    }

    .ae-careers-intro__link {
        gap: 12px;
        padding: 20px 16px;
    }

    .ae-careers-intro__text strong {
        font-size: 18px;
    }
}

@media (max-width: 780px) {
    .ae-careers-work-page .ae-careers-intro {
        grid-template-columns: 1fr;
        gap: 32px;
        width: calc(100% - 48px);
        padding: 40px 0;
    }

    .ae-careers-work-page .ae-careers-intro #ae-careers-work-title {
        margin: 16px 0 12px;
        font-size: 18px;
    }

    .ae-careers-intro__lead {
        font-size: 15px;
    }

    .ae-careers-intro__link {
        grid-template-columns: 28px minmax(0, 1fr) 32px;
    }

    .ae-careers-intro__number {
        font-size: 21px;
    }

    .ae-careers-intro__arrow {
        width: 32px;
        height: 32px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ae-careers-intro__link,
    .ae-careers-intro__arrow {
        transition: none;
        transform: none;
    }
}
/* 118：働き方の一問一答 */
.ae-careers-work-page #career-work > .ae-careers-questions {
    grid-column: 1 / -1;
    min-width: 0;
    width: 100%;
    margin-top: 16px;
    border-top: 1px solid #bcd5ff;
    padding-top: 32px;
}

.ae-careers-questions__eyebrow {
    margin: 0 0 10px;
    color: #064bfa;
    font: 700 13px/1.6 Arial, Helvetica, sans-serif;
    letter-spacing: 0.06em;
}

.ae-careers-questions__heading h3 {
    margin: 0 0 12px;
    color: #080b20;
    font-size: clamp(22px, 2.2vw, 28px);
    font-weight: 700;
    line-height: 1.5;
}

.ae-careers-questions__heading > p:last-child {
    margin: 0;
    font-size: 15px;
    line-height: 1.9;
}

.ae-careers-questions__notice {
    margin: 12px 0 24px;
    color: #515c75;
    font-size: 13px;
    line-height: 1.8;
}

.ae-careers-questions__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: 16px;
}

.ae-careers-questions__item[open] {
    align-self: stretch;
    background: #deecff;
}

.ae-careers-questions__item {
    min-width: 0;
    border: 1px solid #739eff;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(6, 75, 250, 0.08);
    overflow: hidden;
}

.ae-careers-questions__item > summary {
    position: relative;
    display: block;
    padding: 24px 52px 24px 20px;
    color: #080b20;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.6;
    list-style: none;
    cursor: pointer;
}

.ae-careers-questions__item > summary::-webkit-details-marker {
    display: none;
}

.ae-careers-questions__item > summary::after {
    content: "＋";
    position: absolute;
    top: 24px;
    right: 18px;
    color: #064bfa;
    font-size: 20px;
    line-height: 1.36;
}

.ae-careers-questions__item[open] {
    border-color: #064bfa;
    box-shadow: 0 8px 24px rgba(6, 75, 250, 0.14);
}

.ae-careers-questions__item[open] > summary {
    border-bottom: 1px solid #d2e2ff;
    background: #eef5ff;
    color: #064bfa;
}

.ae-careers-questions__item[open] > summary::after {
    content: "−";
}

.ae-careers-work-page
.ae-careers-questions__item > summary:focus-visible {
    outline: 3px solid #064bfa;
    outline-offset: -5px;
    border-radius: 10px;
}

.ae-careers-questions__answer {
    padding: 20px;
}

.ae-careers-questions__answer p {
    margin: 0;
    color: #080b20;
    font-size: 15px;
    line-height: 1.9;
}

@media (hover: hover) and (pointer: fine) {
    .ae-careers-questions__item > summary:hover {
        background: #eef5ff;
        color: #064bfa;
    }
}

@media (max-width: 1000px) {
    .ae-careers-questions__list {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .ae-careers-questions__item > summary {
        padding: 20px 52px 20px 20px;
    }

    .ae-careers-questions__item > summary::after {
        top: 20px;
    }
}
/* 118：興味から選ぶ4つの役割 */
.ae-careers-role-picker {
    margin: 32px 0;
}

.ae-careers-role-picker__title {
    margin: 0 0 12px;
    color: #080b20;
    font-size: clamp(22px, 2.2vw, 28px);
    font-weight: 700;
    line-height: 1.5;
}

.ae-careers-role-picker__guide {
    margin: 0;
    font-size: 15px;
    line-height: 1.9;
}

.ae-careers-role-picker__notice {
    margin: 12px 0 24px;
    color: #515c75;
    font-size: 13px;
    line-height: 1.8;
}

.ae-careers-role-picker__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: start;
    gap: 16px;
}

.ae-careers-role-choice {
    min-width: 0;
    border: 1px solid #739eff;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(6, 75, 250, 0.08);
    overflow: hidden;
}

.ae-careers-role-choice > summary {
    display: grid;
    grid-template-rows: auto auto 3.4em auto;
    gap: 16px;
    padding: 24px 20px;
    color: #080b20;
    list-style: none;
    cursor: pointer;
}

.ae-careers-role-choice > summary::-webkit-details-marker {
    display: none;
}

.ae-careers-role-choice__number {
    color: #064bfa;
    font: 700 28px/1 Arial, Helvetica, sans-serif;
}

.ae-careers-role-choice > summary > strong {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.5;
}

.ae-careers-role-choice__label {
    color: #515c75;
    font-size: 13px;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.ae-careers-role-choice__action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border-top: 1px solid #d2e2ff;
    padding-top: 14px;
    color: #064bfa;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.6;
}

.ae-careers-role-choice__action::after {
    content: "＋";
    font-size: 20px;
}

.ae-careers-role-choice[open] {
    align-self: stretch;
    border-color: #064bfa;
    background: #deecff;
    box-shadow: 0 8px 24px rgba(6, 75, 250, 0.16);
}

.ae-careers-role-choice[open] > summary {
    border-bottom: 1px solid #d2e2ff;
    background: #eef5ff;
}

.ae-careers-role-choice[open] > summary > strong {
    color: #064bfa;
}

.ae-careers-role-choice[open]
.ae-careers-role-choice__action::after {
    content: "−";
}

.ae-careers-role-choice__answer {
    padding: 20px;
}

.ae-careers-role-choice__answer p {
    margin: 0;
    color: #080b20;
    font-size: 15px;
    line-height: 1.9;
}

.ae-careers-work-page
.ae-careers-role-choice > summary:focus-visible {
    outline: 3px solid #064bfa;
    outline-offset: -5px;
    border-radius: 10px;
}

@media (hover: hover) and (pointer: fine) {
    .ae-careers-role-choice > summary:hover {
        background: #eef5ff;
    }
}

@media (max-width: 1100px) {
    .ae-careers-role-picker__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .ae-careers-role-picker__grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .ae-careers-role-choice > summary {
        grid-template-rows: auto;
        gap: 12px;
    }
}
/* 118：大きなQと回答の吹き出し */
.ae-careers-questions--chat .ae-careers-questions__list {
    align-items: start;
}

.ae-careers-questions--chat .ae-careers-questions__item > summary {
    position: relative;
    min-height: 120px;
    padding: 20px 44px 20px 16px;
    overflow: hidden;
    background-color: #fff;
    background-image:
        linear-gradient(#e6efff 1px, transparent 1px),
        linear-gradient(90deg, #e6efff 1px, transparent 1px);
    background-size: 24px 24px;
}

.ae-careers-questions--chat
.ae-careers-questions__item > summary::after {
    z-index: 2;
}

.ae-careers-chat__q {
    position: absolute;
    right: 28px;
    bottom: -16px;
    color: #d6e5ff;
    font: 700 100px/1 Arial, Helvetica, sans-serif;
    pointer-events: none;
}

.ae-careers-chat__question {
    position: relative;
    z-index: 1;
    display: block;
    color: #080b20;
    font-size: clamp(16px, 1.5vw, 20px);
    font-weight: 700;
    line-height: 1.6;
}

.ae-careers-questions--chat
.ae-careers-questions__item[open] > summary {
    border-bottom: 1px solid #bcd5ff;
    background-color: #f4f8ff;
}

.ae-careers-questions--chat
.ae-careers-questions__item[open] .ae-careers-chat__question {
    color: #064bfa;
}

.ae-careers-questions--chat .ae-careers-questions__answer {
    padding: 14px;
    background: #deecff;
}

.ae-careers-questions--chat
.ae-careers-questions__answer .ae-careers-chat__speaker {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 16px;
    color: #1648a6;
    font-size: 12px;
    font-weight: 700;
}

.ae-careers-chat__speaker > span {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #064bfa;
    color: #fff;
    font: 700 20px/1 Arial, Helvetica, sans-serif;
}

.ae-careers-chat__bubble {
    position: relative;
    border: 1px solid #bcd5ff;
    border-radius: 0 16px 16px 16px;
    padding: 14px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(6, 75, 250, 0.06);
}

.ae-careers-chat__bubble::before {
    content: "";
    position: absolute;
    top: -9px;
    left: -1px;
    width: 14px;
    height: 9px;
    background: #fff;
    clip-path: polygon(0 0, 100% 100%, 0 100%);
}

.ae-careers-chat__skip {
    margin-top: 14px;
    border: 1px solid #739eff;
    border-radius: 20px;
    padding: 8px 16px;
    background: #fff;
    color: #064bfa;
    font: inherit;
    font-size: 13px;
    cursor: pointer;
}

.ae-careers-questions--chat [hidden] {
    display: none;
}

@media (max-width: 1000px) {
    .ae-careers-questions--chat
    .ae-careers-questions__item > summary {
        min-height: 104px;
        padding: 18px 44px 18px 14px;
    }

    .ae-careers-chat__q {
        font-size: 90px;
    }
}
/* 118：役割Q&Aを2列×2行に */
.ae-careers-work-page .ae-careers-role-picker__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    align-items: start;
}

.ae-careers-work-page .ae-careers-role-choice > summary {
    position: relative;
    isolation: isolate;
    grid-template-rows: auto auto auto auto;
    gap: 14px;
    padding: 28px;
    overflow: hidden;
    background-color: #fff;
    background-image:
        linear-gradient(#e6efff 1px, transparent 1px),
        linear-gradient(90deg, #e6efff 1px, transparent 1px);
    background-size: 24px 24px;
}

.ae-careers-role-choice > summary::before {
    content: "Q";
    position: absolute;
    z-index: -1;
    right: 24px;
    bottom: 30px;
    color: #d6e5ff;
    font: 700 160px/1 Arial, Helvetica, sans-serif;
    pointer-events: none;
}

.ae-careers-work-page
.ae-careers-role-choice > summary > strong {
    font-size: clamp(22px, 2.2vw, 28px);
    line-height: 1.6;
}

.ae-careers-work-page .ae-careers-role-choice__label {
    min-height: 3.4em;
    color: #1648a6;
}

.ae-careers-work-page
.ae-careers-role-choice[open] > summary {
    background-color: #f4f8ff;
}

.ae-careers-work-page .ae-careers-role-choice__answer {
    padding: 24px;
    background: #deecff;
}

.ae-careers-role-choice__answer::before {
    content: "A";
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    margin-bottom: 16px;
    border-radius: 50%;
    background: #064bfa;
    color: #fff;
    font: 700 20px/1 Arial, Helvetica, sans-serif;
}

.ae-careers-work-page .ae-careers-role-choice__answer p {
    position: relative;
    border: 1px solid #bcd5ff;
    border-radius: 0 16px 16px 16px;
    padding: 20px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(6, 75, 250, 0.06);
}

.ae-careers-role-choice__answer p::before {
    content: "";
    position: absolute;
    top: -9px;
    left: -1px;
    width: 14px;
    height: 9px;
    background: #fff;
    clip-path: polygon(0 0, 100% 100%, 0 100%);
}

@media (max-width: 600px) {
    .ae-careers-work-page .ae-careers-role-picker__grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .ae-careers-work-page .ae-careers-role-choice > summary {
        padding: 24px 20px;
    }
}
/* 118：02のカードをコンパクトに */
.ae-careers-work-page .ae-careers-role-picker__grid {
    gap: 16px;
}

.ae-careers-work-page .ae-careers-role-choice > summary {
    gap: 8px;
    padding: 14px 16px;
}

.ae-careers-work-page .ae-careers-role-choice__number {
    font-size: 18px;
}

.ae-careers-work-page
.ae-careers-role-choice > summary > strong {
    font-size: 18px;
    line-height: 1.4;
}

.ae-careers-role-choice > summary > strong br {
    display: none;
}

.ae-careers-work-page .ae-careers-role-choice__label {
    min-height: 0;
}

.ae-careers-work-page .ae-careers-role-choice__action {
    padding-top: 8px;
}

.ae-careers-role-choice > summary::before {
    right: 18px;
    bottom: 20px;
    font-size: 110px;
}

.ae-careers-work-page .ae-careers-role-choice__answer {
    position: relative;
    padding: 14px;
}

.ae-careers-role-choice__answer::before {
    margin-bottom: 12px;
}

.ae-careers-role-choice__speaker {
    position: absolute;
    top: 18px;
    left: 60px;
    right: 18px;
    display: flex;
    align-items: center;
    min-height: 32px;
    color: #1648a6;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
}

.ae-careers-work-page .ae-careers-role-choice__answer p {
    padding: 12px;
    font-size: 13px;
    line-height: 1.8;
}
/* 118：トップの英語見出しを110と統一 */
.ae-careers-work-page .ae-careers-intro__english {
    margin: 0;
    color: #080b20;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(44px, 5vw, 80px);
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: -0.06em;
}

.ae-careers-work-page .ae-careers-intro__label {
    color: #080b20;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}

/* 118：01〜03の見出しを統一 */
.ae-careers-work-page
:is(#career-work, #career-growth, #career-style)
.ae-careers-section__number {
    margin: 0 0 12px;
    color: #080b20;
}

.ae-careers-work-page
:is(#career-work, #career-growth, #career-style)
.ae-careers-section__english {
    color: #080b20;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(36px, 4vw, 64px);
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: -0.06em;
}

.ae-careers-work-page
:is(#career-work, #career-growth, #career-style)
.ae-careers-section__heading h2 {
    margin: 20px 0 0;
    color: #080b20;
    font-size: clamp(22px, 2vw, 28px);
    font-weight: 700;
    line-height: 1.5;
}

/* 118：説明文・操作案内の文字を統一 */
.ae-careers-work-page .ae-careers-intro__lead,
.ae-careers-work-page
:is(#career-work, #career-growth, #career-style)
.ae-careers-layout__lead,
.ae-careers-work-page
#career-growth .ae-careers-role-picker__guide {
    color: #080b20;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.9;
    letter-spacing: 0;
}

.ae-careers-work-page .ae-careers-intro__lead {
    max-width: none;
    margin: 0;
}

/* 02：説明と操作案内を余白なしでつなぐ */
.ae-careers-work-page #career-growth {
    gap: 24px;
}

.ae-careers-work-page
#career-growth .ae-careers-layout__lead {
    max-width: none;
    margin: 0;
}

.ae-careers-work-page
#career-growth .ae-careers-role-picker {
    margin: 0 0 24px;
}

.ae-careers-work-page
#career-growth .ae-careers-role-picker__guide {
    margin: 0;
}

/* PCではスマホ用の短い説明を隠す */
.ae-careers-work-page .ae-careers-phone-only {
    display: none;
}

@media (max-width: 600px) {
    /* 文章の切り替え */
    .ae-careers-work-page .ae-careers-desktop-only {
        display: none;
    }

    .ae-careers-work-page .ae-careers-phone-only {
        display: inline;
    }

    /* スマホ：01と02を別々の白いカードにする */
    .ae-careers-work-page .ae-careers-body-sheet {
        border: 0;
        border-radius: 0;
        padding: 0;
        background: transparent;
        box-shadow: none;
    }

    .ae-careers-work-page .ae-careers
    .ae-careers-body-sheet > .ae-careers-section {
        width: 100%;
        gap: 12px;
        padding: 20px 16px 24px;
    }

    .ae-careers-work-page .ae-careers
    .ae-careers-body-sheet > :is(#career-work, #career-growth) {
        border: 1px solid #b4ceff;
        border-radius: 28px;
        background: #f8fbff;
        box-shadow: 0 8px 24px rgba(6, 75, 250, .06);
    }

    .ae-careers-work-page
    .ae-careers-body-sheet > #career-growth {
        margin-top: 24px;
    }

    .ae-careers-work-page
    :is(#career-work, #career-growth)
    .ae-careers-section__number {
        margin: 0 0 6px;
        font-size: 10px;
        line-height: 1.4;
    }

    .ae-careers-work-page
    :is(#career-work, #career-growth)
    .ae-careers-section__english {
        margin: 0;
        font-size: 22px;
        line-height: 1.02;
    }

    .ae-careers-work-page
    :is(#career-work, #career-growth)
    .ae-careers-section__heading h2 {
        display: none;
    }

    .ae-careers-work-page
    :is(#career-work, #career-growth)
    .ae-careers-layout__lead,
    .ae-careers-work-page
    #career-growth .ae-careers-role-picker__guide {
        display: none;
    }

    .ae-careers-work-page
    #career-work .ae-careers-layout__lead {
        margin-bottom: 18px;
    }

    /* 受託開発・SESのカード */
    .ae-careers-work-page #career-work .ae-careers-work-grid {
        gap: 16px;
    }

    .ae-careers-work-page #career-work
    .ae-careers-work-card .ae-careers-window__body {
        padding: 12px;
    }

    .ae-careers-work-page #career-work
    .ae-careers-work-card :is(p, ul) {
        margin-bottom: 12px;
        font-size: 13px;
        line-height: 1.8;
    }

    .ae-careers-work-page #career-work
    .ae-careers-work-card ul {
        font-size: 12px;
    }

    .ae-careers-work-page #career-work
    .ae-careers-work-card li + li {
        margin-top: 6px;
    }

    .ae-careers-work-page #career-work
    .ae-careers-work-card .ae-careers-window__body > :last-child {
        margin-bottom: 0;
    }

    .ae-careers-work-page #career-work .ae-careers-work-image {
        height: 112px;
        object-fit: contain;
        margin-bottom: 12px;
    }

    /* 働き方のQ&A */
    .ae-careers-work-page #career-work > .ae-careers-questions {
        display: flex;
        flex-direction: column;
        gap: 12px;
        margin-top: 4px;
        border-top: 0;
        padding-top: 12px;
    }

    .ae-careers-work-page
    .ae-careers-questions__heading > .ae-careers-questions__eyebrow {
        margin: 0 0 3px;
        font-size: 10px;
        line-height: 1.4;
        letter-spacing: .04em;
    }

    .ae-careers-work-page .ae-careers-questions__heading h3 {
        margin: 0 0 6px;
        font-size: 17px;
        line-height: 1.4;
    }

    .ae-careers-work-page
    .ae-careers-questions__heading > p:last-child,
    .ae-careers-work-page .ae-careers-questions__answer p {
        font-size: 13px;
        line-height: 1.8;
    }

    .ae-careers-work-page .ae-careers-questions__notice {
        order: 1;
        margin: 0;
        font-size: 11px;
        line-height: 1.8;
    }

    .ae-careers-work-page .ae-careers-questions__list {
        gap: 12px;
    }

    .ae-careers-work-page .ae-careers-questions--chat
    .ae-careers-questions__item > summary {
        min-height: 76px;
        padding: 22px 44px 22px 14px;
    }

    .ae-careers-work-page
    .ae-careers-questions__item > summary::after {
        top: 22px;
        right: 14px;
    }

    .ae-careers-work-page .ae-careers-chat__question {
        font-size: 15px;
        line-height: 1.6;
    }

    .ae-careers-work-page .ae-careers-chat__question br {
        display: none;
    }

    .ae-careers-work-page .ae-careers-chat__q {
        right: 24px;
        bottom: -8px;
        font-size: 76px;
    }

    /* 4つの職種 */
    .ae-careers-work-page .ae-careers #career-growth {
        gap: 12px;
    }

    .ae-careers-work-page
    #career-growth > .ae-careers-section__content {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .ae-careers-work-page
    #career-growth .ae-careers-role-picker {
        display: contents;
    }

    .ae-careers-work-page
    #career-growth .ae-careers-role-picker__grid {
        order: 1;
        margin: 0 0 12px;
    }

    .ae-careers-work-page
    #career-growth .ae-levels-open {
        order: 2;
        align-self: flex-start;
    }

    .ae-careers-work-page
    #career-growth .ae-careers-role-picker__notice {
        order: 3;
        margin: 12px 0 0;
        padding: 0;
        font-size: 11px;
        line-height: 1.8;
        text-align: left;
    }

    .ae-careers-work-page .ae-careers-role-picker__grid {
        gap: 12px;
    }

    .ae-careers-work-page .ae-careers-role-choice > summary {
        gap: 6px;
        padding: 14px;
    }

    .ae-careers-work-page .ae-careers-role-choice__number {
        font-size: 14px;
    }

    .ae-careers-work-page
    .ae-careers-role-choice > summary > strong {
        margin: 0;
        font-size: 16px;
        line-height: 1.4;
    }

    .ae-careers-work-page .ae-careers-role-choice__label,
    .ae-careers-work-page .ae-careers-role-choice__action {
        font-size: 12px;
    }

    .ae-careers-work-page .ae-careers-role-choice > summary::before {
        font-size: 80px;
    }

    /* スキルレベルの詳細パネル */
    .ae-careers-work-page .ae-levels-open {
        align-self: flex-start;
        gap: 12px;
        min-height: 34px;
        border-color: #a8c8ff;
        border-radius: 18px;
        padding: 6px 12px;
        background: transparent;
        font-size: 11px;
        font-weight: 400;
        line-height: 1.6;
    }

    .ae-careers-work-page .ae-levels-dialog__header {
        gap: 12px;
        padding: 8px 12px;
        background: var(--modal-header-background);
    }

    .ae-careers-work-page .ae-levels-dialog__english {
        margin: 0;
        font-size: 11px;
        font-weight: 700;
        line-height: 1.6;
        letter-spacing: 0;
    }

    .ae-careers-work-page .ae-levels-dialog__close {
        min-height: 44px;
        padding: 8px 12px;
        font-size: 12px;
    }

    .ae-careers-work-page .ae-levels-dialog__body {
        padding: 18px 12px 20px;
        background: var(--modal-background);
        scrollbar-color: #75a5f6 #e4efff;
    }

    .ae-careers-work-page
    .ae-levels-dialog .ae-levels-dialog__title {
        margin: 0 0 8px;
        font-size: 22px;
        line-height: 1.45;
    }

    .ae-careers-work-page .ae-levels-dialog__intro,
    .ae-careers-work-page .ae-levels-list dd {
        font-size: 13px;
        line-height: 1.8;
    }

    .ae-careers-work-page .ae-levels-switch {
        gap: 8px;
        margin-bottom: 20px;
    }

    .ae-careers-work-page .ae-levels-switch button {
        min-height: 44px;
        font-size: 12px;
    }

    .ae-careers-work-page
    .ae-levels-dialog [data-levels-panel] > h3 {
        font-size: 16px;
    }

    .ae-careers-work-page .ae-levels-list > div {
        gap: 6px;
        padding: 14px;
    }

}
/* 118：回答のタイピング演出 */
.ae-careers-questions--chat .ae-careers-chat__bubble {
    display: grid;
}

.ae-careers-chat__bubble > .ae-careers-chat__source,
.ae-careers-chat__bubble > .ae-careers-chat__typing {
    grid-area: 1 / 1;
    min-width: 0;
    overflow-wrap: anywhere;
}

.ae-careers-chat__bubble.is-typing > .ae-careers-chat__source {
    color: transparent;
}

.ae-careers-chat__composition {
    border-bottom: 2px solid #064bfa;
    background: #eef5ff;
    color: #1648a6;
}

.ae-careers-chat__cursor {
    display: inline-block;
    width: 2px;
    height: 1em;
    margin-left: 3px;
    background: #064bfa;
    vertical-align: -0.12em;
    animation: ae-careers-cursor-blink 800ms step-end infinite;
}

@keyframes ae-careers-cursor-blink {
    50% {
        opacity: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ae-careers-chat__cursor {
        animation: none;
    }
}
/* 118：役割カードのタイピング表示を準備 */
.ae-careers-work-page .ae-careers-role-choice__answer {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
}

.ae-careers-role-choice__answer::before {
    grid-area: 1 / 1;
}

.ae-careers-role-choice__answer > p {
    grid-area: 2 / 1;
    min-width: 0;
    overflow-wrap: anywhere;
}

.ae-careers-work-page
.ae-careers-role-choice__answer.is-typing
> .ae-careers-chat__source {
    color: transparent;
}

.ae-careers-role-choice__answer > .ae-careers-chat__skip {
    grid-area: 3 / 1;
    justify-self: start;
}

.ae-careers-work-page
.ae-careers-role-choice__answer [hidden] {
    display: none;
}
/* 118：スキルレベル詳細の入口 */
.ae-levels-open {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 48px;
    border: 1px solid #739eff;
    border-radius: 24px;
    padding: 12px 22px;
    background: #fff;
    color: #064bfa;
    font: inherit;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}
/* 118：各ボタンの操作時の変化 */
.ae-careers-work-page :is(
    .ae-levels-open,
    .ae-levels-dialog__close,
    .ae-levels-switch button
) {
    transition:
        background-color 180ms ease,
        color 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
    .ae-careers-work-page :is(
        .ae-levels-open,
        .ae-levels-dialog__close
    ):hover {
        border-color: #064bfa;
        background-color: #064bfa;
        color: #fff;
    }

    .ae-careers-work-page .ae-levels-switch button:hover {
        border-color: #064bfa;
        background-color: #e0ecff;
        color: #064bfa;
        box-shadow: 0 4px 10px rgba(6, 75, 250, 0.14);
    }

    .ae-careers-work-page
    .ae-levels-switch button[aria-pressed="true"]:hover {
        background-color: #003dcc;
        color: #fff;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .ae-careers-work-page .ae-levels-switch button {
        transition:
            background-color 180ms ease,
            color 180ms ease,
            border-color 180ms ease,
            box-shadow 180ms ease,
            transform 180ms ease;
    }

    @media (hover: hover) and (pointer: fine) {
        .ae-careers-work-page .ae-levels-switch button:hover {
            transform: translateY(-2px);
        }

        .ae-careers-work-page .ae-levels-switch button:active {
            transform: translateY(0);
        }
    }
}
/* 詳細パネル */
.ae-levels-dialog {
    position: fixed;
    inset: 0;
    width: min(960px, calc(100% - 64px));
    height: min(700px, calc(100dvh - 64px));
    max-width: none;
    max-height: calc(100dvh - 64px);
    margin: auto;
    border: 1px solid #739eff;
    border-radius: 20px;
    padding: 0;
    background: #f3f8ff;
    color: #080b20;
    font-family: var(--font-family-base, sans-serif);
    text-align: left;
    overflow: hidden;
}

.ae-levels-dialog[open] {
    display: flex;
    flex-direction: column;
}

.ae-levels-dialog:not([open]) {
    display: none;
}

.ae-levels-dialog::backdrop {
    background: var(--modal-backdrop);
}

.ae-levels-dialog__header {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 0;
    padding: 16px 24px;
    background: var(--modal-header-background);
    color: #fff;
}

.ae-levels-dialog__english {
    margin: 0 0 6px;
    color: #fff;
    font: 700 12px/1.6 Arial, Helvetica, sans-serif;
    letter-spacing: .04em;
}

.ae-levels-dialog__eyebrow {
    margin: 0 0 8px;
    color: var(--modal-blue);
    font: 700 12px/1.6 "Courier New", monospace;
    letter-spacing: .08em;
}

.ae-levels-dialog .ae-levels-dialog__title {
    max-width: none;
    margin: 0 0 10px;
    color: var(--modal-blue);
    font-size: 26px;
    font-weight: 700;
    line-height: 1.45;
}

.ae-levels-dialog__header form {
    flex-shrink: 0;
    margin: 0;
}

.ae-levels-dialog__close {
    min-height: 44px;
    border: 1px solid #fff;
    border-radius: 999px;
    padding: 9px 18px;
    background: #fff;
    color: #064bfa;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
    cursor: pointer;
}

.ae-levels-dialog__close:hover {
    background: #dcecff;
}

.ae-levels-dialog__close:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}

.ae-levels-dialog__body {
    flex: 1;
    min-height: 0;
    padding: 24px 32px 20px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.ae-levels-dialog__intro {
    margin: 0 0 14px;
    font-size: 16px;
    line-height: 1.9;
}

/* 職種の切り替え */
.ae-levels-switch {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 28px;
}

.ae-levels-switch button {
    min-width: 0;
    min-height: 48px;
    border: 1px solid #bcd5ff;
    border-radius: 10px;
    padding: 10px 8px;
    background: #fff;
    color: #1648a6;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    cursor: pointer;
}

.ae-levels-switch button[aria-pressed="true"] {
    border-color: #064bfa;
    background: #064bfa;
    color: #fff;
}

.ae-levels-dialog [hidden] {
    display: none;
}

/* パネル内には、ページ共通のsection余白を適用しない */
.ae-levels-dialog [data-levels-panel] {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.ae-levels-dialog [data-levels-panel] > h3 {
    margin: 0 0 16px;
    color: #080b20;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.5;
}

/* レベルごとの説明 */
.ae-levels-list {
    display: grid;
    gap: 12px;
    margin: 0;
}

.ae-levels-list > div {
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    align-items: start;
    gap: 20px;
    border: 1px solid #c4d9ff;
    border-radius: 12px;
    padding: 20px;
    background: #fff;
}

.ae-levels-list dt {
    padding-top: 3px;
    color: #064bfa;
    font: 700 16px/1.5 Arial, Helvetica, sans-serif;
}

.ae-levels-list dd {
    margin: 0;
    font-size: 15px;
    line-height: 1.9;
}

.ae-levels-dialog button:focus-visible,
.ae-levels-open:focus-visible {
    outline: 3px solid #064bfa;
    outline-offset: 3px;
}

html.ae-levels-is-open {
    overflow: hidden;
}

/* スマホ・タブレット：余白のある小窓 */
@media (max-width: 780px) {
    .ae-levels-dialog {
        width: calc(100% - 48px);
        height: calc(100dvh - 48px);
        max-height: calc(100dvh - 48px);
        border: 2px solid var(--modal-blue);
        border-radius: 18px;
        background: var(--modal-tint);
        color: var(--modal-ink);
        box-shadow: var(--modal-shadow);
    }

    .ae-levels-dialog__header {
        gap: 12px;
        padding: 18px 16px;
    }

    .ae-levels-dialog .ae-levels-dialog__header h2 {
        font-size: 20px;
    }

    .ae-levels-dialog__close {
        padding: 10px 14px;
    }

    .ae-levels-dialog__body {
        padding: 24px 16px;
    }

    .ae-levels-switch {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ae-levels-list > div {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 18px;
    }
}
/* 118：代表挨拶と共通のトップ見出しルール */
.ae-careers-intro__eyebrow {
    margin: 0 0 24px;
    color: #080b20;
    font: 700 12px/1.6 "Courier New", monospace;
    letter-spacing: 0.08em;
}

@media (max-width: 780px) {
    .ae-careers-intro__eyebrow {
        margin-bottom: 16px;
        font-size: 10px;
        letter-spacing: 0.04em;
    }

    .ae-careers-work-page .ae-careers-intro .ae-careers-intro__english {
        font-size: clamp(28px, 7.5vw, 40px);
        line-height: 1.05;
    }

    .ae-careers-work-page .ae-careers-intro .ae-careers-intro__lead {
        font-size: 14px;
        line-height: 1.75;
        line-break: strict;
        text-wrap: pretty;
    }
}

@media (max-width: 600px) {
    /* 上部の戻るリンク */
    .ae-careers-work-page .ae-careers-return-top {
        width: calc(100% - 32px);
        padding-top: 12px;
    }

    .ae-careers-work-page .ae-careers-return-top a {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
        font-size: 11px;
        line-height: 1.6;
    }

    /* 冒頭の余白と文字 */
    .ae-careers-work-page .ae-careers-intro {
        width: calc(100% - 32px);
        gap: 24px;
        padding: 32px 0 20px;
    }

    .ae-careers-work-page .ae-careers-intro__eyebrow {
        display: none;
    }

    .ae-careers-work-page .ae-careers-intro .ae-careers-intro__english {
        font-size: clamp(28px, 8.5vw, 34px);
        line-height: 1.02;
        letter-spacing: -0.045em;
    }

    .ae-careers-work-page .ae-careers-intro #ae-careers-work-title {
        margin: 4px 0;
        font-size: 18px;
        line-height: 1.4;
    }

    .ae-careers-work-page .ae-careers-intro .ae-careers-intro__lead {
        font-size: 11px;
        line-height: 1.7;
    }

    .ae-careers-work-page .ae-careers-intro__arrow {
        width: 28px;
        height: 28px;
        font-size: 18px;
    }
    .ae-careers-work-page .ae-careers-intro__link {
        grid-template-columns: 24px minmax(0, 1fr) 28px;
        gap: 10px;
        padding: 16px 14px;
    }

    .ae-careers-work-page .ae-careers-intro__number {
        font-size: 18px;
    }

    .ae-careers-work-page .ae-careers-intro__text {
        gap: 4px;
    }

    .ae-careers-work-page .ae-careers-intro__text strong {
        font-size: 14px;
        line-height: 1.5;
    }

    .ae-careers-work-page .ae-careers-intro__text > span {
        font-size: 11px;
        line-height: 1.7;
    }

    .ae-careers-work-page .ae-careers-intro__arrow {
        width: 28px;
        height: 28px;
        font-size: 18px;
    }
}