@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

*{
margin: 0;
padding: 0;
box-sizing: border-box;
}

html{
font-size: 62.5%;
/*\*/
_font-size: 62.5%;
/**/
}

a{
color: #110506;
text-decoration: none;
}

a.out:after{
content: url(../img/ico_out.png);
display: inline-block;
margin-left: 3px;
}

a:hover, a:focus{text-decoration: none;}

a:hover,a:focus,
a:hover img,
a:focus img{
filter: alpha(opacity=9) !important;
-moz-opacity: 0.9 !important;
opacity: 0.9 !important;
}

img {
margin: 0;
padding: 0;
border: 0;
vertical-align:top;
}

ul, ol {
list-style: none;
}

.clearfix:after {
content: "";
display: block;
clear: both;
height: 0;
visibility: hidden;
}
.clearfix { display: inline-block; }
/* exlude MacIE5 \*/
* html .clearfix { height: 1% }
.clearfix {display:block;}
/* end MacIE5 */

.embed{
width: 100%;
display: block;
position: relative;
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
}
.embed iframe{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.embed video{
width: 100%;
height: auto;
margin: 0;
padding: 0;
background-size: contain;
}
video::-internal-media-controls-download-button {
display:none;
}
video::-webkit-media-controls-enclosure {
overflow:hidden;
}
video::-webkit-media-controls-panel {
width: calc(100% + 30px);
}
.screen-reader-text{
display:none;
}   

body{
background-color: #111111;
color: #1f0200;
font-family:'Roboto','Noto Sans JP','ヒラギノ角ゴ Pro W6','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
font-size: 1.6rem;
font-weight: 300;
line-height: 1.8;
font-feature-settings: "palt";
}
body#top{
background-color: #000000;
}
body.scroll-prevent{
overflow: hidden;
}


/* Layout */
section{
width:100%;
display:block;
}
#page{
width: 100%;
display: block;
position: relative;
overflow-x: hidden;
}
.wrapper{
width: 960px;
display: block;
margin: 0 auto 0 auto;
text-align: center;
position: relative;
overflow: visible;
z-index: 1000;
}
.wrapper *{
position: relative;
}
.titBlock{
display:block;
position:relative;
}
h2{
font-size: 1.6rem;
font-weight: 300;
line-height: 1;
text-align: left;
color:#ffffff;
}
h3{
margin: 54px 0 0 0;
font-size: 4.2rem;
font-weight: 900;
line-height: 1;
letter-spacing: 0;
color: #e41614;
letter-spacing: 2px;
}
h4{
margin: 72px 0 0 0;
font-size: 3.2rem;
font-weight: 900;
line-height: 1.2;
letter-spacing: 0;
letter-spacing: 1px;
}
h5{
margin: 10px 0 0 0;
font-size: 2rem;
font-weight: 500;
}

.nolink{
color: #666666;
pointer-events: none;
cursor: default;
}

.pcHide{
display: none !important;
}
.spHide{
display: block !important;
}
.pc_br{
display: inline !important;
}
.sp_br{
display: none !important;
}

#page:after{
content: "";
display: block;
clear: both;
height: 0;
visibility: hidden;
}


/* banner */
.bannerCol1{
display:block;
margin: 42px 0 0 0;
text-align: center;
}
.bannerCol1 li{
text-align: center;
}
.bannerCol1 a{
display:inline-block;
}
.bannerCol1 img{
width: 662px;
height: auto;
}
.bannerCol11{
display:block;
margin: 24px 0 0 0;
}
.bannerCol11 a{
display:block;
}
.bannerCol11 img{
width: 662px;
height: auto;
}
.bannerCol2{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
margin: 54px 0 0 0;
}
.bannerCol2 li{
width: 460px;
margin: 0 0 0 0;
}
.bannerCol2 li:nth-child(3){
margin: 24px 230px 0 230px;
}
.bannerCol2 a{
display:block;
}
.bannerCol2 img{
width: 100%;
height: auto;
border: 2px solid #ffffff;
}

