#main_contents .sp, #main_contents .sp_in{
	display:none;
}

#main_contents .pc{
	display: block;
}

#main_contents .pc_in{
	display: inline;
}

#main_contents{
	font-family: "Noto Sans JP", sans-serif;
}

#main_contents #wrap{
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	color: #000;
	background: #fff;
}

#main_contents #wrap > div, #main_contents #wrap > section{
	width: 100%;
	margin: 0 auto;
	padding: 0;
	font-size: 0;
}

#main_contents #wrap > div .inner, #main_contents #wrap > section .inner{
	width: 96%;
	max-width: 1236px;
	margin: 0 auto;
	text-align: center;
}

@media only screen and (max-width: 1236px) {
	#main_contents #wrap > div .inner, #main_contents #wrap > section .inner{
		width: 96%;
		max-width: none;
		margin: 0 auto;
		text-align: center;
	}
}


#main_contents #mv.top h1{
	font-size: 0;
}

#main_contents #mv.top img{
	width: 100%;
	height: auto;
}

#main_contents #wrap #anchor{
	padding: 60px 0 0;
	background: #fff;
}

#main_contents #wrap #anchor .inner{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#main_contents #wrap #anchor .inner a{
	width: 21%;
	height: 2.8em;
	max-width: 260px;
	font-size: 24px;
	line-height: 1.4em;
	font-weight: 700;
	color: #fff;
	text-align: center;
	padding: 0.4em 1%;
	margin-bottom: 30px;
	border-radius: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #10164a;
	transition: .3s;
}

@media only screen and (max-width: 1100px) {
	#main_contents #wrap #anchor .inner{
		justify-content: space-around;
	}

	#main_contents #wrap #anchor .inner a{
		width: 20%;
		min-width: 240px;
		font-size: 20px;
		line-height: 1.4em;
	}
}


#main_contents #wrap #anchor .inner a:hover{
	background: #bc0022;
	transition: .3s;
}

#main_contents #wrap section{
	padding: 70px 0 45px;
}

#main_contents #wrap section .heading{
	font-size: 36px;
	line-height: 1.4em;
	font-weight: 900;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: stretch;
}

#main_contents #wrap section .heading > div:first-child{
	width: 4.8em;
	background-image: url(../images/heading_back_01.png), url(../images/heading_back_02.png);
	background-position: center bottom, right bottom;
	background-repeat: repeat-x, no-repeat;
}

#main_contents #wrap section .heading > div:last-child{
	width: 4.5em;
}

#main_contents #wrap section .heading > div:nth-child(2){
	background-image: url(../images/heading_back_01.png);
	background-position: center bottom;
	background-repeat: repeat-x;
}


#main_contents #wrap section .heading > div > h2{
	font-weight: 900;
	padding: 0 1.0em 1.6em 0.7em;
}


#main_contents #wrap section .heading > div > p:last-child{
	font-size: 31px;
	line-height: 1.4em;
	font-weight: 400;
	font-style: italic;
	padding-bottom: 0.5em;
}

#main_contents #wrap section .heading > div:last-child > p:last-child{
	border-top: none;
}


#main_contents #wrap section .heading > div > p.sub{
	background-image: url(../images/heading_back.png);
	background-repeat: no-repeat;
	background-position: left top;
}

@media only screen and (max-width: 1120px) {
    #main_contents #wrap section .heading {
        font-size: 32px;
    }
    
	#main_contents #wrap section#hospitality .heading > div:first-child, #main_contents #wrap section#line_up .heading > div:first-child{
		width: 1.8em;
	}
	
	#main_contents #wrap section#hospitality .heading > div:last-child, #main_contents #wrap section#line_up .heading > div:last-child{
		width: 1.5em;
	}
}

#main_contents #wrap #schedule .match{
	max-width: 1136px;
	margin: 50px auto 0;
	padding: 60px 50px;
	color: #fff;
	background-image: url(../images/match_back_02.png), url(../images/match_back_03.png), url(../images/match_back_01.jpg);
	background-repeat: no-repeat, no-repeat, no-repeat;
	background-position: right top, left bottom, center center;
	background-size: 11% auto, 11% auto, cover;
}

