@charset "UTF-8";

/* ==========================================
	 font
	 基本：100% = 1em = 1rem = 16px = 12pt
   ========================================== */

html { font-size: 62.5%; } /* sets the base font to 10px */
h1,h2,h3,h4,h5,h6 {
	margin-bottom: .4em;
	line-height: 1.3;
}
h1 { font-size: 4rem;}
h2 { font-size: 3rem;}
h3 { font-size: 2.5rem;}
h4 { font-size: 2rem;}
h5,h6 { font-size:1.9rem;}
p,ul li,ol li,dl {
	font-size: 1.7rem;
	line-height: 1.6;
	letter-spacing: .05em;
}
p { margin-bottom: .4em;}
address,dt,dd,li,th,td {
	font-size: 1.7rem;
	line-height: 1.2;
}
select,div,button { font-size:1.65rem; }





small,.small { font-size: 0.75em;}
small,span,em,strong {display: inline-block;}
.nowrap, .nw { display: inline-block; white-space: nowrap; }


.hidden,.hdn {
	display: none !important;
	visibility: hidden;
}


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


.ec-topicpath .ec-topicpath__item a,
.ec-topicpath .ec-topicpath__item--active a {
	color: #e37800;
	transition: 3.5s ease;
}

.ec-topicpath .ec-topicpath__item a:hover,
.ec-topicpath .ec-topicpath__item--active a:hover { color: #870005;}

/* ボタン */
.ec-blockBtn--action {
	background-color:#870005;
	border: none;
	border-radius: 5px;
	transition: 0.35s ease;
}
.ec-blockBtn--action:hover {
	background-color:#e37800;
	border: none;
}

/* 一覧へ戻るボタン */
.backbtn a {
	border: none;
	border-radius: 5px;
	transition: 0.35s ease;
}

/* ご予約を続けるボタン */
.ec-inlineBtn--cancel,
.ec-blockBtn--cancel {
	border: none;
	border-radius: 5px;
	transition: 0.35s ease;
}
.ec-inlineBtn--cancel:hover,
.ec-blockBtn--cancel:hover {
	border: none;
}

/* カートへ進むボタン */
.ec-inlineBtn--action {
	background-color:#870005;
	border: none;
	border-radius: 5px;
	transition: 0.35s ease;
}
.ec-inlineBtn--action:hover {
	background-color:#e37800;
	border: none;
}


/* ヘッダーナビ cart.twig */
.ec-cartNavi { min-width: auto !important;}
.ec-cartNaviNull__message {font-size: 1.35rem;}






/* トップページ */
.ec-headerTitle .ec-headerTitle__title {
	margin-bottom: 3em;
}
.ec-headerTitle .ec-headerTitle__title h1 {margin: 2em auto 0;}
.ec-headerTitle .ec-headerTitle__title h1 a {
	margin: 0;
}
.ec-headerTitle .ec-headerTitle__title h1 a img { /* メイン画像 */
	width: 300px;
  height: auto;
}
.ec-headerTitle .ec-headerTitle__title h2 {
	color: #000;
	font-size: 1.85rem;
	font-family: 'Shin Maru Go Regular','TBUDGothic R';
	letter-spacing: 0.1em;

}

/* トップページ・新着情報 */


.ec-newsRole .ec-newsRole__news {
	margin: auto;
	padding: 0 !important;
	width: 96%;
	border: none !important;
	font-family: Roboto, "游ゴシック", YuGothic, "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, "メイリオ", Meiryo, sans-serif;
	/* https://ics.media/entry/14087/ */
		font-feature-settings: "pkna"; /* （仮名や仮名関連の字形セットをプロポーショナル字形に置き換える指定） */
		font-feature-settings: "pwid"; /* （プロポーショナル字形に置き換える指定） */	
		font-feature-settings: "palt"; /* （全角の幅で設定するようにデザインされた字形のスペースを、個々の横の幅に収まるように再調整する指定） */
		letter-spacing: .06em;
}


.ec-newsRole .ec-newsRole__newsItem {
	display: flex;
	align-items: center; 
	gap: 10px; /* 要素間の余白 */
	width: 100%;
	margin-bottom: 2em;
	border: none !important;
}

.ec-newsRole .ec-newsRole__newsItem a,
.ec-newsRole .ec-newsRole__newsItem .a {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 1em;
	width: 100%;
	font-size: 1.7rem;
	background-color: #F4F1EA;
	border-radius: 1em;
	transition: ease .35s ;
}
.ec-newsRole .ec-newsRole__newsItem a:hover {
	filter: brightness( 102% ) contrast( 102% );	
	box-shadow : 0px 0px 15px 0px rgba(0,0,0,0.1);
	
} 
.ec-newsRole .npsr-thumbnail {
    display: flex;
    aspect-ratio: 1 / 1; /* 正方形を維持 */
    max-height: 300px;
    overflow: hidden;
    align-items: center;
    justify-content: center;
}

.ec-newsRole .npsr-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: contain; /* 画像の比率を維持しつつ枠内にフィット */
}

