@charset "utf-8";
@import url("normalize.css");

html,
body {
	background-color: #0e1734;
	padding: 0;
	margin: 0;
	line-height: 1.6;
	letter-spacing: 0.05em;
	font-size: 16px;
	font-family: "zen-kaku-gothic-new", Arial, Helvetica, sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #f9fcff;
	overflow-x: clip;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

li {
	list-style: none;
	text-indent: -1em;
	padding-left: 1em;
}

p {
	margin: 0;
}

a {
	text-decoration: none;
	color: var(--color-primary);
}

a:hover {
	opacity: 0.7;
}

a:visited {
	text-decoration: none;
}
img {
	max-width: 100%;
	height: auto;
}

h1,
h2,
h3,
h4,
h5 {
	font-weight: 500;
	letter-spacing: 0.1em;
	margin-block-start: 0;
	margin-block-end: 0;
}

rt {
	font-size: 0.2em;
}
@media screen and (max-width: 768px) {
	rt {
		font-size: 0.15em;
	}
}

:root {
	--vw: 1vw;
	--color-base: #0e1734;
	--color-primary: #f9fcff;
	--color-secondary: #eaeef8;
	--color-gradation: linear-gradient(
		45deg,
		#fff 0%,
		#fff 2.38%,
		#bedcdf 13.05%,
		#bcadcb 24.51%,
		#f0bfd3 40%,
		#f2bea4 60%,
		#f1f5bc 80%,
		#cbe4b5 94.98%,
		#bedeb3 100%
	);
}
.w__100 {
	/* width 100vw */
	width: calc(var(--vw) * 100);
}
.w__50 {
	/* width 50vw */
	width: calc(var(--vw) * 50);
}
.no-tern {
	display: inline-block;
}
/* ------------- ローディング画面 -------------- */
.loading {
	position: fixed;
	z-index: 10000;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0px;
	padding: 0px;
	display: flex;
	justify-content: center;
	background-color: #0e1734;
	visibility: hidden;
	opacity: 0;
	transition: 0.5s;
}
.loading.active {
	visibility: visible;
	opacity: 1;
}
.loading__text {
	font-family: "garamond-premier-pro-display", serif;
	font-weight: 500;
	font-size: clamp(1.125rem, 0.956rem + 0.96vw, 2.5rem);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	line-height: 0.8;
	letter-spacing: 0.1em;
}
.water {
	position: relative;
}
.water span {
	position: absolute;
	top: 50%;
	left: 0px;
	transform: translate(-50%, -50%);
	width: 0px;
	height: 0px;
	border-radius: 50%;
	animation: water 5s linear infinite;
}
.water span:nth-child(1) {
	animation-delay: 0s;
}
.water span:nth-child(2) {
	animation-delay: 0.5s;
}
.water span:nth-child(3) {
	animation-delay: 1s;
}
.water span:nth-child(4) {
	animation-delay: 1.5s;
}
.water span:nth-child(5) {
	animation-delay: 2s;
}
.water span:nth-child(6) {
	animation-delay: 2.5s;
}
.water span:nth-child(7) {
	animation-delay: 3s;
}
.water span:nth-child(8) {
	animation-delay: 3.5s;
}
.water span:nth-child(9) {
	animation-delay: 4s;
}
.water span:nth-child(10) {
	animation-delay: 4.5s;
}
@keyframes water {
	0% {
		width: 0px;
		height: 0px;
		box-shadow: 0px 25px 25px rgba(0, 0, 0, 0.3), 0px 0px 15px rgba(0, 0, 0, 0.3);
	}
	85% {
		width: 480px;
		height: 480px;
		opacity: 1;
	}
	100% {
		width: 600px;
		height: 600px;
		opacity: 0;
	}
}
/* ナビ　ハンバーガーメニュー */
.mainblur {
	filter: blur(8px);
}
#g-nav {
	position: fixed;
	z-index: -1;
	opacity: 0; /*はじめは透過0*/
	/*ナビの位置と形状*/
	top: 0;
	width: 100%;
	height: 100vh; /*ナビの高さ*/
	background: rgba(255, 255, 255, 0.5); /*背景を少し透過させる*/
	/*動き*/
	transition: all 0.3s;
	background-image: url(../images/hamon.png);
	background-repeat: none;
	background-position: bottom;
}

