@charset "UTF-8";
.pc{
	display: block;
}
.sp{
	display: none;
}
.page-head-text.jp-txt-change h1{
	font-family: "shippori-mincho", sans-serif!important;
}

.t-title {
	max-width: auto;
	width: 97%;
	margin: 0 auto;
	text-align: center;
	font-weight: 900;
	font-family: "adobe-caslon-pro", serif;
	font-size: 15vw;
	line-height: 1.2;
}
.t-title h2{
	display: block;
	margin-bottom: 0.4em;
	padding: 0 20px;
	border-bottom: solid 2px #494949;
	line-height: 0.8;
}
.t-title p{
	font-size: 4.5vw;
	font-family: "shippori-mincho", sans-serif!important;
}

.t-title-2 {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-weight: 900;
	font-family: "adobe-caslon-pro", serif;
	font-size: 11vw;
	line-height: 1.2;
}
.t-title-2 h2{
	margin-right: 0.4em;
}
.t-title-2 p{
	margin-top: 0px;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
	font-size: 4vw;
}


@media screen and (min-width: 850px) {
	.t-title {
		max-width: 750px;
		margin: 0 auto;
		font-size: 6.0rem;
	}

	.t-title h2{
		display: block;
		margin-bottom: 0.4em;
		padding: 0 20px;
		border-bottom: solid 2px #494949;
		line-height: 0.8;
	}
	.t-title p{
		font-size: 2rem;
	}

	.t-title-2 {
		font-size: 6.0rem;
	}
	.t-title-2 p{
		margin-top: -10px;
		font-size: 2rem;
	}

}

@-moz-document url-prefix() {
	.t-title {
		font-weight: bold;
	}
}

/*---------------------------
　　　メインビジュアル
--------------------------- */
#main-visual {
	display: block;
	position: relative;
	height: auto;
	background-color: #000;
}

#main-visual .container {
	width: 100%;
	height: auto;
	max-width: 100%;
	box-sizing: border-box;
	background-color: #000;
	transition: .6s ease;
	padding-top: 100px;
}
	.youtube__wrapper {
		width: 100%;
		height: calc(100vh - 100px);
		overflow: hidden;
		position: relative;
	}
		.youtube__loading{
			width: 100vw;
			height: 100%;
		}
			.youtube__loading img{
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
			}
		.youtube__wrapper iframe {
			position: absolute;
			top: 50%;
			left: 50%;
			width: 100vw; /* 画面幅いっぱい */
			height: 56.25vw; /* 16:9比率 */
			transform: translate(-50%, -50%);
			min-width: 100%;
			min-height: 100%;
			z-index: 2;
		}
#main-visual .logo {
	width: 93%;
	max-width: 550px;
	text-align: center;
	margin: 7% auto;
}
.start-box__wrapper{
	width: 100%;
	margin: 0 auto;
	padding: 70px 0;
}
	#main-visual .start-box{
		width: 68.75%;
		margin: 0 auto;
		padding: 20px 0;
		border-top: solid 1px #fff;
		border-bottom: solid 1px #fff;
	}
.l__wrapper{
	overflow: hidden;
}
#tokyo__area{
	width: 100%;
	height: auto;
}
	.tokyo__inner{
		width: 100%;
		height: auto;
		max-width: 1100px;
		margin: 0 auto;
		padding: 64px 0 0 0;
	}
		.tokyo__link_wrap{
			width: 100%;
			height: auto;
		}
			.tokyo__link{
				width: 100%;
				height: 100%;
				display: flex;
				align-items: center;
				justify-content: center;
				font-size: 3.6rem;
				letter-spacing: 0.1em;
				line-height: 1;
				color: #fff;
				padding: 110px 0;
				background-color: #707070;
				transition: 0.3s;
				border: 1px solid #707070;
			}
			.tokyo__link:hover{
				background-color: #fff;
				color: #707070;
			}
			#main-visual .start-dateflex{
				display: flex;
				justify-content: center;
				align-items: center;
				margin-bottom: 15px;
			}
				#main-visual .start-flex{
					display: flex;
					justify-content: space-around;
				}
				#main-visual .start-day{
					width: 60%;
				}
				#main-visual .start-day p{
					text-align: center;
					font-family: Copperplate, Copperplate Gothic Light, sans-serif;
					font-size: 3.6rem;
					letter-spacing: 1.3px;
					color: #fff!important;
				}
				#main-visual .start-time{
					width: 30%;
					vertical-align: middle;
				}
				#main-visual .start-time p{
					font-family: Copperplate, Copperplate Gothic Light, sans-serif;
					font-size: 2.3rem;
					color: #fff;
				}
				#main-visual .start-time i{
					font-size: 2rem;
				}
#main-visual .start-guideflex{
	display: flex;
	justify-content: center;
	align-items: center;
}
	#main-visual .start-guidetext{
		width: 60%;
		text-align: center;
	}
		#main-visual .start-guidetext p{
			font-size: 1.7rem;
			color: #fff;
		}
			#main-visual .start-guidebtnbox{
				width: 30%;
				text-align: center;
			}
			#main-visual .start-guidebtnbox a{
				display: block;
			}
			#main-visual .start-guidebtn{
				padding: 5px 10px;
				border-radius: 3px;
				background-color: #fff;
			}
			#main-visual .start-guidebtn p{
				font-size: 1.1vw;
				font-weight: bold;
				color: #db0303;
			}
			#main-visual .start-guidebtn i{
				margin-left: 5px;
				font-size: 1.1vw;
			}

#main-visual a.scroll {
	position: relative;
	display: block;
	width: 50px;
	height: 35px;
	margin: 6% auto 5%;
	z-index: 10;
	animation-name: scroll;
	animation-duration: 2.2s;
	animation-timing-function: cubic-bezier(.15, .41, .69, .94);
	animation-iteration-count: infinite;
}

#main-visual a.scroll:hover {
	opacity: 0.6;
}

#main-visual a.scroll span {
	position: relative;
	display: block;
	width: 50px;
	height: 17.5px;
}

#main-visual a.scroll span::before {
	content: "";
	position: absolute;
	top: 0;
	left: 2px;
	width: 50%;
	height: 1px;
	background-color: #EAD096;
	/*金色*/
	transform: rotate(30deg);
}

#main-visual a.scroll span::after {
	content: "";
	position: absolute;
	top: 0;
	right: 2px;
	width: 50%;
	height: 1px;
	background-color: #EAD096;
	/*金色*/
	transform: rotate(-30deg);
}

@keyframes scroll {
	0% {
		opacity: 0;
	}

	10% {
		transform: translateY(0);
		opacity: 1;
	}

	100% {
		transform: translateY(15px);
		opacity: 0;
	}
}

/* @media screen and (max-width: 1100px){
	#main-visual .start-day p{
		font-size: 5vw;
	}
	#main-visual .start-time p{
		font-size: 3.5vw;
	}
	#main-visual .start-time i{
		font-size: 3vw;
	}
	
	#main-visual .start-guidetext p{
		font-size: 2.5vw;
	}
	#main-visual .start-guidebtn p{
		font-size: 2.5vw;
	}
	#main-visual .start-guidebtn i{
		font-size: 1.8vw;
	}
} */

@media screen and (max-width: 1100px){
	#main-visual .start-box{
		padding: 20px 0;
	}
	#main-visual .start-dateflex{
		margin-bottom: 5px;
	}
	#main-visual .start-day{
		width: 65%;
	}
	#main-visual .start-day p{
		font-size: 5.5vw;
		letter-spacing: 1.3px;
	}
	#main-visual .start-time{
		width: 35%;
	}
	#main-visual .start-time p{
		font-size: 4vw;
	}
	#main-visual .start-time i{
		font-size: 3vw;
	}

	#main-visual .start-guidetext{
		width: 65%;
	}
	#main-visual .start-guidetext p{
		font-size: 3.3vw;
	}
	#main-visual .start-guidebtnbox{
		width: 35%;
	}
	#main-visual .start-guidebtn{
		padding: 4px 1px;
	}
	#main-visual .start-guidebtn p{
		font-size: 3vw;
	}
	#main-visual .start-guidebtn i{
		margin-left: 5px;
		font-size: 2.5vw;
	}
}

@media screen and (min-width: 1099px) {
	.slider_main {
		width: 50%;
		height: 100%;
		margin: 0 auto 0 0;
	}

	#main-visual .container {
		width: 100%;
		height: 100%;
		max-width: 100%;
		box-sizing: border-box;
		background-color: transparent;
		padding-top: 100px;
	}
		.youtube__wrapper {
			width: 100%;
			height: calc(100vh - 100px);
			overflow: hidden;
			position: relative;
		}
			.youtube__loading{
				width: 100vw;
				height: 100%;
			}
				.youtube__loading img{
					width: 100%;
					height: 100%;
					object-fit: cover;
					object-position: center;
				}
			.youtube__wrapper iframe {
				position: absolute;
				top: 50%;
				left: 50%;
				width: 100vw;
				height: 56.25vw;
				transform: translate(-50%, -50%);
				min-width: 100%;
				min-height: 100%;
				z-index: 2;
			}
	#main-visual .logo {
		width: 95%;
		max-width: 700px;
		margin: 40px auto 80px;
	}

	#main-visual a.scroll {
		margin: 30px auto 20px;
	}

}

/*---------------------------
　　　導入
--------------------------- */
#t-intro {
	background-color: #000;
	padding-bottom: 15%;
}

#t-intro .text {
	/* margin-bottom: 10%; */
	padding-top: 33%;
	padding-bottom: 23%;
	position: relative;
}

#t-intro p {
	color: #fff;
	text-align: center;
	line-height: 2.3;
	font-size: 3.8vw;
	margin-bottom: 1.4em;
}

#t-intro p.p-name {
	color: #EAD096;
	/*金色*/
	font-size: 4.2vw;
}

#t-intro p.p-name span {
	display: block;
	font-size: 0.8em;
	line-height: 1.4;
}

#t-intro .deco_top_sp {
	position: absolute;
	top: 0;
	left: 0;
	transform: scale(1.05);
	z-index: 3;
}

#t-intro .deco_top_sp img {
	width: 100%;
}

#t-intro .deco_bottom_sp {
	position: absolute;
	bottom: 0;
	left: 0;
	transform: scale(1.05);
}

#t-intro .deco_bottom img {
	position: relative;
	width: 100%;
}
#t-intro .about-btn{
	width: 40%;
}
#t-intro .about-btn p{
	margin-bottom: 0;
	text-align: center;
	line-height: 1;
	text-shadow: none;
}
#t-intro .about-btn p.btn-title{
	font-size: 3.5rem;
}
#t-intro .about-btn p.btn-text{
	font-size: 1.5rem;
}

.deco_top_pc .left {
	animation: flash 2s linear infinite;
}

.deco_top_pc .right {
	animation: flash 2s linear infinite;
	animation-delay: 1s;
}

.deco_bottom_pc .left {
	animation: flash 2s linear infinite;
	animation-delay: 1s;
}

.deco_bottom_pc .right {
	animation: flash 2s linear infinite;
}

@keyframes flash {

	0%,
	100% {
		opacity: 1;
	}

	50% {
		opacity: 0.5;
	}
}

@media screen and (max-width: 850px) {

	#t-intro .text{
		padding-top: 0;
	}
	#t-intro .deco_top_pc,
	#t-intro .deco_bottom_pc {
		display: none;
	}

	#t-intro .about-btn{
		width: 100%;
	}
	#t-intro .about-btn p.btn-title{
		font-size: 7vw;
	}
	#t-intro .about-btn p.btn-text{
		font-size: 4vw;
	}
}

@media screen and (min-width: 850px) {
	#t-intro {
		padding-top: 150px;
		padding-bottom: 150px;
		overflow: hidden;
	}

	#t-intro .text {
		margin-bottom: 50px;
		padding-top: 180px;
		padding-bottom: 50px;
	}

	#t-intro .deco_top_sp,
	#t-intro .deco_bottom_sp {
		display: none;
	}

	#t-intro .deco_top_pc {
		position: absolute;
		top: 0;
		left: 50%;
		display: flex;
		justify-content: space-between;
		transform: translateX(-50%);
		width: 120%;
	}

	#t-intro .deco_bottom_pc {
		position: absolute;
		bottom: 0;
		left: 50%;
		display: flex;
		justify-content: space-between;
		width: 120%;
		transform: translateX(-50%);
	}

	#t-intro .deco_top_pc img,
	#t-intro .deco_bottom_pc img {
		width: 250px;
	}

	#t-intro p {
		position: relative;
		font-size: 1.6rem;
		text-align: left;
		z-index: 10;
		text-shadow: 1px 1px 0 #000;
	}

	#t-intro p.p-name {
		position: relative;
		font-size: 2.0rem;
		width: 50%;
		left: 30%;
	}

	#t-intro .deco_bg {
		position: absolute;
		bottom: 0;
		right: 0;
		width: 100%;
		height: 100%;
		background: url("../img/top/about_deco_bg_pc.png") right center / contain no-repeat;
		z-index: 1;
	}

	#t-intro .deco_star {
		position: absolute;
		bottom: 0;
		left: 7%;
		width: 700px;
		height: 450px;
		background: url("../img/top/about_deco_pc.png") center / contain no-repeat;
		animation: flash 2s linear infinite;
		animation-delay: .5s;
	}
}

/*---------------------------
　　　私たちの想い
--------------------------- */
.mission-wrapper{
	padding: 40px 0;
}
.mission-wrapper .t-title{
	margin-bottom: 0.9em;
}
.mission-wrapper .t-title h2{
	font-size: 6.2rem;
	color: #c40202;
}
.mission-wrapper .container{
	width: 80%;
}
.mission-textbox{
	margin-bottom: 3em;
}
.mission-text{
	margin-bottom: 2em;
}
.mission-text p{
	letter-spacing: 1.1px;
	line-height: 1.7;
	font-size: 1.7rem;
	font-weight: bold;
}
.mission-pc-hiddenbox{
	display: none;
}
.mission-subtitle{
	margin-bottom: 1.9em;
	text-align: center;
}
.mission-subtitle h3{
	display: inline-block;
	padding: 5px 30px;
	font-weight: bold;
	font-size: 2.4rem;
	border-bottom: solid 1px #c40202;
}
.mission-morebtn{
	width: 40%;
	margin: 0 auto;
	text-align: center;
}
.mission-morebtn .temp-btn{
	border: solid 1px #b10000;
	background-color: #fff;
	cursor: pointer;
}
.mission-morebtn .btn-text{
	font-weight: bold;
	color: #b10000;
}
.mission-morebtn .temp-btn img{
	position: relative;
	width: 5%;
	top: auto;
	left: auto;
	transform: translate(0);
	transition: all 0.5s;
}

