@charset "utf-8";

/* lineup */
#headImg {
	background-image: url("../images/head_img.jpg");
}

main {
	padding:2em 0 0 0;
}

main .pageTtl {
	margin: 0 0 20px;
	text-align: center;
}

main .pageTtl h2 {
	display: inline-block;
	padding: 0;
	line-height:1;
	font-weight: bold;
	font-size: 2.4rem;
	color: #545454;
}

main .pageTtl h2::after {
	content: "";
	border-bottom: 3px solid #2fb8dd;
	display: block;
	width: 1em;
	margin: 5px auto 0 auto;
}

.pageTab {
	margin: 0 0 50px;
	text-align: center;
	font-size:0;
}
.pageTab.btmTab {
	margin-bottom: 0;
}

.pageTab li {
	display:inline-block;
	width:20%;
	font-size:1.6rem;
	box-sizing:border-box;
}

.pageTab li + li {
	border-left: 1px solid #cccccc;
}

.pageTab li img {
	background-position:center center;
	background-repeat: no-repeat;
	background-size: contain;
}

.pageTab li a,
.pageTab li.crnt span {
	display:block;
	padding:0 0.3em;
}

.pageTab li.pgBtnTokyo img {
	background-image: url(../images/pgbtn_tokyo.svg?v=0726a);
}
.pageTab li.pgBtnTokyo:hover img,
.pageTab li.pgBtnTokyo.crnt img {
	background-image: url(../images/pgbtn_tokyo_on.svg?v=0726a);
}

.pageTab li.pgBtnOsaka img {
	background-image: url(../images/pgbtn_osaka.svg?v=0726a);
}
.pageTab li.pgBtnOsaka:hover img,
.pageTab li.pgBtnOsaka.crnt img {
	background-image: url(../images/pgbtn_osaka_on.svg?v=0726a);
}

.pageTab li.pgBtnMania img {
	background-image: url(../images/pgbtn_mania.svg?v=0726a);
}
.pageTab li.pgBtnMania:hover img,
.pageTab li.pgBtnMania.crnt img {
	background-image: url(../images/pgbtn_mania_on.svg?v=0726a);
}

.pageTab li.pgBtnExtra img {
	background-image: url(../images/pgbtn_extra.svg?v=0726a);
}
.pageTab li.pgBtnExtra:hover img,
.pageTab li.pgBtnExtra.crnt img {
	background-image: url(../images/pgbtn_extra_on.svg?v=0726a);
}

.pageTab li.pgBtnTable img {
	background-image: url(../images/pgbtn_table.svg?v=0726a);
}
.pageTab li.pgBtnTable:hover img,
.pageTab li.pgBtnTable.crnt img {
	background-image: url(../images/pgbtn_table_on.svg?v=0726a);
}

.spDateSwitch {
	display: none;
}

.listLink {
    margin: 0 0 1em;
}
.listLink li {
    float: left;
    width: 49%;
}
.listLink li:nth-of-type(1) {
    margin-right: 2%;
}
.listLink li a {
    border: 1px solid #747474;
    border-radius: 8px;
    color: #444444;
    display: block;
    font-size: 2rem;
    font-weight: bold;
    padding: 0.4em 0;
    text-align: center;
}

.listWrap {
	position:relative;
	width:100%;
	margin:0 auto;
	padding:0 0 1em 0;
}

.listWrap h2 {
	padding:0 0 1em 0;
	line-height:0.9em;
	text-align:center;
	font-size:2rem;
	font-weight:bold;
	color:#6d6d6d;
}

.listWrap h2 span {
	display:block;
	font-size:1rem;
	font-weight:normal;
}

/* ラインナップ */

/* ラインナップ 日割前
#list01 {
	width: 100%;
	margin:0 auto;
	padding:0 0 1em 0;
}
*/

/* ラインナップ 日割以降 */
#list01 {
	float: left;
	width: 46.4%;
	padding:0 0 1em 0;
}

#list02 {
	float: right;
	width: 46.4%;
	padding:0 0 1em 0;
}

#list01 h3,
#list02 h3 {
	width:100%;
	margin:0 0 1em 0;
	padding:0.2em;
	background-color: #e5e5e5;
	border-radius:8px;
	text-align:center;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Arial, Verdana, "ＭＳ Ｐゴシック", sans-serif;
	font-size:2.5rem;
	box-sizing:border-box;
}

