@charset "utf-8";

/*--------------------------------------------------
	common
--------------------------------------------------*/
a:link { color: #ffba00; font-weight: bold; text-decoration: none; }
a:visited { color: #ffba00; font-weight: bold; text-decoration: none; }
a:hover { color: #ffba00; font-weight: bold; text-decoration: none; filter: alpha(opacity=60); -moz-opacity: 0.6; opacity: 0.6; transition: 0.3s; }
@media screen and (min-width: 768px) {
a[href^="tel:"] { pointer-events: none; font-weight: initial; color: inherit; }
}

.bold {	font-weight: bold; }

/* 選択時背景色 */
/*::selection {background: #fe4545;color:#fff; }
::-moz-selection {background: #fe4545;color:#fff; }*/

.mgt05 { margin-top: 5px; }
.mgt10 { margin-top: 10px; }
.mgt15 { margin-top: 15px; }
.mgt20 { margin-top: 20px; }
.mgt25 { margin-top: 25px; }
.mgt30 { margin-top: 30px; }
.mgt35 { margin-top: 35px; }
.mgt40 { margin-top: 40px; }
.mgt45 { margin-top: 45px; }

.right { text-align: right; }
.left { text-align: left; }
.center { text-align: center; }

/* float解除 */
.clearfix:after { content: ""; display: block; clear: both; }
.clearfix { display: inline-block; }
* html .clearfix { height: 1%; }
.clearfix { display: block; }
.both { clear: both; }

.sp { display: none !important; }
@media screen and (max-width: 767px) {
.pc { display: none !important; }
.sp { display: inherit !important; }
}

/*--------------------------------------------------
	layout
--------------------------------------------------*/
html {
	font-size: 62.5%;
}
body {
	line-height: 1;
	font-size: 1.0rem;
	color: #b76872;
	font-family: 'Noto Sans JP', "メイリオ", "meiryo", Verdana, "Hiragino Kaku Gothic Pro W3", "MS UI Gothic";
	overflow-wrap: break-word;
	word-wrap: break-word;
	-webkit-text-size-adjust: none;
	background: url(../images/bg_star.png), url(../images/bg.gif);
	background-repeat: repeat, repeat;
	background-position: left top, left top;
}
img {
	max-width: 100%;
	height: auto;
	image-rendering: -webkit-optimize-contrast;
}
#content {
	padding-top: 180px;
}
@media screen and (max-width: 767px) {
body {
	background-size: 160%, auto;
}
#content {
	padding-top: 80px;
}
}

/*--------------------------------------------------
	header
--------------------------------------------------*/
header {
	position: fixed;
	top: 0;
	width: 100%;
	padding: 20px;
	background: #ff9aa8;
	border-bottom: 4px solid;
	border-image: linear-gradient(to right, #ffd75b 0%, #fff5a0 30%, #ffffdb 50%, #fff5a0 70%, #ffd75b 100%);
	border-image-slice: 1;
	box-shadow: 0 0 20px rgba(99,75,15,0.4);
  z-index: 50;
  transition: opacity 350ms linear;
}
header .nav {
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 1200px;
	font-size: 2.6rem;
	font-family: 'Sora', sans-serif;
	margin: auto;
}
header .nav li {
	margin: 0 1.56%;
}
header .nav li a {
	color: #fff;
}
header .nav li.nav-twi {
	font-size: 3.2rem;
}

@media screen and (max-width: 1020px) {
header {
	padding: 0;
	background: none;
	border: none;
	box-shadow: none;
}
#header .nav {
	position: fixed;
	top: 0;
	right: -100%;
	margin: 0;
	width: 200px;
	height: 100vh;
	font-size: 2.4rem;
	background: #ff9aa8;
	overflow-y: auto;
	flex-direction: column;
	justify-content: flex-start;
	padding: 80px 10px 20px;
	transition: right 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
#header .nav li+li {
	margin-top: 20px;
}
#header .nav.open {
	right: 0;
}
.hambuger {
	position: fixed;
	top: 10px;
	right: 10px;
	display: flex;
	justify-content: center;
	flex-direction: column;
	width: 50px;
	height: 50px;
	text-align: center;
	padding: 10px;
	background: #ff9aa8;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	z-index: 100;
}
.hambuger span {
	display: block;
	height: 5px;
	width: 100%;
	background: #fff;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .25s ease-in-out;
	-moz-transition: .25s ease-in-out;
	transition: .25s ease-in-out;
}
.hambuger span:nth-child(1) {
	margin-bottom: 5px;
}
.hambuger span:nth-child(2) {
	opacity: 1;
}
.hambuger span:nth-child(3) {
	margin-top: 5px;
}
.hambuger.open span:nth-child(1) {
	margin-bottom: -2px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}
.hambuger.open span:nth-child(2) {
	opacity: 0;
}
.hambuger.open span:nth-child(3) {
	margin-top: -2px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
}

/*--------------------------------------------------
	content
--------------------------------------------------*/
section {
	padding: 80px 20px 0;
}
section .sec-ttl {
	text-align: center;
	font-size: 4.0rem;
	font-family: 'Sora', sans-serif;
	color: #ff9aa8;
}
section .sec-ttl::before {
  content: '';
  display: block;
  width: 198px;
  height: 66px;
  background-image: url(../images/ttl_mark.png);
  background-size: contain;
	margin: 0 auto 15px;
}
section .sec-block {
	max-width: 1020px;
	margin: 10px auto 0;
	padding: 60px 0;
	background: #ffffff;
	border: 4px #ff9aa8 solid;
	box-shadow: 6px 6px 0 #ff9aa8; 
}
section .sec-block .inner {
	width: 90.12%; /* ボックス内側1012px-左右50px */
	margin-right: auto;
	margin-left: auto;
}
section .sec-block .sec-label {
	display: inline-block;
	min-width: 320px;
	line-height: 1.1;
	text-align: center;
	font-size: 2.0rem;
	font-weight: bold;
	color: #fff;
	margin: auto;
	padding: 10px;
	background: #ff9aa8;
}
section .sec-block .sec-subttl {
	text-align: center;
	font-size: 5.0rem;
	font-weight: bold;
	color: #ff9aa8;
	letter-spacing: 0.1em;
	background: url(../images/subttl_marker.png) no-repeat center bottom;
}
section .sec-block .sec-subttl.sec-subttl-min {
	letter-spacing: normal;
	font-feature-settings: "palt";
}
section .sec-block .sec-hr {
	height: 10px;
	border: none;
	border-top: 2px dotted rgba(183,104,114,0.4);
	border-bottom: 2px dotted rgba(183,104,114,0.4);
}
section .sec-block .sec-note {
	line-height: 1.5;
	font-size: 1.6rem;
	text-indent: -1em;
	padding-left: 1em;
}
section .sec-block .sec-small {
	font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
section {
	padding: 40px 15px 0;
}
section .sec-ttl {
	font-size: 2.0rem;
}
section .sec-ttl::before {
  width: 99px;
  height: 33px;
	margin: 0 auto 10px;
}
section .sec-block {
	padding: 40px 0;
}
section .sec-block .sec-label {
	width: 100%;
	min-width: initial;
	font-size: 1.6rem;
}
section .sec-block .sec-subttl {
	font-size: 2.7rem;
	letter-spacing: 0;
	white-space: nowrap;
	background-size: contain, auto;
}
section .sec-block .sec-subttl::before,
section .sec-block .sec-subttl::after {
  width: 55px;
  height: 18px;
}
section .sec-block .sec-subttl::before {
	margin-right: 5px;
}
section .sec-block .sec-subttl::after {
	margin-left: 5px;
}
section .sec-block .sec-subttl.sec-subttl-min {
	/*font-size: 1.7rem;*/
}
section .sec-block .sec-note {
	font-size: 1.4rem;
}
section .sec-block .sec-small {
	font-size: 1.1rem;
}
}



#mv {
	text-align: center;
	padding: 0 15px;
}
@media screen and (max-width: 767px) {
#mv {
	padding: 0 5px;
}
}


