/* ================================
   01. 初期導入費・サービス費の事例（修正版）
   ※ campaignテーブルだけに限定してimportant削減
================================ */

/* テーブルの基本（必要なら残す。すでに他所にも定義があるなら重複整理OK） */
.p-price__case-table--campaign {
  border-spacing: 2px;
  background-color: #e4e7eb;
  border-radius: 0.375rem;
}

/* 見出し文字色 */
.p-price__case-table--campaign thead th {
  color: #ffffff;
}

/* 本文セルの基本 */
.p-price__case-table--campaign tbody th,
.p-price__case-table--campaign tbody td {
  text-align: center;
  padding-block: 0.75rem;
}

/* 現場サイズ列 */
.p-price__case-table--campaign .p-price__case-size {
  background-color: #f0f2f5;
  font-weight: 700;
  line-height: 1.2;
}

/* 人数セル */
.p-price__case-table--campaign .p-price__case-count {
  background-color: #ffffff;
}

/* デバイス列（wear/place） */
.p-price__case-table--campaign .p-price__case-devices {
  background-color: #f0f2f5;
  text-align: left;
  padding-inline: 1rem;
}

.p-price__case-table--campaign .p-price__case-devices-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* 初期導入費（※デバイス費）列：右寄せ・太字・背景 */
.p-price__case-table--campaign .p-price__case-price {
  background-color: #f0f2f5;
  text-align: right;
  white-space: nowrap;
}

/* 4ヶ月サービス費列：背景と中央寄せ（※上の .p-price__case-price を上書きするので後に書く） */
.p-price__case-table--campaign .p-price__case-price--service {
  text-align: center;
}

.p-price__case-table--campaign tbody tr td.p-price__case-devices {
  background-color: #f0f2f5;
}

.p-price__case-table--campaign .p-price__case-price-note {
  font-size: 0.75rem;
}

.p-price__case-table--campaign td.p-price__case-price {
  font-size: 1.15rem;
}

