@charset "UTF-8";

/* ==================================================
Page Header
================================================== */
#page-hdr {
	margin-bottom: var(--clamp8);
}

#page-title .caption p {
	margin-bottom: 10px;
}

#hdr-contents {
	padding-top: var(--clamp2);
	background-color: rgba(var(--rgb-black), 0.6);
	/*padding: 60px min(3%, 30px) 50px;*/
	padding: 40px min(3%, 30px) 20px;
	width: min(94%, 1000px);
	margin: 0 auto;
}

/* #link-wrap
------------------------------ */
#link-wrap {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	flex-direction: row;
	width: min(100%, 820px);
	margin: 0 auto;
}

#link-wrap>li {
	width: 48.5%;
}

#link-wrap>li:not(.wide) {
}

#link-wrap>li.wide {
	width: 100%;
	margin-bottom: var(--clamp5);
}

#link-wrap>li.wide:empty {
	display: none;
}

#link-wrap>li a span br.sp-only {
	display: none !important;;
}

@media screen and (max-width: 640px) {
	#link-wrap {
		display: block;
	}
	
	#link-wrap>li {
		width: 100%;
	}
	
	#link-wrap>li:not(.wide) {
		margin-top: var(--clamp2);
	}
	
	#link-wrap>li.wide + li {
		margin-top: var(--clamp8);
	}
}


/* .link-btn */
#link-wrap>li .link-btn {
	font-size: clamp(15px, 12.241px + 0.862vw, 20px);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.06em;
	color: var(--color-black) !important;
	padding: 0 6px;
	display: block;
	position: relative;
	transition: var(--transition-def);
}

.icon-accepting {
	position: absolute;
	z-index: 3;
	top: -20px;
	left: -20px;
	width: clamp(72px, 56.552px + 4.828vw, 100px);
	aspect-ratio: 1 / 1;
	background-image: url(/iwf2023/asset_subpage/img/svg/icon_accepting.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

@media screen and (max-width: 640px) {
	.icon-accepting {
		top: -32px;
		left: -16px;
	}
}

.device-pc #link-wrap>li .link-btn:hover {
	filter: var(--hover-filter-def);
}

#link-wrap>li .link-btn::before,
#link-wrap>li .link-btn::after {
	content: "";
	position: absolute;
	border: 1px solid rgba(var(--rgb-aqua), 0.5);
}

#link-wrap>li .link-btn.jme::before,
#link-wrap>li .link-btn.jme::after {
	border-color: rgba(var(--rgb-yellow), 0.5);
}

#link-wrap>li .link-btn.real::before,
#link-wrap>li .link-btn.real::after {
	border-color: rgba(var(--rgb-aqua), 0.5);
}

#link-wrap>li .link-btn.online::before,
#link-wrap>li .link-btn.online::after {
	border-color: rgba(var(--rgb-purple), 0.5);
}

#link-wrap>li .link-btn::before {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: -1;
}

#link-wrap>li .link-btn::after {
	width: calc(100% - 12px);
	height: calc(100% + 12px);
	top: -6px;
	left: 6px;
	z-index: -2;
}

#link-wrap>li .link-btn dl,
#link-wrap>li .link-btn span {
	display: block;
	padding: 0.8em 1.4em;
	position: relative;
	background-color: var(--color-aqua);
}

#link-wrap>li.wide .link-btn dl {
	padding: 0.8em 1.8em;
}

#link-wrap>li .link-btn.jme dl {
	background-color: var(--color-yellow);
}

#link-wrap>li .link-btn.real span {
	background-color: var(--color-aqua);
}

#link-wrap>li .link-btn.online span {
	background-color: var(--color-purple);
}

#link-wrap>li .link-btn span {
}

@media screen and (max-width: 480px) {
	#link-wrap>li .link-btn span br {
		display: none;
	}
}

#link-wrap>li .link-btn dl::after,
#link-wrap>li .link-btn span::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0.8em;
	margin: auto 0;
	width: 7px;
	aspect-ratio: 7 / 16;
	background-image: url(/iwf2023/asset_subpage/img/svg/icon_arrow_black.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	transition: var(--transition-def);
	transform: rotate(90deg);
}

#link-wrap>li .link-btn:hover dl::after,
#link-wrap>li .link-btn:hover span::after {
	transform: rotate(90deg) translateX(6px);
}


#link-wrap>li .link-btn dl {
}

#link-wrap>li .link-btn dl dt {
	font-size: clamp(18px, 10.276px + 2.414vw, 32px);
}

#link-wrap>li .link-btn dl dt strong {
	display: inline-block;
}

@media screen and (max-width: 640px) {
	#link-wrap>li .link-btn dl dt strong {
		display: block;
	}
}

#link-wrap>li .link-btn dl dt em {
	color: var(--color-red);
}

#link-wrap>li .link-btn dl dd {
	display: inline-flex;
	justify-content: center;
	align-items: stretch;
	flex-wrap: nowrap;
	flex-direction: row;
	font-size: clamp(13px, 8.077px + 0.769vw, 15px);
	line-height: 1.4;
	color: var(--color-yellow);
	background-color: var(--color-black);
	margin-top: 0.5em;
}