@media screen and (max-width: 850px){
	.mission-wrapper .t-title{
		margin-bottom: 0.4em;
	}
	.mission-wrapper .t-title h2{
		font-size: 9vw;
	}
	.mission-wrapper .container{
		width: 95%;
	}
	.mission-textbox{
		margin-bottom: 3em;
	}
	.mission-text{
		text-align: center;
	}
	.mission-text p{
		line-height: 2;
		font-size: 3.8vw;
	}
	.mission-sp-hiddenbox{
		display: none;
	}
	.mission-pc-hiddenbox{
		display: block;
	}
	.mission-subtitle h3{
		font-size: 6vw;
	}
	.mission-morebtn{
		width: 90%;
	}
	.mission-morebtn .temp-btn img{
		width: 6%;
	}
}

/*---------------------------
　　　新しい取り組み
--------------------------- */
.what-wrapper{
	margin-bottom: 4em;
	padding: 65px 0 60px 0;
	background-color: #a3a3a3;
}
.what-wallpaper{
	padding:20px 0 0 0;
	background-image: url("../img/what_paper.png");
	background-position: center;
	background-size: contain;
	background-repeat: repeat-x;
}
.what-wrapper .t-title{
	margin-bottom: 0.9em;
}
.what-wrapper .t-title h2{
	font-size: 6.2rem;
	color: #c40202;
}
.what-wrapper .container{
	width: 90%;
}
.what-coming{
	padding: 60px 0;
	text-align: center;
}
.what-coming p{
	font-size: 7rem;
	font-weight: bold;
}
.what-list{
	width: 60%;
	margin: 0 auto 4.5em auto;
}
.what-list ul li{
	background-image: url("../img/what_mark.png");
	background-position: top left;
	background-repeat: no-repeat;
	background-size: auto 26px;
	padding-left: 35px;
	margin-bottom: 2em;
	font-size: 1.7rem;
	font-weight: bold;
	letter-spacing: 1.2px;
	line-height: 1.7;
	text-decoration: underline;
}
.what-btn{
	width: 50%;
	margin: 0 auto;
	text-align: center;
}
.what-btn p{
	margin-bottom: 0;
	text-align: center;
	line-height: 1;
}
.what-btn p.btn-title{
	font-size: 3.5rem;
}
.what-btn p.btn-text{
	font-size: 1.5rem;
}

@media screen and (max-width: 850px){
	.what-wrapper{
		margin-bottom: 1em;
		padding: 20px 0 50px 0;
	}
	.what-wallpaper{
		padding: 30px 0 0 0;
		background-size: contain;
		background-repeat: no-repeat;
	}
	.what-wrapper .t-title{
		margin-bottom: 0.4em;
	}
	.what-wrapper .t-title h2{
		font-size: 9vw;
	}
	.what-wrapper .container{
		width: 95%;
	}
	.what-coming{
		padding: 15vw 0 25vw 0;
	}
	.what-coming p{
		font-size: 10vw;
	}
	.what-list{
		width: 90%;
		margin: 0 auto 2.5em auto;
	}
	.what-list ul li{
		background-size: auto 24px;
		padding-left: 35px;
		font-size: 4vw;
	}
	.what-btn{
		width: 90%;
	}
	.what-btn p.btn-title{
		font-size: 7vw;
	}
	.what-btn p.btn-text{
		font-size: 4vw;
	}
}

/*---------------------------
　　　会場一覧
--------------------------- */
.map-wrapper{
	border-bottom: solid 1px #000;
	overflow: hidden;
}
.map-wrapper .title-box{
	margin-bottom: 2em;
}
.map-wrapper .t-title-2{
	margin-bottom: 0.1em;
}
.map-wrapper .t-title-2 h2{
	font-size: 7.5rem;
	color: #c40202;
}
.map-wrapper .t-title{
	margin-bottom: 0.9em;
}
.map-wrapper .t-title h2{
	font-size: 6.2rem;
	line-height: 1.2;
	padding-top: 79px;
	color: #c40202;
}
.map-wrapper .sub-title{
	text-align: center;
}
.map-wrapper .sub-title h3{
	font-size: 2.3rem;
	font-weight: bold;
}
.map-wrapper .container{
	width: 90%;
}
.map-bigimage{
	margin-bottom: 4em;
}
.map-bigimage img{
	width: 100%;
	border-radius: 7px;
	object-fit: contain;
}
.map-flexbox{
	width: 90%;
	margin: 0 auto;
	position: relative;
}
	.map-flex_subttl_wrap{
		width: 100%;
		height: auto;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.map-flexbox .map-flex_subttl.__red{
		font-size: 1.8rem;
		letter-spacing: 0.1em;
		color: #b50012;
		font-weight: 700;
		background-color: #fff;
		padding: 0 1.6rem;
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
		transform: translateY(50%);
		position: relative;
		z-index: 1;
		width: fit-content;
	}
	.map-flexbox .map-flex_subttl{
		font-size: 1.8rem;
		letter-spacing: 0.1em;
		color: #967200;
		font-weight: 700;
		background-color: #fff;
		padding: 0 1.6rem;
		text-align: center;
		transform: translateY(50%);
		position: relative;
		z-index: 1;
		width: fit-content;
		position: relative;
	}
	.map-flexbox .map-flex.two-digit-list::before{
		content: "";
		display: block;
		width: 100%;
		height: 2px;
		background-color: #b50012;
		position: absolute;
		top: 0;
		left: 0;
		/* transform: translateY(50%); */
	}
	.map-flex.three-digit-list::before{
		content: "";
		display: block;
		width: 100%;
		height: 2px;
		background-color: #967200;
		position: absolute;
		top: 0;
		left: 0;
		/* transform: translateY(50%); */
	}
.map-flex{
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-items: stretch;
	position: relative;
	padding-top: 63px;
}

.map-flex li{
	position: relative;
	width: 15.37%;
	margin-right: 2%;
	margin-bottom: 3em;
	padding: 30px 13px 11px 13px;
	border: solid 2px #646464;
	border-radius: 8px;
	box-shadow: 0px 4px 3px 0px #c5c5c5;
	cursor: pointer;
	background-color: #fff;
	transition: all 0.5s;
}
	.obj__wrap{
		position: relative;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		transition: 0.5s;
	}
		#map_btn_0 .fukidashi_item{
			display: block;
			height: 26px;
			background-color: #8c3d11;
			border-radius: 4px;
			width: calc(200% + 26px);
			position: absolute;
			bottom: -32px;
			left: 0;
			transform: translate(0,100%);
			transition: all 0.5s;
		}
		#map_btn_2 .fukidashi_item{
			display: block;
			width: 38%;
			height: 26px;
			background-color: #d83800;
			border-radius: 4px;
			width: 100%;
			position: absolute;
			width: 100%;
			position: absolute;
			bottom: -32px;
			left: 0;
			transform: translate(0,100%);
			transition: all 0.5s;
		}
		#map_btn_3 .fukidashi_item{
			content: "";
			display: block;
			width: 38%;
			height: 26px;
			background-color: #b50012;
			border-radius: 4px;
			width: 100%;
			position: absolute;
			bottom: -32px;
			left: 0;
			transform: translate(0,100%);
			transition: all 0.5s;
		}
			#map_btn_0 .fukidashi_obj,
			#map_btn_2 .fukidashi_obj,
			#map_btn_3 .fukidashi_obj{
				width: 12px;
				height: 15px;
				background-image: url("../img/top/fukidashi.webp");
				background-position: top center;
				background-size: 100% auto;
				position: absolute;
				bottom: -37px;
				right: 8px;
				transition: all 0.5s;
			}
			#map_btn_0 .fukidashi_obj{
				right: calc(-100% - 17px);
			}
			#map_btn_2 .fukidashi_obj{
				background-image: url("../img/top/fukidashi_02.webp");
			}
			#map_btn_3 .fukidashi_obj{
				background-image: url("../img/top/fukidashi_03.webp");
			}

			#map_btn_0 .place__obj,#map_btn_1 .place__obj{
				width: 46px;
				height: 50px;
				position: absolute;
				bottom: -9px;
				right: -9px;
				background-image: url("../img/top/violin_ico.webp");
				background-size: 100% auto;
				background-position: top center;
				background-repeat: no-repeat;
			}
			#map_btn_2 .place__obj_add,#map_btn_3 .place__obj_add{
				width: 46px;
				height: 50px;
				position: absolute;
				bottom: -9px;
				right: 13px;
				background-image: url("../img/top/violin_ico.webp");
				background-size: 100% auto;
				background-position: top center;
				background-repeat: no-repeat;
			}
			#map_btn_2 .place__obj{
				width: 46px;
				height: 46px;
				position: absolute;
				bottom: -9px;
				right: -15px;
				background-image: url("../img/top/circus_ico.webp");
				background-size: 100% auto;
				background-position: top center;
				background-repeat: no-repeat;
			}
			#map_btn_3 .place__obj{
				width: 38px;
				height: 50px;
				position: absolute;
				bottom: -15px;
				right: -15px;
				background-image: url("../img/top/santa_ico.webp");
				background-size: 100% auto;
				background-position: top center;
				background-repeat: no-repeat;
			}
			.map-flex.two-digit-list #map_btn_0 > .obj__wrap::after{
				content: "クラシック演奏あり";
				font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", "sans-serif";
				font-size:  1.4rem;
				font-weight: 700;
				padding-top: 6px;
				letter-spacing: 0.1em;
				line-height: 1;
				color: #fff;
				position: absolute;
				bottom: -32px;
				left: 68%;
				transform: translate(0%,100%);
				transition: all 0.5s;
				white-space: nowrap;
			}

			.map-flex.two-digit-list #map_btn_2 > .obj__wrap::after{
				content: "クリスマスサーカス";
				font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", "sans-serif";
				font-size:  1.4rem;
				font-weight: 700;
				padding-top: 6px;
				letter-spacing: 0.1em;
				line-height: 1;
				color: #fff;
				position: absolute;
				bottom: -32px;
				left: 50%;
				transform: translate(-50%,100%);
				transition: all 0.5s;
				white-space: nowrap;
			}

			.map-flex.two-digit-list #map_btn_3 > .obj__wrap::after{
				content: "サンタがいっぱい！";
				font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", "sans-serif";
				font-size:  1.4rem;
				font-weight: 700;
				padding-top: 6px;
				letter-spacing: 0.1em;
				line-height: 1;
				color: #fff;
				position: absolute;
				bottom: -32px;
				left: 50%;
				transform: translate(-50%,100%);
				transition: all 0.5s;
				white-space: nowrap;
			}