.bannerCol3{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
margin: 24px 0 0 0;
}
.bannerCol3 li{
width: 280px;
margin: 0 0 0 0;
}
.bannerCol3 li:nth-child(4){
margin: 24px 20px 0 150px;
}
.bannerCol3 li:nth-child(5){
margin: 24px 150px 0 0;
}
.bannerCol3 a{
display:block;
}
.bannerCol3 img{
width: 100%;
height: auto;
}

/* gNav */
.gNav{
height:80px;
display: block;
text-align: center;
position: relative;
z-index: 1500;
}
#top .gNav{
}
.gNav ul{
height:80px;
display: block;
margin: 0 auto 0 auto;
}
#top .gNav ul{
height: 80px;
display: block;
margin: 0 auto 0 auto;
}
#top header.slideMain .gNav,
#top header.slideMain .gNav ul{
height: 80px;
}

.gNav ul li{
display: inline-block;
margin: 0 15px 0 15px;
}
.gNav ul li a{
color: #f3ece1;
font-size: 1.8rem;
font-weight: 700;
line-height: 80px;
}
#top .gNav ul li a{
line-height: 80px;
}
.gNav ul li a:hover{
text-decoration: none;
}
.gNav ul li a{
text-decoration:underline;
text-decoration-thickness:2px;
text-underline-offset:4px;
}

.entryBtn{
width:200px;
display:block;
position:fixed;
top:10px;
right:20px;
overflow:hidden;
z-index:8500;
}
.entryBtn a{
width:100%;
height:60px;
display:block;
margin:0;
padding:0;
background-color:#e72929;
color: #ffffff;
border-radius: 30px;
box-sizing: border-box;
line-height:1;
}
.entryBtn a span{
height:0;
display:block;
padding-top:60px;
background: url(../img/btn_entry.png) no-repeat center top 14px;
background-size: auto 38px;
line-height: 1;
overflow:hidden;
}

/* btn */
.btnBlock{
display: block;
}
.btnBlock a{
width: 600px;
display: block;
margin: 50px auto 0 auto;
padding: 0;
background: url(../img/bg_btn.png) no-repeat center center;
background-size: cover;
background-color: #861717;
color: #ffffff;
border: 2px solid #ffffff;
border-radius: 20px;
font-size: 2rem;
font-weight: 700;
letter-spacing: 1px;
line-height: 96px;
box-sizing:border-box;
text-align:center;
}
.titBlock .btnBlock{
margin: 60px 0 0 0;
}

.pageBtn{
width: 480px;
display: block;
margin: 40px auto 0 auto
}
.pageBtn a{
display: block;
padding: 0;
background: url(../img/arr_r_w.png) no-repeat right 20px center;
background-size: 16px auto;
background-color: #df0000;
color: #ffffff;
border: 3px solid #df0000;
border-radius: 15px;
font-size: 2.2rem;
line-height:72px;
box-sizing:border-box;
text-align:center;
}

.backBtn{
width: 84%;
display:block;
margin: 72px auto 0 auto;
}
.backBtn a{
display: block;
background-color: #1f0200;
color: #ffffff;
border: 3px solid #ffffff;
font-size:2rem;
line-height: 72px;
}
.backBtn a span{
display:block;
padding:0 0 0 0;
background: url(../img/arr_r.svg) no-repeat left 14px center;
background-size: auto 25px;
}
.backBtn a span{
display:block;
padding:0 0 0 0;
background: url(../img/arr_r.svg) no-repeat left 14px center;
background-size: auto 25px;
}

/* menu */
#menu{
display: none;
}
#menu.on{
display: none;
}
#menu span {
width: 42px;
height: 3px;
display: inline-block;
transition: all .4s;
box-sizing: border-box;
background-color: #ffffff;
position: absolute;
right: 0;
}
#menu p{
display: inline-block;
transition: all 1.2s;
box-sizing: border-box;
font-size: 1.8rem;
line-height: 42px;
position: absolute;
top: 0;
left: 0;
animation: menu-txt 1.2s forwards;
opacity: 0;
color: #ffffff;
}
#menu.active p{
animation: active-menu-txt 1s forwards;
}
@keyframes menu-txt {
0% {
transform: translateX(10px);
opacity: 0;
}
100% {
transform: translateX(0);
opacity: 1;
}
}
@keyframes active-menu-txt {
0% {
opacity: 1;
}
50% {
opacity: 0;
}
100% {
opacity: 0;
}
}

