[hidden]{display:none!important}
@charset "UTF-8";
/* =========================================================
   下層ページ用スタイル（top.css の後に読み込み）
   ========================================================= */

/* ---------- ページ見出し（写真＋白文字） ---------- */
.t-pagehero{position:relative;height:clamp(280px,46vh,420px);display:flex;align-items:flex-end;color:#fff;background:#2a1f17;overflow:hidden}
.t-pagehero img,.t-pagehero .img-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.t-pagehero .img-ph{color:transparent;background:radial-gradient(120% 120% at 70% 40%,#9c7a4a,#3b2a1c 70%)}
.t-pagehero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,14,10,.66),rgba(20,14,10,.15) 55%,rgba(20,14,10,.4))}
.t-pagehero__inner{position:relative;z-index:1;padding-bottom:clamp(36px,6vw,72px)}
.t-pagehero__en{display:flex;align-items:center;gap:14px;font-family:var(--en);font-style:italic;font-size:clamp(18px,1.8vw,24px);letter-spacing:.14em;margin-bottom:6px}
.t-pagehero__en::before{content:"";width:36px;height:1px;background:rgba(255,255,255,.8)}
.t-pagehero h1{color:#fff;font-size:clamp(28px,3.6vw,44px);letter-spacing:.12em}
.t-crumb{border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.t-crumb ol{display:flex;flex-wrap:wrap;gap:6px;padding:14px 0}
.t-crumb li+li::before{content:"/";margin-right:6px;opacity:.6}
.t-crumb a:hover{color:var(--brown)}

.t-sub{padding:clamp(56px,8vw,110px) 0 clamp(80px,10vw,140px)}
.t-sub>*:first-child{margin-top:0}
.t-sub--narrow{max-width:900px}

/* 見出し類 */
.sec-title{margin:clamp(72px,9vw,120px) 0 clamp(32px,4vw,48px)}
.sec-title:first-child{margin-top:0}
.sec-title .en{display:inline-flex;align-items:center;gap:14px;font-family:var(--en);font-style:italic;font-size:clamp(16px,1.4vw,19px);letter-spacing:.12em;color:var(--brown-2);margin-bottom:6px}
.sec-title .en::before{content:"";width:36px;height:1px;background:var(--brown)}
.sec-title{display:flex;flex-direction:column-reverse;align-items:flex-start}
.sec-title h2{font-size:clamp(22px,2.6vw,32px)}
.h-line{font-size:clamp(19px,2vw,24px);margin:clamp(56px,7vw,88px) 0 20px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.h-line:first-child{margin-top:0}
.lead{font-family:var(--serif);font-size:clamp(16px,1.5vw,18px);line-height:2.2;color:var(--ink);margin-bottom:40px}
.t-sub p{margin-bottom:1.2em}

/* リンク・ボタン（旧クラス名を新デザインに） */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:56px;min-width:220px;padding:0 30px;font:inherit;font-family:var(--serif);font-size:15px;letter-spacing:.12em;color:#fff;background:var(--brown);border:1px solid var(--brown);cursor:pointer;transition:background-color .4s,color .4s}
.btn:hover{background:var(--ink);border-color:var(--ink)}
.btn.ghost{background:transparent;color:var(--brown)}
.btn.ghost:hover{background:var(--brown);color:#fff}
.btn.small{min-height:42px;min-width:0;padding:0 20px;font-size:14px}
.btn.block{display:flex;width:100%}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:48px 0 0}
.t-sub a:not([class]){text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong)}
.t-sub a:not([class]):hover{color:var(--brown)}
.t-sub .cat-nav a,.t-sub .card-links a,.t-sub .shop a,.t-sub .product-grid a{text-decoration:none}

/* 補足ボックス */
.note-box{background:var(--paper);padding:18px 22px;margin:28px 0;font-size:14px;color:var(--text)}
.todo{border:1px dashed var(--line-strong);padding:14px 18px;margin:18px 0;font-size:13px;color:var(--muted)}
.todo::before{content:"制作メモ：";font-weight:500;color:var(--gold)}

/* ---------- 商品一覧 ---------- */
.cat-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.cat-nav a{display:inline-flex;align-items:center;min-height:40px;padding:0 18px;border:1px solid var(--line-strong);font-family:var(--serif);font-size:14px;letter-spacing:.08em;color:var(--brown);transition:background-color .3s,color .3s}
.cat-nav a:hover,.cat-nav a[aria-current="page"]{background:var(--brown);color:#fff;border-color:var(--brown)}
.filter-bar{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:flex-end;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:40px}
.filter-bar label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);letter-spacing:.08em}
.filter-bar select,.filter-bar input{font:inherit;font-size:14px;min-height:40px;padding:0 10px;border:1px solid var(--line-strong);background:#fff;color:var(--ink);border-radius:0;min-width:9em}
.filter-bar .result{margin-left:auto;font-family:var(--en);font-size:16px;color:var(--muted);align-self:center}
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:48px clamp(16px,2vw,28px)}
.p-card a.p-link{display:flex;flex-direction:column;height:100%}
.p-card .thumb{position:relative;aspect-ratio:1;background:var(--paper);overflow:hidden}
.p-card .thumb img,.p-card .thumb .img-ph{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.p-card a:hover .thumb img{transform:scale(1.05)}
.p-card .status{position:absolute;left:0;top:0;background:rgba(255,255,255,.92);font-size:11px;letter-spacing:.1em;padding:3px 10px;color:var(--brown)}
.p-card .body{padding-top:16px;display:flex;flex-direction:column;gap:6px;flex:1}
.p-card .name{font-family:var(--serif);font-size:16px;line-height:1.7;color:var(--ink)}
.p-card .catch{font-size:13px;line-height:1.8;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.p-card .price{margin-top:auto;font-family:var(--en);font-size:16px;color:var(--ink)}
.p-card .price small{font-family:var(--sans);font-size:11px;color:var(--muted)}
.badges{display:flex;flex-wrap:wrap;gap:6px}
.badge{display:inline-block;font-size:11px;line-height:1;padding:4px 8px;border:1px solid var(--line-strong);color:var(--brown-2);letter-spacing:.06em}
.badge img{display:none}
.badge.osusume,.badge.limited,.badge.soldout{border-color:var(--brown);color:var(--brown)}
.empty{text-align:center;padding:56px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);list-style:none}

/* ---------- 商品詳細 ---------- */
.detail-top{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);margin-bottom:clamp(64px,8vw,100px);align-items:start}
.detail-photo{aspect-ratio:1;background:var(--paper);overflow:hidden}
.detail-photo img,.detail-photo .img-ph{width:100%;height:100%;object-fit:cover}
.detail-info h2{font-size:clamp(24px,2.6vw,32px);margin:14px 0 10px;line-height:1.6}
.detail-info .catch{font-family:var(--serif);color:var(--brown-2);margin-bottom:20px}
.detail-price{font-family:var(--en);font-size:28px;color:var(--ink);margin-bottom:8px!important}
.detail-price small{font-family:var(--sans);font-size:12px;color:var(--muted)}
.spec{width:100%;border-collapse:collapse;font-size:14px;margin:20px 0;border-top:1px solid var(--line)}
.spec th,.spec td{border-bottom:1px solid var(--line);padding:12px 6px;text-align:left;vertical-align:top;font-weight:400}
.spec th{width:8.5em;color:var(--muted)}
.order-box{background:var(--paper);padding:24px;margin-top:24px}
.order-box p{font-size:13px;color:var(--muted);margin:14px 0 0!important}
.detail-sec{margin-bottom:clamp(48px,6vw,80px)}
.detail-sec h2{font-size:clamp(19px,2vw,24px);padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:24px}
.detail-sec .cols{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.detail-sec .cols img,.detail-sec .cols .img-ph{width:100%;aspect-ratio:4/3;object-fit:cover}
.detail-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.detail-gallery img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--paper)}
.badge.private{border-color:#9b2c2c;color:#9b2c2c}
.detail-note{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px}

/* ---------- 汎用 ---------- */
.table-wrap{overflow-x:auto}
.table{width:100%;border-collapse:collapse;font-size:15px;border-top:1px solid var(--line)}
.table th,.table td{border-bottom:1px solid var(--line);padding:20px 12px;text-align:left;vertical-align:top}
.table th{width:11em;font-family:var(--serif);font-weight:500;color:var(--ink)}
.map{display:block;width:100%;aspect-ratio:16/7;border:0;background:var(--paper-2)}
.flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);counter-reset:flow}
.flow li{padding:28px 24px 28px 0;counter-increment:flow;border-bottom:1px solid var(--line)}
.flow li+li{padding-left:24px;border-left:1px solid var(--line)}
.flow li::before{content:counter(flow,decimal-leading-zero);display:block;font-family:var(--en);font-style:italic;font-size:22px;color:var(--gold);margin-bottom:8px}
.flow h3{font-size:17px;margin-bottom:8px}
.flow p{font-size:13px;color:var(--muted);line-height:1.9;margin:0!important}
.card-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;margin-top:clamp(64px,8vw,100px)}
.card-links a{display:block}
.card-links img,.card-links .img-ph{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--paper-2);transition:opacity .4s}
.card-links a:hover img{opacity:.85}
.card-links .t{display:flex;justify-content:space-between;align-items:center;padding:12px 2px;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:15px;color:var(--ink)}
.card-links .t::after{content:"";width:20px;height:1px;background:var(--brown)}
.intro-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center;margin-bottom:clamp(56px,7vw,96px)}
.intro-block:nth-child(even) .intro-block__media{order:-1}
.intro-block__num{font-family:var(--en);font-style:italic;font-size:15px;color:var(--gold);letter-spacing:.1em}
.intro-block h3{font-size:clamp(20px,2.2vw,26px);margin:6px 0 18px}
.intro-block__media img,.intro-block__media .img-ph{width:100%;aspect-ratio:4/3;object-fit:cover}
.wide-img{margin:0 0 clamp(40px,5vw,64px)}
.wide-img img,.wide-img .img-ph{width:100%;max-height:520px;object-fit:cover}

