/*
Theme Name: Twenty Twenty Four Child
Template: twentytwentyfour
*/

/* ----------------------------------------------------
   Basic setting:
------------------------------------------------------- */

/* reset:
--------------------------------------------*/

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

ul,ol {list-style: none;}
address {font-style: normal;}
input,select {font-size: 1rem; font-family: var(--font-family);}


/* デフォルトのブレークポイント無効化. */
@media (min-width: 600px) {
  /* メニューを非表示. */
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none;
  }
  /* Openボタン（ハンバーガーボタン）を表示. */
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex;
  }
}

/* 新しいブレークポイント設定. */
@media (min-width: 960px) { /* ※ここの数値を設定したい値に変更する. */
  /* メニューを表示. */
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    background-color: inherit;
    display: block;
    position: relative;
    width: 100%;
    z-index: auto;
  }
  /* Openボタン（ハンバーガーボタン）を非表示. */
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: none;
  }
}


/* Basic
--------------------------------------------*/
html {
	scroll-behavior: smooth;
}

@media (min-width: 768px) {
  html {
    font-size: calc(0.90625rem + ((1vw - 7.68px) * 0.2604));
    min-height: 0vw;
  }
}
@media (min-width: 1920px) {
  html {
    font-size: 17px;
  }
}

:root {
  --black: #000;
  --gray: #666;
  --white: #fff;
  --orange: #FFA600;
  --red: #EE0000;
  --blue: #006CFF;
  --green: #1B8700;
  --gray-boder: #c5c5c5;
  --gray-back: #F5F5F5;
  --border: solid 1.5px var(--gray-boder);
  --font-family: 'Noto Sans JP', sans-serif;
  --font-family_en: "Roboto", sans-serif;
  --gap: 25px;
  --maru: 6px;
  --btn: .8rem 1.8rem .8rem 1rem;
  --arrow: 7px;	
}

:root :where(body)  {
	font-family: var(--font-family);
	color:  var(--black);
	position: relative;
	overflow-x: hidden;
}
.saturday {
    color: var(--blue);
}
.holiday, .sunday {
    color: var(--red);
}


/*---- 多言語 setting ----*/
/*-- en --*/

html:lang(en) body ,:is(html:lang(zh-CN),html:lang(ko)) header {
	font-family: "Roboto", sans-serif;
}

/*-- zh-CN --*/

html:lang(zh-CN) body {
	font-family: 'Noto Sans TC', sans-serif;
}

/*-- kr --*/
html:lang(ko) body {
	font-family: 'Noto Sans KR', sans-serif;

}

em {font-style: italic}
html:lang(ja) :lang(en) {
	font-family: "Roboto", sans-serif!important;
}


/*---- link button ----*/

/*-- link --*/

a {color: var(--black);text-decoration: none;transition: all 300ms 0s ease;}
a:focus-visible,
input:focus-visible,
button:focus-visible {outline: 2px var(--black) solid;}

*:focus {outline: none;}

/*
#main a {text-decoration: underline;}
#main a:hover {text-decoration: none;}
*/

/*-- button --*/

button {border: none;background: none;transition: all 300ms 0s ease;}
button:hover {
	cursor: pointer;
}


/*---- パンくず ----*/
.breadcrumbs {
	padding: 1% 4%;
	max-width: 1280px;
	margin: 0 auto 2rem;
	box-sizing: content-box;
}

@media screen and (min-width: 1280px) {
.breadcrumbs {
   padding: 0 4%;
  }
}

.breadcrumbs .current-item {
	font-weight: 400;
}


/* ----------------------------------------------------
   Common setting
------------------------------------------------------- */

main {position: relative; background: var(--white);}
main a {color: var(--black);text-decoration: underline;transition: all 300ms 0s ease;}

/*---- element margin ----*/
/*-- 余白調整 --*/

.is-layout-constrained > *:not(h1,h2,h3,h4,h5,h6) {
    margin-block-start: .5rem;
    margin-block-end: 1.5rem;
}

.wp-block-columns.has-border-color *{
	padding: 0;
}

article {
	margin-block-start: 5rem!important;
    margin-block-end: 7rem!important;
}


/* Component
--------------------------------------------*/

/*---- h1 ----*/
h1.wp-block-heading {
	font-size: 2.2rem;
    line-height: 2.3rem;
	letter-spacing: .2rem;
	margin-block-end: 2.5rem;
	
}

/* h1.wp-block-heading.h1_1 {
	padding: 1.2rem 0;
	position: relative;
}

h1.wp-block-heading.h1_1:before,
h1.wp-block-heading.h1_1:after {
    content:'';
    width: 10px;
    height: calc(100% - 10px);
    position: absolute;
    top: 0;
}

h1.wp-block-heading.h1_1:before {
    border-left: 2px solid #000;
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
    left: -1.5rem;
}

h1.wp-block-heading.h1_1:after {
    content: '';
    border-right: 2px solid #000;
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
    right: 0;
}
 */

h1.wp-block-heading {
    padding: 15px 0;/*文字回りの余白（上下 左右）*/
    display: block;
    border-bottom: 3px solid var(--gray);/*下線右側（太さ 実線 色）*/
    position: relative;
}

