/*e-amusementサイトテンプレート*/
header,footer,header#id_nav_menu_1{position:relative !important;}
header#id_nav_menu_1{background-color:#fff;}
#wrapper{position:relative !important;}
#container{background:#fff;}

/*z-index*/
#main,#main::before,#main::after {z-index:1;}
#main > #main-inner              {z-index:2;}
#main > #main-inner > #frame     {z-index:3;}

header#id_nav_menu_1              {z-index:9999 !important;}
footer                            {z-index:2 !important;}
#page-top,#page-top a             {z-index:100 !important;}

/*
================================================================================================================
COMMON
================================================================================================================
*/
*{padding:0; margin:0; border:0;}
*, *:before, *:after{
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
-o-box-sizing:border-box;
-ms-box-sizing:border-box;
box-sizing:border-box;}

html{width:100%; height:100%; overflow-wrap:break-word}
body{
min-width:320px !important;
background:#000 !important;
margin:0 auto;
font-family:"メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
overflow-x:hidden;}
h1,h2,h3,h4,h5,h6{display:none;}
a{outline:none;}
a:link,a:visited,a:hover,a:active{text-decoration:none;}
a img{transition:opacity .3s ease;}
img{padding:0; margin:0; border:0; vertical-align:bottom;}
ul{margin:0; padding:0; border:0;}
li{list-style:none;}
strong,em,b{font-weight:700; font-style:normal;}
table{width:100%; color:#000; border-collapse:collapse; border-spacing:0; margin:0 auto;}

.no-show{display:none;}/*タブ切替*/
.red{color:#cb0715;}

/*
================================================================================================================
COMMON
================================================================================================================
*/
#main{position:relative; width:100%; height:100%;}
#main::before,
#main::after{
display:block;
content:"";
width:100%;
top:0;
left:0;}
#main::before{
position:fixed;
height:100%;
background-color:#000;
background-image:url(../img/common/bg/grd.png) , url(../img/common/bg/bg01.png) , url(../img/common/bg/bg00.png);
background-position:bottom , center , center , bottom right;
background-repeat:repeat-x , no-repeat , no-repeat;
background-size:10px , cover , cover , 25% auto;}
#main::after{
position:absolute;
height:30px;
background-image:url(../img/common/bg/topbg_top.png);
background-position:top ;
background-repeat:repeat-x;
background-size:auto;
}
/*
#main::before{
position:fixed;
height:100%;
background-color:#000;
background-image:url(../img/common/bg/grd.png) , url(../img/common/bg/pat.png) , url(../img/common/bg/top.png) , url(../img/common/bg/btm.png);
background-position:bottom , center , top left , bottom right;
background-repeat:repeat-x , repeat ,  no-repeat , no-repeat;
background-size:auto 150px , cover , 25% auto , 25% auto;}
#main::after{
position:absolute;
height:30px;
background:linear-gradient(to bottom, rgba(196,250,252,.6) 0%,rgba(196,250,252,0) 100%);}
*/
#main-inner{position:relative; width:100%; max-width:1200px; margin:0 auto;}
@media screen and (min-width:1101px){#main-inner{display:flex;}}

#frame{
position:relative;
width:50%;
max-width:480px;
background-image:url(../img/common/bg/main_bg_top.png) , url(../img/common/bg/main_bg_bottom.png) , url(../img/common/bg/mainbg_under.png) , url(../img/common/bg/mainbg00.jpg);
background-repeat:no-repeat , no-repeat , no-repeat , repeat-y;
background-size:100% auto , 100% auto , 100% auto , 100% auto;
background-position:top , bottom , bottom , top;
margin-left:50%;
padding:0;}
#frame::before,
#frame::after{
display:block;
content:"";
width:5px;
height:100%;
position:absolute;
top:0;
background:#dbff49;
pointer-events:none;
z-index:3;}
#frame::before{left:-5px; border-left: solid 1px #000;}
#frame::after{right:-5px; border-right: solid 1px #000;}
@media screen and (max-width:1100px){#frame{width:100%; max-width:480px; margin:0 auto;}}

#frame > #inner{position:relative; width:100%; height:100%; padding:0 0 30px;}
#frame > #inner::before,
#frame > #inner::after{
display:block;
content:"";
width:5px;
/*height:calc(100% - 50px);*/
height:100%;
position:absolute;
background:#3fe1e8;
pointer-events:none;
z-index:3;}
#frame > #inner::before{bottom:0; left:-10px; filter:drop-shadow(0px 4px 10px #fe2e63);}
#frame > #inner::after{top:0; right:-10px; filter:drop-shadow(0px 4px 10px #fe2e63);}
@media screen and (max-width:500px){#frame > #inner::before,#frame > #inner::after{display:none;}}

#frame > #inner img{width:100%;}

/*プレゼントキャンペーン背景*/
#frame.bg02{
background-image:url(../img/common/bg/main_bg2_top.png) , url(../img/common/bg/main_bg2_bottom.png) , url(../img/common/bg/mainbg2_under.png) , url(../img/common/bg/mainbg00.jpg);
}
/*
=========================
メインフレーム中身
=========================
*/
#frame > #inner > #main-visual{position:relative;}
#frame > #inner > #main-visual img{padding:60px 0 30px 0;}

