.lfp {
  --lfp-ink: #25231f;
  --lfp-muted: #71695d;
  /*--lfp-space-x: 24px;*/
  --lfp-section-space: 40px;
  color: var(--lfp-ink);
  width: 100%; min-width: 0; box-sizing: border-box;
  /*padding: var(--lfp-section-space) var(--lfp-space-x);*/
  /*margin: 0 0 24px;*/
  font-family: inherit; line-height: 1.7;
}
/* Only elements owned by these parts. Never reset existing CMS product-card descendants. */
.lfp :where([class^="lfp-"]) {box-sizing:border-box; float:none; position:static; margin:0; padding:0; border:0; background-image:none; text-indent:0; letter-spacing:normal; max-height:none;}
.lfp :where([class^="lfp-"])::before,
.lfp :where([class^="lfp-"])::after {content:none;}
.lfp .lfp-existing-slider {position:relative;}

.lfp .lfp-heading {margin: 0; padding: 0; border: 0; color: var(--lfp-ink); font-family: inherit; font-size:26px; font-weight:700; line-height:1.5; letter-spacing: .025em; overflow-wrap:anywhere;}
.lfp .lfp-eyebrow {display:block; margin:0 0 5px; font-size:11px; font-weight:700; letter-spacing:.13em;}
.lfp .lfp-head {margin:0 0 12px; padding:0 0 0 6px;}