h1.wp-block-heading:before {
    content: '';
    background-color: var(--orange);/*下線左側の色*/
    width: 5rem;/*下線左側の幅*/
    height: 3px;/*下線左側の太さ（高さ）*/
    position: absolute;
    bottom: -3px;
    left: 0;
}

/*---- h2 ----*/

h2 {
	font-size: 1.8rem;
    line-height: 2.1rem;
/* 	padding: 2.5rem 0 0.8rem; */
	position: relative;
	padding: 3rem 0 1rem;
    display: block;
    border-bottom: 2px solid var(--gray-boder);
    position: relative;
	margin-bottom: 2rem!important;
}

h1 + h2 {
	padding: 1rem 0 0.8rem;
}

h2:before {
    content: '';
    background-color: var(--orange);/*下線左側の色*/
    width: 3rem;/*下線左側の幅*/
    height: 2px;/*下線左側の太さ（高さ）*/
    position: absolute;
    bottom: -2px;
    left: 0;
}


/* h2.h2_1 {
	padding: 3rem 0 1.2rem;
}

h2.h2_1:before {
	content: '';
	display: block;
	position:absolute;
	width: 3px;
	height: 3rem;
	background: var(--orange);
	left: -1.5rem;
	top: 2.5rem;
}

h2.h2_2 {
	margin-bottom: 2rem;
}

h2.h2_2:before {
    content: '';
    background-color: var(--orange);
    width: 3rem;
    height: 2px;
    position: absolute;
    bottom: 2px;
    left: 0;
}
 */


/*-- hr --*/
hr.wp-block-separator.has-alpha-channel-opacity {
    display: block;
	border:none;
    border-bottom: var(--border);
	padding-top:3rem;
}

section + hr,
details + hr {
	display: none;
}
hr {
	display: none!important;
}


hr + section {
	padding-top: 3.5rem 0!important;
}


/*---- h3 ----*/
h3 {
	font-size: 1.6rem;
    line-height: 1.9rem;
	padding-top: 2rem;
}

/*---- h4 ----*/
h4 {
	font-size: 1.4rem;
	padding-top: 1.5rem;
}

/*---- h5 ----*/
h5 {
	font-size: 1.3rem;
	padding-top: 1rem;
}

/*---- h6 ----*/
h6 {
	font-size: 1.2rem;
	padding-top: .5rem;
}

/*---- ul ----*/


main ul.wp-block-list li {
	position: relative;
    padding-left: 1rem;
    margin-left: .5rem;
    margin-bottom: .8rem;
}

main ul.wp-block-list li:before {
    content: "";
    display: block;
    position: absolute;
	background-color: var(--gray);
	left: 0rem;
    top: 0.7rem;
    width: 0.2rem;
    height: 0.2rem;
	border-radius: 50%;
}

main dl ul {
	margin-top: 0!important;
}

/*---- ol ----*/


main ol.wp-block-list li{
    margin-bottom: .8rem;
	list-style-type: none;
	counter-increment: cnt;
	margin-left: .3rem;
}

main ol.wp-block-list li::before {
	content: "" counter(cnt) " ";
	margin-right: .4rem;
}

/*---- dl ----*/

main dl dt {
	font-weight: 700;	
}

main dl{
	display: grid;
	grid-template-columns: auto 1fr;
	grid-column-gap: 1rem;
	grid-row-gap: .8rem;
}

main dl dt, main dl dd{
	margin-top: 0!important;
}

main dl dt, main dd > *{
	padding: 0!important;
}

/*---- table ----*/

.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table {
	margin-bottom: 2rem;
}

.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table,
table{
	border-spacing: 0;
	border-collapse: collapse;
	border-top: var(--border);
	border-left: var(--border);
}

