/* ===== Section common ===== */
body{
    padding-top:0;
}
/* ===== Section stacking ===== */
.p-top__about      { z-index:2; }
.p-top__numbers    { z-index:3; }
.p-top__voice      { z-index:4; }
.p-top__culture    { z-index:5; }
.p-top__jobs       { z-index:6; }
.p-top__work-photo { z-index:7; }
.p-top__work       { z-index:8; }
.c-entry      { z-index:9; min-height:calc(100svh - 172px); }

@media(max-width:896px){
    .c-entry
    { z-index:9; min-height:calc(100svh - 100px); }
}
.p-top__sec-head{
    padding:100px 0 50px;
    border-bottom:1px solid var(--c-blue);
}
.p-top__work .p-top__sec-head{
    border-color:var(--c-white);
}
.p-top__sec-head--light .p-top__sec-label,
.p-top__sec-head--light .p-top__sec-h2{
    color:var(--c-white);
}
.p-top__sec-title{
    max-width:var(--wrap-max);
    margin-inline:auto;
    display:flex;
    flex-direction:column;
    gap:20px;
}
.p-top__sec-label{
    font-family:var(--f-en);
    font-weight:500;
    font-size:1.25rem;
    line-height:1;
    color:var(--c-blue);
    text-transform:uppercase;
}
.p-top__sec-h2{
    font-family:var(--f-serif);
    font-weight:500;
    font-size:2.5rem;
    line-height:1.15;
    color:var(--c-blue);
}
.p-top__sec-h2--light{
    color:var(--c-white);
}
.p-top__sec-cta{
    padding:50px 0 300px;
}

/* ===== Lead (shared across sections) ===== */
.p-top__about-lead,
.p-top__numbers-lead,
.p-top__culture-lead,
.p-top__jobs-lead,
.p-top__work-lead{
    display:flex;
    gap:0 100px;
    padding:100px 100px;
    position:relative;
}
.p-top__about-lead:before,
.p-top__numbers-lead:before,
.p-top__voice-top:before,
.p-top__culture-lead:before,
.p-top__jobs-lead:before,
.p-top__work-lead:before {
    content:'';
    display:block;
    width:1px;
    height:100%;
    position:absolute;
    left:40px;
    top:0;
    background:var(--c-blue);
    z-index:1;
}
.p-top__work-lead:before {
    background:var(--c-white);
}
.p-top__about-lead-left,
.p-top__numbers-lead-left,
.p-top__culture-lead-left,
.p-top__jobs-lead-left,
.p-top__work-lead-left{
    align-self:start;
}
.p-top__about-box {
    width:400px;
}
.p-top__about-sub,
.p-top__numbers-lead-ttl,
.p-top__culture-lead-ttl,
.p-top__jobs-lead-ttl,
.p-top__work-lead-ttl{
    font-family:var(--f-serif);
    font-weight:500;
    font-size:1.875rem;
    line-height:1.53;
    color:var(--c-black);
}
.p-top__work-lead-ttl--light{
    color:var(--c-white);
}
.p-top__about-body,
.p-top__numbers-lead-desc,
.p-top__culture-lead-desc,
.p-top__jobs-lead-desc,
.p-top__work-lead-desc{
    font-size:1rem;
    line-height:1.87;
    color:var(--c-black);
}
.p-top__work-lead-desc--light{
    color:rgba(255,255,255,.85);
}

