@charset "utf-8";
/*@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Shippori+Mincho&family=Ubuntu+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap');*/
/*@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Old+Mincho:wght@400;500;600;700&display=swap');*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');


/****************************
//背景：FCF4E9
//紺：28438B
//赤：D02A14

背景水色：F6FAFD
黒：#000000
赤：#f60001
******************************/

:root {
  --main-bg-color: #F6FAFD;
  --main-text-color: #000000;
  --red-text-color: #f60001;
}

/* micro clearfx */
.cf:before, .cf:after {
    content:"";
    display:table
}
.cf:after { clear:both }
.cf { zoom:1 } /* IE 6/7用。不要なら削除 */

body{
background-color:var(--main-bg-color);
/*background-image: url(../img/bg_paper.jpg);
background-size: contain;*/
font-size:12px;
color:var(--main-text-color);
    line-height: 1.6em;
	/*デフォルトゴシック*/
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;

}

/*明朝*/
/*
.mincho{
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}
*/
.mincho{
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
  }

/*SP表示*/
@media screen and (max-width: 767.98px) {
}

a {
    text-decoration: underline;
    color: var(--main-text-color);
}

.clearfix::after {
    content:'';
    display: block; 
    clear:both;
}


/* スクロールCSS */
.fade-in {
  opacity: 0;
  transition-duration: 1000ms;
  transition-property: opacity, transform;
}

.fade-in-up {
  transform: translate(0, 50px);
}

.fade-in-down {
  transform: translate(0, -50px);
}

.fade-in-left {
  transform: translate(-50px, 0);
}

.fade-in-right {
  transform: translate(50px, 0);
}
.scroll-in {
  opacity: 1;
  transform: translate(0, 0);
}


/* 読み込まれた時にフェードイン */
.notscroll-fadein {
	opacity: 0;/* ここを追加 */
    animation: fadein 1000ms linear 500ms 1 normal forwards;
    -webkit-animation: fadein 1000ms linear 500ms 1 normal forwards;
}