.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th,
table tr th {
	background: var(--gray-back);
	font-weight: 500;
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td,
table tr th,
table tr td {
	padding: 1.5rem 2rem;
	border-color: transparent;
	word-break: break-all;
	border-bottom: var(--border);
    border-right: var(--border);
}

article .wp-block-columns-is-layout-flex {
	gap: 1rem!important;
}

/*---- アコーディオン ----*/

details {
	border-bottom: var(--border);
	margin-block-end: .5rem!important;
}

details:nth-last-of-type(1) {
	margin-block-end: 2.5rem!important;
}

details:hover {
	border-bottom: 1px solid var(--orange);
}

.wp-block-details summary {
	font-size: 1.3rem;
	padding: 2rem 21px 1.5rem 0;
	font-weight: 700;
	position: relative;
}

.wp-block-details summary::marker {
	content: none;
}

.wp-block-details summary::before,
.wp-block-details summary::after {
  content: '';
  width: 18px;
  height: 1.5px;
  background: var(--black);
  position: absolute;
  top: 55%;
  right: 1.5%;
  transform: translateY(-50%);
	left: auto;
	bottom: auto;
	border: none;
}
.wp-block-details summary::after {
  transform: translateY(-50%) rotate(90deg);
  transition: .5s;
}

.wp-block-details[open] summary::after {
	transform: rotate(180deg);
}

.wp-block-details[open] > summary + * {
	margin-bottom: 1.5rem;
}

.wp-block-column.is-layout-flow.wp-block-column-is-layout-flow h2 {
	padding: 0 0 1rem;
}

/*---- タグ----*/

.taxonomy-post_tag.wp-block-post-terms a {
	background: var(--gray);
	color: var(--white);
	display: inline-block;
	padding: 0 1rem 0.2rem;
	text-decoration: none;
	border-radius: 2px;
	font-size: .9rem;
}

.taxonomy-post_tag.wp-block-post-terms {
	margin-bottom: .5rem!important;
}

/*---- リンクボタン----*/

/*-- 塗りつぶし--*/

.wp-element-button.wp-block-button__link {
	background: var(--white);
	color: var(--black);
	border: 1px solid var(--gray-boder)!important;
}

.wp-element-button.wp-block-button__link:before {
	border-top: solid 1.5px var(--gray)!important;
	border-right: solid 1.5px var(--gray)!important;
}

.wp-element-button:hover, .wp-block-button__link:hover{
	background: var(--orange);
	color: var(--black);
}
.wp-element-button:before, .wp-block-button__link:before{
content: '';
  width: var(--arrow);
  height: var(--arrow);
  border: 0;
  border-top: solid 1.5px #fff;
  border-right: solid 1.5px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
  margin: auto;
}

.wp-element-button:hover:before, .wp-block-button__link:hover:before{
border-top: solid 1.5px var(--black);
  border-right: solid 1.5px var(--black);
}

.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table figcaption {
    padding: 0 2rem;
}

.wp-block-column > * {
	padding: 0;
}
/*-- SNS --*/
.wp-block-social-links li {
	margin-right: 1rem!important;
}

/*-- ページ内リンク --*/
/*--
.wp-container-core-group-is-layout-1 {
	margin-bottom:4rem!important;
}
--*/

/*-- 輪郭--*/
.wp-block-button.is-style-outline a{
	border: var(--border);
	background: var(--white);
}
.wp-block-button.is-style-outline a:hover{
	border: 1.5px solid var(--orange)!important;
	background-color: #fff!important;
	color: var(--black)!important;
}
.wp-block-button.is-style-outline a:before{
content: '';
  width: var(--arrow);
  height: var(--arrow);
  border: 0;
  border-top: solid 1.5px var(--gray);
  border-right: solid 1.5px var(--gray);
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
  margin: auto;
}

div.wp-block-group div.wp-block-buttons .wp-block-button.is-style-outline a {
	margin-bottom: 2rem;
}
.wp-block-group.sec_nav .is-layout-grid .wp-block-button a {
	padding: .8rem 1rem!important;
}
.wp-block-group.sec_nav .is-layout-grid .wp-block-button a:before{
  border-bottom: solid 1.5px var(--gray);
  border-right: solid 1.5px var(--gray);
	border-top: none!important;
	display: none;
}
 

/*-- PDFボタン調整 --*/
/* 
.wp-block-buttons.pdf_lnk {
	margin-top: 1rem!important;
}
.wp-block-buttons.pdf_lnk .wp-block-button a {
	padding: .5rem 1.2rem .5rem 1rem!important;
}
.wp-block-image.size-full.is-resized + p {
	margin-top: .2rem;
} */

/*カラム*/
/* .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.wp-block-simple-definition-list-blocks-list)){
	gap: 3rem;
} */


/*-- 共通--*/
:root :where(.wp-element-button, .wp-block-button__link),
:root :where(.wp-block-button.is-style-outline--def538b91e306a8744fe60966fc7d04a .wp-block-button__link) {
	text-decoration: none!important;
    padding: var(--btn)!important;
	border-radius: var(--maru)!important;
	position: relative;
}


.editor-post-title-area,
.editor-styles-wrapper {
	max-width: 1280px;
	width: 100%;
	padding: 0 4%;
}

/* main.wp-block-group.is-layout-flow.wp-block-group-is-layout-flow p,
main.wp-block-group.is-layout-flow.wp-block-group-is-layout-flow ul,
main.wp-block-group.is-layout-flow.wp-block-group-is-layout-flow ol,
main.wp-block-group.is-layout-flow.wp-block-group-is-layout-flow dl,
main.wp-block-group.is-layout-flow.wp-block-group-is-layout-flow table,
main.wp-block-group.is-layout-flow.wp-block-group-is-layout-flow figure {margin-left: 0.2rem!important;} */

/* ----------------------------------------------------
   Header setting
------------------------------------------------------- */
#header {
	display: grid;
	grid-template-columns: 4fr 8fr;
	z-index: 2;
	grid-gap: var(--gap);
}

/*---- logo ----*/

#header .logo {
	display: flex;
	align-items: center;
}

#header .logo img{
	width: 100%;
	max-width: 280px;
}

/*---- glnav setting ----*/

header {
    padding: 1.5% 4% 2.5%;
    max-width: 1280px;
    margin: 0 auto;
    box-sizing: content-box;
}

#header nav{
	display: grid;
	grid-template-columns: 7fr 1fr;
	text-align: right;
	position: relative;
	grid-column-gap: 30px;
	grid-row-gap: 15px;
}

#header nav ul.glnav1{
	align-self: center;
	justify-self: flex-end;
	font-weight: normal;
	display: grid;
	grid-template-columns: repeat(5,auto);
	font-size: .9rem;
	grid-column-gap: 2rem;
}

#header nav ul.glnav2{
	display: grid;
	grid-template-columns: repeat(6,auto);
	grid-column: 1 / 3;
	align-self: center;
	justify-content: space-between;
	font-size: 1.1rem;
}

#header:lang(en) nav ul.glnav2{
	grid-template-columns: repeat(5,auto);
}