/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav.panelactive {
	opacity: 1;
	z-index: 999;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list {
	/*ナビの数が増えた場合縦スクロール*/
	position: fixed;
	z-index: 998;
	width: 100%;
	height: 100vh; /*表示する高さ*/
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
	display: none; /*はじめは非表示*/
	/*ナビゲーション天地中央揃え*/
	position: absolute;
	z-index: 999;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	padding-inline-start: 0;
	margin-block-start: 0;
	margin-block-end: 0;
}

#g-nav.panelactive ul {
	display: block;
}
/*リストのレイアウト設定*/
#g-nav li {
	list-style: none;
	text-indent: 0;
	padding-left: 0;
	min-width: 350px;
}
#g-nav li span {
	display: inline-block;
}
#g-nav li a {
	color: var(--color-base);
	text-decoration: none;
	padding: 10px;
	display: flex;
	letter-spacing: 0.1em;
	font-weight: 500;
}
.menu__list--EN {
	font-family: "neuzeit-grotesk", sans-serif;
	width: 40%;
}
.menu__list--JP {
	padding-left: 10%;
}

/*================ ボタンのためのCSS ===============*/
.pulse-box {
	position: fixed;
	z-index: 9999;
	bottom: 20px;
	right: 20px;
}
.pulse-circle {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	cursor: pointer;
}
.pulse-circle::before,
.pulse-circle::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	border: 0.75px solid var(--color-secondary);
	border-radius: 50%;
	box-sizing: border-box;
	pointer-events: none;
	animation: pulsate 2s linear infinite;
}
@keyframes pulsate {
	0% {
		transform: scale(1);
		opacity: 1;
	}

	100% {
		transform: scale(2);
		opacity: 0;
	}
}
.openbtn1 {
	position: fixed;
	z-index: 9999; /*ボタンを最前面に*/
	bottom: 20px;
	right: 20px;
	cursor: pointer;
	width: 50px;
	height: 50px;
}

/*×に変化*/
.openbtn1 span {
	display: inline-block;
	transition: all 0.4s;
	position: absolute;
	left: 14px;
	height: 3px;
	border-radius: 2px;
	background-color: var(--color-primary);
	width: 45%;
}

.openbtn1 span:nth-of-type(1) {
	top: 15px;
}

.openbtn1 span:nth-of-type(2) {
	top: 23px;
}

.openbtn1 span:nth-of-type(3) {
	top: 31px;
}

.openbtn1.active span:nth-of-type(1) {
	top: 18px;
	left: 18px;
	transform: translateY(6px) rotate(-45deg);
	width: 30%;
}

.openbtn1.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn1.active span:nth-of-type(3) {
	top: 30px;
	left: 18px;
	transform: translateY(-6px) rotate(45deg);
	width: 30%;
}

/* ヒーローエリア */
.hero__wrapper.hero__slide {
	width: 100%;
	height: 100vh;
	height: 100dvh;
	position: relative;
	overflow: hidden;
	display: flex;
}
.hero__slide--img {
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	animation: slider-1 24s linear infinite;
}
.hero__slide--img:nth-child(1) {
	background-image: url(../images/Main_Visual_01.jpg);
	animation-delay: -2s; /* 2秒後から開始 */
}
.hero__slide--img:nth-child(2) {
	background-image: url(../images/Main_Visual_02.jpg);
	animation-delay: 6s;
}
.hero__slide--img:nth-child(3) {
	background-image: url(../images/Main_Visual_03.jpg);
	animation-delay: 14s;
}
@keyframes slider-1 {
	/* 非表示状態からフェードインを開始する */
	0% {
		opacity: 0;
		transform: scale(1); /* ズームのための指定 */
	}
	/* フェードインを完了し完全表示する */
	4.16% {
		opacity: 1;
	}
	/* ここまで完全表示を維持したらフェードアウトを開始する */
	33.33% {
		opacity: 1;
	}
	/* フェードアウトを完了し非表示にする */
	41.66% {
		opacity: 0;
		transform: scale(1.2); /* ズームのための指定 */
	}
	100% {
		opacity: 0;
	}
}