section#news .sec-block {
	padding: 25px 0 40px;
}
#news .news-list {
	overflow-y: auto;
	max-height: 180px;
}
#news .news-list li {
	display: flex;
	line-height: 1.5;
	font-size: 1.6rem;
	padding: 15px 0;
	border-bottom: 2px rgba(183,104,114,0.4) dotted;
}
#news .news-list li .news-day {
	color: #ff9aa8;
	font-family: 'Sora', sans-serif;
}
#news .news-list li .news-ttl {
	margin-left: 20px;
}
@media screen and (max-width: 767px) {
#news .news-list {
	max-height: 240px;
}
#news .news-list li {
	display: block;
	font-size: 1.4rem;
}
#news .news-list li .news-ttl {
	margin-left: 0;
}
}


#schedule .sec-block {
	text-align: center;
}
#schedule .schedule-day {
	font-size: 7.0rem;
	font-weight: bold;
}
#schedule .schedule-day .small {
	font-size: 5.0rem;
	color: #ff9aa8;
}
#schedule .schedule-day .week {
	font-size: 5.0rem;
}
#schedule .schedule-time {
	line-height: 1.5;
	font-size: 4.0rem;
	font-weight: bold;
	margin-top: 20px;
}
#schedule .sec-label {
	margin-top: 30px;
}
#schedule .schedule-place {
	font-size: 2.4rem;
	margin-top: 30px;
}
@media screen and (max-width: 767px) {
#schedule .schedule-day {
	font-size: 3.5rem;
}
#schedule .schedule-day .small {
	font-size: 2.5rem;
}
#schedule .schedule-day .week {
	font-size: 2.5rem;
}
#schedule .schedule-time {
	font-size: 1.9rem;
	margin: 10px 0 0 -10px;
}
#schedule .sec-label {
	margin-top: 20px;
}
#schedule .schedule-place {
	line-height: 1.5;
	font-size: 1.6rem;
	margin-top: 20px;
}
}