#menu span:nth-of-type(1) {
top: 14px;
}
#menu span:nth-of-type(2) {
bottom: 14px;
}

#menu span:nth-of-type(1) {
animation: menu-bar01 .5s forwards;
}
#menu span:nth-of-type(2) {
animation: menu-bar01 .75s forwards;
}

@keyframes menu-bar01 {
0% {
transform: translateX(60px);
}
100% {
transform: translateX(0);
}
}

#menu.active{
}
#menu.active span{
}

#menu.active span:nth-of-type(1) {
animation: active-menu-bar01 .5s forwards;
}
@keyframes active-menu-bar01 {
0% {
opacity: 0;
}
50% {
opacity: 0;
}
51% {
transform: translate(0,5px) rotate(0);
background: #ffffff;
}
100% {
transform: translate(0,5px) rotate(-45deg);
background: #ffffff;
}
}

#menu.active span:nth-of-type(2) {
animation: active-menu-bar02 .5s forwards;
}
@keyframes active-menu-bar02 {
0% {
}
50% {
opacity: 0;
}
51% {
transform: translate(0,-7px) rotate(0);
opacity: 0;
background: #ffffff;
}
100% {
transform: translate(0,-7px) rotate(45deg);
opacity: 1;
background: #ffffff;
}
}

/* nav */
nav{
width: 100vw;
height: 100vh;
display: none;
position: fixed;
top: 0;
left: 0;
z-index: 9000;
}
nav.active{
display: block;
background-color: rgba(223,0,0,0.95);
}
nav ul{
width:880px;
height:420px;
display:block;
margin:calc((100vh - 420px)/2) auto 0 auto;
padding:0 0 0 360px;
background:url(../img/poster.jpg) no-repeat left center;
background-size:contain;
overflow:hidden;
box-sizing:border-box;
}
nav ul li{
width:100%;
height:70px;
display:block;
margin:0 0 0 0;
position: relative;
border-top:1px solid #ffffff;
}
nav ul li:first-child{
margin:0 0 0 0;
border-top:none;
}
nav ul li:nth-child(7){
display:none;
}
nav ul li a{
display:block;
padding:0;
color:#ffffff;
font-family:'Noto Sans JP','ヒラギノ角ゴ Pro W6','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
font-size:20px;
font-weight: 500;
line-height:70px;
box-sizing:border-box;
}
nav ul li a span{
display:inline-block;
margin-right:15px;
font-size:42px;
font-weight: 900;
}
nav ul li.close{
color:#ffffff;
line-height:1;
cursor:pointer;
}

nav .snsList{
width:30px;
height:auto;
display:block;
margin:0;
padding:0;
background:none;
position:absolute;
top:272px;
right:20px;
}
nav .snsList li{
width:30px;
height:auto;
display:inline-block;
margin:10px 0 0 0 !important;
padding-top:0 !important;
border-top:none !important;
}
nav .snsList li:first-child{
margin:0 0 0 0 !important;
}
nav .snsList li a{
width:30px;
height:0;
display:block;
padding-top:30px;
overflow:hidden;
}

nav .snsList li.tw a{
background: url(../img/ico_x.svg) no-repeat center center;
background-size:auto 22px;
}
nav .snsList li.yt a{
background: url(../img/ico_yt.svg) no-repeat center center;
background-size:auto 19px;
}
nav .snsList li.line a{
background: url(../img/ico_line.svg) no-repeat center center;
background-size:auto 22px;
}

/* sns */
#sns{
display: none;
padding: 24px 0 72px 0;
position: relative;
z-index: 990;
}
#top #sns{
padding: 72px 0 72px 0;
}
#sns .snsList{
display: inline-block;
}
#sns .snsList li{
width: 72px;
display: inline-block;
margin: 0 20px 0 20px;
}
#sns .snsList li a{
width: 72px;
height: 0;
display: block;
padding-top: 72px;
filter: drop-shadow(4px 4px 0 rgba(255,255,255,1));
overflow: hidden;
}

