@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Sans+SC:wght@100..900&family=Noto+Sans+TC:wght@100..900&display=swap');

body
{
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	
	min-width: 1100px;
    min-height: 100.4vh;    /*android*/
    min-height: 100.4svh;
	
	color: #000000;
	background-color: #ffffff;
	
	-webkit-text-size-adjust: 100%;
}



#myc
{
	overflow: hidden;
	
	text-align: left;
    
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    
	font-size: 14px;
	word-break: break-word;
	color: #000000;
	
	background-color: #ffffff;
    background-image: url("../images/bg.jpg");
    background-size: 100% auto;
    background-repeat: repeat-y;
}
#myc.type-korean
{
    font-family: "Noto Sans KR", sans-serif;
}
#myc.type-simple-chinese
{
    font-family: "Noto Sans SC", sans-serif;
}
#myc.type-traditional-chinese
{
    /*font-family: "Noto Sans TC", sans-serif;*/
    font-family: sans-serif;
}

#myc .show-english,
#myc .show-korean,
#myc .show-simple-chinese,
#myc .show-traditional-chinese
{
    display: none;
}
#myc.type-english .show-english
{
    display: initial;
}
#myc.type-korean .show-korean
{
    display: initial;
}
#myc.type-simple-chinese .show-simple-chinese
{
    display: initial;
}
#myc.type-traditional-chinese .show-traditional-chinese
{
    display: initial;
}

#myc.type-english .show-japanese,
#myc.type-korean .show-japanese,
#myc.type-simple-chinese .show-japanese,
#myc.type-traditional-chinese .show-japanese
{
    display: none;
}

#myc .red
{
    color: #FE0000;
}


#myc .cf:after
{
	content: "";
	display: block;
	clear: both;
}


#myc h1,
#myc h2,
#myc h3,
#myc h4,
#myc h5,
#myc h6,
#myc p
{
	margin: 0;
	padding: 0;
	font-weight: 500;
	font-size: inherit;
}


#myc table,
#myc tr,
#myc th,
#myc td,
#myc form
{
	margin: 0;
	padding: 0;

	border-collapse: collapse;
}

#myc input[type=text],
#myc input[type=password],
#myc input[type=email],
#myc input[type=tel],
#myc input[type=date],
#myc textarea,
#myc select,
#myc label
{
	font-size: 16px;
}
#myc button,
#myc input[type=submit],
#myc input[type=button]
{
    border: none;
	-webkit-appearance: none;
	border-radius: 0;
}

#myc th,
#myc td
{
	vertical-align: top;
}

#myc ol,
#myc ul
{
	margin: 0;
	padding: 0 0 0 1.4em;
	list-style-position: outside;
}

#myc img
{
	border: 0;
	
	width: 100%;
	height: auto;
}

#myc .sp-only
{
	display: none;
}

#myc .centerview
{
	position: relative;
	margin: 0 auto;

	width: 900px;
}

#myc a
{
	color: #1770ed;
	text-decoration: none;
}
#myc a:hover
{
	text-decoration: underline;
}

#myc a img
{
	transition-duration: 0.1s;
}
#myc a:hover img
{
	opacity: 0.85;
}

#myc .url
{
	word-break: break-all;
}

#myc .partition
{
	display: flex;
	justify-content: space-between;
}
#myc .partition .left,
#myc .partition .right
{
	width: 50%;
}

#myc .text+.text
{
	margin-top: 1em;
}

#myc .text-line
{
	display: inline-block;
}



#myc .pagetop-show-position
{
	position: relative;
}

#myc .pagetop-parents
{
	position: relative;
}

#myc #myc-pagetop
{
	position: absolute;
	right: 0;
	bottom: 0;
	
	width: 1px;
	height: 1px;
	
	z-index: 1;
}

#myc #myc-pagetop .pagetop
{
	width: 40px;
}
html.remodal-is-locked #myc #myc-pagetop .pagetop
{
	display: none !important;
}
#myc.standby #myc-pagetop .pagetop
{
	opacity: 0;
	pointer-events: none;
	
	transition-duration: 0.4s;
	transition-timing-function: ease-in-out;
}
#myc #myc-pagetop .pagetop.show
{
	opacity: 1;
	pointer-events: inherit;
}

#myc #myc-pagetop .fix-area
{
	position: fixed;
	right: 0;
	bottom: 0;
	
	padding: 16px;
}
#myc #myc-pagetop.no-fix .fix-area
{
	position: inherit;
}


#myc .video .video-thumb
{
	width: 100%;
	padding-bottom: 56.25%;
	height: 0px;
	position: relative;
}

