@charset "utf-8";
/* CSS Document */
:root{
    --main-font:"Zen Kaku Gothic New", sans-serif;
    --regular:400;
    --semi-bold:500;
    --bold:700;
    --mg-large:48px;
    --mg-regular:32px;
    --mg-small:16px;
    --primary-color:#3c4da5;
    --secondary-color:#b0d9ed;
    --accent-color:#f9be00;
    --dark-theme:#666;
    --light-theme:hsl(46 100% 80%);
    --gray:#eee;
    --white:#fff;
}

.topicpath{
    display: none;
}
@media screen and (min-width:768px){
    .topicpath{
        display: flex;
    }
}



.news_report{
	width: 100%;
}

.news_report *{
    font-family: var(--main-font);
    font-weight: var(--semi-bold);
    font-style: normal;
	font-size: 0.9375rem;
    line-height: 1.6;
}

.news_report .maintitle-wrap{
    margin-bottom: var(--mg-small);
}
@media screen and (min-width:768px){
    .news_report .maintitle-wrap{
        margin-bottom: var(--mg-regular);
    }
}
.news_report .maintitle-wrap{
    width: 100%;
}
.news_report .maintitle-wrap img{
    width: 100%;
}
.news_report .maintitle-wrap a{
    display: block;
    text-align: center;
}

.news_report .maintitle-wrap.small a img{
    width: 100%;
    max-width: 600px;
}

strong.strong{
    font-weight: var(--bold);
    text-decoration: underline;
}


/*topの表、スマホ～共通*/
.news_report .news_report__outline-headline{
    width: 100%; 
    background: var(--primary-color); 
    color: var(--white); 
    font-size: 1.25em; 
    margin-bottom: var(--mg-small);
    padding: 0.25rem; 
    text-align: center; 
    letter-spacing: 0.6em;
}
    @media screen and (min-width:768px){
        .news_report .news_report__outline-headline{
            font-size: 1.5rem; 
            padding: 1rem; 
            margin-bottom: 0;
        }
    }


.news_report dl{
	display: flex;
	flex-flow: column wrap;
	width: 100%;
}
.news_report dl.prize__inner{
    flex-direction: row;
    }

.news_report dt{
    z-index: 2;
	position: relative;
	width: 100%;
	padding: 0.25em 0.5em;
    border-bottom:2px solid var(--primary-color);
	line-height: 1.5;
    font-size: 1.125rem;
	color: var(--primary-color);
	font-weight: var(--bold);
}
.news_report dt span{
	font-weight: normal;
	line-height: 1.5;
}

.news_report .news_report__outline dd{/*topのddの幅を基準にコンテナクエリ*/
    container-type: inline-size;
}

@container (min-width: 560px) {
    .display-narrow{
        display: none;
    }
}


.news_report dd{
    width: 100%;
    margin-bottom: 1em;
    padding: 0.75em; /*1.25em 0.75em 1.5em*/
    align-items: center;
    line-height: 1.5em;
    border: none;
}
    @media screen and (min-width:768px){        
        .news_report dd{
            border-top: 2px solid var(--primary-color);
        }
    }

.news_report dt:last-child{
    border-bottom: 2px solid var(--primary-color);
}


.news_report dd > p:not(.text_indent, .news_report__btn-caption){
    margin-bottom: 1rem;
}
.news_report .text_indent{
    margin-left: 3em;
    text-indent: -3em;
}
.news_report dd:has(.prize__inner-table){
    margin-bottom: 0;
}

.part__inner-table{
    width: 100%;
    border-collapse: separate;
    border-spacing: 2px;
}
.part__inner-table th,.part__inner-table td{
    vertical-align: middle;
    line-height: 1.4;
    padding: 0.25em;
    text-align: center;
} 
.part__inner-table th{
    background: var(--secondary-color);
}
.part__inner-table td{
    background: var(--gray);
}



.prize__inner-table{
    width: 100%;
    border-collapse: separate;
    border-spacing: 2px;
}
.prize__inner-table th,.prize__inner-table td{
    vertical-align: middle;
    padding: 0.25em 0;
    text-align: left;
    display: block;
    width: 100%;
} 

