@charset "utf-8";
/* =============================================================
    common 共通
============================================*/
:root {
	--color_BLK : #252525;
	--color_PNK : #d31477;
	--color_BLU : #053c82;
	--color_YLW : #fbef04;
	--color_RED : #e40b0b;
	--color_GRN : #44bc08;
	--fontS : clamp(14px,2.2vw,22px);
	--fontM : clamp(16px,2.8vw,28px);
	--fontL : clamp(20px,4vw,38px);
	--gap_160px : clamp(54px, 10vw, 160px);
	--gap_96px : clamp(32px, 6vw, 96px);
	--gap_80px : clamp(27px, 5vw, 80px);
	--gap_64px : clamp(21px, 4vw, 64px);
	--gap_48px : clamp(16px, 3vw, 48px);
	--gap_32px : clamp(11px, 2.5vw, 32px);
	--gap_24px : clamp(8px, 2vw, 24px);
	--gap_16px : clamp(5px, 1.5vw, 16px);
	--gap_8px : clamp(3px, 1vw, 8px);
}

body {
	width: 100%;
}
body,figure,h1,h2,h3,h4,h5,h6,li,ol,p,ul,dl,dt,dd {
	margin: 0;
	padding: 0;
}
h1,h2,h3,h4,h5,h6 {
	font-weight: normal;
}
li,ol,ul {
	list-style-type: none;
}
blockquote {
	margin: 0 !important;
}

#page {
	font-size: clamp(16px, 2.2vw, 20px);
	margin: 0 auto;
    max-width: 1920px;
	color: var(--color_BLK);
	font-family: "Noto Sans CJK JP", Lato, "Noto Sans JP", "游ゴシック Medium", 游ゴシック体, "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.4;
	font-feature-settings: "palt" 1;
	-webkit-text-size-adjust: 100%;
}
#page * {
	box-sizing: border-box;
}
#page img {
	width: 100%;
	border: 0;
	vertical-align: top;
}
#page a {
	transition: all 0.3s;
	text-decoration: none;
}
#page a:hover {
	opacity: 0.7;
}
#page a[tabindex*="-1"] {
	pointer-events: none;
}
#page a[tabindex*="-1"]:hover {
	opacity: 1;
}
#page .nolink {
    color: #6096c3;
}
#page em {
	font-style: normal;
	font-weight: bold;
	line-height: 1;
}
@media screen and (min-width: 768px) {
	a[href*="tel:"] {
	  pointer-events: none;
	  cursor: default;
	  text-decoration: none;
	}
}

.serif {
	font-family: 'Shippori Mincho', serif;
	font-weight: 600;
}
.arial {
	font-family: Arial;
}
.font_maru {
	font-family: 'Kosugi Maru',sans-serif;
}
.m-plus-1 {
	font-family: "M PLUS 1", sans-serif;
	/* font-weight: 100; */
	/* font-weight: 300; */
	font-weight: 400;
	/* font-weight: 500; */
}
.m-plus-1 em {
	font-weight: 700 !important;
	font-weight: 800 !important;
	font-weight: 900 !important;
}

.flex {
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.inner_wrap {
	padding: 0 var(--gap_48px);
	margin: 0 auto;
	max-width: 1500px;
}
.pd_tb {
	padding-top: var(--gap_80px);
	padding-bottom: var(--gap_80px);
}
.pd_t {
	padding-top: var(--gap_80px);
}
.pd_b {
	padding-bottom: var(--gap_80px);
}
.block_title_wrap {
	font-size: 0em;
	margin: 0 auto;
}
.block_title {
	font-size: 1.9em;
	text-align: center;
}
.ib {
	font-size: inherit !important;
	display: inline-block;
}
.btn_wrap {
	text-align: center;
}
.btn {
	font-size: var(--fontM);
	color: #fff;
	font-weight: bold;
	padding: 0.8em 1em;
	margin: 0 auto;
	line-height: 1.2;
	border-radius: 10px;
	display: inline-block;
}

.al_r {
	text-align: right;
}
.al_l {
	text-align: left;
}
.al_c {
	text-align: center;
}
.ylw {
	color: var(--color_YLW);
}
.red {
	color: var(--color_RED);
}

@media screen and (min-width: 768px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
	.mob {
		display: none;
	}	
}
@media screen and (max-width: 767px) {
	.pc {
		display: none;
	}
}

.hidden {
	display: none !important;
}

#side_nav_r,
#side_nav_l {
	bottom: var(--gap_16px);
    position: fixed;
    z-index: 1100;
}
#side_nav_r {
	/* right: clamp(8px, 2vw, 16px); */
	right: 0;
	bottom: var(--gap_32px);
}
#side_nav_l {
	left: var(--gap_24px);
}
#side_nav_r a,
#side_nav_l a {
	display: block;
}

.side_nav {
	text-align: center;
	margin-bottom: var(--gap_32px);
}
.side_nav a i {
	font-size: clamp(32px, 6vw, 48px);
    text-shadow: 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.3em #fff, 0 0 0.3em #fff;
    color: #252525 !important;
}
.side_nav a + a {
    margin-top: var(--gap_8px);
}

#btn_pagetop a {
	font-size: clamp(12px,1.6vw,16px);
	font-weight: bold;
	text-align: center;
    line-height: 1;
	color: #fff;
	padding: var(--gap_16px) var(--gap_16px);
	background-color: var(--color_PNK);
	border: solid 1px #fff;
	border-right: 0;
	box-shadow: 0 0 var(--gap_8px) var(--color_BLU);
}
#btn_pagetop a img {
	width: clamp(60px, 15vw, 100px);
}

#side_nav_l > i {
	font-size: 1.4em;
	text-shadow: 0 0 0.2em #000,0 0 0.3em #000;
	color: #fff;
	margin-bottom: var(--gap_8px);
	display: inline-block;
	cursor: pointer;
	position: relative;
	z-index: 5000;
}
#btn_prbnr a {
	text-align: center;
	text-decoration: none;
	line-height: 1.2;
	letter-spacing: 0;
	text-shadow: 0 0 0.2em var(--color_NVY),0 0 0.3em var(--color_NVY);
	padding: var(--gap_8px);
	/* border: solid 1px var(--color_YLW);
	box-shadow: 0 0 var(--gap_8px) #000; */
    /* background: var(--color_RED); */
	/* background: #214361;
    background: radial-gradient(circle, rgba(33, 67, 97, 1) 0%, rgba(17, 44, 68, 1) 100%); */
}

