img{ border:0; vertical-align:bottom;}
.clear{ clear:both; height:0;}
.center{ text-align:center;}
ul{ list-style:none; margin:0; padding:0;}
p{ margin: 0;}
a:hover img, a:hover{ opacity:0.7; filter:alpha(opacity=70); transition: all .5s;}

body{ margin: 0;}

#notice{ margin: 0 auto 30px; padding: 0; width: 980px;}
#notice p{ text-align: center; color: #000; font-size: 20px; font-weight: bold; line-height: 140%; padding: 20px 0;}
#notice a{ background: #cc0000; text-align: center; display: block; color: #FFF; font-size: 20px; font-weight: bold; text-decoration: none; line-height: 140%; padding: 15px 10px 20px;}
#notice a:hover{ opacity:0.7; filter:alpha(opacity=70); transition: all .5s;}

#mainArea{ width: 100%; overflow: hidden; margin: 0 auto; background: #000; text-align: center;}
#mainArea .slider img{ width: 1200px; margin: 0 auto;}
#Wrap{ background: #000; width: 100%; margin: 0 auto;}
#topWrap{ width: 1200px; margin:50px auto; padding: 0 0 80px; color: #000; font-family:"Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3","メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, sans-serif; position: relative;}

#topWrap h1{ margin: 0; text-align: center;}
#topWrap h1 span{ text-indent: -9999px; display: none;}

#topWrap a{ color: #fff;}
#topWrap a:hover{ text-decoration: none;}
#topWrap .inner{ width: 1200px; margin: 0 auto 10px; padding: 100px 0 0;}

#topWrap p.lead {width: 980px;  margin: 0 auto; color: #fff; font-size: 18px; font-weight: 400; line-height: 200%; letter-spacing: 0.15em; }

#topWrap h2{ margin: 0 auto 30px; color: #FFF; font-size: 40px; font-weight: 800;}
#topWrap .subttl { margin: 0 auto; color: #AF1A2E; font-size: 24px; font-weight: 400;}

#mainArea ul.bnrArea { width: 1200px; margin: 30px auto 0;background: linear-gradient(to right, #881A2E, #E43535, #881A2E);text-align:center; font-color:#fff; letter-spacing: 0.1em; }
#mainArea ul.bnrArea li {padding:20px 0; font-size:16pt; font-weight: bold; } 
#mainArea ul.bnrArea li a { text-decoration: none; color:#fff;}

#topWrap ul.btnArea { width: 1100px; margin: -30px auto 50px; display: flex; flex-wrap:wrap;justify-content: center;}
#topWrap ul.btnArea li.base { width: calc(1000px / 3 - 10px); height: 300px; margin: 10px; background: linear-gradient(180deg, #262626 0%, #262626 67%, #414141 67%, #414141 100%); border: #414141 6px solid;}
#topWrap ul.btnArea li .txt {font-weight: bold; font-size: 24px; letter-spacing: 0.1em; margin: 40px auto 5px; text-align:center;}
#topWrap ul.btnArea li span{ font-size: 12px; display: block; }
#topWrap ul.btnArea li a { text-decoration: none;}
#topWrap ul.btnArea li img  {width: auto; height:130px; margin: 0 auto; padding: 30px 55px;}

#topWrap .eventArea{ margin: 0 auto 10px; padding: 40px; display: flex; color: #FFF}
#topWrap .eventArea .text h4 { margin: 0 auto 20px; font-size: 24px; font-weight: 600; text-align: center; }
#topWrap .eventArea .text p.txt { margin: 0 auto 40px; font-size: 16px; text-align: center;}
#topWrap .eventArea .imgL { width: 500px; margin-right: 30px; float: left;}
#topWrap .eventArea .text {float: right; width: 600px;}
#topWrap .eventArea table { width: 100%; background: #414141;  font-size: 16px; line-height: 150%;}
#topWrap .eventArea table th{ width:20%; padding: 14px; border-bottom: 5px solid #000; }
#topWrap .eventArea table td{ padding: 14px; border-bottom: 5px solid #000;  text-align: left; }


#topWrap .outline{ width: 980px; margin: 0 auto; padding-bottom: 80px;}
#topWrap .outline table{ width: 100%; background: #262626; font-size: 16px; line-height: 150%; color: #fff;}
#topWrap .outline table th{ width:15%; padding: 15px; border-bottom: 5px solid #000; }
#topWrap .outline table td{ padding: 15px; border-bottom: 5px solid #000; text-align: left; }