#header nav ul.sub_nav{
	display: grid;
	grid-template-columns: repeat(2,auto);
	align-self: center;
	justify-content: space-between;
	grid-column-gap: 1rem;
}

#header nav ul.sub_nav button{
	font-family: var(--font-family_en);
	padding: .5rem 0 0.5rem 21px;
    background-repeat: no-repeat;
    background-position: center left;
    background-size: 15px;
	font-size: .9rem;
}

#header nav ul.sub_nav li:first-child button  {
    background-image: url("https://common-space.online/nfaj/wp-content/uploads/icon_lang-1.png");
}
#header nav ul.sub_nav li:last-child button  {
    background-image: url("https://common-space.online/nfaj/wp-content/uploads/icon_search-1.png");
}
ul.sub_nav.sp,
.sp_menu {
	display: none;
}

/*---- spヘッダーナビ ----*/

@media screen and (max-width: 959px){
	
	ul.sub_nav.sp {
		display: flex;
		align-items: top;
		justify-content: flex-end;
	}
	#header nav {
		display: grid;
		grid-template-columns: 6fr 2fr;
		grid-column-gap: 20px;
	}
	#header nav ul.glnav1 {
		font-size: .8rem;
		grid-column-gap: 1rem;
	}
	#header nav ul.glnav2 {
		grid-template-columns: repeat(6, auto);
		font-size: 1rem;
	}
	#header nav ul.sub_nav {
		display: flex;
		grid-column-gap: .5rem;
	}
	#header nav ul.sub_nav li button {
		font-size: .8rem;
	}

	#header {
		grid-template-columns: 200px 1fr 0;
		padding: 3%!important;
		position: relative;
		grid-gap: 0px;
	}
	#header .logo img {
		width: 200px;
	}
	
	#header nav {
		padding: 0;
		grid-template-columns : 1fr;
		grid-column: 1 / 4;	
		text-align: left;
		grid-gap: 1rem 0;
		margin-top: 1rem;
	}
	#header nav ul.glnav1{
		order: 2;
		grid-template-columns : 1fr;
		justify-self: flex-start;
		padding: 0 1rem 1rem;
	}
	#header nav ul.glnav1 li a{
		padding: 1rem 0;
	}
	#header nav ul.glnav2,header:lang(en) #header nav ul.glnav2{
		grid-template-columns : 1fr;
		order: 1;
	}
	#header nav ul.glnav2 li{
		display: block;
		margin: 0;
	}
	
	#header nav ul.glnav2 li a {
		display: block;
		border-bottom: var(--border);
		padding: 1.2rem 1rem;
		font-size: 1.1rem;
	}
	
	#header nav ul.glnav2 li:first-child a {
		border-top: var(--border);
	}
	
	#header nav ul.glnav2 li.tickets a img {
		width: 10rem;
		padding: 1rem 0 0;
	}
	
	ul.sub_nav.sp {
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}
	
	ul.sub_nav.sp li{
		display: inline-block;
		align-self: center;
		padding: 3px 9px;
	}
	
	ul.sub_nav.sp li img{
		width: 18px
	}
	
	#header nav ul:is(.glnav1,.glnav2) li::before {
		background: none;
	}
	
	#header nav ul.glnav2 li.tickets a {
		background: url(../img/common/icon_ticket.svg) no-repeat 1.152rem center;
		background-size: 2rem;
		padding-left: 3.6rem;
	}
	
	#header nav ul.glnav1 li {
		line-height: 2.2rem;
		margin: 0 1.5rem 0 0;
		font-size: 1rem;
	}

	
/*----humberger menu----*/
	.sp_menu {
		display: block;
		align-self: top;
		justify-self: right;
		position: relative;
	}

	.sp_menu a.close {
		display: none;
	}

	.sp_menu a {
		margin: 0 auto;
		display: block;
		padding: 0;
		position: relative;
		text-align: center;
		height: 30px;
		padding-top: 15px;
	}

	.sp_menu a span{
		background: var(--black);
	}

	
	.sp_menu a span:before,
	.sp_menu a span:after {
		content: "";
/* 		position: relative; */
	}

	.sp_menu a span::before {
		bottom: 0;
		}
	.sp_menu a span::after {
		top: -2px;
		}
	.sp_menu a span,
	.sp_menu a span::before,
	.sp_menu a span::after{
		display: block;
		background-color: var(--black);
		width: 25px;
		height: 1.5px;
	}


	.sp_menu a span::before{ animation: sp_btn-before .75s forwards;}
	@keyframes sp_btn-before {
		0% {
			transform: translateY(0) rotate(45deg);
		}
		100% {
			transform: translateY(10px) rotate(0);
		}
	}

	.sp_menu a span,
	#news .sp_menu a span { transition: all .25s .25s;}

	.sp_menu a span::after { animation: sp_btn-after .75s forwards;}
	@keyframes sp_btn-after {
	0% {
		transform: translateY(0) rotate(-45deg);
	}
	100% {
		transform: translateY(-10px) rotate(0);
	}
	}

	.sp_menu a.close span::before { animation: close-sp_btn-before .75s forwards;}
	@keyframes close-sp_btn-before {
		0% {
			transform: translateY(10px) rotate(0);
		}
		100% {
			transform: translateY(0) rotate(45deg);
		}
	}

	.sp_menu a.close span { background-color: transparent;}

	.sp_menu a.close span::after { animation: close-sp_btn-after .75s forwards;}
	@keyframes close-sp_btn-after {
		0% {
			transform: translateY(-10px) rotate(0);
		}
		100% {
			transform: translateY(0px) rotate(-45deg);
	}
	}
}



