/* =================================================================
   sub.css　下層ページ（お知らせ一覧・記事・プライバシーポリシー・404）
================================================================= */

/* パンくず */
.crumb{font-size:13px;color:var(--gray);margin-bottom:36px}
.crumb a{text-decoration:none}
.crumb a:hover{text-decoration:underline;text-underline-offset:4px}

/* 下層ページの大見出し（一覧ページ） */
.page-head{margin-bottom:28px}

.empty{color:var(--gray);font-size:14px;padding:32px 0}

/* 一覧の「もっと見る」 */
.more-row{display:flex;justify-content:center;margin-top:32px}
.more-btn{font-family:inherit;cursor:pointer;min-width:240px}
.more-count{font-weight:500;color:var(--gray);margin-left:2px;transition:color .25s}
.more-btn:hover .more-count{color:inherit}
@media(max-width:560px){.more-btn{width:100%}}

/* ---------- 記事 ---------- */
.article-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.article-meta time{font-size:14px;color:var(--gray)}
.article-meta .tag{font-size:12px;padding:4px 16px}
.article-title{
  font-size:clamp(24px,4vw,36px);
  font-weight:900;line-height:1.6;letter-spacing:.03em;
  padding-bottom:28px;margin-bottom:40px;
  border-bottom:1px solid var(--line);
}

/* 記事本文で使える要素（プライバシーポリシーでも使用） */
.prose{font-size:15.5px;line-height:2}
.prose > *:first-child{margin-top:0}
.prose p{margin:0 0 26px}
.prose .lead{font-size:17px;font-weight:500;margin-bottom:40px}
.prose h2{
  display:flex;align-items:center;gap:12px;
  font-size:clamp(21px,2.6vw,25px);font-weight:900;line-height:1.5;letter-spacing:.03em;
  margin:64px 0 22px;
}
.prose h2::before{content:"";flex:0 0 12px;height:12px;border-radius:50%;background:var(--ink)}
.prose h3{
  font-size:18px;font-weight:700;line-height:1.6;
  margin:44px 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line);
}
.prose a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px}
.prose a:hover{text-decoration-thickness:3px}
.prose strong{font-weight:700;background:linear-gradient(transparent 62%,#ffe2c2 62%)}
.prose ul,.prose ol{margin:0 0 28px;padding-left:1.4em}
.prose li{margin-bottom:6px;padding-left:.2em}
.prose ul li::marker{color:var(--gray)}
.prose ol li::marker{font-weight:700}
.prose blockquote{
  position:relative;
  margin:36px calc(var(--inset) * -1);padding:28px var(--inset);
  background:var(--paper);border-radius:var(--r-sm);
}
.prose blockquote::before{
  content:"“";position:absolute;top:6px;left:calc(var(--inset) - 14px);
  font-size:56px;line-height:1;color:#cfc9c1;font-family:Georgia,serif;
}
.prose blockquote p{margin:0;padding-left:20px}
.prose blockquote cite{display:block;margin-top:12px;padding-left:20px;font-size:13px;font-style:normal;color:var(--gray)}
.prose blockquote cite::before{content:"— "}
.prose figure{margin:40px calc(var(--inset) * -1)}
.prose figure img{width:100%;border-radius:28px;display:block}
.prose figcaption{margin-top:10px;font-size:13px;color:var(--gray);text-align:center}
.prose .info{
  margin:32px calc(var(--inset) * -1);border:1.5px solid var(--line);border-radius:var(--r-sm);
  padding:6px var(--inset);
}
.prose .info > div{display:grid;grid-template-columns:7em 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.prose .info > div:last-child{border-bottom:none}
.prose .info dt{color:var(--gray);font-weight:500}
@media(max-width:560px){.prose .info > div{grid-template-columns:1fr;gap:2px}}
.prose .notice{
  margin:32px calc(var(--inset) * -1);padding:20px var(--inset);border-radius:20px;
  background:var(--cream);display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;
}
.prose .notice p{margin:0;flex:1;min-width:12em}
.notice-label{
  font-size:12px;font-weight:700;color:#b5651d;
  border:1.5px solid currentColor;border-radius:999px;padding:2px 12px;
}
.prose hr{border:none;border-top:1px solid var(--line);margin:56px 0}
.prose .btn-row{margin:44px 0 8px}
.prose .btn,.prose .btn-outline{text-decoration:none}
@media(max-width:560px){.prose .btn,.prose .btn-outline{width:100%;text-align:center}}

/* 記事下の戻るボタン */
.back-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:72px;padding-top:40px;border-top:1px solid var(--line)}

/* ---------- プライバシーポリシー ---------- */
.policy .intro{margin-bottom:8px}
.policy .prose h2{display:block}
.policy .prose h2::before{display:none}
.policy .contact-box{
  margin:28px calc(var(--inset) * -1) 0;padding:24px var(--inset);
  border:1.5px solid var(--line);border-radius:var(--r-sm);font-size:15px;line-height:1.9;
}
.policy .contact-box p{margin:0}
.policy .contact-box .btn-row{margin-top:16px}
.policy .dates{margin-top:56px;font-size:14px;color:var(--gray);text-align:right}

/* ---------- 404 ---------- */
.notfound p{margin-bottom:12px}

/* ---------- 店舗サイトから取り込んだ記事の「店舗のサイトで見る」ボタン ---------- */
.store-link{margin-top:36px}
.store-link .btn{background:var(--c)}
.store-link .btn:hover{background:var(--ink)}
