:root{
    --c-primary:#dd8d8d; /* メインピンク */
    --c-accent:#cf2e2e; /* アクセントレッド */
    --c-rightgray:#d9e0e6;
    --c-white:#ffffff;
    --c-muted:#abb8c3;   /* グレー */
    --c-black:#000000;
    --c-body:#555555;
    --c-border:#d9e0e6; /* muted由来の明度補正ボーダー */
    --maxw:960px;
  }
  html{scroll-behavior:smooth}
  body{margin:0;color:var(--c-body);font-size:0.8rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;line-height:1.7;background:#fff}

  /* ヘッダー */
  .site-header{margin-top:0.75rem;border-bottom:1px solid var(--c-border);background:var(--c-white)}
  .site-header_inner{max-width:var(--maxw);margin:auto;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem}
  .logo{display:inline-flex;align-items:center;text-decoration:none;color:var(--c-black)}
  .logo img{display:block;height:28px;width:auto}

  /* コンテンツ共通 */
  .container{max-width:var(--maxw);margin-inline:auto;padding:24px 16px}
  .breadscrum{font-size:.9rem;color:#555;margin:.25rem 0 2rem}
  .breadscrum a{color:var(--c-primary);text-decoration:none}
  .breadscrum_list{list-style:none;padding:0;margin:0;display:flex;gap:.5rem;flex-wrap:wrap}
  .breadscrum_list li::after{content:"/";margin-left:.5rem;color:#999}
  .breadscrum_list li:last-child::after{content:none}

  h1{font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.3;margin:0 0 .75rem}
  h2{font-size:1.125rem;margin:3.5rem 0 .75rem;line-height:1.35}
  .hdg-border{padding-bottom:.4rem;border-bottom:3px solid var(--c-primary)}
  p{margin:.75rem 0}
  .lead{margin-top:.5rem}
  ul.notes {list-style-type: none;padding-left:0.5rem;}
  .adj-caption-top{font-size:0.75rem;font-weight:bold;margin-top:2rem;margin-bottom:0.25rem;margin-left:1rem;}
  .list-jobtypeAndArea{list-style-type: disc;padding-left:1.5rem;}

  /* テーブル */
  .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--c-border);border-radius:10px}
  table{width:100%;border-collapse:collapse;min-width:640px;background:#fff}
  th,td{border:1px solid var(--c-border);border-bottom:1px solid var(--c-border);text-align:left;padding:.8rem .9rem;vertical-align:top}
  thead th{background:color-mix(in srgb, var(--c-muted) 20%, #fff);font-weight:700}
  td[data-th="報酬形態"] { min-width: 5rem; }

  /* 注釈・番号リスト */
  .notes{padding-left:1.25em}
  .numlist{list-style:none;padding-left:0;counter-reset:num}
  .numlist li{counter-increment:num;margin:.5rem 0}
  .numlist li .item{display:inline}
  .numlist li::before{content:"[" counter(num) "] ";font-variant-numeric:tabular-nums;color:var(--c-primary);margin-right:.25rem}

  /* 問い合わせボックス */
  .box{border:1px solid var(--c-border);border-left:6px solid var(--c-muted);border-radius:10px;padding:1rem;margin:1rem 0;background:#fff}
  .box h3{margin:.25rem 0 .5rem;font-size:1rem}
  .box a{color:var(--c-body)}

  /* 右寄せの「以上」 */
  .align-right{ text-align:right; margin-top:2rem }

  /* フッター */
  .site-footer{bottom:0;padding:1rem 1rem;border-top:1px solid var(--c-border);color:var(--c-white);background:var(--c-primary);margin-top:48px}
  .site-footer_inner{max-width:var(--maxw);margin:auto;display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem;justify-content:space-between;}
  .footer-links{display:flex;gap:2rem;flex-wrap:wrap; font-size:0.75rem;margin-top:20px;}
  .footer-links a{color:#fff;text-decoration:none;}
  .footer-links a:hover{color:var(--c-rightgray)}
  .footer-logo{width:75px;height:auto}
  .footer-logo img{width:100%;height:auto}
  .site-footer small{font-size:0.75rem;margin-top:20px;}

  /* ページトップ */
.l-pagetop {
    font-size: 12px;
    font-weight: 700;
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: block;
    line-height: 1.2;
    text-align: center;
    width: 65px;
    height: 65px;
    background-color: #000;
    border-radius: 50%;
    vertical-align: middle;
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s, visibility .3s, transform .3s;
    transform: translateY(20px);
}
.l-pagetop.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.l-pagetop a:before {
    content: '';
    width: 7px;
    height: 7px;
    border: 0;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    position: absolute;
    top: 12px;
    left: 50%;
    transform: translateX(-50%) rotate(-45deg);
}
.l-pagetop a {
    display: block;
    padding-top: 23px;
    color: #fff;
    text-decoration: none;
    position: relative;
}
a:hover {
    opacity: .7;
}
a:active, a:focus, a:hover {
    outline: 0;
}

  /* レスポンシブ */
  @media (max-width: 428px){
    .site-header_inner{padding:.6rem .75rem}
    .container{padding:20px 14px}
  }
  @media (max-width: 768px){ /* 〜768px: タブレット含む */
    thead{display:none}
    table,tbody,tr,td{display:block}
    table{min-width:0}
    tr{border-bottom:1px solid var(--c-border)}
    td{border:none;padding:.6rem .8rem}
    td[data-th]::before{content:attr(data-th) "：";display:block;font-weight:700;color:#333;margin-bottom:.2rem}
  }
  /* フォーカス可視化 */
  a:focus-visible, button:focus-visible{outline:3px solid color-mix(in srgb, var(--c-accent) 70%, #fff);outline-offset:2px;border-radius:6px}