.prize__inner-table th{
    font-weight: var(--bold);
}
.prize__inner-table td{
    padding-left: 1em;
}

@media screen and (min-width:768px){
    .prize__inner-table th,.prize__inner-table td{
        display: table-cell;
    } 
    .prize__inner-table th{
        position: relative;
        width: 11em;
    }
    .prize__inner-table th:after{
        position: absolute;
        top:50%;
        transform:translateY(-50%);
        right: 0;
        content: "";
        margin-left: 0.5em;
        width: 8px;
        height: 10px;
        clip-path: polygon(0 0, 100% 50%, 0 100%);
        background: var(--primary-color);
    }
    .prize__inner-table td{
        width: calc(100% - 12em);
    }
}

.news_report ol li{
   text-indent: -1em;
   padding-left: 1em;
}
.news_report ul li{
   text-indent: -1em;
   padding-left: 0;
}
.news_report .news_report__btn-caption/*,
.news_report .hyouka__btn-caption*/{
    margin: 1em 0 0.5em;
    position: relative;
    text-align: center;
}
.news_report__btn-caption:before,
.news_report__btn-caption:after/*,
.hyouka__btn-caption:before*/
{
    position: absolute;
    content: "";
    top:52%;
    transform:translateY(-50%);
    width: 12px;
    height: 8px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background: var(--primary-color);
}
.news_report__btn-caption:before/*,
.hyouka__btn-caption:before*/{
    margin-left: -1.25em;
}
.news_report__btn-caption:after
{
    margin-left: 0.5em;
}


.news_report .news_report__btn-wrap {
  text-align: center;
}

/* ボタン設定 */

/*　共通　*/
.news_report .news_report__btn {
  position: relative;
  padding: 0.25em 0.5em;/*0.5em 1em*/
  font-weight: var(--bold);
  text-decoration: none;
  text-align: center;
}



.news_report .news_report__btn.single {/*単独ボタンの設定*/
  display: inline-block;
  width: min(100%, 350px);
}
    @media screen and (min-width:768px){
        .news_report .news_report__btn {
          padding: 0.5em 1em;
        }
    }
    /* タッチパネル端末用にhover効果を打ち消すこと！ */


/*　borderありボタン 　*/
.news_report .news_report__btn {
  border: 2px solid var(--primary-color); /* 線幅・種類・色 */
  color: var(--primary-color); /* 文字色 */
  background: var(--secondary-color); /* 背景色 */
    box-shadow: 4px 4px 0px 0px rgba(60, 77, 70, 0.6);
}


/* マウスオーバーした際のデザイン */  
.news_report .news_report__btn:hover {
  opacity: 1;
  box-shadow: none;
  transform: translateY(3px);  
}

/*　gridレイアウト 過去の受賞作品のボタン news_report_top用　*/
.backnumber__menu-wrap ul{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(226px, 1fr));
    gap:4px;
}
.backnumber__menu-wrap ul li .news_report__btn{
    display: flex; width: 100%; height: 3rem; background: lightblue;
    align-items: center; justify-content: center;
    box-shadow: 2px 2px 0px 0px rgba(60, 77, 165, 0.6);
}
.backnumber__menu-wrap ul li .news_report__btn:hover {
  transform: translateY(1px);
}

.news_report .school-list{
	line-height: 1.8em;
}


span.please {
    font-size: 100%;
    padding-left: 1em;
    text-indent: -1em;
    display: inline-block;
    /* ご来場予定の皆様へのお願い */
}

.news_report .pc{
	display: none;
}
/*　prize 受賞作品一覧ページ　*/
.lead{
    margin: 0 auto;
    padding: 1rem 0;
    width: min(100%, 898px);
}

/*　hyouka 講評ページ　*/
.hyouka__chairman-name{
    padding: 0.5em;
    border-bottom: 1px solid var(--dark-theme);
    text-align: right;
}
@media screen and (min-width:768px){
    .news_report .hyouka__title{
        padding: 0.5em 1em;
    }
}

