/* NIGHTYNIGHT 内容页共享样式（指南 / 会社概要） */
:root{
  --ink:#0f1222;
  --paper:#faf7f0;
  --card:#ffffff;
  --muted:#6b6f80;
  --line:#e8e2d6;
  --gold:#c9a45c;
  --max:1080px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.9;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.container{width:min(100% - 40px,var(--max));margin-inline:auto}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(15,18,34,.96);color:#fff;backdrop-filter:blur(10px)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:15px;font-weight:600;letter-spacing:.2em}
.brand svg{width:22px;height:22px;flex:none}
.main-nav{display:flex;gap:22px;font-size:13px}
.main-nav a{text-decoration:none;opacity:.82;transition:opacity .2s}
.main-nav a:hover,.main-nav a:focus-visible{opacity:1}

/* breadcrumb */
.breadcrumb{font-size:12px;color:var(--muted);margin:32px 0 0}
.breadcrumb a{text-decoration:none;color:var(--muted)}
.breadcrumb a:hover{text-decoration:underline;color:var(--ink)}
.breadcrumb span[aria-current]{color:#33374a}

/* article */
.article{
  background:var(--card);border:1px solid var(--line);border-radius:18px;
  padding:clamp(24px,5vw,56px);margin:24px auto 64px;max-width:860px;
}
.article h1{font-size:clamp(22px,3.4vw,32px);line-height:1.5;letter-spacing:.03em;margin:0 0 10px;font-weight:600}
.meta{font-size:12px;color:var(--muted);margin:0 0 30px}
.meta time{color:#33374a}
.article h2{font-size:19px;letter-spacing:.02em;margin:42px 0 14px;padding-top:14px;border-top:1px solid var(--line);font-weight:600}
.article h2:first-of-type{margin-top:8px;border-top:0;padding-top:0}
.article h3{font-size:15px;margin:26px 0 8px;font-weight:600}
.article p{font-size:14.5px;color:#33374a;margin:0 0 16px}
.article ul,.article ol{font-size:14.5px;color:#33374a;margin:0 0 16px;padding-left:1.4em}
.article li{margin-bottom:6px}
.article strong{font-weight:600}
.lead{font-size:15px!important;color:#2a2e40!important;line-height:1.95}
.note{font-size:12.5px;color:var(--muted);line-height:1.8}
.callout{border-left:2px solid var(--gold);padding:12px 16px;background:#fdfbf6;font-size:13.5px;margin:0 0 18px;color:#33374a}
.table-wrap{overflow-x:auto;margin:12px 0 20px}
.article table{width:100%;border-collapse:collapse;font-size:13px;min-width:520px}
.article th,.article td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.article th{background:#faf7f0;font-weight:600;white-space:nowrap}
.article td.num{text-align:right;white-space:nowrap}

/* toc */
.toc{border:1px solid var(--line);border-radius:12px;padding:18px 22px;margin:0 0 28px;background:#fdfbf6}
.toc p{font-size:11px;color:var(--muted);margin:0 0 8px;letter-spacing:.14em;font-weight:600}
.toc ol{margin:0;padding-left:1.2em;font-size:13px;color:#33374a}
.toc a{text-decoration:none}
.toc a:hover{text-decoration:underline}

/* product picks */
.picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:18px 0 8px}
.pick{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px;text-decoration:none;background:#fff;transition:border-color .2s,transform .2s}
.pick:hover{border-color:var(--gold);transform:translateY(-1px)}
.pick img{width:78px;height:78px;object-fit:cover;border-radius:8px;flex:none;background:#f1ece2}
.pick span{font-size:12.5px;line-height:1.6}
.pick .k{display:block;font-weight:600}
.pick .price{display:block;font-size:11.5px;color:var(--muted);font-weight:400;margin-top:3px}

/* related */
.related{margin:44px 0 0;padding-top:20px;border-top:1px solid var(--line)}
.related h2{font-size:14px;letter-spacing:.08em;margin:0 0 12px;border:0;padding:0}
.related ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.related li a{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border:1px solid var(--line);border-radius:10px;text-decoration:none;font-size:13px;background:#fff}
.related li a:hover{border-color:var(--gold)}
.related .arrow{color:var(--gold)}

/* shop list */
.shop-list{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.shop-list a{display:flex;justify-content:space-between;gap:12px;padding:13px 16px;border:1px solid var(--line);border-radius:10px;text-decoration:none;font-size:13px;background:#fff}
.shop-list a:hover{border-color:var(--gold)}
.shop-list .arrow{color:var(--gold)}

/* footer */
.site-footer{background:var(--ink);color:#c4c8d8;padding:44px 0;font-size:12px}
.footer-inner{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:flex-start}
.footer-brand{display:flex;align-items:center;gap:10px;color:#fff;font-size:13px;letter-spacing:.2em;font-weight:600}
.footer-brand svg{width:20px;height:20px}
.footer-operator{font-size:11px;color:#8f94a8;margin:10px 0 0;line-height:1.75}
.footer-links{display:flex;gap:22px;flex-wrap:wrap}
.footer-links a{text-decoration:none;opacity:.82}
.footer-links a:hover{opacity:1;text-decoration:underline}
.copyright{margin-top:28px;opacity:.55;font-size:11px;letter-spacing:.04em}

@media (max-width:820px){
  .main-nav{display:none}
  .article{padding:22px 18px}
  section{padding:60px 0}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto}
}

@media (max-width:560px){
  .article table{min-width:0;font-size:12px}
  .article th,.article td{padding:8px 9px}
  .article th{white-space:normal}
  .article td:first-child,.article th:first-child{white-space:nowrap}
}