#myc .video .video-thumb iframe
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}



#myc #myc-loading
{
	display: none;
	
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	
	font-size: 13px;
	color: #ccc;
	
	z-index: 9999;
}
#myc.loading #myc-loading
{
	display: inherit;
}
#myc.loading.loaded #myc-loading
{
	display: none;
}

#myc #myc-loading .center
{
	display: flex;
	justify-content: center;
	align-items: center;
	
	width: 100%;
	height: 100%;
}



#myc.loading #myc-loaded
{
	display: none;
}
#myc.loading.loaded #myc-loaded
{
	display: inherit;
}

#myc .common-shadow
{
	box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.1);
}
#myc .common-shadow.type-large
{
	box-shadow: 0px 9px 30px 0px rgba(0,0,0,0.2);
}



#myc.standby .accordion .accordion-open .is-open
{
	display: none;
}
#myc.standby .accordion.show .accordion-open .is-open
{
	display: inherit;
}
#myc.standby .accordion.show .accordion-open .is-close
{
	display: none;
}

#myc.standby .accordion .accordion-main
{
	display: none;
}



#myc .section
{
	padding: 64px 0;
}
#myc .section.type-half
{
	padding: 32px 0;
}
#myc .section.type-top
{
    padding-top: 0;
}

#myc .section-title
{
	text-align: center;
}

#myc .section-inner
{
	margin-top: 64px;
}
#myc .section.type-half .section-inner
{
	margin-top: 32px;
}



#myc .ez-row-ll
{
	margin-top: 48px;
}
#myc .ez-row-l
{
	margin-top: 32px;
}
#myc .ez-row-m
{
	margin-top: 16px;
}
#myc .ez-row-s
{
	margin-top: 8px;
}

#myc .ez-pad-l
{
	padding: 32px 48px;
}
#myc .ez-pad-m
{
	padding: 16px 24px;
}
#myc .ez-pad-s
{
	padding: 8px 12px;
}

#myc .ez-inline
{
	display: inline-block;
}

#myc .ez-zerolist
{
	font-size: 0;
}

#myc .ez-left
{
	text-align: left;
}

#myc .ez-right
{
	text-align: right;
}

#myc .ez-center
{
	text-align: center;
}

#myc .ez-table
{
	display: table;
	
	width: 100%;
}

#myc .ez-tr
{
	display: table-row;
}

#myc .ez-th
{
	display: table-cell;
}

#myc .ez-td
{
	display: table-cell;
}

#myc .ez-wide
{
	width: 100%;
}

#myc .ez-half
{
	width: 50%;
}

#myc .ez-third
{
	width: 33.33%;
}

#myc .ez-flex
{
	display: flex;
}

#myc .ez-content-center
{
	justify-content: center;
}

#myc .ez-flex-wrap
{
	flex-wrap: wrap;
}

#myc .ez-vmiddle
{
	vertical-align: middle;
}
#myc .ez-vtop
{
	vertical-align: top;
}

#myc .ez-small
{
	font-size: 85%;
}
#myc .ez-small-2
{
	font-size: 72%;
}

#myc .ez-large
{
	font-size: 120%;
}
#myc .ez-large-2
{
	font-size: 140%;
}
#myc .ez-large-3
{
	font-size: 200%;
}
#myc .ez-large-4
{
	font-size: 300%;
}
#myc .ez-large-5
{
	font-size: 480%;
}

#myc .ez-letter-wide
{
	letter-spacing: 0.1em;
}

#myc .ez-letter-normal
{
	letter-spacing: 0;
}

#myc .ez-letter-thin
{
	letter-spacing: -0.02em;
}

#myc .ez-bold
{
	font-weight: 700;
}

#myc .ez-italic
{
	font-style: italic;
}

#myc .ez-nowrap
{
	white-space: nowrap;
}

#myc .ez-relative
{
	position: relative;
}

#myc .ez-red
{
	color: #ff0000;
}

#myc .ez-white
{
	color: #fff;
}

#myc .ez-bg-white
{
	background-color: #ffffff;
}

#myc .ez-thin
{
	line-height: 1.2;
}
#myc .ez-middle
{
	line-height: 1.8;
}
#myc .ez-double
{
	line-height: 2;
}

#myc .ez-subsection
{
	padding: 32px 0;
}
#myc .ez-subsection:first-child
{
	padding-top: 0;
}
#myc .ez-subsection:last-child
{
	padding-bottom: 0;
}

#myc .ez-subsection-inner
{
	margin-top: 20px;
}

