@charset "UTF-8";

#programming-container {
    margin: 0px;
    padding: 0px;
    text-align: center;
    font-size: 15px;
    /*	background-color: #f5f5f5; */
}

/* 掲載日 */
#programming-container .keisaibi {
    font-size: 1.0em;
    text-align: right;
}

/* 前文エリア */
#programming-header {
    margin: 10px auto;
    width: 100%;
    text-align: center;
}

#programming-header .main_cut {
    margin: 10px auto;
    /*	line-height: 120%; */
}

#programming-header .main_cut img {
    max-width: 100%;
    margin: 0px auto;
}


/* 協 賛 */
.kyousan_block {
    margin: 15px 0px 15px 0px;
}

.gold_block {
    border: dotted 2px #ffd700;
    border-radius: 10px;
    float: left;
    width: 80%;
    margin: 0px 10%;
}


.silver_block {
    border: dotted 2px #c0c0c0;
    border-radius: 10px;
    float: left;
    margin-left: 10px;
    width: 33%;
}



.kyousan_title {
    font-size: 17px;
    text-align: center;
    margin: 6px 0px;
    font-weight: bold;
}

.kyousan_img {
    text-align: center;
}

.kyousan_img img {
    width: 240px;
    margin-bottom: 4px;
}



.kyousan_img img:hover {
    opacity: 0.5;
}

#programming-header p {
    text-align: center;
    padding: 0px 10px;
    margin-top: -20px;
}

/* 見出し */
.heading {
    text-align: center;
    font-size: 1.3em;
    font-weight: bold;
    color: blue;
    margin: 20px 0px;
    line-height: 1.5em;
}

/* 前文 */
#programming-header .maebun {
    font-size: 1.1em;
    margin: 20px auto;
    padding: 10px;
    border: 4px outset #dcdcdc;
    /*	background-color: #fffcf2; */
    width: 90%;
    line-height: 140%;
}



#programming-header .maebun p {
    text-align: left;
    margin: 0px;
    padding: 0px;
}

/* 全国大会 */
.national {
    margin-top: 18px;
    padding: 10px 10px;
    border: 4px double #ffa07a;
    /*	background-color: #fffafa; */
}


/* プログラミングって何？ */
#programming-header .commentary {
    margin: 20px auto;
    padding: 10px;
    border-radius: 20px;
    background-color: #f5f5f5;
    width: 86%;
}

#programming-header .commentary p {
    font-size: 16px;
    text-align: left;
    margin: 0px;
    padding: 0px;
}

/* 賞エリア（総評前まで） */
#programming-contents {
    margin: 0px auto;
    padding: 0px;
    width: 100%;
}

/* 各賞エリア */
.award {
    margin-top: 10px;
}

/* 賞名 */
.award_name p {
    font-size: 21px;
    font-weight: bold;
    color: #ce1e16;
    text-align: left;
    margin-top: 5px;
    margin-left: 3px;
    margin-bottom: 7px;
}


/* トロフィー */
.award_name img {
    height: 25px;
    /* 25px */
    margin-top: 5px;
    margin-bottom: 1px;
}

/* 動画エリア */
.video {
    width: 300px;
    margin: 5px 20px;
    float: left;
}

/* 記事エリア */
.article {
    padding: 8px;
    line-height: 1.2em;
}


.article p {
    font-size: 1.1em;
    line-height: 1.3em;
    text-align: left;
    margin: unset;
    padding: 0 10px;
}



/* 受賞者写真 */
.winner_photo {
    float: right;
    margin: 0 10px;
    width: 20%;
}

.winner_photo img {
    width: 100%;
    object-fit: cover;
}

.winner_group {
    margin: 10px;
    height: auto;
    text-align: center;
}

.winner_group img {
    width: 100%;
    height: auto !important;
}

/* youtube */
.youtube {
    text-align: center;
}


.youtube iframe {
    width: 300px;
    height: 174px;
}

/* 動画タイトルエリア */
.video .video_title {
    font-size: 1.3em;
    font-weight: bold;
    line-height: 1.1em;
}