@media only screen and (max-width: 700px) {
	#main_contents #wrap #schedule .match{
		background-size: 12% auto, 12% auto, auto 100%;
	}
}

#main_contents #wrap #schedule .match .card{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 8px auto 45px;
}

#main_contents #wrap #schedule .match .card h3{
	font-size: 28px;
	line-height: 1.2em;
	font-weight: 700;
	text-align: center;
	padding: 0 1.5em;
}

#main_contents #wrap #schedule .match .card img{
	max-width: 108px;
	height: auto;
}

#main_contents #wrap #schedule .match .announcement p{
	font-size: 23px;
	line-height: 1.2em;
	font-weight: 700;
	text-align: center;
	padding-bottom: 0.9em;
}

#main_contents #wrap #schedule .match .exhibition{
	max-width: 575px;
	height: auto;
	margin: 50px auto 10px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border: 1px solid #fff;
}

#main_contents #wrap #schedule .match .exhibition p{
	text-align: left;
	font-size: 20px;
	line-height: 1.2em;
	color: #fff;
	padding: 0.5em 0.8em;
}

#main_contents #wrap #hospitality .visual{
	width: 100%;
	max-width: 1236px;
	margin: 70px auto 0;
}

#main_contents #wrap #hospitality .visual img{
	width: 100%;
	height: auto;
}

#main_contents #wrap #hospitality .program{
	width: 100%;
	max-width: 1920px;
	margin: 45px auto 0;
	background: #041e42;
}

#main_contents #wrap #hospitality .program .program_inn{
	max-width: 1236px;
	padding: 0 30px;
	margin: 0 auto;
}

#main_contents #wrap #hospitality .program .program_inn .article{
	display: flex;
}

#main_contents #wrap #hospitality .program .program_inn .article .program_img{
	width: 50%;
	height: 535px;
}

#main_contents #wrap #hospitality .program .program_inn .article_01 .program_img{
	background-image: url(../images/hospitality_01_pc.jpg);
	background-repeat: no-repeat;
	background-position: right center;
}

#main_contents #wrap #hospitality .program .program_inn .article_02 .program_img{
	background-image: url(../images/hospitality_02_pc.jpg);
	background-repeat: no-repeat;
	background-position: left center;
}

#main_contents #wrap #hospitality .program .program_inn .article_03 .program_img{
	background-image: url(../images/hospitality_03_pc.jpg);
	background-repeat: no-repeat;
	background-position: right center;
	height: 707px;
}

#main_contents #wrap #hospitality .program .program_inn .article .program_txt{
	width: 618px;
	min-width: 618px!important;
	height: 535px;
	display: flex;
	align-items: center;
}

#main_contents #wrap #hospitality .program .program_inn .article .program_txt > div{
	padding: 0 92px;
}

#main_contents #wrap #hospitality .program .program_inn .article .program_txt h4{
	font-size: 21px;
	line-height: 1.6em;
	font-weight: 700;
	color: #e0e722;
	margin-bottom: 1.6em;
}

#main_contents #wrap #hospitality .program .program_inn .article .program_txt h5{
	font-size: 16px;
	line-height: 1.8em;
	font-weight: 700;
	color: #fff;
}

#main_contents #wrap #hospitality .program .program_inn .article .program_txt p{
	font-size: 16px;
	line-height: 1.8em;
	color: #fff;
	margin-bottom: 1.8em;
}

#main_contents #wrap #hospitality .program .program_inn .article_03 .program_txt{
	height: 707px;
	background-image: url(../images/hospitality_back.png);
	background-repeat: no-repeat;
	background-position: left bottom;
}

#main_contents #wrap #hospitality .program .program_inn > div:nth-child(odd){
	flex-direction: row-reverse;
}

