@charset "utf-8";
/*------------------------


	一覧


------------------------*/
main#newslist{
	width:min(100%,1240px);
	margin:0 auto;
	padding:50px 20px;
}

/*------------------------

	タイトル

------------------------*/

#page_title{
	width:100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

#content #page_title h1{
	width:auto;
	display: inline-block;
	margin: 0;
	font-weight: bold;
}

#top_cate{
	display: flex;
	justify-content: flex-end;
	gap:30px;
	font-size:1.8rem;
}

#top_cate h2{
	display: none;
}

#top_cate ul{
	display: flex;
	justify-content: flex-end;
	gap:30px;
}

#top_cate li{
	display: inline-block;
	font-family:var(--english);
}

/*---------------------------------------

	レスポンシブ

---------------------------------------*/

@media screen and (min-width: 431px) {
	#top_cate li:not(.active) a{
		color:var(--gray_text);
	}
	
	#top_cate li.active a{
		pointer-events: none;
	}
}

@media screen and (min-width: 980px) {
	
	#top_cate li:not(.active) a{
		transform: 0.3s;
	}
	
	#top_cate li:not(.active) a:hover{
		color:var(--blue02);
	}
}
@media screen and (max-width: 430px) {
	#top_cate{
		display: inline-block;
		position: relative;
		font-size:1.4rem;
	}
	
	#top_cate h2{
		display: inline-flex;
		align-items: center;
		gap:10px;
		font-weight: 700;
		font-size:1.4rem;
		border-bottom: none;
		margin-bottom:0;
		line-height: 1;
	}
	
	#top_cate h2::after{
		font: var(--fa-font-solid);
		content: "\f0d7";
		font-size:1.3rem;
	}
	
	#content main #top_cate h2.act::after{
		transform: scaleY(-1);
	}
	
	
	#top_cate h2.open::after{
		font: var(--fa-font-solid); 
		content: "\f0d7";
		font-size:1.3rem;
	}
	#top_cate ul{
		display: inline-block;
		position: absolute;
		top:calc(1.45rem + 10px);
		right:-10px;
		z-index: 20;
		padding:10px 15px;
		background-color: #fff;
		border-radius: 3px;
		  box-shadow: 2px 2px 7px 0px rgba(0, 0, 0, 0.45);
		font-size:1.4rem;
	}
	
	#top_cate li{
		display: block;
		 white-space: nowrap;
	}
}
/*------------------------

	一覧

------------------------*/

#news_list{
	padding:50px 0;
}

#news_list ul{
	width:100%;
	display: grid;
	/*grid-template-columns: repeat(auto-fit, min(1fr,280px));*/
	grid-template-columns: repeat(4, minmax(200px, 1fr));
	justify-content:space-between;
	gap:50px 30px;
}


#news_list li a{
	width:100%;
	display: block;
}

#news_list li .list_photo{
	width:100%;
	aspect-ratio: 28 / 19;
	position: relative;
	line-height: 0;
	border-radius: 5px;
	overflow: hidden;
}

#news_list li .list_photo img{
	width:100%;
	height: 100%;
	object-fit: cover;
}


#news_list .list_photo span{
	position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  font-family: "sofia-pro", sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #fff;
  height: 30px;
  background: #02245d;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0px 10px 4px;
  border-radius: 5px 0px 5px 0px;
}


#news_list .list_photo span.event {
  background: #C75C18;
}

#news_list .list_photo span.topics {
  background: #468D49;
}

#news_list .list_photo span.news-release {
  background: #1B7FC9;
}


#news_list li .text{
	margin:10px 0;
	font-weight: 600;
	font-size:1.5rem;
}

#news_list li p.date{
	color: #a7a7a7;
	  font-family: "sofia-pro", sans-serif;
	  font-weight: 700;
	  font-size: 15px;
	  /*margin-top: 10px;*/
}

/*---------------------------------------

	レスポンシブ

---------------------------------------*/
@media screen and (min-width: 981px) {
	#news_list li a:hover{
		opacity: 0.5;
		transition: 0.3s;
	}
	#news_list li a:hover .list_photo img{
		transform: scale(1.05);
		opacity: 0.7;
		transition: 0.3s;
	}
}

