@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Lalezar');
@import url('https://fonts.googleapis.com/css?family=Lato:400,700|Noto+Sans+JP:400,700');
/* reset
--------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;}
body,h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,ol,li{margin:0;padding:0;}
ul,ol{list-style:none;}
html:focus-within{scroll-behavior:smooth;}
body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5;position: relative;}
a:not([class]){text-decoration-skip-ink:auto;}
img,picture{max-width:100%;display:block;margin:0 auto;}
input,button,textarea,select{font:inherit;}
@media(prefers-reduced-motion:reduce){
	html:focus-within{scroll-behavior:auto;}
	*,
	*::before,
	*::after{animation-duration:.01ms !important;
			animation-iteration-count:1 !important;
			transition-duration:.01ms !important;
			scroll-behavior:auto !important;}
	}
html{font-size: 62.5%;}
body{position: relative;}
table,th,td{border-width: 0!important;}
.contents h1,h2,h3,h4,h5{font-family: 'Lato', 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}
/* COMMON
--------------------------------------------------- */
.contents a { color: #1D242F; text-decoration: underline;}
.contents a:visited { color: #1D242F; text-decoration: underline;}
.contents a:hover{ color: #FFA500; text-decoration: underline;}
.contents .no-pc { display: none;}
.contents br.no-pc { display: none; }
.contents .no-sp { display: block;}
.contents .xs { font-size: 1.2rem;}
.contents .tax { padding: 0 0 0 .25em; font-size: 1.2rem; font-weight: normal;}
.contents em { color:#D70000; font-style: normal; font-size:110%; font-weight: bold;}
.contents strong { font-style: normal; font-weight: bold;}
.contents .red { color:#D70000!important;}
.contents .strikethrough { color:#666; text-decoration: line-through;}
.txt-r { text-align: right;}
.txt-l { text-align: left;}
.txt-c { text-align: center;}
.contents .caution {
    color: #666;
    padding: .5em 0 0 1em;
    font-size: 1.2rem;
    line-height: 1.4;
    text-indent: -1em;
}
.contents .caution::before { 
    content: "※";
    color: #666;
}
.contents .credit {
    width: 100%;
    padding: 1em;
    color: #FFF;
    font-size: 1.2rem;
    text-align: right;
	text-shadow:1px 1px 0 #2E5EC3, -1px -1px 0 #2E5EC3,
              -1px 1px 0 #2E5EC3, 1px -1px 0 #2E5EC3,
              0px 1px 0 #2E5EC3,  0-1px 0 #2E5EC3,
              -1px 0 0 #2E5EC3, 1px 0 0 #2E5EC3;
    position: absolute;
    top: 0;
}
.contents .accordion { border: none;}
@media screen and (max-width: 1024px) {
    .contents .caution {
        padding: .25em 0 0 1em;
    }
	.contents .credit {
		padding: .5em;
	}
}
@media screen and (max-width: 599px) {
    .contents .no-pc { display: block; }
    .contents br.no-pc { display: inline; }
    .contents .no-sp { display: none; }
    .contents .caution,
    .contents .xs,
    .contents .tax{
        font-size: 1.0rem ;
    } 
	.contents .credit {
		text-align: right;
		font-size: 1.0rem;
		top: auto;
		bottom: 0;
	}
}

/* LAYOUT
--------------------------------------------------- */
.contents {
    width: 100%;
	max-width: 1200px;
    min-width: 320px;
	margin: 0 auto;
    color: #46BFCA;
    font-family: 'Lato', 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-size: 1.8rem;
    font-weight: normal;
    text-align: center;
    line-height: 1.6;
}
.contents-area {
    padding: 0 20px;
}
#OUTLINE {
    background-color: #42B7BB;
	background-image: url("../images/bg_outline_top.png"), url("../images/bg_outline.png");
	background-position: center top, center bottom;
	background-repeat: no-repeat, no-repeat;
	background-size: 100%, 100%;
}
#MOVIE {
    background: transparent url("../images/bg_movie.png") center top repeat;
}
#SPECIAL {
	background: transparent url("../images/bg_special.png") center top repeat;
}
#TICKET {
    background: transparent url("../images/bg_ticket.png") center top repeat;
}
#SCHEDULE {
    background: transparent url("../images/bg_schedule.png") center top repeat;
}
#eng {
	background: linear-gradient(180deg, #3489C2, #218658);
}
.contents-inner {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    padding: 64px 0;
    position: relative;
}
.contents-box {
    width: 100%;
    text-align: center;
}
.contents-box + .contents-box{
    margin-top: 20px;
}
@media screen and (max-width: 1024px) {
    .contents {
        font-size: 1.6rem;
        line-height: 1.5;
    }
    .contents-area {
        padding: 0 20px;
    }
    .contents-box {
        padding: 0 20px;
    }
}
@media screen and (max-width: 599px) {
    .contents {
        font-size: 1.4rem;
        line-height: 1.35;
    }
    .contents-area {
        padding: 0 10px;
    }
    .contents-inner{
        padding: 20px 0;
    }
    .contents-box {
        padding: 0 10px;
        line-height: 1.4;
    }
    .contents-box + .contents-box{
        margin-top: 10px;
    }
    .contents-frex-wrap {
        display: block;
    }
    .contents-frex-box {
        width: 100%!important;
    }
}
@media screen and (max-width: 376px) {
    .contents {
        font-size: 1.2rem;
    }
    .contents-area {
        padding: 0 5px;
    }
    .contents-inner{
        padding: 20px 0;
    }
    .contents-box {
        padding: 0 5px
	}
}

/* HEADDING
--------------------------------------------------- */
.contents h1 {
    width:100%;
    margin: 0 auto;
    position: relative;
}
.contents h2 {
    max-width: 400px;
	margin: 0 auto 32px;
	position: relative;
}
.contents h3 {
	margin: 0 0 20px;
    padding: .5em;
    color: #FFF;
	font-size: 2.2rem;
    font-weight: bold;
}
.contents .area01 h3 { background-color: #39a6ca; }
.contents .area02 h3 { background-color: #5ab532; }
.contents .area03 h3 { background-color: #d5ad23; }
.contents .area04 h3 { background-color: #d57f23; }
.contents .area05 h3 { background-color: #9b49bd; }
.contents .area06 h3 { background-color: #ca3939; }
.contents h3 span {
    position: relative;
}
/*
.contents h3 span::before{
    content: "";
    width: 24px;
    height: 24px;
    background: url(../images/title-icon.svg) no-repeat;
    background-size: contain;
    position: absolute;
    top: 2px;
    left:-40px;
}
.contents h3 span::after{
    content: "";
    width: 24px;
    height: 24px;
    background: url(../images/title-icon.svg) no-repeat;
    background-size: contain;
    position: absolute;
    top: 2px;
    right: -40px;
}
*/
@media all and (max-width: 1024px){
    .contents h2 {
        width: 60%;
        margin: 0 auto 24px;
    }
    .contents h3 {
        margin-bottom: 10px;
        font-size: 1.8rem;
    }
	/*
    .contents h3 span::before{
        width: 20px;
        height: 20px;
        top: 0;
        left:-34px;
    }
	.contents h3 span::after{
        width: 20px;
        height: 20px;
        top: 0;
        right:-34px;
    }
	*/
.contents .area01 h3 { background-color: #EDF6FA; color: #39a6ca; }
.contents .area02 h3 { background-color: #EFF8EB; color: #5ab532; }
.contents .area03 h3 { background-color: #FAF7E9; color: #d5ad23; }
.contents .area04 h3 { background-color: #FAF2E8; color: #d57f23; }
.contents .area05 h3 { background-color: #F4ECF8; color: #9b49bd; }
.contents .area06 h3 { background-color: #F9EBEA; color: #ca3939; }
}
.area01 .accordion dt.active:after {  }
.area02 .accordion dt.active,
.area02 .accordion dt.active:after { background-color: #EFF8EB; }
.area03 .accordion dt.active,
.area03 .accordion dt.active:after { }
.area04 .accordion dt.active,
.area04 .accordion dt.active:after { }
.area05 .accordion dt.active,
.area05 .accordion dt.active:after { }
.area06 .accordion dt.active,
.area06 .accordion dt.active:after { }

@media all and (max-width: 599px){
    .contents h2 {
        margin: 0 auto 16px;
    }
    .contents h3 {
        margin-bottom: 5px;
        font-size: 1.4rem;
    }
}

/* HERO
--------------------------------------------------- */
.hero {
    width: 100%;
    position: relative;
}
.free {
    width: 180px;
    position: absolute;
    bottom: -56px;
	right: 16px;
	filter:drop-shadow(4px 6px 4px rgba(0,0,0,0.2));
}
.outline {
	display: grid;
	place-items: center;
}
.outline-box {
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
	border: 10px solid #2E5EC3;
	border-radius: 10px;
}
.lead-title {
	margin: 0 auto 16px;
}
.character-wrap a:hover {
	opacity: .85;
}
.warning {
	color: #EFEFEF;
	font-size: 1.2rem;
	position: absolute;
    bottom: -24px;
	right: 180px;
	text-align: right;
}

@media all and (max-width: 1024px){
	.free {
		width: 15%;
		bottom: -40px;
		right: 8px;
	}
	.outline-box {
		border: 6px solid #2E5EC3;
		border-radius: 8px;
	}
	.lead-title {
		width: 60%;
	}
	.warning {
		right: 16%;
	}
}
@media all and (max-width: 599px){
	.free {
		width: 20%;
		bottom: -48px;
		right: auto;
		left: 4px;
	}
	.credit {
		padding: .5em;
	}
	.outline-box {
		border: 4px solid #2E5EC3;
		border-radius: 6px;
	}
	.lead-title {
		width: 80%;
		margin: 16px auto 8px;
	}
	.lead-box {
		margin: 32px auto 0;
		text-align: left;
	}
	.warning {
		font-size: 1.0rem;
		bottom: -18px;
		right: auto;
		left: 21%;
	}
}
@media all and (max-width: 376px){
	.warning {
		font-size: 0.9rem;
	}
}
/* MOVIE
--------------------------------------------------- */
.contents .movie iframe {
	max-width: 800px;
	width: 100%;
	margin: 0 auto;	    
	padding: 10px;
    background: #2E5EC3;
    border-radius: 10px;
	aspect-ratio: 16 / 9;
}
.movie-caution {
	max-width: 800px;
	width: 100%;
	margin: 8px auto 0;
	color: #EFEFEF;
	font-size: 1.2rem;
	text-align: right;
}
@media all and (max-width: 1024px){
	.contents .movie iframe {
		padding: 6px;
	}
}
@media all and (max-width: 599px){
	.contents .movie iframe {
		padding: 4px;
	}
	.movie-caution {
		margin: 4px auto 0;
		font-size: 1.0rem;
	}
}

/* character
--------------------------------------------------- */
.character-wrap{
	display: flex;
	flex-direction: row;
  	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	gap: 32px 32px;
}
.character-box {
    width: calc(50% - 16px);
	padding: 0;
	background: #FFF;
	border: 8px solid #2E5EC3;
	border-radius: 20px;
	position: relative;
}
.character-box li {
	position: relative;
}
.character-maintxt {
	position: relative;
}
.character-maintxt img {
	border-radius: 10px 10px 0 0;
}
.character-subtxt {
	padding: .5em 2em 1em;
	color: #2E5EC3;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.4;
    text-align: left;
}
.ic-camera {
	width: 120px;
	border: none!important;
    position: absolute;
    top: -10px;
    right: -20px;
	z-index: 1;
}
.ic-chara {
	width: 140px;
	border: none!important;
    position: absolute;
    top: -80px;
    left: -20px;
	z-index: 1;
}
.catch-area {
	max-width: 600px;
	margin: 0 auto 40px;
}
.ad-area {
	width: 100%;
	background: #FFF;
	border: 8px solid #FF004C;
	border-radius: 20px;
}
@media all and (max-width: 1024px){
	.character-wrap{
		gap: 16px;
	}
	.character-box {
		width: calc(50% - 8px);
		border: 6px solid #2E5EC3;
		border-radius: 16px;
	}
	.character-maintxt img {
		border-radius: 8px 8px 0 0;
	}
	.character-subtxt {
		font-size: 1.4rem;
	}
	.ic-camera {
		width: 25%;
	}
	.ic-chara {
		width: 30%;
		top: -20%;
		left: -10px;
	}
}
@media all and (max-width: 799px){
	.ic-chara {
		top: -15%;
	}
	.character-subtxt {
		padding: .5em 1em 1em;
		font-size: 1.2rem;
	}
	.ad-area {
		border: 6px solid #FF004C;
		border-radius: 12px;
	}
}
@media all and (max-width: 599px){
	.character-wrap{
		gap: 8px;
	}
	.character-box {
		width: calc(50% - 4px);
		border: 4px solid #2E5EC3;
		border-radius: 10px;
	}
	.character-maintxt img {
		border-radius: 6px 6px 0 0;
	}
	.character-subtxt {
		padding: .5em .5em 1em;
		font-size: 1.2rem;
		line-height: 1.4;
	}
	.ic-chara {
		top: -20%;
	}
	.ad-area {
		border: 4px solid #FF004C;
		border-radius: 10px;
	}
}
@media all and (max-width: 376px){
	.character-subtxt {
		padding: .5em;
		font-size: 1.0rem;
		line-height: 1.3;
	}
}
/* info
--------------------------------------------------- */
.date {
	width: 100%;
    margin: 0 auto;
    padding: 3em 6em;
	background: #FEF9ED;
  	border-radius: 10px;
	color: #efefef;
	position: relative;
}
.date table {
	margin: 0 auto;
	border: none;
	border-collapse: collapse;
	table-layout:fixed;
	word-break:break-all;
	word-wrap:break-word;
}
.date table th {
	vertical-align: top;
}
.date table th p{
	width: max-contents;
	padding: .25em 1em;
	background: #2E5EC3;
    color: #FFF;
	font-size: 1.6rem;
	line-height: 1.6;
	text-align: center;
}
.date table th.public p {
	background: #FFF;
	border: 1px solid #2E5EC3;
    color: #2E5EC3;
}
.date table td {
	margin: 0;
	padding: 0 .5em 1em 1em;
    color: #2E5EC3;
	font-size: 2.4rem;
    font-weight: bold;
	text-align: left;
}
.measures-title {
    margin: 40px auto 24px;	    
    font-weight: bold;
    color: #2E5EC3;
    text-align: center;
}

.measures-title span {
	padding: 0 1em;
	background: linear-gradient(transparent 60%, #FFFE03 60%);
	font-size: 2rem;
}
.present-area p {
	margin-top: 6px;
	text-align: left;
}
.present {
	padding: 1em 0;
	border-top: 2px dotted #EA70C0;
}
.present img {
	border: 6px solid #FFF;
}
.camp-box {
}
.campaign-box {
	max-width: 800px;
	width: 100%;
	margin: 0 auto 40px;
	text-align: center;
}
.free2 {
    width: 160px;
    position: absolute;
    top: -40px;
	right: -8px;
	filter:drop-shadow(4px 6px 4px rgba(0,0,0,0.2));
}
@media all and (max-width: 1024px){
    .date {
        padding: 3em 2em;
    }
    .date table th, .date table td {
		display: block;
		width: 100%;
		text-align: center;
    }
    .date table td {
		padding: 0 1em 1em!important;
        font-size: 2rem;
    }
	.date table th p{
		margin: 0 auto 5px;
		padding: .25em .5em;
		font-size: 1.4rem;
	}
	.measures-title {
    	margin: 24px auto 24px;
	}
	.measures-title span {
		font-size: 1.6rem;
	}
	.camp-box {
	}
	.campaign-box {
		margin: 0 auto 32px;
	}
	.free2 {
		width: 120px;
		top: -24px;
		right: -24px;
	}
}
@media all and (max-width: 599px){
    .date {
        padding: 2em;
    }
	.date table th p {
		font-size: 1.2rem;
	}
	.date table td {
		font-size: 1.8rem;
	}
	.measures-title {
	}
	.measures-title span {
		font-size: 1.2rem;
	}
	.present-area p {
		text-align: left;
	}
	.present img {
		border: 3px solid #FFF;
	}
	.camp-box {
	}
	.campaign-box {
		margin: 24px auto;
	}
	.free2 {
		width: 18%;
		top: -32px;
		right: -8px;
	}
}
@media all and (max-width: 376px){
    .date {
        padding: 2em 1em;
    }
	.date table td {
		font-size: 1.4rem;
	}
	.measures-title {
		font-size: 1.0rem;
	}

}

/* special-encore
--------------------------------------------------- */
.special-encore {
	margin: 60px auto 80px;
	position: relative;
}
.special-encore dt {
	width: max-content;
    margin: 0 auto;
	padding: .1em 1em;
	background: #FFF;
	border-width: 4px;
	border-style: solid;
	border-radius: 30px;
	font-size: 2.4rem;
	font-weight: bold;
	position: absolute;
	top: -35px;
	right: 0;
	left: 0;
	z-index: 10;
}
.se-shi dt {
	border-color: #998506;
	color: #998506;
}
.se-gra dt {
	border-color: #F06671;
	color: #F06671;
}
.se-mana dt {
	border-color: #FF0A66;
	color: #FF0A66;
}
.se-sti dt {
	border-color: #A2CEFF;
	color: #0071C1;
}
.se-omi dt {
	border-color: #006DE3;
	color: #0071C1;
}
.se-dis dt {
	background: #d1192c;
	color: #FFF;
}
.se-shi dd {
	background: #FEF2CD;
	color: #998506;
}
.se-gra dd {
	background: #FBD9DB;
	color: #F06671;
}
.se-mana dd {
	background: #FFE0ED;
	color: #FF0A66;
}
.se-sti dd {
	background: #DFF0FF;
	color: #0071C1;
}
.se-omi dd {
	background: #DFF0FF;
	color: #006DE3;
}
.se-dis dd {
	background: #fde8e8;
	color: #d1192c;
}
.special-encore dd {
	max-width: 900px;
	width: 100%;
	line-height: 1.4;
    margin: 0 auto;
	padding: 1.25em 2em 1em;
	border-radius: 100px;
	font-size: 1.8rem;
	font-weight: bold;	
	text-align: center;
}
.special-encore.se-shi dd {
	max-width: 600px;
}
.txt-inner-box {
	display: inline-block;
	margin: 0 auto;
	text-align: left;
}
.se-icon {
	display: inline-block;
	width: 30px;
	height: 30px;
	margin-right: 5px;
	position: relative;
	top: -2px;
	vertical-align: middle;
}
.character-box .se-icon {
	display: inline-block;
	width: 24px;
	height: 24px;
	margin-right: 5px;
	border: none!important;
	position: relative;
	top: -2px;
	vertical-align: middle;
}
.sticker-area {
	padding: 1.25em 2em 1em 100px!important;
	position: relative;
}
.special-encore.se-shi .sticker-area {
	padding: 1.5em 1em 1em 150px!important;
}
.sticker-pic {
	filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.25));
	position: absolute;
	top: -10px;
	transform: rotate( -5deg );
}
.sticker-pic01 {
	width: 140px;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 10px;
}
.sticker-pic02 {
	width: 180px;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 40px;
}
.sticker-pic03 {
	width: 140px;
	border: 4px solid #FFF;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 70px;
}
@media all and (max-width: 1024px){
    .special-encore dt {		
		font-size: 2rem;
    }
    .special-encore dd {
		font-size: 1.6rem;
    }
	.sticker-area {
		padding: 1em 2em 1em 150px!important;
	}
	.sticker-pic01 {
		width: 110px;
		left: 20px;
	}
	.sticker-pic02 {
		width: 120px;
		left: 20px;
	}
	.sticker-pic03 {
		width: 100px;
		border: 3px solid #FFF;
		left: 20px;
	}
}
@media all and (max-width: 599px){
	.special-encore {
		margin: 40px auto 50px;
		position: relative;
	}
    .special-encore dt {
		font-size: 1.8rem;
		top: -30px;
    }
	.special-encore dd {
		padding: 1em 2em;
		font-size: 1.4rem;
	}
	.se-icon {
		width: 16px;
		height: 16px;
		top: -2px;
	}
	.sticker-area {
		padding: 1em 2em 1em 120px!important;
		position: relative;
	}
	.special-encore.se-shi .sticker-area {
		padding: 1em 1em 1em 110px!important;
	}
	.sticker-pic01 {
		width: 90px;
		top: 0;
		bottom: 0;
		margin: auto;
		left: 10px;
	}
	.sticker-pic02 {
		width: 90px;
		left: 10px;
	}
	.sticker-pic03 {
		width: 80px;
		left: 10px;
	}
	.character-box .se-icon {
		width: 20px;
		height: 20px;
	}
}
@media screen and (max-width: 376px) {
    .special-encore dt {
		font-size: 1.6rem;
    }
	.special-encore dd {
		font-size: 1.2rem;
	}
	.character-box .se-icon {
		width: 18px;
		height: 18px;
	}
}
/* schedule
--------------------------------------------------- */
.nav_area {
    max-width: 1000px;
    margin: 40px auto 0;
	text-align: center;
    font-size: 0;
}
.nav_area li {
	display: inline-block;
	width: 16%;
    margin: 1px;
    position: relative;
}
.nav_area li a {
	display: block;
    border-bottom-style: solid;
    border-bottom-width: 4px;
	border-radius: 6px;
	font-size: 1.8rem;
	text-align: center;
	color: #FFF;
    font-weight: bold; 
	text-decoration: none;
	padding: 1.5em .5em;
}
.nav_area li a:hover {
    margin: -4px 0 0;
    border-bottom-style: none;
    border-top-style: solid;
    border-top-width: 4px;
    position:relative;
    top: 4px;
    color: #FF0;
    text-decoration: none;
}
.nav_area li a:visited {
    color: #FFF;
}
.area-box {
    padding:10px;
    background: #FCF1E1; 
    background: #FFF; 
    border-radius: 6px;
    box-shadow: 0 0 4px 2px rgba(0,0,0,0.2);
}
.area01 { color: #39a6ca; border-color: #236C85; }
.area02 { color: #5ab532; border-color: #33671D; }
.area03 { color: #d5ad23; border-color: #6B5712; }
.area04 { color: #d57f23; border-color: #7D4B15; }
.area05 { color: #9b49bd; border-color: #59286F; }
.area06 { color: #ca3939; border-color: #772020; }
.area01 .list-area, .nav_area .area01 { background: #39a6ca none repeat scroll 0 0; }
.area02 .list-area, .nav_area .area02 { background: #5ab532 none repeat scroll 0 0; }
.area03 .list-area, .nav_area .area03 { background: #d5ad23 none repeat scroll 0 0; }
.area04 .list-area, .nav_area .area04 { background: #d57f23 none repeat scroll 0 0; }
.area05 .list-area, .nav_area .area05 { background: #9b49bd none repeat scroll 0 0; }
.area06 .list-area, .nav_area .area06 { background: #ca3939 none repeat scroll 0 0; }
div.area01,
div.area02,
div.area03,
div.area04,
div.area05{ margin:0 0 40px; }

.accordion dt {
	display: table;
	width: 100%;
	margin: 0 auto 10px;
	position: relative;
	cursor: pointer;
	background: #FFF;
	-moz-border-radius:6px;
	-webkit-border-radius:6px;
	border-radius:6px;
	border:1px solid #ccc;
}
.accordion dd {
	width: 100%;
	margin-bottom: 50px;
    font-weight: bold;
}
.accordion dt div {
	display: table-cell;
	padding: 1em .5em;
	font-size: 120%;
	-moz-border-top-left-radius:6px;
	-webkit-border-top-left-radius:6px;
	border-top-left-radius:6px;
	-moz-border-bottom-left-radius:6px;
	-webkit-border-bottom-left-radius:6px;
	border-bottom-left-radius:6px;
	vertical-align: middle;
}
.accordion dt div.list-area {
	width: 12%;
	color: #fff;
	font-weight: bold;
	letter-spacing: .1em;
}
.accordion dt div.list-date {
	width: 28%;
	padding-left: 1em;
    font-weight: bold;
	text-align: left;
}
.accordion dt div.list-place {
	width:60%;
	padding-right: 25px;
    font-weight: bold;
	text-align: left;
}
.accordion .list-place p {
	display: inline-block;
	text-align: center;
}
.accordion dt div.list-place span {
	font-size: 10px;
	color: #f00;
}
.list-place .size-icon {
	display: inline-block;
	height: 30px;
	margin-right: 5px;
	opacity: 1;
	float: right;
	transition: .25s;
	vertical-align: middle;
}
th .size-icon {
	display: inline-block;
	height: 25px;
	margin-left: 5px;
	vertical-align: middle;
	transition: .25s;
}
.accordion dt.active div.list-place .size-icon{
	opacity: 0;
}
.accordion table {
	width: 100%;
    margin: 0;
    padding: 0;
	border-collapse: collapse;
	border: 1px solid #ded4c1;
    font-size: 1.6rem;
    table-layout: auto;
}
.accordion table th,
.accordion table td {
    padding: 1em .5em;
	border: 1px solid #ded4c1;
	text-align: center;
}
.accordion table tbody th {
    font-weight: bold;
}
.accordion table tbody th.line {
    font-weight: bold;
	border-top: 2px solid #FFF!important;
}
.accordion table thead th {
    padding: .25em;
    fint-weight: normal;
}
.accordion table tr {
	background: #fff;
}
.accordion table tr:nth-of-type(2n) {
	background: #F9F9F9;
}
.accordion dt:before {
  display: block;
  content: "";
  position: absolute;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 50%;
  right: 15px;
  width: 10px;
  height: 10px;
  margin-top: -8px;
  background: #FF0000 none repeat scroll 0 0;
}
.accordion dt:after {
  display: block;
  content: "";
  position: absolute;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 50%;
  right: 15px;
  width: 10px;
  height: 10px;
  margin-top: -13px;
  background: #fff none repeat scroll 0 0;
}
.accordion dt.active:before {
  margin-top: -2px;
}
.accordion dt.active:after {
  margin-top: 3px;
}
.area01 .accordion table thead th { background: #A6D2E4; color: #FFF; }
.area01 .accordion table tbody th { background: #EDF6FA; color: #4DA6CA; }
.area02 .accordion table thead th { background: #B1DA9D; color: #FFF; }
.area02 .accordion table tbody th { background: #EFF8EB; color: #63B63C; }
.area03 .accordion table thead th { background: #E8D694; color: #FFF; }
.area03 .accordion table tbody th { background: #FAF7E9; color: #D1AD29; }
.area04 .accordion table thead th { background: #CF7F22; color: #FFF; }
.area04 .accordion table tbody th { background: #FAF2E8; color: #CF7F22; }
.area05 .accordion table thead th { background: #CBA2DD; color: #FFF; }
.area05 .accordion table tbody th { background: #F4ECF8; color: #9846BB; }
.area06 .accordion table thead th { background: #E19A9A; color: #FFF; }
.area06 .accordion table tbody th { background: #F9EBEA; color: #C33635; }

.area01 .accordion dt.active,
.area01 .accordion dt.active:after { background: #EDF6FA; }
.area02 .accordion dt.active,
.area02 .accordion dt.active:after { background: #EFF8EB; }
.area03 .accordion dt.active,
.area03 .accordion dt.active:after { background: #FAF7E9; }
.area04 .accordion dt.active,
.area04 .accordion dt.active:after { background: #FAF2E8; }
.area05 .accordion dt.active,
.area05 .accordion dt.active:after { background: #F4ECF8; }
.area06 .accordion dt.active,
.area06 .accordion dt.active:after { background: #F9EBEA; }

.shimajiro-icon, .heart-icon {
    display: inline-block;
	position: relative;
    width: 18px!important;
    height: 16px;
	top: -2px;
	margin: 0 4px;
}
.no-accordion li{
	display: table;
	width: 100%;
	margin: 0 auto 10px;
	position: relative;
	background: #FFF;
	-moz-border-radius:6px;
	-webkit-border-radius:6px;
	border-radius:6px;
	border:1px solid #efefef;
}
.no-accordion li div{
	display: table-cell;
	padding: 1em .5em;
	-moz-border-top-left-radius:6px;
	-webkit-border-top-left-radius:6px;
	border-top-left-radius:6px;
	-moz-border-bottom-left-radius:6px;
	-webkit-border-bottom-left-radius:6px;
	border-bottom-left-radius:6px;
}
.no-accordion li div.list-area {
	width: 20%;
	color: #fff;
	font-weight: bold;
}
.no-accordion li div.list-date {
	width: 29%;
    font-weight: bold;
}
.no-accordion li div.list-place {
	width:51%;
	padding-right: 25px;
    font-weight: bold;
}
.no-accordion li div.list-place span {
	font-size: 10px;
	color: #f00;
}
.attntion {
	margin-top: 1em;
	padding: 1em;
	background: #F3F3F3;
	color: #FF0000;
	font-size: 80%;
	text-align: left;
}
@media all and (max-width: 1024px){
    .nav_area {
        text-align: center;
        margin: 30px 0 0;
    }
    .nav_area li {
        width: 48%;
    }
    .nav_area li a {
        font-size: 1.4rem;
    }
    
    div.area01,
    div.area02,
    div.area03,
    div.area04,
    div.area05{ margin:0 0 20px; }
    
    .accordion dt div {
        display: block;
        border-top-left-radius:6px;
        border-top-right-radius:6px;
        border-bottom-left-radius: 0;
    }
    .accordion dt div {
        padding: .5em;
    }
    .accordion dd {
        margin-bottom: 20px;
    }
    .accordion table {
        font-size: 1.4rem;
    }
    .accordion table th,
    .accordion table td {
        padding: .5em;
    }
    .accordion dt div.list-area {
        width: 100%;		
    }
    .accordion dt div.list-date {
        width: 100%;
		text-align: center;
    }
    .accordion dt div.list-place {
        width: 100%;
        margin: 0px auto 20px;
        padding: 0 5px;
		text-align: center;
    }
    .accordion dt:before {
      top: 95%;
      right: 50%;
      margin-top: -8px;
    }
    .accordion dt:after {
      top: 95%;
      right: 50%;
      margin-top: -13px;
    }
    .shimajiro-icon, .heart-icon {
        width: 16px!important;
        height: 14px;
    }
}
@media all and (max-width: 599px){
    .nav_area {
        margin: 20px 0 0;
    }
    .nav_area li a {
        font-size: 1.2rem;
        padding: 1.25em .5em;
    }
    div.area01,
    div.area02,
    div.area03,
    div.area04,
    div.area05{ margin:0 0 10px; }
    .accordion table {
        font-size: 1.2rem;
    }
    .accordion dt div.list-area {
		padding: .15em .5em!important;
        font-size: 1.4rem!important;
    }
    .accordion dt div.list-date {
        font-size: 1.2rem!important;
    }
    .accordion dt div.list-place {
        font-size: 1.2rem!important;
    }
    .accordion th {
        font-size: 1.2rem;
    }
    .shimajiro-icon, .heart-icon {
        width: 12px!important;
        height: 10px;
        top: 0; 
        margin: 0 2px;
    }
}
/* NOTES
--------------------------------------------------- */
.notes {
    width: 100%;
    margin: 1em auto;
	padding: 1em 0;
	border-top: 2px dotted #2E5EC3;
	border-bottom: 2px dotted #2E5EC3;
	color: #333;
}
.notes ul {
	margin: 10px auto 0;
    }
.notes li {
    padding: 0 0 0 1em;	
    font-size: 1.4rem;
    text-indent: -1em;
    text-align: left;
    }
.notes li::before {
    content:"※";
    }
.notes li + li{
    margin: .5em 0 0;
    }
@media screen and (max-width: 1024px) {
	.notes {
		padding: 1em;
		}
    .notes li {
        font-size: 1.2rem;
    }	
}
@media screen and (max-width: 599px) {
	.notes {
		padding: 1em .5em;
		}
    .notes li {
        font-size: 1.0rem;
    }
}
@media screen and (max-width: 376px) {

}
/* BUTTON
--------------------------------------------------- */
.btn-area {
	padding: 1em 0;
}
.btn-ticket {
    display: block;
	max-width: 480px;
    width: 100%;
    margin: 0 auto;
    padding: .75em 0;
    background: #d1192c;
    border-radius: 3em;
	box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .2);
	position: relative;
	text-decoration: none!important;
    transition: 0.3s;
}
.btn-ticket span {
    display: block;
	padding-right: .5em;
	color: #FFF!important;
    font-size: 1.8rem;
	font-weight: bold;
    text-align: center;
	position: relative;	
}
.btn-ticket span:before {
    content: '';
    width: 20px;
    height: 20px;
	margin: auto;
    background: #FFF;
    border-radius: 50%;
	line-height: 1;
    position: absolute;
    top: 0;
    right: 1em;
    bottom: 0;    
}
.btn-ticket span:after {
    content: '';
    width: 8px;
    height: 8px;
	margin: auto;
    border-top: 3px solid #d1192c;
    border-right: 3px solid #d1192c;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: calc(1em + 8px);
    bottom: 0;
}
.btn-ticket:hover {
    background: #D24053;	
}
.btn-ticket span:hover {
	color: #FF0;
}
.btn-ticket span:before:hover  {
    background: #FF0;  
}
.btn-page {
	display: block;
	max-width: 640px;
	margin: 8px auto 0;
	padding: 1em;
	background: #d1192c;
	border-radius: 3em;
	color: #FFF!important;
	font-size: 2rem;
	font-weight: bold;
	filter: drop-shadow( 0px 2px 2px rgba(0, 0, 0, .25));
	line-height: 1.2;
	position: relative;
    text-decoration: none!important;
	transition: 0.3s;
}
.btn-page:before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	width: 0;
	height: 0;
	margin-top: -8px;
	border: 8px solid transparent;
	border-left-width: 12px;
	border-left-style: solid;
	border-left-color: #FFF;
}
.btn-page:hover {
    background: #FF65A3;
	border-color: #FFE100;
	color: #FFE100!important;
}
.btn-page:hover:before {
	border-left-color: #FFE100;
}
.btn-link01 {
	margin: 16px auto 0;
	padding: 2px 3em 2px 2em;
	background: #2E5EC3;
	border-radius: 27px;
}
.btn-link02 {
	margin: 16px auto 0;
	padding: 2px 3em 2px 2em;
	background: #31B8C4;
	border-radius: 27px;
}
.btn-link01:before,
.btn-link02:before {
	border-left: 12px solid #FFF;
}
.btn-link01:hover {
	background: #EA70C0;
    opacity: .75;
}
.btn-link02:hover {
	background: #5CAED2;
    opacity: .75;
}
.btn-non {
    padding: .5em 0;
    border-radius: 3em;
    background: #e4e4e4;
    color: #fff !important;
    cursor: pointer;
    font-size: 1.4rem;
    font-weight: bold;
	line-height: 1.4;
    text-align: center;
    text-decoration: none;
    pointer-events: none;
}

@media screen and (max-width: 1024px) {
	.btn-ticket span {
		font-size: 1.6rem;
	}
	.btn-page {
		max-width: 80%;
		font-size: 1.8rem;
	}
	.btn-page:before {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		right: 8px;
		width: 0;
		height: 0;
		margin-top: -6px;
		border: 6px solid transparent;
		border-left-width: 10px;
		border-left-style: solid;
		border-left-color: #FFF;
	}
}
@media screen and (max-width: 599px) {
    .btn-ticket {
        width: 80%;
    }
	.btn-ticket span {
		font-size: 1.4rem;
	}
	.btn-page {
		margin: 8px auto 0;
		font-size: 1.6rem;
	}
	.btn-link01,
	.btn-link02 {
		padding: 2px 2em 2px 1em;
		border-radius: 20px;
	}
	.btn-link01 img,
	.btn-link02 img {
		height: 36px;
	}
}
@media screen and (max-width: 376px) {
	.btn-ticket span {
		font-size: 1.2rem;
	}
	.btn-page {
		margin: 6px auto 0;
		font-size: 1.4rem;
	}
}

@media screen and (max-width: 376px) {
}
/* LINK BUTTON
--------------------------------------------------- */
.fixed_btn {
	position: fixed;
	right: calc((100vw - 1200px) / 2);
	bottom: 10px;
	transition: all 0.3s;
	z-index: 100;
}
.fixed_btn.is-hidden {
	opacity: 0;
	visibility: hidden;
}
.fixed_btn p {
	width: 120px;
	opacity:0.8;
	-webkit-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
	-moz-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
	-ms-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
	filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
}
.fixed_btn p a {
	display: block;
	transition: all 0.3s;
}
.fixed_btn p a:hover {
	transform:scale(1.1);
}
@media screen and (max-width: 1200px) {
	.fixed_btn {
		right: 10px;
	}
}
@media screen and (max-width: 1024px) {
	.fixed_btn p {
		width: 100px;
	}
}
@media screen and (max-width: 599px) {
	.fixed_btn p {
		width: 90px;
	}
}@media screen and (max-width: 376px) {
	.fixed_btn p {
		width: 80px;
	}
}