.hyouka__text,.essay__text{
    margin: var(--mg-regular) auto;
}
.hyouka__p,.essay__p{
    text-indent: 1em;
    line-height: 1.875em;
    letter-spacing: .02em;
}
.hyouka__container,.essay__container{
    margin-bottom: var(--mg-regular);
}

.news_report .hyouka__list dt{
    font-size: 1rem;
    border-bottom: none;
}
    

@media screen and (min-width:768px){
    .hyouka__text,.essay__text{
        padding: 0 1em;
    }
    .news_report .hyouka__list dt{
        width: 14rem;
    }
    .news_report .hyouka__list dd{
        padding: 0.75em;
        width: calc(100% - 14rem);
    }
}


/*　essay01-essay10 作品ページ　*/
.news_report .essay__title,.news_report .hyouka__title{
    position: relative;
    font-size: 1.25em;
    font-weight: var(--bold);
}

.essay__title{
    background: var(--secondary-color);
    padding: 0.5em 1em;
}
.hyouka__title{
    background: var(--secondary-color);
    padding: 0.5em;
}


.essay__title::before,.essay__title::after,
.hyouka__title::before,.hyouka__title::after{
    position: absolute;
    content: "";
    display: block;
    width: 16px;
    height: 16px;
}
.essay__title::before,.hyouka__title::before{
    top: 0;
    right: 0;
    clip-path: polygon(0 0, 100% 0, 100% 100%);
}
.essay__title::after,.hyouka__title::after{
    top: 0;
    right: 0;
    clip-path: polygon(0 100%, 100% 100%, 0 0);
}

.essay__title::before{
    background: var(--white);
}
.essay__title::after{
    background: var(--primary-color);
}

.hyouka__title::before{
    background: var(--white);
}
.hyouka__title::after{
    background: var(--primary-color);
}




.essay__student-name{
    padding: 0.5em;
    border-bottom: 1px solid var(--dark-theme);
    text-align: right;
}


.pdf_box{
    width: 100%;
    background: var(--gray);
    padding: 1rem;
    color: var(--primary-color);
}
    @media screen and (min-width:768px){
        .pdf_box{
            margin: 0 0 0 auto;
            width: min(100%,20em);
        }
    }
.pdf_box .pdf_link:hover{
    opacity: .6;
}   


.pdf_date{
    margin-bottom: 0.5em;
}

.pdf_link .pdf_link_inner{
    display: flex; 
    align-items: center; 
    justify-content: center;
    gap:0.5em;
}



/*　各種表レイアウト　
-------------------*/
.display-pc{
        display: none;
    }            
.winner-table{
    width: 100%;
    border-collapse: collapse;
    border-top: 1px solid var(--primary-color);
    border-left: 3px solid var(--primary-color);/*外周・左のborderを太く*/
    border-right: 3px solid var(--primary-color);/*外周・右のborderを太く*/
}


/*　複数のtableタグを縦に繋げて１つの表に見せている場合の設定　*/
.winner-table.table-group-head{
    border-top: 3px solid var(--primary-color);/*外周・上のborderを太く*/
}

.winner-table.table-group-foot{
    border-bottom: 3px solid var(--primary-color);/*外周・下のborderを太く*/
}

/*　一つのtableタグで表が完結している場合の設定　*/
.winner-table.table-single{
    border-top: 3px solid var(--primary-color);
    border-bottom: 3px solid var(--primary-color);
}

.table-item-name{
    background: #ccc;
}



    .news_report .table-title{
        margin-top: var(--mg-small);
        font-size: 1rem;
        font-weight: var(--bold);
    }
    .winner-table th,.winner-table td{
        vertical-align: middle;
        text-align: left;              
        width: 33.3%;
        /*font-size: 0.875rem;*/
        padding: 1em 0.5em;/*0.25em*/
        line-height: 1.3em;
        border-right: 1px solid var(--primary-color);
        border-bottom: 1px solid var(--primary-color);
    }
    .winner-table th{
        text-align: center;
        background: #f5f5f5;
    }
/*講評のボタン、受賞者一覧のボタン*/
.news_report .hyouka__btn,.winner-table td .news_report__btn{
    color: #333;
}

