/* ==============================================
   チラシ（flyer）カスタム投稿タイプ用スタイル
   2026-10-01 新設。レイアウトは nagoyanakagawa-nikka.com/flyer/ を参考に、
   自社のブランドカラー（青#0678ba・赤#d72f36・紺#1c2b3a）で構成。
   ============================================== */

/* ---------- 共通：見出し ----------
   タイトル帯は他ページと共通の .pagetitle-wrap（style.css）を利用。
   ここではチラシ一覧特有のリード文のみ。 */
.flyer-lead{
	max-width:760px;
	margin:28px auto 10px;
	text-align:center;
	font-size:14px;
	line-height:1.9;
	color:#5b6b7a;
	padding:0 5%;
	box-sizing:border-box;
}

/* ---------- アーカイブ：一覧カード（.row の内側で使用） ---------- */
.flyer-card-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:28px;
	list-style:none;
	margin:30px 0 0;
	padding:0;
}
.flyer-card{
	background:#fff;
	border-radius:14px;
	overflow:hidden;
	box-shadow:0 4px 16px rgba(28,43,58,.1);
	transition:transform .2s ease,box-shadow .2s ease;
}
.flyer-card:hover{
	transform:translateY(-6px);
	box-shadow:0 10px 24px rgba(28,43,58,.16);
}
.flyer-card a,
a.flyer-card{
	display:block;
	color:#1c2b3a;
	text-decoration:none;
}
.flyer-card-img{
	aspect-ratio:480/679;
	background:#eef3f6 url(data:image/svg+xml;base64,) center/cover;
	overflow:hidden;
	position:relative;
}
.flyer-card-img img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
.flyer-card-new{
	position:absolute;
	top:10px;
	left:10px;
	background:#d72f36;
	color:#fff;
	font-size:11px;
	font-weight:700;
	padding:4px 10px;
	border-radius:999px;
	letter-spacing:1px;
}
.flyer-card-body{
	padding:14px 16px 18px;
}
.flyer-card-date{
	font-size:12px;
	color:#5b6b7a;
	display:block;
	margin-bottom:4px;
}
.flyer-card-title{
	font-size:15px;
	font-weight:700;
	line-height:1.5;
	margin:0;
}
.flyer-empty{
	text-align:center;
	color:#5b6b7a;
	padding:60px 0;
	font-size:15px;
}
.flyer-pager{
	text-align:center;
	margin-top:40px;
}
.flyer-pager a,.flyer-pager span{
	display:inline-block;
	margin:0 4px;
	padding:8px 14px;
	border-radius:8px;
	background:#eef3f6;
	color:#0678ba;
	text-decoration:none;
	font-size:14px;
}
.flyer-pager span.current{
	background:#0678ba;
	color:#fff;
}

