/*
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;
  }

}
@media (max-width: 959px) {
	:root :where(.is-layout-flow) > * {
		margin-block-start: .5rem;
	}
}

.wp-container-1 {
	position: relative;
}

/* 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', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
  --font-family_en: "Roboto", sans-serif;
  --gap: 30px;
  --maru: 6px;
  --btn:  .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);
}

:root :where(.wp-block-column-is-layout-flow) > * {
    margin-block-start: 1rem!important;
    margin-block-end: 1.5rem!important;
}


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

:lang(en) {
	font-family: "Noto Sans", sans-serif;
}

/*-- zh-CN --*/

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

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


/*---- 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;
}

/*-- icon --*/

svg:is(.icon_pdf,.icon_word,.icon_excel,.icon_blank) {
	margin: 0 5px;
	vertical-align: middle!important;
	width: 18px;
}

svg.icon_blank {
	width: 17px;
}

svg:is(.icon_pdf,.icon_word,.icon_excel,.icon_blank) path{
	fill: var(--black);
}

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

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

.breadcrumbs > span {
	padding: 0 .7rem;
}
.breadcrumbs > span:first-of-type{
	padding: 0;
}

.breadcrumbs > span:nth-of-type(2){
	padding: 0 .5rem 0 0;
}

.breadcrumbs a{
	text-decoration: underline;
}

.breadcrumbs a:hover{
	text-decoration: none;
}

.breadcrumbs p{
	display: inline;
}

.breadcrumbs br{
	display:none;
}
.bread_en .breadcrumbs > span:nth-of-type(2) + #text {
	display:none;
}

.bread_en .breadcrumbs > span:nth-of-type(2) {
	display:none;
}

@media screen and (max-width: 959px) {
	.breadcrumbs {
		margin: 0 auto .5rem;
	}
}

.breadcrumbs_program .breadcrumbs.wp-block-bcn-breadcrumb-trail {
	padding: 1% 0;
}

.breadcrumbs_program span[property="itemListElement"]::after {
	content:">";
	padding: 0 .7rem;
}

.breadcrumbs_program p:nth-of-type(3) span[property="itemListElement"]:last-of-type::after  {
	content: none;
}

/* ----------------------------------------------------
   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: 1rem;
    margin-block-end: 2rem;
}

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

section{
	margin-block-start: 4rem!important;
    margin-block-end:3rem!important;
}

article {
	margin-block-start: 2rem!important;
    margin-block-end:3rem!important;
}

.is-layout-flex .wp-block-column-is-layout-flow article {
	margin-block-start: 0!important;
	margin-bottom:3rem!important;
}

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

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

@media screen and (max-width: 959px) {
	article {
		margin-block-start: 5rem!important;
		margin-block-end:3rem!important;
	}
	
	h2 + article {
		margin-block-start: 3rem!important;
		margin-block-end:2rem!important;
	}
}


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

:is(h1,h2,h3,h4,h5,h6) :lang(en){
	font-size: 80%;
} 

:is(h1,h2) :lang(en) span{
	font-size: 70%;
} 

.fs90 {
	font-size: 90%;
}
.fs80 {
	font-size: 80%;
}
.fs70 {
	font-size: 70%;
}


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

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;
}

h1 span[lang="en"] {
	display: block;
	font-size: 1.8rem;
}



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

h2 {
	font-size: 1.9rem;
    line-height: 2.1rem;
	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;
}


/*-- 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!important;
}

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


/*---- h3 ----*/
h3 {
	font-size: 1.7rem;
    line-height: 1.9rem;
	margin-block-start : 4rem!important;
	margin-block-end: 1rem!important;
}

.is-layout-flex.wp-block-columns-is-layout-flex article h3 {
	margin-block-start: 0!important;
}

/*---- h4 ----*/
h4 {
	font-size: 1.4rem;
	margin-block-start : 3rem!important;
	margin-bottom: .5rem!important;
}

h3 + h4 {
	margin-block-start : 1rem!important;
}

/*---- h5 ----*/
h5 {
	font-size: 1.2rem;
	margin-block-start : 1.5rem!important;
	margin-bottom: .5rem!important;
}

/*---- h6 ----*/
h6 {
	font-size: 1.1rem;
	margin-block-start: 1rem!important;
}