.map-flex li:nth-child(5n){
	margin-right: 0;
}
.map-flex li:nth-child(1),
.map-flex li:nth-child(2),
.map-flex li:nth-child(3),
.map-flex li:nth-child(4),
.map-flex li:nth-child(5){
	margin-bottom: 100px;
}
.map-flex.three-digit-list li{
	margin-bottom: 3.6rem;
}
.map-flex li:hover{
	transform: translate(0,10px);
	box-shadow: none;
	transition: 0.5s;
}
.map-flex li:hover .obj__wrap{
	transform: translate(0,-10px);
	box-shadow: none;
	transition: 0.5s;
}
.map-new{
	position: absolute;
	top: 2px;
	right: 5px;
}
.map-new img{
	width: 100%;
	object-fit: contain;
}
.map-alphabet{
	position: absolute;
	top: 0%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.map-alphabet .map-circle{
	position: relative;
	text-align: center;
}
.map-alphabet .map-circle::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 37px;
	height: 37px;
	border: solid 2px #b50012;
	border-radius: 50%;
	background-color: #fff;
	z-index: 1;
}
.map-alphabet .map-circle p{
	position: relative;
	padding-top: 2px;
	font-family: "游ゴシック体", serif;
	font-size: 2.6rem;
	font-weight: 700;
	color: #b50012;
	z-index: 3;
	line-height: 1;
}
.map-alphabet .color-5::before,
.map-alphabet .color-8::before,
.map-alphabet .color-10::before{
	border: solid 2px #b50012;
}
.map-alphabet .color-5 p,
.map-alphabet .color-8 p,
.map-alphabet .color-10 p{
	color: #b50012;
}
#map_btn_9 .map-alphabet .map-circle::before,
#map_btn_10 .map-alphabet .map-circle::before,
#map_btn_11 .map-alphabet .map-circle::before,
#map_btn_12 .map-alphabet .map-circle::before,
#map_btn_13 .map-alphabet .map-circle::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 56px;
	height: 56px;
	border: unset;
	border-radius: 0%;
	z-index: 1;
	background-image: url('../img/top/star_obj.png');
	background-position: top center;
	background-size: 100% auto;
	background-color: unset;
	background-repeat: no-repeat;
}
.map-venuemark{
	height: 100px;
	margin-bottom: 0.7em;
	text-align: center;
}
.map-venuemark img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.map-name{
	align-items: stretch;
	text-align: center;
}
.map-name p{
	text-align: center;
	font-size: 1.5rem;
	letter-spacing: 0;
	font-weight: bold;
	line-height: 1.3;
	word-wrap:break-word;
}
.map-google{
	margin-bottom: 3rem;
	text-align: right;
}
.map-google p{
	text-decoration: underline;
	font-size: 1.8rem;
}
.map-welcome{
	text-align: center;
}
.map-welcome p{
	font-family: "adobe-caslon-pro", serif;
	font-size: 6rem;
	font-weight: bold;
}
#christmas_advent__about_area{
	width: 100%;
	height: auto;
	background-color: #000;
	position: relative;
	margin-bottom: 8rem;
}
	.ca__about_inner{
		width: 90%;
		height: auto;
		margin: 0 auto;
		max-width: 1100px;
	}
		.ca__about_contents{
			width: 100%;
			height: auto;
		}
			.ca__about_contents_inner{
				width: 100%;
				height: auto;
			}
				.ca__about_contents_01{
					width: 100%;
					height: auto;
				}
					.ca__about_contents_01_inner{
						width: 90%;
						height: auto;
						margin: 0 auto;
						display: flex;
						align-items: stretch;
						justify-content: space-between;
						padding-top: 66px;
						padding-bottom: 75px;
					}
						.ca__about_contents_01_txt{
							width: 55.9%;
							height: auto;
							position: relative;
						}
						.ca__about_contents_01_txt:first-of-type{
							margin-right: 45px;
						}
							.ca__about_contents_01_ttl_obj{
								width: 114.7%;
								height: auto;
								position: absolute;
								top: 66px;
								left: -5.5rem;
							}
							.ca__about_contents_01_ttl{
								font-size: 4rem;
								letter-spacing: 0.1em;
								line-height: 1;
								color: #fff;
								position: relative;
								z-index: 1;
								padding-top: 142px;
							}
							.ca__about_contents_01_dtl{
								font-size: 1.8rem;
								letter-spacing: 0em;
								line-height: 3.2;
								color: #fff;
								position: relative;
								z-index: 1;
								padding-top: 119px;
								font-feature-settings: "palt";
							}
						.ca__about_contents_01_image{
							width: 44.5%;
							height: auto;
						}
							.ca__about_contents_01_item img{
								width: 100%;
								height: auto;
							}
				.ca__about_contents_02{
					width: 100%;
					height: auto;
					margin: 0 auto;
				}	
					.ca__about_contents_02_inner{
						width: 90%;
						height: auto;
						margin: 0 auto;
					}
						.ca__about_contents_02_heading{
							width: 100%;
							height: auto;
							display: flex;
							align-items: center;
							justify-content: space-between;
						}	
							.ca__about_contents_02_ttl{
								font-family: "adobe-caslon-pro", serif;
								font-weight: 700;
								font-size: 5.2rem;
								letter-spacing: 0;
								color: #fff;
								line-height: 1;
								font-feature-settings: "palt";
							}
							.ca__about_contents_02_dtl{
								font-weight: 600;
								font-size: 1.8rem;
								letter-spacing: 0;
								color: #fff;
								line-height: 1;
								font-feature-settings: "palt";
							}
						.ca__about_contents_02_image{
							width: 52.5%;
							height: auto;
							margin: 0 auto;
							padding: 30px 0 34px 0;
						}
							.ca__about_contents_02_image img{
								width: 100%;
								height: auto;
							}
				.ca__about_contents_03{
					width: 100%;
					height: auto;
					border-top: solid 1px #fff;
				}
					.ca__about_contents_03_inner{
						width: 90%;
						height: auto;
						margin: 0 auto;
					}
						.ca__feel__list{
							width: 100%;
							height: auto;
							display: flex;
							flex-direction: column;
							row-gap: 74px;
							align-items: center;
							justify-content: center;
							padding: 107px 0 81px 0;
						}
							.ca__feel__item{
								width: 100%;
								height: auto;
								display: flex;
								align-items: center;
								justify-content: space-between;
							}
							.__reverse{
								flex-direction: row-reverse;
							}
								.ca__feel__item_image_wrap{
									width: 59%;
									height: auto;
									position: relative;
								}
								.ca__feel__item_image_wrap.__left_padding{
									padding-left: 11px;
								}
								.ca__feel__item_image_wrap.__right_padding{
									padding-right: 55px;
								}
									.ca__feel__item_image{
										width: 100%;
										height: auto;
									}
										.ca__feel__item_image img{
											width: 100%;
											height: auto;
										}
									.ca__feel__item_image_obj{
										width: 37%;
										height: auto;
										position: absolute;
										top: -33px;
										left: -55px;
									}
										.ca__feel__item_image_obj img{
											width: 100%;
											height: auto;
										}
									.ca__feel__item.__reverse .ca__feel__item_image_obj{
										width: 37%;
										height: auto;
										position: absolute;
										top: -33px;
										right: -55px;
										left: unset;
									}
								.ca__feel__item_txt_wrap{
									width: 41%;
									height: auto;
									padding-left: 11px;
								}
									.ca__feel__item_txt{
										font-size: 1.6rem;
										letter-spacing: 0;
										font-feature-settings: "palt";
										line-height: 2;
										font-weight: 700;
										color: #fff;
										padding-bottom: 16px;
									}
									.ca__feel__item_place{
										min-width: 128px;
										height: auto;
										padding: 7px 0%;
										font-size: 1.6rem;
										font-weight: 600;
										letter-spacing: 0;
										line-height: 1;
										display: flex;
										align-items: center;
										justify-content: center;
										font-feature-settings: "palt";
									}
										.ca__feel__item_place span{
											display: block;
											width: fit-content;
										}
									.ca__feel__item.__reverse .ca__feel__item_txt{
										margin-left: 0;
										margin-right: 0px;
									}
									.ca__feel__item.__reverse .ca__feel__item_place{
										margin-left: 0;
										margin-right: 0px;
									}
									.ca__feel__item_place.__yellow{
										max-width: 128px;
									}
									.ca__feel__item_place.__light_blue{
										max-width: 100%;
									}
									.ca__feel__item_place.__salmon_pink{
										max-width: 100%;
									}
									.__yellow{
										background-color: #ddca3e;
									}
									.__light_blue{
										background-color: #67c9ce;
									}
									.__salmon_pink{
										background-color: #ffa9a9;
									}
									.ca__feel__item_logo_wrap{
										width: 100%;
										height: auto;
										padding-top: 30px;
										display: flex;
										align-items: flex-start;
										justify-content: flex-start;
									}
									.ca__feel__item_logo_wrap.__flex_end{
										display: flex;
										align-items: flex-start;
										justify-content: flex-end;
									}
										.ca__feel__item_logo{
											width: 50%;
											height: auto;
										}
											.ca__feel__item_logo img{
												width: 100%;
												height: auto;
											}
				.place__list{
					width: 360px;
					height: 70px;
					border-radius: 9999px;
					border: solid 1px #fff;
					background-color: #000;
					display: flex;
					align-items: center;
					justify-content: center;
					transition: 0.3s;
					margin: 0 auto 55px auto;
				}
				.place__list:hover{
					background-color: #fff;
				}		
					.place__list_inner{
						width: 100%;
						height: auto;
						display: flex;
						align-items: center;
						justify-content: center;
						column-gap: 10px;
					}	
						.click_txt{
							font-size: 1.6rem;
							letter-spacing: 0;
							line-height: 1;
							font-weight: 700;
							border-radius: 9999px;
							display: flex;
							align-items: center;
							justify-content: center;
							background-color: #fff;
							color: #000;
							padding: 6px 10px;
							transition: 0.3s;
						}
						.place__list:hover .click_txt{
							background-color: #000;
							color: #fff;
						}
						.place__list_txt{
							font-size: 1.8rem;
							letter-spacing: 0;
							line-height: 1;
							font-weight: 700;
							color: #fff;
							transition: 0.3s;
						}	
						.place__list:hover .place__list_txt{
							color: #000;
						}
						.place__list_arrow{
							width: 28px;
							height: auto;
						}
							.place__list_arrow svg{
								width: 100%;
								height: auto;
								transition: 0.3s;
								overflow: visible;
							}
							.place__list:hover svg{
								transform: translateX(5px);
							}
							.place__list:hover .cls-1 {
								fill: none;
								stroke: #000;
							}
		.content-artist{
			position: relative;
			padding-bottom: 10rem;
			padding-top: 8rem;
			border-top: solid 1px #fff;
		}
			.content-artimagebox{
				position: relative;
			}
				.content-artimage{
					position: relative;
					z-index: 1;
				}
				.content-artimage::after{
					content: "";
					position: absolute;
					top: 50%;
					left: 50%;
					transform: translate(-50%, -50%);
					width: 100%;
					height: 100%;
					background-color: rgba(0, 0, 0, 0.2);
				}
					.content-artimage img{
						position: relative;
						width: 100%;
						height: 220px;
						border-radius: 5px 5px 0 0;
						object-fit: cover;
						object-position: 50% 80%;
					}
				.content-arttitle{
					position: absolute;
					bottom: -30px;
					left: 30px;
					z-index: 3;
				}
					.content-arttitle h2{
						font-family: "adobe-caslon-pro", serif;
						font-size: 10rem;
						font-weight: bold;
						letter-spacing: 1.8px;
						color: #fff;
					}
						.content-text{
							padding: 15px 10px 15px 35px;
							border-radius: 0 0 5px 5px;
							background-color: #b60211;
						}
							.content-text p{
								display: inline-block;
								position: relative;
								font-size: 2.1rem;
								font-weight: bold;
								color: #fff;
							}
							.content-text p::before{
								content: "";
								position: absolute;
								width: 40px;
								height: 2px;
								background-color: #000;
								top: 66%;
								right: -56px;
								transform: translateY(-50%);
								transition: .3s ease;
								background-color: #fff;
							}
							.content-text p::after{
								content: "";
								position: absolute;
								width: 17px;
								height: 2px;
								background-color: #000;
								top: 50%;
								right: -56px;
								transform: translateY(-50%) rotate(30deg);
								transition: .3s ease;
								background-color: #fff;
							}
@media screen and (max-width: 1280px){
	.map-flex li{
		width: 20%;
		margin-right: 2%;
	}
	.map-flex li:nth-child(5n){
		margin-right: 2%;
	}
	.map-flex li:nth-child(9){
		margin-right: 2%;
	}
	.map-flex li:nth-child(10){
		margin-right: 2%;
	}
	.map-flex li:nth-child(1),
	.map-flex li:nth-child(2),
	.map-flex li:nth-child(3),
	.map-flex li:nth-child(4),
	.map-flex li:nth-child(5),
	.map-flex li:nth-child(6){
		margin-bottom: 100px;
	}
}

@media screen and (max-width: 850px){
	.map-wrapper{
		margin-top: 1.8em;
	}
	.map-wrapper .title-box{
		margin-bottom: 0.8em;
	}
	.map-wrapper .t-title-2 h2{
		font-size: 10vw;
	}
	.map-wrapper .t-title{
		margin-bottom: 0.1em;
	}
	.map-wrapper .t-title h2{
		font-size: 9vw;
		padding-top: calc((30 / 375) * 100vw);
		line-height: 1.1;
	}
	.map-wrapper .sub-title h3{
		font-size: 4.5vw
	}
	.map-wrapper .container{
		width: 100%;
		max-width: none;
	}
	.map-bigimage{
		margin-bottom: 2em;
	}
	.map-bigimage img{
		width: 100%;
		border-radius: 0;
	}
	.map-flexbox{
		width: 95%;
		margin: 0 auto;
		position: relative;
	}
	.map-flex{
		width: 100%;
		justify-content: space-between;
		flex-wrap: wrap;
		align-items: stretch;
	}
	.map-flex::after{
		content: "";
		display: block;
		width: 30%;
	}
	.map-flex li{
		width: 28.5%;
		margin-right: 0;
		margin-bottom: 10vw;
		padding: 6vw 3px 15px 3px;
		border-radius: 8px;
	}
	.map-new{
		top: -7%;
		right: -11%;
	}
	.map-new img{
		width: 80%;
		height: 13vw;
		object-fit: contain;
	}
	.map-alphabet .map-circle::before{
		width: 7.5vw;
		height: 7.5vw;
	}
	.map-alphabet .map-circle p{
		padding-top: 3vw;
		font-size: 6vw;
	}
	.map-venuemark{
		margin-bottom: 0.8em;
	}
	.map-venuemark img{
		width: 90%;
		height: 15vw;
	}
	.map-name p{
		font-size: 3.2vw;
	}
	.map-google{
		width: 95%;
		margin: 0 auto 1.5em auto;
	}
	.map-google p{
		font-size: 3.5vw;
	}
	.map-welcome p{
		font-size: 8vw;
	}
}

/*---------------------------
　　　会場一覧(ポップアップ)
--------------------------- */
.map-popup-box{
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	background-color: rgba(151, 151, 151, 0.8);
	z-index: 100;
}
.map-popup-container{
	position: relative;
	max-width: 1200px;
	margin: 8em auto 0 auto; 
	padding: 70px 0 20px 0;
	background-color: #000;
	height: 72vh;
	overflow-y: scroll;
	border-radius: 4px;
	color: #fff;
}

