@charset "utf-8";

/* Base setting */
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
body {
	color: rgba(51,51,51,1.00);
	background-color: rgba(204,147,182,0.20);
	background-image: url(../img/bg.png);
	line-height: 1.4em;
	letter-spacing: -.04em
}
a {
	color: #910000;
	text-decoration: none;
}
a:hover {
	color: #FF0000;
	text-decoration: none;
}
.clearfix::after,
section::after,
.box::after {
	display: block;
	clear: both;
	width: 0;
	content: "";
}
.manifest {
	height: auto;
	transition: all 300ms 0s ease-in-out;
}
.latent {
	height: 0;
	overflow: hidden;
	transition: all 300ms 0s ease-in-out;
}
section {
	padding: 3em 0 1em;
	clear: both;
}
header section,
footer section {
	background-color: rgba(223,152,174,0.80);
	color: rgba(25,25,25,1.00);
}
.lead {
	margin-left: 2em;
	font-size: 120%;
	margin-bottom: 1em;
}
section > div,
article > div,
nav {
	margin-left: auto;
	margin-right: auto;
}
.attention {
	font-size: 80%;
}
h3 {
	font-size: 240%;
	line-height: 1em;
	padding: .1em 0 .1em .3em;
	margin-bottom: 1em;
	background-repeat: no-repeat;
	background-position: right 0;
	background-image: url(../img/ico.png);
	background-size: contain;
	border-bottom: 3px solid rgba(137,13,63,1.00);
	color: rgba(137,13,63,1.00);
	text-shadow: 0px 0px 0.5em rgba(255,255,255,1.00);
}
.subtitle {
	margin-top: -1.4em;
	font-size: 160%;
	text-align: right;
	margin-bottom: 1.5em;
}
.subtitle span {
	display: inline-block;
	padding-top: .2em;
}

/* header */
#header {
	text-align: center;
	position: absolute;
	width: 100%;
	padding: 1em 0;
	transition: all 300ms 0s ease-in-out;
}
#header.fixed {
	position: fixed;
	top: 0px;
	height: 6em;
	padding: .5em 0;
	z-index: 999;
	transition: all 300ms 0s ease-in-out;
}
#header h1 img {
	float: left;
	height: 0;
	opacity: 0;
	transition: all 300ms 0s ease-in-out;
}
#header.fixed h1 img {
	height: 5em;
	opacity: 1;
	margin-right: 1em;
	transition: all 300ms 0s ease-in-out;
}
#header nav ul {
	display: flex;
	justify-content: center;
}
#header.fixed nav ul {
	font-size: 75%;
	padding-top: 3em;
}
#header nav ul li {
	width: calc((100% - 2.4em) / 4);
	margin: 0 .3em;
	display: block;
	height: 3em;
	position: relative;
	border-radius: .3em;
	font-size: 110%;
	font-weight: bold;
}
#header nav ul li span.font-s {
	font-size: 60%;
	letter-spacing: -.09em;
}
#header nav ul li.out {
	height: 3em;
	line-height: 3em;
	transition: all 300ms 0s ease-in-out;
	border-radius: .3em;
}
#header nav ul li a {
	display: block;
	width: 100%;
	height: 3em;
	line-height: 3em;
	transition: all 300ms 0s ease-in-out;
	border-radius: .3em;
}
#header nav ul li a:hover  {
	transition: all 300ms 0s ease-in-out;
}