#myc .ez-mark
{
	position: relative;
	padding-left: 1em;
}
#myc .ez-mark:before
{
	position: absolute;
	left: 0;
	top: 0;
	
	content: '・';
}
#myc .ez-mark.type-attention:before
{
	position: absolute;
	left: 0;
	top: 0;
	
	content: '※';
}
#myc .ez-mark.type-aster:before
{
	position: absolute;
	left: 0;
	top: 0;
	
	content: '*';
}
#myc .ez-mark.type-kuromaru:before
{
	position: absolute;
	left: 0;
	top: 0;
	
	content: '●';
}

#myc .ez-number-item
{
	position: relative;
	padding-left: 1.4em;
}
#myc .ez-number-item:first-child
{
	counter-reset: myc-number 0;
}
#myc .ez-number-item:before
{
	counter-increment: myc-number 1;
	content: counter(myc-number) '.';
	
	position: absolute;
	left: 0;
	top: 0;
}

#myc .ez-pcwidebox
{
	display: flex;
	justify-content: space-between;
	
	width: 100%;
}

#myc .ez-pcwidebox .item
{
	width: 100%;
}
#myc .ez-pcwidebox .item+.item
{
	margin-left: 24px;
}

#myc .ez-image-border
{
	box-sizing: border-box;
	border: 1px solid #c0c0c0;
}

#myc .ez-tabview .ez-tabview-header
{
	display: flex;
}

#myc .ez-tabview .ez-tabview-header .item
{
	flex-grow: 1;

	background-color: #ccc;
}
#myc .ez-tabview .ez-tabview-header .item.active
{
	background-color: #fff;
}

#myc .ez-tabview .ez-tabview-header .item a
{
	display: block;
}
#myc .ez-tabview .ez-tabview-header .item.active a
{
	color: inherit;
	text-decoration: none;
	pointer-events: none;
}

#myc .ez-tabview .ez-tabview-content .item
{
	display: none;
}
#myc .ez-tabview .ez-tabview-content .item.active
{
	display: inherit;
}

#myc .ez-wordpress-content>*+*
{
	margin-top: 40px;
}

#myc .ez-under
{
	text-decoration: underline;
}



/*
	modal
*/
#myc .modal
{
	vertical-align: top;
	
	box-sizing: border-box;
	margin: 0 auto;
	
	pointer-events: none;
}
#myc .modal.type-long
{
	width: 100vw;
}

#myc .modal .vertical-center
{
	display: flex;
	align-items: center;
	
	box-sizing: border-box;
	padding: 72px 0;
	min-height: 100vh;
}

#myc .modal .firstview
{
	position: relative;
	box-sizing: border-box;
	margin: 0 auto;
	width: 1000px;
	
	pointer-events: auto;
	
	text-align: left;
}
#myc .modal.type-movie .firstview
{
	padding: 0;
	width: 1050px;
}
#myc .modal.type-short .firstview
{
	padding: 64px;
	
	background-color: #fff;
}
#myc .modal.type-long .firstview
{
	padding: 64px;
	
	background-color: #fff;
}

#myc .modal .close-button
{
	display: block;
	
	position: absolute;
	right: 0;
	top: 0;

	width: 48px;
}
#myc .modal.type-movie .close-button
{
	top: -48px;
}
#myc .modal.hide-close .close-button
{
	display: none;
}

#myc .modal .close-fix-area
{
	display: block;
	
	position: fixed;
    right: 32px;
    top: 24px;
	
	cursor: pointer;
	pointer-events: auto;
	
	z-index: 1;
}

#myc .remodal-overlay
{
	background-color: rgba(0,0,0,0.7);
}

#myc .remodal-wrapper::after
{
	height: inherit;
}



/*
	remodal animation
*/
#myc .remodal-overlay.remodal-is-opening,
#myc .remodal-overlay.remodal-is-closing
{
	animation-duration: 0.3s;
	animation-fill-mode: forwards;
}
#myc .remodal-overlay.remodal-is-opening
{
	animation-name: remodal-overlay-opening-keyframes;
}
#myc .remodal-overlay.remodal-is-closing
{
	animation-name: remodal-overlay-closing-keyframes;
}
#myc .remodal.remodal-is-opening,
#myc .remodal.remodal-is-closing
{
	animation-duration: 0.4s;
	animation-fill-mode: forwards;
}
#myc .remodal.remodal-is-opening
{
	animation-name: remodal-opening-keyframes;
}
#myc .remodal.remodal-is-closing
{
	animation-name: remodal-closing-keyframes;
}
@keyframes remodal-opening-keyframes
{
	from
	{
		transform: translateY(-4px);
		opacity: 0;
	}
	to
	{
		transform: none;
		opacity: 1;
	}
}
@keyframes remodal-closing-keyframes
{
	from
	{
		transform: translateY(0px);
		opacity: 1;
	}
	to
	{
		transform: translateY(-4px);
		opacity: 0;
	}
}
@keyframes remodal-overlay-opening-keyframes
{
	from
	{
		opacity: 0;
	}
	to
	{
		opacity: 1;
	}
}
@keyframes remodal-overlay-closing-keyframes
{
	from
	{
		opacity: 1;
	}
	to
	{
		opacity: 0;
	}
}



