@charset "utf-8";

/* ---------------------------------------------
	reset
--------------------------------------------- */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td,img { margin: 0; padding: 0; }
table {	border-collapse: collapse; border-spacing: 0; }
fieldset,img { border: 0; }
img { display: block; }
img a { border: none; }
address,caption,cite,code,dfn,em,strong,th,var { font-style: normal; font-weight: normal; }
ol, ul { list-style: none; }
caption, th { text-align: left; }
h1,h2,h3,h4,h5,h6 {	font-size: 100%; font-weight: normal; line-height: 1.0; }
q:before, q:after {	content: ""; }
figure { width: 100%; margin: 0; padding: 0;}

/* ---------------------------------------------
	common
--------------------------------------------- */
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	-webkit-text-size-adjust: 100%;
	word-break: break-all;
	color: #333;
	font-family: Meiryo, メイリオ, 游ゴシック体, 'Yu Gothic', YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Osaka, 'MS PGothic', arial, helvetica, sans-serif;
    background-image: url(../img/bg-body.png);
    background-size: 40px auto;
    background-position: left top;
}

.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
.clearfix {
    display: inline-table;
}

img { width: 100%; height: auto; }

.imgL { float: left; }
.imgR { float: right; }

a { text-decoration: none; }
a:link {color: #231816;}
a:visited {color: #231816;}
a:hover { text-decoration: underline; color: #b60005; -webkit-transition: all .3s; transition: all .3s;}
a:active {color: #b60005;}

.mt00 { margin-top: 0px !important; }
.mt05 { margin-top: 5px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt30 { margin-top: 30px !important; }
.mt40 { margin-top: 40px !important; }
.mt50 { margin-top: 50px !important; }
.mt60 { margin-top: 60px !important; }
.mt70 { margin-top: 70px !important; }
.mt80 { margin-top: 80px !important; }
.mt90 { margin-top: 90px !important; }
.mt100 { margin-top: 100px !important; }

.mb00 { margin-bottom: 0px !important; }
.mb05 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb70 { margin-bottom: 70px !important; }
.mb80 { margin-bottom: 80px !important; }
.mb90 { margin-bottom: 90px !important; }
.mb100 { margin-bottom: 100px !important; }

.ml00 { margin-left: 0px !important; }
.ml05 { margin-left: 5px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30 { margin-left: 30px !important; }
.ml40 { margin-left: 40px !important; }
.ml50 { margin-left: 50px !important; }
.ml60 { margin-left: 60px !important; }
.ml70 { margin-left: 70px !important; }
.ml80 { margin-left: 80px !important; }
.ml90 { margin-left: 90px !important; }
.ml100 { margin-left: 100px !important; }

.mr00 { margin-right: 0px !important; }
.mr05 { margin-right: 5px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.mr40 { margin-right: 40px !important; }
.mr50 { margin-right: 50px !important; }
.mr60 { margin-right: 60px !important; }
.mr70 { margin-right: 70px !important; }
.mr80 { margin-right: 80px !important; }
.mr90 { margin-right: 90px !important; }
.mr100 { margin-right: 100px !important; }

.pt05 { padding-top: 5px !important; }
.pt10 { padding-top: 10px !important; }
.pt20 { padding-top: 20px !important; }
.pt30 { padding-top: 30px !important; }
.pt40 { padding-top: 40px !important; }
.pt50 { padding-top: 50px !important; }

.pb05 { padding-bottom: 5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb40 { padding-bottom: 40px !important; }
.pb50 { padding-bottom: 50px !important; }

.pl05 { padding-left: 5px !important; }
.pl10 { padding-left: 10px !important; }
.pl20 { padding-left: 20px !important; }
.pl30 { padding-left: 30px !important; }
.pl40 { padding-left: 40px !important; }
.pl50 { padding-left: 50px !important; }

.pr05 { padding-right: 5px !important; }
.pr10 { padding-right: 10px !important; }
.pr20 { padding-right: 20px !important; }
.pr30 { padding-right: 30px !important; }
.pr40 { padding-right: 40px !important; }
.pr50 { padding-right: 50px !important; }

.bold { font-weight: bold !important; }
.left { text-align: left !important; }
.center { text-align: center !important; }
.right { text-align: right !important; }

.red01 { color: #FF0000 !important; }
.red02 { color: #CC0000 !important; }
.red03 { color: #990000 !important; }
.red04 { color: #E4007F !important; }

.blue01 { color: #003399 !important; }
.blue02 { color: #006699 !important; }
.blue03 { color: #0066CC !important; }
.blue04 { color: #00A0E9 !important; }

.orange01 { color: #F60 !important; }
.orange02 { color: #F90 !important; }
.orange03 { color: #FC0 !important; }
.orange04 { color: #EB6100 !important; }
.orange05 { color: #FFCC00 !important; }

.green01 { color: #060 !important; }
.green02 { color: #093 !important; }
.green03 { color: #6C0 !important; }

.f20 { font-size: 1.25em !important; }
.f19 { font-size: 1.19em !important; }
.f18 { font-size: 1.12em !important; }
.f17 { font-size: 1.06em !important; }
.f16 { font-size: 1.00em !important; }
.f15 { font-size: 0.94em !important; }
.f14 { font-size: 0.88em !important; }
.f13 { font-size: 0.81em !important; }
.f12 { font-size: 0.75em !important; }

.lh0 { line-height: 1.0 !important; }
.lh1 { line-height: 1.1 !important; }
.lh2 { line-height: 1.2 !important; }
.lh3 { line-height: 1.3 !important; }
.lh4 { line-height: 1.4 !important; }
.lh5 { line-height: 1.5 !important; }
.lh6 { line-height: 1.6 !important; }
.lh7 { line-height: 1.7 !important; }
.lh8 { line-height: 1.8 !important; }

.indent { text-indent: -1em; padding-left: 1em; }

p { line-height: 1.4; }

#gNaviBtn { display: none; }
#gNaviMenu { display: block; }
.gNavi {background: rgba(230,0,18,1);}
.gNavi nav {
    max-width: 1120px;
    margin: 0 auto;
}
.gNavi nav ul {
    display: flex;
    flex-wrap: wrap;
}
.gNavi nav ul li {
    width: 20%;
    text-align: center;
    border-left: 1px solid rgba(255,255,255,0.5);
    font-size: 20px;
}
.gNavi nav ul li:last-child {
    border-right: 1px solid rgba(255,255,255,0.5);
}
.gNavi nav ul li a {
    display: block;
    padding: 15px 5px;
    color: #fff;
}
.gNavi nav ul li a:hover {
    background: rgba(236,143,41,1);
    text-decoration: none;
}

.footerCopy {
    padding: 10px;
    background: rgba(230,0,18,1);
}
.footerCopy p {
    text-align: center;
    font-size: 14px;
    color: #fff;
}

.contentsBody {
    max-width: 1140px;
    margin: 0 auto;
    padding: 10px 10px 0;
}

.headline01 {
    background: rgba(230,0,18,1);
    margin-bottom: 20px;
    padding: 14px;
    color: #fff;
    border: 3px solid #fff;
    border-radius: 6px;
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
    font-size: 24px;
    font-weight: bold;
}
.headline02 {
    background: #fff;
    margin-bottom: 20px;
    padding: 10px;
    border-left: 8px solid rgba(236,143,41,1);
    box-shadow: 0 0 5px rgba(0,0,0,0.4);
    font-size: 22px;
    font-weight: bold;
    color: #057698;
}

.table01 {
    margin-bottom: 30px;
    width: 100%;
}
.table01 th {
    border: 1px solid #999;
    padding: 8px;
    background:  rgba(232,68,108,0.8);
    text-align: center;
    font-weight: bold;
    color: #fff;
    width: 20%;
    font-size: 18px;
}
.table01 td {
    border: 1px solid #999;
    padding: 8px;
    background: rgba(255,255,255,0.8);
    font-size: 18px;
}

.page .titleLogo {
    max-width: 1120px;
    margin: 0 auto;
}

/* ---------------------------------------------
    top
--------------------------------------------- */
.indexBG {
    background-image: url(../img/bg-top.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center top;
}
.top .titleLogo {
    max-width: 960px;
    margin: 40px auto 0;
}
.top .mainImg {
    max-width: 1120px;
    margin: -20px auto 0;
}

/* ---------------------------------------------
    outline
--------------------------------------------- */
.outline .faq ul li {
    background: rgba(252,255,255,0.8);
    margin-bottom: 15px;
    padding: 14px;
    border-top: 5px solid #7c4698;
}
.outline .faq ul li dl dt {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 5px;
    line-height: 1.5;
    color: #057698;
}
.outline .faq ul li dl dd {
    font-size: 18px;
    line-height: 1.5;
}

/* ---------------------------------------------
    artist
--------------------------------------------- */
.artistList {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 40px;
}
.artistList li {
    width: 24.25%;
    margin-right: 1%;
    margin-bottom: 20px;
}
.artistList li:nth-child(4n) {
    margin-right: 0;
}
.artistList li.lasty {
    width: 49.5%;
    margin-right: 0;
}
/* ---------------------------------------------
    schedule
--------------------------------------------- */
.schedule .map {
    max-width: 1120px;
    margin: 0 auto 30px;
}
.schedule .timetable {
    max-width: 1120px;
    margin: 0 auto 20px;
    overflow-x: auto;
}
.schedule .timetable::-webkit-scrollbar {
    height: 5px;
}
.schedule .timetable::-webkit-scrollbar-track {
    border-radius: 5px;
    background: #eee;
}
.schedule .timetable::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: #666;
}

/* ---------------------------------------------
	768px 以下
--------------------------------------------- */
@media only screen and (max-width: 768px) {

    #gNaviMenu { display: none; }
    #gNaviBtn {
        display: block;
        margin: 0;
        padding: 10px 5px;
        background: rgba(230,0,18,1);
        color: #fff;
        width: 100%;
        cursor: pointer;
        text-align: center;
        font-size: 20px;
    }
    .gNavi nav ul li {
        width: 100%;
        border-left: none;
        border-top: 1px solid rgba(255,255,255,0.5);
        text-align: left;
    }
    .gNavi nav ul li:last-child {
        border-right: none;
    }
    .gNavi nav ul li a {
        padding: 10px 5px;
    }

    /* ---------------------------------------------
        artist
    --------------------------------------------- */
    .artistList li {
        width: 32.66666%;
    }
    .artistList li:nth-child(4n) {
        margin-right: 1%;
    }
    .artistList li:nth-child(3n) {
        margin-right: 0;
    }
    .artistList li.lasty {
        width: 100%;
        margin-right: 0;
    }

    /* ---------------------------------------------
        schedule
    --------------------------------------------- */
    .schedule .timetable img {
        width: 768px;
        height: auto;
    }

/* ---------------------------------------------
	640px 以下
--------------------------------------------- */
@media only screen and (max-width: 640px) {

    .table01 {
        border-bottom: 1px solid #999;
    }
    .table01 th {
        display: block;
        border-bottom: none;
        text-align: left;
        width: 100%;
    }
    .table01 td {
        display: block;
        border-bottom: none;
        width: 100%;
    }

    /* ---------------------------------------------
        artist
    --------------------------------------------- */
    .artistList li {
        width: 49.5%;
    }
    .artistList li:nth-child(4n) {
        margin-right: 0;
    }
    .artistList li:nth-child(3n) {
        margin-right: 1%;
    }
    .artistList li:nth-child(2n) {
        margin-right: 0;
    }

}

/* ---------------------------------------------
	480px 以下
--------------------------------------------- */
@media only screen and (max-width: 480px) {


}
