@charset "UTF-8";

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

#hdr-contents {
	/*padding-top: var(--clamp2);*/
}

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

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

@media screen and (max-width: 900px) {
	#link-wrap {
		flex-direction: column;
	}

	#link-wrap>li {
		width: min(100%, 580px);
		margin: 0 auto;
	}

	/*#link-wrap>li:not(:first-child) {
		margin-top: var(--clamp3);
	}*/

	#link-wrap>li:nth-child(1) {
		order: 2;
		margin-top: var(--clamp3);
	}

	#link-wrap>li:nth-child(2) {
		order: 1;
	}
}


#link-wrap>li a.link-btn {
	font-weight: 700;
	font-size: var(--fz-xxextra);
	line-height: 1.2;
	color: var(--color-black);
	padding: 0 6px;
	display: block;
	position: relative;
	transition: var(--transition-def);
}

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

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

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

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

#link-wrap>li a.link-btn span {
	display: block;
	background-color: var(--color-aqua);
	padding: 0.8em 1.4em;
	position: relative;
	/*white-space: nowrap;*/
}

#link-wrap>li a.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);
}

#link-wrap>li a.link-btn span:hover::after {
	right: 0.4em;
}

#link-wrap>li .caption {
	text-align: left;
	margin-top: var(--clamp3);
	text-shadow: 0px 2px 8px rgba(var(--rgb-black), 0.8);

}

@media screen and (max-width: 900px) {
	#link-wrap>li .caption {
		margin-top: var(--clamp2);
	
	}
}

#link-wrap>li .caption p {
	line-height: 1.4;
	margin-bottom: 0.2em;
}

#link-wrap>li .caption p a.link-txt {}

#link-wrap>li .caption ul.note {}

#link-wrap>li .caption ul.note li {
	font-size: var(--fz-regular);
	line-height: 1.4;
	text-indent: -1.2em;
	padding-left: 1.2em;
	margin-bottom: 5px;
}

#link-wrap>li .caption ul.note li>* {
	text-indent: 0;
}

#link-wrap>li .caption ul.note li::before {
	content: "※";
	display: inline-block;
	width: 1.2em;
	text-indent: 0;
}


/* 無料視聴Ver. */
#link-wrap li a.link-btn.free {}
#link-wrap>li a.link-btn.free::before,
#link-wrap>li a.link-btn.free::after {
	border-color: rgba(var(--rgb-purple), 0.5);
}

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

/* 有料視聴Ver. */
#link-wrap li a.link-btn.ticket {}
#link-wrap>li a.link-btn.ticket::before,
#link-wrap>li a.link-btn.ticket::after {
	border-color: rgba(var(--rgb-yellow), 0.5);
}

#link-wrap>li a.link-btn.ticket span {
	background-color: var(--color-yellow);
}



/* ==================================================
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;
	}
}


/* ==================================================
Timetable Area
================================================== */
#timetable-area {
	--timetable-width: min(100% - 180px, 900px);
}

#timetable-area .area-inner {
}

#area-foot {
	margin-top: var(--clamp10);
}

a.link-btn.type-ticket {
  clip-path: polygon(12% 0, 100% 0%, 88% 100%, 0% 100%);
  background-color: var(--color-blue);
	color: var(--color-white) !important;
	font-family: var(--font-en);
	font-weight: 400;
	font-size: var(--fz-large);
	line-height: 1;
	letter-spacing: 0;
	margin: 0 auto;
  padding: 1.2em 2em;
  vertical-align: baseline;
	width: 200px;
  border-radius: 2px;
  display: flex;
  justify-content: center;
  align-items: center;
	transition: var(--transition-def);
}

a.link-btn.type-ticket:hover {
	background-color: var(--color-blue-dark);
	filter: var(--hover-filter-def);
	color: var(--color-aqua) !important;
}


/* .table-title　※詳細は tabswitch.css で設定
------------------------------ */
.table-title {
}


/* Time Table 詳細
------------------------------ */
.table-detail {
}

.table-detail .head {
	margin: 0 auto var(--clamp8);
	width: 92%;
}

.table-detail .head .label-guide {
	display: inline-block;
	margin-left: auto;
	margin-right: auto;
}

.table-detail .head .label-guide li {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	flex-direction: row;
}

.table-detail .head .label-guide li:not(:first-child) {
	margin-top: 1.2em;
}

.table-detail .head .label-guide li .label {
	font-family: var(--font-en);
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
	color: var(--color-black);
	background-color: var(--color-aqua);
	width: 200px;
	padding: 3px;
}