.ec-newsRole .ec-newsRole__newsDescription {
    display: flex;
    flex-direction: column;
    justify-content: center; /* 中央配置 */
    text-align: center;
    padding: 10px;
}
.ec-newsRole__newsItem a .ec-newsRole__newsDescription {
	color: #333;
	font-size: 1.6rem;
	line-height: 1.45;
}
.ec-newsRole .ec-newsRole__newsDescription p.period {
	margin:0 auto 1em;
	padding: .3em 1em;
	color: #fff;
	font-size: 1.8rem;
	line-height: 1.2;
	font-weight: bold;
	background-color: #e37800;
	border-radius: 30px;
}
.ec-newsRole .ec-newsRole__newsDescription p.period::before {
	content: "日程 ";
	font-size: 1.3rem;
}
.ec-newsRole .ec-newsRole__newsDescription h1 {
	margin: 0 0 .2em;
	font-size: 3.2rem;
	font-weight: 600;
	font-family: 'TBUDGothic R';
}
.ec-newsRole .ec-newsRole__newsDescription h2 {
	margin: 0 0 .2em;
	font-size: 2rem;
	font-family: 'TBUDGothic R';
}
.ec-newsRole .ec-newsRole__newsDescription p.place {
	margin: 1.2em auto 0;
}
.ec-newsRole .ec-newsRole__newsDescription p.place::before {
	content: "会場 ";
	font-size: 1.3rem;
}










