body.sub    {
    background-position: center top 78.125vw;
}
.sub .key   {
    aspect-ratio: 192 / 85;
}
.key:before {
    height: 110vw;
}

.sub .key .keytext  {
    position: absolute;
    top: 29vw;
    width: min(31vw,500px);
}

.s_mainnavarea    {
    display: flex;
    width: min(85vw,1290px);
    padding: 0 min(1.3228vw, 20px);
    margin-left: auto;
    margin-right: auto;
}

.s_mainnavarea .inner .col    {
    width: calc(33.333% - (min(2.0834vw, 40px) / 3));
}

.s_mainnavarea .inner .col:first-of-type    {
    width: calc(16.666% - (min(2.0834vw, 40px) / 3));
}

.s_mainnavarea .inner .col:last-of-type {
    width: calc(50% - (min(2.0834vw, 40px) / 3));
}


.s_mainnavarea .inner .col .flex .item    {
    gap: 5px;
    width: calc((100% - 10px) / 2);
}

.s_mainnavarea .inner .col:first-of-type .flex .item {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.s_mainnavarea .inner .col:last-of-type .flex .item {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    width: calc((100% - 20px) / 3);
}

.s_mainnavarea img  {
    width: 100%;
}
.s_mainnavarea .flex  {
    gap: 10px;
}

.s_mainnavarea .titlearea   {
    height: min(6.6138vw, 100px);
    justify-content: center;
    background-color: rgba(255,255,255,0.8);
    border: 1px solid #ccc;
}
.s_mainnavarea .titlearea * {
    line-height: 1;
}

.s_mainnavarea .inner .col .flex .item > *    {
    box-shadow: 2px 4px 4px rgba(0, 0, 0, 0.25);
}

.s_mainnavarea .inner .col .flex .item    {
    gap: 5px;
}

.s_mainnavarea .inner .col .flex .item .txt {
    background-color: #fff;
    color: #233F75;
    line-height: 120%;
    height: 60px;
    font-weight: bold;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.s_mainnavarea .inner .col .flex .item .txt span    {
    color: black;
}

.s_mainnavarea .inner .col .flex .item .imgarea {
    border: 1px solid #F00;
    padding: 10px;
    background-color: #fff;
}

.label   {
    width: clamp(155px,16.53vw, 250px);
    height: min(1.9841vw, 30px);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: min(0.9921vw, 15px);
    line-height: 1;
}

.label.bg_blue   {
    background-color: #233F75;
}

.label.bg_sky {
    background-color: #21A9EC;
}

.italic.first-letter {
    font-size: 200%;
    color: #233F75;
}

.sub main section .inner .box    {
    background-color: rgba(255,255,255,0.95) !important;
    border: 2px solid white;
    overflow-x: clip;
}

.sub main section#s1-1 .inner .box    {
    background-image: url(../images/box_s1_1_bg_pc.webp);
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    aspect-ratio: 130/413;
}

.sub main section#s1-2 .inner .box    {
    background-image: url(../images/box_s1_2_bg_pc.webp);
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    aspect-ratio: 130/339;
}

main section.athlete .inner .box .information   {
    aspect-ratio: 10/7;
}

main section.athlete .inner .box .article1  {
    aspect-ratio: 11/12;
}

main section.athlete .inner .box .article1 > .infobox   {
    width: 59%;
    margin-right: auto;
}

.sub main section .inner .box article .robot1   {
    position: absolute;
    top: 0;
    left: 0;
    width: min(7.27vw,110px);
    transform: translateY(-100%);
}

main section.athlete .inner .box .article2  {
    aspect-ratio: 11/12;
}

main section.athlete .inner .box .article2 > .infobox   {
    width: 59%;
    margin-left: auto;
}

.sub main section .inner .box article .robot2   {
    position: absolute;
    top: 0;
    right: 0;
    width: min(8.66vw,131px);
    transform: translateY(-100%);
    z-index: 3;
}

main section.athlete .inner .box .article3 > .infobox   {
    width: 59%;
    margin-right: auto;
}