@media screen and (max-width: 959px){
	
	/*---- h1 ----*/
	h1.wp-block-heading {
	font-size: 1.5rem;
		/* 		margin-block-end: 2.5rem; */
	}

/* 	h1.wp-block-heading {
		padding: 15px 0;
		border-bottom: 3px solid var(--gray);
	}

	h1.wp-block-heading:before {
		width: 5rem;
		height: 3px;
		bottom: -3px;
	}
 */
	/*---- h2 ----*/

	h2 {
		font-size: 1.4rem;
		padding: 2rem 0 1rem;
/* 		line-height: 2.1rem;
		position: relative;
		padding: 3rem 0 1rem;
		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;
	}
 */

	/*---- h3 ----*/
	h3 {
		font-size: 1.3rem;
/* 		line-height: 1.9rem;
		margin-block-start : 2rem!important;
		margin-block-end: 1rem!important; */
	}

	/*---- h4 ----*/
	h4 {
		font-size: 1.3rem;
/* 		margin-block-start : 1.5rem!important; */
	}

	/*---- h5 ----*/
	h5 {
		font-size: 1.2rem;
/* 		margin-block-start : 1rem!important; */
	}

	/*---- h6 ----*/
	h6 {
		font-size: 1.1rem;
/* 		margin-block-start: .5rem!important; */
	}
	
	/*-- hr --*/
	hr.wp-block-separator.has-alpha-channel-opacity {
		padding-top:2rem;
	}

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


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


main ul.wp-block-list li {
	position: relative;
    padding-left: 1rem!important;
    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;
}

/*---- ul リストマーク無し ----*/

main ul.none li {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}

main ul.none li:before {
	display: none;
}

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

main ul.ast li {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}

main ul.ast li:before {
	display: none;
}

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

main ul.kome li {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}

main ul.kome li:before {
	display: none;
}


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


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

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;
}

/*-- よくある質問 --*/

dl.wp-block-simple-definition-list-blocks-list.qa {
	grid-template-columns: 1fr;
	padding: 0 1rem;
}

dl.wp-block-simple-definition-list-blocks-list.qa dt:first-child {
	padding-top: .5rem!important;
}

dl.wp-block-simple-definition-list-blocks-list.qa dt {
	padding-top: 1.5rem!important;
	padding: 1.5rem 1rem 0 1rem!important;
}

dl.wp-block-simple-definition-list-blocks-list.qa dd {
	padding: 0 1rem 2.3rem 1rem!important;
	border-bottom: var(--border);
}

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

.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table {
	margin-bottom: 2rem;
}
@media screen and (min-width: 768px){
	.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table, table {
		max-width: 96%;
	}
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table,
table{
	border-spacing: 0;
	border-collapse: collapse;
/* 	border-left: var(--border)!important;
	border-top: var(--border)!important; */
}

.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th,
table tr th {
	background: var(--gray-back);
	font-weight: normal;
}
.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: 1rem;
	border-color: transparent;
	word-break: break-all;
/* 	border-bottom: var(--border);
    border-right: var(--border); */
	border: var(--border);
}

@media screen and (max-width: 959px){
	.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: .5rem 1rem;
	}
}