@media screen and (max-width: 640px) {
	.table-detail .head .label-guide li .label {
		width: 100px;
	}
}

.table-detail .head .label-guide li .label.part-session {
	background-color: rgba(var(--rgb-session-bg),0.8);
}

.table-detail .head .label-guide li .label.part-live {
	background-color: rgba(var(--rgb-live-bg),0.8);
}

.table-detail .head .label-guide li .label.part-talk {
	background-color: rgba(var(--rgb-talk-bg),0.8);
}

.table-detail .head .label-guide li .label span {
}

.table-detail .head .label-guide li .guide {
	font-size: var(--fz-regular);
	color: var(--color-aqua);
	letter-spacing: 0;
	line-height: 1.2;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: nowrap;
	flex-direction: row;
	width: calc(100% - 200px);
}

@media screen and (max-width: 640px) {
	.table-detail .head .label-guide li .label {
		width: 100px;
	}

	.table-detail .head .label-guide li .guide {
		width: calc(100% - 100px);
	}
}

.table-detail .head .label-guide li .guide::before {
	content: "…";
	display: inline-block;
	padding: 0 0.5em;
	transform: translateY(-3px);
}

.table-detail .head .label-guide li .guide span {
	text-align: left;
}

.table-detail .body {
	margin: 0 auto;
	width: 96%;
}

.table-detail .body .note {
	font-size: var(--fz-small);
	text-align: right;
	margin: 30px auto 0;
	width: var(--timetable-width);
}

@media screen and (max-width: 640px) {
	.table-detail .body .note {
		width: 100%;
		padding: 0 1em;
	}
}


.table-detail .body .comment-sub {
	margin-bottom: var(--clamp6);
}

.table-detail .body .comment-sub p {
	display: inline-block;
	margin-inline: auto;
	border-bottom: 2px solid var(--color-yellow);
	color: var(--color-pink);
	font-weight: 700;
	font-size: clamp(17px, 14.241px + 0.862vw, 22px);
	padding-bottom: 0.4em;
	letter-spacing: 0.04em;
}


.table-detail .foot {
	margin-top: var(--clamp4);
}

.table-detail .foot p {
}

/*a.link-btn.type-ticket {
	font-family: var(--font-en);
	font-weight: 400;
	font-size: var(--fz-large);
	line-height: 1;
	letter-spacing: 0;
  padding: 1.2em 2em;
  vertical-align: baseline;
  border-radius: 2px;
	color: var(--color-white) !important;
  background-color: var(--color-blue);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: color 0.2s background-color 0.2s;
  clip-path: polygon(12% 0, 100% 0%, 88% 100%, 0% 100%);
	width: 200px;
	margin: var(--clamp8) auto 0;
	transition: var(--transition-def);
}

a.link-btn.type-ticket:hover {
	background-color: var(--color-blue-dark);
	filter: var(--hover-filter-def);
	color: var(--color-aqua) !important;
}*/



/* TIME TABLE 簡易ver
------------------------------ */
.innofes-timetable {
	position: relative;
	width: var(--timetable-width);
	margin: 0 auto;
	border: 1px solid var(--color-aqua);
	z-index: 1;
}

@media screen and (max-width: 640px) {
	.innofes-timetable {
		width: calc(100% - 80px);
		transform: translateX(26px);
	}
	
}

.innofes-timetable::before,
.innofes-timetable::after {
	content: "";
	position: absolute;
	z-index: 2;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 90%;
	height: 26px;
	background-repeat: no-repeat;
	background-size: contain;
}

.innofes-timetable::before {
	top: clamp(-24px, -28.414px + 1.379vw, -16px);
	aspect-ratio: 520 / 26;
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_table_head.svg);
	background-position: center bottom;
}

.innofes-timetable::after {
	bottom: clamp(-22px, -24.207px + 0.69vw, -18px);
	aspect-ratio: 380 / 26;
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_table_foot.svg);
	background-position: center top;
}

.time-block {
	padding: 3px;
}

.time-block .program {
	/*border: 3px solid #000;*/
	border-left: 8px solid var(--color-aqua);
	background-color: rgba(var(--rgb-black),0.8);
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;
	flex-wrap: wrap;
	flex-direction: row;
	height: 100%;
	padding: 10px;
}

.time-block .program .credit {
	/*color: var(--color-black);*/
	color: var(--color-aqua);
	line-height: 1.4;
	width: 86%;
	margin: 0 auto;
}

