@charset "utf-8";

:root {
  --hero-bg: linear-gradient(180deg, #fbf8f3 0%, #fff 100%);
}
#sub_mv {
  background: var(--brown);
  color: #fff;
  padding: 6rem 2rem;
}
#breadcrumb {
  font-size: 1.4rem;
  margin-bottom: .8rem;
}
#breadcrumb a {
  text-decoration: underline;
}
.policy-wrap .meta {
  color: #666;
  font-size: 1.4rem;
  margin-bottom: 1.6rem;
}
.policy-wrap .intro {
  margin-bottom: 2.4rem;
}
.policy-wrap h2 {
  font-size: clamp(2.1rem, 1.6vw, 3rem);
  color: var(--brown);
  margin-bottom: .6rem;
}
.policy-wrap ul { padding-left: 1.6rem; }
.policy-wrap ul li { list-style: disc; margin: .3rem 0; }

/* ===== License table (第一種動物取扱業標識) ===== */
#license, .license{
  width:100%;
  border-collapse: separate;
  border-spacing: 0;
  background:#fff;
  border: 1px solid #eee;
}
#license th, #license td, .license th, .license td{
  padding: 1.6rem 1.8rem;
  vertical-align: top;
}
#license th, .license th{
  width: 32%;
  background:#fbf8f3;
  color: var(--brown);
  font-weight:700;
  text-align:left;
}
#license tr:last-child th, #license tr:last-child td, .license tr:last-child th, .license tr:last-child td{
  border-bottom: none;
}

@media screen and (min-width:541px){
  #license th, #license td, .license th, .license td{
    border-bottom: 1px solid #eee;
  }
}
/* small screens: stack label/value */
@media screen and (max-width:540px){
  #license tbody, #license tr, #license th, #license td, .license th, .license td{ display:block; width:100%; }
  #license tr, .license tr{ padding: .6rem 0; }
  #license th, .license th{
    background: transparent;
    background: var(--gold);
    color: #fff;
    padding: .8rem 1.2rem;
  }
  #license td, .license td{
    padding:.9rem 1.2rem;
  }
  #license tr:last-child, .license tr:last-child{ border-bottom:none; }
}

/* print: remove shadows and ensure borders */
@media print{
  #license, .license{ box-shadow:none; border:1px solid #ddd; }
}


/* ===== Recruit Page ===== */
#recruit-intro.white_card{
  background:#fff;
  border-radius:1.2rem;
  box-shadow:0 2px 8px rgba(0,0,0,.05);
  padding:2.4rem;
  margin-bottom:3rem;
}
#recruit-intro .lead{ line-height:2; }
.job-grid{ display:grid; grid-template-columns:1fr; gap:1.6rem; }
.job-card{
  background:#fff;
  border-radius:1.2rem;
  box-shadow:0 2px 8px rgba(0,0,0,.05);
  padding:2rem;
  display:grid;
  grid-template-columns:minmax(140px,28%) 1fr;
  gap:1rem 1.6rem;
}
.job-card dt{ color:var(--brown); font-weight:700; }
.job-card dd{ line-height:1.9; }

@media screen and (max-width: 640px){
  .job-card{ grid-template-columns: 1fr; }
}


/* 求める人材：ワンカラム＆枠付き＆破線区切り */
.req-points {
    box-shadow: 0 2px 8px rgba(0, 0, 0, .05);
  padding: clamp(1.5rem, 1.5vw, 3.0rem);
    border-radius: 1.2rem;
}
/* 求める人材：バッジ付きリスト */
.req-points li{
  position:relative;
  padding:1.1rem 1.2rem 1.1rem 3.2rem;
  line-height:1.8;
  border-bottom: 1px dashed #ccc;
}
.req-points li:last-child {
  border-bottom: none;
}
.req-points li::before{
  content:"";
  position:absolute;
  left:1.2rem; top:50%;
  transform: translateY(-50%);
  width:1.2rem; height:1.2rem;
  border-radius:50%;
  background: var(--gold);
  box-shadow: 0 0 0 4px rgba(198,162,88,.15);
}

#thanks .beige_bg {
  padding: min(3.0vw, 6.0rem);
}