/*-- language --*/
#lang {
	position: relative;
}

#lang ul {
	display: none;
	position: absolute;
	z-index: 5;
	font-size: 0.9rem;
	text-align: left;
	background: rgba(20,20,20,.9);
    margin-top: 0.5rem;
    left: 11px;
}

#lang ul li {
	display: block;
}

#lang ul a {
	display: block;
	padding: .5rem 1rem;
	width: 100%;
	border-top: var(--white);
	color: var(--white);

}

#lang ul a:hover {
	background: var(--gray-back);
	color: var(--black);
}


@media screen and (max-width: 959px){
	#lang ul {
		display: flex;
		display:none;
/* 		grid-template-columns: 2fr; */
		position: relative;
		font-size: 0.9rem;
/* 		background: rgba(20,20,20,.9); */
		margin-top: 0.5rem;
		left: 0px;
	}
	
	#lang ul li {
		display: inline-block;
	}
	#lang ul a {
		padding: .5rem .9rem;
	}
}


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

footer {
    padding: 0 4% 1%;
    max-width: 1280px;
    margin: 0 auto;
    box-sizing: content-box;
	margin-top: 4rem;
}

footer p{
    padding: 0!important;
}

#footer {
	border-top: var(--border);
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-row-gap: 30px;
	font-size: .9rem;
	padding: 4% 0%;
}
#footer .logo {
	margin-bottom: 20px;
}

#footer .logo img{
	width: 240px;
}

#footer div address{
	margin: 20px 0;
}

#footer ul.sns li {
	display: inline-block;
	margin-right: 1rem;
}

#footer ul.sns li a img{
	width: 26px;
}
#footer  ul.sns li:last-child a img{
	width: 31px;
}

#footer ul.sub li a:hover {
	text-decoration: underline;
}

@media screen and (max-width: 959px) {
	
	#footer {
		grid-template-columns: 1fr;
		grid-row-gap: 20px;
		font-size: 90%;
	}
	
	#footer h2 img {
		width: 200px;
	}
		
	#footer ul.sub {
		margin-top: .5rem;
	}
	
	#footer ul.sub li{
		display: inline-block;
		margin-right: 1rem;
		margin-bottom: .5rem;
	}
}

@media screen and (min-width: 959px) {
    #footer ul.sub {
        width: fit-content;
        column-count: 2;
        column-gap: 2rem;
        margin-bottom: 1.5rem;
    }
	
	#footer:lang(en) ul.sub {
        column-count: 1;
	}
}

#footer img.nagase {
	max-width: 250px;
}

.copy {
	font-size: .8rem;
}


/*-- page_top --*/

#page_top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 1;
	opacity: .9;
}

#page_top a {
	display: block;
	width: 45px;
	height: 45px;
	padding: 5px 8px 25px 16px;
	border-radius: 50%;
	border: 1px solid var(--black);
	background: rgba(255,255,255,.5);
}

#page_top a img{
	width: 12px;
}
#page_top a:hover{
	border: 1px solid var(--orange);
}


/* ----------------------------------------------------
   個別ページ setting
------------------------------------------------------- */

/*---------------- イベント系トップ  ----------------*/

ul.event_list {}
ul.event_list {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	grid-gap: 50px;
	margin-bottom: 2rem;
}
@media screen and (max-width: 959px){
	ul.event_list {
		grid-template-columns: repeat(1,1fr);
	}
}
ul.event_list li img{
	width: 100%;
}

.event_list li > a {
    text-decoration: none;
    display: block;
	position: relative;
    border: 1.5px solid var(--white);
}

.event_list li > a:hover {
    border: 1.5px solid var(--orange);
}


.event_list li > a h2 {
    margin-bottom: 0;
    border-bottom: none;
    font-size: 1.3rem;
    padding: 0;
	font-weight: 500;
	background: none;
	margin-top: 0;
}

.event_list li > a h2::before {
	display: none;
}

.event_list li > a h2 span {
    display: block;
    font-size: .9rem;
	margin-top: .4rem;
	line-height: 1.1rem;
	font-size: 500;
}

.event_list li > a em.status {
	font-weight: 500;
    padding: .3rem .8rem;
    background: var(--white);
    font-size: 1rem;
	margin-right: .5rem;
	margin-bottom: .5rem;
	display: inline-block;
	font-style: normal;
}

.event_list:not(.exhibition_top) li > a em.status {
    position: absolute;
    top: 0;
	left: 0;
}

.event_list li > a em.status.current {
	background: var(--black);
	color: var(--white);
}

.event_list li > a p.date {
    margin-bottom: 0;
    margin-top: .5rem;
    font-size: .9rem;
	padding: 0;
}

.event_list li > a figure{
	margin-bottom: 0;
}
.event_list li > a figure img {
	width: 100%;
}
.event_list:not(.exhibition_top) li div {
	padding: 1rem;
}

.event_list.exhibition_top li > a {
    padding: 1rem 2rem;
	height: 100%;
}

