@charset "UTF-8";
/*----------------------------------------

	index CSS

	- common

-----------------------------------------*/
/*----------------------------------------
	redline
-----------------------------------------*/
.redline {
	background-image: linear-gradient(#fe3464, #fe3464);
    background-position: 0 50%;
    background-size: 100% 2px;
    background-repeat: repeat-x;
    text-decoration: none;
}


/*----------------------------------------
	common
-----------------------------------------*/
#headtitle.tit_bg .headtitle_bg {
	background-image: url(../img/i_titbg01s.jpg?240301);
}
#headbtn {
	padding: 43px 0;
	background-color: #000c30;
}
/* pc  768 - # */
@media print, screen and (min-width:768px) {
	#headtitle.tit_bg .headtitle_bg {
		background-image: url(../img/i_titbg01.jpg?240301);
	}
	#headbtn {
		padding: 70px 0;
	}
	#headbtn .i_btn01 {
		max-width: 330px;
		margin: 0 auto;
	}
}
@media screen and (min-width:768px) and (-webkit-min-device-pixel-ratio: 2),
	   screen and (min-width:768px) and (-o-min-device-pixel-ratio: 2/1),
	   screen and (min-width:768px) and (min-resolution: 2dppx){
	#headtitle.tit_bg .headtitle_bg {
		background-image: url(../img/i_titbg01@2x.jpg?240301);
	}
}

/*----------------------------------------
	fixbtn
-----------------------------------------*/
#fixbtn {
	width: auto;
	padding: 0;
	background: #836e31;
	border-top: none;
}
#fixbtn>ul>li>a>span:before {
	display: block;
	width: 100%;
	height: 30px;
	background: center 0 no-repeat;
	background-size: 30px auto;
}
#fixbtn>ul>li:nth-child(1)>a>span:before {
	background-image: url(/asset/img/cmn/c_fixbtn_i01.png);
}
#fixbtn>ul>li:nth-child(2)>a>span:before {
	background-image: url(/asset/img/cmn/c_fixbtn_i02.png);
}
#fixbtn>ul>li:nth-child(3)>a>span:before {
	background-image: url(/asset/img/cmn/c_fixbtn_i03.png);
}
#fixbtn>ul>li+li {
	border-left: 1px dashed rgba(255,255,255,0.2);
}
/* pc  768 - # */
@media print, screen and (min-width:768px) {
	#fixbtn {
		width: 300px;
		padding: 0;
		background: #000c30;
		border-top: 1px solid #fff;
	}
	#fixbtn>ul>li>a>span:before {
		background-position: center -2px;
		background-size: 34px auto;
	}
	#fixbtn>ul>li+li {
		border-left: none;
	}
}

/*----------------------------------------
	fixbtn - animation
-----------------------------------------*/

#fixbtn>ul>li:nth-child(1) a>span:before {
    animation-delay: 0s;
}
#fixbtn>ul>li:nth-child(2) a>span:before {
    animation-delay: 0.1s;
}
#fixbtn>ul>li:nth-child(3) a>span:before {
    animation-delay: 0.2s;
}
#fixbtn>ul>li>a>span:before {
	-webkit-animation: icon_jump 4s ease both infinite;
	animation: icon_jump 4s ease both infinite;
	-webkit-transform-origin: center center;
	transform-origin: center center;
}
#fixbtn>ul>li>a:hover span:before {
	-webkit-animation: icon_jump_hover 2.4s ease both infinite;
	animation: icon_jump_hover 2.4s ease both infinite;
	-webkit-transform-origin: center center;
	transform-origin: center center;
}