#link-wrap>li .link-btn dl dd .ttl {
	border-right: 2px solid var(--color-yellow);
	padding: 0.2em 1em;
}

#link-wrap>li .link-btn dl dd .period {
	padding: 0.2em 1em;
	text-align: left;
}

#link-wrap>li .link-btn dl dd .period i {
	display: inline-block;
}

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

	#link-wrap>li .link-btn dl dd {
		display: block;
		width: 94%;
		margin-left: auto;
		margin-right: auto;
	}

	#link-wrap>li .link-btn dl dd .ttl {
		border-right: 0;
		border-bottom: 1px solid var(--color-yellow);
	}

	#link-wrap>li .link-btn dl dd .period {
		text-align: center;
	}

	#link-wrap>li .link-btn dl dd .period i {
		display: inline-block;
	}
}

#link-wrap>li .caption {
	margin-top: 0.6em;
}

#link-wrap>li .caption p {
	font-size: var(--fz-large);
}

#link-wrap>li .caption p span {
}

@media screen and (max-width: 480px) {
	#link-wrap>li .caption {
	}
}





/* ==================================================
Main
================================================== */
#page-main {
	padding-bottom: var(--clamp12);
}


/* ==================================================
Frame
================================================== */
.subpage .frame-wrap {
	width: min(94%, 1100px);
	margin-left: auto;
	margin-right: auto;
	margin-bottom: var(--clamp8);
	position: relative;
	border: 1px solid rgba(var(--rgb-aqua), 0.3);
	background-color: rgba(var(--rgb-black),0.8);
}

.subpage .frame-wrap .frame-inner {
	position: relative;
	width: 100%;
	padding: 60px 5%;
}

.subpage .frame-wrap::before,
.subpage .frame-wrap::after,
.subpage .frame-wrap .frame-inner::before,
.subpage .frame-wrap .frame-inner::after {
	content: "";
	position: absolute;
	width: 60px;
	height: 60px;
	border-top: 3px solid var(--color-aqua);
	border-left: 3px solid var(--color-aqua);
}

.subpage .frame-wrap::before {
	bottom: -1px;
	left: -1px;
	transform: rotate(-90deg);
}

.subpage .frame-wrap::after {
	bottom: -1px;
	right: -1px;
	transform: rotate(-180deg);
}

.subpage .frame-wrap .frame-inner::before {
	top: -1px;
	left: -1px;
}

.subpage .frame-wrap .frame-inner::after {
	top: -1px;
	right: -1px;
	transform: rotate(90deg);
}

@media screen and (max-width: 900px) {
	.subpage .frame-wrap {
		max-width: 740px;
	}
	
	.subpage .frame-wrap .frame-inner {
		padding: 60px 5%;
	}
	
	.subpage .frame-wrap::before,
	.subpage .frame-wrap::after,
	.subpage .frame-wrap .frame-inner::before,
	.subpage .frame-wrap .frame-inner::after {
		width: 40px;
		height: 40px;
	}
}


/* ==================================================
Ticket Area - Real / Online
================================================== */
#real-ticket-area {
}

#online-ticket-area {
}


/* Ticket Frame
------------------------------ */
.ticket-frame {
	width: min(94%, 1200px);
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

.ticket-frame:nth-of-type(n+2) {
	margin-top: var(--clamp5);
}


.ticket-frame::after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	border: 1px solid rgba(var(--rgb-aqua), 0.3);
	background-color: rgba(0,0,0,0.8);
}

.ticket-frame .ticket-frame-corner {
	position: absolute;
	left: 0;
	width: 100%;
}

.ticket-frame .ticket-frame-corner b {
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_center.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	position: absolute;
	top: -2px;
	width: 140px;
	aspect-ratio: 320 / 36;
	left: 0;
	right: 0;
	margin: 0 auto;
}

.ticket-frame .ticket-frame-corner::before,
.ticket-frame .ticket-frame-corner::after {
	content: "";
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_corner.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	position: absolute;
	top: -2px;
	width: 80px;
	aspect-ratio: 1 / 1;
}

@media screen and (max-width: 480px) {
	.ticket-frame .ticket-frame-corner b {
		top: -1px;
		width: 80px;
	}
	
	.ticket-frame .ticket-frame-corner::before,
	.ticket-frame .ticket-frame-corner::after {
		top: -1px;
		width: 50px;
	}
}


/* === vip === */
.ticket-frame.vip::after {
	border: 1px solid rgba(var(--rgb-orange), 0.3);
}

.ticket-frame.vip .ticket-frame-corner b {
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_center_vip.svg);
}

.ticket-frame.vip .ticket-frame-corner::before,
.ticket-frame.vip .ticket-frame-corner::after {
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_corner_vip.svg);
}

/* === online === */
.ticket-frame.online::after {
	border: 1px solid rgba(var(--rgb-purple), 0.3);
}

.ticket-frame.online .ticket-frame-corner b {
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_center_online.svg);
}

.ticket-frame.online .ticket-frame-corner::before,
.ticket-frame.online .ticket-frame-corner::after {
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_corner_online.svg);
}