@media screen and (max-width: 959px){	
.is-scroll-on-mobile table {	
min-width: 960px;	
}	
}

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

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:hover, .wp-block-button__link:hover{
	background: var(--orange);
	color: 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-columns.is-not-stacked-on-mobile.is-layout-flex.wp-block-columns-is-layout-flex h3 {
	margin-block-start: 0!important;
}

h4.wp-block-heading + .wp-block-group-is-layout-flex .wp-block-buttons .wp-block-button {
	margin-top: 1rem;
}

/*-- tableの中にボタン --*/
.btn table td a{
	display: inline-block;
	background: var(--white);
	color: var(--black);
	border: var(--border);
	text-decoration: none !important;
    padding: var(--btn) !important;
    border-radius: var(--maru) !important;
	margin-top: 1rem!important;
}
.btn table td a:hover {
	border: 1.5px solid var(--orange)!important;
	background-color: var(--orange)!important;
}
 

/*-- 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);
}

@media screen and (max-width: 1150px) {
	#header {
		grid-template-columns: 3fr 9fr;
	}
}

/*---- 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;
}

@media screen and (max-width: 1400px) {
	header {
		padding: 1.5% 1.5% 2.5%;
	}
	.has-global-padding {
		padding-left: 1.5%;
		padding-right: 1.5%;
	}
	.has-global-padding .has-global-padding {
		padding-left: 0;
		padding-right: 0;
	}
}


#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("http://design.common-space.online/wp-content/uploads/icon_lang.png");
}
#header nav ul.sub_nav li:last-child button  {
    background-image: url("http://design.common-space.online/wp-content/uploads/icon_search.png");
}
ul.sub_nav.sp,
.sp_menu {
	display: none;
}

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

@media screen and (max-width: 959px){
	header {
		padding: 1% 1.5%;
	}
	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 {
		grid-column-gap: .5rem;
	}
	#header nav ul.sub_nav li button {
		font-size: .8rem;
	}

	#header {
		grid-template-columns: 200px 1fr 0;
		padding: 2% 0 0!important;
		position: relative;
		grid-gap: 0;
	}
	#header .logo img {
		width: 200px;
	}
	
	#header nav {
		padding: 0;
		grid-template-columns : 1fr;
		grid-column: 1 / 4;	
		text-align: left;
		grid-gap: 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) 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;
		top: 5px;
	}

	.sp_menu a.close {
		display: none;
		top: 15px;
	}

	.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;
		position: relative;
	}


	.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 0 1%;
    max-width: 1280px;
    margin: 0 auto;
    box-sizing: content-box;
	margin-top: 6rem;
}

@media screen and (max-width: 1400px) {
	footer {
    	padding-left: 1.5%;
		padding-right: 1.5%;
	}
}

@media screen and (max-width: 1280px) {	
	footer {
    	padding: 0 1.5% 1%;	
	}
}	

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 {
	text-decoration: none;
}
#footer ul.sub li a:hover {
	text-decoration: underline;
}
@media screen and (max-width: 767px) {
	footer {
		margin-top: 2rem;
	}
	#footer {	
		grid-template-columns: 1fr;	
		grid-row-gap: 20px;	
		font-size: 90%;	
	}
	
	#footer .logo img{
		width: 190px;
	}
	
	#footer h2 img {	
		width: 200px;	
	}
	
	#footer ul.sub + img {	
		margin-top: 1rem;	
	}
	
	#footer ul.sub {	
		margin-top: 1rem;	
	}	}
	#footer ul.sub li{	#footer ul.sub li a:hover {
		display: inline-block;	
		margin-right: 1rem;	
		margin-bottom: .5rem;	text-decoration: underline;
	}	
}
@media screen and (min-width: 960px) {
    #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,.8);
}

#page_top a img{
	width: 12px;
}
#page_top a:hover{
	border: 1px solid var(--orange);
}
@media screen and (max-width: 959px) {
	#page_top {
		bottom: 10px;
		right: 10px;
	}
}

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

/*---------------- サイトマップ  ----------------*/

.sitemap {
	grid-column-gap: 2vw;
	grid-row-gap: 3vh;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
    container-type: inline-size;
}

.sitemap .is-layout-flex {
	display: block;
}

.sitemap h2 {
	font-size: 1.2rem;
    padding: 0;
    display: block;
    border-bottom: none;
    position: relative;
    margin-bottom: 1rem !important;
}

.sitemap h2:before {
	display: none;
}

.sitemap h2 a {
	width: 100%;
	display: block;
	background: var(--white);
    color: var(--black);
    border: 1px solid var(--gray-boder);
	text-align: center;
	text-decoration: none !important;
    padding: var(--btn) ;
    border-radius: var(--maru) ;
}

.sitemap h2 a:hover {
	background: var(--orange);
}

.sitemap .wp-block-list {
	padding: 0;
}


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

ul.event_list {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 50px;
	margin-block-end: 2.5rem!important;
}
ul.event_list.exhibition_top {
	grid-template-columns: repeat(3,1fr);
}
@media screen and (max-width: 959px){
	ul.event_list,ul.event_list.exhibition_top {
		    grid-column-gap: 20px;
	}
}
@media screen and (max-width: 767px){
	ul.event_list,ul.event_list.exhibition_top {
			grid-template-columns: 1fr;
		    grid-gap: 50px;
	}
}
ul.event_list li img{
	width: 100%;
}

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

.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;
	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;
}

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

.event_list 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 li div {
	padding: 1rem;
}

.event_list.exhibition_top li > a h2 em {
	display: block;
	font-weight: 400;
	font-size: 1rem;
	font-style: normal;
	font-family: var(--font-family);
}

