@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;}
}
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;
}

/* -----------------------------------------------------------
   COMMON
------------------------------------------------------------*/
a { text-decoration:none;}
a:hover { text-decoration:underline;}
a:visited { text-decoration:none;}

.alt{
	position: absolute;
	top: -5000px;
	left: -9999px;
}
.lazy img{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}
.small{
	font-size: 80%;
}
.red{
	color: #cc1414 !important;
}
.copy-txt{
	font-size: 80%;
	padding-top: 10px;
	text-align: left;
	display: block;
	line-height: 1.4;
}

@media all and (min-width: 1024px) {
	.smp-br{
		display: none;
	}
}
/* -----------------------------------------------------------
   FONT
------------------------------------------------------------*/
@font-face {
  font-family: 'TBSGothic';
  src: url('/um/tpfonts/2e0869c1-da33-42ae-9828-55499bd42a69.woff') format("woff");
  font-weight:normal;
  font-style:normal;
}
@font-face {
  font-family: 'TBSGothic';
  src: url('/um/tpfonts/044de588-d2c9-4010-86b0-1c026db099a2.woff') format("woff");
  font-weight:bold;
  font-style:normal;
}

/* -----------------------------------------------------------
   BASE
------------------------------------------------------------*/
body {
	-webkit-text-size-adjust: 100%;
  	-moz-text-size-adjust: 100%;
  	-ms-text-size-adjust: 100%;
  	text-size-adjust: 100%;
	font-feature-settings: "palt";
	letter-spacing: 0.04em;
}

#wrap{
	background-color: #fff;
	overflow: hidden;
	position: relative;
	font-family: 'TBSGothic', sans-serif;
}
#container p{
	color: #000;
}
#wrap main{
	box-shadow: 0 8px 8px -8px rgba(0,0,0,0.5) inset;
}

@media all and (min-width: 1024px) {
	#container{
		padding-top: 50px;
		position: relative;
		z-index: 100;
	}
}
@media all and (max-width: 1023px) {
	#container{
		padding-top: 40px;
		position: relative;
		z-index: 100;
	}
}

/* -----------------------------------------------------------
   HEADER
------------------------------------------------------------*/
#container .top-inner{
	background-color: #fffcf1;
	padding: 50px 0 0 ;
}
#container .top-inner .inner{
	padding-bottom: 90px;
}
#container h1{
	background-image:url(../img/main.png);
	background-size: 100%;
	background-repeat: no-repeat;
	padding-top: 31.254%;
}
#container h2{
	color: #d71317;
	font-size: 160%;
	margin-bottom: 10px;
	line-height: 1.2;
}
#container .inner{
	max-width: 980px;
	margin: 0 auto;
}
#container .inner p{
	font-size: 100%;
	line-height: 2.0;
}
#container .lazy{
	display: block;
	overflow: hidden;
	white-space: normal;
	text-indent: -9999px;
	background-size: 100%;
	height: 0;
	position: relative;
}
#container a:hover{
	opacity: 0.5;
	transition: .3s;
}

@media all and (min-width: 1024px) {
	#container{
		padding-top: 0;
	}
	#container > section{
		padding-bottom: 50px;
	}
	#container section .inner{
		max-width: 980px;
		margin: 0 auto;
	}
	#container .inner .in-box{
		width: 85%;
		margin: 0 auto 30px;
	}
}
@media all and (max-width: 1023px) {
	#container{
		padding-top: 0;
	}
	#container h2{
		font-size: 120%;
	}
	#container > .inner{
		width: 90%;
		margin: 0 auto ;
	}
	#container .top-inner{
		padding: 25px 5% 0;
	}
	#container .top-inner .inner{
		padding-bottom: 40px;
	}
	#container > section{
		padding-bottom: 20px;
	}
	#container section .inner{
		width: 90%;
		margin: 0 auto;
	}
	#container .inner p{
		font-size: 80%;
		line-height: 1.8;
	}
	#container .inner p.start-txt{
		margin-bottom: 20px;
	}
	#container .inner .in-box{
		width: 80%;
		margin: 0 auto 30px;
	}
}
/* -----------------------------------------------------------
   H3
------------------------------------------------------------*/
#container section .ttl-cover , aside h3{
	text-align: center;
	background-color: #d71317;
	color: #FFF;
}