.map-popup-container::-webkit-scrollbar{
	width: 8px;
	background-color: #fff;
	border-radius: 10px;
}
.map-popup-container::-webkit-scrollbar-track{
	width: 8px;
	background-color: #fff;
	border-radius: 10px;
}
.map-popup-container::-webkit-scrollbar-thumb{
	background-color: #a80101;
	border-radius: 10px;
}
.map-popup-contents{
	width: 85%;
	margin: 0 auto;
}
.map-popup-closebtn{
	position: absolute;
	top: 1.5%;
	right: 10px;
	height: auto;
	padding: 20px 0;
	cursor: pointer;
}
.map-popup-closebtn span{
	display: block;
	width: 45px;
	height: 4px;
	background-color: #eeeeee;
}
.map-popup-closebtn span:nth-child(1){
	transform: translate(0, 2px) rotate(135deg);
}
.map-popup-closebtn span:nth-child(2){
	transform: rotate(-135deg);
}
.map-popup-comingsoon-wrap{
	width: 100%;
	height: calc(72vh - 70px);
}
	.map-popup-comingsoon{
		width: 100%;
		height: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
		.map-popup-comingsoon_logo{
			width: 300px;
			height: auto;
		}
			.comingsoon_logo{
				width: 100%;
				height: auto;
			}
		.map-popup-comingsoon p{
			font-size: 1.6rem;
			font-weight: 700;
			letter-spacing: 0.1em;
			line-height: 1;
			padding-top: 30px;
		}
.map-popup-flex{
	margin-bottom: 4em;
	display: flex;
	justify-content: space-evenly;
	align-items: center;
}
.map-popup-logo{
	width: 42%;
}
.map-popup-logo img{
	width: 100%;
}
.map-popup-place{
	width: 42%;
}
.map-popup-place img{
	width: 100%;
}
.map-popup-presents{
	margin-bottom: 1em;
}
.map-popup-presents p{
	font-size: 2.7rem;
	font-weight: bold;
}
.map-popup-title{
	margin-bottom: 0.7em;
}
.map-popup-title h4{
	font-family: "adobe-caslon-pro", serif;
	font-size: 4rem;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 1.1px;
	color: #ebbf2f;
}
.map-popup-bigimage{
	margin-bottom: 2em;
	text-align: center;
}
.map-popup-bigimage img{
	width: 100%;
}
.map-popup-schedule{
	margin-bottom: 1em;
}
.map-popup-schedule p{
	font-size: 4rem;
	font-weight: bold;
}
.map-popup-schedule span{
	font-size: 3rem;
}
.map-popup-time{
	margin-bottom: 1em;
}
.map-popup-time p,
.map-popup-light p{
	font-size: 2.3rem;
}
.map-popup-time span,
.map-popup-light span{
	min-width: 85px;
	margin-right: 5px;
	padding: 3px 10px;
	text-align: center;
	font-size: 2.1rem;
	background-color: #ac010f;
}
.map-popup-timeflex{
	display: flex;
	justify-content: left;
}
.map-popup-week{
	display: flex;
	justify-content: left;
	align-items: center;
	margin-right: 2.5em;
}
.map-popup-holiday{
	display: flex;
	justify-content: left;
	align-items: center;
}
.map-popup-light{
	margin-bottom: 1em;
	display: flex;
	justify-content: left;
	align-items: center;
}
.map-popup-placetext{
	margin-bottom: 1.2em;
}
.map-popup-placetext p{
	font-size: 2.1rem;
	line-height: 1.5;
}
.map-popup-fleximage{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 1.5em;
}
.map-popup-fleximage::after{
	content: "";
	display: block;
	width: 32%;
}
.map-popup-itemimage{
	width: 32%;
	margin-bottom: 1.2em;
}
.map-popup-itemimage img{
	width: 100%;
	object-fit: cover;
	height: 280px;
}
.map-popup-btn{
	width: 60%;
	margin: 0 auto 3em auto;
	text-align: center;
}
.map-popup-btn .btn-title{
	margin-top: 15px;
	font-size: 3.3rem!important;
}
.map-popup-btn .btn-text{
	font-size: 2.6rem!important;
}
.map-popup-btn .enbtn{
	margin-top: 20px;
}
.map-popup-text{
	margin-bottom: 4em;
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: 1.2px;
}
.map-popup-text p{
	line-height: 1.8;
	letter-spacing: 1.2px;
}

@media screen and (max-width: 850px){
	.map-popup-box{
		position: fixed;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	.map-popup-container{
		width: 95%;
		margin: 5em auto 0 auto; 
		padding: 70px 0 20px 0;
		height: 78vh;
	}
	.map-popup-container::-webkit-scrollbar{
		width: 4px;
	}
	.map-popup-contents{
		width: 90%;
	}
	.map-popup-closebtn{
		top: 1.5%;
		right: 15px;
	}
	.map-popup-closebtn span{
		width: 35px;
		height: 3px;
	}
	.map-popup-flex{
		margin-bottom: 3em;
	}
	.map-popup-logo{
		width: 80%;
	}
	.map-popup-place{
		width: 45%;
	}
	.map-popup-presents p{
		font-size: 4.8vw;
	}
	.map-popup-title h4{
		font-size: 7vw;
	}
	.map-popup-schedule p{
		font-size: 7.4vw;
	}
	.map-popup-schedule span{
		font-size: 5vw;
	}
	.map-popup-time p,
	.map-popup-light p{
		font-size: 5vw;
		line-height: 1.7;
	}
	.map-popup-time span,
	.map-popup-light span{
		min-width: 18vw;
		margin-right: 5px;
		padding: 3px 10px;
		font-size: 4.5vw;
	}
	.map-popup-timeflex{
		flex-direction: column;
	}
	.map-popup-week{
		margin-right: 0;
		margin-bottom: 0.3em;
	}
	.map-popup-placetext{
		margin-bottom: 1.2em;
	}
	.map-popup-placetext p{
		font-size: 4.8vw;
	}
	.map-popup-itemimage img{
		height: 25vw;
	}
	.map-popup-btn{
		width: 100%;
		margin: 0 auto 3em auto;
	}
	.map-popup-btn .btn-title{
		width: 81%;
		padding-left: 10px;
		margin-top: 15px;
		font-size: 6vw!important;
	}
	.map-popup-btn .btn-text{
		font-size: 4.5vw!important;
	}
	.map-popup-btn .enbtn{
		margin-top: 3.5vw;
	}
	.map-popup-text{
		padding-bottom: 7em;
		font-size: 3.5vw;
	}
}

/*---------------------------
　　　コンテンツ
--------------------------- */
.content-wrapper{
	margin-bottom: 6em;
}
.content-wrapper .container{
	width: 90%;
}
.content-classic{
	position: relative;
	margin-bottom: 1.8em;
	text-align: center;
}
.content-coming{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	z-index: 50;
}
.content-coming p{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	text-align: center;
	font-size: 8rem;
	font-weight: bold;
	letter-spacing: 8px;
	vertical-align: middle;
	color: #fff;
}
.content-classic img{
	width: 100%;
	object-fit: cover;
	object-position: center;
	height: 260px;
	border-radius: 5px;
}

.content-faq{
	position: relative;
	transition: all 0.5s;
	background-color: #dbdbdb;
}
.content-faq:hover{
	transition: all 0.5s;
}
.content-faq a{
	display: block;
	padding: 28px 30px 28px 10px;
}
.content-faq::before{
	content: "";
	position: absolute;
	width: 80px;
	height: 2px;
	background-color: #000;
	top: 50%;
	right: 80px;
	transform: translateY(-50%);
	transition: all 0.5s;
	background-color: #000000;
}
.content-faq::after{
	content: "";
	position: absolute;
	width: 40px;
	height: 2px;
	background-color: #000;
	top: 43%;
	right: 78px;
	transform: translateY(-50%) rotate(30deg);
	transition: all 0.5s;
	background-color: #000000;
}
.content-faq:hover::before{
	right: 50px;
	background-color: #b10000;
	transition: all 0.5s;
}
.content-faq:hover::after{
	right: 48px;
	background-color: #b10000;
	transition: all 0.5s;
}
.content-faqflex{
	display: flex;
	justify-content: left;
	align-items: center;
}
.content-faqleft{
	margin-right: 4em;
}
.content-faqleft h2{
	font-size: 8.3rem;
	font-weight: bold;
	transition: all 0.5s;
}
.content-faq:hover h2{
	color: #b10000;
	transition: all 0.5s;
}
.content-faqright p{
	position: relative;
	font-size: 2.7rem;
	font-weight: bold;
	transition: all 0.5s;
}
.content-faq:hover p{
	color: #b10000;
	transition: all 0.5s;
}

@media screen and (max-width: 850px){
	.content-wrapper{
		margin-bottom: 4em;
	}
	.content-wrapper .container{
		width: 95%;
	}
	.content-classic img{
		object-fit: contain;
		height:auto;
	}
	.content-coming p{
		font-size: 8vw;
		letter-spacing: 2px;
	}
	.content-artist{
		margin-bottom: 2.5em;
	}
	.content-artimage img{
		height: 24vw;
		object-position: 50% 80%;
	}
	.content-arttitle{
		bottom: -12%;
		left: 15px;
	}
	.content-arttitle h2{
		font-size: 12.3vw;
		letter-spacing: 2.7px;
	}
	.content-text{
		padding: 10px 10px 10px 16px;
		border-radius: 0 0 5px 5px;
	}
	.content-text p{
		font-size: 3.7vw;
	}
	.content-text p::before{
		width: 5vw;
		height: 2px;
		top: 62%;
		right: -7.5vw;
	}
	.content-text p::after{
		width: 2.4vw;
		height: 2px;
		top: 48%;
		right: -7.5vw;
	}
	.content-faq a{
		padding: 15px 10px 15px 10px;
	}
	.content-faq::before{
		width: 6vw;
		height: 1px;
		top: 50%;
		right: 17px;
	}
	.content-faq::after{
		width: 3vw;
		height: 1px;
		top: 46%;
		right: 16px;
	}
	.content-faqleft{
		margin-right: 1.5em;
	}
	.content-faqleft h2{
		font-size: 10.5vw;
	}
	.content-faqright p{
		font-size: 4.4vw;
	}
}

/*---------------------------
　　　新着情報
--------------------------- */
.news-wrapper{
	margin-bottom: 4em;
}
.news-wrapper .t-title{
	margin-bottom: 0.7em;
}
.news-wrapper .t-title h2{
	font-size: 6.2rem;
	color: #c40202;
}
.news-wrapper .t-title p{
	padding: 16px;
}
ul.topics_list {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	/* font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif" */
}

ul.topics_list .text {
	padding: 0.8em;
	box-sizing: border-box;
}

ul.topics_list li {
	margin: 0 0;
	font-weight: bold;
}

ul.topics_list li .image img {
	width: 100%;
	height: auto;
}

ul.topics_list li .text time {
	font-size: 3.5vw;
}

ul.topics_list li .text p {
	letter-spacing: 0.08em;
	font-size: 4.2vw;
	margin-top: 0.2em;
	line-height: 1.5;
}

#t-topics .more_btn {
	text-align: right;
}

#t-topics .more_btn a {
	letter-spacing: 0.2em;
	font-size: 3.8vw;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	margin: 0 0 0 auto;
}

#t-topics .more_btn a span {
	position: relative;
	padding-right: 1.4em;
}

#t-topics .more_btn a span::before {
	content: "";
	position: absolute;
	width: 20%;
	height: 1px;
	background-color: #000;
	top: 62%;
	right: 5%;
	transform: translateY(-50%);
	transition: .3s ease;
}

#t-topics .more_btn a span::after {
	content: "";
	position: absolute;
	width: 13%;
	height: 1px;
	background-color: #000;
	top: 47%;
	right: 4.5%;
	transform: translateY(-50%) rotate(40deg);
	transition: .3s ease;
}

@media screen and (max-width: 850px){
	.news-wrapper .t-title{
		margin-bottom: 0.4em;
	}
	.news-wrapper .t-title h2{
		font-size: 9vw;
	}
	.news-wrapper .t-title p{

	}
	ul.topics_list{
		display: flex;
		overflow-x: scroll;
	}
	ul.topics_list li{
		min-width: 70vw;
		margin: 0 7px;
	}
}

@media screen and (min-width: 850px) {

	ul.topics_list li a:hover {
		opacity: .6;
	}

	ul.topics_list li .text time {
		font-size: 1.4rem;
	}

	ul.topics_list li .text p {
		font-size: 1.6rem;
	}

	#t-topics .more_btn a {
		font-size: 1.8rem;
	}

	#t-topics .more_btn a:hover {
		opacity: .6;
	}

	#t-topics .more_btn a:hover span::before {
		transform: translateY(-50%) translateX(5px);
	}

	#t-topics .more_btn a:hover span::after {
		transform: translateY(-50%) translateX(5px) rotate(40deg);
	}
}

/*---------------------------
　　　SDGs
--------------------------- */
#t-sdgs{
	margin-bottom: 2.5em;
	padding: 50px 0 30px 0;
	background-color: #e0e0e0;
}
#t-sdgs p {
	text-align: center;
	font-size: 4.3vw;
	margin-bottom: 1em;
	line-height: 2;
}

#t-sdgs .t-title {
	margin-bottom: 0.1em;
}
#t-sdgs .t-title h2 {
	font-size: 6.2rem;
	color: #c40202;
}
#t-sdgs .t-title p {

}

.bg_blue_box {
	padding: 5% 2%;
	background-color: #fff;
}

.bg_blue_box > p{
	font-weight: bold;
}

.bg_blue_box a {
	display: block;
	box-sizing: border-box;
}

.bg_blue_box a .image {
	position: relative;
	padding: 5% 5% 45% 5%;
	box-sizing: border-box;
	background: url("../img/top/sdgs_image.jpg") center / cover no-repeat;
}

.bg_blue_box a .image::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(43, 43, 137, 0.2);
	z-index: 5;
	mix-blend-mode: multiply;
}

.bg_blue_box a .image .catch {
	position: relative;
	z-index: 10;
}

.bg_blue_box a .image .catch span {
	display: inline-block;
	padding: 5px 0 5px 6px;
	background-color: #fff;
	color: #bd0101;
	/*紺色*/
	margin-bottom: 0.2em;
	font-size: 4.5vw;
}

.bg_blue_box a .text {
	display: flex;
	justify-content: center;
	background-color: #b10000;
	font-size: 5vw;
	font-weight: bold;
	color: #fff;
	font-family: "adobe-caslon-pro", serif;
	transition: all 0.5s;
}
.bg_blue_box a:hover .text{
	background-color: #c7c7c7;
	transition: all 0.5s;
}

.bg_blue_box a .text span {
	position: relative;
	display: inline-block;
	padding: 0.5em 1.5em 0.2em 0;
	line-height: 1.5;
	transition: all 0.5s;
}
.bg_blue_box a:hover .text span{
	color: #b10000;
	transition: all 0.5s;
}

.bg_blue_box a .text span::before {
	content: "";
	position: absolute;
	width: 12%;
	height: 2px;
	background-color: #fff;
	top: 55%;
	right: 5%;
	transform: translateY(-50%);
	transition: all 0.5s;
}
.bg_blue_box a:hover .text span::before{
	background-color: #b10000;
	transition: all 0.5s;
}

.bg_blue_box a .text span::after {
	content: "";
	position: absolute;
	width: 6%;
	height: 2px;
	background-color: #fff;
	top: 50%;
	right: 4.5%;
	transform: translateY(-50%) rotate(40deg);
	transition: .3s ease;
}

.bg_blue_box a:hover .text span::after{
	background-color: #b10000;
	transition: all 0.5s;
}

@media screen and (max-width: 850px){
	#t-sdgs{
		padding: 30px 0 30px 0;
	}
	#t-sdgs .container{
		width: 92%;
	}
	.bg_blue_box {
		padding: 5% 5%;
	}
	#t-sdgs .t-title {
		margin-bottom: 0.4em!important;
	}
	#t-sdgs .t-title h2 {
		font-size: 9vw;
		margin-bottom: 0;
		line-height: 1.1;
	}
	#t-sdgs .t-title p {

	}
	.bg_blue_box a .text span::before {
		right: 3%;
	}
	.bg_blue_box a .text span::after {
		top: 48.5%;
		right: 2.5%;
	}
}

@media screen and (min-width: 850px) {
	#t-sdgs p {
		font-size: 2.0rem;
	}

	.bg_blue_box a .image {
		padding: 5% 5% 30% 5%;
	}

	.bg_blue_box a .image .catch span {
		font-size: 3.0rem;
	}

	.bg_blue_box {
		padding: 30px 20px;
	}

	.bg_blue_box a .text {
		font-size: 3.0rem;
	}

	.bg_blue_box a:hover .text {
		/* background-color: #CF0012; */
		/*赤*/
	}

	.bg_blue_box a:hover .text span::before {
		transform: translateY(-50%) translateX(5px);
	}

	.bg_blue_box a:hover .text span::after {
		transform: translateY(-50%) translateX(5px) rotate(40deg);
	}
}

/*---------------------------
　　　協賛企業
--------------------------- */
.sponsor-wrapper{
	margin-bottom: 4em;
}
.sponsor-wrapper .t-title{
	margin-bottom: 0.5em;
}
.sponsor-wrapper .t-title h2{
	font-size: 5rem;
	border-bottom: none;
}
.sponsor-wrapper .container{
	width: 90%;
}
.sponsor-ulbox{
	margin-bottom: 1.5em;
}
.sponsor-flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
}
.sponsor-flex::after{
	content: "";
	display: block;
	width: 30%;
}
.sponsor-flex li{
	width: 30%;
	margin-bottom: 1.4em;
}
.sponsor-flex li img{
	width: 100%;
	height: auto;
	object-fit: contain;
}
.sponsor-btn{
	width: 50%;
	margin: 0 auto;
	text-align: center;
}
.sponsor-btn p{
	margin-bottom: 0;
	text-align: center;
	line-height: 1;
}
.sponsor-btn p.btn-title{
	font-size: 3.5rem;
}
.sponsor-btn p.btn-text{
	font-size: 1.5rem;
}

@media screen and (max-width: 850px){
	.sponsor-wrapper{
		margin-bottom: 4em;
	}
	.sponsor-wrapper .t-title{
		margin-bottom: 0.5em;
	}
	.sponsor-wrapper .t-title h2{
		font-size: 9vw;
	}
	.sponsor-wrapper .container{
		width: 95%;
	}
	.sponsor-ulbox{
		margin-bottom: 1.5em;
	}
	.sponsor-flex::after{
		content: "";
		display: block;
		width: 33%;
	}
	.sponsor-flex li{
		width: 33%;
		margin-bottom: 1.4em;
	}
	.sponsor-btn{
		width: 90%;
	}
	.sponsor-btn p.btn-title{
		font-size: 7vw;
	}
	.sponsor-btn p.btn-text{
		font-size: 4vw;
	}
}

