﻿@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500&display=swap');

body{
	background-color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
    /*font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif; sans-serif;*/
	/*font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
	font-size: 1.1em;
	color: #000;
	}

a {
	color: #ddd;
	text-decoration: none;
	cursor: pointer;
	}
a:visited	{color: #ddd;}
a:hover		{color: #fff;}
a:focus, *:focus { outline:none; }

rt {font-size: 0.4em}
h1 {margin: 0;padding: 0;}

h2{
	box-sizing: border-box;
	padding: 0px;
	margin: 0 0 10px 0;
	text-align: center;
	font-size: 1em;
	line-height: 1.6;
    letter-spacing: 0.1em;
	color:#000;
	text-shadow: 
    #fff 2px 0px,  #fff -2px 0px,
    #fff 0px -2px, #fff 0px 2px,
    #fff 2px 2px , #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px,  #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px,  #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
	}

h2 span {font-size: 0.8em;}

h3 {
	color:#fff;
	font-size: 0.9em;
	line-height: 1.6;
	margin: 0 auto;
	padding: 0;
	background-color: #e60012;
	text-align: center;
	text-shadow: 
    #fff 2px 0px,  #fff -2px 0px,
    #fff 0px -2px, #fff 0px 2px,
    #fff 2px 2px , #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px,  #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px,  #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
	}

h4{
	font-size: 1.1em;
	line-height: 1.2;
	margin: 2em 0.5em 1em;
	padding: 0.5em;
	border-bottom: 1px #fff dotted;	
	}

h5 {
	margin: 0 0.5em;
	font-size: 1em;
	}

p {
	padding: 20px 20px 0 20px;
	line-height: 1.6;
	font-size: 0.9em;
	margin: 0;
	}

dl {}

dt {font-weight: bold;
	margin: 0px;
	}

dd {margin: 0px;
	margin-bottom: 1em;
	}

ul {padding-left: 1.5em;}
li {margin-bottom: 0.5em; line-height: 1.6em;}

ul.readme {
	float: right;
	font-size: 0.9em;
	}

ul.readme li {
	margin-bottom: 0.5em;
	line-height: 1.4em;
	}

table {
	border: none;
	border-collapse: collapse;
	margin: 1em auto 1em;
	}

th, td {
	border: none;
	padding: 5px 10px;
	vertical-align: top;
	}

th {
	word-break: keep-all;
	text-align: right;
	}

th:after{
	content: "：";
}


strong, .errorTxt {color:#f00;}


/*フェード*/
a, .chronology h3, .modal img, #openBtn {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all  0.5s ease;
	}

/*MS Edgeのバグ対応とりあえず*/
@supports (-ms-ime-align: auto) {
	a{transition: none;}
	}


/*上へもどる*/
#pageTop {
	position: fixed;
	bottom: 15px;
	right: 15px;
	padding: 0;
	margin: 0;
	z-index: 999;
	}

#pageTop a {
	display: block;
	height: 68px;
	width: 68px;
	width: 68px;
	background: url(../images/gc/arrow_white.svg) no-repeat center center;
	background-color: #e60012;
	box-shadow: 5px 5px 0 0 rgba(0,0,0,0.2);
	color: #fff;
	}

#pageTop a:hover {
	margin-bottom: 5px;
	background-color: #FF5B5E;
	}


/*汎用ボタン*/
.button {padding: 0;margin: 10px auto 0;}
.button a {
	display: block;
	box-sizing: border-box;
	width: 95%;
	margin: 0 auto;
	background-color: #ffae00;
	padding: 10px 20px;
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	color: #000;
	box-shadow: 5px 5px 0 0 rgba(0,0,0,0.2);
	/*background-color: rgb(245,165,50);
	background-image: -moz-linear-gradient( 90deg, rgb(245,115,21) 0%, rgb(245,165,50) 100%);
	background-image: -webkit-linear-gradient( 90deg, rgb(245,115,21) 0%, rgb(245,165,50) 100%);
	background-image: -ms-linear-gradient( 90deg, rgb(245,115,21) 0%, rgb(245,165,50) 100%);
	border: 1px #f47516 solid;
	text-shadow: 0px 2px 3px rgba(11, 3, 6, 0.5);
	box-shadow: 0px 2px 3px 1px rgba(11, 3, 6, 0.3) ,inset 0 1px #fff;
	opacity: 0.8;
	-webkit-border-radius: 8px;
	border-radius: 8px;
	text-align: center;
	padding: 10px 0;
	color: #fff;*/
	}