@keyframes fadein {
    from {
    opacity: 0;
/*    transform: translateY(20px);*/
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
@-webkit-keyframes fadein {
    from {
    opacity: 0;
/*    transform: translateY(20px);*/
}
to {
    opacity: 1;
    transform: translateY(0);
}
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

#container{
}
/*SP表示*/
@media screen and (max-width: 767.98px) {
#container{
}
}

.contents{
width:100%;
margin:0 auto;
}
/*SP表示*/
@media screen and (max-width: 767.98px) {
.contents{
width:90%;
}
}


/*-------------------------
背景
---------------------------*/
/*
background-image: url("../img/top_back_lt.png"), url("../img/top_back_rt.png"), url("../img/top_back_rb.svg"), url("../img/top_back_lb.png");
background-repeat: no-repeat, repeat-x, no-repeat, repeat-x;
background-size: auto, auto, 530px auto, auto;
background-position: left top, left top, right bottom, left bottom;
background-color: #f0f8fc;
*/
/*
    background-image: url(../img/bg15.png), url(../img/bg15.png), url(../img/bg15.png), url(../img/bg15.png);
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
    background-size: 250%, 250%, 250%, 250%;
    background-position: 60% 0%, 75% 36%, 30% 66%, 68% 103%
*/
.bgbox{
background-image: url(../img/bg15.png), url(../img/bg15.png), url(../img/bg15.png), url(../img/bg15.png);
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
    
    /* 250%の拡大率をピクセルで指定 (高さ 5255px) */
    /*background-size: auto 5255px, auto 5255px, auto 5255px, auto 5255px; */
	background-size: auto 1355px, auto 1355px, auto 1355px, auto 1355px;
    
    /* * Y軸の位置を拡大後の高さ (5255px) を使って固定 (重ならないように)
     * 1枚目: Y=0px
     * 2枚目: Y=5255px
     * 3枚目: Y=10510px (5255 * 2)
     * 4枚目: Y=15765px (5255 * 3)
     * X軸はvw指定にして、画面幅が変わっても相対的な位置を維持させます。
     */
    /*background-position: 20px 0px, 100px 5255px, 40px 10510px, 80px 15765px;*/
	background-position: -395px 0px, -543px 1355px, -200px 2710px, -340px 4065px;
    
    /* X軸をビューポート基準で動かしたい場合はこちら */
    /* background-position: 50vw 0px, 20vw 5255px, 70vw 10510px, 30vw 15765px; */
}


/*PC表示*/
@media(min-width: 768px) {

	/*
	background-image: url("../img/bg15.png"), url("../img/bg15.png"), url("../img/bg15.png");
	background-repeat: no-repeat, no-repeat, no-repeat;
	background-size: 250%, 250%, 250%;
	background-position: 40% 0%, 51% 200%, -40% 300%;
	background-position: 40% 0%, 51% image-height("../img/bg15.png") *2, -40% image-height("../img/bg15.png") *3,
	*/
	/*
        background-image: url(../img/bg15.png), url(../img/bg15.png);
        background-repeat: no-repeat, no-repeat;
        background-size: 300%, 300%;
        background-position: 60% 8%, 73% 245%;
		*/
		/*
		        background-image: url(../img/bg15.png);
        background-repeat: no-repeat;
        background-size: 300%;
        background-position: 60% 8%;
		*/
		
		
		.bgbox{
			/* 3枚の画像をカンマ区切りで指定 */
        background-image: url(../img/bg15.png), url(../img/bg15.png), url(../img/bg15.png);
        /* 繰り返しはなし */
        background-repeat: no-repeat, no-repeat, no-repeat;
        /* 幅 5043px, 高さ 6306px に固定 */
        /*background-size: 5043px 6306px, 5043px 6306px, 5043px 6306px;*/
		background-size: auto 3300px, auto 3300px, auto 3300px;
        
        /* * X軸: 左右方向の位置 (例: 画面中央から左に200px、右に100px、左に400pxなど)
         * Y軸: 拡大後の高さ (6306px) を使って固定
         */
        /*background-position: calc(50% - 200px) 0px, calc(50% + 100px) 6306px, calc(50% - 400px) 12612px;*/
		background-position: calc(50% - 100px) 0px, calc(50% - 200px) 3300px, calc(50% - 100px) 6600px;
		}
}


/*----------------------------------------------
 キービジュアル
----------------------------------------------*/

.mainkeyv{
text-align:center;
padding-top: 100px;
padding-bottom:200px;
position: relative;
}
.mainkeyv img{
width:90%;
}


/*PC表示*/
@media(min-width: 768px) {
	.mainkeyv{
	padding-top: 50px;
	}
	.mainkeyv img{
	width:55%;
	max-width: 600px;
	}
}



/*----------------------------------------------
スクロールダウン
----------------------------------------------*/

.scroll {
height: 25%;
    position  : absolute;
    font-size : 13px;
    writing-mode : vertical-rl;
	bottom: -20%;
    right: 0%;
	letter-spacing: 0.1em;
    transform: translateX(-50%) translateY(-50%);
}
.scroll p{
margin-top:42px;
  font-family: "Shippori Mincho", serif;
}
.scroll::after {
    content : '';
    display : inline-block;
    position : absolute;
    background-color: var(--red-text-color);
	
    right : 120%;
    /*bottom : -115px;*/
    transform : translateX(-50%);
    width : 1px;
    height : 100%;
    animation: scroll 2s infinite;
}

/*SP*/
@media screen and (max-width: 767.98px) {
.scroll {
        height: 21%;
        font-size: 12px;
        bottom: -10%;
        right: 0px;
}
}
@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}


/*----------------------------------------------
各メニュータイトル
----------------------------------------------*/
.ttl{
text-align:center;
font-size:16px;
line-height:2em;
}
.ttl img{
width:62%;
margin:0px auto 45px auto;
padding-left: 26px;
display:block;
}

/*PC表示*/
@media(min-width: 768px) {
	.ttl img{
	width:230px;
	}
}



/*---------------------------------------------


--------------------------------------------------*/


#member .submitbutton{
}

#member .submitbutton a{
/*font-family: "Shippori Mincho", serif;*/
    background-color: var(--main-text-color);
    display: block;
    border-radius: 10px;
    color: var(--main-bg-color);
    font-size: 13px;
    padding: 16px 0;
    width: 245px;
    letter-spacing: 0.05em;
	margin:auto;
	    margin-bottom: 20px;
		    text-decoration: none;
			    text-align: center;
}
#member .submitbutton a::after {
}
#member .submitbutton a:hover {
  background-color: #426bc8;
}





/*----------------------------------------------
スケジュール schedule
----------------------------------------------*/

#schedule{
margin-bottom:100px;
}

#schedule .box{
width:100%;
position: relative;
    background-color: #FFFFFF;
    width: 90%;
    margin: auto;
	margin-bottom: 50px;
    padding: 45px 23px 25px 23px;
}
#schedule .date{
    left: -15px;
    top: -10px;