/* タイトル名 */
.video .video_title .title_name p {
    text-align: center;
    margin: 3px 0px;
    font-size: 18px;
    color: #0064ff;
}

/* 校名・学年 */
.video .video_title .school_year p {
    font-size: 0.8em;
    text-align: right;
    padding-right: 10px;
    color: #0064ff;
}



/* 氏名 */
.video .video_title .name p {
    font-size: 1.0em;
    text-align: right;
    padding-right: 10px;
    color: #0064ff;
}

/* 優秀賞７作品 */
.photo_list {
    margin: 5px;
}

.photo_list .photo_title p {
    height: 2.0em;
    font-size: 1.4em;
    font-weight: bold;
}

.photo_list .photo_title img {
    height: 25px;
    margin: 5px 0px 2px 0px;
}

.img_order {
    width: 32%;
    margin: 3px;
    float: left;
    text-align: center;
    font-size: 0.85em;
    line-height: 1.4em;
    padding: 5px 0px;
}

.img_order img {
    width: 100%;
    margin: 5px 0px;
}

.img_order img:hover {
    opacity: 0.5;
}

/* 学校賞 */
.group {
    clear: left;
    margin: 0px 5px;
}

/* 賞名 */
.group .group_name p {
    font-size: 1.4em;
    font-weight: bold;
    text-align: left;
    color: #ce1e16;
    margin-top: 5px;
    margin-left: 3px;
    margin-bottom: 7px;
}

/* トロフィー */
.group img {
    height: 25px;
    margin-top: 5px;
    margin-bottom: 2px;
}

/* 記事エリア */
.group_article {
    padding: 5px;
}


.group_article p {
    font-size: 1.1em;
}

/* 総評 */
.general_comment {
    background-color: #fffbf0;
    border-radius: 15px;
    margin: 0px 10px;
    overflow: auto;
}


/* 見出し */
.comment_title {
    font-size: 1.6em;
    font-weight: bold;
    color: #ffffff;
    text-align: center;
    padding: 0.5em 0;
    background-color: #a0522d;
}

/* 肩書き・氏名 */
.comment_honbun .shomei {
    font-size: 1.1em;
    font-weight: bold;
    text-align: right;
    margin: 0px 10px 10px 0px;
    color: #a0522d;
}

/* 本文 */
.general_comment .comment_honbun p {
    font-size: 1.1em;
    padding: 10px;
    line-height: 1.6em;
}


@media print,
screen and (max-width:745px) {
    #programming-header {
        margin: 10px auto;
        width: 100%;
    }

    #programming-header .main_cut img {
        max-width: 100%;
        margin: 6px auto;
    }

    .gold_block {
        width: 97%;
        margin-left: 5px;
        margin-bottom: 10px;
    }

    .silver_block {
        width: 97%;
        margin-left: 5px;
    }

    .kyousan_img img {
        width: 75%;
        margin-bottom: 4px;
    }

    #programming-header .maebun {
        padding: 7px;
        width: 95%;
    }

    .national {
        margin-top: 16px;
        padding: 4px 4px;
    }


    #programming-header .commentary {
        margin: 20px auto;
        padding: 7px;
        border-radius: 14px;
        width: 94%;
    }

    .award_name p {
        text-align: center;
        font-size: 21px;
    }

    .video {
        width: 98%;
        margin: 0 auto;
    }

    .article {
        /*    float: right; */
        width: 100%;
        margin: 0 auto;
    }

    .article p {
        margin-top: 20px;
    }

    .youtube {
        height: 100%;
    }

    .youtube iframe {
        width: 360px;
        height: 204px;
    }

    .video .video_title .school_year p {
        padding-right: 20px;
    }

    .video .video_title .name p {
        padding-right: 20px;
    }

    .img_order {
        width: 48%;
        font-size: 0.7em;
    }

    .group_article {
        width: 100%;
        margin: 0 auto;
    }

    .general_comment {
        margin: 5px;
    }
}