@-webkit-keyframes icon_jump {
	from {
		-webkit-animation-timing-function: ease-in;
		-webkit-transform: translate(0px,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} to {
		-webkit-animation-timing-function: ease-out;
		-webkit-transform: translate(0px,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 40% {
		-webkit-animation-timing-function: ease-in-out;
		-webkit-transform: translate(0px,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 45% {
		-webkit-animation-timing-function: ease-in-out;
		-webkit-transform: translate(0px,-4px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 49% {
		-webkit-animation-timing-function: ease-in-out;
		-webkit-transform: translate(0px,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 53% {
		-webkit-animation-timing-function: ease-in-out;
		-webkit-transform: translate(0px,-1px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 57% {
		-webkit-animation-timing-function: ease-in-out;
		-webkit-transform: translate(0px,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 
}

@keyframes icon_jump {
	from {
		animation-timing-function: ease-in;
		transform: translate(0px,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} to {
		animation-timing-function: ease-out;
		transform: translate(0px,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 40% {
		animation-timing-function: ease-in-out;
		transform: translate(0px,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 45% {
		animation-timing-function: ease-in-out;
		transform: translate(0px,-4px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 49% {
		animation-timing-function: ease-in-out;
		transform: translate(0px,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 53% {
		animation-timing-function: ease-in-out;
		transform: translate(0px,-1px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 57% {
		animation-timing-function: ease-in-out;
		transform: translate(0px,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 
}

@-webkit-keyframes icon_jump_hover {
	from {
		-webkit-animation-timing-function: ease-in;
		-webkit-transform: translate(0px,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} to {
		-webkit-animation-timing-function: ease-out;
		-webkit-transform: translate(0px,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 9% {
		-webkit-animation-timing-function: linear;
		-webkit-transform: translate(0px,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1;
	} 12% {
		-webkit-animation-timing-function: ease-out;
		-webkit-transform: translate(0px,-6px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 20% {
		-webkit-animation-timing-function: ease-in-out;
		-webkit-transform: translate(0px,-7px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 28% {
		-webkit-animation-timing-function: ease-in-out;
		-webkit-transform: translate(0px,-6px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 33% {
		-webkit-animation-timing-function: ease-in-out;
		-webkit-transform: translate(0px,-4px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 38% {
		-webkit-animation-timing-function: ease-in-out;
		-webkit-transform: translate(0px,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 42% {
		-webkit-animation-timing-function: linear;
		-webkit-transform: translate(0px,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1;
	} 45% {
		-webkit-animation-timing-function: ease-out;
		-webkit-transform: translate(0px,-6px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 53% {
		-webkit-animation-timing-function: ease-in-out;
		-webkit-transform: translate(0px,-7px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 60% {
		-webkit-animation-timing-function: ease-in-out;
		-webkit-transform: translate(0px,-6px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 65% {
		-webkit-animation-timing-function: ease-in-out;
		-webkit-transform: translate(0px,-4px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 70% {
		-webkit-animation-timing-function: ease-out;
		-webkit-transform: translate(0px,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 
}

@keyframes icon_jump_hover {
	from {
		animation-timing-function: ease-in;
		transform: translate(0px,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} to {
		animation-timing-function: ease-out;
		transform: translate(0px,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 9% {
		animation-timing-function: linear;
		transform: translate(0px,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1;
	} 12% {
		animation-timing-function: ease-out;
		transform: translate(0px,-6px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 20% {
		animation-timing-function: ease-in-out;
		transform: translate(0px,-7px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 28% {
		animation-timing-function: ease-in-out;
		transform: translate(0px,-6px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 33% {
		animation-timing-function: ease-in-out;
		transform: translate(0px,-4px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 38% {
		animation-timing-function: ease-in-out;
		transform: translate(0px,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 42% {
		animation-timing-function: linear;
		transform: translate(0px,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1;
	} 45% {
		animation-timing-function: ease-out;
		transform: translate(0px,-6px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 53% {
		animation-timing-function: ease-in-out;
		transform: translate(0px,-7px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 60% {
		animation-timing-function: ease-in-out;
		transform: translate(0px,-6px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 65% {
		animation-timing-function: ease-in-out;
		transform: translate(0px,-4px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 70% {
		animation-timing-function: ease-out;
		transform: translate(0px,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 
}


/*----------------------------------------
	s_open
-----------------------------------------*/
#s_open {
	margin-top: 56px;
	margin-bottom: 80px;
}
#s_open .box01 {
	padding: 32px 5.3% 28px;
}
#s_open .box01 p:first-child {
	letter-spacing: 0.2rem;
}
html[lang="en"] #s_open .box01 p:first-child {
	line-height: 1;
}
#s_open .box01 p+p {
	margin-top: 12px;
}
#s_open .box02 {
	padding-bottom: 22px;
	background-color: #f5f5f5;
}
#s_open .box02>h3 {
	padding: 22px 0 16px;
}
#s_open .box02>dl>dt {
	padding: 6px 5.3% 7px;
	background-color: #fff;
}
#s_open .box02>dl>dd {
	padding: 16px 5.3%;
}
#s_open .box02>p {
	padding: 0 5.3%;
}
/* pc  768 - # */
@media print, screen and (min-width:768px) {
	#s_open {
		max-width: 1200px;
		margin-top: 100px;
		margin-bottom: 130px;
	}
	#s_open .box01 {
		padding: 48px 0 35px;
	}
	html[lang="en"] #s_open .box01 p:first-child {
		line-height: 1.5;
	}
	#s_open .box01 p+p {
		margin-top: 26px;
	}
	#s_open .box02 {
		padding: 0 60px 38px;
	}
	#s_open .box02>h3 {
		padding: 36px 0 28px;
		letter-spacing: 0.2rem;
	}
	#s_open .box02>dl {
		display: table;
		width: 100%;
		background-color: #fff;
	}
	#s_open .box02>dl+dl {
		border-top: 1px solid #f5f5f5;
	}
	#s_open .box02>dl>dt,
	#s_open .box02>dl>dd {
		display: table-cell;
		vertical-align: middle;
		padding: 27px 0;
	}
	#s_open .box02>dl>dt {
		width: 290px;
		padding: 0 20px;
		text-align: center;
	}
	#s_open .box02>p {
		margin-top: 14px;
		padding: 0;
	}
}

/*----------------------------------------
	s_price
-----------------------------------------*/
#s_price {
	margin-bottom: 80px;
}
#s_price .box01 {
	margin-bottom: 18px;
	border-bottom: 1px solid #ebebeb;
}
#s_price .box01>dl>dt {
	padding: 9px 0px 10px;
	background-color: #cfd8e5;
	letter-spacing: 0.2rem;
}
#s_price .box01>dl>dd {
	text-align: center;
	padding: 30px 5.3% 31px;
}
#s_price .box02 h4 {
	margin-top: 42px;
	margin-bottom: 16px;
	letter-spacing: 0.2rem;
}
#s_price .box02 h4:before {
	content: '◆';
	display: inline-block;
	vertical-align: top;
	width: 1.2em;
	text-indent: 0;
}
#s_price .box02 dl {
	display: table;
	min-width: 270px;
	margin: 28px auto 30px;
	padding: 20px;
	background-color: #cfd8e5;
}
#s_price .box02 dl>dt {
	margin-bottom: 12px;
	letter-spacing: 0.2rem;
}
#s_price .box02 dl>dt>span {
	display: block;
	margin-bottom: 2px;
	font-weight: normal;
	letter-spacing: 0;
}
#s_price .box02 dl>dd+dd {
	margin-top: 1em;
}
/* pc  768 - # */
@media print, screen and (min-width:768px) {
	#s_price {
		max-width: 1200px;
		margin-bottom: 130px;
	}
	#s_price .box01 {
		display: table;
		table-layout: fixed;
		width: 100%;
		margin-bottom: 26px;
	}
	#s_price .box01>dl {
		display: table-cell;
		vertical-align: top;
	}
	#s_price .box01>dl+dl {
		border-left: 1px solid #fff;
	}
	#s_price .box01>dl>dt {
		padding: 11px 0px;
	}
	#s_price .box01>dl>dd {
		padding: 60px 0 64px;
		letter-spacing: 0.2rem;
	}
	#s_price .box01>dl>dd>div>dl+dl {
		margin-top: 16px;
	}
	#s_price .box02 h4 {
		margin-top: 68px;
		margin-bottom: 22px;
	}
	#s_price .box02 dl {
		min-width: 320px;
		margin: 34px auto 40px;
		padding: 28px 20px 28px;
	}
	#s_price .box02 dl>dt {
		margin-bottom: 18px;
		letter-spacing: 0.4rem;
	}
	#s_price .box02 dl>dt>span {
		margin-bottom: 8px;
		letter-spacing: 0.2rem;
	}
	#s_price .box02 dl>dd {
		line-height: 1.65;
	}
	#s_price .box02 dl>dd>span {
		line-height: 0.8;
	}
}

/*----------------------------------------
	s_ticket
-----------------------------------------*/
#s_ticket {
	margin-bottom: 80px;
}
#s_ticket h2 {
	margin-bottom: 35px;
}
#s_ticket .box01 {
	margin-top: 40px;
	padding: 32px 5.3% 35px;
	background: #edcecc;
}
#s_ticket .box01 h3 {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	margin-bottom: 30px;
	letter-spacing: 0.3em;
}
#s_ticket .box01 h3 > span:nth-child(1) {
	margin-bottom: 2px;
}
#s_ticket .box01 h3 > span:nth-child(2) {
	position: relative;
}
#s_ticket .box01 h3 > span:nth-child(2) span {
	position: relative;
}
#s_ticket .box01 h3 > span:nth-child(2) i {
	position: absolute;
	bottom: 0;
	left: -2px;
	width: 100%;
	height: 10px;
	background: #f2ea00;
	transition: width 0.6s;
}
#s_ticket.efIn .box01 h3 > span:nth-child(2) i {
	width: 0%;
}
#s_ticket .box01 ul {
	margin-bottom: 30px;
}
#s_ticket .box01 ul>li+li {
	margin-top: 20px;
	padding-top: 25px;
	border-top: 1px solid #e5bcb9;
}
#s_ticket .box01 ul>li>figure {
	width: 190px;
	margin: 0 auto 22px;
}
#s_ticket .box01 ul>li>dl>dt {
	margin-bottom: 5px;
}
#s_ticket .box01 ul>li>dl>dd {
	line-height: 1.8;
}
#s_ticket .box02 {
	margin: 20px 0 35px;
	padding: 30px 5.3% 10px;
	background: #f5f5f5;
}
#s_ticket .box02 h3 {
	margin-bottom: 26px;
}
#s_ticket .box02 p {
	margin-bottom: 20px;
	line-height: 1.8;
}
#s_ticket .btn_list {
	width: auto;
	margin: 0 5.3%;
}
#s_ticket .atte {
	margin: 0 0 50px;
	padding: 20px 20px;
	border: 1px solid #000;
}
#s_ticket .atte h3 {
	margin-bottom: 20px;
}
#s_ticket .atte .txt p {
	margin-top: 1.2em
}
/* pc  768 - # */
@media print, screen and (min-width:768px) {
	#s_ticket {
		max-width: 1200px;
		margin-bottom: 130px;
	}
	#s_ticket h2 {
		margin-bottom: 45px;
	}
	#s_ticket .box01 {
		margin-top: 45px;
		padding: 45px 0 50px;
	}
	#s_ticket .box01 h3 {
		margin-bottom: 40px;
	}
	#s_ticket .box01 ul {
		display: flex;
		margin-bottom: 50px;
	}
	#s_ticket .box01 ul>li {
		flex: 1;
	}
	#s_ticket .box01 ul>li+li {
		margin: 0;
		padding: 0;
		border-top: none;
		border-left: 1px solid #e5bcb9;
	}
	#s_ticket .box01 ul>li>figure {
		display: flex;
		align-items: flex-end;
		height: 80px;
		margin-bottom: 25px;
	}
	#s_ticket .box01 ul>li>dl {
		width: 260px;
		margin: 0 auto;
	}
	#s_ticket .box01 ul>li>dl>dt {
		margin-bottom: 10px;
		font-weight: bold;
	}
	#s_ticket .box02 {
		margin: 20px 0 70px;
		padding: 45px 0 50px;
		background: #f5f5f5;
	}
	#s_ticket .box02 h3 {
		margin-bottom: 18px;
	}
	#s_ticket .box02 p {
		margin-bottom: 15px;
	}
	#s_ticket .atte li {
		text-indent: -1em;
		padding-left: 1em;
	}
	#s_ticket .atte li::before {
		content: attr(data-ul);
		display: inline-block;
		width: 1em;
		text-align: center;
		text-indent: 0;
	}
	#s_ticket .btn_list {
		margin: 0 auto;
		width: 640px;
	}
	#s_ticket .atte {
		padding: 30px 50px;
	}
}

