/* サービスページ専用。one テーマでは page-service.css として、他ページの CSS とは別に読み込む。 */

html {
  margin: 0;
}

body.page-service {
  margin: 0;
  background: #fff;
}

body.page-service .l-main {
  padding-top: 0;

}

.p-sv {
  --sv-header: 0px;
  container-type: inline-size;
  position: relative;
  color: #fff;
  font-family: Inter, "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
}

.p-sv__bg,
.p-sv__scale {
  --u: calc(100cqi / 1769);
}

.p-sv__bg {
  position: sticky;
  top: var(--sv-header);
  z-index: 0;
  height: calc(100dvh - var(--sv-header));
  margin-bottom: calc(-100dvh + var(--sv-header));
  overflow: hidden;
  pointer-events: none;
}

.p-sv__bg img {
  position: absolute;
  display: block;
  max-width: none;
}

.p-sv__bg-a {
  left: calc(-42.69 / 1769 * 100%);
  top: calc(-72.81 / 1024 * 100%);
  width: calc(1877.88 / 1769 * 100%);
  height: calc(1360.25 / 1024 * 100%);
}

.p-sv__bg-b {
  left: calc(-42.69 / 1769 * 100%);
  top: calc(-59.08 / 1024 * 100%);
  width: calc(1877.88 / 1769 * 100%);
  height: calc(1346.6 / 1024 * 100%);
}

.p-sv__bg-green {
  left: calc(629.39 / 1769 * 100%);
  top: calc(541.39 / 1024 * 100%);
  width: calc(1039.14 / 1769 * 100%);
  height: calc(1036.19 / 1024 * 100%);
  opacity: 0.6;
}

.p-sv__scale {
  position: relative;
  display: flex;
  align-items: flex-start;
  width: 100%;
}

.p-sv__col--1,
.p-sv__col--3 {
  position: sticky;
  top: var(--sv-header);
  height: calc(100dvh - var(--sv-header));
  background: #fff;
}

.p-sv__col--1 {
  flex: 0 0 calc(760 * var(--u));
  width: calc(760 * var(--u));
  color: #001932;
}

.p-sv__col--2 {
  position: relative;
  flex: 0 0 calc(735 * var(--u));
  width: calc(735 * var(--u));
  min-width: 0;
  color: #fff;
}

.p-sv__col--2 :is(h2, h3, p, span) {
  color: #fff;
}

.p-sv__col--3 {
  flex: 0 0 calc(274 * var(--u));
  width: calc(274 * var(--u));
}

.p-sv__gnav {
  position: absolute;
  top: calc(80.5 / 1024 * 100%);
  left: calc(91.72 * var(--u));
  display: flex;
  align-items: center;
  gap: calc(22 * var(--u));
  max-width: calc((760 - 91.72 - 16) * var(--u));
  font-size: calc(15.89 * var(--u));
  line-height: 1.2;
  white-space: nowrap;
}

.p-sv__gnav a {
  color: #bfc5cc;
  text-decoration: none;
}

.p-sv__gnav a[aria-current="page"] {
  color: #001932;
  font-weight: 400;
}

.p-sv__circle {
  position: absolute;
  top: calc(349 / 1024 * 100%);
  left: calc(192.5 * var(--u));
  width: calc(394 * var(--u));
  aspect-ratio: 1;
  height: auto;
}

.p-sv__circle-shape {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 calc(16 * var(--u)) rgba(0, 0, 0, 0.1);
}

.p-sv__circle-copy {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.34s ease;
}

.p-sv__circle-copy.is-on {
  opacity: 1;
}

.p-sv__circle-lead,
.p-sv__circle-title,
.p-sv__circle-body {
  margin: 0;
  color: #4c5e6f;
  font-weight: 400;
}

.p-sv__circle-lead {
  font-size: calc(19.86 * var(--u));
  line-height: calc((19.86 + 8) * var(--u));
  text-align: center;
  white-space: nowrap;
}

.p-sv__circle-copy:not([data-section="sv-torikumi"]) {
  align-items: flex-start;
  width: max-content;
  max-width: 86%;
  left: 50%;
  right: auto;
  transform: translateX(-50%);
}

.p-sv__circle-copy.p-sv__circle-copy--center {
  align-items: center;
  left: 0;
  right: 0;
  width: 100%;
  max-width: none;
  transform: none;
}

.p-sv__circle-copy--center .p-sv__circle-title {
  width: 100%;
  text-align: center;
}

.p-sv__circle-title {
  font-size: calc(19.86 * var(--u));
  line-height: 1.2;
}

.p-sv__circle-body {
  margin-top: calc(31 * var(--u));
  font-size: calc(15.89 * var(--u));
  line-height: calc(35.93 * var(--u));
}

.p-sv__section {
  position: relative;
  min-height: calc(100dvh - var(--sv-header));
  scroll-margin-top: var(--sv-header);
}

/* セクションの中身。画面に入った瞬間にフェードインし、出るときにフェードアウトする */
.p-sv__section > .js-reveal {
  opacity: 0;
  transition: opacity 0.7s ease;
}

.p-sv__section > .js-reveal.is-in {
  opacity: 1;
}