/*---- 過去企画 ----*/
.past .wp-block-group-is-layout-grid a:hover{
	opacity: .9;
}

@media screen and (max-width: 959px){
	.past .wp-block-group-is-layout-grid{
		grid-template-columns: repeat(3,1fr)!important;
	}
}

@media screen and (max-width: 767px){
	.past .wp-block-group-is-layout-grid{
		grid-template-columns: repeat(2,1fr)!important;
	}
}

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

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

.title_list {
    display: grid;
	grid-template-columns: repeat(auto-fill,minmax(280px,1fr));
    grid-column-gap: var(--gap);
	grid-row-gap: 45px;
	margin-bottom: 4rem;
}

.title_list img{
	width: 100%;
   object-fit: cover;
	aspect-ratio: 4 / 3;
}

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

.title_list a{
	text-decoration: none;
}


.title_list li figure{
	 margin:0 auto;
	 overflow:hidden;
		text-align: right;
}


.title_list a figcaption {
	display: block;
	font-size: 1.15rem;
	text-align: left;
	line-height: 1.2rem;
}

.title_list a figcaption .sub{
	display: block;
	font-size: .9rem;
	line-height: 1rem;
	margin-top: .3rem;
}

.title_list li figure figcaption > span.cap{
	 color: var(--gray);
	font-size: .6rem;
	display: block;
	text-align: right;
	line-height: .5rem;
	margin-bottom: .3rem;
}


.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.title_info{
	color: var(--gray);
	font-size: .8rem;
	font-weight: normal;
	display: block;
	margin-top: .8rem;
	line-height: .9rem;
}

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

/*- カレンダー  -*/

#film-program_special table,
.calendar table{
	width: 100%;
	margin: 0 auto;
}
#film-program_special table,
.calendar table{
	border-top: var(--border);
	border-left: var(--border);
}

#film-program_special table tr th,
#film-program_special table tr td,
.calendar table tr th,
.calendar table tr td {
	border: none!important;
	border-bottom: var(--border)!important;
	border-right: var(--border)!important;
}


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

#film-program_special table tbody tr,
.calendar table tbody tr{
	display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
}

#film-program_special table th, #film-program_special table td,
.calendar table th, .calendar table td{
	width:100%;
	display:block;
}

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

#film-program_special table th span.day,
.calendar table th span.day{
	font-size: 1.05rem;
	margin: 0.5rem 0 0 0.3rem;
}

#film-program_special table td,
.calendar table td{
	padding: 0;
	font-size: .9rem;
}

#film-program_special table td.close,
.calendar table td.close{
	padding: 1rem;
	text-align: center;
	background: var(--gray-back);
	vertical-align: middle;	
	display: flex;
	align-items: center;
	justify-content: center;
}

#film-program_special table td.open,
.calendar table td.open{
	padding: 1rem;
	text-align: center;
	vertical-align: middle;	
	display: flex;
	align-items: center;
	justify-content: center;
}

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


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

#film-program_special table td span.minutes {
	display: block;
	 margin-left: 0;
	margin-top: .5rem;
	color: var(--gray);
}

#film-program_special table td span.event,
.calendar table td span.event{
	display: block;
	font-size: .7rem;
	margin-top: .7rem;
}

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


#film-program_special table td > div,
.calendar table td > a{
	line-height: 1.1rem;
	display: block;
	padding: .5rem;
	border: 1.5px var(--white) solid;
    border-bottom: var(--border);
	font-weight: 400;
}

.calendar table td > div{
	border-bottom: none;
}

@media (min-width: 1200px) {
	#film-program_special table td > div,
	.calendar table td > a{
		min-height: 5rem;
	}
}
@media (min-width: 960px) {
	#film-program_special table td > div,
	.calendar table td > a{
		min-height: 6rem;
	}
}


#film-program_special table td div:last-child,
.calendar_table td a:last-child{
	border-bottom:	none;
}

#film-program_special table td a.tickets {
	background: url("http://design.common-space.online/wp-content/uploads/icon_ticket.png") no-repeat left center;
	background-size: 22px;
	padding: 0 0 0 25px!important;
	font-size: 85%;
	display: block;
	margin-top: .7rem;
}
#film-program_special table td a.tickets svg.icon_blank{
	display: none;
}

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

.calendar.library_calendar table {
	border-top: 2px solid #000000!important;
}

.calendar.library_calendar table tbody {
	grid-template-columns: repeat(7, 1fr);
}

