#container{
min-width:1120px;
}
#header{
position:fixed;
z-index:1000;
top:0;
left:0;
width:100%;
background:#BA1C22;
}
.header_in{
width:960px;
margin:0 auto;
}
.header_right,
.header_left{
float:left;
color:#ffffff;
}
.header_left{
width:260px;
}
.header_right{
width:calc(100% - 260px);
}
.header_right_sp{
display:none;
}
.header_right ul{
text-align:right;
}
.header_right ul li{
display:inline-block;
margin-right:1em;
}
.header_right ul li:last-child{
margin-right:0;
}
.header_right ul li a{
display:inline-block;
color:#ffffff;
padding:calc((65px - 1em) / 2) 0;
}
.header_right ul li a:hover{
text-decoration:underline;
}



.kanban{
position:relative;
}
.kanban_in{
background:url(./../images/bg_ruby_sp.jpg) center center;
background-size:cover;
}
.kanban_title{
text-align:center;
}
.kanban_title img{
padding:65px 0 0;
}
.ad_senstick{
position:absolute;
top:calc(65px + 5vh);
right:0;
padding:1rem 2rem 1rem 1rem;
background-color:rgba(0,0,0,0.25);
border-radius:10px 0 0 10px;
}



.summary_in h2,
.teachers_in > h2,
.timetable_in > h2,
.map_in > h2{
display:inline-block;
margin:3rem 0 0 5%;
color:#BA1C22;
font-size:3em;
padding:1rem 2rem;
border:3px solid #ffffff;
position:relative;
z-index:10;
transform:rotate(-3deg);
background:#ffffff;
}



.summary{
background-color:rgba(186,28,34,1);
background-size:cover;
background-attachment:fixed;
position:relative;
}
.summary:before{
content:"";
background-color:rgba(186,28,34,0.7);
position:absolute;
left:0;
top:0;
width:100%;
height:100%;
}
.summary_in{
color:#ffffff;
padding-bottom:3rem;
margin:0 5%;
width:90%;
position:relative;
z-index:10;
}
.summary_in h2{
margin-bottom:3rem;
color:#222222;
}
.summary_in h3{
margin:1rem 0 1rem 0;
font-size:1em;
}
.summary_in dl{
margin-bottom:1em;
}
.summary_in .cf > *{
float:left;
}
.summary_in .cf > dt{
min-width:7rem;
margin-right:1rem;
text-align:right;
}
.summary_in .cf > dd dt{
min-width:5rem;
text-align:left;
}
.summary_in dl dd h3{
margin-top:0;
}
.summary_in dl dd dl + h3{
margin-top:1rem;
}
.summary_in dl dl{
margin-left:1rem;
line-height:1.4;
}
.summary_in dl p{
margin-bottom:1rem;
}
.summary_in dl p:last-child{
margin-bottom:0;
}
.summary_in a{
color:#ffffff;
}
.summary_in a:hover{
text-decoration:underline;
}

.summary_main{
text-align:center;
}
.summary_main_in{
display:inline-block;
text-align:left;
}



.teachers_in{
background:#222222;
}
.katagaki{
margin-bottom:0.5rem;
font-size:12px;
}
.special_teachers{
position:relative;
background:url("./../images/bg_teachers.jpg");
background-size:cover;
height:calc((807 / 1920) * 100vw);
min-height:470px;
}
.teacher_matz{
box-sizing:border-box;
padding:1rem 25% 1rem 5%;
color:#ffffff;
}
.teacher_matz h2{
font-size:3em;
}
.teacher_matz p{
margin-top:0.5rem;
line-height:1.4;
}
.teacher_manyo{
padding:0 5% 0 30%;
color:#ffffff;
position:absolute;
bottom:5vh;
}
.teacher_manyo h2{
font-size:3em;
}
.teacher_manyo p{
margin-top:0.5rem;
line-height:1.4;
}
.teacher_other{
padding:3rem 0;
background:#222222;
color:#ffffff;
}
.teacher_other h2{
font-size:3em;
}
.teacher_other h2 + p{
margin-top:1rem;
line-height:1.4;
}
.teacher_other ul{
width:960px;
margin:0 auto;
}
.teacher_other ul li{
float:left;
}
.teacher_other ul li:first-child{
width:138px;
margin-right:1rem;
}
.teacher_other ul li:last-child{
width:calc(100% - (138px + 1rem));
}
.teacher_other > ul:nth-child(n + 2){
margin-top:1rem;
}



.timetable_in{
background:#BA1C22;
padding-bottom:3rem;
}

