@charset "UTF-8";
@font-face {
	font-family: "Plus Jakarta Sans";
	src: url("../font/PlusJakartaSans-Regular.ttf") format("truetype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Plus Jakarta Sans";
	src: url("../font/PlusJakartaSans-Medium.ttf") format("truetype");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Plus Jakarta Sans";
	src: url("../font/PlusJakartaSans-SemiBold.ttf") format("truetype");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Plus Jakarta Sans";
	src: url("../font/PlusJakartaSans-Bold.ttf") format("truetype");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
:root {
	/* color */
	--base: 28, 28, 28; /* #1c1c1c */
	--wht: 255, 255, 255; /* #ffffff */
	--gray: 219, 219, 219; /* #DBDBDB */
	--gray-light: 245, 245, 245; /* #F5F5F5 */
	--gray-dark: 203, 203, 203; /* #CBCBCB */
	--h-primary: 215, 0, 15; /* #D7000F */
	--h-primary-light: 249, 225, 225; /* #F9E1E1 */
	--h-primary-dark: 137, 2, 11; /* #89020B */
	--m-primary: 58, 119, 187; /* #3A77BB */
	--m-primary-light: 226, 235, 245; /* #E2EBF5 */
	--m-primary-dark: 38, 76, 118; /* #264C76 */
	--r-primary: 0, 155, 112; /* #009B70 */
	--r-primary-light: 242, 247, 231; /* #F2F7E7 */
	--grd: #3a77bb 0%, #cc3636 40%, #cc3636 60%, #3a77bb 100%; /* グラデーション */
	--point: 251, 201, 62; /* #FBC93E */
	/* responsive size https://chrisburnell.com/clamp-calculator/ */
	--clamp-16to36: clamp(1.6rem, 0.4rem + 2.5vw, 3.6rem);
	--clamp-16to40: clamp(1.6rem, 0.8rem + 2.5vw, 4rem);
	--clamp-18to22: clamp(1.8rem, 1.56rem + 0.5vw, 2.2rem);
	--clamp-28to56: clamp(2.8rem, 1.12rem + 3.5vw, 5.6rem);
	--clamp-40to64: clamp(4rem, 3.2rem + 2.5vw, 6.4rem);
	--clamp-40to80: clamp(4rem, 1.6rem + 5vw, 8rem);
	/* layout */
	--gap-8: 0.5em;
	--gap-16: 1em;
	--gap-24: 1.5em;
	--gap-32: 2em;
	--gap-40: 2.5em;
	--gap-56: 3.5em;
	--gap-64: 4em;
	/* size */
	--size-xs: 0.4rem;
	--size-sm: 0.8rem;
	--size-rg: 1.6rem;
	--size-md: 2.4rem;
	--size-lg: 3.2rem;
	--size-xl: 4rem;
	--size-2xl: 5.6rem;
	--size-3xl: 6.4rem;
	--size-4xl: 7.2rem;
	--size-5xl: 8rem;
	--size-6xl: 9.6rem;
	--size-7xl: 11.2rem;
	/* font */
	--font-jp: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	--font-en: "Plus Jakarta Sans", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

* html body {
	background: url(null) fixed;
}
html {
	font-size: 62.5%;
	/* overflow-x: hidden; */
}

body {
	width: 100%;
	margin: 0;
	padding: 0;
	background: rgb(var(--wht));
	color: rgb(var(--base));
	font-size: 1.6rem;
	line-height: 1.8;
	font-weight: 400;
	font-style: normal;
	font-family: var(--font-jp);
	/* YuGothic, "Yu Gothic Medium", "Yu Gothic", */
	/* 今のfont　font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial,Helvetica, Verdana, sans-serif; */
	overflow-wrap: break-word;
	text-size-adjust: 100%;
	font-feature-settings: "palt";
	letter-spacing: 1.6px;
}
/*ナビ表示のときはスクロールしないように*/
html.is-locked {
	overflow: hidden;
	/* height: 100vh; */
}
html.is-locked body {
	overflow: hidden;
	/* height: 100vh; */
}
.sp-hidden {
	display: none;
}
/* reset safariの13以下verのため */
ul,
ol,
li {
	list-style: none;
	padding: 0;
}
@media (min-width: 751px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		/* text-decoration: none; */
	}
}

/* 言語切り替え用 */
font font {
	text-transform: capitalize;
}

.w-800 {
	max-width: 800px;
}

/* ------------------------------------------------------------ */
/* font */
/* ------------------------------------------------------------ */
.font-en,
.btn-viewall,
.btn-youtube {
	font-family: var(--font-en);
	font-weight: 400;
	font-style: normal;
}

/* ------------------------------------------------------------ */
/* link */
/* ------------------------------------------------------------ */
::selection {
	color: rgb(var(--base));
	background: rgba(var(--base), 0.1);
	text-shadow: none;
}
::-moz-selection {
	color: rgb(var(--base));
	background: rgba(var(--base), 0.1);
	text-shadow: none;
}
a {
	color: inherit;
	cursor: pointer;
	line-height: inherit;
	-webkit-transition: all 0.2s linear;
	transition: all 0.2s linear;
	text-decoration: none;
}
/* :is(:link, :visited, :active, :hover) a {
	color: inherit;
	text-decoration: none;
} */
a:link,
a:visited,
a:active {
	color: inherit;
	text-decoration: none;
}
a:hover {
	opacity: 0.72;
}
/* ------------------------------------------------------------ */
/* color */
/* ------------------------------------------------------------ */

/* ------------------------------------------------------------ */
/* animation */
/* ------------------------------------------------------------ */
.inview {
	opacity: 0;
	-webkit-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
.inview.is-show {
	opacity: 1;
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes fadeInup {
	0% {
		opacity: 0;
		transform: translateY(50%);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fadeInDown {
	0% {
		opacity: 0;
		transform: translateY(-50%);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
.fadeIn,
.fadeInup,
.fadeIndown {
	opacity: 0;
}

.fadeIn {
	animation: fadeIn 2s ease-in-out 2.5s 1 forwards;
}
.fadeInup {
	animation: fadeInup 2s ease-in-out 0.3s 1 forwards;
}
.fadeInDown {
	animation: fadeIndown 2s ease-in-out 0.3s 1 forwards;
}

/* ------------------------------------------------------------ */
/* img,icon */
/* ------------------------------------------------------------ */
.main-logo,
.thum,
.image,
.banner {
	margin: 0 auto;
	text-align: center;
}
.icon {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	letter-spacing: 0;
}
.fa-twitter {
	color: #1da1f2;
}
.fa-x-twitter {
	color: #000;
}
.fa-youtube {
	color: #da1725;
}
.fa-square-facebook {
	color: #1877f2;
}
.fa-line {
	color: #00b900;
}
.clr-m-primary.fa-instagram {
	color:rgb(var(--m-primary));
}
.icon img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

.thumb {
	position: relative;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 16 / 9;
	/* padding-top: calc(9 / 16 * 100%); */
	/* padding-top: calc(180 / 340 * 100%); */
	/* max-height: 180px; */
	margin-bottom: 0;
}
.thumb.vertical {
	aspect-ratio: 420 / 516;
}
.thumb img {
	/* width: 100%;
	height: auto;
	margin: 0 auto; */
	width: 100%;
	height: 100%;
	object-fit: contain;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%) scale(1);
	transform: translate(-50%, -50%) scale(1);
	z-index: 1;
	-webkit-transition: transform 0.2s linear;
	transition: transform 0.2s linear;
}

.swiper-slide .thumb img {
	object-fit: cover;
}

/* ------------------------------------------------------------ */
/* ボタン */
/* ------------------------------------------------------------ */
.btn {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	text-align: center;
	/* padding: 0 1.8em 0.4em 0.4em; */
	padding: 0 1.5em 0.4em 0.4em;
	line-height: 1.4;
	margin: 0.8rem 0.8rem 0.8rem 0;
	background-image: linear-gradient(to left, var(--grd));
	background-size: 200% 2px;
	background-repeat: no-repeat;
	background-position: right bottom;
	position: relative;
}
.btn + .btn {
	margin: 0.8rem;
}
.btn::after {
	content: "\f054";
	font-family: "Font Awesome 6 Free";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-style: normal;
	font-variant: normal;
	font-weight: 900;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	margin: 0;
	width: 1.6rem;
	height: 1.6rem;
	border-radius: 50%;
	border: 1px solid currentColor;
	font-size: 1rem;
	line-height: 1;
	letter-spacing: 0;
	position: absolute;
	top: 50%;
	right: 0.4em;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: right 0.3s ease-in-out;
	transition: right 0.3s ease-in-out;
}
.btn:hover {
	opacity: 1;
	background-position: left bottom;
}
.btn:hover::after {
	right: 0;
}

.btn-h {
	background-image: linear-gradient(to left, #cc3636 0%, #cc3636 100%);
}
.btn-h:hover {
	color: rgb(var(--h-primary));
}
.btn-m {
	background-image: linear-gradient(to left, #3a77bb 0%, #3a77bb 100%);
}
.btn-m:hover {
	color: rgb(var(--m-primary));
}

.btn-viewall,
.btn-youtube {
	/* font-weight: 600; */
	text-transform: capitalize;
}
/* .btn-viewall .hidden,
.btn-youtube .hidden {
	opacity: 0;
	visibility: hidden;
}
.btn-viewall::before,
.btn-youtube::before {
	content: "";
	display: inline-block;
	width: calc(100% - 3.2rem);
	height: 1.6rem;
	position: absolute;
	top: 0.4rem;
	left: 0;
}
.btn-viewall::before {
	background: url(../img/btn-viewall.svg) no-repeat left center / 100% 100%;
}

.btn-youtube::before {
	background: url(../img/btn-youtube.svg) no-repeat left center / 100% 100%;
} */

.no-arw {
	padding: 0.4em;
}
.no-arw::after {
	display: none;
}
/* target=blankのとき */
.icon-blank::after {
	content: "\f08e";
	border: none;
	font-size: 0.8em;
	right: 0;
}

.btn-tag {
	display: inline-flex;
	padding: 0 0.8rem;
	margin: 0 0.2rem;
	font-size: 0.8em;
	border-radius: 100vmax;
	text-align: center;
	justify-content: center;
	align-items: center;
	background-color: rgb(var(--base));
	color: rgb(var(--wht));
	letter-spacing: 0;
}
.btn-box {
	display: flex;
	align-items: center;
}
.btn-box .btn {
	justify-content: flex-start;
}
.btn-center {
	justify-content: center;
}
.btn-col {
	flex-direction: column;
}

/* ------------------------------------------------------------ */
/* scrollbar */
.scrollbar {
	overflow-y: scroll;
}
.scrollbar::-webkit-scrollbar {
	width: 4px;
}
.scrollbar::-webkit-scrollbar-track {
	background-color: rgb(var(--gray));
}
.scrollbar::-webkit-scrollbar-thumb {
	background-color: rgb(var(--base));
	/* background-image: linear-gradient(to bottom, #cc3636 , #3a77bb);
	background-size: 100% 100%;
	background-repeat: no-repeat;
	background-position: center top; */
}

/* スクロールバーを消す */
.no-scrollbar::-webkit-scrollbar {
	/* Chrome, Safari 対応 */
	display: none;
}

.no-scrollbar {
	-ms-overflow-style: none; /* IE, Edge 対応 */
	scrollbar-width: none; /* Firefox 対応 */
}
/* ------------------------------------------------------------ */
/* common layouts */
/* ------------------------------------------------------------ */
.wrapper {
	width: 100%;
	height: auto;
	overflow: hidden;
}
.inner {
	width: 100%;
	max-width: 1280px;
	height: auto;
	padding: 0 var(--clamp-16to40);
	margin: 0 auto;
	clear: both;
}
.inner::after {
	content: "";
	clear: both;
	display: block;
}
.pd-none {
	padding: 0;
}

/* ------------------------------------------------------------ */
/* header */
/* ------------------------------------------------------------ */
.main-header {
	width: 100%;
	height: auto;
	background: #fff;
	padding: 1.2rem 0.8rem 1.2rem 4.8rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	/* スマホ用の慣性スクロール */
	-webkit-overflow-scrolling: touch;
	box-shadow: 0 0 0 2px rgba(var(--base), 0.16);
}
.main-header:has(.logo-item-2) {
	padding: 0.8rem 0.8rem 0.8rem 4.8rem;
}
.main-header .main-logo {
	width: 96px;
	margin: 0;
	line-height: 1;
}
.main-logo img {
	width: 100%;
	height: auto;
	margin: 0;
}
.main-header .logo-item-2 {
	width: calc(100% - 160px);
	max-width: calc(108px + 48px);
}
.main-header .logo-item-2 a {
	display: flex;
	align-items: center;
}
.logo-item-2 img {
	width: 70%;
	max-width: 108px;
}
.logo-item-2 img.logo-ten {
	width: 30%;
	max-width: 48px;
}

/* nav-toggle */
.nav-toggle {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 3.6rem;
	height: 3.6rem;
	position: absolute;
	top: 50%;
	left: 0.8rem;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	z-index: 9999;
	border: none;
	background-color: rgba(255, 255, 255, 0);
	outline: none;
	min-height: inherit;
}
.is-active .nav-toggle {
}

.nav-toggle-text {
	width: 100%;
	display: block;
	font-size: 1rem;
	font-family: var(--font-en);
	line-height: 1;
	letter-spacing: 0;
	font-weight: bold;
	text-align: center;
	position: absolute;
	bottom: 0.2rem;
	left: 0;
}
.nav-toggle-text::before {
	content: "MENU";
	display: block;
	-webkit-transition: all 0.2s linear;
	transition: all 0.2s linear;
}

.nav-toggle-icon {
	width: 2.4rem;
	height: 2rem;
	display: block;
	position: absolute;
	top: 0.2rem;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.toggle-line {
	display: block;
	width: 100%;
	height: 0.2rem;
	background-color: rgb(var(--base));
	position: absolute;
	left: 0;
	-webkit-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
.toggle-line:first-of-type {
	top: 0.1rem;
}
.toggle-line:nth-of-type(2) {
	top: 0.9rem;
}
.toggle-line:last-of-type {
	bottom: 0.1rem;
}

.is-active .toggle-line {
}

.is-active .toggle-line:first-of-type {
	top: 0.9rem;
	transform: rotate(45deg);
}
.is-active .toggle-line:nth-of-type(2) {
	opacity: 0;
}
.is-active .toggle-line:last-of-type {
	bottom: 0.9rem;
	transform: rotate(-45deg);
}

/* ------------------------------------------------------------ */
/* info-box 開館・言語・検索 */
/* ------------------------------------------------------------ */
.info-box {
	border-radius: 0.8rem;
	background: rgb(var(--base));
	color: rgb(var(--wht));
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1.2rem;
	padding: 0.8rem 0.4rem;
	position: absolute;
	top: 50%;
	right: 0.8rem;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 10;
}
.info-item {
	padding: 0.2rem 0.8rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
.info-item + .info-item {
	border-left: 1px solid rgb(var(--wht));
}
.open-status .icon {
	width: 1.6rem;
	height: 1.6rem;
}

.status-txt {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.8px;
	display: inline-block;
	margin: 0 0 0 0.6rem;
}

/* 翻訳すると長いので非表示にする */
/* html[lang="en"] .status-txt {
	opacity: 0;
	visibility: hidden;
}
html[lang="en"].translated-ltr .status-txt {
	opacity: 1;
	visibility: visible;
}
html[lang="en"].translated-ltr .status-txt font {
	display: none !important;
	opacity: 0;
	visibility: hidden;
}
html[lang="en"] .status-txt.open::before {
	content: "Open";
	display: inline-block;
}
html[lang="en"] .status-txt.close::before {
	content: "Close";
	display: inline-block;
} */

.language {
	font-size: 1.4rem;
	line-height: 1;
	letter-spacing: 0.8px;
	padding-top: 0;
	/* padding-bottom: 0; */
	font-weight: bold;
}
.lang-toggle {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}
.lang-toggle:hover {
	opacity: 0.72;
}
.lang-toggle::after {
	content: "";
	width: 0.8rem;
	height: 0.8rem;
	border-top: 1px solid rgb(var(--wht));
	border-right: 1px solid rgb(var(--wht));
	display: inline-block;
	margin: -0.2rem 0 0 0.8rem;
	transform: rotate(135deg);
	-webkit-transition: transform 0.2s linear;
	transition: transform 0.2s linear;
}
.lang-toggle.is-active::after {
	margin-top: 0.4rem;
	transform: rotate(-45deg);
}

.lang-selector {
	height: 0;
	opacity: 0;
	visibility: hidden;
	width: 24rem;
	background: rgb(var(--base));
	border-radius: 0.8rem;
	padding: 0.8rem;
	position: absolute;
	top: 105%;
	right: 0;
	-webkit-transition: height 0.2s linear;
	transition: height 0.2s linear;
}
.lang-selector.is-active {
	height: auto;
	opacity: 1;
	visibility: visible;
	-webkit-transition: height 0.2s linear;
	transition: height 0.2s linear;
}

.gtranslate_wrapper {
	background-color: rgb(var(--base));
	/* border: none !important;
	width: 64px; */
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	width: 100%;
}
/* .gt_selector {
	background-color: rgb(var(--base));
	border: none !important;
	outline: none !important;
	outline-offset: 0 !important;
	box-shadow: none !important;
	appearance: none;
	font-size: 1.4rem;
	letter-spacing: 0.8px;
	font-weight: bold;
	width: 100%;
	text-align: center;
} */
.glink {
	margin: 0.4rem;
	font-weight: normal;
}
.glink.gt-current-lang {
	font-weight: bold;
	text-underline-position: under;
	text-decoration-line: underline;
	text-decoration-color: rgb(var(--wht));
	text-decoration-thickness: 1px;
}
/* .glink + .glink {
	margin-left: 1em;
} */

.search-content {
	height: 0;
	opacity: 0;
	visibility: hidden;
	width: 28rem;
	background: rgb(var(--base));
	border-radius: 0.8rem;
	padding: 0.8rem 0.8rem 0.4rem;
	position: absolute;
	top: 105%;
	right: 0;
	-webkit-transition: height 0.2s linear;
	transition: height 0.2s linear;
}
.search-content.is-active {
	height: auto;
	opacity: 1;
	visibility: visible;
	-webkit-transition: height 0.2s linear;
	transition: height 0.2s linear;
}
.search-content > * {
	opacity: 0;
	visibility: hidden;
	-webkit-transition: opacity 0.2s linear 0.2s;
	transition: opacity 0.2s linear 0.2s;
}
.search-content.is-active > * {
	opacity: 1;
	visibility: visible;
}
.search-form {
	background: rgb(var(--wht));
	border-radius: 0.8rem;
	position: relative;
	overflow: hidden;
}
.search-btn {
	outline: none;
	background: none;
	border: none;
	width: 1.6rem;
	color: rgb(var(--wht));
	text-align: center;
	font-size: 1.4rem;
	line-height: 1;
}

.search-btn .close {
	display: none;
	opacity: 0;
}
.search-btn i {
	-webkit-transition: opacity 0.2s linear;
	transition: opacity 0.2s linear;
}
.search-btn.is-active .close {
	display: inline-block;
	opacity: 1;
}
.search-btn.is-active .open {
	display: none;
	opacity: 0;
}
.search-text {
	width: 100%;
	padding: 0.8rem 4rem 0.8rem 0.8rem;
	color: rgb(var(--base));
	font-size: 1.6rem;
	line-height: 1;
	font-style: normal;
	outline: none;
	background: none;
	border: none;
}
.search-text + .search-btn {
	color: rgb(var(--gray-dark));
	height: 100%;
	width: 4rem;
	font-size: 1.6rem;
	text-align: center;
	background: rgb(var(--wht));
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.hit-keywords {
	font-size: 1.2rem;
	margin: 0.4rem 0;
}
.search-tag {
	font-size: 1.2rem;
	width: 100%;
	padding: 0 0 0.8rem;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
}
.search-tag .tag {
	background: rgb(var(--wht));
	color: rgb(var(--base));
	line-height: 1.5;
	letter-spacing: 0;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 0 0.8rem;
	text-align: center;
	margin: 0 0.4rem 0.4rem 0;
}
.tag-round .tag {
	border-radius: 100vmax;
}
/* ------------------------------------------------------------ */
/* nav */
/* ------------------------------------------------------------ */
.spnav {
	width: 90%;
	max-width: 32rem;
	height: 100%;
	padding: 8rem 1.6rem 5.6rem;
	position: fixed;
	bottom: 0;
	left: 0;
	transform: translateX(-100%);
	z-index: 1;
	-webkit-transition: transform 0.2s linear;
	transition: transform 0.2s linear;
	background: #fff;
	z-index: 9998;
}
/* .spnav + .pc-hidden {
  width: 100%;
} */
.spnav.is-active {
	transform: translateX(0);
	pointer-events: auto;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
.spnav_inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	height: auto;
	opacity: 0;
	position: relative;
	z-index: 999;
}
.is-active .spnav_inner {
	opacity: 1;
	transition: opacity 1.8s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
}
.overlay {
	position: fixed;
	width: 100vw;
	height: 100vh;
	display: block;
	background: rgba(var(--base), 0.64);
	top: 0;
	left: 0;
	opacity: 0;
	visibility: hidden;
	z-index: 9997;
}
.overlay.is-active {
	opacity: 1;
	visibility: visible;
}
/* ------------------------------------------------------------ */
/* nav-menu */
/* ------------------------------------------------------------ */
.nav-menu {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-direction: column;
	margin: 0 auto;
}
/* 言語切り替え用 */
.nav-menu font {
	text-transform: capitalize;
}
.nav-menu.grd {
	margin-top: 1.5em;
}
.nav-menu-item > a {
	display: block;
	width: 100%;
	padding: 0.8rem 1em;
	font-weight: bold;
	background-image: linear-gradient(to left, var(--grd));
	background-size: 200% 2px;
	background-repeat: no-repeat;
	background-position: right bottom;
	position: relative;
	overflow: hidden;
	z-index: 2;
}

.nav-menu-item > a::after {
	content: "\f054";
	font-family: "Font Awesome 6 Free";
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	font-weight: 900;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	font-size: 0.8em;
	line-height: 1;
	letter-spacing: 0;
	position: absolute;
	top: 50%;
	right: 1em;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	/* -webkit-transition: right 0.3s ease-in-out;
	transition: right 0.3s ease-in-out; */
}
/* :is(.hall, .museum) .nav-menu-item > a {
	font-weight: normal;
} */
.hall.nav-menu .nav-menu-item > a,
.museum.nav-menu .nav-menu-item > a {
	font-weight: normal;
}
.hall.nav-menu .nav-menu-item > a {
	color: rgb(var(--h-primary));
	background-image: linear-gradient(to left, rgb(var(--gray-light)) 0%, rgb(var(--gray-light)) 100%);
}
.museum.nav-menu .nav-menu-item > a {
	color: rgb(var(--m-primary));
	background-image: linear-gradient(to left, rgb(var(--gray-light)) 0%, rgb(var(--gray-light)) 100%);
}
/* :is(.hall, .museum) .nav-menu-item > a::after {
	display: none;
} */
.hall.nav-menu .nav-menu-item > a::after,
.museum.nav-menu .nav-menu-item > a::after {
	display: none;
}
.ttl-item > a {
	font-size: 1.125em;
	line-height: 1.5;
}
/* :is(.hall, .museum) .ttl-item > a {
	color: rgb(var(--wht));
	font-weight: bold;
} */

.hall.nav-menu .ttl-item > a,
.museum.nav-menu .ttl-item > a {
	color: rgb(var(--wht));
	font-weight: bold;
}
.hall.nav-menu .ttl-item > a {
	background: rgb(var(--h-primary));
}
.museum.nav-menu .ttl-item > a {
	background: rgb(var(--m-primary));
}

.sns-box {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	margin: 1.5em auto 0;
}
.sns-link {
	width: 4rem;
	height: 4rem;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: 2.4rem;
	margin: 0.4rem;
	line-height: 1;
}

/* ------------------------------------------------------------ */
/* click-menu */
/* ------------------------------------------------------------ */

.click-menu {
	display: flex;
	justify-content: space-between;
	width: 100%;
	/* height: 100vh; */
	min-height: 4.8rem;
	flex-wrap: wrap;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 9998;
	box-shadow: 0 -2px 10px 0 rgba(var(--base), 0.32);
}
.click-menu:has(.is-active) {
	height: 100%;
	background-color: rgba(var(--base), 0.32);
	z-index: 10000;
}
/* 言語切り替え用 */
.click-menu font {
	text-transform: capitalize;
}

#js-closeBtn {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	position: absolute;
	/* top: 4.4rem;
	left: 1em; */
	top: 1em;
	left: 1.6rem;
	width: 4rem;
	height: 4rem;
	max-height: 4rem;
	background-color: rgba(var(--wht), 1);
	border-radius: 50%;
	min-height: 0;
	font-size: 3.2rem;
	line-height: 1;
	z-index: 100000;
	padding: 0;
	margin: 0;
	letter-spacing: 0;
	border: none;
	overflow: hidden;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: background-color 0.2s linear, opacity 0.2s linear 0.2s;
	transition: background-color 0.2s linear, opacity 0.2s linear 0.2s;
}
#js-closeBtn:hover {
	background-color: rgba(var(--gray-dark), 1);
}
#js-closeBtn.is-active {
	opacity: 1;
	visibility: visible;
}

.cm-ttl {
	width: 50%;
	height: 4.8rem;
	display: flex;
	justify-content: center;
	align-items: center;
	color: rgba(var(--wht));
	font-weight: bold;
	text-align: center;
	font-size: 1.1em;
	border: none;
	outline: none;
	position: absolute;
	bottom: 0;
	z-index: 9999;
}
.cm-ttl.hall {
	left: 0;
}
.cm-ttl.museum {
	right: 0;
}
.cm-ttl::after {
	content: "\f078";
	font-family: "Font Awesome 6 Free";
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	font-weight: 900;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	margin: 0;
	position: absolute;
	top: 50%;
	right: 0.5em;
	font-size: 0.9em;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: transform 0.2s linear;
	transition: transform 0.2s linear;
}
.cm-ttl.is-active::after {
	-webkit-transform: translateY(-50%) rotate(180deg);
	transform: translateY(-50%) rotate(180deg);
}

.cm-content {
	width: 90%;
	height: 100svh;
	max-height: calc(100svh - (1.5em + 4.8rem));
	/* padding: calc(1em + 4.8rem) var(--clamp-16to36); */
	padding: var(--clamp-16to36);
	display: flex;
	flex-wrap: wrap;
	overflow-y: scroll;
	position: absolute;
	bottom: 0;
	left: 50%;
	z-index: -1;
	-webkit-transform: translate(-50%, 100%);
	transform: translate(-50%, 100%);
	-webkit-transition: transform 0.2s linear;
	transition: transform 0.2s linear;
	z-index: 1;
}
.cm-content.is-active {
	bottom: 50%;
	-webkit-transform: translate(-50%, 50%);
	transform: translate(-50%, 50%);
	z-index: 1001;
}
/* .cm-inner {
	width: 100%;
	height: 100%;
	padding: calc(1em + 4.8rem) var(--clamp-16to36);
	display: flex;
	flex-wrap: wrap;
} */

.cm-content > * {
	opacity: 0;
	visibility: hidden;
	-webkit-transition: opacity 0.2s linear 0.2s;
	transition: opacity 0.2s linear 0.2s;
}
.cm-content.is-active > * {
	opacity: 1;
	visibility: visible;
}

.cm-ttl.hall {
	background-color: rgba(var(--h-primary));
}
.cm-content.hall {
	background-color: rgba(var(--h-primary-light));
}
.cm-ttl.museum {
	background-color: rgba(var(--m-primary));
}
.cm-content.museum {
	background-color: rgba(var(--m-primary-light));
}

.cm-content .latest {
	width: 100%;
	order: 1;
}
.cm-content .event-item,
.cm-content .event-item a {
	/* color: rgba(var(--wht)); */
	border: none !important;
}
.cm-content .latest .item-info {
	padding: var(--gap-16) 0 0;
	border: none !important;
}

.cm-content .menu-box {
	order: 3;
}
.cm-content .event-list {
	order: 2;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	padding: 2em 0 1em;
	/* border-top: 1px solid rgb(var(--wht));
	border-bottom: 1px solid rgb(var(--wht)); */
}
.hall.cm-content .event-list {
	border-top: 1px solid rgba(var(--h-primary), 0.3);
	border-bottom: 1px solid rgba(var(--h-primary), 0.3);
}
.museum.cm-content .event-list {
	border-top: 1px solid rgba(var(--m-primary), 0.3);
	border-bottom: 1px solid rgba(var(--m-primary), 0.3);
}
.cm-content .event-list .event-item {
	/* width: calc((100% - 1em) / 2);
	margin: 0 1em 1em 0; */
	margin: 0 0 1em;
}
.cm-content .event-list .event-item:nth-of-type(2n) {
	/* margin-right: 0; */
}
.cm-content .event-list .event-item a {
	display: flex;
	justify-content: flex-start;
	/* flex-direction: column; */
	width: 100%;
	border: none !important;
}
.cm-content .event-list .event-item .thumb {
	width: 120px;
	aspect-ratio: 4 / 3;
}
.cm-content .event-list .event-item .item-info {
	width: calc(100% - 120px);
	padding: 0 0 0 var(--gap-16);
	border: none !important;
}
.cm-content .event-list .item-ttl {
	font-size: 1.4rem !important;
}

.btn-menu {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin: var(--gap-24) auto 0;
}
.btn-menu a {
	/* color: rgba(var(--wht)); */
}
.btn-blk a {
	color: rgba(var(--base));
}
.btn-menu-item {
	width: calc((100% - 0.8rem) / 2);
	margin: 0 0.4rem 0.8rem 0;
	background-color: rgba(var(--wht), 1);
	/* color: rgba(var(--wht)); */
	display: inline-flex;
	justify-content: flex-start;
	align-items: center;
	/* border-left: 4px solid rgba(var(--wht), 0.4); */
	padding: 1.2rem 2.8rem 1.2rem 0.8rem;
	font-weight: bold;
	font-size: 1.4rem;
	position: relative;
	line-height: 1.4;
}
.btn-menu-item:nth-of-type(2n) {
	margin: 0 0 0.8rem 0.4rem;
}

.cm-content .btn-menu-item {
	margin: 0 0 0.8rem 0.4rem;
}
.cm-content .btn-menu-item:nth-of-type(2n) {
	margin: 0 0.4rem 0.8rem 0;
}
.cm-content .btn-menu-item:first-of-type {
	width: 100%;
	font-size: 1.6rem;
	padding: 1.8rem 2.8rem 1.8rem 0.8rem;
	margin: 0 auto 0.8rem;
}

.hall.cm-content .btn-menu-item {
	border-left: 4px solid rgba(var(--h-primary), 0.3);
}
.museum.cm-content .btn-menu-item {
	border-left: 4px solid rgba(var(--m-primary), 0.3);
}
.hall.cm-content .btn-menu-item:first-of-type {
	color: rgba(var(--wht));
	background-color: rgba(var(--h-primary), 1);
	border-left: 4px solid rgba(var(--h-primary), 1);
}
.museum.cm-content .btn-menu-item:first-of-type {
	color: rgba(var(--wht));
	background-color: rgba(var(--m-primary), 1);
	border-left: 4px solid rgba(var(--m-primary), 1);
}

.btn-blk .btn-menu-item {
	background-color: rgba(var(--wht), 1);
	color: rgba(var(--base));
}
.hall .btn-blk .btn-menu-item {
	border-left: 4px solid rgba(var(--h-primary), 1);
}
.museum .btn-blk .btn-menu-item {
	border-left: 4px solid rgba(var(--m-primary), 1);
}

.btn-menu-item::after {
	content: "\f054";
	font-family: "Font Awesome 6 Free";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-style: normal;
	font-variant: normal;
	font-weight: 900;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	margin: 0;
	width: 1.6rem;
	height: 1.6rem;
	border-radius: 50%;
	border: 1px solid currentColor;
	font-size: 1rem;
	line-height: 1;
	letter-spacing: 0;
	position: absolute;
	top: 50%;
	right: 0.6rem;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: right 0.3s ease-in-out;
	transition: right 0.3s ease-in-out;
}

.txt-menu {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin: var(--gap-8) auto 0;
}
.txt-menu-item {
	width: 100%;
	margin: var(--gap-8) 0 0;
	line-height: 1.5;
}
.txt-menu-item a {
	padding: 0 0 0 1em;
	font-size: 1.4rem;
	font-weight: bold;
	/* color: rgba(var(--wht)); */
	position: relative;
}
.txt-menu-item a::before {
	content: "\f054";
	font-family: "Font Awesome 6 Free";
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	font-weight: 900;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	margin: 0;
	font-size: 0.6em;
	position: absolute;
	top: 0.2rem;
	left: 0;
}
/* ------------------------------------------------------------ */
/* common content */
/* ------------------------------------------------------------ */
.content {
	width: 100%;
	height: auto;
	position: relative;
	padding: 6.4rem 0 0;
	margin: 0 auto;
}
.page .content {
	padding-bottom: 0;
}
.default .content {
	padding-bottom: var(--clamp-40to80);
}
.base {
	width: 100%;
	height: auto;
	position: relative;
	padding: var(--clamp-40to80) 0;
	margin: 0 auto;
}

/* .bg {
	background: url("../img/mv03.jpg") no-repeat center / cover;
	background-attachment: fixed;
} */
.bg::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(var(--base), 0.5);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
.bg * {
	position: relative;
	color: #fff;
	z-index: 3;
}
.bg_wht {
	background-color: rgb(var(--wht));
}
.bg_gray_light {
	background-color: rgb(var(--gray-light));
}
.bg_grn_light,
.experience .bg-color {
	background-color: rgba(170, 201, 82, 0.3);
}
.bg_h_primary_light,
.hall .bg-color {
	background-color: rgb(var(--h-primary-light));
}
.bg_m_primary_light,
.museum .bg-color {
	background-color: rgb(var(--m-primary-light));
}
/* ------------------------------------------------------------ */
/* swiper */
/* ------------------------------------------------------------ */
.swiper {
	width: 100%;
	margin: 0 auto;
	position: relative;
}

.ticker .swiper-wrapper {
	transition-timing-function: linear;
}
/* tickerスライド */
.ticker .swiper-slide {
	height: 240px !important; /* 高さを指定 */
	width: auto !important;
}
.ticker .swiper-slide .slide-img {
	height: 100%;
	width: 100%;
}
/* tickerスライド内の画像 */
.ticker .swiper-slide img {
	width: auto;
	max-width: inherit;
	height: 100%;
}

.swiper-vertical {
	height: 100%;
}
.width-vw {
	margin: 0 calc(50% - 50vw);
	width: 100vw;
	max-width: none;
}
.pagerSlider,
.reportSlider {
	padding: 0 0 4rem;
}
.swiper-pagination {
	-webkit-transition: background-color 0.2s linear;
	transition: background-color 0.2s linear;
}
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
	bottom: 0;
	top: auto;
}
.swiper-pagination-bullet {
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 0;
	background: rgb(var(--wht));
	opacity: 1;
	border: 1px solid rgb(var(--base));
}
.swiper-pagination-bullet-active {
	opacity: 1;
	background: rgb(var(--base));
}

.arw-circle::after {
	font-family: "Font Awesome 6 Free";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-style: normal;
	font-variant: normal;
	font-weight: 900;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	margin: 0;
	width: 3.2rem;
	height: 3.2rem;
	border-radius: 50%;
	border: 1px solid currentColor;
	color: rgb(var(--base));
	background-color: rgb(var(--wht));
	font-size: 1.6rem;
	line-height: 1;
	letter-spacing: 0;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
.button-next.arw-circle {
	right: 12%;
}
.button-next.arw-circle::after {
	content: "\f054";
}
.button-prev.arw-circle {
	left: 12%;
}
.button-prev.arw-circle::after {
	content: "\f053";
}

/* ------------------------------------------------------------ */
/* ttl,txt */
/* ------------------------------------------------------------ */
.main-ttl {
	font-size: 1.6rem;
	font-weight: bold;
	/* padding: 0 1em; */
	margin: 0 auto var(--clamp-16to40);
	text-align: center;
}
.main-ttl::before {
	content: attr(data-en);
	display: block;
	margin: 0 auto 0.8rem;
	font-size: var(--clamp-28to56);
	line-height: 1.2;
	font-family: var(--font-en);
	font-weight: 700;
	text-transform: uppercase;
}
/* [class$="ttl"] img {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: var(--clamp-28to56);
	display: block;
	margin: 0 auto;
}
.main-ttl img {
	margin: 0 auto 0.8rem;
} */
.capitalize::before {
	text-transform: capitalize;
}
.align-center {
	text-align: center;
}
.bold {
	font-weight: bold;
}
.normal {
	font-weight: normal;
}
.item-tag {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
}
.tag {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: 1.2rem;
	line-height: 1.2;
	text-align: center;
	padding: 0.4rem 1em;
	margin: 0 var(--gap-8) var(--gap-8) 0;
	background-color: rgb(var(--wht));
	color: rgb(var(--base));
	border: 1px solid rgb(var(--base));
	border-radius: 100vmax;
}
.tag.now {
	font-weight: bold;
}

.tag.tag-blk {
	color: rgb(var(--base));
	background-color: rgb(var(--wht));
	border-color: rgb(var(--base));
}
.tag.tag-grn {
	color: rgb(var(--r-primary));
	background-color: rgb(var(--wht));
	border-color: rgb(var(--r-primary));
}
.tag.fill {
	font-weight: bold;
	color: rgb(var(--wht));
	background-color: rgb(var(--base));
	border-color: rgb(var(--base));
}
.hall .content .tag,
.event-item.hall .tag,
.recommend-item.hall .tag {
	color: rgb(var(--h-primary));
	border-color: rgb(var(--h-primary));
}
.museum .content .tag,
.event-item.museum .tag,
.recommend-item.museum .tag {
	color: rgb(var(--m-primary));
	border-color: rgb(var(--m-primary));
}
.cm-content.hall .tag,
.cm-content.museum .tag {
	border-color: rgb(var(--wht));
}

.hall .tag.fill {
	color: rgb(var(--wht));
	background-color: rgb(var(--h-primary));
}
.museum .tag.fill {
	color: rgb(var(--wht));
	background-color: rgb(var(--m-primary));
}
.tag-grn.fill {
	background-color: rgb(var(--r-primary));
	border-color: rgb(var(--r-primary));
	color: rgb(var(--wht));
}

.hall .event-list .tag.now,
.event-list .hall .tag.now {
	color: rgb(var(--wht));
	background-color: rgb(var(--h-primary));
}
.recommend-item.hall .tag.now {
	color: rgb(var(--wht));
	border-color: rgb(var(--h-primary));
	background-color: rgb(var(--h-primary));
}

.museum .event-list .tag.now,
.event-list .museum .tag.now {
	color: rgb(var(--wht));
	background-color: rgb(var(--m-primary));
}
.recommend-item.museum .tag.now {
	color: rgb(var(--wht));
	border-color: rgb(var(--m-primary));
	background-color: rgb(var(--m-primary));
}

.cm-content.museum .tag {
	color: rgb(var(--m-primary));
}
.cm-content.museum .tag.now {
	color: rgb(var(--wht));
	border-color: rgb(var(--m-primary));
	background-color: rgb(var(--m-primary));
}

.cm-content.hall .tag {
	color: rgb(var(--h-primary));
}
.cm-content.hall .tag.now {
	color: rgb(var(--wht));
	border-color: rgb(var(--h-primary));
	background-color: rgb(var(--h-primary));
}

/* ------------------------------------------------------------ */
/* flx_box */
/* ------------------------------------------------------------ */
.flex {
	display: flex;
	/* インライン方向（日本語の場合）が基準 */
	/* container-type: inline-size; */
	/** コンテナの名前 */
	/* container-name: flex-container; */
	flex-wrap: wrap;
	/* border: 2px solid magenta; */
}
.no-wrap {
	flex-wrap: nowrap;
	align-items: flex-start;
}

/* カラム共通 */
.flex-item {
	width: 100%;
	margin: 0 auto;
	/* border: 1px solid blue; */
}
/* .flex-item:nth-of-type(even) {
	border: 1px solid orange;
} */
.flex-item + .flex-item {
	margin: var(--gap-16) auto 0;
}

/* .flexの幅で可変にする > 親要素の横幅が大きいかどうかでスタイルを切り替える */
/* 566 = 280 * 2 + 16 */
/* @container flex-container (min-width: 566px) {
	.flex-2cols .flex-item,
	.flex-3cols .flex-item,
	.flex-4cols .flex-item {
		width: calc((100% - var(--gap-16)) / 2);
		margin: 0 var(--gap-16) var(--gap-16) 0;
	}
	.flex-2cols .flex-item:nth-of-type(2n),
	.flex-3cols .flex-item:nth-of-type(2n),
	.flex-4cols .flex-item:nth-of-type(2n) {
		margin-right: 0;
	}
} */
/* 664 = 320 * 2 + 24 */
/* @container flex-container (min-width: 664px) {
  .flex-item + .flex-item {
    margin: var(--gap-24) auto 0;
  }

	.flex-2cols .flex-item,
	.flex-3cols .flex-item,
	.flex-4cols .flex-item {
		width: calc((100% - var(--gap-24)) / 2);
		margin: 0 var(--gap-24) var(--gap-24) 0;
	}
	.flex-2cols .flex-item:nth-of-type(2n),
	.flex-3cols .flex-item:nth-of-type(2n),
	.flex-4cols .flex-item:nth-of-type(2n) {
		margin-right: 0;
	}

} */
/* 696 = 768 - 36 * 2 */
/* @container flex-container (min-width: 696px) {

	.flex-3cols .flex-item {
		width: calc((100% - var(--gap-16) * 2) / 3);
		margin: 0 var(--gap-16) var(--gap-16) 0;
	}
	.flex-3cols .flex-item:nth-of-type(2n) {
		margin-right: var(--gap-16);
	}
	.flex-3cols .flex-item:nth-of-type(3n) {
		margin-right: 0;
	}
} */
/* 944 = 1024 - 40 * 2 */
/* @container flex-container (min-width: 944px) {
  .flex-item + .flex-item {
    margin: var(--gap-40) auto 0;
  }

	.flex-2cols .flex-item {
		width: calc((100% - var(--gap-40)) / 2);
		margin: 0 var(--gap-40) var(--gap-40) 0;
	}
  .flex-2cols .flex-item:nth-of-type(2n) {
		margin-right: 0;
	}

	.flex-3cols .flex-item {
		width: calc((100% - var(--gap-24) * 2) / 3);
		margin: 0 var(--gap-24) var(--gap-24) 0;
	}
  .flex-3cols .flex-item:nth-of-type(2n) {
		margin-right: var(--gap-24);
	}
	.flex-3cols .flex-item:nth-of-type(3n) {
		margin-right: 0;
	}

	.flex-4cols .flex-item {
		width: calc((100% - var(--gap-24) * 3) / 4);
		margin: 0 var(--gap-24) var(--gap-24) 0;
	}
	.flex-4cols .flex-item:nth-of-type(2n) {
		margin-right: var(--gap-24);
	}
	.flex-4cols .flex-item:nth-of-type(4n) {
		margin-right: 0;
	}
} */
/* 1040 = 320 * 3 + 40 * 2 */
/* @container flex-container (min-width: 1040px) {
	.flex-3cols .flex-item {
		width: calc((100% - var(--gap-40) * 2) / 3);
		margin: 0 var(--gap-40) var(--gap-40) 0;
	}
  .flex-3cols .flex-item:nth-of-type(2n) {
		margin-right: var(--gap-40);
	}
	.flex-3cols .flex-item:nth-of-type(3n) {
		margin-right: 0;
	}
} */

.widget {
	/* height: 360px; */
	/* min-height: 655px; */
	/* border-radius: 1.6rem; */
	/* border: 1px solid rgb(207, 217, 222); */
  width: 100%;
	height: 580px !important;
	overflow: hidden;
}
.widget .twitter-tweet,
.widget .twitter-timeline {
	height: 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	/* border-radius: 1.6rem; */
	overflow: hidden;
	margin: 0 !important;
}
/* .widget .twitter-timeline {
	height: 100% !important;
	width: 100% !important;
	border-radius: 1.6rem;
	overflow: hidden;
} */
.widget iframe {
	height: 100% !important;
	width: 100% !important;
	object-fit: cover;
	/* border-radius: 1.6rem; */
	overflow: hidden;
}

/* ------------------------------------------------------------ */
/* list */
/* ------------------------------------------------------------ */
.list-box {
	width: 100%;
	padding: var(--clamp-16to40);
}
.list-box + .list-box {
	margin: 4rem auto 0;
}
.txt-list {
	width: 100%;
	/* display: flex;
  flex-direction: column; */
}
.txt-list-item {
	padding: var(--gap-16);
	border-bottom: 1px solid rgb(var(--gray-dark));
}

.txt-list-item a {
	width: 100%;
	display: flex;
	/* align-items: flex-start; */
	align-items: center;
	flex-wrap: wrap;
}

.txt-ttl {
	line-height: 1.6;
	margin: var(--gap-8) 0 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.txt-list-item .txt-ttl {
	width: 100%;
	margin: 0;
}

.cat-box {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	width: 100%;
}
.txt-list-item .cat-box {
	width: auto;
}
.cat {
	/* min-width: 120px; */
	display: inline-flex;
	justify-content: center;
	align-items: center;
	line-height: 1.5;
	font-size: 1.2rem;
	padding: 0 1em;
	margin: 0 0.5em var(--gap-8) 0;
	border-radius: 100vmax;
	background-color: rgb(var(--wht));
	border: 1px solid rgb(var(--base));
}
.cat.cat_hall {
	color: rgb(var(--h-primary));
	border-color: rgb(var(--h-primary));
}
.cat.cat_museum {
	color: rgb(var(--m-primary));
	border-color: rgb(var(--m-primary));
}
.cat.cat_report {
	color: rgb(var(--r-primary));
	border-color: rgb(var(--r-primary));
}
.cat.fill {
	font-weight: bold;
	color: rgb(var(--wht));
	background-color: rgb(var(--base));
}
.cat.fill.cat_hall {
	color: rgb(var(--wht));
	background-color: rgb(var(--h-primary));
}
.cat.fill.cat_museum {
	color: rgb(var(--wht));
	background-color: rgb(var(--m-primary));
}
.cat.fill.cat_report {
	color: rgb(var(--wht));
	background-color: rgb(var(--r-primary));
}

.item-date {
	line-height: 1.3;
}

.datetime {
	line-height: 1.5;
	font-size: 1.2rem;
}
.txt-list-item .datetime {
	margin: 0 var(--gap-8) var(--gap-8) 0;
}

.datetime + .datetime::before {
	content: "〜";
	display: inline-block;
	vertical-align: middle;
	margin: 0 0.5em 0 0;
}

/* ------------------------------------------------------------ */
/* report-list */
/* ------------------------------------------------------------ */
.event-item,
.report-item {
	margin-bottom: var(--gap-24);
	height: auto;
}
.event-item.flex {
	align-items: center;
}
.collection .event-item .flex {
	align-items: flex-start;
}
.report-item,
.report-item a {
	width: 100%;
	height: auto;
	display: flex;
	justify-content: space-between;
	flex-direction: column;
	/* background-color: rgb(var(--r-primary-light)); */
	background-color: rgb(var(--wht));
}
.report-item {
	border: 1px solid rgb(var(--gray-light));
}
.report-item a {
	height: 100%;
}
.top .event-item a {
	height: 100%;
	display: block;
	border: 1px solid rgb(var(--gray-dark));
}
.item-info {
	width: 100%;
	padding: var(--gap-16) 0 0;
}
.top .event-item .item-info {
	padding: var(--gap-16);
	border-top: 1px solid rgb(var(--gray-dark));
}

.report-item .item-info {
	/* background-color: rgb(var(--r-primary-light)); */
	padding: var(--gap-16);
	border-top: none;
}
.report-item a .item-info {
	margin: 0 auto auto;
}

.report-item .tag,
.experience .event-item .tag {
	color: rgb(var(--r-primary));
	border: 1px solid rgb(var(--r-primary));
}
.item-ttl {
	font-weight: bold;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.report-item .item-ttl {
	-webkit-line-clamp: 4;
}
.item-desc {
	line-height: 1.5;
	font-size: 1.4rem;
}
/* ------------------------------------------------------------ */
/* ticket-list */
.txt-list.is-ticket {
	margin-bottom: 0;
}
.is-ticket .txt-list-item {
	padding: 0;
}
.is-ticket .txt-list-item:not(:last-of-type) {
	margin: 0 0 var(--gap-16);
}
.is-ticket .txt-list-item a {
	padding: 0 0 var(--gap-16);
	align-items: center;
}

.is-ticket .txt-list-item .item-ttl {
	order: 3;
	width: 100%;
}
.is-ticket .txt-list-item .item-tag {
	order: 2;
	/* width: calc(100% - 112px); */
	width: auto;
	padding-left: var(--gap-8);
}
.is-ticket .txt-list-item .item-date {
	order: 1;
	width: auto;
	min-width: 88px;
	/* margin: 0 0 var(--gap-8); */
}
.is-ticket .item-date .datetime {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: baseline;
	position: relative;
	font-family: var(--font-en);
	font-weight: 700;
	font-size: clamp(1.6rem, 1.328rem + 0.851vw, 2.2rem);
	line-height: 1;
	letter-spacing: 0;
}
.is-ticket .item-date .day {
	font-size: 1.5em;
	padding: 0 0.4rem 0 0;
}

/* ------------------------------------------------------------ */
/* thumb */
/* ------------------------------------------------------------ */
.media-list {
	width: 100%;
	justify-content: center;
}
.media-item {
	/* width: 100%; */
	/* margin-bottom: var(--gap-32); */
}

.media-list a {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-direction: column;
}

.event-item .flex .thumb {
	/* padding-top: 108px; */
	aspect-ratio: 16/9;
	margin-bottom: 0;
}
.event-item .flex .thumb.vertical {
	aspect-ratio: 420 / 516;
}

.no-wrap {
	align-items: flex-start;
}
.no-wrap .flex-item {
	margin: 0;
	padding: 0 0 0 var(--gap-16);
}
.no-wrap .thumb {
	/* max-width: 36%; */
	padding: 0;
	width: 120px;
	/* padding-top: 30%; */
}
.event-item .no-wrap .item-info {
	padding: 0 0 0 var(--gap-16);
	width: calc(100% - 120px);
}

.page .base .event-item.latest .thumb {
	/* padding-top: calc(385 / 560 * 100%); */
	/* max-height: 385px; */
}

.media-item .thumb::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	/* padding-top: calc(180 / 340 * 100%); */
	background: rgba(var(--base), 0.32);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
.media-item .thumb::after {
	content: "▶︎";
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	font-size: 1.5em;
	line-height: 1;
	letter-spacing: 0;
	padding: 0 0 0 3px;
	width: 4.8rem;
	height: 4.8rem;
	color: rgba(var(--wht));
	border: 3px solid rgb(var(--wht));
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 3;
}

.media-list a:hover img {
	-webkit-transform: translate(-50%, -50%) scale(1.2);
	transform: translate(-50%, -50%) scale(1.2);
}
.thumb-caps {
	display: block;
	width: 100%;
	text-align: center;
	font-weight: bold;
	margin: var(--gap-16) auto 0;
}
.thumb-caps img {
	margin: 0 auto;
	width: auto;
	height: auto;
	display: block;
}

.media-item.width-vw {
	width: 100vw;
	position: relative;
	max-height: 360px;
	overflow: hidden;
}
.media-item.width-vw .thumb::after {
	top: 65%;
}
.media-item.width-vw .thumb-caps {
	color: rgb(var(--wht));
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	padding: 1.6rem;
	margin: 2.4rem auto 0;
	font-size: var(--clamp-28to56);
	font-weight: 700;
	line-height: 1;
}
.media-item.width-vw .thumb-caps span {
	display: block;
	font-size: 0.6em;
	margin: 0 auto 0.8rem;
}
/* ------------------------------------------------------------ */
/* banner */
/* ------------------------------------------------------------ */
.bnr-list {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	/* margin: var(--clamp-40to80) auto 0; */
	margin: 0 auto;
}
.bnr-item {
	/* width: 100%; */
	margin: 0 auto var(--gap-16);
}
.bnr-2cols .bnr-item,
.bnr-4cols .bnr-item {
	/* width: 100%;
	margin: 0 auto; */
	width: calc((100% - var(--gap-16)) / 2);
	margin: 0 var(--gap-16) var(--gap-16) 0;
}
.bnr-2cols .bnr-item:nth-of-type(2n),
.bnr-4cols .bnr-item:nth-of-type(2n) {
	margin-right: 0;
}
.bnr-item a {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	text-align: center;
	letter-spacing: 0.08em;
	/* flex-direction: column; */
	/* font-family: var(--font-jp); */
	font-size: clamp(1.4rem, 1.218rem + 0.567vw, 1.8rem);
	font-weight: bold;
	color: rgb(var(--base));
	border: 1px solid rgb(var(--gray-dark));
	background-color: rgb(var(--wht));
}
.bnr-item img {
	width: 100%;
	height: auto;
	margin: 0;
	object-fit: contain;
}
.bnr-item.no-img a {
	padding: 0.8em;
	line-height: 1.3;
	text-wrap: balance;
	/* min-height: 68px; */
	aspect-ratio: 16/9;
}

.bnr-link {
	padding: var(--size-rg) var(--size-sm);
	font-weight: 700;
	font-size: 2rem;
	line-height: 1;
	letter-spacing: 0.5px;
	height: 100%;
}
.bnr-link i {
	margin: 0 0.8rem 0 0;
	display: inline-block;
	font-size: 2.4rem;
}
.bnr-link .fa-x-twitter {
	margin: 0.6rem 0.8rem 0 0;
}

.bnr-movie {
	width: 100%;
	height: auto;
	margin: 0 auto;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
.bnr-movie + .bnr-movie {
	margin-top: var(--size-lg);
}
.bnr-movie img {
	width: 100%;
	height: auto;
	margin: 0;
	object-fit: cover;
}

/* ------------------------------------------------------------ */
/* タブ */
/* ------------------------------------------------------------ */
.tab-btn {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.js-tabTrigger {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 0.8em 0.5em;
	font-weight: bold;
	font-size: clamp(1.4rem, 1.309rem + 0.284vw, 1.6rem);
	line-height: 1.4;
	background-color: rgba(var(--wht), 1);
	border-top: 2px solid rgba(var(--base), 0.4);
	opacity: 0.8;
	margin: 0 0 0.25em;
}
.tab-3cols .js-tabTrigger {
	max-width: calc((100% - 0.25em * 2) / 3);
	margin: 0 0.25em 0.25em 0;
}
.tab-3cols .js-tabTrigger:nth-of-type(3n) {
	margin-right: 0;
}
.tab-4cols .js-tabTrigger {
	max-width: calc((100% - 0.25em * 2) / 2);
	margin: 0 0.25em 0.25em 0;
}
.tab-4cols .js-tabTrigger:nth-of-type(2n) {
	margin-right: 0;
}

.tab-btn a {
	color: rgba(var(--base), 0.6);
}
.tab-btn a.is-active {
	color: rgba(var(--base), 1);
	border-color: rgb(var(--base));
	opacity: 1;
}
.hall .js-tabTrigger.is-active {
	border-color: rgb(var(--h-primary));
}
.hall .js-tabTrigger:hover {
	background-color: rgb(var(--h-primary-light));
}
.museum .js-tabTrigger.is-active {
	border-color: rgb(var(--m-primary));
}
.museum .js-tabTrigger:hover {
	background-color: rgb(var(--m-primary-light));
}
.js-tabCnt {
	display: none;
	opacity: 0;
	visibility: hidden;
	padding: var(--gap-16) 0 0;
	-webkit-transition: all 0.2s linear;
	transition: all 0.2s linear;
	animation: fadeIn 2s linear -1s 1 forwards;
}
.js-tabCnt.is-active {
	display: block;
	opacity: 1;
	visibility: visible;
	/* animation: fadeIn 1s linear 0.5s 1 forwards; */
}
.js-tabToc {
	display: none;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: all 0.2s linear;
	transition: all 0.2s linear;
	animation: fadeIn 2s linear -1s 1 forwards;
}
.js-tabToc.is-active {
	display: block;
	opacity: 1;
	visibility: visible;
	/* animation: fadeIn 1s linear -1s 1 forwards; */
}

/* ------------------------------------------------------------ */
/* アコーディオン */
/* ------------------------------------------------------------ */
.js-accordion {
}
.js-acToggle {
	position: relative;
}
.js-acToggle::after {
	content: "\f078";
	font-family: "Font Awesome 6 Free";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-style: normal;
	font-variant: normal;
	font-weight: 900;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	margin: 0;
	font-size: 0.8em;
	line-height: 1;
	letter-spacing: 0;
	position: absolute;
	top: 50%;
	right: 0.4em;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: transform 0.3s ease-in-out;
	transition: transform 0.3s ease-in-out;
}
.js-acToggle.is-active::after {
	-webkit-transform: translateY(-50%) rotate(180deg);
	transform: translateY(-50%) rotate(180deg);
}

.js-acElm {
	/* display: none; */
	height: 0;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: height 0.3s ease-in-out;
	transition: height 0.3s ease-in-out;
}
.js-acElm.is-active {
	height: auto;
	opacity: 1;
	visibility: visible;
}

/* ------------------------------------------------------------ */
/* footer */
/* ------------------------------------------------------------ */
.main-footer {
	width: 100%;
	background: rgb(var(--base));
	position: relative;
}
.page-top {
	display: block;
	width: 4.4rem;
	height: 4.4rem;
	border-radius: 50%;
	background: rgb(var(--base));
	border: 1px solid rgb(var(--base));
	position: absolute;
	right: 0.5em;
	/* top: -1.5em; */
	bottom: 5.6rem;
	-webkit-transition: all 0.2s linear;
	transition: all 0.2s linear;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
	z-index: 999;
}
.page-top.is-fixed {
	position: fixed;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}
.page-top.is-stop {
	position: absolute;
	/* top: -1.5em; */
	/* bottom: auto; */
	-webkit-transform: translateY(1.5em);
	transform: translateY(1.5em);
}

.page-top::before,
.page-top::after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	-webkit-transition: background-color 0.2s linear, border-color 0.2s linear, top 0.2s linear;
	transition: background-color 0.2s linear, border-color 0.2s linear, top 0.2s linear;
}
.page-top::before {
	width: 1.2rem;
	height: 1.2rem;
	top: 1.3rem;
	border-top: 1px solid rgb(var(--wht));
	border-right: 1px solid rgb(var(--wht));
	-webkit-transform: translateX(-50%) rotate(-45deg);
	transform: translateX(-50%) rotate(-45deg);
}
.page-top::after {
	width: 1px;
	height: 2rem;
	top: 1.25rem;
	background: rgb(var(--wht));
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.page-top:hover {
	background: rgb(var(--wht));
}
.page-top:hover::before {
	border-color: rgb(var(--base));
	top: 0.8rem;
}
.page-top:hover::after {
	background-color: rgb(var(--base));
	top: 0.75rem;
}

/* ------------------------------------------------------------ */
/* sitemap  */
/* ------------------------------------------------------------ */
.sitemap {
	width: 100%;
	background: rgb(var(--wht));
	padding: var(--clamp-40to64) 0;
	border-top: 2px solid rgb(var(--gray));
}
.sitemap .flex {
	position: relative;
	justify-content: space-between;
}
.sitemap-list {
	margin: var(--gap-8) 0 0;
	font-size: 1.2rem;
	width: 100%;
	padding: 0 calc(50% - 0.5em) 0 0;
}
.sitemap-list:last-of-type {
	width: calc(50% - 0.5em);
	padding: 0;
	position: absolute;
	right: 0;
	z-index: 2;
}
.sitemap-item:not(:first-of-type) {
	margin: var(--gap-8) 0 0;
}
.sitemap-list:not(:last-of-type) .sitemap-item:not(:first-of-type) {
	display: none;
}
/* ------------------------------------------------------------ */
/* footer  */
/* ------------------------------------------------------------ */
.footer {
	width: 100%;
	padding: var(--clamp-40to64) var(--clamp-16to40) calc(4.8rem + 1em);
	color: rgb(var(--wht));
}
.footer .main-logo {
	/* width: 160px; */
	margin: 0 auto;
}
.footer .main-logo a {
	display: block;
	width: 160px;
	margin: 0 auto;
}
.footer .logo-item-2 a {
	width: 70%;
	/* max-width: calc(160px + 64px); */
	display: flex;
	justify-content: center;
	align-items: center;
}
.footer .logo-item-2 img {
	width: 70%;
	max-width: 160px;
}
.footer .logo-item-2 img.logo-ten {
	width: 30%;
	max-width: 64px;
}
.add {
	font-style: normal;
	font-size: 1.2rem;
	display: block;
	width: 100%;
	text-align: center;
	margin: var(--gap-16) 0 0;
}
.ft-info {
	width: 100%;
	justify-content: center;
	margin: var(--gap-24) auto 0;
	/* justify-content: space-between;
	margin: var(--gap-24) 0 0; */
}
.footer .bnr-list {
	width: auto;
	margin: var(--gap-24) auto 0;
	/* flex-wrap: nowrap; */
  justify-content: center;
}
.footer .bnr-item {
	/* width: 100%; */
	max-width: 320px;
	margin: 0 var(--gap-8) var(--gap-16) 0;
}
.footer .bnr-item:last-of-type {
	margin-right: 0;
}
.footer .bnr-item a {
	border-radius: 1rem;
	font-size: 1.25rem;
	padding: 1em 0.6em;
}
.footer .bnr-link i {
	font-size: 1.6rem;
	margin: 0 4px 0 0;
}
.footer .bnr-link .fa-x-twitter {
	margin: 0 4px 0 0;
}

.ft-info .facility {
	max-width: 40%;
	font-size: 1.2rem;
	line-height: 1.5;
	display: flex;
	flex-direction: column;
	/* padding: 0 0 0 1.6rem; */
}
.ft-info .facility:first-of-type {
	max-width: 60%;
	padding: 0 1.6rem 0 0;
}
.ft-info .facility dt {
	font-weight: bold;
	margin: 0 0 var(--gap-8);
}
.ft-info .facility dd > span {
	width: 100%;
	display: block;
}

.copy {
	padding: 0 1.6em;
	text-align: center;
	font-size: 1rem;
	width: 100%;
	display: block;
}
@media screen and (min-width: 480px) {
	/* スマートフォン横 */
	#js-closeBtn {
		top: 4rem;
		left: 1.4rem;
	}
	/* ------------------------------------------------------------ */
	/* flex */
	/* ------------------------------------------------------------ */
	.flex-item + .flex-item {
		margin: var(--gap-24) auto 0;
	}

	.flex-2cols .flex-item,
	.flex-3cols .flex-item,
	.flex-4cols .flex-item {
		width: calc((100% - var(--gap-24)) / 2);
		margin: 0 var(--gap-24) var(--gap-24) 0;
	}
	.flex-2cols .flex-item:nth-of-type(2n),
	.flex-3cols .flex-item:nth-of-type(2n),
	.flex-4cols .flex-item:nth-of-type(2n) {
		margin-right: 0;
	}

	/* ------------------------------------------------------------ */
	/* banner */
	/* ------------------------------------------------------------ */
	.bnr-4cols .bnr-item {
		width: calc((100% - var(--gap-16) * 2) / 3);
	}
	.bnr-4cols .bnr-item:nth-of-type(2n) {
		margin-right: var(--gap-16);
	}
	.bnr-4cols .bnr-item:nth-of-type(3n) {
		margin-right: 0;
	}
	.bnr-2cols .bnr-item {
		width: calc((100% - var(--gap-16)) / 2);
	}
	.bnr-2cols .bnr-item:nth-of-type(2n) {
		margin-right: 0;
	}
	.bnr-2cols .bnr-item:nth-of-type(3n) {
		margin-right: var(--gap-16);
	}
  .movie .bnr-item:nth-of-type(3) {
		margin-right: 0;
  }
	/* ------------------------------------------------------------ */
	/* event-item */
	/* ------------------------------------------------------------ */
	.event-item .flex .thumb {
		width: 200px;
		margin: 0;
	}
	.event-item .no-wrap .item-info {
		width: calc(100% - 200px);
		margin: 0;
	}

	.list-box .event-item .flex .thumb {
		width: 200px;
	}
	.list-box .event-item .flex .item-info {
		width: calc(100% - 200px);
	}
	.collection .list-box .event-item .flex .item-info {
		margin-right: 0;
		margin-bottom: 0;
		padding: 0 0 0 var(--gap-24);
	}
	/* ------------------------------------------------------------ */
	/* ticket-list */
	/* ------------------------------------------------------------ */
	/* ------------------------------------------------------------ */
	/* tab */
	/* ------------------------------------------------------------ */
	.tab-btn-item {
		width: auto;
		flex: 1;
		margin: 0 0 0.25em;
	}
	.tab-btn-item + .tab-btn-item {
		margin-left: 0.25em;
	}
	/* ------------------------------------------------------------ */
	/* footer */
	/* ------------------------------------------------------------ */

	.footer .bnr-item a {
		font-size: 1.4rem;
		padding: 0.8em;
		height: auto;
	}
}
@media screen and (min-width: 768px) {
	/* タブレット縦 / スマートフォン横 */
	/* ------------------------------------------------------------ */
	/* click menu */
	/* ------------------------------------------------------------ */
	#js-closeBtn {
		top: 15%;
	}
	.cm-content {
		align-items: flex-start;
		max-height: 66vh;
	}
	.cm-content.is-active {
		bottom: 50%;
		-webkit-transform: translate(-50%, 50%);
		transform: translate(-50%, 50%);
	}

	.cm-content .latest {
		width: 45%;
	}
	.cm-content .event-list {
		order: 3;
		border-bottom: none;
		width: 100%;
	}
	.hall.cm-content .event-list,
	.museum.cm-content .event-list {
		border-bottom: none;
	}
	.cm-content .event-list .event-item {
		width: calc((100% - 1em) / 2);
	}
	.cm-content .event-list .event-item:nth-of-type(2n) {
		margin-right: 1em;
	}
	.cm-content .event-list .event-item:nth-of-type(3n) {
		margin-right: 0;
	}
	.cm-content .event-list .event-item a {
		/* flex-direction: row; */
	}
	.cm-content .event-list .event-item .thumb {
		/* width: 45%;
		padding-top: 80px; */
	}
	.cm-content .event-list .event-item .item-info {
		/* width: 55%; */
		padding: 0.8rem 0.8rem 0.8rem 1em;
	}

	.cm-content .menu-box {
		width: 55%;
		padding: 0 0 2.4rem 2.4rem;
		order: 2;
	}
	.btn-menu {
		margin: 0 auto;
	}
	.page_top .btn-menu {
		margin: var(--gap-40) auto 0;
	}
	.btn-4cols .btn-menu-item {
		width: calc((100% - (2.4rem * 3)) / 4);
		margin: 0 2.4rem 2.4rem 0;
	}
	.btn-4cols .btn-menu-item:nth-of-type(2n) {
		margin: 0 2.4rem 2.4rem 0;
	}
	.btn-4cols .btn-menu-item:nth-of-type(4n) {
		margin: 0 0 2.4rem;
	}
	/* ------------------------------------------------------------ */
	/* common content */
	/* ------------------------------------------------------------ */

	/* ------------------------------------------------------------ */
	/* flex */
	/* ------------------------------------------------------------ */
	.flex-item + .flex-item {
		margin: var(--gap-40) auto 0;
	}

	.flex-2cols .flex-item {
		width: calc((100% - var(--gap-40)) / 2);
		margin: 0 var(--gap-40) var(--gap-40) 0;
	}
	.flex-2cols .flex-item + .flex-item,
	.flex-3cols .flex-item + .flex-item,
	.flex-4cols .flex-item + .flex-item {
		margin-left: 0;
	}
	.flex-2cols .flex-item:nth-of-type(2n) {
		margin-right: 0;
	}

	.flex-3cols .flex-item {
		width: calc((100% - var(--gap-24) * 2) / 3);
		margin: 0 var(--gap-24) var(--gap-24) 0;
	}
	.flex-3cols .flex-item:nth-of-type(2n) {
		margin-right: var(--gap-24);
	}
	.flex-3cols .flex-item:nth-of-type(3n) {
		margin-right: 0;
	}

	.flex-4cols .flex-item {
		width: calc((100% - var(--gap-24) * 3) / 4);
		margin: 0 var(--gap-24) var(--gap-24) 0;
	}
	.flex-4cols .flex-item:nth-of-type(2n) {
		margin-right: var(--gap-24);
	}
	.flex-4cols .flex-item:nth-of-type(4n) {
		margin-right: 0;
	}

	/* ------------------------------------------------------------ */
	/* tab */
	.tab-4cols {
		justify-content: flex-start;
	}
	.tab-4cols .js-tabTrigger {
		max-width: calc((100% - 0.25em * 3) / 4);
		margin: 0 0.25em 0.25em 0;
	}
	.tab-4cols .js-tabTrigger:nth-of-type(2n) {
		margin-right: 0.25em;
	}
	.tab-4cols .js-tabTrigger:nth-of-type(4n) {
		margin-right: 0;
	}
	/* ------------------------------------------------------------ */
	/* event */
	/* ------------------------------------------------------------ */

	.event-item .no-wrap .thumb {
		/* max-width: 260px;
		padding-top: 178px; */
	}
	.event-item .flex .thumb {
		width: 240px;
		margin: 0;
	}
	.event-item .no-wrap .item-info {
		width: calc(100% - 240px);
		margin: 0;
		padding: 0 0 0 var(--gap-24);
	}

	.list-box .event-item .flex .thumb {
		width: 200px;
	}
	.list-box .event-item .flex .item-info {
		width: calc(100% - 200px);
	}
	/* ------------------------------------------------------------ */
	/* ticket-list */
	/* ------------------------------------------------------------ */
	.is-ticket .txt-list-item a {
		align-items: center;
	}
	.is-ticket .txt-list-item .item-tag {
		order: 3;
		width: 136px;
		justify-content: flex-end;
	}
	.is-ticket .txt-list-item .item-ttl {
		order: 2;
		width: calc(100% - (120px + 136px));
		padding: 0 0.5em;
	}
	.is-ticket .txt-list-item .item-date {
		width: 120px;
		margin: 0;
	}
	.is-ticket .txt-list-item .tag {
		min-width: 120px;
	}
	/* ------------------------------------------------------------ */
	/* banner */
	/* ------------------------------------------------------------ */

	.bnr-4cols .bnr-item {
		width: calc((100% - var(--gap-24) * 3) / 4);
		margin-right: var(--gap-24);
		margin-bottom: var(--gap-24);
	}
	.bnr-4cols .bnr-item:nth-of-type(2n),
	.bnr-4cols .bnr-item:nth-of-type(3n) {
		margin-right: var(--gap-24);
	}
	.bnr-4cols .bnr-item:nth-of-type(4n) {
		margin-right: 0;
	}

	.bnr-2cols .bnr-item {
		width: calc((100% - var(--gap-24)) / 2);
	}
	.bnr-2cols .bnr-item:nth-of-type(2n),
	.bnr-2cols .bnr-item:nth-of-type(4n) {
		margin-right: 0;
	}
	.bnr-2cols .bnr-item:nth-of-type(3n) {
		margin-right: var(--gap-24);
	}

	.widget {
		height: 580px !important;
	}
  .movie .bnr-item:nth-of-type(3) {
		margin-right: 0;
  }
	/* ------------------------------------------------------------ */
	/* footer */
	/* ------------------------------------------------------------ */
	.footer {
		align-items: flex-end;
	}
	.footer .main-logo {
		margin: 0;
		max-width: 320px;
	}
	.footer .main-logo a {
		margin: 0;
	}
	.footer .ft-info {
		width: auto;
		margin: 0;
		padding: 0 var(--gap-24);
	}
	.ft-info .facility {
		max-width: inherit;
	}
	.footer .bnr-list {
		/* margin: var(--gap-24) 0 0; */
		margin: var(--gap-24) auto 0;
	}
	.copy {
		font-size: 1.2rem;
	}
}
@media screen and (min-width: 1025px) {
	/* デスクトップ/タブレット横 */
	.pc-hidden {
		display: none;
	}

	/* ------------------------------------------------------------ */
	/* header */
	/* ------------------------------------------------------------ */
	.main-header {
		padding: 0 1.6rem;
		/* max-height: 6.4rem; */
		max-height: inherit;
		align-items: stretch;
	}
	.main-header:has(.logo-item-2) {
		padding: 0 1.6rem;
		max-height: inherit;
	}
	.main-header .main-logo {
		width: 160px;
		margin: 1.6rem 0;
	}
	.main-header .logo-item-2 {
		width: 20%;
		max-width: calc(160px + 64px);
		margin: 0;
	}
	.main-header .logo-item-2 a {
		padding: 1rem 0;
	}
	.logo-item-2 img {
		max-width: 160px;
	}
	.logo-item-2 img.logo-ten {
		max-width: 64px;
	}
	.info-box {
		font-size: 1.4rem;
	}
	.status-txt {
		font-size: 1.6rem;
	}
	.language {
		font-size: 1.8rem;
	}
	.lang-selector {
		width: 26rem;
	}
	/* .gt_selector {
		font-size: 1.6rem;
	} */
	.search-btn {
		width: 1.6rem;
		font-size: 1.6rem;
	}
	/* ------------------------------------------------------------ */
	/* gnav */
	/* ------------------------------------------------------------ */
	.gnav {
		width: calc(100% - 160px);
		/* height: 100%; */
		/* padding: 0 160px 0 calc(28% + 3em); */
		padding: 0 176px 0 1em;
		display: flex;
		justify-content: flex-end;
		flex-wrap: nowrap;
		/* position: relative; */
	}
	.nav-menu {
		/* width: calc(100% - (300px + 1em)); */
		width: auto;
		max-width: calc(60% - 1em);
		flex-direction: row;
		align-items: center;
		margin: 0 0 0 1em;
	}
	.menu-item {
		/* margin: 0 clamp(0.8rem, -2.416rem + 3.137vw, 1.6rem); */
		margin: 0 clamp(0.6rem, -3.42rem + 3.922vw, 1.6rem);
		/* font-size: clamp(1.2rem, -0.408rem + 1.569vw, 1.6rem); */
		/* font-size: clamp(1.4rem, 0.596rem + 0.784vw, 1.6rem); */
		/* font-size: clamp(1.3rem, 0.094rem + 1.176vw, 1.6rem); */
    font-size: clamp(1.3rem, 0.87vw + 0.409rem, 1.4rem);
    line-height: 1.5;
	}
	/* ------------------------------------------------------------ */
	/* click menu */
	/* ------------------------------------------------------------ */
	.gnav > .pc-hidden:has(.click-menu) {
		display: block;
		width: 42%;
		max-width: 18em;
	}
	#js-closeBtn {
		display: none;
	}
	.click-menu {
		/* width: 42%;
		max-width: 18em; */
		height: 100%;
		min-height: auto;
		position: relative;
		/* position: absolute; */
		/* top: 0; */
		bottom: auto;
		/* left: calc(160px + 3em); */
		left: auto;
		/* right: calc(72% - (1em + 154px)); */
		box-shadow: none;
		margin: 0;
	}
	.cm-ttl {
		/* height: 6.4rem; */
		height: 100%;
		position: relative;
		bottom: auto;
		left: auto;
		right: auto;
		/* font-size: clamp(1.4rem, 0.596rem + 0.784vw, 1.6rem); */
		font-size: clamp(1.3rem, 0.094rem + 1.176vw, 1.6rem);
	}
	.cm-ttl::after {
		right: 0.5em;
	}
	.cm-content {
		width: 880px;
		height: 0;
		max-height: 540px;
		opacity: 0;
		visibility: hidden;
		padding: 2em 2em 0;
		margin-top: 8.2rem;
		bottom: inherit;
		top: 0;
		/* left: calc(-160px - 2em); calc(-160px - 4.25em)*/
		left: 0;
		-webkit-transform: translateY(0);
		transform: translateY(0);
		-webkit-transition: height 0.2s linear;
		transition: height 0.2s linear;
	}
	.cm-content.is-active {
		bottom: auto;
		opacity: 1;
		visibility: visible;
		-webkit-transition: height 0.2s linear;
		transition: height 0.2s linear;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);

		/* animation: slideHeight 0.2s linear 0.3s 1 forwards; */
	}

	.cm-content .event-list .event-item {
		width: calc((100% - 1em) / 3);
	}
	.cm-content .event-list .event-item:nth-of-type(2n) {
		margin-right: 1em;
	}
	.cm-content .event-list .event-item:nth-of-type(3n) {
		margin-right: 0;
	}

	/* @keyframes slideHeight {
		0% {
			height: 0;
		}
		100% {
			height: auto;
		}
	} */
	.page_top .btn-menu {
		margin: var(--gap-24) auto 0;
	}
	/* ------------------------------------------------------------ */
	/* common content */
	/* ------------------------------------------------------------ */
	.content {
		padding: 8.4rem 0;
	}
	/* ------------------------------------------------------------ */
	/* flex */
	/* ------------------------------------------------------------ */
	.flex-3cols .flex-item {
		width: calc((100% - var(--gap-40) * 2) / 3);
		margin: 0 var(--gap-40) var(--gap-40) 0;
	}
	.flex-3cols .flex-item:nth-of-type(2n) {
		margin-right: var(--gap-40);
	}
	.flex-3cols .flex-item:nth-of-type(3n) {
		margin-right: 0;
	}

	/* ------------------------------------------------------------ */
	/* list */
	/* ------------------------------------------------------------ */
	.txt-list-item a {
		align-items: center;
		/* flex-wrap: nowrap; */
		height: 100%;
	}
	.page.news .txt-list-item a,
	.category .txt-list-item a {
		flex-wrap: wrap;
	}
	.txt-list-item .cat-box {
		/* width: calc(120px + var(--size-sm));
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		margin: 0 var(--size-sm) 0 0; */
		/* width: 100%;
    order: 1; */
	}
	.txt-list-item .cat-box .cat {
		min-width: 120px;
		/* margin: var(--size-xs) var(--size-xs) var(--size-xs) 0;
		flex: 1; */
	}
	.page.news .txt-list-item .cat-box,
	.category .txt-list-item .cat-box {
		/* width: calc(100% - 144px);
		justify-content: flex-start;
		align-items: center;
		flex-direction: row;
		margin: 0 0 var(--size-sm); */
	}
	.page.news .txt-list-item .cat-box .cat,
	.category .txt-list-item .cat-box .cat {
		width: auto;
		flex: 0 1 auto;
	}

	.txt-list-item .datetime {
		width: 96px;
		/* order: 2;
    margin: 0; */
	}
	.page.news .txt-list-item .datetime,
	.category .txt-list-item .datetime {
		width: 144px;
	}
	.txt-ttl {
		margin: 0;
		width: calc(100% - (120px + var(--size-sm) + 100px));
		display: block;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
	.txt-list-item .txt-ttl {
		/* width: calc(100% - (120px + var(--size-sm) + 100px)); */
		width: 100%;
		margin-top: var(--gap-8);
	}

	.page.news .txt-list-item .txt-ttl,
	.category .txt-list-item .txt-ttl {
		width: 100%;
	}

	.page .base .event-list .flex-item {
		width: calc((100% - var(--gap-40)) / 2);
		margin: 0 var(--gap-40) var(--gap-24) 0;
	}

	.page .base .event-list .flex-item .flex-item {
		width: calc((100% - var(--gap-24)) / 2);
		margin: 0 var(--gap-24) 0 0;
	}

	.page .base .event-list .flex-item + .flex-item {
		margin-right: 0;
		padding-left: 0;
	}

	.page .list-box .event-item .flex .flex-item {
		margin-bottom: 0;
	}
	.list-box .event-item {
		margin: var(--gap-24) 0 0;
	}
	.list-box .event-item .flex .thumb {
		width: 240px;
		margin: 0 var(--gap-24) 0 0;
	}
	.list-box .event-item .flex .item-info {
		width: calc(100% - (240px + var(--gap-24)));
	}

	.report-item,
	.report-item a {
		flex-direction: row;
		flex-wrap: nowrap;
	}
	.swiper .report-item,
	.swiper .report-item a {
		min-width: calc(280px * 2);
		width: auto !important;
	}
	.report-item .thumb {
		/* width: 280px; */
		/* padding-top: 180px; */
	}
	.report-item .thumb img {
		object-fit: cover;
	}
	.report-item .item-info {
		min-width: 280px;
		max-width: 300px;
	}

	/* ------------------------------------------------------------ */
	/* sitemap */
	/* ------------------------------------------------------------ */
	.sitemap-list {
		margin: var(--gap-8) 0 0;
		font-size: 1.4rem;
		padding: 0 var(--gap-16) 0 0;
		width: calc(100% / 5);
	}
	.sitemap-list:last-of-type {
		width: calc(100% / 5);
		padding: 0;
		position: relative;
		right: auto;
	}
	.sitemap-list:not(:last-of-type) .sitemap-item:not(:first-of-type) {
		display: block;
		padding: 0 0 0 1.5em;
		position: relative;
	}
	.sitemap-list:not(:last-of-type) .sitemap-item:not(:first-of-type)::before {
		content: "";
		display: block;
		width: 12px;
		height: 1px;
		line-height: 1;
		background-color: rgb(var(--base));
		position: absolute;
		top: 12px;
		left: 0;
	}
	.widget {
		height: 700px !important;
	}
	/* ------------------------------------------------------------ */
	/* footer */
	/* ------------------------------------------------------------ */
	.page-top {
		/* top: -1.5em; */
		right: 1.5em;
		bottom: 1.5em;
	}
	.footer {
		padding-bottom: 1.6rem;
	}
	/* .footer .main-logo {
		width: 160px;
		margin: 0;
	} */
	.footer .main-logo {
		max-width: 360px;
	}
	.add {
		font-size: 1.4rem;
		text-align: left;
	}
  .footer .ft-info {
    width: 370px;
  }
	.footer .bnr-list {
		margin-top: 0;
		margin-left: 0;
		margin-right: 0;
    /* max-width: calc(100% - (360px + 370px)); */
    max-width: 540px;
    justify-content: flex-start;
	}
	/* .ft-info {
		justify-content: flex-start;
	}
	.ft-info .facility {
		width: auto;
		font-size: 1.4rem;
	}
	.ft-info .facility:first-of-type {
		width: auto;
		padding: 0 3.2rem 0 0;
	}
	.footer .bnr-list {
		width: calc(100% - (232px + 150px + 4rem));
		align-items: flex-end;
		margin: 0 0 0 4rem;
	} */
	.footer .bnr-item {
		/* min-width: 196px; */
		margin: var(--gap-16) var(--gap-8) 0 0;
	}
	.copy {
		text-align: right;
		padding: 0;
		/* margin: var(--gap-40) 0 0; */
		margin: var(--gap-24) 0 0;
	}
}
@media screen and (min-width: 1138px) {
	.nav-menu {
		max-width: calc(100% - 19em);
	}
	.gnav .menu-item {
		font-size: clamp(1.4rem, 0.714vw + 0.586rem, 1.5rem);
	}
}
@media screen and (min-width: 1280px) {
	.gnav .menu-item {
		font-size: 1.5rem;
	}
	.gnav .menu-item br {
		display: none;
	}
}