/* link-to-hyouka.shtml */
.hyouka__link-wrap{
    margin: var(--mg-small) 0 var(--mg-large);
}


.news_report .hyouka__btn-caption{
    max-width: 42em;
    margin: 0 auto 0.5em;
    position: relative;
    text-align: left;
}
.news_report .hyouka__btn{
    background: var(--secondary-color);
    text-align: left;
    max-width: initial;
    /*max-width: 24rem;*/
}




.news_report .hyouka__btn span{
    font-size:0.875em;
    font-weight: var(--bold); 
}

.news_report .hyouka__btn strong{
    text-align: center;
    font-size: 1.125em;
    font-weight: var(--bold); 
}
.hyouka__btn strong::before,.hyouka__btn strong::after{
    content: "\22";
    font-weight: var(--bold); 
    font-size: 1.125em;
}


ul.school-award__inner{
    text-align: left;
}
ul.school-award__inner li{
    text-indent: initial;
}

.winner-name{
        min-width: 7em;
    }
/*works*/
th.heading-pc{
    /*font-size: 1rem;*/
    font-weight: var(--bold);
    color: var(--primary-color);
}
th.heading-sp{
    font-size: 1rem;
    padding: 0.25em 0;
    background: var(--primary-color);
    color: #fff;
}
    .winner-works tr:nth-last-child(2){
        width: 15%;
    }
    .winner-works td:nth-last-child{
        width: 50%;
    }

    .winner-works td{
        text-align: center
    }
.winner-works .winner-detail{
    width: 65%;
}

.winner-works th, .winner-works td:not(.winner-detail){
    width: 24%;
}
.winner-detail .news_report__btn{
    margin-top: 0.5rem;
}


    @media screen and (min-width:768px){
        .display-pc{
            display: block;
        }
        .winner-table .display-pc{
            display: table-cell;
        }
        .display-sp{
            display: none;
        }
        
        .winner-table{
            table-layout:fixed;
        }
        .winner-table tr th:first-child{
            width: 18%;
        }
        .winner-table .winner-name{
            width: 9em;
        }
        .winner-table th,.winner-table td{
            /*width: 24%;*/
            padding: 0.8em;
        }
        .winner-table th{
            font-weight: 700;
        }
        
        .winner-table.school-award th{
            width: 24%; 
        }
        .winner-table.school-award td{
            width: 100%; 
            display: grid;
            place-items:center;
            border-right: none;
            border-bottom: none;
        }
    }
/*prize_container*/
    .other_winner_list{
        width: 100%;
        }   
    .prize_container{
        width: 100%;
        display: flex;
        flex-direction: column;
    }
    .prize_container dt{
        width: 100%;
    }
    .prize_container__inner{
        width: 100%;
        display: flex;
        flex-direction: column;
    }
    
    .prize_container__inner dd{
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    
      
/*　参加校一覧　*/
.school_list .school_list__title{
    position: relative;
    background: var(--secondary-color);
    margin-top: var(--mg-small);
    padding: 0.5em 1em;
    font-size: 1.25em;
    font-weight: var(--bold);
}



/*レスポンシブ---------------------------------*/
@media screen and (min-width:768px){
    .news_report *{
        font-size: 100%;
        }
	.news_report dl{
		flex-direction: row;
		}
    
	.news_report dt{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
		margin-bottom: 0;
		padding: 1.5em 0.25em;
		width: 22%;
		box-shadow: none;
        border-top: 2px solid var(--primary-color);
        border-right: 2px solid var(--primary-color);        
        border-left: 2px solid var(--primary-color);
        border-bottom: none;
		}
	.news_report dd{
        margin-bottom: 0;
		padding: 1.5em 1.25em;
		width: 78%;
        border-right: 2px solid var(--primary-color);        
	}
	.news_report dt:last-of-type,.news_report dd:last-of-type{
		border-bottom:2px solid var(--primary-color);
	}
    
/* マウスオーバーした際のデザイン */    

.news_report .news_report__btn:hover {
  opacity: 1;  
}        
    
    
	.news_report .pc{
		display: flex;
	}
	.news_report .sp{
		display: none;
	}
}