border-bottom: 5px solid var(--main-text-color);
font-size:30px;
height: 40px;
margin-bottom: 7px;
padding: 0 8px;
letter-spacing: 0.06em;
font-weight: 600;
display: inline-block;
    position: absolute;
}
#schedule .youbi{
font-size:18px;
letter-spacing: 0.08em;
}
#schedule .place{
color:var(--main-text-color);
font-size:18px;
font-weight: 600;
}
#schedule .hallname{
    font-size: 23px;
    margin-top: 8px;
    font-weight: 600;
	letter-spacing: 0.02em;
	    line-height: 1.4em;
	    font-feature-settings: "palt";
}
.katadume{
letter-spacing:-0.05em;
}
#schedule .detailinfo{
margin-top: 10px;
    font-size: 13px;
    line-height: 1.7em;
}
#schedule .soldout{
    color: #ffffff;
/*    border: 2px solid #f60001;*/
    font-weight: bold;
    padding: 5px 3px;
    width: 168px;
    text-align: center;
    margin-bottom: 12px;
    font-size: 13px;
    letter-spacing: 0.05em;
    background-color: #f60001;
}
/*PC表示*/
@media(min-width: 768px) {
	#schedule .soldout{
	}
}



/*PC表示*/
@media(min-width: 768px) {
	#schedule .box{
	width:500px;
	margin:0 auto 50px auto;
	}
	#schedule .date{
	font-size:38px;
	}
}


/*----------------------------------------------
チケット ticket
----------------------------------------------*/

#ticket{
margin-bottom:100px;
background-color:#FFFFFF;
    margin: 0 -6% 50px -6%;
    padding: 10%;
}

/*PC表示*/
@media(min-width: 768px) {
	#ticket{
	width:600px;
	padding: 50px 20px 50px 20px;
	margin:0 auto 50px auto;
	}
	.ticket_inbox{
		width: 425px;
		margin: auto;
	}
}

/*----------------------------------------------
 券種
----------------------------------------------*/


.seattype{
/*background-color:#F6F6F6;*/
width: 100%;
/*padding: 19px;*/
display: inline-block;
font-size: 16px;
font-weight: bold;
/*border-radius: 6px;*/
margin-bottom:5px;
}
.seattype_sub{
margin-bottom:10px;
padding-bottom: 14px;
}
.seattype_name{
display: inline-block;
float:left;
background-color:var(--main-bg-color);
font-weight:600;
padding: 5px 10px;
    width: 90px;
    text-align: center;
}
.seattype_standkk{
	font-size:10px;
}
/*PC表示*/
@media(min-width: 768px) {
	.seattype_standkk{
			font-size: 13px;
			margin-top: 3px;
	}
}


.seattype_price{
font-size: 38px;
    letter-spacing: 0.05em;
	margin-right:25px;
display: inline-block;
float:right;
}
.seattype_yen{
font-size: 29px;
    margin-right: 5px;
}
.seattype_tax{
font-size:14px;margin-left: 2px;
}
.seattype_attention{
float:right;
width:66%;
font-size: 11px;
font-weight: normal;
/*letter-spacing: 0.02em;*/
display: block;
padding-top: 6px;
line-height: 1.5em;
}
.ticket_attention{
clear:both;
font-size: 11px;
font-weight: normal;
letter-spacing: 0.01em;
display: block;
padding-top: 6px;
}

/*PC表示*/
@media(min-width: 768px) {
	.seattype{
	width:400px;
	}
	.seattype_name{
		        width: 150px;
        padding: 10px;
        font-weight: bold;
	}
	.seattype_attention{
	width:55%;
	}
	.ticket_attention{
	width:400px;
	}
	#main_attention{
	width:600px;
	margin:auto;
	}
}
				

/*

#ticket .seattype_box{
    margin-bottom: 30px;
	}
#ticket .typename{
	background-color: var(--main-text-color);
    width: 100%;
    padding: 11px 0;
    color: var(--main-bg-color);
    text-align: center;
    font-size: 22px;
    letter-spacing: 0.2em;
    display: block;
}
#ticket .price{
    font-size: 44px;
    text-align: center;
    margin-top: 20px;
    letter-spacing: 0.03em;
}
#ticket .yen{
font-size: 36px;
    margin-right: 5px;
}
#ticket .tax{
font-size: 17px;
    margin-left: 5px;
}

#ticket .seattype_attention{
	border-top: 1px solid var(--main-text-color);
    margin: auto;
    padding: 15px 10px 0 10px;
	margin-bottom:50px;
}
*/

