@charset "UTF-8";


a.illust_btn:hover,
.more_btn:hover {
	scale:0.9;
}

a.illust_btn,
a.illust_btn:hover,
.more_btn,
.more_btn:hover {
	transition: .2s;
}

/*----------------------------------------------------

◆　ヘッダー

----------------------------------------------------*/
header.open {
	z-index: 1040;
}

/*----------------------------------------------------

◆　mv - メインビジュアル

----------------------------------------------------*/
.mv {
	position: relative;
}

/*--- ポップアップボタン ---*/
.mv .day_link{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 350px;
	height: 64px;
	background: rgba(1,49,106,1);
	color: #fff;
	font-size: min(2.2rem, 1.611vw);
	font-weight: 500;
	position: absolute;
	top: 0;
	z-index: 1030;
}
.mv .day_link:after{display: none;}
 
.mv .day_link span {
	font-size: 20px;
	font-weight: bold;
}

.popup {
	position: fixed;
	inset: 0;
	z-index: 1000;
	opacity: 0;
	visibility: hidden;
	transition: 0.3s;
}

.popup.is-show {
	opacity: 1;
	visibility: visible;
}

/* 背景 */
.popup-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.7);
}

/* 本体 */
.popup-content {
	max-width: 838px;
	width: 100%;	
	border: 2px solid #FFF;
	background: #01316A;
	border-radius: 21.209px;
	padding: 68px 0;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
}

.popup-content p {
	color: #fff;
	text-align: center;
	font-size: min(2.5rem, 1.83vw);
	font-weight: 500;
	line-height: 43.5px;
}

.popup-content a {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 33px auto 0;
	width: 365.09px;
	height: 66.265px;
	border-radius: 6.72px;
	border: 1px solid #fff;
	background: #C81919;
	color: #fff;
	font-size: min(1.9rem, 1.391vw);
	font-weight: 500;
	line-height: 24.624px;
	position: relative;
}

.popup-content a:hover {
	opacity: 0.8;
}

.popup-content a::after {
	content: '';
	background: url(../images/arrow-red.svg) no-repeat;
	background-size: 100%;
	display: block;
	width: 28px;
	height: 28px;
	position: absolute;
	top: 52%;
	right: 10px;
	transform: translate(-50%, -50%);
}

/* 閉じる */
.popup-close {
	position: absolute;
	top: 10px;
	right: 10px;

	border: none;
	background: none;
	font-size: 30px;
	cursor: pointer;
}

/*--- ポップアップボタン ---*/

@media(max-width: 768px) {
	.popup-content {
		width: 90%;
		border: 1px solid #FFF;
		border-radius: 12px;
	}
	.popup-content p {
		font-size: min(1.8rem, 4.8vw);
		line-height: 30.5px;
	}
	.popup-content a {
		width: 233px;
		height: 42px;
		border-radius: 4px;
		font-size: min(1.4rem, 3.733vw);
		line-height: 15.725px;
	}
	.popup-content a::after {
		width: 18px;
		height: 18px;
		right: 2px;
	}

	.mv .day_link{
		width: 240px;
		height: 55px;
		font-size: min(1.8rem, 4.8vw);
	}
}

h1 {
	width: 100%;
	height: auto;
}

@media(max-width: 768px){}


/*　lead - リード文 */
#lead {
	padding-top: 60px;
	background:url(../images/bgA.png) no-repeat;
	background-size:cover;
	position: relative;
}

#lead .item-left,
#lead .item-right {
	position: absolute;
	width: 310px;
}

#lead .item-left {
	top: -10px;
	left: 0;
}

#lead .item-right {
	top: -10px;
	right: 0;
}

#lead .text {
	max-width: 695px;
	width: 100%;
	margin: 0 auto;
	position: relative;
	padding-top: 110px;
	padding-bottom: 184px;
}

#lead .text .lead-imgA {
	width: 46.05%;
	position: absolute;
	top: 220px;
	left: -270px;
}

#lead .text .lead-imgB {
	width: 46.05%;
	position: absolute;
	top: 290px;
	right: -310px;
}

#lead .text2 {
	position: relative;
}

#lead .text2 .txt {
	text-align: center;
	font-size: min(1.8rem, 1.318vw);
	font-weight: 500;
	line-height: 180.556%;
	position: absolute;
	top: 42%;
	left: 50%;
	transform: translate(-50%, -50%);
}

@media(max-width: 768px){
	#lead {
		background:url(../images/bgA_sp.png) top no-repeat;
	}
	#lead .item-left,
	#lead .item-right {
		width: 130px;
	}
	#lead .text {
		width: 90%;
		padding-top: 50px;
		padding-bottom: 70px;
	}
	#lead .text .lead-imgA,
	#lead .text .lead-imgB {
		display: none;
	}
	#lead .text2 .txt {
		width: 90%;
		margin: 0 auto;
		font-size: min(1.6rem, 4.267vw);
		line-height: 26.5px;
		top: 17%;
	}
}

/*----------------------------------------------------

◆　border

----------------------------------------------------*/
.border ul {
	display: flex;
	justify-content: center;
	align-items: center;
}

.border ul li.border-item {
	width: 20%;
	height: 35px;
}

.border ul li.border-item:nth-of-type(1) {
	background: linear-gradient(99deg, #F5D429 40.12%, #F5D52F 46.07%, #F6D943 56.5%, #F7DF63 68.42%, #F9E88F 81.83%, #FCF3C7 95.24%, #FFF 108.65%);
}
.border ul li.border-item:nth-of-type(2) {
	background: linear-gradient(86deg, #2965B1 25.59%, #2B66B2 44.51%, #346DB5 57.13%, #4378BA 67.22%, #5987C2 77.31%, #759CCC 86.14%, #97B4D9 94.97%, #C0D1E8 103.8%, #EEF3F8 111.37%, #FFF 113.89%);
}
.border ul li.border-item:nth-of-type(3) {
	background: linear-gradient(144deg, #004E75 43.41%, #065278 50.31%, #1A6083 60.66%, #3A7694 73.32%, #6695AC 87.12%, #9FBCCB 103.22%, #E3EBF0 119.33%, #FFF 125.08%);
}
.border ul li.border-item:nth-of-type(4) {
	background: linear-gradient(138deg, #DAE9F3 -3.98%, #DDC8C6 15.09%, #E77A5C 59.18%, #EB5B32 79.44%);
}
.border ul li.border-item:nth-of-type(5) {
	background: linear-gradient(271deg, #DAE9F3 -27.65%, #DBE0ED -11.1%, #E1C8DD 14.35%, #E9A1C4 46.17%, #EE8DB8 61.44%);
}

@media(max-width: 768px){
	.border ul li.border-item {
		width: 40%;
		height: 17px;
	}
	.border ul li.border-item:nth-of-type(1),
	.border ul li.border-item:nth-of-type(2) {
		display: none;
	}
	.border.typeB ul li.border-item:nth-of-type(1),
	.border.typeB ul li.border-item:nth-of-type(2) {
		display: block;
	}
	.border.typeB ul li.border-item:nth-of-type(4),
	.border.typeB ul li.border-item:nth-of-type(5) {
		display: none;
	}
}

/*----------------------------------------------------

◆　event_link - 有料席販売のご案内

----------------------------------------------------*/
#event_link {
	width: 100%;
	background:url(../images/bgB.jpg) repeat-y;
	background-size: 100%;
	padding-top: 90px;
	text-align: center;
}

#event_link .w1144 {
	max-width: 1144px;
	margin: 0 auto;
}

#event_link .area_box {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#event_link .area_box .box,
#event_link .area_box .box3 {
	position: relative;
	width: 47%;
	background: #01316A;
	border-radius: 0 0 18px 18px;
	border: 4px solid #FFF;
	margin-bottom: 77px;
	padding: 64px 0;
	position: relative;
}

#event_link .area_box .box::before {
	content: '';
	background: url(../images/top-imgitem.png) no-repeat;
	background-size: 100%;
	display: block;
	width: 100%;
	height: 144px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, 0);
}

#event_link .area_box .box3 {
	border-radius: 18px;
	padding: 50px 0;
}

#event_link .area_box .box h2 {
	padding-top: 32px;
}

#event_link .area_box #kando.box h2 {
	width: 370px;
	margin: 0 auto;
}

#event_link .area_box #asobi.box h2 {
	width: 429px;
	margin: 0 auto;
}

#event_link .area_box #taiken.box h2 {
	width: 473px;
	margin: 0 auto;
}

#event_link .area_box #tabete.box h2 {
	width: 445px;
	margin: 0 auto;
}

#event_link .area_box .box3 h2 {
	padding-bottom: 25px;
}

#event_link .area_box #kouryaku.box3 h2 {
	width: 446px;
	margin: 0 auto;
}

#event_link .area_box #minituke.box3 h2 {
	width: 484px;
	margin: 0 auto;
}

#event_link .area_box .box3 .img {
	width: 50%;
	margin: 0 auto;
}

#event_link .area_box #minituke.box3 .img {
	margin-bottom: 15px;
}

#event_link .area_box .box .text,
#event_link .area_box .box3 .text {
	height: 210px;
	text-align: left;
	padding: 32px 37px 20px;
	font-size: min(1.6rem, 1.171vw);
	font-weight: 500;
	line-height: 33.481px;
}

#event_link .area_box .box3 .text {
	height: 180px;
	padding-bottom: 35px;
}

#event_link .area_box .box a,
#event_link .area_box .box3 a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 365px;
	height: 66px;
	margin: 30px auto 0;
	border-radius: 6px;
	border: 1px solid #FFF;
	background: #C81919;
	color: #fff;
	font-size: min(1.9rem, 1.391vw);
	font-weight: 500;
	line-height: 24.624px;
	position: relative;
}

#event_link .area_box .box a::after,
#event_link .area_box .box3 a::after {
	content: '';
	background: url(../images/arrow-red.svg) no-repeat;
	background-size: 100%;
	display: block;
	width: 28px;
	height: 28px;
	position: absolute;
	top: 52%;
	right: 10px;
	transform: translate(-50%, -50%);
}

#event_link .area_box .box a:hover,
#event_link .area_box .box3 a:hover {
	opacity: 0.8;
}

#event_link .area_box .box a.is-disabled,
#event_link .area_box .box3 a.is-disabled {
	pointer-events: none;
}

#event_link .area_box .box a.is-disabled::after,
#event_link .area_box .box3 a.is-disabled::after {
	content: '';
	display: none;
}

#event_link .area_box .box .text p,
#event_link .area_box .box3 .text p {
	font-size: 16px;
	line-height: 1.8;
}

#event_link .area_box .box3 .text p:nth-of-type(1) {
	padding-bottom: 20px;
}

#event_link .area_box .box3 .text p:nth-of-type(2) {
	padding-bottom: 10px;
}

#event_link .area_box .box3 .text p.release {
	color: #C81919;
	text-align: center;
	font-size: 23px;
	font-weight: 600;
	padding-top: 20px;
	padding-bottom: 0;
}

#event_link .area_box .box3 .text p span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 150px;
	color: #0a5078;
	background: #ffe100;
	font-weight: bold;
}

#event_link .area_box .box .text p span.small {
	font-size: 0.6em;
	vertical-align: super;
	margin-left: 1px;
}

#event_link .area_box .box .text p.note {
	color: #fff;
	font-size: 13px;
	font-weight: 300;
	margin-top: 0;
}
#event_link .area_box .box .text p.note::before {
	content: "※";
}

#event_link .area_box .box .coming {
	width: 45.5%;
	position: absolute;
	bottom: -6px;
	right: -20px;
}

#event_link .area_box .box3 .coming {
	width: 37.6%;
	position: absolute;
	bottom: -14px;
	right: -16px;
}


#event_link .area_box .box .inquiry {
	width: 54.2%;
	position: absolute;
	bottom: 30px;
	left: -10px;
}
#event_link .area_box .box .inquiry:hover {
	opacity: 0.8;
}

#event_link .area_box .box .popup {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0, 0, 0, 0.6);
	justify-content: center;
	align-items: center;
	z-index: 9999;
}

#event_link .area_box .box .popup-content {
	background: rgba(255, 255, 255, 0.9);
	padding: 2em 2em 4em 2em;
	border: 10px solid #0a5078;
	position: relative;
	max-width: 800px;
}

#event_link .area_box .box .popup .close {
	position: absolute;
	top: -35px;
	right: -35px;
	background: none;
	border: none;
	cursor: pointer;
	width: 50px;
	height: 50px;
}

#event_link .area_box .box .popup-content h2 {
	width: 81.3%;
	margin: 0 auto;
}

#event_link .area_box .box .popup-content p {
	color: #000;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	font-weight: 500;
	font-style: normal;
}

#event_link .area_box .box .popup-content p:nth-of-type(1) {
	font-size: 18px;
	line-height: 1.8;
	padding-top: 30px;
}

#event_link .area_box .box .popup-content p:nth-of-type(2) {
	font-size: 22px;
	padding-top: 30px;
}

#event_link .area_box .box .popup-content a {
	display: block;
	color: #c81919;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 22px;
	font-weight: 700;
	font-style: normal;
	text-decoration: underline;
	padding-top: 20px;
}

#event_link .area_box .box .popup-content p.note {
	font-size: 14px;
	width: 100%;
	margin-top: 6px;
}
#event_link .area_box .box .popup-content p.note::before {
	content: '※';
}

#event_link .area_box .box .popup-content p.note:nth-of-type(3) {
	margin-top: 40px;
}

#event_link .guest {
	max-width: 1100px;
	margin: 0 auto;
}

#event_link a.btn_map-timetable {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto 77px;
	width: 569px;
	height: 74px;
	border-radius: 6px;
	border: 1px solid #fff;
	background: #C81919;
	color: #fff;
	text-align: center;
	font-size: min(1.9rem, 1.391vw);
	font-weight: 500;
	line-height: 24.624px;
	position: relative;
}
#event_link a.btn_map-timetable::after {
	content: '';
	background: url(../images/arrow-red.svg) no-repeat;
	background-size: 100%;
	display: block;
	width: 28px;
	height: 28px;
	position: absolute;
	top: 52%;
	right: 10px;
	transform: translate(-50%, -50%);
}

