@charset "utf-8";

* {
	margin: 0;
	padding: 0;
}

::selection {
	background-color: rgba(255,255,255,0);
}

a {
	color: #f67840;
	text-decoration: none;
	transition: filter .3s ease-out;
	will-change: filter;
}
a:link {
	color: #f67840;
}
a:visited {
	color: #f67840;
}
a:hover{
	filter: hue-rotate(180deg)
}

h1{
	font-size: inherit !important;
	font-weight: inherit !important;
	display: inline !important;
}

span{
	cursor: default;
}

body {
	position: relative;
	width: 100%;
	min-height: 100vh;
	overflow: hidden;
	z-index: 1;
	background-color: #fff;
	font-size: 24px;
	font-family: MaruMinyaM, sans-serif;
	color: #196D7D;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

#bg {
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0.4;
	background-repeat: no-repeat;
	background-size: cover;
	background-position-x: center;
}

/* ページロード後にjsで付与（優先度を下げる為） */
.bg {
	background-image: url("./img/bg2.png");
}

@font-face {
	font-family:"MaruMinyaM";
	src:url("./asset/MaruMinyaM.woff2") format("woff2"),
	url("./asset/MaruMinyaM.woff") format("woff"),
	url("./asset/MaruMinyaM.ttf") format("truetype");
	font-weight: normal;
	font-style: normal;
}

/* 必ず縦もしくは横に16:9を維持する */
#main {
	z-index: 5;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: #fff;
	background-size: cover;
	background-repeat: no-repeat;
	background-image: url("./img/bg1.png");
	overflow: hidden;
}

#title {
	z-index: 15;
	position: absolute;
	background-image: url("./img/title.png");
	background-size: contain;
	background-repeat: no-repeat;
	animation: fuwafuwa 3s ease-in-out infinite;
}
@keyframes fuwafuwa {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-5%);
	}
}

#character {
	z-index: 5;
	position: absolute;
	background-size: 100%;
	background-repeat: no-repeat;
	transform-origin: bottom center;
}
.okiru {
	animation: okiru 1s ease-out both;
}
@keyframes okiru {
	0% {
		transform: rotateX(90deg);
	}
	60% {
		transform: rotateX(-20deg);
	}
	100% {
		transform: rotateX(0deg);
	}
}
.pyon {
	animation: pyon 6s ease-out both infinite;
}
@keyframes pyon {
	0%, 90%, 100% {
		transform: rotateX(0deg);
	}
	95% {
		transform: rotateX(-20deg);
	}
}


#game {
	z-index: 20;
	position: absolute;
	background-size: 100%;
	background-repeat: no-repeat;
	background-image: url("./img/game_s.png");
	cursor: pointer;
}

#zoom {
	z-index: 1;
	position: absolute;
	background-size: 100%;
	background-repeat: no-repeat;
	background-image: url("./img/zoom.png");
	right: 0;
	bottom: 0;
	width: 18%;
	height: 11%;
	transition: filter 0.3s ease-out, transform 0.3s ease-out;
	will-change: filter, transform;
}

#game:hover #zoom {
	filter: hue-rotate(180deg);
	transform: scale(1.2);
}

#zoom_img {
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,0.75);
	will-change: opacity;
	cursor: pointer;
}

/* background-imageの余白を設定する */
#zoom_img::before {
	content: "";
	position: absolute;
	top: 2%;
	bottom: 2%;
	left: 2%;
	right: 2%;
	background-image: url("./img/game.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.img_hide {
	z-index: -1;
	display: none;
	opacity: 0;
}

.img_show {
	z-index: 100;
	display: block !important;
	animation: 1s both fadein;
}

@keyframes fadein {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}


#voice {
	z-index: 20;
	position: absolute;
	background-image: url("./img/voice.png");
	background-size: 100%;
	background-repeat: no-repeat;
	cursor: pointer;
	transition: filter .3s ease-out;
	will-change: filter;
}
#voice:hover{
	filter: hue-rotate(180deg)
}


#play {
	z-index: 20;
	position: absolute;
	background-image: url("./img/play.png");
	background-size: contain;
	background-repeat: no-repeat;
	transition: filter .3s ease-out;
	will-change: filter;
	cursor: pointer;
}
#play:hover{
	filter: hue-rotate(180deg)
}