.attention_ttl{
    margin: auto;
    font-size: 19px;
    text-align: center;
    letter-spacing: 0.1em;
    margin-bottom: 15px;
	font-weight:bold;
}
.attention_subttl{
	font-size: 15px;
    line-height: 1.3em;
    text-align: center;
	margin-bottom: 20px;
	font-weight:bold;
}
.attention_detail ul{
list-style: none;
}

.attention_detail li{
    text-indent: -1em;
    padding-left: 1em;
    margin-bottom: 5px;
}


	#tktphase{
background-color:#FFFFFF;
width:90%;
padding: 30px;
margin:auto;
}
/*PC表示*/
@media(min-width: 768px) {
	#tktphase{
		width:600px;
	}
}


.phase_title{
	background-color: var(--main-bg-color);
    width: 100%;
    padding: 20px 0;
    color: var(--main-text-color);
    text-align: center;
    font-size: 20px;
/*    letter-spacing: 0.2em;*/
	letter-spacing: 0.1em;
    display: block;
	margin-bottom:25px;
	font-weight:bold;
}
.phase_finish{
	    font-size: 15px;
    letter-spacing: 0.05em;
    display: block;
    margin: 5px 0 0 0;
}
/*PC表示*/
@media(min-width: 768px) {
	.phase_finish{
	display: inline-block;
	margin: 0 0 0 8px;
	}
}


.phase_box{
/*border:1px solid var(--main-text-color);*/
/*text-align:center;*/
}
/*PC表示*/
@media(min-width: 768px) {
	.phase_box{
	padding:15px 15px 30px 15px;
	}
}

.phase_term_ttl{
    text-align: center;
		background-color: var(--main-bg-color);
    font-size: 15px;
    letter-spacing: 0.1em;
	margin-bottom: 15px;
	    width: 100px;
    padding: 8px 0;
}
.phase_term_date{
    font-size: 17px;
    display: block;
    margin-top: 15px;
    margin-left: 8px;
    margin-bottom: 25px;
    letter-spacing: 0.04em;
    line-height: 1.5em;
}
.phase_term_seattype{
    font-size: 15px;
    display: block;
    margin-top: 20px;
	    line-height: 1.7em;
}
.phase_term_att{
    display: block;
    margin-bottom: 10px;
    margin-top: 5px;
}
.limit{
    font-size: 15px;
    display: block;
    margin-top: 15px;
	margin-left:10px;
	margin-bottom:25px;
}
.limit_att{
font-size: 12px;
    margin-top: 5px;
    line-height: 1.3em;
    letter-spacing: 0.04em;
}

.phase_term_ttl_eplus{
/*
    border-left: 5px solid #000000;
    padding-left: 10px;
    margin-left: 10px;
    font-size: 14px;
    margin-top: 42px;
    width: 90%;
	*/
	text-align: left;
    background-color: var(--main-bg-color);
    font-size: 15px;
    margin-bottom: 15px;
    width: 100%;
    padding: 8px 10px;
    margin-top: 32px;
}

.eplus{
	font-family: "Shippori Mincho", serif;
    font-size: 17px;
    line-height: 1.5em;
    letter-spacing: 0.1em;
	margin-bottom:20px;
}
.eplus_att{
font-size:12px;
}


#ticket .faqbutton{}

#ticket .faqbutton a{
	border: 1px solid var(--main-text-color);
    display: block;
    border-radius: 26px;
    font-size: 14px;
    padding: 16px 0;
    width: 260px;
    letter-spacing: 0.05em;
    margin: auto;
		    margin-bottom: 30px;
			    text-decoration: none;
				color:var(--main-text-color)
}
#ticket .faqbutton a::after {
}
#ticket .faqbutton a:hover {
  background-color: #ced5e8;
}


.submitbutton{
}

.submitbutton a{
    background-color: #5489B0;
    display: block;
    border-radius: 6px;
    color: var(--main-bg-color);
    font-size: 18px;
    padding: 16px 0;
    width: 260px;
    letter-spacing: 0.05em;
	margin:auto;
	    margin-bottom: 20px;
		    text-decoration: none;
			text-align:center;
			    font-weight: bold;
}
.submitbutton a::after {
}
.submitbutton a:hover {
  background-color: #5489B0;
}



/*----------------------------------------------
グッズ goods
----------------------------------------------*/

#goods{
margin-bottom:100px;
}