.main__title--img {
	margin-top: 3%;
	margin-bottom: 3%;
	margin-left: 5%;
	z-index: 100;
}
h1.title__cap {
	font-family: "garamond-premier-pro-display", serif;
	position: absolute;
	z-index: 1;
	font-size: clamp(0.75rem, 0.658rem + 0.53vw, 3rem);
	width: 100%;
	text-align: end;
	letter-spacing: 0.1em;
	z-index: 100;
}
.cd__container {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	margin-bottom: 3%;
	margin-left: 2.4vw;
	z-index: 100;
}
.cd__text {
	margin-right: 24px;
	font-size: 1.6vw;
	line-height: 1.2;
	display: flex;
	flex-direction: column;
}
#countdown {
	line-height: 1;
	font-size: 3.2vw;
}
#days {
	font-family: "garamond-premier-pro-display", serif;
	letter-spacing: 0.1em;
}
.unit-wd {
	font-size: 1.6vw;
}
.under-1241 {
	display: block;
}
.under-1024 {
	display: none;
}
.under-768 {
	display: none;
}
.under-540 {
	display: none;
}
.under-390 {
	display: none;
}

/* ----------メインコンテンツエリア ---------- */
/* ---------- 共通パーツ ---------- */
.main {
	margin: 8vh 10% 0 10%;
	max-width: 80vw;
}
.section__container {
	margin-top: 100px;
}
.section__container.section__flexbox {
	display: flex;
	justify-content: space-between;
}
/* ---------- section 共通パーツ ---------- */

.pbox {
	margin: 24px 0;
}
.pbox p {
	margin-bottom: 16px;
}

.ticket__btn {
	text-align: center;
	text-decoration: none;
	color: var(--color-base);
	background: var(--color-gradation);
	font-size: 20px;
	border-radius: 8px;
	width: 380px;
	height: 80px;
	font-weight: 600;
	letter-spacing: 0.1em;
	transition: 0.3s;
	display: flex;
	padding: 13px 72px;
	margin: 24px auto;
	line-height: 1.3;
	align-items: center;
	justify-content: center;
}
.ticket__btn:hover {
	opacity: 0.5;
}
/* --------- サブタイトル共通パーツ --------- */
.subtitle {
	position: relative;
	padding: 16px 0;
	margin-bottom: 32px;
	z-index: 1;
}
.subtitle__bg--gradation {
	width: 30px;
	height: 50px;
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	background: transparent linear-gradient(180deg, #ffffff 2%, #bedcdf 13%, #bcadcb 25%, #f0bfd3 40%, #f2bea4 60%, #f1f5bc 80%, #bedeb3 100%) 0% 0% no-repeat
		padding-box;
	opacity: 0.5;
	z-index: -1;
}
/* --------------- fadein ------------- */
/* スクロールすると下からふわっとさせるためのコード */
.fadein {
	/* 30px下げる */
	transform: translateY(30px);
	/* 要素を透明にする */
	opacity: 0;
	/* 2秒かけて、変化させる */
	transition: transform 2s, opacity 2s;
}

.fadein.show {
	transform: translateY(0);
	opacity: 1;
}

/* --------------- お知らせ　Notice/Info ----------- */
.section__01 {
	margin-top: 80px;
}
.info__bar--block {
	background: var(--color-gradation);
	border-radius: 8px;
	padding: 1px;
}
.info__bar--content {
	background: var(--color-base);
	border-radius: 8px;
	padding: 24px 40px;
}
.info__bar--sentence {
	display: inline-block;
}

.bx-wrapper {
	position: relative;
	margin-bottom: 0 !important;
	padding: 0 !important;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-moz-box-shadow: initial !important;
	-webkit-box-shadow: initial !important;
	box-shadow: unset !important;
	border: unset !important;
	background: none !important;
}
.instagram__container {
	flex-direction: column;
	margin: 40px 0;
	text-align: center;
}
.instagram__container img {
	max-width: 32px;
	align-self: center;
}
.info__bar--date,
.insta__span--EN {
	font-family: "neuzeit-grotesk", sans-serif;
}

.insta__span--JP {
	font-family: "zen-kaku-gothic-new", Arial, Helvetica, sans-serif;
}
.insta__span--EN,
.insta__span--JP {
	font-size: large;
	letter-spacing: 0.2em;
}
#noticeinfo .flexb__item.flexb__item--01 {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
}
/* -------------------- gallery -------------------- */
.carousel__gallery {
	margin: 0 -500%;
}
/* -------------------- お客様の声 voice ------------------*/
.voice__box--wrapper h3,
p,
div {
	font-weight: 400;
}
.voice__container {
	margin-bottom: 24px;
}
.voice__container--s {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 40px;
	align-items: end;
}
.voice__container--l {
	display: block;
}
.voice__heading {
	position: relative;
	padding: 16px;
	border-radius: 40px;
	border-bottom: 1px solid var(--color-primary);
	text-align: center;
}
.voice__heading span {
	display: inline-block;
}