#sns .snsList li.tw a{
background: url(../img/ico_x.svg) no-repeat center center;
background-size: auto 35px;
background-color: #df0000;
}
#sns .snsList li.yt a{
background: url(../img/ico_yt.svg) no-repeat center center;
background-size: auto 35px;
background-color: #df0000;
}
#sns .snsList li.line a{
background: url(../img/ico_line.svg) no-repeat center center;
background-size: auto 40px;
background-color: #df0000;
}


/* sponsor */
#sponsor{
display: block;
padding: 60px 0 60px 0;
background-color: #ffffff;
}
#sponsor dl{
display: inline-block;
margin: 0 auto 0 auto;
}
#sponsor dl dt{
display: inline-block;
font-size: 2rem;
font-weight: 500;
letter-spacing: 0.5px;
}
#sponsor dl dd{
display: inline-block;
margin: 0 0 0 15px;
font-size: 2.9rem;
font-weight: 700;
}

/* header sns*/
header{
width: 100vw;
height: 80px;
display: block;
background: url(../img/bg_header.png) no-repeat center top;
background-size: 100vw auto;
background-color: #111111;
position: fixed;
top: 0;
left: 0;
z-index: 8000;
}
header h1{
width: 180px;
display: block;
position: absolute;
top: 5px;
left: 30px;
z-index: 8000;
}
header h1.on{
width: 180px;
display: block;
position: fixed;
top: 5px;
left: 30px;
z-index: 8000;
}
header h1 a,
header h1.on a{
width: 180px;
height: 0;
display: block;
padding-top: 66px;
background: url(../img/logo.png?v01) no-repeat center center;
background-size: auto 66px;
overflow: visible;
font-size:0px;
}
#top header h1 a{
cursor:none;
pointer-events:none;
}

header .snsList,
#top header .snsList{
width:83px;
display: flex;
justify-content: space-between;
position:fixed;
top:23px;
right:20px;
z-index: 4900;
}
header .snsList li{
display: block;
}
header .snsList li.sns_line{
display: none;
}
header .snsList li:first-child{
margin: 0 0 0 0;
}
header .snsList li a{
height: 0;
display: block;
padding-top: 30px;
overflow: hidden;
}
header .snsList li.sns_x a{
width: 30px;
background: url(../img/ico_x.svg) no-repeat center center;
background-size: auto 30px;
}
header .snsList li.sns_yt a{
width: 37px;
background: url(../img/ico_yt.svg) no-repeat center center;
background-size: auto 26px;
}
header .snsList li.sns_line a{
background: url(../img/ico_line.svg) no-repeat center center;
background-size: auto 22px;
}

#top header .snsList li.tw a{
background: url(../img/ico_x.svg) no-repeat center center;
background-size: auto 22px;
}
#top header .snsList li.yt a{
background: url(../img/ico_yt.svg) no-repeat center center;
background-size: auto 19px;
}
#top header .snsList li.line a{
background: url(../img/ico_line.svg) no-repeat center center;
background-size: auto 22px;
}

/* main */
main{
margin: 80px 0 0 0;
}

/* footer */
footer{
display: block;
margin: 0 0 0 0;
padding: 50px 0 0 0;
background: url(../img/bg.jpg) no-repeat center top -200px;
background-size: 100vw auto;
background-color: #111111;
color: #ffffff;
line-height: 1;
color: #ffffff;
position: relative;
z-index: 7500;
}
footer.under{
padding: 50px 0 50px 0;
}
footer .footerLink{
width: 80%;
display: inline-block;
text-align: left;
}
footer ul{
display: inline-block;
text-align: left;
}
footer ul li{
display: inline-block;
margin: 0 0 0 24px;
}
footer ul li:before{
content: "|";
display: inline-block;
padding: 0 24px 0 0;
}
footer ul li:first-child{
margin: 0 0 0 0;
}
footer ul li:first-child:before{
content: "";
padding: 0;
}
footer li a{
display: inline-block;
color: #ffffff;
line-height: 1;
}
footer #copyright{
width: 19%;
display: inline-block;
text-align: right;
}