/*----------------------------------------
	s_notice
-----------------------------------------*/
#s_notice h2 {
	margin-top: 42px;
	margin-bottom: 16px;
	letter-spacing: 0.2rem;
}
#s_notice h2:before {
	content: '◆';
	display: inline-block;
	vertical-align: top;
	width: 1.2em;
	text-indent: 0;
}
#s_notice [class^="li"]>li:before {
	display: inline-block;
	vertical-align: top;
	width: 1em;
	text-indent: 0;
}
#s_notice .li01 {
	margin-bottom: 18px;
}
#s_notice .li01>li:before {
	content: '・';
}
#s_notice .li02>li:before {
	content: '※';
}
[lang="en"] #s_notice .li02>li:before {
	content: '*';
}
#s_notice .li01>li+li {
	margin-top: 10px;
}
/* pc  768 - # */
@media print, screen and (min-width:768px) {
	#s_notice {
		max-width: 1200px;
	}
	#s_notice h2 {
		margin-top: 68px;
		margin-bottom: 22px;
	}
	html[lang="en"] #s_notice .btn_list>li:nth-child(2)>p>a {
		letter-spacing: 0.1rem;
		padding-right: 30px;
	}
	#s_notice [class^="li"]>li {
		line-height: 1.8;
	}
	#s_notice .li01>li+li {
		margin-top: 6px;
	}
}

.info_event {
	width: auto;
	margin: 90px 5.3% 0 5.3%;
}
/* pc  768 - # */
@media print, screen and (min-width:768px) {
	.info_event {
		width: 100%;
		margin: 120px auto -40px;
	}
}