.button a span {font-size:0.8em;font-weight: normal;}

.button.tweet a {
	background-color: #1da1f2;
	color: #fff;
	}
.button.disabled a {
	background-color: #666;
	}

.button a:hover {background-color: #ffff00;}
.button.disabled a:hover {opacity:1;cursor:default;}


.map .button {
	display: inline-block;
	margin: 0;
	vertical-align:baseline;
	}

.map .button a {
	font-size: 0.8em;
	font-weight: normal;
	padding: 0;
	width: 4em;
	line-height: 1.6;
	}

.artist .button a {
	font-size: 0.8em;
	font-weight: normal;
	padding: 7px 10px;
	width: 11.5em;
	margin: 0 0 0 auto;
	}



.twitterLink {
	margin-top: 0px;
	margin-bottom: 60px;
	}

.twitterLink a{
	max-width: 900px;
	margin: 0 auto 0;
	font-size: 1em;
	}

/*記事用*/
.small	{font-size: 0.7em;}
.large	{font-size: 1.2em;}
.big	{font-weight: bold;font-size: 1.8em;}
.center	{text-align: center;}
.spaced {padding: 1em;}
.left	{float: left;}
.right	{float: right;}
.attention {color: #FF0000;}
.clear {clear: both;}
.url{color: #FF0308;font-style: italic;}
.bold{font-weight: bold;}
.hide {display: none;}
.sun {color: #f00;}
.sat {color: #008FEB;}
.price {font-size: 1.4em;font-weight: bold;}
.sponly {display:none;}
.nosp{display:inherit;}

/*ボタン用*/
.common {margin: 2.5% 2% 2.5% 2%;}

/*記事の関連URLリンク用大型ボタン*/
.big a {
	padding: 10px;
	margin: 2.5% 2% 2.5% 2%;
	}

.oldVersion {
	text-align: center;
	color: rgb(255,0,4);
	padding: 10px;
	}

/*大枠*/
.primaryContainer {
	margin: 0 auto;
	padding: 0;
	position: relative;
	line-height: 1.6;
	background: url(../images/gc/img_181214_tsapp_bg.png) repeat-y top center;
    background-size: contain;
	}

/*ヘッダ*/
header {
	box-sizing: border-box;
	width: 1280px;
	margin: 0 auto 30px;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	}

header div:first-child {
	position: relative;
	flex-basis: 73%;
	}

header div:first-child img {
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 890px;
	}

header div:nth-child(2) {
	flex-basis: 27%;
	}

header div:nth-child(2) img {
	display: block;
	margin: 30px auto 0;
	width: 100%;
	max-width: 303px;
	}

header div:nth-child(3) {
	flex-basis: 100%;
}

/*コンテンツ全体をラップ*/
main {
    float: none;
    height: auto;
    margin: 0px auto;
    clear: none;
    width: 1280px;
    display: block;
	overflow: hidden;
    letter-spacing: 0.1em;
	}

section {
	margin: 0 auto 40px;
	align-items: flex-start;
	flex-wrap: wrap;
	}

section img {
	display: block;
	width: 100%;
	}


.taito {position: absolute;padding: 0;}
.taito img {display: block;width: 100%;}
.taito {width:150px;left:30px;top:20px;}

.caption {
    margin:  0;
    font-size: 1em;
    font-weight: bold;
    text-align: center;
    color:#e60012;
    letter-spacing: 0.2em;
	text-shadow: 
    #fff 2px 0px,  #fff -2px 0px,
    #fff 0px -2px, #fff 0px 2px,
    #fff 2px 2px , #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px,  #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px,  #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
    }

.downLoad {
	display: flex;
	justify-content: center;
	margin: 0 0 50px;
	background-color: #fff;
	}

.downLoad div {
	flex-basis: 25%;
	}

.downLoad div img {
	width: 70%;
	max-width: 450px;
	margin: 0 auto;
	}

.ss {
	display: flex;
	justify-content: center;
	margin: 0 0 90px;
	}

.ss div {
	flex-basis: 25%;
	}

.ss div h2 {
	margin-bottom: 20px;
	font-size:0.8em;
	}

.ss div img {
	max-width: 250px;
	margin: 0 auto 0;
	box-shadow: 2px 10px 10px 0 rgba(0,0,0,0.3);
	}

/*クーポン配布キャンペーン専用*/
.specialInfo {
	display: flex;
	justify-content: center;
	margin: 0 0 100px;
	}

.specialInfo div {
	flex-basis: 45%;
	}

.specialInfo div:first-child {
    display: flex;
    }

.specialInfo div img {
	max-width: 250px;
	margin: 0 auto 0;
	box-shadow: 2px 10px 10px 0 rgba(0,0,0,0.3);
	}


.specialInfo div h2 {
	text-align: left;
	color: #e60012;
	font-size: 1.2em;
	line-height: 1.3;
	margin: 10px;
	}

.specialInfo div h3 {
	width: 300px;
	margin: 0 auto 1em 10px;
    text-shadow: none;
    }

.specialInfo div p {
	text-shadow: 
    #fff 2px 0px,  #fff -2px 0px,
    #fff 0px -2px, #fff 0px 2px,
    #fff 2px 2px , #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px,  #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px,  #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
    }

.specialInfo div p:nth-child(3){
	/*font-size: 0.9em;
	padding: 0 20px;
	margin: 5px auto 20px 0;*/
	}

.specialInfo div p:nth-child(4){


	}

.specialInfo div:nth-child(2) {
	}


/*Twitterキャンペーンなどの告知用*/
.cpInfo {
	box-sizing: border-box;
	max-width: 600px;
	padding: 10px;
	background-color: #fff;
	}

.cpInfo h2 {
	background-color: #e60012;
	color: #fff;
	padding: 10px;
	}

.cpInfo h3 {
	font-size: 1.1em;
	background-color: #000;
	}

.cpInfo>div {
	margin: 20px 0;
	}
/*Twitterのウィジェットをセンタリング*/
#twitter-widget-1 {margin: 0 auto;}

.youtube {
	width: 100%;
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	}

.youtube iframe {
	position:absolute !important;
	top:0 !important;
	left:0 !important;
	width:100% !important;
	height:100% !important;
	}


/*SNSシェアボタン*/
.shareBox {
	float: none;
	width: auto;
	height: auto;
	margin: 0 auto 0;
	clear: both;
	padding: 0 2px 0;
	text-align: center;
    letter-spacing: 0;
	}

	.shareButtons {
		width: auto;
		height: auto;
		margin: 0px auto;
		clear: none;
		display: inline-block;
		}

	.shareButtons div {
		line-height: 1;
		margin-right: 20px;
		margin-bottom: 10px;
		}

	.shareButtons div:last-child {
		margin-right: 0;
		}

.fb-share-button {
			float: left;
			}

		.googleBtn {
			float: left;
			width: 52px;
			overflow: hidden;
			}

/*オリジナルボタン化*/
		.tweetBtn, .lineBtn {
			float: left;
			border-radius: 2px;
			}

		.tweetBtn {
			background: url(../images/ico_sns_twitter.png) left top no-repeat #1b95e0;
			background-size: contain;
			}

		.lineBtn {
			background: url(../images/ico_sns_line.png) left top no-repeat #00C300;
			background-size: contain;
			display: none;
			}

		.tweetBtn a, .lineBtn a {
				display: inline-block;
				color: #fff;
				line-height: 20px;
				text-align: right;
				vertical-align: middle;
				}

		.tweetBtn a {
				width: 57px;
				padding: 0 5px 0 5px;
				font-size: 0.6em;
				}

		.lineBtn a {
			width: 67px;
			padding: 0 5px 0 5px;
			font-size: 0.5em;
			}


footer {
    margin-top: 100px;
	padding: 30px 0 80px;
	background-color: #e60012;
	text-align: center;
	color: #fff;
	}


footer img {
	width: 90%;
	max-width: 770px;
	margin: 0 auto;
	}

footer p.copyright {
	margin: auto;
	font-size: 0.6em;
	}

footer ul {
	flex: 1;
	height: 1em;
	padding: 0;
	margin: 10px auto;
	text-align: center;
	font-size: 0.8em;
	}

footer ul li {
	display: inline-block;
	list-style-type: none;
	border-right: 1px #fff solid;
	padding: 0 5px;
	text-align: center;
	line-height: 1;
	}

footer ul li:last-child {
	border: none;
	}






@media only screen and (max-width: 768px) {
.primaryContainer {background-size: 150%}
header {width: 100%; min-height: inherit;}
main {width:100%;}
rt {font-size: 0.5em}
h2 {font-size:0.9em;}
h3 {font-size:0.9em;}
header div:nth-child(2) img {width: 90%;}
footer {
	}
.downLoad div {
	flex-basis: 50%;
	}

.ss div {
	flex-basis: 50%;
	margin-bottom: 30px;
	}

.specialInfo div {
	flex-basis: 80%;
	margin-bottom: 1em;
	}

.specialInfo div:first-child {
    display: block;
	order: 2;
	margin-bottom: 0;
	}
    
.specialInfo div img {
	margin: 0 auto 1em;
	}

.specialInfo div h2 {
/*	text-align: center;*/
	font-size: 1em;
	}

.specialInfo div h3 {
	width: 100%;

	margin: 0 auto 1em;
	}

.specialInfo div p:nth-child(3){
	/*margin: 5px auto 20px;
	font-size: 0.8em;*/
	}

.specialInfo div p:nth-child(4){
	margin: 0 auto 0;
	}

	.cpInfo h2 {
		font-size: 0.9em;
	}
	
.taito	{width:20%;left:1%;top:1%;}

.caption {font-size: 0.8em;}

.lineBtn {display: block;}

.button {padding: 0;margin: 10px auto 0;}
.button.fixed {position:inherit;width: 95%;margin: 20px auto 40px;}

.sub p {text-align: center;}
}


@media only screen and (max-width: 480px) {
h2 {font-size:0.8em;text-align: center;}
h3 {width: 95%;text-align: center;}
table {font-size: 0.8em;}

header div:first-child {
	flex-basis: 100%;
	}

header div:nth-child(2) {
	flex-basis: 100%;
	}

header div:nth-child(2) img {width: 50%;}


footer img {
	width: 100%;
	}

	.downLoad div img {
	width: 90%;
	}

.ss div {
	flex-basis: 100%;
	}

.ss div img {
	max-width: 240px;
	margin: 0 auto 0;
	}

.specialInfo div h2 {
	}

.specialInfo div h3 {
	}

.specialInfo div p:nth-child(3){
	}

.specialInfo div p:nth-child(4){
	text-align: left;
	}
	
	.nosp {display:none;}
.sponly {display: block;}
.shareButtons div {margin-right: 10px;}
.artist>div>div h3 {font-size: 0.8em;}
footer {padding-bottom: 100px;}
footer p.copyright {font-size: 0.6em;}
}





/*FlexBox*/
.flexBox {
	display: flex;
	box-sizing: border-box;
	justify-content:center;
	align-items: flex-start;
	flex-wrap: wrap;
	}

	.flexBox>div, .flexBox>p {
		display: block;
		box-sizing: border-box;
		flex-basis: 25%;
		height: auto;
		padding: 0;
		margin: 0 0 20px;;
		word-break: break-all;
		}

.flexBox>div img {
	display: block;
	width: 95%;
	height: 95%;
	margin: 2.5%;
	}

.boxset5>div {flex-basis: 20%;}
.boxset4>div {flex-basis: 25%;}
.boxset3>div {flex-basis: 33.3%;}
.boxset2>div {flex-basis: 50%;}


@media only screen and (max-width: 768px){
.boxset5>div {flex-basis: 33.3%;}
.boxset4>div {flex-basis: 50%;}
.boxset3>div {flex-basis: 50%;}
.boxset2>div {flex-basis: 100%;}
}

@media only screen and (max-width: 480px){
.boxset5>div {flex-basis: 50%;}
.boxset4>div {flex-basis: 100%;}
.boxset3>div {flex-basis: 100%;}
.boxset2>div {flex-basis: 100%;}	
}



