@charset "utf-8";

/*======================================
  ブラックフライデー 2026
  /static/news/202611blackfriday/style.css
======================================*/

/*----------------------------------------
  共通（PC・SP共通のパーツ）
----------------------------------------*/
#news main #bf2026 {
	--bf-gold: #ecbe45;
	--bf-gold-dark: #a8842f;
	--bf-red: #d7262d;
	--bf-text: #f2f2f2;
	--bf-sub: #b5b5b5;
	--bf-line: #3a3a3a;
	--bf-area: #161616;
	color: var(--bf-text);
}
#news main #bf2026 *,
#news main #bf2026 *::before,
#news main #bf2026 *::after { box-sizing: border-box; }
#news main #bf2026 p,
#news main #bf2026 li {
	font-family: 'Noto Sans JP','游ゴシック Medium','Yu Gothic Medium','游ゴシック体','Yu Gothic',YuGothic,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	line-height: 1.8;
	color: var(--bf-text);
	font-weight: normal;
	margin: 0;
}
#news main #bf2026 img { max-width: 100%; height: auto; display: block; margin: 0 auto; border-radius: 8px; }

/****** セクション ******/
#news main .bf-section {
	background: var(--bf-area);
	border-radius: 8px;
	text-align: left;
}
#news main #bf2026 .bf-check {
	display: block;
	width: fit-content;
	margin: 0 auto 12px;
	padding: 2px 16px;
	border: 1px solid var(--bf-gold);
	border-radius: 999px;
	color: var(--bf-gold);
	font-size: 13px;
	letter-spacing: .2em;
	line-height: 1.6;
}
#news main #bf2026 .bf-title {
	margin: 0 0 36px;
	padding-bottom: 20px;
	text-align: center;
	line-height: 1.4;
	font-weight: bold;
	color: var(--bf-gold);
	letter-spacing: .03em;
	position: relative;
}
/* 見出しの文字：金のグラデーション＋ほのかな光 */
#news main #bf2026 .bf-title span.bf-shine {
	background: linear-gradient(180deg, #fff6d0 0%, #f7d77a 30%, #ecbe45 55%, #b8862a 80%, #f3cf6a 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	filter: drop-shadow(0 0 8px rgba(236, 190, 69, .35));
}
#news main .bf-title::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 48px;
	height: 2px;
	background: var(--bf-gold);
	transform: translateX(-50%);
}
#news main .bf-title em {
	font-style: normal;
	font-size: 1.2em;
}
#news main #bf2026 .bf-title-note {
	margin: -16px 0 40px;
	text-align: center;
	font-size: 14px;
	color: var(--bf-text);
}
#news main .bf-title-sub {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	color: var(--bf-sub);
}

/****** 商品 ******/
#news main .bf-item + .bf-item { margin-top: 48px; }
#news main .bf-info { margin-top: 16px; }
#news main #bf2026 .bf-name {
	font-size: 17px;
	font-weight: normal;
	line-height: 1.5;
}
#news main .bf-maker {
	display: block;
	font-size: 12px;
	font-weight: normal;
	color: var(--bf-sub);
	letter-spacing: .05em;
}
#news main #bf2026 .bf-desc {
	margin-top: 10px;
	font-size: 14px;
	color: var(--bf-sub);
}

/****** 価格 ******/
#news main #bf2026 .bf-price {
	margin-top: 12px;
	line-height: 1.5;
}
#news main .bf-regular {
	display: inline-block;
	margin-right: .3em;
	font-size: 13px;
	color: var(--bf-sub);
	white-space: nowrap;
}
#news main .bf-sale,
#news main .bf-off { white-space: nowrap; }
#news main #bf2026 .bf-regular,
#news main #bf2026 .bf-regular s {
	color: #c8c8c8;
	text-decoration-color: #c8c8c8;
}
#news main .bf-regular::after { content: " →"; }
#news main .bf-sale {
	color: #fff;
	font-size: 15px;
}
#news main .bf-sale strong {
	font-size: 26px;
	font-weight: 500;
	letter-spacing: .02em;
}
#news main .bf-off {
	display: inline-block;
	margin-left: 5px;
	padding: 1px 6px;
	background: var(--bf-red);
	color: #fff;
	font-size: 12px;
	line-height: 1.5;
	border-radius: 3px;
	vertical-align: 5px;
}

