@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: 10px;
padding-left: 10px;
}

p{
font-size: 90%;
}

h1{
font-size: 120%;
color: #393f4c;
margin-bottom: 0.7em;
}

h2{
color: #393f4c;	
font-size: 100%;
border-bottom: 1px dashed #393f4c;
border-left: 10px solid #393f4c;
margin-top: 30px;
margin-bottom: 10px;
padding-left: 7px;
}

h3{
color: #393f4c;
font-size: 90%;
margin-top: 0.8em
}

ul{
font-size: 90%;
}

li{
list-style-type: none;
}

li ul li{
margin-left: 10px;
font-size: 110%;
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;
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: #821E21;
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%;
max-width: 1024px;
}

/*更新情報*/
#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;
}

/*作品紹介*/
.boxsakuhin{
flex-basis: 450px;
margin: 20px 20px 15px 30px;
}

.boxsakuhin img{
width: 400px;
}

/*ゲスト紹介*/
.boxguest{
flex-basis: 400px;
margin: 20px 20px 15px 40px;
}

.boxguest img{
width: 350px
}

/*アーカイブ*/
.boxhistory{
margin-left: auto;
margin-right: auto;
padding-left: 20px;
padding-right: 20px;
}

.boxhistory img{
width: 300px;
}

.historybtn img{
width: 70px;
}

/*１作品ずつの紹介*/
#shoukai{
max-width: 960px;
}

#shoukai img{
width: 90%
}

/*次の作品へ*/
#nextmovie{
width: 110px;
padding: 0.4em 1em;
margin: 2em 0 1em 0;
text-align: center;
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: 100%;
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: 60px;
width: 60px;
position: fixed;
right: 30px;
bottom: 30px;
background-color: rgb(255 255 255 / 0.85);
border: solid 2px #442D2D;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
z-index: 10;
}

#pagetop_arrow {
height: 25px;
width: 25px;
border-top: 3px solid #442D2D;
border-right: 3px solid #442D2D;
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%;
overflow-y: scroll;
}


/* ハンバーガーメニュー ボタン部分 */
header{
background-color: #D8D8D8;
height: 135px;
box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
}

header img{
height: 90px;
width: 90px;
margin-top: 20px;
margin-left: 20px;
}


/* ハンバーガーメニュー ボタン部分 */
#sp_navi_btn {
position: fixed;
top: 20px;
right: 50px;
height: 80px;
width: 80px;
background-color: #ffffff;
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: #821E21;
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: 88%;
height: 100%;
margin-top: 0px;
background-color: rgba(230, 230, 230, 0.95);
z-index: 100;
transition: all 0.6s ease-in-out;
}
	
/* ハンバーガーメニュー 本文 折り返し設定*/
#navi > ul {
display: flex;
flex-gap: 30px;
flex-wrap: wrap;
align-content: baseline;
width: 100%;
}

/* ハンバーガーメニュー 本文*/
#navi > ul > li {
height: auto;
width: 250px;
border-left: dotted 2px #821E21;
margin-top: 3px;
margin-bottom: 28px;
}

/* ハンバーガーメニュー文字設定 */
#navi ul li a {
width: 100%;
color: #821E21;
text-align: left;
height: 40px;
padding-top: 0;
}

#navi li:hover {
background-color: #f0f0f0;
}
	
/* media更新情報 */
#infobox{
margin-left: 10px;
width: 90%;
overflow: auto;
}
}


/* 639px以下の場合 */
@media(max-width: 639px) {
#pagetop {
height: 110px;
width: 110px;
}
	
#pagetop_arrow {
height: 40px;
width: 40px;
}

table {
border: none;
}
  
th {
display: none;
}
  
tr {
text-align: center;
display: block;
margin-bottom: 20px;
}
  
td {
display: block;
text-align: center;
}

table td::before {
content: attr(data-label);
}

}