#btn_prbnr a img {
	width: clamp(120px, 12vw, 160px);
}
@media screen and (max-width: 479px) {
	.btm_btn_area {
		position: relative;
	}
	.btm_btn_area::after {
		position: fixed;
		/* content: ""; */
		width: 100%;
		background-color: #000;
		background: linear-gradient(90deg, transparent 0%, #000 50%, transparent 100%);
		bottom: 0;
		height: 60px;
		z-index: 1010;
	}
	/* .side_nav {
		margin-bottom: var(--gap_16px);
		position: fixed;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	.side_nav > div {
		display: inline-block;
		margin-inline: var(--gap_16px);
	} */
}

/* =============================================================
    【movie】ブロック　※Brightecoveの動画表示
============================================*/
.movie_wrap {
	width: 100%;
    max-width: 900px;
	margin: 0 auto var(--gap_48px);
	border: solid 1px var(--color_BLU);
}
#movie {
    position: relative;
    width: 100%;
    padding-top: calc(9 / 16 * 100%);
    margin: 0 auto;
    overflow: hidden;
}
.tvo-video {
	position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
}
@media screen and (max-width: 479px) {
	.movie_wrap {
		padding: var(--gap_8px);
	}
}

.flex.col2 {
	column-gap: 3%;
	row-gap: var(--gap_48px);
}
.flex.col2 .flex_item {
	width: calc(97% / 2);
}
.flex.col3 {
	column-gap: 3%;
	justify-content: center;
}
.flex.col3 .flex_item {
	width: calc(94% / 3);
}
.flex.col4 {
	column-gap: 2%;
	justify-content: center;
}
.flex.col4 .flex_item {
	width: calc(94% / 4);
}
.flex.col4 .flex_item:nth-child(n + 5) {
	margin-top: var(--gap_48px);
}
@media screen and (max-width:767px) {
	.flex.col2,
	.flex.col3 {
		justify-content: center;
	}
	.flex.col2 .flex_item {
		width: min(100%, 400px);
	}
	.flex.col3 .flex_item {
		width: min(100%, 480px);
	}
	/* .flex.col2 .flex_item:not(:first-of-type),
	.flex.col3 .flex_item:not(:first-of-type) {
		margin-top: var(--gap_48px);
	} */
	.flex.col4 .flex_item {
		width: calc(96% / 3);
	}
	.flex.col4 .flex_item:nth-child(n + 4) {
        margin-top: var(--gap_48px);
    }
}
@media screen and (max-width:479px) {
	.flex.col4 .flex_item {
		width: calc(98% / 2);
	}
	.flex.col4 .flex_item:nth-child(n + 3) {
        margin-top: var(--gap_48px);
    }
}

.grid {
	display: grid;
}
.grid.col2 {
	grid-template-columns: repeat(2, 1fr);
}
.grid.col4 {
	grid-template-columns: repeat(4, 1fr);
}
.col_s {
	column-gap: var(--gap_16px);
}
.col_m {
	column-gap: var(--gap_24px);
}
.col_l {
	column-gap: var(--gap_48px);
}
.row_s {
	row-gap: var(--gap_16px);
}
.row_m {
	row-gap: var(--gap_24px);
}
.row_l {
	row-gap: var(--gap_48px);
}
@media screen and (max-width: 1279px) {
	.grid.col4 {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 767px) {
	.grid.col2 {
		grid-template-columns: repeat(1, 1fr);
	}
}
@media screen and (max-width: 479px) {
	.grid.col4 {
		grid-template-columns: repeat(1, 1fr);
	}
}

/* =============================================================
    common ページ内共通
============================================*/
.targetBox {
	opacity: 0;
	transition: opacity 0.75s ease-in;
  }
  .is-showTargetBox {
	opacity: 1;
	transition: opacity 0.75s ease-in;
  }
.box01 {
	padding-top: var(--gap_48px);
	padding-bottom: var(--gap_48px);
	border-radius: var(--gap_24px);
	background-color: #fff;
	border: solid 3px #217fc4;
}
#page:not(.page_home) .box01 {
    background-color: rgb(236 247 253 / 60%);
}
#page.page_list .box01,
#page.page_stage .box01 {
    background-color: rgb(215 230 249 / 60%);
}
.sec_title {
	font-size: var(--fontM);
	font-weight: bold;
	text-align: center;
}
.btn_wrap {
	text-align: center;
}
.note {
	font-size: 16px;
}

/* =============================================================
      header
============================================*/
#p_header {
	position: sticky;
	top: 0;
	z-index: 1000;
}
.menu_wrap {
	background-color: var(--color_BLU);
	box-shadow: 0 0 6px #000;
}
.g_navi_wrap.flex {
	margin: 0 auto;
	max-width: 1100px;
}
.g_navi_wrap li {
	line-height: 1.2;
	width: calc(100% / 6);
	text-align: center;
	border-right: solid 1px #fff;
}
.g_navi_wrap li:first-child {
	border-left: solid 1px #fff;
}
.g_navi_wrap a {
	color: #fff;
	padding: 8px 8px;
	display: block;
}
.g_navi_wrap .sub_link.flex {
	justify-content: space-around;
}
@media screen and (min-width: 1024px) {
	.trigger_wrap {
		display: none;
	}
	.g_navi {
		display: block !important;
	}
	.g_navi_wrap li {
		font-size: 0.9em;
	}
	.g_navi .g_navi_wrap li {
		display: -webkit-flex;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.g_navi_wrap .sub_link {
		display: none;
	}
}
@media screen and (max-width: 1023px) {
	.trigger_wrap {
		text-align: right;
		padding: 0 16px;
		position: relative;
		z-index: 1010;
	}
	.btn_trigger {
		font-size: 22px;
		color: #fff;
		background-color: transparent;
		border: 0;
		position: relative;
		height: 40px;
		width: 40px;
		/* top: 50%;
		right: 0;
		transform: translateY(-50%); */
	}
	.btn_trigger i {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	.btn_trigger .menu_close,
	.btn_trigger.is-opend .menu_bar {
		display: none;
	}
	.btn_trigger.is-opend .menu_close {
		display: block;
	}
	.g_navi {
		width: 100%;
		margin-top: 40px;
		position: absolute;
		top: 0;
		max-height: 80vh;
		overflow-y: scroll;
		background-color: rgb(5 60 130 / 90%);
		box-shadow: 0 var(--gap_8px) var(--gap_8px) rgb(255 255 255 / 80%);
		display: none;
		-ms-overflow-style: none;	/*スクロールバー非表示（IE・Edge）*/
		scrollbar-width: none;	/*スクロールバー非表示（Firefox）*/
	}
	.g_navi::-webkit-scrollbar{	/*スクロールバー非表示（Chrome・Safari）*/
		display:none;
	}
	.g_navi_wrap.flex {
		flex-direction: column;
		padding: var(--gap_48px) var(--gap_48px); 
	}
	.g_navi_wrap li {
		border: 0 !important;
		width: 100%;
		max-width: 400px;
		margin: 0 auto !important;
	}
	.g_navi_wrap li:not(:last-child) {
		border-bottom: dotted 1px #c8dae4 !important;
	}
	.g_navi_wrap a {
		padding: var(--gap_16px) var(--gap_8px);
	}
}

/* =============================================================
      main_visual メインビジュアル
============================================*/
#main {
	position: relative;
}
#main_visual {
	margin-bottom: calc(min(3.5vw, 80px) * -1);
	background-color: var(--color_BLU);
}
.end_info {
	text-align: center;
	padding: var(--gap_48px);
    background-color: rgb(215 230 249 / 90%);
}
.end_text {
	font-size: clamp(18px, 3vw, 22px);
	font-weight: bold;
	color: var(--color_BLU);
	margin: 0 auto var(--gap_32px);
}
.end_list {
	width: 100%;
	max-width: 550px;
	border-left: solid 1px;
	border-top: solid 1px;
	border-color: var(--color_BLU);
	display: inline-block;
}
.end_list dl {
	overflow: hidden;
	display: -webkit-flex;
	display: flex;
}
.end_list dt,
.end_list dd {
	line-height: 1.2;
	width: 33.3%;
	padding: 0.6em 0.6em;
	border-right: solid 1px;
	border-bottom: solid 1px;
	border-color: var(--color_BLU);
	background-color: #fff;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
}