/* === jme === */
.ticket-frame.jme::after {
	border: 1px solid rgba(var(--rgb-yellow), 0.3);
}

.ticket-frame.jme .ticket-frame-corner b {
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_center_jme.svg);
}

.ticket-frame.jme .ticket-frame-corner::before,
.ticket-frame.jme .ticket-frame-corner::after {
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_corner_jme.svg);
}
/* === */


.ticket-frame .ticket-frame-corner::before {
	left: -2px;
}

.ticket-frame .ticket-frame-corner::after {
	right: -2px;
	transform: rotate(90deg);
}

.ticket-frame .ticket-frame-corner.head {
	top: 0;
}

.ticket-frame .ticket-frame-corner.foot {
	bottom: 0;
	transform: rotate(180deg);
}


/* .ticket-frame-inner  */
.ticket-frame .ticket-frame-inner {
	padding: 60px min(5%, 30px) 80px;
	min-height: 200px;
}

.ticket-frame.vip {}
.ticket-frame.vip .ticket-frame-inner {}

.ticket-frame.online {}
.ticket-frame.online .ticket-frame-inner {
	padding: 70px min(5%, 30px);
}

.ticket-frame.jme {}
.ticket-frame.jme .ticket-frame-inner {}


/* .ticket-frame-main  */
.ticket-frame-main {
	width: min(100%, 800px);
	margin: 0 auto;
}


/* .frame-title */
.frame-title {
	width: 90%;
	margin: 0 auto var(--clamp2);
}

.frame-title h3 {
	font-size: clamp(18px, 10.276px + 2.414vw, 32px);
	color: var(--color-yellow);
	font-weight: 700;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	flex-direction: row;
}

.frame-title h3::before,
.frame-title h3::after {
	position: relative;
	content: "";
	width: min(18%, 160px);
	aspect-ratio: 174 / 38;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

.frame-title h3::before {
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_titel_left.svg);
}

.frame-title h3::after {
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_titel_right.svg);
}

/* === vip === */
.vip .frame-title h3 { color: var(--color-yellow); }
.vip .frame-title h3::before {
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_titel_left_vip.svg);
}
.vip .frame-title h3::after {
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_titel_right_vip.svg);
}

/* === online === */
.online .frame-title h3 { color: var(--color-yellow); }
.online .frame-title h3::before {
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_titel_left_online.svg);
}
.online .frame-title h3::after {
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_titel_right_online.svg);
}
/* === */

@media screen and (max-width: 480px) {
	.frame-title {
		margin: 0 auto var(--clamp3);
	}

	.frame-title h3 {
		display: block;
		line-height: 1.2;
		padding: 16px 1em 12px;
	}
	
	.frame-title h3::before,
	.frame-title h3::after {
		content: "";
		position: absolute;
		width: auto;
		height: 16px;
		aspect-ratio: 174 / 38;
		background-image: url(/iwf2023/asset_subpage/img/svg/frame_titel_left.svg);
	}
	
	.frame-title h3::before {
		top: 0;
		left: 0;
	}
	
	.frame-title h3::after {
		bottom: 0;
		right: 0;
		transform: rotate(180deg);
	}
	
	/* === vip === */
	.vip .frame-title h3::before,
	.vip .frame-title h3::after {
		background-image: url(/iwf2023/asset_subpage/img/svg/frame_titel_left_vip.svg);
	}
	
	/* === online === */
	.online .frame-title h3::before,
	.online .frame-title h3::after {
		background-image: url(/iwf2023/asset_subpage/img/svg/frame_titel_left_online.svg);
	}
	/* === */
}


.frame-title h3 span {

}

.frame-title.vip {}
.frame-title.vip h3 {}
.frame-title.vip h3 span {}

.frame-title.online {}
.frame-title.online h3 {}
.frame-title.online h3 span {}


/* Ticket Common
------------------------------ */
.ticket-area {
	padding-bottom: var(--clamp12);
}

.ticket-area .area-inner {
	width: min(94%, 1200px);
	margin-left: auto;
	margin-right: auto;
}


/* .area-title */
.area-title {
	position: relative;
	margin-bottom: var(--clamp4);
	overflow: hidden;
}

.area-title::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto 0;
	width: 100%;
	height: 1px;
	background-color: var(--color-blue-light);
	opacity: 0.5;
}

.area-title h2 {
	color: var(--color-aqua);
	font-family: var(--font-en);
	font-weight: 400;
	font-size: var(--fz-area-ttl);
	line-height: 1;
	letter-spacing: 0;
	width: min(94%, 1200px);
	margin-left: auto;
	margin-right: auto;
	padding: 0 0 0 min(3%, 30px);
	text-align: left;
}

.real .area-title h2 { color: var(--color-aqua); }
.online .area-title h2 { color: var(--color-purple); }
.jme .area-title h2 { color: var(--color-yellow); }



.area-title h2 span {
	position: relative;
	display: inline-block;
	padding-right: 0.6em;
}

/*@media screen and (max-width: 480px) {
	.area-title h2 span {
		padding-right: 0.6em;
	}
}*/