.time-block .program .credit::before,
.time-block .program .credit::after {
	content: "";
	display: block;
	width: 100%;
	background-repeat: no-repeat;
	background-size: contain;
}

.time-block .program .credit::before {
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_table_inner1_aqua.svg);
	background-position: left top;
	height: 26px;
	margin-bottom: 4px;
}

.time-block .program .credit::after {
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_table_inner2_aqua.svg);
	background-position: right bottom;
	height: 16px;
	margin-top: 12px;
}

.time-block .program .credit span {
}

.time-block .program .credit-head {
	width: 92%;
	margin: 0 auto 2em;
	padding-bottom: 1.2em;
	/*color: var(--color-blue-dark);*/
	color: var(--color-aqua);
	border-bottom: 1px solid var(--color-aqua);
	line-height: 1.4;
}

.time-block .program .credit-sub {
	width: 92%;
	margin: 2em auto 0;
}

.time-block .program .credit-sub p {
	text-align: left;
	display: inline-block;
	margin-inline: auto;
	/*color: var(--color-black);*/
	color: var(--color-aqua);
	font-size: var(--fz-large);
}

.time-block .program .credit-sub .label {
	font-weight: 700;
}

.time-block .program .credit-sub a + .label {
	margin-top: 1.5em;
}

a.link-btn.type-border {
	display: block;
	margin: 0 auto;
	padding: 0.4em 0.5em;
	color: var(--color-black) !important;
	background-color: rgba(var(--rgb-aqua), 1);
	font-weight: 700;
	line-height: 1.2;
	width: 180px;
	transition: var(--transition-def);
	/*border: 2px solid var(--color-black);*/
	font-size: var(--fz-regular);
	display: flex;
	justify-content: center;
	align-items: center;
}

a.link-btn.type-border:hover {
	background: var(--color-aqua);
	filter: drop-shadow(0 0 9px rgba(var(--rgb-aqua), 0.6));
}

a.link-btn.type-border>span {

}

a.link-btn.type-border>span::after {
	content: "";
	display: inline-block;
	background: url(/iwf2023/asset_subpage/img/svg/icon_arrow_black.svg) no-repeat center center;
	background-size: contain;
	width: 6px;
	aspect-ratio: 7 / 16;
	margin-left: 10px;
	transform: translateY(1px);
	transition: var(--transition-def);
}

a.link-btn.type-border:hover>span::after {
	transform: translate(4px,1px);
}


.time-block .program.part-blank {
	border-color: transparent;
}

.time-block .program.part-session {
	border-color: var(--color-session);
}

.time-block .program.part-talk {
	border-color: var(--color-talk);
}

.time-block .program.part-live {
	border-color: var(--color-live);
}

.time-block .program.part-other {
	border-color: var(--color-other);
}


/*.time-block .program.part-blank {
	background-color: transparent;
}

.time-block .program.part-session {
	background-color: rgba(var(--rgb-session-bg),0.9);
}

.time-block .program.part-talk {
	background-color: rgba(var(--rgb-talk-bg),0.9);
}

.time-block .program.part-live {
	background-color: rgba(var(--rgb-live-bg),0.9);
}

.time-block .program.part-other {
	background-color: rgba(var(--rgb-other-bg),0.9);
}*/

.time-block.time-start,
.time-block.time-end {

}

.time-block.time-start {
}

.time-block.time-end {
}

.time-block .time-label {
}

/* 時間区切り */
.time-block {
	position: relative;
	z-index: -1;
}

.time-block::before {
	content: "";
	position: absolute;
	width: calc(100% + 20px);
	height: 1px;
	top: 0;
	left: -10px;
	background-color: var(--color-aqua);
}

.time-block.time-start::before {
	display: none;
}

.time-block .time-label {
	position: relative;

}

.time-block .time-label::before,
.time-block .time-label::after {
	content: "";
	position: absolute;
	width: 54px;
	font-family: var(--font-en);
	font-weight: 400;
	letter-spacing: 0.08em;
	font-size: var(--fz-regular);
	color: var(--color-aqua);
	line-height: 1;
	top: -10px;
	white-space: nowrap;
}

.time-block .time-label::before {
	text-align: right;
	left: -75px;
}

.time-block .time-label::after {
	text-align: left;
	right: -75px;
}

@media screen and (max-width: 640px) {
	.time-block .time-label::after {
		display: none;
	}
}

