@charset "UTF-8";
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;}
}


/* -----------------------------------------------------------
   BASE
------------------------------------------------------------*/
#page-top{
font-family: tbudgothic-std, sans-serif;
font-style: normal;
font-weight: 400;
line-height: 1.6em;
}

body {
	-webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

a:hover { text-decoration: none;}

.no-wrap {
    display: inline-block; /* インラインブロック化 */
}

@media all and (min-width: 992px) {
	div.wrap {
	width: 90%;
    max-width: 980px;
    margin: 0 auto;
  }
	
	.nobr { display:none; }
	.nobrSp { display:block; }
}

@media all and (max-width: 991.98px) {
	div.wrap {
		width: 90%;
		margin: 0 auto;
  }
	
	.nobr { display:block; }
	.nobrSp { display:none; }
}

/* -----------------------------------------------------------
   HEADER
------------------------------------------------------------*/
header.con-header{
	width: 100%;
}
header.con-header h1 span{
	display: block;
	width:100%;
	height: 0;
	margin: 0 auto;
	background-repeat: no-repeat;
	background-position: top center;
	text-indent: -9999px;
	white-space: nowrap;
	overflow: hidden;
}

@media all and (min-width: 992px) {
	header.con-header h1{
		width: 100%;
		margin: 0 auto;
	}
	header.con-header h1 span{
		background-image: url(../img/main.png?202505);
		padding-top: 45%;
		background-size: cover;
	}
}

@media all and (max-width: 991.98px) and (min-width: 768px){
	header.con-header h1{
		width: 100%;
		margin: 0 auto;
	}
	header.con-header h1 span{
		background-image: url(../img/main.png?202505);
		padding-top: 45%;
		background-size: cover;
	}
}
@media all and (max-width: 767px) {
	header.con-header h1{
		width: 100%; margin: 0 auto;
	}
	header.con-header h1 span{
		background-image: url(../img/main_sp.png?202505);
		padding-top: 88%;
		background-size: contain;
	}
}



/*	conseptArea
============================== */
#conseptArea { background-color: #00a6d9; width:100%; color: #fff;}
#conseptArea h2 {
	margin: 0 auto;
	background-color: #fff;
	background-position: center center;
    background-repeat: no-repeat;
	background-image: url(../img/theme.png);
	text-indent: -9999px;
	}
#conseptArea .txt { font-size: 1.05em;}

@media all and (min-width: 992px) {
	#conseptArea { padding: 35px 0 25px;}
	#conseptArea .wrap { width: 100%;}
	#conseptArea h2{ width: 450px; height: 52px; margin-bottom: 1.5em; background-size:400px 30px;}
	#conseptArea .txt{ width: 100%; padding: 0 0 15px; text-align: center; font-size: 1.2em; line-height: 1.6em;}
}

@media all and (max-width: 991.98px) {
	#conseptArea { padding: 20px 0 10px;}
	#conseptArea h2{ width: 320px; height: 35px; margin-bottom: 0.5em; background-size:300px 22px;}
	#conseptArea .txt { padding: 0 0 15px; text-align: center; font-size: 1em;}
}

/*	nav
============================== */
nav#menu { background-color: #005fbe;}
nav#menu ul {display: flex;
		display:flex;
		flex-wrap:wrap; vertical-align: top;}
nav#menu ul li {width:50%;}
nav#menu ul li a, nav#menu ul li span { display: block; width:100%; background-repeat: no-repeat; background-position: center center; text-indent: -9999px;}
nav#menu ul li.navProgram a { background-image: url(../img/navi_01.png); background-color: #4c9f38;}
nav#menu ul li.navEvent a { background-image: url(../img/navi_02.png); background-color: #ec6a06;}
nav#menu ul li.navPresent a { background-image: url(../img/navi_03.png); background-color: #dd1367;}
nav#menu ul li.navProgram a:hover { background-color: #379720;}
nav#menu ul li.navEvent a:hover { background-color: #ec5e00;}
nav#menu ul li.navPresent a:hover { background-color: #d8015a;}