/* Contact Form 7 の外枠は高さがないため、フェード対象にするとフォームごと透明になる */
.page-top #tp-contact > .js-reveal,
.page-top #tp-contact > .js-reveal.is-in {
  opacity: 1;
}

.p-sv__copy,
.p-sv__block {
  position: absolute;
  margin: 0;
}

.p-sv__copy {
  top: calc(321 / 1024 * 100%);
  left: calc(235.5 / 735 * 100%);
  width: max-content;
  max-width: calc(100% - (235.5 / 735 * 100%));
  display: flex;
  flex-direction: column;
  gap: calc(63 * var(--u));
  font-size: calc(16 * var(--u));
  line-height: 1.35;
}

/* SP専用本文（PCでは非表示） */
.p-sv__copy--sp {
  display: none;
}

.p-sv__copy p {
  display: flex;
  flex-direction: column;
  gap: calc(22 * var(--u));
  margin: 0;
}

.p-sv__copy span,
.p-sv__lead span {
  white-space: nowrap;
}

.p-sv__block {
  top: calc(295 / 1024 * 100%);
  left: calc(146 / 735 * 100%);
  width: max-content;
  max-width: calc(100% - (146 / 735 * 100%));
}

.p-sv__lead {
  display: flex;
  flex-direction: column;
  gap: calc(22 * var(--u));
  margin: 0 0 calc(54 * var(--u));
  font-size: calc(16 * var(--u));
  line-height: 1.35;
}

.p-sv__stack {
  display: flex;
  flex-direction: column;
  gap: calc(41 * var(--u));
  margin-bottom: calc(54 * var(--u));
}

.p-sv__stack .p-sv__lead {
  margin: 0;
}

.p-sv__block--chosen {
  top: calc(228 / 1024 * 100%);
  left: calc(98.13 / 735 * 100%);
}

.p-sv__block--jigyo {
  top: calc(248 / 1024 * 100%);
  left: calc(148.32 / 735 * 100%);
}

.p-sv__copy--kachi {
  top: calc(369.69 / 1024 * 100%);
  left: calc(169.85 / 735 * 100%);
}

.p-sv__section--circle {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding-top: calc(148 / 1024 * 100%);
  gap: calc(72 * var(--u));
}

.p-sv__copy--circle {
  position: relative;
  top: auto;
  left: auto;
  margin-left: calc(110 / 735 * 100%);
}

.p-sv__ring {
  position: relative;
  top: auto;
  left: auto;
  margin-left: calc(64 / 735 * 100%);
  width: calc(540 / 735 * 100%);
  aspect-ratio: 1;
  container-type: inline-size;
}

.p-sv__ring svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.p-sv__halo {
  fill: #fff;
  opacity: 0.1;
  pointer-events: none;
}

.p-sv__slice {
  cursor: pointer;
  outline: none;
}

.p-sv__slice path {
  fill: #fff;
  transition: fill 0.25s ease;
}

.p-sv__slice.is-hot path {
  fill: #4c5e6f;
}

.p-sv__col--2 .p-sv__lab {
  position: absolute;
  color: #4c5e6f;
  font-weight: 400;
  line-height: 1.2;
  white-space: nowrap;
  pointer-events: none;
  transition: color 0.25s ease;
}

.p-sv__col--2 .p-sv__lab--name {
  font-size: calc(16.29 / 540 * 100cqi);
}

.p-sv__col--2 .p-sv__lab--sub {
  font-size: calc(7.89 / 540 * 100cqi);
}

.p-sv__col--2 .p-sv__lab.is-hot {
  color: #fff;
}