.sub main section .inner .box article .robot3   {
    position: absolute;
    top: 0;
    left: 0;
    width: min(5.62vw,85px);
    transform: translateY(-100%);
    z-index: 3;
}

main section.athlete#s1-2 .inner .box .information   {
    aspect-ratio: 44/31;
}

main section.athlete#s1-2 .inner .box .article1  {
    aspect-ratio: 110/61;
}

main section.athlete#s1-2 .inner .box .article2  {
    aspect-ratio: 22/25;
}

main section.athlete#s1-2 .inner .box .article3 > .infobox   {
    width: 50%;
}


main section.athlete .inner .box .article2 > .infobox .season:not(:last-of-type) {
    border-bottom: 1px dashed #999;
}

main section.athlete .inner .box .infobox    {
    background: rgba(255,255,255,0.8);
    box-shadow: 8px 8px 0px rgba(0, 0, 0, 0.25);
    overflow: visible !important;

}

main section.athlete .inner .box .information > .infobox  {
    transform: translateY(-15%);
    width: 55%;
    margin-left: auto;
}

.sub main section .inner .box article   {
    position: relative;
    overflow: visible;
}

main section .inner .box .imgcol    {
    width: 27.2727%;
}

main section .inner .box .infocol   {
    flex: 1;
}

main section .inner .box .infocol .titlearea    {
    border-bottom: 1px solid #999;
}

main section .inner .box dl.flex dt   {
    width: min(10.58vw,160px);
    background-color: #666;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 400;
    color: white;
}


main section.team .inner .box > .flex .italic   {
    color: #233F75;
}

main section .inner .box .buttonarea {
    display: flex;
    width: 100%;
}

main section .inner .box .buttonarea .button a   {
    height: min(2.6455vw, 40px);
    width: min(33.06vw, 500px);
    border-color: #FF0037;
    background-color: #FF0037;
    color: white;
    box-shadow: 4px 4px 0px rgba(0, 0, 0, 0.25);
}

main section.team .inner .box > .flex .imgcol   {
    flex-direction: column;
    width: 36%;
}

main section.team .inner .box > .flex .imgcol img   {
    width: 100%;
}

main section.team .inner .box > .flex .infocol > .flex .subcol .subcolimg  {
    width: 36.9%;
    height: auto;
}

main section.team .inner .box > .flex .infocol > .flex .subcol .robot4  {
    width: 28.15%;
}

main section.team .inner .box > .flex .infocol > .flex .subcol .robot5  {
    width: 17.53%;
}

main section.team .inner .box > .flex .infocol > .flex .subcol .robot6  {
    width: 31.85%;
}