.time-block.time12 {}
.time-block.time12 .time-label::before,
.time-block.time12 .time-label::after { content: "12:00"; }

.time-block.time12-30 {}
.time-block.time12-30 .time-label::before,
.time-block.time12-30 .time-label::after { content: "12:30"; }

.time-block.time13 {}
.time-block.time13 .time-label::before,
.time-block.time13 .time-label::after { content: "13:00"; }

.time-block.time14 {}
.time-block.time14 .time-label::before,
.time-block.time14 .time-label::after { content: "14:00"; }

.time-block.time15 {}
.time-block.time15 .time-label::before,
.time-block.time15 .time-label::after { content: "15:00"; }

.time-block.time16 {}
.time-block.time16 .time-label::before,
.time-block.time16 .time-label::after { content: "16:00"; }

.time-block.time17 {}
.time-block.time17 .time-label::before,
.time-block.time17 .time-label::after { content: "17:00"; }

.time-block.time18 {}
.time-block.time18 .time-label::before,
.time-block.time18 .time-label::after { content: "18:00"; }

.time-block.time19 {}
.time-block.time19 .time-label::before,
.time-block.time19 .time-label::after { content: "19:00"; }

.time-block.time20 {}
.time-block.time20 .time-label::before,
.time-block.time20 .time-label::after { content: "20:00"; letter-spacing: 0.02em; }

.time-block.time21 {}
.time-block.time21 .time-label::before,
.time-block.time21 .time-label::after { content: "21:00"; }


/* 公演時間別 */
.time-block .program.min05 {}
.time-block .program.min10 {}
.time-block .program.min15 {}
.time-block .program.min20 {}
.time-block .program.min25 {}
.time-block .program.min30 {}
.time-block .program.min35 {}
.time-block .program.min40 {}
.time-block .program.min45 {}
.time-block .program.min50 {}
.time-block .program.min55 {}
.time-block .program.min60 { height: calc(60px * 2); }
.time-block .program.min65 {}
.time-block .program.min70 {}
.time-block .program.min75 {}
.time-block .program.min80 {}
.time-block .program.min85 {}
.time-block .program.min90 {}

.time-block .program.min180 {
	/*height: calc(180px * 1.2);*/
	min-height: calc(180px * 1.5);;
	padding: 2em 0;
}

.time-block .program.min1110 {
	/*height: calc(1110px * 1.2);*/
	height: auto;
	padding: 2em 0;
}


/* ==================================================
↓ add 2023/09/01
TIME TABLE 簡易ver
================================================== */
.tt-detail {
	margin: 0 auto;
	width: 96%;
}

/* .tt-detail .note */
.tt-detail>.note {
	font-size: var(--fz-small);
	text-align: right;
	margin: 30px auto 0;
	width: min(100% - 180px, 900px);
}

@media screen and (max-width: 640px) {
	.tt-detail .note {
		width: 100%;
		padding: 0 1em;
		text-align: center;
	}
}

.tt-detail p,
.tt-detail p:not(:last-child) {
	margin-bottom: 0;
}

.tt-detail .attention {
	font-size: var(--fz-large) !important;
	color: var(--color-pink-light);
}

.tt-detail .comingsoon {
  /*font-size: clamp(17px, 14.241px + 0.862vw, 22px);*/
	font-size: var(--fz-extra) !important;
	/*color: var(--color-aqua);*/
	color: var(--color-pink);
	font-weight: 700 !important;
  padding-bottom: 0.4em;
	display: inline-block;
  border-bottom: 2px solid var(--color-yellow);
}

/*  */
.tt-head {
	margin-bottom: var(--clamp6);
}

.tt-head p {
	display: inline-block;
	margin-inline: auto;
	border-bottom: 2px solid var(--color-yellow);
	color: var(--color-pink);
	font-weight: 700;
	font-size: clamp(17px, 14.241px + 0.862vw, 22px);
	padding-bottom: 0.4em;
	letter-spacing: 0.04em;
}


/* .tt-frame
------------------------------ */
.tt-frame {
	position: relative;
	width: min(100% - 180px, 900px);
	margin: var(--clamp6) auto 0;
	border: 1px solid var(--color-aqua);
	z-index: 1;
	padding: 30px 30px 60px;
	text-align: left;
}

@media screen and (max-width: 640px) {
	.tt-frame {
		width: 100%;
		padding: 30px 10px 60px;
	}
}

.tt-frame::before,
.tt-frame::after {
	content: "";
	position: absolute;
	z-index: 2;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 90%;
	height: 26px;
	background-repeat: no-repeat;
	background-size: contain;
}

