.mobile-company-main {
    width: 100%;
    background: #ffffff;
}

:root:has(.mobile-company-main) {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    :root:has(.mobile-company-main) {
        scroll-behavior: auto;
    }
}

.mobile-company-section {
    padding: calc(min(100vw, 750px) * 70 / 750) calc(min(100vw, 750px) * 48 / 750) 0;
}

.mobile-company-section--intro {
    padding-top: calc(min(100vw, 750px) * 26 / 750);
}

.mobile-company-section--department {
    padding-top: calc(min(100vw, 750px) * 56 / 750);
    scroll-margin-top: calc(
        var(--mobile-department-header-height) +
        var(--mobile-department-bar-height) +
        min(100vw, 750px) * 16 / 750
    );
}

.mobile-company-section--department + .mobile-company-section--department {
    margin-top: calc(min(100vw, 750px) * 24 / 750);
    border-top: 1px solid #eef1f6;
}

.mobile-company-section__header {
    text-align: center;
}

.mobile-company-section__title {
    color: #171717;
    font-size: calc(min(100vw, 750px) * 46 / 750);
    line-height: 1.18;
    font-weight: 500;
}

.mobile-company-section__subtitle {
    margin-top: calc(min(100vw, 750px) * 18 / 750);
    color: #b3b5bc;
    font-size: calc(min(100vw, 750px) * 18 / 750);
    line-height: 1.3;
    letter-spacing: 0.08em;
}

.mobile-company-section__copy {
    margin-top: calc(min(100vw, 750px) * 44 / 750);
}

.mobile-company-section__company-name {
    color: #1f1f1f;
    font-size: calc(min(100vw, 750px) * 30 / 750);
    line-height: 1.45;
    font-weight: 500;
    text-align: center;
}

.mobile-company-section__text {
    margin-top: calc(min(100vw, 750px) * 24 / 750);
    color: #7e838c;
    font-size: calc(min(100vw, 750px) * 22 / 750);
    line-height: 1.92;
    text-align: justify;
}

.mobile-company-visual {
    position: relative;
    margin-top: calc(min(100vw, 750px) * 42 / 750);
    border-radius: calc(min(100vw, 750px) * 22 / 750);
    overflow: hidden;
}

.mobile-company-visual--analytics {
    background: #f5f7fb;
    box-shadow: 0 calc(min(100vw, 750px) * 18 / 750) calc(min(100vw, 750px) * 44 / 750) rgba(172, 184, 206, 0.18);
}

.mobile-company-visual__photo {
    display: block;
    width: 100%;
    height: auto;
}

.mobile-company-visual__laptop {
    position: relative;
}

.mobile-company-visual__screen {
    position: relative;
    min-height: calc(min(100vw, 750px) * 278 / 750);
    padding: calc(min(100vw, 750px) * 26 / 750);
    border: 1px solid rgba(118, 147, 195, 0.12);
    border-radius: calc(min(100vw, 750px) * 18 / 750);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(241, 247, 255, 0.96) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.9),
        0 calc(min(100vw, 750px) * 10 / 750) calc(min(100vw, 750px) * 24 / 750) rgba(168, 178, 201, 0.16);
}

.mobile-company-visual__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: calc(min(100vw, 750px) * 14 / 750);
}

.mobile-company-visual__stat-card {
    display: block;
    height: calc(min(100vw, 750px) * 42 / 750);
    border-radius: calc(min(100vw, 750px) * 12 / 750);
    background: linear-gradient(135deg, rgba(119, 160, 255, 0.24), rgba(84, 212, 255, 0.12));
}

.mobile-company-visual__chart {
    margin-top: calc(min(100vw, 750px) * 30 / 750);
    height: calc(min(100vw, 750px) * 118 / 750);
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: end;
    gap: calc(min(100vw, 750px) * 12 / 750);
}

