img{
	max-width:100%;
	height:auto;
}

body {
	width:100%;
	max-width:767px;
	margin:20px auto;
	background:linear-gradient(#65799b,#5e2563);
	font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
body::after{
	content:'';
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:#fff;
	z-index:9998;
	pointer-events:none;
	opacity:0;
	-webkit-transition:opacity 3s ease;
	transition:opacity 3s ease;
}
body.fadeout::after{
	opacity:1;
}

.bgm_b{
	background:#fff;
	padding:10px;
	border:solid 1px;
	border-radius:3px;
	position:fixed;
	top:5px;
	right:5px;
	z-index:9998;
}
.bgm_b:active{
	transform:translate(2px,2px);
}

header,footer{
	margin:0;
	padding:0;
	text-align:center;
	position:relative;
	color:white;
}
footer a{
	display: inline-block;
	text-decoration:none;
	color:white;
}

header #o1{
	position:absolute;
	top:170px;
	left:5px;
	display:none;
	filter: drop-shadow(7px 7px 7px rgba(0,0,0,0.6));
}
header #o1:active{
	transform:translate(2px,2px);
	filter: drop-shadow(5px 5px 5px rgba(0,0,0,0.6));
}
header #o2{
	position:absolute;
	top:120px;
	right:5px;
	display:none;
	filter: drop-shadow(7px 7px 7px rgba(0,0,0,0.6));
}
header #o2:active{
	transform:translate(2px,2px);
	filter: drop-shadow(5px 5px 5px rgba(0,0,0,0.6));
}
footer #o3{
	position:absolute;
	bottom:5px;
	left:5px;
	display:none;
	filter: drop-shadow(7px 7px 7px rgba(0,0,0,0.6));
}
footer #o3:active{
	transform:translate(2px,2px);
	filter: drop-shadow(5px 5px 5px rgba(0,0,0,0.6));
}
footer #o4{
	position:absolute;
	bottom:5px;
	right:5px;
	display:none;
	filter: drop-shadow(7px 7px 7px rgba(0,0,0,0.6));
}
footer #o4:active{
	transform:translate(2px,2px);
	filter: drop-shadow(5px 5px 5px rgba(0,0,0,0.6));
}

article{
	border-radius:10px;
	background:rgb(255,255,255,0.8);
	margin:15px 5px;
	padding:10px;
	text-align:center;
}

section form{
	margin:40px 0 15px 0;
}

.tab_item{
	display:none;
}

.is-active-item{
	display:block;
}

a{
	display:block;
	color:#000000;
	text-decoration:none;
	margin:3px 3px 7px 3px;
}

.tab_btn{
	font-size:20px;
	padding:5px;
	width:18%;
	background:#a9a9a9;
	display:inline-block;
	opacity:0.5;
	border-radius:5px;
}

.is-active-btn{
	font-weight:bold;
	opacity:1;
	color:#f0f8ff;
}

.tab_item,
.tab_item_first,
.tab_item_third,
.tab_item_forth{
	background:rgb(255,255,255,1);
	height:auto;
	text-align:center;
	border:solid 2px;
	border-radius:5px;
	padding:10px 0;
}

.ip input[type="text"]{
	font: 14px/20px sans-serif;
	box-sizing: border-box;
	margin: 0.3em;
	padding: 0.6em;
	transition: 0.3s;
	letter-spacing: 1px;
	color: #aaaaaa;
	border: none;
	border-bottom: 2px solid #1b2538;
	background: transparent;
}

.ip input[type="text"]:focus{
	border-bottom: 2px solid #7fffd4;
	outline: none;
}

.bt input[type="button"]{
	display: inline-block;
	width: 70px;
	padding: 0.6em;
	cursor: pointer;
	user-select: none;
	transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.3s 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), background-color 0.3s;
	color: #008b8b;
	border: 3px solid #008b8b;
	border-radius: 0.5em;
	background: transparent;
	box-shadow: 3px 0 0 0 #008b8b, 3px 3px 0 0 #008b8b, 0 3px 0 0 #008b8b;
}
.bt input[type="button"]:active{
	transition-duration: 0.1s;
	-webkit-transform: translate(4px, 4px);
	transform: translate(4px, 4px);
	color: #ffffff;
	border: 3px solid #008b8b;
	background-color: #008b8b;
	box-shadow: 2px 0 0 0 #008b8b, 2px 2px 0 0 #008b8b, 0 2px 0 0 #008b8b;
}

h2{
	margin:5px auto;
}

h3{
	position:relative;
}
h3 img{
	margin:0;
	width:90%;
}
h3 .sumi{
	position:absolute;
	top:0px;
	right:50px;
	transform:rotate(0.03turn);
	color:#f00;
	font-size:3em;
	font-weight:bold;
}

.nazo{
	margin:15px auto;
}
.nazo button{
	display: inline-block;
	background-color:#000;
	color:#FFF;
	font-size:1.3em;
	font-weight:bold;
	padding:0.7em;
	margin:5px;
	text-decoration:none;
	border-radius:8px;
	box-shadow: 0 5px 10px 0 rgba(0,0,0,0.12), 0 3px 20px 0 rgba(0,0,0,0.12), 0 5px 6px -2px rgba(0,0,0,0.2);
	-webkit-tap-highlight-color: transparent;
	transition: .3s ease-out;
}
.nazo button:active{
	text-decoration:none;
	transform: translate(4px, 4px);
    box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
}
.nazo img{
	vertical-align:middle;
}
.nazo span{
	font-size:1.3em
}

#tweet,#thanks{
	margin:80px auto 30px auto;
	text-align:center;
}
#tweet a{
	width:100px;
	font-size:1.1em;
	font-weight:bold;
	color:#fff;
	background:#00acee;
	border:solid 1px #000;
	border-radius:5px;
	margin:0 auto;
	padding:8px 0;
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
}
#tweet a:active{
	transform: translate(2px, 2px);
}
#thanks a{
	font-size:0.8em;
	color:#708090;
}