#list01 h3 img,
#list02 h3 img {
	width:100%;
}

.listBox {
	clear:both;
	font-family: Helvetica;
}

.listBox h4 {
	line-height: 0;
	margin: 0 0 0.4em;
	padding: 0.2em 0;
	width: 100%;
}

.listBox h4 img {
	width:100%;
}

.listBox h5 {
	width: 100%;
	margin: 0 0 0.4em;
	padding: 0.2em 0;
	text-align: center;
	font-size: 1.7rem;
	font-weight: bold;
}

.listBox a {
	color:#383838;
	text-decoration:none;
}

.listBox a:hover {
	color:#999999;
}

/* タイル レイアウト */
.listTile .listBox dl {
	position:relative;
	float:left;
	width:46.336%;
	margin:0 0 0 7.328%;
	vertical-align:top;
}
#lineup .listTile .listBox a:nth-of-type(1) dl {
	margin-left:0;
}
#lineup .listTile .listBox a:nth-of-type(2n+1) dl {
	clear:both;
	margin-left:0;
}

.listTile .listBox dl dt {
	display:block;
	line-height:0;
}

.listBox dl dt span {
	position:absolute;
	top:0;
	right:0;
}

.listTile .listBox dl dd {
	height: 59px;
	padding: 5px 0 0;
	font-size:1.4rem;
	line-height:1.2em;
	border:none;
}

/* 1カラム対応 */
.listTile.listClm1 .listBox dl {
	width:21.5%;
	margin:0 0 0 4.666666%;
}

#lineup .listTile.listClm1 .listBox a:nth-of-type(1) dl {
	margin-left:0;
}

#lineup .listTile.listClm1 .listBox a:nth-of-type(2n+1) dl {
	clear: none;
	margin-left:4.666666%;
}

#lineup .listTile.listClm1 .listBox a:nth-of-type(4n+1) dl {
	clear:both;
	margin-left:0;
}

.listClm1 .clm1Title {
	text-align:center;
}

.listClm1 .clm1Title h3 {
	display:inline-block;
	width:auto;
	padding:5px 20px;
}

/* ソニマニ Brainfeederステージ */
.smStageName,
.stageBrainfeeder,
.stageMidnightSonic {
	margin:0 0 20px;
	text-align:center;
	font-weight:bold;
	font-size:1.8rem;
	line-height:1.5;
	color:#000000;
}

.stageMidnightSonic small {
	margin-left:3px;
	font-weight: bold;
	font-size:1.4rem;
}

.stageBrainfeeder span {
	margin-top:5px;
	display:block;
}

/* アーティスト詳細 */
.artistWrap {
	position:relative;
	width:100%;
	margin:0 auto;
	padding:0 0 2em;
}

.artistWrap h2 {
	padding:0 0 0.8em 0;
	line-height:0.9em;
	text-align:center;
	font-size:3.2rem;
	font-weight:bold;
	color:#6d6d6d;
}

.artistWrap h2 span {
	display:block;
	font-size:1.6rem;
	font-weight:normal;
}

.artistWrap h3 {
	padding:8px 0 6px 0;
	font-size:2.8rem;
	font-weight:bold;
}

.artistWrap .mainImg {
	position: relative;
	margin: 0 0 20px;
	line-height: 0;
}

.artistWrap .movie{
	display:none;
}

.artistWrap .movie {
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
}
.artistWrap .movie iframe {
    height: 100% !important;
    left: 0;
    position: absolute;
    top: 0;
    width: 100% !important;
}

.artistWrap .mainImg span{
	display: block;
	position: absolute;
	overflow:hidden;
	bottom: 2%;
	right: 2%;
	width: 8.5%;
}

.artistWrap p {
	padding:0 0 1em 0;
	line-height:1.875em;
}

.artistWrap .playList {
	margin: 10px 0 0 0;
}

.artistWrap .playList iframe {
	width:100%;
	max-width: 300px;
	height: 380px;
}

/* 関連サイト */
.siteLink {
	margin: 0 0 20px 0;
}

.siteLink li {
	display:inline;
}