.calendar.library_calendar td {
	border-bottom: 2px solid #000000!important;
}

/*--（sp落ちる） --*/
@media screen and (max-width: 767px){
	#film-program_special table tbody,
	.calendar table tbody{
        grid-template-columns: 1fr;
    }
	
	#film-program_special table th:empty,
	.calendar table th:empty,
	#film-program_special table th:empty,
	.calendar table td:empty{
    	display: none;
	}
	
}

.calendar.library_calendar table th:empty {
	border-bottom: none!important;
}

.calendar.library_calendar table tbody th{
	border-bottom: solid 1px var(--gray-boder)!important;
}

/*--（sp落ちない） --*/
@media screen and (max-width: 767px){
	
	.calendar.library_calendar table tbody {
		grid-template-columns: repeat(7, 1fr);
	}
	
	.calendar.library_calendar table tbody th{
		font-size: .6rem;
		padding: .1rem 0;
	}
	
	
	.calendar.library_calendar table tbody th span.day  {
		font-size:.8rem;
		margin :0 0 0 0.2rem;
	}
	.calendar.library_calendar table tbody td{
		font-size: .7rem;
		padding: .5rem 0;
	}
	.calendar.library_calendar table :is(td,th):empty {
		display: block;
	}
}




/*---------------- 上映作品  ----------------*/

/*---- film-program title  ----*/

/*-- タイトル --*/
#film-program_title hgroup {
	display: grid;
	grid-gap: var(--gap);
	grid-template-columns: 1fr auto;
	padding: 25px 0 15px;
}

@media (max-width: 959px) {
	#film-program_title hgroup {
		grid-template-columns: 1fr;
		padding: 25px 0 0;
	}
}

#film-program_title hgroup h1{
   font-size: 2rem;
    line-height: 2.3rem;

}

@media (max-width: 767px) {
	#film-program_title hgroup h1 {
		font-size: 1.5rem;
	}
}

#film-program_title h1 span:not([class,style]) {
	display: block;
    font-size: 1.3rem;
    line-height: 1.2rem;
    color: var(--gray);
    font-weight: normal;
	margin-left: 55px;
}

#film-program_title h1 span.number {
	background: var(--gray);
	color: var(--white);
	font-size: 80%;
	width: 45px;
	height: 45px;
	display: inline-block;
	text-align: center;
	margin-right: 10px;
	padding-top: .2rem;
	position:relative;
	margin-top: -.3rem;
}

#film-program_title hgroup > p {
	align-self: center;
	text-align: right;
	font-size: 1.2rem;
	display: block;
	margin-bottom: 0;
}

.country {
	display: grid;
	grid-template-columns: 1fr auto auto;
	align-items: center;
}

/*-- new --*/

em.new {
	justify-self: start;
	color: var(--white);
	font-style: normal;
	background: var(--gray);
	padding: 3px 10px;
}

.country > *:not(.new){
	justify-self: end;
}

.country > img{
	margin-right: .5rem;
}


/*-- 全体レイアウト --*/
#film-program_title {
	margin-bottom: 0;
}

#film-program_title .grid.clm2-1{
    display: grid;
    grid-template-columns: 2fr 1fr;
	grid-column-gap:4vw;
	grid-row-gap: 1.5rem;
	align-items: flex-start;
	margin-bottom: 0;
}

@media (max-width: 959px) {
	#film-program_title .grid.clm2-1{
		grid-template-columns: 1fr;
		grid-gap: 0;
		
	}
	#film-program_title .grid.clm2-1 > div:nth-of-type(1){
		order: 2;
	}
	
	#film-program_title .grid.clm2-1 > div:nth-of-type(2){
		order: 1;
		margin-bottom: 1.5rem;
	}
}

#film-program_title .grid.clm2-1 img.w100 {
	width: 100%;
}
#film-program_title .grid.clm2-1 p {
	margin-bottom: 1.5rem;
}

#film-program_title p:empty {
  display: none;
}


/*-- 左エリア --*/
#film-program_title .info{
	margin: 1.5rem 0;
}

#film-program_title .info li{
	display: inline-block;
	position: relative;
	margin-right: 1.35rem;
	
}
#film-program_title .info li:after {
    content: "/";
    display: block;
    position: absolute;
	right: -1rem;
	top: 0;
}
#film-program_title .info li:last-child:after {
    display: none;
}

