@charset "utf-8";

.header{
	position: relative;
	box-sizing: border-box;
	margin:0 0 0 0;
	padding:0 0 4% 0;
    background: none;
    line-height: 1;
    width:100%;
}

.header h1{
    background: url("../images/h1_bg.jpg") no-repeat center bottom/contain;
    box-sizing: border-box;
	margin: 0;
    padding:0;
	display: block;
    text-align: center;
    width: 100%;
}

.header h1 img{
	margin:0;
	padding:0 0 0 0;
	line-height: 1;
    width:100%;
}

#c_ttl{
    margin: 0;
    padding: 1% 0 5% 0;
	line-height: 1;
    width: 100%;background: url("../images/c_ttl_bg.png") no-repeat center bottom/cover;
}

#c_ttl img{
    margin: 0;
    padding: 0;
	line-height: 1;
    width: 100%;
}

.lead{
	padding:0 2em 2em;
}


/* クイズ */
.q_box{
	padding:2em 0 2em;

}

.q_ttl{
	border-bottom: solid 4px #a91bf5;
	margin: 0 auto 1em;
	padding:4px;
}

.q_ttl span{
    color: #a91bf5;
    font-size: 2em;
}

.q_img{
    text-align: center;
    padding:0 0 1em 0;
}
.q_img img{
    max-width: 100%;
}

.q_txt{
	padding-bottom: 1em;
	font-size: 1.3em;
	text-align: center;
	color: #a91bf5;
}

input[type=radio] {
display: none; 
}

.quiz{
	width:100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 1.2em;
	margin-bottom: 4em;
}


.quiz label {
	box-sizing: border-box;
	width:49%;
	padding:0.5em 0.5em;
	cursor: pointer; 
	border-radius: 10px; 
	color: #ffffff; 
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.slctA span,
.slctB span{
	background: #fff;
	font-size: 1.5em;
	font-weight: bold;
	padding:0.3em 4px;
	margin-right: 0.4em;
}

.slctA span{
	color:#c22;
}

.slctB span{
	color:#22c;
}


input#q1_A[type="radio"] + label,
input#q2_A[type="radio"] + label,
input#q3_A[type="radio"] + label,
input#q4_A[type="radio"] + label {
	background: #c22;
	border:solid 4px #fff;
}
input#q1_B[type="radio"] + label,
input#q2_B[type="radio"] + label,
input#q3_B[type="radio"] + label,
input#q4_B[type="radio"] + label{
	background: #22c;
	border:solid 4px #fff;
}
input#q1_A[type="radio"]:checked + label,
input#q2_A[type="radio"]:checked + label,
input#q3_A[type="radio"]:checked + label,
input#q4_A[type="radio"]:checked + label{
	background: linear-gradient(#f00,#ff9696);
	border:solid 4px #fff;
	box-shadow: 0 0 10px #f33;
}
input#q1_B[type="radio"]:checked + label,
input#q2_B[type="radio"]:checked + label,
input#q3_B[type="radio"]:checked + label,
input#q4_B[type="radio"]:checked + label{
	background: linear-gradient(#00f,#9999ff);
	border:solid 4px #fff;
	box-shadow: 0 0 6px #33f;
}


