@charset "UTF-8";

	/* 共通コンテナ */
	.photonova_2 .container {
		width: 100%;
		max-width: 1000px;
		margin: 0 auto;
		padding: 60px 20px;
	}

	/* ヒーローセクション（ファーストビュー） */
	.photonova_2 .hero {
		position: relative;
		background-color: #fff;
		text-align: center;
		overflow: hidden;
		border-bottom: 2px solid #c5a059;
	}
	.photonova_2 .hero-img-container {
		width: 100%;
		min-height: 30vh;
		overflow: hidden;
		position: relative;
	}
	.photonova_2 .photonova_logo {position: absolute; right:2%; top: 3%; width: min(30vw, 130px); height: auto; aspect-ratio: 190/111;}
	.photonova_2 .hero-img-container img {
		width: 100%;
		min-height: 30vh;
		object-fit: cover;
	}
	/* 画像の下に重なるグラデーション */
	.photonova_2 .hero-img-container::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 150px;
		background: linear-gradient(to top, #fff, transparent);
	}
	.photonova_2 .hero-content {
		padding: 40px 20px 60px;
		background-color: #fff;
	}
	.photonova_2 .hero-sub {
		font-size: 14px;
		color: #d8971b
		text-transform: uppercase;
		font-weight: bold;
		margin-bottom: 10px;
		display: inline-block;
		border-bottom: 1px solid #c5a059;
		padding-bottom: 5px;
	}
	.photonova_2 .hero-title {
		font-size: min(6vw, 32px);
		font-weight: 700;
		margin-bottom: 15px;
		line-height: 1.4;
		color: #d1ab34;
	}
	.photonova_2 .hero-date {
		font-size: min(5vw, 20px);
		font-weight: bold;
		color: #333333;
		margin-bottom: 25px;
		text-align: center;
	}
	.photonova_2 .hero-desc {
		font-size: 15px;
		max-width: 700px;
		margin: 0 auto 35px;
		color: #333333;
	}

	/* コンバージョンボタン */
	.photonova_2 .btn-cv {
		display: inline-block;
		background: linear-gradient(135deg, #d4af37 0%, #aa7c11 100%);
		color: #000000;
		font-weight: bold;
		font-size: 18px;
		padding: 18px 3vw;
		border-radius: 4px;
		box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
		transition: all 0.3s ease;
		text-align: center;
	}
	.photonova_2 .btn-cv:hover {
		transform: translateY(-2px);
		box-shadow: 0 6px 20px rgba(212, 175, 55, 0.5);
		background: linear-gradient(135deg, #e5be48 0%, #bb8d1f 100%);
	}
	.photonova_2 .btn-cv[href=""]{
        pointer-events: none;
        filter: grayscale(1);
        cursor: default;
    }
	.photonova_2 .btn-sub-info {
		display: block;
		font-size: 12px;
		color: #aa7c11;
		margin-top: 10px;
		font-weight: bold;
	}

	/* セクション共通 */
	.photonova_2 .section-title, .photonova_2 .footer-cv h2 {
		font-size: min(4.4vw, 24px)!important;
		text-align: center;
		margin-bottom: 40px;
		position: relative;
		padding-bottom: 15px;
		color: #333333!important;
	}
	.photonova_2 .section-title::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 60px;
		height: 2px;
		background-color: #d8971b
	}

	/* イントロダクション */
	.photonova_2 .intro {
		background-color: #fff;
		text-align: center;
		border-bottom: 1px solid #c5a059;
		background: url(/html/user_data/assets/img/feature/photonova/photonova2_bg.webp) no-repeat center center / cover;
	}
	.photonova_2 .intro p {
		max-width: 750px;
		margin: 0 auto 20px;
		font-size: 16px;
		color: #333333;
	}

	/* イベント内容（ハイライト） */
	.photonova_2 .highlights {
		background-color: #fff;
	}
	.photonova_2 .grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 30px;
	}
	.photonova_2 .card {
		background-color: #f4f4f4;
		border: none;
		padding: 35px;
		border-radius: 6px;
	}
	.photonova_2 .card h3 {
		font-size: 20px;
		color: #d8971b
		margin-bottom: 20px;
		border-left: 3px solid #c5a059;
		padding-left: 12px;
	}
	.photonova_2 .card ul {
		list-style: none;
		margin-bottom: 20px;
	}
	.photonova_2 .card ul li {
		padding: 8px 0;
		border-bottom: 1px solid #ddd;
		font-size: 15px;
		display: flex;
		justify-content: space-between;
		color: #333333;
	}
	.photonova_2 .card ul li span {
		font-weight: bold;
		color: #333333;
	}
	.photonova_2 .card-note {
		background-color: #201a0e;
		border: 1px solid #aa7c11;
		padding: 15px;
		border-radius: 4px;
		font-size: 13px;
		color: #dddddd;
		margin-top: 15px;
	}
	.photonova_2 .card-note strong {
		color: #ff4d4d;
	}

	/* 開催概要・アクセス */
	.photonova_2 .outline {
		background-color: #fff;
	}
	.photonova_2 .table-info {
		width: 100%;
		border-collapse: collapse;
		margin-bottom: 40px;
	}
	.photonova_2 .table-info th, .table-info td {
		padding: 20px;
		border-bottom: 1px solid #dddddd;
		text-align: left;
	}
	.photonova_2 .table-info th {
		width: 25%;
		color: #d8971b
		font-weight: bold;
		vertical-align: top;
		font-size: 15px;
	}
	.photonova_2 .table-info td {
		color: #333333;
		font-size: 15px;
	}
	.map-container {
		width: 100%;
		height: 350px;
		background-color: #222222;
		border: 1px solid #333333;
		border-radius: 4px;
	}
	.photonova_2 .map-container iframe {
		width: 100%;
		height: 100%;
		border: none;
	}

	/* 注意事項 */
	.notes {
		background-color: #fff;
	}
	.photonova_2 .notes-list {
		list-style-type: decimal;
		padding-left: 20px;
		max-width: 800px;
		margin: 0 auto;
	}
	.photonova_2 .notes-list li {
		margin-bottom: 15px;
		font-size: 14px;
		color: #aaaaaa;
	}
	.photonova_2 .notes-list li strong {
		color: #333333;
	}

	/* 最終CV・フッター */
	.photonova_2 .footer-cv {
		background-color: #f4f4f4;
		text-align: center;
		border-top: 1px solid #c5a059;
		padding: 80px 20px;
	}
	.photonova_2 .footer-cv h2 {
		font-size: 24px;
		margin-bottom: 15px;
	}
	.photonova_2 .footer-cv p {
		font-size: 15px;
		color: #333333;
		margin-bottom: 35px;
		text-align: center;
	}
	.photonova_2 .copyright {
		background-color: #fff;
		text-align: center;
		padding: 20px;
		font-size: 12px;
		color: #666666;
		border-top: 1px solid #1a1a1a;
	}
	.ec-footer-new {margin-top: 0!important;}
	@media (max-width: 768px) {
		.photonova_2 .grid {
		    grid-template-columns: 1fr;
		}
    	.photonova_2 .card {
    		background-color: #f4f4f4;
    		border: 1px solid #dddddd;
    		padding: 15px;
    		border-radius: 6px;
    	}
	}
	@media (max-width: 600px) {
		.photonova_2 .table-info th, .table-info td {
		    display: block;
		    width: 100%;
		    padding: 10px 0;
		}
		.photonova_2 .table-info th {
		    border-bottom: none;
		    padding-top: 15px;
		}
	}