.tt-frame::before {
	top: clamp(-24px, -28.414px + 1.379vw, -16px);
	aspect-ratio: 520 / 26;
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_table_head.svg);
	background-position: center bottom;
}

.tt-frame::after {
	bottom: clamp(-22px, -24.207px + 0.69vw, -18px);
	aspect-ratio: 380 / 26;
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_table_foot.svg);
	background-position: center top;
}



/* .tt-block-parent
------------------------------ */
.tt-block-parent {
	background-color: rgba(var(--rgb-black), 0.8);
	border-left: 8px solid var(--color-aqua);
	padding-bottom: 1px;
	position: relative;
}

.tt-block-parent .label {
	color: var(--color-black);
	background-color: var(--color-aqua);
	font-size: clamp(20px, 16.69px + 1.034vw, 26px);
	font-family: var(--font-en);
	font-weight: 400;
	text-transform: initial;
	letter-spacing: 0;
	line-height: 1;
	padding: 4px 0 4px 2%;
	margin-bottom: var(--clamp3);
}

.tt-block-parent .label b {
	display: inline-block;
}

.tt-block-parent.section-talk {
	/*background-color: #000711;*/
	background-color: rgba(0, 7, 17, 0.7);
	border-left-color: var(--color-talk);
}

.tt-block-parent.section-talk .label {
	background-color: var(--color-talk);
}

.tt-block-parent.section-live {
	/*background-color: #100000;*/
	background-color: rgba(16, 0, 0, 0.7);
	border-left-color: var(--color-live);
}

.tt-block-parent.section-live .label {
	background-color: var(--color-live);
}

.tt-block-parent .comment {
	color: var(--color-white);
	font-size: var(--fz-xlarge);
	padding-left: 2%;
	padding-right: 2%;
	padding-bottom: var(--clamp3);
	line-height: 1.8;
}


/* .tt-block
------------------------------ */
.tt-block {
	background-color: rgba(var(--rgb-black), 0.8);
	border: 1px solid var(--color-aqua);
	border-left-width: 8px;
	padding: 0 2% 0 2%;
	position: relative;
	margin-bottom: 30px;
	position: relative;
}

.section-last .tt-block {
	margin-bottom: 0;
}

.tt-block-parent > .tt-block {
	width: 98%;
	margin-inline: auto 0;
}

#day1 .tt-block-parent > .tt-block,
#day2 .tt-block-parent.section-live > .tt-block,
#day3 .tt-block-parent > .tt-block {
	border-left-width: 1px;
}


.tt-block.part-talk,
.tt-block.part-talk-live {
	background-color: rgba(0, 14, 35, 0.9);
	border-color: var(--color-talk);
}

.tt-block.part-live,
.tt-block.part-live-talk {
	background-color: rgba(30, 0, 0, 0.9);
	border-color: var(--color-live);
}

.tt-block.techcamp {
	border-left-color: var(--color-yellow);
}


/* .part-info */
.tt-block.part-info {
	background: none;
	border-color: transparent;
	padding: 0 0 0 3%;
	margin-bottom: 0;
}


/* ※タイムテーブル最上部 */
.tt-block.part-info.info-open {
	margin-top: 0;
	margin-bottom: 20px;
}

.tt-block.part-info.info-open + .tt-block {
	margin-top: 0;
	margin-bottom: 30px;
}


/* ※タイムテーブル最下部 */
.tt-block.part-info.info-close {
	margin-top: 20px;
	margin-bottom: 0;
}


/* ※タイムテーブル 途中配置 上部 */
.tt-block.part-info.info-first {
	margin-top: 30px;
	margin-bottom: 20px;
}


/* ※タイムテーブル 途中配置 下部 */
.tt-block.part-info.info-last {
	margin-top: 30px;
	margin-bottom: 30px;
}

.tt-block.part-info .guide {
	padding: 0 0 0 110px;
	line-height: 1.6;
}


/* .part-camp */
.tt-block.part-camp {
	background: none;
	border: none;
	border-left: 8px solid var(--color-yellow);
}

@media screen and (max-width: 640px) {
	.tt-block-parent,
	.tt-block,
	.tt-block.part-camp {
		border-left-width: 5px;
	}
}

.tt-block.part-camp dl.head {
	margin-bottom: var(--clamp3);
}