.siteLink li a {
	display: inline-block;
	width: 4rem;
	height: 4rem;
	line-height: 4rem;
	margin: 0 0.3rem 1rem 0.3rem;
	box-shadow: 0 0 0.5rem rgba(32, 14, 17, 0.15);
	backface-visibility: hidden;
	background-color: transparent;
	border-radius: 0.5rem;
	vertical-align: top;
	overflow:hidden;
	color: #fd8c7a;
	font-size: 3rem;
	transform: translateZ(0px);
	transition: all 0.2s ease-in-out 0s;
}

.siteLink li a::before {
	content: "\f08e";
	font-family: FontAwesome;
	display: block;
	text-align: center;
}

.siteLink li a:hover {
  box-shadow: 0 0 20px rgba(32, 14, 17, 0.3);
  transform: translateY(-5px);
  text-decoration:none;
}

.siteLink .linkOF a {
	width:15rem;
}

.siteLink .linkOF a::before {
	content:"　";
	background:url(../images/site_btn_of.svg) no-repeat 0 0;
	background-size:contain;
}

.siteLink .linkLB a {
	width:12rem;
}

.siteLink .linkLB a::before {
	content:"　";
	background:url(../images/site_btn_lb.svg) no-repeat 0 0;
	background-size:contain;
}

.siteLink .linkFB a::before {
	content: "\f09a";
	color:#3b5998;
}

.siteLink .linkTW a::before {
	content: "\f099";
	color:#2fa8e1;
}

.siteLink .linkIN a::before {
	content: "\f16d";
	color:#69443b;
}

.siteLink .linkYT a::before {
	content: "\f16a";
	color:#e62918;
}

.siteLink .linkSC a::before {
	content: "\f1be";
	color:#ee761c;
}

.siteLink .linkBO a::before {
	content: "\f0f6";
	color:#838d91;
}

.siteLink .linkAM a {
	width:11rem;
	border-radius: 0;
}

.siteLink .linkAM a:hover {
  box-shadow: none;
  transform: none;
}

.siteLink .linkAM a::before {
	content:"　";
	background:url(../images/site_btn_am.svg) no-repeat 0 0;
	background-size:contain;
}

/* Apple Music */
.apMusicBox {
	float: left;
	width: 100%;
	max-width: 340px;
	margin: 0 30px 10px 0;
}

/* ------------------------------------------- */

.btmDate {
    clear: both;
    margin: 0 0 2em;
}
.btmDate li {
    border: 1px solid #747474;
    border-radius: 8px;
    box-sizing: border-box;
    float: left;
    font-size: 2.5rem;
    font-weight: bold;
    padding: 0.2em;
    text-align: center;
    width: 46.4%;
}
.btmDate li:nth-of-type(2) {
    float: right;
}

.andMore {
	clear:both;
	text-align:center;
	font-size:1.4rem;
}

.lineupNews {
    border: 1px dotted #cccccc;
    font-size: 1.4rem;
    margin: 30px auto 0;
    padding: 20px 20px 12px;
}

.lineupNews h4 {
    color: #5c5c5c;
    margin: 0 0 6px;
}

.lineupNews ul {
    width: 100%;
}

.lineupNews ul li {
    padding: 3px 0 3px 12ex;
}

.lineupNews ul li span {
    display: inline-block;
    margin: 0 0 0 -12ex;
    width: 12ex;
}

.sideLink {
	margin:1em 0 0 0;
	padding:0 3.8% 0 3.8%;
	line-height:1.75em;
	background-color:#ffffff;
}

.linkList {
	text-align:center;
	padding:1em 0;
}

.linkList li {
	display:inline-block;
	padding:0 15px;
}

.btmImg {
	line-height:0;
}

/* アーティストモーダル */
#modalBg {
	z-index:150;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:120%;
	background-color:rgba(0,0,0,0.7);

	transition: opacity 0.5s, visibility 0s ease 0.5s;
	opacity: 0;
	visibility: hidden;
}

#modalBg.open {  
	transition-delay: 0s;
	opacity: 1;
	visibility: visible;
}

#modalBox {
	position: fixed;
	top: 0;
	left: 50%;
	width: 100%;
	max-width: 720px;
	height: 96%;
	box-sizing: border-box;
	padding: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
	transform: translate3d(-50%, 120%, 0) perspective(0);
	z-index: 200;
}