@media(max-width: 768px) {
	#event_link .area_box .box .popup-content {
		width: 90%;
		padding: 2em 1em 3em;
		border: 5px solid #0a5078;
	}
	#event_link .area_box .box .popup .close {
		top: -25px;
		right: -15px;
		width: 40px;
		height: 40px;
	}
	#event_link .area_box .box .popup-content h2 {
		width: 100%;
	}
	#event_link .area_box .box .popup-content p {
		font-size: 16px;
	}
	#event_link .area_box .box .popup-content p:nth-of-type(1) {
		font-size: 14px;
		padding-top: 10px;
	}
	#event_link .area_box .box .popup-content p:nth-of-type(2) {
		font-size: 16px;
		padding-top: 20px;
	}
	#event_link .area_box .box .popup-content a {
		font-size: 16px;
		padding-top: 15px;
	}
	#event_link .area_box .box .popup-content p.note {
		font-size: 10px;
	}
	#event_link .area_box .box .popup-content p.note:nth-of-type(3) {
		margin-top: 20px;
	}
	#event_link .area_box .box .text a,
	#event_link .area_box .box3 .text a {
		width: 80%;
	}
	#event_link .area_box .box .text a {
		margin-bottom: 30px;
	}
	#event_link .area_box .box3 .text p.release {
		font-size: 19px;
		padding-top: 10px;
	}
	#event_link .area_box .box .inquiry {
		bottom: 13px;
	}
	#event_link .area_box .box .text.sp_H-auto {
		height: auto;
	}
	#event_link a.btn_map-timetable {
		width: 90%;
		padding: 10px 0;
		margin: 30px auto 40px;
		font-size: min(1.4rem, 3.733vw);
	}
	#event_link .area_box .box h2 {
		padding-top: 15px;
	}
	#event_link .area_box #kando.box h2 {
		width: 69%;
	}
	#event_link .area_box #asobi.box h2 {
		width: 83.7%;
	}
	#event_link .area_box #taiken.box h2 {
		width: 94.2%;
	}
	#event_link .area_box #tabete.box h2 {
		width: 91.2%;
	}
	#event_link .area_box #kouryaku.box3 h2 {
		width: 87.3%;
	}

	#event_link .area_box #minituke.box3 h2 {
		width: 90%;
		margin: 0 auto;
	}

	#event_link .area_box .box3 .img {
		width: 70.5%;
	}


	#event_link .area_box .box a,
	#event_link .area_box .box3 a {
		width: 233px;
		height: 42px;
		margin: 30px auto 0;
		border-radius: 4px;
		font-size: min(1.4rem, 3.733vw);
		line-height: 15.725px;
	}
	#event_link .area_box .box a::after,
	#event_link .area_box .box3 a::after {
		width: 18px;
		height: 18px;
		right: 2px;
	}


	#event_link .area_box .box .text,
	#event_link .area_box .box3 .text {
		height: auto;
		padding: 20px;
		font-size: min(1.4rem, 3.733vw);
		line-height: 24px;
	}
	#event_link .area_box .box .text .note {
		display: block;
	}

}

#event_link .box2 {
	position: relative;
	width: 100%;
	background: #01316A;
	border: 4px solid #fff;
	border-radius: 21px;
	margin-bottom: 77px;
	padding: 60px 20px;
}

#event_link .box2 h2 {
	width: 610px;
	margin: 0 auto 20px;
}

#event_link .box2.typeB h2 {
	width: 754px;
	margin: 0 auto 20px;
}

#event_link .box2 .img {
	width: 700px;
	margin: 0 auto 30px;
}

#event_link .box2.typeB .img {
	width: 810px;
	margin: 0 auto 22px;
}

#event_link .box2 p.text {
	font-size: min(2rem, 1.464vw);
	font-weight: 500;
	line-height: 33.481px;
}

#event_link .box2.typeB p.text {
	width: 810px;
	margin: 0 auto 20px;
	font-size: min(1.6rem, 1.171vw);
	font-weight: 500;
	line-height: 33.481px;
	text-align: left;
}

#event_link .box2 p.text span {
	display: block;
	color: #fff;
}

#event_link .box2 a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 365px;
	height: 66px;
	margin: 0 auto;
	border-radius: 6px;
	border: 1px solid #FFF;
	background: #C81919;
	color: #fff;
	font-size: min(1.9rem, 1.391vw);
	font-weight: 500;
	line-height: 24.624px;
	position: relative;
}

#event_link .box2 a::after {
	content: '';
	background: url(../images/arrow-red.svg) no-repeat;
	background-size: 100%;
	display: block;
	width: 28px;
	height: 28px;
	position: absolute;
	top: 52%;
	right: 10px;
	transform: translate(-50%, -50%);
}

#event_link .box2 a:hover {
	opacity: 0.8;
}

#event_link .box2.typeB .area-text {
	max-width: 810px;
	margin: 0 auto 50px;
	text-align: left;
}

#event_link .box2.typeB .area-text .txt {
	font-size: min(1.6rem, 1.171vw);
	font-weight: 500;
	line-height: 33.481px;
	margin-bottom: 20px;
}

#event_link .box2.typeB .area-text ul {
	display: flex;
	margin-bottom: 10px;
}

#event_link .box2.typeB .area-text ul:nth-of-type(4) {
	margin-bottom: 20px;
}

#event_link .box2.typeB .area-text ul li {
	font-size: min(1.6rem, 1.171vw);
	font-weight: 500;
}

#event_link .box2.typeB .area-text ul li:nth-of-type(1) {
	width: 50px;
	position: relative;
}

#event_link .box2.typeB .area-text ul li:nth-of-type(1)::after {
	content: '：';
	position: absolute;
	right: 0;
}

#event_link .box2.typeB .area-text .note {
	margin-bottom: 5px;
}

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

.tab {
	width: 49%;
	padding:15px;
	list-style:none;
	text-align:center;
	cursor:pointer;
	background-color: #285080;
	border-radius: 10px;
	font-size: 18px;
	font-weight: bold;
}

.panel-group {
	border-top:none;
}

.panel {
	display:none;
	margin-top: 30px;
}

.tab.is-active {
	background:#F00;
	color:#FFF;
	transition: all 0.2s ease-out;
}

.panel.is-show {
	display:block;
}

.ctn2 .tab-panel .paid_btn {
	position: relative;
	display: none;
	background:#fff;
	color:#032e64;
	border-radius: 50px;
	padding: 20px 0;
	width: 400px;
	margin: 50px auto 0;
	transition: .2s;
}
.ctn2 .tab-panel .paid_btn:after {
	display:block;
	position:absolute;
	content: '';
	background: url(../images/arrow_right_blue.png)center center no-repeat;
	width: 24px;
	height:24px;
	background-size:contain;
	top:20px;
	right:20px;
}
.ctn2 .tab-panel .paid_btn:hover {
	background: #d71919;
	color:#fff;
	transition:.2s;
}

.ctn2 .tab-panel .paid_btn.is-show {
	display:block;
}


@media(max-width: 768px){
	#event_link .box2 .area_contents .border {
		display: none;
	}
	section#event_link {
		padding: 40px 0;
	}
	#event_link .area_box {
		display: block;
	}
	#event_link .area_box .box,
	#event_link .area_box .box3 {
		width: 90%;
		margin: 0 auto;
		border-radius: 0 0 11px 11px;
		border: 2px solid #FFF;
		padding: 34px 0 24px;
		margin-bottom: 40px;
	}
	#event_link .area_box .box3 {
		border-radius: 21px;
		padding: 34px 0 24px;
		margin-bottom: 40px;
	}
	#event_link .area_box .box .coming {
		width: 39.5%;
		bottom: -6px;
		right: -10px;
	}
	#event_link .box2 {
		width: 90%;
		margin: 0 auto;
		border: 2px solid #fff;
		border-radius: 21px;
		margin-bottom: 40px;
		padding: 30px 20px;
	}
	#event_link .box2 h2 {
		width: 95%;
		padding-bottom: 20px;
	}
	#event_link .box2 p.text {
		font-size: min(1.4rem, 3.733vw);
		line-height: 24px;
		text-align: left;
	}

	#event_link .box2 .area_contents {
		display: block;
		padding-bottom: 0;
	}
	#event_link .box2 .area_contents .contents {
		width: 100%;
		margin-bottom: 50px;
	}
	#event_link .box2 .area_contents .contents .img {
		height: auto;
	}
	#event_link .box2 .area_contents .contents .img.type01 {
		margin: 0;
	}
	#event_link .box2 a {
		width: 233px;
		height: 42px;
		border-radius: 4px;
		font-size: min(1.4rem, 3.733vw);
		line-height: 15.725px;
	}
	#event_link .box2 a::after {
		width: 18px;
		height: 18px;
		right: 2px;
	}
	#event_link .box2.typeB .img {
		width: 100%;
		margin: 0 auto 20px;
	}
	#event_link .box2.typeB h2 {
		width: 100%;
		margin: 0 auto;
	}
	#event_link .box2.typeB p.text {
		width: 100%;
		font-size: min(1.4rem, 3.733vw);
		line-height: 24px;
	}
	#event_link .box2 .img {
		width: 90%;
		margin: 0 auto 10px;
	}
	#event_link .box2.typeB .area-text .txt {
		font-size: min(1.4rem, 3.733vw);
		line-height: 24px;
		margin-bottom: 20px;
	}
	#event_link .box2.typeB .area-text ul li {
		width: 100%;
		font-size: min(1.4rem, 3.733vw);
	}
}


/*　有料席販売のご案内 */
#paid {
	background: url(../images/top-paid-bg.png) repeat-y;
	background-size: 100%;
	width: 100%;
	padding-top: 200px;
	padding-bottom: 100px;
	position: relative;
}

#paid .item-left,
#paid .item-right {
	position: absolute;
	width: 310px;
}

#paid .item-left {
	top: -6px;
	left: 0;
}

#paid .item-right {
	top: -6px;
	right: 0;
}

#paid .w920 {
	max-width: 920px;
	margin: 0 auto;
	padding-top: 30px;
	padding-bottom: 100px;
}

#paid .w920.typeB {
	padding-bottom: 0;
}

#paid h2 {
	margin-bottom: 80px;
}

#paid p.text {
	font-size: min(2.5rem, 1.83vw);
	font-weight: 500;
	text-align: center;
	line-height: 41.5px;
	padding-bottom: 40px;
}

#paid .area_box {
	display: flex;
	justify-content: space-between;
}

#paid .area_box .box {
	width: 47%;
}

#paid .area_box .box p {
	font-size: min(2.2rem, 1.611vw);
	text-align: center;
	padding: 20px 0 26px;
}

#paid .area_box .box a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 365px;
	height: 66px;
	margin: 0 auto;
	border-radius: 6px;
	border: 1px solid #fff;
	background: #C81919;
	color: #fff;
	font-size: min(1.9rem, 1.391vw);
	font-weight: 500;
	line-height: 24.624px;
	position: relative;
}

#paid .area_box .box a::after {
	content: '';
	background: url(../images/arrow-red.svg) no-repeat;
	background-size: 100%;
	display: block;
	width: 28px;
	height: 28px;
	position: absolute;
	top: 52%;
	right: 10px;
	transform: translate(-50%, -50%);
}

#paid .area_box .box a:hover {
	opacity: 0.8;
}

#paid .area_box .box .img {
	position: relative;
}

#paid .setprice {
	margin: 50px auto 140px;
}

#paid .setprice:nth-of-type(2) {
	margin-bottom: 0;
}

#paid .setprice h2 {
	width: 61.6%;
	margin: 0 auto;
}

#paid .setprice.typeB h2 {
	width: 78.5%;
}

#paid .point .box {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	border-radius: 8px;
	color: #000;
	font-size: min(1.5rem, 1.098vw);
	font-weight: 600;
	text-align: center;
	width: 32%;
	padding: 35px 15px;
	position: relative;
}

#paid .point .box.typeB {
	display: block;
}

#paid .point .box span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 141px;
	height: 34px;
	border-radius: 43px;
	background: #F5D429;
	color: #01316A;
	font-size: min(2.4rem, 1.757vw);
	font-weight: 700;
	line-height: 34.902px;
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translate(-50%, -50%);
}

#paid .point .box small {
	font-size: min(1rem, 0.732vw);
	vertical-align: top;	
}

#paid .ticket_text {
	margin-top: 40px;
}

#paid .ticket_text p {
	color: #ffe100;
	font-size: 22px;
	font-weight: 600;
	text-align: center;
	padding-bottom: 30px;
}

#paid .ticket_text .img {
	width: 54.6%;
	margin: 0 auto;
}

#paid .ctn table.tbl_plan {
	width: 760px;
	margin: 40px auto 0;
}

#paid .ctn table.tbl_plan th {
	box-sizing:border-box;
	height: 80px;
	text-align: center;
	padding: 13px 0;
	text-align: right;
	font-weight: bold;
	vertical-align: middle;
	width:50px;
	border-bottom:1px solid #fff;
}

#paid .ctn table.tbl_plan th div {
	width: 44px;
	margin: 0 auto -6px;
}

#paid .ctn table.tbl_plan td {
	box-sizing:border-box;
	height: 80px;
	padding: 13px 0 10px;
	border-bottom:1px solid #fff;
	vertical-align: middle;
}

#paid .ctn table.tbl_plan td:nth-child(2) {
	font-weight: 500;
	text-align: left;
	font-size: 18px;
	padding-left: 10px;
}

#paid .ctn table.tbl_plan td:nth-child(3) {
	font-weight: 500;
	font-size: 26px;
	/* padding-right:20px; */
	padding-left:20px;
}

#paid .ctn table.tbl_plan td:nth-child(4) {
	color:#fff;
	text-align: left;
	font-size: 14px;
	text-indent: -0.6em;
	line-height: 1.2rem;
	padding-left: 10px;
}

#paid .ctn table.tbl_plan th.last,
#paid .ctn table.tbl_plan td.last {
	border-bottom: none;
}

#paid .ctn .ticket-list .note.typeC {
	width: 760px;
	margin: 0 auto 55px;
}


#paid .ticket_text p.note {
	width: 100%;
	color: #fff;
	font-size: 22px;
	font-weight: 500;
	text-align: center;
	padding-top: 20px;
	padding-bottom: 30px;
	text-indent: 0;
	padding-left: 0;
}
#paid .ticket_text p.note::before {
	content: '※';
	color: #fff;
}

#paid .ticket_text p.note a {
	color: #fff;
	text-decoration: underline;
}
#paid .ticket_text p.note a:hover {
	opacity: 0.8;
}

#paid .ctn .area_note {
	max-width: 823px;
	margin: 0 auto;
	margin-top: 40px;
}

#paid .ctn .area_note .txt {
	font-size: min(1.4rem, 1.025vw);
}

#paid .ctn .area_note .note {
	color: #fff;
	margin-top: 6px;
}

#paid .ctn .area_note .note.last {
	margin-top: 20px;
}

#paid .ctn .setprice.typeB h3 {
	text-align: center;
	font-size: min(2rem, 1.464vw);
	font-weight: 500;
	line-height: 41.5px;
}

#paid .ctn .setprice.typeB .note.typeB {
	text-align: center;
	margin-top: 20px;
}

#paid .ctn .setprice.typeB .paid_btnB {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 365px;
	height: 66px;
	margin: 35px auto 0;
	border-radius: 6px;
	border: 1px solid #fff;
	background: #F5D429;
	color: #01316A;
	font-size: min(1.9rem, 1.391vw);
	font-weight: 500;
	text-align: center;
	line-height: 24.624px;
	position: relative;
}

#paid .ctn .setprice.typeB .paid_btnB:after {
	display:block;
	position:absolute;
	content: '';
	background: url(../images/arrow-blue.svg) center center no-repeat;
	width: 28px;
	height:28px;
	background-size:contain;
	top: 50%;
	right: 0;
	transform: translate(-50%, -50%);
}


