html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video,main {margin:0;padding:0;border:0;font-size:100%;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main {display:block;}
body {font-family:Verdana,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1;}
ol,ul {list-style:none;}
blockquote,q {quotes:none;}
blockquote:before,blockquote:after,q:before,q:after {content:'';content:none;}
table {border-collapse:collapse;border-spacing:0;}
wbr:after {content:"\00200B";}

/*	TBS reset
============================== */
.alt {position:absolute;top:-5000px;left:-9999px;}
.clearfix:after {content:"";clear:both;display:block;}
.hide-txt {text-indent:110%;white-space:nowrap;overflow:hidden;}
.fp-causion {display:none;}
.nocontxt {-webkit-touch-callout: none;-webkit-user-select: none;user-select: none;-webkit-user-drag:none;}
.nocontxt img {pointer-events: none;}
@media all and (min-width:768px) {
.alt-pc {position:absolute;top:-5000px;left:-9999px;}
.clearfix-pc:after {content:"";clear:both;display:block;}
.hide-txt-pc {text-indent:110%;white-space:nowrap;overflow:hidden;}
}
@media all and (max-width:767px) {
.alt-smp {position:absolute;top:-5000px;left:-9999px;}
.clearfix-smp:after {content:"";clear:both;display:block;}
.hide-txt-smp {text-indent:110%;white-space:nowrap;overflow:hidden;}
}
div.embed-tbsplayer {
background-color:#000;
position:relative;
height:0;
padding-top:56.25%;
}
div.embed-tbsplayer .tbs-player {
position:absolute;
left:0;
top:0;
width:100%;
height:100%;
}
div.embed-tbsplayer-audio {
background-color:#fff;
}
div.embed-tbsplayer-audio .tbs-player {
height:46px;
}
div.lbx-overlay {
z-index:10000;position:absolute;background-color:#000;width:100%;height:100%;left:0;top:0;right:0;bottom:0;opacity:0.9;
}
/* ============================
	general
============================ */

:root {
	--cl-blue:#0050FF;
	--cl-red:#FF3C1E;
	--cl-pink:#FF91A0;
	--cl-orange:#FFAA1E;
	--cl-yellow:#FFF000;
	--cl-green:#32C83C;
	--cl-darkblue:#0014C8;
	--cl-darkred:#E61400;
	--cl-darkpink:#FF5064;
	--cl-darkorange:#FF781E;
	--cl-darkyellow:#FFE100;
	--cl-darkgreen:#32A028;
}

body { color:#000; font-family:"m-plus-1p", sans-serif; font-weight:400; font-style: normal; font-feature-settings:"palt"; text-align:center; background:url(../img/bg.png) fixed center center no-repeat; background-size:cover; background-color:#ffdf00; }

.cover { background:url(/img/cover.gif); display:block; width:100%; height:100%; }
.lazy { display:block; position:relative; }

#container a { color:var(--cl-darkred); }

/* ---- Media Queries ---- */

@media all and (max-width: 1079px) {

body { background-attachment:scroll; background-position:center top; background-size:140% auto; }

}


/* font style
-------------------------------- */

.bold, strong { font-weight:700; }
.heavy { font-weight:900; }
.txts { font-size:80%; }
.txtss { font-size:70%; }
.txtb { font-size:120%; }
.txtbb { font-size:140%; }
.txtbbb { font-size:160%; }
.txt-r { display:block; text-align:right; }
.blue { color: var(--cl-darkblue); }
.red { color: var(--cl-darkred); }
.pink { color: var(--cl-darkpink); }
.orange { color: var(--cl-darkorange); }
.yellow { color: var(--cl-darkyellow); }
.green { color: var(--cl-darkgreen); }


/* br point
-------------------------------- */

.br-pc { display:block; }
.br-smp { display:none; }

/* ---- Media Queries ---- */

@media all and (max-width: 1079px) {

.br-pc { display:none; }
.br-smp { display:block; }

}


/* word br
-------------------------------- */

.wbr { display:inline-block; }


/* Header
=============================================== */

#logo-tbs { padding:15px; background-color:#fff; }
#logo-tbs p { aspect-ratio:200 / 92; width:70px; background:url(../img/logo_tbs.png) center center no-repeat; background-size:cover; text-indent:-9999px; }
#logo { width:1400px; margin:-60px auto 0 auto; }
#logo h1 { position:relative; aspect-ratio:1800 / 1175; width:100%; height:100%; background-image:url(../img/logo.png); background-position:center center; background-repeat:no-repeat; background-size:cover; text-indent:-9999px; /* for animation */ opacity:0; animation: top-main-fade 1.5s forwards; }
@keyframes top-main-fade {
  0% { opacity:0; transform:scale(0.98); }
  50% { transform:scale(1.02); }
  100% { opacity:1;  transform:scale(1.0); }
}

/* ---- Media Queries ---- */

@media all and (max-width: 1399px) {
#logo { width:100%; margin:-6.0vw auto 0 auto; }
}

@media all and (max-width: 1079px) {

#logo-tbs { padding:10px; }
#logo-tbs p { width:60px; }
#logo { width:100%; margin:-40px 0% 5.0vw 0%; }
#logo h1 { aspect-ratio:1500 / 1350; background-image:url(../img/logo_smp.png); }

}


/* main
=============================================== */

#main { width:1080px; margin:0 auto; }

.box { margin-bottom:60px; }
.box .ttl { font-size:240%; font-weight:900; margin-bottom:0.7em; color:var(--cl-darkorange); text-shadow:3px  3px 0px #ffffff, -3px  3px 0px #ffffff, 3px -3px 0px #ffffff, -3px -3px 0px #ffffff, 3px  0px 0px #ffffff, 0px  3px 0px #ffffff, -3px  0px 0px #ffffff, 0px -3px 0px #ffffff; }
.box .box-body { background-color:#fff; padding:1.5em 1.2em; border-radius:1.5em; }

/* ---- Media Queries ---- */

@media all and (max-width: 1079px) {

#main { width:96%; margin:0 2%; }

.box { margin-bottom:8.0vw; }
.box .ttl { font-size:180%; }

}


/* map
=============================================== */

#venue-map { aspect-ratio:1200 / 616; }
#venue-map a { display:block; width:100%; height:100%; border-radius:0.5em; background:url(../img/venue-map2.png) center center no-repeat; background-size:cover; text-indent:-9999px; }
@media (hover: hover) { #venue-map a:hover { opacity:0.8; } }


/* timetable
=============================================== */

#timetable-img { aspect-ratio:1800 / 1350; }
#timetable-img a { display:block; width:100%; height:100%; border-radius:0.5em; background:url(../img/time-table.png) center center no-repeat; background-size:cover; text-indent:-9999px; }
@media (hover: hover) { #timetable-img a:hover { opacity:0.8; } }


/* access
=============================================== */

#access-box { width:80%; margin:auto; }
#access-map { margin-bottom:1.3em; aspect-ratio:1200 / 900; border-radius:0.5em; background:url(../img/access-map.png) center center no-repeat; background-size:cover; text-indent:-9999px; }
#ac-notice { margin-bottom:1.0em; text-align:left; color:var(--cl-darkred); line-height:140%; }

@media all and (max-width: 1079px) {

#access-box { width:100%; }
#ac-notice { font-size:90%; }

}


/* coupon
=============================================== */

#coupon { position:relative; margin:0 auto 60px auto; background-color:#fff; padding:1.5em 220px; box-sizing:border-box; border-radius:1.5em; }
#coupon a.link-smp { display:none; }
#coupon a.link-pc { color:#fff; text-decoration:none; }
#coupon a.link-pc:hover { opacity:0.7; }
.link-tbsid { display:block; width:20em; margin:-0.5em 0 0 0; text-align:center;}
#coupon .inner { display:flex; }
#coupon .txt { flex:1; font-size:150%; line-height:160%; text-align:left; font-weight:800; }
#coupon .txt strong { display:inline-block; margin:0.2em 0; padding:0.3em 0.5em; border-radius:0.5em; font-size:130%; color:#fff; background-color:var(--cl-darkred); }
#coupon .txts { display:block; font-size:70%; font-weight:400; }
#coupon figure { width:150px; aspect-ratio:1 / 1; margin:0 0 0 1.5em; }
#coupon figure img { width:100%; height:100%; object-fit:contain; }

/* ---- Media Queries ---- */

@media all and (max-width: 1079px) {

#coupon { margin:0 0 8.0vw 0; padding:1.5em 1.2em; border-width:7px; }
#coupon a.link-smp { position:absolute; top:0; left:0; width:100%; height:100%; z-index:2; display:block; }
#coupon .txt { font-size:4.0vw; text-align:center; }
.link-tbsid { margin:-0.5em auto 0 auto; }
#coupon figure { display:none;}

}

/* notice
=============================================== */

#notice-list { padding:0 0 0.5em 1.3em; margin:0.5em; text-align:left; }
#notice-list li { padding-bottom: 0.3em; font-size:130%; line-height:170%; list-style-type: disc; }

/* -- Media Queries -- */

@media all and (max-width: 1079px) {

#notice-list { font-size:90%; }

}


/* qa
=============================================== */

#qa-list { margin:0.5em; text-align:left; }
#qa-list li { font-size:130%; line-height:170%; list-style-type:none; }
#qa-list li dl { margin-bottom:0.7em; padding:0 0 0.7em 1.5em; border-bottom:#ddd 1px solid; }
#qa-list li:last-child dl { border-bottom:none;}
#qa-list li dl dt, #qa-list li dl dd { text-indent:-1.5em; }
#qa-list li dl dt { color:var(--cl-darkorange); font-weight:800; }
#qa-list li dl dd .qa-a { color:var(--cl-darkgreen); font-weight:800; }

/* -- Media Queries -- */

@media all and (max-width: 1079px) {

#qa-list { font-size:90%; }

}


/* inquiry
=============================================== */

#inquiry .mail { padding:1.0em; font-size:130%; font-weight:700; }

/* -- Media Queries -- */

@media all and (max-width: 1079px) {

#inquiry .mail { font-size:100%; }

}



/* Footer
=============================================== */

#f-sns ul { display:flex; justify-content:center; }
#f-sns ul li { width:80px; height:80px; margin:0 0 0 15px; }
#f-sns ul li a { display:block; width:100%; height:100%; border-radius:1000px; background-position:center center; background-repeat:no-repeat; background-size:cover; text-indent:-9999px; /* hover */ transition:opacity 0.2s ease-out; }
@media (hover: hover) { #f-sns ul li a:hover { opacity:0.5; } }
#f-sns-x a { background-image:url(../img/icon_sns_x.png); }
#f-sns-insta a { background-image:url(../img/icon_sns_insta.png); }

#f-copy { padding:1.5em; font-size:90%; line-height:140%; }
#tagline { background-color:#fff; padding:15px; }
#tagline span { display:block; margin:auto ; width:400px; aspect-ratio:804 / 62; background:url(../img/tagline.png) center center no-repeat; background-size:cover; text-indent:-9999px; }

#f-cc2 { position:absolute; right:1.5em; }

/* ---- Media Queries ---- */

@media all and (max-width: 1079px) {

#f-sns ul li { width:60px; height:60px; }

#f-copy { font-size:80%; }
#f-catchcopy { justify-content:space-between; font-size:100%; }
#f-cc2 { position:static; }
#tagline span { width:260px; }

}




@charset "utf-8";

/* ============================
	nav
============================ */

nav ul li { position:relative; font-weight:900; letter-spacing:0.01em !important; font-style:normal !important; }
nav ul li a { display:block; text-decoration:none; white-space:nowrap; }
.nav_top .has-child a { color:#000; }
.g-nav-openbtn { display:none; }

@media all and (min-width: 1080px) {
#g-nav { position:fixed; z-index:999; top:0; right:0; }
#g-nav-list { display:flex; justify-content:flex-end; align-items:center; }
nav ul { list-style:none; display:flex; justify-content:flex-end; align-items:center; padding:0; background:#fff; border-radius:0 0 0 3em;  width:53em; height:62px; }
nav ul li { padding:1em 1.5em 1em 0; }
nav ul li a { padding:20px 0; font-size:150%; transition:all .4s; }
nav ul li a:hover { color:rgba(254, 80, 115, 100) !important; }
}

/* ---- Media Queries ---- */

@media all and (max-width: 1079px) {

nav { padding:0; }
nav ul { list-style:none; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; padding:0; }
nav ul li { width:100%; }
nav ul li a { position:relative; height:.8em; padding:20px 0; }
nav ul li a::after { content:''; position: absolute; top:50%; right:1.5em; transform: translateY(-50%); pointer-events:none; width:0; height:0; border-style: solid; border-width:12px 0 12px 18px; border-color: transparent transparent transparent #FF5073; }
/* -- SP Navigation Panel -- */
#g-nav { position:fixed; z-index:100; top:-120%; left:0; width:100%; height:100vh; background:rgba(255,255,255,1); }
#g-nav.panelactive { top:0; }
#g-nav.panelactive #g-nav-list { position:fixed; z-index:9999; width:100%; height:100vh; overflow:auto; -webkit-overflow-scrolling:touch; background:#ffdd00; }
#g-nav ul { width:90%; position:absolute; top:50%; left:50%; transform:translateY(-50%) translateX(-50%); -webkit-transform:translateY(-50%) translateX(-50%); background:#fff; border-radius:20px; display:block; }
#g-nav li { list-style:none; text-align:left; border-bottom:solid 1px #ffdd00; padding-left:2em; }
#g-nav li a { white-space:nowrap; text-decoration:none; display:block; font-size:200%; }

/* -- SP Hamburger Button -- */
.g-nav-openbtn { display:block; position:fixed; z-index:9999; top:.2em; right:.2em; cursor:pointer; width:40px; height:40px; background:#223595; border-radius:.5em; }
.g-nav-openbtn.active { position:fixed; top:.2em; }
.g-nav-openbtn .openbtn-area { transition:all .4s; }
.g-nav-openbtn span { display:inline-block; transition:all .4s; position:absolute; left:11px; height:3px; border-radius:2px; background:#fff; width:45%; }
.g-nav-openbtn span:nth-of-type(1) { top:11px; }
.g-nav-openbtn span:nth-of-type(2) { top:19px; }
.g-nav-openbtn span:nth-of-type(3) { top:27px; }
.g-nav-openbtn.active .openbtn-area { transform:rotateY(-360deg); }
.g-nav-openbtn.active span:nth-of-type(1) { top:13px; left:11px; transform:translateY(6px) rotate(-135deg); width:45%; }
.g-nav-openbtn.active span:nth-of-type(2) { opacity:0; }
.g-nav-openbtn.active span:nth-of-type(3) { top:25px; left:11px; transform:translateY(-6px) rotate(135deg); width:45%; }

/* -- SP Close Button (Not used in hamburger logic) -- */
.close-btn { position:absolute; top:10px; right:10px; z-index:2; cursor:pointer; width:60px; height:60px; }
.close-btn span { display:inline-block; position:absolute; left:14px; height:3px; border-radius:2px; background-color:#fff; }
.close-btn span:nth-of-type(1) { top:21px; left:16px; transform:translateY(6px) rotate(-135deg); width:50%; }
.close-btn span:nth-of-type(2) { top:32px; left:16px; transform:translateY(-6px) rotate(135deg); width:50%; }

}

/* ============================
	outline
============================ */

#outline { display:flex; justify-content:center; align-items:center; flex-direction:column; margin-bottom:60px; }
#ol-list { margin:auto; text-align:left; }
#ol-list dl { display:flex; align-items:flex-start; gap:0.7em; }
#ol-list dt, #ol-list dd { line-height:140%; font-weight:900; }
#ol-list dt { margin-top:0.25em; padding:0.25em 0.5em; background-color:#fff; border-radius:0.5em; font-size:140%; flex-shrink:0; }
#ol-list dd { padding:0.2em 0; font-size:180%; text-shadow:2px  2px 0px #ffffff, -2px  2px 0px #ffffff, 2px -2px 0px #ffffff, -2px -2px 0px #ffffff, 2px  0px 0px #ffffff, 0px  2px 0px #ffffff, -2px  0px 0px #ffffff, 0px -2px 0px #ffffff; }
.ol-notice { margin-bottom:0.8em; font-size:90%; line-height:140%; }
#ol-txt1 { margin-bottom:0.5em; font-size:140%; font-weight:900; color:var(--cl-darkred); }
#ol-txt2 { font-size:130%; line-height:140%; font-weight:900; text-shadow:2px  2px 0px #ffffff, -2px  2px 0px #ffffff, 2px -2px 0px #ffffff, -2px -2px 0px #ffffff, 2px  0px 0px #ffffff, 0px  2px 0px #ffffff, -2px  0px 0px #ffffff, 0px -2px 0px #ffffff; }
/* ---- Media Queries ---- */

@media all and (max-width: 1079px) {

#outline { font-size:70%; margin-bottom:40px; }
#ol-list dd .txts { font-size:70%; }

}

/* ============================
	about
============================ */

#about .box-body { font-size:180%; line-height:180%; font-weight:800; }


#prst-oda,
#prst-imada,
#prst-k { display:inline-block; margin:0 0.5em 0.25em 0; padding:0.1em 0.5em 0.2em 0.5em; border-radius:0.5em; color: #fff!important; }
#prst-oda {background-color:var(--cl-darkred); }
#prst-imada { background-color:var(--cl-darkpink); }
#prst-k { background-color:var(--cl-darkgreen); }
.prst-prof { display:inline-block; vertical-align:middle; font-size:90%; margin-right:0.7em; }
.prst-name { font-size:160%; vertical-align:middle; font-weight:800; }

/* ---- Media Queries ---- */

@media all and (max-width: 1079px) {

#prst-oda,
#prst-imada,
#prst-k { padding:0.9em 1.2em 0.8em 1.2em; }
.prst-prof { line-height:110%; }

}

@media all and (max-width: 800px) {

#about .box-body { font-size:100%; }

#prst-oda,
#prst-imada,
#prst-k { padding:0.8em 1.1em 0.7em 1.1em; }
.prst-prof { line-height:120%; }

}

/* ============================
	booth / stage
============================ */

#booth .box-body { background:url(../img/booth/bg.png) -10px -10px; }

:root {
	--booth-skyblue:#6fc7e2;
	--booth-pink:#f2accb;
}

.booth-box { margin-bottom:1.0em; }
.booth-box .subttl { margin-bottom:0.5em; padding:0.5em; border-radius:0.5em; font-size:160%; font-weight:900; color:#fff; }
ul.contItem { display:flex; flex-wrap:wrap; justify-content:center; align-items:stretch; }
ul.contItem li { width:30.333333333%; margin:1em 1.5%; }
ul.contItem.contItem2col li:nth-child(even) { margin:1em 1.6% 1em 1.5%; }
ul.contItem .item { display:flex; flex-direction:column; width:100%; border-radius:2em; box-sizing:border-box; border-width:3px; border-style:solid; background-color:#fff; }
ul.contItem .item .txt { padding:1em .5em; flex:1; display:flex; flex-direction:column; }
ul.contItem .inner { display:flex; width:100%; text-decoration:none !important; }
ul.contItem .ttl { margin-bottom:0.5em; font-size:160%; line-height:120%; }
ul.contItem .time { display:inline-block; margin:0 auto 0.5em auto; padding:0.2em 0.5em; border-radius:0.5em; background-color:var(--cl-orange); color:#fff; font-weight:800; }
ul.contItem .dtl { margin:0 5%; color:#000; line-height:160%; text-align:left; }
ul.contItem .btn { margin:0.7em auto auto auto; width:80%; height:2.6em; line-height:2.6em; text-align:center; background:#000; color:#FFF; border-radius:2em; font-size:120%; }
ul.contItem .btn span::after { content:' ＋'; color:#FFF; }
ul.contItem .name { border-top:1px #333 solid; padding:0.5em 0 0 0; font-size:120%; line-height:140%; font-weight:800; color:#333; }
ul.contItem .name .feature { display:inline-block; vertical-align:text-top; margin-right:0.5em; padding:0.1em 0.3em; border-radius:0.5em; background-color:var(--cl-yellow); font-size:80%; }
ul.contItem span.att { display:inline-block !important; background:#F01902; color:#FFF !important; padding:.2em .5em; margin-top:.5em; font-size:80%; }

ul.contItem #booth figure { position:relative; }
.thum.lazy-done { -webkit-animation:fadeIn 700ms; animation:fadeIn 700ms; }
.thum.lazy { position:relative; display:block; background-repeat:no-repeat; background-size:cover; width:100%; aspect-ratio:4/3; border-radius:calc(2em - 3px) calc(2em - 3px) 0 0; border-bottom:#ddd 1px solid; }
ul.contItem #booth figure .att { display:inline-block; position:absolute; bottom:5px; right:5px; background:rgba(240,25,2,100); color:#FFF; font-size:70%; padding:.2em .5em; }

figure.chusen { position:relative; }
figure.chusen::after { content:"抽選"; position:absolute; bottom:0.5em; left:0.5em; width:4em;  height:4em; border-radius:50%; background-color:var(--cl-red); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; text-align:center; }

.notice { font-size:90%; color:var(--cl-darkred); font-weight:700; }

/*color*/
.skyblueArea .subttl { background-color:var(--booth-skyblue); }
.skyblueArea .item { border-color:var(--booth-skyblue); border-bottom:solid 15px var(--booth-skyblue); }
.skyblueArea .ttl { color:var(--booth-skyblue); }
.skyblueArea a:hover p.btn { background:var(--booth-skyblue) !important; color:#FFF !important; }
.pinkArea .subttl { background-color:var(--booth-pink); }
.pinkArea .item { border-color:var(--booth-pink); border-bottom:solid 15px var(--booth-pink); }
.pinkArea .ttl { color:var(--booth-pink); }
.pinkArea a:hover p.btn { background:var(--booth-pink) !important; color:#FFF !important; }

/* ---- Media Queries ---- */

@media all and (max-width: 1079px) {

.box-body { background-size:80%; }
ul.contItem li { width:47%; margin:1em 1.5%!important; }
ul.contItem .ttl { font-size:4.0vw; }
ul.contItem p.dtl { font-size:3.0vw; }
ul.contItem .txt p.btn { width:90%; font-size:3.0vw; }
ul.contItem .name { font-size:3.5vw; }

figure.chusen::after { bottom:0.8vw; left:0.8vw; width:7.0vw; height:7.0vw; font-size:2.5vw; }

}

/* ============================
	sponsor
============================ */

#sponsor-list { padding:20px 0; display:flex; justify-content:center; align-items:center; flex-wrap:wrap; }
#sponsor-list li .logo span { display:block; width:100%; height:100%; margin:0px 20px 0px 20px; background-position:center center; background-repeat:no-repeat; background-size:cover; }
#sponsor-list li:nth-child(1) .logo span { width:200px; aspect-ratio:714 / 256; margin-left:60px; }
#sponsor-list li:nth-child(2) .logo span { width:200px; aspect-ratio:626 / 443; }
#sponsor-list li:nth-child(3) .logo span { width:240px; aspect-ratio:1000 / 172; }

/* ---- Media Queries ---- */

@media all and (max-width: 1079px) {

#sponsor-list { padding:0;/* flex-direction:column;*/ }
#sponsor-list li .logo span { margin:15px!important; }
#sponsor-list li:nth-child(1) .logo span { width:140px; }
#sponsor-list li:nth-child(2) .logo span { width:140px; }
#sponsor-list li:nth-child(3) .logo span { width:180px; }

}