#film-program_title h2 > span.sub_title {
    font-size: 80%;
	color: var(--gray);
	display: block;
	line-height: 1rem;
	margin-top: .2rem;
}

#film-program_title figcaption.wp-element-caption{
	text-align: right;
	color: var(--gray);
	font-size: .6rem;
	line-height: .5rem;
	display: block;
}

#film-program_title h2 > span.sub_title {
	margin-left: 1rem;
	display: inline;
}

/*-- 右エリア・チケット --*/

@media screen and (min-width: 960px){
	#film-program_title .clm2-1{
		position: relative;
	}	
	#film-program_title .grid.clm2-1 > div:nth-of-type(2){
		position: sticky;
		top: 30px;
	}
}

#film-program_title .box_gray ul.tickets_list li{
    display: grid;
    grid-template-columns: 1fr auto;
	grid-gap: 10px;
    padding: 1.2rem 0.8rem;
    border-bottom: var(--border);
}

#film-program_title .box_gray ul.tickets_list li:first-child{
    border-top: var(--border);
}

#film-program_title ul.tickets_list div {
   grid-column: 1 / 3;
}

#film-program_title ul.tickets_list div span.event{
	color:var(--black);
	margin-bottom: .3rem;
	grid-row: 1 / -2;
    grid-column: 1 / 2;
}
#film-program_title ul.tickets_list div span.txt{
   font-size: 85%;
	line-height: 1.12rem;
}

#film-program_title .box_gray ul.tickets_list time {
	line-height: 1.3em;
}

#film-program_title .box_gray ul.tickets_list time span {
	margin-right: .5rem;
}

#film-program_title ul.tickets_list div span.event {
    margin-bottom: .3rem;
    grid-row: 1 / -2;
    grid-column: 1 / 2;
}

#film-program_title .box_gray ul.tickets_list p {
	margin-bottom: 0;
	justify-self: end;
	grid-row: 3 /-1;
    grid-column: 2 / 3;
}

#film-program_title .lnk3 a{
	display: inline-block;
	background: var(--white);
	color: var(--black);
	border: var(--border);
	text-decoration: none !important;
    padding: var(--btn) !important;
    border-radius: var(--maru) !important;
}

#film-program_title .lnk3 a:hover{
	background: var(--orange);
	color: var(--black);
}


#film-program_title img[src="http://design.common-space.online/wp-content/themes/twentytwentyfour_child/img/no_image.png"] {
    display: none;
}


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

.news li.wp-block-post{
	display: grid;
	grid-template-columns: 5rem 1fr;
	justify-content: flex-start;
	align-items: flex-start;
	grid-column-gap: 50px;
	grid-row-gap: 10px;
	text-decoration: none;
}

.news li.wp-block-post :is(h2,h3){
	font-size: 1rem;
	margin-block-start: 0 !important;
    margin-block-end: 0 !important;
	padding: 0 !important;
	line-height: 1.4rem;
}

.news li.wp-block-post h2{
	border-bottom: none;
}

.news li.wp-block-post h2:before{
	display: none!important;
}

.news li.wp-block-post :is(h2,h3) a{
	text-decoration: underline;
}

.news li.wp-block-post :is(h2,h3) a:hover {
	text-decoration: none;
}

.news li.wp-block-post time{
	font-size: 1rem;
	font-family: var(--font-family_en);
}

:root :where(.wp-block-post-date) {
    color: var(--gray);
	display: block;
}

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

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

.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ヵ月表示 --*/
@media (min-width: 768px) {	
#calendar.outline.month {	
display: block;	
}	
#calendar_sp {	
display: none;	
}	
}	
@media (max-width: 767px) {	
#calendar.outline.month {	
display: none;	
}	
#calendar_sp {	
display: block;	
}	
}	

	#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 {margin-right: 0.5rem;}
	