/* イラスト画像（こだわり） */
.is-illust img,.intro-block__media.is-illust img{object-fit:contain!important;background:#fff;max-height:none!important}
/* 会社案内 */
.company-top{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:clamp(16px,3vw,32px);align-items:start;margin-bottom:24px}
.company-top img{width:100%}
.company-top .president img{max-width:300px}
.company-top figcaption{font-family:var(--serif);font-size:14px;margin-top:10px;color:var(--ink)}
.timeline{display:block;border-top:1px solid var(--line)}
.timeline li{display:grid;grid-template-columns:8.5em minmax(0,1fr) auto;gap:8px 28px;align-items:start;padding:20px 0;border-bottom:1px solid var(--line)}
.timeline__year{font-family:var(--serif)!important;font-size:16px!important;font-family:var(--en);font-style:italic;font-size:22px;color:var(--gold);margin:0 0 8px!important}
.timeline__img{display:flex;gap:10px}
.timeline__img img{width:180px;aspect-ratio:4/3;object-fit:cover}
.timeline__text{line-height:1.9}
.timeline__text small{display:block;margin-top:6px;color:var(--muted)}
.timeline p{font-size:13px;line-height:1.8;margin-top:8px}
.group-logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px;margin:28px 0}
.group-logos li{text-align:center;border:1px solid var(--line);padding:20px 12px 12px}
.group-logos img{height:80px;width:auto;max-width:100%;object-fit:contain;margin:0 auto 10px}
.group-logos p{font-size:12px;line-height:1.6;color:var(--muted);margin:0!important}
@media (max-width:700px){.company-top{grid-template-columns:minmax(0,1fr)}.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 写真グリッド・採用 */
.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vw,20px);margin:28px 0 40px}
.photo-grid img,.photo-grid .img-ph{width:100%;aspect-ratio:3/2;object-fit:cover}
.recruit-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:32px 0}
.recruit-cards img,.recruit-cards .img-ph{width:100%;aspect-ratio:3/2;object-fit:cover}
.recruit-cards h3{font-size:16px;padding:12px 2px;border-bottom:1px solid var(--line)}
@media (max-width:700px){.recruit-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid{grid-template-columns:minmax(0,1fr)}}