@media all and (min-width: 992px) {
nav#menu {width: 100%; height: 50px;}
nav#menu ul {width: 100%; max-width:980px; margin: 0 auto;}
nav#menu ul li a, nav#menu ul li span {height: 50px; background-size:120px 20px;}
}

@media all and (max-width: 991.98px) {
nav#menu, nav#menu ul {width:100%;}
nav#menu ul li a, nav#menu ul li span {height: 45px; background-size:108px 18px;}
}

@media all and (max-width: 399px) {
nav#menu ul li a, nav#menu ul li span {height: 45px; background-size:95px 16px;}
}

/*	common
============================== */
.btnBox { text-align: center;}
.btnBox p.btn a, p.btn span.soon {
	display: block;
	border-radius: 8px;
	background-repeat: no-repeat;
	background-position: 15px center;
	background-image: url(../img/icon_arrow.png);
	background-size: 20px 15px;
	color: #fff;
	margin: 0 auto;
}
#event .btnBox p.btn a { font-weight: bold;}
#present .btnBox p.btn a, #present p.btn span.soon {
	font-family: tbudgothic-std, sans-serif;
	font-weight: 900;
	font-style: normal;
}
#about p.btn a {
	display: block;
	border-radius: 8px;
	background-repeat: no-repeat;
	background-position: center center;
	margin: 0 auto;
	text-indent: -9999px;
}
p.btn span.soon {opacity:0.4;}

@media all and (min-width: 992px) {
	.btnBox {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;}
	.btnBox p.btn {margin: 0 15px; vertical-align: top;}
	.btnBox p.btn a, p.btn span.soon { width:290px;}
	#about p.btn a {
	background-size: 203px 22px;
	width:222px; height: 60px
}
}

@media all and (max-width: 991.98px) {
	.btnBox p.btn a, .btnBox p.btn span.soon {
	width:80%; max-width: 350px;
}
	.btnBox p.btn:not(:last-child)  {
	margin-bottom: 10px;
}
	#about p.btn a {
	background-size: 166px 19px;
	width:185px; height: 50px;
}
}

/*	about
============================== */
#about h2 {
	margin: 0 auto;
	background-position: center top;
    background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/h2_about.png?2405);
	text-indent: -9999px;
	}

#about p.btn a {background-color: #0a97d9; background-image: url(../img/btn_about.png);}
#about p.btn a:hover {background-color: #0385d7;}

@media all and (min-width: 992px) {
	#about { padding: 35px 0 50px;}
	#about h2 { width:151px; height: 33px;}
	#about .txt { padding: 30px 0 20px; }
}

@media all and (max-width: 991.98px) {
	#about { padding: 20px 0 30px;}
	#about h2 { width:110px; height: 24px;}
	#about .txt { padding: 25px 0;}
}

/*	コンテンツ共通
============================== */
#program h2, #event h2, #present h2, #company h2 {
	width: 100%;
	margin: 0 auto;
    background-repeat: no-repeat;
	text-indent: -9999px;
	position: absolute; z-index: -50;
	}
figure { border: solid 1px #999; background-color: #fff;}

@media all and (min-width: 992px) {
	#program, #event, #present, #company  {width: 98%;}
	#program h2, #event h2, #present h2 {
	height: 350px;
	border-radius: 8px;
	background-position: center 28px;
	background-size: 180px 53px;
	}
	#program .wrap, #event .wrap, #present .wrap { padding-top: 110px;}
}

@media all and (max-width: 991.98px) {
	#program, #event, #present, #company  {width: 100%;}
	#program h2, #event h2, #present h2 {
	height: 140px;
	background-position: center 16px;
	background-size: 135px 40px;
	}
	#event h2{
	height: 220px;
	}
	#program .wrap, #event .wrap, #present .wrap { padding-top: 75px;}
}

.comingsoon { text-align: center; background-color: #fff; border-radius: 20px; color: #999;
font-family: tbudgothic-std, sans-serif;
font-weight: 700;
font-style: normal;
}
@media all and (min-width: 992px) {
	.comingsoonh2 {height: 200px!important;}
.comingsoon {font-size: 1.6em; line-height: 2.5em; padding: 2em 0 4em;}
}

