/*
Theme Name: あんさんぶるスターズ！THE STAGE Party Live
*/

@charset "UTF-8";
/* リセット */
@import url(reset.css);


:root {
	font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	/* 色定義 */
	--pl--white:	#ffffff;	/* 255,255,255 白 */
	--pl--gray:	#707070;	/* 112,112,112 グレー */
	--pl--thing:	#C3C3C3;	/* 195,195,195 ライトグレー */
	--pl--black:	#333333;	/*  51, 51, 51 黒 */
	--pl--violet:	#5957DA;	/*  89, 87,218 バイオレット */
	--pl--purple:	#D174F4;	/* 209,116,244 パープル */
	--pl--lilac:	#AAABCA;	/* 170,171,202 ライラック */
	--pl--slate:	#4D70A7;	/*  77,112,167 スレート */

}

body, p {
	padding: 0;
	margin: 0;
}
a,
a:hover,
a:visited {
	text-decoration: none;
	color: #000;
}

h1, h2, h3 {
	font-family: "Mplus 1p", 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

h4, h5, h6 {
	font-family: "Sawarabi Gothic", 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

h2 {
	padding: 0;
	margin: 0;
	font-size: x-large;
	font-weight: bold;
}

h3 {
	padding: 0;
	margin: 0;
	font-size: small;
	font-weight: normal;
	line-height: 1.5em;
}

br.sp-only {
	display: none;
}

#wrap {
	width: 100%;
}
.top-back {
	background: url( 'img/background_pl_top.png' );
	background-size: 1920px;
	background-position: center top;
	background-repeat: no-repeat;
	background-attachment: scroll;
}
.page-back {
	background: url( 'img/background_pl_page.png' );
	background-size: 1920px;
	background-position: center top;
	background-repeat: repeat-y;
	background-attachment: scroll;
}

@media (max-width: 1365px) {
	.top-back {
		background: url( 'img/background_pl_upper.png' ), url( 'img/background_pl_min.png' ), url( 'img/background_pl_bottom.png' );
		background-size: 100% 100px, 100%, 100%;
		background-position: center top, center top 100px, center top;
		background-repeat: no-repeat, no-repeat, repeat-y;
		background-attachment: scroll, scroll, scroll;
	}
}
@media (max-width: 799px) {
	.top-back {
		background-size: 100% 60px, 100%, 100%;
		background-position: center top, center top 60px, center top;
	}
}
@media (max-width: 639px) {
	br.sp-only { display: block; }
	br.pc-only { display: none; }
}

.back-trans-white {
	background-color: rgba( 255, 255, 255, 0.7 );
}
.back-shadow-pink{
	box-shadow: 0 0 10px 3px rgba( 221, 206, 229, 0.4 );
}

/* ローディング ******************************** */
#loading {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var( --pl--white );
	z-index: 90;
}
#full-logo {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 960px;
	transform: translate( -50%, -50% );
}
#full-logo img,
#full-logo video {
	width: 100%;
}

@media (max-width: 999px) { #full-logo { width: 640px; } }
@media (max-width: 639px) { #full-logo { width: 480px; } }
@media (max-width: 479px) { #full-logo { width: 320px; } }

/* ヘッダー ************************************ */

#header {
	background-color: rgba( 89, 87, 218, 0.7 );
	height: 100px;
}
#navigation {
	display: grid;
	grid-template-columns: 200px auto;
	padding: 16px 50px;
}
@media (max-width: 799px) {
	#header { height: 60px; }
}
/* ヘッドロゴ */
.header-logo { width: 100%; }
.header-logo img { width: 100%; }
@media (max-width: 999px) {
	#navigation {
		grid-template-columns: 1fr;
		padding: 8px 50px;
	}
	.header-logo {
		width: 170px;
		margin: 0 auto;
	}
}
@media (max-width: 799px) {
	.header-logo { width: 120px; }
}
/* ナビゲーション */

.navi-bar {
	font-family: 'Josefin Sans', sans-serif;
	margin: 0 5%;
}
ul.navi-menu {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	margin-top: 28px;
	font-size: 12px;
	font-weight: bold;
}
ul.navi-menu li {
	margin: 0 10px;
}

ul.navi-menu li a,
ul.navi-menu li div.no-link {
	position: relative;
	padding: 2px 2px 0;
	color: var( --pl--white );
	transition: 1.3s;
	z-index: 1;
}
ul.navi-menu li a::before {
	position: absolute;
	background: var( --pl--white );
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	left: 0;
	bottom: 0;
	margin: auto;
	transform: scale( 0, 1 );
	transform-origin: right top;
	transition: transform 0.3s;
	z-index: -1;
}

ul.navi-menu li a:hover {
	color: var( --pl--violet );
	transition: 0.3s;
}
ul.navi-menu li a:hover::before {
	transform-origin: left top;
	transform: scale( 1, 1 );
}