.voice__heading:before {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	height: 1px;
	width: 20px;
	background: var(--color-base);
	content: "";
}
.voice__heading:after {
	position: absolute;
	top: 90%;
	left: 50%;
	transform: rotate(30deg);
	height: 24px;
	width: 1px;
	background: var(--color-primary);
	content: "";
}
.voice__head::first-letter {
	font-size: 150%;
}
.voice__name {
	font-size: 80%;
}
/* .voice__heading::before {
	content: "";
	margin-right: 20px;
	width: 40px;
	height: 1px;
	background: var(--color-secondary);
} */
img.voice__silhouette {
	margin: -16px 0 -24px 0;
	position: relative;
	z-index: 2;
}
.voice__box {
	margin: 20px auto;
	padding: 20px;
	background-color: transparent;
	border-left: 1px solid #f9fcff;
	position: relative;
}
.voice__box::after {
	content: "";
	background-color: rgba(234, 238, 248, 0.1);
	position: absolute;
	top: -7px;
	left: 7px;
	z-index: 0;
	width: 100%;
	height: 100%;
}
.voice__box p {
	padding-bottom: 8px;
}

.more-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	text-decoration: none;
	color: var(--color-primary);
	border-radius: 5px;
	transition: 0.3s;
	background: var(--color-base);
	/* background: var(--color-gradation); */
	position: absolute;
	bottom: -8px;
	transform: translate(-50%, -50%);
	left: 50%;
	z-index: 2;
	padding: 12px 24px;
}
.more-btn:hover {
	opacity: 0.7;
}
.more-item {
	position: relative;
	overflow: hidden;
	height: 160px; /*隠した状態の高さ*/
}
.more-item::before {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 48px; /*グラデーションで隠す高さ*/
	background: -webkit-linear-gradient(180deg, rgba(14, 23, 52, 0.5) 0%, rgba(14, 23, 52, 0.7) 50%, rgba(14, 23, 52, 1) 100%);
	background: rgb(14, 23, 52);
	background: linear-gradient(180deg, rgba(14, 23, 52, 0.5) 0%, rgba(14, 23, 52, 0.7) 50%, rgba(14, 23, 52, 1) 100%);
	content: "";
}
.more-trigger {
	display: none; /*チェックボックスは常に非表示*/
}
.more-trigger:checked + .more-btn {
	display: none; /*チェックされていたら、grad-btnを非表示にする*/
}
.more-trigger:checked ~ .more-item {
	height: auto; /*チェックされていたら、高さを戻す*/
}
.more-trigger:checked ~ .more-item::before {
	display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
}
/* -------------------- 開催概要 outline ------------------*/
.outline__title--container {
	margin-bottom: 40px;
}
h4.outline__title {
	text-align: center;
	font-size: clamp(1.5rem, 1.415rem + 0.49vw, 2rem);
}
.outline__title--sub {
	font-size: clamp(1.125rem, 1.082rem + 0.24vw, 1.375rem);
	font-weight: 400;
}
.outline__title--cap {
	font-size: clamp(1rem, 0.979rem + 0.12vw, 1.125rem);
	font-weight: 400;
}
.flex__container--basis {
	display: flex;
}
.flexb__item {
	flex-basis: 48%;
}
#outline .basis__box--01 {
	flex-basis: 60%;
}
.pbox.flexb__item--02 {
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 4%;
}
.details {
	margin-top: 32px;
}
.underline {
	border-bottom: 0.75px dotted var(--color-secondary);
}
/* -------------------- アーティスト artist ------------------*/
#artist {
	letter-spacing: 0.1em;
}
.flexb__item img {
	max-width: 90%;
}
.artist__name {
	font-size: clamp(1.25rem, 1.165rem + 0.49vw, 1.75rem);
}
.span--EN {
	font-family: "neuzeit-grotesk", sans-serif;
	font-size: clamp(1.125rem, 1.082rem + 0.24vw, 1.375rem);
	font-weight: 300;
}
.pbox--cap {
	margin: 14px 0 6px 0;
	font-family: "neuzeit-grotesk", sans-serif;
	font-size: larger;
}
.linkout__img {
	vertical-align: text-bottom;
	max-width: 20px;
	margin-left: 4px;
}
/* -------------------- クレジット credit ------------------*/
.content--tag {
	font-weight: 600;
	margin-top: 8px;
}

