@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&display=swap');

body, html{
	width: 100%; height: 100%;
	font-family: 'BIZ UDPGothic', sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #000000;
}
big{
	font-size: 20px;
	font-weight: 700;
}
rt{
	font-size: 12px;
}
body{
	background: url("../img/bg.png") no-repeat center center;
	background-size: cover;
}

.rel{
	position: relative;
	display: block;
}
.abs{
	position: absolute;
	display: block;
}
.flexBlock{
	display: flex;
	justify-content: center; align-items: center;
	text-align: center;
}

.character{
	top: 50%; left: 50%; transform: translate(-50%, -35%);
}
.character .img > img{
	display: none;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
.character .img{
	min-width: 310px;
	width: 90%;
	max-width: 340px;
}

.character01 .img > img:nth-child(1),
.character02 .img > img:nth-child(2),
.character03 .img > img:nth-child(3){
	display: block; position: relative; margin: 0 auto;
}

.character01 .img > img:nth-child(1){
	animation: shakeY 7.5s infinite ease-in-out;
}
.character02 .img > img:nth-child(2){
	animation: swing 4.5s infinite ease-in-out;
}
.character03 .img > img:nth-child(3){
	animation: heartBeat 3.5s infinite ease-in-out;
}

.huki,
.hukiS{
	position: absolute;
	left: 50%; top: 0;
	display: none;
}
.h .huki,
.hS .hukiS{
	display: flex;
	align-items: center; justify-content: center; text-align: center;
}

.btnAudio{
	background: url("../img/btnAudio.png") no-repeat;
	background-size: contain;
	width: 40px; height: 44px;
	position: absolute; display: block;
	top: -20px; right: 5px;
}
.huki .btnAudio{
	top: 0; right: 5px;
}
.btnAudio,
.btns,
.btn{
	cursor: pointer;
	pointer-events: all;
}

.hukiS{
	background: #FFFFFF;
	border: 3px solid #FFE200;
	border-radius: 25px;
	width: 100%; min-width: 310px; height: 50px; padding: 10px 7px;
	transform: translate(-50%, -50%);
}
.huki{
	transform: translate(-50%, -85%);
	background: url("../img/huki.png") no-repeat;
	background-size: 100% 100%;
	width: 100%; padding-top: 63%;
	animation-duration: 0.7s;
	animation-fill-mode: both;
	animation-name: fadeIn;
}
.huki span:nth-child(1){
	position: absolute; display: block;
	text-align: center;
	padding: 2px 15px 15px;
	line-height: 1.9;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	white-space:nowrap;
}
.huki span:nth-child(1) img{
	display: inline;
	vertical-align: middle;
}

#loading{
	width: 100%; height: 100%;
	position: fixed;
	display: none;
	left: 0; top: 0;
	z-index: 999;
	background: rgba(255, 255, 255, 0.7);
}
.loading #loading{
	display: block;
	overflow: hidden;
}
#loading > div{
	position: absolute; display: block;
	transform: translate(-50%, -50%);
	left: 50%; top: 50%;
	width: 16px; height: 16px;
}

.flower-loader{
	overflow: hidden;
    position: relative;
    text-indent: -9999px;
    display: inline-block;
    width: 16px;
    height: 16px;
    background: #e96;
    border-radius: 100%;
    box-shadow: white 0 0 15px 0, #fd8 -12px -12px 0 4px, #fd8 12px -12px 0 4px, #fd8 12px 12px 0 4px, #fd8 -12px 12px 0 4px;
    animation: flower-loader 5s infinite ease-in-out;
    transform-origin: 50% 50%;
}
@keyframes flower-loader {
  0% {
    transform: rotate(0deg);
    box-shadow: white 0 0 15px 0, #fd8 -12px -12px 0 4px, #fd8 12px -12px 0 4px, #fd8 12px 12px 0 4px, #fd8 -12px 12px 0 4px;
  }
  50% {
    transform: rotate(1080deg);
    box-shadow: white 0 0 15px 0, #fd8 12px 12px 0 4px, #fd8 -12px 12px 0 4px, #fd8 -12px -12px 0 4px, #fd8 12px -12px 0 4px;
  }
}

main{
	width: 100%; height: 100%; overflow: hidden;
	position: absolute; display: block;
	max-width: 375px;
	max-height: 812px;
	margin: auto; top: 0; left: 0; bottom: 0; right: 0;
	pointer-events: none;
}

.section{
	position: relative;
	display: none;
	width: 100%;
	height: 100%;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-name: bounceIn;
	animation-name: bounceIn;
}
.huki, .hukiS{
	display: none;
}


#top.section{
	-webkit-animation-duration: 1.5s;
	animation-duration: 1.5s;
	-webkit-animation-name: jello;
	animation-name: jello;
}
#top.section .title{
	max-width: 322px;
	margin: 3% auto 0;
}
#ending .btn,
#top.section .btn{
	width: 84%; max-width: 322px;
	left: 0; right: 0; margin: 0 auto;
	bottom: 20px;
}
.effect{
	display: none;
}

.ending .effect,
.ending #ending,
.question #question,
.top #top{
	display: block;
}
.effect{
	position: fixed; width: 100%; height: 100%;
}
.effect > img:nth-child(1){
	animation: rotateImg 10s infinite linear;
	transform-origin: center center !important;
	max-width: 400%;
	width: 400%; height: auto;
	left: 50%; top: 50%;
	margin-left: -200%;
	margin-top: -200%;
	opacity: 0.5;
}
.effect > img:nth-child(2){
	animation: tada 1.2s infinite ease-in-out;
	width: 90%;
	left: 0; top: 0; bottom: 0; right: 0;
	margin: auto;
}
@keyframes rotateImg {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

#question .btns{
	bottom: 15px;
	left: 0; right: 0;
	position: absolute;
	height: 159px;
	margin: 0 auto;
	width: calc(100% - 10px);
	justify-content: space-around;
}
#question .btns > div.btn1{
	background: url("../img/btn01_off.png") no-repeat;
}
.select0 #question .btns > div.btn1{
	background: url("../img/btn01_on.png") no-repeat;
}
#question .btns > div.btn2{
	background: url("../img/btn02_off.png") no-repeat;
}
.select1 #question .btns > div.btn2{
	background: url("../img/btn02_on.png") no-repeat;
}
#question .btns > div{
	width: 150px; height: 159px;
	background-size: cover !important;
}
#question .steps{
	width: calc(100% - 10px);
	padding: 0 12px;
	height: 24px;
	background: rgba(0,0,0,0.3);
	border-radius: 12px;
	margin-top: 10px;
	display: flex; position: relative;
	justify-content: space-between;
	align-items: center;
}
.q1 #question .steps{
	visibility: hidden;
}

#question .steps:before{
	content: '';
	width: calc(100% - 24px); position: absolute; display: block; height: 2px;
	border-bottom: 2px dotted #FFFFFF;
	top: 0; left: 0; bottom: 0; right: 0;
	margin: auto;
}
#question .steps > span{
	width: 12px; height: 12px; border-radius: 50%;
	background: #FFFFFF;
	border: 2px solid #FFFFFF;
	position: relative; z-index: 1;
}
.q2 #question .steps > span:nth-child(1),
.q3 #question .steps > span:nth-child(2),
.q4 #question .steps > span:nth-child(3),
.q5 #question .steps > span:nth-child(4),
.q6 #question .steps > span:nth-child(5),
.q7 #question .steps > span:nth-child(6),
.q8 #question .steps > span:nth-child(7),
.q9 #question .steps > span:nth-child(8){
	background: #FFC400;
}
