html { scroll-behavior: smooth;}

body {
	background-color: #E8ABD3;

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


.header-img{
	padding-top: 5%;
	padding-bottom: 5%;
	margin: auto;
	text-align: center;

}

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


.lastupdate{
	display: none;

	text-align: center;
	color: white;

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


.tag{
	background-image: linear-gradient(0deg, #b16e99,#dcb6d6);
	border-radius: 50px;

	text-align: center;
	margin: auto;
	width: 50%;
	max-height: 60%;

	height: auto;
	


}

.tag h1{
	color: white;

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

	padding: 15px;
}

.tag ul{
	text-align: center;

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

	justify-content: center;

	

}


.tag li{
	color: white;

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


	background-color:darkslateblue;

	margin: 20px;

	padding-top:10px;
	padding-bottom: 10px;
	padding-left: 30px;
	padding-right: 30px;

	border-bottom: 5px solid #1f0c16;

	border-radius: 50px;

	transition-duration: 0.3s;
	
}

.tag li:hover{

 	padding-top: 13px;
	
	cursor: pointer;
	border-bottom: 1px solid #331425;



}


.tag select{
	

	margin-top: 3%;
	margin-bottom: 5%;
	width: 30%;
	height: 10%;

	text-align: center;
	
	cursor: pointer;

	background-color:darkslateblue;
	color:white;

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

	border-radius: 50px;


}

@media (max-width: 800px) {

	.tag{
		background-image: linear-gradient(0deg, #b16e99,#dcb6d6);
		border-radius: 50px;

		text-align: center;
		margin: auto;
		width: 80%;
		max-height: 50%;

		overflow: auto;


	}

	.tag select{
	

		margin-top: 3%;
		margin-bottom: 5%;
		width: 50%;
		height: 10%;

		text-align: center;
		
		cursor: pointer;

		background-color:darkslateblue;
		color:white;

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

		border-radius: 50px;


	}

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


}

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

	.tag{
		background-image: linear-gradient(0deg, #b16e99,#dcb6d6);
		border-radius: 50px;

		text-align: center;
		margin: auto;
		width: 80%;
		max-height: 50%;

		overflow: auto;


	}

	.tag select{
	

		margin-top: 3%;
		margin-bottom: 5%;
		width: 50%;
		height: 10%;

		text-align: center;
		
		cursor: pointer;

		background-color:darkslateblue;
		color:white;

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

		border-radius: 50px;


	}

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





.gallery{
	text-align: center;

	width: 70%;
	padding-top: 3%;

	margin: auto;
}

.gallery ul{

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

	justify-content: center;

}





.gallery li{
	

	margin-top:19px;
	margin-right:19px;
	margin-bottom:19px;
	width:300px;
	height:300px;


	

	list-style: none;
	display:inline-block;

	overflow: hidden;

	border-radius: 50px;

	transition: 0.3s;


	
}


.gallery img{


	width: 100%;
	height: 300px;

	object-fit: cover;

	transition: 0.3s;

	transform: scale(1.0);
	
}

.gallery li:hover{
	transform: scale(0.95);
}

.gallery img:hover{

	opacity: 0.30;
	cursor: pointer;
	transform: scale(1.1);
}


#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 (max-width: 800px) {
	.gallery{
	text-align: center;

	width: 90%;
	padding-top: 3%;

	margin: auto;
	}



	.gallery li{

		margin-top:19px;
		margin-right:20px;
		margin-bottom:19px;
		width:160px;
		height:160px;
		

		list-style: none;
		display:inline-block;

		overflow: hidden;

		border-radius: 50px;

		transition: 0.3s;


		
	}

	.gallery img{


	width: 100%;
	height: 160px;

	object-fit: cover;

	transition: 0.3s;

	transform: scale(1.0);
	
	}

}

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

	.gallery{
		text-align: center;

		width: 80%;
		padding-top: 3%;

		margin: auto;
		}



		.gallery li{

			margin-top:19px;
			margin-right:20px;
			margin-bottom:19px;
			width:200px;
			height:200px;
			

			list-style: none;
			display:inline-block;

			overflow: hidden;

			border-radius: 50px;

			transition: 0.3s;


			
		}

		.gallery img{


		width: 100%;
		height: 200px;

		object-fit: cover;

		transition: 0.3s;

		transform: scale(1.0);
		
		}


}











.over {
	
	display: none;
   
	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;
	

	
}

.img-up img:hover{
	cursor: pointer;

	opacity: 0.8;

	border-radius: 30px;
}


.gaiyo{

	max-height: 25%;

	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;
}


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




@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: 50vh; 

		
		/* ✅ 縮まないように min-width: 0 を維持 */
		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: auto;
		
		max-height: 40vh; /* 例: 画像の下に十分なスペースを残しつつ制限 */
        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: nowrap;
		font-family: "Kaisei Opti", serif;
		font-size: 14px;
		font-style: 400;
	}


	

}


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


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

			opacity: 1;


			display: flex;
			align-items: flex-start;
			justify-content: flex-start;

			
			padding-top: auto;
			padding-right: 40%;


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

}





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


	position: absolute;
	width: 55px;
	


	top:10%;
	right: 10%;
}

.close img{
	transition: 0.3s;
}

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








@media (max-width: 800px) {

	.close {


			position: absolute;
			width: 60px;
			


			top:10%;
			right: 10%;
		}


}

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

		.close {


			position: absolute;
			width: 65px;
			


			top:10%;
			right: 10%;
		}

	

}