@media all and (max-width: 991.98px) {
.comingsoon {font-size: 1.4em; line-height: 2.5em; padding: 1.0em 0 2em;}
}


/*	program
============================== */
#program {margin: 0 auto; position: relative;}

#program h2 {
	background-color: #4c9f38;
	background-image: url(../img/h2_program.png);
	}


.progTxt { color: #000; line-height: 1.5em;}
#program h3 { font-size: 1.2em; font-weight: bold; color: #005fbe; padding-bottom: 0.4em;}
#program .boxS h3, #program .boxSS h3 { font-size: 1em; }
#program h3 span.sub{font-size: 0.83em; line-height: 1.4em; padding-top: 0.2em;}
#program .date { color: #ff0000;}
#program .cast { color: #4c9f38; margin-top: 2px;}
#program .detail { padding-top: 0.4em; font-feature-settings: "palt";}
#program .fbd {font-size: 0.8em; padding-top: 0.3em;}
#program table {
 border-collapse:collapse;
 border-spacing:0;
margin-top: 2px;
}
#program table th {
 white-space: nowrap;
 font-weight: normal;
vertical-align: top;
}

#program .programBox .iconBlock { position: relative; padding-top: 15px;}
.sdgsIcon{
display: flex;
flex-wrap: wrap;
justify-content: left;}
.streaming { position: absolute; bottom:0; right:0;}

.sdgsIcon li span, .streaming span{
  display: block;
  position: relative;
  background-size: 100%;
	height: 0;
    padding: 100% 0 0;
}

.sdgsIcon li span img, .streaming span img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }

.sdgsIcon li, .streaming {
    width: 57px;
    box-sizing: border-box;
  }
.sdgsIcon li.iconL{width: 65px;}

.programBlock { 
/*border-bottom: dotted 2px #4c9f38;*/
display: flex;
flex-wrap: wrap;
justify-content: left;}
.programBlock.programBlockM{justify-content: center;}



@media all and (min-width: 992px) {
	#program .wrap { padding-bottom: 20px;}
	.programBox { padding-bottom: 50px;}
	.programBox#program01 { width: 702px; margin: 0 auto;}

	#program .programBox.boxL {width: 700px; margin: 0 auto;}
	
	#program .programBox.boxM { width:calc((100% - 22px)/2); }
	#program .programBox.boxM:nth-child(odd) { margin-right:22px;}
	
	.progTxt { padding-top: 20px;}
	.boxSS .progTxt { padding-top: 10px;}
	
	#program .programBox .iconBlock {min-height: 57px;}
	.sdgsIcon li/*:not(:nth-child(5))*/ { margin-right: 5px; margin-bottom: 5px;}
	
	.programBlock {/*margin-bottom: 50px;*/}
}

@media all and (max-width: 991.98px) {
	#program .wrap { padding-bottom: 20px;}
	.programBox { padding-bottom: 25px;}
	#program .programBox.boxM { width:calc((100% - 22px)/2); }
	#program .programBox.boxM:nth-child(odd) { margin-right:22px;}
	.progTxt { padding-top: 10px; font-size: 0.9em;}
	
	#program .programBox .iconBlock { position: relative; /*height: 40px;*/ padding-top: 10px;}
	.sdgsIcon li, .streaming {
    width: 48px;
	}
	.sdgsIcon li.iconL{width: 55px;}
	
	.sdgsIcon li { margin-right: 5px; margin-bottom: 5px;}
	
	#program h3 span.sub{font-size: 0.8em; }
	
}

@media all and (max-width: 767px) {
	#program .programBox.boxM { width:calc((100%)/1); }
	#program .programBox.boxM:nth-child(odd) { margin-right:0px;}
}