/*---------------------------
　　　締め括り
--------------------------- */
#t-end {
	padding: 7% 0;
	border-top: solid 1px #000;
	border-bottom: solid 1px #000;
}

#t-end p {
	font-size: 10.0vw;
	text-align: center;
	color: #CF0012;
	/*赤*/
	line-height: 1.2;
	font-family: Copperplate, Copperplate Gothic Light, sans-serif;
}

.end_slider li {
	padding: 0 10px;
	box-sizing: border-box;
}

@media screen and (min-width: 850px) {

	#t-end p {
		font-size: 9.0rem;
	}
}


/*--------------------------
　　　Aboutページ
--------------------------- */
.aboutin-wrapper{
	min-height: 80vh;
	background-color: #9e9e9e;
}
.aboutin-wrapper .container{
	padding: clamp(3em, 10%, 100px) 0;
}
.aboutin-accordionbox{
	margin-bottom: 1.2em;
}
.aboutin-btn{
	position: relative;
	padding: 13px 60px 7px 25px;
	background-color: #dfdfdf;
	cursor: pointer;
}
.aboutin-english p{
	font-size: 3rem;
	font-family: "adobe-caslon-pro", serif;
	font-weight: bold;
	letter-spacing: 1.2px;
	color: #b10000;
}
.aboutin-title p{
	font-size: 1.8rem;
	font-weight: bold;
	color: #b10000;
}
.aboutin-arrow{
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	padding: 0 25px;
	background-color: #b10000;
}
.aboutin-arrow-span{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: all 0.5s;
}
.about-open .aboutin-arrow-span{
	transform: translate(-50%, -50%) rotate(90deg);
	transition: all 0.5s;
}
.aboutin-arrow-span span:nth-child(1){
	display: block;
	width: 25px;
	height: 2px;
	transform: translateY(-7px) rotate(40deg);
	transition: .3s ease;
	background-color: #fff;
}
.aboutin-arrow-span span:nth-child(2){
	display: block;
	width: 25px;
	height: 2px;
	transform: translateY(7px) rotate(135deg);
	transition: .3s ease;
	background-color: #fff;
}
#aboutin_1{
	display: block;
}
.aboutin-innerbox{
	display: none;
	padding: 30px 0;
	background-color: #fff;
}
.aboutin-innertext{
	width: 95%;
	margin: 0 auto;
}
.aboutin-innerbox p{
	font-size: 1.7rem;
	font-weight: bold;
	line-height: 1.7;
	letter-spacing: 1.3px;
}
.aboutin-notpost{
	padding: 100px 0;
	text-align: center;
}
.aboutin-notpost p{
	font-size: 7rem;
	font-weight: bold;
}

@media screen and (max-width: 850px){
	.aboutin-wrapper{
		min-height: 80vh;
	}
	.aboutin-btn{
		padding: 13px 30px 7px 18px;
	}
	.aboutin-english p{
		font-size: 6vw;
	}
	.aboutin-title p{
		font-size: 4vw;
	}
	.aboutin-arrow{
		padding: 0 4.5vw;
	}
	.aboutin-arrow-span span:nth-child(1){
		width: 4vw;
		height: 2px;
		transform: translateY(-1vw) rotate(40deg);
	}
	.aboutin-arrow-span span:nth-child(2){
		width: 4vw;
		height: 2px;
		transform: translateY(1vw) rotate(135deg);
	}
	.aboutin-innerbox{
		padding: 20px 0;
	}
	.aboutin-innertext{
		width: 90%;
	}
	.aboutin-innerbox p{
		font-size: 3.5vw;
	}
	.aboutin-notpost{
		padding: 10vw 0 0 0;
	}
	.aboutin-notpost p{
		font-size: 9vw;
	}
}

/*---------------------------
　　　What's NEW
--------------------------- */
.whatarc-wrapper{
	min-height: 80vh;
}
.whatarc-topbox{
	min-height: 400px;
    margin-top: 100px;
	background-color: #bdbdbd;
}
.whatarc-topbox h2{
	padding-top: 150px;
    text-align: center;
	font-size: 7.5rem;
	font-family: "adobe-caslon-pro", serif;
    font-weight: bold;
    color: #b30000;
}
.whatarc-topbox p{
	margin-top: -15px;
	text-align: center;
	font-size: 2.7rem;
	font-weight: bold;
}
.whatarc-block{
	padding: clamp(3em, 10%, 100px) 0;
}
.whatarc-itembox{
	margin-bottom: 4em;
	padding-bottom: 4em;
	border-bottom: solid 1px #000;
}
.whatarc-itembox:nth-last-child(1){
	border-bottom: none;
}
.whatarc-item{
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
}
.whatarc-place{
	display: inline-block;
	position: relative;
	min-width: 300px;
	margin-bottom: 0.8em;
	padding: 7px 15px;
	text-align: center;
	background-color: #b10000;
}
.whatarc-place::after{
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	height: 0;
	width: 0;
	border-left: 22px solid transparent;
	border-right: 10px solid #ffffff;
	border-bottom: 22px solid transparent;
	border-top: 22px solid transparent;
	z-index: 2;
}
.whatarc-place p{
	font-size: 2.3rem;
	font-weight: bold;
	letter-spacing: 1.3px;
	color: #fff;
}
.whatarc-presents{
	margin-bottom: 1.2em;
}
.whatarc-presents p{
	font-size: 2rem;
	font-weight: bold;
}
.whatarc-title{
	margin-bottom: 1.6em;
	padding-bottom: 0.8em;
	border-bottom: solid 1px #b10000;
}
.whatarc-title h3{
	font-size: 3.7rem;
	font-family: "adobe-caslon-pro", serif;
	font-weight: bold;
	letter-spacing: 1.2px;
	color: #b10000;
}
.whatarc-flex{
	display: flex;
	justify-content: space-around;
}
.whatarc-left{
	width: 45%;
}
.whatarc-left p{
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 1.4px;
	word-break: break-all;
}
.whatarc-right{
	width: 45%;
}
.whatarc-right img{
	width: 100%;
	height: 300px;
	object-fit: cover;
	object-position: center;
}

@media screen and (max-width: 850px){
	.whatarc-wrapper{
		min-height: 100vh;
	}
	.whatarc-topbox{
		min-height: 55vw;
        margin-top: 60px;
	}
	.whatarc-topbox h2{
		padding-top: 22%;
		font-size: 11vw;
	}
	.whatarc-topbox p{
		margin-top: -10px;
		font-size: 4vw;
	}
	.whatarc-itembox{
		margin-bottom: 2em;
		padding-bottom: 2em;
	}
	.whatarc-item{
		width: 92%;
	}
	.whatarc-place{
		min-width: 40vw;
		margin-bottom: 0.8em;
		padding: 1vw 4vw;
	}
	.whatarc-place::after{
		border-left: 4vw solid transparent;
		border-right: 1.3vw solid #ffffff;
		border-bottom: 4vw solid transparent;
		border-top: 4vw solid transparent;
	}
	.whatarc-place p{
		font-size: 4.5vw;
		letter-spacing: 1.3px;
	}
	.whatarc-presents{
		margin-bottom: 1.2em;
	}
	.whatarc-presents p{
		font-size: 4vw;
	}
	.whatarc-title{
		margin-bottom: 1.6em;
		padding-bottom: 0.8em;
	}
	.whatarc-title h3{
		font-size: 6vw;
		letter-spacing: 1.2px;
	}
	.whatarc-flex{
		display: flex;
		justify-content: space-around;
	}
	.whatarc-left{
		width: 47%;
	}
	.whatarc-left p{
		font-size: 3.5vw;
		line-height: 1.6;
		letter-spacing: 1.4px;
	}
	.whatarc-right{
		width: 47%;
	}
	.whatarc-right img{
		height: 30vw;
	}
}

/*---------------------------
　　　マップ詳細画面
--------------------------- */
.mapin-wrapper{
	min-height: 40vh;
}
.mapin-topbox{
	min-height: 400px;
	padding-top: 120px;
	padding-bottom: 30px;
	background-color: #000;
}
.mapin-topflex{
	margin-bottom: 1.5em;
	display: flex;
	justify-content: center;
	align-items: center;
}
.mapin-logo{
	width: 45%;
	text-align: center;
}
.mapin-logo img{
	width: 80%;
	object-fit: contain;
}
.mapin-place{
	width: 45%;
	text-align: center;
}
.mapin-place img{
	width: 80%;
	object-fit: contain;
}
.mapin-mainimage{
	text-align: center;
}
.mapin-mainimage img{
	width: 100%;
	height: 450px;
	object-fit: contain;
}
.mapin-tabflex{
	margin-bottom: 7em;
	display: flex;
	text-align: center;
}
.mapin-shoptabbox,
.mapin-livetabbox{
	width: 50%;
	padding: 10px 0;
}
.mapin-shoptab p,
.mapin-livetab p{
	font-size: 5.5rem;
	font-weight: bold;
}
.mapin-tabflex .on{
	background-color: #fff;
}
.mapin-tabflex .on p{
	color: #b10000;
}
.mapin-tabflex .off{
	background-color: #acacac;
}
.mapin-tabflex .off p{
	color: #686868;
}

@media screen and (max-width: 850px){
	.mapin-wrapper{
		min-height: 100vh;
	}
	.mapin-topbox{
		min-height: 55vw;
		padding-top: 120px;
		padding-bottom: 30px;
	}
	.mapin-topflex{
		margin-bottom: 1.5em;
		flex-direction: column;
	}
	.mapin-logo{
		width: 100%;
		margin-bottom: 1em;
	}
	.mapin-logo img{
		width: 70%;
	}
	.mapin-place{
		width: 100%;
		margin-bottom: 1.5em;
	}
	.mapin-place img{
		width: 80%;
	}
	.mapin-mainimage img{
		height: auto;
	}
	.mapin-tabflex{
		margin-bottom: 5em;
	}
	.mapin-shoptabbox,
	.mapin-livetabbox{
		width: 50%;
		padding: 10px 0;
	}
	.mapin-shoptab p,
	.mapin-livetab p{
		font-size: 7vw;
	}
}


/*---------------------------
　　　マップ詳細画面（SHOP）
--------------------------- */
.shop-comingbox{
	margin: 15em 0;
	text-align: center;
}
.shop-coming p{
	font-size: 4rem;
	font-weight: bold;
	letter-spacing: 1.8px;
}
.shop-tabflex{
	width: 100%;
	margin: 0 auto 4em auto;
	display: flex;
	justify-content: space-around;
	align-items: center;
}
.shop-tabflex .on{
	background-color: #b10000;
}
.shop-tabflex .off{
	background-color: #acacac;
}
.shop-foodbox,
.shop-goodsbox{
	width: 40%;
	padding: 7px 10px;	
	text-align: center;
	border-radius: 5px;
}
.shop-food p,
.shop-goods p{
	font-size: 3rem;
	font-weight: bold;
	letter-spacing: 1.3px;
	color: #fff;
}
.shop-searchbox{
	margin-bottom: 3em;
}
.shop-search-form{
	display: flex;
	justify-content: center;
}
.shop-search-input{
	width: 92%;
	padding: 15px 6px 15px 15px;
	border: solid 1px #b10000;
	font-size: 1.7rem;
}
.shop-search-btn{
	width: 8%;
	border: none;
	background-color: #b10000;
}
.shop-search-btn i{
	font-size: 2rem;
	color: #fff;
}
.shop-itembox{
	padding: 40px 0;
	border-bottom: solid 1px #000;
}
.shop-itembox:nth-child(1){
	border-top: solid 1px #000;
}
.shop-itembox:nth-last-child(1){
	border-bottom: none;
}
.shop-item{
	max-width: 1100px;
	margin: 0 auto;
}
.shop-itemflex{
	display: flex;
	justify-content: space-around;
}
.shop-image{
	width: 40%;
}
.shop-image img{
	width: 100%;
	height: 350px;
	object-fit: cover;
}
.shop-textbox{
	width: 50%;
}
.shop-textbox dl dd{
	margin-bottom: 0.5em;
	font-size: 4rem;
	font-weight: bold;
	letter-spacing: 1.3px;
	line-height: 1.2;
	color: #b10000;
}
.shop-textbox dl dt{
	font-size: 1.7rem;
	font-weight: bold;
	letter-spacing: 1.3px;
	line-height: 1.4;
}
.shop-contentbox{
	min-height: 30vh;
	font-size: 1.9rem;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: 1.4px;
}

@media screen and (max-width: 850px){
	.shop-comingbox{
		margin: 8em 0;
	}
	.shop-coming p{
		font-size: 8vw;
	}
	.shop-tabflex{
		margin: 0 auto 2em auto;
	}
	.shop-foodbox,
	.shop-goodsbox{
		width: 40%;
		padding: 7px 10px;	
	}
	.shop-food p,
	.shop-goods p{
		font-size: 6vw;
	}
	.shop-searchbox{
		margin-bottom: 1em;
	}
	.shop-search-input{
		width: 80%;
		padding: 3vw 3vw 3vw 5vw;
		font-size: 4.5vw;
	}
	.shop-search-btn{
		width: 20%;
	}
	.shop-search-btn i{
		font-size: 5vw;
	}
	.shop-itembox{
		padding: 40px 0;
	}
	.shop-item{
		width: 85%;
	}
	.shop-itemflex{
		flex-direction: column;
	}
	.shop-image{
		width: 100%;
		margin-bottom: 0.5em;
	}
	.shop-image img{
		width: 100%;
		height: 50vw;
	}
	.shop-textbox{
		width: 100%;
	}
	.shop-textbox dl dd{
		font-size: 6.5vw;
	}
	.shop-textbox dl dt{
		font-size: 3.9vw;
	}
	.shop-contentbox{
		min-height: 30vh;
		font-size: 4vw;
	}
}

/*---------------------------
　　　マップ詳細画面（Live）
--------------------------- */
.page-schedule .schedule-sec {
  font-size: clamp(14px, 3.5vmin, 24px);
  margin: clamp(3em, 10%, 100px) auto;
}

.page-schedule .schedule-sec .huge {
  font-size: clamp(30px, 7.5vmin, 60px);
  line-height: 0.8;
}

.page-schedule .schedule-date {
  display: flex;
  justify-content: center;
  line-height: 1;
  align-items: flex-end;
  gap: 0.1em;
}

.page-schedule .schedule-date-input {
  opacity: 0;
  position: absolute;
  left: 0;
}
.page-schedule .schedule-date .input-group {
  position: relative;
}

.page-schedule .schedule-date .icon-calender {
  margin-left: 0.8em;
}