.mobile-company-visual__bar {
    display: block;
    border-radius: calc(min(100vw, 750px) * 10 / 750) calc(min(100vw, 750px) * 10 / 750) calc(min(100vw, 750px) * 4 / 750) calc(min(100vw, 750px) * 4 / 750);
    background: linear-gradient(180deg, #7ec8ff 0%, #5d7bff 100%);
}

.mobile-company-visual__bar--1 {
    height: 42%;
}

.mobile-company-visual__bar--2 {
    height: 68%;
}

.mobile-company-visual__bar--3 {
    height: 55%;
}

.mobile-company-visual__bar--4 {
    height: 84%;
}

.mobile-company-visual__bar--5 {
    height: 61%;
}

.mobile-company-visual__line {
    position: relative;
    margin-top: calc(min(100vw, 750px) * 24 / 750);
    height: calc(min(100vw, 750px) * 54 / 750);
}

.mobile-company-visual__line::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: calc(min(100vw, 750px) * 12 / 750);
    background:
        linear-gradient(90deg, transparent 0%, transparent 6%, rgba(111, 141, 248, 0.14) 6%, rgba(111, 141, 248, 0.14) 7%, transparent 7%, transparent 100%),
        linear-gradient(135deg, rgba(102, 212, 255, 0.25), rgba(133, 128, 255, 0.14));
    clip-path: polygon(0 78%, 10% 62%, 21% 68%, 35% 34%, 53% 46%, 66% 20%, 82% 36%, 100% 8%, 100% 100%, 0 100%);
}

.mobile-company-visual__base {
    width: 84%;
    height: calc(min(100vw, 750px) * 14 / 750);
    margin: calc(min(100vw, 750px) * 10 / 750) auto 0;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(188, 198, 220, 0.95) 0%, rgba(142, 156, 188, 0.88) 100%);
    box-shadow: 0 calc(min(100vw, 750px) * 12 / 750) calc(min(100vw, 750px) * 24 / 750) rgba(179, 188, 206, 0.26);
}

:root {
    --mobile-department-header-height: calc(
        clamp(72px, 15.7333vw, 118px) + env(safe-area-inset-top)
    );
    /* 一行 tab：min-height 122 + 上下 padding 各 20 */
    --mobile-department-bar-height: calc(min(100vw, 750px) * 162 / 750);
}

.mobile-company-departments {
    position: sticky;
    top: var(--mobile-department-header-height);
    z-index: 900;
    margin-top: calc(min(100vw, 750px) * 44 / 750);
    padding: calc(min(100vw, 750px) * 20 / 750)
        calc(min(100vw, 750px) * 48 / 750);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: calc(min(100vw, 750px) * 18 / 750);
    background: #ffffff;
}