/* ===== About ===== */
.p-top__about{
    background:var(--c-ivory);
    padding-bottom:0;
}
.p-top__about-cards-list{
    display:flex;
    gap:30px;
}
.p-top__about-cards-item{
    width:calc((100% - 30px * 2) / 3);
}
.p-top__about-card{
    background:var(--c-blue);
    display:block;
    position:relative;
    width:100%;
    height:278px;
    overflow:hidden;
}
.p-top__about-card-img{
    position:absolute;
    inset:0;
}
.p-top__about-card-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s var(--ease), opacity .25s;
}
.p-top__about-card:is(:hover, :focus-visible) .p-top__about-card-img img{
    transform:scale(1.04);
    opacity:.8;
}
.p-top__about-card:focus-visible{
    outline:none;
    box-shadow:inset 0 0 0 2px var(--c-white);
}
.p-top__about-card-arrow{
    position:absolute;
    top:0;
    right:0;
    overflow:hidden;
    isolation:isolate;
    width:50px;
    height:50px;
    background:var(--c-ivory);
    display:flex;
    justify-content:center;
    align-items:center;
}
.p-top__about-card-arrow::before{
    content:'';
    position:absolute;
    inset:0;
    z-index:-1;
    background:var(--c-blue);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .35s var(--ease);
}
.p-top__about-card-arrow img{
    transition:filter .35s var(--ease);
}
.p-top__about-card-info{
    position:absolute;
    left:0;
    right:0;
    bottom:20px;
    display:flex;
    flex-direction:column;
}
.p-top__about-card-ttl{
    font-family:var(--f-a1gothic);
    font-weight:500;
    font-size:1.375rem;
    line-height:1;
    color:var(--c-black);
}
.p-top__about-card-desc{
    font-family:var(--f-a1gothic);
    font-weight:400;
    font-size:1rem;
    line-height:1;
    color:var(--c-black);
    margin-top:7px;
}
.p-top__about-card-line {
    background:var(--c-ivory);
    padding:10px;
    display:inline-block;
}
.p-top__about-card-line--ls-tighter {
    letter-spacing:-.06em;
}
.p-top__about-cards-item:is(:hover, :has(:focus-visible)) .p-top__about-card-arrow::before{
    transform:scaleX(1);
}
.p-top__about-cards-item:is(:hover, :has(:focus-visible)) .p-top__about-card-arrow img{
    filter:var(--filter-white);
}

/* ===== Numbers ===== */
.p-top__numbers{
    background:var(--c-ivory);
}
.p-top__numbers-stats{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
}
.p-top__numbers-photo{
    position:relative;
    overflow:hidden;
}
.p-top__numbers-photo picture{
    display:block;
    height:100%;
}
.p-top__numbers-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.p-top__numbers-photo-caption{
    position:absolute;
    top:50%;
    left:50px;
    transform:translateY(-50%);
    font-family:var(--f-a1gothic);
    font-weight:500;
    font-size:1.875rem;
    line-height:1.65;
    color:var(--c-ivory);
}
.p-top__numbers-figures{
    display:flex;
    flex-direction:column;
}
.p-top__numbers-item{
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:50px;
    height:140px;
    padding:0 50px;
    flex:1;
}
.p-top__numbers-item--blue{
    background:var(--c-blue);
    color:var(--c-white);
}
.p-top__numbers-item--ivory{
    background:var(--c-ivory);
    color:var(--c-blue);
}
.p-top__numbers-item-left{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:10px;
    flex-shrink:0;
    width:160px;
}
.p-top__numbers-item-num{
    display:flex;
    align-items:baseline;
    gap:2px;
    line-height:1;
}
.p-top__numbers-val{
    font-family:var(--f-en);
    font-weight:400;
    font-size:3.75rem;
    line-height:1;
}
.p-top__numbers-unit{
    font-family:var(--f-en);
    font-weight:400;
    font-size:1.25rem;
    line-height:1;
}
.p-top__numbers-item-label{
    font-family:var(--f-a1gothic);
    font-weight:500;
    font-size:0.875rem;
    letter-spacing:.03em;
    line-height:1;
}
.p-top__numbers-item-desc{
    font-family:var(--f-a1gothic);
    font-weight:400;
    font-size:1rem;
    line-height:1.875;
    letter-spacing:.03em;
}
.p-top__voice-body{
    margin-top:100px;
}

