@charset "utf-8";

/* 市区町村マップページ共通（article.chy 内のみ） */

.chy {
  --chy-orange: #e85d04;
  --chy-orange-dark: #c74b00;
  --chy-orange-pale: #fff7f2;
  --chy-blue: #1a6ea8;
  --chy-blue-pale: #f0f6ff;
  --chy-green: #2a8040;
  --chy-green-h1: #1d6330;
  --chy-ok: #008236;
  --chy-ng: #fb2c36;
  --chy-line: #e5e7eb;
  --chy-soft: #f9fafb;
  --chy-head: #f3f4f6;
  --chy-heading: #101828;
  --chy-text: #364153;
  --chy-text-strong: #1e2939;
  --chy-text-sub: #4a5565;
  --chy-text-mute: #6a7282;
  box-sizing: border-box;
  color: var(--chy-text);
  font-family: "Noto Sans JP", 'ヒラギノ角ゴ Pro W3', メイリオ, sans-serif;
  line-height: 1.5;
  padding: 20px 0 84px;
}

.chy *,
.chy *::before,
.chy *::after {
  box-sizing: inherit;
}

/* 見出し ------------------------------------------------- */

.chy h1 {
  background: none;
  border: 0;
  border-bottom: 2px solid var(--chy-green);
  color: var(--chy-green-h1);
  font-size: 24px;
  font-weight: 900;
  height: auto;
  line-height: 32px;
  margin: 0;
  padding: 0 0 10px;
}

.chy-meta {
  color: var(--chy-text-mute);
  font-size: 12px;
  line-height: 20px;
  margin: 8px 0 0;
}

.chy-section {
  margin-top: 32px;
}

.chy-section:first-of-type {
  margin-top: 20px;
}

.chy-heading {
  background: none;
  border: 0;
  border-left: 4px solid var(--chy-green);
  color: var(--chy-heading);
  font-size: 24px;
  font-weight: 900;
  height: auto;
  line-height: 32px;
  margin: 0;
  padding: 8px 0 8px 20px;
}

.chy-subhead {
  background: none;
  border: 0;
  border-bottom: 1px solid var(--chy-line);
  color: var(--chy-blue);
  font-size: 16px;
  font-weight: 700;
  height: auto;
  line-height: 24px;
  margin: 20px 0 0;
  padding: 0 0 5px;
}

/* 共通ブロック --------------------------------------------- */

.chy-box {
  border: 1px solid var(--chy-line);
  border-radius: 4px;
  margin-top: 16px;
  padding: 17px;
}

.chy-lead {
  color: var(--chy-text);
  font-size: 16px;
  line-height: 24px;
  margin: 0;
}

.chy-lead + .chy-lead {
  margin-top: 8px;
}

.chy-lead--sm {
  color: var(--chy-text-sub);
  font-size: 14px;
  line-height: 20px;
}

.chy-lead--em {
  color: var(--chy-text);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
}

.chy-note {
  color: var(--chy-text-mute);
  font-size: 14px;
  line-height: 20px;
  margin: 8px 0 0;
}

.chy-note--faint {
  color: #99a1af;
  margin-top: 12px;
}

.chy-ok {
  color: var(--chy-ok);
}

.chy-ng {
  color: var(--chy-ng);
}

/* ボタン ------------------------------------------------- */

.chy-btn {
  align-items: center;
  border-radius: 4px;
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  height: 36px;
  justify-content: center;
  line-height: 20px;
  padding: 0 16px;
  text-decoration: none;
}

.chy-btn--us {
  background: var(--chy-orange);
  color: #fff;
}

.chy-btn--them {
  background: var(--chy-blue);
  color: #fff;
}

.chy-btn--biz {
  background: var(--chy-orange-dark);
  color: #fff;
  margin-top: 20px;
}

/* 比較表（パソコン廃棄.com × 自治体） ------------------------ */

.chy-table-wrap {
  border: 1px solid var(--chy-line);
  border-radius: 4px;
  margin-top: 16px;
  overflow: hidden;
  padding: 1px;
}

.chy-cmp2 {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}

.chy-cmp2 th,
.chy-cmp2 td {
  border-bottom: 1px solid var(--chy-line);
  border-right: 1px solid var(--chy-line);
  font-size: 14px;
  line-height: 20px;
  padding: 8px 12px;
  text-align: center;
  vertical-align: middle;
}

.chy-cmp2 th:last-child,
.chy-cmp2 td:last-child {
  border-right: 0;
}

.chy-cmp2 thead th {
  height: 48px;
}

.chy-cmp2 thead th:first-child {
  background: var(--chy-head);
  color: var(--chy-text-sub);
  font-weight: 600;
  text-align: left;
  width: 144px;
}

