@charset "UTF-8";
/* ============================================================
   下層ページ共通スタイル（/stores/ と /jobs/）
   トップ（index.html）の css/site.css とは別物です。
   下層ページは site.js を読み込まず、JavaScript なしで成立させています。
   ============================================================ */

:root{
  --ink:#141414; --ink-80:#3B3733; --ink-55:#6E6862;
  --white:#fff; --paper:#F7F3EA; --paper-2:#EDE6D8; --line:#DCD3C2;
  --red:#E8341F; --red-d:#B8210F; --yellow:#FFC61E; --lime:#9ED13A; --cyan:#23BFD4;
  --green:#00B34A; --green-deep:#0B5D34;
  --b-hachiban:#E8341F; --b-komeda:#6B4A2F;
  --display:"Dela Gothic One","Zen Kaku Gothic New",sans-serif;
  --sans:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,sans-serif;
  --latin:"Jost","Helvetica Neue",Arial,sans-serif;
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:48px; --s6:64px; --s8:104px;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans);
  font-size:16px; line-height:1.95; font-feature-settings:"palt"; letter-spacing:.02em;
  overflow-x:hidden; -webkit-text-size-adjust:100%}
img{display:block; max-width:100%}
a{color:inherit}
h1,h2,h3,h4,p,dl,dd,ul,ol{margin:0}
ul,ol{padding:0; list-style:none}
:focus-visible{outline:3px solid var(--red-d); outline-offset:3px}
.wrap{width:min(100% - 40px, 980px); margin-inline:auto; position:relative; z-index:2}

/* 極太フォントの合成ボールド対策（トップと同じ考え方） */
.ttl,.hd__b,.lead em,.sec-t,.cta__b,.num b{
  font-weight:400; font-synthesis:none; font-feature-settings:normal; letter-spacing:.035em}

/* ---- ヘッダー ---- */
.hd{position:sticky; top:0; z-index:50; background:var(--green); color:var(--white)}
.hd__in{width:min(100% - 32px,1180px); margin-inline:auto; display:flex; align-items:center;
  justify-content:space-between; gap:var(--s2); min-height:58px}
.hd__b{font-family:var(--display); font-size:15px; line-height:1.3}
.hd__b span{display:block; font-family:var(--latin); font-size:11px; letter-spacing:.14em; color:var(--yellow)}
.back{font-size:13px; text-decoration:none; border:2px solid rgba(255,255,255,.6);
  border-radius:999px; padding:6px 14px; white-space:nowrap}
.back:hover{background:var(--white); color:var(--green); border-color:var(--white)}

/* ---- パンくず ---- */
.crumb{font-size:12px; color:var(--ink-55); padding:var(--s2) 0 0}
.crumb ol{display:flex; flex-wrap:wrap; gap:6px}
.crumb li::after{content:"／"; margin-left:6px; color:var(--line)}
.crumb li:last-child::after{content:""}
.crumb a{text-decoration:none; border-bottom:1px solid var(--line)}

/* ---- 見出し ---- */
.top{padding:var(--s4) 0 var(--s5)}
.eyebrow{display:inline-block; font-size:12px; letter-spacing:.08em; font-weight:700;
  background:var(--ink); color:var(--white); padding:4px 12px; border-radius:999px}
.eyebrow--h{background:var(--b-hachiban)}
.eyebrow--k{background:var(--b-komeda)}
.ttl{font-family:var(--display); font-size:clamp(26px,4.4vw,42px); line-height:1.5;
  margin-top:var(--s2)}
.ttl em{font-style:normal; color:var(--red-d)}
.lead{margin-top:var(--s3); color:var(--ink-80); font-size:15px}

/* ---- セクション ---- */
.sec{padding:var(--s5) 0; border-top:2px solid var(--line)}
.sec-t{font-family:var(--display); font-size:clamp(19px,2.6vw,25px); line-height:1.6}
.sec-l{margin-top:var(--s1); color:var(--ink-55); font-size:14px}

/* ---- 事実の表 ---- */
.facts{margin-top:var(--s3); background:var(--white); border:3px solid var(--ink);
  box-shadow:6px 6px 0 var(--ink)}