/*
	#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: middle;
		padding: .5em 1em;
		text-align: center;
	}

	#calendar.month .calendar_table tbody td {
		padding: 0;
	}
	#calendar.month .calendar_table tbody td div {
		border-bottom : var(--border);
		padding: .5em 1rem;
		text-align: left;
	}
	#calendar.month .calendar_table tbody td:has(div){
		vertical-align: baseline;
	}
	#calendar.month .calendar_table tbody td div:last-child	 {
		border-bottom : none;
	}

	#calendar .calendar_table tbody td.close
{
		text-align: center;
		vertical-align: baseline;
		color: var(--gray);
	padding: .8rem 0!important;
	}
	
	#calendar .calendar_table tbody td.close_library {
		color: var(--red);
	}

#calendar .calendar_table tbody .exhibition td {
		padding: 0;
	}

	#calendar .calendar_table tbody td a {
		display: block;
		/*
		text-overflow: ellipsis;
		white-space: nowrap;
		overflow: hidden!important;
		*/
		padding: .2rem;
		font-size: 0.9rem;
		line-height: 1.5rem;
		text-decoration: underline;
		text-align: left;
	}

	#calendar .calendar_table tbody td a:hover {
		text-decoration: none;
	}

	#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);
		text-decoration: none;
		text-overflow: ellipsis;
		white-space: nowrap;
		overflow: hidden!important;
		padding: .6rem .3rem;
	}

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

#calendar .calendar_table tbody td a.cate span{
		font-size: 90%;
	margin-right: .5rem;
	} 


/*-------▼▼▼　スマホカレンダー ▼▼▼-------*/	
#calendar_sp summary {	
padding: .5rem;	
font-size: 1.2rem;	
}	
#calendar_sp .day {	
padding: .4rem;	
}	
#calendar_sp summary,	
#calendar_sp div {	
border-top: 1px solid #c5c5c5;	
}	
#calendar_sp summary,	
#calendar_sp .day,	
#calendar_sp div.close {	
font-weight: 700;	
padding: .8rem .5rem;	
position: relative;	
}	
#calendar_sp summary::marker {	
content: none;	
}	
#calendar_sp summary::before,	
#calendar_sp 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;	
}	
#calendar_sp summary::after {	
transform: translateY(-50%) rotate(90deg);	
transition: .5s;	
}	
#calendar_sp details[open] summary::after {	
transform: rotate(180deg);	
}	
#calendar_sp details[open] > summary + * {	
margin-bottom: 1.5rem;	
}	
#calendar_sp summary em,	
#calendar_sp div.day em,	
#calendar_sp div.close em {	
font-size: 1.2rem;	
margin-right: .2rem;	
font-style: normal;	
font-family: var(--font-family_en);	
}	
#calendar_sp summary span,	
#calendar_sp div.close span {	
margin-left: 1rem;	
font-weight: normal;	
}	
/*	
#calendar_sp details {	
border-bottom: none;	
}	
*/	
#calendar_sp details,	
#calendar_sp div.close {	
margin-block-end: 0!important;	
margin-bottom: .5rem!important;	
border-bottom: 1px solid #c5c5c5;	
}	
#calendar_sp details {	
margin-bottom: 1rem!important;}	
#calendar_sp details[open] {	
border-bottom: none!important;	
}	
#calendar_sp:last-child details[open] {	
border-bottom: 1px solid #c5c5c5!important;	
}	
#calendar_sp details > div {	
border-left: 1px solid #c5c5c5;	
border-right: 1px solid #c5c5c5;	
}	
#calendar_sp div.close {	
border-bottom: 1px solid #c5c5c5;	
background: var(--gray-back);	
}	
#calendar_sp .place {	
color: var(--white)!important;	
background: var(--gray)!important;	
font-weight: 400;	
}	
a.cate {	
background: var(--gray-back);	
border: 1.5px solid var(--gray-back);	
border-bottom: 1.5px solid var(--white);	
text-decoration: none;	
display: block;	
padding: .5rem;	
}	
#calendar_sp div div {	
border-top: none;	
padding: .3rem .5rem .3rem 1rem;	
}	
#calendar_sp time {	
margin-right: 1rem;	
}

/*-- 1日表示 --*/

#calendar_d h2 + h3 {
	padding-top: .5rem;
	margin-bottom: 1rem;
}

#calendar_d h3 span {
	font-size: 1rem;
	color: var(--gray);
}

#calendar_d li time {
	margin-right: 1rem;
}

#calendar_d li span {
	margin-left: 1rem;
	font-size: 1rem;
	color: var(--gray);
}

#calendar_d li a img {
	width: 1.5rem;
}

#calendar_d p {
	padding-left: 0;
	font-weight: 700;
	font-size: 1.2rem;
	margin-bottom: 1rem;
}
#calendar_d .exhibition span {
	font-weight: 700;
	font-size: 1.1rem;
}

#calendar_d .exhibition p span,
#calendar_d .library p span{
	margin-left: 1.1rem;
	font-weight: 400;
	font-size: 1rem;
}