@media screen and (min-width: 431px) and (max-width: 980px) {
	#news_list ul{
		grid-template-columns: repeat(3, minmax(200px, 1fr));
	}
}

@media screen and (max-width: 430px){
	#news_list ul{
		display: block;
	}
	
	#news_list li{
		width:100%;
		margin-bottom:20px;
	}
}

/*------------------------------------------------



	記事



------------------------------------------------*/

main#news_single{
	width:min(100%,900px);
	margin:0 auto;
	padding:50px 0;
}

#content main#news_single section{
	padding:0;
}
#news_single_title h1{
	margin-bottom:0;
}
#news_single_date{
	font-family: "sofia-pro", sans-serif;
	font-size:1.5rem;
	color:var(--gray_text);
	margin-top:10px;
}

#content main#news_single section#news_single_chachiphoto{
	width:100%;
	margin:50px 0;
	padding:0;
}

#news_single_chachiphoto img{
	width:100%;
	height: 100%;
	aspect-ratio: 16 / 9;
  object-fit: cover;
	border-radius: 8px;
}

#news_single_chachiphoto .center{
	object-position:center;
}

#news_single_chachiphoto .top{
	object-position:top;
}

#news_single_chachiphoto .bottom{
	object-position:bottom;
}

#news_single_content{
	line-height: 2;
}

#news_single_content img{
	border-radius: 5px;
	max-width:100%;
	height: auto;
}

#pre{
	width:100%;
	margin-top:50px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#pre .new,
#pre .old{
	display: inline-flex;
	align-items: center;
	gap:20px;
}

#pre .new::after,
#pre .old::before{
	font: var(--fa-font-solid);
	content: "\f105";
}

#pre .old::before{
	 transform: scaleX(-1);
}

/*---------------------------------------

	レスポンシブ

---------------------------------------*/
@media screen and (max-width: 980px) {
	#news_single_date{
		padding:0 20px;
	}
	section#news_single_content{
		padding:0 20px;
	}
	
	#news_single_chachiphoto img{
		border-radius: 0;
	}
	
	#news_single_chachiphoto img{
		aspect-ratio: 16 / 10;
	}
}


/*-------------------------------------------


		鯨の王様

-------------------------------------------*/

#shop{
	width:100%;
	margin-top:50px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap:10px 30px;	
}

#shopphoto{
	flex:1;
	max-width: 310px;
}

#shopphoto img{
	width:100%;
	height: auto;
	border-radius: 5px;
}
#shopinfo{
	display: inline-block;	
}

#shopinfo .name_japanese{
	font-family: "Zen Old Mincho", serif;
	font-weight: 500; 
	font-size:35px;
	line-height: 1.4;
}

#shopinfo .name_english{
	 font-family: "Libertinus Serif Display", system-ui;
  font-weight: 400;
	font-size:40px;
	line-height: 1.4;
	margin-bottom: 30px;
}

#king #meal{
	margin-top:20px;
	width:100%;
	display: flex;
	gap:5px;
}

#king #meal li{
	flex:1;
	line-height: 0;
}

#king #meal li img{
	width: 100%;
	height: auto;
	border-radius: 5px;
}
#king #map{
	width:100%;
	aspect-ratio:9/6;
	margin-top:20px;
}

#king #map iframe {
	width:100%;
	height: 100%;
	border-radius: 10px;
}

@media screen and (max-width: 430px) {
	#shop{
		flex-direction: column;
	}
	
	#shopphoto{
		flex:none;
		width:100%;
		max-width: 100%;
		order:2;
	}
	
	#shopinfo{
		order:1;
	}
	
	#king #meal{
		flex-wrap: wrap;
		margin-top:5px;
	}
	
	#king #meal li{
		flex:none;
		width:calc(50% - 5px);
		line-height: 0;
	}

	#king #map{
		width:100%;
		aspect-ratio:6/9;
	}
}