.event_list.exhibition_top li > a em.status.upcoming {
	border: solid 1px var(--black);
	
}

.event_list.exhibition_top li > a h2 em {
	display: block;
	font-weight: 400;
	font-size: 1rem;
	margin-top: .5rem;
	font-style: normal;
}


.event_list figure img {
	object-fit: cover;
	aspect-ratio: 4 / 3;
}


/*---------------- 上映  ----------------*/

/*---- プログラム ----*/

.title_list {
    display: grid;
	grid-template-columns: repeat(auto-fill,minmax(280px,1fr));
    grid-gap: 20px;	
}

.title_list img{
	width: 100%;
    height: 220px;
	object-fit: cover;
}

.title_list a:hover img{
	opacity: .9;
}

.title_list a{
	text-decoration: none;
}


.title_list li figure{
	 margin:0 auto;
	 overflow:hidden;
}
.title_list li figure img{
	width: 100%;
}


.title_list a figcaption {
	display: block;
	font-size: 1.1rem;
	font-weight: 500;
	text-align: left;
}

.title_list span.number {
	background: var(--gray);
	color: var(--white);
	font-size: 80%;
	width: 1.6rem;
	height: 1.6rem;
	display: inline-block;
	padding: 2px 0 0 4px;
}


.title_list a span:not([class]) {
	color: var(--gray);
	font-size: .8rem;
	font-weight: normal;
	display: block;
	margin-top: .3rem;
}

.title_list a span.director {
	margin-left: .5rem;
}

/*- カレンダータブ  -*/

#calendar_tab table {
	width: 100%;
}

#calendar_tab table tbody{
	display: grid;
    grid-template-columns: 8.5rem repeat(6,1fr);
}

#calendar_tab table tbody tr{
	display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
}

#calendar_tab table th, #calendar_tab table td{
	width:100%;
	display:block;
}

#calendar_tab table th {
	font-size: .8rem;
	text-align: center;
	letter-spacing: .05rem;
	white-space: nowrap;
	padding: .1rem 0 .1rem .5rem;
	letter-spacing: -.01rem;
	background: var(--white);
}

#calendar_tab table th span.day{
	font-size: 1.05rem;
	margin: 0.5rem 0 0 0.3rem;
}

#calendar_tab table td{
	font-weight: 500;
	padding: 0;
	font-size: .9rem;
}

#calendar_tab table td time{
    font-size: .9rem;
	padding: 0.2rem 0;
    display: block;
	font-weight: 400;
}


#calendar_tab table td span {
	line-height: .9rem;
}
#calendar_tab table td span.minutes{
	display: inline;
    font-size: .8rem;
	font-weight: normal;
	margin-left: .5rem;
}

#calendar_tab table td span.event{
	display: block;
	font-size: .7rem;
	margin-top: .7rem;
}

#calendar_tab table td span.place{
	display: block;
	font-size: .7rem;
	margin-top: .7rem;
	font-weight: normal;
}


#calendar_tab table td > a{
	text-decoration: none;
	line-height: 1.1rem;
	display: block;
	padding: .5rem;
	border: 1.5px var(--white) solid;
    border-bottom: var(--border);
	font-weight: 400;
}

@media (min-width: 1200px) {
	#calendar_tab table td > a{
		min-height: 5rem;
	}
}
@media (min-width: 960px) {
	#calendar_tab table td > a{
		min-height: 6rem;
	}
}


#calendar_tab table td a:last-child {
	border-bottom:	none;
}

#calendar_tab table td a:hover {
	border: 1.5px var(--orange) solid;
}


#calendar_tab table td.close{
	background: var(--gray-back);
	grid-row: 2 / 5;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* news :
--------------------------------------------*/	

ul.topics li a{
	display: grid;
	grid-template-columns: auto 1fr;
	justify-content: flex-start;
	align-items: flex-start;
	padding: .7rem 0;
	grid-column-gap: var(--gap);
	text-decoration: none;
}


ul.topics li a .txt{
	text-decoration: underline;
}
ul.topics li a:hover .txt{
	text-decoration: none;
}

ul.topics li time{
	font-family: var(--font-family_en);
}

/*---- カレンダーページ ----*/

/*-- 年月選択 --*/

.calendar_h {
	margin-bottom: 1rem;
}

.calendar_h h2{
	padding: .5rem 0 1rem;
	display: inline-block;
	border-bottom: none;
}

.calendar_h h2:before{
	display: none;
}

#year{
    padding: 0.7rem;
    width:15rem;
	font-size: 0.9rem;
	border: none;
    border-bottom: var(--border);
    cursor: pointer;
}

.cale_select{
   display: inline-block;
	margin-left: 1.5rem;
	align-items: center;
}

.cale_search {
    padding: 0.7rem;
    cursor: pointer;
}

.cale_search img{
	width:20px;
}

/*-- 表示切替 --*/
ul.switching {
	text-align: right;
}

ul.switching li{
	display: inline-block;
}

ul.switching li {
	width: 43px;
	height: 43px;
	justify-self: end;
	margin-left: .3rem;
}

ul.switching li a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	border: var(--border);
	border-radius: 50%;
	transition: .6s;
}

ul.switching li a.on {
	background: var(--black);
	border: var(--black);
}

ul.switching li a svg {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
	fill: var(--black);
}

ul.switching li a.on svg {
    fill : var(--white)!important;
}