@media only screen and (max-width: 900px) {
	#main_contents #wrap #hospitality .program .program_inn{
		max-width: auto;
		padding: 0;
		margin: 0 auto;
	}

	#main_contents #wrap #hospitality .program .program_inn .article{
		display: block;
	}

	#main_contents #wrap #hospitality .program .program_inn .article .program_img{
		width: 100%;
		height: auto;
	}
	
	#main_contents #wrap #hospitality .program .program_inn .article .program_img .sp{
		display: block;
	}
	
	#main_contents #wrap #hospitality .program .program_inn .article{
		background-image: none;
	}
	
	#main_contents #wrap #hospitality .program .program_inn .article .program_img img{
		width: 100%;
		height: auto;
	}
	
	#main_contents #wrap #hospitality .program .program_inn .article .program_txt{
		width: 100%;
		min-width: auto!important;
		height: auto;
		display: block;
		padding: 30px 0;
	}
	
	#main_contents #wrap #hospitality .program .program_inn .article_03 .program_txt{
		height: auto;
		background-image: url(../images/hospitality_back_sp.png);
		background-repeat: no-repeat;
		background-position: left bottom;
	}
	
	#main_contents #wrap #hospitality .program .program_inn > div:nth-child(odd){
		flex-direction: row-reverse;
	}
}


#main_contents #wrap #package .read{
	text-align: center;
	font-size: 18px;
	line-height: 1.8em;
	margin: 70px auto 30px;
}

#main_contents #wrap #package .attention{
	text-align: center;
	font-size: 18px;
	line-height: 1.8em;
	margin: 0 auto 30px;
}

#main_contents #wrap #package a.seating{
	display: block;
	width: 100%;
	max-width: 586px;
	text-align: center;
	font-size: 23px;
	line-height: 1.0em;
	font-weight: 500;
	color: #000;
	background: #fff;	
	margin: 0 auto;
	padding: 0.8em 0;
	border: 1px solid #041e42;
	border-radius: 15px;
	transition: .3s;
}

#main_contents #wrap #package a.seating:hover{
	background: #bc0022;
	color: #fff;
	transition: .3s;
}

#main_contents #wrap #package_anchor{
	padding: 70px 0 0;
}

#main_contents #wrap #package_anchor .inner{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#main_contents #wrap #package_anchor .inner a{
	width: 32%;
	min-width: 400px;
	text-align: center;
	font-size: 23px;
	line-height: 1.2em;
	font-weight: 700;
	margin-bottom: 30px;
	padding-bottom: 0.9em;
	border-radius: 15px;
	color: #fff;
	transition: .3s;
}

@media only screen and (max-width: 1160px) {
	#main_contents #wrap #package_anchor .inner{
		justify-content: space-around;
	}
	
	#main_contents #wrap #package_anchor .inner a{
		margin-bottom: 60px;
	}
}


#main_contents #wrap #package_anchor .inner > a:nth-child(1){
	background-color: #000000;
}

#main_contents #wrap #package_anchor .inner > a:nth-child(2){
	background-color: #bf9c50;
}

#main_contents #wrap #package_anchor .inner > a:nth-child(3){
	background-color: #727171;
}

#main_contents #wrap #package_anchor .inner a:hover{
	opacity: 0.7;
}

#main_contents #wrap #package_anchor .inner img{
	width: 80px;
	height: auto;
	margin-top: -40px;
}

#main_contents #wrap .package{
	padding: 100px 0 30px;
}

#main_contents #wrap .package h3{
	text-align: center;
	font-size: 31px;
	line-height: 1.2em;
	font-weight: 700;
	color: #fff;
	padding-bottom: 0.6em;
}

#main_contents #wrap .package h3 img{
	width: 80px;
	height: auto;
	margin-top: -40px;
}

#main_contents #wrap .package .price{
	display: flex;
	justify-content: center;
	margin-top: 60px;
	align-items: center;
	color: #231815;
}

#main_contents #wrap .package .price > p:first-child{
	font-size: 20px;
	line-height: 1.0em;
	font-weight: 700;
	color: #fff;
	background: #041e42;
	padding: 0.3em 0.5em;
}

#main_contents #wrap .package .price p:last-child{
	font-size: 19px;
	line-height: 1.8em;
	font-style: italic;
	padding-left: 1.0em;
}