.chy-cmp2 thead .chy-cmp2__us {
  background: var(--chy-orange);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}

.chy-cmp2 thead .chy-cmp2__them {
  background: var(--chy-blue);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}

.chy-cmp2 tbody th {
  background: var(--chy-soft);
  color: var(--chy-text-strong);
  font-weight: 600;
  text-align: left;
  width: 144px;
}

.chy-cmp2 tbody tr:nth-child(even) {
  background: var(--chy-soft);
}

.chy-cmp2 tbody td {
  font-weight: 600;
}

.chy-cmp2 tbody .chy-cmp2__them {
  font-weight: 700;
}

.chy-cmp2 tbody tr:last-child th,
.chy-cmp2 tbody tr:last-child td {
  border-bottom: 0;
}

.chy-typelist {
  display: inline-block;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
}

.chy-typelist li {
  color: var(--chy-text);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}

.chy-typelist li span {
  font-weight: 700;
  margin-right: 4px;
}

.chy-row-result {
  background: var(--chy-head) !important;
}

.chy-row-result th {
  background: transparent !important;
  color: var(--chy-text) !important;
  font-weight: 700 !important;
}

.chy-price {
  color: var(--chy-orange);
  font-size: 24px;
  font-weight: 900;
  line-height: 32px;
}

.chy-price__note {
  color: var(--chy-text-mute);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}

.chy-price--them {
  color: var(--chy-text);
  font-size: 14px;
  font-weight: 400;
  line-height: 22.75px;
}

.chy-row-link {
  background: #fff !important;
}

.chy-row-link th {
  background: transparent !important;
  color: var(--chy-text) !important;
  font-weight: 700 !important;
}

/* 仕様テーブル（費用／データ消去 …） -------------------------- */

.chy-spec {
  border: 1px solid var(--chy-line);
  border-collapse: collapse;
  margin-top: 0;
  table-layout: fixed;
  width: 100%;
}

.chy-spec th,
.chy-spec td {
  border: 1px solid var(--chy-line);
  font-size: 14px;
  line-height: 20px;
  padding: 8px 12px;
  text-align: left;
  vertical-align: middle;
}

.chy-spec th {
  background: var(--chy-soft);
  color: var(--chy-text);
  font-weight: 600;
  width: 112px;
}

.chy-spec td {
  color: var(--chy-text);
  font-weight: 400;
}

.chy-spec tbody tr:nth-child(even) {
  background: var(--chy-soft);
}

.chy-spec a {
  color: var(--chy-blue);
}

/* サービスカード ------------------------------------------- */

.chy-services-title {
  color: var(--chy-text-mute);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  margin: 20px 0 0;
}

.chy-cards {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr 1fr;
  margin-top: 4px;
}

.chy-card {
  border: 2px solid var(--chy-orange);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 2px;
}

.chy-card--bring {
  border-color: var(--chy-blue);
}

.chy-card__head {
  background: var(--chy-orange-pale);
  color: var(--chy-orange);
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
  margin: 0;
  padding: 8px;
  text-align: center;
}

.chy-card--bring .chy-card__head {
  background: var(--chy-blue-pale);
  color: var(--chy-blue);
}

.chy-card__body {
  background: #fff;
  flex: 1 0 auto;
  padding: 12px;
}

.chy-card__text {
  color: var(--chy-text);
  font-size: 14px;
  line-height: 20px;
  margin: 0;
}

.chy-card__cta {
  align-items: center;
  background: var(--chy-orange);
  color: #fff;
  display: flex;
  font-size: 16px;
  font-weight: 700;
  gap: 8px;
  justify-content: center;
  line-height: 24px;
  padding: 12px;
  text-decoration: none;
}

.chy-card--bring .chy-card__cta {
  background: var(--chy-blue);
}

.chy-steps {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
}

.chy-steps li {
  color: var(--chy-text);
  font-size: 14px;
  line-height: 20px;
  margin-top: 4px;
}

.chy-steps li:first-child {
  margin-top: 0;
}

.chy-step {
  background: var(--chy-head);
  border-radius: 4px;
  color: var(--chy-text);
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  line-height: 20px;
  margin-right: 4px;
  padding: 0 8px;
}

.chy-steps--lg li {
  font-size: 16px;
  line-height: 24px;
}

.chy-steps--lg .chy-step {
  font-size: 14px;
  line-height: 24px;
}

.chy-link-outline {
  align-items: center;
  border: 1px solid var(--chy-green);
  border-radius: 4px;
  color: var(--chy-green);
  display: inline-flex;
  font-size: 12px;
  height: 26px;
  line-height: 20px;
  margin-top: 8px;
  padding: 0 8px;
  text-decoration: none;
}