#cast .sec-block {
	text-align: center;
}
#cast .cast-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#cast .cast-list li {
	width: 240px;
}
#cast .cast-list li:nth-child(n+4) {
	margin-top: 40px;
}
#cast .cast-list li .cast-chara {
	font-size: 1.6rem;
	margin-top: 20px;
}
#cast .cast-list li .cast-name {
	font-size: 3.0rem;
	font-weight: bold;
	margin-top: 10px;
}
#cast .cast-other {
	font-size: 2.4rem;
	margin-top: 80px;
}
#cast .sec-label {
	margin-top: 80px;
}
#cast .cast-sanrio li {
	font-size: 2.4rem;
	margin-top: 30px;
}
#cast .cast-sanrio li + li {
	margin-top: 15px;
}
#cast .cast-sanrio li .small {
	font-size: 2.0rem;
}
@media screen and (max-width: 767px) {
#cast .cast-list li {
	width: 30.03%;
}
#cast .cast-list li:nth-child(2),
#cast .cast-list li:nth-child(3),
#cast .cast-list li:nth-child(5),
#cast .cast-list li:nth-child(6) {
	margin-left: 10px;
}
#cast .cast-list li .cast-chara {
	font-size: 1.2rem;
	margin-top: 10px;
}
#cast .cast-list li .cast-name {
	font-size: 1.6rem;
	margin-top: 5px;
}
#cast .cast-other {
	font-size: 1.6rem;
	margin-top: 40px;
}
#cast .sec-label {
	margin-top: 40px;
}
#cast .cast-sanrio li {
	font-size: 1.6rem;
	margin-top: 20px;
}
#cast .cast-sanrio li + li {
	margin-top: 10px;
}
#cast .cast-sanrio li .small {
	font-size: 1.2rem;
}
}