.page-schedule .icon-calender {
	display: inline-block;
	background: url(../img/common/icn_calendar.png) no-repeat;
	width: 32px;
	height: 32px;
  }

.page-schedule .schedule-date-btn {
  border: 1px #cf0012 solid;
  color: #cf0012;
  background: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(14px, 3.5vmin, 20px);
  width: 5em;
  height: 2.4em;
  position: relative;
  margin-left: 2em;
  margin-right: 2em;
}
.page-schedule .prev{
	padding-left: 0.5em;
}
.page-schedule .next{
	padding-right: 0.5em;
}

.page-schedule .schedule-date-btn .arrow_next {
  position: absolute;
  right: 0.5em;
  height: 1px;
  width: 0.8em;
  background-color: #cf0012;
}

.page-schedule .schedule-date-btn .arrow_next::before {
  content: "";
  background-color: #cf0012;
  width: 60%;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  transform: rotate(45deg);
  transform-origin: right;
}

.page-schedule .schedule-date-btn .arrow_prev {
	position: absolute;
	left: 0.5em;
	height: 1px;
	width: 0.8em;
	background-color: #cf0012;
}

.page-schedule .schedule-date-btn .arrow_prev::before {
	content: "";
	background-color: #cf0012;
	width: 60%;
	height: 100%;
	position: absolute;
	left: -10px;
	top: 0;
	transform: rotate(145deg);
	transform-origin: right;
  }

.page-schedule .schedule-list {
  border-top: 1px #000000 solid;
  margin: 2.5em auto;
}
.page-schedule .schedule-list-none {
  margin: 3em auto;
  text-align: center;
}

.page-schedule .schedule-list-item {
  border-bottom: 1px #e7e7e7 solid;
}

.page-schedule .schedule-list-link {
  display: flex;
  align-items: center;
  padding: 1.3333333333em;
  gap: 1.6666666667em;
  transition: opacity 0.3s;
}
.page-schedule .schedule-list-link .thumb img {
  aspect-ratio: 4/3;
}

.page-schedule .schedule-list-link:hover {
  opacity: 0.75;
}

.page-schedule .schedule-list-link .time {
  text-align: center;
  flex-shrink: 0;
  line-height: 1.25;
}

.page-schedule .schedule-list-link .title {
  line-height: 1.4166666667;
}

.page-schedule .schedule-list-link .icon-link {
  display: inline-block;
  background: url(../img/common/icn_arrow.png) no-repeat;
  background-size: contain;
  width: 1em;
  height: 1em;
  flex-shrink: 0;
  margin-left: auto;
}

.page-schedule .schedule-bottom {
  color: #cacaca;
  text-align: center;
}

.schedule-contents{
	margin-top: 1.5em;
	padding-top: 1.5em;
	border-top: solid 1px #000;
}
.schedule-none{
	margin-top: 2em;
	text-align: center;
}
.schedule-none p{
	font-size: 3rem;
	font-weight: bold;
}
.schedule-flex{
	width: 90%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.schedule-flex::after{
	content: "";
	display: block;
	width: 32%;
}
.schedule-flex li{
	width: 32%;
	margin-bottom: 1.3em;
}
.schedule-image{
	margin-bottom: 0.7em;
}
.schedule-image img{
	width: 100%;
	object-fit: cover;
	height: 220px;
}
.schedule-title p{
	font-family: "adobe-caslon-pro", serif;
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.1;
	color: #b10000;
}

@media screen and (max-width: 850px) {
	.page-schedule .schedule-sec {
		font-size: 3.5vw;
	  }
	  
	  .page-schedule .schedule-sec .huge {
		font-size: 5.8vw;
	  }
	.page-schedule .schedule-date {
		display: flex;
		justify-content: space-between;
		line-height: 1;
		align-items: center;
		gap: 0;
	}
	.page-schedule .schedule-date-btn {
		font-size: 3.5vw;
		margin-left: 0.5em;
		margin-right: 0.5em;
	}
	.page-schedule .schedule-date-btn .arrow_prev::before {
		left: -70%;
	}
	.page-schedule .icon-calender {
		display: inline-block;
		background: url(../img/common/icn_calendar.png) no-repeat;
		width: 6vw;
		height: 6vw;
		background-size: 6vw;
	}
	
	.page-schedule .schedule-list-link {
		padding: 1em 0;
		gap: 0.5em;
	}
	.page-schedule .schedule-list-link .thumb {
		width: 7em;
		flex-shrink: 0;
	}

	.schedule-none p{
		font-size: 5vw;
	}
	.schedule-flex{
		width: 100%;
	}
	.schedule-flex::after{
		display: none;
	}
	.schedule-flex li{
		width: 49%;
		margin-bottom: 1.9em;
	}
	.schedule-image{
		margin-bottom: 0.7em;
	}
	.schedule-image img{
		height: 33vw;
	}
	.schedule-title p{
		font-size: 4.5vw;
	}
}


/*---------------------------
　　　アーティスト一覧
--------------------------- */
.artistarc-wrapper{
	min-height: 80vh;
}
.artistarc-wrapper .black{
	color: #000;
}
.artistarc-topbox{
	min-height: 400px;
    margin-top: 100px;
	background-color: #bdbdbd;
}
.artistarc-topbox h2{
	padding-top: 150px;
    text-align: center;
	font-size: 7.5rem;
	font-family: "adobe-caslon-pro", serif;
    font-weight: bold;
    color: #b30000;
}
.artistarc-topbox p{
	margin-top: -15px;
	text-align: center;
	font-size: 2.7rem;
	font-weight: bold;
}
.artistarc-block{
	padding: clamp(3em, 10%, 100px) 0;
}
.artistarc-attbox{
	margin-bottom: 3em;
}
.artistarc-atttitle{
	margin-bottom: 2.2em;
	text-align: center;
}
.artistarc-atttitle p{
	font-size: 3.5rem;
	font-weight: bold;
	color: #b10000;
}
.artistarc-flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.artistarc-flex::after{
	content: "";
	display: block;
	width: 32%;
}
.artistarc-flex li{
	width: 32%;
	margin-bottom: 2.5em;
}
.artistarc-imagebox{
	position: relative;
	margin-bottom: 0.3em;
}
.artistarc-image img{
	width: 100%;
	height: 250px;
	object-fit: cover;
}
.artistarc-category{
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 4px 5px;
	text-align: center;
	background-color: #b10000;
}
.artistarc-category p{
	font-size: 2.1rem;
	font-weight: bold;
	color: #fff;
}
.artistarc-text{
	margin-bottom: 0.2em;
}
.artistarc-text p{
	font-size: 1.8rem;
	font-weight: bold;
}

.artistarc-name h3{
	font-size: 3.1rem;
	font-weight: bold;
	color: #b10000;
}
.artistarc-searchbox{
	margin-bottom: 3em;
}
.artistarc-search-form{
	display: flex;
	justify-content: center;
}
.artistarc-search-input{
	width: 92%;
	padding: 15px 6px 15px 15px;
	border: solid 1px #b10000;
	font-size: 1.7rem;
}
.artistarc-search-btn{
	width: 8%;
	border: none;
	background-color: #b10000;
}
.artistarc-search-btn i{
	font-size: 2rem;
	color: #fff;
}

@media screen and (max-width: 850px){
	.artistarc-wrapper{
		min-height: 100vh;
	}
	.artistarc-topbox{
		min-height: 55vw;
        margin-top: 60px;
	}
	.artistarc-topbox h2{
		padding-top: 22%;
		font-size: 11vw;
	}
	.artistarc-topbox p{
		margin-top: -10px;
		font-size: 4vw;
	}
	.artistarc-atttitle{
		margin-bottom: 1.8em;
	}
	.artistarc-atttitle p{
		font-size: 7vw;
	}
	.artistarc-flex::after{
		display: none;
	}
	.artistarc-flex li{
		width: 49%;
		margin-bottom: 1.5em;
	}
	.artistarc-imagebox{
		margin-bottom: 0.6em;
	}
	.artistarc-image img{
		height: 40vw;
	}
	.artistarc-category p{
		font-size: 4vw;
	}
	.artistarc-text p{
		font-size: 3.1vw;
		font-weight: bold;
	}
	.artistarc-name h3{
		font-size: 4.8vw;
	}
	.artistarc-searchbox{
		margin-bottom: 1em;
	}
	.artistarc-search-input{
		width: 80%;
		padding: 3vw 3vw 3vw 5vw;
		font-size: 4.5vw;
	}
	.artistarc-search-btn{
		width: 20%;
	}
	.artistarc-search-btn i{
		font-size: 5vw;
	}
}

/*---------------------------
　　　アーティスト詳細ページ
--------------------------- */
/* .artist-post {
  background-color: rgb(231, 231, 231);
} */

.artist-post .artist-catch {
	padding-top: calc(100px + 4em);
	background: linear-gradient(180deg, #cf0012 0%, #cf0012 40%, rgb(255, 255, 255) 40%, rgb(255, 255, 255) 100%);
  }
.artist-post .artist-catch .container{
	text-align: center;
}
.artistin-main .container{
	max-width: 900px;
}
.artistin-mainimagebox{
	width: 85%;
	margin: 0 auto;
	position: relative;
}
.artistin-mainimage img{
	width: 100%;
}
.artistin-category{
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 3px 7px;
	background-color: #b10000;
}
.artistin-category p{
	font-size: 3rem;
	font-weight: bold;
	color: #fff;
}
.artistin-name{
	margin-top: 4em;
	margin-bottom: 2em;
	text-align: center;
}
.artistin-name h2{
	font-size: 4.5rem;
	font-weight: bold;
	color: #b10000;
}
.artistin-subtitle{
	width: 80%;
	margin: 0 auto 4em auto;
	text-align: center;
}
.artistin-subtitle p{
	font-size: 2.7rem;
	font-weight: bold;
}
.artistin-schedulebox{
	margin-bottom: 4em;
}
.artistin-scheduletitle{
	margin-bottom: 1.2em;
	padding-bottom: 15px;
	border-bottom: solid 1px #b10000;
}
.artistin-scheduletitle p{
	font-size: 2.4rem;
	font-weight: bold;
	color: #b10000;
}
.artistin-datebox{
	display: flex;
	justify-content: left;
	margin-bottom: 0.8em;
}
.artistin-place{
	display: inline-block;
	padding: 5px 10px;
	background-color: #b10000;
}
.artistin-place p{
	font-size: 1.8rem;
	font-weight: bold;
	color: #fff;
}
.artistin-date{
	margin-right: 1.5em;
}
.artistin-date p{
	font-size: 2.3rem;
	font-weight: bold;
}
.artistin-date span{
	margin-right: 0.7em;
	padding: 0 8px;
	background-color: #c4c4c4;
}
.artistin-profilebox{
	padding-bottom: 40px;
}
.artistin-profilebox dt{
	margin-bottom: 1em;
	font-size: 3rem;
	font-weight: bold;
}
.artistin-profilebox dd{
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 1.2px;
	line-height: 1.7;
}
.artistin-profilebox dd p{
	line-height: 1.7;
}

@media screen and (max-width: 850px){
	.artistin-main .container{
		width: 90%;
	}
	.artistin-mainimagebox{
		width: 85%;
	}
	.artistin-category{
		padding: 3px 7px;
	}
	.artistin-category p{
		font-size: 5vw;
	}
	.artistin-name{
		margin-top: 1.5em;
		margin-bottom: 1.5em;
	}
	.artistin-name h2{
		font-size: 9vw;
	}
	.artistin-subtitle{
		width: 90%;
		margin: 0 auto 2.5em auto;
	}
	.artistin-subtitle p{
		font-size: 4.5vw;
	}
	.artistin-schedulebox{
		margin-bottom: 3em;
	}
	.artistin-scheduletitle{
		margin-bottom: 1.2em;
		padding-bottom: 15px;
	}
	.artistin-scheduletitle p{
		font-size: 6vw;
	}
	.artistin-datebox{
		display: flex;
		justify-content: left;
		flex-direction: row-reverse;
		align-items: center;
		margin-bottom: 1.5em;
	}
	.artistin-place{
		display: inline-block;
		width: 30%;
		padding: 0;
		background-color: #fff;
		order: 1;
	}
	.artistin-place p{
		display: inline-block;
		padding: 5px 10px;
		font-size: 4.3vw;
		background-color: #b10000;
	}
	.artistin-date{
		width: 60%;
		margin-right: 0.8em;
		order: 2;
	}
	.artistin-date p{
		font-size: 4.3vw;
	}
	.artistin-date span{
		margin-right: 0.7em;
		padding: 2px 7px;
	}
	.artistin-profilebox{
		padding-bottom: 40px;
	}
	.artistin-profilebox dt{
		margin-bottom: 1em;
		font-size: 6vw;
		font-weight: bold;
	}
	.artistin-profilebox dd{
		font-size: 3.8vw;
		letter-spacing: 1.2px;
		line-height: 1.4;
	}
	.artistin-profilebox dd p{
		line-height: 1.5;
	}
}


/*----------------------------------------------------------------
-------------------------------------------------------------------
　　　以下過去サイトスタイル
------------------------------------------------------------------- 
-------------------------------------------------------------------*/

/*---------------------------
　　　開催概要
--------------------------- */
#t-map {
	padding: 5% 0 15%;
	background-color: #D7D7D7;
}

#t-map .t-title {
	color: #CF0012;
	/*赤*/
	margin-bottom: 0.2em;
}

#t-map .map_image {
	width: 100%;
	margin-bottom: 10%;
}

#t-map p {
	text-align: center;
	font-size: 5.0vw;
	margin-bottom: 2em;
	line-height: 2;
}

#t-map .place_list li:not(:last-child) {
	margin-bottom: 3%;
}

#t-map .place_list li a {
	display: flex;
}

#t-map .place_list li a .image {
	position: relative;
	width: 40%;
}

#t-map .place_list li a .image:before {
	content: "";
	display: block;
	padding-top: 100%;
}

#t-map .place_list li a .image img {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	object-fit: cover;
}

#t-map .place_list li a .text {
	position: relative;
	width: 60%;
	padding: 3% 10% 3% 3%;
	box-sizing: border-box;
	background-color: #EAEAEA;
}

#t-map .place_list li a .text::before {
	content: "";
	position: absolute;
	width: 6%;
	height: 1px;
	background-color: #000;
	top: 55%;
	right: 5%;
	transform: translateY(-50%);
	transition: .3s ease;
}

#t-map .place_list li a .text::after {
	content: "";
	position: absolute;
	width: 3.5%;
	height: 1px;
	background-color: #000;
	top: 53.5%;
	right: 4.5%;
	transform: translateY(-50%) rotate(40deg);
	transition: .3s ease;
}

#t-map .place_list li a .text h3.place_name {
	font-weight: 500;
	font-size: 4.0vw;
	margin-bottom: 0.4em;
	padding-bottom: 0.5em;
	border-bottom: solid 1px #C7C7C7;
}