@media all and (min-width: 1024px) {
	#container section .ttl-cover{
		padding: 25px 0;
		margin-bottom: 50px;
	}
	#container section .ttl-cover h3{
		font-size: 160%;
		font-weight: bold;
		letter-spacing: 0.1em;
	}
	#container section .ttl-cover p{
		font-size: 100%;
		margin-top: 25px;
		letter-spacing: 0.08em;
	}
	aside h3{
		padding: 25px 0;
		margin-bottom: 80px;
		font-size: 160%;
		font-weight: bold;
		letter-spacing: 0.1em;
	}
}
@media all and (max-width: 1023px) {
	#container section .ttl-cover{
		padding: 15px 0;
		margin-bottom: 25px;
	}
	#container section .ttl-cover h3{
		font-size: 110%;
		font-weight: bold;
		letter-spacing: 0.1em;
	}
	#container section .ttl-cover p{
		width: 90%;
		font-size: 80%;
		margin: 10px auto 0;
	}
	aside h3{
		padding: 20px 0;
		margin-bottom: 25px;
		font-weight: bold;
		letter-spacing: 0.1em;
	}
}
/* -----------------------------------------------------------
   howto-sec
------------------------------------------------------------*/
#howto-sec figure.map{
	margin: 0 auto 50px;
}
#howto-sec figure.map img{
	width: 100%;
	height: 0;
	padding-top: 55.625%;
	background-size: cover;
	background-image:url(../img/map.png?202501);
}
/*#howto-sec figure.line_menu img{
	width: 100%;
	height: 0;
	padding-top: 67.5%;
	background-size: cover;
	background-image:url(../img/line_menu.jpg?);
}*/
#howto-sec figure.line_menu img{
	width: 100%;
	height: 0;
	padding-top: 43.3%;
	background-size: cover;
	background-image:url(../img/line.png?);
}
#howto-sec  .line-btn{
	margin-top: 20px;
}
#howto-sec .howto_line{
	display: flex;
	justify-content: space-between;
	margin-bottom: 1.0em;
}
#howto-sec .howto_line .qr{
	width: 25%;
	margin: 0;
}
#howto-sec .howto_line .qr img{
	width: 100%;
	height: 0;
	padding-top: 200%;
	background-size: cover;
	background-image:url(../img/qr.png?);
}
#howto-sec .howto_line .howto_list{	
	list-style: none;
	width: 70%;
	padding: 0;
}
#howto-sec .howto_line .howto_list li{
  	text-indent: -1.3em;
	color: #545656;
	font-size: 140%;
	line-height: 1.4;
	font-weight: bold;
	margin-bottom: 1em;
	padding: 0 0 0 1.3em;
}
#howto-sec .howto_line .howto_list li .cau{
	font-size: 65%;
	font-weight: normal;
	line-height: 1.0;
}
#howto-sec .howto_line .howto_list li .line_menu{
	display: flex;
    width: 50%;
	margin: 1em auto;
    padding: 0;
}

@media all and (max-width: 1023px) {
	#howto-sec figure.howto {
		margin: 0 auto 20px;
	}
	#howto-sec figure.howto img{
		padding-top: 148.6%;
		background-image:url(../img/howto_smp.png?202310);
	}
	#howto-sec figure.map {
		margin: 0 auto 20px;
	}
	#howto-sec  .line-btn{
		margin-top: 10px;
	}
	#howto-sec .howto_line{
		display: block;
	}
	#howto-sec .howto_line .qr{
		width: 50%;
		margin: 0 auto 5%;
	}
	#howto-sec .howto_line .howto_list{	
		width: 100%;
	}
	#howto-sec .howto_line .howto_list li{
		font-size: 120%;
	}
	#howto-sec .howto_line .howto_list li .line_menu{
		width: 90%;
	}
	#howto-sec .howto_line .howto_list li .cau{
		display: inline-block;
    	text-indent: 0;
		line-height: 1.6;
		margin-top: 0.4em;
	}
}

/* -----------------------------------------------------------
   lineup-sec
------------------------------------------------------------*/
#lineup-sec .inner h4{
	border-radius: 5px;
	background-color: #F1F2F6;
	text-align: center;
	padding: 0 2em;
	display: inline-block;
	line-height: 2.2;
	margin: 30px 0;
}
#lineup-sec .inner h4.new-lineup{
	background-color: #0da9c0;
	color: #FFF;
	font-size: 120%;
}
#lineup-sec .inner h4 .date{
	font-weight: normal;
	font-size: 90%;
	padding-left: 0.5em;
}
#lineup-sec .inner ul.pg-list{
	list-style: none;
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
}
#lineup-sec .inner ul.pg-list li{
	width: 33%;
	margin-bottom: 1%;
}
#lineup-sec .inner ul.pg-list li .lazy{
	padding-top: 54.98%;
}
#lineup-sec .inner ul.list-new  li{
	width: 32%;
	margin-right: 2%;
	margin-bottom: 2%;
}