@media(max-width: 768px) {
	#paid {
		padding-top: 100px;
		padding-bottom: 0;
	}
	#paid .setprice {
		margin: 0 auto;
	}
	#paid .w920 {
		padding-top: 0;
		padding-bottom: 0;
	}
	#paid h2 {
		margin-left: 20px;
		margin-bottom: 40px;
	}
	#paid p.text {
		font-size: min(1.8rem, 4.8vw);
		line-height: 29.5px;
	}
	#paid .area_box {
		display: block;
		padding: 0 20px;
	}
	#paid .area_box .box {
		width: 100%;
		margin-bottom: 40px;
	}	
	#paid .area_box .box p {
		font-size: min(1.8rem, 4.8vw);
	}
	#paid .area_box .box a {
		width: 233px;
		height: 48px;
		border-radius: 4px;
		font-size: min(1.4rem, 3.733vw);
		line-height: 18.7px;
	}
	#paid .area_box .box a::after {
		width: 18px;
		height: 18px;
		right: 2px;
	}
	#paid .area_box .box a.typeB {
		width: 260px;
	}
	#paid .ctn {
		padding: 50px 0;
	}
	#paid .setprice h2 {
		width: 84%;
	}
    #paid .point .box {
		width: 66%;
		margin: 0 auto;
		font-size: min(1.5rem, 4vw);
		padding: 40px 5px;
    }
	#paid .point .box:not(:nth-child(1)) {
		margin-top: 60px;
	}
	#paid .point .box span {
		font-size: min(2.4rem, 6.4vw);
	}
	#paid .ticket_text p {
		font-size: 19px;
	}
	#paid .ticket_text p.note {
		font-size: 17px;
	}
	#paid .ctn .area_note {
		width: 90%;
	}
	#paid .ctn .area_note .note {
		width: 100%;
	}
	#paid .item-left,
	#paid .item-right {
		width: 130px;
	}
	#paid .item-left,
	#paid .item-right {
		top: 0;
	}
	#paid .ctn .setprice.typeB h3 {
		font-size: min(1.9rem, 5.067vw);
		line-height: 27.5px;
		margin-bottom: 60px;
	}
	#paid .ctn .setprice.typeB .note.typeB {
		text-align: left;
		margin: 20px 15px;
	}
	#paid .ctn .setprice.typeB .paid_btnB {
		width: 342px;
		height: 67px;
		margin: 35px auto 0;
		border-radius: 9px;
		border: 2px solid #FFF;
		font-size: min(1.8rem, 4.8vw);
	}
	#paid .ctn .setprice.typeB .paid_btnB:after {
		width: 25px;
		height:25px;
	}
	#paid .ctn .ticket-list .note.typeC {
		width: auto;
		margin: 0 0 55px 15px;
	}
}

#paid .ctn table.tbl_plan td img {
	width: 90%;
	vertical-align: middle;
}

#paid .ctn table.tbl_plan td:nth-child(4) a {
	margin-top: 5px;
	padding-left: 7px;
	font-size: 16px;
	color:#032e64;
	font-weight: bold;
	display: block;
	text-decoration: underline;
}

#paid .ctn table.tbl_plan#dome_plan {
	margin: 40px auto;
}

#paid .ctn table.tbl_plan.typeB#dome_plan {
	margin-bottom: 20px;
}

#paid .ctn table.tbl_plan#dome_plan td:nth-child(2),
#paid .ctn table.tbl_plan#dome_plan_first td:nth-child(2) {
	font-size: min(1.7rem, 1.245vw);
	line-height: 24px;
	width: 26rem;
}

#paid .ctn table.tbl_plan#dome_plan td:nth-child(3) {
	font-weight: 500;
	text-align: right;
	font-size: 26px;
	padding-left:20px;
}

#paid .ctn table.tbl_plan#dome_plan_first td:nth-child(3) {
	line-height: 1.7rem;
}

#paid .ctn table.tbl_plan#dome_plan_first td:nth-child(3) span {
	font-size: 14px;
	font-weight: bold;
}

#paid .coming_soon_btn {
	display: block;
	background:#666;
	color:#fff;
	border-radius: 50px;
	padding: 8px 0;
	width: 100%;
	max-width: 400px;
	margin: 40px auto 0;
}

#paid #free_area.ctn {
	margin:60px auto;
}

#paid #free_area.ctn .img1 {
	width: 90%;
	margin:60px auto 0;
}

#paid #free_area.ctn .img2 {
	width: 90%;
	margin:60px auto 0;
}

#paid .ctn .area_ticket-btn {
	display: flex;
	justify-content: space-between;
	max-width: 823px;
	margin: 60px auto 0;
}

#paid .ctn .area_ticket-btn .paid_btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 373.52px;
	height: 90px;
	border-radius: 10px;
	border: 1px solid #FFF;
	background: #F5D429;
	color: #000;
	font-size: min(1.7rem, 1.245vw);
	font-weight: 400;
	position: relative;
}

#paid .ctn .area_ticket-btn .paid_btn:after {
	display:block;
	position:absolute;
	content: '';
	background: url(../images/arrow-blue.svg) center center no-repeat;
	width: 28px;
	height:28px;
	background-size:contain;
	top: 50%;
	right: 0;
	transform: translate(-50%, -50%);
}

#paid .ctn .area_ticket-btn .paid_btn:hover {
	opacity: 0.8;
}


.paid_btn2 {
	text-align: center;
	border: 1px solid #fff;
}



#paid .area2_ticket-btn .paid_btn {
	display: block;
	position: relative;
	background:#ffe100;
	color:#000;
	border-radius: 50px;
	padding: 15px 0;
	width: 423px;
	margin: 50px auto 0;
	transition: .2s;
	font-size: 17px;
	font-weight: 500;
	text-align: center;
}
#paid .area2_ticket-btn .paid_btn:after {
	display:block;
	position:absolute;
	content: '';
	background: url(../images/arrow_right_dark.svg)center center no-repeat;
	width: 24px;
	height:24px;
	background-size:contain;
	top: 50%;
	right: 0;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}
#paid .area2_ticket-btn .paid_btn:hover {
	background:#fff;
	color:#000;
	transition:.2s;
}

#paid .area2_ticket-btn .paid_btn span {
	display: block;
	font-size: 14px;
	font-weight: 500;
}

#paid .area2_ticket-btn .paid_btn:nth-of-type(2) {
	margin: 20px auto 0;
}

@media(max-width: 768px){
	#paid .ctn .area_ticket-btn {
		display: block;
		margin: 0px auto 80px;
	}
	#paid .ctn .area_ticket-btn .paid_btn {
		width: 342px;
		height: 82px;
		border-radius: 9px;
		border: 2px solid #FFF;
		font-size: min(1.6rem, 4.267vw);
		margin: 30px auto 0;
	}
	#paid .ctn .area_ticket-btn .paid_btn:after {
		width: 20px;
		height:20px;
	}
	#paid .ctn .area_ticket-btn .paid_btn:hover {
		background:#fff;
		color:#000;
		transition:.2s;
	}
	
	#paid .ctn .area_ticket-btn .paid_btn span {
		display: block;
		font-size: 14px;
		font-weight: 500;
	}
	#paid .paid_btn {
		font-size: 14px;
		position: relative;
		display: block;
		border-radius: 50px;
		padding: 8px 0;
		width: 100%;
		margin: 20px auto 0;
		transition: .2s;
	}
	#paid .paid_btn,
	#paid .paid_btn2 {
		width: 100%;
	}
	.accordion_one .accordion_inner .txt_a_ac .box_step .step ul {
		padding-left: 0;
	}
	.accordion_one .accordion_inner .txt_a_ac .box_step .step ul::before {
		display: none;
	}
	.accordion_one .accordion_inner .txt_a_ac .box_step .step ul li {
		font-size: 15px;
		padding-left: 1em;
		text-indent: -1em;
		line-height: 1.8;
	}
	.accordion_one .accordion_inner .txt_a_ac .box_step .step ul li.img {
		width: 100%;
		padding-top: 20px;
		padding-left: 0;
		text-indent: 0;
	}
	#paid .area2_ticket-btn .paid_btn {
		font-size: 14px;
		padding: 10px 0;
	}
	#paid .area2_ticket-btn .paid_btn:after {
		width: 18px;
		height: 18px;
		right: 8px;
	}
	#paid .ctn table.tbl_plan#dome_plan {
		margin: 20px auto;
	}
	#paid .ctn .area_note .txt {
		font-size: min(1.3rem, 3.467vw);
	}
}


#paid .ctn .text {
	margin: 40px auto;
	font-size: 18px;
}

#paid .ctn .area_paid {
	padding: 60px;
}

#paid .ctn .area_paid .area_rantan h2,
#paid .ctn .area_paid .area_show h2 {
	background: transparent;
}

#paid .ctn .area_paid .area_rantan ul,
#paid .ctn .area_paid .area_show ul {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	margin: 30px 0;
}

#paid .ctn .area_paid .area_rantan ul li,
#paid .ctn .area_paid .area_show ul li {
	width: 18%;
	margin: 0 10px;
}

#paid .ctn .area_paid .area_rantan ul li img,
#paid .ctn .area_paid .area_show ul li img {
	padding: 0 25px 10px;
}

#paid .ctn .area_paid h3 {
	font-weight: bold;
	font-size: 40px;
	margin-bottom: 30px;
}

#paid .ctn .area_paid h3 span {
	display: inline-block;
	font-size: 20px;
	padding: 0 10px;
}

#paid .ctn .area_paid h3 span.tax {
	font-size: 16px;
}

#paid .ctn .area_paid .paid_btn {
	margin: 20px auto 0;
	border: 1px solid #fff;
	background: #C81919;
}
#paid .ctn .area_paid .paid_btn2 {
	padding: 10px 0;
	margin: 20px auto 0;
}
#paid .ctn .area_paid .paid_btn:hover,
#paid .ctn .area_paid .paid_btn2:hover {
	background:#fff;
	color:#C81919;
	border: 1px solid #C81919;
	transition:.2s;
}
#paid .ctn .area_paid .paid_btn2:hover {
	background:#fff;
	color:#0A5078;
	border: 1px solid #0A5078;
	transition:.2s;
}

#paid .ctn .area_paid .paid_btn.L_width {
	width: 530px;
}

.area_rantan_btn,
.area_show_btn {
	position: relative;
}

.area_rantan_btn .tatimi_ticket,
.area_show_btn .tatimi_ticket {
	position: absolute;
	top: 215px;
	right: -60px;
	width: 30%;
}

.area_rantan_btn ul.note,
.area_show_btn ul.note {
	width: 100%;
}
.area_rantan_btn ul.note li,
.area_show_btn ul.note li {
	font-size: 13px;
	color: #fff;
}

ul.area_sales_start {
	border: 1px solid #CBB25D;
	border-radius: 10px;
	padding: 30px 10px;
}

ul.area_sales_start li {
	font-size: 19px;
	margin-bottom: 5px;
}

ul.area_sales_start li .note {
	font-size: 13px;
	color: #fff;
	margin: 0 auto 5px;
}

#paid div.note {
	margin: 20px auto 0;
}

#paid div.note p {
	font-size: 13px;
	color: #fff;
	text-align: center;
}

.sale_text {
	font-size: 25px;
	font-weight: bold;
	color: #C81919;
}

a.btn_tyusen {
	display: inline-block;
	border: 2px solid #C81919;
	color: #C81919;
	background: #f8e4d7;
	font-size: 18px;
	font-weight: bold;
	padding: 10px 20px;
	margin: 20px auto;
}
a.btn_tyusen:hover {
	background: #fff;
}

#paid .ctn .text2 {
	display: inline-block;
	font-size: 26px;
	font-weight: bold;
	color: #CBB25D;;
}

@media(max-width: 768px){
	#paid .ctn .area_paid {
		padding: 20px;
	}
	#paid .ctn .area_paid .area_rantan,
	#paid .ctn .area_paid .area_show {
		background-image: url(../images/sp_waku_naka.png);
		background-repeat: repeat-y;
		margin-bottom: 50px;
	}
	#paid .ctn .area_paid .area_rantan::before,
	#paid .ctn .area_paid .area_show::before {
		background-image: url(../images/sp_waku_top.png);
		top: -27px;
		height: 30px;
	}
	#paid .ctn .area_paid .area_rantan::after,
	#paid .ctn .area_paid .area_show::after {
		background-image: url(../images/sp_waku_bottom.png);
		bottom: -26px;
		height: 30px;
	}
	#paid .ctn .area_paid .area_rantan ul,
	#paid .ctn .area_paid .area_show ul {
		align-items: flex-start;
	}
	#paid .ctn .area_paid .area_rantan ul li,
	#paid .ctn .area_paid .area_show ul li {
		width: 32%;
		padding-bottom: 20px;
	}
	#paid .ctn .area_paid .area_rantan ul li img,
	#paid .ctn .area_paid .area_show ul li img {
		padding: 0 0 10px;
	}
	#paid .ctn .area_paid h3 {
		font-size: 36px;
	}
	#paid .ctn .area_paid h3 span {
		font-size: 17px;
		padding: 0 5px;
	}
	#paid .ctn .area_paid h3 span.tax {
		font-size: 13px;
		padding: 0 5px;
	}
	.area_rantan_btn .tatimi_ticket,
	.area_show_btn .tatimi_ticket {
		position: relative;
		top: 0px;
		right: 0;
		width: 100%;
		margin: 10px auto 30px;
	}
	#paid .ctn .area_paid .paid_btn,
	#paid .ctn .area_paid .paid_btn.L_width {
		margin: 20px auto 0;
		border-radius: 15px;
		height: 100%;
	}
	#paid .ctn .area_paid .paid_btn2 {
		height: 50px;
	}
	#paid .ctn .area_paid .paid_btn2::after {
		width: 18px;
	}
	#paid .ctn .area_paid .paid_btn.L_width {
		width: 100%;
	}
	ul.area_sales_start li {
		font-size: 15px;
		text-align: left;
	}
	#paid div.note p {
		text-align: left;
	}
	ul.area_sales_start li .note {
		width: 100%;
		font-size: 12px;
	}
	a.btn_tyusen {
		font-size: 14px;
	}
	#paid .ctn .text2 {
		font-size: 19px;
		margin-bottom: 10px;
	}
	.area_rantan_btn ul.note li,
	.area_show_btn ul.note li {
		font-size: 12px;
		text-align: left;
	}

	#paid .area2_ticket-btn .paid_btn {
		width: 80%;
	}	
}

#paid .ctn#paid_fireworks_margin {
	margin: 80px auto 0;
}


#paid .ctn p.lead {
	margin-top: 35px;
	font-size: 18px;
}

#paid .ctn p.lead2 {
	margin-top: 35px;
	font-size: 18px;
	font-weight: bold;
	color: red;
}

#paid .ctn ul.att {
	margin-top: 20px;
	font-size: 14px;
	text-indent:-1em;
	padding-left: 1em;
}

#paid .ctn table.tbl_date {
	width: 580px;
	margin: 40px auto 0;
}

#paid .ctn table.tbl_date th {
	padding: 13px 0;
	text-align: right;
	color:#d71919;
	font-weight: bold;
	vertical-align: middle;
	width: 35%;
	border-bottom:1px solid #032e64;
}

#paid .ctn table.tbl_date td {
	padding: 13px 0;
	border-bottom:1px solid #032e64;
}

