/* page_04 */

.page_04{
	background-image: url("../image/page_04_A.jpg");
	background-size: cover;
	height: 100vh;
	width: 100vw;
	position: absolute;
	animation: p04_page_open 1s; 
	transform-origin: right;
	overflow: hidden;
}


@keyframes p04_page_open {
	0% {
		transform: scaleX(0);
	}
	100% {
		transform: scaleX(1);
	}
}

.p04_card_01_none{
	display: none;
}

.p04_card_01{
	height: 600px;
	width: 80vw;
	position: absolute;
	inset: 0;
	margin: auto;
	padding: 50px;

	background-color: rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(15px);
	-webkit-backdrop-filter: blur(15px);
	border-radius: 40px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);

	animation: p04_card_open 1s;
}

@keyframes p04_card_open {
	0% {
		transform: scaleY(0);
	}
	100% {
		transform: scaleY(1);
	}
}

.p04_page_none{
	animation: p04_page_none 1s;
	transform-origin: right;
	transform: scaleX(0);
}

@keyframes p04_page_none {
	0% {
		transform: scaleX(1);
	}
	100% {
		transform: scaleX(0);
	}
}

/* タイプライター */

.p04_text_none{
	opacity: 0;
}

.p04_js_text span {
	display: none;
	letter-spacing: 0.05em!important;
}

.p04_js_text::after {
	content: "|";
	display: inline-block;
	animation: p04_blink 1s infinite;
}

@keyframes p04_blink {
	0%, 100% {
		opacity: 1;
	}
	50% {
		opacity: 0;
	}
}

/* ボタン */

.p04_button_01_none{
	display: none;
}

.p04_button_01{
	position: absolute;
	width: 80%;
	height: 2em;
	line-height: 2em;
	text-align: center;
	
	right: 0;
	bottom: 1.5em;
	left: 0;
	margin: auto;
	
	background-color: rgba(255, 255, 255 0.6);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border-radius: 20px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	box-shadow: 0 40px 80px rgba(0, 0, 0, 0.2);

	animation: p04_button_01 1s;
	opacity: 1;
}

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

/* Q */

.p04_card_02{
	position: absolute;
	width: 80vw;
	height: 700px;
	inset: 0;
	margin: auto;
	padding: 50px;

	text-align: center;
	font-size: 40px;

	background-color: rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(15px);
	-webkit-backdrop-filter: blur(15px);
	border-radius: 40px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);

	animation: p04_card_open 1s;
}

.p04_card_num{
	margin-bottom: 0.5em;
	padding-bottom: 1em;
	line-height: 1em;
	border-bottom: 3px solid #fff;
}

.p04_card_txt_none{
	display: none;
}

.p04_card_txt{
	height: 2em;
	line-height: 2em;
}

.p04_card_txt_02{
	height: 2em;
	line-height: 2em;
	animation: p04_ani_01 1s;
	opacity: 1;
}

/* パスコード */

.p04_Q_wrapper{
	margin-top: 25px;
	margin-bottom: 25px;
	text-align: center;
	font-size:0;
}

.p04_ans{
	display: inline-block;
	width: 79%;
	height: 2em;
	text-align: center;
	vertical-align: middle;
	letter-spacing: 0.3em;
	color: #1f2f54;
	font-size: 40px;
	background-color: #fff;
	border-radius: 20px 0 0 20px;
	z-index: 5;
}

.p04_pass_ok{
	box-shadow: 0 0 20px #00ae95;
	transition: 1s;
}

.p04_pass_ng{
	box-shadow: 0 0 20px red;
	transition: 1s;
}

.p04_check_button{
	display: inline-block;
	width: 20%;
	height: 2em;
	vertical-align: middle;
	font-size: 40px;
	background-color: #555566;
	border-radius: 0 20px 20px 0;
}

.p04_check{
	display: inline-block;
	content: '';
	width: 0.5em;
	height: 0.5em;
	border: 0.1em solid #fff;
 	border-top: 0;
	border-right: 0;
	box-sizing: border-box;
	transform: translateY(-50%) rotate(-45deg);
}


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