/* 送信ボタン デフォルトで非活性 */
a.toresult:link,
a.toresult:visited{
	display: block;
	box-sizing: border-box;
	margin: 5em auto 2em;
	padding: 1.5em;
	width:680px;
	background: linear-gradient(to bottom, #ccc, #eee) ;
	border-radius: 20px;
	border: #fff solid 4px;
	box-shadow: 0px 0px 6px #999;
	text-shadow: 0px 0px 6px #fff;
	color: #999;
	pointer-events: none;
	transition: background .3s, color .5s;
	text-align: center;
	font-size: 1.3em;
	font-weight: 900;
		/* 非活性時はフォーカス状態を外す */
		&:focus {
		visibility: hidden;
		}
}


form:has(input#q1_A:checked,input#q1_B:checked):has(input#q2_A:checked,input#q2_B:checked):has(input#q3_A:checked,input#q3_B:checked):has(input#q4_A:checked,input#q4_B:checked) a.toresult {
	background: linear-gradient(#fe64a0 25%,#44b5ff 75%) ;
	box-shadow: 0px 0px 6px #fe619e;
	text-shadow: 0px 0px 6px #61c0ff;
	color: #fff;
	cursor: pointer;
	pointer-events: auto;
		/* 活性時はフォーカス状態を有効にする */
		&:focus {
		  visibility: visible;
		}
		/* 活性時のホバー */
		&:hover {
		filter: brightness(1.1);
		}
}


/*正答*/

.q_box_correct{
	padding:1em 4% 1em;
	margin-bottom: 60px;
	background: #f2e9f7;
	border-radius: 20px;
}

.q_kotae{
	padding: 0.5em;
    font-size: 150%;
    font-weight: 900;
    line-height: 1.5;
    text-align: center;
    text-shadow: 2px 1px #fff;
	color:#a91bf5;
	margin-bottom: 2%;
	}


.q_box_correct .slctA,
.q_box_correct .slctB{
	box-sizing: border-box;
	width:98%;
	padding:0.5em 0.5em;
	margin: 2% auto;
	border-radius: 10px; 
	color: #ffffff; 
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.q_box_correct .slctA{
	background: linear-gradient(#f00,#ff9696);
	border:solid 4px #fff;
	box-shadow: 0 0 10px #f33;
}
.q_box_correct .slctB{
	background: linear-gradient(#00f,#9999ff);
	border:solid 4px #fff;
	box-shadow: 0 0 6px #33f;
}


.q_ttl_s{
	background: #098da6;
	color: #fff;
	line-height: 1.2;
	display: inline-block;
	margin: 40px auto 10px;
	padding:6px 2em;
	border-radius: 200px;
	max-width: 90%;
	box-sizing: border-box;
}

.mov {
  width: 100%;
  max-width: 600px; 
  aspect-ratio: 16 / 9; 
  line-height: 0;
  margin: 0 auto;
}
.mov iframe {
  width: 100%;
  height: 100%;
}

.anipokebnr{
	width:80%;
	margin: 0 auto;
	text-align: center;
}
.anipokebnr img{
	width:100%;
	margin: 2% 0;
}

a.quiz_btn{
	display: block;
	box-sizing: border-box;
	margin: 1em auto 1em;
	padding: 1.5em 0.5em;
	width:680px;
	background: linear-gradient(#fe64a0 25%,#44b5ff 75%) ;
	border-radius: 20px;
	border: #fff solid 4px;
	box-shadow: 0px 0px 6px #fe619e;
	text-shadow: 0px 0px 6px #61c0ff;
	color: #fff;
	text-align: center;
	font-size: 1.3em;
	font-weight: 900;
}
a.quiz_btn:hover{
    filter: brightness(1.1);
    transition : 0.2s;     
}

.dlbtn {
	text-align: center;
	margin-bottom: 4%;
}
.dlbtn a{
	display: inline-block;
	width:40%;
	text-align: center;
	background: #a91bf5; 
	padding:10px;
	margin: 2% 1%;
	color: #fff;
	text-decoration: none;
}
.dlbtn a:hover{
    filter: brightness(1.2);
    transition : 0.2s;     
}

	@media screen and (max-width: 619px){
		a.toresult:link,
		a.toresult:visited,
		a.quiz_btn{
			width:90%;
			padding: 1em 0.5em;
		}
		.mov {
		  max-width: 80%; 
		}
		.quiz{
			display: inherit;
		}
		.quiz label{
			width:98%;
			padding:0.5em 0.5em;
			margin: 2% auto;
		}
		.dlbtn a{
			display:block;
			width:80%;
			margin: 1% auto;
		}
	}
	
	
	
	
	
	
	

.toggle {
display: none;
}
.title,
.acc_box {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
transform: translateZ(0);
transition: all 0.3s;
}
.title {
padding: 1em;
display: block;
color: #fff;
font-weight: bold;
margin: 1em auto 1em;
background: #a91bf5;
font-size: 1.2em;
border-radius: 10px;
}
.title::after,
.title::before {
content: "";
position: absolute;
right: 1.5em;
top: 1.em;
width: 6px;
height: 1.2em;
background-color: #fff;
transition: all 0.3s;
}
.title::after {
transform: rotate(90deg);
}
.acc_box {
max-height: 0;
overflow: hidden;
}
.acc_box p {
margin: 0;
padding: 0.5em 1em 1em;
font-size: 1.2em;
line-height: 1.5;
}
.toggle:checked + .title + .acc_box {
max-height: 1200px;
transition: all 1.5s;
}
.toggle:checked + .title::before {
transform: rotate(90deg) !important;
}