/* トップページ・公演バナー */
.red {color: #870005;}
.bannerlist {
	margin:0 auto;
	width: 90%;
	max-width:1100px;
}

.bannerlist .inner a {
    display: block;
    margin: 3vh auto;
    padding: 0px 0px 10px;
    width: 94%;
    color: #333;
    text-align: center;
    border-radius: 5px;
    background-color: #F4F1EA;
    overflow: hidden;
	transition: 0.5s;
}
.bannerlist .inner a:hover {
    text-decoration: none;
    background-color: #ede6da;
}
.bannerlist .inner a:hover img {
    filter: 
	brightness( 104% ) /* 輝度 */
	contrast( 106% ) /* コントラスト */
	saturate( 100% ) /* 彩度 */;
}
.bannerlist .inner a.nosale {
	padding-top:56%;
	height:auto;
	min-height:300px;
	background-size:cover;
	background-position:center center;
}
.bannerlist .inner a.nosale:hover {
	filter: 
		brightness( 108% )
		contrast( 107% );
}

.bannerlist .inner .btn {
  margin-top: 5vh;
  width:100%;
  text-align:center;
}
.bannerlist .inner .btn a {
  display:block;
  margin:0 auto;
  padding:1em 2em;
  height:auto;
  max-width:300px;
  color:#fff;
  font-size:1.55rem;
  font-weight:bold;
  background-color:#525263;
  border-radius: 0px;
  transition: 0.35s;
}
.bannerlist .inner .btn a:hover {
  background-color:#333;
}
.bannerlist .inner .text {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1em 1.5em;
  height: 100%;
}

.bannerlist .inner .text h2 {
    margin: .2em 0 .6em;
    font-size: 2.5rem;
    font-weight:600;
}
.bannerlist .inner .text h3,
.bannerlist .inner .text .date {
    margin: .2em 0 .4em;
    padding-bottom: .4em;
    font-size: 2.2rem;
    line-height: 1.2;
    border-bottom: 1px dotted #ddd;
}
.bannerlist .inner .text dl { margin-bottom : .3em;}
.bannerlist .inner .text dl dt { font-weight:500;}

.block {
    margin-top: 0.75em;
    text-align: center;
}
.block span.info {
    display: inline-block;
    margin:auto;
    padding: .7em 2em;
    width: 80%;
    max-width: 300px;
    color: #fff;
    background-color: orange;
}



.bannerlist .inner h2.title {
    margin:0 auto 10px;
    padding-bottom: .3em;
    width: 94%;
    font-size: 2rem;
    border-bottom: 1px solid #333;
}
.bannerlist .inner figure {
    margin: 0;
    padding-top: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.bannerlist .inner figure img { max-width: 100%;}






/* 公演一覧ページ */
.ec-shelfGrid .ec-shelfGrid__item .ec-productRole__btn button { /* 詳細（カートに入れる）ボタン */
	margin: 1em 0 0;
}
.ec-shelfRole .ec-shelfGrid__item p {
	margin: .7em;
	font-family: 'TBUDGothic R';
}
.ec-shelfRole .ec-shelfGrid__item p:nth-child(2) {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.35;
}

/* 公演詳細ページ */
.ec-productRole { padding: 5vh 5vmin;} /* コンテンツ幅 */
/* .ec-productRole {　padding-right:40px;} */

.ec-productRole .ec-productRole__profile .ec-productRole__priceRegularTax,
.ec-productRole .ec-productRole__profile .ec-productRole__priceRegularPrice,
.ec-productRole .ec-productRole__profile .ec-productRole__actions,
.ec-productRole .ec-productRole__profile .ec-productRole__category,
.ec-productRole .ec-productRole__profile .ec-productRole__code,
.ec-productRole .ec-productRole__profile .ec-productRole__price
 { display: none;}
 
.ec-productRole .ec-productRole__profile .ec-headingTitle {
	margin-bottom: 1.72em;
	padding-bottom: .3em;
	font-weight: 600;
	font-family: 'TBUDGothic R';
	border-bottom: 1px solid #333;
}

/* ボタン類 */
.ec-inlineBtn,
.ec-inlineBtn--cancel,
.ec-inlineBtn--action,
.ec-blockBtn,
.ec-blockBtn--action,
.ec-blockBtn--cancel {font-size:1.35rem; }

#page_product_list .ec-shelfGrid__item form,
#page_product_list .ec-blockBtn--action.add-cart { display: none !important;}

.ec-shelfGrid__item { position: relative;}
.ec-shelfGrid__item a {
	position: relative;
	padding-bottom: 66px;
	height: 100%;
	transition: .35s;
	background-color: #f4f1ea;
}
.ec-shelfGrid__item a p.btn_detail {
	position: absolute;
	bottom: 0;
	margin: 0 .7em .7em;
	padding: 0 1em;
	width: calc(100% - 1.4em);
  height: 56px;
  line-height: 56px;
	color: #fff;
	font-size: 1.35rem;
	font-weight: bold;
	text-align: center;
	background-color: #870005;
	border-radius: 5px;
	transition: 0.35s ease;
}
.ec-shelfGrid__item a:hover {
	filter: brightness( 102% ) contrast( 102% ) ;
	box-shadow : 0px 0px 15px 0px rgba(0,0,0,0.1);
}
.ec-shelfGrid__item a:hover p.btn_detail {
	background-color: #e37800;
}

a.btn-reserve {
	display:block;
	padding:0;
	width:60%;
	height:56px;
	min-width:350px;
	line-height: 56px;
}
.backbtn { padding:0;}
.backbtn a {
	display:block; 
	padding:0;
	width:100%;
	height:56px;
	line-height: 56px;
	color:#fff;
	font-size:14px;
	font-weight:bold;
	text-align:center;
	background-color: #525263;
	border-color:#525263;
}
.backbtn a:hover {
	background-color:#3b3b47;
	border-color:#363642;
	text-decoration:none;
}

/* ご注文手続き */
.ec-rectHeading h2 small { font-weight: normal;}


/* マイページ */
.ec-navlistRole,
.ec-welcomeMsg { display: none;}
.ec-historyRole .ec-historyRole__detail .ec-historyRole__detailTitle {
	font-size: 1.6rem;
}


/* お問い合わせ */
.ec-borderedDefs { margin: 4vmin auto; }



@media screen and (min-width: 768px) {

/* トップページ */
.ec-headerTitle .ec-headerTitle__title h1 a img { /* メイン画像 */
	width: 400px;
  height: auto;
}
.ec-headerTitle .ec-headerTitle__title h2 {
	font-size: 2.15rem;
}


/* 新着情報 */

.ec-newsRole .ec-newsRole__newsItem a,
.ec-newsRole .ec-newsRole__newsItem .a {
	flex-direction: row;
}

.ec-newsRole .npsr-thumbnail {
	flex: 2;
	max-height: 100%;
	margin-left: 5%;
}
.ec-newsRole .ec-newsRole__newsDescription { flex: 5;}
.ec-newsRole .ec-newsRole__newsDescription p.period { width: 80%;}



/*
.ec-newsRole__newsItem {
    display: table;
    width: 100%;
}

.ec-newsRole__newsItem a,
.ec-newsRole__newsItem .a {
    display: table-row;
    text-decoration: none;
    color: inherit;
}

.ec-newsRole .npsr-thumbnail,
.ec-newsRole .ec-newsRole__newsDescription {
    display: table-cell !important;
    vertical-align: middle;
    padding: 10px;
}
.ec-newsRole .npsr-thumbnail {
    width: 40%;
}
.ec-newsRole .npsr-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}


*/




	.ec-input input, .ec-birth input, .ec-select input, .ec-halfInput input, .ec-numberInput input, .ec-zipInput input, .ec-telInput input {
    font-size: 1.35rem;
  }

	.ec-input select, .ec-birth select, .ec-select select, .ec-halfInput select, .ec-numberInput select, .ec-zipInput select, .ec-telInput select {
    font-size: 1.35rem;
  }
	.ec-input textarea, .ec-birth textarea, .ec-select textarea, .ec-halfInput textarea, .ec-numberInput textarea, .ec-zipInput textarea, .ec-telInput textarea {
    font-size: 1.35rem;
  }


	.bannerlist .inner .text dl {
		clear: both;
		display:block;
		text-align: center;
	}
	.bannerlist .inner .text dl.nomargin { margin: 0;}
	.bannerlist .inner .text dl dt {
		display: inline-block;
		margin-right: .5em;
	}
	.bannerlist .inner .text dl dt:after {
		content: "： ";
	}
	.bannerlist .inner .text dl dd {
		display: inline-block;
		text-align: left;
	}


/* 公演詳細ページ */
.backbtn a { max-width:350px;}/* 一覧に戻るボタン */

/* カートの中身ページ */
.ec-cartRole .ec-cartRole__actions {
  margin-top: 5vmin;
}



}@media screen and (min-width:992px){ 
	.bannerlist .inner h2.title {
	    width: 100%;
	    font-weight: bold;
	}
	.bannerlist .inner a {
	    margin: 5vmin 0 8vmin; 
	    padding: 0;
	    width: 100%;
	    height: 300px;
	}
	    
	.bannerlist .inner a figure {
	    float: right;
	    padding: 0;
	    width: 40%;
	    height: 100%;
	    background-size: cover;
	}
}