#topWrap .opening{ width: 980px; margin: 0 auto; padding-bottom: 80px; text-align: left; color: #FFF}
#topWrap .opening table{ width: 100%; background: #262626; font-size: 16px; line-height: 150%;}
#topWrap .opening table th{ width:30%; padding: 15px 30px; border-bottom: 5px solid #000; }
#topWrap .opening table td{ padding: 15px; border-bottom: 5px solid #000; }
#topWrap .opening p.txt { margin: 10px auto 40px; font-size: 16px; text-align: left}

#topWrap .timetable { width: 700px; margin: 0 auto; background-color: #262626;line-height: 150%; padding-bottom: 50px;}
#topWrap .timetable_tab ul{ margin:0 auto -3px; padding: 40px 15px 20px; display: flex; flex-wrap: nowrap; justify-content: center; text-align: center;}
#topWrap .timetable_tab li.isOpen { padding: 10px; color: #fff; font-weight: 600; font-size: 20px; cursor:default;  text-decoration: underline;
  text-underline-offset: 15px; text-decoration-thickness: 5px; text-decoration-color: #AF1A2E;}
#topWrap .timetable_tab li { font-size: 20px; width: 180px; color: #6c6c6c; padding: 10px; cursor: default;}
#topWrap .timetable_contents{ width:80%; max-height: 500px; padding: 0 30px 30px; margin: 20px auto 0;  overflow-y: scroll; overflow-x:hidden;scrollbar-width: thin;}
#topWrap .timetable_contents dl.isShow { display: block; }
#topWrap .timetable_contents dl{ display: none; }
#topWrap .timetable_contents dt{ font-size: 16px; color: #fff; font-weight: 600; letter-spacing: 0.2em; padding:  20px 0 0 0; }
#topWrap .timetable_contents dd{ padding: 0 0 20px 0; color: #fff; border-bottom: 1px dashed #6C6C6C; margin: 0 auto;}
#topWrap .date { font-size: 18px; color: #fff; display: block; font-weight: 400; margin: 10px 0 0;}


#topWrap ul.links { width: 980px; margin: 0 auto; display: flex; justify-content: space-around;}
#topWrap ul.links li { width: 450px;}


#footer{ width: 1200px; padding: 30px 0; margin: 0 auto; overflow:hidden;}
#footer p.note{ font-size:12px; line-height:140%;}