#paid .ctn table.tbl_date td img {
	width: 90%;
	vertical-align: middle;
}

#paid .view {
	width: 80%;
	margin: 60px auto 0;
}

#paid .map {
	width: 75%;
	margin: 60px auto 0;
}

#paid .map.typeB {
	width: 100%;
	margin: 60px auto 0;
}

#paid .map.typeB img {
	width: 100%;
	display: block;
}

@media(max-width: 768px) {
	#paid .map.typeB .map-scroll {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		margin-left: 15px;
	}
	#paid .map.typeB img {
		width: 750px;
		max-width: none;
	}
}


#paid .map.typeB .note {
	text-align: center;
	margin-top: 25px;
}

#paid .point {
	width: 760px;
	margin: 70px auto 0;
}


.pt1em {
	padding-top:calc(30px + 1em)!important;
}
.pt2em {
	padding-top:calc(30px + 1.5em)!important;
}

#paid .annotation {
	width: 90%;
	max-width: 1000px;
	margin: 20px auto 0;
	text-align: left;
	text-indent: -1em;
	padding-left: 1em;
}

#paid .annotation li {
	font-size: 14px;
}


@media(min-width: 769px){
	.sp-line {
		display: none;
	}
}

@media(max-width: 768px){
	#paid .ctn p.lead,
	#paid .ctn p.lead2 {
		margin-top: 20px;
		font-size: 14px;
	}
	#paid .ctn ul.att {
		margin-top: 20px;
		font-size: 12px;
		text-align: left;
	}
	#paid .head h2 {
		font-size: 16px;
		font-weight: bold;
	}
	#paid .head .box {
		margin: 20px auto;
	}
	#paid .ctn .text {
		font-size: 16px;
		text-align: left;
		margin: 20px;
	}
	#paid .ctn table.tbl_date {
		width: 90%;
		margin: 30px auto 0;
	}
	#paid .ctn table.tbl_date th {
		display: block;
		padding: 10px 0 0 5%;
		text-align: left;
		color:#d71919;
		font-weight: bold;
		vertical-align: middle;
		width: 100%;
		border-bottom:none;
	}
	#paid .ctn table.tbl_date td {
		display: block;
		padding: 0 0 3px 0;
		border-bottom:1px solid #032e64;
		margin-top: -3px;
	}
	#paid .view {
		width: 90%;
		margin: 30px auto 0;
	}
	#paid .map {
		width: 96%;
		margin: 30px auto 0;
	}
	#paid .point {
		width: 100%;
	}
	#paid .ctn table.tbl_plan {
		width: 97%;
		margin: 40px auto 0;
	}
	#paid .ctn table.tbl_plan th div {
		width: 34px;
	}
	/* #paid .ctn table.tbl_plan tr {
		border-bottom: 1px solid #fff;
	} */
	#paid .ctn table.tbl_plan th {
		box-sizing:border-box;
		height: 80px;
		text-align: center;
		padding: 13px 0;
		text-align: right;
		color:#d71919;
		font-weight: bold;
		vertical-align: middle;
		width:50px;
		border-bottom: none;
	}
	#paid .ctn table.tbl_plan td {
		box-sizing:border-box;
		height: auto;
		padding: 0;
		border-bottom:1px solid #032e64;
		vertical-align: middle;
	}
	#paid .ctn table.tbl_plan td:nth-child(2) {
		padding-left:10px !important;
		font-weight: bold;
		text-align: left;
		font-size: 16px;
		padding-left: 0px;
		margin-top:20px;
	}
	#paid .ctn table.tbl_plan td:nth-child(3) {
		padding-left:10px !important;
		font-weight: bold;
		text-align: left;
		font-size: 20px;
		padding-right:20px;
	}
	#paid .ctn table.tbl_plan td:nth-child(4) {
		padding-left:10px !important;
		font-weight: 400;
		text-align: left;
		font-size: min(1.3rem, 3.467vw);
		text-indent: -0.6em;
		line-height: 19.2px;
		padding-left: 0px;
		padding-bottom: 10px;
	}
	#paid .ctn table.tbl_plan#dome_plan td:nth-child(2),
	#paid .ctn table.tbl_plan#dome_plan_first td:nth-child(2) {
		font-size: min(1.4rem, 3.733vw);
		line-height: 19px;
		width: 100%; 
	}
	#paid .ctn table.tbl_plan#dome_plan td:nth-child(3) {
		text-align: left;
		font-size: 20px;
		padding-left:0;
	}
	#paid .ctn table.tbl_plan td {
		display: block;
		text-align: left;
		border-bottom:none;
	}
	.sp-line th,.sp-line td {
		width: 100% !important;
		height: 1px !important;
		background: #fff !important;
		padding:0 !important;
		padding-top: 0 !important;
		margin-top: 0 !important;
	}
	.sp-line th {
		width:50px !important;
	}
	#paid #free_area.ctn {
		margin:20px auto;
	}
	#paid #free_area.ctn .img1 {
		width: 100%;
		margin:30px auto 0;
	}
	#paid #free_area.ctn .img2 {
		width: 90%;
		margin:30px auto 0;
	}
	#paid .paid_btn:after,
	.paid_btn2:after {
		width: 18px;
		height:18px;
		right: 8px;
	}
	.paid_btn2 {
		display: block;
		background:#032e64;
		color:#fff;
		font-size: 14px;
		position: relative;
		border-radius: 50px;
		padding: 8px 0;
		width: 90%;
		margin: 50px auto 0;
		transition: .2s;
	}
	#paid .map.typeB .note {
		text-align: left;
		margin: 25px 0 0 15px ;
	}
}

.guest_information {
	max-width: 900px;
	margin: 0 auto;
}

.guest_information h2 {
	width: 40%;
	margin: 0 auto;
}

.guest_information p {
	font-size: 22px;
	font-weight: bold;
}

.guest_information ul li.box {
	width: 49%;
}

.guest_information ul li.box h3 {
	background: #032E64;
	color: #fff;
	margin: 15px auto;
	padding: 5px 0;
	border-radius: 40px;
	font-weight: bold;
}

.guest_information ul li .content2 {
	width: 48%;
}

.guest_information ul li .content2 p {
	font-size: 16px;
	text-align: center;
	margin-top: 10px;
}

.guest_information ul li .content2 p span {
	display: block;
	font-size: 12px;
	margin-top: 0;
}

.guest_information ul li.child_1 {
	order: 1;
	width: 65.5%;
}

.guest_information ul li.child_2 {
	order: 3;
	margin-top: 30px;
}

.guest_information ul li.child_3 {
	order: 4;
	margin-top: 30px;
}

.guest_information ul li.child_4 {
	order: 2;
	width: 31.5%;
}

.guest_information .text {
	background: #fff;
	color: #032E64;
	font-size: 16px;
	margin-top: 30px;
	padding: 6px 0;
	border-radius: 40px;
}

@media(max-width: 768px) {
	.guest_information {
		width: 90%;
	}
	.guest_information h2 {
		width: 70%;
	}
	.guest_information p {
		font-size: 16px;
	}
	.guest_information ul.flex {
		display: block;
	}
	.guest_information ul li.box {
		width: 100%;
	}
	.guest_information ul li.box h3 {
		font-size: 16px;
	}  
	.guest_information ul li.child_1 {
		width: 100%;
	}
	.guest_information ul li.child_2 {
		margin-top: 30px;
	}
	.guest_information ul li.child_3 {
		margin-top: 30px;
	}
	.guest_information ul li.child_4 {
		width: 48%;
	}
	.guest_information ul li .content2 p {
		font-size: 12px;
	}
	.guest_information ul li .content2 p span {
		font-size: 10px;
	}
	.guest_information .text {
		font-size: 14px;
		border-radius: 20px;
	}
}

#paid_dome {
	margin-top: -40px;
	padding-top:40px;
}

/* #paid_fireworks{} */

@media(max-width: 768px) {
	#paid_dome {
		margin-top: -20px;
		padding-top:20px;
	}
	#paid_fireworks {
		margin-top: 10px;
		padding-top:-10px;
	}
}

/*　inquire - お問い合わせ */
section#inquire {
	width: 100%;
	padding:100px 0;
	text-align: center;
	color: #000;
	border-bottom: 1px solid #0a5078;
}

#inquire p,#inquire a {
	color:#000;
	font-size: min(1.6rem, 1.171vw);
}

#inquire p,#inquire a::after {
	content: ' / ';
}

#inquire a.no-after::after {
	display: none;
}

#inquire .box {
	padding: 50px 0;
	margin: 0 auto;
}

#inquire .box:not(:nth-child(1)) {
	width: 55%;
	border-top:1px solid #0a5078;
}

#inquire h3 {
	font-size: min(1.8rem, 1.318vw);
	font-weight: bold;
	margin-bottom: 10px;
}

#inquire .suntory {
	display: block;
	width: 240px;
	margin: 10px auto 0;
	margin-bottom: 40px;
}

#inquire a.mail {
	display: block;
	margin:20px 0;
	font-weight: 600;
}
#inquire a.mail:before {
	content:'';
	display: inline-block;
	background: url(../images/inquire_mail.png)center center no-repeat;
	background-size: contain;
	width: 18px;
	height: 18px;
	margin-bottom: -3px;
	margin-right:5px;
}

#inquire p.belluna {
	font-size: 18px;
	margin-top: 20px;
	font-weight: bold;
}

#inquire a.inq_btn {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 520px;
	height: 54px;
	border: 1px solid #0a5078;
	color:#000;
	margin: 0 auto;
	font-size: min(1.6rem, 1.171vw);
	transition: .2s;
}
#inquire a.inq_btn:hover {
	opacity: 0.7;
}
#inquire a.inq_btn:after {
	display:block;
	position:absolute;
	content: '';
	background: url(../images/arrow_right_dark.svg)center center no-repeat;
	width: 24px;
	height:24px;
	background-size:contain;
	transition: .2s;
	top: 53%;
	right: 0;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

#inq_btn_1 {
	width: 520px;
	padding: 16px 0 15px 1.1em;
}
#inq_btn_1:before {
	content:'';
	display: block;
	position: absolute;
	background:url(../images/inquire_qaa.png)center center no-repeat;
	width: 50px;
	height:30px;
	background-size:contain;
	transition: .2s;
	top: 50%;
	left: 10%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

#inq_btn_1:after {
	top:12px;
}

#inq_btn_2,
#inq_btn_3 {
	width: 440px;
	padding: 15px 0;
}
#inq_btn_2:after,
#inq_btn_3:after {
	top:9px;
}

#inquire a.inq_btn#inq_btn_2,
#inquire a.inq_btn#inq_btn_3 {
	color: #0a5078;
}

#inquire a.inq_btn#inq_btn_3 {
	margin-bottom: 30px;
}

@media(max-width: 768px){
	section#inquire {
		width: 100%;
		padding:60px 20px;
		text-align: center;
	}
	#inquire .box {
		padding: 30px 0;
		max-width:600px;
		margin: 0 auto;
	}
	#inquire .box:not(:nth-child(1)) {
		width: 100%;
	}
	#inquire a.inq_btn {
		width: 100%;
		height: 55px;
		font-size: min(1.3rem, 3.467vw);
		position: relative;
		margin: 0 auto;
		transition: .2s;
	}
	#inquire h3 {
		font-size: min(1.4rem, 3.733vw);
	}
	#inquire p,
	#inquire a {
		font-size: min(1.3rem, 3.467vw);
	}
	#inquire a.no-after::after {
		display: inline;
	}
	#inquire a.no-after.typeB::after {
		display: none;
	}
	#inquire .area-cooperation a {
		line-height: 24px;
	}
	#inquire .area-cooperation a:nth-of-type(3)::after,
	#inquire .area-cooperation a:nth-of-type(5)::after,
	#inquire .area-cooperation a:nth-of-type(7)::after,
	#inquire .area-cooperation a:last-child:after {
		display: none;
	}


	#inquire .suntory {
		width: 200px;
		margin: 10px auto 0;
		display: block;
		margin-bottom: 30px;
	}
	#inq_btn_1 {
		width: 80%;
		padding: 12px 0 11px 2.1em;
	}
	#inq_btn_2 {
		width: 80%;
		padding: 8px 0;
	}
	#inq_btn_3 {
		width: 100%;
		padding: 8px 0;
	}
	#inq_btn_1:before {
		content:'';
		display: block;
		position: absolute;
		width: 50px;
		height: 40px;
		left:14%;
		background-size:contain;
		transition: .2s;
	}
	#inquire a.inq_btn:after {
		width: 18px;
		height: 18px;
		right: 0;
	}
}

/* スライド */
#event_link .ctn .slick-dots li {
	width: 10px;
}

#event_link .ctn .slick-dotted.slick-slider {
	margin-bottom: 0;
}

#event_link .ctn .slick-dots {
	position: absolute;
	bottom: 10px;
	display: block;
	width: 100%;
	padding: 0;
	margin: 0;
	list-style: none;
	text-align: left;
}
#event_link .ctn .slick-dots li button:before {
	font-size: 40px;
	color: #FFFFFF;
	opacity: 1;
}
#event_link .ctn .slick-dots li.slick-active button:before {
	opacity: .75;
	color: #C81919;
}

@media(max-width: 768px){
	#event_link .ctn .slick-dots li {
		width: 4px;
	}
	/* #event_link .ctn .slick-dots {
		text-align: right;
		right: 15px;
	} */
	#event_link .ctn .slick-dots li button:before {
		font-size: 46px;
	}
}

/* guest_goods エリア */
#guest_goods {
	background: #666;
	border-bottom: 5px solid #CBB25D;
}

#guest_goods ul {
	max-width: 1100px;
}

#guest_goods ul li {
	width: 33.333333%;
	position: relative;
	margin-bottom: 0;
}
#guest_goods ul li::before {
	content: '';
	background: #000;
}

#guest_goods ul li a {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

@media(max-width: 768px) {
	#guest_goods {
		background: transparent;
	}  
	#guest_goods ul.flex4 {
		margin-bottom: 40px;
	}
}


/*----------------------------------------------------

◆　EVENT

----------------------------------------------------*/
h2.event_heading {
	width: 50%;
	margin: 0 auto 50px;
	padding-top: 10%;
}

.event_bg .area_map {
	max-width: 930px;
	margin: 0 auto;
	background: #ACACAC;
	border-radius: 10px;
	margin-bottom: 50px;
}

.event_bg .area_map h2 {
	text-align: center;
	padding: 30%;
}

@media(max-width: 768px){
	h2.event_heading {
		width: 100%;
		padding-top: 100px;
	}
	.event_bg .area_map {
		margin: 0 20px;
		margin-bottom: 50px;
	}
}

/*　event_top - イベントトップ */
.event_bg {
	position: relative;
	z-index: 1;
}

.event_bg::before {
	content: '';
	position: fixed;
	inset: 0;
	background: url(../images/bgA.png) repeat-y;
	background-size: 100%;
	z-index: -1;
}

.event_bg .item-left,
.event_bg .item-right {
	position: absolute;
	width: 310px;
}

.event_bg .item-left {
	top: -10px;
	left: 0;
}

.event_bg .item-right {
	top: -10px;
	right: 0;
}