ul.switching li a:hover {
	border: var(--orange) 1px solid;
}


/*-- 1ヵ月表示 --*/

	#calendar #month.calendar_table thead .num th:first-child  {
		width: 10%
	}
	#calendar #month.calendar_table thead .num th  {
		width: 15%;
		padding: 1rem;
	}
	#calendar #month{
		display: none;
	}
	#calendar .calendar_table table {
		border-bottom: var(--border);
		table-layout: fixed;
		width: 100%;
		margin-bottom: 3rem;
	}
	
	#calendar .calendar_table thead .num th  {
		width: 12.5%;
	}
	#calendar .calendar_table tbody .days.num th {
		text-align: right;
		border-top: var(--border);
		padding: 1rem;
	}
		
	#calendar .calendar_table tbody .today {
		position: relative;
	}
	#calendar .calendar_table tbody .today .label {margin-right: 0.5rem;}
	
	#calendar .calendar_table tbody .today .bg {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 0;
		width: calc(100% + 2px);
		height: 100%;
		border-top: solid var(--black) 2px;
		border-left: solid var(--black) 2px;
		border-right: solid var(--black) 2px;
	}
/*
	#calendar .calendar_table tbody .today_btm {	
		border-bottom: solid var(--black) 2px;
	}
*/
	#calendar .calendar_table tbody td {
		text-align: left;
		border-bottom: none;
		vertical-align: baseline;
		padding: .5em 1em;
	}
	
	#calendar .calendar_table tbody td.close {
		text-align: center;
		vertical-align: middle;
	}
	
	#calendar .calendar_table tbody .exhibition td {
		padding: 0;
	}

	#calendar .calendar_table tbody td a {
		display: block;
		text-decoration: none;
		text-overflow: ellipsis;
		white-space: nowrap;
		overflow: hidden!important;
		padding: 0.2rem;
		font-size: 0.9rem;
		line-height: 1.5rem;
	}
	#calendar .calendar_table tbody td a span{
		font-size: 90%;
		margin-right: .5rem;
		color: var(--gray);
	}

	#calendar .calendar_table tbody td a.cate {
		background: var(--gray-back);
		border: 1.5px solid var(--gray-back);
		border-bottom: 1.5px solid var(--white);
	}

	#calendar .calendar_table tbody td a.cate:hover {
		border: 1.5px solid var(--orange);
	}


/* ************************************** */
.in_today {
	background:linear-gradient(
		to right,
		#fff 16.666%,
		#000 16.666% 2px,
		#fff calc(16.666% + 2px) 33.332%,
		#000 33.332% 2px,
		#fff calc(33.332% + 2px)
	);
}

.in_today_3_2 {
	background:linear-gradient(
		to right,
		#fff 33.33%,
		#000 33.33% calc(33.33% + 2px),
		#fff calc(33.33% + 2px) calc(66.66% - 2px),
		#000 calc(66.66% - 2px) 66.66%,
		#fff 66.66%
	);
}
.in_today_6_1 {
	background:linear-gradient(
		to right,
		#000 2px,
		#fff calc(16.66% + 2px) 33.33%,
		#000 33.33% calc(33.33% + 2px),
		#fff calc(33.33% + 2px)
	);
}
.in_today_6_2 {
	background:linear-gradient(
		to right,
		#fff 16.666%,
		#000 16.666% calc(16.66% + 2px),
		#fff calc(16.666% + 2px) calc(33.333% - 1px),
		#000 calc(33.333% - 1px) calc(33.333% + 1px),
		#fff calc(33.333% + 1px)
	);
}

.calendar_table tbody td.end_today {
	position:		relative;
}
.calendar_table tbody td.end_today span {
	display:		block;
	position:		absolute;
	top:			0;
	left:			0;
	width:			calc(100% + 2px);
	height:			100%;
	border-left:	solid var(--black) 2px;
	border-right:	solid var(--black) 2px;
	border-bottom:	solid var(--black) 2px;
}

/* ************************************** */

.month31 {	--dayval: 3.125%;	}
.month30 {	--dayval: 3.225%;	}
.month29 {	--dayval: 3.333%;	}
.month28 {	--dayval: 3.448%;	}

.day1 {	--day: 1;	}
.day2 {	--day: 2;	}
.day3 {	--day: 3;	}
.day4 {	--day: 4;	}
.day5 {	--day: 5;	}
.day6 {	--day: 6;	}
.day7 {	--day: 7;	}
.day8 {	--day: 8;	}
.day9 {	--day: 9;	}

.day10 {	--day: 10;	}
.day11 {	--day: 11;	}
.day12 {	--day: 12;	}
.day13 {	--day: 13;	}
.day14 {	--day: 14;	}
.day15 {	--day: 15;	}
.day16 {	--day: 16;	}
.day17 {	--day: 17;	}
.day18 {	--day: 18;	}
.day19 {	--day: 19;	}

.day20 {	--day: 20;	}
.day21 {	--day: 21;	}
.day22 {	--day: 22;	}
.day23 {	--day: 23;	}
.day24 {	--day: 24;	}
.day25 {	--day: 25;	}
.day26 {	--day: 26;	}
.day27 {	--day: 27;	}
.day28 {	--day: 28;	}
.day29 {	--day: 29;	}

.day30 {	--day: 30;	}
.day31 {	--day: 31;	}

