@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Lato:400,700|Noto+Sans+JP:400,700');
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1&display=swap');
/* reset
--------------------------------------------------- */
*,*::after,*::before{box-sizing:border-box}:focus-visible{outline-offset:3px}:where(html){-webkit-text-size-adjust:none;text-size-adjust:none}:where(html){line-height:1.5}:where(html){scrollbar-gutter:stable}:where(h1){font-size:2em;margin-block:.67em}:where(abbr[title]){cursor:help;text-decoration-line:underline;text-decoration-style:dotted}@media (forced-colors:active){mark{color:HighlightText;background-color:Highlight}}:where(del,ins,s)::before,:where(del,ins,s)::after{clip-path:inset(100%);clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden;position:absolute;white-space:nowrap;content:"test"}:where(s)::before{content:"stricken text start "}:where(s)::after{content:" stricken text end"}:where(del)::before{content:"deletion start "}:where(del)::after{content:" deletion end"}:where(ins)::before{content:"insertion start "}:where(ins)::after{content:" insertion end"}:where(audio,iframe,img,svg,video){max-block-size:100%;max-inline-size:100%}:where(fieldset){min-inline-size:0}:where(label):has(+:where(textarea,input,select)){display:block}:where(textarea:not([rows])){min-block-size:6em}:where(button,input,select,textarea){font-family:inherit;font-size:inherit}:where([type="search"]){-webkit-appearance:textfield}@supports (-webkit-touch-callout:none){:where([type="search"]){border:1px solid -apple-system-secondary-label;background-color:canvas}}:where([type="tel"],[type="url"],[type="email"],[type="number"]):not(:placeholder-shown){direction:ltr}:where(table){border-collapse:collapse;border:1px solid}:where(th,td){border:1px solid;padding:.25em .5em}:where(dialog)::backdrop{background:oklch(0% 0 0 / .3)}:where(dialog),:where(dialog)::backdrop{opacity:0;transition:opacity 300ms ease-out,display 300ms allow-discrete,overlay 300ms allow-discrete}:where(dialog[open]),:where(dialog[open])::backdrop{opacity:1}@starting-style{:where(dialog[open]),:where(dialog[open])::backdrop{opacity:0}}[hidden]:not([hidden="until-found"]){display:none!important}
body,h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,ol,li{margin:0;padding:0;}
ul,ol{list-style:none;}
html:focus-within{scroll-behavior:smooth;}
body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5;position: relative;}
a:not([class]){text-decoration-skip-ink:auto;}
img,picture{max-width:100%;display:block;margin:0 auto;}
input,button,textarea,select{font:inherit;}
@media(prefers-reduced-motion:reduce){
	html:focus-within{scroll-behavior:auto;}
	*,
	*::before,
	*::after{animation-duration:.01ms !important;
			animation-iteration-count:1 !important;
			transition-duration:.01ms !important;
			scroll-behavior:auto !important;}
	}
html {font-size: 62.5%;}
table,th,td{border-width: 0!important;}
.contents h1,h2,h3,h4,h5{ font-family: "M PLUS 1", sans-serif; font-size: 100%}
* { min-height: 0vw; min-height: 0; }