.tt-block.part-camp dl.head dt {
	color: var(--color-yellow);
  font-size: clamp(20px, 17.793px + 0.69vw, 24px);
  font-family: var(--font-en);
  font-weight: 400;
  text-transform: initial;
  letter-spacing: 0;
  line-height: 1.2;
  margin-bottom: 0.6em;
	width: calc(100% - 100px);
}

.tt-block.part-camp dl.head dt b {
	display: inline-block;
}

.tt-block.part-camp dl.head dd {
	color: var(--color-white);
  font-size: var(--fz-large);
  line-height: 1.6;
	width: calc(100% - 100px);
}

@media screen and (max-width: 640px) {
	.tt-block.part-camp dl.head dt {
		width: calc(100% - 90px);
	}

	.tt-block.part-camp dl.head dd {
		width: 100%;
	}
}

.tt-block.part-camp .comment {
	color: var(--color-white);
  font-size: var(--fz-xlarge);
  padding-bottom: var(--clamp3);
	line-height: 1.8;
	padding-left: 0;
	padding-right: 0;
}

/* .comment-child  */
.tt-block .comment-child,
.tt-block-parent .comment-child {
	text-align: left;
	margin-top: 20px;
}

.tt-block .comment-child a.link-btn {
	margin: 0 auto 0 0;
}

.tt-block .comment-child .marker-block,
.tt-block-parent .comment-child .marker-block {
	margin-top: 20px;
}

.tt-block .comment-child .marker-block span,
.tt-block-parent .comment-child .marker-block span {
	font-weight: 700;
}


/*  */

.tt-block>p.attention {
	margin-bottom: 1em;
}


/* パートラベル */
.tt-block::before,
.tt-block::after {
	content: "";
	font-family: var(--font-mix);
  font-weight: 400;
  font-size: clamp(14px, 10.5px + 0.833vw, 18px);
  line-height: 1;
  letter-spacing: 0;
  color: var(--color-black);
  white-space: nowrap;
	position: absolute;
	top: 0;
	right: 0;
	--label-size: 120px;
	width: var(--label-size);
	padding: 0.3em 0;
	text-align: center;
	display: none;
}

.tt-block::before {
}

.tt-block::after {
}

@media screen and (max-width: 6400px) {
	.tt-block::before,
	.tt-block::after {
		--label-size: 70px;
	}
}

.tt-block.part-talk::before {
	display: block;
	content: "TALK";
	background-color: var(--color-talk);
}

.tt-block.part-live::before {
	display: block;
	content: "LIVE";
	background-color: var(--color-live);
}

.tt-block.part-talk-live::before {
	display: block;
	content: "TALK";
	background-color: var(--color-talk);
	right: var(--label-size);
}

.tt-block.part-talk-live::after {
	display: block;
	content: "LIVE";
	background-color: var(--color-live);
}

.tt-block.part-live-talk::before {
	display: block;
	content: "LIVE";
	background-color: var(--color-live);
	right: var(--label-size);
}

.tt-block.part-live-talk::after {
	display: block;
	content: "TALK";
	background-color: var(--color-talk);
}

.tt-block.part-camp::before {
	display: block;
	position: absolute;
	top: 10px;
	right: 20px;
	padding: 0;
	width: 80px;
	aspect-ratio: 1 / 1;
	background: url(/iwf2023/asset_subpage/img/svg/icon_techcamp.svg) no-repeat center center;
	background-size: auto;
	background-size: contain;
}

@media screen and (max-width: 640px) {
	.tt-block.part-camp::before {
		top: 10px;
		right: 10px;
		width: 70px;
	}
}


/* 開始時間 */
.tt-block dl.time {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: nowrap;
	flex-direction: row;
	color: var(--color-aqua);
	padding: 0.8em 0;
}

.tt-block dl.time dt {
	font-size: 18px;
	font-family: var(--font-en);
	font-weight: 400;
	text-transform: initial;
	letter-spacing: 0;
	line-height: 1.2;
	width: 110px;
}

.tt-block dl.time dt::after {
	content: "-";
	display: inline-block;
	line-height: 1;
	margin-left: 0.5em;
}

.tt-block dl.time dd {
	font-size: 16px;
	font-size: var(--fz-xlarge);
	font-weight: 700;
	line-height: 1.2;
	width: calc(100% - 110px);
}

/* プログラム */
.tt-block dl.program {
}

.tt-block dl.program b {
	display: inline-block;
}

.tt-block dl.program dt {
	color: var(--color-aqua);
	font-size: clamp(16px, 13.793px + 0.69vw, 20px);
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 0.6em;
}