.end_list .b {
	font-weight: bold;
}
.end_list .bg {
	background-color: #dce9fb;
}

.end_list .head dt,
.end_list .head dd {
	background-color: #dce9fb;
}
.end_list .head dt,
.end_list .head dd {
	font-size: 80%;
	padding: 0.2em 0.6em;
}
.end_list .total dt,
.end_list .total dd {
	font-weight: bold;
	color: #fff;
	background-color: rgb(5 60 130 / 50%);
}
.end_list .total dt {
	width: 66.6%;
}
.btn_close {
	font-size: 16px;
	color: var(--color_BLU);
	line-height: 1;
	margin: var(--gap_24px) auto 0;
	padding: 0.4em 0.6em;
	background-color: unset;
    border: 0;
    border-radius: 4px;
	display: block;
	cursor: pointer;
}
.btn_close i {
	margin-right: 4px;
}
.btn_ap {
	font-size: initial;
	position: absolute;
    z-index: 500;
	top: max(-15vw,-160px);
}
.prg_ap {
	left: var(--gap_32px);
	animation: fuwafuwa2 2s infinite;
}
.regi_ap {
	left: 106%;
	animation: fuwafuwa2 2s infinite;
}
.regi_ap2 {
	animation: fuwafuwa2 2s infinite 1s;
}
.regi_ap2.close {
	animation: unset;
	opacity: 0.7;
}
@keyframes fuwafuwa2 {
	0% {
	transform: translateY(var(--gap_8px));
   }
	50% {
	transform: translateY(calc(var(--gap_8px) * -1));
   }
	100% {
	transform: translateY(var(--gap_8px));
   }
}
.btn_ap a {
	font-weight: bold;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	width: clamp(60px,15vw,180px);
	height: clamp(60px,15vw,180px);
	justify-content: center;
	align-items: center;
    border-radius: 100%;
	border: solid 2px #fff;
	box-shadow: 0 0 var(--gap_8px) var(--color_BLU);
}
/* .regi_ap.btn_ap a {
	color: #e563a6;
} */
.prg_ap a {
	background-color: var(--color_PNK);
}
.regi_ap a {
	background-color: var(--color_PNK);
}
.regi_ap2 a {
	background-color: var(--color_BLU);
}
.btn_ap span {
	font-size: clamp(10px, 2.4vw, 28px);
	line-height: 1.2;
	position: relative;
}
.btn_ap span::after {
	position: absolute;
	content: "\f245";
	font-family: "Font Awesome 6 Free","Font Awesome 6 Brands";
	font-weight: 900;
	bottom: -1.2em;
    left: 85%;
    text-shadow: 1px 0 2px var(--color_BLU), 1px 0 2px var(--color_BLU), 1px 0 2px var(--color_BLU), 0 1px 2px var(--color_BLU), 0 1px 2px var(--color_BLU), 0 1px 2px var(--color_BLU);
    font-size: 1.6em;
}
.btn_ap.close span::after {
	content: none;
}
.btn_ap em {
	color: #fff000;
}
.btn_ap small {
	margin: 0 auto 4px;
	display: block;
}
.main_visual_inner {
	position: relative;
	margin: 0 auto;
	overflow: hidden;
}
.main_visual_inner .img_wrap {
	position: absolute;
	z-index: 50;
}
.img_wrap.mv_btm {
	position: relative;
	z-index: 100;
}
.mv_L {
	top: var(--gap_64px);
	left: min(4vw,100px);
}
.mv_R {
	top: var(--gap_64px);
	right: min(4vw,100px);
}
.mv_L img,
.mv_R img {
	width: min(17vw,300px) !important;
}
.p_title_wrap {
    font-size: 0em;
	width: min(46vw,856px);
	margin: 0 auto;
	padding: var(--gap_64px) 0 var(--gap_48px);
	position: relative;
	z-index: 100;
}
.p_title01 {
    background: url(/event/eventtool/lib/2026/images/mv_title01.png) center center/contain no-repeat;
    padding-bottom: calc(560 / 856 * 100%);
	margin-bottom: var(--gap_32px);
}
.p_title02 {
    background: url(/event/eventtool/lib/2026/images/mv_title02.png) center center/contain no-repeat;
    padding-bottom: calc(156 / 856 * 100%);
	margin-bottom: var(--gap_32px);
}
.p_title03 {
    background: url(/event/eventtool/lib/2026/images/mv_title03.png) center center/contain no-repeat;
    padding-bottom: calc(292 / 856 * 100%);
}

.mv_btm_wrap {
	height: min(42.5vw,810px);
	position: relative;
	z-index: 500;
}
.p_title_sub {
	width: min(14vw,300px);
	margin: 0 auto;
}
.ttl_sub_L {
	top: 0;
	left: min(4vw,100px);
}
.ttl_sub_R {
	top: 0;
	right: min(4vw,100px);
}
.ttl_sub_L img,
.ttl_sub_R img {
	width: min(34vw,680px) !important;
}

@media screen and (max-width: 1919px) {
	.p_title01,
	.p_title02 {
		margin-bottom: 2vw;
	}
}
@media screen and (max-width: 767px) {
	.btn_ap a {
		box-shadow: 0 0 1.4vw var(--color_BLU);
	}
}
@media screen and (max-width: 479px) {
	.btn_ap a {
		border: solid 1px #fff;
	}
}
@media screen and (max-width: 399px) {
	.btn_ap small {
		margin-bottom: 0;
	}
}

/* =============================================================
    content_wrap コンテンツ
============================================*/
#content_wrap {
	background: url(/event/eventtool/lib/2026/images/bg_wrap.png) center top/1300px fixed repeat;
	position: relative;
	/* z-index: 550; */
}

