
/* 唐辛子の赤（コチュカル）を主に、墨色と、唐辛子のへたの緑を少し */
:root{--red:#a3201c;--red-d:#7c1512;--red-soft:#f6e8e4;--ink:#231a17;--sub:#6b5d58;--line:#eadcd6;--paper:#fff;--wash:#faf4f1;--leaf:#2f5d3a;
  --min:'Shippori Mincho B1','Shippori Mincho',serif;--font:'Noto Sans JP',system-ui,sans-serif;
  --ss-accent:var(--red);--ss-ink:var(--ink);--ss-sub:var(--sub);--ss-line:var(--line);--ss-soft:var(--wash);--ss-bg:#fff}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--font);color:var(--ink);background:var(--paper);line-height:1.9;font-size:16px}
img{max-width:100%;height:auto;display:block}
a{color:var(--red)}
.in{max-width:1180px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.narrow{max-width:860px}
.check{background:#3a2a24;color:#fff;font-size:13px;text-align:center;padding:6px 16px}
/* ヘッダー */
.hd{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}
.hd-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px}
.logo{display:flex;align-items:baseline;gap:10px;text-decoration:none;color:var(--ink)}
.logo b{font-family:var(--min);font-size:26px;letter-spacing:.06em;color:var(--red)}
.logo span{font-size:12px;color:var(--sub);letter-spacing:.08em}
.hd-nav{display:flex;align-items:center;gap:22px}
.hd-nav ul{display:flex;gap:20px;list-style:none}
.hd-nav a{text-decoration:none;color:var(--ink);font-size:14px}
.hd-nav a[aria-current]{color:var(--red);font-weight:500}
.hd-cart{display:inline-flex;align-items:center;gap:6px;background:var(--red);color:#fff!important;border-radius:999px;padding:7px 16px}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer}
.burger span{display:block;width:24px;height:2px;background:var(--ink);margin:6px auto;transition:transform .3s}
/* ヒーロー */
.hero{position:relative;min-height:min(78vh,720px);display:grid;align-items:center;color:#fff;overflow:hidden;background:#2a1612}
.hero-slides i{position:absolute;inset:0;background:center/cover no-repeat;opacity:0;transition:opacity 1.6s}
.hero-slides i.on{opacity:1}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,10,8,.72),rgba(30,10,8,.35) 55%,rgba(30,10,8,.1))}
.hero .in{position:relative;z-index:1;width:100%;padding-block:72px}
.hero-en{font-family:var(--min);letter-spacing:.3em;font-size:14px;opacity:.9}
.hero h1{font-family:var(--min);font-weight:600;font-size:clamp(34px,5.4vw,64px);line-height:1.35;margin:14px 0 18px;text-wrap:balance}
.hero p.sub{font-size:15px;max-width:30em;opacity:.95}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;border-radius:999px;padding:13px 30px;font-weight:500;letter-spacing:.05em;border:1px solid var(--red)}
.btn:hover{background:var(--red-d)}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.8);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-line{background:#fff;color:var(--red);border-color:var(--red)}
/* 区画 */
.sec{padding-block:88px}
.sec-wash{background:var(--wash)}
.en{font-family:var(--min);color:var(--red);letter-spacing:.3em;font-size:13px}
.h2{font-family:var(--min);font-weight:600;font-size:clamp(26px,3.4vw,38px);line-height:1.45;margin:8px 0 22px;text-wrap:balance}
.lead{font-size:17px;max-width:40em}
.c{text-align:center}.c .lead{margin-inline:auto}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.split img{border-radius:4px}
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:18px;margin-top:36px}
.cat{position:relative;display:block;border-radius:4px;overflow:hidden;text-decoration:none;color:#fff;aspect-ratio:4/3;background:#3a2420}
.cat img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.cat:hover img{transform:scale(1.05)}
.cat span{position:absolute;inset:auto 0 0 0;padding:28px 16px 14px;background:linear-gradient(transparent,rgba(20,8,6,.78));font-family:var(--min);font-size:18px}
.points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:40px}
.point{background:#fff;border:1px solid var(--line);border-radius:4px;padding:26px 22px}
.point b{display:block;font-family:var(--min);font-size:20px;color:var(--red);margin:0 0 6px}
.nw-list{list-style:none;border-top:1px solid var(--line)}
.nw-list li a{display:flex;gap:22px;padding:16px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.nw-list time{color:var(--sub);font-size:14px;white-space:nowrap}
.nw-none{color:var(--sub)}
.nw-list:not(:empty)+.nw-none,.nw-list li~.nw-none{display:none}
.more{display:inline-block;margin-top:22px}
/* 下のページ */
.ph{background:var(--wash);border-bottom:1px solid var(--line);padding-block:56px 44px}
.ph h1{font-family:var(--min);font-weight:600;font-size:clamp(26px,3.4vw,36px)}
.crumb{font-size:13px;color:var(--sub);margin-top:8px}
.crumb a{color:var(--sub)}
.tbl{width:100%;border-collapse:collapse;margin:8px 0 28px}
.tbl th,.tbl td{text-align:left;vertical-align:top;padding:16px 12px;border-bottom:1px solid var(--line)}
.tbl th{width:11em;font-weight:500;background:var(--wash)}
.prose p{margin:0 0 1.2em}
.prose h2{font-family:var(--min);font-size:22px;margin:2em 0 .6em;color:var(--red-d)}
.art time{color:var(--sub)}
.art h1{font-family:var(--min);font-size:28px;margin:6px 0 20px}
.art-body p{margin:0 0 1em}
.art-body img{margin:1em 0;border-radius:4px}
.pn{display:flex;justify-content:space-between;gap:12px;margin:40px 0 0;font-size:14px}
.contact-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px;margin-top:24px}
.contact-box div{background:var(--wash);border-radius:4px;padding:24px}
.contact-box b{display:block;font-family:var(--min);font-size:22px;color:var(--red);word-break:break-all}
/* フッター */
.ft{background:#241614;color:#efe3df;padding-block:56px 32px;font-size:14px}
.ft a{color:#efe3df;text-decoration:none}
.ft-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px}
.ft .logo b{color:#fff}
.ft ul{list-style:none;display:grid;grid-template-columns:repeat(2,auto);gap:8px 36px;align-content:start}
.ft-copy{margin-top:36px;opacity:.6;font-size:12px;text-align:center}
@media (max-width:860px){
  .burger{display:block}
  .hd-nav{position:fixed;inset:66px 0 auto 0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 20px;border-bottom:1px solid var(--line);display:none}
  .hd-nav.open{display:flex}
  .hd-nav ul{flex-direction:column;gap:0}
  .hd-nav li a{display:block;padding:12px 4px;border-bottom:1px solid var(--line)}
  .hd-cart{margin-top:14px;justify-content:center}
  .split{grid-template-columns:1fr;gap:28px}
  .points{grid-template-columns:1fr}
  .sec{padding-block:64px}
  .tbl th{width:auto;display:block;border-bottom:0;padding-bottom:4px}
  .tbl td{display:block;padding-top:4px}
}
@media (prefers-reduced-motion:reduce){.hero-slides i,.cat img{transition:none}}