.area-title h2 span::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 100%;
	margin: auto 0;
	aspect-ratio: 1596 / 36;
	/*width: 100vw;*/
	height: clamp(24px, 17.379px + 2.069vw, 36px);
	background: url(/iwf2023/asset_subpage/img/svg/border_blue.svg) no-repeat left center;
	background-size: contain;
}


/* .area-head */
.area-head {
	width: min(94%, 1200px);
	margin-left: auto;
	margin-right: auto;
	margin-bottom: var(--clamp5);
}

.area-head dl {
	text-align: left;
}

.area-head dl dt {
	display: inline-block;
	background-color: var(--color-yellow);
	font-weight: 700;
	font-size: clamp(18px, 14.69px + 1.034vw, 24px);
	padding: 0.2em 0.5em;
	line-height: 1.2;
}

.area-head dl dd {
	border-left: 4px solid var(--color-aqua);
	padding-left: 1.2em;
	margin-top: var(--clamp3);
	font-size: clamp(14px, 11.793px + 0.69vw, 18px);
}

.area-head dl dd .txtcolor-yellow {
}

.area-head dl dd .caution {
}

.area-head dl dd .caution li {
	color: var(--color-red);
	font-size: 90%;
}


/* .ticket-block - グリッドテンプレート */
.ticket-block {
}

.ticket-block + .ticket-block {
	margin-top: var(--clamp3);
}

.privilege-block + .ticket-block {
	margin-top: var(--clamp5);
}

.ticket-block .grid-wrap {
	display: grid;
	gap: 0 0;
	grid-template-columns: 1fr 130px;
	grid-template-rows: 1fr auto;
	grid-template-areas:
		"cel-a cel-b"
		"cel-c cel-b";
	background-color: rgba(var(--rgb-aqua), 0.1);
	border-left: 6px solid var(--color-aqua);
	padding: 20px min(3%, 20px);
}

@media screen and (max-width: 640px) {
	.ticket-block .grid-wrap {
		grid-template-columns: 1fr 130px;
		grid-template-rows: 1fr auto;
		grid-template-areas:
			"cel-a cel-b"
			"cel-c cel-c";
	}
}

@media screen and (max-width: 480px) {
	.ticket-block .grid-wrap {
		display: block;
		padding-left: 5%;
	}
}

/* === vip === */
.vip .ticket-block .grid-wrap {
	border-left: 6px solid var(--color-orange);
}

/* === vip === */
.online .ticket-block .grid-wrap {
	border-left: 6px solid var(--color-purple);
}
/* === */

.ticket-block .grid-wrap .cel-a {
	/*grid-area: 1 / 1 / 2 / 2;*/
	grid-area: cel-a;
}

.ticket-block .grid-wrap .cel-b {
	/*grid-area: 1 / 2 / 3 / 3;*/
	grid-area: cel-b;
}

.ticket-block .grid-wrap .cel-c {
	/*grid-area: 2 / 1 / 3 / 2;*/
	grid-area: cel-c;
}


/* .t-ttl */
.t-ttl {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	flex-direction: row;
	text-align: left;
	line-height: 1.2;
	padding: 0 0 0.8em;
	min-height: 4em;
}

.t-ttl .name {
	font-size: clamp(18px, 15.793px + 0.69vw, 22px);
	font-weight: 700;
}

.t-ttl .name i {
	display: inline-block;
}

.t-ttl .name .name-sub {
	font-size: var(--fz-extra);
	font-weight: 400;
	margin-top: 0.5em;
	display: inline-block;
}

.t-ttl .name .tag {
	display: inline-block;
	font-size: 80%;
	border: 1px solid #fff;
	border-radius: 50px;
	line-height: 1;
	padding: 0.2em 0.5em;
	margin: 0 0.2em;
	transform: translateY(-1px);
}

.t-ttl .price {
	font-size: var(--fz-extra);
	font-weight: 700;
	text-align: right;
	margin: 0.2em 0 0.2em auto;
	padding-left: 1em;
}

.t-ttl .price span {
}

.t-ttl .price span.free {
	color: var(--color-green);
}

.t-ttl .price span::after {
	content: "円（税込）";
	display: inline-block;
	font-size: 80%;
	margin-left: 0.2em;
}

.t-ttl .price span.free::after {
	display: none;
}

@media screen and (max-width: 640px) {
	.t-ttl {
		justify-content: center;
		align-items: center;
		flex-direction: column;
		text-align: left;
		line-height: 1.2;
		padding: 0;
		min-height: 4em;
		height: 100%;
	}

	.t-ttl .name {
		width: 100%;
	}

	.t-ttl .price {
		width: 100%;
		text-align: right;
		margin: 0.8em 0 0 auto;
		padding-left: 0;
	}
}

@media screen and (max-width: 640px) {
	.t-ttl {
		margin-bottom: 1.6em;
	}
}


/* .t-note */
.t-note {
	font-size: var(--fz-regular);
	color: var(--color-gray-3);
	text-align: left;
	border-top: 1px solid rgba(var(--rgb-white), 0.5);
	padding-top: 1em;
}

.t-note span {
}

.t-note ul.note-child {
}