#page:not(.page_home) #content_wrap {
	padding: var(--gap_48px) var(--gap_48px) var(--gap_80px);
}
@media screen and (max-width: 767px) {
	#content_wrap {
		background: url(/event/eventtool/lib/2026/images/bg_wrap.png) center top/1000px fixed repeat;
	}
}

/* =============================================================
    intro イントロ
============================================*/
#intro {
	padding-top: min(6vw, 80px);
	background-color: #fff;
	box-shadow: 0 0 var(--gap_24px) rgb(5 60 130 / 50%);
}

.pr_btn {
	font-size: clamp(14px,3vw,38px);
    font-weight: 800;
	text-align: center;
    color: #fff;
    padding: var(--gap_24px) var(--gap_48px);
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
}
.pr_btn a {
	line-height: 1.2;
	letter-spacing: 1px;
	color: #fff;
	margin-inline: auto;
    padding: var(--gap_24px);
    width: min(100%, 900px);
	border: solid calc(var(--gap_8px) / 2);
	border-color: #fff;
	display: -webkit-flex;
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
	position: relative;
}
.pr_btn a::after {
	content: "\f103";
	font-family: "Font Awesome 6 Free","Font Awesome 6 Brands";
    font-weight: 900;
	position: absolute;
	bottom: calc(100% + var(--gap_8px));
	left: 50%;
	transform: translateX(-50%);
	filter: drop-shadow(0 0 calc(var(--gap_8px) / 4) #9d1059);
	animation: fuwafuwa 1.5s steps(1) infinite;
}
.pr_btn a small {
	font-size: clamp(10px,1.6vw,22px);
	font-weight: 400;
	margin-top: calc(var(--gap_8px) / 2);
	display: block;
}

.pr_btn.pr_btn01 {
    background-color: var(--color_PNK);
}
.pr_btn.pr_btn01 a {
	background-color: var(--color_PNK);
    filter: drop-shadow(0 0 var(--gap_8px) #9d1059);
}
.pr_btn.pr_btn02 {
    background-color: var(--color_BLU);
}
.pr_btn.pr_btn02 a {
	background-color: var(--color_BLU);
    filter: drop-shadow(0 0 var(--gap_8px) #032249);
}
@media screen and (max-width: 767px) {
	.pr_btn_area.col2 {
		grid-template-columns: repeat(2, 1fr);
	}
	.pr_btn a {
		padding: var(--gap_16px);
	}
}

#intro > .inner_wrap {
	position: relative;
}
#intro > .inner_wrap .regi_ap {
	left: var(--gap_32px);
	bottom: unset;
	top: calc(var(--gap_80px) * -2);
}
#intro > .inner_wrap .regi_ap2 {
	right: var(--gap_32px);
}
.intro_head {
	font-size: 1.4em;
	font-weight: bold;
	text-align: center;
	color: var(--color_BLU);
	padding-bottom: var(--gap_48px);
}
.intro_head em {
	color: var(--color_PNK);
}
.intro_head em.font_l {
	font-size: 1.6em;
}
.intro_read P {
	text-align: justify;
	margin: var(--gap_24px) auto 0;
    max-width: 1100px;
	line-height: 1.6;
	text-shadow: 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.3em #fff, 0 0 0.3em #fff, 0 0 0.3em #fff, 0 0 0.3em #fff, 0 0 0.3em #fff;
	position: relative;
	z-index: 10;
}
.intro_read P em {
	font-size: 1.3em;
	color: var(--color_PNK);
}
.icon_matching {
	margin: calc(var(--gap_48px) * -1) auto var(--gap_48px);
	max-width: 500px;
	position: relative;
	z-index: 1;
}

/* =============================================================
    program 企画
============================================*/
#program .inner_wrap {
	padding-top: var(--gap_32px);
	padding-bottom: var(--gap_48px);
	background: linear-gradient(-45deg, #f1f6ff, #fff, #f1f6ff);
	box-shadow: 0 0 var(--gap_16px) #bfcedf;
}
#program .sec_title {
	line-height: 1;
}
#program .sec_title em {
	color: var(--color_BLU);
	margin: 0 8px;
	display: inline-block;
}
#program .sec_title_sub {
	font-size: 1.2em;
	font-weight: bold;
	color: #fff000;
	text-align: center;
	padding: 0.6em 1em;
	margin: var(--gap_24px) 0 0 calc(var(--gap_48px) * -1);
	width: calc(100% + var(--gap_48px) * 2);
	background-color: var(--color_BLU);
}
#program .sec_title i {
	font-size: 0.8em;
	color: var(--color_PNK);
}

.prg_date {
	font-size: clamp(26px,5.8vw,68px);
    color: #fff;
    font-weight: bold;
	line-height: 1;
	padding: var(--gap_24px);
	margin-top: var(--gap_64px);
    margin-left: calc(var(--gap_48px) * -1);
    margin-bottom: var(--gap_48px);
    display: inline-block;
    background-color: #d31477;
	border-radius: 0 0  var(--gap_32px) 0;
}
.prg_date small {
	font-size: 0.5em;
	margin-left: var(--gap_8px);
}
.prg_theme {
	font-weight: bold;
	padding: 0 0 var(--gap_32px);
}
.prg_theme dd {
	font-size: clamp(16px,2.8vw,28px);
	color: var(--color_BLU);
}
.theme small {
	display: inline-block;
	line-height: 1;
	padding-bottom: calc(var(--gap_8px) / 2);
	margin-bottom: var(--gap_8px);
	border-bottom: dotted 2px;
}
.theme em {
	line-height: 1.4 !important;
	display: block;
}
.keynote {
	font-size: 1.2em;
	color: var(--color_PNK);
	padding-bottom: var(--gap_16px);
}
.prg_theme dd small {
	font-size: clamp(14px,2.8vw,22px);
	margin-right: var(--gap_16px);
}
#program dt {
	font-weight: bold;
	color: #fff;
	line-height: 1;
	margin-left: calc(var(--gap_48px) * -1);
	padding: 0.3em 0.8em;
	background-color: var(--color_BLU);
	border-radius: 0 50px 50px 0;
	display: inline-block;
}

.speakers_wrap {
	margin-top: var(--gap_32px);
}
.speakers dt {
	margin-bottom: 0 !important;
	/* background-color: var(--color_BLU) !important; */
}

/* .speakers_wrap.flex {
	column-gap: 3%
} */
.speakers_item {
	/* width: calc((100% - 3% * 1) / 2); */
	padding: var(--gap_24px);
	border: solid 1px var(--color_BLU);
	border-radius: var(--gap_8px);
	background-color: #fff;
}
.speakers_intro {
	font-size: clamp(16px,1.6vw,22px);
	font-weight: bold;
	line-height: 1.2;
}
.speakers_info {
	width: calc(100% - clamp(50px,20vw,220px));
}
.speakers_photo {
	width: clamp(50px,20vw,220px);
	padding: 0 var(--gap_32px) 0 0;
}
.speakers_photo img {
	margin-bottom: var(--gap_16px);
}
.prg_cate {
	font-size: 0.8em;
	font-weight: bold;
	color: #fff;
	text-align: center;
	padding: var(--gap_8px);
	border-radius: 0 var(--gap_16px) 0 var(--gap_16px);
	background-color: var(--color_PNK);
}
.prg_cate.kn {
	margin-bottom: var(--gap_8px);
}
.prg_cate.zd {
	background-color: var(--color_BLU);
}