.facts dl{display:grid; grid-template-columns:150px 1fr}
.facts dt,.facts dd{padding:14px var(--s3); border-bottom:1px solid var(--line); font-size:15px}
.facts dt{background:var(--paper-2); font-weight:700; font-size:14px}
.facts dl>:nth-last-child(1),.facts dl>:nth-last-child(2){border-bottom:0}
.facts a{color:var(--red-d)}

/* ---- 数字の強調 ---- */
.pay{margin-top:var(--s3); background:var(--yellow); border:3px solid var(--ink);
  box-shadow:6px 6px 0 var(--ink); padding:var(--s3)}
.pay__l{font-size:13px; font-weight:700}
.pay b{font-family:var(--display); font-size:clamp(28px,5vw,44px); line-height:1.2; display:block;
  font-weight:400; font-synthesis:none; letter-spacing:.02em}
.pay__n{display:inline-block; margin-top:6px; background:var(--red-d); color:var(--white);
  font-size:12px; font-weight:700; padding:3px 10px; border-radius:999px}

/* ---- タグ ---- */
.tags{display:flex; flex-wrap:wrap; gap:8px; margin-top:var(--s3)}
.tags span{font-size:12.5px; border:2px solid var(--ink); border-radius:999px; padding:3px 12px; background:var(--white)}
.tags .is-hot{background:var(--red); color:var(--white); border-color:var(--red)}

/* ---- CTA ---- */
.cta{margin-top:var(--s4); display:grid; gap:var(--s2)}
.cta__b{display:block; text-align:center; text-decoration:none; font-family:var(--display);
  font-size:clamp(15px,2.2vw,18px); padding:18px var(--s3); border:3px solid var(--ink);
  box-shadow:6px 6px 0 var(--ink); background:var(--red); color:var(--white)}
.cta__b--sub{background:var(--white); color:var(--ink)}
.cta__b:hover{transform:translate(3px,3px); box-shadow:3px 3px 0 var(--ink)}
.cta__n{font-size:13px; color:var(--ink-55); text-align:center}
.tel{font-family:var(--latin); font-size:clamp(22px,4vw,32px); text-decoration:none; letter-spacing:.02em}

/* ---- カード一覧（他の店舗・他の求人） ---- */
.cards{margin-top:var(--s3); display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:var(--s2)}
.card{display:block; text-decoration:none; background:var(--white); border:2px solid var(--ink);
  padding:var(--s2) var(--s3); box-shadow:4px 4px 0 var(--ink)}
.card:hover{transform:translate(2px,2px); box-shadow:2px 2px 0 var(--ink)}
.card small{display:block; font-size:11.5px; font-weight:700; color:var(--ink-55)}
.card b{display:block; font-size:17px; line-height:1.5; margin-top:2px}
.card span{display:block; font-size:12.5px; color:var(--ink-55); margin-top:4px}
.card--h small{color:var(--b-hachiban)}
.card--k small{color:var(--b-komeda)}

/* ---- 地図 ---- */
.map{margin-top:var(--s3); border:3px solid var(--ink); box-shadow:6px 6px 0 var(--ink);
  aspect-ratio:16/9; background:var(--paper-2)}
.map iframe{width:100%; height:100%; border:0; display:block}

/* ---- 注記 ---- */
.note{margin-top:var(--s3); font-size:13px; color:var(--ink-55)}
.note li{padding-left:1.1em; text-indent:-1.1em}
.note li::before{content:"・"}

/* ---- フッター ---- */
.ft{margin-top:var(--s6); background:var(--ink); color:var(--white); padding:var(--s4) 0}
.ft a{color:var(--white)}
.ft__in{display:flex; flex-wrap:wrap; gap:var(--s2) var(--s4); justify-content:space-between; font-size:13px}
.ft__nav{display:flex; flex-wrap:wrap; gap:var(--s2)}

@media (max-width:640px){
  .facts dl{grid-template-columns:1fr}
  .facts dt{border-bottom:0; padding-bottom:0; background:transparent}
  .facts dd{padding-top:4px}
  .cards{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .cta__b:hover,.card:hover{transform:none}
}