/* ===== Voice ===== */
.p-top__voice{
    background:var(--c-gray1);
}
.p-top__voice-top{
    display:flex;
    gap:0 100px;
    padding:100px 0 100px 100px;
    position:relative;
}
.p-top__voice-bottom{
    overflow:hidden;
}
.p-top__voice-stats{
    width:calc(100% - 500px);
    height:230px;
    display:grid;
    grid-template-columns:1fr 1fr;
    overflow:hidden;
}
.p-top__voice-stat{
    display:flex;
    flex-direction:column;
    justify-content:center;
    width:100%;
    text-align:center;
    background:var(--c-white);
    border-radius:0 10px 10px 0;
}
.p-top__voice-stat--filled{
    background:var(--c-blue);
    border-color:var(--c-blue);
    border-radius:10px 0 0 10px;
}
.p-top__voice-stat-num{
    display:flex;
    align-items:baseline;
    justify-content:center;
    gap:2px;
    margin-bottom:38px;
}
.p-top__voice-stat:not(.p-top__voice-stat--filled) .p-top__numbers-val,
.p-top__voice-stat:not(.p-top__voice-stat--filled) .p-top__numbers-unit{
    color:var(--c-blue);
}
.p-top__voice-stat--filled .p-top__numbers-val,
.p-top__voice-stat--filled .p-top__numbers-unit{
    color:var(--c-white);
}
.p-top__voice-stat-label{
    font-size:1rem;
    line-height:1.62;
    color:var(--c-black);
    font-family:var(--f-a1gothic);
    font-weight:400;
}
.p-top__voice-stat--filled .p-top__voice-stat-label{
    color:rgba(255,255,255,.85);
}
.p-top__voice-slider{
    margin-left:100px;
    overflow-x:auto;
    scrollbar-width:none;
    padding-bottom:50px;
}
.p-top__voice-slider::-webkit-scrollbar{
    display:none;
}
.p-top__voice-scrollbar{
    position:relative;
    margin-left:100px;
    width:calc(100% - 100px);
    height:10px;
    background:var(--c-gray1);
    border-radius:30px;
    cursor:pointer;
}
.p-top__voice-scrollbar.is-hidden{
    visibility:hidden;
}
.p-top__voice-scrollbar-thumb{
    position:absolute;
    top:0;
    left:0;
    height:100%;
    background:var(--c-scrollbar-thumb);
    border-radius:30px;
    cursor:grab;
}
.p-top__voice-scrollbar-thumb:active{
    cursor:grabbing;
}
.p-top__voice-list {
    display:flex;
    gap:30px;
}
.p-top__voice-item {
    width:460px;
    flex-shrink:0;
}
.p-top__voice-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:0 30px;
    height:130px;
    background:var(--c-white);
    transition:color .35s var(--ease);
    position:relative;
    overflow:hidden;
    isolation:isolate;
}
.p-top__voice-card::before{
    content:'';
    position:absolute;
    inset:0;
    z-index:-1;
    background:var(--c-blue);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .35s var(--ease);
}
.p-top__voice-card:is(:hover, :focus-visible)::before{
    transform:scaleX(1);
}
.p-top__voice-card:is(:hover, :focus-visible) .p-top__voice-card-text{
    color:var(--c-white);
}
.p-top__voice-card-text:before{
    transition:filter .35s var(--ease);
}
.p-top__voice-card:is(:hover, :focus-visible) .p-top__voice-card-text:before{
    filter:var(--filter-white);
}
.p-top__voice-card:focus-visible{
    outline:none;
    box-shadow:inset 0 0 0 2px var(--c-blue);
}
.p-top__voice-card-text{
    font-family:var(--f-serif);
    font-weight:500;
    font-size:1.375rem;
    line-height:1.545;
    color:var(--c-black);
}
.p-top__voice-card-text:before {
    content:'';
    display:block;
    width:10px;
    height:32px;
    position:absolute;
    right:30px;
    top:50%;
    margin-top:-16px;
    background:url(../svg/arrow-right3.svg) no-repeat center / 100% auto;
    z-index:1;
}
/* ===== Culture ===== */
.p-top__culture{
    background:var(--c-gray1);
}

/* ===== Jobs ===== */
.p-top__jobs{
    background:var(--c-ivory);
}
.p-top__jobs-list{
    padding-bottom:0;
}
.p-top__jobs-box{
    border-bottom:1px solid var(--c-blue);
}
.p-top__jobs-box:first-child{
    border-top:1px solid var(--c-blue);
}
.p-top__jobs-item{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    height:130px;
}
.p-top__jobs-item::before{
    content:'';
    position:absolute;
    inset:0;
    z-index:-1;
    background:var(--c-white);
    transform:scaleY(0);
    transform-origin:top;
    transition:transform .35s var(--ease);
}
.p-top__jobs-item:is(:hover, :focus-visible)::before{
    transform:scaleY(1);
}
.p-top__jobs-item:focus-visible{
    outline:none;
    box-shadow:inset 0 0 0 2px var(--c-blue);
}
.p-top__jobs-item-body{
    display:flex;
    flex-direction:column;
    gap:14px;
}
.p-top__jobs-item-en{
    font-family:var(--f-en);
    font-size:0.875rem;
    line-height:1.2;
    font-weight:500;
    color:var(--c-blue);
    text-transform:uppercase;
}
.p-top__jobs-item-jp{
    font-family:var(--f-serif);
    font-size:1.25rem;
    line-height:1.2;
    font-weight:500;
    color:var(--c-black);
}
.p-top__jobs-item-desc{
    font-size:1rem;
    line-height:1.2;
    color:var(--c-black);
}
.p-top__jobs-item img{
    flex-shrink:0;
}