/*見出し*/
#frame > #inner h2{display:block; width:100%; margin:20px auto 30px;}
/*@media screen and (max-width:470px){
#frame > #inner h2:not(.ver02){width:110%; margin:20px auto 10px -5%;}
}*/
/*
#frame > #inner h2.yellow{
color:#000;
background:#8c8c8c;
font-family:"M PLUS Rounded 1c" !important;
font-size:16px;
font-weight:bold;
text-align:center;
line-height:120%;
padding:2px;
border:2px solid #fff;
border-radius:10px;
margin:0 auto 10px;
box-shadow:0 5px 2px rgba(0,0,0,.1);}
#frame > #inner h2.yellow p{background: linear-gradient(to bottom, #ffdd94 0%, #fcffc5 100%); border-radius:6px; padding:5px 0 8px;}
#frame > #inner h2.yellow p span{display:inline-block; filter:drop-shadow(0 0 0 #fff) drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff) drop-shadow(0 0 2px #fff);}
@media screen and (max-width:400px){#frame > #inner h2.yellow{font-size:14px;}}
@media screen and (max-width:370px){#frame > #inner h2.yellow{font-size:12px;}}*/

/*ver02-ピンク*/
#frame > #inner h2.ver02{
color:#000;
font-family:"M PLUS Rounded 1c" !important;
font-size:16px;
font-weight:bold;
transform:rotate(0.05deg);
text-align:center;
line-height:120%;
border:3px solid #000;
border-radius:20px;
margin:0 auto 10px;
box-shadow:0 5px 2px rgba(234,255,68,.8);}
#frame > #inner h2.ver02 p{background-color:#fe2e63; color:#fff; border-radius:16px; padding:8px 0 8px;}
#frame > #inner h2.ver02 p span{display:inline-block; filter:drop-shadow(0 0 0 #000) drop-shadow(0 0 1px #000) drop-shadow(0 0 1px #000) drop-shadow(0 0 1px #000) drop-shadow(0 0 1px #000);}
@media screen and (max-width:400px){#frame > #inner h2.ver02{font-size:14px;}}
@media screen and (max-width:370px){#frame > #inner h2.ver02{font-size:12px;}}

/*ver03-ブルー*/
#frame > #inner h2.ver03{
color:#000;
font-family:"M PLUS Rounded 1c" !important;
font-size:16px;
font-weight:bold;
text-align:center;
line-height:120%;
border:3px solid #000;
border-radius:20px;
margin:0 auto 10px;
box-shadow:0 5px 2px rgba(234,255,68,.8);}
#frame > #inner h2.ver03 p{background-color:#01a1ff; color:#fff; border-radius:16px; padding:8px 0 8px;}
#frame > #inner h2.ver03 p span{display:inline-block; filter:drop-shadow(0 0 0 #000) drop-shadow(0 0 1px #000) drop-shadow(0 0 1px #000) drop-shadow(0 0 1px #000) drop-shadow(0 0 1px #000);}
@media screen and (max-width:400px){#frame > #inner h2.ver03{font-size:14px;}}
@media screen and (max-width:370px){#frame > #inner h2.ver03{font-size:12px;}}

#frame > #inner h3{
display:block;
color:#fff;
background:#666;
font-family:"M PLUS Rounded 1c" !important;
transform:rotate(0.05deg);
font-size:18px;
text-align:center;
letter-spacing:1px;
padding:5px;
border-radius:5px;
margin:20px auto 10px;}
#frame > #inner h3:first-child{margin:0 auto 10px;}

#frame > #inner h4{
display:block;
font-family:"M PLUS Rounded 1c" !important;
transform:rotate(0.05deg);
font-size:15px;
font-weight:bold;
text-align:center;
letter-spacing:1px;
border-bottom:1px solid;
padding:0 0 5px;
margin:20px auto 10px;}


/*強調文*/
.catch,.notice{
font-family:"Noto Sans JP" !important;
transform:rotate(0.05deg);
font-size:18px;
line-height:140%;
text-align:center;
margin:10px auto;}
.catch{letter-spacing:-1px;}
.catch.white{filter:drop-shadow(0 0 0 #fff) drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff) drop-shadow(0 0 3px #fff);}
.catch.blue{color:#000; filter:drop-shadow(3px 3px 0 #c3fdff);}
.notice{color:#ff5078;}
@media screen and (max-width:370px){.catch{font-size:16px;}}

.catch.white{font-size:24px; font-weight:500; letter-spacing:0;}
.catch.white span{color:#01a1ff;}
@media screen and (max-width:400px){.catch.white{font-size:20px;}}

/*ボックス*/
.box{
width:calc(100% - 40px);
color:#434343;
background-color:#fff;
background-image:url(../img/common/bg/top.png) , url(../img/common/bg/btm.png);
background-position:top left , bottom right;
background-repeat:no-repeat , no-repeat;
background-size:25% auto , 25% auto;
font-family:"Noto Sans JP", sans-serif;
font-size:14px;
border:4px solid #8c8c8c;
border-radius:30px;
padding:20px;
margin:0 auto;
box-shadow:0 5px 2px rgba(0,0,0,.1);
/*transform:rotate(0.05deg);*/
}

.box > .box{width:100% !important; border:2px solid #8c8c8c; border-radius:20px;}
.box > .box + .box{margin-top:20px;}

.box > .box > .box{width:100% !important; background:linear-gradient(to bottom, #fff 0%,#d5fff9 100%) !important; border:1px solid #c4c3c2; border-radius:10px; padding:10px;}
.box > .box > .box + .box{margin-top:10px;}

#inner > .box + .box{margin-top:40px;}

.box.blue{background-color:#bad8dc;}
.box.pink{background:linear-gradient(to bottom, #ffbde1 0%,#fff0ac 100%) !important;}
.box.yellow{background:linear-gradient(to bottom, #ffdd94 0%,#fcffc5 100%) !important;}
.box.green{background:linear-gradient(to bottom, #e2fcff 0%,#ebffe0 100%) !important;}
.box.none{color:#000; background-color:transparent; background-image:none; border:none; box-shadow:none; padding:0;}

/*box追加*/
.box.ver02{
background-image:url(../img/present/flame_deco00.png),url(../img/present/flame_deco01.png);
background-size:80% auto , 80% auto;
background-position:top left , bottom right;
background-repeat:no-repeat , no-repeat;
background-color:rgba(255, 255, 255, 0.8); !important; 
box-shadow:0px 0px 0px 5px #000, 0px -5px 0px 3px #fe2e63, 0px 5px 0px 3px #fe2e63;
border:none; 
}
.box.ver03{
background-image:url(../img/present/flame_deco00_blue.png),url(../img/present/flame_deco01_blue.png);
background-size:80% auto , 80% auto;
background-position:top left , bottom right;
background-repeat:no-repeat , no-repeat;
background-color:rgba(255, 255, 255, 0.8); !important; 
box-shadow:0px 0px 0px 5px #000, 0px -5px 0px 3px #01a1ff, 0px 5px 0px 3px #01a1ff;
border:none; 
}

@media screen and (max-width:470px){
.box{width:calc(100% - 20px); font-size:13px; border:2px solid #8c8c8c; border-radius:10px; padding:10px;}
.box > .box{border:1px solid #8c8c8c; border-radius:6px;}
.box > .box + .box{margin-top:10px;}
.box > .box > .box{border-radius:4px; /*padding:5px;*/}
/*.box > .box > .box + .box{margin-top:5px;}*/
#inner > .box + .box{margin-top:20px;}}

/*
=========================
ボタン
=========================
*/
.btn-link{
position:relative;
display:block;
width:calc(100% - 40px);
background:#fff;
font-family:"M PLUS Rounded 1c" !important;
font-size:18px;
font-weight:500;
text-align:center;
border:2px solid #8c8c8c;
border-radius:10px;
padding:2px;
margin:30px auto 10px;
transition:all .2s ease;}
.btn-link p{
color:#fff;
background:#ff5078;
border-radius:8px;
padding:10px 0;
box-shadow:-3px -3px 3px rgba(0,0,0,.4) inset , 3px 3px 3px rgba(255,255,255,.4) inset;
transition:all .2s ease;}
.btn-link:hover p{background:#43e2e8;}

.btn-link.back{color:#000; padding:10px 0;}
.btn-link.back::after{
display:block;
content:"";
position:absolute;
top:calc(50% - 10px);
right:20px;
width:0;
height:0;
border-style:solid;
border-top:10px solid transparent;
border-bottom:10px solid transparent;
border-left:16px solid;
border-right:0;
transition:right .2s ease;}
.btn-link.back:hover{color:#ff5078; background:#f6f7f8;}
.btn-link.back:hover::after{right:15px;}

.btn-link.disable{pointer-events:none; filter:grayscale(1); opacity:.7;}

.box .btn-link{width:100% !important;}

@media screen and (max-width:470px){
.btn-link{width:calc(100% - 20px); font-size:16px; margin:20px auto 5px;}
.btn-link.back::after{
top:calc(50% - 8px);
border-top:8px solid transparent;
border-bottom:8px solid transparent;
border-left:12px solid;}}

/*
=========================
リスト
=========================
*/
.small{font-size:12px;}
@media screen and (max-width:470px){.small{font-size:11px;}}

ul.dot,ul.ast,ul.num{line-height:180%;}
ul.dot > li,ul.ast > li,span.ast{display:block; position:relative; padding-left:18px;}
ul.dot > li::before,
ul.ast > li::before,
span.ast::before{display:block; position:absolute; top:0; left:0;}

ul.dot > li::before{content:""; top:10px; left:4px; width:5px; height:5px; background:#693429; border-radius:50%;}
ul.dot > li.red::before{background:#cb0715;}
ul.ast > li::before,span.ast::before{content:"※";}

ul.ast.small > li,span.ast.small{padding-left:14px;}

ul.ast li a{color:#ff5078; text-decoration:underline;}
ul.dot li a{color:#ff5078; text-decoration:underline;}
ul.ast li a:hover{text-decoration:none;}


/*マルシー表記*/
.copy{font-size:10px; color:#fff; text-align:center;}
/*
================================================================================================================
TOPに戻るボタン
================================================================================================================
*/
#page-top{
position:fixed;
bottom:0;
right:5px;
visibility:hidden;
transition:all .4s ease;
opacity:0;}
#page-top a{
display:block;
position:relative;
width:90px;
height:90px;
background-image:url(/game/bemani/tohoongakusai2024/img/common/menu/btn_top.png);
background-size:auto 78px;
background-repeat:no-repeat;
background-position:center;
clip-path:polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
filter:drop-shadow(0 3px 0 rgba(155,110,99,.8));
transition:opacity .4s ease;}
#page-top a:hover{opacity:.7;}

#page-top.scroll{bottom:0; opacity:1; visibility:visible;}

@media screen and (max-width:1100px){
#page-top{right:0;}
#page-top a{width:70px; height:70px; background-size:auto 58px;}}

/*
================================================================================================================
ERROR
================================================================================================================
*/
#error{display:flex; width:100%; min-height:calc(100vh - 496px); align-items:center;}
#error > *{width:100%;}
@media screen and (max-width:1100px){#error{min-height:calc(100vh - 695px);}}
@media screen and (max-width:480px){#error{min-height:calc(100vh - 664px);}}