/* =========================================================
  NATURAL PORK LINK / 新テーマ「共通」CSS  ver.3 Editorial Premium
  貼り付け先: 新テーマ → 共通 → HTML・CSS の【CSS欄】（全置換）
  ※エディトリアル系（オフホワイト×濃墨×金茶／明朝＋イタリック英字）
  ※既存の商品一覧/詳細/特商法/プライバシー等のnpl-*クラスも互換維持
  ※管理画面「色設定」は初期(白/黒)のままに（本CSSが配色を制御）
========================================================= */
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Noto+Serif+JP:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap");
@import url("https://cdn.jsdelivr.net/npm/bxslider@4.2.14/dist/jquery.bxslider.min.css");

/* ===== トークン ===== */
:root{
  /* Editorial */
  --bg:#FBF9F5;
  --bg-2:#F3EFE7;
  --ink:#1A1714;
  --ink-mute:#5C544B;
  --ink-dim:#8F867A;
  --paper:#FFFFFF;
  --line:rgba(26,23,20,0.10);
  --line-strong:rgba(26,23,20,0.22);
  --gold:#A97834;
  --gold-soft:#C28F42;
  --blood:#5A2A1E;
  --blood-bright:#8B3A2B;
  --serif-en:"Cormorant Garamond",serif;
  --serif-jp:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;
  /* npl backward compat（他ページで使用） */
  --npl-green:#1f3d2f;--npl-green-d:#16291f;
  --npl-copper:#b8472d;--npl-copper-d:#9c3a22;
  --npl-gold:#c8a24a;--npl-cream:#faf7f1;--npl-paper:#fff;
  --npl-ink:#2a2622;--npl-muted:#8a8278;--npl-line:#e7e1d6;
  --npl-radius:14px;--npl-shadow:0 6px 24px rgba(31,61,47,.10);--npl-shadow-lg:0 16px 48px rgba(31,61,47,.16);
  --npl-serif:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  --npl-sans:"Helvetica Neue","Hiragino Sans","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0;}
html,body{background:var(--bg);color:var(--ink);font-family:var(--serif-jp);font-weight:300;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body{font-size:15px;line-height:1.95;letter-spacing:.02em;}
img{display:block;max-width:100%;height:auto;vertical-align:top;}
ul,ol,dl,dd{list-style:none;}
a{color:inherit;text-decoration:none;transition:color .2s;}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;}
.container{max-width:1400px;margin:0 auto;padding:0 60px;}

/* ===== 上部告知バー ===== */
.announce{background:var(--bg-2);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11px;letter-spacing:.25em;color:var(--ink-mute);padding:10px 60px;display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;}
.announce .ticker{display:flex;gap:36px;flex-wrap:wrap;}
.announce .ticker span{display:inline-flex;align-items:center;gap:10px;}
.announce .ticker .dot{width:4px;height:4px;background:var(--gold-soft);border-radius:50%;display:inline-block;}
.announce .locale{color:var(--ink-dim);white-space:nowrap;}

/* ===== ヘッダー ===== */
.header{position:sticky;top:0;z-index:40;background:rgba(251,249,245,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);}
.header-inner{display:grid;grid-template-columns:1fr auto 1fr;gap:40px;align-items:center;padding:22px 60px;}
.nav{display:flex;gap:32px;font-family:var(--serif-jp);font-size:13px;font-weight:400;letter-spacing:.12em;}
.nav-item{position:relative;padding:18px 0;margin:-18px 0;}
.nav-item > a{position:relative;padding:6px 0;color:var(--ink-mute);display:inline-block;}
.nav-item > a:hover{color:var(--ink);}
.nav-item > a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--gold-soft);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
.nav-item:hover > a{color:var(--ink);}
.nav-item:hover > a::after{transform:scaleX(1);}
.nav-mega{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);min-width:240px;background:var(--paper);border:1px solid var(--line);box-shadow:0 20px 50px rgba(26,23,20,.10);padding:14px 0;opacity:0;visibility:hidden;transition:opacity .25s ease,transform .25s ease,visibility .25s;z-index:50;}
.nav-item:hover .nav-mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.nav-mega::before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px;}
.nav-mega ul{list-style:none;margin:0;padding:0;}
.nav-mega li a{display:block;padding:10px 22px;font-family:var(--serif-jp);font-size:13px;color:var(--ink-mute);letter-spacing:.08em;white-space:nowrap;line-height:1.4;}
.nav-mega li a:hover{color:var(--gold-soft);background:var(--bg-2);}
.brand{font-family:var(--serif-en);font-size:24px;letter-spacing:.32em;font-weight:500;text-align:center;line-height:1;color:var(--ink);white-space:nowrap;}
.brand small{display:block;font-family:var(--serif-jp);font-size:10px;letter-spacing:.45em;color:var(--gold-soft);margin-top:7px;font-weight:400;}
.brand img{max-height:32px;width:auto;display:inline-block;}
.utility{display:flex;justify-content:flex-end;gap:18px;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--ink-mute);text-transform:uppercase;}
.utility a{display:inline-flex;align-items:center;gap:8px;}
.utility a:hover{color:var(--gold-soft);}
.utility .pipe{width:1px;height:14px;background:var(--line-strong);}
.util-fav{display:inline-flex;align-items:center;gap:6px;color:var(--gold-soft);}
.util-fav.is-empty{display:none;}
.cart-btn{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border:1px solid var(--line-strong);border-radius:2px;transition:all .2s;}
.cart-btn:hover{border-color:var(--gold-soft);color:var(--gold-soft);}
.cart-btn .count{font-family:var(--serif-en);font-size:13px;}
.burger{display:none;width:38px;height:38px;border:1px solid var(--line-strong);background:transparent;border-radius:2px;position:relative;}
.burger span{position:absolute;left:9px;right:9px;height:1px;background:var(--ink);}
.burger span:nth-child(1){top:12px;}.burger span:nth-child(2){top:18px;}.burger span:nth-child(3){top:24px;}

/* 検索モーダル */
.search-modal{position:fixed;inset:0;background:rgba(251,249,245,.98);backdrop-filter:blur(20px);z-index:9000;display:none;align-items:center;justify-content:center;}
.search-modal.is-open{display:flex;}
.search-modal__form{width:min(720px,90%);position:relative;border-bottom:1px solid var(--line-strong);padding:18px 0;display:flex;align-items:center;gap:20px;}
.search-modal__label{flex:0 0 auto;font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--gold-soft);text-transform:uppercase;white-space:nowrap;line-height:1.2;padding-right:6px;}
.search-modal__input{flex:1;border:0;background:transparent;font-family:var(--serif-jp);font-size:24px;font-weight:300;outline:none;color:var(--ink);}
.search-modal__btn{font-family:var(--serif-en);font-style:italic;font-size:28px;color:var(--gold-soft);background:none;border:0;cursor:pointer;}
.search-modal__close{position:absolute;top:30px;right:36px;background:none;border:0;font-size:26px;color:var(--ink-mute);cursor:pointer;}

/* ドロワー（モバイル） */
.drawer,.drawer-overlay{display:none;}
.drawer-open .drawer-overlay{display:block;position:fixed;inset:0;background:rgba(26,23,20,.55);z-index:8000;}
.drawer-open .drawer{display:block;position:fixed;top:0;right:0;bottom:0;width:86%;max-width:380px;background:var(--bg);z-index:8500;overflow-y:auto;padding:60px 28px 40px;}
.drawer__list li{border-bottom:1px solid var(--line);}
.drawer__list li.is-sep{border:0;height:18px;}
.drawer__list li a{display:flex;justify-content:space-between;align-items:baseline;padding:16px 4px;font-family:var(--serif-jp);font-size:16px;color:var(--ink);}
.drawer__list li a em{font-family:var(--serif-en);font-style:italic;font-size:12px;color:var(--gold-soft);letter-spacing:.15em;}
.js-fav-drawer-item.is-empty{display:none;}

