@charset "utf-8";

/* atfirst */

#main .atfirst { margin-bottom: 2em; }
#main .atfirst ul {
	display: flex;
	justify-content: center;
}
#main .atfirst ul li { padding: 10px; }
#main .atfirst ul li img { width: *; height: 24px;}
#main .atfirst p { text-align: center; }

/* gallery */

#main h3 {
	font-size: 14px; font-size: 1.4rem;
	width: 50%;
	max-width: 250px;
	text-align: center;
	box-sizing: border-box;
	margin: 0 auto 2em auto;
	padding: 0.5em 1em;
	border-bottom: 2px solid;
	border-top: 2px solid;
}
#main .gallery_vf, #main .gallery_other{
	width: 100%;
	overflow: hidden;
	padding: 2em 0 0 0;
}
#main .gallery_vf{ background: #f7eb3b; }
#main .gallery_other{ background: #94e5fc; }
ul.gallery{
	width: 95%;
	max-width: 950px;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin: 0 auto;
}
ul.gallery li{
	background-size: cover;
	background-position: center;
	cursor: pointer;
	margin-bottom: 2rem;
	position: relative;
}
ul.gallery li::before {
	content: '';
	/* ↓暗いオーバーレイを半透明で配置 */
	background-color: rgba(0, 0, 0, 0.6);
	/* ↓全体を覆うように配置 */
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
}
ul.gallery li a{
	width: 200px; height: 200px;
	display: block;
	color: #fff;
	position: relative;
}
ul.gallery li a div{
	position: absolute;
	bottom: 0;
	color: #fff;
	font-size: 9px; font-size: 0.9rem;
	line-height: 1.5em;
	padding: 50px 10px 10px 10px;
}
ul.gallery li a div span.annotation { font-size: 8px; font-size: 0.8rem; }
ul.gallery li:hover{ opacity: 0.8; }
.noshow {
	max-height : 0;
	overflow: hidden;
	transition: all 0.6s;
}
.noshow.show {
	max-height : 10000px;
}
button.slidetoggle, button.slidetoggle{
	margin: 0 auto 2em auto;
	padding: 0.6em 1.5em;
	border-radius: 20px;
	border: 2px solid #000;
	font-size: 10px; font-size: 1rem;
	display: block;
	background: #fff;
	color: #000;
	cursor: pointer;
	width: 150px;
}
button.slidetoggle:hover, button.slidetoggle:hover{ opacity: 0.8; }
.disable-interaction {
	pointer-events: none;
}

/* play_log */

#main .play_log{
	width: 100%;
	overflow: hidden;
	padding: 2em 0 0 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#main .play_log .log_1, #main .play_log .log_2{
	width: 100%;
	max-width: 500px;
}
#main .play_log h2{ color: #000; width: 100%;}
#main .play_log ul{
	margin: 0 auto 2rem auto;
	border-radius: 10px;
	padding: 1em 2em;
	position: relative;
	display: block;
	width: 60%;
}
#main .play_log .log_1 ul{ border: solid 10px #f7eb3b; }
#main .play_log .log_2 ul{ border: solid 10px #94e5fc; }
#main .play_log ul li{
	border-bottom: dashed 1px #ccc;
	line-height: 1.5;
	font-size: 9px; font-size: 0.9rem;
	padding: 0.5em 1em;
	margin:0;
	list-style-type:none;
}
#main .play_log ul li:last-of-type {
	border-bottom: none;
}
#main .play_log ul li a{ color: #333; }

/* icons */

.warning_yellow, .warning_red, .warning_blue{
	position: relative;
	padding: 8px 8px 8px 32px;
	top: -10px;
	font-size: 8px; font-size: 0.8rem;
	line-height: 36px;
	border-radius: 6px;
}
.warning_yellow{ background-color: #f7eb3b; }
.warning_red{ background-color: #f00; }
.warning_blue{ background-color: #8eccdd; }
.warning_yellow::before, .warning_red::before, .warning_blue::before{
	font-size: 20px;
	position: absolute;
	top: -4px; left: 6px;
}
.warning_yellow::before, .warning_red::before{
	content: "\26A0\FE0F";
}
.warning_blue::before{
	content: "\1F17F\FE0F";
}
.warning_yellow, .warning_yellow::before { color: #900; }
.warning_red, .warning_red::before, .warning_blue, .warning_blue::before { color: #fff; }