/* -------------------- その他 others ------------------*/
.section__container--innerbox {
	margin-bottom: 80px;
}
.otherinfo__catch {
	display: inline-block;
	padding-bottom: 8px;
	position: relative;
	font-size: clamp(1.25rem, 1.186rem + 0.37vw, 1.625rem);
}
.otherinfo__catch span {
	display: inline-block;
}
.otherinfo__catch::after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background-color: var(--color-secondary);
	position: absolute;
	bottom: 0;
	left: 0;
}
.jizou .otherinfo__catch::after,
.mandara .otherinfo__catch::after {
	display: none;
}
.shop__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 20px;
}
.shop__list--card {
	color: var(--color-base);
	padding: 30px;
	background-color: var(--color-secondary);
}
.shop__list--img {
	position: relative;
	margin-bottom: 8px;
}
.shop__list--img img {
	width: 100%;
	aspect-ratio: 5 / 4;
}
.shop__list--date {
	position: absolute;
	bottom: 0;
	left: 0;
	font-family: "neuzeit-grotesk", sans-serif;
	font-size: large;
	background-color: var(--color-primary);
	border: 0.5px solid var(--color-base);
	padding: 5px 10px;
	display: flex;
	width: fit-content;
}
a.shop__link {
	color: var(--color-base);
}

.shop__list--card .underline {
	border-bottom: 0.75px dotted var(--color-base);
}
.shop__list--name {
	font-size: larger;
	font-weight: 500;
	margin-bottom: 16px;
}
.flex__container--basis.jizou,
.flex__container--basis.mandara {
	justify-content: space-between;
}
.jizou .flexb__item,
.mandara .flexb__item {
	flex-basis: 50%;
}
.jizou .flexb__item img,
.mandara .flexb__item img {
	max-width: 100%;
}
.jizou .flexb__item--01 {
	background-image: url(../images/jizouCoffee.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	object-fit: contain;
	width: 100%;
}
.mandara .flexb__item--02 {
	background-image: url(../images/mandara.jpg);
	background-repeat: no-repeat;
	background-position: top;
	background-size: cover;
	object-fit: cover;
	width: 100%;
	min-height: 480px;
}
.jizou .pbox,
.mandara .pbox {
	position: relative;
}
.jizou .otherinfo__catch,
.jizou .pbox {
	padding-left: 24px;
}
.mandara .otherinfo__catch {
	display: inline-block;
	padding-right: 24px;
}
.mandara .pbox {
	padding-right: 24px;
}

.jizou .pbox::before,
.mandara .pbox::before {
	display: block;
	content: "";
	position: absolute;
	height: 0.75px;
	top: -16px;
	left: 0;
	width: 100%;
	background-color: var(--color-secondary);
}
.dotline span:after {
	background: radial-gradient(circle farthest-side, #7791ac, #7791ac 30%, transparent 30%, transparent);
	background-size: 0.5vw;
	content: "";
	display: inline-block;
	height: 0.5vw;
	width: 100%;
}

/* アクセス */
.section__06#access {
	margin-right: 4%;
	min-width: 50%;
}
#map__link {
	display: flex;
	align-items: center;
}
#map__link a {
	border-bottom: 1px dashed;
}
#op__logo--img {
	width: 250px;
	max-width: 250px;
}
.map__icon {
	width: 20px;
	vertical-align: sub;
}
/* お問い合わせ */
#contact a {
	color: var(--color-primary);
}