@media(max-width: 768px) {
	.event_bg {
		background-size: 270%;
	}
	.event_bg::before {
		background-size: cover;
	}
	.event_bg .item-left,
	.event_bg .item-right {
		width: 138px;
	}
	.event_bg .item-left {
		top: -10px;
		left: 0;
	}
	.event_bg .item-right {
		top: -10px;
		right: 0;
	}
}

section#event_top {
	padding:160px 0 60px; position: relative;
}

#event_top .illust_btn {
	width: 200px;
	display: block;
	position: absolute;
	top:260px;
	left:50%;
	margin-left: -600px;
	z-index: 10;
}

#event_top .main_catch {
	width: 75%;
	max-width: 580px;
	margin: 0 auto;
}

#event_top .ctn {
	width: 100%;
	margin-top: 50px;
}

#event_top .ctn .wrap {
	width: calc(100% / 3);
	height:360px;
	overflow: hidden;
	position: relative;
}

#event_top .ctn a.box {
	display: block;
	width: 100%;
	height: 100%;
}
#event_top .ctn a.box:before {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(3,46,100,0.3);
}
#event_top .ctn a.box:hover {
	scale:1.12;
}

#event_top .ctn .wrap:nth-child(1) a.box {
	background: url(../images/event_top_yosakoi.jpg) center center no-repeat;
	background-size:cover;
}

#event_top .ctn .wrap:nth-child(2) a.box {
	background: url(../images/event_top_dance.jpg) center center no-repeat;
	background-size:cover;
}

#event_top .ctn .wrap:nth-child(3) a.box {
	background: url(../images/event_top_fireworks.jpg) center center no-repeat;
	background-size:cover;
}
#event_top .ctn a.box:hover:before {
	background: rgba(3,46,100,0);
}
#event_top .ctn a.box,#event_top .ctn a.box:hover,
#event_top .ctn a.box:before,#event_top .ctn a.box:hover:before {
	transition: .2s;
}

#event_top .ttl {
	position: absolute;
	width: 54px;
	top:50%;
	left: 50%;
	margin-left: -27px;
	margin-top: -125px;
	z-index: 3;
}

#event_top .arrow {
	position: absolute;
	width: 30px;
	bottom:10px;
	left: 50%;
	margin-left: -15px;
	z-index: 3;
}

#event_top .ctn .wrap.food {
	width: calc(100% / 5);
}

#event_page .ttl_img {
	width: 100%;
	margin-top: 120px;
}

#event_page .ttl_img .space {
	width: 30%;
}

#event_page .ttl_img .img {
	width: 70%;
}

#event_page .ttl_txt {
	width: 100%;
	margin-top: -100px;
	margin-left:-5%;
	z-index: 1000;
	position: relative;
}

#event_page .ttl_txt .space {
	width: 30%;
	position: relative;
	display: flex;
	align-items: flex-end;
}

#event_page .ttl_txt .txt {
	width: 66%;
	height:320px;
	position: relative;
}

#event_page .ttl_txt .txt .txt_box {
	width: 510px;
	position: absolute;
	top:40px;
	right: 10%;
}

#event_page .ttl_txt .txt .txt_box .catch {
	width: 320px;
	margin: 0 auto;
	position: absolute;
	top:-90px;
	left:-20px;
}

#event_page .ttl_txt .txt .txt_box h2 {
	color:#032e64;
	font-size: 26px;
	font-weight: bold;
}

#event_page .ttl_txt .txt .txt_box h2 span {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: normal;
}

#event_page .ttl_txt .txt .txt_box p.h2_sub {
	color:#032e64;
	font-size: 18px;
	font-weight: bold;
	margin: -6px 0 10px; 
}

#event_page .ttl_txt .txt .txt_box p.date {
	color: #d71919;
	margin-top: -5px;
	padding-left: 5px;
	font-weight: bold;
}

#event_page .ttl_txt .txt .txt_box p.main {
	color:#000;
	margin-top: 15px;
}

#event_page .ttl_txt .txt .txt_box p.att {
	color:#000;
	margin-top: 10px;
	padding-left: 1em;
	font-size: 14px;
	text-indent:-1em;
}

#event_page .ttl_txt .txt .txt_box a.anchor {
	width: 410px;
	position:relative;
	display: block;
	background: #d71919;
	color: #fff;
	padding:6px;
	margin-top: 10px;
	border-radius: 50px;
	padding-left: 35px;
}
#event_page .ttl_txt .txt .txt_box a.anchor:after {
	content: '';
	display:block;
	position:absolute;
	background: url(../images/arrow_right_white.png)center center no-repeat;
	background-size:contain;
	top:7px;
	right:10px;
	width: 24px;
	height: 24px;
	transition: .2s;
}
#event_page .ttl_txt .txt .txt_box a.anchor:hover {
	background:#032e64;
	transition: .2s;
}

#event_page .ttl_txt .ring {
	width: 180px;
	position: absolute;
	top:-57px;
	right:-140px;
}

#event_page .ttl_txt .txt:before {
	content: '';
	width: 100%;
	height: 320px;
	display: block;
	transform: skewX(-13deg);
	background:rgba(255,255,255,0.9);
}

@media(max-width: 768px) {
	section#event_top {
		padding:100px 0 30px;
	}
	#event_top .ctn {
		width: 100%;
		margin-top: 20px;
	}
	#event_top .ttl {
		position: absolute;
		width: 36px;
		top:50%;
		left: 50%;
		margin-left: -18px;
		margin-top: -78px;
		z-index: 3;
	}
	#event_top .ctn .wrap {
		width: calc(100% / 3);
		height:300px;
	}
	#event_page .ttl_img {
		width: 100%;
		margin-top: 40px;
	}
	#event_page .ttl_img .space {
		width: 2%;
	}
	#event_page .ttl_img .img {
		width: 98%;
		margin-top: 30px;
	}
	#event_page .ttl_txt .space {
		width: 100%;
		display: block;
		margin: 0 auto;
		margin-left: 10%;
	}
	#event_page .ttl_txt {
		width: 100%;
		margin-top: -30px;
		margin-left:-10%;
		display: block;
	}
	#event_page .ttl_txt .txt {
		width: 95%;
		height:320px;
	}
	#event_page #yosakoi .ttl_txt .txt {
		width: 95%;
		height:280px;
	}
	#event_page #dance .ttl_txt .txt {
		width: 95%;
		height:330px;
	}
	#event_page #fireworks .ttl_txt .txt {
		width: 95%;
		height:360px;
	}
	#event_page .ttl_txt .txt .txt_box {
		position: absolute;
		top:40px;
		left:18%;
		width: 70%;
		right:auto;
	}
	#event_page #yosakoi .ttl_txt .txt:before {
		content: '';
		width: 100%;
		height: 250px;
		display: block;
		transform: skewX(-13deg);
		background:rgba(255,255,255,0.9);
	}
	#event_page #dance .ttl_txt .txt:before {
		content: '';
		width: 100%;
		height: 300px;
		display: block;
		transform: skewX(-13deg);
		background:rgba(255,255,255,0.9);
	}
	#event_page #fireworks .ttl_txt .txt:before {
		content: '';
		width: 100%;
		height: 330px;
		display: block;
		transform: skewX(-13deg);
		background:rgba(255,255,255,0.9);
	}
	#event_page .ttl_txt .txt .txt_box .catch {
		width: 225px;
		margin: 0 auto;
		position: absolute;
		top:-65px;
		left:-8px;
	}
	#event_page .ttl_txt .txt .txt_box h2 {
		color:#032e64;
		font-weight: bold;
		font-size: 20px;
	}
	#event_page #dance .ttl_txt .txt .txt_box h2 {
		line-height: 22px;
	}
	#event_page #dance .ttl_txt .txt .txt_box p.date {
		margin-top: 2px;
	}
	#event_page .ttl_txt .txt .txt_box h2 span {
		font-weight: bold;
		font-size: 16px;
		letter-spacing: normal;
	}
	#event_page .ttl_txt .txt .txt_box p.main {
		margin-top: 5px;
	}
	#event_page .ttl_txt .txt .txt_box a.anchor {
		font-size: 14px;
		width: 100%;
		position:relative;
		display: block;
		background: #d71919;
		color: #fff;
		padding:6px;
		margin-top: 10px;
		border-radius: 50px;
		padding-left: 35px;
	}
	#event_page .ttl_txt .ring {
		width: 120px;
		position: absolute;
		top:-30px;
		right:-80px;
	}
	#event_page .ttl_txt .txt .txt_box a.anchor:after {
		top:18px;
		right:10px;
		width: 20px;
		height: 20px;
		transition: .2s;
	}
}

/*　event2.html 用（ev2）*/
#event_top .illust_btn.ev2 {
	width: 200px;
	display: block;
	position: absolute;
	top:210px;
	left:50%;
	margin-left: -600px;
	z-index: 10;
}

#event_top .ctn .wrap.ev2:nth-child(1) a.box {
	background: url(../images/event2_top_enniti.png) center center no-repeat;
	background-size:cover;
}
#event_top .ctn .wrap.ev2:nth-child(2) a.box {
	background: url(../images/event2_top_papuriku.png) center center no-repeat;
	background-size:cover;
}
#event_top .ctn .wrap.ev2:nth-child(3) a.box {
	background: url(../images/event2_top_musi.png) center center no-repeat;
	background-size:cover;
}
#event_top .ctn .wrap.ev2:nth-child(4) a.box {
	background: url(../images/event2_top_tetudou.png) center center no-repeat;
	background-size:cover;
}
#event_top .ctn .wrap.ev2:nth-child(5) a.box {
	background: url(../images/event2_top_atoraku.png) center center no-repeat;
	background-size:cover;
}
#event_top .ctn .wrap.ev2:nth-child(6) a.box {
	background: url(../images/event2_top_syuten.png) 80% center no-repeat;
	background-size:cover;
}

#event_top .ttl.ev2 {
	position: absolute;
	width: 80px;
	top: 52%;
	left: 50%;
	margin-left: -39px;
	margin-top: -125px;
	z-index: 3;
}

#event_page table .ctn .box.ev2 {
	width: 31%;
}

#event_page table .ctn .box.ev3 {
	width: 23%;
}

#event_page table .ctn .box.ev4 {
	width: 22%;
	margin: 0 10px;
}

#event_page p.attention.mt5 {
	margin: 5px auto 0;
}

#event_page .ttl_txt .space .btn1,
#event_page .ttl_txt .space .btn2,
#event_page .ttl_txt .space .btn3,
#event_page .ttl_txt .space .btn4,
#event_page .ttl_txt .space .btn5,
#event_page .ttl_txt .space .btn6 {
	position: relative;
	width: 250px;
	font-size: 20px;
	border: 1px solid #fff;
	border-radius:30px;
	padding: 13px 25px;
	cursor: pointer;
}
#event_page .ttl_txt .space .btn1::after,
#event_page .ttl_txt .space .btn2::after,
#event_page .ttl_txt .space .btn3::after,
#event_page .ttl_txt .space .btn4::after,
#event_page .ttl_txt .space .btn5::after,
#event_page .ttl_txt .space .btn6::after {
	content: '';
	background-image: url(../images/arrow_bottom_white.png);
	background-repeat: no-repeat;
	background-size: 100%;
	position: absolute;
	display: inline-block;
	width: 23px;
	height: 23px;
	top: 50%;
	right: 20px;
	margin-top: -10px;
}
.detail1,
.detail2,
.detail3,
.detail4,
.detail5,
.detail6,
.detail7,
.detail8,
.detail9 {
	display: none;
}

/* .detail1.active,
.detail2.active,
.detail3.active,
.detail4.active,
.detail5.active,
.detail6.active {
	display: block;
	max-width: 1080px;
	margin: 0 auto;
} */

/* .note,
.note3,
.note4 {
	color: #000;
	width: 90%;
	max-width: 1000px;
	text-indent: -1em;
	padding-left: 1em;
	font-size: 14px;
	margin-top: 15px;
}

.note2 {
	width: 100%;
	max-width: 1000px;
	font-size: 13px;
	color: #fff;
	text-align: left;
	margin-top: 20px;
}

.note2 li {
	text-indent: -1em;
	padding-left: 1em;
}

.note3 {
	margin-top: 0;
}

.ctn.flex .note {
	color: #fff;
}

.note4 {
	text-indent: 0;
	padding-left: 0;
}
.note4::before {
	content: '※';
}

table .note {
	font-size: 14px;
	text-indent: -1.3em;
	padding-left: 1.3em;
}
table .note::before {
	content: '※';
} */

.c_indent {
	text-indent: 0;
	padding-left: 0;
}

table li a {
	color: #fff;
}

#tetudou table li {
	margin-bottom: 20px;
}

#tetudou table li p:first-child {
	font-size: 18px;
	font-weight: bold;
}

.item1,
.item2,
.item3 {
	position: absolute;
	width: 21%;
	top: -20px;
	right: 0;
}

.item1 {
	width: 30%;
	top: 0;
	right: 70px;
}

.item2 {
	top: -7px;
	right: -50px;
}

.item3 {
	width: 25%;
	top: 140px;
	right: -30px;
}

#event_page #musi .ttl_txt .txt {
	height: 420px;
}
#event_page #musi .ttl_txt .txt:before {
	height: 420px;
}

#event_page #musi .ttl_txt .txt .txt_box a.anchor {
	width: 510px;
	font-size: 14px;
}

#event_page .ttl_txt .txt .txt_box p.att.cp {
	width: 390px;
	text-align: right;
}

section#syuten {
	padding-bottom: 150px;
}

#event_page #syuten table .ctn .box {
	width: 31%;
}

#event_page #syuten table .ctn .box a {
	display: block;
	margin-top: 10px;
}

.comingsoon {
	position: absolute;
	background-color: rgba(0,0,0,0.6);
	width: 100%;
	height: 100%;
	z-index: 100;
}

.comingsoon p {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	z-index: 110;
	font-size: 30px;
	font-weight: bold;
}

.mt0 {
	margin-top: 0;
}

table .note.fw_red {
	font-weight: bold;
	background-color:rgba(171,225,250,0.4);
	padding-left: 0;
	margin-left: 1em;
}

p.attention .fw_red {
	font-weight: bold;
	background-color:rgba(171,225,250,0.4);
	padding-left: 0;
}

.company {
	margin-top: 10px;
	text-decoration:underline;
}

.a_link {
	text-decoration: revert;
	color: #fff;
}

#event_page #tetudou .ttl_txt .txt .txt_box .catch {
	width: 380px;
}