/* main */
main {
	padding-top: 5em;
}
main section:nth-child(odd) {
	background-color: rgba(204,147,182,0.20);
}
#menu #left h2 {
	width: 100%;
}
#menu #left h2 img {
	display: block;
	max-width: 100%;
}
#menu #right h3 {
	margin-bottom: .5em;
}
#menu #right .topics {
	margin-bottom: 3em;
}
#menu #right .topics dl {
	max-height: 6em;
	overflow-y: auto;
	padding: 0 .5em;
}
#menu #right .topics dl dt {
}
#menu #right .topics dl dd {
	padding: 0 1em .2em 1em;
	border-bottom: thin solid rgba(51,51,51,.30);
}
#leadbox {
	text-align: center;
}
#leadbox img {
	margin-bottom: 2em;
}
#social li {
	display: inline-block;
}
#social li a img {
}
.box,
.box_s {
	background-color: rgba(255,255,255,0.50);
	border-radius: 0.3em;
	padding: 2em;
	margin-bottom: 2em;
}
.box dt {
	width: 12em;
	display: block;
	float: left;
	padding-left: 1em;
	font-weight: bold;
}
.box dd {
	padding-left: 14em;
	padding-right: 1em;
	padding-bottom: .3em;
	border-bottom: thin dotted rgba(78,53,25,1.00);
	margin-bottom: .3em;
	font-size: 120%;
}
.box dd.attentionbox {
	padding-left: 2em;
}
.box dd.attentionbox .attention {
	text-indent: -1em;
}
.box dd:last-child,
.box .event_ticket dd.attentionbox:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}
.box .event_ticket dd:last-child {
	padding-bottom: .3em;
	border-bottom: thin dotted rgba(78,53,25,1.00);
	margin-bottom: .3em;
}
.box dd table {
	border-spacing: 0;
	border-collapse: 0;
	margin-left: -1em;
	width: calc(100% + 1em);
}
.box dd table tr td {
	vertical-align: top;
	padding: .3em 1em;
	border-bottom: thin solid rgba(78,53,25,.3); 
}
.box dd table tr.noborder td,
.box dd table tr td.noborder {
	border-bottom: none; 
}
.box dd table tr:first-child td {
	padding-rop: 0;	
}
.box dd table + p {
	margin-top: .3em;
}

.box_s dt {
	padding-left: 1em;
	margin-bottom: .5em;
	font-weight: bold;
}
.box_s dd {
	padding-left: 2em;
	padding-right: 1em;
	padding-bottom: .3em;
	border-bottom: thin dotted rgba(78,53,25,1.00);
	margin-bottom: .3em;
	font-size:120%;
}
.box_s dd:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}
.box_s dd table {
	border-spacing: 0;
	border-collapse: 0;
	margin-left: -1em;
	width: calc(100% + 1em);
	margin-top: .3em;
}
.box_s dd table tr td {
	vertical-align: top;
	padding: .3em 1em;
	border-bottom: thin solid rgba(78,53,25,.3); 
}
.box_s dd table tr.noborder td,
.box_s dd table tr td.noborder {
	border-bottom: none; 
}
.box_s dd table tr:first-child td {
	border-top: thin solid rgba(78,53,25,.3); 
}
.box_s dd table + p {
	margin-top: .3em;
}
.box_s dd ul {
	padding: .5em 0 .5em 1em;
}

.box h4 {
	font-size:180%;
	line-height: 1em;
	margin-bottom: .5em;
	border-bottom: thin solid rgba(51,51,51,1.00);
	padding-bottom: .1em;
	padding-left: .5em
}
.box hr {
	display: block;
	clear: both;
	width: 100%;
	margin: 2em 0;
	height: .2em;
	border: none;
	background-color: rgba(226,165,185,1.00)
}
#spec .info {
	font-size: 140%;
	line-height: 1.2em;
	border: thin solid rgba(255,255,255,1.00);
	border-radius: 0.3em;
	padding: 1em;
	margin-bottom: 2em;
}
#spec .info strong {
	background-color: rgba(255,255,255,1.00);
	display: block;
	color: rgba(28,101,142,1.00);
	padding: 0.1em;
	margin-bottom: 0.5em;
}



/* footer */

footer {
	text-align: center;
	font-size: 80%;
}
footer .bnrbox a img {
	margin-bottom: 1em;
}


/* pagelink */

#page-top {
	position: fixed;
	bottom: 10px;
	right: 10px;
	font-size: 12px;
	z-index: 999;
}
#page-top a {
	background: #666;
	text-decoration: none;
	color: #fff;
	width: 80px;
	padding-right: 0;
	padding-left: 0;
	text-align: center;
	display: block;
	border-radius: 5px;
	-moz-opacity: 0.5;
	opacity: 0.5;
	filter: alpha(opacity=50);
	height: 80px;
	line-height: 80px;
}
#page-top a:hover {
	text-decoration: none;
	-moz-opacity: 0.9;
	opacity: 0.9;
	filter: alpha(opacity=90);
	background-color: #FC0;
}