.archive{
display: block;
margin: 50px 0 0 0;
padding: 50px 0 50px 0;
background-color: #2a2a2a;
}
.archive .wrapper{
position:relative;
text-align: left;
}
.archive .wrapper:before{
content:"";
width: 100%;
height: 2px;
display: block;
background-color:#676565;
position:absolute;
top:20px;
left:0;
z-index: 4000;
}
.archive h5{
display: inline-block;
margin:0 !important;
padding: 0 30px 0 0;
background-color: #2a2a2a;;
color: #676565;
font-size: 4.2rem;
font-weight: 900;
text-align: left;
position:relative;
z-index: 4010;
}
.archiveList{
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
gap: 8px;
margin: 32px 0 0 0;
}
.archiveList li{
width: calc((100% - 40px)/6);
display: block;
margin: 0;
border-right: none;
}
footer ul.archiveList li:before{
display:none;
}
.archiveList li a{
display: block;
text-align:center;
color: #666666;
border: 1px solid #666666;
border-radius:2px;
font-size: 1.5rem;
line-height:42px;
}

.error-404{
display: block;
margin: 54px 0 54px 0;
font-size: 2.4rem;
}

/* -- */
/* -- */
/* SP */
/* -- */
/* -- */
@media screen and (max-width: 768px) {
/* */
/* */

a:hover,a:focus,
a:hover img,
a:focus img{
filter: alpha(opacity=1) !important;
-moz-opacity: 1 !important;
opacity: 1 !important;
}

body{
background:none;
background-color: #000000;
font-size: 1.4rem;
line-height: 1.6;
}
body#top{
background:none;
background-color: #000000;
}

/* Layout */
section{
}
#page{
}
.wrapper{
width: auto;
margin: 0 7% 0 7%;
}
.wrapper *{
}
.embed iframe{
}
h2{
padding: 0;
font-size: 1.2rem;
}
h3{
margin: 42px 0 0 0;
font-size: 3rem;
letter-spacing: 1px;
line-height:1.3;
}
h4{
margin: 54px 0 0 0;
font-size: 2.2rem;
line-height:1.3;
}
h5{
margin: 10px 0 0 0;
font-size: 1.8rem;
}
	
.pcHide{
display: block !important;
}
.spHide{
display: none !important;
}
.pc_br{
display: none !important;
}
.sp_br{
display: inline !important;
}


/* banner */
.bannerCol1{
margin: 42px 0 0 0;
text-align:center;
}
.bannerCol1 img{
width: 95%;
height: auto;
margin: 0 2.5% 0 2.5%;
}
.bannerCol11{
margin: 24px 0 0 0;
text-align:center;
}
.bannerCol11 img{
width: 95%;
height: auto;
margin: 0 2.5% 0 2.5%;
}
	
.bannerCol2{
text-align:center;
margin:0;
}
.bannerCol2 li{
width:48%;
margin:24px 0 0 0;
}
.bannerCol2 li:nth-child(1){
}
.bannerCol2 li:nth-child(3){
}

.bannerCol3{
margin: 0 0 0 0;
}
.bannerCol3 li{
width:48%;
margin:24px 0 0 0;
}
.bannerCol3 li:nth-child(4){
margin:24px 0 0 0;
}
.bannerCol3 li:nth-child(5){
margin:24px 0 0 0;
}


/* gNav */
.gNav{
height:32px;
display:block;
background-color:transparent;
}
#top .gNav{
display: none;
}
.gNav ul,
#top .gNav ul{
display: none;
}
.gNav ul li a{
text-decoration:none;
}
.entryBtn{
display:none;
}
#top .entryBtn{
display:block;
position: fixed;
top: auto;
bottom: 0;
}
#top .entryBtn a{
height:58px;
background-color:#e72929;
}
#top .entryBtn a span{
padding-top:58px;
background: url(../img/btn_entry.png) no-repeat center top 14px;
background-size: auto 32px;
}


