@charset "UTF-8";
/* ----------------------------------
 ブラックフライデー 2026 特集ページ
---------------------------------- */
body { font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; color: #000;}
div.mainframe_ { background-color: #000;}

#footer_pagetop.block-page-top a { width: 60px; height: 60px; border-radius: 50%; background-color: #000;}
/* SPの矢印は画像（濃い色）のため白に反転 */
#footer_pagetop.block-page-top a::after { filter: brightness(0) invert(1);}

/* ページ全体（セクションごとに .forcms_block.page_blackfriday で分割） */
.page_blackfriday {
  --bf-gold: linear-gradient(90deg, #a77b2c 0%, #e8c45e 30%, #fbf1c2 50%, #e8c45e 70%, #a77b2c 100%);
  --bf-gold-solid: #d4ad4f;
  --bf-red: #e60012;
  margin: 0 auto; padding: 0; overflow: hidden; color: #FFF; background-color: #000;
}
.page_blackfriday--end { padding-bottom: 80px;}
.page_blackfriday *,
.page_blackfriday *::before,
.page_blackfriday *::after { box-sizing: border-box;}
.page_blackfriday img { max-width: 100%; height: auto; vertical-align: bottom;}
.page_blackfriday a { text-decoration: none;}
.page_blackfriday ul { margin: 0; padding: 0; list-style: none;}
.page_blackfriday p { margin: 0;}
.page_blackfriday .l-section { padding: 0 15px;}

@media screen and (min-width: 751px) {
  .page_blackfriday .sp-only { display: none;}
  .page_blackfriday .l-section { max-width: 1000px; margin-left: auto; margin-right: auto; padding: 0;}
}

/* 共通：見出し（金ライン） */
.page_blackfriday .c-title { margin: 0 0 25px; display: flex; align-items: center; gap: 15px; font-size: clamp(17px, 4.8vw, 26px); font-weight: bold; text-align: center; color: var(--bf-gold-solid);}
.page_blackfriday .c-title::before,
.page_blackfriday .c-title::after { content: ''; height: 1px; flex: 1; background: var(--bf-gold);}
.page_blackfriday .c-title span { flex-shrink: 0;}

/* 共通：アンカーボタン矢印 */
.page_blackfriday .c-btn-anchor::after {
  content: '';
  width: 7px;
  height: 7px;
  border-right: currentColor 2px solid;
  border-top: currentColor 2px solid;
  position: absolute;
  right: 16px;
  top: calc(50% - 4px);
  transform: rotate(45deg);
}

/* 共通：丸矢印（過去BFページのボタン装飾を踏襲） */
.page_blackfriday .c-btn-more::before,
.page_blackfriday .c-btn-store a::before {
  content: '';
  width: 18px;
  height: 18px;
  border-radius: 50%;
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
  margin: auto;
}
.page_blackfriday .c-btn-more::after,
.page_blackfriday .c-btn-store a::after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent;
  position: absolute;
  top: 0;
  right: 16px;
  bottom: 0;
  margin: auto;
}

/* 共通：もっと見るボタン（ゴールド） */
.page_blackfriday .c-btn-list { margin-top: 30px; display: flex; flex-wrap: wrap; justify-content: center; gap: 15px 30px;}
.page_blackfriday .c-btn-list li { flex: 0 1 300px;}
.page_blackfriday .c-btn-more {
  height: 100%;
  min-height: 50px;
  padding: 10px 36px;
  border: 1px solid #a98100;
  border-radius: 6px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(165deg, #fff2b0, #c09e30);
  position: relative;
  transition: opacity .3s;
}
.page_blackfriday .c-btn-more::before { background: #333;}
.page_blackfriday .c-btn-more::after { border-left-color: #fff2b0;}
.page_blackfriday .c-btn-list--cat { gap: 10px;}
.page_blackfriday .c-btn-list--cat li { flex: 0 1 calc((100% - 20px) / 3);}
.page_blackfriday .c-btn-list--cat .c-btn-more { min-height: 44px; padding: 6px 28px 6px 10px; font-size: 15px;}
.page_blackfriday .c-btn-list--cat .c-btn-more::before { width: 16px; height: 16px; right: 8px;}
.page_blackfriday .c-btn-list--cat .c-btn-more::after { right: 13px;}

/* 共通：開催店舗ボタン（レッド） */
.page_blackfriday .c-btn-store { margin-top: 25px; text-align: center;}
.page_blackfriday .c-btn-store a {
  max-width: 360px;
  min-height: 52px;
  margin: 0 auto;
  padding: 10px 40px;
  border: 1px solid #b00018;
  border-radius: 6px;
  font-size: 16px;
  font-weight: bold;
  color: #FFF;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(165deg, #f4473b 0%, #ea0b29 35%, #7d0010 100%);
  position: relative;
  transition: opacity .3s;
}
.page_blackfriday .c-btn-store a::before { background: #FFF; box-shadow: 0 0 0 2px rgba(255,255,255,.35);}
.page_blackfriday .c-btn-store a::after { border-left-color: #ea0b29;}
.page_blackfriday .c-btn-store__note { margin-top: 6px; font-size: 11px; line-height: 1.5; color: #333;}
/* 店舗ボタンを横並びにする場合 */
.page_blackfriday .c-btn-store-row { margin-top: 25px; display: flex; flex-wrap: wrap; justify-content: center; gap: 15px 20px;}
.page_blackfriday .c-btn-store-row .c-btn-store { margin-top: 0; flex: 0 1 360px;}

/* 共通：注釈 */
.page_blackfriday .c-notes { max-width: 760px; margin: 20px auto 0;}
.page_blackfriday .c-notes li { font-size: 14px; font-weight: bold; line-height: 1.6; color: #333; text-align: center;}

@media (hover: hover) {
  .page_blackfriday a:hover { opacity: .75;}
}

@media screen and (max-width: 750px) {
  .page_blackfriday .c-btn-list { gap: 10px;}
  .page_blackfriday .c-btn-list li { flex-basis: 100%;}
  .page_blackfriday .c-btn-more { font-size: 15px;}
  .page_blackfriday .c-btn-list--cat li { flex-basis: calc((100% - 10px) / 2);}
  .page_blackfriday .c-btn-list--cat .c-btn-more { padding: 6px 26px 6px 6px; font-size: 13px; letter-spacing: 0;}
  .page_blackfriday .c-btn-list--cat .c-btn-more::before { right: 7px;}
  .page_blackfriday .c-btn-list--cat .c-btn-more::after { right: 12px;}
  .page_blackfriday .c-btn-store a { font-size: 15px;}
  .page_blackfriday .c-btn-store-row .c-btn-store { flex-basis: 100%;}
  .page_blackfriday .c-notes li { font-size: 13px;}
}
@media screen and (min-width: 751px) {
  .page_blackfriday .c-btn-list--cat { max-width: 640px; margin-left: auto; margin-right: auto;}
  .page_blackfriday .c-btn-list--cat li { flex-basis: calc((100% - 20px) / 3);}
}

/*==================================================
  セクション1：MV
==================================================*/
.page_blackfriday .sec-mv { max-width: 1200px; margin: 0 auto; padding: 0;}
.page_blackfriday .sec-mv h1 { margin: 0;}
.page_blackfriday .sec-mv h1 img { width: 100%;}
.page_blackfriday .sec-mv__lead { padding: 30px 15px 0; text-align: center;}
.page_blackfriday .sec-mv__year {
  margin-bottom: 12px;
  font-size: clamp(22px, 6.4vw, 40px);
  font-weight: 900;
  letter-spacing: .06em;
  background: var(--bf-gold);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.page_blackfriday .sec-mv__catch { margin-bottom: 12px; font-size: clamp(17px, 4.8vw, 26px); font-weight: bold;}
.page_blackfriday .sec-mv__text { font-size: clamp(13px, 3.5vw, 16px); font-weight: bold; line-height: 1.7;}
.page_blackfriday .sec-mv__period { display: inline-block; margin-top: 18px; padding: 8px 20px; border: 1px solid var(--bf-gold-solid); font-size: clamp(13px, 3.5vw, 16px); font-weight: bold; line-height: 1.6;}

/*==================================================
  セクション2：特別企画メニュー
==================================================*/
.page_blackfriday .sec-menu {
  margin-top: 20px;
  padding-top: 30px;
  padding-bottom: 50px;
  /* 画面幅いっぱいに背景を敷く */
  border-image: linear-gradient(0deg, #FFF 0%, #FFF 15%, #000 85%, #000 100%) fill 0 / 0 / 0 100vw;
}
.page_blackfriday .sec-menu__list { --gap: 10px; display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--gap);}
.page_blackfriday .sec-menu__item:last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; width: calc((100% - var(--gap)) / 2);}
.page_blackfriday .sec-menu__link { display: block; border: 1px solid #333;}
.page_blackfriday .sec-menu__anchor { margin-top: 30px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));}
.page_blackfriday .sec-menu__anchor li + li .c-btn-anchor { border-left: none;}
.page_blackfriday .c-btn-anchor {
  min-height: 64px;
  padding: 8px 18px 8px 4px;
  border-left: 1px solid #555;
  border-right: 1px solid #555;
  font-size: clamp(11px, 3.2vw, 16px);
  word-break: keep-all;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.page_blackfriday .c-btn-anchor::after { color: #a98100; transform: rotate(135deg); top: calc(50% - 6px); right: 6px;}

@media screen and (min-width: 751px) {
  .page_blackfriday .sec-menu { margin-top: 70px; padding-top: 60px; padding-bottom: 80px;}
  .page_blackfriday .sec-menu__list { --gap: 20px;}
  .page_blackfriday .sec-menu__anchor { max-width: 860px; margin: 40px auto 0;}
  .page_blackfriday .c-btn-anchor { padding: 8px 32px 8px 12px;}
  .page_blackfriday .c-btn-anchor::after { right: 14px;}
  .page_blackfriday .c-btn-anchor { min-height: 80px;}
}

/*==================================================
  セクション3：各企画
==================================================*/
.page_blackfriday .sec-campaign { margin-top: 60px;}
.page_blackfriday .campaign-box { scroll-margin-top: 80px; background: #FFF;}
.page_blackfriday .campaign-box + .campaign-box { margin-top: 50px;}
.page_blackfriday .campaign-box__title { margin: 0; background: #000; border: 1px solid rgba(255, 255, 255, .4); border-bottom: none;}
.page_blackfriday .campaign-box__title img { width: 100%;}
.page_blackfriday .campaign-box__body { padding: 25px 15px 30px; color: #000;}

@media screen and (min-width: 751px) {
  .page_blackfriday .sec-campaign { margin-top: 90px;}
  .page_blackfriday .campaign-box + .campaign-box { margin-top: 80px;}
  .page_blackfriday .campaign-box__body { padding: 40px 30px 45px;}
}

/* 商品リスト */
.page_blackfriday .product-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 25px 15px;}
.page_blackfriday .product-item a { height: 100%; color: #000; display: flex; flex-direction: column;}
.page_blackfriday .product-item__image { margin-bottom: 10px; aspect-ratio: 1 / 1; background: #f5f5f5;}
.page_blackfriday .product-item__image img { width: 100%; height: 100%; object-fit: contain;}
/* 商品画像は goods_api.js で src を入れるまで非表示（goods_api.css 相当） */
.page_blackfriday .product-item__image img:not([src]) { visibility: hidden;}
.page_blackfriday .product-item__brand { margin-bottom: 4px; font-size: 11px; color: #666;}
.page_blackfriday .product-item__name {
  margin-bottom: 6px;
  font-size: 13px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.page_blackfriday .product-item__gender { margin-bottom: 8px; display: flex; flex-wrap: wrap; gap: 4px;}
.page_blackfriday .product-item__gender span { padding: 1px 8px; border: 1px solid #999; font-size: 9px; color: #555; display: inline-block;}
.page_blackfriday .product-item__price { margin: auto 0 0; display: flex; align-items: baseline; gap: 6px; color: var(--bf-red);}
.page_blackfriday .product-item__price dt { font-size: 12px; font-weight: bold;}
.page_blackfriday .product-item__price dd { margin: 0; font-size: 15px; font-weight: bold;}
.page_blackfriday .product-item__price-tax { margin-left: 3px; font-size: 11px; font-weight: normal;}
.page_blackfriday .product-item__maker { margin: auto 0 4px; line-height: 1.5;}
.page_blackfriday .product-item__maker + .product-item__price { margin-top: 0;}
.page_blackfriday .product-item__maker-label { font-size: 10px; color: #555;}
.page_blackfriday .product-item__maker-price { font-size: 11px; color: #555;}
.page_blackfriday .product-item__off { font-size: 14px; font-weight: bold; color: var(--bf-red);}
/* 価格を黒で表示する企画 */
.page_blackfriday .campaign-box--price-black .product-item__price { color: #000;}

@media screen and (max-width: 750px) {
  .page_blackfriday .product-list {
    margin-right: -15px;
    padding: 0 15px 12px 0;
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  .page_blackfriday .product-item { flex: 0 0 42%; scroll-snap-align: start;}
}
@media screen and (min-width: 751px) {
  .page_blackfriday .product-list { grid-template-columns: repeat(4, 1fr); gap: 30px 25px;}
  .page_blackfriday .product-item__name { font-size: 14px;}
  .page_blackfriday .product-item__price dd { font-size: 20px;}
  .page_blackfriday .product-item__gender span { font-size: 11px;}
  .page_blackfriday .product-item__maker-label { font-size: 12px;}
  .page_blackfriday .product-item__maker-price { font-size: 13px;}
  .page_blackfriday .product-item__off { font-size: 16px;}
}

/*==================================================
  セクション4・5：おすすめ企画
==================================================*/
.page_blackfriday .sec-pickup { margin: 70px 15px 0; padding: 0 0 30px; scroll-margin-top: 80px; background: #FFF;}
.page_blackfriday .sec-pickup .c-title { margin: 0; padding: 18px 10px; display: block; color: #000; background: linear-gradient(170deg, #fff2b0, #857447);}
.page_blackfriday .sec-pickup .c-title::before,
.page_blackfriday .sec-pickup .c-title::after { content: none;}
.page_blackfriday .sec-pickup__list { padding: 25px 15px 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px;}
.page_blackfriday .sec-pickup__list a { display: block;}
.page_blackfriday .sec-pickup__list img { width: 100%; height: auto;}
/* バナーが奇数個のとき、最後の1枚は中央に配置 */
.page_blackfriday .sec-pickup__list > li:last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; width: calc(50% - 5px);}
.page_blackfriday .sec-pickup .c-btn-store { margin-top: 25px; padding: 0 15px;}
.page_blackfriday .sec-pickup__memo { margin-top: 20px; padding: 0 15px; font-size: 12px; text-align: center; color: #333;}

@media screen and (min-width: 751px) {
  .page_blackfriday .sec-pickup { margin: 100px auto 0; padding-bottom: 50px;}
  .page_blackfriday .sec-pickup .c-title { padding: 28px 10px;}
  .page_blackfriday .sec-pickup__list { padding: 50px 50px 0; gap: 30px;}
  .page_blackfriday .sec-pickup__list > li:last-child:nth-child(odd) { width: calc(50% - 15px);}
  .page_blackfriday .sec-pickup .c-btn-store { margin-top: 40px;}
}