#ticket .ticket-block {
	text-align: center;
	padding: 60px 0;
}
#ticket .ticket-block.ticket-block-price {
	text-align: left;
	padding: 0 0 60px;
}
#ticket .ticket-block.ticket-block-contact {
	padding: 60px 0 0;
}
#ticket .ticket-block .ticket-box {
	text-align: center;
	padding: 40px 20px;
	border: 2px #ff9aa8 solid;
}
#ticket .ticket-block .sec-subttl {
	margin-bottom: 40px;
}
#ticket .ticket-block .sec-label {
	margin-top: 40px;
}
#ticket .ticket-block .sec-subttl + .sec-label {
	margin-top: 10px;
}
#ticket .ticket-block .ticket-info {
	line-height: 1.5;
	font-size: 2.4rem;
}
#ticket .ticket-block .ticket-infosub {
	line-height: 1.5;
	font-size: 2.0rem;
}
#ticket .ticket-block .ticket-infotxt {
	line-height: 1.5;
	font-size: 1.6rem;
}
#ticket .ticket-block .ticket-info .small {
	font-size: 2.0rem;
}
#ticket .ticket-block .ticket-infosub .small {
	font-size: 1.6rem;
}
#ticket .ticket-block.ticket-block-price .ticket-box .ticket-infosub,
#ticket .ticket-block.ticket-block-price .sec-note,
#ticket .ticket-block.ticket-block-price .ticket-infotxt {
	margin-top: 20px;
}
#ticket .ticket-block.ticket-block-price .ticket-infotxt {
	font-size: 1.4rem;
}
#ticket .ticket-block:nth-child(n+2) .ticket-info {
	margin-top: 20px;
}
#ticket .ticket-block:nth-child(n+2) .sec-note,
#ticket .ticket-block:nth-child(n+2) .ticket-infotxt {
	margin-top: 20px;
}
@media screen and (max-width: 767px) {
#ticket .ticket-block {
	text-align: left;
	padding: 30px 0;
}
#ticket .ticket-block.ticket-block-price {
	padding: 0 0 30px;
}
#ticket .ticket-block .ticket-box {
	text-align: left;
}
#ticket .ticket-block.ticket-block-contact {
	padding: 30px 0 0;
}
#ticket .ticket-block .ticket-box {
	padding: 20px 10px;
}
#ticket .ticket-block .sec-subttl {
	margin-bottom: 20px;
}
#ticket .ticket-block .ticket-info {
	font-size: 1.6rem;
}
#ticket .ticket-block .ticket-infosub {
	font-size: 1.4rem;
}
#ticket .ticket-block .ticket-infotxt {
	font-size: 1.4rem;
}
#ticket .ticket-block .ticket-info .small {
	font-size: 1.4rem;
}
#ticket .ticket-block .ticket-infosub .small {
	font-size: 1.2rem;
}
#ticket .ticket-block .ticket-info .term {
	font-size: 1.3rem;
}
#ticket .ticket-block:nth-child(n+2) .ticket-info {
	margin-top: 20px;
}
#ticket .ticket-block.ticket-block-price .ticket-box .ticket-infosub {
	text-align: left;
}
#ticket .ticket-block.ticket-block-price .ticket-box .ticket-infosub li {
	text-indent: -1em;
	padding-left: 1em;
}
#ticket .ticket-block.ticket-block-price .ticket-infotxt {
	font-size: 1.2rem;
}
}