/*
	menu
*/
#myc #myc-menu-open
{
	position: fixed;
	right: 34px;
	top: 34px;
    
    width: 50px;
	
	z-index: 1;
}

#myc #myc-menu
{
	position: fixed;
	left: 0;
	top: 0;
	
	width: 100%;
	height: 100%;
	
	z-index: 2;
}

#myc #myc-menu .bg
{
	position: absolute;
	
	width: 100%;
	height: 100%;
	
	background-color: rgba(0,0,0,0.3);
	
	transition-duration: 0.4s;
}

#myc #myc-menu .scroll-area
{
    height: 100%;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    
    transition-duration: 0.4s;
}

#myc #myc-menu .contents
{
	position: relative;
	
	background-color: #fff;
}

#myc #myc-menu #myc-menu-close
{
	position: absolute;
	right: 0;
	top: 0;
}

#myc #myc-menu.hide
{
	pointer-events: none;
}

#myc #myc-menu.hide .bg
{
	opacity: 0;
	
	transition-duration: 0.8s;
}

#myc #myc-menu.hide .scroll-area
{
	opacity: 0;
	transform: translateX(2%);
	
	transition-duration: 0.8s;
}

#myc #myc-menu.hide #myc-menu-close
{
	opacity: 0;
	
	transition-duration: 0.8s;
}










#myc #myc-header
{
    padding: 60px 0 120px;
}

#myc #myc-header .title .image
{
    width: 510px;
}





#myc #myc-desc
{
    background: radial-gradient(ellipse at center,  rgba(255,255,255,0.7) 0%,rgba(255,255,255,0) 60%);
}





#myc .common-box
{
    position: relative;
    
    padding: 80px 40px;
    
    background-color: rgba(255,255,255,0.9);
}

#myc .common-box:before
{
    content: '';
    
    position: absolute;
    left: -8px;
    top: -8px;
    
    width: 44px;
    height: 44px;
    
    background-image: url("../images/box_corner_01.png");
    background-repeat: no-repeat;
    background-size: 100%;
}

#myc .common-box:after
{
    content: '';
    
    position: absolute;
    right: -8px;
    bottom: -8px;
    
    width: 44px;
    height: 44px;
    
    background-image: url("../images/box_corner_02.png");
    background-repeat: no-repeat;
    background-size: 100%;
}

#myc .common-box .box-section
{
    padding: 60px 0;
}
#myc .common-box .box-section:first-child
{
    padding-top: 0;
}
#myc .common-box .box-section:last-child
{
    padding-bottom: 0;
}

#myc .common-box .box-section+.box-section
{
    border-top: 1px solid #000;
}

#myc .common-box .box-section.title
{
    padding-bottom: 40px;
}

#myc .common-box .box-section.title .jp
{
    display: block;
}





#myc #myc-schedule .date-row
{
    line-height: 1;
}

#myc #myc-schedule .box-section.schedule-content
{
    display: flex;
    
    padding: 0;
}
#myc #myc-schedule .box-section.schedule-content+.box-section.schedule-content
{
    border-top: initial;
}

#myc #myc-schedule .box-section.schedule-content+.box-section.schedule-content .info-area
{
    border-top: 1px solid #ccc;
}

#myc #myc-schedule .box-section.schedule-content .date-area
{
    padding: 48px 0;
    
    width: 250px;
}

#myc #myc-schedule .box-section.schedule-content .info-area
{
    padding: 48px 0;
    
    flex: 1;
}

#myc #myc-schedule .box-section.schedule-content:first-child .date-area,
#myc #myc-schedule .box-section.schedule-content:first-child .info-area
{
    padding-top: 0;
}
#myc #myc-schedule .box-section.schedule-content:last-child .date-area,
#myc #myc-schedule .box-section.schedule-content:last-child .info-area
{
    padding-bottom: 0;
}

#myc #myc-schedule .box-section.schedule-content .ticket-info
{
    display: inline-block;
    
    width: 300px;
}

