/* Received nodes: SP 836:44956, PC 836:47293. Page-scoped styles only. */
.ca-page {
  --ca-ink: #012530;
  --ca-blue: #00526b;
  --ca-muted: #4f656c;
  --ca-pale: #f2f9ff;
  --ca-rule: #cddadd;
  color: var(--ca-ink);
}
.ca-container {
  width: calc(100% - 48px);
  margin-inline: auto;
  min-width: 0;
}
.ca-section {
  padding-block: 44px;
}
.ca-heading {
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
}
.ca-body,
.ca-card p {
  font-size: 14px;
  line-height: 1.6;
}
.ca-note {
  font-size: 10px;
  line-height: 1.6;
  color: var(--ca-muted);
}
.ca-paths__grid {
  display: grid;
  gap: 24px;
  margin-top: 24px;
}
.ca-paths article {
  padding: 24px;
  background: rgb(95% 97% 98%);
}
.ca-path-title {
  font-size: 18px;
  line-height: 1.6;
  font-weight: 700;
}
.ca-path-list {
  margin-top: 16px !important;
  font-size: 14px;
  line-height: 1.6;
}
.ca-lifetime {
  background: var(--ca-ink);
  color: white;
}
.ca-lifetime .ca-heading span {
  color: #14bbbb;
}
.ca-lifetime .ca-body {
  margin-top: 24px;
}
.ca-freelance,
.ca-results {
  background: var(--ca-pale);
}
.ca-freelance__row {
  display: grid;
  gap: 24px;
  margin-top: 24px;
}
.ca-proposal {
  padding: 18px;
  background: white;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ca-caption {
  font-size: 9px;
  line-height: 1.6;
  font-weight: 700;
  color: var(--ca-blue);
}
.ca-brief {
  font:
    700 18px/1.6 "Noto Serif JP",
    serif;
}
.ca-stage {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--ca-rule);
  font-size: 13px;
  line-height: 1.6;
}
.ca-stage span {
  flex: 0 0 30px;
  color: var(--ca-blue);
  font:
    400 16px/1.1 "Source Serif 4",
    serif;
}
.ca-freelance__cards {
  display: flex;
  flex-direction: column;
  gap: 26px;
}
.ca-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--ca-rule);
}
.ca-card__heading {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  min-height: 31px;
}
.ca-card h3 {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.6;
  min-width: 0;
}
.ca-card__heading .ca-icon {
  flex: none;
  width: 24px;
  height: 24px;
  margin-top: 1px;
}
.ca-freelance .ca-card__heading {
  min-height: 27px;
}
.ca-freelance .ca-note {
  margin-top: 24px;
}
.ca-index {
  font:
    400 28px/1.1 "Source Serif 4",
    serif;
  color: var(--ca-blue);
  flex: 0 0 43px;
}
.ca-employment__row {
  display: grid;
  gap: 24px;
  margin-top: 24px;
}
.ca-coach {
  display: block;
  width: 100%;
  height: auto !important;
  aspect-ratio: 342/250;
  object-fit: cover;
  object-position: center;
}
.ca-employment__cards {
  display: grid;
  gap: 26px;
}
.ca-flow {
  background: var(--ca-ink);
  color: white;
}
.ca-flow__cards {
  display: grid;
  gap: 26px;
  margin-top: 24px;
}
.ca-flow .ca-index {
  color: #21a8a0;
}
.ca-flow .ca-card {
  border-color: #00526b;
}
.ca-results .ca-container {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.ca-results__metric {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.ca-metric {
  border-bottom: 1px solid var(--ca-rule);
  padding-bottom: 6px;
}
.ca-metric__label {
  color: var(--ca-blue);
  font-size: 11px;
  line-height: 1.6;
  font-weight: 700;
}
.ca-metric__value {
  font:
    400 70px/1.3 "Source Serif 4",
    serif;
  color: #b08c54;
  margin-top: 6px !important;
}
.ca-results__links {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.ca-results__links--pc {
  display: none;
}
.ca-result-link {
  min-height: 71px;
}
.ca-arrow {
  flex: none;
  font:
    400 23px/1.6 "Noto Sans JP",
    sans-serif;
}
@media (min-width: 768px) and (max-width: 1279.98px) {
  .ca-container {
    width: min(calc(100% - 64px), 1040px);
  }
  .ca-container--reading,
  .ca-freelance .ca-container,
  .ca-employment .ca-container {
    max-width: 880px;
  }
  .ca-section {
    padding-block: 64px;
  }
  .ca-heading {
    font-size: 28px;
  }
  .ca-body,
  .ca-card p,
  .ca-path-list {
    font-size: 16px;
  }
  .ca-card h3,
  .ca-path-title {
    font-size: 20px;
  }
  .ca-paths__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-top: 32px;
  }
  .ca-freelance__row,
  .ca-employment__row {
    margin-top: 32px;
    gap: 32px;
  }
  .ca-employment__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }
  .ca-flow__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-top: 32px;
  }
  .ca-proposal {
    max-width: 520px;
    width: 100%;
    margin-inline: auto;
  }
  .ca-coach {
    max-width: 520px;
    margin-inline: auto;
  }
  .ca-results__links {
    max-width: 342px;
    width: 100%;
    margin-inline: auto;
  }
}
@media (min-width: 1280px) {
  .ca-container {
    width: min(calc(100% - 240px), 1200px);
  }
  .ca-container--reading {
    width: min(calc(100% - 560px), 880px);
  }
  .ca-section {
    padding-block: 88px;
  }
  .ca-heading {
    font-size: 32px;
  }
  .ca-paths__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 40px;
  }
  .ca-path-title {
    font-size: 24px;
  }
  .ca-path-list {
    font-size: 18px;
  }
  .ca-lifetime {
    text-align: center;
  }
  .ca-lifetime .ca-body {
    font-size: 16px;
  }
  .ca-freelance__row {
    grid-template-columns: minmax(0, 520fr) minmax(0, 632fr);
    align-items: center;
    gap: 48px;
    margin-top: 32px;
  }
  .ca-proposal {
    padding: 24px;
    gap: 8px;
  }
  .ca-caption {
    font-size: 14px;
  }
  .ca-brief {
    font-size: 22px;
    line-height: 1.4;
  }
  .ca-stage {
    font-size: 16px;
    padding-bottom: 8px;
  }
  .ca-stage span {
    font-size: 18px;
  }
  .ca-freelance__cards {
    gap: 32px;
  }
  .ca-freelance .ca-card__heading {
    min-height: 35px;
  }
  .ca-freelance .ca-card h3 {
    font-size: 22px;
  }
  .ca-freelance .ca-card p {
    font-size: 18px;
  }
  .ca-freelance .ca-card__heading .ca-icon {
    margin-top: 5px;
  }
  .ca-freelance .ca-note {
    margin-top: 28px;
  }
  .ca-note {
    font-size: 14px;
  }
  .ca-employment__row {
    grid-template-columns: minmax(0, 520fr) minmax(0, 632fr);
    gap: 48px;
    margin-top: 40px;
  }
  .ca-coach {
    aspect-ratio: 520/360;
  }
  .ca-employment__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px 24px;
    align-content: start;
  }
  .ca-employment .ca-card p {
    font-size: 16px;
  }
  .ca-flow__cards {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 24px;
    margin-top: 40px;
  }
  .ca-flow .ca-card__heading {
    min-height: 54px;
  }
  .ca-flow .ca-card h3 {
    font-size: 16px;
  }
  .ca-flow .ca-card p {
    font-size: 16px;
    min-height: 78px;
  }
  .ca-results .ca-container {
    display: grid;
    grid-template-columns: minmax(0, 342fr) minmax(0, 498fr);
    gap: 40px;
  }
  .ca-results__intro .ca-heading {
    margin-bottom: 32px;
  }
  .ca-results__links--pc {
    display: flex;
  }
  .ca-results__links--sp {
    display: none;
  }
  .ca-results__metric {
    gap: 28px;
  }
  .ca-metric__label {
    font-size: 16px;
  }
  .ca-metric {
    padding-bottom: 6px;
  }
}

/* Source Serif 4 の数字。Figma と同じく光学サイズは自動（文字サイズに合わせて字形が変わる）。 */
.ca-index,
.ca-stage span,
.ca-metric__value {
  font-variation-settings:
    "wght" 400;
  font-variant-numeric: proportional-nums;
}

.ca-pc-break {
  display: none;
}
@media (min-width: 1280px) {
  .ca-pc-break {
    display: initial;
  }
}

.ca-icon {
  --icon-stroke-width: 2.8333333333;
  color: #00526b;
}