.speakers_name {
	font-weight: bold;
	color: var(--color_BLU);
	line-height: 1.2;
	margin-top: var(--gap_24px);
}
.speakers_name .corp_name {
	font-size: clamp(14px,1.4vw,20px);
	font-weight: normal;
	margin-bottom: var(--gap_8px);
}
.speakers_name em {
	font-size: clamp(18px,2.4vw,22px);
	line-height: 1.4;
	color: var(--color_BLK);
    display: inline-block;
}
.speakers_name span.posi {
    margin-left: 0.5em;
}
@media screen and (max-width: 767px) {
	.speakers_wrap.col2 .flex_item {
        width: calc(97% / 2);
    }
	.speakers_item {
		display: block;
	}
	.speakers_info {
		width: 100%;
	}
	.speakers_photo {
		padding: 0;
		margin: 0 auto var(--gap_32px);
		width: 100%;
	}
	.speakers_photo img {
		width: clamp(100px,70%,200px) !important;
		margin-inline: auto;
		display: block;
	}
}
@media screen and (max-width: 399px) {
	.speakers_wrap {
		width: min(80%,380px);
		margin-inline: auto;
	}
    .speakers_wrap.col2 .flex_item {
        width: min(100%, 400px);
    }
}


/* =============================================================
    past_event 過去の様子
============================================*/
#past_event {
	text-align: center;
}
#past_event .sec_title_wrap {
	color: #fff;
	padding: 0.6em 1em;
	margin-bottom: var(--gap_32px);
	background-color: var(--color_BLU);
}
.past_photo {
	justify-content: center;
    row-gap: var(--gap_24px);
    column-gap: 2%;
}
.past_photo a {
	width: calc(94% / 4);
}

/* ポップアップウィンドウ用 */
.visitors-list a {
	background-color: var(--color_PNK);
}
.mfp-content {
	background: #fff;
	max-width: 640px;
	width: 95% !important;
	height: 500px;
	padding: 1.5rem;
	overflow-y: scroll;
	box-sizing: border-box;
}
#visitors-list {
	margin: 0 auto;
	font-size: 14px;
}
#visitors-list h2 {
	margin-bottom: 8px;
	color: #083e8d;
	font-weight: bold;
}
/* END ポップアップウィンドウ用 */

#past_event .note {
	font-size: clamp(10px,1.8vw,14px);
}
#past_event .note span:not(.ib) {
	background-color: rgb(255 255 255 / 70%);
}
#past_event .btn_wrap {
	margin: var(--gap_32px) auto 8px;
}
@media screen and (max-width: 767px) {
	.past_photo a {
		width: calc(96% / 3);
	}
}
@media screen and (max-width: 479px) {
	#past_event .note {
		background-color: rgb(255 255 255 / 70%);
	}
	#past_event .note span:not(.ib) {
		background-color: transparent;
	}
}

/* =============================================================
    entry 出展申し込み
============================================*/
#entry {
	color: #fff;
	text-align: center;
	background: url('../images/bg_photo_L.png') 5% top no-repeat,
		url('../images/bg_photo_R.png') 98% bottom no-repeat var(--color_BLU);
}
#entry .sec_title {
	margin-bottom: var(--gap_48px);
}
#entry .btn_wrap:not(:last-child) {
	margin-bottom: var(--gap_32px);
}
.btn_entry .btn {
	font-size: var(--fontM);
	color: var(--color_BLU);
	width: 100%;
    max-width: 600px;
	padding: 0.8em 50px 0.8em var(--gap_24px);
	background-color: #fff;
	position: relative;
	box-shadow: 0 0 0.8em #012049;
}
.btn_entry.form .btn {
	font-size: var(--fontL);
	background-color: var(--color_YLW);
}
.btn_entry.form .btn small {
	font-size: var(--fontS);
	color: var(--color_PNK);
	margin-top: var(--gap_8px);
}
.btn_entry .btn i {
	position: absolute;
    right: var(--gap_24px);
    top: 50%;
    transform: translateY(-50%);
}
.btn_entry:not(.form) .btn em {
	color: var(--color_PNK);
}
.btn_entry .btn small {
	display: block;
}
@media screen and (max-width: 1279px) {
	#entry {
		background: url('../images/bg_photo_L.png') 5% top/40vw no-repeat,
			url('../images/bg_photo_R.png') 98% bottom/40vw no-repeat var(--color_BLU);
	}
}
@media screen and (max-width: 767px) {
	#entry {
		background: url('../images/bg_photo_R.png') right bottom/60vw no-repeat var(--color_BLU);
	}
}

/* =============================================================
    contact お問い合せ
============================================*/
#contact > .inner_wrap {
	padding-block: var(--gap_48px);
	width: 94%;
	background-color: #fff;
	box-shadow: 0 0 var(--gap_24px) rgb(5 60 130 / 50%);
}
#contact > .inner_wrap > .flex {
	width: min(100%,1100px);
	margin-inline: auto;
}
#contact .sec_title {
	color: var(--color_BLU);
	margin-bottom: var(--gap_32px);
}
#contact .sec_title:nth-of-type(2) {
	padding-top: var(--gap_48px);
}
#contact .sec_title span {
	border-bottom: dotted calc(var(--gap_8px) / 2) var(--color_PNK);
}

.btm_access {
	text-align: center;
}
.btm_access > em {
	font-size: var(--fontL);
	line-height: 1.1;
}
.btm_access small {
	line-height: 1.1;
	margin-top: var(--gap_8px);
	display: block;
}
.btm_access .btn {
	font-size: var(--fontS);
	margin-top: var(--gap_16px);
	padding-block: var(--gap_16px);
	background-color: var(--color_BLU);
}

.contact_wrap.flex {
	justify-content: center;
	align-items: center;
	margin: 0 auto;
}
.contact_wrap.flex .contact_head {
	text-align: center;
}
.contact_title {
	font-weight: bold;
	line-height: 1.2;
}
.address {
	line-height: 1.1;
	margin-bottom: var(--gap_16px);
	display: inline-block;
}
.contact_way {
	line-height: 1.1;
	padding: 0.8em var(--gap_24px);
	/* border-radius: 10px; */
	border: solid calc(var(--gap_8px) / 4) var(--color_BLU);
	align-items: center;
	justify-content: center;
	text-align: center;
}
.contact_way i {
	color: var(--color_BLU);
}
.contact_way a {
	color: var(--color_BLU);
	padding: calc(var(--gap_8px) / 2) var(--gap_8px);
	line-height: 1.1;
    display: inline-block;
}
.tel {
	font-weight: bold;
}
.tel small {
	font-weight: 400;
}
/* .icon_tw {
	margin-left: var(--gap_24px);
}
.icon_tw i {
	font-size: 40px;
	color: initial;
}
.icon_tw a {
	padding: 0;
}
@media screen and (max-width: 1099px) {
	.contact_wrap.flex .contact_head,
	.contact_wrap.flex .contact_way {
		flex: 0 0 100%;
	}
	.icon_tw {
		flex: 0 0 100%;
		margin: 10px 0 0;
	}
} */