#calendar .calendar_table.list table {
	--line: 2px;
	--color-t: transparent;
	--color-w: #fff;
	--day-next: calc(var(--day) + 1);

	background:
		linear-gradient(
			to right,
			var(--color-w) calc((var(--dayval) * var(--day))),
			var(--black) calc((var(--dayval) * var(--day)) + 1px) calc((var(--dayval) * var(--day)) + 1px + var(--line)),
			var(--color-t) calc((var(--dayval) * var(--day)) + 1px + var(--line)) calc((var(--dayval) * var(--day-next)) - 3px),
			var(--black) calc((var(--dayval) * var(--day-next)) - 3px) calc((var(--dayval) * var(--day-next)) - 3px + var(--line)),
			var(--color-w) calc((var(--dayval) * var(--day-next)) - 2px + var(--line))
		),
		linear-gradient(
			var(--color-w) calc(100% - var(--line)),
			var(--black) calc(100% - var(--line)) 100%
		);
}

/*
linear-gradient(
	to right,
	#fff ●px, 
	#000 ●px calc(●px + 線幅),
	transparent calc(●px + 線幅) ▲px,
	#000 ▲px calc(▲px + 線幅),
	#fff calc(▲px + 線幅)
)
*/

/* ************************************** */


/*-- 1週間表示 --*/


	#calendar .calendar_table.list thead .num th:not(.place){
		background: var(--white)!important;
		background: transparent!important;
		font-size: 0.9rem;
		padding: 1rem;
		padding: 0;
		line-height: 1.3rem;
		font-weight: 400;
	}

	#calendar .calendar_table.list thead th em {
		font-size: 1.2rem;
		font-style: normal;
	}
	#calendar .calendar_table.list thead th span {
		font-size: 0.8rem;
		color: var(--gray);
		margin-bottom: .3rem;
	}
#calendar .calendar_table.list thead th.today {
		vertical-align: top;
	}
	#calendar .calendar_table.list thead th.today div {
		background: #000000!important;
		line-height: 1.3rem;
		margin-bottom: .3rem;
		display: grid;
	}
	#calendar .calendar_table.list thead th.today span {
		color: var(--white);
	}
	
#calendar .calendar_table.list tbody th {
	padding: 1rem;
	font-size: .9rem;
}

	#calendar .calendar_table.list .place,
	#calendar .calendar_table.list tbody th,
	#calendar .calendar_table.list tbody th:last-child {
		color: var(--white)!important;
		background: var(--gray)!important;
		font-weight: 400;
		text-align: left;
		width: 12%;
	}

	#calendar .calendar_table.list thead tr.num th:nth-child(2) {
		width: 9%;
	}

	#calendar .calendar_table.list tbody .movie td {
		font-size: 0.9rem;
		border-bottom: var(--border);
	}
	
	#calendar .calendar_table.list tbody .movie td a {
		text-overflow: clip;
		white-space: normal;
		overflow: hidden!important;
		padding: 0;
		background-color: var(--white);
		color: var(--black);
		text-decoration: underline;
	}
	
	#calendar .calendar_table.list tbody .movie td time {
		font-family: var(--font-family_en);
	}

	#calendar .calendar_table.list tbody .movie td time span{
		font-size: 80%;
	}

	#calendar .calendar_table.list .tickets {
		background: url("https://common-space.online/design/wp-content/uploads/2024/09/icon_ticket.png") no-repeat left center;
		background-size: 22px;
		padding: 0 0 0 25px!important;
		font-size: 85%;
		margin-top: .8rem;
	}
	
	#calendar .calendar_table.list .event {
		font-size: 85%;
	}
	
	#calendar .calendar_table.list tbody .library td {
		text-align: center;
		font-size: .9rem;
		border-top: var(--border);
		vertical-align: middle;
	}
	#calendar .calendar_table.list tbody .library td.close {
		color: var(--gray);
		mix-blend-mode: multiply;
	}
	

#calendar .calendar_table.list {
	width: 100%;
	margin-bottom: 1rem;
    padding-bottom: 1rem;
}

/* ----------------------------------------------------
   投稿型共通 setting:
------------------------------------------------------- */

.post_cms article {
	margin-block-start: 0!important;
    margin-block-end: 1rem!important;
}

.post_cms .wp-block-columns-is-layout-flex {
    gap: 0 4vw!important;
}








/* ----------------------------------------------------
   SP setting:
------------------------------------------------------- */

@media screen and (max-width: 1194px){
	header .wp-block-columns>.wp-block-column:nth-of-type(1){
		flex-basis: 25%!important;
	}
	header .wp-block-columns>.wp-block-column:nth-of-type(2){
		flex-basis: 74%!important;
	}
	nav ul.wp-block-navigation__container li:nth-child(n+1):nth-child(-n+5) {
		font-size: .9rem;
	}
	nav ul.wp-block-navigation__container li:nth-child(n+8) {
		font-size: 1rem;
	}

}

@media screen and (max-width: 959px){
	
	header .wp-block-columns.is-not-stacked-on-mobile>.wp-block-column:nth-last-of-type(1){
		
	}
	
	body {
		font-size: var(--wp--preset--font-size--small);
	}
	
}

@media screen and (max-width: 767px){
	dl{
		grid-template-columns: 1fr;
	}
	
	
	
	
	
	
	
	
	
	
	
}