#milkcat{
	z-index: 20;
	position: absolute;
	background-image: url("./img/milkcat.png");
	background-size: 100%;
	background-repeat: no-repeat;
	cursor: pointer;
	transition: none;
}

#info{
	z-index: 10;
	position: absolute;
	border-radius: 6em;
	background-color: rgba(255, 255,255,0.75);
}

#info_text{
	z-index: 1;
	position: absolute;
	width: 200%;
	height: 200%;
	left: 0;
	top: 0;
	transform: scale(0.5);
	font-size: 2em;
	transform-origin: left top;
	line-height: 2.4em;
	white-space: nowrap;
}

#info_text_header{
	font-size: 2.2em;
	display: inline-block;
	position: absolute;
	width: 100%;
	text-align: center;
	top: 16%;
}

#info_text_main{
	font-size: 2em;
	text-align: left;
	display: inline-block;
	position: absolute;
	width: 92%;
	padding-left: 5%;
	top: 35%;
}


#info_text_footer{
	font-size: 1.8em;
	text-align: center;
	display: inline-block;
	position: absolute;
	width: 100%;
	text-align: center;
	top: 82%;
}


#share{
	z-index: 10;
	position: absolute;
}

#link_x{
	background-image: url("./img/share_x.png");
}
#link_f{
	background-image: url("./img/share_f.png");
}
#link_b{
	background-image: url("./img/share_b.png");
}
#link_l{
	background-image: url("./img/share_l.png");
}

.link_share{
	background-size: contain;
	width: 100%;
	display: inline-block;
	background-repeat: no-repeat;
	transition: none !important;
	filter: none !important;
}


/* 横長で左右に余白のパターン */
/* および横長main以外の横長設定 */
@media screen and (orientation: landscape) {

	#main {
		width: 177.78vh;
		font-size: 0.8vh;
		min-height: 100%;
	}

	#title {
		top: 11%;
		left: 2%;
		width: 50%;
		height: 50%;
	}

	#character {
		top: 2%;
		left: 42%;
		width: 40%;
		height: 100%;
		background-image: url("./img/choco1.png");
	}

	#game {
		top: 14%;
		left: 76%;
		width: 20%;
		height: 60%;
	}

	#voice {
		top: 82%;
		left: 50%;
		width: 24%;
		height: 14%;
	}

	#play {
		top: 60%;
		left: 17%;
		width: 20%;
		height: 13%;
	}

	#milkcat {
		top: 92%;
		left: 84%;
		width: 15%;
		height: 6%;
	}

	#info {
		top: 75%;
		left: 10%;
		width: 34%;
		height: 20%;
	}

	#share{
		top: 62%;
		left: 2%;
		width: 3%;
		height: 40%;
		line-height: 12em;
	}

	.link_share{
		height: 12%;
	}

}

/* 横長で上下に余白のパターン */
@media (max-aspect-ratio: 16/9) and (orientation: landscape) {
	#main {
		width: 100%;
		min-height: 56.25vw;
		font-size: 0.45vw;
	}
}

/* 縦長で左右に余白のパターン */
/* および縦長main以外の縦長設定 */
@media screen and (orientation: portrait) {
	#main {
		width: 56.25vh;
		font-size: 0.45vh;
		min-height: 100%;
		background-position-x: center;
	}

	#title {
		top: 58%;
		left: -3%;
		width: 70%;
		height: 24%;
	}

	#character {
		top: 1%;
		left: 20%;
		width: 88%;
		height: 100%;
		background-image: url("./img/choco2.png");
	}

	#game {
		top: 13%;
		left: 4%;
		width: 40%;
		height: 38%;
	}

	#voice {
		top: 29%;
		left: 58%;
		width: 40%;
		height: 7%;
	}

	#play {
		top: 50%;
		left: 53%;
		width: 40%;
		height: 8%;
	}

	#milkcat {
		top: 95%;
		left: 3%;
		width: 29%;
		height: 4%;
	}

	#info {
		top: 81%;
		left: 3%;
		width: 60%;
		height: 12%;
	}

	#share{
		top: 74%;
		right: 4%;
		width: 6%;
		height: 31%;
		line-height: 15em;
	}

	.link_share{
		height: 11%;
	}

}

/* 縦長で上下に余白のパターン */
@media (max-aspect-ratio: 9/16) and (orientation: portrait) {
	#main {
		width: 100%;
		min-height: 177.78vw;
		font-size: 0.8vw;;
	}

}