/* =============================================================
    下層ページ共通
============================================*/
.page_title {
	font-size: var(--fontM);
    font-weight: bold;
	text-align: center;
	line-height: 1.2;
    margin: 0 auto var(--gap_32px);
    position: relative;
    z-index: 10;
}
.page_title span {
	display: inline-block;
    line-height: 1;
    background-color: rgba(255, 255, 255, 0.8);
}

/* =============================================================
    about.html 開催概要
============================================*/
.about_detail {
	max-width: 750px;
    margin: 0 auto;
	line-height: 1.6;
}
.about_detail dt {
	padding: var(--gap_16px) 0;
	flex: 0 0 5em;
	border-bottom: solid 1px;
	text-align: center;
}
.about_detail dd {
	padding: var(--gap_16px) 0 var(--gap_16px) var(--gap_24px);
	flex: 0 0 calc(100% - 5em);
	border-bottom: dotted 1px;
}
.about_detail dt,
.about_detail dd {
	line-height: 1.2;
}
.about_detail small {
	font-size: 12px;
	line-height: 1.3;
    display: inline-block;
}
.page_about .sec_title {
	font-size: var(--fontS);
	margin: var(--gap_48px) auto var(--gap_24px);
}

.page_about .btn_regist {
	font-size: 0.8em;
	color: #fff;
	padding: 0.2em 0.4em;
	margin-left: var(--gap_16px);
	background-color: var(--color_BLU);
	border-radius: calc(var(--gap_8px) / 2);
}
.page_about .btn_regist i {
	margin-right: calc(var(--gap_8px) / 2);
}
@media screen and (max-width: 549px) {
	.about_detail dt,
	.about_detail dd {
		flex: 0 0 100%;
		text-align: left;
	}
	.about_detail dt {
		padding: var(--gap_8px) 0 var(--gap_8px);
	}
	.about_detail dd {
		padding: var(--gap_16px) var(--gap_16px);
		border-bottom: 0;
	}
}

/* =============================================================
    list.html 出展者一覧
============================================*/
.note_update {
	font-size: 14px;
	max-width: 1300px;
	margin: 0 auto;
	padding: 0 0 var(--gap_24px);
}
.page_list .btn_map {
	top: 80px;
    left: 0;
    z-index: 1000;
    position: sticky;
    margin-left: -80px;  
	display: inline-block;
}
.page_list .btn_map a {
    color: #fff;
	font-weight: bold;
	padding: 14px;
    display: inline-block;
    line-height: 1.1;
	/* writing-mode: vertical-rl; */
    border-radius: 8px;
	background-color: var(--color_BLU);
}
.page_list .btn_map a i {
	margin-top: 4px;
}
.add_mapBtn .page_cont {
	margin-top: -12em;
}
.btn_map.no_click {
	opacity: 1;

}
.btn_map.no_click a {
	background-color: #c3d5eb;
}
@media screen and (max-width: 767px) {
	.page_list .btn_map {
		top: 60px;
		margin-left: -64px;
	}
	.page_list .btn_map a {
		border-radius: 0 8px 8px 0;
	}
}
@media screen and (max-width: 479px) {
	.page_list .btn_map a {
		padding: 12px 8px;
	}
}

#cate_navi {
	margin-bottom: var(--gap_24px);
	position: relative;
    z-index: 950;
}
#select_cate .note {
	text-align: center;
	margin: 0 auto var(--gap_24px);
}
.cate_list.flex {
	/* flex-flow: row;
	overflow-x: scroll; */
	max-width: 900px;
    margin: 0 auto;
	padding-bottom: 8px;
	width: 100%;
}
.scroll::-webkit-scrollbar{
	height: 8px;
 }
.scroll::-webkit-scrollbar-track{
	background-color: #fff4f9;
 }
.scroll::-webkit-scrollbar-thumb{
	background-color: #ffcce3;
 }
.cate_list li {
	flex: 0 0 calc(100% / 6);
	padding: 0 0.5em;
	margin: 0 auto 0.5em;
}
.btn_clr_wrap {
	text-align: center;
}
.btn_clr {
	font-size: 0.8em;
	color: #fff;
	padding: 8px 12px;
	margin: var(--gap_24px) auto 0;
	line-height: 1;
	background-color: #d31477;
	border-radius: 6px;
    display: inline-block;
	transition: all 0.3s;
}
.btn_clr:hover {
	cursor: pointer;
	opacity: 0.8;
}
#btn_clr {
    display: none;
}
.cate_list .sort {
    display: none;
}
.cate_list label {
    width: 100%;
    max-width: 150px;
    margin: 0 auto;
    display: block;
	/* height: 11vw;
	background-size: 100% !important; */
	cursor: pointer;
	transition: all 0.3s;
}

/* label.cate01 {
    background: url(/event/eventtool/lib/2026/images/exhibitors/cateIcon_01.png) center top no-repeat;
} */

.cate_list label.is-selected {
	transform: scale(0.8);
	opacity: 0.7;
}
/* .cate_list label:not(.is-selected):hover {
	opacity: 0.7;
} */
.scroll_icon {
	text-align: center;
	line-height: 1;
	margin: 0 auto 10px;
}
.scroll_icon i {
	margin: 0 10px;
	line-height: 1;
}
@media screen and (min-width: 1024px) {
	.cate_list label:hover {
		opacity: 0.7;
	}
}
@media screen and (max-width: 767px) {
	.cate_list.flex {
		flex-flow: row;
		overflow-x: scroll;
	}
	.cate_list li {
		flex: 0 0 calc(100% / 5);
		padding: 0 4px;
	}
}
@media screen and (max-width: 349px) {
	.cate_list li {
		flex: 0 0 calc(100% / 4);
	}
}

.initials_list {
	justify-content: center;
	max-width: 900px;
    margin: 0 auto var(--gap_32px);
}
.initials_list li {
	text-align: center;
	padding: 4px 8px;
	margin: 4px auto;
	background-color: #fff;
	border-radius: 6px;
	border: solid 1px #217fc4;
	flex: 0 0 19%;
}
.initials_list li a {
	color: var(--color_BLU);
	line-height: 1;
    display: block;
}
.initials_list li a span {
	font-size: 14px;
}
#result {
	font-size: 0.9em;
	text-align: center;
	font-weight: bold;
}
#initials_navi {
	position: relative;
	z-index: 950;
}
#initials_navi .note {
	text-align: center;
    margin: 0 auto 10px;
}