#guide .guide-list {
	text-align: center;
	margin-top: 80px;
}
#guide .guide-list > li + li {
	margin-top: 40px;
}
#guide .guide-list > li .guide-list-head {
	width: 100%;
}
#guide .guide-list > li .guide-list-cont {
	line-height: 1.5;
	text-align: left;
	font-size: 1.6rem;
	margin-top: 20px;
}
#guide .guide-list > li .guide-list-cont p + p,
#guide .guide-list > li .guide-list-cont ul + p,
#guide .guide-list > li .guide-list-cont p:not([class]) + ul,
#guide .guide-list > li .guide-list-cont ul + ul {
	margin-top: 20px;
}
#guide .guide-list > li .guide-list-cont p + .block,
#guide .guide-list > li .guide-list-cont .block + p {
	margin-top: 40px;
}
#guide .guide-list > li .guide-list-cont .block {
	margin-top: 10px;
	padding-bottom: 10px;
	border-bottom: 1px #ffe9ed solid;
}
#guide .guide-list > li .guide-list-cont .label {
	display: inline-block;
	font-weight: bold;
	margin-bottom: 5px;
	padding: 3px 5px 5px;
	background: #ffe9ed;
}
#guide .guide-list > li .guide-list-cont .img2 {
	max-width: 320px;
	margin-bottom: 15px;
}
#guide .guide-txt {
	line-height: 1.5;
	text-align: left;
	font-size: 1.6rem;
	margin-top: 60px;
}
@media screen and (max-width: 767px) {
#guide .guide-list {
	margin-top: 40px;
}
#guide .guide-list > li .guide-list-cont {
	font-size: 1.4rem;
}
#guide .guide-list > li .guide-list-cont p + .block,
#guide .guide-list > li .guide-list-cont .block + p {
	margin-top: 20px;
}
#guide .guide-list > li .guide-list-cont .img2 {
	max-width: 200px;
	margin-right: auto;
	margin-left: auto;
}
#guide .guide-txt {
	font-size: 1.4rem;
	margin-top: 40px;
}
}


#streaming .streaming-message {
	text-align: center;
	line-height: 1.2;
	font-size: 6.8rem;
	font-weight: bold;
}
#streaming .streaming-message .medium {
	font-size: 5.4rem;
	margin-left: 5px;
}
#streaming .streaming-message .small {
	font-size: 5.0rem;
	margin-left: 5px;
}
#streaming .streaming-messagesub {
	line-height: 1.5;
	text-align: center;
	font-size: 2.0rem;
	margin: 40px 0 60px;
}

#streaming .streaming-block {
	text-align: center;
	padding: 60px 0;
}
#streaming .streaming-block.last {
	padding: 60px 0 0;
}
#streaming .streaming-block .sec-subttl {
	margin-bottom: 40px;
}
#streaming .streaming-block .sec-label {
	margin-bottom: 20px;
}
#streaming .streaming-block .streaming-info {
	line-height: 1.5;
	font-size: 2.4rem;
}
#streaming .streaming-block .sec-note {
	text-align: left;
	margin-top: 20px;
}
#streaming .streaming-block .streaming-infosub {
	line-height: 1.5;
	font-size: 1.6rem;
	word-break: break-all;
	margin-top: 20px;
}
#streaming .streaming-block .streaming-infosub p + p {
	margin-top: 10px;
}
#streaming .streaming-footer {
	margin-top: 60px;
}
#streaming .streaming-footer .streaming-txt {
	line-height: 1.5;
	font-size: 1.6rem;
	margin-top: 40px;
}
@media screen and (max-width: 767px) {
#streaming .streaming-message {
	font-size: 3.4rem;
}
#streaming .streaming-message .medium {
	font-size: 3.0rem;
	margin-left: 2px;
}
#streaming .streaming-message .small {
	font-size: 2.4rem;
	margin-left: 0;
}
#streaming .streaming-messagesub {
	text-align: left;
	font-size: 1.4rem;
	margin: 20px 0 30px;	
}

#streaming .streaming-block {
	text-align: left;
	padding: 30px 0;
}
#streaming .streaming-block.last {
	padding: 30px 0 0;
}
#streaming .streaming-block .sec-subttl {
	margin-bottom: 20px;
}
#streaming .streaming-block .streaming-info {
	font-size: 1.6rem;
}
#streaming .streaming-block .streaming-infosub {
	font-size: 1.4rem;
	margin-top: 10px;
}
#streaming .streaming-footer {
	margin-top: 30px;
}
#streaming .streaming-footer .streaming-txt {
	font-size: 1.4rem;
	margin-top: 20px;
}
}

/*--------------------------------------------------
	footer
--------------------------------------------------*/
footer {
	line-height: 1.5;
	text-align: center;
	margin: 40px 0 20px;
}
footer .copy {
	font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
footer .copy {
	font-size: 1.0rem;
}
}