/*PC表示*/
@media(min-width: 768px) {
	#goods{
	width:600px;
	margin:0 auto 100px auto;;
	}
}

#goods .top_h1{
	font-size: 20px;
    color: var(--main-text-color);
    line-height: 1.3em;
    text-align: center;
	margin-bottom: 20px;
}

#goods .button_no1{}

#goods .button_no1 a{
	border: 1px solid var(--main-text-color);
    display: block;
    border-radius: 26px;
    font-size: 14px;
    padding: 16px 0;
    width: 260px;
    letter-spacing: 0.05em;
    margin: auto;
		    margin-bottom: 30px;
			    text-decoration: none;
				color:var(--main-text-color);
				    text-align: center;
}
#goods .button_no1 a::after {
}
#goods .button_no1 a:hover {
  background-color: #ced5e8;
}

#goods ul{
list-style: none;
}

#goods li{
    text-indent: -1em;
    padding-left: 1em;
    margin-bottom: 5px;
}
/*
#goods .attention_detail{
margin-bottom:30px;
}
*/


.goods_subtitle{
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.1em;
    border: 1px solid #777777;
    padding: 10px 20px;
    width: 100%;
    margin: 0 auto 20px auto;
}

/*
#goods .submitbutton{
}

#goods .submitbutton a{
font-family: "Shippori Mincho", serif;
    background-color: var(--red-text-color);
    display: block;
    border-radius: 26px;
    color: var(--main-bg-color);
    font-size: 14px;
    padding: 16px 0;
    width: 280px;
    letter-spacing: 0.05em;
	margin:auto;
	    margin-bottom: 20px;
		    text-decoration: none;
			    text-align: center;
				margin-top:30px;
}
#goods .submitbutton a::after {
}
#goods .submitbutton a:hover {
  background-color: #e16f60;
}
*/


/*----------------------------------------------
Footer
----------------------------------------------*/

.footeril{
margin:auto;
text-align:center;
}
.footeril img{width:200px;}

.copyright{
font-size:11px;
text-align:center;
padding:10px;
color:var(--main-text-color);
letter-spacing: 0.1em;
margin-top:100px;
}



/*******************************
 ハンバーガーボタン
**********************************/
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 13px;
  top   : 12px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : var(--red-text-color);;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  background :var(--red-text-color);;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  background :var(--red-text-color);;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

/*******************************
 ハンバーガーボタン内メニュー
**********************************/

nav.globalMenuSp {
  font-family: 'Ubuntu Mono', monospace;
  font-weight: 500;
  font-size:18px;
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  color: #000;
background-color:var(--main-bg-color);
  text-align: center;
	width: 100%;
	/*
  opacity: 0;
  transition: opacity .6s ease, visibility .6s ease;
  */
	display:none;
	height:100%;
}



/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
	/*
  opacity: 100;
	height: 100%;
	*/
}


/*******************************
 ハンバーガーボタン内短冊メニュー
**********************************/
.menu_parent {
width:304px;
margin:auto;
margin-top: 100px;
}

.menu_chld{
	display: inline-flex;
	  font-family: "Shippori Mincho", serif;
	  font-size: 28px;
    letter-spacing: 0.1em;
}
.menu_chld a{
	/* フレックスコンテナであることを指定 */
	display: inline-flex;
	height: 300px;
	width: 90px;
	/* テキストを縦書きに指定 */
	writing-mode: tb-rl;
	writing-mode: vertical-rl; 
	-moz-writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	/* 左右中央揃え */
	align-items: center;
	border-right: 1px solid var(--main-text-color);
    padding: 23px 0 30px 0;
	text-decoration: none;
	position: relative;
	color:var(--red-text-color);
}
.menu_chld a:hover {
/*  background-color: var(--main-bg-color);*/
}
.menu_chld:first-child {
	border-left: 1px solid var(--main-text-color);
}

.menu_chld a::after {
	position: absolute;
	bottom: 10px;
	/*
	transform: translateY(-50%);
	content: '\f0da';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	*/
	content: '';
	display: block;
	width: 10px; 
	height: 10px;
	background-image: url(../img/tri_down.svg);
	background-size: contain;
	background-repeat:no-repeat;
}
.menu_chld a:hover:after {/*マウスオーバー時アイコン*/
}




/*PC表示*/
@media(min-width: 768px) {
.pcdisp{}
.spdisp{display:none !important;}
}
/*SP表示*/
@media screen and (max-width: 767.98px) {
.pcdisp{display:none !important;}
.spdisp{}
}