/* COMMON
--------------------------------------------------- */
.contents a { display: inline-block; color:#000; text-decoration: none; transform: 0.3s;}
.contents a:visited { color: #000; text-decoration: none;}
.contents a:hover{ opacity: .75; text-decoration: none;}
.contents a.link {
	display: inline-block;
	padding-left: 1em;
	text-indent: -1em;
	word-break: break-all;
}
.contents a.link:before{
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	margin: 0 0 0 5px;
	padding: 0 5px 0 0;
	border-style: solid;
	border-width: 5px 0 5px 5px;
	border-color: transparent transparent transparent #000;
}
.contents a.link:hover:before{
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	margin: 0 0 0 5px;
	padding: 0 5px 0 0;
	border-style: solid;
	border-width: 5px 0 5px 5px;
	border-color: transparent transparent transparent #000;
}
.contents a.link:after {
	content:'';
	display: inline-block;
	width: .8em;
	height: .8em;
	mask-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%20512%20512%22%3E%20%3Cpath%20d%3D%22M432%2C320h-32c-8.84%2C0-16%2C7.16-16%2C16v112H64V128h144c8.84%2C0%2C16-7.16%2C16-16v-32c0-8.84-7.16-16-16-16H48C21.49%2C64%2C0%2C85.49%2C0%2C112v352c0%2C26.51%2C21.49%2C48%2C48%2C48h352c26.51%2C0%2C48-21.49%2C48-48h0v-128c0-8.84-7.16-16-16-16ZM488%2C0h-128c-21.37%2C0-32.05%2C25.91-17%2C41l35.73%2C35.73-243.73%2C243.64c-9.39%2C9.36-9.42%2C24.55-.06%2C33.94.02.02.04.04.06.06l22.67%2C22.63c9.36%2C9.39%2C24.55%2C9.42%2C33.94.06.02-.02.04-.04.06-.06l243.61-243.68%2C35.72%2C35.68c15%2C15%2C41%2C4.5%2C41-17V24c0-13.25-10.75-24-24-24Z%22%2F%3E%3C%2Fsvg%3E');	
	margin: 0 0 0 .25em;
	background-color: #61b8be;
	background-size: contain;
  	background-repeat: no-repeat;
}
.contents .no-pc { display: none;}
.contents br.no-pc { display: none; }
.contents .no-sp { display: block;}
.contents .tax { padding: 0 0 0 .15em; font-size: 80%; font-weight: normal;}
.contents .red { color: #F00!important;}
.contents .hi { color: #36bdef; font-weight: bold;}
.contents em { color: #36bdef; font-style: normal; font-weight: bold;}
.contents strong { font-style: normal; font-weight: bold;}
.contents b { font-style: normal; font-size: 120%; font-weight: bold;}
.contents .strikethrough { color:#666; text-decoration: line-through;}
.contents .txt-l { text-align: left!important;}
.contents .txt-r { text-align: right!important;}
.contents .txt-80 { font-size: 80%;}
.contents .txt-120 { font-size: 120%;}
.contents .caution { display: block; padding: 0 0 0 0; color: #666; font-size: 80%; font-weight: normal; line-height: 1.4;}
.contents .caution::before { content: "※"; color: #999;}
.contents .copyright {
    color: #FFF;
    font-size: 75%;
    position: absolute;
	right: 8px;
	bottom: 4px;
	z-index: 1;
	text-shadow: 0 0 1px #666, 0 0 3px #666, 0 0 6px #666, 0 0 10px #666, 0 0 30px #666, 0 0 50px #666;
}
.contents .ticket-status {
	width: 100px;
    padding: 6px;
	border-radius: 4px;
	font-weight: normal;
    line-height: 1.2;
	position: relative;
    text-align: center;
}
.contents .advance { background: #61b8be; color: #FFF;}
.contents .public { background: #CCC; color: #000;}
.contents .soldend { background: #CCC; color: #999;}
@media screen and (max-width: 768px) {
  .contents .no-pc { display: block; }
  .contents br.no-pc { display: inline; }
  .contents .no-sp { display: none; }
  .contents a.link:before,
  .contents a.link:hover:before {
		border-width: 3px 0 3px 3px;
	}
}
@media screen and (max-width: 499px) {
}
/* LAYOUT
--------------------------------------------------- */
.contents {
	width: 100%;
	max-width: 1200px;
	min-width: 320px;
	margin: 0 auto;
	background: #FFF;
	color: #222;
    font-family: 'Lato', 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-size: clamp(1.2rem, 0.909rem + 1.45vw, 2rem);
    font-weight: normal;
    line-height: 1.8;
    position: relative;   
    text-align: center;
    z-index: 1;
}
.contents-area {
	width: 100%;
    margin: 0 auto;
}
.contents-inner {
	display: grid;
    padding: 3.2em;
	gap: 4em;
	place-items: center;
}
.contents-inner:nth-of-type(3) {
	padding-bottom: 0;
}
.contents-box {
	display: grid;
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
    position: relative;
	gap: 2em;
}
.main-contents .contents-box {
	gap: 1em;
}
.report-contents .contents-box {
	gap: 2em;
}
@media screen and (max-width: 768px) {
    .contents {
        line-height: 1.6;
    }
	.contents-inner {
		display: grid;
		padding: 2.4em;
		gap: 3.2em;
	}
}
@media screen and (max-width: 599px) {
    .contents {
		line-height: 1.5;
    }
    .contents-inner{
		padding: 2.4em 1.2em;
		gap: 2.4em;
    }
.report-contents .contents-box {
		gap: 1.6em;
	}
}
@media screen and (max-width: 376px) {
}

/* HEADDING
--------------------------------------------------- */
.main-contents h2 {
	display: block;
	margin: 0 auto 75px;
	color: #F57C00;
	font-optical-sizing: auto;
	font-family: "Shippori Mincho B1", serif;
	font-style: normal;
	font-size: 220%;
    font-weight: bold;
    line-height: 1;
	letter-spacing: -0.05em;
	position: relative;
    text-align: center;
}
.main-contents h2::after {
	content: "";
	width: 50px;
	height: 50px;
	background: url("../images/ico_h2.png");
	background-size: cover;
	bottom: -75px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
}
.contents h3 {
	margin: 0;
	color: #222;
	font-style: normal;
    font-weight: bold;
    line-height: 1.35;
    text-align: left;
}
.main-contents h3 {
	font-family: "Shippori Mincho B1", serif;
	font-size: 150%;
	letter-spacing: -0.01em;
	line-height: 1;
}
.main-contents h4 {
	margin: 0;
	padding: 0 0 1em;
	font-weight: 600;	
}
.main-contents .bnr-box h4 {
	margin: 0 auto;
	padding: 0;
	color: #FFF;
	text-align: center;
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 499px) {
	.main-contents h2 {
		margin: 0 auto 30px;
	}
	.main-contents h2::after {
		content: "";
		width: 30px;
		height: 30px;
		bottom: -45px;
	}
}
@media screen and (max-width: 376px) {
}

/* HERO
--------------------------------------------------- */
.main-contents .hero {
	display: grid;
	max-width: 1200px;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #000;
	place-items: center;
	position: relative;
}
#video-background {
  width: 100%;
  aspect-ratio: 16 / 9;
  z-index: -1;
}
#video-background iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  aspect-ratio: 16 / 9;
  min-height: 100%;
  min-width: 100%;
  z-index: -2;
}
.hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  opacity: 0;
  background-size: cover;
  background-position: center center;  
  animation: image-switch-animation 25s infinite;
}
.hero-bg-src01 {
	background-image: url("../images/mv_01.jpg")
}
.hero-bg-src02 {
	background-image: url("../images/mv_02.jpg")
}
.hero-bg-src03 {
	background-image: url("../images/mv_03.jpg")
}
.hero-bg-src04 {
	background-image: url("../images/mv_04.jpg")
}
.hero-bg-src05 {
	background-image: url("../images/mv_05.jpg")
}
@keyframes image-switch-animation {
	0%{ opacity: 0;}
	5%{ opacity: 1;}
	25%{ opacity: 1;}
	30%{ opacity: 0;}
	100%{ opacity: 0;}
}
.hero-bg:nth-of-type(1) {
	animation-delay: 0s;
}
.hero-bg:nth-of-type(2) {
	animation-delay: 5s;
}
.hero-bg:nth-of-type(3) {
	animation-delay: 10s;
}
.hero-bg:nth-of-type(4) {
	animation-delay: 15s;
}
.hero-bg:nth-of-type(5) {
	animation-delay: 20s;
}
.logo {
	position: absolute;
	z-indx:2;
}
/* SEARCH
--------------------------------------------------- */
.search-area {
	background: #EFEFEF;
}
.search-bar-container {
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
}
.search-bar {
	display: flex;
	width: 100%;
	align-items: center;
	padding: .25em .5em;	
	background-color: #FFF;
	border-radius: 2em;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
	border: 1px solid #e5e7eb;
	gap: .5em;	
	transition: all 0.3s ease;
}
.search-bar:focus-within {
	border-color: #ed1e79;
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.search-bar-icon {
	width: 1em;
	height: 1em;
	color: #9ca3af;
	margin-left: 0.5em;
	flex-shrink: 0;
}
.search-bar-input {
	flex: 1;
	padding: .5em;
	border: none;
	outline: none;
	color: #222;
	background-color: transparent;
}
.search-bar-input::placeholder {
	color: #9ca3af;
}
.search-bar-button {
	background: #ed1e79;
	color: #FFF;
	padding: 0.5em 1em;
	border-radius: 2em;
	border: none;
	cursor: pointer;
	flex-shrink: 0;
	font-size: 80%;
	font-weight: 500;
	letter-spacing: .25em;
    text-indent: .25em;
	transition: all 0.2s ease;
}
.search-bar-button:hover {
	opacity: .75;
	}
.search-bar-button:active {
  transform: scale(0.95);
}
.lead-txt {
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.lead-txt {
		padding: 0 1em;
	}
}
@media screen and (max-width: 499px) {
}

/* EVENT-TAB
--------------------------------------------------- */
.tab-menu {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: flex-start;
	align-items: stretch;
	width: 100%;
	margin: 0 auto;
	padding: 0 .5em .5em;
	background: #FFF;
	border-radius: .5em;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
	border-bottom: 1px solid #e5e7eb;
	gap: 6px;
}
.tab-menu .event-spot {
	width: calc( calc( 100% -36px) / 7);
	padding: .5em 1em;
	background: #EFEFEF;
	border-radius: 2em;
	color: #222;
	cursor: pointer;
	font-size: 80%;
	white-space: nowrap;
	text-align: center;
}
.tab-menu .event-spot:hover {
	background: #DDD;
}
.tab-menu .event-spot.tabSelect {
	background: #F57C00;
	color: #FFF;
}
.tab-contents {
	width: 100%;
	margin: 0 auto;
	background: #FFF;
}
.tabCnt {
	display: none;
	min-height: 5em;
	padding: 1em;
	gap: 1.5em;
}
.tabCnt a {
	cursor: pointer!important;
}
.tabCntis-active { display: flex; }

@media screen and (max-width: 768px) {
	.tab-menu {
		gap: 8px;
	}
	.tab-menu .event-spot {
		width: calc( calc( 100% -48px) / 7);
	}
}
@media screen and (max-width: 499px) {
}

/* EVENT
--------------------------------------------------- */
.event-list {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: flex-start;
	align-items: stretch;
	gap: 1em;
}
.event-area {
	display: flex;
	width: calc( calc(100% - 2em) / 3);
	background: #FFF;
	border-radius: .5em;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
	border-bottom: 1px solid #e5e7eb;
}
.event-img-box {
	display: grid;
	place-items: center;
	width: 100%;
	padding: 0;
	aspect-ratio: 16/9;
	background: #1e1e3a;
	border-radius: .5em .5em 0 0;
	overflow: hidden;
	position: relative;
}
.event-img-box figure {
	width: 100%;
	aspect-ratio: 16/9;
  height: auto;
}
.event-img-box img {
	object-fit: contain;
	z-index: 1;
}
.event-region {
	padding: .15em .5em;
	background: #F57C00;
	color: #FFF;
	font-size: 80%;
	font-weight: bold;
	border-radius: .25em;
	letter-spacing: .25em;
  text-indent: .25em;
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
}
.event-box {
	display: grid;
	padding: 1em;
	text-align: left;
	text-decoration: none!important;
	gap: .5em;
}
.event-title {
	padding-bottom: .25em;
	font-weight: bold;
	line-height: 1.3;
}
.event-venue,
.event-duration {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	padding-left: 1.25em;
	line-height: 1.35;
	font-size: 80%;
	position: relative;
}
.event-venue::before,
.event-duration::before {
	--_size: 1em;
	content:'';
	block-size: var(--_size);
	background-color: #999;
	background-size: contain;
  	background-repeat: no-repeat;
	background-position: center;
	mask-size: contain;
	position: absolute;
	top: 0;
	left: 0;
	aspect-ratio: 1;
	margin-block: calc((1lh - var(--_size)) /2);	
}
.event-venue::before {
	mask-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM3MTgwOTYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjQiIHJ4PSIyIiByeT0iMiI+PC9yZWN0PjxsaW5lIHgxPSIxNiIgeDI9IjE2IiB5MT0iMiIgeTI9IjYiPjwvbGluZT48bGluZSB4MT0iOCIgeDI9IjgiIHkxPSIyIiB5Mj0iNiI+PC9saW5lPjxsaW5lIHgxPSIzIiB4Mj0iMjEiIHkxPSIxMCIgeTI9IjEwIj48L2xpbmU+PC9zdmc+');
}
.event-duration::before {
	mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM3MTgwOTYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjAgMTBjMCA2LTggMTItOCAxMnMtOC02LTgtMTJhOCA4IDAgMCAxIDE2IDBaIj48L3BhdGg+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMCIgcj0iMyI+PC9jaXJjbGU+PC9zdmc+");
}

@media screen and (max-width: 992px) {
	.event-area .event-box-wrap .event-box {
		padding: .5em;
	}
}
@media screen and (max-width: 768px) {
	.event-area {
		width: calc( calc(100% - 1em) / 2);
	}
}
@media screen and (max-width: 599px) {
	.event-list {
		gap: .5em;
	}
	.event-area {
		width: 100%;
	}
	.event-area .event-box-wrap {
		display: flex;
		flex-wrap: wrap;
		flex-direction: row;
		justify-content: center;
		align-items: stretch;
	}
	.event-area .event-box-wrap .event-img-box {
		width: 20%;
		aspect-ratio: auto;
		background: #000;
		border-radius: .5em 0 0 .5em;
		position: relative;
	}
	.event-area .event-box-wrap .event-img-box figure {
		aspect-ratio: auto;
	}
	.event-area .event-box-wrap .event-img-box img {
		width: 100%;
	}
	.event-area .event-box-wrap .event-box {
		display: grid;
		place-items: center flex-start;
		width: 80%;
    padding: 1em;
		gap: .25em;
	}
	.event-region {
		top: 5px;
		left: 5px;
	}
}

/* PICKUP
--------------------------------------------------- */
.pickup-list {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: center;
	align-items: stretch;
	gap: 1.5em;
}
.pick-box {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	width: calc( calc( 100% - 1.5em ) / 2);
	padding-bottom: 2em;
	background: #FFF;
	border-radius: .5em;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
	border: 2px solid #ed1e79;
	position: relative;
}
.pick-box .event-box {
	padding: 1em 2em;
}
.pick-box .event-img-box {
	background: #EFEFEF;
}
.pick-box .event-region {
	padding: .25em 1em;
	border-radius: 1.5em;
	font-size: 80%;
	left: 10px;
	top: 10px;
}
.pick-btn {
	width: 60%;
	margin: 0 auto;
	padding: .25em 1em;
	background: #ed1e79;
	border-radius: 1.5em;
	color: #FFF;
	font-size: 80%;
	position: absolute;
	left: 50%;
  	transform: translateX(-50%);
	bottom: 1em;
	text-align: center;
}
.pick-btn span:before {
    content: '';
    width: 20px;
    height: 20px;
    background: #FFF;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: 8px;
    bottom: 0;
    margin: auto;
}
.pick-btn span:after {
    content: '';
    width: 8px;
    height: 8px;
    border-top: 3px solid #ed1e79;
    border-right: 3px solid #ed1e79;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    margin: auto;
    transition: 0.3s;
}
@media screen and (max-width: 992px) {
	.pickup-list {
		gap: 1em;
	}
	.pick-box {
		width: calc( calc( 100% - 1em ) / 2);
	}
	.pick-box .event-box {
		padding: 1em;
	}
	.pick-btn {
		width: 90%;
	}
}
@media screen and (max-width: 768px) {
	.pickup-list {
		gap: .5em;
	}
	.pick-box {
		width: calc( calc( 100% - .5em ) / 2);
	}
	.pick-btn span:before {
		content: '';
		width: 16px;
		height: 16px;
	}
	.pick-btn span:after {
		content: '';
		width: 6px;
		height: 6px;
		border-top: 2px solid #ed1e79;
		border-right: 2px solid #ed1e79;
		right: 14px;
	}
}
@media screen and (max-width: 499px) {
}

/* SEARCH AREA
--------------------------------------------------- */
.hanabi-search-area {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: center;
	justify-content: space-between;
	align-items: stretch;
	gap: 1em;
	padding: 1em;
	background: #ed1e79;
	border-radius: .5em;
}
.hanabi-search-box {
	width: calc( calc( 100% - 1em ) / 2);
	padding: 1em;
	background: #FFF;
	border-radius: .25em;
}
.hanabi-search-inner-box ul {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: center;
	align-items: stretch;	
	gap: 8px;
}
.hanabi-search-inner-box ul li {
	display: block;
	width: calc( calc(100% - 16px) / 3);
	text-align: center;
}
.hanabi-search-inner-box ul li a {
	padding: .25em 1em;
	border-radius: 1.4em;
}
@media screen and (max-width: 992px) {
	.hanabi-search-inner-box ul li {
		width: calc( calc(100% - 8px) / 2);
	}
}
@media screen and (max-width: 768px) {
	.hanabi-search-box {
		width: 100%;
	}
	.hanabi-search-inner-box ul li {
		width: calc( calc(100% - 16px) / 3);
	}
	.hanabi-search-inner-box ul li a {
		padding: .5em 1em;
	}
}
@media screen and (max-width: 599px) {
	.hanabi-search-box {
		padding: 1em .5em;
	}
	.hanabi-search-inner-box ul {
		display: flex;
		flex-wrap: wrap;
		flex-direction: row;
		justify-content: center;
		align-items: stretch;
	}
	.hanabi-search-inner-box ul li {
		width: calc( calc(100% - 8px) / 2);
	}
}

/* SEARCH MAP
--------------------------------------------------- */
.hanabi-search-box:first-child {
	background: #FFF url("../images/map.png") center 90% no-repeat;
	background-size: auto 75%;
}
.map-box ul li a {
	display: block;
	background: rgba(255,255,255,.8);
	border: solid 1px #ed1e79;
	color: #ed1e79;
	font-size: 80%;
}
.contents .map-box ul li a:visited {
	color: #ed1e79;
}
.map-box ul li a:hover {
	background: #ed1e79;
	color: #FFF;
}

/* SEARCH MONTH
--------------------------------------------------- */
.month-box ul li a {
	display: block;
	background: #ed1e79;
	border: solid 1px #ed1e79;
	color: #FFF;
	font-size: 80%;
}
.contents .month-box ul li a:visited {
	color: #FFF;
}

/* CALENDAR
--------------------------------------------------- */
@media screen and (max-width: 768px) {
	.calendar-area {
		width: 100vw;
		margin: 0 calc(50% - 50vw);
		background: #8529cd;
	}
}


/* ENJOY
--------------------------------------------------- */
.enjoy-area {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: flex-start;
	align-items: stretch;
	gap: .5em;
}
.enjoy-list {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	width: calc( calc( 100% - 1em ) / 3);
	background: #FFF;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
	border-bottom: 1px solid #e5e7eb;
	border-radius: .5em;
	gap: .5em;
}
.enjoy-list figure {
	display: grid;
	place-items: center;
	width: 100%;
	padding: 0;
	aspect-ratio: 16/9;
	background: #1e1e3a;
	border-radius: .5em .5em 0 0;
	overflow: hidden;
	position: relative;
}
.event-img-box {
	display: grid;
	place-items: center;
	width: 100%;
	padding: 0;
	aspect-ratio: 16/9;
	background: #1e1e3a;
	border-radius: .5em .5em 0 0;
	overflow: hidden;
	position: relative;
}
.enjoy-list figure img {
	object-fit: contain;
	z-index: 1;
}
.enjoy-box {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	padding: .25em 1em 1.5em;
	gap: .25em;
}
.moment {
	display: inline-block;
	margin-left: auto;
	padding-left: 1em; 
	color: #999;
	position: relative;
	text-align: left;
}
.enjoy-box .moment {
	font-size: 70%;
}
.moment::before {
	--_size: .9em;
	content:'';
	block-size: var(--_size);
	background-color: #999;
	background-size: contain;
  	background-repeat: no-repeat;
	background-position: center;
	mask-size: contain;
	position: absolute;
	top: 0;
	left: 0;
	aspect-ratio: 1;
	margin-block: calc((1lh - var(--_size)) /2);	
}
.moment::before {
	mask-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJhaSBhaS1DbG9jayI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiLz48cGF0aCBkPSJNMTUgMTZsLTIuNDE0LTIuNDE0QTIgMiAwIDAgMSAxMiAxMi4xNzJWNiIvPjwvc3ZnPg==');
}
.enjoy-box p {
	font-size: 80%;
	font-weight: bold;
	line-height: 1.5;
	text-align: left;
}
@media screen and (max-width: 768px) {
	.enjoy-list {
		width: calc( calc( 100% - .5em ) / 2);
	}
}
 @media screen and (max-width: 499px) {
}

/* BANNER
--------------------------------------------------- */
.bnr-area {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: center;
	justify-content: space-between;
	align-items: stretch;
	gap: 0;
}
.local-area .bnr-box {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	width: calc(100% / 3);	
	padding: 1em;
	gap: .5em;
}
.local-area .bnr-box:nth-child(1) {
	background: #e32f2f;
}
.local-area .bnr-box:nth-child(2) {
	background: #3bbe00;
}
.local-area  .bnr-box:nth-child(3) {
	background: #bf0000;
}
.bnr-area .bnr-box p {
	padding: 0 .5em;
	color: #FFF;
	font-size: 80%;
	line-height: 1.5;
	text-align: left;
}
.bnr-link {
	display: block;
	width: 100%;
	height: 40px;
	margin: 0 auto;
	text-align: center;
	background: #FFF;
	border-radius: 40px;
	padding: 8px 2em 0;
}
.bnr-link img {
	max-height: 26px;
}
.asp-area a {
	display: block;
	width: 100%;
	background: #8529CD;
}
.asp-area a img {
	vertical-align: bottom;
}
@media screen and (max-width: 992px) {
	 .local-area .bnr-box {
		width: 100%;
	}
	.bnr-area .bnr-box p {
		text-align: center;
	}
	.bnr-link {
		width: 80%;
	}
}
 @media screen and (max-width: 768px) {

}
 @media screen and (max-width: 499px) {
}

/* MOVIE
--------------------------------------------------- */
.movie {
	max-width: 640px;
	width: 100%;
	margin: 0 auto;
	aspect-ratio: 16 / 9;
}
.movie iframe {
	width: 100%;
	height: 100%;
}

/* ABOUT
--------------------------------------------------- */
.about-inner-wrap {
	display: inline-block;	
	margin: 0 auto;
	text-align: left;	
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 499px) {
}

/* REPORT
--------------------------------------------------- */
.report-contents .contents-box {
	max-width: 800px;
	justify-content: flex-start;
	text-align: left;
}
.report-contents .hero {
	display: grid;
	gap: 1em;
}
.report-lead-area {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	padding: 0 .5em;
}
.report-contents h1 {
	font-size: 140%;
	line-height: 1.5;
	text-align: left;
}
.report-contents h2 {
	padding-bottom: .5em;
	color: #F57C00;
	font-size: 120%;
	line-height: 1.5;
	text-align: left;
	border-bottom: 1px solid #CCC;	
}
.report-contents h3 {
	margin-bottom: 8px;
}
.report-contents figure {
	inline-size: fit-content;
	max-inline-size: 100%;
	margin-inline: auto;
}
.report-contents figcaption {
	margin-top: 4px;
	inline-size: 0;
	min-inline-size: fit-content;
	margin-inline: auto;
	color: #666;
	font-size: 80%;
	line-height: 1.35;
}
.report-txt {
	padding: 0 .5em;
}
.report-list {
	display: grid;
	gap: 8px;
}
.report-list + p {
	margin-top: 8px;
}
.report-list li {
	margin: 0;
	padding: 0 0 0 2em;
	font-size: 90%;
	line-height: 1.5;
    text-indent: -1em;	
	text-align: left;
}
.report-list li::before {
    content:"・";
}
.campaign-area {
	display: grid;
	place-items: center;
	width: 100%;
	background: #FFF;
	border: 1px solid #CCC;
	gap: 0;
}
.campaign-txt {
	display: grid;
	margin: 0 auto;
	padding: 1em 2em;
	text-align: center;
	gap: 4px;
}
.campaign-title {
	width: 100%;
	margin: 0;
	padding: 8px 2em;
	background: #EFEFEF;
	color: #ed1e79;
	font-weight: bold;
	text-align: center;
}
.inner-wrap {
	display: inline-block;
	margin: 0 auto;
	text-align: left;
}
.campaign-btn {
	max-width: 400px;
	width: 100%;
	margin: 0 auto;
	padding: .5em 3em .5em 2em;
	background: #ed1e79;
	border-radius: 1.5em;
	color: #FFF!important;
	font-size: 80%;
	position: relative;
	text-align: center;
}
.campaign-btn span:before {
    content: '';
    width: 20px;
    height: 20px;
    background: #FFF;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: 8px;
    bottom: 0;
    margin: auto;
}
.campaign-btn span:after {
    content: '';
    width: 8px;
    height: 8px;
    border-top: 3px solid #ed1e79;
    border-right: 3px solid #ed1e79;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    margin: auto;
    transition: 0.3s;
}
.editor {
	margin-top: 1em;
	font-size: 80%;
	color: #222;
}
@media screen and (max-width: 768px) {
	.campaign-btn {
		padding: .75em 3em .75em 2em;
	}
}
@media screen and (max-width: 499px) {
}
/* PHOTO
--------------------------------------------------- */
.photo-box {
	display: flex;
	flex-direction: row;
  	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.photo-box.photo-flow {
	display: grid;
	grid-template-columns: 20% 1fr;
	gap: 1em;
}
.photo-box.photo-flow.photo-box-re {
	grid-template-columns: 1fr 20%;
}
.photo-box.photo-flow.photo-flow-40 {
	grid-template-columns: 40% 1fr;
}
.photo-box.photo-flow.photo-flow-40.photo-box-re {
	grid-template-columns: 1fr 40%;
}
.photo-box.photo-flow.photo-box-re figure{
	order: 2;
}
.photo-box.photo-flow.photo-box-re .report-txt{
	order: 1;
}
.photo-box.photo-two li {
	width: calc( calc( 100% - 5px) / 2);
}
.photo-box.photo-three li {
	width: calc( calc( 100% - 10px) / 3);
}
.photo-line li:first-child {
	flex-basis: 30%
}
.photo-line li:last-child {
	flex-basis: 70%;
	padding: .5em .5em 0 2em;	
}
.caption {
	font-size: 80%;
	margin-top: 4px;
	padding: 0 .5em;
}
@media screen and (max-width: 768px) {
	.photo-box.photo-flow {
		gap: .5em;
	}
	.photo-line li:first-child {
		flex-basis: 100%;
		padding: 5% 10%;
		background: #FFF;
	}
	.photo-line li:last-child {
		flex-basis: 100%;
		padding: 0 10% 5%;	
		background: #FFF;
	}
}