/* 店舗 */
.shop-area{margin-bottom:56px}
.shop-area>h3{font-size:20px;padding-bottom:12px;border-bottom:1px solid var(--line-strong);margin-bottom:0}
.shop-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0 40px}
.shop{padding:24px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.9}
.shop h4{font-family:var(--serif);font-weight:500;font-size:17px;color:var(--ink);margin:0 0 10px}
.shop dl{display:grid;grid-template-columns:5em 1fr;gap:2px 12px}
.shop dt{color:var(--muted);font-size:13px}
.brand-head{margin:72px 0 24px}
.brand-head img,.brand-head .img-ph{width:100%;max-width:800px;height:auto}

/* FAQ */
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;position:relative;padding:22px 48px 22px 44px;font-family:var(--serif);font-size:16px;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";position:absolute;left:8px;top:18px;font-family:var(--en);font-style:italic;font-size:22px;color:var(--gold)}
.faq summary::after{content:"";position:absolute;right:12px;top:50%;width:12px;height:12px;border-right:1px solid var(--brown);border-bottom:1px solid var(--brown);transform:translateY(-70%) rotate(45deg);transition:transform .3s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq .a{position:relative;padding:0 16px 24px 44px;font-size:14px;color:var(--text)}
.faq .a::before{content:"A";position:absolute;left:8px;top:-4px;font-family:var(--en);font-style:italic;font-size:22px;color:var(--brown)}

/* ---------- WordPress 記事 ---------- */
.pager{display:flex;justify-content:center;gap:8px;margin-top:48px}
.pager button{min-width:44px;height:44px;border:1px solid var(--line-strong);background:#fff;font-family:var(--en);font-size:16px;color:var(--brown);cursor:pointer}
.pager button[aria-current="page"]{background:var(--brown);color:#fff;border-color:var(--brown)}
.post-head{padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:40px}
.post-head time{font-family:var(--en);font-size:15px;color:var(--muted);letter-spacing:.08em}
.post-head h2{font-size:clamp(24px,3vw,34px);margin-top:10px;line-height:1.7}
.post-eyecatch{margin-bottom:40px}
.post-eyecatch img{width:100%}
.wp-content{line-height:2.1;font-size:16px}
.wp-content p{margin-bottom:1.6em}
.wp-content h2{font-size:22px;margin:2.4em 0 1em;padding-bottom:12px;border-bottom:1px solid var(--line)}
.wp-content h3{font-size:18px;margin:2em 0 .8em}
.wp-content img{height:auto}
.wp-content figure{margin:2em 0}
.wp-content figcaption{font-size:12px;color:var(--muted);text-align:center;margin-top:8px}
.wp-content ul,.wp-content ol{list-style:revert;padding-left:1.5em;margin-bottom:1.6em}
.wp-content .aligncenter{margin-inline:auto}

/* ---------- フォーム ---------- */
.form-step{display:flex;justify-content:center;margin-bottom:48px}
.form-step li{flex:1;max-width:200px;text-align:center;font-family:var(--serif);font-size:14px;letter-spacing:.1em;padding:12px 0;color:var(--muted);border-bottom:1px solid var(--line)}
.form-step li[aria-current="step"]{color:var(--brown);border-bottom:2px solid var(--brown)}
.form-intro{background:var(--paper);padding:24px 28px;margin-bottom:56px;font-size:14px}
.form-intro ol{list-style:decimal;padding-left:1.4em;margin:.6em 0}
.fieldset{border:0;margin:0 0 56px;padding:0;min-width:0}
.fieldset legend{font-family:var(--serif);font-size:20px;color:var(--ink);letter-spacing:.08em;padding:0;margin-bottom:8px;width:100%}
.field{display:grid;grid-template-columns:14em minmax(0,1fr);gap:8px 32px;padding:22px 0;border-bottom:1px solid var(--line);align-items:start}
.fieldset .field:first-of-type,.fieldset>.field:first-child{border-top:1px solid var(--line)}
.field>label,.field>.label{font-size:14px;padding-top:10px;color:var(--ink)}
.req,.opt{display:inline-block;font-size:10px;line-height:1;padding:4px 7px;margin-left:10px;vertical-align:2px;letter-spacing:.1em}
.req{background:var(--brown);color:#fff}
.opt{border:1px solid var(--line-strong);color:var(--muted)}
.t-root input[type=text],.t-root input[type=email],.t-root input[type=tel],.t-root input[type=date],.t-root input[type=search],.t-root select,.t-root textarea{font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:0;padding:12px 14px;width:100%;max-width:100%;line-height:1.5}
.t-root textarea{min-height:160px;resize:vertical}
.t-root input:focus,.t-root select:focus,.t-root textarea:focus{outline:none;border-color:var(--brown);box-shadow:0 0 0 3px var(--brown-tint)}
.hint{font-size:12px;color:var(--muted);margin:8px 0 0!important}
.err{color:#9b2c2c;font-size:13px;margin:8px 0 0!important}
.is-invalid{border-color:#9b2c2c!important;background:#fffafa!important}
.radio-group{display:flex;flex-wrap:wrap;gap:8px 28px;padding-top:10px}
.radio-group label,.field label:has(input[type=checkbox]){display:flex;gap:10px;align-items:center;cursor:pointer}
.t-root input[type=radio],.t-root input[type=checkbox]{accent-color:var(--brown);width:18px;height:18px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.order-items{counter-reset:item;border-top:1px solid var(--line);margin-top:8px}
.order-item{display:grid;grid-template-columns:2.4em minmax(0,3fr) minmax(0,2fr) 6.5em auto;gap:14px;align-items:end;padding:22px 0;border-bottom:1px solid var(--line);counter-increment:item}
.order-item::before{content:counter(item,decimal-leading-zero);font-family:var(--en);font-style:italic;font-size:20px;color:var(--gold);align-self:center}
.order-item label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
.order-item .line-price{grid-column:2/-1;font-size:13px;color:var(--muted);margin:0!important}
.order-item .remove{height:50px;padding:0 14px;background:none;border:1px solid var(--line-strong);font:inherit;font-size:13px;color:var(--muted);cursor:pointer}
.order-item .remove:hover{color:#9b2c2c;border-color:#9b2c2c}
#add-item{margin-top:20px}
.order-total{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;background:var(--paper);padding:20px 24px;margin-top:24px}
.order-total strong{font-family:var(--en);font-size:28px;font-weight:500;color:var(--ink)}
.order-total small{display:block;font-size:12px;color:var(--muted)}
.confirm-table{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:32px;border-top:1px solid var(--line)}
.confirm-table th,.confirm-table td{border-bottom:1px solid var(--line);padding:16px 12px;text-align:left;vertical-align:top;font-weight:400}
.confirm-table th{width:12em;color:var(--muted)}
.alert{padding:16px 20px;border:1px solid #9b2c2c;color:#9b2c2c;margin-bottom:24px;font-size:14px}

/* ---------- レスポンシブ ---------- */
@media (max-width:960px){
  .detail-top,.detail-sec .cols,.intro-block{grid-template-columns:minmax(0,1fr)}
  .intro-block:nth-child(even) .intro-block__media{order:0}
  .flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flow li:nth-child(3){padding-left:0;border-left:0}
}
@media (max-width:700px){
  .t-pagehero{height:240px}
  .field{grid-template-columns:minmax(0,1fr);gap:6px}
  .field>label,.field>.label{padding-top:0}
  .order-item{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .order-item::before{grid-column:1/-1}
  .order-item .col-product,.order-item .line-price{grid-column:1/-1}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 14px}
  .flow{grid-template-columns:minmax(0,1fr)}
  .flow li,.flow li+li{padding:22px 0;border-left:0}
  .table th{width:auto;display:block;padding-bottom:0;border-bottom:0}
  .table td{display:block;padding-top:6px}
  .filter-bar label{flex:1 1 40%}
  .filter-bar .result{margin-left:0}
  .btn{width:100%}
}
@media print{.t-header,.t-side-tab,.t-footer,.t-contact,.t-drawer{display:none}}
.wide-img.is-illust img{max-width:640px;margin-inline:auto}

/* 旧サイトから移植した本文用 */
.sub-h{font-size:18px;margin:48px 0 16px;color:var(--ink)}
.benefit-list{counter-reset:b;border-top:1px solid var(--line);margin-bottom:28px}
.benefit-list li{counter-increment:b;position:relative;padding:16px 8px 16px 52px;border-bottom:1px solid var(--line)}
.benefit-list li::before{content:counter(b,decimal-leading-zero);position:absolute;left:8px;top:14px;font-family:var(--en);font-style:italic;font-size:20px;color:var(--gold)}
.benefit-list small{color:var(--muted)}
.dot-list{list-style:disc;padding-left:1.4em;margin:0 0 1.2em}
.group-item{display:grid;grid-template-columns:160px minmax(0,1fr);gap:28px;align-items:start;padding:28px 0;border-bottom:1px solid var(--line)}
.group-item img{width:100%;max-height:120px;object-fit:contain}
.group-item h4{font-family:var(--serif);font-weight:500;font-size:19px;color:var(--ink);margin:0 0 10px}
.group-item h4 small{display:block;font-family:var(--en);font-style:italic;font-size:14px;color:var(--gold);margin-top:2px}
.group-meta{font-size:13px;color:var(--muted)}
.kotobuki{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px;align-items:start;margin-top:32px}
.kotobuki img{width:100%}
@media (max-width:700px){.timeline li{grid-template-columns:minmax(0,1fr)}.timeline__img img{width:46%}.group-item,.kotobuki{grid-template-columns:minmax(0,1fr)}.group-item img{max-width:160px}.kotobuki img{max-width:200px}}

.policy h3{font-size:17px;margin:40px 0 12px;color:var(--ink)}
.policy h3:first-child{margin-top:8px}

/* 商品詳細：写真の切り替え */
.detail-media{min-width:0}
.detail-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;margin-top:10px;list-style:none;padding:0}
.detail-thumbs button{display:block;width:100%;padding:0;border:1px solid var(--line);background:var(--paper);cursor:pointer;aspect-ratio:1;overflow:hidden;opacity:.7;transition:opacity .2s,border-color .2s}
.detail-thumbs button:hover{opacity:1}
.detail-thumbs button[aria-current="true"]{opacity:1;border:2px solid var(--brown)}
.detail-thumbs img{width:100%;height:100%;object-fit:cover}
/* 商品詳細：注文ボックス */
.order-box .ob-field{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted);margin-bottom:10px}
.order-box .ob-field select{max-width:65%;min-height:42px}
.ob-done{margin-top:14px;padding:14px;background:#fff;border:1px solid var(--line-strong)}
.ob-done p{margin:0 0 10px!important;font-size:14px;color:var(--ink)}
.ob-acts{display:grid;gap:8px}
.ob-acts .btn{width:100%;min-width:0}

/* ご注文フォーム：お支払い合計 */
.order-total{display:block}
.sum-table{display:grid;grid-template-columns:1fr auto;gap:6px 0;margin:0;align-items:baseline}
.sum-table dt{font-size:14px;color:var(--text)}
.sum-table dt small{font-size:12px;color:var(--muted);margin-left:4px}
.sum-table dd{margin:0;padding-left:24px;text-align:right;font-family:var(--en);font-size:18px;color:var(--ink)}
.sum-table dd small{font-family:var(--sans);font-size:12px;color:var(--muted)}
.sum-table .sum-total{padding-top:10px;margin-top:4px;border-top:1px solid var(--line-strong)}
.sum-table dt.sum-total{font-family:var(--serif);font-size:16px;color:var(--ink)}
.sum-table dd.sum-total{font-size:28px;font-weight:500}
.sum-table .warn{color:#9b2c2c;font-size:13px}

/* ご注文フォーム：友の会 会員番号 */
.member-box{margin-top:24px;padding:18px 20px;border:1px solid var(--line-strong);background:#fff}
.member-box__title{font-family:var(--serif);font-size:16px;color:var(--ink);margin:0 0 4px!important}
.member-box__lead{font-size:12px;color:var(--muted);margin:0 0 12px!important;line-height:1.8}
.member-box__row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.member-box__row input{flex:1 1 180px;max-width:260px}
.member-box__row .btn.small{min-height:46px}
.member-box__bday{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;font-size:14px;cursor:pointer}
.member-box__bday small{width:100%;font-size:11px;color:var(--muted);padding-left:26px}
.member-box__msg{margin:10px 0 0!important;font-size:13px;min-height:1em}
.member-box__msg.ok{color:#3f6b3a}
.member-box__msg.ng{color:#9b2c2c}
.sum-table .disc{color:#9b2c2c}
.member-box__label{font-size:13px;color:var(--ink)}

/* ---------- 数字の書体（金額・日付・番号）：本文と同じゴシック体で統一 ---------- */
.filter-bar .result,.p-card .price,.detail-price,.flow li::before,.intro-block__num,.pager button,.post-head time,
.order-item::before,.order-total strong,.benefit-list li::before,.sum-table dd{
  font-family:var(--num);font-style:normal;font-variant-numeric:lining-nums tabular-nums;letter-spacing:.02em}
.p-card .price{font-size:15px;font-weight:500}
.detail-price{font-size:24px;font-weight:500}
.sum-table dd{font-size:16px;font-weight:500}
.sum-table dd.sum-total{font-size:26px;font-weight:500}
.order-item::before,.flow li::before,.benefit-list li::before{font-size:16px;font-weight:500}
.intro-block__num{font-size:13px;letter-spacing:.12em}
.sum-table .sum-total{align-self:stretch;margin-top:6px;padding-top:12px}
.sum-table dd.sum-total{display:flex;justify-content:flex-end;align-items:flex-end;gap:4px}
.sum-table .sum-tax{font-size:12px;color:var(--muted);padding-top:8px}
.sum-table dd.sum-tax{font-family:var(--sans);font-size:12px;font-weight:400;line-height:1.7;text-align:right}

/* チーズビュッフェ：開催日と予約状況 */
.buffet-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.buffet-day{border:1px solid var(--line-strong);background:#fff;padding:18px 18px 16px;display:flex;flex-direction:column;gap:8px}
.buffet-day__date{font-family:var(--serif);font-size:18px;color:var(--ink);line-height:1.5}
.buffet-day__meta{display:flex;justify-content:space-between;align-items:center;gap:8px;font-family:var(--num);font-size:15px}
.buffet-day__meta small{font-size:11px;color:var(--muted)}
.buffet-day__st{font-family:var(--sans);font-size:12px;padding:3px 10px;border-radius:999px;background:#e8f0e6;color:#3f6b3a;white-space:nowrap}
.buffet-day.is-few .buffet-day__st{background:#f7ecd8;color:#8a5a12}
.buffet-day.is-full .buffet-day__st,.buffet-day.is-closed .buffet-day__st{background:#f1e4e4;color:#9b2c2c}
.buffet-day.is-full,.buffet-day.is-closed{background:var(--paper);opacity:.85}
.buffet-day__note{font-size:13px;color:var(--muted);margin:0!important}
.buffet-day .btn{margin-top:auto;width:100%;min-width:0}
#schedule,#reserve{scroll-margin-top:110px}