#main_contents #wrap .package .price p:last-child span{
	font-size: 150%;
	font-weight: 700;
}

#main_contents #wrap .package .read p{
	text-align: center;
	font-size: 20px;
	line-height: 1.8em;
	margin: 25px 0 ;
}

#main_contents #wrap .package .sub p{
	text-align: left;
	font-size: 15px;
    font-weight: 700;
	line-height: 1.8em;
	margin: 5px auto 0;
	display: inline-block;
    text-decoration: underline;
}

#main_contents #wrap .package .plan{
	text-align: left;
	max-width: 1236px;
	margin: 65px auto 20px;
/* 	padding: 0 30px; */
}

#main_contents #wrap .package .slide{
	display: flex;
	justify-content:center;
	flex-wrap: wrap;
	max-width: 1296px;
	margin: 70px auto 0;
	align-items: flex-end;
}

#main_contents #wrap .package .slide .box_sc{
	margin-top: 55px;
}

#main_contents #wrap .package .slide .box_sc > div:first-child{
	font-size: 24px;
	line-height: 1.0em;
	font-weight: 700;
}

#main_contents #wrap .package .slide .box_sc > div:last-child{
	width: 230px;
	height: 430px;
	margin: 0 28px;
	padding: 8px 18px 0;
	border: 1px solid #000000;
	background-color: #fff;
	background-image: url(../images/slide_back_01.png), url(../images/slide_back_02.png);
	background-position: right top, left bottom;
	background-repeat: no-repeat, no-repeat;
	background-size: auto 37px, auto 37px; 
}

#main_contents #wrap .package .slide .box_sc h5{
	font-size: 23px;
	line-height: 1.6em;
	font-weight: 600;
	font-style: italic;
	text-align: center;
}

#main_contents #wrap .package .slide .box_sc img{
	width: 100%;
	height: auto;
}

#main_contents #wrap .package .slide .box_sc p{
	font-size: 14px;
	line-height: 1.5em;
	margin: 20px 0 0;
	text-align: justify;
	font-weight: normal;
}

#main_contents #wrap .package .slide01{
	margin-top: 75px;
}

#main_contents #wrap .package .slide01 .box_sc{
	margin-top: 0;
}


#main_contents #wrap .package .slide01 > div > h4{
	width: 100%;
	margin: 0 auto 10px;
	text-align: center;
	
}

#main_contents #wrap .package .annotation{
	max-width: 1236px;
	padding: 0 1.0em;
	margin: 10px auto;
	font-size: 11px;
	left: 1.4em;
	text-align: right;
}

#main_contents #wrap .package .slide01 > div > h4 span{
	width: 230px;
	font-size: 24px;
	line-height: 1.6em;
	font-weight: 700;
	color: #fff;
	background: #041e42;
	display: inline-block;
	text-align: center;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

#main_contents #wrap .package .slide01 > div > h4 span.on_the_day{
	background: #bc0022;
}

#main_contents #wrap #e_package.package h3{
	background: #000;
}

#main_contents #wrap #pl_package.package h3{
	background: #bf9c50;
}

#main_contents #wrap #ps_package.package h3{
	background: #727171;
}

#main_contents #wrap .package .slide03{
	margin-top: 120px;
}

#main_contents #wrap #e_package.package .annotation{
	max-width: 910px;
}

#main_contents #wrap #pl_package.package .annotation{
	max-width: 250px;
}

#main_contents #wrap #ps_package.package .annotation{
	max-width: 910px;
}

@media screen and (min-width:987px) and (max-width:1310px) {
	#main_contents #wrap #e_package.package .annotation{
		max-width: 250px;
	}
	
	#main_contents #wrap #pl_package.package .annotation{
		max-width: 580px;
	}

}

@media screen and (max-width:1310px) {
	#main_contents #wrap .package .slide01 .box_sc{
		margin-top: 55px;
	}
}

@media screen and (min-width:663px) and (max-width:986px) {
	#main_contents #wrap #e_package.package .annotation{
		max-width: 580px;
	}
}

