@charset "UTF-8";
/* award top */
.hero{
    padding: 30px 0 100px 0;
    background-image: url(../images/award/bg_award.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;

    .hero_img{
        min-width: 400px;
        max-width: 500px;
        margin: 0 auto;
    }

    .hero_news{
        width: 500px;
        position: absolute;
        left: 0;
        bottom: 10px;

        dl{
            padding: 20px;
            font-size: 13px;
            background: #e6f2fe;
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-start;
            align-items: flex-start;
        }
        dt{
            width: 100px;
        }
        dd{
            width: calc(100% - 100px);
        }
        dt:not(:last-of-type),
        dd:not(:last-of-type){
            margin: 0 0 5px 0;
        }
        dd a{
            display: block;
            position: relative;
        }
        dd a::after{
            font-family: Font Awesome\ 5 Free;
            font-weight: 700;
            content: "\f061";
            position: absolute;
            top: 50%;
            right: 10px;
            transform: translateY(-50%);
        }
    }

}
.lead{
    width: 70%;
    max-width: 920px;
    margin: 50px auto 30px;
    font-size: 1em;
}
.info{
    width: 75%;
    max-width: 1000px;
    padding: 25px 50px;
    margin: 0 auto 30px;
    background: #ECF7FF;
    border-radius: 10px;

    dl{
        font-size: 14px;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: flex-start;
    }
    dt{
        width: 120px;
        line-height: 1.6;
    }
    dd{
        width: calc(100% - 120px);
    }
    dd:not(:last-of-type) {
        margin: 0 0 10px 0;
    }
    dd.nodate {
        width: 100%;
    }
}
.bnr{
    .bnr_list{
        width: 80%;
        max-width: 800px;
        margin: 0 auto 30px;
    }
    .bnr_item{
        filter: drop-shadow(8px 8px 4px var(--color-gray-dark));
    }
}
.summary{
    width: 75%;
    max-width: 1000px;
    padding: 30px 50px 45px 50px;
    margin: 0 auto 50px;
    background: var(--color-white);

    dl{
        margin: 0 0 30px 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: stretch;
    }
    dt,dd{
        padding: 15px;
    }
    dt{
        width: 180px;
        font-weight: 500;
        border-bottom: solid 3px var(--main-color);
    }
    dd{
        width: calc(100% - 180px);
        border-bottom: solid 3px var(--color-gray-light);
    }
    .schedule{
        padding: 0;
        margin-bottom: 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: stretch;

        dt,dd{
            padding: 0;
            margin: 0 0 10px 0;
            border: none;
        }

        dt{
            width: 120px;
            font-weight: 400;
        }

        dd{
            width: calc(100% - 120px);
        }
    }

    .btn-access{
        margin: 10px 0;
    }
    .btn-access a{
        padding-top: 10px;
        padding-bottom: 10px;
        color: var(--color-white);
        background: var(--color-blue);
    }
}
.entrefes{
    width: 75%;
    max-width: 800px;
    margin: 0 auto 50px;
}
.judge{
    width: 75%;
    max-width: 1000px;
    margin: 0 auto 50px;

    .judge_list{
        padding: 40px;
        margin: 0 0 5px 0;
        background: var(--color-white);
    }
    .judge_item:not(:first-child){
        padding-top: 25px;
    }
    .judge_item:not(:last-child){
        padding-bottom: 25px;
        border-bottom: dotted 2px var(--color-gray);
    }
    .l-flex{
        display: flex;
        align-items: flex-start;
        justify-content: flex-start;
    }
    .l-flex.reverse{
        flex-direction: row-reverse;
    }
    .photo{
        width: 180px;
        flex-shrink: 0;
    }
    .judge_item:nth-child(odd) .photo {
        margin: 0 20px 0 0;
    }
    .judge_item:nth-child(even) .photo {
        margin: 0 0 0 20px;
    }
    .name{
        margin: 0 0 10px 0;
        font-weight: 500;
    }
    .post{
        font-size: 14px;
    }
    .category{
        width: fit-content;
        padding: 6px 5px 3px;
        margin: 0 0 5px 0;
        line-height: 1;
        display: block;
        background: var(--sub-color2);
    }
}

.note_list{
    margin: 5px 0 0 0;
    font-size: 0.9em;
}
.prize{
    padding: 30px 0;
    margin: 0 0 50px 0;
    background: var(--sub-color2);

    .prize_list{
        width: 75%;
        max-width: 1000px;
        padding: 10px 30px;
        margin: 0 auto;
        background: var(--color-white);
    }
    .prize_item{
        padding: 10px 0;
        line-height: 1.5;
    }
    .prize_item:not(:last-child){
        border-bottom: dotted 1px var(--color-gray);
    }
    .prize_item dl{
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .prize_item dt{
        width: 30%;
        font-weight: 500;
    }
    .prize_item dd{
        width: 70%;
    }
    .prize_item dt,
    .prize_item dd{
        padding: 0 10px;
    }
    .detail{
        padding: 20px 20px 0;
    }
    .detail figure{
        margin: 0 0 20px 0;
        display: flex;
        align-self: flex-start;
        justify-content: flex-start;
    }
    .detail figure img{
        width: 300px;
        margin: 0 20px 0 0;
    }
    .detail li:not(:last-child){
        margin: 0 0 10px 0;
    }
}

.access{
    width: 75%;
    max-width: 800px;
    margin: 0 auto 50px;

    img{
        margin: 20px 0;
    }

    .map {
        aspect-ratio: 16 / 9;
        max-width: 100%;
    }
    .map iframe {
        width: 100%;
        height: 100%;
    }
}

/* nominate */
.pagenav{
    .pagenav_list{
        margin: 0 0 20px 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        align-items: stretch;
        border-bottom: dotted 2px var(--sub-color2);
    }
    .pagenav_item a{
        width: 100%;
        padding: 0 0 5px 0;
        color: var(--text-color);
        font-weight: 500;
        text-align: center;
        display: inline-block;
        transition: color cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
    }
    .pagenav_item a:hover{
        color: var(--color-gray);
    }
}

.nominate{
    .title-box{
        color: var(--text-color);
        background: var(--sub-color2);
    }
    .theme{
        padding: 0 0 0 80px;
        margin: 0 0 20px 10px;
        font-weight: 500;
        line-height: 1;
        position: relative;
    }
    .theme::after{
        content: "テーマ";
        padding: 6px 10px 3px;
        color: var(--color-white);
        font-size: 0.95em;
        line-height: 1;
        text-align: center;
        background: #fc629a;
        border-radius: 100vh;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        display: block;
    }
    .nominate_list{
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .nominate_item{
        width: calc(25% - 40px);
        margin: 0 20px 30px;
    }
    figure{
        margin: 0 0 10px 0;
    }
    .name,
    .tool,
    .grade{
        margin: 0 0 0 20px;
        position: relative;
    }
    .name::before,
    .tool::before,
    .grade::before{
        font-family: Font Awesome\ 5 Free;
        font-weight: 700;
        position: absolute;
    }
    .name::before{
        content: "\f02e";
        top: -2px;
        left: -18px;
    }
    .tool::before{
        content: "\f1c9";
        font-weight: 400;
        top: -2px;
        left: -18px;
    }
    .grade::before{
        content: "\f19d";
        top: -2px;
        left: -22px;
    }
    
}

/* common */
.sponsor{
    width: 90%;
    max-width: 1200px;
    margin: 0 auto 50px;

    .other .sponsorship_item{
        width: calc(15% - 20px);
    }
}

.partner{
    width: 90%;
    max-width: 1200px;
    margin: 0 auto 50px;

    .moderator{
        margin: 30px 0 0 0;

        .label{
            padding: 7px 10px 5px;
            font-weight: 500;
            line-height: 1;
            background: var(--sub-color2);
            display: inline-block;
        }
        .inner{
            padding: 25px 50px;
            background: var(--color-white);
            display: flex;
            flex-wrap: nowrap;
            justify-content: flex-start;
            align-items: flex-start;
        }
        .photo{
            width: 180px;
            margin: 0 20px 0 0;
            flex-shrink: 0;
        }
        .name{
            margin: 0 0 10px 0;
            font-weight: 500;
        }
        .link{
            margin: 10px 0 0 0;
            font-weight: 500;
        }
        .link span{
            padding: 1px 15px 0.5px;
            margin: 0 10px 0 0;
            color: var(--color-white);
            line-height: 1;
            background: var(--main-color);
            border-radius: 3px;
        }
        .fa-up-right-from-square{
            margin: 0 0 0 6px;
        }
    }
}

@media screen and (max-width: 1024px){
    .hero{
        .hero_img{
            width: 80%;
        }
        .btn-top{
            left: 20px;
        }

        .hero_news{
            width: 450px;
        }
    }
    .lead{
        width: 90%;
    }
    .info{
        width: 90%;
        padding-left: 25px;
        padding-right: 25px;
    }
    .summary{
        width: 90%;
        padding: 0 0 20px 0;

        dt{
            width: 100%;
            padding: 10px 20px;
            color: var(--color-white);
            border-bottom: none;
            background: var(--main-color);
        }
        dd{
            width: 100%;
            padding: 10px 20px;
            border-bottom: none;
        }
        .schedule{
            dt{
                width: 75px;
                color: var(--text-color);
                background: none;
            }
            dd{
                width: calc(100% - 75px);
            }
        }

        .note_item{
            margin: 0 10px 0 0;
        }
    }
    .entrefes{
        width: 90%;
    }
    .judge{
        width: 90%;
        .l-flex,
        .l-flex.reverse{
            flex-direction: column;
            align-items: center;
        }
        .judge_list{
            padding: 20px;
        }
        .judge_item:nth-child(odd) .photo {
            margin-right: 0;
            margin-bottom: 20px;
        }
        .judge_item:nth-child(even) .photo {
            margin-left: 0;
            margin-bottom: 20px;
        }
    }
    .prize{
        .prize_list{
            width: 90%;
        }
        .prize_item dl{
            flex-direction: column;
        }
        .prize_item dt{
            width: 100%;
            margin: 0 0 5px 0;
        }
        .prize_item dd{
            width: 100%;
        }
        .detail figure{
            flex-direction: column;
            align-items: center;
        }
        .detail figure img{
            margin-right: 0;
            margin-bottom: 10px;
        }
    }
    .access{
        width: 90%;
    }

    .nominate{
        .nominate_item{
            width: calc(33.333% - 20px);
            margin-left: 10px;
            margin-right: 10px;
        }
    }

    .sponsor{
        .other .sponsorship_item{
            min-width: 110px;
        }
    }

    .partner{
        .moderator{
            .inner{
                flex-direction: column;
                align-items: center;
            }
            .photo{
                margin-right: 0;
                margin-bottom: 10px;
            }
        }
    }
}



@media screen and (max-width: 600px){
    .hero{
        padding-top: 50px;
        
        .hero_img{
            min-width: 250px;
        }
        .btn-top a{
            font-size: 16px;
        }

        .hero_news{
            width: 350px;

            dl{
                padding: 15px;
                font-size: 12px;
            }
        }
    }
    .bnr{
        .bnr_list{
            width: 90%;
        }
    }
    .info{
        dl{
            flex-direction: column;
        }
        dt,dd{
            width: 100%;
        }
    }
    .prize{
        .prize_list{
            padding-left: 20px;
            padding-right: 20px;
        }
    }
    .access{
        .map {
            aspect-ratio: 1 / 1;
        }
    }
    .nominate{
        .nominate_item{
            width: calc(50% - 10px);
            margin-left: 5px;
            margin-right: 5px;
        }
    }
    .partner{
        .moderator{
            .inner{
                padding: 20px;
            }
        }
    }
}