#program .streamingBtn .info { text-align: center; padding-bottom: 0.2em; color: rgba(10,151,217,0.9);}
#program .streamingBtn .btn a {
	display: block;
	border-radius: 8px;
	background-repeat: no-repeat;
	background-position: 10px center;
	background-image: url(../img/icon_arrow2.png);
	background-size: 20px 15px;
	color: #0a97d9; border: solid 2px #0a97d9;
	font-family: tbudgothic-std, sans-serif;
	font-weight: 700;
	font-style: normal;
	width:94%; text-align: center; padding: 6px 0 5px 15px;
}
#program .streamingBtn .btn a:hover {
	background-color: #e0f3fc;
}
#program .streamingBtn ul { text-align: center;}
#program .streamingBtn ul li.btn { display: inline-block; width:48%; text-align: center; vertical-align: top;}
#program .streamingBtn ul li.btn a {background-position: 8px center; background-image: url(../img/icon_arrow3.png); background-size: 10px 15px; width:90%; padding: 3px 0 3px 5%; }
#program .twitterBtn p.btn a {
	display: block;
	border-radius: 8px;
	background-repeat: no-repeat;
	background-position: 15px center;
	background-image: url(../img/icon_arrow.png);
	background-size: 20px 15px;
	background-color:#0a97d9; 
	color: #fff; border: solid 2px #0a97d9;
	font-family: tbudgothic-std, sans-serif;
	font-weight: 900;
	font-style: normal;
	width:94%; text-align: center; padding: 6px 0 3px 15px;
}
#program .twitterBtn p.btn a:hover {
	background-color: #0385d7;
}

@media all and (min-width: 992px) {
	#program .streamingBtn { padding: 15px 0;}
	#program .streamingBtn p.btn a, #program .twitterBtn p.btn a {
	margin: 0 auto 0;
	}
	.programBox { position: relative;}
	#program #program01 .streamingBtn p.btn a { position: absolute; bottom: 57px; right: 0; width:35%;}

}

@media all and (max-width: 991.98px) {
	#program .streamingBtn .info { font-size: 0.9em;}
	#program .streamingBtn { padding: 10px 0 15px;}
	#program .streamingBtn p.btn a, #program .twitterBtn p.btn a {
	margin: 0 auto 0;
	}

}


/*	present
============================== */
#present {margin: 0 auto; position: relative;}
#present h2 {
	background-color: #dd1367;
	background-image: url(../img/h2_present.png);
	}
#present h3 { font-size: 1.35em; font-weight: bold; color: #dd1367; padding-bottom: 0.5em; text-align: center;}
#present p.btn a, #present p.btn span.soon {background-color: #dd1367; /*background-image: url(../img/btn_present.png);*/ font-size: 1.2em; padding: 15px 0 15px 15px;}
#present p.btn a:hover {background-color: #d8015a;}
#present .info { text-align: center; color: #777;}
#present .deadline {font-weight: bold; color: #0a97d9; font-size: 1.1em;}
#present .cap { font-size: 0.85em; display: block; line-height: 1.4em;}
#present .schedule {font-weight: bold; color: #dd1367; font-size: 1.2em; padding-top: 1em; text-align: center; line-height: 1.8em;}
#present .schedule span { font-size: 1.2em;}

#present .howto { padding:0.5em 0.5em 1em; border: solid 1px #0a97d9; margin:0 auto 1em;}
#present .howto h4 { font-size: 1.2em; font-weight: bold; color:#005fbe; padding-bottom: 0.5em; text-align: center;}
#present .howto h4 span.nmb { font-size: 0.8em;}
#present .howto p { padding-bottom: 0.8em; text-align: center;}
#present .howto .sch { font-size: 1.1em; font-weight: bold;}

@media all and (min-width: 992px) {
	.presentBox { width: 702px; margin: 0 auto; padding-bottom: 50px;}
	.presentTxt { padding-top: 20px; padding-bottom: 20px;}
	#present h3 { font-size: 1.5em; line-height: 1.6em;}
	#present .howto {}
}

@media all and (max-width: 991.98px) {
	.presentBox { width: 100%; margin: 0 auto; max-width: 700px; padding-bottom: 25px;}
	.presentTxt { padding-top: 10px; padding-bottom: 20px; font-size: 0.9em;}
	#present .info .cap { font-size: 0.8em;}
	#present .deadline { font-size: 1.0em;}
	#present .schedule { font-size: 1.1em; line-height: 1.6em;}
}



/*	#company
============================== */
#company {margin: 0 auto; position: relative;}
#company h2 {
	background-color: #26bde2;
	background-image: url(../img/h2_company.png);
	}