/**/
.event_ticket{
	position: relative;
	margin-bottom: 3em;
	margin-top: -0.9em;
	padding-top: 0.9em;
}
.ticket_out {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-image: url(../img/ticket_soldout.png);
	background-repeat: no-repeat;
	background-position: center center;
	border-radius: 5px;
	z-index: 990;
}
.ticket_out2 {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-image: url(../img/ticket_soldout2.png);
	background-repeat: no-repeat;
	background-position: center center;
	border-radius: 5px;
	z-index: 990;
}
.attentionbox ul li span {
	color: #FF0004;
	font-weight: bold;
	display: block;
	padding-top: 0.5em;
}
div.attentionbox {
	background-color: rgba(255,255,255,.3);
	border-radius: .3em;
	padding: 2em;
	margin-bottom: 2em;
}
div.attentionbox h5 {
	font-size: 120%;
	line-height: 1em;
	margin-bottom: .5em;
	font-weight: bold;
}
div.attentionbox p {
	padding-left: 2em;
	margin-bottom: .2em;
}
div.attentionbox ul {
	padding-left: 3em;
	margin-bottom: 2em;
}
div.attentionbox ul li {
	text-indent: -1em;
	margin-bottom: .2em;
}
div.attentionbox ul li:last-child {
	margin-bottom: 0;
}
.attentionlist {
	padding-left: 1em;
}
.attentionlist li {
	text-indent: -1em;
	margin-bottom: .2em;
}
.attentionlist li:last-child {
	margin-bottom: 0;
}
#spec .specbox h2 {
	margin-bottom: 1em;
}
#goods .goods_lead {
	margin-bottom: 1em;
}
#goods .pre_goods .bnrbox {
	padding-left: 1em;
	text-align: center;
}
#goods .goodsbox {
	position: relative;
}
.goods_out {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-image: url(../img/goods_out.png);
	background-repeat: no-repeat;
	background-position: center center;
	border-radius: 5px;
	z-index: 990;
}
.btn {
	display: block;
	background-color: #FFFFFF;
	border-radius: 5px;
	padding: 0.3em 1em;
	border: thin solid #1A8EC7;
	margin-top: 1em;
	margin-bottom: 1em;
}
.btn:hover {
	background-color: #1A8EC7;
	color: #FFFFFF;
}
.goodsimg {
	font-size: 80%;
	text-align: center;
}

#leadbox .btn {
	display: block;
	background-color: transparent;
	padding: 0;
	margin: 0;
	border: none;
}
#leadbox .btn:hover {
	background-color: transparent;
	color: #FFFFFF;
}


@media screen and (max-width:640px){
	.sponly {
		display: inline;
	}
	.pconly {
		display: none;
	}
	.font-s {
		display: none;
	}
html,
body {
	font-size: 13px;
}
section > div,
article > div,
nav {
	width: 95%;
}
	#header nav ul li {
	font-size: 90%;
	}
#menu > div {
	width: 100%;
}
	#menu {
		padding: 0;
	}
	#menu #left h2 .sponly {
		height: auto;
		margin-bottom: 2em;
		transition: all 300ms 0s ease-in-out;
	}
	#menu #left h2 .pconly {
		height: 0;
		transition: all 300ms 0s ease-in-out;
	}
	#menu #right .logo img {
		height: 0;
		transition: all 300ms 0s ease-in-out;
	}
	#menu #right .infobox {
		width: 95%;
		margin: 0 auto 2em;
	}