.p-sv__ring-core {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 28%;
  margin: 0;
  color: #fff;
  font-size: calc(16 / 540 * 100cqi);
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.p-sv__ring-core.is-detail {
  width: 24%;
  padding: 0;
  box-sizing: border-box;
  font-size: calc(8.5 / 500 * 100cqi);
  line-height: 1.65;
  letter-spacing: -0.02em;
}

/* SPの col2 p 一律指定を打ち消し */
body.has-sp-chrome .p-sv__ring-core.is-detail {
  font-size: calc(8.5 / 500 * 100cqi) !important;
  line-height: 1.65 !important;
}

.p-sv__ivlist {
  position: absolute;
  top: calc(185.88 / 1024 * 100%);
  left: calc(177.51 / 735 * 100%);
  width: calc(381 * var(--u));
  max-width: calc(100% - (177.51 / 735 * 100%));
}

.p-sv__ivlist .p-sv__lead {
  margin-bottom: calc(56 * var(--u));
}

.p-sv__iv {
  position: relative;
  display: block;
  margin: 0 0 calc(48 * var(--u));
  padding-right: calc(28 * var(--u));
  color: #fff;
  text-decoration: none;
}

.p-sv__iv:last-child {
  margin-bottom: 0;
}

.p-sv__col--2 .p-sv__iv-meta,
.p-sv__col--2 .p-sv__iv-title {
  margin: 0;
  color: #fff;
}

.p-sv__col--2 .p-sv__iv-meta {
  margin-bottom: 0;
}

.p-sv__iv-meta {
  display: flex;
  flex-direction: column;
  gap: calc(6 * var(--u));
  font-size: calc(12.4 * var(--u));
  line-height: 1.35;
}

.p-sv__iv-title {
  display: flex;
  flex-direction: column;
  gap: calc(3 * var(--u));
  margin-top: 0;
  font-size: calc(18 * var(--u));
  line-height: 1.4;
}

.p-sv__iv-arrow {
  position: absolute;
  right: 0;
  bottom: calc(2 * var(--u));
  width: calc(12.28 * var(--u));
  height: calc(14.18 * var(--u));
}

.p-sv__iv-arrow-ring {
  display: none;
}

.p-sv__iv-arrow-play {
  display: block;
  width: 100%;
  height: auto;
}

.p-sv__venn {
  position: absolute;
  left: calc(124 / 735 * 100%);
  top: calc(158 / 1024 * 100%);
  width: calc(486.81 / 735 * 100%);
  aspect-ratio: 486.81 / 492.32;
}

.p-sv__venn-c,
.p-sv__venn-dot {
  position: absolute;
  display: block;
  max-width: none;
  height: auto;
}

.p-sv__venn-c {
  width: calc(286.81 / 486.81 * 100%);
  aspect-ratio: 1;
  opacity: 0.28;
}

.p-sv__venn-c--tl,
.p-sv__venn-c--bl {
  left: 0;
}

.p-sv__venn-c--tr,
.p-sv__venn-c--br {
  left: calc(200 / 486.81 * 100%);
}

.p-sv__venn-c--tl,
.p-sv__venn-c--tr {
  top: 0;
}

.p-sv__venn-c--bl,
.p-sv__venn-c--br {
  top: calc(205.5 / 492.32 * 100%);
}

.p-sv__venn-dot {
  left: calc(227.3 / 486.81 * 100%);
  top: calc(230.1 / 492.32 * 100%);
  width: calc(29.54 / 486.81 * 100%);
  aspect-ratio: 1;
}

.p-sv__venn-copy {
  position: absolute;
  inset: 0;
  container-type: inline-size;
}

.p-sv__col--2 .p-sv__venn-name,
.p-sv__col--2 .p-sv__venn-desc {
  position: absolute;
  margin: 0;
  color: #fff;
  font-weight: 400;
  pointer-events: none;
}

.p-sv__venn-name {
  font-size: calc(16.25 / 486.81 * 100cqi);
  line-height: 1.2;
}

.p-sv__venn-name--tl,
.p-sv__venn-name--bl {
  left: calc(84.7 / 486.81 * 100%);
}

.p-sv__venn-name--tr,
.p-sv__venn-name--br {
  left: calc(351.8 / 486.81 * 100%);
}

.p-sv__venn-name--tl,
.p-sv__venn-name--tr {
  top: calc(78.6 / 492.32 * 100%);
}

.p-sv__venn-name--bl,
.p-sv__venn-name--br {
  top: calc(327.9 / 492.32 * 100%);
}

.p-sv__venn-desc {
  width: calc(163 / 486.81 * 100%);
  font-size: calc(10.82 / 486.81 * 100cqi);
  line-height: 1.65;
}

.p-sv__venn-desc--tl,
.p-sv__venn-desc--bl {
  left: calc(31.7 / 486.81 * 100%);
}

.p-sv__venn-desc--tr,
.p-sv__venn-desc--br {
  left: calc(298.7 / 486.81 * 100%);
}

.p-sv__venn-desc--tl,
.p-sv__venn-desc--tr {
  top: calc(122.7 / 492.32 * 100%);
}

.p-sv__venn-desc--bl,
.p-sv__venn-desc--br {
  top: calc(372 / 492.32 * 100%);
}

.p-sv__copy--skill {
  top: calc(728 / 1024 * 100%);
  left: calc(137 / 735 * 100%);
}

.p-sv__copy--sonota {
  top: calc(283.13 / 1024 * 100%);
  left: calc(226.81 / 735 * 100%);
}

.p-sv__brand {
  position: absolute;
  top: calc(769 / 1024 * 100%);
  left: calc(226.81 / 735 * 100%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(14 * var(--u));
  width: calc(228 * var(--u));
  height: calc(50 * var(--u));
  background: #fff;
  color: #000;
  font-size: calc(21 * var(--u));
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
}

.p-sv__col--2 .p-sv__brand {
  color: #000;
}

.p-sv__brand::after {
  content: "";
  flex-shrink: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: calc(4.35 * var(--u)) 0 calc(4.35 * var(--u)) calc(7.53 * var(--u));
  border-color: transparent transparent transparent #001932;
}

.p-sv__article {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: calc(620 / 1024 * 100%);
  padding: calc(24 * var(--u)) calc(30 * var(--u)) calc(28 * var(--u));
  background: #fff;
}

.p-sv__col--2 .p-sv__article :is(p, span, a) {
  color: #001932;
}

.p-sv__article-kicker,
.p-sv__article-body {
  margin: 0;
  font-size: 12px;
  line-height: 1.6;
}

.p-sv__article-kicker {
  display: flex;
  flex-direction: column;
  color: #001932;
}

.p-sv__article-title {
  display: flex;
  flex-direction: column;
  gap: calc(4 * var(--u));
  margin: calc(16 * var(--u)) 0 0;
  color: #001932;
  font-size: calc(18 * var(--u));
  font-weight: 400;
  line-height: 1.45;
}

.p-sv__col--2 .p-sv__article .p-sv__article-body {
  margin-top: calc(28 * var(--u));
  color: #4C5E6F;
}

.p-sv__article-more {
  align-self: center;
  display: inline-flex;
  align-items: center;
  gap: calc(8 * var(--u));
  margin-top: auto;
  padding: 8px 24px;
  border: max(1px, calc(1 * var(--u))) solid #4c5e6f;
  background: #fff;
  color: #4c5e6f;
  font-size: 12px;
  line-height: 1.2;
  text-decoration: none;
}

.p-sv__col--2 .p-sv__article .p-sv__article-more {
  color: #4c5e6f;
  margin-top: 24px;
}

.p-sv__article-more img {
  width: calc(5.27 * var(--u));
  height: calc(6.09 * var(--u));
}

.p-sv__archive-item {
  display: block;
  margin-top: calc(28 * var(--u));
  text-decoration: none;
}

.p-sv__archive-item:first-of-type {
  margin-top: calc(8 * var(--u));
}

.p-sv__program {
  margin: 0 0 calc(52 * var(--u));
}

/* 既定は非表示。PC（721px以上）とスマホの両方で表示する */
.p-sv__program-icon {
  display: none;
}

.p-sv__program:last-child {
  margin-bottom: 0;
}

.p-sv__program h3 {
  display: table;
  width: max-content;
  margin: 0;
  padding-bottom: calc(12 * var(--u));
  border-bottom: max(1px, calc(1 * var(--u))) solid #fff;
  font-size: calc(18.2 * var(--u));
  font-weight: 400;
  line-height: 1.3;
}

.p-sv__program p {
  margin: calc(16 * var(--u)) 0 0;
  font-size: calc(14 * var(--u));
  line-height: 1.5;
}

.p-sv__logo {
  position: absolute;
  top: calc(60 / 1024 * 100%);
  left: 50%;
  width: calc(108 * var(--u));
  transform: translateX(-50%);
  line-height: 0;
}

.p-sv__logo img {
  display: block;
  width: 100%;
  height: auto;
}

.p-sv__snav {
  position: absolute;
  top: calc(535 / 1024 * 100%);
  left: calc(68 * var(--u));
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(31 * var(--u));
  font-size: calc(15.89 * var(--u));
  line-height: 1.2;
}

.p-sv__snav a {
  position: relative;
  color: #001932;
  font-weight: 400;
  text-decoration: none;
  opacity: 0.35;
  white-space: nowrap;
}

.p-sv__snav a.active {
  font-weight: 400;
  opacity: 1;
}

.p-sv__snav a.active::before {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(-24 * var(--u));
  width: 0;
  height: 0;
  border-style: solid;
  border-width: calc(5 * var(--u)) 0 calc(5 * var(--u)) calc(8 * var(--u));
  border-color: transparent transparent transparent #001932;
  transform: translateY(-50%);
}

.p-sv__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}


@media (min-width: 721px) {
  .p-sv__col--2 {
    box-sizing: border-box;
    padding-inline: 10%;
  }

  .p-sv__col--2 :is(
    .p-sv__copy,
    .p-sv__block,
    .p-sv__ivlist,
    .p-sv__venn,
    .p-sv__brand,
    .p-sv__ring
  ) {
    left: 0;
    margin-left: 0;
    max-width: 100%;
    text-align: left;
  }

  .p-sv__col--2 .p-sv__ring {
    width: min(100%, calc(540 * var(--u)));
  }

  /* Oneサークルの図形だけ、col2 の 10% 余白を打ち消して中央に置く。端から 8px 内側 */
  .page-service #sv-circle .p-sv__ring {
    box-sizing: border-box;
    width: calc(735 * var(--u));
    max-width: none;
    margin-left: calc(-10cqi);
    margin-right: 0;
    padding-inline: 8px;
  }

  /* LIFE SKILL の図形は幅 600 で col2 の中央 */
  .p-sv__col--2 .p-sv__venn {
    box-sizing: border-box;
    left: 50%;
    width: calc(600 * var(--u));
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-inline: 8px;
    transform: translateX(-50%);
  }

  .p-sv__col--2 .p-sv__article {
    width: 100%;
    box-sizing: border-box;
    margin: 120px 0 80px;
  }

  .p-sv__col--2 .p-sv__ivlist {
    width: min(100%, calc(420 * var(--u)));
  }

  .p-sv__col--2 .p-sv__copy span,
  .p-sv__col--2 .p-sv__lead span {
    white-space: normal;
  }

  #sv-sonota {
    min-height: 0;
    padding-top: calc(160 * var(--u));
    padding-bottom: calc(300 * var(--u));
  }

  #sv-sonota :is(.p-sv__copy, .p-sv__brand) {
    position: relative;
    top: auto;
  }

  #sv-sonota .p-sv__brand {
    margin-top: calc(56 * var(--u));
  }

  /* 人を育む / 挑戦を支える / 事業をつくる: 左アイコン + 白15%の見出し */
  .page-service :is(#sv-hito, #sv-chosen, #sv-jigyo) .p-sv__program {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: calc(12 * var(--u));
  }

  .page-service :is(#sv-hito, #sv-chosen, #sv-jigyo) .p-sv__program-icon {
    display: block;
    flex: 0 0 calc(40 * var(--u));
    width: calc(40 * var(--u));
    height: auto;
    margin-top: calc(2 * var(--u));
  }

  .page-service #sv-chosen .p-sv__program-icon--stack {
    position: relative;
    height: calc(32 * var(--u));
  }

  .page-service #sv-chosen .p-sv__program-icon--stack img {
    position: absolute;
    display: block;
    height: auto;
  }

  .page-service #sv-chosen .p-sv__program-icon--stack img:first-child {
    top: 0;
    left: 0;
    width: calc(25.6 * var(--u));
  }

  .page-service #sv-chosen .p-sv__program-icon--stack img:last-child {
    right: 0;
    bottom: 0;
    width: calc(16.4 * var(--u));
  }

  .page-service :is(#sv-hito, #sv-chosen, #sv-jigyo) .p-sv__program-body {
    min-width: 0;
    flex: 1 1 auto;
  }

  .page-service :is(#sv-hito, #sv-chosen, #sv-jigyo) .p-sv__program h3 {
    display: inline-block;
    width: auto;
    margin: 0;
    padding: calc(4 * var(--u)) calc(7 * var(--u));
    border-bottom: 0;
    background: rgba(255, 255, 255, 0.15);
    color: #001932;
    font-weight: 400;
    line-height: 1.2;
  }

  .page-service :is(#sv-hito, #sv-chosen) .p-sv__program h3 {
    color: rgba(0, 25, 50, 0.65);
  }

  /* インタビュー: 名前の白15%背景と、丸で囲った矢印 */
  .page-service #sv-interview .p-sv__iv {
    padding-right: calc(48 * var(--u));
  }

  .page-service #sv-interview .p-sv__iv-meta {
    width: fit-content;
    max-width: 100%;
    padding: calc(4 * var(--u)) calc(6 * var(--u));
    background: rgba(255, 255, 255, 0.15);
    color: #001932;
    margin-bottom: 4px;
  }

  .page-service #sv-interview .p-sv__iv-meta span {
    color: #001932;
  }

  .page-service #sv-interview .p-sv__iv-arrow {
    width: calc(32 * var(--u));
    height: calc(32 * var(--u));
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
  }

  .page-service #sv-interview .p-sv__iv-arrow-ring {
    display: block;
    width: 100%;
    height: auto;
  }

  .page-service #sv-interview .p-sv__iv-arrow-play {
    position: absolute;
    left: 50%;
    top: 50%;
    width: calc(12.29 / 40.22 * 100%);
    height: auto;
    transform: translate(-42%, -50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .p-sv__circle-copy,
  .p-sv__slice path,
  .p-sv__lab,
  .p-sv__section > .js-reveal {
    opacity: 1;
    transition: none;
  }
}

