@charset "utf-8";
/* ============================================================
   BAUM column pages (column/index.html, column/{slug}/index.html)
   Generated by _tools/build_column.py. Depends on base.css variables.
   Loaded after base/pc/sp (same pattern as shop.css).
   ============================================================ */

.col-article{ max-width:780px; margin:0 auto; }
.col-head{ text-align:center; padding:56px 0 8px; }
.col-head .eyebrow{ margin-bottom:14px; }
.col-title{ font-family:var(--font-jp); font-weight:500; font-size:28px; line-height:1.6; letter-spacing:.06em; color:var(--brown); }
.col-meta{ margin-top:16px; font-size:12.5px; letter-spacing:.12em; color:var(--gray); }
.col-meta__cat{ color:var(--gold-deep); margin-right:14px; }
.col-head::after{ content:""; display:block; width:40px; height:1px; background:var(--gold); margin:26px auto 0; }
.col-draft{ padding:10px 14px; background:#7a1f1f; color:#fff; font-size:13px; line-height:1.7; margin-bottom:22px; text-align:left; }

.col-hero{ margin:36px 0 0; border-radius:3px; overflow:hidden; }
.col-hero img{ width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; display:block; }

.col-body{ margin-top:48px; }
.col-body p{ font-size:15.5px; line-height:2.2; color:var(--brown-mid); margin:0 0 1.4em; }
.col-body h2{ font-family:var(--font-jp); font-weight:500; font-size:21px; line-height:1.6; letter-spacing:.06em; color:var(--brown);
  margin:64px 0 22px; padding:0 0 12px; border-bottom:1px solid var(--line); position:relative; }
.col-body h2::before{ content:""; position:absolute; left:0; bottom:-1px; width:56px; height:1px; background:var(--gold); }
.col-body h3{ font-family:var(--font-jp); font-weight:500; font-size:17px; letter-spacing:.06em; color:var(--brown);
  margin:40px 0 14px; padding-left:14px; border-left:2px solid var(--gold); }
.col-body a{ color:var(--brown); text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:4px; }
.col-body a:hover{ opacity:.7; }
.col-body strong{ font-weight:600; color:var(--brown); }
.col-body ul, .col-body ol{ margin:0 0 1.6em 1.4em; font-size:15px; line-height:2.1; color:var(--brown-mid); }
.col-body ul{ list-style:disc; }
.col-body ol{ list-style:decimal; }
.col-body li{ margin-bottom:.3em; }
.col-body blockquote{ margin:0 0 1.6em; padding:4px 0 4px 18px; border-left:2px solid var(--gold); }
.col-body blockquote p{ margin:0; color:var(--gray); }
.col-point{ background:var(--white); border:1px solid var(--line); border-radius:3px; padding:26px 28px 6px; margin:0 0 2em; }
.col-point p, .col-point ul, .col-point ol{ font-size:14.5px; }
.col-table{ overflow-x:auto; margin:0 0 2em; }
.col-table table{ width:100%; border-collapse:collapse; background:var(--white); font-size:14px; }
.col-table th, .col-table td{ border:1px solid var(--line); padding:12px 14px; text-align:left; line-height:1.8; color:var(--brown-mid); }
.col-table th{ background:var(--cream-2); color:var(--brown); font-weight:500; }

.col-sec-title{ font-family:var(--font-jp); font-weight:500; font-size:20px; letter-spacing:.08em; color:var(--brown); text-align:center; margin-top:8px; }

.col-ring{ margin-top:72px; text-align:center; }
.col-ring__card{ display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:0; margin-top:18px; background:var(--white); border:1px solid var(--line); border-radius:3px; overflow:hidden; text-align:left; transition:box-shadow .5s var(--ease), transform .5s var(--ease); }
.col-ring__card:hover{ opacity:1; transform:translateY(-4px); box-shadow:0 24px 50px -28px rgba(48,29,2,.45); }
.col-ring__photo img{ width:100%; height:100%; aspect-ratio:3/2; object-fit:cover; display:block; }
.col-ring__body{ padding:24px 32px; display:block; }
.col-ring__en{ display:block; font-family:var(--font-en); font-size:26px; letter-spacing:.08em; color:var(--brown); }
.col-ring__ja{ display:block; font-size:13px; letter-spacing:.16em; color:var(--gold-deep); margin-top:4px; }
.col-ring__tag{ display:block; font-size:14.5px; color:var(--brown-mid); margin-top:14px; line-height:1.9; }
.col-ring__more{ display:inline-block; font-family:var(--font-en); font-size:12px; letter-spacing:.14em; color:var(--brown-mid); margin-top:16px; }

.col-stores{ margin-top:72px; text-align:center; }
.col-store{ margin-top:26px; display:grid; gap:12px; text-align:left; }
.col-store a{ display:block; background:var(--white); border:1px solid var(--line); border-radius:2px; padding:18px 22px; transition:border-color .4s var(--ease); }
.col-store a:hover{ opacity:1; border-color:var(--gold); }
.col-store__region{ display:block; font-size:12px; letter-spacing:.14em; color:var(--gold-deep); }
.col-store__name{ display:block; font-size:16px; color:var(--brown); margin-top:2px; }
.col-store__addr{ display:block; font-size:12.5px; color:var(--gray); margin-top:6px; line-height:1.7; }
.col-store__more{ display:inline-block; font-family:var(--font-en); font-size:12px; letter-spacing:.14em; color:var(--brown-mid); margin-top:8px; }

.col-cta{ margin-top:72px; padding:44px 24px; background:var(--cream-2); border-radius:3px; text-align:center; }
.col-cta__lead{ font-size:14.5px; color:var(--brown-mid); margin-bottom:22px; }
.col-cta .btn{ margin:6px; }

.col-related{ margin-top:64px; border-top:1px solid var(--line); padding-top:32px; }
.col-related__ttl{ font-family:var(--font-en); font-size:13px; letter-spacing:.3em; color:var(--gold-deep); }
.col-related ul{ margin-top:14px; }
.col-related li{ border-bottom:1px solid var(--line); }
.col-related a{ display:block; padding:14px 4px; font-size:14.5px; color:var(--brown); }

.col-list{ margin-top:56px; }

@media (max-width:768px){
  .col-head{ padding:36px 0 4px; }
  .col-title{ font-size:21px; }
  .col-hero{ margin-top:26px; }
  .col-body{ margin-top:34px; }
  .col-body p{ font-size:15px; line-height:2.1; }
  .col-body h2{ font-size:18px; margin-top:52px; }
  .col-body h3{ font-size:16px; }
  .col-point{ padding:20px 18px 4px; }
  .col-ring__card{ grid-template-columns:1fr; }
  .col-ring__body{ padding:20px 22px 24px; }
  .col-ring__en{ font-size:22px; }
  .col-cta{ padding:34px 18px; }
  .col-cta .btn{ display:block; margin:10px auto; max-width:280px; }
  .col-list{ margin-top:36px; }
}