@media (max-width: 999px) {
	.navi-bar {
		margin: 0 11%;
	}
	ul.navi-menu {
		justify-content: center;
		margin-top: 0;
		height: 24px;
	}
	ul.navi-menu li a::before {
		height: 55%;
	}
	ul.navi-menu li ul li a::before {
		height: 100%;
	}
}
/* スマホ等用メニュー */

#area-out,
#sp-navi-menu,
#sp-menu-head {
	display: none;
}
#area-out,
#sp-navi-menu,
#sp-menu-head {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
}
#area-out {
	z-index: 10;
	height: 100%;
	background-color: rgba( 255, 255, 255, 0.7 );
	opacity: 0.8;
}
#sp-navi-menu {
	font-family: 'Josefin Sans', sans-serif;
	z-index: 11;
	top: 60px;
	background-color: rgba( 89, 87, 218, 0.7 );
}
#sp-navi-menu ul {
	padding: 0 20px 5px;
	line-height: 2em;
	font-weight: bold;
	color: white;
}
#sp-navi-menu ul li {
}
#sp-navi-menu ul li a {
	position: relative;
	padding: 2px 2px 0;
	color: var( --pl--white );
	transition: 1.3s;
	z-index: 1;
}
#sp-navi-menu ul li a::before {
	position: absolute;
	background: var( --pl--white );
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	left: 0;
	bottom: 0;
	margin: auto;
	transform: scale( 0, 1 );
	transform-origin: right top;
	transition: transform 0.3s;
	z-index: -1;
}
#sp-navi-menu ul li a:hover {
	color: var( --pl--violet );
	transition: 0.3s;
}
#sp-navi-menu ul li a:hover::before {
	transform-origin: left top;
	transform: scale( 1, 1 );
}

#sp-menu-head {
	z-index: 12;
	grid-template-columns: 200px auto 40px;
	height: 60px;
	padding: 10px 15px;
	background-color: rgba( 89, 87, 218, 0.7 );
	box-sizing: border-box;
}

/* 三本メニュー */
.ham-menu {
	position: relative;
	width: 40px;
	height: 40px;
	box-sizing: border-box;
	cursor: pointer;
}
.menu-line-u,
.menu-line-m,
.menu-line-d {
	position: absolute;
	display: block;
	width: 40px;
	height: 2px;
	background-color: var( --pl--white );
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}

.menu-line-u { top: 40%; }
.menu-line-m { top: 50%; }
.menu-line-d { top: 60%; }

@media (max-width: 799px) {
	#navigation {
		display: none;
	}
	#sp-menu-head {
		display: grid;
		grid-template-columns: 120px auto 40px;
	}
	#sp-menu-head,
	#sp-navi-menu {
		background-color: rgba( 89, 87, 218, 1 );
	}
}

/* Specialメニュー用 */
ul.sub-menu {
	display: none;
	position: absolute;
	transform: translate( 0px, 7px);
}
ul.sub-menu:hover {
	display: block;
}

ul.sub-menu li.sub-link {
	padding: 0 10px;
	line-height: 2em;
	background-color: rgba( 89, 87, 218, 0.7 );
}
ul.sub-menu li.sub-link:hover {
/*	background-color: #be9c59;
	font-style: italic;	*/
}
ul.sub-menu li.sub-link .brown-letter{
/*	color: #2f2725;	*/
}
@media (max-width: 999px) {
	ul.sub-menu {
		width: 170px;
		transform: translate( -100px, 10px );
		background-color: rgba( 89, 87, 218, 1 );
	}
ul.sub-menu li.sub-link {
	}
}
@media (max-width: 799px) {
	ul.sub-menu {
		width: auto;
		transform: translate( -60px, 5px);
	}
	ul.sub-menu li.sub-link {
		padding-left: 40px;
		background-color: var(--pl--violet);
	}
}
/* コンテンツ ********************************** */

.top-frame {
	background: url( 'img/top_ribbon.png' );
	background-size: 100%;
	background-position: center top;
	background-repeat: no-repeat;
	background-attachment: scroll;
}
@media (max-width: 799px) {
	#contents-frame {
	}
}
.container-outer {
	max-width: 1366px;
	margin: 0 auto;
}
.container-inner {
	padding: 0 30px;
}
@media (max-width: 639px) {
	.container-inner { padding: 0 0 80px; }
}

#contents-logo {
	padding-top: 11%;
	padding-bottom: 15%;
}
#contents-visual {
}
#contents-articles,
.contents-banner,
#contents-news,
#contents-twitter {
	position: relative;
	margin-top: 20px;
	margin-left: 163px;
	margin-right: 163px;
	color: var( --pl--black );
}
.contents-margin {
	margin-bottom: 140px;
}