.lfp .lfp-catch {margin:7px 0 0; font-size:14px; color:var(--lfp-muted); line-height:1.7; overflow-wrap:anywhere;}
.lfp a:focus-visible, .lfp [tabindex]:focus-visible {outline:2px solid #887137; outline-offset:3px;}

/* NEWS: shared intrinsic label-column width aligns every title, including wrapped rows. */
.lfp-news {--lfp-label-max:32%; --lfp-news-gap:20px; --lfp-tag-bg:#fff0b4; --lfp-tag-ink:#383025; background:#fff;  padding: 0 40px;}
.lfp-news .lfp-news-list {display:grid; grid-template-columns:fit-content(var(--lfp-label-max)) minmax(0,1fr) 16px; list-style:none; margin:0; padding:0; border-top:1px solid #e8e5de;}
.lfp-news .lfp-news-item {display:grid; grid-column:1 / -1; grid-template-columns:subgrid; list-style:none; width:auto; margin:0; padding:0; border-bottom:1px solid #e8e5de;}
/* プリセットカラー(1〜5)。VBA側は番号を選んで class="lfp-news-item news-item-color{番号}" を出力するだけでよい。 */
.lfp-news .news-item-color1 {--lfp-tag-bg:#fff0b4; --lfp-tag-ink:#383025;} /* 黄色 */
.lfp-news .news-item-color2 {--lfp-tag-bg:#f8e1d8; --lfp-tag-ink:#383025;} /* ピンク */
.lfp-news .news-item-color3 {--lfp-tag-bg:#dbe9f7; --lfp-tag-ink:#383025;} /* 青 */
.lfp-news .news-item-color4 {--lfp-tag-bg:#e5efdf; --lfp-tag-ink:#383025;} /* 緑 */
.lfp-news .news-item-color5 {--lfp-tag-bg:#ece3f5; --lfp-tag-ink:#383025;} /* 紫 */
.lfp-news .lfp-news-link {display:grid; grid-column:1 / -1; grid-template-columns:subgrid; column-gap:0; align-items:center; min-height:58px; padding:8px 10px; color:var(--lfp-ink); text-decoration:none; font-size:14px; line-height:1.4;}
.lfp-news .lfp-news-link:hover {background:#fffcef;}
.lfp-news .lfp-news-link:hover .lfp-news-text {text-decoration:underline; text-underline-offset:3px;}
.lfp-news .lfp-news-tag {justify-self:start; margin-right:var(--lfp-news-gap); max-width:calc(100% - var(--lfp-news-gap)); min-width:44px; padding:3px 6px; background:var(--lfp-tag-bg); color:var(--lfp-tag-ink); font-size:14px; font-weight:600; line-height:1.65; text-align:center; white-space:normal; overflow-wrap:anywhere;}
.lfp-news .lfp-news-text {padding-right:var(--lfp-news-gap); min-width:0; overflow-wrap:anywhere; word-break:normal; margin-top:1px;}

.lfp-news .lfp-news-arrow {position:relative; align-self:center;}
.lfp-news .lfp-news-arrow::before {
  content:"";
  position:absolute;
  top:-4px;
  right:2px;
  width:8px;
  height:8px;
  border-top:2px solid #666666;
  border-right:2px solid #666666;
  transform:rotate(45deg);
}

.lfp-shelf {
  --lfp-shelf-bg:#fff9e5;
  --lfp-shelf-bleed-x:10px;
  --lfp-shelf-pad-y:32px;
  background:var(--lfp-shelf-bg);
  margin-left:calc(-1 * var(--lfp-shelf-bleed-x));
  margin-right:calc(-1 * var(--lfp-shelf-bleed-x));
  padding-left:var(--lfp-shelf-bleed-x);
  padding-right:var(--lfp-shelf-bleed-x);
  padding-top:var(--lfp-shelf-pad-y);
  padding-bottom:var(--lfp-shelf-pad-y);
}
.lfp-shelf .lfp-kicker {display:inline-block; background:#ffe16a; color:var(--lfp-ink); font-size:11px; font-weight:700; padding:3px 10px; margin:0 0 10px; letter-spacing:.05em;}

.lfp-shelf .lfp-existing-slider {min-width:0;}

.lfp-shelf .lfp-existing-slider .slick-dots {display:none !important;}
.lfp-shelf .lfp-series-link {display:flex; align-items:center; justify-content:center; gap:10px; width:310px; max-width:100%; min-height:48px; margin:24px auto 0; padding:12px 18px; background:#fff; color:var(--lfp-ink); border:1px solid #d8d3c5; font-size:13px; font-weight:600; line-height:1.7; text-decoration:none; text-align:center;}
.lfp-shelf .lfp-series-link:hover {background:#fffdf6;}

.lfp-shelf .lfp-series-link span {display:block; width:8px; height:8px; border-top:2px solid #666666; border-right:2px solid #666666; transform:rotate(45deg); flex-shrink:0;}
.lfp .lfp-shelf-head {margin:0 0 12px; padding:0 0 0 14px;}

/* BRANDS: */
.lfp-brands {--lfp-brand-bg:#fff9e5; --lfp-brand-columns:3; background:#fff;}
.lfp-brands--4 {--lfp-brand-columns:4;}
.lfp-brands .lfp-brand-grid {display:grid; grid-template-columns:repeat(var(--lfp-brand-columns),minmax(0,1fr)); gap:24px; margin:0; padding:0; list-style:none;}
.lfp-brands .lfp-brand {display:grid; grid-template-columns:minmax(0,46fr) minmax(0,54fr); align-items:stretch; gap:12px; min-width:0; margin:0; padding:0; min-height:206px;}
.lfp-brands .lfp-brand-info {color:var(--lfp-ink); text-decoration:none; display:flex; flex-direction:column; align-items:stretch; min-width:0; padding:20px 12px 14px; background:var(--lfp-brand-bg);}
.lfp-brands .lfp-brand-logo {display:block; width:100%; height:auto; aspect-ratio:380/108; object-fit:contain; margin:0; border:0;}
.lfp-brands .lfp-brand-name {font-family:inherit; font-size:13px; font-weight:700; line-height:1.5; text-align:center; color:var(--lfp-ink); margin:12px 0 20px; padding:0; overflow-wrap:anywhere;}
.lfp-brands .lfp-brand-link {display:block; margin-top:auto; padding-top:11px; border-top:1px solid #dfd7c3; color:var(--lfp-ink); font-size:11px; line-height:1.8; text-decoration:none; overflow-wrap:anywhere;}
.lfp-brands .lfp-brand-link span {display:flex; align-items:center; justify-content:space-between; gap:5px; font-weight:600;}
.lfp-brands .lfp-brand-link i {font-size:17px; font-style:normal; font-weight:400;}
.lfp-brands .lfp-brand-photo {display:flex; align-items:center; justify-content:center; min-width:0; overflow:hidden;}
.lfp-brands .lfp-brand-photo img {display:block; width:100%; height:206px; object-fit:contain; transform:scale(var(--lfp-product-scale,1)); border:0; margin:0;}
.lfp-brands--4 .lfp-brand-grid {gap:20px;}
.lfp-brands--4 .lfp-brand {gap:8px; min-height:190px;}
.lfp-brands--4 .lfp-brand-info {padding:20px 9px 12px;}
.lfp-brands--4 .lfp-brand-name {font-size:12px;}
.lfp-brands--4 .lfp-brand-link {font-size:10px;}
.lfp-brands--4 .lfp-brand-photo img {height:190px;}

.lfp-brands .lfp-brand-info:hover .lfp-brand-link {text-decoration:underline; text-underline-offset:3px;}


.lfp .lfp-head > h2.lfp-heading,
.lfp .lfp-shelf-head > h2.lfp-heading {
 display:block; position:static; float:none; width:auto; height:auto;
 min-height:0; max-height:none; margin:0; padding:0; border:0;
 background:none; box-shadow:none; text-indent:0;
 color:var(--lfp-ink); font-family:inherit; font-size:20px;
 font-weight:700; line-height:1.2; letter-spacing:.025em;
}
.lfp .lfp-head > h2.lfp-heading::before,
.lfp .lfp-head > h2.lfp-heading::after,
.lfp .lfp-shelf-head > h2.lfp-heading::before,
.lfp .lfp-shelf-head > h2.lfp-heading::after {content:none; display:none;}

/* ============ タブレット: 768px〜1100px（元PCファイルの調整） ============ */
@media (max-width:1100px) and (min-width:768px) {
 .lfp-shelf {--lfp-card-width:calc((100% - 60px) / 3.5);}
 .lfp-brands .lfp-brand-grid {gap:16px;}
 .lfp-brands .lfp-brand {gap:8px;}
 .lfp-brands .lfp-brand-info {padding-left:8px; padding-right:8px;}
}

/* ============ SP: 767px以下（元SPファイルの調整） ============ */
@media (max-width:767px) {
 .lfp {--lfp-space-x:20px; --lfp-section-space:28px; margin-bottom:12px; padding: 0 6px;}
 .lfp .lfp-eyebrow {margin:0; font-size:11px;}
 .lfp .lfp-head {margin:0 0 8px; padding:0;}
 .lfp .lfp-heading {font-size:20px;}
 .lfp .lfp-catch {font-size:12px;}
 .lfp-news {--lfp-label-max:38%; --lfp-news-gap:8px; padding: 0;}
 .lfp-news .lfp-news-link {font-size:12px; padding:12px 0; min-height:52px;}
 .lfp-news .lfp-news-list {grid-template-columns:fit-content(var(--lfp-label-max)) minmax(0,1fr) 12px;}
 .lfp-news .lfp-news-tag {font-size:12px; padding:3px 6px;}
 .lfp-news .lfp-news-text {padding-right:2px; font-size: 13px;}


 .lfp-shelf {
   --lfp-shelf-pad-y:24px;
   width:100vw;
   max-width:100vw;
   margin-left:50%;
   transform:translateX(-50%);
   padding-top:var(--lfp-shelf-pad-y);
   padding-bottom:var(--lfp-shelf-pad-y);
   padding-left:10px;
   padding-right:10px;
 }
 .lfp .lfp-shelf-head {margin:0 0 8px; padding:0;}

 .lfp-shelf .lfp-existing-slider .arrow-prev,
 .lfp-shelf .lfp-existing-slider .arrow-next,
 .lfp-shelf .lfp-existing-slider .slick-arrow {display:none !important;}

 .lfp-shelf .lfp-series-link {font-size:12px; width:90%; margin-top:10px; padding: 8px 18px;}
 .lfp-brands .lfp-brand-grid {grid-template-columns:minmax(0,1fr); gap:20px;}
 .lfp-brands .lfp-brand {grid-template-columns:minmax(0,46fr) minmax(0,54fr); gap:16px; min-height:196px;}
 .lfp-brands .lfp-brand-info {padding:22px 12px 14px;}
 .lfp-brands .lfp-brand-logo {max-width:160px; margin:0 auto;}
 .lfp-brands .lfp-brand-name {font-size:13px;}
 .lfp-brands .lfp-brand-link {font-size:11px;}
 .lfp-brands .lfp-brand-photo img {height:196px;}

 .lfp .lfp-head > h2.lfp-heading,
 .lfp .lfp-shelf-head > h2.lfp-heading {font-size:18px;}
}

/* 商品棚プリセットカラー(1〜5) */
.lfp-shelf.shelf-color1 .lfp-kicker {background:#ffe16a;} /* 黄色 */
.lfp-shelf.shelf-color2 .lfp-kicker {background:#f6c9b8;} /* ピンク */
.lfp-shelf.shelf-color3 .lfp-kicker {background:#bcd9f2;} /* 青 */
.lfp-shelf.shelf-color4 .lfp-kicker {background:#c9e0b9;} /* 緑 */
.lfp-shelf.shelf-color5 .lfp-kicker {background:#d9c7ec;} /* 紫 */