.t-note ul.note-child li {
	font-size: 90%;
	text-align: left;
	text-indent: -1em;
	padding-left: 1em;
	position: relative;
}

.t-note ul.note-child li * {
	text-indent: 0;
}

.t-note ul.note-child li::before {
	text-indent: 0;
	content: "※";
}


@media screen and (max-width: 640px) {
	.t-note {
		margin-top: 1.6em;
	}
}

@media screen and (max-width: 480px) {
	.t-note {
		margin-top: 2em;
	}
}


/* .t-link */
.t-link {
}

.t-link .qrcode {
}

.t-link .qrcode img {
	width: 100px;
	margin-right: 0;
	margin-left: auto;
}


.t-link .link {
}

.t-link .link a.link-btn {
	font-weight: 700;
	font-size: var(--fz-extra);
	line-height: 1.2;
	color: var(--color-black);
	padding: 0 6px;
	display: block;
	position: relative;
	z-index: 1;
	transition: var(--transition-def);
	aspect-ratio: 1.2 / 1;
	width: 100px;
	margin: 0 0 0 auto;
	transform: translateX(-10px);
}

@media screen and (max-width: 640px) {
	.t-link {
			display: flex;
			justify-content: flex-end;
			align-items: center;
			flex-wrap: wrap;
			flex-direction: row;
			height: 100%;
		}

	.t-link .link a.link-btn {
		aspect-ratio: 1.6 / 1;
		width: 90px;
	}
}

@media screen and (max-width: 480px) {
	.t-link .qrcode img {
		width: 100px;
		margin-right: auto;
		margin-left: auto;
	}

	.t-link {
		display: block;
		width: 180px;
		margin: 0 auto;
	}
	
	.t-link .link {
	}

	.t-link .link a.link-btn {
		aspect-ratio: initial;
		width: 100%;
		transform: translateX(0px);
	}

	.t-link .link a.link-btn br {
		display: none;
	}
}

.t-link .link a.link-btn:hover {
	filter: var(--hover-filter-def);
}

.t-link .link a.link-btn::before,
.t-link .link a.link-btn::after {
	content: "";
	position: absolute;
	border: 1px solid rgba(var(--rgb-aqua), 0.5);
}

.t-link .link a.link-btn::before {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: -1;
}

.t-link .link a.link-btn::after {
	width: calc(100% - 12px);
	height: calc(100% + 12px);
	top: -6px;
	left: 6px;
	z-index: -2;
}

.t-link .link a.link-btn span {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	background-color: var(--color-aqua);
	padding: 0.8em 1.4em;
	position: relative;
}

.t-link .link a.link-btn span em {
}

.t-link .link a.link-btn span b {
	white-space: nowrap;
}

.t-link .link a.link-btn span::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: -18px;
	margin: auto 0;
	width: 7px;
	aspect-ratio: 7 / 16;
	background-image: url(/iwf2023/asset_subpage/img/svg/icon_arrow_black.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	transition: var(--transition-def);
}

.t-link .link a.link-btn span:hover::after {
	right: -22px;
}

/* === buy === */
.t-link .link a.link-btn.buy span {
	background-color: var(--color-yellow);
}
.t-link .link a.link-btn.buy::before,
.t-link .link a.link-btn.buy::after {
	border: 1px solid rgba(var(--rgb-yellow), 0.5);
}
.t-link .link a.link-btn.buy span::after {
	background-image: url(/iwf2023/asset_subpage/img/svg/icon_arrow_yellow.svg);
}

/* === entry === */
.t-link .link a.link-btn.entry span {
	background-color: var(--color-green);
}
.t-link .link a.link-btn.entry::before,
.t-link .link a.link-btn.entry::after {
	border: 1px solid rgba(var(--rgb-green), 0.5);
}
.t-link .link a.link-btn.entry span::after {
	background-image: url(/iwf2023/asset_subpage/img/svg/icon_arrow_green.svg);
}
/* === */

@media screen and (max-width: 480px) {
	.t-link .link a.link-btn span {
		display: block;
		padding: 0.6em 20px;
	}

	.t-link .link a.link-btn span::after,
	.t-link .link a.link-btn.buy span::after,
	.t-link .link a.link-btn.entry span::after {
		right: 12px;
		margin: auto 0;
		background-image: url(/iwf2023/asset_subpage/img/svg/icon_arrow_black.svg);
	}
	
	.t-link .link a.link-btn span:hover::after {
		right: 8px;
	}
}


/* 特典 アコーディオン
------------------------------ */
.privilege-block {
	margin-top: 3px;
}

.privilege-block>dt {
	font-weight: 700;
	color: var(--color-yellow);
	text-align: left;
	background-color: rgba(var(--rgb-aqua), 0.2);
	padding: 0.3em min(3%, 20px);
	cursor: pointer;
	transition: var(--transition-def);
	display: none;
}

.privilege-block>dt:hover {
	background-color: rgba(var(--rgb-aqua), 0.4);
	filter: var(--hover-filter-def);
}

.privilege-block>dt .icon {
	display: inline-block;
	width: 26px;
	aspect-ratio: 1 / 1;
	border: 1px solid var(--color-aqua);
	position: relative;
	background: var(--color-black);
	position: relative;
	vertical-align: middle;
	margin-right: 16px;
	transform: translateY(-1px);
}