/****** 並び ******/
#news main .bf-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 48px 32px;
}
#news main .bf-grid .bf-item + .bf-item { margin-top: 0; }
/* 名前や説明の行数が違っても価格の位置をそろえる */
#news main .bf-grid .bf-item { display: flex; flex-direction: column; }
#news main .bf-grid .bf-info { flex-grow: 1; display: flex; flex-direction: column; }
#news main #bf2026 .bf-grid .bf-price { margin-top: auto; }
#news main #bf2026 .bf-grid .bf-name { margin-bottom: 14px; }
#news main #bf2026 .bf-grid .bf-desc { margin: -4px 0 14px; }
/* 画像の高さをそろえる */
#news main #bf2026 .bf-fit img { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: #fff; }
#news main #bf2026 .bf-col3 img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

/****** ミシンの小見出し ******/
#news main #bf2026 .bf-group {
	margin: 0 0 20px;
	text-align: center;
	font-size: 14px;
	color: var(--bf-sub);
	letter-spacing: .05em;
}
#news main .bf-group span { color: var(--bf-gold); }
#news main .bf-group span::before {
	content: "｜";
	margin: 0 .4em;
	color: var(--bf-line);
}
#news main #bf2026 .bf-grid + .bf-group { margin-top: 64px; }

/****** レジン液の注意書き ******/
#news main .bf-notes {
	margin: 20px 0 0;
	padding: 14px 16px;
	border: 1px solid var(--bf-line);
	border-radius: 6px;
	list-style: none;
}
#news main #bf2026 .bf-notes li {
	padding-left: 1em;
	text-indent: -1em;
	font-size: 12px;
	color: var(--bf-sub);
}
#news main .bf-notes li::before { content: "※"; }
#news main #bf2026 .bf-copyright {
	margin-top: 8px;
	text-align: right;
	font-size: 11px;
	color: var(--bf-sub);
}

/****** テキストリンク ******/
#news main #bf2026 .bf-link { margin-top: 10px; text-align: right; font-size: 13px; }
#news main #bf2026 .bf-link a { color: var(--bf-gold); }
#news main .bf-link a::after { content: " ›"; }

/****** そのほか ******/
#news main .bf-others {
	background: var(--bf-area);
	border-radius: 8px;
	text-align: center;
}
#news main #bf2026 .bf-others h2 {
	margin: 0 0 8px;
	font-size: 15px;
	font-weight: normal;
	color: var(--bf-gold);
	letter-spacing: .05em;
}
#news main #bf2026 .bf-others p { font-size: 14px; }

/****** 共通の注意 ******/
#news main .bf-footnote {
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
}
#news main #bf2026 .bf-footnote li {
	padding-left: 1em;
	text-indent: -1em;
	font-size: 12px;
	color: var(--bf-sub);
}
#news main .bf-footnote li::before { content: "※"; }

/****** ボタン（昨年の gold_button を踏襲） ******/
#news main .gold_button { margin: 48px auto 0; }
#news main .gold_button + .gold_button { margin-top: 16px; }
#news main #bf2026 .gold_button a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 3.4em;
	position: relative;
	background: var(--bf-gold);
	border: 2px solid var(--bf-gold); /* ◆リンクボタン枠色◆ */
	border-radius: 2em;
	box-sizing: border-box;
	color: #111; /* ◆リンクボタン文字色◆ */
	line-height: 1.3;
	font-weight: bold;
	text-decoration: none;
	transition-duration: 0.3s;
	white-space: nowrap;
}
#news main .gold_button a:before {
	content: '';
	width: 8px;
	height: 8px;
	border: 0;
	border-top: 2px solid #111; /* ◆リンクボタン矢印色◆ */
	border-right: 2px solid #111; /* ◆リンクボタン矢印色◆ */
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 1.2em;
	margin-top: -5px;
}
#news main #bf2026 .gold_button a:hover {
	background: #fff; /* ◆リンクボタン背景色◆ */
	color: #111;
}
#news main .gold_button a:hover:before {
	border-top-color: #111;
	border-right-color: #111;
}