.p-price__case-notes {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* ====== 追加：列幅固定（監督/職長/作業員を同幅に） ====== */
.p-price__case-table--campaign {
  table-layout: fixed;
  width: 100%;
}

/* 7列： [1]現場 [2]監督 [3]職長 [4]作業員 [5]作業場所 [6]初期導入費 [7]4ヶ月サービス費 */
.p-price__case-table--campaign thead th:nth-child(1) {
  width: 12%;
}
.p-price__case-table--campaign thead th:nth-child(2),
.p-price__case-table--campaign thead th:nth-child(3),
.p-price__case-table--campaign thead th:nth-child(4) {
  width: 10%;
} /* ←同じ幅にする */
.p-price__case-table--campaign thead th:nth-child(5) {
  width: 20%;
}
.p-price__case-table--campaign thead th:nth-child(6) {
  width: 17%;
}
.p-price__case-table--campaign thead th:nth-child(7) {
  width: 17%;
}

/* ===== SS / S / M の英字だけ大きくする ===== */
.p-price__case-size-main {
  font-size: 1.25rem;
}

/* ====== 追加：指定した項目だけ太字 ====== */
.p-price__case-table--campaign .p-price__case-devices-list li.is-strong {
  font-weight: 700;
}

/* ====== ガイドトップ・PDFダウンロード　====== */
/* 20260411追加_guide_PDFダウンロード部分 */
.pdf-download__inner {
  margin-top: 2.5rem;
}

.p-guide-brochure__block {
  margin-top: 3rem;
  padding: 2rem 1.25rem;
  background: #F0F2F5;
  border-radius: 0.3125rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem 1.5rem;
}

.p-guide-pdf__item {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}

.p-guide-brochure-download-lead {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 1rem;
}

.p-guide-brochure-download-lead span {
  display: inline-block;
}

.p-guide__download-btn {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  width: 100%;
  min-height: 5.75rem;
  margin-top: auto;
  padding-block: 1.25rem;
  padding-inline: 1.5rem 3rem;
  font-size: 1.125rem;
  font-weight: 500;
  background: #003865;
  color: #FCFDFF;
  border: 1px solid #003865;
  border-radius: 0.3125rem;
  transition: 0.3s;
}

.p-guide__download-btn span {
  display: inline-block;
}

.p-guide__download-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  width: 1.5rem;
  height: 1.5rem;
  -webkit-mask-image: url("../images/common/file-pdf-download-icon.svg");
  mask-image: url("../images/common/file-pdf-download-icon.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  background: #FCFDFF;
  transition: 0.3s;
}

@media (any-hover: hover) {
  .p-guide__download-btn:hover {
    background: #FCFDFF;
    color: #003865;
    opacity: 1;
  }

  .p-guide__download-btn:hover::after {
    background: #003865;
  }
}

@media screen and (min-width: 768px) {
  .pdf-download__inner {
    margin-top: 3.75rem;
  }

  .p-guide-brochure__block {
    margin-top: 4rem;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem 2rem;
    padding: 2.5rem 2rem;
  }

  .p-guide-brochure-download-lead {
    font-size: 1.5rem;
  }

  .p-guide__download-btn {
    padding-block: 1.5rem;
    padding-inline: 2rem 3.75rem;
    font-size: 1.25rem;
  }

  .p-guide__download-btn::after {
    width: 1.6875rem;
    height: 1.6875rem;
    right: 1.25rem;
  }
}
/* ================================
   2026.0319
   TOPページ修正
================================ */
.p-issues__list {
  gap: 3rem 1.5625rem;
}

.p-issues-list__item {
  padding: 0;
  background-color: transparent;
}

.p-issues-list__item-content {
  padding: 1.875rem 1.25rem;
  background-color: #fcfdff;
  border-radius: 0.3125rem;
}

.p-issues-list__label {
  font-size: 0.875rem;
  font-weight: 700;
  background-color: #003865;
  color: #fcfdff;
  place-content: center;
  text-align: center;
  width: 9.375rem;
  height: 2rem;
  margin-inline: auto;
  position: relative;
}

.p-issues-list__label::after {
  content: "";
  position: absolute;
  bottom: calc(-1.5rem + 1px);
  left: 50%;
  transform: translateX(-50%);
  width: 12.5rem;
  height: 1.5rem;
  background-color: #003865;
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.p-issues-list__box-list {
  padding-block: 1.25rem;
  padding-inline: 1.25rem;
  background: #fcfdff;
  border: 1px solid #849fb4;
  border-radius: 0.375rem;
  counter-reset: number;
  margin-top: 2.5rem;
  position: relative;
}

.p-issues-list__box-list:after {
  content: "";
  position: absolute;
  bottom: -1.125rem;
  left: 50%;
  transform: translateX(-50%);
  width: 3.875rem;
  height: 1.125rem;
  background-color: #849fb4;
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.p-issues-list__box-list li {
  font-weight: 700;
  font-size: 1rem;
  counter-increment: number;
  position: relative;
  padding-left: 1.2em;
  text-align: left;
}

.p-issues-list__box-list li:before {
  content: counter(number) ". ";
  position: absolute;
  left: 0;
}

.p-issues-list__box-list--center {
  padding-block: 1rem;
  text-align: center;
  place-content: center;
  font-weight: 700;
  font-size: 1.25rem;
}

.p-issues-list__box-list--center::after {
  display: none;
}

.p-issues-list__box-list__strong {
  font-weight: 700;
  font-size: 1rem;
  display: inline;
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  -webkit-text-decoration-color: #F0BF56;
          text-decoration-color: #F0BF56;
  text-decoration-thickness: 0.2rem;
  text-underline-offset: 0rem;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  line-height: 1.7;
}

.p-issues__note {
  font-weight: 700;
  font-size: 1.25rem;
  margin-top: 2rem;
}

.p-issues__device {
  font-weight: 700;
  font-size: 1rem;
  padding: 1rem;
  color: #fcfdff;
  background: #003865;
  border-radius: 0.3125rem;
  text-align: center;
  place-content: center;
  max-width: 61.5625rem;
  margin: 1.25rem auto 0;
}

.p-issues__top::before {
  display: none;
}

.p-issues__words {
  max-width: 61.5625rem;
  margin: 2rem auto 0;
}

.p-issues__words-title {
  font-weight: 700;
  font-size: 0.875rem;
  padding-block: 0.25rem;
  padding-inline: 0.625rem;
  border: 1px solid #003865;
  border-radius: 0.3125rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-issues__words-list {
  margin-top: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.p-issues__words-list-item {
  display: flex;
  gap: 0.3125rem;
}

.p-issues__words-list * {
  font-size: 0.875rem;
  line-height: 1.75;
}

.p-issues__words-list dt {
  font-weight: 500;
  width: 6.875rem;
  position: relative;
  padding-left: 1em;
}

.p-issues__words-list dt::after {
  content: "・";
  position: absolute;
  left: 0;
}

.p-issues__words-list dd {
  flex: 1;
  position: relative;
  padding-left: 1em;
}

.p-issues__words-list dd::before {
  content: "：";
  position: absolute;
  left: 0;
}

.p-issues__words-note {
  font-size: 0.75rem;
  margin-top: 0.5rem;
  margin-left: 0.8rem;
}

.p-issues-solution-title__text {
  font-size: 1.25rem;
}

.p-issues-solution__arrow {
  width: 2.1875rem;
  height: 1rem;
  background-color: #003865;
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  margin-top: 2rem;
}

.p-issues-solution__text--lg {
  font-size: 1.125rem;
  font-weight: 700;
  /* margin-top: 1.25rem; */
}

.p-issues-solution__points {
  margin: 0;
}

.p-risks__body-wrap {
  background-color: #fcfdff;
  border: 1px solid #f0f2f5;
  border-radius: 0.3125rem;
  padding: 1.875rem 1.25rem;
}

.p-risks__body {
  background-color: transparent;
  padding: 0;
  border: none;
  border-radius: 0;
}

.p-risks__note {
  font-weight: 500;
  font-size: 1rem;
  margin-top: 1.5rem;
}

.p-risks-list__text {
  width: 20.625rem;
  margin-right: 0;
}

.p-risks-list__note {
  flex: 1;
  font-size: 0.75rem;
  margin-left: 1.25rem;
  margin-top: 0.25rem;
}


/* ================================
   2026.0401
   TOPページ修正
================================ */

.p-hero__label {
  font-size: 1.5rem; /* SP */
  font-weight: 700;
  color: #849FB4; /* 少し落とす */
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
}

.u-underline {
  text-decoration-line: underline;
  text-decoration-color: #F0BF56;
  text-decoration-thickness: 0.125rem; /* 3px相当 */
  text-underline-offset: 0.125rem;
  text-decoration-skip-ink: none;
}

/* ================================
   2026.0313
   注釈統一ー修正
================================ */
/* 共通注釈 */
.p-issues-solution__content {
  flex-wrap: wrap;
}

.c-note {
  width: 100%;
  color: #003865;
  font-size: 0.875rem;
  line-height: 1.6;
  margin-top: 1rem;
}



@media screen and (min-width: 768px) {
  .p-issues-list__item-content {
    padding: 3rem 2rem;
  }

  .p-issues-list__label {
    font-size: 1.5rem;
    width: 12.9375rem;
    height: 3.125rem;
  }

  .p-issues-list__label::after {
    bottom: calc(-1.75rem + 1px);
    width: 17.375rem;
    height: 1.75rem;
  }

  .p-issues-list__box-list li {
    font-size: 1.25rem;
  }

  .p-issues-list__box-list {
    padding-block: 2.5rem;
    padding-inline: 1.5rem;
    margin-top: 3.25rem;
  }

  .p-issues__note {
    font-weight: 700;
    font-size: 1.5rem;
    margin-top: 2.25rem;
  }

  .p-issues-list__box-list--center {
    padding-block: 2rem;
    font-size: 1.5rem;
  }

  
  .p-issues-list__box-list__strong {
    text-decoration-thickness: 0.4rem;
    font-size: 1.25rem;
  }

  .p-issues__device {
    font-size: 1.75rem;
    padding: 1.75rem;
    margin: 1.5rem auto 0;
  }

  .p-issues__words-title {
    font-size: 1rem;
    padding-block: 0.375rem;
    padding-inline: 1rem;
  }

  .p-issues__words-list * {
    font-size: 1rem;
  }

  .p-issues__words-list dt {
    width: 7.8125rem;
  }

  .p-issues__words-note {
    font-size: 0.875rem;
    margin-left: 1rem;
  }

  .p-issues-solution-title__text {
    font-size: 2.25rem;
  }

  .p-issues-solution__text--lg {
    font-size: 1.25rem;
  }

  .p-risks__body-wrap {
    padding: 3.5rem 3rem;
  }

  .p-risks__note {
    font-size: 1.125rem;
    margin-top: 2rem;
  }

  .p-risks-list__text {
    margin-right: 1rem;
  }

  .p-risks-list__note {
    font-size: 0.875rem;
    margin-left: 0;
    margin-top: 0;
  }

  .p-hero__label {
    font-size:  1.937rem; /* PC */
    margin-bottom: 2.25rem;
  }

  .u-underline {
  text-decoration-thickness: 0.1875rem; /* 3px相当 */
}

.c-note {
    font-size: 1rem;
    line-height: 1.7;
   margin-top: 1.25rem;
  }

}