main {
	padding-top: 4.5em!important;
}
.box dt {
	width: auto;
	display: inherit;
	float: none;
}
	.box dd,
	.box_s dd {
		padding-left: 1em;
		font-size:100%;
	}
	.box_s dd table {
		margin-left: 0;
	}
	.box_s dd table tr td {
		padding: .3em 1em .3em 0;
	}
	.box dd table,
	.box dd table tbody,
	.box dd table tbody tr {
		display: inline;
		margin: 0;
		padding: 0;
	}
	.box dd table tbody tr td {
		padding: 0;
		margin: 0;
		display: block;
		border: none;
	}
	.box dd table tr td:nth-child(even) {
		padding-left: 1em;
	}
	dd span {
		display: inline-block;
	}
	div.attentionbox p {
		padding-left: 0em;
	}
	div.attentionbox ul {
		padding-left: 1em;
	}
	#social img {
		width: 75px;
	}
}
@media screen and (min-width:641px) and (max-width:800px){
	.sponly {
		display: none;
	}
	.pconly {
		display: inline;
	}
html,
body {
	font-size: 13px;
}
section > div,
article > div,
nav {
	width: 95%;
}
#menu > div {
	width: 100%;
}
	#menu #left h2 .sponly {
		height: 0;
		transition: all 300ms 0s ease-in-out;
	}
	#menu #left h2 .pconly {
		height: auto;
		margin-bottom: 2em;
		transition: all 300ms 0s ease-in-out;
	}
	#menu {
		padding: 0;
	}
	#menu #left h2 img {
		display: block;
		margin: 0px auto;
		position: relative;
		z-index: 10;
	}
	#menu #right .logo {
		margin: -460px auto 2em;
		max-width: 700px;
		background-image: -webkit-linear-gradient(270deg,rgba(255,255,255,0.00) 0%,rgba(255,255,255,1.00) 100%);
		background-image: -moz-linear-gradient(270deg,rgba(255,255,255,0.00) 0%,rgba(255,255,255,1.00) 100%);
		background-image: -o-linear-gradient(270deg,rgba(255,255,255,0.00) 0%,rgba(255,255,255,1.00) 100%);
		background-image: linear-gradient(180deg,rgba(255,255,255,0.00) 0%,rgba(255,255,255,1.00) 100%);
		height: 460px;
		padding: 0px;
		position: relative;
		z-index: 20;
	}
	#menu #right .logo h1 img {
		display: block;
		margin: 0 auto;
	}
	#menu #right .infobox {
		display: flex;
		clear: both;
	}
	.infobox > div {
		width: calc((100% - 2em) / 2);
		margin: 0 .5em 2em;
	}
	#menu #right .topics dl {
		max-height: 300px;
	}
	#social img {
		width: 95px;
	}
	#spec .specbox {
		display: flex;
	}
	#spec .specbox #left {
		width: calc((100% - 1em) /2);
		margin-right: 1em;
	}
	#spec .specbox #right {
		width: calc((100% - 1em) /2);
	}
	#spec .specbox h2 img {
		display: block;
	}
	#spec #common {
		clear: both;
	}
	dd span {
		display: inline-block;
	}
	.box_s dd table tr td {
		padding: .3em .5em .3em 0;
	}
}


@media screen and (min-width:801px) and (max-width:1199px){
	.sponly {
		display: none;
	}
	.pconly {
		display: inline;
	}
html,
body {
	font-size: 15px;
}
section > div,
article > div,
nav {
	width: 95%;
}
	#menu #left h2 .sponly {
		height: 0;
		transition: all 300ms 0s ease-in-out;
	}
	#menu #left h2 .pconly {
		height: auto;
		margin-bottom: 2em;
		transition: all 300ms 0s ease-in-out;
	}
	#menu #left {
		float: left;
		width: 60%;
	}
	#menu #right {
		float: left;
		width: 40%;
		padding-left: 2em;
	}
	#social img {
		width: 95px;
	}
	#spec .specbox {
		display: flex;
	}
	#spec .specbox #left {
		width: calc((100% - 1em) /2);
		margin-right: 1em;
	}
	#spec .specbox #right {
		width: calc((100% - 1em) /2);
	}
	#spec .specbox h2 img {
		display: block;
	}
	#spec #common {
		clear: both;
	}
}

@media screen and (min-width:1200px){
	.sponly {
		display: none;
	}
	.pconly {
		display: inline;
	}
html,
body {
	font-size: 16px;
}
section > div,
article > div,
nav {
	width: 1100px;
}
	#menu #left h2 .sponly {
		height: 0;
		transition: all 300ms 0s ease-in-out;
	}
	#menu #left h2 .pconly {
		height: auto;
		margin-bottom: 2em;
		transition: all 300ms 0s ease-in-out;
	}
	#menu #left {
		float: left;
		width: 60%;
	}
	#menu #right {
		float: left;
		width: 40%;
		padding-left: 2em;
	}
	#menu #right h1 img {
		margin-bottom: 61px;
	}
	#social img {
		width: 95px;
	}
	#spec .specbox {
		display: flex;
	}
	#spec .specbox #left {
		width: calc((100% - 1em) /2);
		margin-right: 1em;
	}
	#spec .specbox #right {
		width: calc((100% - 1em) /2);
	}
	#spec .specbox h2 img {
		display: block;
	}
	#spec #common {
		clear: both;
	}


}