.tt-block dl.program dt a {
	display: block;
	padding: 0.5em 26px 0.5em 2%;
	background: rgba(var(--rgb-aqua), 0.12);
	position: relative;
	transition: var(--transition-def);
}

.tt-block dl.program dt a.link-none {
	pointer-events: none;
}

.tt-block.part-talk dl.program dt a,
.tt-block.part-talk-live dl.program dt a {
	background: rgba(var(--rgb-talk), 0.12);
}

.tt-block.part-live dl.program dt a,
.tt-block.part-live-talk dl.program dt a {
	background: rgba(var(--rgb-live), 0.12);
}

.tt-block dl.program dt a::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 14px;
	margin: auto 0;
	background: url(/iwf2023/asset_subpage/img/svg/icon_arrow_white.svg) no-repeat center center;
	background-size: auto;
	background-size: contain;
	width: 7px;
	aspect-ratio: 7 / 16;
	margin-left: 10px;
	transform: translateY(1px);
	transition: var(--transition-def);
}

.tt-block dl.program dt a.link-none::after {
	display: none;
}

.tt-block dl.program dt a:hover::after {
	right: 8px;
}

.tt-block dl.program dt a:hover {
	filter: brightness(120%) contrast(110%) saturate(120%) drop-shadow(0 0 16px rgba(var(--rgb-aqua), 0.7));
}


.tt-block dl.program dd {
	color: var(--color-white);
	font-size: var(--fz-large);
	line-height: 1.6;
	padding: 0 0 1em 2%;
}



/* .tt-child
------------------------------ */
.tt-block-child {
}

.tt-block-child .caption {
	font-size: 14px;
	font-family: var(--font-en);
	font-weight: 400;
	text-transform: initial;
	letter-spacing: 0;
	line-height: 1;
	color: var(--color-talk);
	transform: translateX(-3px);
	margin-bottom: 5px;
}

@media screen and (max-width: 640px) {
	.tt-block-child .caption {
		font-size: 12px;
	}
}

.tt-block-child .stage-list {
	padding-bottom: 20px;
}

.tt-block-child .stage-list li {
}

.tt-block-child .stage-list li:nth-child(n+2) {
	margin-top: 6px;
}

.tt-block-child .stage-list li a.box {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: nowrap;
	flex-direction: row;
	background: rgba(var(--rgb-talk), 0.12);
	position: relative;
}

.tt-block-child .stage-list li a.box::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 14px;
	margin: auto 0;
	background: url(/iwf2023/asset_subpage/img/svg/icon_arrow_white.svg) no-repeat center center;
	background-size: auto;
	background-size: contain;
	width: 7px;
	aspect-ratio: 7 / 16;
	margin-left: 10px;
	transform: translateY(1px);
	transition: var(--transition-def);
}


.tt-block-child .stage-list li a.box:hover::after {
	right: 8px;
}

.tt-block-child .stage-list li a.box:hover .program {
	/*filter: var(--hover-filter-def);*/
	filter: brightness(120%) contrast(110%) saturate(120%) drop-shadow(0 0 16px rgba(var(--rgb-aqua), 0.7));
}

.tt-block-child .stage-list li a.box:hover .stage {
	/*filter: var(--hover-filter-bright);*/
	filter: brightness(150%) contrast(110%) saturate(130%);
}


.tt-block-child .stage-list li a.box .stage {
	width: 48px;
	background-color: var(--color-talk);
	font-size: clamp(22px, 16.483px + 1.724vw, 32px);
	font-family: var(--font-en);
	font-weight: 400;
	text-transform: initial;
	letter-spacing: 0;
	line-height: 1;
	color: var(--color-black);
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	flex-direction: row;
	transition: var(--transition-def);
}

@media screen and (max-width: 640px) {
	.tt-block-child .stage-list li a.box .stage {
		width: 28px;
	}
}

.tt-block-child .stage-list li a.box .stage span {
}

.tt-block-child .stage-list li a.box dl.program {
	width: calc(100% - 90px);
	padding: 1em 0 1em 3%;
	transition: var(--transition-def);
}

@media screen and (max-width: 640px) {
	.tt-block-child .stage-list li a.box dl.program {
		width: calc(100% - 60px);
	}
}

.tt-block-child .stage-list li a.box dl.program dt {
	color: var(--color-aqua);
	font-size: var(--fz-xextra);
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 0.4em;
}

