@charset "utf-8";
/* CSS Document */
.media-page{
	background:#050505;
	color:#fff;
}

.media-header{
	min-height:70vh;
	padding:80px 8% 100px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	background:
		linear-gradient(
			to bottom,
			rgba(0,0,0,.35),
			rgba(0,0,0,.9)
		),
		url('../images/top_back.jpg') center center / cover no-repeat;
}

.media-header h1{
	font-size:clamp(54px, 10vw, 150px);
	font-weight:normal;
	letter-spacing:.18em;
	line-height:1;
}

.media-header p{
	margin-top:28px;
	line-height:2;
	letter-spacing:.18em;
	opacity:.75;
}

.media-main{
	padding:100px 8% 140px;
}

.media-section{
	max-width:1300px;
	margin:0 auto 150px;
}

.media-section h2{
	font-size:clamp(28px, 3vw, 48px);
	font-weight:normal;
	letter-spacing:.18em;
	margin-bottom:45px;
}

.portfolio-grid{
	display:grid;
	grid-template-columns:repeat(12, 1fr);
	gap:28px;
}

.portfolio-card{
	grid-column:span 6;
	background:#0c0c0c;
	border:1px solid rgba(255,255,255,.08);
	overflow:hidden;
}

.portfolio-card.large{
	grid-column:span 12;
}

.portfolio-card a{
	color:#fff;
	text-decoration:none;
	display:block;
}

.thumb{
	position:relative;
	aspect-ratio:16 / 10;
	background:#111;
	overflow:hidden;
}

.portfolio-card.large .thumb{
	aspect-ratio:16 / 7;
}

.thumb img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	transition:transform 1.2s ease, opacity .6s ease;
	opacity:.82;
}

.portfolio-card:hover img{
	transform:scale(1.04);
	opacity:1;
}

.card-text{
	padding:26px;
}

.card-text span{
	display:block;
	font-size:11px;
	letter-spacing:.28em;
	opacity:.55;
	margin-bottom:12px;
}

.card-text h3{
	font-weight:normal;
	font-size:22px;
	letter-spacing:.12em;
	margin-bottom:10px;
}

.card-text p{
	font-size:13px;
	line-height:1.8;
	opacity:.7;
}

.archive-list{
	border-top:1px solid rgba(255,255,255,.18);
}

.archive-item{
	border-bottom:1px solid rgba(255,255,255,.18);
}

.archive-item summary{
	list-style:none;
	cursor:pointer;
	padding:24px 0;
	display:flex;
	gap:28px;
	align-items:center;
}

.archive-item summary::-webkit-details-marker{
	display:none;
}

.archive-date{
	font-size:13px;
	letter-spacing:.14em;
	opacity:.55;
	min-width:110px;
}

.archive-title{
	font-size:15px;
	letter-spacing:.08em;
}

.archive-body{
	padding:0 0 28px 138px;
	line-height:2;
	font-size:14px;
	opacity:.8;
}

.media-modal-open{
	width:100%;
	border:0;
	padding:0;
	background:none;
	color:#fff;
	text-align:left;
	cursor:pointer;
	font-family:inherit;
}

.play-mark{
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	z-index:3;
	border:1px solid rgba(255,255,255,.65);
	padding:12px 28px;
	font-size:11px;
	letter-spacing:.35em;
	background:rgba(0,0,0,.22);
	backdrop-filter:blur(4px);
}

.play-mark,
.sound-badge{
	opacity:0;
	transition:opacity .35s ease;
}

.portfolio-card:hover .play-mark,
.portfolio-card:hover .sound-badge{
	opacity:1;
}

.sound-notice{
	display:none;
	margin:0 0 14px;
	font-size:12px;
	letter-spacing:.12em;
	color:rgba(255,255,255,.72);
	text-align:left;
}

.media-modal{
	position:fixed;
	inset:0;
	z-index:9999;
	display:none;
	align-items:center;
	justify-content:center;
	padding:5vw;
}

.media-modal.show{
	display:flex;
}

.media-modal-bg{
	position:absolute;
	inset:0;
	background:rgba(0,0,0,.88);
	backdrop-filter:blur(6px);
}

.media-modal-inner{
	position:relative;
	z-index:2;
	width:min(1100px, 100%);
}

.media-modal-close{
	display:block;
	margin:0 0 18px auto;
	border:1px solid rgba(255,255,255,.45);
	background:transparent;
	color:#fff;
	padding:10px 18px;
	font-size:11px;
	letter-spacing:.25em;
	cursor:pointer;
}

.media-modal video{
	width:100%;
	max-height:78vh;
	background:#000;
	display:block;
}

#mediaModalImage{
	display:none;
	width:100%;
	max-height:85vh;
	object-fit:contain;
	background:#000;
}

#mediaModalVideo{
	display:none;
}

@media screen and (max-width:768px){

	.media-main{
		padding:70px 0 100px;
	}

	.media-section{
		width:100%;
		max-width:100%;
		margin:0 auto 100px;
		padding:0 7%;
		box-sizing:border-box;
	}

	.portfolio-grid{
		display:block;
		width:100%;
	}

	.portfolio-card,
	.portfolio-card.large{
		width:100%;
		max-width:100%;
		margin:0 0 28px;
		box-sizing:border-box;
	}

	.media-modal-open{
		display:block;
		width:100%;
	}

	.portfolio-card.large .thumb,
	.thumb{
		aspect-ratio:4 / 5;
	}
	
	/* 画像カードは縦長 */
	.thumb{
		aspect-ratio:4 / 5;
	}
	
	/* 動画カードは横長を維持 */
	.portfolio-card.large .thumb.movie{
		aspect-ratio:16 / 9;
	}
	
	.portfolio-card.large .thumb.movie img{
		object-fit:cover;
		object-position:center center;
	}
	
	.play-mark{
		max-width:80%;
		box-sizing:border-box;
	}

	.card-text{
		padding:22px;
	}

	.archive-item summary{
		display:block;
		padding:22px 0;
	}

	.archive-date{
		display:block;
		min-width:0;
		margin-bottom:8px;
	}

	.archive-body{
		padding:0 0 26px;
	}
}