#myc #myc-schedule .box-section.schedule-content .place-row
{
    display: flex;
    align-items: baseline;
}

#myc #myc-schedule .box-section.schedule-content .place-row .english
{
    margin-left: 0.8em;
}

#myc #myc-schedule .box-section.schedule-content .place-row .line
{
    flex: 1;
    
    margin-left: 1em;
    height: 0.5em;
    
    border-top: 1px solid rgba(0,0,0,0.3);
}

#myc #myc-schedule .box-section.schedule-content .time-row .time-item
{
    display: inline-block;
    
    margin-right: 1em;
}





#myc #myc-banner .image
{
    width: 350px;
}





#myc #myc-bottom
{
    height: 100px;
}





#myc #myc-footer
{
    padding: 32px 0;
    
    color: #fff;
    
    background-color: #000;
}





#myc #myc-language
{
	position: fixed;
	left: 0;
	top: 0;
    width: 100%;
	
	z-index: 1;
}

#myc #myc-language .area
{
    position: absolute;
    right: 0;
    top: 0;
    
    padding: 8px 20px 2px;
    
    color: #fff;
    
    background-color: #FE0000;
    border-radius: 0 0 0 12px;
}

#myc #myc-language a
{
    color: #fff;
}

#myc #myc-language .separate
{
    display: flex;
    
    align-items: center;
}

#myc #myc-language .separate .caption
{
    flex: 1;
    
    margin-right: 20px;
}

#myc #myc-language .separate .box
{
    width: 80px;
    
    /*border: 1px solid #fc0;*/
}

#myc #myc-language .separate .box .link
{
    display: flex;
    /*justify-content: center;*/
    align-items: center;
    
    width: 100%;
    height: 24px;
    
    /*text-align: center;*/
}
#myc #myc-language .separate .box .link.type-dropdown
{
    border-bottom: 1px solid #fff;
}
#myc #myc-language .separate .box .link:hover
{
    text-decoration: none;
}

#myc #myc-language .separate .box .link.type-dropdown .text
{
    flex: 1;
}

#myc #myc-language .separate .box .link.type-dropdown .arrow
{
    width: 16px;
    height: 100%;
    
    /*background-color: #00f;*/
    background-image: url("../images/language_arrow.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px auto;
}

#myc #myc-language .open-area
{
    margin-top: 12px;
}

#myc.standby #myc-language .open-area .slide-area
{
    display: none;
    
    padding-bottom: 12px;
}









/*
    opening
*/
#myc #myc-full-screen
{
    display: flex;
    justify-content: center;
    align-items: center;
    
    position: fixed;
    left: 0;
    top: 0;

    width: 100vw;
    height: 100vh;    /*android*/
    height: 100svh; /* Small Viewport Height */

    background-color: #fff;
    background-image: url("../images/bg.jpg");
    background-size: 100% auto;
    background-repeat: repeat-y;

    z-index: 2;
}

#myc.standby #myc-full-screen
{
    opacity: 1;

    transition-duration: 1.2s;
}
#myc.standby #myc-full-screen.hide
{
    opacity: 0;

    pointer-events: none;
}

#myc.standby #myc-full-screen .title
{
    opacity: 0;

    transition-duration: 1.2s;
}
#myc.standby #myc-full-screen .title.show
{
    opacity: 1;
}

#myc #myc-full-screen .title .image
{
    width: 590px;
}





#myc #myc-spacer
{
    height: 1px;
}






#myc.standby #myc-main
{
    display: none;
}
#myc.standby #myc-main.show
{
    display: block;
}










/*
	scrollmagic
*/
#myc.standby .scrollmagic
{
	opacity: 0;
	transition-duration: 0.8s;
	transition-timing-function: ease-out;
	transform: translateY(12px);
}

#myc.standby .scrollmagic.show
{
	opacity: 1 !important;
	transform: translateX(0) translateY(0) scale(1) !important;
}
#myc.standby .scrollmagic:nth-child(2) {transition-delay: 0.1s;}
#myc.standby .scrollmagic:nth-child(3) {transition-delay: 0.2s;}
#myc.standby .scrollmagic:nth-child(4) {transition-delay: 0.3s;}
#myc.standby .scrollmagic:nth-child(5) {transition-delay: 0.4s;}
#myc.standby .scrollmagic:nth-child(6) {transition-delay: 0.5s;}
#myc.standby .scrollmagic:nth-child(n+7) {transition-delay: 0.6s;}



/*
	transition
*/
#myc.standby.reset *
{
	transition-delay: 0s !important;
	transition-duration: 0s !important;
	
	animation-delay: 0s !important;
	animation-duration: 0s !important;
}