/* header sns*/
#top header .snsList,
header .snsList{
display: none;
position:absolute;
top: 24px;
right: 80px;
z-index: 4900;
}
#top header .snsList li.tw a,
header .snsList li.tw a{
background: url(../img/ico_x.svg) no-repeat center center;
background-size: auto 22px;
}
#top header .snsList li.yt a,
header .snsList li.yt a{
background: url(../img/ico_yt.svg) no-repeat center center;
background-size: auto 19px;
}
#top header .snsList li.line a,
header .snsList li.line a{
background: url(../img/ico_line.svg) no-repeat center center;
background-size: auto 22px;
}

/* btn */
.btnBlock{
}
.btnBlock a{
width: 86vw;
margin: 50px auto 0 auto;
background: url(../img/bg_btn.png) no-repeat center center;
background-size: cover;
background-color: #861717;
color: #ffffff;
border: 2px solid #ffffff;
border-radius: 20px;
font-size: 1.8rem;
line-height: 72px;
box-sizing:border-box;
text-align:center;
}
.titBlock .btnBlock{
margin: 60px 0 0 0;
}

.pageBtn{
width: 90%;
margin: 30px auto 0 auto
}
.pageBtn a{
display: block;
padding: 0;
background: url(../img/arr_r_w.png) no-repeat right 20px center;
background-size: 16px auto;
background-color: #df0000;
color: #ffffff;
border: 3px solid #df0000;
border-radius: 15px;
font-size: 2.2rem;
line-height:72px;
box-sizing:border-box;
text-align:center;
}

.backBtn{
width:100%;
margin:54px auto 0 auto;
}
.backBtn a{
background-color: #1f0200;
color: #ffffff;
border: 3px solid #ffffff;
font-size:1.8rem;
line-height:54px;
}
.backBtn a span{
background: url(../img/arr_r.svg) no-repeat left 8px center;
background-size: auto 14px;
}


/* menu */
#menu{
width: 50px;
height: 50px;
display:block;
background-color: #ffffff;
border-radius: 3px;
position: fixed;
top: 15px;
right: 15px;
z-index: 9999;
}
#menu.active{
filter: none;
}
#menu span {
width: 30px;
height: 4px;
display: inline-block;
transition: all .4s;
box-sizing: border-box;
background-color: #111111;
position: absolute;
right: 10px;
}
#menu p{
width: 100%;
display: block;
height: 10px;
font-size: 0.9rem;
font-weight: 700;
line-height: 10px;
text-align: center;
position: absolute;
top: auto;
bottom: 7px;
left: 0;
animation: menu-txt 1.2s forwards;
opacity: 0;
color: #111111;;
}

#menu span:nth-of-type(1) {
top:14px;
}
#menu span:nth-of-type(2) {
bottom:24px;
}

#menu span:nth-of-type(1) {
animation: menu-bar01 .5s forwards;
}
#menu span:nth-of-type(2) {
animation: menu-bar01 .75s forwards;
}

@keyframes menu-bar01 {
0% {
transform: translateX(60px);
}
100% {
transform: translateX(0);
}
}

#menu.active{
background-color: #ffffff;
}
#menu.active span{
}

#menu.active span:nth-of-type(1) {
animation: active-menu-bar01 .5s forwards;
}
@keyframes active-menu-bar01 {
0% {
opacity: 0;
}
50% {
opacity: 0;
}
51% {
transform: translate(0,10px) rotate(0);
background: rgba(223,0,0,0.95);
}
100% {
transform: translate(0,10px) rotate(-45deg);
background: rgba(223,0,0,0.95);
}
}
#menu.active span:nth-of-type(2) {
animation: active-menu-bar02 .5s forwards;
}
@keyframes active-menu-bar02 {
0% {
}
50% {
opacity: 0;
}
51% {
transform: translate(0,2px) rotate(0);
opacity: 0;
background: rgba(223,0,0,0.95);
}
100% {
transform: translate(0,2px) rotate(45deg);
opacity: 1;
background: rgba(223,0,0,0.95);
}
}