.mobile-company-departments__item {
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: calc(min(100vw, 750px) * 14 / 750);
    min-height: calc(min(100vw, 750px) * 122 / 750);
    padding: calc(min(100vw, 750px) * 16 / 750) calc(min(100vw, 750px) * 6 / 750);
    border: 0;
    border-radius: calc(min(100vw, 750px) * 22 / 750);
    background: transparent;
    appearance: none;
    font: inherit;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.mobile-company-departments__item.is-active {
    background: #f7f9ff;
    box-shadow: 0 calc(min(100vw, 750px) * 8 / 750) calc(min(100vw, 750px) * 20 / 750) rgba(139, 158, 210, 0.08);
}

.mobile-company-departments__icon {
    display: block;
    width: calc(min(100vw, 750px) * 44 / 750);
    height: calc(min(100vw, 750px) * 44 / 750);
    flex-shrink: 0;
}

.mobile-company-departments__name {
    display: block;
    margin-top: 0;
    color: #464a52;
    font-size: calc(min(100vw, 750px) * 18 / 750);
    line-height: 1.4;
    font-weight: 500;
}

.mobile-company-departments__item.is-active .mobile-company-departments__name {
    color: #252b36;
}

.mobile-company-visual--department-photo {
    background: #f5f7fb;
    box-shadow: 0 calc(min(100vw, 750px) * 18 / 750) calc(min(100vw, 750px) * 44 / 750) rgba(172, 184, 206, 0.18);
}

.mobile-company-visual__department-photo {
    display: block;
    width: 100%;
    height: auto;
}

.mobile-company-visual--keyboard {
    min-height: calc(min(100vw, 750px) * 258 / 750);
    background:
        radial-gradient(circle at 50% 18%, rgba(91, 175, 255, 0.18), transparent 24%),
        linear-gradient(180deg, #0b1220 0%, #111929 100%);
    box-shadow: 0 calc(min(100vw, 750px) * 20 / 750) calc(min(100vw, 750px) * 44 / 750) rgba(18, 25, 41, 0.24);
}

.mobile-company-visual__keyboard-glow {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 74%;
    height: 42%;
    transform: translate(-50%, -42%) perspective(100px) rotateX(12deg);
    border-radius: calc(min(100vw, 750px) * 18 / 750);
    background:
        linear-gradient(90deg, rgba(74, 191, 255, 0.95) 0%, rgba(104, 143, 255, 0.95) 22%, rgba(210, 102, 255, 0.95) 48%, rgba(255, 169, 87, 0.95) 74%, rgba(86, 228, 177, 0.92) 100%);
    filter: blur(calc(min(100vw, 750px) * 2 / 750));
    opacity: 0.9;
}

.mobile-company-visual__keyboard-grid {
    position: absolute;
    inset: auto 14% 16% 14%;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: calc(min(100vw, 750px) * 10 / 750);
}

.mobile-company-visual__keyboard-grid span {
    display: block;
    height: calc(min(100vw, 750px) * 18 / 750);
    border-radius: calc(min(100vw, 750px) * 6 / 750);
    background: rgba(255, 255, 255, 0.14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.mobile-company-partners {
    padding: calc(min(100vw, 750px) * 76 / 750) calc(min(100vw, 750px) * 48 / 750) calc(min(100vw, 750px) * 88 / 750);
}

.mobile-company-partners__header {
    text-align: center;
}

.mobile-company-partners__title {
    color: #1f1f1f;
    font-size: calc(min(100vw, 750px) * 40 / 750);
    line-height: 1.2;
    font-weight: 500;
}

.mobile-company-partners__subtitle {
    margin-top: calc(min(100vw, 750px) * 18 / 750);
    color: #b3b5bc;
    font-size: calc(min(100vw, 750px) * 18 / 750);
    line-height: 1.3;
    letter-spacing: 0.08em;
}

.mobile-company-partners__grid {
    margin-top: calc(min(100vw, 750px) * 40 / 750);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(min(100vw, 750px) * 18 / 750);
}

.mobile-company-partner-card {
    display: block;
    border: 1px solid #dbe3f2;
    border-radius: calc(min(100vw, 750px) * 18 / 750);
    background: #ffffff;
    overflow: hidden;
    box-shadow: 0 calc(min(100vw, 750px) * 10 / 750) calc(min(100vw, 750px) * 26 / 750) rgba(186, 194, 209, 0.14);
    color: inherit;
    text-decoration: none;
}

.mobile-company-partner-card__visual {
    background: linear-gradient(180deg, #f5f9ff 0%, #eef4ff 100%);
}

.mobile-company-partner-card__visual--brand {
    min-height: calc(min(100vw, 750px) * 188 / 750);
    display: flex;
    align-items: center;
    justify-content: center;
}

.mobile-company-partner-card__image {
    display: block;
    width: 100%;
    height: calc(min(100vw, 750px) * 176 / 750);
    object-fit: cover;
}

.mobile-company-partner-card__brand-logo {
    width: calc(min(100vw, 750px) * 92 / 750);
    height: auto;
    object-fit: contain;
}

.mobile-company-partner-card__body {
    padding: calc(min(100vw, 750px) * 18 / 750) calc(min(100vw, 750px) * 16 / 750) calc(min(100vw, 750px) * 18 / 750);
}

.mobile-company-partner-card__name {
    color: #1f1f1f;
    font-size: calc(min(100vw, 750px) * 24 / 750);
    line-height: 1.35;
    font-weight: 600;
}

.mobile-company-partner-card__text {
    margin-top: calc(min(100vw, 750px) * 10 / 750);
    color: #7d828b;
    font-size: calc(min(100vw, 750px) * 18 / 750);
    line-height: 1.65;
    min-height: calc(min(100vw, 750px) * 90 / 750);
}

.mobile-company-partner-card__footer {
    margin-top: calc(min(100vw, 750px) * 12 / 750);
    display: flex;
    align-items: center;
    gap: calc(min(100vw, 750px) * 8 / 750);
}

.mobile-company-partner-card__logo {
    width: calc(min(100vw, 750px) * 38 / 750);
    height: calc(min(100vw, 750px) * 58 / 750);
    flex-shrink: 0;
    object-fit: contain;
}

.mobile-company-partner-card__logo--empty {
    display: block;
}

.mobile-company-partner-card__link-text {
    margin-left: auto;
    color: #6a7079;
    font-size: calc(min(100vw, 750px) * 18 / 750);
    line-height: 1.2;
}

.mobile-company-partner-card__arrow {
    width: calc(min(100vw, 750px) * 16 / 750);
    height: auto;
    flex-shrink: 0;
}