/* ===== メイン ===== */
.main{min-height:60vh;}
.main--free{padding-top:30px;}
.crumbs{display:flex;flex-wrap:wrap;gap:14px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--ink-dim);text-transform:uppercase;padding:20px 0;}
.crumbs li:not(:last-child)::after{content:"/";margin-left:14px;color:var(--line-strong);}
.crumbs a:hover{color:var(--gold-soft);}

/* ===== セクション共通 ===== */
.section{padding:120px 0 60px;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;gap:24px;}
.section-label{font-family:var(--mono);font-size:11px;letter-spacing:.4em;color:var(--gold-soft);text-transform:uppercase;display:flex;align-items:center;gap:14px;}
.section-label::before{content:"";width:40px;height:1px;background:var(--gold);}
.section-title{font-family:var(--serif-jp);font-weight:400;font-size:46px;line-height:1.25;letter-spacing:.04em;margin-top:14px;text-wrap:balance;}
.section-title em{display:block;font-family:var(--serif-en);font-style:italic;font-size:20px;color:var(--gold-soft);letter-spacing:.2em;margin-top:10px;font-weight:400;text-transform:uppercase;}
.section-link{font-family:var(--serif-en);font-style:italic;font-size:17px;color:var(--gold-soft);border-bottom:1px solid var(--gold);padding-bottom:4px;display:inline-flex;align-items:center;gap:10px;white-space:nowrap;}
.section-link:hover{color:var(--ink);border-color:var(--ink);}
.section-more{text-align:center;margin-top:48px;}

/* ===== ヒーロー ===== */
.hero{position:relative;max-width:1400px;margin:30px auto 0;background:transparent;}
.hero .bg{position:relative;aspect-ratio:21/9;background:transparent;overflow:hidden;}
.hero .bg iframe{border:0;width:100%;height:100%;}
.hero-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
.hero-bg-img[src=""],.hero-bg-img:not([src]){display:none!important;}

/* bxSlider &#8212; 全画像を同サイズ(hero枠)に揃え、中央クロップで表示 */
.hero .bg .slider,.hero .bg .bx-wrapper,.hero .bg .bx-viewport{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;background:none!important;max-width:none!important;box-shadow:none!important;}
.hero .bg #slider,.hero .bg .slider ul,.hero .bg ul#slider{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;list-style:none!important;}
.hero .bg #slider > *,.hero .bg .slider li,.hero .bg ul#slider li,.hero .bg .bx-slide{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;list-style:none!important;margin:0!important;padding:0!important;}
.hero .bg #slider > * a,.hero .bg .slider li a,.hero .bg ul#slider li a{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;display:block!important;line-height:0;}
.hero .bg #slider img,.hero .bg .slider img,.hero .bg ul#slider img,.hero .bg .bx-slide img{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;object-fit:cover!important;object-position:center center!important;background:transparent;}
.hero .bg .bx-wrapper .bx-controls-auto,.hero .bg .bx-wrapper .bx-caption,.hero .bg .bx-wrapper .bx-controls-direction a{display:none!important;}

/* ページネーション（画像下部に絶対配置で重ねる） */
.hero .bg .bx-wrapper .bx-controls,
.hero .bg .bx-wrapper .bx-pager{position:absolute!important;top:auto!important;left:0!important;right:0!important;bottom:14px!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;z-index:20!important;background:transparent!important;display:block!important;text-align:center!important;}
.hero .bg .bx-wrapper .bx-pager-item{display:inline-block!important;margin:0 6px!important;line-height:0!important;width:auto!important;height:auto!important;position:static!important;}
.hero .bg .bx-wrapper .bx-pager.bx-default-pager a{display:inline-block!important;width:10px!important;height:10px!important;border-radius:50%!important;background:rgba(255,255,255,.55)!important;background-image:none!important;text-indent:-9999px!important;overflow:hidden!important;border:0!important;transition:width .25s ease,background .2s ease,border-radius .25s ease!important;outline:none!important;box-shadow:0 1px 3px rgba(0,0,0,.35)!important;position:static!important;top:auto!important;left:auto!important;padding:0!important;margin:0!important;}
.hero .bg .bx-wrapper .bx-pager.bx-default-pager a:hover,.hero .bg .bx-wrapper .bx-pager.bx-default-pager a.active{background:var(--gold-soft)!important;width:28px!important;border-radius:5px!important;}

/* プロモバナー（お知らせとカテゴリの間） */
.promo-banner{padding:40px 0 20px;}
.promo-banner__inner{display:block;max-width:1400px;margin:0 auto;line-height:0;transition:opacity .2s;}
.promo-banner__inner:hover{opacity:.92;}
.promo-banner__img{display:block;width:100%;height:auto;}
.promo-banner__cta{display:flex;justify-content:center;padding:22px 0 0;}

