@charset "UTF-8";
@media print {
	@page {
		size: A4 landscape;
	}

	/* 印刷時は「幅1600px相当のデスクトップ表示」を前提にレイアウト固定 */
	html,
	body {
		width: 1600px !important;
		min-width: 1600px !important;
	}

	/* 背景色・背景画像を可能な限り印刷に反映 */
	* {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}

	/* 追従（スクロールでセクションを固定表示）を印刷では無効化 */
	.content_wrap {
		height: auto !important;
		min-height: auto !important;
	}
	.content_wrap > div.fixed {
		position: static !important;
		bottom: auto !important;
		left: auto !important;
		right: auto !important;
		margin: 0 !important;
		max-width: none !important;
		transform: none !important;
		z-index: auto !important;
	}
	.content_wrap > div.content:not(.fixed) {
		z-index: auto !important;
	}

	/* #img_list：画像切替なし・背景画像なし・全ページでグレー */
	#img_list {
		display: block !important;
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		width: 532px !important; /* 1600 - 768 - 300 */
		height: 100vh !important;
		background: #e6edf2 !important;
		background-image: none !important;
		background-repeat: no-repeat !important;
		background-position: 0 0 !important;
		background-size: auto !important;
	}
	#img_list ul {
		display: none !important;
	}

	/* 右ナビは表示状態のまま（1600px表示相当）。追従は固定のまま */
	#gnav {
		position: fixed !important;
		top: 0 !important;
		right: 0 !important;
		width: 300px !important;
		height: 100vh !important;
		overflow: visible !important;
	}

	/* メイン（#wrap）は中央 768px を維持 */
	#wrap {
		width: 768px !important;
		margin-left: 532px !important;
		margin-right: 300px !important;
		box-shadow: none !important;
	}
	main {
		width: 768px !important;
	}

	/* ヘッダーは追従しない（本文に被らないよう通常フローへ） */
	#wrap header {
		position: static !important;
		top: auto !important;
		left: auto !important;
		width: auto !important;
	}

	/* SP用メニューボタンは印刷では不要 */
	#gnav_btn {
		display: none !important;
	}

	/* トップに戻るボタンは非表示 */
	#back-to-top {
		display: none !important;
	}

	/* 印刷で不要なインタラクティブ要素は非表示 */
	dialog {
		display: none !important;
	}

	/* スクロール位置依存の表示（ふわっと表示等）は印刷では常に表示 */
	.fadein {
		opacity: 1 !important;
		transform: none !important;
	}
	#hero svg#rosen {
		opacity: 1 !important;
		visibility: visible !important;
	}
	#hero .hero-zoom,
	#hero .hero-fade {
		opacity: 1 !important;
		transform: none !important;
	}
	#hero_txt > span,
	#hero_txt > span .kodou {
		opacity: 1 !important;
		transform: none !important;
	}
	/* SVG内でアニメ起点にopacity:0がある場合の保険 */
	#hero svg .pin {
		opacity: 1 !important;
	}

	/* トランジション/アニメーションは印刷では不要 */
	*,
	*::before,
	*::after {
		animation: none !important;
		transition: none !important;
	}
}