.timetable_in > h2{
border:3px solid #ffffff;
color:#222222;
}
.timetable_list{
display:none;
}
.timetable_table{
width:90%;
margin:3rem 5% 0;
border:3px solid #ffffff;
}
.timetable_table td,
.timetable_table th{
border:1px solid #fff;
text-align:center;
padding:0.5rem 0;
vertical-align:middle;
background-color:#F2AAAD;
line-height:1.4;
}
.timetable_table th{
border-bottom:3px solid #ffffff;
}
.timetable_table td p{
margin-bottom:0.5rem;
}
.timetable_table td p:last-child{
font-size:10px;
}
.timetable_table td a{
margin:0 auto;
display:block;
width:calc(100% - 4rem);
text-align:center;
padding:1rem 0;
background:#BA1C22;
border-radius:5px;
color:#ffffff;
}
.timetable_table td a:hover{
opacity:0.8;
}
.timetable_table .no_events{
background:#cccccc;
}
.timetable_announce{
margin:1rem 5% 0;
width:90%;
color:#ffffff;
}



.map_in{
background:#222222;
padding-bottom:3rem;
}
.map_in > .cf{
margin:3rem 5% 0;
}
.map_in > .cf > div{
float:left;
}
.map_in_left{
float:left;
width:48.75%;
margin-right:2.5%;
}
.map_in_left iframe{
width:100%;
}
.map_in_right{
float:left;
width:48.75%;
color:#ffffff;
line-height:1.4;
}
.map_in_right dl{
margin-bottom:1rem;
}
.map_in_right dl dt{
font-size:1.5rem;
}
.map_in_right dl dt:first-letter{
color:#BA1C22;
font-size:2rem;
}
.map_in_right dl dd a{
color:#ffffff;
}
.map_in_right dl dd a:hover{
text-decoration:underline;
}
.map_in_right dl dd + dd{
margin-top:0.5rem;
}
.map_in_right dl dd + dd img{
max-width:100%;
}



#footer{
background:#BA1C22;
color:#ffffff;
}
.footer_in{
padding:3rem 0;
width:90%;
margin:0 5%;
}
.footer_in > div{
margin-top:2rem;
}
.footer_in > div:first-child{
margin-top:0;
}
.footer_in h3{
font-size:1.5rem;
background:#BA1C22;
}
.footer_in h3 + *{
margin-top:1rem;
}
.footer_in p,
.footer_in li{
line-height:1.4;
}
.footer_in a{
color:#ffffff;
}
.footer_in a:hover{
text-decoration:underline;
}
.footer_main{
background:#222222;
padding:1em 0 7em;
text-align:center;
}

.footer_sponsor > p{
margin-top:1rem;
}
.sponsor_premiere,
.sponsor_normal{
display:flex;
flex-wrap:wrap;
}
.sponsor_normal{
margin-top:calc(1rem - 5px);
}
.sponsor_premiere li,
.sponsor_normal li{
width:calc((100% - 15px) / 4);
background:#ffffff;
box-sizing:border-box;
text-align:center;
color:#333333;
margin-right:5px;
}
.sponsor_normal li{
width:calc((100% - 35px) / 8.001);
margin-top:5px;
}
.sponsor_normal li:nth-child(8n + 8){
margin-right:0;
}
.sponsor_premiere li:nth-child(4n + 4){
margin-right:0;
}
.sponsor_premiere a,
.sponsor_normal a{
display:flex;
align-items:center;
justify-content:center;
flex-direction:column;
box-sizing:border-box;
height:100%;
padding:1rem 0.25rem;
border:3px solid transparent;
color:#333333;
}
.sponsor_premiere li a:hover,
.sponsor_normal li a:hover{
border:3px solid #F2AAAD;
text-decoration:none;
}
.sponsor_premiere li p,
.sponsor_normal p{
max-width:100%;
}
.sponsor_premiere li img,
.sponsor_normal img{
margin-bottom:0.5rem;
}
.sponsor_normal span{
font-size:12px;
width:100%;
}




#ad_apply{
position:fixed;
bottom:1rem;
left:0;
width:100%;
text-align:center;
background: #eab92d;
background: -moz-linear-gradient(top, #eab92d 0%, #c79810 62%, #c79810 62%, #eab92d 100%);
background: -webkit-linear-gradient(top, #eab92d 0%,#c79810 62%,#c79810 62%,#eab92d 100%);
background: linear-gradient(to bottom, #eab92d 0%,#c79810 62%,#c79810 62%,#eab92d 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eab92d', endColorstr='#eab92d',GradientType=0 );
z-index:500;
opacity:1;
}
#ad_apply a:hover{
color:#ffffff;
}
#ad_apply a{
display:block;
padding: 1em 0;
color:#333333;
font-size:1.5em;
font-weight:bold;
}