#t-map .place_list li a .text p {
	font-size: 3.5vw;
	text-align: left;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	line-height: 1.4;
	margin-bottom: 0.4em;
}

#t-map .place_list li a .text .date {
	font-size: 3.3vw;
	line-height: 1.3;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}

#t-map .place_list li a .text .date th {
	font-weight: 400;
	padding-right: 0.5em;
	box-sizing: border-box;
}

.place_list.more {
	margin-top: 3%;
}

.next_content {
	display: none;
}

.next_btn {
	background-color: #000;
	color: #fff;
	text-align: center;
	letter-spacing: 0.08em;
	margin-top: 10%;
	padding: 0.5em 0 1.3em;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	cursor: pointer;
	font-size: 4vw;
}

.next_btn span {
	position: relative;
}

.next_btn span.next.hidden {
	display: none;
}

.next_btn span.close {
	display: none;
}

.next_btn span.close.active {
	display: inline;
}

.next_btn span.next::before {
	content: "";
	position: absolute;
	bottom: -45%;
	left: 1px;
	width: 50%;
	height: 1px;
	background-color: #fff;
	transform: rotate(20deg);
}

.next_btn span.next::after {
	content: "";
	position: absolute;
	bottom: -45%;
	right: 1px;
	width: 50%;
	height: 1px;
	background-color: #fff;
	transform: rotate(-20deg);
}

.next_btn span.close::before {
	content: "";
	position: absolute;
	bottom: -45%;
	left: 1px;
	width: 50%;
	height: 1px;
	background-color: #fff;
	transform: rotate(-20deg);
}

.next_btn span.close::after {
	content: "";
	position: absolute;
	bottom: -45%;
	right: 1px;
	width: 50%;
	height: 1px;
	background-color: #fff;
	transform: rotate(20deg);
}

@media screen and (min-width: 850px) {
	#t-map {
		padding: 100px 0 80px;
	}

	#t-map .map_image {
		max-width: 700px;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 50px;
	}

	#t-map p {
		font-size: 2.0rem;
	}

	.place_list {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-bottom: 3%;
	}

	#t-map .place_list li:not(:last-child) {
		margin-bottom: 20px;
	}

	#t-map .place_list li {
		width: 48%;
		margin-bottom: 20px;
	}

	#t-map .place_list li a {
		height: 100%;
		background-color: #EAEAEA;
	}

	#t-map .place_list li a:hover {
		opacity: .6;
	}

	#t-map .place_list li a .text h3.place_name {
		font-size: 2.2rem;
	}

	#t-map .place_list li a .text p {
		font-size: 1.6rem;
	}

	#t-map .place_list li a .text .date {
		font-size: 1.5rem;
	}

	#t-map .place_list li a:hover .text::before {
		transform: translateY(-50%) translateX(5px);
	}

	#t-map .place_list li a:hover .text::after {
		transform: translateY(-50%) translateX(5px) rotate(40deg);
	}

	.place_list.more {
		margin-top: 0;
	}

	#t-map .place_list.more li {
		margin-bottom: 3%;
	}

	.next_btn {
		margin-top: 50px;
		font-size: 2.0rem;
	}
}

/*---------------------------
　　　イベント・ショップ
--------------------------- */
ul.link_list li a {
	position: relative;
	display: block;
	color: #fff;
	font-size: 11vw;
	padding: 0.3em 1em 0.3em 0.5em;
	border: solid 1px #fff;
	border-radius: 10px;
	font-family: Copperplate, Copperplate Gothic Light, sans-serif;
	filter: opacity(0.3);
	background-color: #000;
}

ul.link_list li a::before {
	content: "";
	position: absolute;
	width: 6%;
	height: 1px;
	background-color: #fff;
	top: 55%;
	right: 5%;
	transform: translateY(-50%);
	transition: .3s ease;
}

ul.link_list li a::after {
	content: "";
	position: absolute;
	width: 3.5%;
	height: 1px;
	background-color: #fff;
	top: 49.0%;
	right: 4.5%;
	transform: translateY(-50%) rotate(40deg);
	transition: .3s ease;
}

ul.link_list li span {
	position: relative;
	display: block;
	color: #fff;
	font-size: 11vw;
	padding: 0.6em 1em 0.6em 0.5em;
	border: solid 3px #7c4100;
	border-radius: 20px;
	font-family: Copperplate, Copperplate Gothic Light, sans-serif;
	filter: opacity(1);
	background-image: linear-gradient(0deg, rgba(196, 118, 35, 1), rgba(125, 74, 18, 1) 35%, rgba(124, 65, 0, 1) 50%, rgba(142, 74, 0, 1) 65%, rgba(196, 118, 35, 1)), linear-gradient(0deg, rgba(202, 121, 34, 1), rgba(124, 65, 0, 1) 50%, rgba(202, 121, 34, 1));
	margin-bottom: 5px;
}

ul.link_list li span::before {
	content: "";
	position: absolute;
	z-index: 10;
	top: 50%;
	right: 40px;
	transform: translateY(-50%) rotate(90deg);
	background: #fff;
	height: calc(tan(60deg) * 25px / 2);
	width: 25px;
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

/* ul.link_list li span::before {
	content: "";
	position: absolute;
	width: 6%;
	height: 1px;
	background-color: #fff;
	top: 55%;
	right: 5%;
	transform: translateY(-50%);
	transition: .3s ease;
	margin-bottom: 5px;
}
*/
ul.link_list li a::after {
	content: "";
	position: absolute;
	width: 3.5%;
	height: 1px;
	background-color: #fff;
	top: 49.0%;
	right: 4.5%;
	transform: translateY(-50%) rotate(40deg);
	transition: .3s ease;
}

/* ul.link_list li span::after {
	content: "";
	position: absolute;
	width: 3.5%;
	height: 1px;
	background-color: #fff;
	top: 49.0%;
	right: 4.5%;
	transform: translateY(-50%) rotate(40deg);
	transition: .3s ease;
} */

ul.link_list li:not(:last-child) {
	margin-bottom: 4%;
}

/*
#t-event .link_list li::after{
	background-color: rgba(0,0,0,0.5);
}
*/
#t-event,
#t-shop {
	padding: 10% 0;
	background-color: #CF0012;
	/*赤*/
	border-bottom: solid 1px #fff;
}

#t-event .t-title,
#t-shop .t-title {
	margin-bottom: 0.5em;
	color: #fff;
}

#t-event p,
#t-shop p {
	text-align: center;
	color: #fff;
	font-size: 5.0vw;
	margin-bottom: 2em;
	line-height: 2;
}

#t-event .image,
#t-shop .image {
	margin-bottom: 8%;
}

#t-event ul {
	position: relative;
}

.coming-soon {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-7deg);
	-webkit-transform: translate(-50%, -50%) rotate(-7deg);
	-ms-transform: translate(-50%, -50%) rotate(-7deg);
	color: #fff;
	font-size: 11vw;
	width: 100%;
	text-align: center;
	font-weight: 600;
}

@media screen and (min-width: 850px) {

	#t-event,
	#t-shop {
		padding: 100px 0;
	}

	ul.link_list li a {
		font-size: 4.0rem;
	}

	ul.link_list li span {
		font-size: 4.0rem;
	}

	#t-shop ul.link_list {
		justify-content: center;
	}

	ul.link_list li a::after {
		top: 45.0%;
	}

	.coming-soon {
		font-size: 4vw;
	}

	ul.link_list li a:hover {
		background-color: #fff;
		color: #CF0012;
		/*赤*/
	}

	ul.link_list li a:hover::before {
		background-color: #CF0012;
		/*赤*/
		transform: translateY(-50%) translateX(5px);
	}

	ul.link_list li a:hover::after {
		background-color: #CF0012;
		/*赤*/
		transform: translateY(-50%) translateX(5px) rotate(40deg);
	}

	#t-event p,
	#t-shop p {
		font-size: 2.3vw;
	}

	#t-event .image,
	#t-shop .image {
		position: relative;
		display: block;
		margin-bottom: 0;
		width: 48%;
		height: 0;
		padding-top: 48%;
		overflow: hidden;
	}

	#t-event .image img,
	#t-shop .image img {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		object-fit: cover;
		z-index: 10;
	}

	#t-event .container,
	#t-shop .container {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	#t-event .container .right-box,
	#t-shop .container .right-box {
		width: 48%;
		position: relative;
	}
}

@media screen and (min-width: 1050px) {

	#t-event p,
	#t-shop p {
		font-size: 2.6rem;
	}
}

@media screen and (max-width: 850px) {
	#t-event {
		padding: 20% 0;
	}
}

/*---------------------------
　　　その他詳細
--------------------------- */
#t-other {
	padding: 12% 0;
}

.other_list {
	margin-bottom: 10%;
}

.other_list li:first-child {
	border-top: solid 1px #000;
}

.other_list li {
	border-bottom: solid 1px #000;
}

.other_list li a {
	position: relative;
	font-size: 5.0vw;
	padding: 1.2em 0;
	display: block;
	letter-spacing: 0.07em;
}

.other_list li a::before {
	content: "";
	position: absolute;
	width: 6%;
	height: 1px;
	background-color: #000;
	top: 55%;
	right: 5%;
	transform: translateY(-50%);
	transition: .3s ease;
}

.other_list li a::after {
	content: "";
	position: absolute;
	width: 3.5%;
	height: 1px;
	background-color: #000;
	top: 49.0%;
	right: 4.5%;
	transform: translateY(-50%) rotate(40deg);
	transition: .3s ease;
}

.sponsor_contact a {
	display: block;
	border: solid 1px #CF0012;
	/*赤*/
	border-radius: 10px;
	overflow: hidden;
}

.sponsor_contact a .image {
	position: relative;
	background: url("../img/top/sponsor_image.jpg") center 70% / cover no-repeat;
}

.sponsor_contact a .image::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 52, 114, 0.49);
	mix-blend-mode: multiply;
}

.sponsor_contact a .image p {
	position: relative;
	text-align: center;
	font-size: 4.8vw;
	color: #fff;
	padding: 0 1em;
	text-shadow: 0 0 15px #fff, 0 0 20px #fff;
	letter-spacing: 0.1em;
	line-height: 2;
	z-index: 10;
}

.sponsor_contact a .text {
	display: flex;
	justify-content: center;
	background-color: #CF0012;
	/*赤*/
	border-bottom-left-radius: 9px;
	border-bottom-right-radius: 9px;
}

.sponsor_contact a .text p {
	position: relative;
	display: inline-block;
	color: #fff;
	padding: 1em 2em 1em 0;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}

.sponsor_contact a .text p::before {
	content: "";
	position: absolute;
	width: 6%;
	height: 1px;
	background-color: #fff;
	top: 55%;
	right: 5%;
	transform: translateY(-50%);
	transition: .3s ease;
}

.sponsor_contact a .text p::after {
	content: "";
	position: absolute;
	width: 3.5%;
	height: 1px;
	background-color: #fff;
	top: 49.0%;
	right: 4.5%;
	transform: translateY(-50%) rotate(40deg);
	transition: .3s ease;
}

.hotel_contact a {
	display: block;
	border: solid 1px #CF0012;
	/*赤*/
	border-radius: 10px;
	overflow: hidden;
	margin-bottom: 20px;
}

.hotel_contact a .image {
	position: relative;
	background: url("../img/top/hotels_image01.jpg") center 70% / cover no-repeat;
}

.hotel_contact a .image::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 52, 114, 0.49);
	mix-blend-mode: multiply;
}

.hotel_contact a .image p {
	position: relative;
	text-align: center;
	font-size: 4.8vw;
	color: #fff;
	padding: 1.5em 1em;
	text-shadow: 0 0 15px #fff, 0 0 20px #fff;
	letter-spacing: 0.1em;
	line-height: 2;
	z-index: 10;
}


.hotel_contact a .text {
	display: flex;
	justify-content: center;
	background-color: #CF0012;
	/*赤*/
	border-bottom-left-radius: 9px;
	border-bottom-right-radius: 9px;
}

.hotel_contact a .text p {
	position: relative;
	display: inline-block;
	color: #fff;
	padding: 1em 2em 1em 0;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}

.hotel_contact a .text p::before {
	content: "";
	position: absolute;
	width: 6%;
	height: 1px;
	background-color: #fff;
	top: 55%;
	right: 5%;
	transform: translateY(-50%);
	transition: .3s ease;
}

.hotel_contact a .text p::after {
	content: "";
	position: absolute;
	width: 3.5%;
	height: 1px;
	background-color: #fff;
	top: 49.0%;
	right: 4.5%;
	transform: translateY(-50%) rotate(40deg);
	transition: .3s ease;
}




@media screen and (min-width: 850px) {
	#t-other {
		padding: 100px 0;
	}

	.other_list {
		display: flex;
		justify-content: space-between;
	}

	.other_list li {
		width: 100%;
		border-top: solid 1px #000;
		transition: .3s ease;
	}

	.other_list li:hover {
		border-color: #CF0012;
		/*赤*/
	}

	.other_list li a {
		font-size: 4.5rem;
	}

	.other_list li a:hover {
		opacity: .6;
		color: #CF0012;
		/*赤*/
	}

	.other_list li a:hover::before {
		background-color: #CF0012;
		/*赤*/
		transform: translateY(-50%) translateX(5px);
	}

	.other_list li a:hover::after {
		background-color: #CF0012;
		/*赤*/
		transform: translateY(-50%) translateX(5px) rotate(40deg);
	}

	.sponsor_contact a .image p {
		font-size: 2.0rem;
		padding: 1em 0;
		width: 400px;
	}

	.sponsor_contact a:hover {
		opacity: .6;
	}

	.hotel_contact a .image p {
		font-size: 3.0rem;
		width: 350px;
		height: 70px;
	}

	.hotel_contact a:hover {
		opacity: .6;
	}

	.infomation {
		display: flex;
		align-items: stretch;
		justify-content: space-around;
	}

	.infomation div {
		height: 100%;
	}

}

/*---------------------------
　　　やじるし罫線
--------------------------- */


@media screen and (min-width: 850px) {
	.row {
		position: absolute;
		left: 0px;
		bottom: -60px;
		text-align: center;
		width: 100%;
	}

	.row a::after {
		content: "";
		position: absolute;
		width: 3.5%;
		height: 1px;
		background-color: #fff;
		top: 4%;
		right: 4.5%;
		transform: translateY(-50%) rotate(40deg);
		transition: .3s ease;
	}
}

@media screen and (max-width: 850px) {
	.row {
		position: absolute;
		left: 25px;
		text-align: center;
		width: 87%;
		margin: 20px auto;
	}

	.row a::after {
		content: "";
		position: absolute;
		width: 3.5%;
		height: 1px;
		background-color: #fff;
		top: 10%;
		right: 4.5%;
		transform: translateY(-50%) rotate(40deg);
		transition: .3s ease;
	}

}