@media ( max-width: 1365px ) {
	#contents-articles, .contents-banner, #contents-news, #contents-twitter {
		margin-left: auto;
		margin-right: auto;
		width: 1040px;
	}
}
@media ( max-width: 1099px ) {
	#contents-articles, .contents-banner, #contents-news, #contents-twitter {
		margin-left: 30px;
		margin-right: 30px;
		width: auto;
	}
}
@media ( max-width: 799px ) {
	#contents-news {
		margin-top: 60px;
	}
	#contents-logo {
		padding-top: 18%;
	}
}

/* アーティクル ******************************** */
.articles-title {
	position: absolute;
	top: 0px;
	left: 50%;
	transform: translate( -50%, -25px );
}
.articles-name {
	position: absolute;
	top: 50px;
	left: -98px;
}
.articles-name img {
	width: 600px;
}
.articles-head {
	border-bottom: solid 20px rgba( 255, 255, 255, 0.85 );
	border-top: solid 0 rgba( 0, 0, 0, 0 );
	border-left: solid 20px rgba( 0, 0, 0, 0 );
	border-right: solid 20px rgba( 0, 0, 0, 0 );
}
.articles-main,
.articles-news {
	background-color: rgba( 255, 255, 255, 0.85 );
}
.articles-main { padding: 55px 50px 30px; }
.articles-news { padding: 55px 0 30px; }

.articles-foot {
	position: relative;
	border-top: solid 20px rgba( 255, 255, 255, 0.85 );
	border-bottom: solid 0 rgba( 0, 0, 0, 0 );
	border-left: solid 20px rgba( 0, 0, 0, 0 );
	border-right: solid 20px rgba( 0, 0, 0, 0 );
}
@media (max-width: 799px) {
	.articles-title {
		transform: translateX( -50% ) translateY( -4vw );
	}
	.articles-title img { width: 70vw; }
	.articles-head {
		border-bottom: solid 15px rgba( 255, 255, 255, 0.85 );
		border-left: solid 15px rgba( 0, 0, 0, 0 );
		border-right: solid 15px rgba( 0, 0, 0, 0 );
	}
	.articles-main { padding: 50px 30px 30px; }
	.articles-news { padding: 30px 0 30px; }
	.articles-foot {
		border-top: solid 15px rgba( 255, 255, 255, 0.85 );
		border-left: solid 15px rgba( 0, 0, 0, 0 );
		border-right: solid 15px rgba( 0, 0, 0, 0 );
	}
	.articles-name {
	}
	.articles-name img {
		width: 75vw;
	}
}
@media (max-width: 499px) {
	.articles-head {
		border-bottom: solid 10px rgba( 255, 255, 255, 0.85 );
		border-left: solid 10px rgba( 0, 0, 0, 0 );
		border-right: solid 10px rgba( 0, 0, 0, 0 );
	}
	.articles-foot {
		border-top: solid 10px rgba( 255, 255, 255, 0.85 );
		border-left: solid 10px rgba( 0, 0, 0, 0 );
		border-right: solid 10px rgba( 0, 0, 0, 0 );
	}
}
@media (max-width: 429px) {
	.articles-main { padding: 50px 15px 30px; }
}
/* articles-main内共通 */

.section-center {
	text-align: center;
}
.section-left {
}


/* パンくずリスト */
#contents-breadcrumbs {
	padding: 30px 0;
	font-size: xx-small;
	font-weight: bold;
	color: var( --pl--white );
}
#contents-breadcrumbs a,
#contents-breadcrumbs a:visited {
	text-decoration: none;
	color: var( --pl--purple );
}

.contents-title {
	position: relative;
	height: 55px;
	padding: 0 7px;
	text-align: center;
	background-color: white;
}
.contents-subject {
	position: relative;
}

.subject-title {
	display: block;
	color: black;
}
span.deco-line {
	display: block;
	width: 100%;
	height: 5px;
	background-color:  var( --pl--lilac );
}
span.slide-right {
	margin-left: 10px;
}
span.slide-left {
	margin-right: 10px;
}

@media (max-width: 799px) {
}
/* コンテンツメイン */

.txt-center { text-align: center; }
.txt-bold { font-weight: bold; }

.txt-large	{ font-size: large; }
.txt-small	{ font-size: small; }
.txt-x-large	{ font-size: x-large; }
.txt-xx-large	{ font-size: xx-large; }

.txt-interval-l { line-height: 3em; }
.txt-interval-m { line-height: 2em; }
.txt-interval-s { line-height: 1.5em; }
@media (max-width: 599px) {
	.txt-interval-l { line-height: 2em; }
}

