body {
	background-color: #a0bbab;

	background-image:url("img/back.png");
	background-size:150px;
	
}

.header-img{

	padding-top: 5%;
	padding-bottom: 5%;
	margin: auto;
	text-align: center;

}

.header-img p{
	text-align: center;
	color:white;

	font-family: "Kaisei Opti", serif;
	font-size: 18px;
  	font-style: normal;

}

.header-img img{
	
	margin: auto;
	width: 25%;
}



.search{
	width: 60%;
	height: 10%;
	margin: auto;
	padding: 20px; 

	border-radius: 50px; 
	
	background-color: mediumseagreen;
}

.search input[type=radio]{
	display: none;
}

.search input[type=radio]:checked + label{
	background-color: #d2d0da;
	color:#000000;
}


.search label:hover{
	background-color: #a39cc0;
	color:black;
	cursor: pointer;
}





.search label{
	display: block;
	float:left;
	margin: 5px;
	margin-top: 2%;

	width: 20%;
	height: 45px;
	padding-left: 10px;
	padding-right: 10px;

	color: #ffffff; 
	text-align: center;
	line-height: 45px;
	border: 3px solid #252a72;
	background-color: #252a72;
	border-radius: 50px; 

	font-family: "Kaisei Opti", serif;
	font-size: 22px;

	transition: 0.3s;

}

@media (min-width:801px) and (max-width: 1280px) {
	.search{
		width: 70%;
		height: 10%;
		margin: auto;
		padding: 20px; 

		border-radius: 50px; 
		
		background-color: mediumseagreen;
	}


	.search label{
		display: block;
		float:left;
		margin: 5px;
		margin-top: 3%;

		width: 18%;
		height: 45px;
		padding-left: 10px;
		padding-right: 10px;

		color: #ffffff; 
		text-align: center;
		line-height: 45px;
		border: 3px solid #252a72;
		background-color: #252a72;
		border-radius: 50px; 

		font-family: "Kaisei Opti", serif;
		font-size: 18px;

		transition: 0.3s;

	}
}


@media (max-width: 800px) {

	.search{
		width: 80%;
		height: 10%;
		margin: auto;
		padding: 20px; 

		border-radius: 50px; 
		
		background-color: mediumseagreen;
	}


	.search label{
		display: block;
		float:left;
		margin: 5px;
		margin-top: 3%;

		width: 15%;
		height: 45px;
		padding-left: 10px;
		padding-right: 10px;

		color: #ffffff; 
		text-align: center;
		line-height: 45px;
		border: 3px solid #252a72;
		background-color: #252a72;
		border-radius: 50px; 

		font-family: "Kaisei Opti", serif;
		font-size: 15px;

		transition: 0.3s;

	}

}



.contents{
	text-align: center;
	padding-top: 3%;
	padding-bottom: 3%;

	width: 70%;

	margin: auto;
}


.contents ul{
	list-style: none;

	display: flex;
	flex-wrap: wrap;
	list-style: none;

	justify-content: center;
}

.contents li img{
	background-color:lightgrey;
	width:300px;
	height:300px;

	margin: 5px;

	overflow: hidden;
	border-radius: 50px;

	object-fit: cover;

	transition: 0.3s;
}



.contents li img:hover{
	opacity: 0.5;
	cursor: pointer;

	transform:scale(0.95) ;
}




#no-results{
	text-align: center;
	color:white;

	font-family: "Kaisei Opti", serif;
	font-size: 24px;
  	font-style: normal;

	padding-top: 5%;
	padding-bottom: 10%;

}
@media (min-width:801px) and (max-width: 1280px) {

.contents{
		text-align: center;
		padding-top: 3%;
		padding-bottom: 3%;

		width: 70%;

		margin: auto;
	}

	.contents li img{
		background-color:lightgrey;
		width:200px;
		height:200px;

		margin: 5px;

		overflow: hidden;
		border-radius: 50px;

		object-fit: cover;

		transition: 0.3s;
	}

}


@media (max-width: 800px) {
	.contents{
		text-align: center;
		padding-top: 3%;
		padding-bottom: 3%;

		width: 90%;

		margin: auto;
	}

	.contents li img{
		background-color:lightgrey;
		width:150px;
		height:150px;

		margin: 5px;

		overflow: hidden;
		border-radius: 50px;

		object-fit: cover;

		transition: 0.3s;
	}
}





.over {
	
   
	z-index: 50;

	height: 100vh;
    width: 100%;
    background-color: rgb(0 0 0 / 0.5);
    position: fixed;
    top: 0;
    left: 0;

}



