@charset "utf-8";

.p-outline {
  background-color: #fff;
  padding-block-end: clamp(60px, 3.88vw + 45.44px, 120px);
}

.p-outline-inner {
  max-width: 1000px;
  margin-inline: auto;
  padding-inline: clamp(16px, 0.65vw + 13.57px, 26px);
  padding-block-start: clamp(40px, 2.59vw + 30.29px, 80px);
}

.p-outline-block {
  margin-block-end: clamp(40px, 2.59vw + 30.29px, 80px);
}

.p-outline-block-title {
  font-size: var(--font-size-lg);
  color: #333;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-block-end: clamp(8px, 0.32vw + 6.79px, 13px);
}

.p-outline-table {
  width: 100%;
  border-block-start: 1px solid #d8d8d8;
}

.p-outline-table-row {
  display: flex;
  flex-wrap: wrap;
  border-block-end: 1px solid #d8d8d8;
}

.p-outline-table-key {
  width: 30%;
  padding: clamp(12px, 0.39vw + 10.54px, 18px) clamp(12px, 0.65vw + 9.57px, 22px);
  font-size: var(--font-size-sm);
  color: #333;
  font-weight: bold;
  line-height: 1.7;
  background-color: #f7f7f5;
}

.p-outline-table-value {
  width: 70%;
  padding: clamp(12px, 0.39vw + 10.54px, 18px) clamp(12px, 0.65vw + 9.57px, 22px);
  font-size: var(--font-size-sm);
  color: #333;
  line-height: 1.7;
}

.p-outline-ad-label {
  display: inline-block;
  margin-block-start: clamp(12px, 0.52vw + 10.05px, 20px);
  font-size: var(--font-size-base);
  color: #333;
  font-weight: bold;
  letter-spacing: 0.05em;
}

.p-outline-note {
  margin-block-start: clamp(6px, 0.26vw + 5.03px, 10px);
  font-size: var(--font-size-base);
  color: #666;
  line-height: 1.8;
}

.p-outline-bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(16px, 0.65vw + 13.57px, 26px);
  margin-block-start: clamp(40px, 2.59vw + 30.29px, 80px);
}

.p-outline-entry {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-primary);
  color: #fff;
  font-size: var(--font-size-base);
  font-weight: bold;
  padding: clamp(12px, 0.39vw + 10.54px, 18px) clamp(40px, 2.59vw + 30.29px, 80px);
  text-decoration: none;
  letter-spacing: 0.1em;
  transition: opacity 0.2s;
}

.p-outline-entry:hover {
  opacity: 0.8;
}

@media screen and (max-width: 767px) {
  .p-outline-table-row {
    flex-direction: column;
  }

  .p-outline-table-key,
  .p-outline-table-value {
    width: 100%;
  }

  .p-outline-table-key {
    padding-block: 8px;
  }

  .p-outline-table-value {
    background-color: #fff;
    padding-block-start: 12px;
  }
}
