@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Yuji+Syuku&display=swap');

#page_title{
	width:min(100%,1240px);
	padding:0 20px;
	margin:0 auto 30px auto;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

#content h1{
	width:auto;
	display: inline-block;
	color:var(--blue2);
	margin-bottom:80px;
	margin:0;
	padding:0;
}

#content main #top_cate h2{
	display: none;
	font-size:1.4rem;
	line-height: 1;
	border-bottom: none;
}

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

#top_cate li{
	display: inline-block;
}

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

	レスポンシブ

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

@media screen and (min-width: 981px) {
	#page_title li a{
		position: relative;
	}
	
	#page_title li a:after{
		content:'';
		width:100%;
		height: 3px;
		display: block;
		background-color:var(--blue02);
		position: absolute;
		left:0;
		bottom:-5px;
		 transform-origin: right top;
	  transform: scale(0, 1);
	  transition: transform .2s;
	}
	
	#page_title li:hover a:after{
		transform-origin: left top;
	  transform: scale(1, 1);
	}

}

@media screen and (max-width: 430px) {
	#top_cate{
		position: relative;
	}

	#content main #top_cate h2{
		display: flex;
		justify-content: flex-end;
		align-items: center;
		line-height: 1;
		margin-bottom:0;
		gap:10px;
	}
	
	#content main #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 ul{
		/*display: inline-block;*/
		display: none;
		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);
		text-align: left;
		font-size:1.4rem;
	}
	
	#top_cate li{
		display: block;
		 white-space: nowrap;
	}
}

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



	一覧



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

#content main section#mamber_list{
display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60px 30px;
	padding:150px 20px 0 20px;
	margin:0 auto;
}

#content main#people section#mamber_list{
	padding:50px 20px 0 20px;
}

#content main section#mamber_list a{
	display: block;
}

#content main section#mamber_list .photo{
	width:100%;
	aspect-ratio: 38 / 47;
	line-height: 30px;
	position: relative;
	color:#fff;
	border-radius: 5px;
	  /*text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);*/
}

#content main section#mamber_list .photo img{
	width:100%;
	height: 100%;
	object-fit: cover;
	object-position: bottom;
	border-radius: 5px;
	position: relative;
	z-index: 1;
}

#content main section#mamber_list .cat{
	font-weight: 900;
	font-size: 1.8rem;
	color: #fff;
	height: auto;
	position: absolute;
	right:10px;
	top:10px;
	z-index: 999;
	padding: 10px 5px;
	border: 2px solid #fff;
	border-radius: 5px;
	writing-mode: vertical-rl;
	text-orientation: upright;
	letter-spacing: 3px;
text-shadow: 0 1px 1px rgba(0,0,0,0.5);
}


#content main section#mamber_list a .name_jp{
	margin-top:10px;
}

#content main section#mamber_list a .name_en{
	font-family: "sofia-pro", sans-serif;
  color: #b3bdce;
  font-size: 1.5rem;
}

#content main section#mamber_list a .department,
#content main section#mamber_list a .year{
	font-size:1.4rem;
	display: inline-block;
}

#content main section#mamber_list a .year::before{
	content: "／";
	font-weight: 400;
	padding:0 5px;
}
#content main section#mamber_list a h3{
	width:100%;
	font-weight: 700;
	font-size:2.0rem;
	padding:0 20px;
	position: absolute;
	z-index: 2;
	bottom: 20px;
	left: 0;
	color: #fff;
	line-height: 1.25;
	font-feature-settings: "palt" 1;
	letter-spacing: 2px;
		text-shadow: 0 1px 1px rgba(0,0,0,0.5);
}



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

	レスポンシブ

---------------------------------------*/
@media screen and (min-width: 981px) {
	#content main section#mamber_list .photo{
		overflow: hidden;
	}
	
	#content main section#mamber_list a:hover{
		opacity: 0.6;
		transition: 0.3s;
	}

	#content main section#mamber_list a:hover .photo img{
	 	transform: scale(1.05);
		transition: 0.3s;
	}
}