.privilege-block>dt .icon::before,
.privilege-block>dt .icon::after {
	content: "";
	position: absolute;
	background: var(--color-black);
	margin: auto;
}

.privilege-block>dt .icon::before {
	width: 14px;
	height: calc(100% + 2px);
	top: -1px;
	left: 5px;
}

.privilege-block>dt .icon::after {
	width: calc(100% + 2px);
	height: 14px;
	top: 5px;
	left: -1px;
}

.privilege-block>dt .icon i {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.privilege-block>dt .icon i::before,
.privilege-block>dt .icon i::after {
	content: "";
	position: absolute;
	background: var(--color-aqua);
	margin: auto;
	width: 14px;
	height: 2px;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	transition: var(--transition-def);
}

.privilege-block>dt .icon i::before {
	transform: rotate(90deg);
}

.privilege-block>dt .icon i::after {
}

.privilege-block.open>dt .icon i::before {
	transform: rotate(360deg);
}

.privilege-block.open>dt .icon i::after {
	transform: rotate(180deg);
}

.privilege-block>dd {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	flex-direction: row;
	padding: 40px min(3%, 20px);

	border: 1px solid rgba(var(--rgb-aqua), 0.2);
}

/* .pct */
.privilege-block>dd .pct {
	/*width: 300px;*/
	width: 48%;
}

.privilege-block>dd .pct .map {
	border: 1px solid rgba(var(--rgb-aqua), 0.6);
	padding: 3px;
}

.privilege-block>dd .pct .map + .map {
	margin-top: 20px;
}

/* .detail */
.privilege-block .detail {
	/*width: calc(100% - 300px);*/
	width: 50%;
}

.privilege-block .detail dl {
	text-align: left;
}

.privilege-block .detail dl dt {
	font-size: var(--fz-xxxextra);
	font-weight: 700;
	display: inline-block;
	background-color: var(--color-yellow);
	padding: 0em 0.5em;
	line-height: 1.2;
	margin-bottom: var(--clamp3);
}

.privilege-block .detail dl dt span {
}

.privilege-block .detail dl dd {
	font-size: clamp(15px, 13.345px + 0.517vw, 18px);
	font-weight: 700;
	color: var(--color-aqua);
	border-left: 4px solid var(--color-aqua);
	line-height: 1.4;
	padding-left: 1em;
}

.privilege-block .detail dl dd:not(:last-child) {
	margin-bottom: var(--clamp2);
}

.privilege-block .detail dl dd span {
	color: var(--color-gray-3);
	font-size: 78%;
	line-height: 1.4;
	display: inline-block;
}


@media screen and (max-width: 640px) {
	.privilege-block>dd {
		display: block;
	}

	.privilege-block>dd .pct {
		width: min(100%, 360px);
		margin: 2em auto 0;
	}

	.privilege-block .detail {
		width: 100%;
	}
}


/* 注釈
------------------------------ */
.attention-block {
	background-image: linear-gradient(to right, var(--color-purple) 2px, transparent 2px);
	background-size: 12px 2px;
	background-repeat: repeat-x;
	background-position: left top;
	width: min(100%, 800px);
	margin: var(--clamp4) auto 0;
	padding: var(--clamp4) 0 0;
}

#real-ticket-area .attention-block {
	background: none;
}

.attention-block ul {
	background-color: rgba(var(--rgb-white),0.1);
	padding: var(--clamp4) min(3%, 30px);
}

.attention-block ul li {
	font-size: var(--fz-regular);
	color: var(--color-gray-3);
	text-align: left;
	text-indent: -16px;
	padding-left: 16px;
	position: relative;
}

.attention-block ul li * {
	text-indent: 0;
}

.attention-block ul li::before {
	content: "●";
	display: inline-block;
	text-indent: 0;
	width: 16px;
	vertical-align: middle;
	color: var(--color-aqua);
	text-align: left;
	font-size: 6px;
}




.attention-block ul li a {
}

.attention-block ul li a:link { text-decoration: underline; }
.attention-block ul li a:visited { text-decoration: underline; }
.attention-block ul li a:hover { text-decoration: none; }
.attention-block ul li a:active { text-decoration: none; }


/* ==================================================
Ticket Area - J-me先行
================================================== */
#jme-ticket-area {
	position: relative;
	padding-bottom: var(--clamp8);
}

@media screen and (min-width: 481px) {
	#jme-ticket-area br.sp-only {
		display: none;
	}
}


#jme-ticket-area::after {
	content: "";
	position: absolute;
	z-index: -1;
	--bg-position: clamp(12px, 5.379px + 2.069vw, 24px);
	top: var(--bg-position);
	left: 0;
	width: 100%;
	height: calc(100% - var(--bg-position));
	background-color: rgba(var(--rgb-blue), 0.2);
}

@media screen and (max-width: 480px) {
	#jme-ticket-area::after {
		--bg-position: clamp(24px, 12px + 3.75vw, 30px);
	}
}


#jme-ticket-area .area-title {
	margin-bottom: var(--clamp6);
}