#modalBox.open {
	transform: translate3d(-50%, 2%, 0) perspective(0);
}

.modalInr {
	width: 100%;
	padding: 0 20px 30px 20px;
	box-sizing: border-box;
	background-color: #ffffff;
}

.artistWrap .photo {
	padding-bottom: calc(100% * 0.667);
	position: relative;
}

.artistWrap .photo img {
	position: absolute;
}

#modalBtnBox {
	position: fixed;
	bottom: -50px;
	width: 100%;
	padding: 0 3%;
	box-sizing: border-box;
	z-index:200;
}

#modalBtnBox.open {
	bottom: 30px;
}

.modalBtn {
	display: flex;
	justify-content: space-between;
	max-width: 480px;
	margin: 0 auto;
}

.modalBtn li {
	display: block;
	padding: 0;
	background-color: #58c3e0;
	border: 2px solid #58c3e0;
	border-radius: 25px;
	text-decoration: none;
	font-size: 1.6rem;
	color: #ffffff;
	line-height: 46px;
	text-align: center;
	cursor: pointer;
	transition: all 0.2s ease-in-out 0s;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
	opacity: 0.9;
}

.modalBtn li:hover {
	background-color: #ffffff;
	color: #58c3e0;
}

.modalBtn li.modalBtnPrev {
	width: 46px;
	text-indent: -3px;
}

.modalBtn li.modalBtnPrev[data-prev-link=""] {
	visibility: hidden;
}

.modalBtn li.modalBtnNext {
	width: 46px;
	text-indent: 3px;
}

.modalBtn li.modalBtnNext[data-next-link=""] {
	visibility: hidden;
}

.modalBtn li.modalBtnClose {
	padding: 0 25px;
}

@media only screen and (max-width: 640px) {

#lineup {
	padding-left:3%;
	padding-right:3%;
	box-sizing:border-box;
}

main .pageTtl h2 {
	font-size: 2.2rem;
}

.listWrap h2 {
	padding: 0 0 13px 0;
}

.spDateSwitch {
	display: flex;
	flex-flow: row nowrap;
	margin: 0 0 30px;
}

.spDateSwitch li {
	position: relative;
	width: 50%;
	padding: 10px 5px;
	background-color: #d0d0d0;
	text-align: center;
	font-size: 1.8rem;
	box-sizing:border-box;
	cursor: pointer;
}

.spDateSwitch li:hover,
.spDateSwitch li.active {
	background-color: #52c3e3;
	color: #ffffff;
}

.spDateSwitch li.active::before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
 	margin-left: -8px;
	border: 8px solid transparent;
	border-top: 12px solid #52c3e3;
}

#list01 {
	width: 100%;
	display:none;
}

#list01.active {
	display:block;
}

#list02 {
	width: 100%;
	display:none;
}

#list02.active {
	display:block;
}

#list01 h3,
#list02 h3 {
 display: none;
}

/* タイル レイアウト */
.listTile .listBox dl {
	float:left;
	width:48%;
	margin:0 0 0 4%;
	vertical-align:top;
}

.listTile .listBox dl img {
	width:100%;
}

/* 1カラム対応 */
#lineup .listTile.listClm1 .listBox dl {
	width:48%;
	margin:0 0 0 4%;
}

#lineup .listTile.listClm1 .listBox a:nth-of-type(2n+1) dl {
	margin-left:0;
}

#lineup .listTile.listClm1 .listBox a:nth-of-type(4n+1) dl {
	clear:both;
}

.listClm1 .clm1Title h3 {
	width: 100%;
}

.btmDate {
	display:none;
}

.artistWrap {
	padding-top:0;
	padding-left:3%;
	padding-right:3%;
	box-sizing:border-box;
}

.artistWrap h2 {
	padding: 0 0 13px 0;
}

.artistWrap h3 {
	padding: 8px 0 4px 0;
	font-size: 2.4rem;
}

/* Apple Music */
.apMusicBox {
	float: none;
	width: 100%;
	max-width: none;
	margin: 0 0 10px 0;
}

/* アーティストモーダル */
.modalBtn li:hover {
	background-color: #58c3e0;
	color: #ffffff;
}

.modalBtn li:active {
	background-color: #ffffff;
	color: #58c3e0;
}

}