.window{
	

	background-image: linear-gradient(0deg, #dcb6d6, #cf6cba);
	width: 50%;
	border-radius: 100px;

	opacity: 1;


	display: flex;
    flex-direction: row; /* 横並びを明示 */
    align-items: center; /* 垂直方向の中央揃え */
    justify-content: flex-start; /* 水平方向の左寄せ */

	
	padding-right: 40%;


			
	position: absolute;
	top: 5%;
	left: 5%;
	right: 5%;
	bottom: 5%;


	


}


.img-up{

	
	flex: 0 0 70% ; 
    
    max-height: 70vh; 
    
    min-width: 0; 
    margin: auto; /* 垂直方向の中央配置を維持 */

	padding: 3%;

    
    /* 画像をコンテナ内で中央寄せするための Flexbox */
    display: flex; 
    align-items: center; 
    justify-content: center; 


	

	transition-duration: 0.3s;
	

}


.img-up img{
	width: 100%;
	max-height: 100%; 

	min-width: 250px;


  	object-fit: contain;


	opacity: 1;
	border-radius: 0px;

	transition-duration: 0.3s;
	

	
}



.gaiyo{

	max-height: 50%;

	margin-top: auto;
	margin-bottom: auto;
	margin-left: 5%;



	flex-grow: 1;

	color: white;

	

}

.gaiyo h1{
	white-space: nowrap;
	font-family: "Kaisei Opti", serif;
	font-size: 36px;
  	font-style: 700;
}

.gaiyo h2{

	white-space: nowrap;

	font-family: "Kaisei Opti", serif;
	font-size: 24px;
  	font-style: 400;
}

.gaiyo h3{
	white-space: nowrap;
	font-family: "Kaisei Opti", serif;
	font-size: 18px;
  	font-style: 400;
}



.buy{

	background-color: #252a72;

	white-space: nowrap;
	font-family: "Kaisei Opti", serif;
	font-size: 24px;
  	font-style: 400;

	text-align: center;

	margin:auto;
	padding: 10px 150px 10px 150px;

	border-radius: 50px;

	transition-duration: 0.3s;

}

.buy:hover{
	opacity: 0.5;
	cursor: pointer;
}

.window::-webkit-scrollbar{
	display: none;
}


@media (min-width:801px) and (max-width: 1280px) {

.window {
			
			background-image: linear-gradient(0deg, #dcb6d6, #cf6cba);
			width: 50%;
			border-radius: 100px;

			opacity: 1;

			display: inline;

			padding-top: 5%;
			padding-right: 20%;
			padding-left: 20%;

			
			position: absolute;
			top: 5%;
			left: 5%;
			bottom: 5%;

			
			flex-direction: column; 
			overflow: auto; 
			align-items: center;
			justify-content: center;


			
		}

	.img-up{

	
		flex: 1 1 100%; 

		max-height: 80vh; 

		
		min-width: 0; 

		margin-top: auto;
		margin-bottom: auto;


		
		/* 画像をコンテナ内で中央寄せするための Flexbox */
		display: flex; 
		align-items: center; 
		justify-content: center; 

		flex-direction: column; 


		transition-duration: 0.3s;
		

	}

	.img-up img{
		width: 100%;
		max-height: 100%; 

		min-width: 200px;


		object-fit: contain;


		opacity: 1;
		border-radius: 0px;

		transition-duration: 0.3s;
	

	
	}

	.gaiyo{
		flex-basis: 100%; 

		margin-top: 10%;
		margin-bottom: 30%;
		
		max-height: 100vh; /* 例: 画像の下に十分なスペースを残しつつ制限 */
        overflow: hidden; 


		color: white;

	

	}

	.gaiyo h1{
	white-space: normal;
	font-family: "Kaisei Opti", serif;
	font-size: 32px;
  	font-style: 700;
	}
	.gaiyo h2{

	white-space: nowrap;

	font-family: "Kaisei Opti", serif;
	font-size: 20px;
  	font-style: 400;
	}

	.gaiyo h3{
		white-space: normal;
		font-family: "Kaisei Opti", serif;
		font-size: 14px;
		font-style: 400;
	}



	.buy{

	background-color: #252a72;

	white-space: nowrap;
	font-family: "Kaisei Opti", serif;
	font-size: 24px;
  	font-style: 400;

	text-align: center;

	margin:auto;
	padding: 10px 20% 10px 20%;

	border-radius: 50px;

	transition-duration: 0.3s;

	}


}


@media (max-width: 800px) {
	.window {
			
			background-image: linear-gradient(0deg, #dcb6d6, #cf6cba);
			width: 50%;
			border-radius: 100px;

			opacity: 1;

			display: inline;

			padding-top: 5%;
			padding-right: 20%;
			padding-left: 20%;

			
			position: absolute;
			top: 5%;
			left: 5%;
			bottom: 5%;

			
			flex-direction: column; 
			overflow: auto; 
			align-items: center;
			justify-content: center;


			
		}

	.img-up{

	
		flex: 1 1 100%; 

		max-height: 80vh; 

		
		min-width: 0; 

		margin-top: auto;
		margin-bottom: auto;


		
		/* 画像をコンテナ内で中央寄せするための Flexbox */
		display: flex; 
		align-items: center; 
		justify-content: center; 

		flex-direction: column; 


		transition-duration: 0.3s;
		

	}

	.img-up img{
		width: 100%;
		max-height: 100%; 

		min-width: 200px;


		object-fit: contain;


		opacity: 1;
		border-radius: 0px;

		transition-duration: 0.3s;
	

	
	}

	.gaiyo{
		flex-basis: 100%; 

		margin-top: 10%;
		margin-bottom: 30%;
		
		max-height: 100vh; /* 例: 画像の下に十分なスペースを残しつつ制限 */
        overflow: hidden; 


		color: white;

	

	}

	.gaiyo h1{
	white-space: normal;
	font-family: "Kaisei Opti", serif;
	font-size: 32px;
  	font-style: 700;
	}
	.gaiyo h2{

	white-space: nowrap;

	font-family: "Kaisei Opti", serif;
	font-size: 20px;
  	font-style: 400;
	}

	.gaiyo h3{
		white-space: normal;
		font-family: "Kaisei Opti", serif;
		font-size: 14px;
		font-style: 400;
	}



	.buy{

	background-color: #252a72;

	white-space: nowrap;
	font-family: "Kaisei Opti", serif;
	font-size: 24px;
  	font-style: 400;

	text-align: center;

	margin:auto;
	padding: 10px 20% 10px 20%;

	border-radius: 50px;

	transition-duration: 0.3s;

	}

}



/*  閉じるボタンは独立してるんだぜ  */
.close {


	position: absolute;
	width: 55px;
	


	top:10%;
	right: 10%;
}

.close img{
	transition: 0.3s;
}

.close img:hover{
	opacity: 0.3;
	cursor: pointer;
}