.row a {
	color: #ffffff;
	font-size: 2rem;
}


.row a::before {
	content: "";
	position: absolute;
	width: 6%;
	height: 1px;
	background-color: #fff;
	top: 20%;
	right: 5%;
	transform: translateY(-50%);
	transition: .3s ease;
}


.moreLinkText {
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

/*ホバーしたときに下線矢印も同時に色を変える*/
.moreLinkText:hover .lineArrow {
	border-bottom: 1px solid #ffffff;
	/* border-right: 1px solid #ffffff;*/
}

.moreLinkText:hover {
	color: #41A849;
}

.lineArrow {
	width: 100%;
	height: 15px;
	border-bottom: 1px solid #ffffff;
	/*border-right: 1px solid #ffffff;*/
	/*傾きを調節
  transform: skew(45deg);*/
	/*下線矢印をテキストに合わせてうまい具合にはめる
  margin: -10px 0 0 -25px;*/
}
.page-schedule .schedule-sec{
	margin: clamp(6em, 7%, 100px) auto!important;
}
.shop-archive{
	margin: clamp(6em, 10%, 100px) auto clamp(3em, 10%, 100px)!important;
}
.page-head .area-tag{
  left: 50%!important;
  top: unset!important;
  justify-content: center;
  width: 101%;
  transform: translateX(-50%);
  bottom: -70px;
}

.area-tag{
	clip-path: unset!important;
	background-color: unset!important;
}

.area-tag .cat-item:first-of-type a{
	clip-path: unset!important;
}
.area-tag .cat-item{
	margin-left: unset!important;
	margin-right: 5px;
}
.area-tag .cat-item a{
	clip-path: unset!important;
	border-radius: 10px;
	transition: unset;
}
@media (max-width:767px){
	.area-tag .cat-item a{
		width: 5em!important;
	}
}
.area-tag .cat-item.current-cat:first-child a {
	border: solid 3px #143075;
	background-image: linear-gradient(0deg, #4669c2, #26479b 35%, #143075 50%, #26479b  65%, #4669c2 ), linear-gradient(0deg, #4669c2, #143075 50%, #4669c2);
}

.area-tag .cat-item:hover:first-child a {
	background-color: #143075;
	border: solid 3px #143075;
	background-image: linear-gradient(0deg, #4669c2, #26479b 35%, #143075 50%, #26479b  65%, #4669c2 ), linear-gradient(0deg, #4669c2, #143075 50%, #4669c2);
}

.area-tag .cat-item.current-cat:nth-of-type(2) a,
.area-tag .cat-item:hover:nth-of-type(2) a {
	background-color: #ad2c27;
	border: solid 3px #ad2c27;
	background-image: linear-gradient(360deg, rgba(255, 80, 73, 1), rgba(177, 45, 41, 1) 35%, rgba(173, 44, 39, 1) 50%, rgba(177, 45, 41, 1) 65%, rgba(255, 80, 73, 1));
}

.area-tag .cat-item.current-cat:nth-of-type(3) a,
.area-tag .cat-item:hover:nth-of-type(3) a {
	background-color: #007fc9;
	border: solid 3px #007fc9;
	background-image: linear-gradient(0deg, rgba(150, 217, 255, 1), rgba(66, 143, 188, 1) 35%, rgba(0, 128, 201, 1) 50%, rgba(66, 143, 188, 1) 65%, rgba(150, 217, 255, 1));

}

.area-tag .cat-item.current-cat:nth-of-type(4) a,
.area-tag .cat-item:hover:nth-of-type(4) a {
	background-color: #ed8a1d;
	border: solid 3px #ed8a1d;
	background-image: linear-gradient(0deg, rgba(255, 202, 144, 1), rgba(252, 169, 76, 1) 25%, rgba(237, 138, 29, 1) 50%, rgba(252, 169, 76, 1) 75%, rgba(255, 202, 144, 1));
}

.area-tag .cat-item.current-cat:nth-of-type(5) a,
.area-tag .cat-item:hover:nth-of-type(5) a {
	background-color: #299400;
	border: solid 3px #299400;
	background-image: linear-gradient(0deg, rgba(61, 222, 0, 1), rgba(52, 189, 0, 1) 25%, rgba(41, 148, 0, 1) 50%, rgba(52, 189, 0, 1) 75%, rgba(61, 222, 0, 1));
}

.lang-box::before {
	z-index: 3;
}

.lang-box select {
	background: #000;
}

.artist-archive .artist-item:first-of-type,
.artist-archive .artist-item:nth-of-type(2) {
	grid-column: unset !important;
}

.artist-archive .artist-item:first-of-type .artist-item-link,
.artist-archive .artist-item:nth-of-type(2) .artist-item-link {
	grid-template-columns: unset !important;
	gap: unset !important;
	align-items: unset !important;
}

.artist-archive .artist-list{
	gap: 235px 40px!important;
}
@media (max-width:767px){
	.artist-archive .artist-list{
		gap: 100px 10px!important;
	}
}

@media (min-width: 851px) and (max-width: 1280px) {
	.map-flex{
		justify-content: center;
	}
}
/* リニューアルSPCSS */
@media screen and (max-width: 850px) {
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
	#main-visual .container {
		width: 100%;
		height: 100%;
		max-width: 100%;
		box-sizing: border-box;
		background-color: transparent;
		padding-top: 60px;
	}
	.youtube__wrapper{
		width: 100%;
		height: 100%;
		aspect-ratio: 375 / 210;
		overflow: unset;
	}
	.start-box__wrapper{
		padding: 30px 0;
	}
		#main-visual .start-box{
			width: 90%;
			padding: 17px 0;
		}
					#main-visual .start-day p{
						font-size: calc((18 / 375) * 100vw);
					}
						#main-visual .start-guidetext p{
							font-size: calc((13 / 375) * 100vw);
						}
	.tokyo__inner{
		width: 92.8%;
		margin: 0 auto;
		padding: 24px 0 0 0;
	}
			.tokyo__link{
				font-size: calc((21 / 375) * 100vw);
				padding: 39px 0;
				font-feature-settings: "palt";
			}
	.map-wrapper{
		margin-top: 0;
	}
				.map-wrapper .t-title h2{
					font-size: calc((34 / 375) * 100vw);
					padding-top: calc((30 / 375) * 100vw);
				}
				.t-title p{
					font-size: calc((16 / 375) * 100vw);
					padding-top: 30px;
				}
					.t-title p > font{
						font-size: calc((11 / 375) * 100vw);
					}
							.map-flexbox .map-flex_subttl.__red{
								font-size: calc((14 / 375) * 100vw);
							}
										.map-alphabet .map-circle p{
											font-size: calc((20 / 375) * 100vw);
											padding-top: 0;
										}
								#map_btn_0 .fukidashi_obj,
								#map_btn_2 .fukidashi_obj,
								#map_btn_3 .fukidashi_obj{
									right: 9%;
								}
								#map_btn_0 .fukidashi_obj {
									right: calc(-100% - 9%);
								}
								#map_btn_0 .place__obj, #map_btn_1 .place__obj{
									width: calc((30 / 375) * 100vw);
									height: calc((35 / 375) * 100vw);
									right: -8%;
									bottom: -8%;
								}
								#map_btn_2 .place__obj_add, #map_btn_3 .place__obj_add{
									width: calc((30 / 375) * 100vw);
									height: calc((35 / 375) * 100vw);
									right: 8%;
									bottom: -8%;
								}
								#map_btn_2 .place__obj{
									width: calc((28 / 375) * 100vw);
									height: calc((36 / 375) * 100vw);
									right: -8%;
									bottom: -11%;
								}
								#map_btn_3 .place__obj{
									width: calc((24 / 375) * 100vw);
									height: calc((36 / 375) * 100vw);
									right: -6%;
									bottom: -14%;
								}
								#map_btn_0 .fukidashi_obj,
								#map_btn_2 .fukidashi_obj,
								#map_btn_3 .fukidashi_obj{
									width: calc((7 / 375) * 100vw);
									background-repeat: no-repeat;
									bottom: -29px;
								}
								#map_btn_0 .fukidashi_item,
								#map_btn_2 .fukidashi_item,
								#map_btn_3 .fukidashi_item{
									height: calc((20 / 375) * 100vw);
									bottom: -20px;
								}
								#map_btn_0 .fukidashi_item{
									width: calc(200% + (20 / 375) * 100vw);
								}
									.map-flex.two-digit-list #map_btn_0 > .obj__wrap::after{
										font-size: calc((11 / 375) * 100vw);
									}
									.map-flex.two-digit-list #map_btn_2 > .obj__wrap::after{
										font-size: calc((11 / 375) * 100vw);
									}
									.map-flex.two-digit-list #map_btn_3 > .obj__wrap::after{
										font-size: calc((11 / 375) * 100vw);
									}
									.map-flex.two-digit-list #map_btn_0 > .obj__wrap::after,
									.map-flex.two-digit-list #map_btn_2 > .obj__wrap::after,
									.map-flex.two-digit-list #map_btn_3 > .obj__wrap::after{
										font-feature-settings: "palt";
										padding-top: 4%;
										bottom: -20px;
									}
									.map-flex li:nth-child(1),
									.map-flex li:nth-child(2),
									.map-flex li:nth-child(3),
									.map-flex li:nth-child(4),
									.map-flex li:nth-child(5),
									.map-flex li:nth-child(6){
										margin-bottom: calc((66 / 375) * 100vw);
									}
									.map-flex li:nth-child(5n){
										margin-right: 0;
									}
									.map-flex li:nth-child(9){
										margin-right: 0;
									}
							.map-venuemark{
								height: calc((55 / 375) * 100vw);
							}
								.map-name p{
									font-size: calc((12 / 375) * 100vw);
									white-space: unset;
								}
									#map_btn_9 .map-alphabet .map-circle p,
									#map_btn_10 .map-alphabet .map-circle p,
									#map_btn_11 .map-alphabet .map-circle p,
									#map_btn_12 .map-alphabet .map-circle p,
									#map_btn_13 .map-alphabet .map-circle p{
										padding-top: 5%;
									}
										#map_btn_9 .map-alphabet .map-circle::before,
										#map_btn_10 .map-alphabet .map-circle::before,
										#map_btn_11 .map-alphabet .map-circle::before,
										#map_btn_12 .map-alphabet .map-circle::before,
										#map_btn_13 .map-alphabet .map-circle::before{
											width: 12vw;
											height: 12vw;
										}
#christmas_advent__about_area{
	margin-bottom: 29px;
}
	.ca__about_inner{
		width: 100%;
	}
					.ca__about_contents_01_inner{
						width: 100%;
						height: auto;
						padding-top: 56px;
						padding-bottom: 0;
						flex-direction: column;
					}
						.ca__about_contents_01_txt{
							width: 100%;
						}
							.ca__about_contents_01_ttl_obj {
								width: 119vw;
								height: auto;
								position: absolute;
								top: calc((-56 / 375) * 100vw);
								left: calc((-44 / 375) * 100vw);
							}
							.ca__about_contents_01_ttl{
								padding-top: 0;
								font-size: calc((26 / 375) * 100vw);
								text-align: center;
							}
							.ca__about_contents_01_dtl{
								font-size: calc((12 / 375) * 100vw);
								padding-top: 60px;
								text-align: center;
								line-height: 2.28;
							}
						.ca__about_contents_01_image{
							width: 100%;
						}
					.ca__about_contents_02_heading{
						flex-direction: column;
					}
						.ca__about_contents_02_ttl{
							font-size: calc((32 / 375) * 100vw);
							letter-spacing: 0.04em;
						}
						.ca__about_contents_02_dtl{
							font-size: calc((13 / 375) * 100vw);
							letter-spacing: 0.1em;
						}
					.ca__about_contents_02_image{
						width: 100%;
						padding: 13px 0 32px 0;
					}
					.ca__about_contents_03_inner{
						width: 100%;
					}
							.ca__feel__list{
								padding: 57px 0 45px 0;
							}
								.ca__feel__item{
									flex-direction: column;
								}
									.ca__feel__item:nth-child(2) .ca__feel__item_image{
										margin: 0 auto 0 0;
									}
									.ca__feel__item_image_wrap{
										width: 100%;
									}
										.ca__feel__item_image{
											width: 89%;
											margin: 0 0 0 auto;
										}
										.ca__feel__item_image_obj{
											width: 43.2%;
											top: calc((-26 / 375) * 100vw);
    										left: calc((0 / 375) * 100vw);
										}
										.ca__feel__item.__reverse .ca__feel__item_image_obj {
											width: 43.2%;
											top: calc((-26 / 375) * 100vw);
    										right: calc((0 / 375) * 100vw);
											left: unset;
										}
								.ca__feel__item.__reverse{
									flex-direction: column;
								}
									.ca__feel__item_image_wrap.__left_padding{
										padding: 0;
									}
								.ca__feel__item_txt_wrap{
									width: 100%;
								}
									.ca__feel__item_txt {
										font-size: calc((13 / 375) * 100vw);
										margin-left: calc((33 / 375) * 100vw);
										padding-bottom: calc((16 / 375) * 100vw);
										padding-top: calc((21 / 375) * 100vw);
										line-height: 2;
									}
									.ca__feel__item.__reverse .ca__feel__item_txt{
										margin-left: calc((33 / 375) * 100vw);
										margin-right: 0;
									}
									.ca__feel__item_place{
										min-width: 97px;
										font-size: calc((13 / 375) * 100vw);
										margin-left: calc((33 / 375) * 100vw);
										padding: calc((6 / 375) * 100vw) 0;
									}
									.ca__feel__item.__reverse .ca__feel__item_place {
										margin-left: calc((33 / 375) * 100vw);
										margin-right: 0;
									}
									.ca__feel__item_place.__yellow{
										max-width: 97px;
									}
									.ca__feel__item_place.__light_blue{
										max-width: 321px;
									}
									.ca__feel__item_place.__salmon_pink{
										max-width: 278px;
									}
									.ca__feel__item_logo_wrap{
										margin-left: calc((33 / 375) * 100vw);
									}
									.ca__feel__item_logo_wrap.__flex_end{
										margin-left: calc((33 / 375) * 100vw);
										justify-content: flex-start;
									}
					.place__list{
						width: calc((230 / 375) * 100vw);
						height: calc((38 / 375) * 100vw);
						margin: 0 auto 59px auto;
					}
						.place__list_inner {
							column-gap: 9px;
						}
							.click_txt {
								font-size: calc((12 / 375) * 100vw);
								padding: 6px 6px 5px 6px;
							}
							.place__list_txt{
								font-size: calc((14 / 375) * 100vw);
							}
							.place__list_arrow{
								width: calc((22 / 375) * 100vw);
								padding-bottom: 4px;
							}	
				.content-artist{
					padding-top: calc((38 / 375) * 100vw);
					padding-bottom: calc((52 / 375) * 100vw);
				}		
}