/* nav */
nav{
display: none;
}
nav.active{
display:flex;
flex-direction:column;
gap:30px;
}
nav ul{
width: 100%;
max-width:400px;
display: block;
margin: 100px auto 0 auto;
padding: 0 30px 0 30px;
background: none;
}
nav ul li{
width: 100%;
height: 60px;
}
nav ul li:first-child{
}
nav ul li:nth-child(7){
display: block;
}
nav ul li a{
font-size:1.3rem;
font-weight:500;
line-height: 60px;
}
nav ul li a span{
margin-right:8px;
font-size:2.2rem;
}
nav ul li.close{
color: #ffffff;
line-height: 1;
cursor: pointer;
}
nav ul li.close span{
display:inline-block;
margin-right:8px;
font-family:'Francois One',sans-serif;;
font-size:2.2rem;
font-weight:700;
line-height: calc((88vh - 200px)/7);
}

nav .snsList{
width:150px;
display:block;
text-align:center;
margin: 0 auto 0 auto;
position:relative;
top:auto;
bottom:auto;
right:auto;
}
nav .snsList li{
width: auto;
height:auto;
display: inline-block;
margin: 0 0 0 16px !important;
padding-top: 0 !important;
}

#top header .snsList{
display: none;
}
/* sns */
#sns{
padding: 42px 0 42px 0;
}
#top #sns{
padding: 42px 0 72px 0;
}
#sns .snsList{
}
#sns .snsList li{
width: 54px;
margin: 0 15px 0 15px;
}
#sns .snsList li a{
width: 54px;
padding-top: 54px;
}

#top #sns .snsList li.tw a,
#sns .snsList li.tw a{
background: url(../img/ico_x.svg) no-repeat center center;
background-size: auto 26px;
background-color: #df0000;
}
#top #sns .snsList li.yt a,
#sns .snsList li.yt a{
background: url(../img/ico_yt.svg) no-repeat center center;
background-size: auto 26px;
background-color: #df0000;
}
#top #sns .snsList li.line a,
#sns .snsList li.line a{
background: url(../img/ico_line.svg) no-repeat center center;
background-size: auto 33px;
background-color: #df0000;
}

/* header sns*/
header{
background: url(../img/bg_header.png) no-repeat center top;
background-size: 100vw auto;
background-color: #111111;
}
header h1{
width: 180px;
display: block;
position: absolute;
top: 5px;
left: calc(50% - 90px);
}
header h1.on{
width: 180px;
display: block;
position: fixed;
top: 5px;
left: 30px;
z-index: 8000;
}
header h1 a,
header h1.on a{
width: 180px;
height: 0;
display: block;
padding-top: 66px;
background: url(../img/logo.png?v01) no-repeat center center;
background-size: auto 66px;
overflow: visible;
font-size:0px;
}
#top header h1 a{
}

header .snsList,
#top header .snsList{
display: none;
}

/* main */
main{
margin: 80px 0 0 0;
}

/* sponsor */
#sponsor{
padding:40px 0 40px 0;
}
#sponsor dl{
}
#sponsor dl dt{
font-size: 1.6rem;
}
#sponsor dl dd{
margin: 0 0 0 10px;
font-size: 2.3rem;
}

/* footer */
footer{
padding: 50px 0 0 0;
background: url(../img/bg.jpg) no-repeat center top -200px;
background-size: 100vw auto;
background-color: #111111;
}
footer.under{
padding: 50px 0 50px 0;
}

footer .footerLink{
width: 100%;
display: block;
text-align:center;
}
footer ul{
}
footer ul li{
display: inline-block;
margin: 12px 10px 0 10px;
}
footer ul li:before{
padding: 0 10px 0 0;
}
footer li a{
display: inline-block;
color: #ffffff;
line-height: 1;
}
footer #copyright{
width: 100%;
display: block;
margin: 24px 0 0 0;
font-size: 1.3rem;
text-align:center;
}

footer .snsList{
width:100%;
display:block;
margin:32px 0 0 0;
text-align:center;
}
footer .snsList li{
width: auto;
height:auto;
display: inline-block;
margin: 0 0 0 16px !important;
padding-top: 0 !important;
}
footer .snsList li:before{
display:none;
}
footer .snsList li:first-child{
margin: 0 0 0 0 !important;
}
footer .snsList li a{
width:30px;
height:0;
display:block;
padding-top:30px;
overflow:hidden;
}
footer .snsList li.tw a{
background: url(../img/ico_x.svg) no-repeat center center;
background-size:auto 22px;
}
footer .snsList li.yt a{
background: url(../img/ico_yt.svg) no-repeat center center;
background-size:auto 19px;
}
footer .snsList li.line a{
background: url(../img/ico_line.svg) no-repeat center center;
background-size:auto 22px;
}