.smaller {
	font-size: smaller;
}
#footer {
	margin-top: 40px;
}
#footer small {
	display: flex;
	justify-content: center;
}
@media screen and (min-width: 2560px) {
	h3 {
		font-size: 1.5vw;
	}
	.otherinfo__catch {
		font-size: 1.25vw;
	}
	.shop__list {
		grid-template-columns: repeat(auto-fill, minmax(500px, 1fr));
		gap: 40px;
	}
}

@media screen and (min-width: 1920px) {
	.main {
		font-size: 1vw;
	}
}
@media screen and (max-width: 1330px) {
	.flexb__item img {
		max-width: 100%;
	}
	.pbox--cap {
		margin: 8px 0 6px 0;
	}
	.jizou .flexb__item--01 {
		background-position: initial;
	}
	.mandara .flexb__item--02 {
		min-height: 320px;
	}
}
@media screen and (max-width: 1241px) {
	.under-1241 {
		display: none;
	}
}
@media screen and (max-width: 1024px) {
	.under-1024 {
		display: block;
	}
	.main__title--img {
		margin-top: 10%;
	}
	#countdown {
		font-size: 5.4vw;
	}
	.cd__text,
	.unit-wd {
		font-size: 3.2vw;
	}
	.main {
		flex-direction: column;
	}
	.section__container {
		width: 100%;
	}
	.section__flexbox {
		flex-direction: column;
	}
	.flex__container--basis {
		flex-direction: column;
	}
	.pbox.flexb__item--02 {
		margin-top: 24px;
		margin-left: 0;
	}
	.jizou .flexb__item--01 {
		background-image: none;
		max-height: fit-content;
	}
	.jizou .otherinfo__catch,
	.jizou .pbox {
		padding-left: 0;
	}
	.jizou .flexb__item--02,
	.mandara .flexb__item--01 {
		margin-top: 24px;
	}
	.flex__container--basis.mandara {
		flex-direction: column-reverse;
	}
	.section__06#access {
		margin-right: 0;
		margin-bottom: 100px;
		min-width: unset;
	}
}

@media screen and (max-width: 774px) {
	.shop__list {
		grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	}
}
@media screen and (max-width: 768px) {
	.under-768 {
		display: block;
	}

	.hero__wrapper.hero__slide {
		background-repeat: no-repeat;
		background-position: right top;
		object-fit: cover;
	}
	.slide-image:nth-child(1) {
		background-image: url(../images/SP_Main_Visual_01.jpg);
		animation-delay: -2s; /* 2秒後から開始 */
	}
	.slide-image:nth-child(2) {
		background-image: url(../images/SP_Main_Visual_02.jpg);
		animation-delay: 6s;
	}
	.slide-image:nth-child(3) {
		background-image: url(../images/SP_Main_Visual_03.jpg);
		animation-delay: 14s;
	}
	#countdown {
		font-size: 7.2vw;
	}
}
@media screen and (max-width: 540px) {
	.under-540 {
		display: block;
	}
	h1.title__cap {
		text-align: center;
	}
	.hero__wrapper {
		flex-direction: column;
		align-items: center;
	}
	.main__title--img {
		width: 48%;
		object-fit: contain;
		margin-top: auto;
		margin-bottom: auto;
		margin-left: 0;
	}
	#countdown {
		font-size: 8.8vw;
	}
	.cd__text,
	.unit-wd {
		font-size: 4.8vw;
	}
	.main {
		font-size: 14px;
	}
	.ticket__btn {
		max-width: 95%;
		font-size: 16px;
		padding: 16px 40px;
	}
}
@media screen and (max-width: 390px) {
	.under-390 {
		display: block;
	}
	#g-nav li {
		min-width: 255px;
	}
	.main {
		max-width: 90%;
		margin: 6vh 5% 0 5%;
	}
}