.pc{ display: inherit;}
.sp{ display: none;}
.blue {color: #78C4D4;}


/*-- BUTTON --*/
.redBtn{
    margin: 40px auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.redBtn a{
    width: auto;
    min-width: 400px;
    display: flex;
    margin: 0 auto;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    text-align: center;
    color: #fff !important;
    line-height: 1.6;
    font-size: 18px;
    font-weight: bold;
    padding: 15px 15px;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    text-decoration: none !important;
}

.redBtn a span{
    position: relative;
    z-index: 2;
    display: block;
}

.redBtn a::after{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 200%;
    height: 100%;
    background:#AF1A2E;
    z-index: 1;
    transition: transform 0.3s ease;
}


@media screen and (max-width: 750px) {
img{ border:0; vertical-align:bottom; width: 100%;}
.clear{ clear:both;}
.clear_sp{ clear:both;}
.center{ text-align:center;}
ul{ list-style:none; margin:0; padding:0;}
.clearfix:after{ content:"."; display:block; clear:both; height:0; visibility:hidden;}

.end_pc{ display:none;}
.end_sp{ margin:5px 0;}
.pc{ display: none;}
.sp{ display: inherit;}

html{ -webkit-text-size-adjust:none; margin:0 auto; padding:0;}
body{ margin:0 auto; padding:0; background:#fff;
*font-size:small;
*font:x-small;}
img{ max-width:100%; height:auto; width:auto\9; /* ie8 */}
#container{ width:100%; margin:0 auto; padding:0; font-family:"Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro","メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, sans-serif; position: relative;}

#notice{ margin: 0 auto 10%; padding: 0; width: 100%;}
#notice p{ color: #000; font-size: 14px; font-weight: bold; line-height: 140%; padding: 3% 5% 0;}
#notice a{ background: #cc0000;  display: block; color: #FFF; font-size: 14px; font-weight: bold; text-decoration: none; line-height: 140%; padding: 3% 5%; width: 90%;}

#mainArea{ width: auto; height: auto; overflow: hidden; margin: 0 auto; background: #000;}
#mainArea .slider img{ width: 100%;}
#mainArea ul{ margin: 0; padding: 0; }
	
#mainArea ul.bnrArea { width: 100%; margin: 15px auto 0;background: linear-gradient(to right, #881A2E, #E43535, #881A2E);text-align:center; font-color:#fff;letter-spacing: 0.1em; }
#mainArea ul.bnrArea li { font-weight: 400; padding:10px; font-size:12pt; } 
#mainArea ul.bnrArea li a { text-decoration: none; color:#fff;}
	
#topWrap ul.btnArea{ width: 100%; margin: -10% 0 auto; justify-content: space-between;}
#topWrap ul.btnArea li.base { width:calc(90% /2); height: auto; margin: 0 0 20px 0; padding:0;}
#topWrap ul.btnArea li .txt{  font-weight: bold; font-size: 12px; letter-spacing: 0.1em; display: block; margin: 0 auto; padding: 12% 0 5%}
#topWrap ul.btnArea li span{ font-size: 12px; }
#topWrap ul.btnArea li img  { height: auto; display: block;  padding:5% 0 ;}

#topWrap .eventArea{ margin: 0 auto 20%; padding: 0; display:flex; flex-direction: column;}
#topWrap .eventArea .text h4 { margin: 5% auto 3%; font-size: 20px; font-weight: normal;}
#topWrap .eventArea .text p.txt { margin: 0 auto 10%; font-size: 14px; }
#topWrap .eventArea .imgL { width: 100%; margin-right: 0; float: left;}
#topWrap .eventArea .text {float: right;  width: 100%; padding-top: 5%;}
#topWrap .eventArea table { width: 100%; background: #262626; color: #FFF; font-size: 14px; line-height: 150%;}
#topWrap .eventArea table th{ width: 50%; display: block; padding: 4% 4% 0; border-bottom: none; font-weight: normal; text-align: left; vertical-align: top; color: #C3C3C3;}
#topWrap .eventArea table td{ display: block; padding: 3% 4% 4%; border-bottom: 5px solid #000;}
	
#Wrap{ background: #000;}
#topWrap{ width: auto; margin:0 auto; color: #000; }
#topWrap h1{ width: 90%; margin: 0 auto; }
#topWrap a{ color: #fff;}
#topWrap a:hover{ text-decoration: none;}
#topWrap .inner{ width: auto; margin: 10% auto; padding: 2% 5% 0;}
#topWrap p.lead {width: 100%;  margin: 0 auto; color: #fff; font-size: 14px; font-weight: 400; line-height: 200%; letter-spacing: 0.1em; }

#topWrap h2{ margin: 0 0 5%; color: #FFF; font-size: 24px; font-weight: normal;}
#topWrap .subttl { margin: 0 auto; color: #AF1A2E; font-size: 16px; font-weight: 400;}
	
#topWrap .outline, #topWrap .opening{ width: auto; margin: 0 auto 100px; padding-bottom: 0;}
#topWrap .outline table, #topWrap .opening table{ width: 100%; background: #262626; color: #FFF; font-size: 14px; line-height: 150%; text-align: left;}
#topWrap .outline table th,#topWrap .opening table th { width: 50%; display: block; padding: 4% 4% 0; border-bottom: none; font-weight: normal; vertical-align: top; color: #C3C3C3;}
#topWrap .outline table td, #topWrap .opening table td{ display: block; padding: 3% 4% 4%; border-bottom: 5px solid #000;}

#topWrap .timetable { width: 100%; margin: 0 auto 50px; padding-bottom: 20px;}
#topWrap .timetable_tab ul{ margin:0 auto -3px; padding: 20px 20px 10px; display: flex; flex-wrap: nowrap; justify-content: center; text-align: center;}
#topWrap .timetable_tab li.isOpen { padding: 2px; font-size: 14px;
  text-underline-offset: 10px; text-decoration-thickness: 3px; }
#topWrap .timetable_tab li { font-size: 14px; padding: 2px;}
#topWrap .timetable_contents{ width:90%; max-height: 500px; padding:0 10px; margin: 0 auto; }
#topWrap .timetable_contents dt{ font-size: 14px;letter-spacing: 0.15em;}
	
#topWrap ul.links { width: 80%;  flex-direction:column;justify-content:space-around; text-align: center;}
#topWrap ul.links li { width: auto; margin-bottom: 20px;}
	
#footer { width:auto; padding:5% 5%; background-color:#fff;}
#footer p.note{ font-size:10px; line-height: 140%;}
}