.gold-letter	{ color: #be9c59; }
.red-letter	{ color: #cb2e39; }
.pink-letter	{ color: #EF9BBE; }

.btm-line { text-decoration: underline; }
.dis-line { text-decoration: line-through; }

.txt-indent { margin-left: 50px; }

ul.attention-list,
ul.qa-list {
	list-style-type: none;
}
li.attention-remark,
li.qa-remark {
	padding-left: 1em;
	text-indent: -1em;
}
/* トップページ個別 **************************** */
.logo-ornament {
}
.center-logo {
	width: 73%;
	margin: 0 auto;
}
.center-logo img {
	width: 100%;
}
.logo-visual {
	margin: 0 100px;
	height: auto;
}
.center-visual {
	margin: 0 auto;
}
.center-visual img {
	width: 100%;
}
@media (max-width: 599px) {
	.logo-visual {
		margin: 0 50px;
	}
}
@media (max-width: 429px) {
	.logo-visual {
		margin: 0 0px;
	}
}


@media (max-width: 999px) {
	.logo-ornament {
	}
}
@media (max-width: 699px) {
	.logo-ornament {
	}
}
@media (max-width: 599px) {
}
@media (max-width: 499px) {
	.logo-ornament {
	}
}
/* NEWS個別 */
.news-list-box {
	width: 100%;
	padding: 0;
	height: 240px;
}
.news-box {
	border-right: 1px solid var(--pl--gray);
	box-sizing: border-box;
}
div.slick-track {
	border-left: 1px solid var(--pl--gray);
}

/*
div.news-box:last-child {
	border-right: 1px solid var(--pl--gray);
}
*/

.news-date,
.news-detail,
.news-category {
	padding: 0 25px;
}
.news-date {
	position: relative;
	height: 65px;
	font-family: 'Josefin Sans', sans-serif;
	font-weight: 300;
}
.date-year {
	position: absolute;
	transform: translateY( -100% ) rotate( 90deg ) ;
	transform-origin: bottom left;
	padding-left: 2px;
	font-size: 20pt;
}
.date-month {
	font-size: 54pt;
	transform: translateX( 35px );
}

.news-detail {
	height: 135px;
	padding-top: 20px;
	overflow: hidden;
}
.news-detail a:hover {
	text-decoration: underline;
}

.category-name {
	display: inline-block;
	padding: 3px 5px;
	background-color: #AAABCA;
	color: white;
}

.news-list-box .slick-list {
	height: 240px;
/* なぜか480になるので強制で変更 */
}
@media (max-width: 799px) {
	.news-date,
	.news-detail,
	.news-category {
		padding-left: 15px;
		padding-right: 15px;
	}
	.date-month {
		transform: translateX( 30px );
	}
}
@media (max-width: 499px) {
	.news-date,
	.news-detail,
	.news-category {
		padding-left: 10px;
		padding-right: 10px;
	}
	.date-year {
		transform: translateX( -5px ) translateY( -100% ) rotate( 90deg ) ;
		font-size: 15pt;
	}
	.date-month {
		font-size: 42pt;
		transform: translateX( 20px );
	}
	.news-detail {
		height: 155px;
		padding-top: 0;
	}
}
@media (max-width: 349px) {
	.news-date,
	.news-category {
		font-size: x-small;
	}
}

/* Twitter個別 */
.twitter-box {
	width: 500px;
	height: 600px;
	margin: 0 auto;
}
@media (max-width: 579px) { .twitter-box { width: 100%; } }

/* バナー個別 */
.banner-area {
	width: 400px;
	margin: 0 auto;
/*	padding: 2rem 0;	*/
}
.ba-pt {
	padding-top: 45px;
}
.ba-pb {
	padding-bottom: 30px;
}
.banner-notice {
	position: relative;
	z-index: 6;
	height: auto;
	border: solid 1px white;
	background-color: var( --pl--violet );
	text-align: center;
	color: white;
	transition: all 0.2s 0s ease-out;
}
.banner-notice::before {
	position: absolute;
	background: var( --pl--white );
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	left: 0;
	bottom: 0;
	margin: auto;
	transform: scale( 0, 1 );
	transform-origin: right top;
	transition: transform 0.2s;
	z-index: -1;
}
.banner-notice:hover {
	color: var( --pl--violet );
	transition: 0.2s;

}
.banner-notice:hover::before {
	transform-origin: left top;
	transform: scale( 1, 1 );
}

.banner-notice a:hover {
	color: white;
}
.banner-shadow {
	border: 1px solid var( --wom--dark );
	cursor: pointer;
}
.banner-word {
	padding: 1.3rem 0;
	font-family: 'Libre Caslon Display', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", 'Noto Serif JP', serif;
	font-size: 14pt;
	font-weight: bold;
	line-height: 1.4rem;
}
@media (max-width: 499px) {
	.banner-area {
		width: 90%;
	}
}
.banner-mt {
	margin-top: 70px;
}
.banner-mb {
	margin-bottom: 65px;
}

/*
.top-banner-area {
	width: 500px;
	margin: 3rem auto 0;
}
.top-banner-area span img {
	width: 100%;
	cursor: pointer;
}
@media (max-width: 499px) {
	.top-banner-area {
		width: 100%;
	}
}
*/
.banner-box {
	width: 500px;
	height: 85px;
	margin: 3rem auto 0;
}
.banner-name {
	position: relative;
}
span.banner-notice,
span.banner-shadow {
	position: absolute;
	display: block;
	width: 100%;
	padding: 13px 0 11px 0;
	font-size: large;
}
span.banner-notice {
	background-color: #be9c59;
	color: white;
	cursor: pointer;
}
span.banner-shadow {
	border-top: 2px solid #be9c59;
	border-right: 2px solid #be9c59;
	transform: translate( 7px, -9px );
}
@media (max-width: 579px) { .banner-box { width: 95%; } }
@media (max-width: 519px) { .banner-box { width: 90%; } }
@media (max-width: 399px) {
	.banner-box {
		width: 85%;
	}
	span.banner-notice,
	span.banner-shadow {
		font-size: medium;
	}
}


/* Information個別 ***************************** */
span.info-caption {
	position: relative;
	margin-left: 30px;
	background: linear-gradient( to bottom, rgba( 195, 195, 195, 0 ), rgba( 195, 195, 195, 0 ) 50%, rgba( 195, 195, 195, 1 ) 50%, rgba( 195, 195, 195, 1 ) );
	font-weight: bold;
}
span.info-caption::before {
	position: absolute;
	content: '◆';
	color: var( --pl--thing );
	transform: translateX( -30px );
}

.info-news {
	padding: 40px 0;
}
.news-more {
	padding-top: 20px;
}
.news-more img {
	height: auto;
}
.news-link a,
.news-link a:visited {
	text-decoration: none;
	color: black;
}
.news-link a:hover {
	text-decoration: underline;
}

/* Introduction個別 **************************** */
.about-image {
	max-width: 550px;
	margin: 0 auto;
}
.about-image img {
	width: 100%;
}
@media (max-width: 599px) {
}

/* Schedule個別 ******************************** */

.schedule-summary {
	position: relative;
	margin-bottom: 30px;
	z-index: 1;
}
.schedule-detail { margin-bottom: 40px; }


.schedule-summary::before {
	position: absolute;
	content: '';
	display: block;
	background: url( 'img/subject_ribbon.png' );
	background-size: cover;
	width: 175px;
	height: 44px;
	top: 0;
	left: -73px;
	z-index: -1;
}
.sub-box-left {
	width: 120px;
}
span.summary-name {
	display: block;
	padding-top: 8px;
	font-size: 20px;
	font-weight: bold;
	color: var( --pl--white );
}

.schedule-date {
	display: flex;
	width: max-content;
	margin: 60px auto;
	font-family: 'Josefin Sans', sans-serif;
}
.date-frame {
	width: 220px;
	padding: 0 80px 0 80px;
}
.days-line {
	border-right: dotted 2px var( --pl--black );
}
.box-days {
	position: relative;
}
.date-type {
	font-size: 124px;
}
.weekday-type {
	position: absolute;
	width: 88px;
	top: 10px;
	left: 255px;
	transform-origin: left top;
	transform: rotate( 90deg );
	font-size: 38px;
	font-weight: 300;
}
.color-sat {
	color: #8BB4F2;
}
.color-sun {
	color: #D174F4;
}
.box-times {
	text-align: center;
	font-size: 32px;
	font-weight: 300;
}
.box-times .times-separate {
	position: absolute;
	font-size: 22px;
	transform: translateY( 2px );
}

@media (max-width: 919px) {
	.date-frame {
		padding: 0 40px;
	}
}
@media (max-width: 799px) {
	.date-frame:first-child {
		padding-left: 20px;
	}
}
@media (max-width: 699px) {
	.schedule-date {
		display: block;
	}
	.date-frame:first-child {
		margin-bottom: 40px;
	}
	.date-frame:last-child {
		padding-left: 20px;
	}
	.days-line {
		border-right: solid 0;
	}
}
@media (max-width: 399px) {
	.date-frame:first-child,
	.date-frame:last-child {
		padding-left: 0px;
	}
}

p.sub-caption,
p.sum-caption {
	position: relative;
/*	padding-left: 20px;	*/
}
p.sub-caption::before,
p.sum-caption::before {
	content: '◆';
	color: var( --pl--gray );
/*	position: absolute;
	left: 0;	*/
}
/*
p.sub-caption::before {
	top: 5px;
}
p.sum-caption::before {
	top: 7px;
}
*/
.caution-box {
	width: 100%;
	padding: 10px;
	background-color: var( --pl--lilac );
	box-sizing: border-box;
	color: var( --pl--black );
}
.notice-box {
	width: 100%;
	padding: 10px 14px;
	box-sizing: border-box;
	border: 1px solid var( --pl--violet );
}

a.link-a,
a.link-a:visited,
a.link-url,
a.link-url:visited {
	text-decoration: none;
	color: var( --pl--slate );
}
a.link-a:hover,
a.link-url:hover {
	text-decoration: underline;
}
a.link-url {
	font-weight: bold;
}

@media (max-width: 599px) {
	.schedule-summary,
	.dvd-summary {
		grid-template-columns: 1fr;
	}
	.sub-box-left {
		width: 100px;
	}
	.dvd-sub-box-right {
		margin-top: 20px;
		padding-left: 0;
	}
}
/* リセールPOPUP用 */
.modal-btn {
	display: inline-block;
	padding: 5px;
	border-radius: 5px;
	color: white;
	cursor: pointer;
}
.btn-color-red {
	background-color: #cb2e39;
	border: 1px solid #cb2e39;
} 
.btn-color-violet {
	background-color: var(--pl--violet);
	border: 1px solid var(--pl--violet);
}
#erase-modal,
.modal-area {
	display: none;
}
#erase-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba( 255, 255, 255, 0.7 );
	z-index: 20;
	overflow-y: auto;
}
.modal-area {
	position: absolute;
	left: 50%;
	transform: translate( -50%, 0 );
	width: 1020px;
	margin: 2rem auto;
	z-index: 21;
}
.modal-contents {
	background-color: rgba( 255,255,255,0.95 );
	border: 1px solid var( --pl--violet );
	padding: 29px;
}
.modal-close {
	display: inline-block;
	padding: 5px;
	background-color: #6f6b64;
	border: 1px solid #6f6b64;
	border-radius: 5px;
	color: white;
	cursor: pointer;
}
.modal-article .full-img {
	width: 960px;
}
.modal-article .full-img img { width: 100%; }
.align-right {
	width: 100%;
	text-align: right;
}

@media (max-width: 1199px) {
	.modal-area { width: 90%; }
	.modal-article .full-img { width: auto; }
}
@media (max-width: 799px) {
	div.top-frame div.modal-area { width: 95%; }
	div#contents-articles .modal-area { width: 110%; }
	.modal-contents { padding: 29px 10px; }
}
/* Cast & Staff個別 **************************** */

.logo-mark img {
	width: 145px;
}
@media (max-width: 599px) {
	.logo-mark img {
		width: 100px;
	}
}
.photo-rows {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-bottom: 37px;
}
.photo-triple {
	display: grid;
	grid-template-columns: 12.5% 50% 25% 12.5%;
	margin-bottom: 37px;
}
.photo-double {
	display: grid;
	grid-template-columns: 25% 50% 25%;
	margin-bottom: 37px;
}
.cast-photo {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.cast-single {
	display: grid;
	grid-template-columns: 1fr;
}
.cast-only {
	display: grid;
	grid-template-columns: 25% 50% 25%;
}
.only-space { display: block; }
.single-space { display: none; }
.photo-frame {
	position: relative;
	margin: 0 20px 15px;
}
.photo-img {
	margin: 0 auto;
	cursor: pointer;
}
.photo-img img {
	width: 100%;
}
.unit-name {
	position: absolute;
	top: 0;
	left: -30px;
}
.cast-name {
/*	font-family: YuMincho,'Yu Mincho',serif;	*/
}
.unit-space {
	margin-bottom: 0;
}
.name-list {
	display: grid;
	grid-template-columns: auto 1em auto;
}
.name-left {
	text-align: right;
	justify-self: end;
}
.name-right { text-align: left; }

.name-left,
.name-right {
	width: 100px;
}
.name-center {
	text-align: center;
	width: auto;
}

@media (max-width: 999px) {
	.photo-rows {
		grid-template-columns: 1fr;
		margin-bottom: 0;
	}
	.unit-space { margin-bottom: 37px; }
	.photo-double,
	.photo-triple {
		grid-template-columns: 1fr;
	}
	.triple-space { display: none; }
	.cast-single { grid-template-columns: 25% 50% 25%; }
	.single-space { display: block; }
}
@media (max-width: 949px) {
}
@media (max-width: 899px) {
}
@media (max-width: 859px) {
	.photo-frame { margin: 0 20px 15px; }
}
@media (max-width: 659px) {
	.cast-photo { grid-template-columns: 1fr; }
	.photo-frame { margin: 0 140px 15px; }
	.cast-single { grid-template-columns: 1fr; }
	.single-space { display: none; }
	.cast-only { grid-template-columns: 1fr; }
	.only-space { display: none; }
}
@media (max-width: 639px) {
	.photo-frame { margin: 0 100px 15px; }
}
@media (max-width: 569px) {
	.photo-frame { margin: 0 85px 15px; }
}
@media (max-width: 499px) {
	.photo-frame { margin: 0 75px 15px; }
}
@media (max-width: 459px) {
	.photo-frame { margin: 0 65px 15px; }
}
@media (max-width: 419px) {
	.photo-frame { margin: 0 50px 15px; }
}
@media (max-width: 399px) {
	.photo-frame { margin: 0 45px 15px; }
}
@media (max-width: 359px) {
	.photo-frame { margin: 0 35px 15px; }
}
/* 画面POPUP用 */
.cast-up,
.close-area,
.close-cast  {
	position: fixed;
	display: none;
}
.close-area {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba( 170, 171, 202, 0.7 );
	z-index: 20;
}

.cast-up {
	top: 50%;
	left: calc( 50% - 30px );
	transform: translate( -50%, -50% );
	width: 440px;
	height: auto;
	margin: 0 30px;
	z-index: 21;
}
.cast-up ul li a img {
	max-width: 100%;
}
.close-cast {
	top: 0;
	right: 0;
	width: 64px;
	height: 64px;
	z-index: 21;
	cursor: pointer;
}
.close-bar {
	position: absolute;
	display: block;
	width: 64px;
	height: 6px;
	margin-top: 29px;
	background-color: #5957DA;
}
.close-bar:first-child {
	transform: rotate( 45deg );
}
.close-bar:last-child {
	transform: rotate( -45deg );
}
@media (max-width: 499px) {
	.cast-up {
		width: calc( 100% - 60px );
	}
}

/* Goods個別 *********************************** */
.goods-caption {
	width: 100%;
	font-size: 18pt;
	font-weight: bold;
	line-height: 2.5rem;
}
.goods-box {
	width: 100%;
	box-sizing: border-box;
}
.goods-box-line {
	border-left: 1px solid var(--pl--lilac);
	border-right: 1px solid var(--pl--lilac);
}
.goods-attention-box-col {
	display: grid;
	grid-template-columns: 60% 15% 25%;
	border: 1px solid var(--pl--lilac);
	text-align: left;
	background-color: var(--pl--white);
}
.goods-attention-box-row {
	display: grid;
	grid-template-rows: auto auto;
}
.subject-box {
	background-color: var(--pl--violet);
	line-height: 3em;
	height: 3em;
	padding: 10px;
	color: var(--pl--white);
}
.detail-box {
/*	height: 75px;	*/
	padding: 10px;
	background-color: var(--pl--white);
}
.box-line-dark,
.box-line-white {
	border-left: 1px solid var(--pl--lilac);
	border-right: 1px solid var(--pl--lilac);
}
.box-position {
	display: table;
	width: calc( 100% - 22px );
}

@media (max-width: 639px) {
	.goods-attention-box-col {
		grid-template-columns: auto;
		grid-template-rows: auto auto auto;
	}
	.goods-attention-box-row {
		grid-template-columns: 30% 70%;
		grid-template-rows: auto;
	}
	.subject-box {
		line-height: 1.5em;
		height: calc( 100% - 20px);
	}
	.goods-box-line {
		border-left: 0px solid var(--pl--lilac);
		border-right: 0px solid var(--pl--lilac);
		border-top: 1px solid var(--pl--lilac);
		border-bottom: 1px solid var(--pl--lilac);
	}
}

.goods-disc {
	display: grid;
	grid-template-columns: 65% 20% 15%;
}
.goods-title {
	font-size: 22px;
}
.goods-subject {
	margin-top: 18px;
}
p.goods-price {
	text-align: right;
	margin-top: 8px;
}

.goods-photo {
	margin: 0 auto;
}
.goods-img {
	padding: 5px;
}
.goods-img img {
	width: 100%;
}
.goods-column-a {
	display: grid;
	grid-template-columns: 1fr;
	width: 40%;
}
.goods-column-b {
	display: grid;
	grid-template-columns: 1fr 1fr;
	width: 70%;
}
.goods-column-c {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	width: 90%;
}

@media (max-width: 999px) {
	.goods-disc { grid-template-columns: 1fr; }
	.goods-subject {
		display: none;
	}
	p.goods-price {
		text-align: left;
		margin-top: 0;
	}
}
@media (max-width: 799px) {
	.goods-column-b,
	.goods-column-c,
	.goods-column-e {
		width: 100%;
	}
}
@media (max-width: 639px) {
	.goods-column-a {
		width: 100%;
	}
	.goods-column-c {
		grid-template-columns: 1fr 1fr;
	}
}
@media (max-width: 429px) {
	.subject-box {
		height: calc( 100% - 10px);
		padding: 5px;
	}
	.detail-box {
		padding: 5px;
	}
	.goods-column-a,
	.goods-column-b,
	.goods-column-c,
	.goods-column-e {
		grid-template-columns: 1fr;
	}
}
p.caption-lr {
	position: relative;
}
p.caption-lr::before {
	content: url( 'img/p_mark.png' );
	position: absolute;
	transform: translate( -20px, 16px );
}
p.caption-lr::after {
	content: url( 'img/p_mark.png' );
	position: absolute;
	transform: translate( 5px, 16px );
}

/* Q&A個別 ************************************* */

.q-notice {
	margin-top: 30px;
	position: relative;
	border-bottom: 1px solid var( --pl--lilac );
	padding: 5px 0 20px 0;
	cursor: pointer;
}
.a-notice {
	display: none;
	margin: 20px 0 40px 0;
}
.q-logo {
	position: absolute;
	top: 0;
	left: 0;
}
.triangle {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0px;
	height: 0px;
	border-top: 10px solid #be9c59;
	border-right: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 10px solid transparent;
}
.d-triangle {
	position: absolute;
	bottom: 0;
	right: 0;
	transition: ease-in-out 300ms;
}
.u-triangle {
	transform: rotate( 180deg );
}

/* Movie個別 *********************************** */

.movie-list-box {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.movie-box {
	box-sizing: border-box;
	padding: 20px;
}
.movie-frame {
	position: relative;
	padding-bottom: 56.25%; /* アスペクト比 16:9の場合の縦幅 */
	height: 0;
	overflow: hidden;
}
.movie-frame iframe {
 	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media (max-width: 768px) {
	.movie-list-box { grid-template-columns: 1fr; }
}

/* CINEMA個別 ***************************** */
table.cinema-list th {
	width: 5rem;
}

/* ******** ************************************ */


/* フッター ************************************ */

.footer-notice,
#footer {
	display: grid;
	grid-template-columns: 50% 50%;
	width: 100%;
	padding: 10px 0;
}
.event-box-inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.footer-notice {
}
.social-item {
	padding: 0 15px;
}
.copyright {
	margin: 20px auto;
	text-align: center;
	font-size: x-small;
	color: black;
}
.copyright a {
	color: black;
}
.copyright a:hover {
	text-decoration: underline;
}
@media (max-width: 799px) {
	.footer-notice,
	#footer {
		grid-template-columns: 1fr;
	}
	.copyright {
		margin: 5px auto;
	}
}



/* テーブルテスト *********************************/

table.music {
    border-top: 1px solid #C3C3C3;
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}


table.music tr {
    border-bottom: 1px solid #C3C3C3;
    position: relative;
    padding: 15px 15px 15px 15px;
}

table.music th{
    width: 15%;
    position: relative;
    padding: 15px 15px 15px 15px;
    line-height: 1.3;
    text-align: left;
}

table.music td{
    position: relative;
    padding: 15px 20px 15px 20px;
    line-height: 1.3;
    text-align: left;
    vertical-align: middle;
}

table.music tr th:after {
    content: "";
    display: block;
    position: absolute;
    width: 1px;
    height: calc(100% - 20px);
    right: 0;
    top: 10px;
    background: rgba(195, 195, 195, 0.5);
}

span.h3 {
    position: relative;
    background: linear-gradient( to bottom, rgba( 195, 195, 195, 0 ), rgba( 195, 195, 195, 0 ) 50%, rgba( 195, 195, 195, 1 ) 50%, rgba( 195, 195, 195, 1 ) );
    font-weight: bold;
}

span.sub-caption,
span.sum-caption {
	position: relative;
/*	padding-left: 20px;	*/
}
span.sub-caption::before,
span.sum-caption::before {
	content: '◆';
	color: var( --pl--gray );
/*	position: absolute;
	left: 0;	*/
}
/*
span.sub-caption::before {
	top: 5px;
}
span.sum-caption::before {
	top: 7px;
}
*/


.cinema-btn {
	display: inline-block;
	padding: 1.5px;
	border-radius: 3px;
	color: white;
}

.btn-color-gray {
	background-color: var(--pl--gray);
	border: 1px solid var(--pl--gray);
}



/* 過去のコンテンツ **************************** */
#footer-wrap {
	width: 100%;
	background-color: white;
	height: auto;
}
.footer-border {
	border-top: 10px solid;
	border-image: linear-gradient( to right, #cfdfee, #d6ead1 20%, #f1ddd1 42%, #e7cde3 67%, #cfdfee 82%, #ddcee5 ) 1;
}

#event-past {
	max-width: 1100px;
	margin: 0 auto;
	color: black;
}
.event-box-inner {
	padding: 30px 100px;
}

.event-item {
	height: 90px;
	padding: 0 15px;
}
.event-item img {
	width: 190px;
}

/* 上へ戻る */

.to-top {
	position: absolute;
	right: -37px;
	top: -175px;
	cursor: pointer;
	transition: 0.3s;
}
.to-top:hover {
	transform: translateY( -20px );
	transition: 0.3s;
}

@media (max-width: 1365px) {
	#totop {
		left: 485px;
	}
}

/**************************************************
記事投稿定義
**************************************************/
/*
#contents {
	display: block;
	margin: 0;
}

#main_contents {
	max-width: 1000px;
	margin: auto;
}

#about {
	display: block;
	width: 100%;
	margin: 0;
}
*/
.wp-block-image { margin: 0 0 1em; }