@media(max-width: 768px){
	#event_top .ttl.ev2 {
		width: 50px;
		left: 60%;
	}
	#event_page #enniti .ttl_txt .txt,#event_page #enniti .ttl_txt .txt:before {
		height: 210px;
		margin-bottom: 20px;
	}
	#event_page #papuriku .ttl_txt .txt,#event_page #papuriku .ttl_txt .txt:before {
		height: 370px;
		margin-bottom: 20px;
	}
	#event_page #tetudou .ttl_txt .txt,#event_page #tetudou .ttl_txt .txt:before {
		height: 240px;
		margin-bottom: 20px;
	}
	#event_page #atoraku .ttl_txt .txt,#event_page #atoraku .ttl_txt .txt:before {
		height: 290px;
		margin-bottom: 20px;
	}
	#event_page #syuten .ttl_txt .txt,#event_page #syuten .ttl_txt .txt:before {
		height: 160px;
		margin-bottom: 20px;
	}
	#event_page .ttl_txt .space .btn1,
	#event_page .ttl_txt .space .btn2,
	#event_page .ttl_txt .space .btn3,
	#event_page .ttl_txt .space .btn4,
	#event_page .ttl_txt .space .btn5,
	#event_page .ttl_txt .space .btn6 {
		text-align: center;
		font-size: 16px;
		width: 80%;
		margin: 0 auto 20px;
	}
	#event_page #papuriku .ttl_txt .ring {
		top:-70px;
	}
	.item1 {
		width: 35%;
		top: -30px;
		right: -62px;
	}
	.item2 {
		width: 25%;
		top: 33px;
		right: -50px;
	}
	.item3 {
		width: 35%;
		top: 200px;
		left: 0;
	}
	#event_page #musi .ttl_txt .txt {
		height: 420px;
		margin-bottom: 20px;
	}
	#event_page #musi .ttl_txt .txt .txt_box a.anchor {
		width: 76%;
		position: absolute;
		bottom: -100px;
		right: -33px;
		text-align: center;
		padding: 10px;
		font-size: 10px;
	}
	#event_page .ttl_txt .txt .txt_box p.att.cp {
		width: 60%;
		text-align: right;
		position: absolute;
		bottom: -118px;
		font-size: 10px;
	}
	#event_page #musi .ttl_txt .txt:before {
		width: 102%;
		transform: skewX(-9deg);
	}
	#event_page #musi .ttl_txt .txt .txt_box a.anchor:after {
		display: none;
		background: none;
	}
	#event_page #tetudou table ul li {
		text-indent: 0;
	}
	#event_page #syuten table .ctn .box {
		width: 100%;
		margin-bottom: 20px;
	}
	.comingsoon p {
		font-size: 15px;
		text-align: center;
	}
	table .note {
		font-size: 12px;
	}
	#tetudou table .note {
		text-indent: 0;
		padding-left: 0;
	}
	span.sp_none {
		display: none;
	}
	table .note.fw_red {
		margin-left: 0;
	}
	#event_page table .ctn .box.ev4 {
		margin: 0 3px;
	}
	#event_page table .ctn .box.ev4.sp-w30 {
		width: 30%;
	}
	#event_page #tetudou .ttl_txt .txt .txt_box .catch {
		width: 270px;
	}
}

/* スライド */
#event_page .slick-dots li {
	width: 20px;
	height: 20px;
	margin: 0;
}

#event_page .slick-dotted.slick-slider {
	margin-bottom: 0;
}

#event_page .slick-dots {
	text-align: left;
	bottom: 0;
}

#event_page .slick-dots li button {
	width: 10px;
	height: 10px;
}

#event_page .slick-dots li button:before {
	content: '⚫︎';
	color: #898989;
	font-size: 18px;
	opacity: 1;
}

#event_page .slick-dots li.slick-active button:before {
	opacity: .75;
	color: #0A5078;
}

@media(max-width: 768px){
	/* #event_page .slick-dots {
		position: relative;
		text-align: center;
	} */
}


/*　food.html 用（food）*/
#event_top .ctn .wrap.food:nth-child(1) a.box {
	background: url(../images/food_top_yatai.png) center center no-repeat;
	background-size:cover;
}

#event_top .ctn .wrap.food:nth-child(2) a.box {
	background: url(../images/food_top_raionzu.png) center center no-repeat;
	background-size:cover;
}

#event_top .ctn .wrap.food:nth-child(3) a.box {
	background: url(../images/food_top_santori.png) center center no-repeat;
	background-size:cover;
}

#event_top .ctn .wrap.food:nth-child(4) a.box {
	background: url(../images/food_top_goods.png) center center no-repeat;
	background-size:cover;
}

#event_top .ctn .wrap.food:nth-child(5) a.box {
	background: url(../images/food_top_outlet.png) center center no-repeat;
	background-size:cover;
}

section#outlet {
	padding-bottom: 150px;
}

#event_top .ttl.food {
	width: 110px;
	margin-left: -51px;
	margin-top: -125px;
}

#event_top .illust_btn.food {
	top: 220px;
}

#event_page .ttl_txt .space a {
	position: relative;
	width: 250px;
	font-size: 20px;
	border: 1px solid #fff;
	border-radius:30px;
	padding: 13px 25px;
	cursor: pointer;
	color: #fff;
}
#event_page .ttl_txt .space a::after {
	content: '';
	background-image: url(../images/arrow_bottom_white.png);
	background-repeat: no-repeat;
	background-size: 100%;
	position: absolute;
	display: inline-block;
	width: 23px;
	height: 23px;
	top: 50%;
	right: 20px;
	transform: rotate(-90deg);
	margin-top: -10px;
}

table td span.border {
	border-bottom: 1px solid #fff;
}

.rel {
	position: relative;
}

.img_text {
	position: absolute;
	right: 10px;
	bottom: 10%;
	text-shadow: #000 1px 0 10px;
}

@media(max-width: 768px){
	#event_top .ttl.food {
		width: 59px;
		margin-left: -31px;
	}
	#event_page #yatai .ttl_txt .txt,#event_page #yatai .ttl_txt .txt:before {
		height: 210px;
		margin-bottom: 20px;
	}
	#event_page #raionzu .ttl_txt .txt,#event_page #raionzu .ttl_txt .txt:before {
		height: 270px;
		margin-bottom: 20px;
	}
	#event_page #santori .ttl_txt .txt,#event_page #santori .ttl_txt .txt:before {
		height: 220px;
		margin-bottom: 20px;
	}
	#event_page #santori .ttl_txt .txt,#event_page #goods .ttl_txt .txt:before {
		height: 250px;
		margin-bottom: 20px;
	}
	#event_page #santori .ttl_txt .txt,#event_page #outlet .ttl_txt .txt:before {
		height: 270px;
		margin-bottom: 20px;
	}
	#event_page .ttl_txt .space a {
		display: block;
		text-align: center;
		font-size: 16px;
		width: 80%;
		margin: 0 auto 20px;
	}
}


/*----------------------------------------------------

◆　FAQ - よくある質問

----------------------------------------------------*/
/*　that_day - イベント当日について */
section#that_day {
	padding: 160px 0 100px;
	text-align: center;
}

#that_day {
	background: #fff;
	position: relative;
}

#that_day h2 {
	color: #C81919;
	text-align: center;
	font-family: var(--biz);
	font-size: min(5.5rem, 4.026vw);
	font-weight: 600;
	line-height: 62px;
	letter-spacing: -0.55px;
}

#that_day .a_link {
	max-width: 800px;
	width: 100%;
	margin: 50px auto 0;
}

#that_day .flex.a_link {
	justify-content: center;
}

#that_day .a_link a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 365px;
	height: 66px;
	margin: 0 auto;
	border-radius: 6px;
	border: 1px solid #fff;
	background: #C81919;
	color: #fff;
	text-align: center;
	font-size: min(1.9rem, 1.391vw);
	font-weight: 500;
	line-height: 24.624px;
	position: relative;
}
#that_day .a_link a:after {
	content: '';
	background: url(../images/arrow-red.svg) no-repeat;
	background-size: 100%;
	display: block;
	width: 28px;
	height: 28px;
	position: absolute;
	top: 52%;
	right: 10px;
	transform: translate(-50%, -50%) rotate(90deg);
}
#that_day .a_link a:hover {
	opacity: 0.8;
}

#over {
	margin-top: -30px;
	padding-top: 30px;
}

.overview {
	margin: 60px auto 0;
	max-width: 1000px;
	width: 90%;
}

.overview h3 {
	color:#032e64;
	font-size: min(2rem, 1.464vw);
	font-weight: 600;
	text-align: left;
}

.overview table {
	text-align: left;
	width: 100%;
	border-top: 1px solid #032e64;
	margin-top: 5px;
}

.overview table th {
	color:#d81919;
	width: 6em;
	border-bottom: 1px solid #032e64;
	font-size: min(1.6rem, 1.171vw);
	font-weight: 600;
}

.overview table td {
	color:#032e64;
	border-bottom: 1px solid #032e64;
	font-size: min(1.5rem, 1.098vw);
	font-weight: 400;
	padding: 20px 25px;
}

.overview .txt {
	font-size: min(1.5rem, 1.098vw);
}

.overview .txt::before {
	content: '●';
}

@media (max-width: 768px){
	section#that_day {
		padding: 100px 0 40px;
		text-align: center;
	}
	#that_day h2 {
		font-size: min(3.4rem, 9.067vw);
	}
	#that_day .a_link {
		margin: 30px auto 0;
	}
	#that_day .a_link a {
		width: 90%;
		margin-bottom: 25px;
		font-size: min(1.8rem, 4.8vw);
	}
	#that_day .a_link a:after {
		font-size: min(1.5rem, 4vw);
		border-radius: 50px;
		width:24px;
	}
	.overview {
		max-width: 1000px;
		width: 90%;
		margin: 40px auto 0;
	}
	.overview h3 {
		font-size: min(1.6rem, 4.267vw);
	}
	.overview table {
		width: 100%;
		text-align: left;
		border-top: 1px solid #032e64;
		margin-top: 5px;
	}
	.overview table th {
		width: 6em;
		font-size: min(1.4rem, 3.733vw);
		font-weight: bold;
		border-bottom: 1px solid #032e64;
	}
	.overview table td {
		font-size: min(1.4rem, 3.733vw);
		padding: 10px 10px 10px 0;
	}
	.overview .txt {
		font-size: min(1.4rem, 3.733vw);
		padding-left: 1em;
		text-indent: -1em;
	}
}

/*　faq - よくある質問 */
section#faq {
	width:100%;
	background:#1D4473;
	padding: 100px 0;
}

#faq h1 {
	color: #fff;
	text-align: center;
	font-family: var(--biz);
	font-size: min(4.7rem, 3.441vw);
	font-weight: 600;
	line-height: 62px;
	letter-spacing: -0.47px;
}

#faq .ctn {
	max-width: 1000px;
	width: 90%;
	margin: 0 auto;
}

#faq .ctn h2 {
	width: 100%;
	margin: 50px 0 10px;
	font-size: min(2.5rem, 1.83vw);
	font-weight: 600;
}

.faq_anc {
	max-width:900px;
	width: 90%;
	margin: 60px auto 80px;
	justify-content: center;
}

.faq_anc a {
	color:#fff;
	font-size: min(2rem, 1.464vw);
	text-decoration: underline;
	margin-top: 18px;
	margin-right: 20px;
}
.faq_anc a:after {
	content:'';
	background:url(../images/arrow_under_white.png)center center no-repeat;
	background-size:contain;
	display: inline-block;
	width: 24px;
	height: 24px;
	margin-left: 10px;
	margin-bottom: -6px;
	transition: .2s;
}

.toggle {
	display: none;
}

.Label {
	display: block;
	color: #fff;
	background:#001a3e;
	padding: 1em;
}
.Label:before {
	content:"";
	background: url(../images/icon_q.png)center center no-repeat;
	background-size: contain;
	display: inline-block;
	width: 26px;
	height: 26px;
	margin-bottom:-7px;
	margin-right:7px;
}
.Label:after {
	content:"";
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(135deg);
}

.Label,
.content {
	color: #fff;
	background:#01316A;
	transform: translateZ(0);
	transition: all 0.3s;
	cursor: pointer;
	font-size: min(1.7rem, 1.245vw);
}

.content {
	height: 0;
	margin-bottom:10px;
	padding:0 47px;
	overflow: hidden;
}

.content a {
	color:#fff;
	text-decoration: underline;
}

.content p {
	position: relative;
	margin-left: 40px;
}
.content p:before {
	content:"";
	background: url(../images/icon_a.png) center center no-repeat;
	background-size: contain;
	display: block;
	width: 26px;
	height: 26px;
	position: absolute;
	top: 0;
	left: -40px;
}

.toggle:checked + .Label + .content {
	height: auto;
	padding:10px 47px 20px;
	transition: .1s;
}

.toggle:checked + .Label:after {
	transform: rotate(-45deg) !important;
}

@media (max-width: 768px){
	section#faq {
		width:100%;
		padding: 60px 0;
	}
	#faq h1 {
		font-size: min(3.4rem, 9.067vw);
	}
	.faq_anc {
		max-width:900px;
		width: 90%;
		margin: 30px auto 60px;
	}
	.faq_anc a {
		width: 100%;
		color:#fff;
		font-size: min(1.4rem, 3.733vw);
		text-decoration: underline;
		margin-top: 12px;
	}
	.faq_anc a:after {
		width: 22px;
		margin-left: 10px;
	}
	#faq .ctn h2 {
		font-size: min(2.5rem, 6.667vw);
		margin: 30px 0 10px;
	}
	#faq .ctn h2.first {
		margin: 0 0 10px;
	}
	.Label {
		font-size: 14px;
		padding: 1em 2.5em 1em 3em;
		text-indent: -2em;
	}
	.Label:before {
		width: 22px;
		height: 22px;
		margin-bottom:-5px;
		margin-right:5px;
	}
	.Label:after {
		right: 15px;
	}
	.content {
		height: 0;
		margin-bottom:10px;
		padding:0 30px 0 0.9em;
	}
	.content p {
		font-size: min(1.4rem, 3.733vw);
	}
	.content p:before {
		width: 22px;
		height: 22px;
		left: -30px;
	}
	.toggle:checked + .Label + .content {
		height: auto;
		padding: 10px 30px 20px 0.9em;
		transition: .2s;
	}
}

/*　pay - お支払い・ポイントについて */
section#pay {
	width:100%;
	background:#fff;
	padding: 100px 0;
}

#pay h2 {
	width: 560px;
	margin:0 auto;
}

@media (max-width: 768px) {
	#pay h2 {
		max-width: 80%;
		width: 300px;
		margin:0 auto;
	}
}

.rel {
	position: relative;
}

.abs {
	position: absolute;
	top: 15px;
	font-size: 10px;
}

/*　table - テーブル */
#pay table {
	width: 80%;
	margin: 0 auto;
	margin-top: 40px;
}

#pay table.gor-tbl {
	width: 80%;
	margin: 0 auto;
	border-top: none;
	margin-top: 0px;
}

#pay table tr {
	border-bottom: 1px solid #b9b596;
}

#pay table th {
	font-size: 18px;
	font-weight: bold;
	color: #c5ae49;
	vertical-align: top;
	padding: 0;
}

#pay table th div {
	font-weight: bold;
}

#pay table th div.th_sub {
	font-weight: bold;
	font-size: 13px;
	margin-left: -6px;
}

#pay table td {
	padding: 20px 0;
}

#pay table td a {
	text-decoration: underline;
	color: #b7aa50;
	font-weight: bold;
}
#pay table td a:hover {
	-webkit-transition: 0.2s;
	transition: 0.2s;
	color: #fff;
}

#pay table td ul.att {
	margin-top: 0px;
}

