@charset "utf-8";
/* CSS Document 自主制作映画コンテスト*/

body{
background-color: #fffffff;
color: #4C4C4C;
font-family: "メイリオ","Hiragino Sans","Hiragino Kaku Gothic ProN","sans-serif";
margin: 0px;
padding: 0px;
}

/*本体*/
article{
position: relative;
clear: both;
width: 1024px;
margin-left: auto;
margin-right: auto;
margin-top: 100px;
margin-bottom: 20px;
}


/*予告編*/
article a{
color: #6B6B6B;
font-weight: bold;
}


/* 記事の余白など */
.honbun{
padding-right: 30px;
padding-left: 30px;
}

.honbun table{
margin-left: 20px;
width: 90%;
}

p{
font-size: 100%;
}

h1{
font-size: 120%;
color: #003F56;
margin-bottom: 0.7em;
}

h2{
color: #003F56;	
font-size: 100%;
border-bottom: 1px dashed #003F56;
border-left: 10px solid #003F56;
margin-top: 30px;
margin-bottom: 10px;
padding-left: 7px;
}

h3{
color: #003F56;
font-size: 100%;
margin-top: 20px;
margin-bottom: 0;
}

li{
list-style-type: none;
}

/*ページのヘッダーエリア*/
header {
width: 100%;
height: 80px;
background-color: #D8D8D8;
font-size: 95%;
position: fixed;
top: 0;
left: 0;
z-index: 900;
box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
}

#header_area {
max-width: 1024px;
margin-right: auto;
margin-left: auto;
}

header img{
margin-top: 5px;
margin-left: 25px;
float: left;
}


/* ナビゲーションメニュー */
navi {
float: right;
overflow-wrap: anywhere;
}

#navi > ul {
display: flex;
padding-left: 10px;
margin-top: 5px;
}

#navi > ul > li {
list-style-type: none;
padding-left: 15px;
padding-right: 12px;
line-height: 70px;
}

#navi > li {
position: relative;
}

#navi li a {
color: #4C4C4C;
display: block;
text-align: center;
text-decoration: none;
font-weight: 600;
width: 100%;
height: 60px;
}

#navi li:hover {
background-color: #f0f0f0;
}

#sp_navi_check:checked ~ #navi {
left: 0%;
}

/*ハンバーガーメニューチェックボックス*/
#sp_navi_check{
display: none;
}

/*メインビジュアル*/
#mainvisual img{
display: block;
margin: 0 0 20px 0;
width: 100%;
}

/*更新情報*/
#infobox {
background-color: #ffffff;
margin-left: 10px;
width: 85%;
height: 20em;
overflow: scroll;
}

#infobox h4{
color: #4C6473;
margin: 15px 5px 3px 5px;
padding: 0 0 0 3px;
}

#infobox ul{
font-size: 90%;
color: #4C4C4C;
list-style-type: none;
margin-left: 10px;
}

#infobox ul li{
margin-top: 5px;
margin-left: 10px;
}

/*作品・ゲスト紹介*/
.flex1{
background-color:#F2F2F2;
color: #4C4C4C;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}

/*作品紹介ページ用*/
.shoukai{
max-width: 960px;
flex-basis: 40%;
margin-top: 10px;
margin-bottom: 10px;
margin-left: 50px;
margin-right: 40px;
}

.shoukai img{
width: 90%
}

.shoukai h3{
margin-left: -15px;
}

/*１つずつの作品紹介ページ用*/
.sakuhin{
max-width: 960px;
flex-basis: 90%;
margin-top: 10px;
margin-bottom: 10px;
margin-left: 10px;
}

.sakuhin img{
width: 90%;
}

.sakuhin h1{
margin-left: -15px;
}

/*次の作品へ*/
#nextmovie{
width: 120px;
padding: 0.4em 1em;
margin-left: auto;
text-align: center;
font-size: 1em;
font-weight: bold;
color: #D2D2D2;
background: #ffffff;
border: solid 2px #D2D2D2;
border-radius: 10px;
}

#nextmovie p a{
color: #6B6B6B;
margin: 0; 
padding: 0;
}

/* テーブル*/
table{
width: 95%;
border: 1px solid #999999;
margin-bottom: 20px;
border-collapse: collapse;
}

th{
border: 1px solid #999999;
background-color: #eeeeee;
padding: 10px;
text-align: center;
}

td{
border: 1px solid #999999;
padding: 10px;
}

caption{
text-align: left;
font-weight: 550;
margin-top: 1em;
}

/* 審査員コメント*/
.comment h3{
background: linear-gradient(to left,#ffffff,#dcdcdc);
padding-left: 6px;
margin-top: 1em;
margin-bottom: -1.5em;
}

/* 上に戻るボタン*/
#pagetop {
height: 50px;
width: 50px;
position: fixed;
right: 30px;
bottom: 30px;
background-color: rgb(255 255 255 / 0.9);
border: solid 2px #9E9E9E;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
z-index: 10;
}

