/* --- 開催レポート（結果発表 › ○○ 開催レポート） --- */

/* PC だけの改行（全体の .only_pc は block なので、改行の br は inline に） */
br.only_pc { display: none; }
@media only screen and (min-width: 738px) { br.only_pc { display: inline; } }

/* 全体の CSS は img の下に余白（30〜40px）を付けるので、このページの写真は 0 に */
.report_hero img,
.report_photos img,
.report_closing img { margin-bottom: 0; }

/* ===== ヒーロー ===== */
.report_hero {
	position: relative;
	margin: 0 0 40px;
	border-radius: 16px;
	overflow: hidden;
}
.report_hero img {
	display: block;
	width: 100%;
	height: 480px;
	object-fit: cover;
	object-position: center 40%;
}
.report_hero:after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 60%;
	background: linear-gradient(to top, rgba(22, 40, 79, 0.85), rgba(22, 40, 79, 0.35) 55%, rgba(22, 40, 79, 0));
	pointer-events: none;
}
.report_hero__text {
	position: absolute;
	left: 5%;
	bottom: 8%;
	z-index: 1;
	color: #ffffff;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}
.report_hero__en {
	margin: 0 0 6px;
	font-family: 'Cinzel', serif;
	font-size: 18px;
	letter-spacing: 0.12em;
	color: #f3e6b1;
}
.report_hero__text h2 {
	margin: 0;
	font-family: 'Noto Serif JP', "Yu Mincho", serif;
	font-size: 38px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.05em;
	color: #ffffff;
}
@media (max-width: 768px) {
	.report_hero img { height: 300px; }
	.report_hero__en { font-size: 14px; }
	.report_hero__text h2 { font-size: 24px; }
}

/* ===== 導入 ===== */
.report_lead {
	text-align: center;
	font-size: 18px;
	line-height: 2;
	margin: 0 auto 10px;
	max-width: 720px;
}
@media (max-width: 768px) {
	.report_lead { font-size: 16px; text-align: left; }
}

/* 理念の囲み（コンクールの魅力のページと同じ形） */
.philosophy_box {
	padding: 38px 32px;
	margin: 45px 0;
	text-align: center;
	position: relative;
}
.background_box.beige.philosophy_box:before,
.background_box.beige.philosophy_box:after {
	content: "";
	display: block;
	width: 240px;
	height: 1px;
	background: linear-gradient(to right, transparent, #C9A85D, transparent);
	margin: 25px auto;
}
.philosophy_box p { margin: 10px 0; line-height: 1.9; }
.philosophy_main { font-size: 18px; font-weight: bold; margin: 18px 0; }
@media (max-width: 768px) {
	.philosophy_box { padding: 28px 18px; }
}

/* ===== 数字 ===== */
.report_numbers {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin: 0 0 60px;
	padding: 0;
	list-style: none;
}
.report_numbers li {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 24px 10px 20px;
	background: var(--color-base-ivory);
	border-top: 3px solid var(--color-accent-gold);
	border-radius: 0 0 12px 12px;
	text-align: center;
}
.report_numbers__value {
	font-family: 'Cinzel', serif;
	font-size: 44px;
	line-height: 1.1;
	color: var(--color-accent-gold);
}
.report_numbers__unit {
	margin-left: 4px;
	font-family: 'Noto Serif JP', serif;
	font-size: 16px;
	color: var(--color-brown-dark);
}
.report_numbers__label {
	margin-top: 10px;
	font-size: 13px;
	line-height: 1.6;
	color: var(--color-brown-dark);
}
@media (max-width: 768px) {
	.report_numbers { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.report_numbers__value { font-size: 34px; }
	.report_numbers__label { font-size: 12px; }
}

/* ===== 本文 ===== */
.report_text { margin: 0 0 24px; }
.report_text p,
.report_row__text p { line-height: 1.95; margin: 0 0 16px; }

/* ===== 写真 ===== */
.report_photos {
	display: grid;
	gap: 14px;
	margin: 0 0 60px;
}
.report_photos--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.report_photos--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 8px; }
.report_photos figure { margin: 0; }
.report_photos img {
	display: block;
	width: 100%;
	height: 260px;
	object-fit: cover;
	border-radius: 12px;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06);
}
.report_photos figcaption,
.report_caption {
	margin-top: 8px;
	font-size: 13px;
	color: #7a6a58;
	text-align: center;
}
.report_caption { margin: 0 0 60px; }
@media (max-width: 768px) {
	.report_photos img { height: 180px; }
}

/* ===== 文と写真の横並び ===== */
.report_row {
	display: flex;
	align-items: center;
	gap: 28px;
	margin: 0 0 60px;
}
.report_row--reverse { flex-direction: row-reverse; }
.report_row__text { flex: 1 1 0; min-width: 0; }
.report_row__photos { flex: 1 1 0; min-width: 0; margin: 0; }
.report_row__photos img { height: 300px; }
@media (max-width: 768px) {
	.report_row,
	.report_row--reverse { flex-direction: column; align-items: stretch; gap: 16px; }
	.report_row__photos img { height: 220px; }
}

/* ===== ボタン ===== */
.report_buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0 16px;
	margin: 0 0 40px;
}
@media (max-width: 768px) {
	.report_buttons { flex-direction: column; align-items: center; }
	.report_buttons .filled_button { min-width: 260px; }
}

/* ===== 結び ===== */
.report_closing { margin: 20px 0 0; }
.report_closing img {
	display: block;
	width: 100%;
	height: 340px;
	object-fit: cover;
	border-radius: 16px;
}
@media (max-width: 768px) {
	.report_closing img { height: 220px; }
}

/* 講評と表彰: 話す先生の写真を広く・トロフィーを狭く */
.report_photos--wide { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); margin-bottom: 24px; }
.report_photos--wide img { height: 300px; }
@media (max-width: 768px) {
	.report_photos--wide { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
	.report_photos--wide img { height: 200px; }
}

/* 手書きのメッセージカード（4 枚を 2 列に。縦横の比をそろえる） */
.report_cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 0 0 8px;
}
.report_cards figure { margin: 0; }
.report_cards img {
	display: block;
	width: 100%;
	aspect-ratio: 9 / 10;
	object-fit: cover;
	margin-bottom: 0;
	border-radius: 8px;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
}

/* 右寄りに写っている人を切らない */
.report_photos img.report_photos__right { object-position: 85% center; }
.report_photos img.report_photos__left { object-position: 20% center; }

/* 横に並んだ人を切らない 1 枚（2 列ぶんの幅で、切り取らない） */
.report_photos .report_photos__full { grid-column: 1 / -1; }
.report_photos .report_photos__full img { height: auto; }

/* 言葉の途中で折り返さない */
.report_nowrap { white-space: nowrap; }

/* 採点票と演奏パーソナルレポートのサンプル（A4 縦を 2 枚並べる。スマホは 1 枚ずつ） */
.report_samples {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	align-items: start;
	margin: 0 0 8px;
}
.report_samples figure { margin: 0; }
.report_samples a { display: block; }
.report_samples img {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 0;
	border: 1px solid #e3dccb;
	border-radius: 4px;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
}
.report_samples figcaption {
	margin-top: 8px;
	font-size: 13px;
	line-height: 1.5;
	color: #7a6a58;
	text-align: center;
}
.report_sample_note {
	margin: 10px 0 36px;
	font-size: 13px;
	color: #8a3324;
	text-align: center;
}
@media (max-width: 768px) {
	.report_samples { grid-template-columns: minmax(0, 1fr); }
	.report_sample_note { text-align: left; }
}