#jme-ticket-area .area-title h2 {
}

#jme-ticket-area .area-title h2 span {
}


#jme-ticket-area .area-inner {
}

/* .jme-head
------------------------------ */
.jme-head {
	margin-bottom: var(--clamp4);
}

.jme-head h3 {
	font-size: clamp(22px, 16.483px + 1.724vw, 32px);
	font-weight: 700;
	background-color: var(--color-yellow);
	padding: 0.1em 1em;
	color: var(--color-black);
	line-height: 1.2;
	margin-bottom: var(--clamp4);
}


.jme-head h3 strong {
	display: inline-block;
}

.jme-head h3 em {
	color: var(--color-red);
}

.jme-head p {
	font-size: var(--fz-xlarge);
}

.jme-head p:not(:last-child) {
	margin-bottom: 0.5em;
}

.jme-head p b {
	display: inline-block;
	font-size: var(--fz-large);
	font-weight: 700;
	border: 1px solid var(--color-red);
	border-radius: 50px;
	line-height: 1;
	padding: 0.2em 0.5em;
}

/* .jme-body
------------------------------ */
.jme-body {
}


/* .entry-period */
.entry-period {
	width: min(100%, 580px);
	margin: 0 auto var(--clamp4);
	padding-bottom: 0.8em;
	border-bottom: 1px solid var(--color-aqua);
}

@media screen and (max-width: 480px) {
	.entry-period {
		margin-bottom: var(--clamp6);
	}
}

.entry-period dt {
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--color-aqua);
	margin-bottom: 0.5em;
}

.entry-period dt::before,
.entry-period dt::after {
	content: "";
	display: inline-block;
}

.entry-period dt::before {
	content: "[";
	padding-right: 1em;
}

.entry-period dt::after {
	content: "]";
	padding-left: 1em;
}

.entry-period dd {
	font-size: clamp(18px, 14.69px + 1.034vw, 24px);
	color: var(--color-yellow);
	font-weight: 700;
	line-height: 1.4;
}


/* .entry-block */
.entry-block {
	width: min(100%, 520px);
	margin: 0 auto var(--clamp4);
}


@media screen and (max-width: 480px) {
	.entry-block {
		margin-bottom: var(--clamp5);
	}
}

.entry-block .qrcode {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	flex-direction: row;
}

.entry-block .qrcode .txt {
	width: calc(100% - 150px);
	color: var(--color-red);
	font-weight: 700;
	border: 3px solid var(--color-red);
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 12px;
	font-size: clamp(13px, 11.345px + 0.517vw, 16px);
}

.entry-block .qrcode .txt::after {
	content: "";
	position: absolute;
	z-index: -1;
	background-color: rgba(var(--rgb-black), 0.8);
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	top: 5px;
	left: 5px;
	border: 1px solid rgba(var(--rgb-red), 0.6);
}

.entry-block .qrcode .txt p {
	line-height: 1.5;
}

.entry-block .qrcode .pct {
	width: 120px;
}

.entry-block .qrcode .pct img {
}

@media screen and (max-width: 480px) {
	.entry-block .qrcode {
		align-items: center;
	}

	.entry-block .qrcode .txt {
		width: calc(100% - 100px);
	}

	.entry-block .qrcode .pct {
		width: 80px;
	}
}

/* .link-btn */
.entry-block .link {
}

.entry-block .link a.link-btn {
	display: block;
	margin: 0 auto;
	padding: 0 6px;
	color: var(--color-black) !important;
	font-size: var(--fz-extra);
	font-weight: 700;
	line-height: 1;
	transition: var(--transition-def);
	position: relative;
	z-index: 1;
}

.entry-block .link a.link-btn:hover {
	filter: var(--hover-filter-def);
}

.entry-block .link a.link-btn::before,
.entry-block .link a.link-btn::after {
	content: "";
	position: absolute;
	border: 1px solid rgba(var(--rgb-aqua), 0.5);
}

.entry-block .link a.link-btn.jme::before,
.entry-block .link a.link-btn.jme::after {
	border-color: rgba(var(--rgb-orange), 0.5);
}

.entry-block .link a.link-btn::before {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: -1;
}

.entry-block .link a.link-btn::after {
	width: calc(100% - 12px);
	height: calc(100% + 12px);
	top: -6px;
	left: 6px;
	z-index: -2;
}

.entry-block .link a.link-btn span {
	display: block;
	padding: 0.8em 1.4em;
	position: relative;
	background-color: var(--color-orange);
}

.entry-block .link a.link-btn span::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 8px;
	margin: auto 0;
	width: 7px;
	aspect-ratio: 7 / 16;
	background-image: url(/iwf2023/asset_subpage/img/svg/icon_arrow_black.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	transition: var(--transition-def);
}

.entry-block .link a.link-btn:hover dl::after,
.entry-block .link a.link-btn:hover span::after {
	transform: translateX(4px);
}


/* .jme-link */
.jme-link {
	width: min(100%, 580px);
	margin: 0 auto var(--clamp5);
}

@media screen and (max-width: 480px) {
	.jme-link {
		margin-bottom: var(--clamp7);
	}
}