.tt-block-child .stage-list li a.box dl.program dd {
	color: var(--color-white);
	font-size: var(--fz-large);
	line-height: 1.6;
	padding: 0;
}



/* ==================================================
登壇時間 ※tt-block の髙さ調整
================================================== */
.tt-block {
	--minute-height: 60px;
}

.min-10 { min-height: calc(var(--minute-height) * 1); }
.min-20 { min-height: calc(var(--minute-height) * 2); }
.min-30 { min-height: calc(var(--minute-height) * 3); }
.min-40 { min-height: calc(var(--minute-height) * 4); }
.min-50 { min-height: calc(var(--minute-height) * 5); }
.min-60 { min-height: calc(var(--minute-height) * 6); }
.min-70 { min-height: calc(var(--minute-height) * 7); }
.min-80 { min-height: calc(var(--minute-height) * 8); }

.min-180 { min-height: 500px; }



/* ==================================================
時間軸 位置調整
================================================== */

.timeaxis {
	position: absolute;
	z-index: -1;
	left: calc(-45px - 8px);
	width: calc(100% + 90px + 8px);
	height: 2px;

	/*border-top: 1px dotted var(--color-aqua);*/
	background-image: linear-gradient(to right, var(--color-aqua), var(--color-aqua) 1px, transparent 1px, transparent 6px);
	background-size: 6px 1px;
  background-repeat: repeat-x;
  background-position: left top;
}

@media screen and (max-width: 640px) {
	.timeaxis {
		display: none;
	}
}

.timeaxis::before,
.timeaxis::after {
	content: "";
	position: absolute;
	width: 54px;
	font-family: var(--font-en);
	font-weight: 400;
	letter-spacing: 0.08em;
	font-size: 13px;
	color: var(--color-aqua);
	line-height: 1;
	top: -7px;
	white-space: nowrap;
	/*border: 1px solid #fff;*/
}

.timeaxis::before {
	text-align: right;
	left: -64px;
}

.timeaxis::after {
	text-align: left;
	right: -64px;
}

.axis-base {
	margin-top: 20px;
}


/* 時間表示 */
.timeaxis.time-11::before,.timeaxis.time-11::after { content: "11:00"; }
.timeaxis.time-12::before,.timeaxis.time-12::after { content: "12:00"; }
.timeaxis.time-13::before,.timeaxis.time-13::after { content: "13:00"; }
.timeaxis.time-14::before,.timeaxis.time-14::after { content: "14:00"; }
.timeaxis.time-15::before,.timeaxis.time-15::after { content: "15:00"; }
.timeaxis.time-16::before,.timeaxis.time-16::after { content: "16:00"; }
.timeaxis.time-17::before,.timeaxis.time-17::after { content: "17:00"; }
.timeaxis.time-18::before,.timeaxis.time-18::after { content: "18:00"; }
.timeaxis.time-19::before,.timeaxis.time-19::after { content: "19:00"; }
.timeaxis.time-20::before,.timeaxis.time-20::after { content: "20:00"; }
.timeaxis.time-21::before,.timeaxis.time-21::after { content: "21:00"; }


/* 軸位置 */
/* ※軸位置は .tt-block の高さの何％の位置？ */
.axis-0 { top: 0; }
.axis-5 { top: 5%; }
.axis-10 { top: 10%; }
.axis-15 { top: 15%; }
.axis-20 { top: 20%; }
.axis-25 { top: 25%; }
.axis-30 { top: 30%; }
.axis-35 { top: 35%; }
.axis-40 { top: 40%; }
.axis-45 { top: 45%; }
.axis-50 { top: 50%; }
.axis-55 { top: 55%; }
.axis-60 { top: 60%; }
.axis-65 { top: 65%; }
.axis-70 { top: 70%; }
.axis-75 { top: 75%; }
.axis-80 { top: 80%; }
.axis-85 { top: 85%; }
.axis-90 { top: 90%; }
.axis-95 { top: 95%; }
.axis-100 { top: 100%; }


/* .time-separate */
.tt-block.time-separate {
	border-color: transparent;
	background-color: transparent;
	margin-bottom: 0;
	padding-top: 20px;
	padding-bottom: 20px;
}

.tt-block-parent.time-separate {
	padding-bottom: 30px;
}

.tt-block-parent.section-talk .tt-block.time-separate {
	background-color: rgba(0, 7, 17, 0.7);
	border-left-color: var(--color-talk);
}

@media screen and (max-width: 640px) {
	.time-separate {
		display: none;
	}
}