#lineup-sec .inner ul.list-new li .lazy{
	padding-top: 70.66%;
}
#lineup-sec .inner ul.pg-list li p{
	font-size: 110%;
	font-weight: bold;
	text-align: center;
	background-color: #d1eef4;
    color: #0da9c0;
	line-height: 2.2;
}
#lineup-sec .inner ul.pg-set{
	border: 4px solid #efb91a;
    padding: 2% 2% 0 2%;
    box-sizing: border-box;
}
#lineup-sec .inner ul.pg-set:before{
	content: "正解者の方にはグッズをセットにしてプレゼントいたします";
    display: inline;
    font-size: 1.2rem;
    font-weight: bold;
    background-color: #efb91a;
    color: #FFF;
    width: 100%;
    padding: 0.6em;
    text-align: center;
    margin-bottom: 1.4em;
}

@media all and (min-width: 1024px) {
	#lineup-sec .inner ul.list-new  li:nth-child(3n){
	margin-right: 0;
}
}
@media all and (max-width: 1023px) {
	#lineup-sec .inner h4{
		margin-bottom: 20px;
		font-size: 90%;
	}
	#lineup-sec .inner h4.new-lineup{
		font-size: 100%;
	}
	#lineup-sec .inner ul.pg-list li{
		width: 49%;
	}
	#lineup-sec .inner ul.list-new  li{
	margin-right: 2%;
	margin-bottom: 2%;
	}
	#lineup-sec .inner ul.list-new  li:nth-child(2n){
		margin-right: 0;
	}
	#lineup-sec .inner ul.pg-list li p{
	font-size: 80%;
	line-height: 1.8;
	}
	#lineup-sec .inner ul.pg-set{
		border: 2px solid #efb91a;
		padding: 3% 3% 1% 3%;
		box-sizing: border-box;
	}
	#lineup-sec .inner ul.pg-set:before{
		font-size: 1.0rem;
		line-height: 1.4;
		margin-bottom: 1.2em;
		text-align: left;
	}
}

/* -----------------------------------------------------------
   info-sec
------------------------------------------------------------*/
#info-sec .inner .detail{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items:flex-start;
}
#info-sec .inner .detail dt{
	border-radius: 5px;
	background-color: #0da9c0;
	font-weight: bold;
	width: 30%;
	text-align: center;
	margin-bottom: 20px;
	line-height: 2.0;
	color: #FFF;
}
#info-sec .inner .detail dd{
	width: 65%;
	line-height: 2.0;
}
@media all and (max-width: 1023px) {
	#info-sec .inner .detail dt{
		width: 100%;
		text-align: center;
		margin-bottom: 5px;
		font-size: 80%;
	}
	#info-sec .inner .detail dd{
		width: 100%;
		margin-bottom: 10px;
		text-align: center;
	}
}

@media all and (min-width: 1024px) {

	#container aside h3{
		font-size: 150%;
		margin:0 auto 30px;
		text-align: center;
	}
}
@media all and (max-width: 1023px) {
	#container aside h3{
		font-size: 100%;
		margin:0 auto 20px;
		text-align:center;
	}
}

/* -----------------------------------------------------------
   YOUTUBE
------------------------------------------------------------*/
.y-movie{
	width: 100%;
	position: relative;
	padding-top: 56.25%;
	margin-bottom: 8px;
}
.y-movie iframe{
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/* -----------------------------------------------------------
   PAGETOP
------------------------------------------------------------*/
#pagetop{
	z-index: 100;
}
#pagetop a{
	display: block;
	position: relative;
	opacity: 1.0;
	background-image:url(../img/pagetop.png);
	background-size: cover;
	text-indent:-9999px;
	overflow:hidden;
	height:0;
	padding-top: 100%;
	}
	#pagetop a:hover{
		opacity: 0.8;
		transition: .3s;
	}

@media all and (min-width: 1024px) {
	#pagetop {
	  position:fixed;
	  bottom:20px;
	  right:20px;
	}
	#pagetop a {
	  width:50px;
	}
}
@media all and (max-width: 1023px)  {
	#pagetop {
	  position:fixed;
	  bottom:60px;
	  right:10px;
	}
	#pagetop {
		width:10%;
	}
}
/* -----------------------------------------------------------
   FOOTER
------------------------------------------------------------*/
footer{
	background-color: #f1f2f5;
}

footer a{
	color: #000;
	font-weight: bold;
}
footer a:hover{
	text-decoration: none;
}

p.copyright {
	color:#000;
	line-height:1.25;
}
p.copyright a{
	font-weight:bold;
	color:#000;
	}
@media all and (min-width: 1024px) {
	footer{
		padding:30px 0 30px 30px;
		}
	
	p.copyright {
		font-size:75%;
		text-align:center;
		margin-top: 10px;
		}
	}
@media all and (max-width: 1023px)  {
	footer{
		padding: 10px;
	}
	
	p.copyright{
		font-size:60%;
		text-align:center;
		margin-top: 10px;
		}
}