#pay table td ul.att li {
	line-height: 20px;
}

#pay table td ul.td_rule {
	text-indent: -1em;
	padding-left: 1em;
}

#pay table td ul.td_rule span {
	font-size: 14px;
}

#pay table.acc-table {
	width: 80%;
	margin: 0 auto;
	border-top: none !important;
}

.table_under {
	width: 80%;
	margin: 20px auto 0;
	text-indent: -1em;
	padding-left: 1em;
	font-size: 14px;
}

@media (max-width: 768px) {
	section#pay {
		max-width: 870px;
		width: 90%;
		margin: 0 auto;
	}
	#pay table {
		width: 100%;
		margin-top: 30px;
	}
	#pay table.gor-tbl {
		width: 100%;
		margin: 0 auto;
		border-top: none;
		margin-top: 0px;
	}
	#pay table tr {
		border-bottom: 1px solid #b9b596;
	}
	#pay table th {
		font-size: 16px;
		font-weight: bold;
		color: #c5ae49;
		width: 9em;
		text-align: center;
		width: 100%;
		padding-top: 15px;
	}
	#pay table th div {
		font-weight: bold;
	}
	#pay table th div.th_sub {
		font-weight: bold;
		font-size: 12px;
		margin-left: 0px;
		margin-top: -3px;
	}
	#pay table td {
		padding: 15px 0;
		font-size: 14px;
	}
	#pay table td a {
		text-decoration: underline;
		color: #b7aa50;
		font-weight: bold;
	}
	#pay table td a:hover {
		-webkit-transition: 0.2s;
		transition: 0.2s;
		color: #fff;
	}
	#pay table td ul.att {
		margin-top: 0px;
	}
	#pay table td ul.att li {
		line-height: 20px;
		font-size: 12px;
	}
	#pay table td ul.td_rule {
		text-indent: -1em;
		padding-left: 1em;
	}
	#pay table td ul.td_rule span {
		font-size: 12px;
	}
	#pay table.acc-table {
		width: 100%;
		margin: 0 auto;
	}
	.table_under {
		width: 100%;
		margin: 20px auto 0;
		text-indent: -1em;
		padding-left: 1em;
		font-size: 12px;
	}
}

#pay h2 img {
	height: auto;
	width: 100%;
}

#pay table {
	border-bottom: 1px solid #c8c8c8;
	color: #000;
	table-layout: fixed;
}

@media screen and (min-width: 769px) {
	#pay table {
		width: 100%;
		max-width: 980px;
	}
}

@media screen and (max-width: 768px) {
	#pay table {
		display: block;
		overflow-x: scroll;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
	}
}

#pay table th, #pay table td {
	font-size: 14px;
	text-align: center;
	vertical-align: middle;
}

@media screen and (max-width: 768px) {
	#pay table th, #pay table td {
		min-width: 100px;
	}
}

#pay table th {
	color: #fff;
}

#pay table th.heading {
	padding: 10px 0;
}

@media screen and (max-width: 768px) {
	#pay table th.heading {
		padding: 5px 0;
	}
}

#pay table th.th_ttl_payment {
	background-color: #DA1F19;
	border: 0;
	font-size: 18px;
}

@media screen and (max-width: 768px) {
	#pay table th.th_ttl_payment {
		font-size: 14px;
	}
}

#pay table th.th_ttl_point {
	background-color: #206698;
	border: 0;
	font-size: 18px;
	width: 11em;
}

@media screen and (max-width: 768px) {
	#pay table th.th_ttl_point {
		font-size: 14px;
	}
}

#pay table th.th_payment {
	background-color: #DA5D45;
	font-size: 14px;
}

@media screen and (max-width: 768px) {
	#pay table th.th_payment {
		font-size: 12px;
	}
}

#pay table th.th_payment + .th_payment {
	border-left: 1px solid #fff;
}

#pay table th.th_point {
	background-color: #4D85AD;
}

#pay table th.th_point + .th_point {
	border-left: 1px solid #fff;
}

#pay table th.th_left {
border-bottom: 1px solid #c8c8c8;
border-right: 1px solid #c8c8c8;
color: #000;
font-size: 13px;
text-align: left;
}
@media screen and (max-width: 768px) {
#pay table th.th_left {
background-color: #fff;
font-size: 12px;
left: 0;
position: sticky;
z-index: 2;
padding-top: 0;
}
}
#pay table th .height_keep {
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
min-height: 63px;
padding: 10px 5px;
}
#pay table td {
border-right: 1px solid #c8c8c8;
border-top: 1px solid #c8c8c8;
position: relative;
}
#pay table td.noborder {
border: 0;
width: 170px;
}
@media screen and (max-width: 768px) {
#pay table td.noborder {
background-color: #fff;
left: -2px;
position: sticky;
z-index: 2;
}
}
#pay table td:last-child {
border-right: 0;
}
#pay table td.td_payment {
background-color: #FFECE9;
}
#pay table td.td_point {
background-color: #EDF3F7;
}
#pay table td.td_gray {
background-color: #DCDCDC;
}
#pay table td img {
height: 20px;
width: 20px;
}
#pay table .bt {
border-top: 1px solid #c8c8c8;
}
#pay table .fs_10 {
font-size: 10px;
}
#pay table .fs_12 {
font-size: 12px;
}
#pay .bottom_notice {
color: #000;
font-size: 14px;
line-height: 1.8;
max-width: 980px;
margin: 40px auto 0;
}
@media screen and (max-width: 768px) {
#pay .bottom_notice {
font-size: 12px;
margin-top: 20px;
padding-bottom: 20px;
}
}

/*----------------------------------------------------

◆　ページ内リンク高さ調整

----------------------------------------------------*/
/* @media screen and (max-width: 768px) {
#asobi,
#tabe,
#odoru,
#negai {
	padding-top: 40px;
	margin-top: -40px;
}
}
 */

/*----------------------------------------------------

◆　下層ページ共通

----------------------------------------------------*/
/* .area_common .w930 {
	max-width: 930px;
	margin: 0 auto;
} */
.area_kando h2.event_heading {
	width: 36.7%;
	margin: 0 auto 80px;
	padding-top: 10%;
}

.area_asobi h2.event_heading {
	width: 43.1%;
	margin: 0 auto 80px;
	padding-top: 10%;
}

.area_taiken h2.event_heading {
	width: 48%;
	margin: 0 auto 80px;
	padding-top: 10%;
}

.area_food h2.event_heading {
	width: 43%;
	margin: 0 auto 80px;
	padding-top: 10%;
}

.area_show h2.event_heading {
	width: 55.61%;
	margin: 0 auto 80px;
	padding-top: 10%;
}

.area_common {
	margin-bottom: 140px;
}

.area_common .contents {
	max-width: 1144px;
	margin: 0 auto;
	border-radius: 21px;
	border: 4px solid #01316A;
	background: #fff;
	color: #000;
	padding: 47px 50px;
	margin-bottom: 50px;
}

.area_common .contents h3 {
	color: #c81919;
	font-family: var(--biz);
	font-size: min(5.5rem, 4.026vw);
	font-weight: 600;
	line-height: 62px;
	text-align: center;
}

.area_common .contents h3.lh1 {
	line-height: 1;
}

.area_common .contents h3 span.mark {
	font-size: 22px;
	vertical-align: top;
}

.area_common .contents h3 span.sub {
	font-size: 26px;
	font-weight: 900;
}

.area_common ul.flex li {
	width: 48%;
	margin-top: 35px;
}
.area_common ul.flex li:last-child {
	margin-top: 50px;
	position: relative;
}

.area_common ul.flex li:last-child p:first-child {
	color: #C81919;
	font-size: min(2.3rem, 1.684vw);
	font-weight: 500;
	line-height: 31.5px;
	margin-bottom: 10px;
}

.area_common ul.flex li:last-child p:nth-child(2) {
	font-size: min(1.8rem, 1.318vw);
	font-weight: 400;
	line-height: 31.5px;
}

.area_common ul.flex li:last-child p:nth-child(2) span.txt {
	display: block;
	background: #898989;
	color: #fff;
	font-size: 13px;
	padding: 5px;
	margin-top: 10px;
}

.area_common ul.flex li:last-child p:last-child {
	position: absolute;
	bottom: 0;
	right: 0;
}

.area_common ul.flex li:last-child a.btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 232px;
	height: 59px;
	border-radius: 6px;
	border: 1px solid #fff;
	background: #C81919;
	color: #fff;
	text-align: center;
	font-size: min(1.9rem, 1.391vw);
	font-weight: 500;
	line-height: 24.624px;
	position: relative;
}

.area_common ul.flex li:last-child a.btn::after {
	content: '';
	background: url(../images/arrow-red.svg) no-repeat;
	background-size: 100%;
	display: block;
	width: 24px;
	height: 24px;
	position: absolute;
	top: 52%;
	right: 10px;
	transform: translate(-50%, -50%) rotate(90deg);
}

.area_common ul.flex li:last-child a.btn:hover {
	opacity: 0.8;
}

.area_common ul.flex li:last-child .item {
	position: absolute;
	width: 40%;
	top: 0;
	right: 0;
}

.area_common .detail {
	margin-top: 30px;
}

.area_common .detail ul.flex {
	justify-content: flex-start;
	border-bottom: 2px solid #002157;
}

.area_common .detail ul.flex.no-border {
	border-bottom: none;
}

.area_common .detail ul.flex li {
	font-size: min(1.6rem, 1.171vw);
	margin-top: 0;
	padding: 15px 0;
}
.area_common .detail ul.flex li:first-child {
	width: 90px;
	color: #C81919;
	font-weight: 600;
	line-height: 20.5px;
	text-align: left;
	margin-left: 10px;
}
.area_common .detail ul.flex li:nth-child(2) {
	width: 88%;
	padding-left: 20px;
	line-height: 20.5px;
}

.area_common .detail ul.flex li:nth-child(2) .note {
	display: block;
}
.area_common .detail ul.flex li:nth-child(2) span::before {
	content: '※';
}

.area_common .detail ul.flex li:nth-child(2) p {
	color: #000;
	font-size: 18px;
	font-weight: normal;
}

.area_common .detail ul.flex li:nth-child(2) p.note {
	position: relative;
	margin-top: 0;
	font-size: 14px;
}

.area_common .detail ul.flex li:last-child p {
	position: relative;
}

.area_common .detail ul.flex li:last-child p.text {
	text-indent: -1em;
	padding-left: 1em;
}

.area_common .detail ul.flex li:last-child p a,
.area_common .detail ul.flex li:last-child p.text a {
	text-decoration: underline;
}

.area_common .detail ul.flex li.w35 {
	width: 36%;
}

.area_common .detail ul.flex li p.w83 {
	width: 83.5%;
}

.area_common .detail .area-text {
	padding: 15px 0;
}

.area_common .detail .area-text.typeB {
	padding: 15px 10px;
}

.area_common .detail .area-text.typeB .txt {
	color: #C81919;
	font-size: min(1.6rem, 1.171vw);
	font-weight: 600;
	line-height: 20.5px;
	margin-bottom: 10px;
}

.area_common .detail .area-text.typeB a.btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 760px;
	height: 88px;
	margin: 50px auto 0;
	border-radius: 14px;
	border: 1px solid #fff;
	background: #C81919;
	color: #fff;
	text-align: center;
	font-size: min(2.3rem, 1.684vw);
	font-weight: 500;
	line-height: 31.6px;
	position: relative;
}

.area_common .detail .area-text.typeB a.btn::after {
	content: '';
	background: url(../images/arrow-red.svg) no-repeat;
	background-size: 100%;
	display: block;
	width: 28px;
	height: 28px;
	position: absolute;
	top: 52%;
	right: 10px;
	transform: translate(-50%, -50%);
}

.area_common .detail .area-text.typeB a.btn:hover {
	opacity: 0.8;
}

.area_common .detail .area-text.typeB .bot {
	font-size: min(1.4rem, 1.025vw);
	padding-left: 1em;
	text-indent: -1em;
	margin-bottom: 5px;
}

.area_common .detail .area-text.typeB .bot::before {
	content: '・';
}

.area_common .detail .note2 {
	color: #000;
	width: 90%;
	max-width: 1000px;
	text-indent: -1em;
	padding-left: 1em;
	font-size: 14px;
	margin-top: 5px;
}

.area_common .detail .note2.mt30 {
	margin-top: 30px;
}

.area_common .detail ul.box {
	border-top: 2px solid #002157;
	border-bottom: 2px solid #002157;
	padding: 10px 0 10px 20px;
}

.area_common .detail ul.box li {
	font-size: 18px;
}
.area_common .detail ul.box li:nth-child(2),
.area_common .detail ul.box li:nth-child(3) {
	padding-left: 20px;
}

.area_common .detail ul.box li span {
	font-size: 14px;
}

.area_common .detail .other_text {
	font-size: 18px;
	margin-top: 10px;
}

.area_common .detail table {
	width: 100%;
}

.area_common .detail table.mt5 {
	margin-top: 5px;
}

.area_common .detail table.mt10 {
	margin-top: 10px;
}

.area_common .detail table.mt20 {
	margin-top: 20px;
}

.area_common .detail table.mt30 {
	margin-top: 30px;
}

.area_common .detail table.mt40 {
	margin-top: 40px;
}

.area_common .detail table.mb10 {
	margin-bottom: 10px;
}

.area_common .detail table.mb20 {
	margin-bottom: 20px;
}

.area_common .detail table.mb30 {
	margin-bottom: 30px;
}

.area_common .detail table.mb40 {
	margin-bottom: 40px;
}

.area_common .detail table th.date {
	width: 12%;
}

.area_common .detail table td.text,
.area_common .detail table td.text2,
.area_common .detail table td.text3 {
	width: 88%;
	position: relative;
}
.area_common .detail table td.text3::before {
	content: '⚫︎';
}

.area_common .detail table td.text span,
.area_common .detail table td.text2 span {
	position: absolute;
	left: 28%;
}
.area_common .detail table td.text2 span {
	left: 20%;
}

.area_common .detail table td.text span.note {
	color: #000;
	font-size: 12px;
	margin-left: 0;
	position: relative;
	left: 0;
}

.area_common .detail table td.text.pl18 {
	padding-left: 18px;
}

.area_common .detail ul.flex li span.mark {
	margin-left: 0;
}
.area_common .detail ul.flex li span.mark::before {
	display: none;
}

.area_common .detail table td.text a.store {
	text-decoration: underline;
}

.area_common .detail table td.img {
	display: block;
	width: 60%;
}