/* ===== Work photo ===== */
.p-top__work-photo{
    overflow:hidden;
    max-height:810px;
}
.p-top__work-photo img{
    width:100%;
    height:100%;
    aspect-ratio:1440 / 811;
    object-fit:cover;
    object-position:center 40%;
    display:block;
}

/* ===== Work ===== */
.p-top__work{
    background:var(--c-blue);
}
.p-top__work-stats{
    padding-bottom:0;
    display:flex;
    flex-direction:column;
    gap:30px;
    max-width:1248px;
    margin:0 auto;
}
.p-top__work-grid{
    display:flex;
    gap:30px;
    justify-content:center;
}
.p-top__work-stat{
    background:var(--c-white);
    flex:1;
    min-height:214px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.p-top__work-stat-num{
    display:flex;
    align-items:baseline;
    justify-content:center;
    gap:0;
    line-height:1;
}
.p-top__work-stat-num--mg-left{
    margin-left:-12px;
}
.p-top__work-stat-num .p-top__numbers-val{
    font-family:var(--f-en);
    font-weight:400;
    font-size:6.25rem;
    line-height:1;
    color:var(--c-blue);
}
.p-top__work-stat-val--ls-tight{
    letter-spacing:-.02em;
}
.p-top__work-stat-val--ls-tighter{
    letter-spacing:-.08em;
}
.p-top__work-stat-val--sep-left{
    padding:0 0 0 .09em;
}
.p-top__work-stat-val--ls-compact{
    letter-spacing:-.05em;
}
.p-top__work-stat-val--sep-inline{
    padding:0 .2em;
}
.p-top__work-stat-num .p-top__numbers-unit{
    font-family:var(--f-en);
    font-size:1.25rem;
    line-height:1;
    color:var(--c-blue);
    padding-left:.2em;
}
.p-top__work-stat-num--sm .p-top__numbers-val{
    font-size:3rem;
}
.p-top__work-stat-label{
    font-family:var(--f-a1gothic);
    font-size:1.5rem;
    font-weight:500;
    color:var(--c-black);
    line-height:1.4;
    margin-top:2px;
}
.p-top__work-stat-label-sub{
    display:inline;
    font-size:inherit;
    color:inherit;
    font-weight:inherit;
}
.p-top__work-stat-tag{
    display:inline-block;
    font-family:var(--f-a1gothic);
    font-size:1.125rem;
    color:var(--c-blue);
    background:none;
    border:1px solid var(--c-blue);
    padding:5px 8px;
    line-height:1;
    margin-top:10px;
    font-weight:400;
}
.p-top__work-stat--padded-top{
    padding-top:28px;
}
.p-top__work-stat-label--spaced-top{
    margin-top:24px;
}
.p-top__work-extra{
    background:var(--c-white);
    border-top:1px solid var(--c-gray2);
    border-bottom:1px solid var(--c-gray2);
    min-height:120px;
    padding:30px 0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:14px;
    text-align:center;
}
.p-top__work-extra-ttl{
    font-family:var(--f-a1gothic);
    font-size:1.875rem;
    font-weight:500;
    line-height:1;
    color:var(--c-blue);
}
.p-top__work-extra-desc{
    font-family:var(--f-a1gothic);
    font-size:1.5rem;
    font-weight:400;
    color:var(--c-black);
    line-height:1;
}
@media(min-width:1440px){
    .p-top__sec-head{
        padding:6.944vw 0 3.472vw;
    }
    .p-top__sec-label{
        font-size:1.389vw;
    }
    .p-top__sec-h2{
        font-size:2.778vw;
    }
    .p-top__sec-cta{
        padding:3.472vw 0 20.833vw;
    }
    .p-top__sec-cta .c-btn-line{
        max-width:25.139vw;
        height:4.861vw;
        font-size:1.111vw;
        padding:0 1.389vw;
    }
    .p-top__sec-cta .c-btn-line img{
        width:1.25vw;
        height:1.25vw;
    }

    /* ===== Lead (shared across sections) ===== */
    .p-top__about-lead,
    .p-top__numbers-lead,
    .p-top__culture-lead,
    .p-top__jobs-lead,
    .p-top__work-lead{
        gap:0 6.944vw;
        padding:6.944vw 6.944vw;
    }
    .p-top__about-lead:before,
    .p-top__numbers-lead:before,
    .p-top__voice-top:before,
    .p-top__culture-lead:before,
    .p-top__jobs-lead:before,
    .p-top__work-lead:before {
        left:2.778vw;
    }
    .p-top__about-box {
        width:27.778vw;
    }
    .p-top__about-sub,
    .p-top__numbers-lead-ttl,
    .p-top__culture-lead-ttl,
    .p-top__jobs-lead-ttl,
    .p-top__work-lead-ttl{
        font-size:2.083vw;
    }
    .p-top__about-body,
    .p-top__numbers-lead-desc,
    .p-top__culture-lead-desc,
    .p-top__jobs-lead-desc,
    .p-top__work-lead-desc{
        font-size:1.111vw;
    }
    .p-top__about-card{
        height:19.306vw;
    }
    .p-top__about-card-arrow{
        width:3.472vw;
        height:3.472vw;
    }
    .p-top__about-card-arrow img{
        width:0.694vw;
        height:1.528vw;
    }
    .p-top__about-card-info{
        bottom:1.389vw;
    }
    .p-top__about-card-ttl{
        font-size:1.528vw;
    }
    .p-top__about-card-desc{
        font-size:1.111vw;
        margin-top:0.486vw;
    }
    .p-top__about-card-line {
        padding:0.694vw;
    }

    /* ===== Numbers ===== */
    .p-top__numbers-photo-caption{
        left:3.472vw;
        font-size:2.083vw;
    }
    .p-top__numbers-item{
        gap:3.472vw;
        height:9.722vw;
        padding:0 3.472vw;
    }
    .p-top__numbers-item-left{
        gap:0.694vw;
        width:11.111vw;
    }
    .p-top__numbers-item-num{
        gap:0.139vw;
    }
    .p-top__numbers-val{
        font-size:4.167vw;
    }
    .p-top__numbers-unit{
        font-size:1.389vw;
    }
    .p-top__numbers-item-label{
        font-size:0.972vw;
    }
    .p-top__numbers-item-desc{
        font-size:1.111vw;
    }

    /* ===== Voice ===== */
    .p-top__voice-top{
        gap:0 6.944vw;
        padding:6.944vw 0 6.944vw 6.944vw;
    }
    .p-top__voice-body{
        margin-top:6.944vw;
    }
    .p-top__voice-stats{
        width:calc(100% - 34.722vw);
        height:15.972vw;
    }
    .p-top__voice-stat{
        border-radius:0 0.694vw 0.694vw 0;
    }
    .p-top__voice-stat--filled{
        border-radius:0.694vw 0 0 0.694vw;
    }
    .p-top__voice-stat-num{
        gap:0.139vw;
        margin-bottom:2.639vw;
    }
    .p-top__voice-stat-label{
        font-size:1.111vw;
    }
    .p-top__voice-slider{
        margin-left:6.944vw;
        padding-bottom:3.472vw;
    }
    .p-top__voice-scrollbar{
        margin-left:6.944vw;
        width:calc(100% - 6.944vw);
        height:0.694vw;
    }
    .p-top__voice-list {
        gap:2.083vw;
    }
    .p-top__voice-item {
        width:31.944vw;
    }
    .p-top__voice-card{
        gap:1.389vw;
        padding:0 2.083vw;
        height:9.028vw;
    }
    .p-top__voice-card-text{
        font-size:1.389vw;
    }
    .p-top__voice-card-text:before {
        width:0.694vw;
        height:2.222vw;
        right:2.083vw;
        margin-top:-1.111vw;
    }
    /* ===== Jobs ===== */
    .p-top__jobs-item{
        gap:1.042vw;
        height:9.028vw;
    }
    .p-top__jobs-item-body{
        gap:0.972vw;
    }
    .p-top__jobs-item-en{
        font-size:0.972vw;
    }
    .p-top__jobs-item-jp{
        font-size:1.389vw;
    }
    .p-top__jobs-item-desc{
        font-size:1.111vw;
    }

    /* ===== Work ===== */
    .p-top__work-stats{
        max-width:86.667vw;
    }
    .p-top__work-stat{
        min-height:14.861vw;
    }
    .p-top__work-stat-num--mg-left{
        margin-left:-0.833vw;
    }
    .p-top__work-stat-num .p-top__numbers-val{
        font-size:6.944vw;
    }
    .p-top__work-stat-num .p-top__numbers-unit{
        font-size:1.389vw;
    }
    .p-top__work-stat-num--sm .p-top__numbers-val{
        font-size:3.333vw;
    }
    .p-top__work-stat-label{
        font-size:1.667vw;
        margin-top:0.139vw;
    }
    .p-top__work-stat-tag{
        font-size:1.25vw;
        padding:0.347vw 0.556vw;
        margin-top:0.694vw;
    }
    .p-top__work-stat--padded-top{
        padding-top:1.944vw;
    }
    .p-top__work-stat-label--spaced-top{
        margin-top:1.667vw;
    }
    .p-top__work-extra{
        min-height:8.333vw;
        padding:2.083vw 0;
        gap:0.972vw;
    }
    .p-top__work-extra-ttl{
        font-size:2.083vw;
    }
    .p-top__work-extra-desc{
        font-size:1.667vw;
    }
}
@media(min-width:896px) and (max-width:1400px) {
    .p-top__sec-head {
        padding-left:40px;
        padding-right:40px;
    }
    .p-top__sec-cta .c-btn-line {
        margin:0 auto;
    }
    .p-top__numbers-stats {
        display:block;
    }
    .p-top__numbers-photo {
        max-height:422px;
    }
    .p-top__numbers-item {
        padding:40px 50px;
    }
    .p-top__voice-top {
        display:block;
        padding:0;
    }
    .p-top__about-box {
        width:100%;
        display:flex;
        gap:0 100px;
        padding:100px 100px;
    }
    .p-top__voice-body {
        margin-top:0;
    }
    .p-top__voice-stats {
        width:calc(100% - 60px);
        margin:0 auto;
    }
    .p-top__voice-slider {
        margin-left:40px;
        padding-bottom:50px;
        margin-top:50px;
    }
    .p-top__voice-scrollbar{
        margin-left:40px;
        width:calc(100% - 40px);
    }
    .p-top__work-photo img {
        max-height:411px;
    }
    .p-top__work-stats {
        padding:0 40px;
        gap:20px;
    }
    .p-top__work-grid {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:20px;
    }
}
@media(min-width:1024px) and (max-width:1400px) {
    .p-top__about-card-ttl {
        font-size:1.571vw;
    }
    .p-top__about-card-desc {
        font-size:1.143vw;
    }
}
@media(min-width:896px) and (max-width:1024px) {
    .p-top__about-lead,
    .p-top__numbers-lead,
    .p-top__culture-lead,
    .p-top__jobs-lead,
    .p-top__work-lead,
    .p-top__about-box {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:0 40px;
        padding:80px 80px;
    }
    .p-top__about-cards-list {
        flex-wrap:wrap;
        gap:20px;
    }
    .p-top__about-cards-item {
        width:100%;
    }
}
/* ===== Responsive ===== */
@media(max-width:896px){
    /* ===== Section common ===== */
    .p-top__sec-head{
        padding:70px 20px 30px;
    }
    .p-top__sec-cta{
        padding:40px 20px 140px;
    }
    .p-top__sec-title {
        gap:20px;
    }
    .p-top__sec-h2{
        font-size:2.5rem;
    }
    .p-top__sec-cta .c-btn-line{
        font-size:0.875rem;
    }
    /* ===== Lead ===== */
    .p-top__about-lead,
    .p-top__numbers-lead,
    .p-top__culture-lead,
    .p-top__jobs-lead,
    .p-top__work-lead{
        display:flex;
        flex-direction:column;
        gap:30px;
        padding:40px 20px 50px 64px;
    }
    /* ===== About ===== */
    .p-top__about-sub,
    .p-top__numbers-lead-ttl,
    .p-top__culture-lead-ttl,
    .p-top__jobs-lead-ttl,
    .p-top__work-lead-ttl{
        font-size:1.875rem;
        line-height:1.53;
    }
    .p-top__about-body,
    .p-top__numbers-lead-desc,
    .p-top__culture-lead-desc,
    .p-top__jobs-lead-desc,
    .p-top__work-lead-desc{
        font-size:0.875rem;
        line-height:1.85;
    }
    .p-top__about-cards-list{
        padding:0 20px;
        flex-wrap:wrap;
        gap:20px;
    }
    .p-top__about-cards-item {
        width:100%;
    }
    .p-top__about-card {
        height:100%;
        max-height:256px;
        aspect-ratio:181 / 128;
    }
    .p-top__about-card-arrow {
        width:44px;
        height:44px;
    }
    .p-top__about-card-line {
        background:var(--c-ivory);
        padding:7px 10px;
        display:inline-block;
    }
    .p-top__about-card-ttl {
        font-size:1.25rem;
    }
    .p-top__about-card-desc {
        font-size:0.875rem;
        margin-top:8px;
    }
    /* ===== Numbers ===== */
    .p-top__numbers-stats{
        grid-template-columns:1fr;
    }
    .p-top__numbers-photo{
        width:100%;
        height:100%;
        aspect-ratio:201 / 142;
    }
    .p-top__numbers-photo-caption{
        font-size:1.25rem;
        top:auto;
        bottom:40px;
        left:20px;
        transform:none;
        line-height:1.6;
    }
    .p-top__numbers-item{
        height:auto;
        padding:18px 20px;
        gap:10px;
    }
    .p-top__numbers-item-left{
        width:136px;
    }
    .p-top__numbers-val{
        font-size:3rem;
    }
    .p-top__numbers-unit{
        font-size:1.125rem;
    }
    .p-top__numbers-item-desc{
        font-size:0.875rem;
    }
    /* ===== Voice ===== */
    .p-top__voice-top{
        display:block;
        padding:0;
    }
    .p-top__about-box {
        display:block;
        width:100%;
        padding:40px 20px 50px 64px;
    }
    .p-top__voice-top .p-top__about-sub {
        letter-spacing:-.08em;
    }
    .p-top__voice-body{
        margin-top:30px;
    }
    .p-top__voice-stats{
        width:calc(100% - 40px);
        margin:0 auto;
        height:130px;
    }
    .p-top__voice-stat--filled{
        flex:0 0 181px;
        padding:25px 33px;
    }
    .p-top__voice-stat{
        flex:1;
        padding:9px 0;
    }
    .p-top__voice-stat-num{
        margin-bottom:6px;
    }
    .p-top__voice-stat-num .p-top__numbers-val{
        font-size:3.75rem;
    }
    .p-top__voice-stat-num .p-top__numbers-unit{
        font-size:1.25rem;
    }
    .p-top__voice-stat-label{
        font-size:0.875rem;
    }
    .p-top__voice-slider {
        margin-left:20px;
        padding-bottom:30px;
        padding-top:20px;
    }
    .p-top__voice-scrollbar{
        margin-left:20px;
        width:calc(100% - 20px);
        height:6px;
    }
    .p-top__voice-list {
        gap:20px;
    }
    .p-top__voice-item {
        width:220px;
    }
    .p-top__voice-card {
        padding:0 15px;
        height:80px;
    }
    .p-top__voice-card-text{
        font-size:1.25rem;
        line-height:1.5;
    }
    .p-top__voice-card-text:before {
        width:6px;
        height:12px;
        right:8px;
        margin-top:-6px;
    }
    /* ===== Jobs ===== */
    .p-top__jobs-list{
        padding:0 20px;
    }
    .p-top__jobs-item{
        height:130px;
        padding:0;
    }
    .p-top__jobs-item-body{
        gap:8px;
    }
    .p-top__jobs-item-en {
        font-size:0.875rem;
    }
    .p-top__jobs-item-jp {
        font-size:1.25rem;
    }
    .p-top__jobs-item-desc{
        font-size:0.875rem;
        line-height:1.7;
    }
    /* ===== Work ===== */
    .p-top__work-photo{
        max-height:240px;
    }
    .p-top__work-photo img{
        width:100%;
        height:100%;
        aspect-ratio:201 / 142;
    }
    .p-top__work-stats {
        gap:20px;
        padding:0 20px;
    }
    .p-top__work-grid{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:20px;
    }
    .p-top__work-stat{
        flex:unset;
        padding:0;
        min-height:128px;
        text-align:center;
        align-items:center;
        justify-content:center;
    }
    .p-top__work-stat-num{
        justify-content:center;
        gap:0;
    }
    .p-top__work-stat-num .p-top__numbers-val{
        font-size:3.75rem;
    }
    .p-top__work-stat-num--sm .p-top__numbers-val{
        font-size:1.75rem;
    }
    .p-top__work-stat-num .p-top__numbers-unit{
        font-size:1.25rem;
    }
    .p-top__work-stat-label{
        font-size:0.875rem;
        line-height:1;
        margin-top:4px;
    }
    .p-top__work-stat-tag{
        font-size:0.625rem;
        padding:3px 4px;
        margin-top:8px;
    }
    .p-top__work-stat-label--spaced-top{
        margin-top:10px;
    }
    .p-top__work-extra{
        min-height:unset;
        height:80px;
        gap:10px;
        padding:0;
    }
    .p-top__work-extra-ttl{
        font-size:1.25rem;
    }
    .p-top__work-extra-desc{
        font-size:0.875rem;
    }
}

@media(max-width:375px){
    .p-top__sec-label {
        font-size:4.8vw;
    }
    .p-top__sec-h2 {
        font-size:10.133vw;
    }
    .p-top__about-lead, .p-top__numbers-lead, .p-top__culture-lead, .p-top__jobs-lead, .p-top__work-lead {
        gap:8vw;
        padding:10.667vw 5.333vw 13.333vw 17.067vw;
    }
    .p-top__about-lead:before, .p-top__numbers-lead:before, .p-top__voice-top:before, .p-top__culture-lead:before, .p-top__jobs-lead:before, .p-top__work-lead:before {
        left:10.667vw;
    }
    .p-top__about-sub,
    .p-top__numbers-lead-ttl,
    .p-top__culture-lead-ttl,
    .p-top__jobs-lead-ttl,
    .p-top__work-lead-ttl{
        font-size:7.6vw;
    }
    .p-top__about-body,
    .p-top__numbers-lead-desc,
    .p-top__culture-lead-desc,
    .p-top__jobs-lead-desc,
    .p-top__work-lead-desc{
        font-size:3.733vw;
    }
    .p-top__about-card-line {
        padding:1.867vw 2.667vw;
    }
    .p-top__about-card-ttl {
        font-size:5.333vw;
    }
    .p-top__about-card-desc {
        font-size:3.733vw;
        margin-top:2.133vw;
    }
    /* ===== Numbers ===== */
    .p-top__numbers-item{
        padding:4.8vw 5.333vw;
        gap:2.667vw;
    }
    .p-top__numbers-item-left{
        width:36.267vw;
    }
    .p-top__numbers-val{
        font-size:12.8vw;
    }
    .p-top__numbers-unit{
        font-size:4.8vw;
    }
    .p-top__numbers-item-desc{
        font-size:3.733vw;
    }
    /* ===== Voice ===== */
    .p-top__about-box {
        padding:10.667vw 5.333vw 13.333vw 17.067vw;
    }
    .p-top__voice-body{
        margin-top:8vw;
    }
    .p-top__voice-stats{
        width:calc(100% - 10.667vw);
        height:34.667vw;
    }
    .p-top__voice-stat--filled{
        flex:0 0 48.267vw;
        padding:6.667vw 8.8vw;
    }
    .p-top__voice-stat{
        padding:2.4vw 0;
    }
    .p-top__voice-stat-num{
        margin-bottom:1.6vw;
    }
    .p-top__voice-stat-num .p-top__numbers-val{
        font-size:14.933vw;
    }
    .p-top__voice-stat-num .p-top__numbers-unit{
        font-size:5.333vw;
    }
    .p-top__voice-stat-label{
        font-size:3.733vw;
    }
    .p-top__voice-card {
        padding:0 4vw;
    }
    .p-top__voice-card-text{
        font-size:3.733vw;
    }
    /* ===== Jobs ===== */
    .p-top__jobs-item-en {
        font-size:3.733vw;
    }
    .p-top__jobs-item-jp {
        font-size:5.333vw;
    }
    .p-top__jobs-item-desc{
        font-size:3.733vw;
    }
    /* ===== Work ===== */
    .p-top__work-stats {
        gap:5.333vw;
        padding:0 5.333vw;
    }
    .p-top__work-grid{
        gap:5.333vw;
    }
    .p-top__work-stat-num .p-top__numbers-val{
        font-size:15.467vw;
    }
    .p-top__work-stat-num--sm .p-top__numbers-val{
        font-size:6.4vw;
    }
    .p-top__work-stat-num .p-top__numbers-unit{
        font-size:4.8vw;
    }
    .p-top__work-stat-label{
        font-size:3.733vw;
        margin-top:1.067vw;
    }
    .p-top__work-stat-tag{
        font-size:2.667vw;
        padding:0.8vw 1.067vw;
        margin-top:2.133vw;
    }
    .p-top__work-stat-label--spaced-top{
        margin-top:2.667vw;
    }
    .p-top__work-extra{
        gap:2.667vw;
    }
    .p-top__work-extra-ttl{
        font-size:5.333vw;
    }
    .p-top__work-extra-desc{
        font-size:3.733vw;
    }
}