/*======================
           mb
======================*/
@media screen and (max-width: 768px) {

	/* --------- 調整・消去 --------- */
	body .box-white,
	body .post-content{
		padding: 0 0 0;
	}
	body .group{
		padding: 0 0 80px;
	}
	body main > .title_area,
	body .group::before,
	body .inner > header,
	body .inner dl.periodText{
		display: none !important;
	}
	body .group .inner{
		width: 100%;
	}
	body .post-content p,
	body .post-content h2,
	body .post-content h3{
		margin: 0;
	}
	#news main .pc { display: none !important; }
	#news main .sp { display: block !important; }

	.content-main img {
		width: 100%;
		height: auto;
		vertical-align: top;
	}

	/*---------------------------------------- 共通 */

	#news main .content-main{
		padding-bottom: 50px;
		background: url(images/bg.png) #000;
	}

	/****** header ******/

	#news main .bf-header p{
		background-color: #000;
		margin: 0 5vw;
		padding: 30px 5vw 40px;
		text-align: center;
		font-size: 14px;
		color: #f9f9f9;
	}

	/****** 本体 ******/

	#news main #bf2026 {
		margin: 0 5vw;
	}
	#news main .bf-section {
		margin-top: 48px;
		padding: 48px 20px 40px;
	}
	#news main #bf2026 .bf-title { font-size: 24px; }
	#news main .bf-sale strong { font-size: 24px; }
	#news main .bf-others {
		margin-top: 48px;
		padding: 28px 20px;
	}

	/*-------------------------------------- buttons */

	#news main .gold_button {
		width: 100%;
	}
	#news main #bf2026 .gold_button a {
		font-size: 14px;
		padding: 0 2.4em 0 1.2em;
	}

}


/*----------------------*/
/*          pc          */
/*----------------------*/
@media print, screen and (min-width: 769px) {

	/* --------- 調整・消去 --------- */
	body header.title_area,
	body .group:nth-of-type(2n-1)::before {
		display: none !important;
	}
	body .group,
	body .box-white,
	body .post-content{
		padding: 0 0 0;
	}
	body .inner{
		max-width: 960px;
		width: 100%;
	}
	body .inner > header,
	body .inner dl.periodText{
		display: none !important;
	}
	body .post-content p,
	body .post-content h2,
	body .post-content h3{
		margin: 0;
	}
	#news main .pc { display: block !important; }
	#news main .sp { display: none !important; }

	/*---------------------------------------- 共通 */

	#news main .content-main{
		background: url(images/bg.png) #000;
		padding-bottom: 50px;
	}

	/****** header ******/

	#news main .bf-header p{
		width: 700px;
		background-color: #000;
		margin: 0 auto;
		padding: 40px 0;
		text-align: center;
		font-size: 15px;
		color: #f9f9f9;
	}

	/****** 本体 ******/

	#news main #bf2026 {
		width: 700px;
		margin: 0 auto;
	}
	#news main .bf-section {
		margin-top: 56px;
		padding: 56px 40px 48px;
	}
	#news main #bf2026 .bf-title { font-size: 30px; }
	#news main .bf-grid { grid-template-columns: 1fr 1fr; }
	#news main .bf-grid.bf-col3 { grid-template-columns: repeat(3, 1fr); gap: 48px 24px; }
	/* 横並びは列が狭いので、通常価格と特価を2行に */
	#news main .bf-grid .bf-regular { display: block; }
	#news main .bf-others {
		margin-top: 56px;
		padding: 32px 24px;
	}

	/*-------------------------------------- buttons */

	#news main .gold_button {
		width: 460px;
	}
	#news main #bf2026 .gold_button a {
		font-size: 16px;
		padding: 0 2.4em;
	}

}