@media screen and (min-width:781px) and (max-width: 980px) {
	#content main section#mamber_list{
	 gap: 6vw 2vw;	
	}
}

@media screen and (min-width:431px) and (max-width: 780px) {
	#content main section#mamber_list{
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width:430px){
	#content main section#mamber_list{
		width:100%;
		padding:70px 20px 0 20px;
		display: flex;
		flex-direction: column;
		gap:40px;
	}
	
	#content main#people section#mamber_list{
		padding:30px 20px 0 20px;
	}

	
	#content main section#mamber_list a{
		width: 100%;
	}
	
	#content main section#mamber_list h3{
		font-size:1.8rem;
	}
	
	#content main section#mamber_list a .year::before{
		content: none;
	}
}

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



	詳細ページ



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

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

#content main#mamber_shingle section{
	width:min(100%,1200px);
	padding:0;
}

main#mamber_shingle .en_name{
	font-family: "sofia-pro", sans-serif;
}

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


	メインビジュアル


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

#content main#mamber_shingle h1{
	width:calc(100% - 50px);
	margin:0;
	font-size:3rem;
	font-weight: 700;
	line-height: normal;
	position: absolute;
	left:50px;
	bottom:30px;
}

#content main section#member_photo{
	width:min(100%,1200px);
	aspect-ratio: 16 / 9;
	position: relative;
	padding:0;
}

#member_photo img{
	width:100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
	border-radius: 10px;
}

#member_inner{
	width:100%;
	height: 100%;
	position: absolute;
	top:0;
	left:0;
	background-color: rgba(174,174,174,0.05);
	color:#fff;
	filter: drop-shadow(1px 1px 0 rgba(0, 0, 0, 0.6));
}

#member_department{
	display:flex;
	flex-direction: column;
	height: auto;
	gap:20px;
	position: absolute;
	top:30px;
	right:30px;
	color:#fff;
}

member_department .cat,
#member_department .profile{
	writing-mode: vertical-rl;
	text-orientation: upright;
}

#member_department .cat{
	width:100%;
	border:2px solid #fff;
	border-radius: 5px;
	padding:15px 0;
	text-align: center;
	font-size:3rem;
	writing-mode: vertical-rl;
	text-orientation: upright;
	display: flex;
	justify-content: center;
	align-items: center;
}

#member_department .profile{
	line-height: 1.4;
	font-size:1.3rem;
}

#member_department .name{
	font-size:2.4rem;
}

#member_department .en_name{
	font-size:1.5rem;
	text-orientation: mixed;
}

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


	メイン部分


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

#content main#mamber_shingle section#intro{
	display: flex;
	align-items: flex-start;
	padding:100px 0;
	position: relative;
	gap:100px;
}

#profile{
	width:300px;
	font-size:1.4rem;
	position:sticky;
	top:150px;
	left:0;
}

#profile .photo{
	width:300px;
	aspect-ratio: 1 / 1;
	line-height: 0;
	border-radius: 5px;
	margin-bottom:10px;
}

#profile .photo img{
	background-color: brown;
	width:100%;
	height: 100%;
	object-fit: cover;
	border-radius: 5px;
}

#profile .en_name{
	color:var(--gray_text);
	 font-family: "sofia-pro", sans-serif;
  font-weight: 700;
}

#profile .department,
#profile .year{
	font-size:1.3rem;
}

#profile .year::before{
	content:'／';
	color:var(--gray_text);
}

#profile_cachi{
	margin-top:20px;
	color:var(--gray_text);
}

#content_main{
	flex:1;
	line-height: 2;
}

#content_main h3{
	font-size:2.2rem;
	margin:50px 0;
}

#content_main img{
	max-width: 100%;
	height: auto;
	border-radius: 5px;
	margin:50px 0;
	vertical-align: top;
}