/* 詳しく見るボタン（画像の下） */
.hero-foot{display:flex;justify-content:center;padding:18px 0 0;}
.hero-slide-btn{display:inline-flex;align-items:center;gap:10px;padding:13px 32px;background:transparent;color:var(--ink);font-family:var(--serif-jp);font-size:13px;font-weight:500;letter-spacing:.28em;border:1px solid var(--ink);transition:.2s;text-decoration:none;}
.hero-slide-btn:hover{background:var(--ink);color:var(--bg);border-color:var(--ink);}
/* .hero::after オーバーレイは削除 */
.hero-copy{position:absolute;left:60px;right:60px;bottom:110px;z-index:2;max-width:1400px;margin:0 auto;}
.hero-inner{max-width:780px;}
.hero .eyebrow{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:11px;letter-spacing:.4em;color:var(--gold-soft);text-transform:uppercase;margin-bottom:28px;}
.hero .eyebrow .line{width:40px;height:1px;background:var(--gold);}
.hero h1{font-family:var(--serif-jp);font-weight:300;font-size:72px;line-height:1.18;letter-spacing:.02em;color:#fff;text-wrap:balance;}
.hero h1 em{font-family:var(--serif-en);font-style:italic;font-weight:400;color:var(--gold-soft);}
.hero .sub{margin-top:30px;font-size:15px;line-height:2.1;color:rgba(255,255,255,.88);max-width:520px;letter-spacing:.06em;}
.hero .ctas{margin-top:40px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;}
.hero .big-number{position:absolute;top:60px;right:80px;text-align:right;font-family:var(--serif-en);font-style:italic;color:rgba(255,255,255,.06);font-size:200px;line-height:.9;font-weight:300;pointer-events:none;z-index:1;}
.scroll-indicator{position:absolute;bottom:40px;left:60px;display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:10px;letter-spacing:.3em;color:rgba(255,255,255,.5);text-transform:uppercase;z-index:2;}
.scroll-indicator .bar{width:36px;height:1px;background:rgba(255,255,255,.4);position:relative;overflow:hidden;}
.scroll-indicator .bar::after{content:"";position:absolute;left:-36px;top:0;width:36px;height:1px;background:var(--gold-soft);animation:slide 2.4s ease-in-out infinite;}
@keyframes slide{0%{left:-36px;}100%{left:36px;}}

/* ===== ボタン ===== */
.btn-primary{display:inline-flex;align-items:center;gap:14px;padding:18px 36px;background:var(--ink);color:var(--bg);border-radius:2px;font-family:var(--serif-jp);font-size:13px;letter-spacing:.35em;font-weight:500;transition:background .25s ease;}
.btn-primary:hover{background:var(--gold-soft);color:var(--bg);}
.btn-primary .a{font-family:var(--serif-en);font-style:italic;font-size:15px;letter-spacing:.02em;}
.btn-ghost{display:inline-flex;align-items:center;gap:10px;padding:16px 0;font-family:var(--serif-en);font-style:italic;font-size:16px;color:#fff;border-bottom:1px solid var(--gold);}
.btn-ghost:hover{color:var(--gold-soft);}
.btn-ghost.dark{color:var(--ink);}

/* ===== カテゴリ ===== */
.cat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
.cat-card{position:relative;aspect-ratio:3/4;overflow:hidden;cursor:pointer;border:1px solid var(--line);transition:transform .5s cubic-bezier(.2,.7,.2,1),border-color .3s;background:linear-gradient(180deg,#6b5a45,#3a2c20);display:block;}
.cat-card:hover{transform:translateY(-6px);border-color:var(--gold-soft);}
.cat-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(15,13,11,.92));pointer-events:none;}
.cat-card .n{position:absolute;top:20px;left:22px;font-family:var(--serif-en);font-style:italic;font-size:13px;color:var(--gold-soft);letter-spacing:.15em;z-index:2;}
.cat-card .meta{position:absolute;left:22px;right:22px;bottom:22px;z-index:2;color:#fff;}
.cat-card .jp{font-family:var(--serif-jp);font-size:22px;font-weight:400;letter-spacing:.08em;}
.cat-card .en{font-family:var(--serif-en);font-style:italic;font-size:13px;color:rgba(255,255,255,.7);letter-spacing:.15em;margin-top:4px;}
.cat-card .arrow{position:absolute;right:22px;bottom:26px;font-family:var(--serif-en);font-size:24px;color:#fff;transform:translateX(-6px);opacity:0;transition:all .4s ease;z-index:2;}
.cat-card:hover .arrow{transform:translateX(0);opacity:1;}

/* ===== シグネチャ商品 ===== */
.signature{display:grid;grid-template-columns:7fr 5fr;gap:60px;align-items:center;}
.signature .visual{position:relative;height:640px;overflow:hidden;background:linear-gradient(135deg,#4a3a2b,#1a1714);}
.signature .visual img{width:100%;height:100%;object-fit:cover;}
.signature .visual .tag{position:absolute;top:24px;left:24px;font-family:var(--mono);font-size:10px;letter-spacing:.3em;padding:8px 14px;border:1px solid rgba(255,255,255,.7);color:#fff;background:rgba(26,23,20,.55);text-transform:uppercase;backdrop-filter:blur(4px);}
.signature .visual .days{position:absolute;bottom:24px;right:24px;font-family:var(--serif-en);font-style:italic;font-size:88px;color:#fff;line-height:1;font-weight:300;text-shadow:0 4px 30px rgba(0,0,0,.5);}
.signature .visual .days small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.3em;color:var(--gold-soft);text-align:right;margin-top:4px;font-style:normal;text-transform:uppercase;}
.signature .info .pretitle{font-family:var(--serif-en);font-style:italic;color:var(--gold-soft);font-size:15px;letter-spacing:.18em;}
.signature .info h3{font-family:var(--serif-jp);font-weight:400;font-size:36px;line-height:1.4;letter-spacing:.04em;margin-top:14px;}
.signature .info p{margin-top:24px;font-size:15px;line-height:2.1;color:var(--ink-mute);letter-spacing:.05em;}
.signature .info .row{margin-top:30px;display:flex;gap:24px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.signature .info .row .cell{flex:1;}
.signature .info .row .k{font-family:var(--mono);font-size:10px;letter-spacing:.25em;color:var(--ink-dim);text-transform:uppercase;}
.signature .info .row .v{font-family:var(--serif-jp);font-size:14px;margin-top:6px;color:var(--ink);letter-spacing:.06em;}
/* シグネチャ情報を dl 形式で（dt:左ラベル / dd:右値、横並び） */
.signature .info .row--dl{display:grid;grid-template-columns:max-content 1fr;column-gap:24px;row-gap:14px;align-items:baseline;padding:22px 0;margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.signature .info .row--dl dt{font-family:var(--mono);font-size:10px;letter-spacing:.25em;color:var(--ink-dim);text-transform:uppercase;margin:0;}
.signature .info .row--dl dd{font-family:var(--serif-jp);font-size:14px;color:var(--ink);letter-spacing:.04em;margin:0;line-height:1.5;}
.signature .info .price{font-family:var(--serif-jp);font-weight:600;font-size:32px;margin-top:24px;color:var(--ink);letter-spacing:.02em;}
.signature .info .price small{font-family:var(--mono);font-size:11px;color:var(--ink-dim);margin-left:10px;letter-spacing:.2em;}
.signature .info .ctas{display:flex;gap:16px;margin-top:24px;flex-wrap:wrap;}
.btn-primary.dark{background:var(--ink);color:var(--bg);}

/* ===== 商品グリッド ===== */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 24px;}
.product-card{cursor:pointer;}
.product-card .thumb{position:relative;aspect-ratio:1;overflow:hidden;background:linear-gradient(135deg,#c9b89a,#8a7558);border:1px solid var(--line);}
.product-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1);}
.product-card:hover .thumb img{transform:scale(1.06);}
.product-card .tags{position:absolute;top:14px;left:14px;display:flex;flex-direction:column;gap:6px;}
.tag{font-family:var(--mono);font-size:9px;letter-spacing:.25em;padding:5px 9px;background:rgba(26,23,20,.85);color:#F7F3EA;text-transform:uppercase;backdrop-filter:blur(4px);}
.tag.new{color:#fff;background:var(--gold);}
.tag.free{color:#fff;background:#5E7A5B;}
.product-card .wish{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.86);color:var(--ink-mute);backdrop-filter:blur(6px);border:1px solid var(--line);transition:.2s;}
.product-card .wish:hover{color:var(--gold-soft);transform:scale(1.08);}
.product-card .soldout{position:absolute;inset:0;background:rgba(26,23,20,.55);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;letter-spacing:.3em;}
.product-card .cat{font-family:var(--mono);font-size:10px;letter-spacing:.25em;color:var(--ink-dim);text-transform:uppercase;margin-top:16px;}
.product-card h4{margin-top:6px;font-size:15px;font-weight:400;line-height:1.55;letter-spacing:.04em;color:var(--ink);}
.product-card .price{font-family:var(--serif-jp);font-weight:600;font-size:18px;margin-top:8px;color:var(--ink);letter-spacing:.02em;}
/* 価格内の (本体○○円、税○○円) を小さく薄く */
.price-paren{display:inline;font-family:var(--serif-jp);font-weight:400;font-size:.55em;color:var(--ink-dim);margin-left:6px;letter-spacing:.02em;vertical-align:2px;white-space:nowrap;}

/* ===== ストーリー（引用） ===== */
.story-block{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:center;padding:120px 60px;background:linear-gradient(180deg,rgba(184,128,58,.05),transparent 60%),var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:1400px;margin:120px auto 0;}
.story-block .visual{position:relative;height:560px;overflow:hidden;background:linear-gradient(135deg,#3d2f22,#1a1714);}
.story-block .visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.story-block .text .label{font-family:var(--mono);font-size:11px;letter-spacing:.4em;color:var(--gold-soft);text-transform:uppercase;}
.story-block .text .huge-q{font-family:var(--serif-en);font-style:italic;font-size:140px;line-height:.8;color:var(--gold);opacity:.3;margin-top:10px;}
.story-block .text .quote{margin-top:-30px;font-family:var(--serif-jp);font-weight:300;font-size:28px;line-height:1.95;letter-spacing:.06em;position:relative;z-index:2;text-wrap:balance;}
.story-block .text .quote em{font-family:var(--serif-en);font-style:italic;color:var(--gold-soft);}
.story-block .text .byline{margin-top:30px;font-family:var(--mono);font-size:11px;letter-spacing:.3em;color:var(--ink-dim);display:flex;align-items:center;gap:12px;text-transform:uppercase;}
.story-block .text .byline::before{content:"";width:28px;height:1px;background:var(--ink-dim);}
.story-block .text .link{margin-top:30px;display:inline-flex;gap:12px;font-family:var(--serif-en);font-style:italic;font-size:17px;color:var(--gold-soft);border-bottom:1px solid var(--gold);padding-bottom:4px;}

/* ===== ランキング ===== */
.rank-rail{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;}
.rank-card{position:relative;cursor:pointer;}
.rank-card .num{font-family:var(--serif-en);font-style:italic;font-weight:300;font-size:96px;line-height:.8;color:transparent;-webkit-text-stroke:1.2px var(--gold);position:absolute;top:-22px;left:-10px;z-index:2;pointer-events:none;}
.rank-card .thumb{aspect-ratio:1;overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,#c9b89a,#7a6852);}
.rank-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease;}
.rank-card:hover .thumb img{transform:scale(1.06);}
.rank-card h5{margin-top:16px;font-size:14px;font-weight:400;line-height:1.6;letter-spacing:.04em;max-width:240px;}
.rank-card .price{font-family:var(--serif-jp);font-weight:600;font-size:17px;margin-top:6px;color:var(--ink);letter-spacing:.02em;}

/* ===== Land Strip ===== */
.land-strip{position:relative;height:480px;overflow:hidden;margin-top:100px;background-color:#1a1714;background-repeat:no-repeat;background-position:center center;background-size:cover;}
.land-strip::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,249,245,.95) 0%,rgba(251,249,245,.75) 30%,rgba(26,23,20,.5) 65%,rgba(26,23,20,.92) 100%);}
.land-strip .copy{position:absolute;inset:0;display:flex;align-items:center;z-index:2;}
.land-strip .copy .inner{max-width:1400px;width:100%;margin:0 auto;padding:0 60px;}
.land-strip .copy h2{font-family:var(--serif-jp);font-weight:300;font-size:46px;line-height:1.35;max-width:580px;letter-spacing:.04em;text-wrap:balance;}
.land-strip .copy h2 em{font-family:var(--serif-en);font-style:italic;color:var(--gold-soft);}
.land-strip .copy .sub{margin-top:24px;max-width:420px;font-size:14px;line-height:2;color:var(--ink-mute);letter-spacing:.06em;}
.land-strip .copy .link{margin-top:30px;display:inline-flex;gap:12px;font-family:var(--serif-en);font-style:italic;font-size:17px;color:var(--gold-soft);border-bottom:1px solid var(--gold);padding-bottom:4px;}
.land-strip .big-en{position:absolute;right:60px;top:50%;transform:translateY(-50%);font-family:var(--serif-en);font-style:italic;font-size:170px;color:rgba(26,23,20,.04);font-weight:300;pointer-events:none;}

/* ===== NEWS ===== */
.news-grid{columns:2;column-gap:80px;}
.news-grid--single{columns:1!important;max-width:860px;margin:0 auto;}
.section--news-top{padding:50px 0 30px;}
.news-item{display:grid;grid-template-columns:120px 1fr auto;gap:24px;padding:22px 0;border-top:1px solid var(--line);align-items:center;cursor:pointer;transition:padding .3s;break-inside:avoid;text-decoration:none;}
.news-item:hover{padding-left:10px;}
.news-item:last-child{border-bottom:1px solid var(--line);}
.news-item .date{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--gold-soft);}
.news-item .title{font-size:14px;color:var(--ink);line-height:1.55;letter-spacing:.03em;}
.news-item .arrow{color:var(--ink-dim);font-family:var(--serif-en);font-style:italic;font-size:18px;transition:.2s;}
.news-item:hover .arrow{color:var(--gold-soft);transform:translateX(4px);}

/* ===== フッター ===== */
.footer{background:var(--bg-2);border-top:1px solid var(--line);padding:100px 60px 40px;margin-top:120px;}
.footer-inner{max-width:1400px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:2fr 3fr;gap:80px;padding-bottom:60px;border-bottom:1px solid var(--line);}
.footer-big{font-family:var(--serif-en);font-size:58px;letter-spacing:.18em;line-height:1.05;color:var(--ink);font-weight:400;}
.footer-big a{color:inherit;}
.footer-big small{display:block;font-family:var(--serif-jp);font-size:11px;letter-spacing:.45em;color:var(--gold-soft);margin-top:18px;font-weight:400;}
.footer-big img{max-height:48px;width:auto;}
.footer-shop{margin-top:14px;font-size:12px;color:var(--ink-mute);}
.footer-address{margin-top:36px;font-size:13px;color:var(--ink-mute);line-height:2;letter-spacing:.08em;}
.footer-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;font-size:13px;line-height:2.2;}
.footer h6{font-family:var(--mono);font-size:10px;letter-spacing:.35em;color:var(--gold-soft);margin-bottom:14px;text-transform:uppercase;font-weight:500;}
.footer-cols a{display:block;color:var(--ink-mute);}
.footer-cols a:hover{color:var(--ink);}
.footer-bottom{display:flex;justify-content:space-between;padding-top:30px;font-family:var(--mono);font-size:10px;letter-spacing:.25em;color:var(--ink-dim);text-transform:uppercase;flex-wrap:wrap;gap:16px;}

/* ===== カート追加モーダル（既存トップ詳細用） ===== */
.npl-cart-iframe{position:absolute;width:0;height:0;border:0;overflow:hidden;opacity:0;pointer-events:none;}
.npl-cartmodal{position:fixed;inset:0;z-index:5000;display:none;}
.npl-cartmodal.is-open{display:block;}
.npl-cartmodal__overlay{position:absolute;inset:0;background:rgba(26,23,20,.65);}
.npl-cartmodal__box{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% - 40px);max-width:440px;background:var(--paper);border:1px solid var(--line);padding:40px 32px;text-align:center;}
.npl-cartmodal__msg{font-family:var(--serif-jp);font-size:18px;color:var(--ink);margin:0 0 26px;line-height:1.7;font-weight:400;}
.npl-cartmodal__btns{display:flex;flex-direction:column;gap:12px;}
.npl-cartmodal__btns .npl-btn{width:100%;}

/* ===== レスポンシブ ===== */
@media screen and (max-width:1100px){
  .container{padding:0 24px;}
  .announce{padding:8px 24px;font-size:10px;letter-spacing:.18em;}
  .announce .ticker{gap:18px;}
  .announce .locale{display:none;}
  .header-inner{padding:16px 24px;grid-template-columns:auto 1fr auto;gap:14px;}
  .nav,.utility .pipe,.utility a:not(.cart-btn):not(.util-fav),.search-modal__close{display:none;}
  .utility{gap:10px;}
  .brand{font-size:18px;letter-spacing:.22em;}
  .brand small{font-size:9px;letter-spacing:.35em;}
  .burger{display:block;}
  .hero{max-width:none;margin:12px;}
  .hero .bg{aspect-ratio:16/9;}
  .hero-slide-btn{padding:11px 22px;font-size:12px;letter-spacing:.2em;}
  .hero .bg .bx-wrapper .bx-pager{bottom:10px!important;}
  .hero .bg .bx-wrapper .bx-pager.bx-default-pager a{width:8px!important;height:8px!important;}
  .hero .bg .bx-wrapper .bx-pager.bx-default-pager a.active{width:22px!important;}
  .section{padding:70px 0 30px;}
  .section-head{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:30px;}
  .section-title{font-size:30px;}
  .section-title em{font-size:16px;}
  .cat-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .signature{grid-template-columns:1fr;gap:30px;}
  .signature .visual{height:380px;}
  .signature .info h3{font-size:26px;}
  .signature .info .price{font-size:30px;}
  .product-grid{grid-template-columns:repeat(2,1fr);gap:24px 14px;}
  .story-block{grid-template-columns:1fr;padding:60px 24px;gap:30px;margin-top:60px;}
  .story-block .visual{height:300px;}
  .story-block .text .quote{font-size:22px;}
  .story-block .text .huge-q{font-size:80px;}
  .rank-rail{grid-template-columns:repeat(2,1fr);gap:32px 14px;}
  .rank-card .num{font-size:72px;}
  .land-strip{height:auto;padding:60px 0;background:#2a2017;margin-top:60px;}
  .land-strip::after{display:none;}
  .land-strip .copy h2{font-size:28px;color:#fff;}
  .land-strip .copy .sub{color:rgba(255,255,255,.75);}
  .land-strip .big-en{display:none;}
  .news-grid{columns:1;}
  .news-item{grid-template-columns:90px 1fr auto;gap:14px;}
  .footer{padding:60px 24px 30px;margin-top:60px;}
  .footer-top{grid-template-columns:1fr;gap:36px;}
  .footer-big{font-size:34px;letter-spacing:.14em;}
  .footer-cols{grid-template-columns:repeat(2,1fr);gap:28px;}
  .footer-bottom{flex-direction:column;}
}

/* =========================================================
   npl-* legacy classes (商品一覧/詳細/特商法/プライバシー/
   検索結果/オプション在庫/ブログ/ボトム共通 などで使用)
   ※削除すると既存ページのデザインが崩れます
========================================================= */
.npl-container{max-width:1180px;margin:0 auto;padding:0 24px;}
.npl-sec-ttl{text-align:center;margin:0 0 38px;line-height:1.4;}
.npl-sec-ttl__en{display:block;font-size:12px;font-weight:800;letter-spacing:.28em;color:var(--gold-soft);font-family:var(--mono);}
.npl-sec-ttl__ja{display:block;margin-top:8px;font-family:var(--serif-jp);font-size:24px;color:var(--ink);letter-spacing:.06em;}
.npl-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--ink-dim);padding:18px 0;font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;}
.npl-breadcrumbs li:not(:last-child)::after{content:" / ";margin:0 6px;color:var(--ink-dim);display:inline-block;letter-spacing:0;}
/* カラーミーキット標準パンくず矯正 */
.c-breadcrumbs-list{display:flex!important;flex-wrap:wrap;gap:0;font-size:12px;color:var(--ink-dim);font-family:var(--mono);letter-spacing:.12em;list-style:none;padding:18px 0;margin:0;}
.c-breadcrumbs-list__item{list-style:none;display:inline-flex;align-items:center;gap:0;margin:0;padding:0;}
.c-breadcrumbs-list::before,.c-breadcrumbs-list::after,
.c-breadcrumbs-list__item::before,.c-breadcrumbs-list__item::after,
.c-breadcrumbs-list__item a::before,.c-breadcrumbs-list__item a::after{content:""!important;display:none!important;}
.c-breadcrumbs-list__item:not(:last-child)::after{content:" / "!important;display:inline-block!important;margin:0 6px;color:var(--ink-dim);letter-spacing:0;}
.c-breadcrumbs-list__item a{color:var(--ink-mute);text-decoration:none;}
.c-breadcrumbs-list__item a:hover{color:var(--gold-soft);}

.npl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 32px;border:0;font-weight:500;font-size:14px;letter-spacing:.2em;transition:.2s;text-align:center;font-family:var(--serif-jp);text-decoration:none;}
.npl-btn--cta{background:var(--ink);color:var(--bg);}
.npl-btn--cta:hover{background:var(--gold-soft);color:var(--bg);}
.npl-btn--green{background:var(--ink);color:var(--bg);}
.npl-btn--green:hover{background:var(--gold-soft);color:var(--bg);}
.npl-btn--line{background:transparent;border:1px solid var(--ink);color:var(--ink);}
.npl-btn--line:hover{background:var(--ink);color:var(--bg);}

/* ボトム共通 */
.npl-bottom{padding:80px 24px 30px;max-width:1180px;}
.npl-history{margin-bottom:56px;}
.npl-history__scroll{overflow-x:auto;}
.npl-history__list{display:flex;gap:16px;}
.npl-history__item{flex:0 0 130px;}
.npl-history__img{display:block;border:1px solid var(--line);overflow:hidden;background:var(--paper);}
.npl-history__img img{width:100%;aspect-ratio:1/1;object-fit:cover;}
.npl-history__price{margin-top:8px;font-size:12px;color:var(--ink-dim);text-align:center;font-family:var(--serif-en);}
.npl-info-row{display:flex;gap:24px;margin-bottom:56px;flex-wrap:wrap;}
.npl-staff,.npl-calendar{flex:1;min-width:280px;background:var(--paper);border:1px solid var(--line);padding:30px;}
.npl-staff__box{display:flex;gap:18px;align-items:flex-start;}
.npl-staff__img{flex:0 0 100px;text-align:center;}
.npl-staff__img img{border-radius:0;}
.npl-staff__img span{display:block;margin-top:6px;font-size:12px;color:var(--ink-dim);}
.npl-calendar__body{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;font-size:13px;}
.npl-calendar__body table{border-collapse:collapse;}
.npl-calendar__body th,.npl-calendar__body td{padding:5px 7px;text-align:center;}
.npl-calendar__memo{margin-top:12px;font-size:12px;color:var(--ink-dim);}
.npl-guide__wrap{display:flex;gap:24px;flex-wrap:wrap;}
.npl-guide__col{flex:1;min-width:280px;background:var(--paper);border:1px solid var(--line);padding:30px;}
.npl-guide__ttl{margin:0 0 20px;text-align:center;font-family:var(--serif-jp);font-size:18px;color:var(--ink);}
.npl-guide__ttl span{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--gold-soft);margin-bottom:6px;}
.npl-guide__dl dt{font-weight:500;font-size:14px;margin-top:14px;color:var(--ink);}
.npl-guide__dl dd{font-size:13px;color:var(--ink-mute);margin:6px 0 0;}

/* 商品一覧 */
.npl-list{padding-top:18px;padding-bottom:80px;max-width:1180px;margin:0 auto;padding-left:24px;padding-right:24px;}
.npl-list-layout{display:flex;gap:40px;align-items:flex-start;}
.npl-list-main{flex:1;min-width:0;}
.npl-list-side{flex:0 0 240px;}
.npl-cat-ttl{font-family:var(--serif-jp);font-size:32px;color:var(--ink);margin:6px 0 24px;font-weight:400;letter-spacing:.04em;}
.npl-freespace{margin-bottom:36px;line-height:2;}
.npl-subcat{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0 40px;}
.npl-subcat li a{display:block;text-align:center;background:var(--paper);border:1px solid var(--line);padding:16px;font-size:14px;}
.npl-subcat li a:hover{border-color:var(--gold-soft);color:var(--gold-soft);}
.npl-subcat__img{display:block;margin-bottom:10px;}
.npl-list-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.npl-list-count{font-family:var(--mono);font-size:11px;letter-spacing:.25em;color:var(--ink-dim);text-transform:uppercase;}
.npl-list-count strong{color:var(--gold-soft);font-size:14px;font-family:var(--serif-en);}
.npl-sort{display:flex;gap:18px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;}
.npl-sort a{color:var(--ink-dim);}
.npl-sort a:hover{color:var(--gold-soft);}
.npl-sort .is-current{color:var(--ink);border-bottom:1px solid var(--gold);padding-bottom:2px;}
.npl-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:22px 0;}
.npl-filter__label{font-family:var(--mono);font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-dim);}
.npl-filter__btn{border:1px solid var(--line);background:var(--paper);color:var(--ink-mute);padding:8px 16px;font-size:13px;cursor:pointer;}
.npl-filter__btn:hover{border-color:var(--gold-soft);color:var(--gold-soft);}
.npl-filter__btn.is-active{background:var(--ink);border-color:var(--ink);color:var(--bg);}
.npl-filter__note{font-family:var(--mono);font-size:11px;color:var(--ink-dim);}
.npl-filter__empty{text-align:center;padding:40px;color:var(--ink-dim);}
.npl-prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 24px;margin-top:24px;}
.npl-list .npl-prod-grid{grid-template-columns:repeat(3,1fr);}
.npl-prod{background:transparent;border:0;overflow:visible;display:flex;flex-direction:column;}
.npl-prod__imgwrap{aspect-ratio:1;background:linear-gradient(135deg,#c9b89a,#8a7558);border:1px solid var(--line);position:relative;overflow:hidden;}
.npl-prod__imgwrap img{width:100%;height:100%;object-fit:cover;}
.npl-prod__rank{position:absolute;left:14px;top:14px;font-family:var(--serif-en);font-style:italic;font-size:42px;color:transparent;-webkit-text-stroke:1px var(--gold);background:none;border-radius:0;display:block;width:auto;height:auto;}
.npl-prod-grid--rank{counter-reset:npl-rk;}
.npl-prod-grid--rank .npl-prod{counter-increment:npl-rk;}
.npl-prod-grid--rank .npl-prod__imgwrap::after{content:counter(npl-rk,decimal-leading-zero);position:absolute;left:-10px;top:-22px;font-family:var(--serif-en);font-style:italic;font-size:96px;color:transparent;-webkit-text-stroke:1.2px var(--gold);z-index:2;font-weight:300;line-height:.8;background:none;width:auto;height:auto;border-radius:0;display:block;}
.npl-prod__soldout{position:absolute;inset:0;background:rgba(26,23,20,.55);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;letter-spacing:.3em;}
.npl-prod__body{padding:14px 0 0;}
.npl-prod__name{font-family:var(--serif-jp);font-size:14px;color:var(--ink);line-height:1.6;margin:0 0 8px;font-weight:400;}
.npl-prod__name a{color:inherit;}
.npl-prod__price{font-family:var(--serif-jp);font-size:18px;color:var(--ink);font-weight:600;margin:6px 0;letter-spacing:.02em;}
.npl-prod__price .is-off{font-family:var(--mono);font-size:11px;color:var(--gold-soft);margin-left:6px;letter-spacing:.15em;}
.npl-prod__regular{font-family:var(--mono);font-size:11px;color:var(--ink-dim);text-decoration:line-through;margin-bottom:8px;}
.npl-prod__expl{font-size:12px;color:var(--ink-dim);margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.npl-prod__btn{display:block;text-align:center;background:transparent;color:var(--ink);border:1px solid var(--ink);padding:10px;font-family:var(--mono);font-size:11px;letter-spacing:.25em;text-transform:uppercase;text-decoration:none;}
.npl-prod__btn:hover{background:var(--ink);color:var(--bg);}
.npl-not-found{text-align:center;padding:60px 0;color:var(--ink-dim);}
.npl-pager{margin-top:50px;text-align:center;}
.npl-pager__total{font-family:var(--mono);font-size:11px;color:var(--ink-dim);margin-bottom:18px;letter-spacing:.2em;text-transform:uppercase;}
.npl-pager__list{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;}
.npl-pager__link{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--line);background:var(--paper);font-family:var(--serif-en);font-size:15px;color:var(--ink);}
.npl-pager__link:hover{border-color:var(--gold-soft);color:var(--gold-soft);}
.npl-pager__link.is-current{background:var(--ink);border-color:var(--ink);color:var(--bg);}
.npl-pager__link.is-disabled{color:var(--line-strong);background:transparent;}
.npl-pager__dots{padding:0 6px;color:var(--ink-dim);}
.npl-sidenav{background:var(--paper);border:1px solid var(--line);padding:24px;margin-bottom:24px;}
.npl-sidenav__ttl{font-family:var(--mono);font-size:10px;letter-spacing:.3em;color:var(--gold-soft);margin:0 0 16px;text-transform:uppercase;font-weight:500;}
.npl-sidenav__item{border-bottom:1px solid var(--line);}
.npl-sidenav__item:last-child{border-bottom:0;}
.npl-sidenav__link{display:block;width:100%;text-align:left;border:0;background:none;padding:12px 4px;font-size:14px;color:var(--ink);}
.npl-sidenav__link:hover{color:var(--gold-soft);}
.npl-sidenav__sub{display:none;padding:4px 0 10px 12px;}
.npl-sidenav__sub li a{display:block;padding:8px 4px;font-size:13px;color:var(--ink-dim);}
.npl-sidenav__sub li a:hover{color:var(--gold-soft);}

/* 商品詳細 */
.npl-pd{padding:18px 24px 80px;max-width:1180px;margin:0 auto;}
.npl-pd-main{display:flex;gap:60px;align-items:flex-start;margin-top:10px;}
.npl-pd-gallery{flex:0 0 55%;max-width:600px;}
.npl-pd-gallery__main{background:var(--paper);border:1px solid var(--line);overflow:hidden;}
.npl-pd-gallery__main img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
.npl-pd-gallery__thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.npl-pd-gallery__thumbs li{flex:0 0 calc(20% - 7px);}
.npl-pd-gallery__thumbs button{display:block;width:100%;padding:0;border:1px solid var(--line);overflow:hidden;background:var(--paper);}
.npl-pd-gallery__thumbs button img{width:100%;aspect-ratio:1/1;object-fit:cover;}
.npl-pd-gallery__thumbs button.is-current{border-color:var(--gold-soft);}
.npl-pd-info{flex:1;min-width:0;}
.npl-pd-ttl{font-family:var(--serif-jp);font-size:32px;line-height:1.45;color:var(--ink);margin:0 0 10px;font-weight:400;letter-spacing:.04em;}
.npl-pd-model{font-family:var(--mono);font-size:11px;color:var(--ink-dim);margin-bottom:18px;letter-spacing:.2em;text-transform:uppercase;}
.npl-pd-price{padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:24px;}
.npl-pd-price__now{font-family:var(--serif-jp);font-size:34px;color:var(--ink);font-weight:600;letter-spacing:.02em;}
.npl-pd-price__off{display:inline-block;margin-left:14px;background:var(--gold);color:#fff;font-family:var(--mono);font-size:11px;padding:3px 10px;letter-spacing:.2em;vertical-align:6px;}
.npl-pd-price__normal,.npl-pd-price__list{font-family:var(--mono);font-size:11px;color:var(--ink-dim);margin-top:6px;letter-spacing:.15em;text-transform:uppercase;}
.npl-pd-opt{margin-bottom:22px;}
.npl-pd-opt__box{margin-bottom:14px;}
.npl-pd-opt__ttl{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:6px;}
.npl-pd-select{box-sizing:border-box;width:100%;max-width:360px;height:48px;padding:0 14px;border:1px solid var(--line);font-size:15px;background:var(--paper);color:var(--ink);}
.npl-pd-nameinput{margin-bottom:22px;}
.npl-pd-nameinput__ttl{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:6px;}
.npl-pd-nameinput__body input{box-sizing:border-box;width:100%;max-width:360px;height:48px;padding:0 14px;border:1px solid var(--line);font-size:15px;background:var(--paper);}
.npl-pd-buy{margin-top:8px;}
.npl-pd-qty{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.npl-pd-qty__label{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);}
.npl-pd-qty__input{width:72px;height:48px;text-align:center;border:1px solid var(--line);font-family:var(--serif-en);font-size:17px;background:var(--paper);}
.npl-pd-qty__unit{font-size:13px;color:var(--ink-mute);}
.npl-pd-qty__stock{margin-left:8px;font-family:var(--mono);font-size:11px;color:var(--ink-dim);letter-spacing:.15em;}
.npl-pd-cart{display:flex;align-items:center;gap:14px;}
.npl-pd-cartbtn{flex:1;font-family:var(--serif-jp);font-size:13px;padding:20px;background:var(--ink);color:var(--bg);border:0;letter-spacing:.35em;font-weight:500;cursor:pointer;}
.npl-pd-cartbtn:hover{background:var(--gold-soft);}
.npl-pd-cartbtn.is-soldout{background:#5A2A1E;color:#fff;cursor:default;}
.npl-pd-cartbtn.is-members{background:#5E7A5B;color:#fff;}
.npl-pd-cartbtn.is-disabled{background:#888;color:#fff;cursor:default;}
.npl-pd-fav{flex:0 0 52px;height:52px;border:1px solid var(--line);background:var(--paper);color:var(--ink-mute);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.npl-pd-fav.is-added{color:var(--gold-soft);border-color:var(--gold-soft);}
.npl-pd-sns{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:22px 0;}
.npl-pd-links{margin-top:18px;display:flex;flex-direction:column;gap:8px;}
.npl-pd-links a{font-family:var(--mono);font-size:11px;color:var(--ink-mute);letter-spacing:.2em;text-transform:uppercase;}
.npl-pd-links a:hover{color:var(--gold-soft);}
.npl-pd-section{margin-top:80px;}
.npl-pd-explain{line-height:2.1;max-width:880px;margin:0 auto;font-size:15px;color:var(--ink-mute);}
.npl-pd-explain img{height:auto;}
.npl-review{background:var(--paper);border:1px solid var(--line);padding:32px;margin-bottom:18px;}
.npl-review__stars{display:flex;gap:2px;color:#d8cdba;margin-bottom:10px;}
.npl-review__star.is-on{color:var(--gold);}
.npl-review__ttl{font-family:var(--serif-jp);font-size:17px;color:var(--ink);margin-bottom:8px;font-weight:400;}
.npl-review__meta{display:flex;gap:20px;font-family:var(--mono);font-size:11px;color:var(--ink-dim);margin-bottom:14px;flex-wrap:wrap;letter-spacing:.15em;}
.npl-review__img{margin-bottom:14px;text-align:center;}
.npl-review__body{line-height:2;}
.npl-review__reply{margin-top:20px;padding:18px;background:var(--bg-2);border-left:2px solid var(--gold);}
.npl-review__reply-ttl{font-family:var(--mono);font-size:10px;letter-spacing:.25em;color:var(--gold-soft);text-transform:uppercase;margin-bottom:6px;}
.npl-review__reply-body{font-size:13px;}
.npl-review__reply-date{font-family:var(--mono);font-size:10px;color:var(--ink-dim);margin-top:6px;letter-spacing:.15em;}
.npl-review__btn{text-align:center;margin-top:36px;}

/* 特商法 */
.npl-sk{padding:18px 24px 90px;max-width:1180px;margin:0 auto;}
.npl-sk-page-ttl{font-family:var(--serif-jp);font-size:34px;color:var(--ink);margin:18px 0 8px;font-weight:400;text-align:center;letter-spacing:.06em;}
.npl-sk-lead{text-align:center;color:var(--ink-mute);margin:0 0 36px;font-size:14px;}
.npl-sk-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 50px;}
.npl-sk-nav a{display:inline-block;padding:9px 18px;border:1px solid var(--line);font-family:var(--mono);font-size:11px;letter-spacing:.22em;background:var(--paper);color:var(--ink);text-transform:uppercase;}
.npl-sk-nav a:hover{border-color:var(--gold-soft);color:var(--gold-soft);}
.npl-sk-section{scroll-margin-top:160px;margin-bottom:64px;}
.npl-sk-tbl{background:var(--paper);border:1px solid var(--line);overflow:hidden;}
.npl-sk-row{display:flex;align-items:flex-start;border-top:1px solid var(--line);}
.npl-sk-row:first-child{border-top:0;}
.npl-sk-th{flex:0 0 220px;margin:0;padding:20px 22px;background:var(--bg-2);font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--ink);text-transform:uppercase;}
.npl-sk-td{flex:1;margin:0;padding:20px 22px;font-size:14px;line-height:1.95;word-break:break-word;}
.npl-sk-td a{color:var(--gold-soft);text-decoration:underline;}

/* オプション在庫 */
.npl-opt{padding:24px 24px 80px;max-width:1180px;margin:0 auto;}
.npl-opt__ttl{font-family:var(--serif-jp);font-size:28px;color:var(--ink);text-align:center;margin:0 0 28px;line-height:1.5;font-weight:400;}
.npl-opt__ttl-sub{display:inline-block;font-family:var(--mono);font-size:12px;color:var(--ink-mute);margin-left:8px;letter-spacing:.2em;text-transform:uppercase;}
.npl-opt__scroll{overflow-x:auto;background:var(--paper);border:1px solid var(--line);}
.npl-opt__tbl{border-collapse:separate;border-spacing:0;width:100%;font-size:14px;min-width:520px;}
.npl-opt__tbl thead th{background:var(--ink);color:var(--bg);font-family:var(--mono);font-weight:500;padding:14px 18px;text-align:center;letter-spacing:.18em;text-transform:uppercase;font-size:12px;}
.npl-opt__tbl tbody th{background:var(--bg-2);color:var(--ink);font-weight:400;padding:14px 18px;text-align:center;white-space:nowrap;border-top:1px solid var(--line);}
.npl-opt__tbl td{padding:16px 18px;text-align:center;vertical-align:middle;border-top:1px solid var(--line);border-left:1px solid var(--line);}
.npl-opt__tbl td:first-child{border-left:0;}
.npl-opt__corner{background:var(--paper)!important;color:var(--ink-dim)!important;}
.npl-opt__regular{font-family:var(--mono);font-size:11px;color:var(--ink-dim);text-decoration:line-through;}
.npl-opt__price{font-family:var(--serif-en);font-size:20px;color:var(--ink);line-height:1.3;}
.npl-opt__off{display:inline-block;margin-top:4px;background:var(--gold);color:#fff;font-family:var(--mono);font-size:10px;padding:2px 8px;letter-spacing:.2em;}
.npl-opt__stock{margin-top:6px;font-family:var(--mono);font-size:10px;color:var(--ink-mute);background:var(--bg-2);padding:2px 8px;display:inline-block;letter-spacing:.15em;}
.npl-opt__empty{text-align:center;padding:80px 24px;background:var(--paper);border:1px solid var(--line);color:var(--ink-mute);}
.npl-opt__legend{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin:18px 0 28px;font-family:var(--mono);font-size:11px;color:var(--ink-dim);letter-spacing:.15em;text-transform:uppercase;}
.npl-opt__legend span{display:inline-flex;align-items:center;gap:6px;}
.npl-opt__sample{display:inline-block;width:12px;height:12px;}
.npl-opt__close{text-align:center;margin-top:24px;}

/* プライバシー */
.npl-privacy{padding:18px 24px 100px;max-width:920px;margin-left:auto;margin-right:auto;}
.npl-privacy__head{text-align:center;margin:18px 0 40px;}
.npl-privacy__en{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.32em;color:var(--gold-soft);margin-bottom:10px;text-transform:uppercase;}
.npl-privacy__ttl{font-family:var(--serif-jp);font-size:32px;color:var(--ink);margin:0;letter-spacing:.06em;font-weight:400;}
.npl-privacy__intro{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--gold);padding:24px 28px;line-height:2;font-size:14px;margin-bottom:50px;}
.npl-privacy__intro a{color:var(--gold-soft);text-decoration:underline;}
.npl-privacy__list{counter-reset:npl-pp;padding:0;margin:0;list-style:none;}
.npl-privacy__item{counter-increment:npl-pp;background:var(--paper);border:1px solid var(--line);padding:30px 34px;margin-bottom:18px;}
.npl-privacy__item-ttl{position:relative;font-family:var(--serif-jp);font-size:19px;color:var(--ink);margin:0 0 14px;padding-left:60px;line-height:1.5;font-weight:400;}
.npl-privacy__item-ttl::before{content:counter(npl-pp,decimal-leading-zero);position:absolute;left:0;top:-6px;font-family:var(--serif-en);font-style:italic;font-size:36px;color:var(--gold-soft);font-weight:400;}
.npl-privacy__item-body{font-size:14px;line-height:2;color:var(--ink);}
.npl-privacy__item-body a{color:var(--gold-soft);text-decoration:underline;}
.npl-privacy__foot{margin-top:40px;text-align:center;font-size:13px;color:var(--ink-mute);}

/* 検索結果ページ独自 */
.npl-search-info{display:flex;align-items:center;gap:10px;margin:-6px 0 18px;font-size:14px;flex-wrap:wrap;}
.npl-search-info__label{display:inline-block;background:var(--ink);color:var(--bg);padding:4px 12px;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;}
.npl-search-info__keyword{font-family:var(--serif-jp);font-size:18px;color:var(--ink);font-weight:400;}
.npl-research{display:flex;align-items:center;background:var(--paper);border:1px solid var(--line);overflow:hidden;max-width:520px;margin:0 0 28px;}
.npl-research__input{flex:1;border:0;background:none;padding:12px 18px;font-size:14px;outline:none;min-width:0;}
.npl-research__btn{border:0;background:var(--ink);color:var(--bg);padding:12px 22px;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;}
.npl-not-found-box{text-align:center;padding:60px 24px;background:var(--paper);border:1px solid var(--line);}
.npl-not-found-sub{color:var(--ink-mute);font-size:14px;margin:8px 0 24px;}
.npl-not-found-cats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
.npl-not-found-cats a{display:inline-block;padding:10px 20px;border:1px solid var(--line);font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;background:var(--bg-2);}
.npl-not-found-cats a:hover{border-color:var(--gold-soft);color:var(--gold-soft);}

/* お気に入りリンク（ヘッダー旧） */
.npl-fav-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--gold-soft);white-space:nowrap;}
.npl-fav-link.is-empty{display:none;}
#npl-favorites{scroll-margin-top:160px;}

/* ブログ */
.npl-blog{padding:30px 24px 90px;max-width:1180px;margin:0 auto;}
.npl-blog__head{text-align:center;margin-bottom:32px;}
.npl-blog__en{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.32em;color:var(--gold-soft);margin-bottom:8px;text-transform:uppercase;}
.npl-blog__ttl{font-family:var(--serif-jp);font-size:34px;color:var(--ink);margin:0 0 12px;letter-spacing:.06em;font-weight:400;}
.npl-blog__lead{color:var(--ink-mute);font-size:14px;}
.npl-blog__filter input[type=radio]{display:none;}
.npl-blog__tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:36px;}
.npl-blog__tabs label{display:inline-block;padding:9px 18px;border:1px solid var(--line);font-family:var(--mono);font-size:11px;letter-spacing:.22em;background:var(--paper);color:var(--ink);cursor:pointer;text-transform:uppercase;}
.npl-blog__tabs label:hover{border-color:var(--gold-soft);color:var(--gold-soft);}
#bf-all:checked ~ .npl-blog__tabs label[for=bf-all],
#bf-recipe:checked ~ .npl-blog__tabs label[for=bf-recipe],
#bf-pork:checked ~ .npl-blog__tabs label[for=bf-pork],
#bf-beef:checked ~ .npl-blog__tabs label[for=bf-beef],
#bf-gift:checked ~ .npl-blog__tabs label[for=bf-gift],
#bf-knowledge:checked ~ .npl-blog__tabs label[for=bf-knowledge]{background:var(--ink);border-color:var(--ink);color:var(--bg);}
.npl-blog__list{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.npl-blog__item{transition:.2s;}
#bf-recipe:checked ~ .npl-blog__list .npl-blog__item:not([data-cat=recipe]),
#bf-pork:checked ~ .npl-blog__list .npl-blog__item:not([data-cat=pork]),
#bf-beef:checked ~ .npl-blog__list .npl-blog__item:not([data-cat=beef]),
#bf-gift:checked ~ .npl-blog__list .npl-blog__item:not([data-cat=gift]),
#bf-knowledge:checked ~ .npl-blog__list .npl-blog__item:not([data-cat=knowledge]){display:none;}
.npl-blog__card{display:block;background:var(--paper);border:1px solid var(--line);overflow:hidden;color:var(--ink);height:100%;}
.npl-blog__card:hover{border-color:var(--gold-soft);}
.npl-blog__thumb{aspect-ratio:16/10;background:var(--bg-2);overflow:hidden;}
.npl-blog__thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.npl-blog__body{padding:20px 22px 24px;}
.npl-blog__cat{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:var(--gold-soft);margin-bottom:10px;text-transform:uppercase;}
.npl-blog__card-ttl{font-family:var(--serif-jp);font-size:17px;color:var(--ink);margin:0 0 10px;line-height:1.55;font-weight:400;}
.npl-blog__excerpt{font-size:13px;color:var(--ink-mute);margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.npl-blog__date{font-family:var(--mono);font-size:11px;color:var(--ink-dim);letter-spacing:.15em;}
.npl-article{max-width:780px;margin:0 auto;padding:20px 24px 90px;}
.npl-article__head{margin-bottom:30px;}
.npl-article__cat{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--gold-soft);margin-bottom:14px;text-transform:uppercase;}
.npl-article__ttl{font-family:var(--serif-jp);font-size:34px;line-height:1.5;color:var(--ink);margin:0 0 18px;letter-spacing:.04em;font-weight:400;}
.npl-article__lead{font-size:15px;line-height:2;color:var(--ink-mute);border-left:3px solid var(--gold);padding:18px 22px;margin:0 0 18px;background:var(--paper);}
.npl-article__meta{display:flex;gap:18px;align-items:center;font-family:var(--mono);font-size:11px;color:var(--ink-dim);letter-spacing:.18em;text-transform:uppercase;}
.npl-article__toc{background:var(--paper);border:1px solid var(--line);padding:22px 28px;margin:0 0 36px;}
.npl-article__toc-ttl{margin:0 0 10px;font-family:var(--mono);font-size:11px;color:var(--gold-soft);letter-spacing:.22em;text-transform:uppercase;}
.npl-article__toc ol{margin:0;padding-left:22px;color:var(--ink);}
.npl-article__toc li{margin:4px 0;font-size:14px;}
.npl-article__body{font-size:15.5px;line-height:2.05;color:var(--ink);}
.npl-article__body h2{font-family:var(--serif-jp);font-size:24px;color:var(--ink);margin:48px 0 18px;padding-bottom:10px;border-bottom:1px solid var(--line);line-height:1.5;scroll-margin-top:140px;font-weight:400;}
.npl-article__body h3{font-family:var(--serif-jp);font-size:18px;color:var(--ink);margin:32px 0 14px;line-height:1.5;font-weight:500;}
.npl-article__body p{margin:0 0 18px;}
.npl-article__body ul,.npl-article__body ol{margin:0 0 22px;padding-left:24px;}
.npl-article__body li{margin-bottom:6px;}
.npl-article__body a{color:var(--gold-soft);text-decoration:underline;}
.npl-article__cta{background:var(--ink);color:var(--bg);padding:30px 32px;margin:40px 0;}
.npl-article__cta-msg{font-family:var(--mono);font-size:11px;color:var(--gold-soft);margin:0 0 12px;letter-spacing:.22em;text-transform:uppercase;}
.npl-article__cta-link{display:flex;justify-content:space-between;align-items:center;background:var(--bg);color:var(--ink);padding:18px 22px;text-decoration:none;}
.npl-article__cta-link:hover{color:var(--gold-soft);}
.npl-article__related{margin-top:50px;padding-top:30px;border-top:1px solid var(--line);}
.npl-article__related-ttl{font-family:var(--serif-jp);font-size:19px;color:var(--ink);margin:0 0 16px;font-weight:400;}

@media screen and (max-width:1030px){
  .npl-list-layout{flex-direction:column;}
  .npl-list-side{flex:none;width:100%;}
  .npl-list .npl-prod-grid{grid-template-columns:repeat(2,1fr);}
  .npl-subcat{grid-template-columns:repeat(2,1fr);}
  .npl-pd-main{flex-direction:column;gap:32px;}
  .npl-pd-gallery{flex:none;max-width:none;width:100%;}
  .npl-blog__list{grid-template-columns:repeat(2,1fr);}
}
@media screen and (max-width:600px){
  .npl-list .npl-prod-grid,.npl-prod-grid{grid-template-columns:1fr 1fr;}
  .npl-cat-ttl{font-size:24px;}
  .npl-pd-ttl{font-size:24px;}
  .npl-pd-price__now{font-size:30px;}
  .npl-pd-cart{flex-wrap:wrap;}
  .npl-pd-cartbtn{flex:1 1 100%;}
  .npl-sk-page-ttl,.npl-privacy__ttl{font-size:25px;}
  .npl-sk-row{flex-direction:column;}
  .npl-sk-th{flex:none;width:100%;padding:14px 16px;}
  .npl-sk-td{padding:14px 16px;}
  .npl-blog__list{grid-template-columns:1fr;}
  .npl-article__ttl{font-size:25px;}
}