.space {
	height: 1px;
	width: 100%;
	max-width: 900px;
	margin: 0 auto var(--gap_48px);
	border-bottom: dotted 4px #217fc4;
}
#list_box [class*="hidden-"] {
    display: none;
}
.initials {
	flex: 0 0 100%;
    font-size: 20px;
	margin: var(--gap_48px) auto 0;
    position: relative;
    overflow: hidden;
}
.initials i {
    font-size: 0.9em;
    margin: 0 8px 0 4px;
}
.initials::after {
    position: absolute;
    content: "";
    border: solid 1px #217fc4;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
}

.company_wrap {
	width: 100%;
    margin: var(--gap_24px) 0 0;
    padding: var(--gap_32px);
	align-items: center;
	background-color: #fff;
}
.company_head.flex {
	align-items: center;
}
.logo_wrap {
	text-align: center;
	width: min(40%,350px);
}
.logo_wrap img {
	margin: 0 auto;
	display: block;
}
.company_detail {
	width: calc(100% - min(40%,350px) - var(--gap_32px));
}

.company_name {
	font-size: var(--fontM);
	font-weight: bold;
	line-height: 1.2;
}
.company_pr {
    padding: var(--gap_16px) 0 var(--gap_24px);
	border-bottom: dotted 1px var(--color_BLU);
}
.company_pr p {
	font-size: 0.9em;
	color: var(--color_BLU);
	text-align: justify;
	letter-spacing: 1px;
	line-height: 1.3;
	word-break: break-all;
}
.company_pr p.is-opend {
	display: block;
	-webkit-box-orient: unset;
	-webkit-line-clamp: unset; /* 制限したい行数が3の場合 */
	overflow: unset;
}

.company_info.flex {
	justify-content: unset;
    align-items: center;
	padding-top: var(--gap_8px);
}
.company_hp {
	display: inline-block;
}
.company_hp a {
	font-size: 0.9em;
	line-height: 1;
	letter-spacing: -1px;
	padding: var(--gap_8px) clamp(14px, 2.4vw, 22px) var(--gap_8px) var(--gap_8px);
    margin: var(--gap_48px) 0 0;
	border: solid 1px;
	display: inline-block;
	position: relative;
}
.company_hp:not(.hp_none) a::after {
	position: absolute;
	content: '\f0da';
	font-family: "Font Awesome 6 Free","Font Awesome 6 Brands";
    font-weight: 900;
	right: var(--gap_8px);
    top: 50%;
    transform: translateY(-50%);
}
.company_hp.hp_none a {
	color: #ddc7d1;
	padding: var(--gap_8px) var(--gap_8px);
	border: solid 1px #ddc7d1;
	background-color: #fff;
}

.cate_icon_wrap .img_iconWrap {
	width: clamp(30px,8vw,60px);
	display: inline-block;
}
.cate_icon_wrap .img_iconWrap img {
	padding: calc(var(--gap_8px) / 2) calc(var(--gap_8px) / 2) calc(var(--gap_8px) / 2) 0;
}

