@charset "utf-8";

*{
	box-sizing: border-box;
	padding: 0;
	transition: all .3s;
	object-fit: cover;
}

body.no-scroll{
	overflow: hidden;
}

body{
	font-family: '游ゴシック', sans-serif;
	margin: 0;
	background-color: #9dd29c;
	color: #283e27;
	position: relative;
	font-size: 1em;
	line-height: 2;
	width: 100%;
	-ms-overflow-style: none;
	/* scrollbar-width: none; */
}
body::-webkit-scrollbar{
	display: none;
}

img{
	align-items: flex-start;
	width: 100%;
	height: fit-content;
}

.aspect{
	aspect-ratio: 4/3;
	height: fit-content;
}

rt{
	font-size: 0.6em;
}

.button{
	display: grid;
	place-content: center;
	background-color: #fffad8;
	border: 3px solid #f4cc6e;
	width: 95%;
	height: 54px;
	margin: 10px auto 0 auto;
	border-radius: 30px;
	text-decoration: none;
	font-weight: bold;
	color: #6c5100;
	font-size: 1.2em;
	transition: cubic-bezier(.45,.05,.55,.95) .4s;
}

.button:hover{
	background-color: #f4cc6e;
}

.mark{
	background: linear-gradient(transparent 70%, #f4cc6e 30%);
}


/*header*/
.header{
	background-color: #fffad8;
	width: 100%;
	height: 15vh;
}

.logo{
	display: grid;
	place-content: center;
	width: 40%;
	margin: 0 0 0 5%;
	height: 100%;
	position: relative;
}

.logo a{
	position: absolute;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
}

.logo img{
	position: absolute;
	width: 100%;
	height: auto;
}


/*nav-button*/
.nav-button{
	position: fixed;
	background-color: #283e27;
	top: 22px;
	right: 22px;
	width: 44px;
	height: 44px;
	border: none;
	border-radius: 8px;
	z-index: 3;
	cursor: pointer;
}

.nav-button::before,
.nav-button span,
.nav-button::after{
	position: absolute;
	content: '';
	background-color: #fff;
	width: 28px;
	height: 2px;
	left: 8px;
	border-radius: 1px;
	transform-origin: left;
	transition: all .3s;
}

.nav-button::before{
	top: 12px;
}

.nav-button span{
	transform: translateY(-1px);
}

.nav-button::after{
	bottom: 12px;
}

.nav-button.is-active span{
	opacity: 0;
}

.nav-button.is-active::before{
	transform: translate(4px, -1px) rotate(45deg);
}

.nav-button.is-active::after{
	transform: translate(4px, 0px) rotate(-45deg);
}


/*nav*/
.nav{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #bce1bb;
	display: grid;
	place-content: center;
	font-size: 1.3em;
	font-weight: bold;
	text-align: center;
	margin-left: 100%;
	z-index: 2;
	transition: ease .3s;
}

.nav ul{
	list-style: none;
	padding: 0;
	width: 100vw;
	height: 100vh;
}

.nav li{
	height: 10%;
	border-bottom: 3px dotted #fffad8;
}

.nav li:last-child{
	border: none;
}

.nav a{
	color: #283e27;
	text-decoration: none;
	padding: 3px 20px;
	display: grid;
	place-content: center;
	width: 100%;
	height: 100%;
	font-size: 1.1em;
}

.nav a:hover{
	background-color: #538051;
	color: #f9f2be;
}

.nav.is-active{
	margin: 0;
}


/*mainimgwrap*/
.mainimgwrap,.catchcopy{
	position: relative;
	width: 100%;
	aspect-ratio: 2/3;
}

.mainimgwrap{
	margin-bottom: 30px;	
}

.mainimg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	animation: fadeInImage 15s infinite;
	opacity: 0;
}

.mainimg:nth-child(2){
	animation-delay: 5s;
}

.mainimg:nth-child(3){
	animation-delay: 10s;
}

.mainimg img{
	width: 100%;
	height: 100%;
}

.catchcopy{
	width: 100%;
	display: grid;
	place-content: center;
}

.catchcopy p{
	font-size: 2em;
	background: rgba(255, 255, 255, .75);
	padding: 5px 21px;
	font-weight: bold;
	border-radius: 11px;
}

@keyframes fadeInImage{
	0%{
		opacity: 0;
	}
	10%{
		opacity: 1;
	}
	33%{
		opacity: 1;
	}
	43%{
		opacity: 0;
	}
	100%{
		opacity: 0;
	}
}

.main{
	padding: 0 5%;
}

.section, .q-container{
	padding: 5%;
	border-radius: 10px;
	margin: 30px 0;
}

.section{
	background-color: #fffad8;
}

.section img{
	border-radius: 8px;
}