@media screen and (max-width: 834px)    {
    
    body.sub    {
        background-position: center top 199vw;
    }
    .key:before {
        height: 199vw;
    }
    
    .sub .key   {
        aspect-ratio: 58 / 67;
    }

    .label   {
        width: 50%;
        height: 7.63vw;
        margin: 1.27vw 0 1.27vw;
        border-radius: 3.82vw;
    }

    
    .sub .key .keytext  {
        top: 77.61vw;
        left: 12.5vw;
        width: 75vw;
    }

    .s_mainnavarea  {
        padding: 0 0 0 5vw;
        width: 85vw;
    }

    .s_mainnavarea .titlearea   {
        height: 16.16vw;    
    }
    .s_mainnavarea > .flex    {
        gap: 20px;
    }
    .s_mainnavarea .inner .col .flex .item {
        width: calc((100% - 10px) / 2) !important;
    }
    
    .s_mainnavarea .inner .col .flex .item .txt {
        line-height: 150%;
    }
    .s_mainnavarea .inner .col .flex .item .txt span    {
        line-height: 120%;
    }
    .s_mainnavarea .inner .col .flex .item .imgarea {
        display: none;
    }
    
    main section:not(.team) .inner .box .infocol .titlearea    {
        border-bottom: 0;
    }

    main section .inner .box .infocol .titlearea .italic    {
        text-align: left;
    }
    
    main section .inner .box .imgcol    {
        width: 37.31vw;
    }
    
    main section .inner .box dl {
        width: 100%;
    }
    
    main section .inner .box dl dt  {
        width: 37.31vw !important;
    }
        
    .sub main section .inner .box article .robot1   {
        width: 20.5vw;
        left: 3vw;
        z-index: 3;
    }
    
    .sub main section .inner .box article .robot2   {
        width: 25vw;
        right: 3vw;
        z-index: 3;
    }
    
    .sub main section .inner .box article .robot3   {
        position: absolute;
        width: 15.1vw;
        left: 3vw;
        z-index: 3;
    }
    
    .sub main section#s1-1 .inner .box    {
        background-image: url(../images/box_s1_1_bg_sp.webp);
        background-size: 100% auto;
        background-position: center top;
        background-repeat: no-repeat;
        aspect-ratio: auto;
    }
    
    .sub main section#s1-2 .inner .box    {
        background-image: url(../images/box_s1_2_bg_sp.webp);
        background-size: 100% auto;
        background-position: center top;
        background-repeat: no-repeat;
        aspect-ratio: auto;
    }

    main section.athlete .inner .box .information   {
        aspect-ratio: auto;
        height: 225vw;
    }
    
    main section.athlete#s1-1 .inner .box .article2  {
        aspect-ratio: auto;
        background-image: url(../images/box_s1_1_bg2_sp.webp);
        background-size: 100% auto;
        background-position: center top;
        background-repeat: no-repeat;
        padding-top: 53.5vw;
    }

    
    main section.athlete#s1-1 .inner .box .article3  {
        aspect-ratio: auto;
        background-image: url(../images/box_s1_1_bg3_sp.webp);
        background-size: 100% auto;
        background-position: center top;
        background-repeat: no-repeat;
        padding-top: 99vw;
    }
    
    
    main section.athlete#s1-2 .inner .box .information   {
        aspect-ratio: auto;
        height: 238vw;
    }
    
    main section.athlete#s1-2 .inner .box .article1  {
        aspect-ratio: auto;
    }
    
    main section.athlete#s1-2 .inner .box .article2  {
        aspect-ratio: auto;
        background-image: url(../images/box_s1_2_bg2_sp.webp);
        background-size: 100% auto;
        background-position: center top;
        background-repeat: no-repeat;
        padding-top: 53vw;
    }

    main section.athlete#s1-2 .inner .box .article3  {
        aspect-ratio: auto;
        background-image: url(../images/box_s1_2_bg3_sp.webp);
        background-size: 100% auto;
        background-position: center top;
        background-repeat: no-repeat;
        padding-top: 99vw;
    }
    
    main section.athlete .inner .box .information > .infobox  {
        transform: translateY(-5%);
    }
    
    main section.athlete .inner .box .information > .infobox  {
        transform: translateY(4%);
    }
    
    main section.team .inner .box > .flex .imgcol   {
        flex-direction: row;
        justify-content: space-between;
    }
    
    main section.team .inner .box > .flex .imgcol img   {
        width: calc((100% - 2px) / 2);
    }
    
    main section.team .inner .box .infocol .titlearea,
    main section.team .inner .box .infocol .titlearea > .flex    {
        align-items: center !important;
    }
    
    .label.bg_sky   {
        width: 38.55vw;
    }
    
    main section .inner .box .buttonarea,
    main section .inner .box .buttonarea .button,
    main section .inner .box .buttonarea .button a  {
        width: 100%;
        height: 10.18vw;
        border-radius: 5.09vw;
    }
    
    main section.team .inner .box > .flex .infocol > .flex .subcol .subcolimg   {
        width: 40vw;
    }
    
    main section.team .inner .box > .flex .infocol > .flex .subcol .robot4  {
        width: 22.88vw;
    }
    
    main section.team .inner .box > .flex .infocol > .flex .subcol .robot5  {
        width: 16vw;
    }
    
    main section.team .inner .box > .flex .infocol > .flex .subcol .robot6  {
        width: 20vw;
    }

    main section.team.sec8 .inner .box > .flex .infocol > .flex .subcol .subcolimg   {
        width: 52.5vw;
    }
    

}