/* さかなや キンボシ 南町田店：お知らせ欄（トップ）と、お知らせの一覧・記事ページ
   見出しなど決まった文字はしっぽり明朝（使う文字だけの自前フォント2つ）。
   題名・本文は自由入力なので、全部の字がある端末の明朝で組む。 */
@font-face{font-family:KinboshiNews;src:url('/assets/mincho-news.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--ws-label:Kinboshi,KinboshiNews,'Hiragino Mincho ProN','Yu Mincho',serif;--ws-text:'Hiragino Mincho ProN','Hiragino Mincho Pro','Yu Mincho','YuMincho','Noto Serif JP','Noto Serif CJK JP','BIZ UDPMincho',serif;--ws-rule:#c7bcac}

/* 共通：記事の札 */
.ws-cards{list-style:none;margin:0;padding:0}
.ws-card a{display:grid;grid-template-columns:112px minmax(0,1fr);gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid #e3ddd4;transition:color .3s}
.ws-card:first-child a{border-top:1px solid var(--ws-rule)}
.ws-card:last-child a{border-bottom-color:var(--ws-rule)}
.ws-card-photo{position:relative;aspect-ratio:1.25;overflow:hidden;background:#eeeae3}
.ws-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.18,.7,.25,1)}
.ws-noimg{display:flex;align-items:center;justify-content:center}
.ws-noimg:after{content:'';position:absolute;inset:6px;border:1px solid #d9cfbf;pointer-events:none}
.ws-noimg img{width:64%;height:auto;object-fit:contain;filter:brightness(0) opacity(.4)}
.ws-card a:hover .ws-card-title{color:var(--accent)}
.ws-card a:hover .ws-card-photo:not(.ws-noimg) img{transform:scale(1.035)}
.ws-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-family:var(--ws-label);font-size:11px;line-height:1.7;letter-spacing:.08em;color:var(--muted);font-variant-numeric:lining-nums}
.ws-kind{display:inline-flex;align-items:center;gap:10px;color:var(--accent);letter-spacing:.14em}
.ws-kind:before{content:'';width:12px;height:1px;background:#b2a181}
.ws-card-title{margin:6px 0 0;font-family:var(--ws-text);font-size:14px;font-weight:400;line-height:1.75;letter-spacing:.05em;word-break:auto-phrase;text-wrap:balance;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;transition:color .3s}
.ws-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* 見出し（お品書きと同じ作り：狭い画面は横組み、広い画面は縦組み） */
.ws-news-heading,.ws-np-heading{display:flex;align-items:center;gap:16px}
.ws-rule{display:block;width:28px;height:1px;background:var(--accent);flex:0 0 auto}
.ws-news-heading h2,.ws-np-title{margin:0;font-family:var(--ws-label);font-size:21px;font-weight:400;line-height:1.7;letter-spacing:.22em}
.ws-np-title a{color:inherit}.ws-np-title a:hover{color:var(--accent)}

/* トップのお知らせ欄（写真のすぐ下） */
.ws-news{display:grid;gap:22px;max-width:1040px;padding-top:58px;writing-mode:horizontal-tb}
.ws-news-more{width:170px;margin:6px 0 0 auto;font-family:var(--ws-label)}
.ws-news-more span,.ws-np .line-link span{font-size:17px}

/* お知らせのページ */
.ws-np{display:block}
.ws-np-wrap{display:grid;gap:30px;max-width:1040px;padding:34px 0 96px}
.ws-np-main{min-width:0}
.ws-filter{display:flex;gap:26px;margin-bottom:8px;border-bottom:1px solid var(--ws-rule)}
.ws-cards-list .ws-card:first-child a{border-top:0}
.ws-filter a{position:relative;display:block;padding:8px 2px 13px;font-family:var(--ws-label);font-size:14px;line-height:1.5;letter-spacing:.12em;color:#84776a;transition:color .25s}
.ws-filter a:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.ws-filter a:hover,.ws-filter a[aria-current]{color:var(--ink)}
.ws-filter a[aria-current]:after{transform:scaleX(1)}
.ws-empty{font-family:var(--ws-label);font-size:13px;line-height:2.2;color:var(--muted);padding:30px 0;border-top:1px solid var(--ws-rule);border-bottom:1px solid var(--ws-rule)}
.ws-pager{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-top:34px;font-family:var(--ws-label);font-size:13px;letter-spacing:.1em}
.ws-pager a{display:inline-flex;align-items:center;gap:12px;min-height:44px;transition:color .3s}
.ws-pager a:hover{color:var(--accent)}
.ws-pager a span{font:16px var(--sans)}
.ws-pager .ws-next{justify-self:end}
.ws-pager p{margin:0;color:var(--muted);font-variant-numeric:lining-nums}.ws-cur{color:var(--ink)}
.ws-np-back{margin-top:46px}.ws-np-back .line-link{max-width:220px;font-family:var(--ws-label)}

/* 記事 */
.ws-article-head{padding-bottom:22px;border-bottom:1px solid var(--ws-rule)}
.ws-article-title{margin:10px 0 0;font-family:var(--ws-text);font-size:22px;font-weight:400;line-height:1.65;letter-spacing:.07em;word-break:auto-phrase;text-wrap:balance;overflow-wrap:anywhere}
.ws-article-photo{margin:28px 0 0;display:flex;justify-content:center;background:#eeeae3}
.ws-article-photo img{width:auto;height:auto;max-width:100%;max-height:78vh;object-fit:contain}
.ws-article-body{margin-top:32px;max-width:36em;font-family:var(--ws-text);font-size:15px;line-height:2.15;letter-spacing:.05em;overflow-wrap:anywhere;line-break:strict;text-wrap:pretty}
.ws-article-body p+p{margin-top:1.5em}
.ws-article-nav{display:grid;gap:6px;max-width:300px;margin-top:56px}
.ws-article-nav .line-link{font-family:var(--ws-label)}

/* ページのフッター（住所・電話） */
.ws-np-shop{margin:30px 0 0;display:grid;gap:8px;font-size:12px;line-height:1.9;letter-spacing:.04em}
.ws-np-shop div{display:grid;grid-template-columns:52px 1fr;gap:12px}
.ws-np-shop dt{font-size:10px;color:var(--muted)}
.ws-np-shop dd{margin:0}
.ws-np-shop dd a{border-bottom:1px solid #bfb5a8;padding-bottom:1px}
.ws-np-shop .ws-map{margin-left:14px;white-space:nowrap}
.ws-np-shop dd a span{font:12px var(--sans);margin-left:4px}

@media(min-width:600px){
  .ws-cards-top,.ws-news .ws-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding-top:26px;border-top:1px solid var(--ws-rule)}
  .ws-cards-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 34px;padding-top:26px}
  .ws-news .ws-card a,.ws-cards-list .ws-card a{display:block;padding:0;border:0}
  .ws-news .ws-card-text,.ws-cards-list .ws-card-text{padding-top:14px}
  .ws-news{padding-top:80px;gap:26px}
  .ws-news-heading h2,.ws-np-title{font-size:23px}
  .ws-news-more{margin-top:14px}
  .ws-np-wrap{padding-top:44px;gap:38px}
  .ws-article-title{font-size:26px}
  .ws-article-body{font-size:16px}
  .ws-np-shop{display:flex;flex-wrap:wrap;gap:8px 40px}
}
@media(min-width:1000px){
  .ws-news,.ws-np-wrap{grid-template-columns:160px minmax(0,1fr);gap:75px;align-items:start}
  .ws-news{padding-top:105px}
  .ws-news-heading,.ws-np-heading{flex-direction:column;align-items:flex-end;gap:26px;padding-top:9px}
  .ws-rule{width:1px;height:46px;margin-right:16px}
  .ws-news-heading h2,.ws-np-title{writing-mode:vertical-rl;font-size:29px;letter-spacing:.24em;white-space:nowrap}
  .ws-news-body{grid-column:2}
  .ws-news .ws-cards{gap:38px}
  .ws-card-title{font-size:15px}
  .ws-cards-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 38px}
  .ws-np-wrap{padding:70px 0 130px}
  .ws-article-title{font-size:30px}
  .ws-article-body{font-size:16px;line-height:2.25}
  .ws-article-photo img{max-height:82vh}
  .ws-np-footer .ws-np-shop{margin-top:34px}
}
@media(max-width:359px){
  .ws-card a{grid-template-columns:96px minmax(0,1fr);gap:14px}
  .ws-card-title{font-size:13px}
  .ws-filter{gap:20px}.ws-filter a{font-size:13px}
  .ws-article-title{font-size:20px}
  .ws-article-body{font-size:14.5px}
}
@media(prefers-reduced-motion:reduce){.ws-card-photo img,.ws-filter a:after{transition:none}}