/* 会社詳細カード ------------------------------------------- */

.chy-vendors {
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr 1fr;
}

.chy-vendor {
  background: var(--chy-soft);
  border: 1px solid var(--chy-line);
  border-radius: 4px;
  padding: 13px;
}

.chy-vendor__name {
  color: var(--chy-green);
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
  margin: 0;
}

.chy-vendor__addr {
  color: var(--chy-text-mute);
  font-size: 14px;
  line-height: 20px;
  margin: 4px 0 0;
}

/* 業者比較表 ---------------------------------------------- */

.chy-cmp {
  border: 1px solid var(--chy-line);
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}

.chy-cmp th,
.chy-cmp td {
  border: 1px solid var(--chy-line);
  font-size: 14px;
  line-height: 20px;
  padding: 8px;
  text-align: center;
  vertical-align: middle;
}

.chy-cmp thead th {
  background: var(--chy-soft);
  color: var(--chy-text);
  font-weight: 600;
  height: 52px;
}

.chy-cmp thead th:first-child {
  background: var(--chy-head);
  color: var(--chy-text-sub);
  text-align: left;
  padding-left: 12px;
  width: 128px;
}

.chy-cmp thead .chy-cmp__us {
  background: var(--chy-orange);
  color: #fff;
  font-weight: 700;
}

.chy-cmp tbody th {
  color: var(--chy-text);
  font-weight: 500;
  padding-left: 12px;
  text-align: left;
}

.chy-cmp tbody tr:nth-child(even) {
  background: var(--chy-soft);
}

.chy-cmp tbody td {
  color: var(--chy-text-sub);
  font-weight: 700;
}

.chy-cmp tbody .chy-cmp__us {
  font-weight: 600;
}

.chy-cmp .chy-dash {
  color: var(--chy-text-sub);
  font-weight: 400;
}

.chy-cmp a {
  color: var(--chy-blue);
}

/* 産廃業者リスト ------------------------------------------- */

.chy-wastes {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr 1fr;
  margin-top: 12px;
}

.chy-waste {
  background: var(--chy-soft);
  border: 1px solid var(--chy-line);
  border-radius: 4px;
  padding: 13px;
}

.chy-waste__name {
  color: var(--chy-text-strong);
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
  margin: 0;
}

.chy-waste__meta {
  color: var(--chy-text-mute);
  font-size: 14px;
  line-height: 20px;
  margin: 4px 0 0;
}

/* 連絡先 ------------------------------------------------- */

.chy-contact {
  margin-top: 8px;
}

.chy-contact p {
  color: var(--chy-text);
  font-size: 16px;
  line-height: 24px;
  margin: 0;
}

.chy-contact p + p {
  margin-top: 4px;
}

.chy-contact .chy-btn {
  margin-top: 12px;
}

/* 地名／市区町村チップ ------------------------------------- */

.chy-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
}

.chy-chip {
  background: var(--chy-soft);
  border: 1px solid var(--chy-line);
  border-radius: 4px;
  color: var(--chy-text-sub);
  display: inline-block;
  font-size: 14px;
  line-height: 20px;
  padding: 5px 9px;
}

.chy-chip a {
  color: inherit;
  text-decoration: none;
}

.chy-chip--city {
  background: #f9f9f9;
  border-color: #ccc;
  color: #555;
  font-weight: 500;
}

.chy-chip--current {
  background: var(--chy-orange);
  border-color: var(--chy-orange);
  color: #fff;
  font-weight: 500;
}

.chy-group + .chy-group {
  margin-top: 16px;
}

.chy-group__title {
  color: var(--chy-text-sub);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  margin: 0;
}

.chy-group .chy-chips {
  margin-top: 8px;
}

/* まとめ表 ----------------------------------------------- */

.chy-sum {
  border: 1px solid var(--chy-line);
  border-collapse: collapse;
  margin-top: 16px;
  table-layout: fixed;
  width: 100%;
}

.chy-sum th,
.chy-sum td {
  border: 1px solid var(--chy-line);
  font-size: 14px;
  line-height: 20px;
  padding: 8px 12px;
  text-align: center;
  vertical-align: middle;
}

.chy-sum thead th:first-child {
  background: var(--chy-head);
  color: var(--chy-text-sub);
  font-weight: 600;
  height: 48px;
  text-align: left;
  width: 80px;
}

.chy-sum thead .chy-sum__us {
  background: var(--chy-orange);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}

.chy-sum thead .chy-sum__them {
  background: var(--chy-blue);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}

.chy-sum tbody th {
  color: var(--chy-text);
  font-weight: 700;
  text-align: left;
}

.chy-sum tbody tr:nth-child(even) {
  background: var(--chy-soft);
}