.jme-link a.link-txt {
	font-size: var(--fz-regular);
}

.jme-link ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	flex-direction: row;
	margin-top: 1.5em;
}

.jme-link ul li {
	width: 47%;
}

.jme-link ul li a {
	display: block;
	margin: 0 auto;
	padding: 1em 24px;
	background: var(--color-aqua);
	color: var(--color-black) !important;
	font-size: clamp(13px, 11.345px + 0.517vw, 16px);
	font-weight: 700;
	line-height: 1;
	transition: var(--transition-def);
	position: relative;
}

@media screen and (max-width: 480px) {
	.jme-link ul {
		display: block;
		width: 200px;
		margin-left: auto;
		margin-right: auto;
	}
	
	.jme-link ul li {
		width: 100%;
	}

	.jme-link ul li:nth-child(n+2) {
		margin-top: 1em;
	}
	
	.jme-link ul li a {
	}
}

.jme-link ul li a::after {
	content: "";
	position: absolute;
	right: 8px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	background: url(/iwf2023/asset_subpage/img/svg/icon_arrow_black.svg) no-repeat center center;
	background-size: contain;
	width: 7px;
	aspect-ratio: 7 / 16;
	transition: var(--transition-def);
}

.jme-link ul li a:hover {
	background: var(--color-blue);
	filter: drop-shadow(0 0 9px rgba(var(--rgb-aqua), 0.8));
}

.jme-link ul li a:hover:after {
	transform: translateX(4px);
}

.jme-link ul li a span {
}


/* .jme-foot
------------------------------ */
.jme-foot {
}

.schedule-wrap {
}

.schedule-block {
	border: 1px solid var(--color-yellow);
	margin-bottom: 1em;
}

.schedule-block li {
	background-color: rgba(var(--rgb-aqua), 0.1);
	padding: 0.6em 1em;
	line-height: 1.4;
}

.schedule-block li:nth-child(n+2) {
	border-top: 1px solid var(--color-yellow);
}

.schedule-block li dl {
}

.schedule-block li dl dt {
	color: var(--color-aqua);
	font-size: var(--fz-large);
	font-weight: 700;
	margin-bottom: 0.2em;
}

.schedule-block li dl dd {
	color: var(--color-yellow);
	font-size: var(--fz-extra);
	font-weight: 700;
}

.schedule-note {
}

.schedule-note p {
}

.schedule-note p a {
}


/* #jme-privilege */
#jme-privilege {
	margin-top: var(--clamp6);
}

#jme-privilege .label {
	margin-bottom: var(--clamp2);
}

#jme-privilege .comment-block {
	margin-bottom: var(--clamp4);
}

#jme-privilege .comment-block p {
	max-width: 640px;
	display: inline-block;
	margin-inline: auto;
	text-align: left;
	color: var(--color-aqua);
}


/* .link-btn
------------------------------ */
.btn-block {
	margin-top: 1.5em;
}

.btn-block a.link-btn {
	display: block;
	margin-inline: auto;
	padding: 0 6px;
	color: var(--color-black) !important;
	font-family: var(--font-mix);
	font-size: var(--fz-xlarge);
	font-weight: 700;
	line-height: 1;
	transition: var(--transition-def);
	position: relative;
	z-index: 1;
	width: min(100%, 480px);
	letter-spacing: 0.06em;
}

.btn-block a.link-btn:hover {
	filter: var(--hover-filter-def);
}

.btn-block a.link-btn::before,
.btn-block a.link-btn::after {
	content: "";
	position: absolute;
	border: 1px solid rgba(var(--rgb-yellow), 0.5);
}

.btn-block a.link-btn::before {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: -1;
}

.btn-block a.link-btn::after {
	width: calc(100% - 12px);
	height: calc(100% + 12px);
	top: -6px;
	left: 6px;
	z-index: -2;
}

.btn-block a.link-btn span {
	display: block;
	padding: 0.8em 1.4em;
	position: relative;
	background-color: var(--color-yellow);
}

.btn-block a.link-btn span::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 8px;
	margin: auto 0;
	width: 7px;
	aspect-ratio: 7 / 16;
	background-image: url(/iwf2023/asset_subpage/img/svg/icon_arrow_black.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	transition: var(--transition-def);
}

.btn-block a.link-btn:hover dl::after,
.btn-block a.link-btn:hover span::after {
	transform: translateX(4px);
}


/* ==================================================
リンクボタン/QRコード 切替え
================================================== */
@media screen and (min-width: 481px) {
	.show-sp { display: none; }
}

@media screen and (max-width: 480px) {
	.show-pc { display: none; }
}

/* PC閲覧時は常に .show-pc を表示 */
/*.device-pc .show-sp {
	display: none;
}

.device-pc .show-pc {
	display: initial;
}*/

/* スマホ閲覧時は常に .show-sp を表示 */
.device-sp .show-sp {
	display: initial;
}

.device-sp .show-pc {
	display: none;
}

/* タブレット閲覧時は常に .show-pc を表示 */
.device-tab .show-sp {
	display: none;
}

.device-tab .show-pc {
	display: initial;
}