#pagetop_arrow {
height: 20px;
width: 20px;
border-top: 3px solid #9E9E9E;
border-right: 3px solid #9E9E9E;
transform: translateY(20%) rotate(-45deg);
}

/* リンクアイコン */
.social{
width: 100%;
background-color: #D8D8D8;
}

.social ul{
padding-top: 0;
padding-bottom: 10px;
justify-content: center;
flex-wrap: wrap;
display: flex;
}

.social > ul > li{
padding-top: 10px;
padding-left: 5px;
padding-right: 5px;
align-content: center;
}

.social > ul > li img{
width: 60%;
}

/* コピーライト */
footer{
color: #333333;
text-align: center;
width: 100%;
background-color: #ffffff;
margin-top: 0;
padding-top: 15px;
padding-bottom: 10px;
}


/* 1024pxの場合 */
@media(max-width: 1024px) {
/* 記事幅指定を解除 */	
article{
width: auto;
margin-top: 160px;
font-size: 100%;
}

h3{
margin-top: 20px;
margin-bottom: 0;
}


/* @mediaヘッダー部分 */
header{
background-color: #D8D8D8;
height: 135px;
box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
}

/* @mediaヘッダーロゴ画像 */
header img{
height: 90%;
margin-top: 15px;
margin-left: 20px;
}

/* ハンバーガーメニュー ボタン部分 */
#sp_navi_btn {
position: fixed;
top: 20px;
right: 20px;
height: 80px;
width: 80px;
background-color: #D8D8D8;
display: flex;
justify-content: center;
align-items: center;
z-index: 200;
}
	
#sp_navi_btn span, #sp_navi_btn span::before, #sp_navi_btn span::after {
content: "";
display: block;
position: absolute;
width: 60px;
height: 6px;
background-color: #2B2115;
transition: all 0.6s ease-in-out;
}

#sp_navi_btn span::before {
bottom: 23px;
}

#sp_navi_btn span::after {
top: 23px;
}

#sp_navi_check:checked ~ #sp_navi_btn span {
background-color: transparent; 
}

#sp_navi_check:checked ~ #sp_navi_btn span::before {
bottom: 0;
transform: rotate(45deg);
}

#sp_navi_check:checked ~ #sp_navi_btn span::after {
top: 0;
transform: rotate(-45deg);
}

	
/* ハンバーガーメニュー　背景色 */
#navi {
position: fixed;
top: 0;
left: 100%;
width: 100%;
height: 95%;
margin-top: 0px;
background-color: rgba(230, 230, 230, 0.9);
z-index: 100;
transition: all 0.6s ease-in-out;
overflow: scroll;
-ms-overflow-style: none;
}
	
/* スクロールバーを表示させない */	
#navi::-webkit-scrollbar {
display:none;
}
	
/* ハンバーガーメニュー 本文 折り返し設定*/
#navi > ul {
display: flex;
flex-gap: 10px;
flex-wrap: wrap;
align-content: baseline;
width: 100%;
}

/* ハンバーガーメニュー 本文*/
#navi > ul > li {
height: auto;
width: 180px;
margin-top: 20px;
margin-bottom: 20px;
}

/* ハンバーガーメニュー文字設定 */
#navi ul li a {
width: 100%;
color: #4C4C4C;
text-align: left;
height: 30px;
padding-top: 0;
}

#navi li:hover {
background-color: #f0f0f0;
}

.social > ul > li{
padding-top: 10px;
margin-left: 2px;
margin-right: 2px;
align-content: stretch;
}
	
.shoukai{
flex-basis: 800px;
flex-basis: 90%;
}
	
.shoukai{
margin-left: 30px;
margin-right: 20px;
}
	
.shoukai img{
width: 90%;
}
	
.table{
width: auto;
	}

/* media更新情報 */
#infobox{
margin-left: 10px;
width: 90%;
overflow: auto;
}
}


/* 639px以下の場合 */
@media(max-width: 639px) {
/* @mediaヘッダーロゴ画像 */
header img{
margin-top: 30px;
margin-left: 20px;
}

/* media更新情報 */
#infobox{
margin-left: 10px;
width: 90%;
overflow: auto;
}

.social > ul > li{
padding-top: 10px;
margin-left: 2px;
margin-right: 2px;
align-content: stretch;
}

table {
border: none;
margin-left: 7%; 
margin-right: 7%;
}
  
table thead {
display: none;
}
  
table tr {
border-top: 1px solid #999999;
text-align: center;
display: block;
margin-bottom: 20px;
}
  
table td {
border-right: 1px solid #999999;
border-bottom: 1px solid #999999;
display: block;
padding: 10px;
text-align: center;
}

table td::before {
content: attr(data-label);
float: left;
font-weight: bold;
}
}