#calendar_d p span:nth-of-type(2) {
	font-size: .9rem;
}

.exhibition h3 {
	padding: .5rem 2vw 1rem;
	font-size: 1.2rem;
}

#calendar_d ul,
.exhibition h3 {
	padding-left: 2vw;
	padding-right: 2vw;
}

/* ************************************** */
.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%
		);
}


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


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

	#calendar .calendar_table.list thead .num th:not(.place) .today{
		padding: .3rem 0 0 0;
		color: var(--gray);
	}

	#calendar .calendar_table.list thead th em {
		font-size: 1.2rem;
		font-style: normal;
		font-family: var(--font-family_en);
	}
	#calendar .calendar_table.list thead th span {
		font-size: 0.8rem;
		color: var(--gray);
		margin-bottom: .3rem;
	}

	
#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 a:hover{
		text-decoration: none;
	}

	#calendar .calendar_table tbody td time {
		font-family: var(--font-family_en);
		font-size: 90%;
	}

	#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 .tickets svg{
		display:none;
	}
	
	#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;
}

/*-- 1日ページ --*/

#day_calendar {
	font-size: 1.3rem;
	margin-block-start: 0!important;
    margin-block-end: 0!important;
}

.calendar_d h2 {
    padding: 2.5rem 0px 0.8rem!important;
}

.calendar_d h3 span{
	font-size: 1rem;
    color: var(--gray);
	line-height: 1rem;
	display: inline-block;
	margin-top: .5rem;
}

.calendar_d ul {
    padding-left: 2vw;
    padding-right: 2vw;
}

.calendar_d li {
    margin-bottom: .5rem;
}

.calendar_d li:last-child {
    margin-bottom: 0;
}

.calendar_d li time {
    margin-right: 1rem;
}

.calendar_d li span {
    margin-left: 1rem;
    font-size: 1rem;
    color: var(--gray);
}

.calendar_d .ticket img {
    width: 1.5rem;
}

.calendar_d p.open,.calendar_d .taxonomy-post_tag.wp-block-post-terms {
	padding-left: 0;
	font-weight: 700;
	font-size: 1.2rem;
}

.calendar_d p.open {
	margin-bottom: 0;
}

.taxonomy-post_tag.wp-block-post-terms {
	margin-top: 1.5rem;
}

.calendar_d .taxonomy-post_tag.wp-block-post-terms + h3 {
	margin-block-start: 0 !important;
}

.calendar_d p.open span {
    margin-left: 1.1rem;
    font-weight: 400;
    font-size: 1rem;
}


p:empty {
    display: none;
}

/* ----------------------------------------------------
   検索ページ setting:
------------------------------------------------------- */
.search_result {
	display: grid;
	grid-template-columns: 5fr 1fr;
	grid-column-gap: var(--gap);
}

.search_result > div p{
	margin-bottom: 1.5rem;
}

.search_result > div  p:nth-of-type(1){
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.search_result > div p:nth-of-type(2) {
	font-size: .9rem;
}

.search_result > div p:nth-of-type(3) {
	font-size: .9rem;
	color: var(--gray)
}

.search_result img{
	width:100%;
	height: auto;
	border: var(--border);
}

form[role="search"]{ 
	padding-right: var(--wp--preset--spacing--20);
    padding-left: var(--wp--preset--spacing--20);
}

form[role="search"] input{
	padding: .5rem;
	min-width: 40%;
}

form[role="search"] button {
	padding: 5px;
	
}

form[role="search"] button img{
	width: 20px;
}

.pagination>li>a, .pagination>li>span {
	color: var(--gray)!important;
}

.pagination>.active>a {
    border-color: var(--black)!important;
	background-color: var(--black)!important;
	color: var(--white)!important;
}


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

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

/*---- dl ----*/
/*----
main .post_cms p {
	text-align: justify;
    text-align-last: justify;	
}
----*/

/* ----------------------------------------------------
   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){
	body .wp-block-group-is-layout-flex {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(min(15rem, 100%), 1fr));
		gap: var(--wp--preset--spacing--10);
	}
	
	dl{
		grid-template-columns: 1fr;
	}
	
	.news li.wp-block-post{
		grid-template-columns: 1fr;
		grid-row-gap: 10px;
		margin-block-start: 20px!important;
	}
}
	
	
	
	
	
	
	
	
	
	
}