.cate_icon_wrap {
	font-size: 0;
}
.cate_icon {
	font-size: 0em;
    width: clamp(40px,6vw,60px);
	margin-block: var(--gap_8px);
	margin-right: var(--gap_8px);
    display: inline-block;
}
.cate_icon span {
	display: block;
    padding-top: calc(60 / 60 * 100%);
}
.cate_icon.cate01 {
	background: url(https://dev-tvo.tvo-system.com/event/eventtool/lib/2026/images/exhibitors/cateIcon_01.png) center center / contain no-repeat;
}
.cate_icon.cate02 {
	background: url(https://dev-tvo.tvo-system.com/event/eventtool/lib/2026/images/exhibitors/cateIcon_02.png) center center / contain no-repeat;
}
.cate_icon.cate03 {
	background: url(https://dev-tvo.tvo-system.com/event/eventtool/lib/2026/images/exhibitors/cateIcon_03.png) center center / contain no-repeat;
}
.cate_icon.cate04 {
	background: url(https://dev-tvo.tvo-system.com/event/eventtool/lib/2026/images/exhibitors/cateIcon_04.png) center center / contain no-repeat;
}
.cate_icon.cate05 {
	background: url(https://dev-tvo.tvo-system.com/event/eventtool/lib/2026/images/exhibitors/cateIcon_05.png) center center / contain no-repeat;
}
.cate_icon.cate06 {
	background: url(https://dev-tvo.tvo-system.com/event/eventtool/lib/2026/images/exhibitors/cateIcon_06.png) center center / contain no-repeat;
}
.cate_icon.cate07 {
	background: url(https://dev-tvo.tvo-system.com/event/eventtool/lib/2026/images/exhibitors/cateIcon_07.png) center center / contain no-repeat;
}
.cate_icon.cate08 {
	background: url(https://dev-tvo.tvo-system.com/event/eventtool/lib/2026/images/exhibitors/cateIcon_08.png) center center / contain no-repeat;
}
.cate_icon.cate09 {
	background: url(https://dev-tvo.tvo-system.com/event/eventtool/lib/2026/images/exhibitors/cateIcon_09.png) center center / contain no-repeat;
}
.cate_icon.cate10 {
	background: url(https://dev-tvo.tvo-system.com/event/eventtool/lib/2026/images/exhibitors/cateIcon_10.png) center center / contain no-repeat;
}
.cate_icon.cate11 {
	background: url(https://dev-tvo.tvo-system.com/event/eventtool/lib/2026/images/exhibitors/cateIcon_11.png) center center / contain no-repeat;
}
.cate_icon.cate12 {
	background: url(https://dev-tvo.tvo-system.com/event/eventtool/lib/2026/images/exhibitors/cateIcon_12.png) center center / contain no-repeat;
}

.pr_photo:nth-child(n+2) {
	flex: 0 0 49%;
}
.pr_photo img {
	margin: 4% auto 0;
	display: block;
}
/* @media screen and (min-width:1280px) {
	#select_cate label {
		height: 120px;
	}
} */
@media screen and (max-width:767px) {
	#a_gyo .initials {
		margin-top: 10px;
	}
	.company_wrap {
		margin: var(--gap_24px) auto 0;
	}
}
@media screen and (max-width:599px) {
	.logo_wrap,
	.company_detail {
		width: 100%;
	}
	.logo_wrap_inner {
		width: min(100%,250px);
		margin-inline: auto;
		display: -webkit-flex;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		aspect-ratio: 2 / 1.5;
	}
	.company_hp a {
		margin: 0 auto var(--gap_48px);
	}
}
@media screen and (max-width:479px) {
	.initials_list li a span {
		display: none;
	}
}

/* =============================================================
    stage.html PRステージスケジュール
============================================*/
#stage .inner_wrap.box01 {
	max-width: 1400px;
}

#stage_schedule .note {
	font-size: clamp(12px,1.8vw,14px);
	text-align: center;
	padding-bottom: var(--gap_24px);
}
.stage_schedule_wrap {
	row-gap: var(--gap_64px);
}
.stage_schedule {
	width: calc(98% / 2);
}
.schedule_title {
	font-size: var(--fontM);
	font-weight: bold;
	color: #fff;
	text-align: center;
	padding: 8px 16px;
}
.day1 .schedule_title {
	background-color: var(--color_PNK);
}
.day2 .schedule_title {
	background-color: var(--color_BLU);
}
.day1 .stage_info_detail_wrap dt,
.day1 .stage_info_pr {
	color: var(--color_PNK);
}
.day2 .stage_info_detail_wrap dt,
.day2 .stage_info_pr {
	color: var(--color_BLU);
}
.stage_info_detail_wrap {
	align-items: center;
	padding: var(--gap_32px) 1em;
    background-color: rgb(255 255 255 / 50%);
}
.stage_info_detail_wrap:nth-child(2n) {
	background-color: #fff;
}
.stage_info_detail_wrap dt {
	font-size: var(--fontS);
	font-weight: 400;
	line-height: 1.1;
	padding-left: 1.2em;
	padding-bottom: calc(var(--gap_8px) / 2);
	border-bottom: dotted calc(var(--gap_8px) / 4) var(--color_PNK);
	position: relative;
}
.day2 .stage_info_detail_wrap dt {
	border-bottom: dotted calc(var(--gap_8px) / 4) var(--color_BLU);
}
.stage_info_detail_wrap dt::before {
	content: '\f017';
	font-family: "Font Awesome 6 Free","Font Awesome 6 Brands";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.stage_info_pr,
.stage_info_corp {
	line-height: 1.3;
}
.stage_info_pr {
	font-weight: 800;
	padding: var(--gap_16px) 0;
}
.stage_info_corp {
	font-size: 0.9em;
	font-weight: bold;
	padding-bottom: calc(var(--gap_8px) / 2);
}
.stage_info_corp + .stage_info_corp {
	padding-block: var(--gap_8px) 0;
}
.stage_info_corp mark {
	font-size: 0.9em;
	color: #fff;
	padding: calc(var(--gap_8px) / 4) calc(var(--gap_8px) / 2);
	margin-bottom: calc(var(--gap_8px) / 2);
	display: inline-block;
	background-color: var(--color_PNK);
}
.stage_info_corp.zd mark {
	background-color: var(--color_BLU);
}
.stage_info_corp a {
	color: #217fc4;
	margin-top: var(--gap_8px);
	text-decoration: underline !important;
	display: inline-block;
}
.stage_info_corp a i {
	margin-right: calc(var(--gap_8px) / 2);
}
.stage_info_corp small {
	font-weight: 400;
}
.stage_info_read {
	font-size: 0.9em;
	line-height: 1.3;
}
@media screen and (max-width:1023px) {
	.stage_schedule {
		width: 100%;
	}
}
@media screen and (max-width:479px) {
	/* .stage_info_corp {
		font-size: clamp(11px, 3vw, 1em);
	} */
}

/* =============================================================
    アニメーション
============================================*/
@keyframes fuwafuwa {
	0% {
		transform: translateY(calc(var(--gap_8px) / 2));
	}
	50% {
		transform: translateY(calc(var(--gap_8px) / 2 * -1));
	}
	100% {
		transform: translateY(calc(var(--gap_8px) / 2));
	}
}

@media screen and (min-width:768px) {
	.fadeIn_left {
		opacity: 0;
		transform: translate(-50%, 0);
		transition: .8s;
		visibility: hidden;
	}
	.fadeIn_right {
		opacity: 0;
		transform: translate(50%, 0);
		transition: .8s;
	}
	.fadein_center {
		opacity: 0;
		transform: translate(0, 0);
		transition: 3s;
	}
	.fadeIn_left.is-show,
	.fadeIn_right.is-show,
	.fadein_center.is-show {
		transform: translate(0, 0);
		opacity: 1;
		visibility: visible;
	}
}

/* .fadein {
    animation: fadeIn 3s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
} */
.p_title01.fadein {
    animation: fadeIn 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}
.p_title02.fadein {
    animation: fadeIn 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}
.p_title03.fadein {
    animation: fadeIn 3s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}
@media screen and (max-width:767px) {
	.p_title_sub.fadein {
		animation: fadeIn 4s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
	}
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* .slidein {
    animation: slideIn 4.5s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
} */
.mv_L.slidein {
    animation: slideIn 2s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}
.mv_R.slidein {
    animation: slideIn01 2s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}

@media screen and (max-width:767px) {
	.ttl_sub_L.slidein {
		animation: slideIn 3s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
	}
	.ttl_sub_R.slidein {
		animation: slideIn01 3s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
	}
}
@keyframes slideIn {
  0% {
	transform: translateX(-100px);
    opacity: 0;
  }
  60% {
    transform: translateX(-100px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  80%,100% {
    opacity: 1;
  }
}
@keyframes slideIn01 {
  0% {
	transform: translateX(100px);
    opacity: 0;
  }
  60% {
    transform: translateX(100px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  80%,100% {
    opacity: 1;
  }
}

.none {
	display: none;
}

.no_click {
	pointer-events: none;
    opacity: 0.3;
}



/* JS 時間指定で表示非表示を制御用 */
.js-time_limited {
    display: none !important;
}
.js-time_limited_fire {
    display: block !important;
}
/* END // JS 時間指定で表示非表示を制御用 */

#tvoHeader,
#tvoFooter {
	position: relative;
	z-index: 1000;
}



















.readmore_container {
	--max-height: 120px;
  
	position: relative;
	max-height: var(--max-height);
	overflow: hidden;
  
	&[data-is-open] {
	  max-height: initial;
  
	  & .readmore_btnwrap {
		display: none;
	  }
	}
  }
  
  .readmore_textwrap {
	position: relative;
  }
  
  .readmore_btnwrap {
	position: absolute;
	top: var(--max-height);
	transform: translateY(-100%);
	overflow: hidden;
	width: 100%;
	display: flex;
	align-items: end;
	justify-content: flex-end;
	background-image: linear-gradient(transparent, #fff 65%);
	height: calc(clamp(0px, round(up, 100% - var(--max-height), 1px), 1px) * 60);
  }
  
  .btn_readmore {
	font-size: 0.9em !important;
	/* margin: 8px; */
	padding-inline: 0;
	text-decoration: underline;
	background: none;
	border: none;
	font-size: inherit;
	color: inherit;
  
	&:hover {
	  text-decoration: none;
	}
  }
  