@media screen and (max-width:986px) {
	#main_contents #wrap #pl_package.package .annotation{
		max-width: 250px;
	}
	
	#main_contents #wrap #ps_package.package .annotation{
		max-width: 250px;
	}
}


@media only screen and (max-width: 662px) {
	#main_contents #wrap #e_package.package .annotation{
		max-width: 250px;
	}
}

#main_contents #wrap #line_up h3{
	max-width: 1236px;
	text-align: center;
	font-size: 28px;
	line-height: 1.0em;
	font-weight: 700;
	margin: 130px auto 65px;
	background-image: url(../images/link_h3_back.png);
	background-position: center center;
	background-repeat: repeat-x;
}

#main_contents #wrap #line_up h3 span{
	padding: 0 0.8em;
	background: #fff;
}

@media screen and (max-width:986px) {
    #main_contents #wrap #line_up h3{
        font-size: 24px;
        line-height: 1.6em;
    }
}

#main_contents #wrap #line_up .inner{
	width: 100%;
	max-width: 1254px!important;
}

#main_contents #wrap #line_up .inner p.read {
    text-align: center;
	font-size: 24px;
    font-weight: 700;
	line-height: 1.8em;
	margin: 70px auto 30px;
    text-decoration: underline;
    color: #bc0022;
}

#main_contents #wrap #line_up .inner a.member{
	display: block;
	width: 100%;
	max-width: 586px;
	text-align: center;
	font-size: 22px;
	line-height: 1.0em;
	font-weight: 500;
	color: #000;
	background: #fff;	
	margin: 0 auto;
	padding: 0.8em 0;
	border: 1px solid #041e42;
	border-radius: 15px;
	transition: .3s;
}

#main_contents #wrap #line_up .inner a.member:hover{
	background: #bc0022;
	color: #fff;
	transition: .3s;
    opacity: 1.0;
}

#main_contents #wrap #line_up .inner p.schedule {
    text-align: center;
	font-size: 22px;
    font-weight: 500;
	line-height: 1.8em;
	margin: 70px auto 30px;
    padding: 0 20px;
}

#main_contents #wrap #line_up .inner p.schedule span {
    margin-right: 30px;
    padding: 0.5em 0.8em;
    background: #041e42;
    color: #fff;
    border: 1px solid #041e42;
	border-radius: 15px;
}

#main_contents #wrap #line_up .inner .link{
	width: 100%;
	margin: 60px auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#main_contents #wrap #line_up .inner .link .btn{
	width: 398px;
/* 	background: #fff; */
	border: 1px solid #000;
	margin: 0 9px 20px;
	display: block;
	color: #000;
	transition: .3s;
}

@media screen and (max-width:986px) {
    #main_contents #wrap #line_up .inner .link .btn{
        width: 47%;
        max-width: 398px;
    }
}

#main_contents #wrap #line_up .inner .link .btn img{
	width: 100%;
	height: auto;
	margin: 0 auto;
}

#main_contents #wrap #line_up .inner .link .btn h4{
	font-size: 21px;
	line-height: 1.4em;
	padding: 0.3em 0 1.2em;
	font-weight: 700;
	color: #000;
	text-align: center;
}

#main_contents #wrap #line_up .inner .link .btn h4 span {
    font-size: 18px;
}

#main_contents #wrap #line_up .inner .link .btn p{
	font-size: 25px;
	line-height: 3.5em;
	font-weight: 700;
	color: #fff;
	background: #bc0022;
	text-align: center;
}

#main_contents #wrap #line_up .inner .link .btn.btn_02 p{
	background: #041e42;
}

#main_contents #wrap #line_up .inner .link a.btn:hover{
	opacity: 0.7;
	transition: .3s;
}

#main_contents #wrap #line_up .inner > a{
	display: block;
	width: 100%;
	max-width: 750px;
	font-size: 28px;
	line-height: 1.6em;
	font-weight: 600;
	text-align: center;
	color: #fff;
	background: url(../images/link_back.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	margin: 0 auto 0.4em;
	border-radius: 15px;
	transition: .3s;
}