/* スマホは col1 / col3 を隠し、本文は左右 30px。図形は枠の比率を固定する */
@media (max-width: 720px) {
  .p-sv__col--1,
  .p-sv__col--3 {
    display: none;
  }

  .p-sv__col--2 {
    flex-basis: 100%;
    width: 100%;
  }

  .p-sv__bg-a,
  .p-sv__bg-b {
    left: calc((-42.88 - 760) / 735 * 100%);
    width: calc(1876.6 / 735 * 100%);
  }

  .p-sv__bg-green {
    left: calc((628.72 - 760) / 735 * 100%);
    width: calc(1038 / 735 * 100%);
    height: calc(1035 / 1024 * 100%);
  }

  .p-sv__section {
    box-sizing: border-box;
    min-height: auto;
    padding: 40px 30px 48px;
  }

  .p-sv__section--circle {
    gap: 28px;
    padding-top: 40px;
  }

  .p-sv__copy,
  .p-sv__block,
  .p-sv__ivlist,
  .p-sv__article,
  .p-sv__venn,
  .p-sv__copy--circle,
  .p-sv__copy--skill,
  .p-sv__copy--sonota,
  .p-sv__ring {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .p-sv__venn,
  .p-sv__ring {
    margin-top: 28px;
  }

  .p-sv__article {
    min-height: 0;
  }

  .p-sv__brand {
    position: relative;
    top: auto;
    left: auto;
    width: max-content;
    max-width: 100%;
    height: auto;
    margin: 28px 0 0;
    padding: 14px 22px;
  }

  .p-sv__copy,
  .p-sv__lead,
  .p-sv__iv-title,
  .p-sv__article-title,
  .p-sv__program h3,
  .p-sv__brand {
    font-size: 16px;
    line-height: 1.7;
  }

  .p-sv__program p,
  .p-sv__iv-meta,
  .p-sv__article-kicker,
  .p-sv__article-body,
  .p-sv__article-more {
    font-size: 14px;
    line-height: 1.7;
  }

  .p-sv__copy span,
  .p-sv__lead span,
  .p-sv__iv-title span,
  .p-sv__article-title span {
    white-space: normal;
  }

  /* サービス SP 1・2: Figma 864基準。ブロック中央・テキスト左 */
  .page-service #sv-torikumi .p-sv__copy--pc {
    display: none;
  }

  .page-service #sv-torikumi .p-sv__copy--sp {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    box-sizing: border-box;
    width: 100%;
    max-width: calc(600 / 864 * 100vw);
    margin-left: auto;
    margin-right: auto;
    gap: calc(40 / 864 * 100vw);
    font-size: calc(17.01 / 864 * 100vw);
    line-height: calc(34 / 17.01);
    text-align: left;
  }

  .page-service #sv-torikumi .p-sv__copy--sp p {
    display: block;
    gap: 0;
  }

  .page-service #sv-torikumi .p-sv__copy--sp p + p {
    margin-top: 0;
  }

  /* サービス SP 2〜4: プログラム型セクション共通 */
  .page-service #sv-hito .p-sv__block,
  .page-service #sv-chosen .p-sv__block,
  .page-service #sv-jigyo .p-sv__block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    box-sizing: border-box;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
  }

  .page-service #sv-hito .p-sv__block {
    max-width: calc(645 / 864 * 100vw);
  }

  /* Figma サービス_03: 左右 ≈16.7% → 幅 574 */
  .page-service #sv-chosen .p-sv__block {
    max-width: calc(630 / 864 * 100vw);
  }

  /* Figma サービス_04: アイコン列を含む本文幅 607 */
  .page-service #sv-jigyo .p-sv__block {
    max-width: calc(630 / 864 * 100vw);
  }

  .page-service #sv-hito .p-sv__lead,
  .page-service #sv-chosen .p-sv__lead,
  .page-service #sv-jigyo .p-sv__lead {
    gap: calc(12 / 864 * 100vw);
    margin: 0 0 calc(40 / 864 * 100vw);
    font-size: calc(17.01 / 864 * 100vw);
    line-height: calc(34 / 17.01);
  }

  .page-service #sv-chosen .p-sv__stack {
    display: flex;
    flex-direction: column;
    gap: calc(40 / 864 * 100vw);
    margin-bottom: calc(40 / 864 * 100vw);
    width: 100%;
  }

  .page-service #sv-chosen .p-sv__stack .p-sv__lead {
    margin: 0;
  }

  .page-service #sv-hito .p-sv__program,
  .page-service #sv-chosen .p-sv__program,
  .page-service #sv-jigyo .p-sv__program {
    margin: 0 0 calc(40 / 864 * 100vw);
  }

  /* 人を育む / 挑戦を支える: 左アイコン + 見出しの薄い白背景（白 15%） */
  body.has-sp-chrome.page-service #sv-hito .p-sv__program,
  body.has-sp-chrome.page-service #sv-chosen .p-sv__program {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: calc(16 / 864 * 100vw) !important;
    width: 100%;
  }

  body.has-sp-chrome.page-service #sv-hito .p-sv__program-icon,
  body.has-sp-chrome.page-service #sv-chosen .p-sv__program-icon {
    display: block;
    flex: 0 0 calc(65 / 864 * 100vw);
    width: calc(65 / 864 * 100vw);
    height: auto;
    margin-top: calc(2 / 864 * 100vw);
  }

  body.has-sp-chrome.page-service #sv-chosen .p-sv__program-icon--stack {
    position: relative;
    height: calc(52 / 864 * 100vw);
  }

  body.has-sp-chrome.page-service #sv-chosen .p-sv__program-icon--stack img {
    position: absolute;
    display: block;
    height: auto;
  }

  body.has-sp-chrome.page-service #sv-chosen .p-sv__program-icon--stack img:first-child {
    top: 0;
    left: 0;
    width: calc(41.68 / 864 * 100vw);
  }

  body.has-sp-chrome.page-service #sv-chosen .p-sv__program-icon--stack img:last-child {
    right: 0;
    bottom: 0;
    width: calc(26.7 / 864 * 100vw);
  }

  body.has-sp-chrome.page-service #sv-hito .p-sv__program-body,
  body.has-sp-chrome.page-service #sv-chosen .p-sv__program-body,
  body.has-sp-chrome.page-service #sv-jigyo .p-sv__program-body {
    min-width: 0;
    flex: 1 1 auto;
  }

  /* 事業を作る: 左アイコン + 黒文字の白い見出し。文字サイズは拡大版のまま */
  body.has-sp-chrome.page-service #sv-jigyo .p-sv__program {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: calc(16 / 864 * 100vw) !important;
    width: 100%;
  }

  body.has-sp-chrome.page-service #sv-jigyo .p-sv__program-icon {
    display: block;
    flex: 0 0 calc(65 / 864 * 100vw);
    width: calc(65 / 864 * 100vw);
    height: auto;
    margin-top: calc(2 / 864 * 100vw);
  }

  .page-service #sv-hito .p-sv__program:last-child,
  .page-service #sv-chosen .p-sv__program:last-child,
  .page-service #sv-jigyo .p-sv__program:last-child {
    margin-bottom: 0;
  }

  .page-service #sv-hito .p-sv__program h3,
  .page-service #sv-chosen .p-sv__program h3,
  .page-service #sv-jigyo .p-sv__program h3 {
    margin: 0;
    padding-bottom: calc(8 / 864 * 100vw);
    border-bottom: max(1px, calc(1 / 864 * 100vw)) solid #fff;
    font-size: calc(17.01 / 864 * 100vw);
    line-height: 1.2;
  }

  body.has-sp-chrome.page-service #sv-hito .p-sv__program h3,
  body.has-sp-chrome.page-service #sv-chosen .p-sv__program h3,
  body.has-sp-chrome.page-service #sv-jigyo .p-sv__program h3 {
    display: inline-block;
    width: auto;
    max-width: none !important;
    margin: 0 !important;
    padding: calc(5.5 / 864 * 100vw) calc(8 / 864 * 100vw);
    border-bottom: 0;
    background: rgba(255, 255, 255, 0.15);
    color: #001932;
    font-weight: 400;
    line-height: 1.2 !important;
  }

  body.has-sp-chrome.page-service #sv-hito .p-sv__program h3,
  body.has-sp-chrome.page-service #sv-chosen .p-sv__program h3 {
    color: rgba(0, 25, 50, 0.65);
  }

  .page-service #sv-hito .p-sv__program p,
  .page-service #sv-chosen .p-sv__program p,
  .page-service #sv-jigyo .p-sv__program p {
    margin: calc(12 / 864 * 100vw) 0 0;
    font-size: calc(14.17 / 864 * 100vw);
    line-height: 1.35;
  }

  /* Figma サービス_05: 左右 ≈25.5% → 幅 423 */
  .page-service #sv-kachi .p-sv__copy--kachi {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    box-sizing: border-box;
    width: 100%;
    max-width: calc(600 / 864 * 100vw);
    margin-left: auto;
    margin-right: auto;
    gap: calc(40 / 864 * 100vw);
    font-size: calc(17.01 / 864 * 100vw);
    line-height: calc(34 / 17.01);
    text-align: left;
  }

  .page-service #sv-kachi .p-sv__copy--kachi p {
    gap: 0;
  }

  /* Figma サービス_06: 本文＋リング 606.66 中央 */
  .page-service #sv-circle.p-sv__section--circle {
    align-items: center;
    justify-content: center;
    gap: calc(40 / 864 * 100vw);
    padding-top: calc(0.12 * var(--sp-stage-h));
  }

  .page-service #sv-circle .p-sv__copy--circle {
    width: 100%;
    max-width: calc(710 / 864 * 100vw);
    margin: 0 auto 24px;
    font-size: calc(17.01 / 864 * 100vw);
    line-height: calc(34 / 17.01);
    text-align: left;
  }

  .page-service #sv-circle .p-sv__copy--circle p {
    gap: calc(20 / 864 * 100vw);
  }

  .page-service #sv-circle .p-sv__ring {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
  }

  /* sp.css の col2 p { text-align:left } を打ち消し、中心に固定 */
  .page-service #sv-circle .p-sv__ring-core {
    left: 50%;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28%;
    margin: 0;
    text-align: center;
    transform: translate(-50%, -50%);
  }

  .page-service #sv-circle .p-sv__ring-core.is-detail {
    width: 28%;
    font-size: calc(8.5 / 500 * 100cqi) !important;
    line-height: 1.65 !important;
  }

  /* Figma サービス_07: インタビュー一覧 幅 ≈380 */
  .page-service #sv-interview .p-sv__ivlist {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    box-sizing: border-box;
    width: 100%;
    max-width: calc(600 / 864 * 100vw);
    margin-left: auto;
    margin-right: auto;
    text-align: left;
  }

  .page-service #sv-interview .p-sv__lead {
    gap: calc(8 / 864 * 100vw);
    margin: 0 0 calc(48 / 864 * 100vw);
    font-size: calc(17.01 / 864 * 100vw);
    line-height: calc(28 / 17.01);
  }

  .page-service #sv-interview .p-sv__iv {
    width: 100%;
    margin: 0 0 calc(72 / 864 * 100vw) !important;
    padding-right: calc(70 / 864 * 100vw);
  }

  .page-service #sv-interview .p-sv__iv:last-child {
    margin-bottom: 0 !important;
  }

  .page-service #sv-interview .p-sv__iv-meta {
    gap: calc(4 / 864 * 100vw);
    font-size: calc(14.17 / 864 * 100vw);
    line-height: 1.35;
  }

  body.has-sp-chrome.page-service #sv-interview .p-sv__iv-meta {
    align-self: flex-start;
    width: fit-content;
    max-width: 100%;
    margin-bottom: 8px;
    padding: calc(6 / 864 * 100vw) calc(8 / 864 * 100vw);
    background: rgba(255, 255, 255, 0.15);
    color: #001932;
  }

  body.has-sp-chrome.page-service #sv-interview .p-sv__iv-meta span {
    color: #001932;
  }

  .page-service #sv-interview .p-sv__iv-title {
    margin-top: 0 !important;
    gap: calc(3 * var(--u));
    font-size: calc(17.01 / 864 * 100vw);
    line-height: 1.35;
  }

  .page-service #sv-interview .p-sv__iv-arrow {
    width: calc(40.22 / 864 * 100vw);
    height: calc(40.22 / 864 * 100vw);
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
  }

  body.has-sp-chrome.page-service #sv-interview .p-sv__iv-arrow-ring {
    display: block;
    width: 100%;
    height: auto;
  }

  body.has-sp-chrome.page-service #sv-interview .p-sv__iv-arrow-play {
    position: absolute;
    left: 50%;
    top: 50%;
    width: calc(12.29 / 40.22 * 100%);
    height: auto;
    transform: translate(-42%, -50%);
  }

  /* Figma サービス_07-a: シングル白カード 544 */
  .page-service .p-sv__article {
    position: relative;
    top: auto;
    left: auto;
    box-sizing: border-box;
    width: 90%;
    max-width: 100%;
    min-height: 0;
    margin: 0 auto;
    padding: calc(75 / 864 * 100vw) calc(40 / 864 * 100vw) calc(56 / 864 * 100vw);
  }

  .page-service .p-sv__article-kicker {
    gap: calc(6 / 864 * 100vw);
    color: #001932;
    font-size: calc(14.17 / 864 * 100vw);
    line-height: 1.55;
  }

  .page-service .p-sv__col--2 .p-sv__article .p-sv__article-kicker,
  .page-service .p-sv__col--2 .p-sv__article .p-sv__article-kicker span,
  .page-service .p-sv__col--2 .p-sv__article .p-sv__article-title,
  .page-service .p-sv__col--2 .p-sv__article .p-sv__article-title span {
    color: #001932;
  }

  .page-service .p-sv__article-title {
    margin-top: calc(20 / 864 * 100vw);
    gap: calc(6 / 864 * 100vw);
    color: #001932;
    font-size: calc(17.01 / 864 * 100vw);
    line-height: 1.55;
  }

  body.has-sp-chrome.page-service .p-sv__col--2 .p-sv__article .p-sv__article-body {
    margin-top: 40px !important;
    font-size: calc(14.17 / 864 * 100vw);
    line-height: calc(23 / 14.17);
    color: #4C5E6F;
  }

  body.has-sp-chrome.page-service .p-sv__col--2 .p-sv__article-body strong {
    font-size: calc(13 / 375 * 100vw) !important;
    font-weight: normal;
  }

  .page-service .p-sv__article-more {
    margin-top: calc(40 / 864 * 100vw);
    font-size: calc(20 / 864 * 100vw);
  }

  /* Figma サービス_08: LIFE SKILL ベン図 ≈578 + 本文 */
  .page-service #sv-life-skill.p-sv__section--skill {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: calc(36 / 864 * 100vw);
  }

  .page-service #sv-life-skill .p-sv__venn {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    aspect-ratio: 486.81 / 492.32;
  }

  /* 図形内テキストは元サイズ（cqi）を維持。SPの p 一律指定は除外済み */
  .page-service #sv-life-skill .p-sv__venn-name {
    padding-bottom: calc(3 / 486.81 * 100cqi);
    border-bottom: max(1px, calc(1.5 / 486.81 * 100cqi)) solid #fff;
    font-size: calc(16.25 / 486.81 * 100cqi);
    line-height: 1.2;
  }

  .page-service #sv-life-skill .p-sv__venn-desc {
    width: calc(150 / 486.81 * 100%);
    font-size: calc(13 / 486.81 * 100cqi);
    line-height: 1.65;
  }

  .page-service #sv-life-skill .p-sv__copy--skill {
    width: 100%;
    max-width: calc(600 / 864 * 100vw);
    margin: 24px auto 0;
    font-size: calc(17.01 / 864 * 100vw);
    line-height: calc(44 / 17.01);
    text-align: left;
  }

  .page-service #sv-life-skill .p-sv__copy--skill p {
    display: block;
    gap: 0;
  }

  .page-service #sv-life-skill .p-sv__copy--skill span {
    white-space: normal;
  }

  /* その先へ: 本文幅に左右パディングを合わせ、ボタン左端を本文左端に揃える */
  body.has-sp-chrome.page-service #sv-sonota {
    --sv-content-max: calc(600 / 864 * 100vw);
    align-items: flex-start;
    justify-content: center;
    padding-left: max(0px, calc((100% - min(100%, var(--sv-content-max))) / 2)) !important;
    padding-right: max(0px, calc((100% - min(100%, var(--sv-content-max))) / 2)) !important;
  }

  .page-service #sv-sonota .p-sv__copy--sonota {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    gap: calc(52 / 864 * 100vw);
    font-size: calc(17.01 / 864 * 100vw);
    line-height: calc(52 / 17.01);
    text-align: left;
  }

  .page-service #sv-sonota .p-sv__copy--sonota p {
    gap: 0;
  }

  .page-service #sv-sonota .p-sv__copy--sonota span {
    white-space: nowrap;
  }

  .page-service #sv-sonota .p-sv__brand {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    width: auto;
    height: calc(50 / 864 * 100vw);
    min-height: calc(50 / 864 * 100vw);
    margin-top: calc(40 / 864 * 100vw);
    margin-left: 0;
    margin-right: 0;
    padding: 0 calc(24 / 864 * 100vw);
    transform: none;
    gap: calc(10 / 864 * 100vw);
    background: #fff;
    box-shadow: 0 calc(4 / 864 * 100vw) calc(12 / 864 * 100vw) rgba(0, 0, 0, 0.12);
    color: #000;
    font-size: calc(15.59 / 864 * 100vw);
    line-height: 1;
    white-space: nowrap;
  }

  .page-service #sv-sonota .p-sv__brand::after {
    border-width: calc(3.5 / 864 * 100vw) 0 calc(3.5 / 864 * 100vw) calc(7 / 864 * 100vw);
  }
}