@media screen and (max-width: 768px) {
	.area_kando h2.event_heading {
		width: 73.1%;
		margin: 0 auto 30px;
		padding-top: 30%;
	}
	.area_asobi h2.event_heading {
		width: 73.1%;
		margin: 0 auto 30px;
		padding-top: 30%;
	}
	.area_taiken h2.event_heading {
		width: 86%;
		margin: 0 auto 30px;
		padding-top: 30%;
	}
	.area_food h2.event_heading {
		width: 77%;
		margin: 0 auto 30px;
		padding-top: 30%;
	}
	.area_show h2.event_heading {
		width: 85%;
		margin: 0 auto 30px;
		padding-top: 30%;
	}
	.area_minituke h2.event_heading {
		width: 85%;
		margin: 0 auto 30px;
		padding-top: 30%;
	}
	.area_common .contents {
		border-radius: 12px;
		border: 2px solid #01316A;
		margin: 0 15px 50px;
		padding: 30px 0;
	}
	.area_common .contents h3 {
		font-size: min(3rem, 8vw);
		line-height: 37px;
	}
	.area_common .contents .flex {
		display: block;
	}
	.area_common ul.flex li {
		width: 90%;
		margin: 20px auto 0;
	}

	.area_common ul.flex li:last-child p:nth-child(3) {
		position: relative;
		text-align: center;
		margin: 20px auto;
	}
	.area_common .detail {
		padding: 0 15px;
	}
	.area_common .detail ul.flex {
		display: flex;
		justify-content: flex-start;
		align-items: baseline;
	}
	.area_common .detail ul.flex li {
		font-size: min(1.4rem, 3.733vw);
		padding: 20px 0;
	}
	.area_common .detail ul.flex li:first-child {
		width: 50px;
		font-size: min(1.4rem, 3.733vw);
		text-align: left;
	}
	.area_common .detail ul.flex li:nth-child(2) {
		width: 78%;
		margin-top: 0;
		padding-left: 0;
	}
	.area_common .detail ul.flex li:nth-child(2) p,
	.area_common .detail ul.flex li:nth-child(2) p:nth-child(2) {
		font-size: 14px;
		margin: 0;
		margin-bottom: 10px;
		text-align: left;
	}

	.area_common .detail ul.flex li p.ml10,
	.area_common .detail ul.flex li:nth-child(2) p.ml10 {
		margin-left: 10px;
	}

	.area_common .detail ul.flex li:last-child p span.text {
		display: none;
	}
	.area_common .detail ul.flex li:nth-child(2) p.note {
		font-size: 12px;
	}
	.area_common .contents h3.w45 {
		width: 75%;
	}
	.area_common .contents h3.w70 {
		width: 80%;
	}
	.area_common .contents h3.w80 {
		width: 100%;
	}
	.area_common .detail .note2 {
		width: 100%;
		font-size: 12px;
	}
	.area_common ul.flex li:last-child p:first-child {
		font-size: min(1.4rem, 3.733vw);
		font-weight: 600;
		line-height: 24px;
		margin-bottom: 10px;
	}
	.area_common ul.flex li:last-child p:nth-child(2) {
		font-size: min(1.4rem, 3.733vw);
		line-height: 24px;
		padding-bottom: 20px;
	}
	.area_common .detail ul.box {
		padding: 10px 0;
	}
	.area_common .detail ul.box li {
		font-size: 17px;
	}
	.area_common .detail ul.box li span {
		display: block;
		font-size: 12px;
	}
	.area_common .detail ul.box li:nth-child(2) {
		margin-top: 10px;
	}
	.area_common .detail ul.box li:nth-child(2),
	.area_common .detail ul.box li:nth-child(3) {
		padding-left: 0;
	}
	.area_common .detail .other_text {
		font-size: 17px;
	}
	.area_common .detail ul.flex li:last-child p a,
	.area_common .detail ul.flex li:last-child p.text a {
		font-size: 14px;
	}
	.area_common .detail table th.date {
		display: block;
		width: 100%;
		font-size: 16px;
		font-weight: bold;
	}
	.area_common .detail table td.text,
	.area_common .detail table td.text2 {
		display: block;
		width: 100%;
		position: relative;
	}
	.area_common .detail table td.text span,
	.area_common .detail table td.text2 span {
		display: block;
		position: relative;
		left: 0;
	}
	.area_common ul.flex li:last-child {
		margin-top: 20px;
	}
	.area_common ul.flex li:last-child a.btn {
		width: 233px;
		height: 42px;
		margin: 0 auto;
		border-radius: 4px;
		font-size: min(1.4rem, 3.733vw);
		line-height: 15.725px;
	}
	.area_common ul.flex li:last-child a.btn::after {
		width: 18px;
		height: 18px;
		right: 10px;
	}
	.area_common .detail ul.flex li:nth-child(2) span {
		display: block;
		width: 100%;
		margin-top: 0;
	}
	.area_common .detail ul.flex li span.mark {
		display: inline;
	}
	.area_common .contents h3 span.mark {
		font-size: 14px;
	}
	.area_common .contents h3 span.sub {
		font-size: 18px;
	}
	.area_common .detail table td.img {
		width: 100%;
	}
	.area_common .detail .area-text.typeB .txt {
		font-size: min(1.4rem, 3.733vw);
	}
	.area_common .detail .area-text.typeB a.btn {
		width: 100%;
		margin: 30px auto 0;
		border-radius: 4px;
		font-size: min(1.4rem, 3.733vw);
		line-height: 22px;
	}
	.area_common .detail .area-text.typeB a.btn::after {
		width: 18px;
		height: 18px;
		right: 2px;
	}
	.area_common .detail .area-text.typeB .bot {
		font-size: min(1.3rem, 3.467vw);
	}
}


/*----------------------------------------------------

◆　asobi -遊んで！楽しむ！-

----------------------------------------------------*/
.flex-booth {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.flex-booth li {
	width: 31.3333%;
	margin-top: 20px;
}

.flex-booth li h4 {
	font-size: 14px;
	font-weight: 600;
}

.flex-booth li .img {
	border: 1px solid #a4a4a4;
	margin: 5px auto;
}

.flex-booth li p {
	font-size: 14px;
}

.flex-booth li p.note {
	font-size: 12px;
	margin-top: 0;
}

@media(max-width: 768px) {
	.flex-booth {
		display: block;
	}
	.flex-booth li {
		width: 100%;
	}

}

/*----------------------------------------------------

◆　food -食べて！飲んで！-

----------------------------------------------------*/

@media(max-width: 768px){
}

/*----------------------------------------------------

◆　kando　- 観て！感動！　-

----------------------------------------------------*/

@media(max-width: 768px){
}

/*----------------------------------------------------

◆　taiken　- 体験して！発見！　-

----------------------------------------------------*/

@media(max-width: 768px){
}

/*----------------------------------------------------

◆　rantan　- ランタン打ち上げ -

----------------------------------------------------*/
#rantan h2.event_heading {
	width: 70%;
}

#rantan .area_common .detail ul.flex li:first-child {
	width: 190px;
}

#rantan .area_common .detail ul.flex li:nth-child(2) {
	width: 76%;
	padding-left: 5px;
}

#rantan .area_common .detail ul.flex li table .text4 {
	text-decoration: underline;
}

#rantan .area_common .detail ul.flex li table .img {
	display: block;
	width: 80%;
}

@media(max-width: 768px) {
	#rantan h2.event_heading {
		width: 70%;
	}
	#rantan .area_common .detail ul.flex li:first-child {
		width: 100%;
		margin-left: 0;
	}
	#rantan .area_common .detail ul.flex li:nth-child(2) {
		width: 100%;
		padding-top: 0;
		padding-left: 0;
	}
	#rantan .area_common .detail ul.flex li table .img {
		width: 90%;
	}
}


/*----------------------------------------------------

◆　MAP＆タイムテーブル

----------------------------------------------------*/
.area_map-timetable {
	text-align: center;
	margin: 0 auto 50px;
}

.area_map-timetable a.btn_map-timetable {
	display: inline-block;
	width: 420px;
	padding: 20px 0;
	background: #032E64;
	border: 1px solid #fff;
	border-radius: 60px;
	color: #fff;
	text-align: center;
	position: relative;
}
.area_map-timetable a.btn_map-timetable::after {
	display: block;
	position: absolute;
	content: '';
	background: url(../images/arrow_right_red2.png) center center no-repeat;
	width: 24px;
	height: 24px;
	background-size: contain;
	top: 50%;
	right: 10px;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}
.area_map-timetable a.btn_map-timetable:hover {
	background: #fff;
	border: 1px solid #032E64;
	color: #032E64;
}
.area_map-timetable a.btn_map-timetable:hover::after {
	background: url(../images/arrow_right_red.png) center center no-repeat;
	background-size: contain;
}

@media(max-width: 768px){
	.area_map-timetable a.btn_map-timetable {
		width: 90%;
		padding: 10px 0;
		margin-top: 30px;
	}
}

.area_asobi .detail ul.flex li p.link2 {
font-size: 14px;
font-weight: bold;
margin-top: 12px;
}
p.link2 a {
font-size: 14px;
text-decoration: underline;
word-break: break-all;
}

@media(max-width: 768px){
p.link2 {
	font-size: 12px;
	text-indent: -1em;
	padding-left: 1em;
}
p.link2 a {
	font-size: 12px;
}
}

.note.text-R {
width: 100%;
text-align: right;
margin-top: 5px;
}

.area_negai .detail ul.flex li h3.sanka {
width: 100%;
text-align: left;
}
.area_negai .detail ul.flex li h3.sanka.mt30 {
margin-top: 30px;
}

.area_negai .detail ul.flex li p.fs16 {
font-size: 16px;
}

@media(max-width: 768px){
.area_negai .detail ul.flex li p.fs16,
.area_negai .detail ul.flex li:nth-child(2) p.fs16 {
	font-size: 13px;
}  
}

/*----------------------------------------------------

◆　sponsor　- スポンサー企業一覧　-

----------------------------------------------------*/
.area_sponsor .box {
	max-width: 930px;
	margin: 0 auto;
	padding: 74px 0 76px;
	border-top: 1px solid #0a5078;
}

.area_sponsor .box a:hover {
	opacity: 0.8;
}

.area_sponsor .box.type01 div:nth-of-type(1) {
	width: 330px;
	margin: 0 auto;
}

.area_sponsor .box.type01 div:nth-of-type(2) {
	width: 238px;
	margin: 0 auto;
	padding-top: 81px;
}

.area_sponsor .box.type02 div:nth-of-type(1) {
	width: 275px;
	margin: 0 auto;
}

.area_sponsor .box.type02 div:nth-of-type(2) {
	width: 300px;
	margin: 0 auto;
	padding-top: 38px;
}

.area_sponsor .box.type02 div:nth-of-type(3) {
	width: 300px;
	margin: 0 auto;
	padding-top: 50px;
}

.area_sponsor .box.type03 {
	display: flex;
	justify-content: space-around;
	align-items: center;
	flex-wrap: wrap;
}

.area_sponsor .box.type03 div {
	margin-bottom: 40px;
}

.area_sponsor .box.type03 div:nth-of-type(1) {
	width: 240px;
}

.area_sponsor .box.type03 div:nth-of-type(2) {
	width: 261px;
}

.area_sponsor .box.type03 div:nth-of-type(3) {
	width: 190px;
}

.area_sponsor .box.type03 div:nth-of-type(4) {
	width: 261px;
}

.area_sponsor .box.type03 div:nth-of-type(5) {
	width: 261px;
}

.area_sponsor .box.type03 div:nth-of-type(6) {
	width: 300px;
}

.area_sponsor .box.type03 div:nth-of-type(7) {
	width: 240px;
}

.area_sponsor .box.type03 div:nth-of-type(8) {
	width: 261px;
}

.area_sponsor .box.type03 div:nth-of-type(9) {
	width: 261px;
}

.area_sponsor .box.type03 div:nth-of-type(10) {
	width: 170px;
}

.area_sponsor .box.type04 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.area_sponsor .box.type04 div {
	width: 158px;
	margin-bottom: 73px;
}

.area_sponsor .box.type04 div:nth-of-type(46),
.area_sponsor .box.type04 div:nth-of-type(47),
.area_sponsor .box.type04 div:nth-of-type(48) {
	margin-bottom: 0;
}

.area_sponsor .box.type05 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.area_sponsor .box.type05 div {
	padding-bottom: 30px;
}
.area_sponsor .box.type05 div::after {
	content: '／';
	color: #000;
}

.area_sponsor .box.type05 div a {
	text-decoration: underline;
}

.area_sponsor .box.type05 div p {
	display: inline;
	color: #000;

}

.area_sponsor .box.type06 {
	display: flex;
	justify-content: space-around;
	align-items: center;
	flex-wrap: wrap;
}

.area_sponsor .box.type06 div:nth-of-type(1),
.area_sponsor .box.type06 div:nth-of-type(2) {
	width: 290px;
}

@media(max-width: 768px){
	.area_sponsor h2.event_heading {
		width: 80%;
	}
	.area_sponsor .box {
		width: 90%;
	}
	.area_sponsor .box.type01 div:nth-of-type(1) {
		width: 231px;
	}
	.area_sponsor .box.type01 div:nth-of-type(2) {
		width: 198px;
		padding-top: 60px;
	}
	.area_sponsor .box.type02 div:nth-of-type(1) {
		width: 192px;
	}
	.area_sponsor .box.type02 div:nth-of-type(2) {
		width: 210px;
		padding-top: 28px;
	}
	.area_sponsor .box.type02 div:nth-of-type(3) {
		width: 210px;
		padding-top: 40px;
	}
	.area_sponsor .box.type03 {
		display: block;
	}
	.area_sponsor .box.type03 div,
	.area_sponsor .box.type06 div {
		margin: 0 auto 45px;
	}
	.area_sponsor .box.type03 div:nth-of-type(1) {
		width: 190px;
	}
	.area_sponsor .box.type03 div:nth-of-type(2),
	.area_sponsor .box.type03 div:nth-of-type(4) {
		width: 230px;
	}
	.area_sponsor .box.type03 div:nth-of-type(3) {
		width: 160px;
	}
	.area_sponsor .box.type03 div:nth-of-type(5) {
		width: 210px;
	}
	.area_sponsor .box.type03 div:nth-of-type(6) {
		width: 260px;
	}
	.area_sponsor .box.type03 div:nth-of-type(7) {
		width: 210px;
	}
	.area_sponsor .box.type03 div:nth-of-type(8) {
		width: 210px;
	}
	.area_sponsor .box.type03 div:nth-of-type(9) {
		width: 220px;
	}
	.area_sponsor .box.type03 div:nth-of-type(10) {
		width: 150px;
		margin: 0 auto;
	}
	.area_sponsor .box.type04 {
		justify-content: center;
	}
	.area_sponsor .box.type04 div {
		width: 43%;
		margin: 0 10px 42px;
	}
	.area_sponsor .box.type04 div:nth-of-type(46),
	.area_sponsor .box.type04 div:nth-of-type(47), 
	.area_sponsor .box.type04 div:nth-of-type(48){
		margin: 0 10px 42px;
	}
	.area_sponsor .box.type06 div:nth-of-type(1),
	.area_sponsor .box.type06 div:nth-of-type(2) {
		width: 200px;
	}
	.area_sponsor .box.type06 div:nth-of-type(2) {
		margin: 0 auto;
	}
}

.link-card {
	position: fixed;
	top: auto;
	bottom: 0;
	right: 0;
	z-index: 800;
	transition: transform 0.3s ease;
}

.link-card div {
	width: 290px;
}

.link-card div:nth-of-type(2) {
	margin-top: 10px;
}

.link-card.is-hide-sp {
	transform: translateX(100%);
}

@media(max-width: 768px) {
	.link-card div {
		width: 160px;
	}
}