#main_contents #wrap #line_up .inner > a:hover{
	transition: .3s;
	opacity: 0.7;
}

#main_contents #wrap #line_up .inner > a p {
    padding: 15px 0;
}

/*__page_top_________ */
#page-top {
	position: fixed;
	font-size: 0;
	right: 0;
	bottom: 28px;
	z-index: 1000;
}

#page-top a img{
	width: 30px;
}

#page-top a {
	padding: 7px;
	display: block;
	background: #bc0022;
	border: 1px solid #fff;
	transition: .3s;
}

#page-top a:hover {
	background: #041e42;
	transition: .3s;
}

/*20241206追記*/
#main_contents #wrap #line_up .inner .aten_schedule {
    display: flex;
    justify-content: space-around;
    margin: 60px auto 0;
}

#main_contents #wrap #line_up .inner .aten_schedule ul {
    width: 45%;
    border: 1px solid #0c2340;
}

#main_contents #wrap #line_up .inner .aten_schedule ul li {
    text-align: center;
    font-weight: 500;
}

#main_contents #wrap #line_up .inner .aten_schedule ul li.headline {
    padding: 15px 0;
    background: linear-gradient(to right, #0c2340 60%,#1f4387);
    color: #fefefe;
    font-size: 24px;
    font-weight: 700;
}

#main_contents #wrap #line_up .inner .aten_schedule ul li.schedule {
    padding: 20px 0;
    font-size: 20px;
    background: #fefefe;
}

#main_contents #wrap #line_up .inner .aten_schedule ul li span {
    writing-mode: vertical-rl;
}

/*20241213追記*/
#main_contents #wrap #line_up .inner p.closing {
    text-align: center;
	font-size: 22px;
    font-weight: 700;
	line-height: 1.8em;
	margin: 30px auto;
    color: #bc0022;
}

/*20250109追記*/
#main_contents #wrap .benefit, #main_contents #wrap .explain {
    width: 100%;
    max-width: 1236px;
    margin: 0 auto;
}

@media screen and (max-width: 1236px) {
    #main_contents #wrap .benefit, #main_contents #wrap .explain {
        width: 95%;
        margin: 0 auto;
    }
}

#main_contents #wrap .benefit .scroll table, #main_contents #wrap .explain table {
    width: 100%;
    max-width: 1236px;
    font-weight: 500;
}

#main_contents #wrap .benefit .scroll table {
    margin: 60px auto 0;
    font-size: 18px;
}

#main_contents #wrap .benefit .scroll table th {
    width: 25%;
    text-align: center;
    padding: 5px;
    color: #fefefe;
}

#main_contents #wrap .benefit .scroll table th.epkg {
    background: #000;
}

#main_contents #wrap .benefit .scroll table th.plpkg {
    background: #bf9c50;
}

#main_contents #wrap .benefit .scroll table th.pspkg {
    background: #727171;
}

#main_contents #wrap .benefit .scroll table td {
    padding: 5px;
}

#main_contents #wrap .benefit .scroll table td.fixed {
    text-align: left;
}

#main_contents #wrap .benefit .scroll table td.response {
    text-align: center;
}

#main_contents #wrap .benefit .scroll table td.gray, #main_contents #wrap .explain table tr td.gray {
    background: #f5f5f5;
}

#main_contents #wrap .benefit p {
    width: 100%;
    text-align: left;
    margin-top: 20px;
    font-size: 16px;
    font-weight: 500;
}

#main_contents #wrap .explain h4 {
    text-align: left;
    margin-top: 40px;
    font-size: 20px;
    font-weight: 700;
}

#main_contents #wrap .explain table {
    text-align: left;
    margin: 0 auto;
    font-size: 16px;
}

#main_contents #wrap .explain table tr th {
    width: 25%;
    padding: 10px;
    background: #041e42;
    color: #fefefe;
    border-bottom: 1px solid #fefefe;
}

#main_contents #wrap .explain table tr td {
    width: 75%;
    padding: 10px;
    border-top: 1px solid #323232;
    border-bottom: 1px solid #323232;
}