/* ---------- 単体ページ ---------- */
.flyer-single-wrap{
	max-width:1100px;
	margin:0 auto;
	padding:50px 5% 90px;
}
.flyer-single-note{
	background:#eef6fb;
	border:1px solid #cfe6f4;
	border-radius:10px;
	color:#1c2b3a;
	font-size:14px;
	line-height:1.9;
	padding:16px 22px;
	margin:0 0 36px;
}
.flyer-single-grid{
	display:flex;
	gap:34px;
	justify-content:center;
	flex-wrap:wrap;
}
.flyer-page-card{
	background:#fff;
	border-radius:16px;
	box-shadow:0 6px 22px rgba(28,43,58,.12);
	padding:22px;
	width:420px;
	max-width:100%;
	text-align:center;
}
.flyer-page-card h3{
	color:#0678ba;
	font-size:17px;
	font-weight:800;
	letter-spacing:2px;
	margin:0 0 16px;
}
.flyer-page-card a{display:block;}
.flyer-page-card img{
	width:100%;
	height:auto;
	border-radius:4px;
	border:1px solid #e3e8ec;
	display:block;
}
.flyer-page-card .flyer-zoom-hint{
	display:block;
	margin-top:10px;
	font-size:12px;
	color:#5b6b7a;
}
.flyer-single-back{
	text-align:center;
	margin-top:50px;
}
.flyer-single-back a{
	display:inline-block;
	background:#fff;
	border:3px solid #0678ba;
	color:#0678ba;
	font-weight:700;
	font-size:15px;
	padding:14px 34px;
	border-radius:999px;
	text-decoration:none;
}
.flyer-single-back a:hover{opacity:.7;color:#0678ba;}

/* ---------- トップページ掲載用セクション（プレビュー中） ---------- */
.flyer-top-wrap{
	background:#f4f8fb;
	padding:60px 0 70px;
}
.flyer-top-wrap .flyer-top-lead{
	max-width:680px;
	margin:14px auto 0;
	text-align:center;
	font-size:14px;
	line-height:1.9;
	color:#5b6b7a;
	padding:0 5%;
}
/* ---------- トップページ：最新チラシ カルーセル（slick） ---------- */
.flyer-carousel-wrap{
	max-width:1150px;
	margin:32px auto 0;
	padding:0 56px;
	position:relative;
	overflow:hidden;
}
.flyer-carousel{
	margin:0 -12px;
}
.flyer-carousel .slick-track{
	display:flex;
	align-items:stretch;
}
.flyer-carousel .slick-slide{
	height:auto;
}
.flyer-slide{
	padding:0 12px;
	box-sizing:border-box;
}
.flyer-slide .flyer-card{
	height:100%;
	display:flex;
	flex-direction:column;
}

/* 矢印（ページ送り） */
.flyer-arrow{
	position:absolute;
	top:38%;
	transform:translateY(-50%);
	width:46px;
	height:46px;
	border-radius:50%;
	background:#fff;
	border:2px solid #0678ba;
	box-shadow:0 6px 16px rgba(28,43,58,.15);
	cursor:pointer;
	z-index:5;
	transition:background .15s ease,transform .15s ease;
}
.flyer-arrow:before{
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	width:10px;
	height:10px;
	border-top:3px solid #0678ba;
	border-right:3px solid #0678ba;
}
.flyer-arrow-prev{left:-56px;}
.flyer-arrow-prev:before{transform:translate(-30%,-50%) rotate(-135deg);}
.flyer-arrow-next{right:-56px;}
.flyer-arrow-next:before{transform:translate(-70%,-50%) rotate(45deg);}
.flyer-arrow:hover{background:#0678ba;}
.flyer-arrow:hover:before{border-color:#fff;}
.flyer-arrow.slick-disabled{opacity:.3;cursor:default;pointer-events:none;}

/* ドット */
.flyer-dots{
	display:flex;
	justify-content:center;
	margin-top:28px;
}
.flyer-dots ul{
	display:flex;
	align-items:center;
	gap:10px;
	list-style:none;
	margin:0;
	padding:0;
}
.flyer-dots li{line-height:0;}
.flyer-dots li button{
	font-size:0;
	width:10px;
	height:10px;
	border-radius:999px;
	background:#c9d6e0;
	border:none;
	padding:0;
	cursor:pointer;
	transition:background .2s ease,width .2s ease;
}
.flyer-dots li.slick-active button{
	background:#d72f36;
	width:26px;
	border-radius:999px;
}

.flyer-top-more{
	text-align:center;
	margin-top:38px;
}
.flyer-top-more a{
	display:inline-block;
	background:#0678ba;
	color:#fff;
	font-weight:700;
	font-size:15px;
	padding:15px 40px;
	border-radius:999px;
	text-decoration:none;
}
.flyer-top-more a:hover{opacity:.8;color:#fff;}

/* ---------- レスポンシブ ---------- */
@media only screen and (min-width:768px) and (max-width:999px){
	.flyer-card-grid{grid-template-columns:repeat(3,1fr);}
	.flyer-carousel-wrap{padding:0 44px;}
	.flyer-arrow-prev{left:-10px;}
	.flyer-arrow-next{right:-10px;}
}
@media only screen and (max-width:767px){
	.flyer-card-grid{grid-template-columns:1fr;gap:20px;}
	/* 一覧ページ：リード文（.flyer-lead、左右5%）とカード一覧（.row が左右2%）で
	   余白がズレていたため、カード側も5%に揃える（archive-flyerページのみに限定） */
	.post-type-archive-flyer .row{
		padding-left:5%;
		padding-right:5%;
	}
	.flyer-single-wrap{padding-left:6%;padding-right:6%;}
	.flyer-single-grid{gap:20px;}
	.flyer-page-card{padding:16px;}
	.flyer-top-wrap{padding:44px 0 50px;}

	/* カルーセルだけ親の左右余白を突き破って画面幅いっぱいに表示する */
	.flyer-carousel-wrap{
		width:100vw;
		max-width:100vw;
		margin-left:calc(-50vw + 50%);
		margin-right:calc(-50vw + 50%);
		padding:0;
		overflow:hidden;
	}
	.flyer-carousel{margin:0;}
	.flyer-slide{padding:0 6px;}
	.flyer-slide .flyer-card{border-radius:14px;}
	.flyer-arrow{
		width:40px;
		height:40px;
		top:38%;
		background:rgba(255,255,255,.92);
		box-shadow:0 4px 12px rgba(0,0,0,.25);
	}
	.flyer-arrow-prev{left:10px;}
	.flyer-arrow-next{right:10px;}
	.flyer-dots{margin-top:20px;padding:0 5%;}
}