.archive{
}
.archive .wrapper{
}
.archive .wrapper:before{
content:"";
width: 100%;
height: 2px;
display: block;
background-color:#676565;
position:absolute;
top:20px;
left:0;
z-index: 4000;
}
.archive h5{
padding: 0 20px 0 0;
font-size: 3.2rem;
}
.archiveList{
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
gap: 8px
}
.archiveList li{
width:calc((100% - 24px)/4);
margin: 0;
border-right: none;
}
.archiveList li:before{
display: none;
}
.archiveList li a{
display: block;
text-align:center;
color: #666666;
border: 1px solid #666666;
font-size: 1.2rem;
font-weight:300;
line-height:36px;
}

/* */
/* */
}
/* -- */
/* -- */
/* SP */
/* -- */
/* -- */



/* -- */
/* -- */
@media screen and (max-width: 468px) {
/* */
/* */

.archiveList li a{
display: block;
text-align:center;
background: none;
border: 1px solid #666666;
font-size: 1.2rem;
font-weight: 400;
line-height:42px;
}
	
/* */
/* */
}
/* -- */
/* -- */


/* -- */
/* PAGE NATION */
/* -- */
nav.sec_pager{
width:auto;
height:auto;
display:block !important;
margin:54px 0 0 0;
background:none;
}
nav.sec_pager .page-numbers{
width:auto;
height:auto;
display:inline-block !important;
margin:0 !important;
padding:0 !important;
background:none !important;
}
nav.sec_pager .page-numbers li{
width:30px;
height:30px;
display:inline-block !important;
margin: 0 5px 0 5px;
border-top: none;
}
nav.sec_pager li a.page-numbers{
width:30px;
height:auto;
display:inline-block !important;
color: #ffffff;
border:1px solid #ffffff;
padding:0;
font-style:normal;
font-size:1.4rem;
font-weight:500;
line-height:28px;
text-align:center;
}
nav.sec_pager li a.page-numbers.next,
nav.sec_pager li a.page-numbers.prev{
width:30px;
height:auto;
display:inline-block !important;
color: #ffffff;
border:none;
padding:0;
font-size:1.8rem;
font-weight:500;
line-height:28px;
text-align:center;
}
nav.sec_pager li span.page-numbers.current{
width:30px;
height:auto;
display:inline-block !important;
color: #ffffff;
background-color:#df0000 !important;
border:1px solid #df0000;
padding:0;
font-size:1.4rem;
font-weight:500;
line-height:28px;
text-align:center;
}

.nav-previous,
.nav-next{
width:36%;
display:inline-block;
margin:32px 3% 0 3%;
}
.nav-previous a,
.nav-next a{
display:block;
padding: 0 5px 0 5px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.nav-previous a{
padding-left:25px;
background: url(../img/arr_r.svg) no-repeat left 5px center;
background-size: 15px 12px;
text-align:left;
}
.nav-next a{
padding-right:25px;
background: url(../img/arr_l_w.svg) no-repeat right 5px center;
background-size: 15px 12px;
text-align:right;
}

@media screen and (max-width: 768px) {
.nav-previous,
.nav-next{
width:100%;
display:block;
margin:12px 0 0 0;
}
.nav-previous a,
.nav-next a{
padding: 0 5px 0 5px;
}
.nav-previous a{
padding-left:22px;
background: url(../img/arr_r.svg) no-repeat left 5px center;
background-size: 13px 11px;
text-align:left;
}
.nav-next a{
padding-right:22px;
background: url(../img/arr_l_w.svg) no-repeat right 5px center;
background-size: 13px 11px;
text-align:right;
}
}
/* -- */
/* PAGE NATION */
/* -- */

.wp-block-image img{
width:100%;
height:auto;
}