#company ul { background-color: #fff; border-radius: 20px;
    background-repeat: no-repeat;
	background-image: url(../img/img_company.png?2411);
	text-indent: -9999px;
}
#company ul li {text-indent: -9999px; height: 0;}


@media all and (min-width: 992px) {
	#company .wrap { padding: 110px 0 100px;}
	#company h2 {
	height: 190px;
	border-radius: 8px;
	background-position: center 28px;
	background-size: 380px 42px;
	}
	#company ul { background-size: 795px 75px; background-position: center 50px; height: 125px;}
	
}

@media all and (max-width: 991.98px) {
	#company .wrap { padding-top: 65px;}
	#company h2 {
	height: 95px;
	background-position: center 16px;
	background-size: 257px 29px;
	}
	#company ul { background-size: 95%; background-position: center 30%; padding-top: 25%;}
}


/*	ph_cut
============================== */
.ph_cut span {
	background-size:cover;
	background-repeat:no-repeat;
	position:relative;
	display:block;
	height:0;
	padding-top: -webkit-calc(394 / 700 * 100%);
	padding-top: calc(394 / 700 * 100%);
}
.ph_cut span img{
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	text-indent:110%;white-space:nowrap;overflow:hidden;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	background-size: contain;
}


/* -----------------------------------------------------------
   BANNER
------------------------------------------------------------*/
#banner{
	width: 100% !important;
	background-color: #d4e7f4}
}
#banner ul{
	list-style: none; text-align: center;
}
#banner li figure { border: none;}
#banner li a figure span, #banner li span.soon figure span {
	display: block;
	position: relative;
	background-size:contain;
	background-position: center center;
	height: 0;
    height:0;
	padding-top: -webkit-calc(242 / 580 * 100%);
	padding-top: calc(242 / 580 * 100%);
}
#banner li span.soon.radio figure span, #banner li a.radio figure span {
	display: block;
	position: relative;
	background-size:contain;
	background-position: center center;
	height: 0;
    padding: 56.379% 0 0;
	height:0;
	padding-top: -webkit-calc(338 / 600 * 100%);
	padding-top: calc(338 / 600 * 100%);
}
#banner li a figure span img, #banner li span.soon figure span img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }
#banner li a figure {
    width: 100%;
    margin: 0;
    box-sizing: border-box;
  }
#banner li a:hover figure { opacity:0.8;}

@media all and (min-width: 768px) {
	#banner { padding: 40px 0}
	#banner ul{width: 640px; margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center; text-align: center;}
	#banner li { width:calc((100% - 20px)/2); margin-bottom: 20px; }
	#banner li:nth-child(odd) { margin-right:20px;}
	#banner li figcaption { padding-top: 0.2em;}
}
@media all and (max-width: 767px) {
	#banner { padding: 20px 0}
	#banner ul{
		width: 70%;
		margin: 0 auto;
		padding: 0;
		 text-align: center;
	}
	#banner li/*:not(:last-child)*/{
		margin-bottom: 10px;
	}
	#banner li { font-size: 0.9em;}

}

/*	back to top
============================== */
#backtotop  {
    position: fixed;
    bottom: 20px;
    right: 20px;
}

p#backtotop a {
    background-image: url(../img/backtotop.png);
    background-repeat: no-repeat;
    background-position: left top;
    width: 90px;
    height: 90px;
    text-indent: 110%;
    white-space: nowrap;
    overflow: hidden;
	display: block;
  }
#backtotop a:hover {
    opacity: 0.85;
}
@media all and (max-width: 991.98px) {
	#backtotop  {
    bottom: 15px;
    right: 15px;
}
p#backtotop a {
    width: 50px;
    height: 50px;
	background-size: contain;
  }

}

/*	fadein
============================== */
.fadein {
    opacity : 0;
    transform : translate(0, 20px);
    transition:all 1s;
  display:block;
}
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}


/*	youtube
============================== */
.player-box {
    position: relative;
    height: 0;
    padding-top: 56.25%;
}
section.unit iframe {
    border: none;
}
.player-box iframe, .player-box video, .player-box .fp-player, .player-box .tbs-player, .player-box object {
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
}



