@charset "UTF-8";


/*=======================================
mainimg
=======================================*/
.mainimage {
    height: 100lvh;
    background: url(../img/index_img/mainimage_sp.png) center bottom no-repeat;
    background-size: cover;
    position: relative;

    @media (width >=768px) {
        background: url(../img/index_img/mainimage.png) right center no-repeat;
        background-size: cover;
    }
}

.catch_wrap {
    position: absolute;
    top: 20%;
    left: var(--container-pd);
    right: var(--container-pd);

    @media (width >=768px) {
        text-align: left;
        top: 32%;
        left: var(--container-pd);
    }

}

.catch_list {
    --catch-list-gap: clamp(10px, 30vw/19.2, 30px);
    --catch-list-max-w: 200px;

    display: flex;
    width: 100%;
    gap: var(--catch-list-gap);
    margin-bottom: 30px;
    line-height: 1.1;

    @media (width >=768px) {
        width: 48%;
        max-width: calc(calc(var(--catch-list-max-w) * 3) + calc(var(--catch-list-gap) * 2));

    }

    [class^="list_"] {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0.25em;
        white-space: nowrap;
        text-align: center;

        width: calc(calc(100% - calc(var(--catch-list-gap) * 2)) / 3);
        max-width: var(--catch-list-max-w);
        height: auto;
        aspect-ratio: 1;
        font-family: var(--font-en);
        font-size: clamp(24px, 50vw/19.2, 50px);


        .shadow {
            position: absolute;
            text-shadow: var(--tx-shadow-bl);
            font-weight: 900;
        }

        .gold,
        .silver,
        .platinum {
            position: relative;
            z-index: 1;
            font-weight: 900;
        }
    }


}

.list_gold {
    background: url("../img/index_img/medal_gold.png") center center no-repeat;
    background-size: cover;

    .gold {
        background: linear-gradient(174deg, #fdca3c 15%, #fdec6c 50%, #f0b237 85%);
        background-clip: border-box;
        color: transparent;
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
    }
}

.list_silver {
    background: url("../img/index_img/medal_silver.png") center center no-repeat;
    background-size: cover;

    .silver {
        background: linear-gradient(174deg, #bababa 15%, #dadada 50%, #949494 85%);
        background-clip: border-box;
        color: transparent;
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
    }
}

.list_platinum {
    background: url("../img/index_img/medal_platinum.png") center center no-repeat;
    background-size: cover;

    .platinum {
        background: linear-gradient(174deg, #c3c3c3 15%, #e1e1e1 50%, #a0a0a0 85%);
        background-clip: border-box;
        color: transparent;
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
    }

}

.catch_ti {
    margin-bottom: 0.5em;
    line-height: 1.2;
    font-size: clamp(24px, 44vw/19.2, 44px);
    font-weight: 900;
    text-shadow: var(--tx-shadow-wh);
}

.catch_tx {
    font-size: clamp(16px, 22vw/19.2, 22px);
    text-shadow: var(--tx-shadow-wh);
}


/*=======================================
greeting
=======================================*/
.greeting {
    .section {
        display: flex;
        flex-direction: column;
        gap:32px;
        @media (width <=992px) {
            .greeting_img{
                max-width: 480px;
                margin-inline:auto;
            }
        }
        @media (width >=992px) {
            flex-direction: row;
            align-items: center;
            gap:var(--section-gap);
            .greeting_tx,.greeting_img{
                width: calc(50% - calc(var(--section-gap) / 2));
            }
            .greeting_tx{
                order: 2;
            }

        }
    }
}


/*=======================================
company
=======================================*/
.company {
    .section {
        display: flex;
        flex-direction: column;
        gap:32px;
        @media (width <=992px) {
            .company_img{
                max-width: 480px;
                margin-inline:auto;
            }
        }
        @media (width >=992px) {
            padding-top: 0;
            flex-direction: row;
            align-items: center;
            gap:var(--section-gap);
            .company_tx,.company_img{
                width: calc(50% - calc(var(--section-gap) / 2));
            }
        }
    }
}