@charset "UTF-8";

html,body {
	background: #302437;
}
#wrapper {
	margin: 0 auto;
	padding: 10% 0 10%;
	width: 100%;
	min-height: 100vh;
    color: #302437;
	font-size: 3.4vw;
    font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","メイリオ", Meiryo, osaka, sans-serif;
	background-image: linear-gradient(180deg, #ff148c 10%, #f0dc93 40%, #0fff64 90%);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	position: relative;
}
#wrapper::before {
	content: "";
	margin: 0;
	width: 15%;
	padding-top: 20%;
	background: url("../img/bg_deco1.png") no-repeat center center;
	-webkit-background-size: contain;
	background-size: contain;
	display: block;
	position: absolute;
	top: 10vw;
	right: 5vw;
}
#image-container {
	margin: 0 auto;
	width: 55%;
	overflow: hidden;
	position: relative;
}
#random-image {
  width: 100%;
  display: block;
}
/* パネルを並べるコンテナ */
#mask-container {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: grid;
	grid-template-columns: repeat(10, 1fr); /* 10列 */
	grid-template-rows: repeat(10, 1fr);    /* 10行 */
}
#mask-container .tile {
	background: #302437;
}
/* パネルが消えるアニメーション */
#mask-container .tile.fade-out {
  animation: tileFade 0.1s forwards;
}
@keyframes tileFade {
  0% { opacity: 1; }
  100% { opacity: 0; } /* 少し小さくなりながら消える */
}
.btnList {
	margin: 0 auto;
	padding: 2% 0 5%;
	text-align: center;
}
.btnList>li {
	margin: 2% auto 0;
	width: 60%;
}
.btnList>li a {
	padding: 3vw;
	width: 100%;
	font-size: 0;
	background: #302437;
	border: solid 1px #fff;
	border-radius: 50vw;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
}
.btnList>li #btn_more {
	padding: 3vw 3vw 2vw;
}
.btnList>li a img {
	height: 4vw;
}
.btnList>li #btn_more img {
	height: 5vw;
}
.txtBlock {
	margin: 0 auto;
	padding: 5% 5% 1%;
	width: 86%;
	height: 300px;
	color: #fff;
	background: #302437;
	border: solid 1px #fff;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.txtBlock .inner {
	position: relative;
}
.txtBlock .title {
	margin: 0 auto 0.5em;
	padding: 1% 0 2%;
	color: #302437;
	font-size: 1.2em;
	font-weight: bold;
	text-align: center;
	background: #fff;
}
.txtBlock .hd {
	margin: 0 auto 0.5em;
	font-size: 1.1em;
	font-weight: bold;
}
.txtBlock .txt {
	margin: 0 auto 1.2em;
}
.txtBlock .simplebar-track.simplebar-vertical {
	width: 8px;
}
.txtBlock .simplebar-scrollbar:before {
	background: #fff;
}

@media only screen and (width >= 800px){
	html,body {
		background: #222;
	}
    #wrapper {
		margin: 0 auto;
		padding: 50px 0 30px;
		max-width: 420px;
		min-height: 100vh;
		font-size: 13px;
		border-right: solid 10px #fff;
		border-left: solid 10px #fff;
    }
	#wrapper::before {
		content: "";
		margin: 0;
		width: 15%;
		padding-top: 20%;
		background: url("../img/bg_deco1.png") no-repeat center center;
		-webkit-background-size: contain;
		background-size: contain;
		display: block;
		position: absolute;
		top: 40px;
		right: 20px;
	}
    #backWrap {
		position: relative;
	}
    #backWrap::before {
		content: "";
		width: calc(50% - 210px);
		height: 100vh;
		background: url("../img/logo_pink.png") no-repeat center center;
		-webkit-background-size: 80%;
		background-size: 80%;
		display: block;
		position: fixed;
		top: 0;
		left: 0;
	}
    #backWrap::after {
		content: "";
		width: calc(50% - 210px);
		height: 100vh;
		background: url("../img/logo_green.png") no-repeat center center;
		-webkit-background-size: 80%;
		background-size: 80%;
		display: block;
		position: fixed;
		top: 0;
		right: 0;
	}
	.btnList>li a {
		padding: 10px;
	}
	.btnList>li a:hover {
		background: #ff148c;
	}
	.btnList>li #btn_more {
		padding: 10px 10px 8px;
	}
	.btnList>li a img {
		height: 16px;
	}
	.btnList>li #btn_more img {
		height: 20px;
	}
}