.h2{
	margin: 10px 0 30px 0;
	border-bottom: 4px solid #f4cc6e;
	padding-left: 10px;
	display: flex;
	align-items: flex-start;
}

.h2img{
	display: grid;
	place-content: center;
	height: 1.5em;
	width: 1.5em;
	margin-top: 0.2em;
	margin-right: 0.5em;
}

.h2img img{
	width: 100%;
	height: 100%;
}

.footer{
	margin-top: 20px;
	background-color: #486646;
	padding-top: 10px;
	padding-bottom: 8px;
}

.footer-logo{
	width: 40%;
	margin: 0 auto;
	display: block;
}

.footer-img{
	width: 100%;
	height: auto;
}

.copy{
	text-align: center;
	color: #fff;
	margin-top: 8px;
	margin-bottom: 0;
}


/*quiz*/
.quiz-main .h2{
	font-size: 1.4em;
}

.quiz-detail{
	border: 2px solid #f4cc6e;
	border-radius: 8px;
	padding: 5px;
	cursor: pointer;
}

.quiz-ans{
	font-size: 1.1em;
	font-weight: bold;
}


/*kids*/
.kids-main{
	font-size: 1.2em;
}

.kids-main .h2{
	font-size: 1.6rem;
}

.kids-catch p{
	padding: 24px 21px 5px 21px;
}

.kids-main .h2{
	padding-top: 10px;
	align-items: baseline;
	flex-wrap: wrap;
}

.kids-main .detail{
	line-height: 2.4;
}


/*question*/
.q-container{
	background-color: #dbdbdb78;
}

.q-dt, .q-ans{
	width: 80%;
	padding: 20px;
}

.q-dt + .q-ans{
	margin: 20px 0;
}

.q-dt{
	background-color: #ecc978;
	margin-left: 20%;
	margin-top: 84px;
	border-radius: 20px 0 20px 20px;
	font-size: 1.3em;
	font-weight: 600;
}

.q-container .q-part:first-child .q-dt{
	margin-top: 30px;
}

.q-dd{
	display: flex;
	margin-left: 0;
	margin-top: 20px;
}

.qicon{
	width: 40px;
	height: 40px;
	border-radius: 50%;
	margin-right: 10px;
}

.q-ans{
	background-color: #fffad8;
	border-radius: 0 20px 20px 20px;
}

@media screen and (min-width:480px) and (max-width:849px) {
	.logo{
		width: 22%;
	}
}

@media screen and (min-width:500px) and (max-width:849px) {
	.header{
		height: 17vh;
	}
	.mainimgwrap,
	.catchcopy{
		height: 600px;
	}
	
	.catchcopy p{
		font-size: 3em;
	}
	.main{
		padding: 10%;
	}
	.section,.q-container{
		padding: 5%;
	}
	.section{
		margin: 80px 0;
	}
	.section:first-child{
		margin-top: 0;
	}
	.section:last-child{
		margin-bottom: 0;
	}
}


/*pc*/
@media screen and (min-width:850px){
	.pcflex,.kind-main,.insect-main{
		display: flex;
		align-items: flex-start;
		justify-content: space-around;
		flex-wrap: wrap;
	}
	.kind-main{
		justify-content: space-between;
	}

	.pcflex img{
		width: 45%;
	}
	
	.pcflex .detail{
		width: 45%;
		margin: 0;
	}
	
	.row-section:nth-child(even) .pcflex{
		flex-direction: row-reverse;
	}
	
	.button{
		width: 40%;
	}
		
	
	/*header*/
	.header{
		height: 140px;
	}
	
	.logo{
		width: 16%;
	}
	
	.nav-button{
		top: 40px;
		right: 40px;
	}
	
	.nav a{
		font-size: 1.2em;
	}
	
	.mainimgwrap,
	.catchcopy{
		height: 600px;
	}
	
	.catchcopy p{
		font-size: 3em;
	}
	
	
	/*main*/
	.main{
		padding: 0 10%;
	}
	
	.section{
		padding: 30px 60px;
		margin: 80px 0;
	}
	
	
	/*footer*/
	.footer-logo{
		width: 15%;
	}
	
	
	/*quiz*/
		.pcflex .quiz-detail{
		width: 45%;
	}
	
	.quiz-section p{
		width: 45%;
		margin: 0;
	}

	
	/*question*/
	.q-dt{
		margin-left: 15%;
		margin-top: 100px;
		color: #6c5100;
	}
	
	.q-dd{
		margin-left: 5%;
		margin-top: 35px;
	}
	
	
	/*kind*/
	.kind-main .section,
	.insect-main .section{
		width: 46%;
	}

	
	/*kids*/
	.kids-catch p{
		padding: 20px 33px 0;
	}
	
	.kids-main .h2{
		font-size: revert;
	}
}