@charset "UTF-8"; /* =================================================================
   【cssはこのファイルを編集してください】
   ================================================================= */
html {
  font-size: 100%;
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
}

/* 375px - 414px */
@media (max-width: 414px) {
  html {
    /* 同倍率 */
    font-size: 3.8647342995vw;
  }
}

/* 414px - 767px */
@media (min-width: 414px) and (max-width: 767.98px) {
  html {
    font-size: calc((100vw - 414px) / 353 * 5 + 16px);
    font-size: 3.8647342995vw;
  }
}

/* 769px - 1399px */
@media (min-width: 768px) and (max-width: 1399px) {
  html {
    font-size: calc((100vw - 768px) / 632 * 3 + 13px);
  }
}

em {
  font-style: normal;
}

li {
  list-style: none;
}

/* リンクホバー調整 */
a {
  text-decoration: none;
  transition: 0.3s;
}

a:hover {
  opacity: 0.7;
}

img {
  width: 100%;
  height: auto;
}

/* スマホではpcクラスは非表示 */
@media (max-width: 767.98px) {
  .pc {
    display: none !important;
    pointer-events: none;
  }
}

/* PCではspクラスは非表示 */
@media (min-width: 768px) {
  .sp {
    display: none !important;
    pointer-events: none;
  }
}

/* この下からcssを記述して下さい */
.bz {
}

.bz-header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 99;
  display: flex;
  align-items: center;
}

.bz-header {
}
.bz-header__logo {
  width: 55.34px;
  width: 3.45875rem;
  height: 55.34px;
  height: 3.45875rem;
}
.bz-header__logo-img {
}
.bz-header__logo-02 {
  width: 103.53px;
  width: 6.470625rem;
  margin-left: 13.5px;
  margin-left: 0.84375rem;
}

.bz-header__text {
  color: #b0b0b0;
  text-align: right;
  font-family: "Noto Sans JP";
  font-size: 9px;
  font-size: 0.5625rem;
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 14.4px */
  letter-spacing: 0.45px;
  letter-spacing: 0.028125rem;
  margin-left: 23.67px;
  margin-left: 1.479375rem;
}

.cfo-main {
  position: relative;
  overflow-x: clip;
}

/* FV〜s1 を貫通する縦書き装飾（PC のみ） */
.cfo-fv-deco {
  display: none;
}

/* s1 内のブレンド装飾（PC のみ） */
.cfo-s1__bg-deco {
  display: none;
}

@media (min-width: 768px) {
  .cfo-fv-deco {
    display: block;
    position: absolute;
    top: 10px;
    top: 0.625rem; /* FV のどこから出すか — 調整可 */
    right: 1.6%;
    width: 8.3994047619vw;
    height: 74.4755952381vw;
    z-index: 10;
    pointer-events: none;
    mix-blend-mode: soft-light;
    opacity: 0.6;
  }

  .cfo-s1__bg-deco {
    display: block;
    position: absolute;
    top: -28.6904761905vw;
    left: 79.6%;
    width: 33.3131547619vw;
    height: 155.05125vw;
    transform: rotate(55.239deg);
    transform-origin: top left;
    opacity: 0.9;
    background: linear-gradient(
      180deg,
      #2aa38f 32.12%,
      rgba(42, 163, 143, 0) 80.96%
    );
    mix-blend-mode: multiply;
    pointer-events: none;
    z-index: 0;
  }
}

.cfo-fv {
  position: relative;
  z-index: 4;
  background-color: #0d1f25;
}

.cfo-fv__ttl {
  margin: 0;
  font-size: 0;
  line-height: 0;
}

.cfo-fv__ttl picture {
  display: block;
}

.cfo-fv__img {
  display: block;
  width: 100%;
}

.cta {
  width: 86.221256%;
  display: block;
  margin-inline: auto;
  transform: translateX(-7px);
}

.fv-cta {
  position: absolute;
  left: 50%;
  transform: translateX(-51%);
  bottom: -1.6%;
}

.cta img {
}

.cfo-s1 {
  background: url(../img/s1-bg.webp) repeat;
  background-size: 100px 100px;
  background-size: 6.25rem 6.25rem;
  padding: 36px 0 93px;
  padding: 2.25rem 0 5.8125rem;
  clip-path: polygon(0 0, 100% 0, 100% 96%, 50% 100%, 0 96%);
  position: relative;
  overflow: hidden;
  z-index: 3;
  margin-top: -1px;
}

.cfo-s1::after {
  content: "";
  background: url(../img/s1-7.webp) no-repeat;
  background-size: contain;
  width: 414px;
  width: 25.875rem;
  height: 443px;
  height: 27.6875rem;
  position: absolute;
  bottom: -3.3%;
  left: 50%;
  transform: translateX(-50%);
  mix-blend-mode: difference;
}

.cfo-s1__inner {
  position: relative;
  /* z-index: 2; */
}

.cfo-s1__deco {
  position: relative;
  width: 87.1980676329%;
  margin-inline: auto;
  border-bottom: solid 1px rgba(102, 113, 114, 0.5);
  border-bottom: solid 0.0625rem rgba(102, 113, 114, 0.5);
  padding-bottom: 13px;
  padding-bottom: 0.8125rem;
  margin-bottom: 6px;
  margin-bottom: 0.375rem;
}

.cfo-s1__deco-img {
}

.cfo-s1__catch {
  color: #b0b0b0;
  font-family: "Noto Serif JP";
  font-size: 15.251px;
  font-size: 0.9531875rem;
  font-style: normal;
  font-weight: 800;
  line-height: 130%;
  /* 19.827px */
  letter-spacing: 1.068px;
  letter-spacing: 0.06675rem;
  width: fit-content;
  margin-inline: auto;
  padding-inline: 10px;
  padding-inline: 0.625rem;
  border-bottom: solid 1px rgba(102, 113, 114, 0.5);
  border-bottom: solid 0.0625rem rgba(102, 113, 114, 0.5);
  padding-bottom: 7px;
  padding-bottom: 0.4375rem;
  margin-bottom: 70px;
  margin-bottom: 4.375rem;
}

.cfo-s1__catch em {
}

.cfo-s1__catch-label {
  color: #b0b0b0;
  font-family: "Noto Serif JP";
  font-size: 22.362px;
  font-size: 1.397625rem;
  font-style: normal;
  font-weight: 800;
  line-height: 130%;
  /* 29.07px */
  letter-spacing: -0.671px;
  letter-spacing: -0.0419375rem;
  margin-right: 3px;
  margin-right: 0.1875rem;
}

.cfo-s1__catch-num {
  color: #b0b0b0;
  font-family: "Noto Serif JP";
  font-size: 27.996px;
  font-size: 1.74975rem;
  font-style: normal;
  font-weight: 800;
  line-height: 130%;
  /* 36.395px */
  letter-spacing: 1.96px;
  letter-spacing: 0.1225rem;
  margin-right: -1px;
  margin-right: -0.0625rem;
  transform: translateY(0.0375rem);
  display: inline-block;
}

.cfo-s1__catch-comma {
  letter-spacing: 0.64px;
  letter-spacing: 0.04rem;
}

.cfo-s1__catch-unit {
  color: #b0b0b0;
  font-family: "Noto Serif JP";
  font-size: 22.362px;
  font-size: 1.397625rem;
  font-style: normal;
  font-weight: 800;
  line-height: 130%;
  /* 29.07px */
  letter-spacing: -0.671px;
  letter-spacing: -0.0419375rem;
  margin-right: 4px;
  margin-right: 0.25rem;
}

.cfo-s1__ttl {
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: 22.635px;
  font-size: 1.4146875rem;
  font-style: normal;
  font-weight: 700;
  line-height: 160%;
  /* 36.216px */
  letter-spacing: 2.716px;
  letter-spacing: 0.2rem;
  background: radial-gradient(50% 50% at 50% 50%, #dbdbdb 0%, #747474 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  margin-bottom: 57.6px;
  margin-bottom: 3.6rem;
}

.cfo-s1__ttl::before {
  content: "";
  background: url(../img/s1-2.webp) no-repeat;
  background-size: contain;
  width: 24.48px;
  width: 1.53rem;
  height: 17.08px;
  height: 1.0675rem;
  position: absolute;
  left: 50%;
  top: -45%;
  transform: translateX(-50%);
}

.cfo-s1__ttl::after {
  content: "";
  background: #a9a28c;
  width: 1px;
  width: 0.0625rem;
  height: 38px;
  height: 2.375rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -60%;
}

.cfo-s1__question {
  width: 29.4685990338%;
  margin-inline: auto;
  margin-bottom: 63px;
  margin-bottom: 3.9375rem;
}

.cfo-s1__question-img {
}

.cfo-s1__list {
  margin-inline: auto;
  padding-left: 31px;
  padding-left: 1.9375rem;
  display: flex;
  flex-direction: column;
  gap: 46px;
  gap: 2.875rem;
  margin-bottom: 117px;
  margin-bottom: 7.3125rem;
}

.cfo-s1__item {
  position: relative;
  display: flex;
}

.cfo-s1__item-img {
  width: 20px;
  width: 1.25rem;
  padding-right: 9px;
  padding-right: 0.5625rem;
  margin-top: 10px;
  margin-top: 0.625rem;
}

.cfo-s1__item-img-src {
}

.cfo-s1__item-text {
  color: #b0b0b0;
  font-family: "Noto Serif JP";
  font-size: 16.797px;
  font-size: 1.0498125rem;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
  /* 26.875px */
  letter-spacing: 2.184px;
  letter-spacing: 0.1365rem;
  position: relative;
  padding-left: 22px;
  padding-left: 1.375rem;
}

.cfo-s1__item-text::after {
  content: "";
  background: #a9a28c;
  width: 1px;
  width: 0.0625rem;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.cfo-s1__item-em {
  color: #b0b0b0;
  font-family: "Noto Serif JP";
  font-size: 43.897px;
  font-size: 2.7435625rem;
  font-style: normal;
  font-weight: 800;
  line-height: 160%;
  /* 70.235px */
  letter-spacing: 3.217px;
  letter-spacing: 0.2010625rem;
  display: inline-block;
  transform: skewX(-10deg);
}

.cfo-s1__item-em--1 {
  margin-left: -5px;
  margin-left: -0.3125rem;
  margin-top: -12px;
  margin-top: -0.75rem;
}

.cfo-s1__item-em--2 {
  transform: skewX(-10deg) translateY(13px);
  line-height: 60%;
  margin-left: 16px;
  margin-left: 1rem;
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
  font-size: 46.897px;
  font-size: 2.9310625rem;
}

.cfo-s1__item-em--3 {
  transform: skewX(-10deg) translateY(18px);
  line-height: 31%;
  margin-left: 8px;
  margin-left: 0.5rem;
  margin-bottom: 25px;
  margin-bottom: 1.5625rem;
  font-size: 46.897px;
  font-size: 2.9310625rem;
}

.cfo-s1__lead {
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: 32.595px;
  font-size: 2.0371875rem;
  font-style: normal;
  font-weight: 800;
  line-height: 160%;
  /* 52.151px */
  letter-spacing: 3.911px;
  letter-spacing: 0.2444375rem;
  background: radial-gradient(50% 50% at 50% 50%, #dbdbdb 0%, #747474 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 18px;
  margin-bottom: 1.125rem;
  position: relative;
  z-index: 2;
}

.cfo-s1__desc {
  color: #d7d7d7;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-size: 0.9375rem;
  font-style: normal;
  font-weight: 400;
  line-height: 180%;
  /* 27px */
  letter-spacing: 1.95px;
  letter-spacing: 0.121875rem;
  position: relative;
  z-index: 2;
}

.cfo-s1__desc span {
  color: #d7d7d7;
  font-family: "Noto Sans JP";
  font-size: 10px;
  font-size: 0.625rem;
  font-style: normal;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 1.3px;
  letter-spacing: 0.08125rem;
}

.cfo-s2 {
  position: relative;
  isolation: isolate;
  background: url(../img/s2-bg.webp) repeat;
  background-size: 100px 100px;
  background-size: 6.25rem 6.25rem;
  margin-top: -38.8px;
  margin-top: -3.025rem;
  padding: 80px 0 74px;
  padding: 5.6rem 0 4.625rem;
  clip-path: polygon(0 0, 100% 0, 100% 93%, 50% 100%, 0 93%);
  z-index: 2;
}

.cfo-s2__inner {
}

.cfo-s2__logo {
  width: 30.0072463768%;
  margin-inline: auto;
  margin-bottom: 30.4px;
  margin-bottom: 1.9rem;
}

.cfo-s2__logo-img {
}

.cfo-s2__ttl {
  position: relative;
  color: #0c151a;
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: 18.595px;
  font-size: 1.1621875rem;
  font-style: normal;
  font-weight: 700;
  line-height: 180%;
  /* 29.751px */
  letter-spacing: 0.93px;
  letter-spacing: 0.058125rem;
}

.cfo-s2__ttl em {
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: 36.595px;
  font-size: 2.2871875rem;
  font-style: normal;
  line-height: 160%;
  /* 58.551px */
  letter-spacing: 4.391px;
  letter-spacing: 0.2744375rem;
  background: linear-gradient(93deg, #a88e4f 34.12%, #66552c 89.43%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: block;
  position: relative;
  width: fit-content;
  margin-inline: auto;
  margin-bottom: 9px;
  margin-bottom: 0.5625rem;
}

.cfo-s2__ttl em::after {
  content: "";
  width: 100%;
  height: 1px;
  height: 0.0625rem;
  background: linear-gradient(93deg, #ad9c72 34.12%, #473e26 89.43%);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.cfo-s2__slider {
  width: 100%;
  overflow: hidden;
  padding: 40px 0;
  padding: 2.5rem 0;
}

.cfo-s2__list {
  padding: 0;
  margin: 0;
  list-style: none;
}

.cfo-s2__slider .swiper-slide {
  height: auto;
  transition: transform 0.4s ease;
  transform: scale(0.7) !important;
  transform-origin: center center;
}

.cfo-s2__slider .swiper-slide.swiper-slide-active {
  transform: scale(1) translateX(8px) !important;
}

.cfo-s2__slider .swiper-slide-prev {
  transform: scale(0.7) translateX(13px) !important;
}

.cfo-s2__slider .swiper-slide-next {
  transform: scale(0.8) translateX(23px) !important;
}

.cfo-s2__item-img {
  display: block;
  width: 100%;
  height: auto;
}

.cfo-s3 {
  position: relative;
  isolation: isolate;
  background: url(../img/s3-bg.webp) repeat;
  background-size: 100px 100px;
  background-size: 6.25rem 6.25rem;
  margin-top: -41px;
  margin-top: -2.5625rem;
  padding: 67px 0 72px;
  padding: 4.1875rem 0 4.5rem;
  overflow: hidden;
}

.cfo-s3__inner {
}

.cfo-s3__ttl {
  position: relative;
  color: #d7d7d7;
  font-family: "Noto Serif JP";
  font-size: 25.914px;
  font-size: 1.619625rem;
  font-style: normal;
  font-weight: 800;
  line-height: 160%;
  /* 41.462px */
  letter-spacing: 3.11px;
  letter-spacing: 0.194375rem;
  text-align: center;
  margin-bottom: 66px;
  margin-bottom: 4.125rem;
}

.cfo-s3__ttl-lead {
  color: #d7d7d7;
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: 18px;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 800;
  line-height: 160%;
  /* 28.8px */
  letter-spacing: 1.44px;
  letter-spacing: 0.09rem;
  margin-bottom: 15px;
  margin-bottom: 0.9375rem;
  display: inline-block;
}

.cfo-s3__ttl-em {
  /* 45.608px */
  color: #d7d7d7;
  font-family: "Noto Serif JP";
  font-size: 25.914px;
  font-size: 1.619625rem;
  font-style: normal;
  font-weight: 800;
  line-height: 160%;
  /* 41.462px */
  letter-spacing: 3.11px;
  letter-spacing: 0.194375rem;
}

.cfo-s3__ttl-keyword {
  font-size: 28.505px;
  font-size: 1.7815625rem;
  font-style: normal;
  font-weight: 800;
  line-height: 160%;
  /* 45.608px */
  letter-spacing: 3.421px;
  letter-spacing: 0.2138125rem;
  display: inline-block;
  transform: skewX(-9deg);
  border: 1px solid;
  border: 0.0625rem solid;
  padding: 0px 10px 3px 11px;
  padding: 0rem 0.625rem 0.1875rem 0.6875rem;
  margin-right: 6px;
  margin-right: 0.375rem;
}

.cfo-s3__ttl-num {
  color: #a9a28c;
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: 61.914px;
  font-size: 3.869625rem;
  font-style: normal;
  font-weight: 800;
  /* 99.062px */
  letter-spacing: 7.43px;
  letter-spacing: 0.464375rem;
  margin-top: -6px;
  margin-top: -0.375rem;
  margin-right: -6px;
  margin-right: -0.375rem;
  display: inline-block;
  transform: skew(-10deg) translateY(10px);
}

.cfo-s3__strengths {
  display: flex;
  flex-direction: column;
  gap: 61px;
  gap: 3.8125rem;
  margin-bottom: 58px;
  margin-bottom: 3.625rem;
}

.cfo-s3__strength {
  display: flex;
  gap: 15px;
  gap: 0.9375rem;
  padding-left: 19px;
  padding-left: 1.1875rem;
  position: relative;
}

.cfo-s3__strength:nth-child(1)::after {
  content: "";
  background: url(../img/s3-1-1.webp) no-repeat;
  width: 36px;
  width: 2.25rem;
  background-size: contain;
  height: 58px;
  height: 3.625rem;
  position: absolute;
  top: -6%;
  left: 13%;
}

.cfo-s3__strength:nth-child(2)::after {
  content: "";
  background: url(../img/s3-2-1.webp) no-repeat;
  width: 36px;
  width: 2.25rem;
  background-size: contain;
  height: 48px;
  height: 3rem;
  position: absolute;
  top: -3.6%;
  left: 12%;
}

.cfo-s3__strength:nth-child(3)::after {
  content: "";
  background: url(../img/s3-3-1.webp) no-repeat;
  width: 36px;
  width: 2.25rem;
  background-size: contain;
  height: 48px;
  height: 3rem;
  position: absolute;
  top: -2%;
  left: 12%;
}

.cfo-s3__strength-num-img {
  width: 17px;
  width: 1.0625rem;
  margin-top: 51px;
  margin-top: 3.1875rem;
}

.cfo-s3__strength-num-src {
}

.cfo-s3__strength-body {
  background: url(../img/s3-1-bg.webp) no-repeat;
  background-size: 100% 100%;
  flex: 1;
  min-width: 0;
  padding: 37px 0px 39px 29px;
  padding: 2.3125rem 0rem 2.4375rem 1.8125rem;
}

.cfo-s3__strength-sub-ttl {
  color: #0c151a;
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: 21.914px;
  font-size: 1.369625rem;
  font-style: normal;
  font-weight: 800;
  line-height: 160%;
  /* 35.062px */
  letter-spacing: 2.63px;
  letter-spacing: 0.164375rem;
  margin-bottom: 10px;
  margin-bottom: 0.625rem;
}

.cfo-s3__strength-img {
  margin-bottom: 19px;
  margin-bottom: 1.1875rem;
  transform: translateX(11px);
}

.cfo-s3__strength:nth-child(2) .cfo-s3__strength-img {
  transform: translateX(-6px);
  width: 104%;
}

.cfo-s3__strength:nth-child(3) .cfo-s3__strength-img {
  transform: translateX(9px);
  width: 93%;
  margin-bottom: -2px;
  margin-bottom: -0.125rem;
  margin-top: -15px;
  margin-top: -0.9375rem;
}

.cfo-s3__strength-img-src {
}

.cfo-s3__strength-desc {
  color: #0c151a;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 170%;
  /* 23.8px */
  letter-spacing: 1.12px;
  letter-spacing: 0.07rem;
  padding-right: 29px;
  padding-right: 1.8125rem;
}

.cfo-s3__partners {
  width: 89.87%;
  margin-left: auto;
  display: flex;
  flex-direction: column;
  gap: 45px;
  gap: 2.8125rem;
  margin-bottom: 55px;
  margin-bottom: 3.4375rem;
}

.cfo-s3__partner {
  position: relative;
}

.cfo-s3__partner-header {
  display: flex;
  gap: 8px;
  gap: 0.5rem;
  align-items: flex-end;
  position: relative;
  padding-left: 13px;
  padding-left: 0.8125rem;
  padding-bottom: 6.5px;
  padding-bottom: 0.6875rem;
  margin-bottom: 13px;
  margin-bottom: 0.8125rem;
}

.cfo-s3__partner-header::after {
  content: "";
  width: 100%;
  height: 1px;
  height: 0.0625rem;
  background: linear-gradient(
    83deg,
    rgba(169, 162, 140, 0.8) 34.86%,
    rgba(163, 136, 69, 0.56) 86.84%
  );
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.08);
  box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.08);
  position: absolute;
  bottom: 0;
  left: 0;
}

.cfo-s3__partner-logo {
  flex: 1;
  max-width: 152px;
}

.cfo-s3__partner-logo-img {
}

.cfo-s3__partner-name {
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.08);
  text-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.08);
  font-family: "Noto Serif JP";
  font-size: 13px;
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 800;
  line-height: 160%;
  /* 20.8px */
  letter-spacing: 1.56px;
  letter-spacing: 0.0975rem;
  background: linear-gradient(
    83deg,
    rgba(169, 162, 140, 0.8) 34.86%,
    rgba(163, 136, 69, 0.72) 86.84%
  );
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  padding-right: 16px;
  padding-right: 1rem;
}

.cfo-s3__partner-title {
  color: #fff;
  font-family: "Noto Serif JP";
  font-size: 18px;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 800;
  line-height: 160%;
  /* 28.8px */
  letter-spacing: 2.16px;
  letter-spacing: 0.135rem;
  margin-bottom: 4px;
  margin-bottom: 0.25rem;
  padding-left: 11px;
  padding-left: 0.6875rem;
}

.cfo-s3__partner-desc {
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 170%;
  /* 23.8px */
  letter-spacing: 1.12px;
  letter-spacing: 0.07rem;
  opacity: 0.7;
  padding-right: 29px;
  padding-right: 2.3125rem;
  padding-left: 11px;
  padding-left: 0.6875rem;
}

.cfo-s3__lead {
  color: #d9d9d9;
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: 23.2px;
  font-size: 1.45rem;
  font-style: normal;
  font-weight: 800;
  line-height: 170%;
  /* 39.44px */
  letter-spacing: 3.48px;
  letter-spacing: 0.2175rem;
  margin-bottom: 24.5px;
  margin-bottom: 1.53125rem;
}

.cfo-s3__lead em {
  color: #0d161b;
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: 22px;
  font-size: 1.375rem;
  font-style: normal;
  font-weight: 800;
  line-height: 170%;
  /* 37.4px */
  letter-spacing: 3.3px;
  letter-spacing: 0.20625rem;
  display: inline-block;
  transform: skewX(-13deg);
  background: #d9d9d9;
  padding-inline: 12px 8px;
  padding-inline: 0.75rem 0.5rem;
  margin-left: 3px;
  margin-left: 0.1875rem;
  margin-right: 6px;
  margin-right: 0.375rem;
  margin-top: 10px;
  margin-top: 0.625rem;
}

.cfo-s3__lead span {
  font-size: 34px;
  font-size: 2.125rem;
  font-style: normal;
  font-weight: 800;
  line-height: 170%;
  /* 57.8px */
  letter-spacing: 5.1px;
  letter-spacing: 0.31875rem;
  margin-top: 4px;
  margin-top: 0.25rem;
  display: inline-block;
}

.s3-cta {
  /* s4 の先頭に移動した分、元位置（s3末尾〜s4冒頭）に見せるため上に引き上げる */
  position: relative;
  z-index: 1;
  margin-top: -105px;
  margin-top: -6.5625rem;
  margin-bottom: 40px;
  margin-bottom: 2.5rem;
}

.cfo-s4 {
  position: relative;
  isolation: isolate;
  background: url(../img/s4-bg.webp) no-repeat;
  background-size: cover;
  padding: 54px 0 46.5px;
  padding: 3.375rem 0 2.90625rem;
  margin-top: -21px;
  margin-top: -1.3125rem;
}

.cfo-s4__inner {
}

.cfo-s4__ttl {
  position: relative;
  font-family: "Noto Serif JP";
  font-size: 29.467px;
  font-size: 1.8416875rem;
  font-style: normal;
  font-weight: 800;
  line-height: 130%;
  /* 38.307px */
  letter-spacing: 2.063px;
  letter-spacing: 0.1289375rem;
  background: linear-gradient(
    83deg,
    rgba(249, 237, 206, 0.8) 34.86%,
    rgba(187, 164, 107, 0.56) 86.84%
  );
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-align: center;
  margin-bottom: 42px;
  margin-bottom: 2.625rem;
  text-shadow: 0 0 7.6px rgba(0, 0, 0, 0.08);
  text-shadow: 0 0 0.475rem rgba(0, 0, 0, 0.08);
}

.cfo-s4__ttl em {
  font-size: 63.728px;
  font-size: 3.983rem;
  font-style: normal;
  font-weight: 600;
  line-height: 130%;
  /* 82.847px */
  letter-spacing: 1.149px;
  letter-spacing: 0.0718125rem;
}

.cfo-s4__ttl-salary {
  letter-spacing: 4.125px;
  letter-spacing: 0.2578125rem;
}

.cfo-s4__ttl-unit {
  letter-spacing: 0.884px;
  letter-spacing: 0.05525rem;
}

.cfo-s4__sub-ttl {
  color: #d9d9d9;
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: 21.595px;
  font-size: 1.3496875rem;
  font-style: normal;
  font-weight: 800;
  line-height: 160%;
  /* 34.551px */
  letter-spacing: 6.046px;
  letter-spacing: 0.377875rem;
  margin-bottom: 13px;
  margin-bottom: 0.8125rem;
}

.cfo-s4__note {
  font-size: 13.595px;
  font-size: 0.8496875rem;
  font-style: normal;
  font-weight: 800;
  line-height: 100%;
  /* 21.751px */
  letter-spacing: 2.447px;
  letter-spacing: 0.1529375rem;
  margin-top: 0px;
  margin-top: 0rem;
  display: block;
}

.cfo-s4__list {
}

.cfo-s4__item {
  position: relative;
  padding: 32px 0;
  padding: 2rem 0;
  isolation: isolate;
  background: rgba(6, 19, 27, 0.4);
}

.cfo-s4__item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../img/s4__item-bg.webp) no-repeat;
  background-size: cover;
  opacity: 0.5;
  z-index: -1;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  mix-blend-mode: overlay;
}

.cfo-s4__slider {
  position: relative;
}

.cfo-s4__list.swiper-wrapper {
  display: flex;
  align-items: stretch;
}

.cfo-s4__item.swiper-slide {
  height: auto;
}

.cfo-s4__btn {
  position: absolute;
  top: 46%;
  transform: translateY(-50%);
  z-index: 2;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  line-height: 0;
  width: 40px;
  width: 2.5rem;
  flex-shrink: 0;
}

.cfo-s4__btn img {
  width: 100%;
  height: auto;
  display: block;
}

.cfo-s4__btn--prev {
  left: 8px;
  left: 0.5rem;
}

.cfo-s4__btn--prev img {
  transform: rotate(180deg);
}

.cfo-s4__btn--next {
  right: 8px;
  right: 0.5rem;
}

.cfo-s4__btn.swiper-button-disabled {
  opacity: 0.4;
  cursor: default;
}

.cfo-s4__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  gap: 0.9375rem;
  margin-top: 15px;
  margin-top: 0.9375rem;
}

.cfo-s4__dot {
  width: 5px;
  width: 0.3125rem;
  height: 5px;
  height: 0.3125rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #d9d9d9;
  opacity: 0.4;
  cursor: pointer;
  transition:
    opacity 0.2s,
    background 0.2s;
}

.cfo-s4__dot.is-active {
  background: #8c8c8c;
  opacity: 1;
}

.cfo-s4__slider {
  padding: 0 8px;
  padding: 0 0.5rem;
}

.cfo-s4__slider .swiper-slide {
  height: 100%;
  transition: transform 0.4s ease;
  transform: scale(0.82) !important;
  transform-origin: center center;
}

.cfo-s4__slider .swiper-slide.swiper-slide-active {
  transform: scale(1) !important;
}

@media (min-width: 768px) {
  .cfo-s4__slider {
    padding: 0;
  }

  .cfo-s4__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 49px;
    gap: 3.0625rem;
    gap: min(3.2vw, 3.0625rem);
  }

  .cfo-s4__slider .swiper-slide,
  .cfo-s4__slider .swiper-slide.swiper-slide-active {
    transform: none !important;
  }

  .cfo-s4__btn,
  .cfo-s4__pagination {
    display: none;
  }
}

.cfo-s4__cat {
  color: #d9d9d9;
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: 17px;
  font-size: 1.0625rem;
  font-style: normal;
  font-weight: 800;
  line-height: 160%;
  /* 27.2px */
  letter-spacing: 1.7px;
  letter-spacing: 0.10625rem;
  border-bottom: 1px solid;
  border-bottom: 0.0625rem solid;
  width: 78%;
  margin-inline: auto;
  margin-bottom: 19px;
  margin-bottom: 1.1875rem;
  padding-bottom: 10.52px;
  padding-bottom: 0.6575rem;
}

.cfo-s4__job {
  color: #d9d9d9;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-size: 0.85rem;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
  /* 22.4px */
  letter-spacing: 1.4px;
  letter-spacing: 0.0875rem;
  margin-bottom: 9.3px;
  margin-bottom: 0.58125rem;
}

.cfo-s4__salary {
  color: #a9a28c;
  font-family: "Noto Serif JP";
  font-size: 17.641px;
  font-size: 1.1025625rem;
  font-style: normal;
  font-weight: 600;
  line-height: 160%;
  /* 28.226px */
  letter-spacing: 2.47px;
  letter-spacing: 0.154375rem;
  text-align: center;
}

.cfo-s5 {
  position: relative;
  isolation: isolate;
  /* overflow: hidden; */
  background: url(../img/s5-bg.webp) no-repeat;
  background-size: cover;
  padding: 51px 0 89px;
  padding: 3.1875rem 0 5.5625rem;
}

.cfo-s5__inner {
}

.cfo-s5__deco {
  width: 51.9323671498%;
  margin-inline: auto;
  margin-bottom: 8px;
  margin-bottom: 0.5rem;
}

.cfo-s5__deco-img {
}

.cfo-s5__ttl {
  position: relative;
  color: #d9d9d9;
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: 16.595px;
  font-size: 1.0371875rem;
  font-style: normal;
  font-weight: 800;
  line-height: 210%;
  /* 26.551px */
  letter-spacing: 1.659px;
  letter-spacing: 0.1036875rem;
  margin-bottom: 17.6px;
  margin-bottom: 1.1rem;
}

.cfo-s5__ttl em {
  border-bottom: 1px solid;
  border-bottom: 0.0625rem solid;
}

.cfo-s5__special-list {
  display: flex;
  width: 94.855072%;
  margin-inline: auto;
  margin-bottom: 62px;
  margin-bottom: 3.875rem;
}

.cfo-s5__special-item {
}

.cfo-s5__special-img {
}

.cfo-s5__special-role {
  color: #d9d9d9;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 11px;
  font-size: 0.4875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 130%;
  /* 14.3px */
  letter-spacing: 1.1px;
  letter-spacing: 0.06875rem;
  position: relative;
  margin-bottom: 6px;
  margin-bottom: 0.375rem;
  width: fit-content;
  margin-inline: auto;
}

.cfo-s5__special-role::after {
  content: "";
  display: block;
  width: 34%;
  height: 1px;
  height: 0.03rem;
  background-color: #d9d9d9;
  margin: 7px auto 0;
  margin: 0.4375rem auto 0;
}

.cfo-s5__special-name {
  display: flex;
  color: #d9d9d9;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  /* 21px */
  letter-spacing: 1.4px;
  letter-spacing: 0.0875rem;
  align-items: center;
  gap: 5.6px;
  gap: 0.35rem;
  justify-content: center;
}

.cfo-s5__special-title {
  color: #d9d9d9;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 0.5875rem;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
  margin-top: 0.1rem;
  margin-bottom: 2px;
  margin-bottom: 0.225rem;
  letter-spacing: 0.1em;
}

.cfo-s5__special-btn {
  width: 12px;
  width: 0.75rem;
  height: 12px;
  height: 0.75rem;
}

.cfo-s5__deco-02 {
  width: 70.2898550725%;
  margin-inline: auto;
}

.cfo-s5__special-btn-img {
}

.cfo-s5__exec-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 6.12px;
  column-gap: 0.3825rem;
  row-gap: 7.43px;
  row-gap: 0.464375rem;
  width: 93.1304347826%;
  margin-inline: auto;
  margin-bottom: 43.4px;
  margin-bottom: 2.7125rem;
}

.cfo-s5__exec-item {
  position: relative;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 2.04px;
  border-radius: 0.1275rem;
  padding: 0px 0 16.6px;
  padding: 0rem 0 1.0375rem;
}

.cfo-s5__exec-img {
  margin-bottom: -1px;
  margin-bottom: -0.0625rem;
}

.cfo-s5__exec-img-src {
}

.cfo-s5__exec-role {
  color: #000;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 10.2px;
  font-size: 0.6375rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.51px;
  letter-spacing: 0.031875rem;
  margin-bottom: 2.52px;
  margin-bottom: 0.1575rem;
}

.cfo-s5__exec-name {
  color: #000;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 15.344px;
  font-size: 0.959rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 3.068px;
  letter-spacing: 0.19175rem;
}

.cfo-s5__exec-btn {
  position: absolute;
  right: -3.6px;
  right: -0.225rem;
  bottom: -3.2px;
  bottom: -0.2rem;
  width: 33.072px;
  width: 2.067rem;
  height: 33.072px;
  height: 2.067rem;
  display: block;
}

.cfo-s5__exec-btn-img {
}

.s5-cta {
  width: 85.821256%;
  /* s6 の先頭に移動した分、元位置（s5末尾〜s6冒頭）に見せるため上に引き上げる */
  position: relative;
  z-index: 1;
  margin-top: -109px;
  margin-top: -6.8125rem;
  margin-bottom: 22px;
  margin-bottom: 1.375rem;
}

.cfo-s6 {
  position: relative;
  isolation: isolate;
  background: url(../img/s6-bg.png) no-repeat;
  background-size: cover;
  margin-top: -43px;
  margin-top: -2.6875rem;
  padding: 64px 0 72px;
  padding: 4rem 0 4.5rem;
}

.cfo-s6__inner {
}

.cfo-s6__ttl {
  position: relative;
  color: #fff;
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: 19.595px;
  font-size: 1.2246875rem;
  font-style: normal;
  font-weight: 800;
  line-height: 160%;
  /* 31.351px */
  letter-spacing: 1.959px;
  letter-spacing: 0.1224375rem;
  margin-bottom: 33px;
  margin-bottom: 2.0625rem;
}

.cfo-s6__ttl em {
  font-size: 24.595px;
  font-size: 1.5371875rem;
  font-style: normal;
  font-weight: 800;
  line-height: 160%;
  /* 39.351px */
  letter-spacing: 2.459px;
  letter-spacing: 0.1536875rem;
  margin-bottom: 15px;
  margin-bottom: 0.9375rem;
  display: inline-block;
  border-bottom: 1px solid;
  border-bottom: 0.0625rem solid;
}
.cfo-s6__ttl em span {
  font-size: 42.595px;
  font-size: 2.6621875rem;
  font-style: normal;
  font-weight: 800;
  line-height: 110%;
  letter-spacing: 4.259px;
  letter-spacing: 0.2661875rem;
}

.cfo-s6__list-wrap {
  display: flex;
  width: 18.75rem;
  margin-inline: auto;
  margin-bottom: 15px;
  margin-bottom: 0.9375rem;
  transform: translateX(0.725rem);
  gap: 0.77rem;
}

.cfo-s6__list-bar {
  flex: 1;
  min-width: 0;
}

.cfo-s6__list {
  display: flex;
  flex-direction: column;
  gap: 30px;
  gap: 1.875rem;
  width: 89.46%;
}

.cfo-s6__item {
}

.cfo-s6__item-ttl {
  color: #a9a28c;
  font-family: "Noto Sans JP";
  font-size: 19px;
  font-size: 1.1875rem;
  font-style: normal;
  font-weight: 700;
  line-height: 160%; /* 30.4px */
  letter-spacing: 2.66px;
  letter-spacing: 0.16625rem;
  margin-bottom: 2px;
  margin-bottom: 0.125rem;
}

.cfo-s6__item-desc {
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 22.4px */
  letter-spacing: 1.4px;
  letter-spacing: 0.0875rem;
}

.cfo-s6__note {
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 9px;
  font-size: 0.5625rem;
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 14.4px */
  letter-spacing: 0.9px;
  letter-spacing: 0.05625rem;
  margin-inline: auto;
  width: 74%;
  margin-bottom: 45px;
  margin-bottom: 2.8125rem;
}

.cfo-s6__promise {
  background: rgba(217, 217, 217, 0.1);
  width: 87.922705314%;
  margin-inline: auto;
  padding: 13px 0 20px;
  padding: 0.8125rem 0 1.25rem;
}

.cfo-s6__promise-label {
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 700;
  line-height: 200%; /* 28px */
  letter-spacing: 4.2px;
  letter-spacing: 0.2625rem;
  margin-bottom: 13px;
  margin-bottom: 0.8125rem;
  border-bottom: 1px solid;
  border-bottom: 0.0625rem solid;
  width: fit-content;
  margin-inline: auto;
}

.cfo-s6__promise-text {
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 28px */
  letter-spacing: 2.66px;
  letter-spacing: 0.16625rem;
}

.cfo-s7 {
  padding: 43px 0 88px;
  padding: 2.6875rem 0 5.5rem;
  background: url(../img/s7-bg.webp) repeat;
  background-size: 100px 100px;
  background-size: 6.25rem 6.25rem;
}

.cfo-s7__inner {
}

.cfo-s7__ttl {
  color: #0e171c;
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: 24.595px;
  font-size: 1.5371875rem;
  font-style: normal;
  font-weight: 700;
  line-height: 160%; /* 39.351px */
  letter-spacing: 2.459px;
  letter-spacing: 0.1536875rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
}

.cfo-s7__list {
  width: 80.6763285024%;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 18px;
  gap: 1.125rem;
  margin-bottom: 29px;
  margin-bottom: 1.8125rem;
}

.cfo-s7__item {
  color: #0c151a;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 170%; /* 23.8px */
  letter-spacing: 0.84px;
  letter-spacing: 0.0525rem;
  padding-left: 26px;
  padding-left: 1.625rem;
  padding-bottom: 14px;
  padding-bottom: 0.875rem;
  position: relative;
  border-bottom: 1px solid #e6e6e6;
  border-bottom: 0.0625rem solid #e6e6e6;
}

.cfo-s7__item:last-child {
  border: none;
}

.cfo-s7__item::before {
  content: "";
  background: url(../img/s7-cheak.svg) no-repeat;
  background-size: contain;
  width: 19.893px;
  width: 1.2433125rem;
  height: 17.296px;
  height: 1.081rem;
  position: absolute;
  left: 0;
  top: 3px;
  top: 0.1875rem;
  filter: drop-shadow(0 0 6.4px rgba(0, 0, 0, 0.08));
  filter: drop-shadow(0 0 0.4rem rgba(0, 0, 0, 0.08));
}

.cfo-s7__note {
  background: #2b3a43;
  width: 80.193236715%;
  margin-inline: auto;
  padding: 12px 20px 25px 15px;
  padding: 0.75rem 1.25rem 1.5625rem 0.9375rem;
}

.cfo-s7__note-img {
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
  margin-inline: auto;
}

.cfo-s7__note-img-src {
}

.cfo-s7__note-text {
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 22.4px */
  letter-spacing: 1.12px;
  letter-spacing: 0.07rem;
}

.cfo-s8 {
  border-radius: 50px 50px 0 0;
  border-radius: 3.125rem 3.125rem 0 0;
  background: #f7f7f7;
  box-shadow: 0 -3px 5px 0 rgba(0, 0, 0, 0.05);
  box-shadow: 0 -0.1875rem 0.3125rem 0 rgba(0, 0, 0, 0.05);
  margin-top: -44px;
  margin-top: -2.75rem;
  padding: 33px 0 52px;
  padding: 2.0625rem 0 3.25rem;
}

.cfo-s8__inner {
}

.cfo-s8__ttl {
  color: #0e171c;
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: 24.595px;
  font-size: 1.5371875rem;
  font-style: normal;
  font-weight: 800;
  line-height: 160%; /* 39.351px */
  letter-spacing: 2.459px;
  letter-spacing: 0.1536875rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
}

.cfo-s8__ttl-en {
  /* 31.351px */
  color: #0e171c;
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: 19.595px;
  font-size: 1.2246875rem;
  font-style: normal;
  font-weight: 800;
  line-height: 160%; /* 31.351px */
  letter-spacing: 5.878px;
  letter-spacing: 0.367375rem;
  display: inline-block;
  margin-bottom: 10px;
  margin-bottom: 0.625rem;
}

.cfo-s8__list {
  width: 315px;
  width: 19.6875rem;
  position: relative;
  list-style: none;
  padding: 0;
  counter-reset: s8-step;
  margin-inline: auto;
}

.cfo-s8__list::before {
  content: "";
  position: absolute;
  left: 41.42px;
  left: 2.58875rem;
  top: 95px;
  top: 5.9375rem;
  bottom: 36px;
  bottom: 2.25rem;
  width: 1px;
  width: 0.0625rem;
  background: #a9a28c;
  z-index: 0;
}

.cfo-s8__item {
  background: #fff;
  border: 1px solid #d9d9d9;
  border: 0.0625rem solid #d9d9d9;
  border-radius: 5px;
  border-radius: 0.3125rem;
  padding: 24px 24px 24px 67px;
  padding: 1.5rem 1.5rem 1.5rem 4.1875rem;
  position: relative;
  min-height: 72px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 12px;
  margin-bottom: 0.75rem;
  z-index: 1;
}

.cfo-s8__item:last-child {
  margin-bottom: 0;
}

.cfo-s8__item::before {
  counter-increment: s8-step;
  content: counter(s8-step);
  position: absolute;
  left: 23px;
  left: 1.4375rem;
  top: 50%;
  transform: translateY(-50%) skewX(-10deg) scaleY(0.98);
  transform-origin: center;
  font-family: "Noto Serif JP";
  font-weight: 700;
  font-size: 46.914px;
  font-size: 2.932125rem;
  line-height: 1;
  letter-spacing: 5.63px;
  letter-spacing: 0.351875rem;
  color: #a9a28c;
}

.cfo-s8__item--open {
  min-height: 132px;
  align-items: flex-start;
  padding: 22px 24px 22px 66px;
  padding: 1.375rem 1.5rem 1.375rem 4.125rem;
  gap: 11px;
  gap: 0.6875rem;
}

.cfo-s8__item--open::before {
  top: 42px;
  top: 2.625rem;
}

.cfo-s8__step {
  color: #0c151a;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 17px;
  font-size: 1.0625rem;
  line-height: 1;
  letter-spacing: 1.7px;
  letter-spacing: 0.10625rem;
  display: flex;
  align-items: center;
  gap: 7px;
  gap: 0.4375rem;
  margin: 0;
}

.cfo-s8__step em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #0c151a;
  color: #fff;
  font-style: normal;
  font-size: 17px;
  font-size: 1.0625rem;
  font-weight: 500;
  letter-spacing: 1.7px;
  letter-spacing: 0.10625rem;
  width: 48px;
  width: 3rem;
  height: 25px;
  height: 1.5625rem;
  border-radius: 1px;
  border-radius: 0.0625rem;
  padding-bottom: 1px;
  padding-bottom: 0.0625rem;
}

.cfo-s8__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 230px;
  width: 14.375rem;
  height: 52px;
  height: 3.25rem;
  border-radius: 2.85px;
  border-radius: 0.178125rem;
  background:
    linear-gradient(
      101.98deg,
      rgba(255, 215, 83, 0.1) 3.86%,
      rgba(153, 153, 153, 0) 88.6%
    ),
    #88733c;
  box-shadow: 0 2.75px 0 0 #372e1b;
  box-shadow: 0 0.171875rem 0 0 #372e1b;
  color: #fff;
  font-family: "Noto Serif JP";
  font-size: 17.017px;
  font-size: 1.0635625rem;
  line-height: 1.1;
  letter-spacing: 2.55px;
  letter-spacing: 0.159375rem;
  text-decoration: none;
}

.cfo-s8__btn-arrow {
  position: absolute;
  right: 14px;
  right: 0.875rem;
  top: 50%;
  width: 8px;
  width: 0.5rem;
  height: 8px;
  height: 0.5rem;
  transform: translateY(-50%) rotate(45deg);
  border-top: 1.2px solid #fff;
  border-top: 0.075rem solid #fff;
  border-right: 1.2px solid #fff;
  border-right: 0.075rem solid #fff;
}

.cfo-s9 {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: url(../img/s9-bg.webp) repeat;
  background-size: 100px 100px;
  background-size: 6.25rem 6.25rem;
  padding: 37px 0 0;
  padding: 2.3125rem 0 0;
}

.cfo-s9__inner {
}

.cfo-s9__ttl {
  color: #0c151a;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 20.465px;
  font-size: 1.2790625rem;
  font-style: normal;
  font-weight: 700;
  line-height: 160%; /* 32.745px */
  letter-spacing: 1.637px;
  letter-spacing: 0.1023125rem;
  background: rgba(255, 255, 255, 0.9);
  width: fit-content;
  transform: skewX(-10deg);
  padding: 2px 13px 4px 13px;
  padding: 0.125rem 0.8125rem 0.25rem 0.8125rem;
  margin-inline: auto;
  margin-bottom: 39.55px;
  margin-bottom: 2.471875rem;
}

.cfo-s9__visual {
  width: 30.0072463768%;
  margin-inline: auto;
  margin-bottom: 26.55px;
  margin-bottom: 1.659375rem;
}

.cfo-s9__visual-img {
}

.cfo-s9__sub-ttl {
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 21.914px;
  font-size: 1.369625rem;
  font-style: normal;
  font-weight: 500;
  line-height: 160%; /* 35.062px */
  letter-spacing: 2.63px;
  letter-spacing: 0.164375rem;
  margin-bottom: 19.2px;
  margin-bottom: 1.2rem;
  background: url(../img/s9__sub-ttl-bg.webp) no-repeat;
  background-size: 100% 100%;
  width: fit-content;
  margin-inline: auto;
  padding-inline: 39px;
  padding-inline: 2.8375rem 2.0375rem;
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
}

.cfo-s9__lead {
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 25.2px */
  letter-spacing: 1.12px;
  letter-spacing: 0.07rem;
}

.cfo-s9__team {
  width: 82.3671497585%;
  margin-inline: auto;
  transform: translateX(1.0625rem);
  margin-bottom: 41.7px;
  margin-bottom: 1.80625rem;
}

.cfo-s9__team-img {
}

.cfo-s9__roles {
  width: 87.922705314%;
  margin-inline: auto;
  position: relative;
  border-radius: 2px;
  border-radius: 0.125rem;
  background: #002133;
  padding: 23px 8.4px 21px;
  padding: 1.4375rem 0.525rem 1.3125rem;
  margin-bottom: 53.43px;
  margin-bottom: 3.339375rem;
}

.cfo-s9__roles::after {
  content: "";
  background: #fff;
  width: 1px;
  width: 0.0625rem;
  height: 34px;
  height: 2.125rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -44%;
}

.cfo-s9__roles-icon {
  width: 305.79px;
  width: 19.111875rem;
  left: 50%;
  top: -11%;
  transform: translateX(-50%);
  position: absolute;
}

.cfo-s9__roles-icon-img {
}

.cfo-s9__roles-text {
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 12px;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 400;
  line-height: 170%; /* 20.4px */
  letter-spacing: 0.96px;
  letter-spacing: 0.06rem;
  opacity: 0.7;
}

.cfo-s9__catch {
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 160%; /* 25.6px */
  letter-spacing: 2.08px;
  letter-spacing: 0.13rem;
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
}

.cfo-s9__features {
  width: 86.2898550725%;
  margin-inline: auto;
  margin-bottom: 28px;
  margin-bottom: 1.75rem;
}

.cfo-s9__feature {
  padding-bottom: 48px;
  padding-bottom: 3rem;
  position: relative;
  z-index: 1;
}

.cfo-s9__feature:nth-child(2) {
  padding-top: 41px;
  padding-top: 2.5625rem;
  margin-top: -18px;
  margin-top: -1.125rem;
}

.cfo-s9__feature:nth-child(3) {
  padding-top: 41px;
  padding-top: 2.5625rem;
  margin-top: -26px;
  margin-top: -1.625rem;
}

.cfo-s9__feature::after {
  content: "";
  background: #d9d9d9;
  opacity: 0.1;
  clip-path: polygon(0 0, 100% 0, 100% 90%, 50% 100%, 0 90%);
  position: absolute;
  bottom: 0;
  height: 93%;
  width: 100%;
  z-index: -1;
}

.cfo-s9__feature:nth-child(1)::after {
  /* 1つ目: 下辺のみ山型（ベースを継承） */
  clip-path: polygon(0 0, 100% 0, 100% 90%, 50% 100%, 0 90%);
  height: 93%;
}

.cfo-s9__feature:nth-child(2)::after {
  clip-path: polygon(0 0, 50% 7.5%, 100% 0, 100% 90%, 50% 100%, 0 90%);
  height: 100%;
}

.cfo-s9__feature:nth-child(3)::after {
  clip-path: polygon(0 0, 50% 10%, 100% 0, 100% 90%, 50% 100%, 0 90%);
  height: 100%;
}

.cfo-s9__feature-ttl {
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 700;
  line-height: 160%; /* 22.4px */
  letter-spacing: 1.12px;
  letter-spacing: 0.07rem;
  background: url(../img/s9__feature-ttl-bg.webp) no-repeat;
  background-size: cover;
  width: fit-content;
  margin-inline: auto;
  padding: 9px 23px 10.5px;
  padding: 0.5625rem 1.4375rem 0.65625rem;
  margin-bottom: 15.7px;
  margin-bottom: 0.98125rem;
  min-width: 191px;
}

.cfo-s9__feature-lead {
  color: #fff;
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: 18.595px;
  font-size: 1.1621875rem;
  font-style: normal;
  font-weight: 800;
  line-height: 150%; /* 27.892px */
  letter-spacing: 1.488px;
  letter-spacing: 0.093rem;
  margin-bottom: 8.82px;
  margin-bottom: 0.55125rem;
}

.cfo-s9__feature-desc {
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 22.4px */
  letter-spacing: 1.12px;
  letter-spacing: 0.07rem;
  padding-inline: 20px 16.6px;
  padding-inline: 1.25rem 1.0375rem;
}

.cfo-s9__feature-desc em {
  color: #a68f45;
  font-weight: 700;
}

.cfo-s9__logo {
  background: url(../img/s9-cpass-bg.webp) no-repeat;
  background-size: cover;
  padding: 103.1px 0 100px;
  padding: 6.44375rem 0 6.25rem;
}

.cfo-s9__logo-inner {
  width: 43.2101449275%;
  margin-inline: auto;
}

.cfo-s9__logo-img {
}

.cfo-s10 {
  position: relative;
  isolation: isolate;
  background: url(../img/s10-bg.webp) repeat;
  background-size: 100px 100px;
  background-size: 6.25rem 6.25rem;
  padding: 79px 0 30px;
  padding: 4.9375rem 0 1.875rem;
  overflow: hidden;
}

/* SP では非表示 / PC のみ（@media min-width: 768px で位置指定） */

/* SP では非表示 / PC のみ（@media min-width: 48rem で位置指定） */
.cfo-s10__side-blur {
  display: none;
}

.cfo-s10::before {
  content: "";
  position: absolute;
  background: url(../img/s10-deco.webp) no-repeat;
  background-size: contain;
  mix-blend-mode: lighten;
  width: 353px;
  width: 22.0625rem;
  height: 51px;
  height: 3.1875rem;
  left: 50%;
  transform: translateX(-50%);
  top: 1.25rem;
}

.cfo-s10__inner {
  position: relative;
}

.cfo-s10__ttl {
  color: #fff;
  text-align: center;
  font-family: "Noto Serif JP";
  font-weight: 700;
  font-size: 27.595px;
  font-size: 1.7246875rem;
  line-height: 1.6;
  letter-spacing: 2.76px;
  letter-spacing: 0.1725rem;
  margin-bottom: 28px;
  margin-bottom: 1.75rem;
}

.cfo-s10__list {
  list-style: none;
  padding: 0;
  width: 365px;
  width: 22.8125rem;
  margin: 0 auto 34px;
  margin: 0 auto 2.125rem;
  display: flex;
  flex-direction: column;
  gap: 8px;
  gap: 0.5rem;
}

.cfo-s10__item {
  position: relative;
  padding: 24px 40px 24px 48px;
  padding: 1.5rem 2.5rem 1.5rem 3rem;
  cursor: pointer;
}

.cfo-s10__item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(18, 27, 33, 0.55);
  mix-blend-mode: multiply;
  z-index: -1;
  pointer-events: none;
  opacity: 0.4;
}

.cfo-s10__item::before {
  content: "";
  position: absolute;
  left: -5px;
  left: -0.3125rem;
  top: -1px;
  top: -0.0625rem;
  width: 26px;
  width: 1.625rem;
  height: 32px;
  height: 2rem;
  background: url(../img/s10-q-icon.webp) no-repeat center / contain;
}

.cfo-s10__q {
  position: relative;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 15.5px;
  font-size: 0.96875rem;
  line-height: 1.5;
  letter-spacing: 0.775px;
  letter-spacing: 0.0484375rem;
  margin: 0;
  cursor: pointer;
  user-select: none;
}

.cfo-s10__icon {
  position: absolute;
  right: -24px;
  right: -1.5rem;
  top: 50%;
  width: 13px;
  width: 0.8125rem;
  height: 13px;
  height: 0.8125rem;
  transform: translateY(-50%);
}

.cfo-s10__icon::before,
.cfo-s10__icon::after {
  content: "";
  position: absolute;
  background: #cfc2a1;
}

.cfo-s10__icon::before {
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  height: 0.0625rem;
  transform: translateY(-50%);
}

.cfo-s10__icon::after {
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  width: 0.0625rem;
  transform: translateX(-50%) rotate(0deg);
  transition: transform 0.3s;
}

.cfo-s10__item.is-open .cfo-s10__icon::after {
  transform: translateX(-50%) rotate(90deg);
}

.cfo-s10__a {
  color: #fff;
  opacity: 0.7;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: 0.7px;
  letter-spacing: 0.04375rem;
  margin: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s;
  box-sizing: border-box;
}

.cfo-s10__a::before {
  content: "";
  display: block;
  height: 18px;
  height: 1.125rem;
}

.cfo-s10__a::after {
  content: "";
  display: block;
  height: 8px;
  height: 0.5rem;
}

.s10-cta {
  width: 86.221256%;
}

.bz-footer {
  background: url(../img/s10-bg.webp) repeat;
  background-size: 100px 100px;
  background-size: 6.25rem 6.25rem;
  padding: 25px 0 35px;
  padding: 1.5625rem 0 2.1875rem;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  border-top: 0.0625rem solid rgba(255, 255, 255, 0.3);
}

.bz-footer__nav {
  display: flex;
  gap: 30px;
  gap: 1.875rem;
  width: fit-content;
  margin-inline: auto;
}

.bz-footer__nav-item {
}

.bz-footer__nav-link {
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 11px;
  font-size: 0.6875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 22px */
  letter-spacing: 0.88px;
  letter-spacing: 0.055rem;
  opacity: 0.5;
}

.bz-footer__copyright {
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 11px;
  font-size: 0.6875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 22px */
  letter-spacing: 0.88px;
  letter-spacing: 0.055rem;
  opacity: 0.5;
  display: block;
  text-align: center;
}

/* ==========================================================================
   Blur orbs（アンビエントブラー）
   - 親要素には position: relative / isolation: isolate を付与済み
   - 位置は各 orb の top/left/right/bottom で自由調整可
   ========================================================================== */
.cfo-blur {
  position: absolute;
  pointer-events: none;
  z-index: -1;
  border-radius: 50%;
}

/* s1 — deco周辺 */
.cfo-s1__deco-blur {
  width: 499.045px;
  width: 31.1903125rem;
  height: 173.744px;
  height: 10.859rem;
  opacity: 0.3;
  background: #36b2c5;
  mix-blend-mode: color-dodge;
  filter: blur(47px);
  top: 275%;
  left: 35%;
  transform: translate(-50%, -50%) rotate(53deg);
}

/* s1 — 各 item デコ画像（共通） */
.cfo-s1__item-deco {
  position: absolute;
  width: 161.4px;
  width: 10.0875rem;
  height: 170.67px;
  height: 10.666875rem;
  pointer-events: none;
  z-index: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  mix-blend-mode: plus-lighter;
}

/* 各 item 個別の位置調整（top/left/transform などを上書き） */
.cfo-s1__item-deco--1 {
  top: 32%;
  left: 92%;
}

.cfo-s1__item-deco--2 {
  top: 85%;
  left: 0%;
}

.cfo-s1__item-deco--3 {
  top: 81%;
  left: 93%;
  transform: translate(-50%, -50%);
}

/* s2 — タイトル周辺 */
.cfo-s2__ttl-blur {
  width: 289.883px;
  width: 18.1176875rem;
  height: 160.391px;
  height: 10.0244375rem;
  opacity: 0.4;
  background: #9a9753;
  mix-blend-mode: plus-lighter;
  filter: blur(80px);
  top: 48%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(54deg);
}

/* s3 — タイトル周辺 */
.cfo-s3__ttl-blur {
  width: 499.045px;
  width: 31.1903125rem;
  height: 173.744px;
  height: 10.859rem;
  opacity: 0.2;
  background: #36b2c5;
  mix-blend-mode: color-dodge;
  filter: blur(47px);
  top: 40%;
  left: 36%;
  transform: translate(-50%, -50%) rotate(58deg);
}

/* s3 — 各パートナーカード（共通） */
.cfo-s3__partner-blur {
  width: 222.172px;
  width: 13.88575rem;
  height: 138.996px;
  height: 8.68725rem;
  opacity: 0.3;
  background: #36b2c5;
  mix-blend-mode: color-dodge;
  filter: blur(37.6px);
  top: 50%;
  left: 6%;
  transform: translate(-50%, -50%) rotate(59deg);
}

/* 各パートナーカード個別の位置調整（top/left/transform などを上書き） */
.cfo-s3__partner-blur--1 {
  top: 50%;
  left: 10%;
}

.cfo-s3__partner-blur--2 {
  top: 39%;
  left: 47%;
}

.cfo-s3__partner-blur--3 {
  top: 34%;
  left: 16%;
}

/* s4 — タイトル周辺 */
.cfo-s4__ttl-blur {
  width: 222.172px;
  width: 13.88575rem;
  height: 138.996px;
  height: 8.68725rem;
  opacity: 0.3;
  background: #bcc6c7;
  mix-blend-mode: color-dodge;
  filter: blur(57.6px);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}

/* s5 — 1つ目のタイトル（SPECIAL advisor） */
.cfo-s5__ttl-blur--1 {
  width: 222.172px;
  width: 13.88575rem;
  height: 138.996px;
  height: 8.68725rem;
  opacity: 0.1;
  background: #36c595;
  mix-blend-mode: color-dodge;
  filter: blur(37.6px);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* s5 — 2つ目のタイトル（EXECUTIVE advisor） */
.cfo-s5__ttl-blur--2 {
  width: 222.172px;
  width: 13.88575rem;
  height: 138.996px;
  height: 8.68725rem;
  opacity: 0.3;
  background: #36b2c5;
  mix-blend-mode: color-dodge;
  filter: blur(37.6px);
  top: -39%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* s9 — セクション内の2箇所 */
.cfo-s9__blur--1 {
  width: 358.432px;
  width: 22.402rem;
  height: 194.933px;
  height: 12.1833125rem;
  opacity: 0.6;
  background: #8e9d9f;
  mix-blend-mode: color-dodge;
  filter: blur(77.6px);
  top: -23px;
  top: -1.4375rem;
  left: 44%;
  transform: translateX(-50%) rotate(54deg);
}
.cfo-s9__blur--2 {
  width: 286.746px;
  width: 17.921625rem;
  height: 155.946px;
  height: 9.746625rem;
  opacity: 0.5;
  background: #8e9d9f;
  mix-blend-mode: color-dodge;
  filter: blur(62.08px);
  right: 24%;
  top: 17%;
  transform: rotate(55deg);
}

/* s10 — セクション中央に縦長 */
.cfo-s10__blur {
  width: 355.206px;
  width: 22.200375rem;
  height: 762.994px;
  height: 47.687125rem;
  opacity: 0.2;
  background: #36b2c5;
  mix-blend-mode: color-dodge;
  filter: blur(47px);
  top: 49%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media screen and (min-width: 768px) {
  /* この下からcssを記述して下さい */
  .bz {
  }

  .bz-header {
  }
  .bz-header__logo {
    width: 66.407px;
    width: 4.1504375rem;
    height: 66.407px;
    height: 4.1504375rem;
  }
  .bz-header__logo-img {
  }
  .bz-header__logo-img {
  }
  .bz-header__logo-02 {
    width: 124.231px;
    width: 7.7644375rem;
    height: 36.671px;
    height: 2.2919375rem;
    margin-left: 16px;
    margin-left: 1rem;
  }

  .bz-header__text {
    font-size: 10.8px;
    font-size: 0.675rem;
    font-style: normal;
    line-height: 160%; /* 17.28px */
    letter-spacing: 0.54px;
    letter-spacing: 0.03375rem;
    margin-left: 28.4px;
    margin-left: 1.775rem;
  }

  .cfo-main {
  }

  .cfo-fv {
    overflow: hidden;
  }

  .cfo-fv__ttl {
  }

  .cfo-fv__img {
  }

  .cta {
  }

  .fv-cta {
    width: 496px;
    width: 31rem;
    width: 29.5238095238%;
    left: 37%;
    bottom: 0.4%;
  }

  .cta img {
  }

  .cfo-s1 {
    background-color: #0d1f25;
    background: url(../img/s1-bg-pc.png) no-repeat #0d1f25;
    padding: 0 0 165px;
    padding: 0 0 10.3125rem;
    background-size: 100% 100%;
    background-position: center;
  }

  .cfo-s1::after {
    width: 615.927px;
    width: 38.4954375rem;
    height: 523.675px;
    height: 32.7296875rem;
    bottom: -2.3%;
    left: 63%;
    background: url(../img/s1-7-pc.webp) no-repeat;
    background-size: contain;
  }

  .cfo-s1__inner {
    padding-top: 63px;
    padding-top: 3.9375rem;
  }

  .cfo-s1__deco {
    max-width: 532px;
    margin-bottom: 14.56px;
    margin-bottom: 0.91rem;
  }

  .cfo-s1__deco-img {
  }

  .cfo-s1__catch {
    font-size: 22.877px;
    font-size: 1.4298125rem;
    font-style: normal;
    line-height: 130%; /* 29.74px */
    letter-spacing: 1.601px;
    letter-spacing: 0.1000625rem;
    padding-bottom: 10px;
    padding-bottom: 0.625rem;
    margin-bottom: 94px;
    margin-bottom: 5.875rem;
  }

  .cfo-s1__catch em {
  }

  .cfo-s1__catch-label {
    font-size: 33.542px;
    font-size: 2.096375rem;
    font-style: normal;
    line-height: 130%; /* 43.605px */
    letter-spacing: -1.006px;
    letter-spacing: -0.062875rem;
  }

  .cfo-s1__catch-num {
    font-size: 41.994px;
    font-size: 2.624625rem;
    font-style: normal;
    line-height: 100%; /* 54.593px */
    letter-spacing: 2.94px;
    letter-spacing: 0.18375rem;
  }

  .cfo-s1__catch-comma {
    letter-spacing: 2.193px;
    letter-spacing: 0.1370625rem;
  }

  .cfo-s1__catch-unit {
    font-size: 33.542px;
    font-size: 2.096375rem;
    font-style: normal;
    line-height: 130%; /* 43.605px */
    letter-spacing: -1.006px;
    letter-spacing: -0.062875rem;
  }

  .cfo-s1__ttl {
    font-size: 27.162px;
    font-size: 1.697625rem;
    font-style: normal;
    line-height: 160%; /* 43.459px */
    letter-spacing: 3.259px;
    letter-spacing: 0.2036875rem;
    margin-bottom: 79px;
    margin-bottom: 4.9375rem;
  }

  .cfo-s1__ttl::before {
    width: 36.714px;
    width: 2.294625rem;
    height: 25.614px;
    height: 1.600875rem;
  }

  .cfo-s1__ttl::after {
    height: 45.6px;
    height: 2.85rem;
  }

  .cfo-s1__question {
    max-width: 146px;
  }

  .cfo-s1__question-img {
  }

  .cfo-s1__list {
    flex-direction: row;
    max-width: 1092px;
    padding-left: 0;
    margin-bottom: 80px;
    margin-bottom: 5rem;
    width: 90%;
  }

  .cfo-s1__item {
    align-self: flex-start;
  }

  .cfo-s1__item-01 {
  }

  .cfo-s1__item-02 {
    margin-top: 50px;
    margin-top: 3.125rem;
  }
  .cfo-s1__item-03 {
    margin-top: 100px;
    margin-top: 6.25rem;
  }
  .cfo-s1__item-img {
  }

  .cfo-s1__item-img-src {
  }

  .cfo-s1__item-text {
  }

  .cfo-s1__item-text::after {
  }

  .cfo-s1__item-em {
  }

  .cfo-s1__item-em--1 {
  }

  .cfo-s1__item-em--2 {
  }

  .cfo-s1__item-em--3 {
  }

  .cfo-s1__lead {
    font-size: 46.936px;
    font-size: 2.9335rem;
    font-style: normal;
    line-height: 160%; /* 75.098px */
    letter-spacing: 5.632px;
    letter-spacing: 0.352rem;
    text-align: left;
    width: 70%;
    max-width: 722.4px;
    margin-inline: auto;
    margin-bottom: 64px;
    margin-bottom: 4rem;
    position: relative;
    padding-bottom: 2px;
    padding-bottom: 0.125rem;
  }

  .cfo-s1__lead::after {
    content: "";
    width: 53%;
    height: 1px;
    height: 0.0625rem;
    background: radial-gradient(50% 50% at 50% 50%, #dbdbdb 0%, #747474 100%);
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .cfo-s1__desc {
    font-size: 18px;
    font-size: 1.125rem;
    font-style: normal;
    line-height: 180%; /* 32.4px */
    letter-spacing: 2.34px;
    letter-spacing: 0.14625rem;
    text-align: left;
    width: 70%;
    max-width: 722.4px;
    margin-inline: auto;
  }

  .cfo-s1__desc span {
    font-size: 12px;
    font-size: 0.75rem;
    font-style: normal;
    line-height: 180%;
    letter-spacing: 1.56px;
    letter-spacing: 0.0975rem;
  }

  .cfo-s2 {
    padding: 80px 0 80px;
    padding: 5rem 0 5rem;
  }

  .cfo-s2__inner {
  }

  .cfo-s2__logo {
    max-width: 149.08px;
    margin-bottom: 40px;
    margin-bottom: 2.5rem;
  }

  .cfo-s2__logo-img {
  }

  .cfo-s2__ttl {
    font-size: 22.314px;
    font-size: 1.394625rem;
    font-style: normal;
    line-height: 160%; /* 35.702px */
    letter-spacing: 1.116px;
    letter-spacing: 0.06975rem;
    margin-bottom: 17px;
    margin-bottom: 1.0625rem;
  }

  .cfo-s2__ttl em {
    font-size: 43.914px;
    font-size: 2.744625rem;
    font-style: normal;
    line-height: 160%; /* 70.262px */
    letter-spacing: 5.27px;
    letter-spacing: 0.329375rem;
  }

  .cfo-s2__ttl em::after {
  }

  .cfo-s2__slider {
    padding: 0;
  }

  .cfo-s2__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    gap: 1.5rem;
    max-width: 1080px;
    margin-inline: auto;
    width: 90% !important;
  }

  /* loop用に複製していた4枚目以降のスライドはPCでは非表示 */
  .cfo-s2__item:nth-child(n + 4) {
    display: none;
  }

  /* SP用のスケール効果を無効化 */
  .cfo-s2__slider .swiper-slide,
  .cfo-s2__slider .swiper-slide.swiper-slide-active,
  .cfo-s2__slider .swiper-slide-prev,
  .cfo-s2__slider .swiper-slide-next {
    transform: none !important;
  }
  .cfo-s2__item {
    max-width: 335.44px;
    flex: 1;
  }
  .cfo-s2__item-img {
  }

  .cfo-s3 {
    padding: 90px 0 20.8px;
    padding: 6.125rem 0 1.3rem;
    margin-top: -2.8625rem;
  }

  .cfo-s3__inner {
  }

  .cfo-s3__ttl {
    font-size: 31.096px;
    font-size: 1.9435rem;
    font-style: normal;
    line-height: 160%; /* 49.754px */
    letter-spacing: 3.732px;
    letter-spacing: 0.23325rem;
  }

  .cfo-s3__ttl-lead {
    font-size: 21.6px;
    font-size: 1.35rem;
    font-style: normal;
    line-height: 160%; /* 34.56px */
    letter-spacing: 1.728px;
    letter-spacing: 0.108rem;
  }

  .cfo-s3__ttl-em {
    font-size: 31.096px;
    font-size: 1.9435rem;
    font-style: normal;
    line-height: 160%; /* 49.754px */
    letter-spacing: 3.732px;
    letter-spacing: 0.23325rem;
  }

  .cfo-s3__ttl-keyword {
    font-size: 34.206px;
    font-size: 2.137875rem;
    font-style: normal;
    line-height: 160%; /* 54.729px */
    letter-spacing: 4.105px;
    letter-spacing: 0.2565625rem;
  }

  .cfo-s3__ttl-num {
    font-size: 74.296px;
    font-size: 4.6435rem;
    font-style: normal;
    /* 118.874px */
    letter-spacing: 8.916px;
    letter-spacing: 0.55725rem;
  }

  .cfo-s3__strengths {
    flex-direction: row;
    gap: 53px;
    gap: 3.3125rem;
    gap: min(3.5vw, 3.3125rem);
    max-width: 1300px;
    margin-inline: auto;
    width: 90%;
  }

  .cfo-s3__strength {
    padding-left: 0;
    flex: 1;
    align-self: flex-start;
  }

  .cfo-s3__strength:nth-child(1)::after {
    top: -6%;
    left: 8%;
  }

  .cfo-s3__strength:nth-child(2)::after {
    top: -4%;
    left: 8%;
  }

  .cfo-s3__strength:nth-child(3)::after {
    top: -3%;
    left: 8.2%;
  }

  .cfo-s3__strength-01 {
  }
  .cfo-s3__strength-02 {
    margin-top: 60px;
    margin-top: 3.75rem;
  }
  .cfo-s3__strength-03 {
    margin-top: 120px;
    margin-top: 7.5rem;
  }

  .cfo-s3__strength-num-img {
  }

  .cfo-s3__strength-num-src {
  }

  .cfo-s3__strength-body {
    overflow: hidden;
  }

  .cfo-s3__strength-sub-ttl {
  }

  .cfo-s3__strength-img {
    transform: translateX(0px);
  }

  .cfo-s3__strength:nth-child(2) .cfo-s3__strength-img {
  }

  .cfo-s3__strength:nth-child(3) .cfo-s3__strength-img {
  }

  .cfo-s3__strength-img-src {
  }

  .cfo-s3__strength-desc {
  }

  .cfo-s3__partners {
    flex-direction: row;
    max-width: 1078px;
    margin-inline: auto;
    gap: 24px;
    gap: 1.5rem;
    margin-bottom: 87px;
    margin-bottom: 5.4375rem;
    width: 91%;
  }

  .cfo-s3__partner {
    flex: 1;
  }

  .cfo-s3__partner-header {
  }

  .cfo-s3__partner-header::after {
  }

  .cfo-s3__partner-logo {
  }

  .cfo-s3__partner-logo-img {
  }

  .cfo-s3__partner-name {
  }

  .cfo-s3__partner-title {
    font-size: min(1.61vw, 1.125rem);
  }

  .cfo-s3__partner-desc {
  }

  .cfo-s3__lead {
    font-size: 27.84px;
    font-size: 1.74rem;
    font-style: normal;
    line-height: 170%; /* 47.328px */
    letter-spacing: 4.176px;
    letter-spacing: 0.261rem;
    margin-bottom: 0;
  }

  .cfo-s3__lead em {
    font-size: 26.4px;
    font-size: 1.65rem;
    font-style: normal;
    line-height: 170%; /* 44.88px */
    letter-spacing: 3.96px;
    letter-spacing: 0.2475rem;
    padding-inline: 0.85rem 0.6rem;
    padding-bottom: 0.1rem;
  }

  .cfo-s3__lead span {
    font-size: 40.8px;
    font-size: 2.55rem;
    font-style: normal;
    line-height: 170%; /* 69.36px */
    letter-spacing: 6.12px;
    letter-spacing: 0.3825rem;
  }

  .s3-cta {
    max-width: 447px;
    margin-top: -21.8px;
    margin-top: -1.3625rem;
  }

  .cfo-s4 {
    background: url(../img/s4-bg-pc.png) no-repeat;
    background-size: 1680px 100%;
    background-size: 105rem 100%;
    background-size: 100% 100%;
    background-position: center;
  }

  .cfo-s4__inner {
  }

  .cfo-s4__logo {
    max-width: 161.5px;
    margin-inline: auto;
    margin-bottom: 17.26px;
    margin-bottom: 1.07875rem;
  }

  .cfo-s4__ttl {
    font-size: 35.36px;
    font-size: 2.21rem;
    font-style: normal;
    line-height: 130%; /* 45.968px */
    letter-spacing: 2.475px;
    letter-spacing: 0.1546875rem;
    background: linear-gradient(
      83deg,
      rgba(249, 237, 206, 0.8) 34.86%,
      rgba(187, 164, 107, 0.56) 86.84%
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    width: fit-content;
    margin-inline: auto;
  }

  .cfo-s4__ttl em {
    font-size: 76.474px;
    font-size: 4.779625rem;
    font-style: normal;
    line-height: 130%; /* 99.416px */
    letter-spacing: 3.059px;
    letter-spacing: 0.1911875rem;
  }

  .cfo-s4__ttl-salary {
    letter-spacing: 4.95px;
    letter-spacing: 0.309375rem;
  }

  .cfo-s4__ttl-unit {
    letter-spacing: 1.061px;
    letter-spacing: 0.0663125rem;
  }

  .cfo-s4__sub-ttl {
    font-size: 25.914px;
    font-size: 1.619625rem;
    font-style: normal;
    line-height: 160%; /* 41.462px */
    letter-spacing: 7.256px;
    letter-spacing: 0.4535rem;
    margin-bottom: 1.03125rem;
  }

  .cfo-s4__note {
    font-size: 13.595px;
    font-size: 0.8496875rem;
    font-style: normal;
    line-height: 160%; /* 21.751px */
    letter-spacing: 2.447px;
    letter-spacing: 0.1529375rem;
  }

  .cfo-s4__list,
  .cfo-s4__list.swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    max-width: 1109px;
    margin-inline: auto;
    width: 93% !important;
    align-items: stretch;
  }

  .cfo-s4__item {
    flex: 1;
  }

  .cfo-s4__item::before {
  }

  .cfo-s4__slider {
  }

  .cfo-s4__list.swiper-wrapper {
  }

  .cfo-s4__btn {
  }

  .cfo-s4__btn img {
  }

  .cfo-s4__btn--prev {
  }

  .cfo-s4__btn--prev img {
  }

  .cfo-s4__btn--next {
  }

  .cfo-s4__btn.swiper-button-disabled {
  }

  .cfo-s4__pagination {
  }

  .cfo-s4__dot {
  }

  .cfo-s4__dot.is-active {
  }

  .cfo-s4__slider {
  }

  .cfo-s4__slider .swiper-slide {
  }

  .cfo-s4__slider .swiper-slide.swiper-slide-active {
  }

  .cfo-s4__cat {
  }

  .cfo-s4__job {
  }

  .cfo-s4__salary {
    font-size: min(1.8vw, 1.1025625rem);
  }

  .cfo-s5 {
    background: url(../img/s5-bg-pc.png) no-repeat;
    background-size: 1680px 100%;
    background-size: 105rem 100%;
    background-size: 100% 100%;
    background-position: center;
    padding: 96px 0 49px;
    padding: 6rem 0 3.0625rem;
  }

  .cfo-s5__inner {
  }

  .cfo-s5__deco {
    max-width: 250px;
    margin-bottom: 10px;
    margin-bottom: 0.625rem;
  }

  .cfo-s5__deco-img {
  }

  .cfo-s5__ttl {
    font-size: 19.914px;
    font-size: 1.244625rem;
    font-style: normal;
    /* 31.862px */
    letter-spacing: 1.991px;
    letter-spacing: 0.1244375rem;
    margin-bottom: 24.56px;
    margin-bottom: 1.535rem;
  }

  .cfo-s5__ttl em {
  }

  .cfo-s5__special-list {
    max-width: 980px;
    margin-bottom: 89px;
    margin-bottom: 5.5625rem;
  }

  .cfo-s5__special-item {
  }

  .cfo-s5__special-img {
    margin-bottom: 16px;
    margin-bottom: 1rem;
  }

  .cfo-s5__special-role {
    font-size: 17.16px;
    font-size: 0.7rem;
    font-style: normal;
    line-height: 140%; /* 22.308px */
    letter-spacing: 1.716px;
    letter-spacing: 0.10725rem;
    margin-bottom: 5.76px;
    margin-bottom: 0.66rem;
  }
  .cfo-s5__special-role::after {
    margin: 0.6375rem auto 0;
  }

  .cfo-s5__special-name {
    font-size: 21.84px;
    font-size: 1.265rem;
    font-style: normal;
    line-height: 150%; /* 32.76px */
    letter-spacing: 2.184px;
    letter-spacing: 0.1365rem;
    gap: 12px;
    gap: 0.75rem;
  }

  .cfo-s5__special-title {
    font-size: 0.8rem;
    margin-bottom: 5.76px;
    margin-bottom: 0.36rem;
  }

  .cfo-s5__special-btn {
    width: 18.72px;
    width: 1.17rem;
    height: 18.72px;
    height: 1.17rem;
  }

  .cfo-s5__deco-02 {
    max-width: 341px;
    margin-bottom: 17px;
    margin-bottom: 1.0625rem;
  }

  .cfo-s5__special-btn-img {
  }

  .cfo-s5__special-img-01 {
  }
  .cfo-s5__special-img-02 {
    margin-top: 10px;
    margin-top: 0.625rem;
  }
  .cfo-s5__special-img-03 {
  }
  .cfo-s5__exec-list {
    grid-template-columns: repeat(6, 1fr);
    max-width: 1073px;
    margin-bottom: 0;
  }

  .cfo-s5__exec-item {
  }

  .cfo-s5__exec-img {
  }

  .cfo-s5__exec-img-src {
  }

  .cfo-s5__exec-role {
    font-size: 14.076px;
    font-size: 0.87975rem;
    font-size: min(1.4vw, 0.87975rem);
    font-style: normal;
    line-height: 130%; /* 18.299px */
    letter-spacing: 0.704px;
    letter-spacing: 0.044rem;
  }

  .cfo-s5__exec-name {
    font-size: 18.169px;
    font-size: 1.3230625rem;
    font-size: min(1.8vw, 1.1355625rem);
    font-style: normal;
    line-height: 160%; /* 33.871px */
    letter-spacing: 3.634px;
    letter-spacing: 0.227125rem;
  }

  .cfo-s5__exec-btn {
    width: 2.567rem;
    height: 2.567rem;
    right: -8.4px;
    right: -0.425rem;
    bottom: -6.4px;
    bottom: -0.2rem;
  }

  .cfo-s5__exec-btn-img {
  }

  .s5-cta {
    display: none;
  }

  .cfo-s6 {
    background: url(../img/s6-bg-pc.png) no-repeat;
    background-size: 1680px 100%;
    background-size: 105rem 100%;
    background-size: 100% 100%;
    background-position: center;
    padding: 107px 0 63px;
    padding: 6.6875rem 0 3.9375rem;
    margin-top: 0;
    overflow: hidden;
  }

  .cfo-s6__inner {
  }

  .cfo-s6__ttl {
    font-size: 21.554px;
    font-size: 1.347125rem;
    font-style: normal;
    line-height: 160%; /* 34.486px */
    letter-spacing: 2.155px;
    letter-spacing: 0.1346875rem;
    margin-bottom: 54px;
    margin-bottom: 3.375rem;
  }

  .cfo-s6__ttl em {
    font-size: 27.054px;
    font-size: 1.690875rem;
    font-style: normal;
    line-height: 160%; /* 43.286px */
    letter-spacing: 2.705px;
    letter-spacing: 0.1690625rem;
    margin-bottom: 26px;
    margin-bottom: 1.625rem;
  }
  .cfo-s6__ttl em span {
    font-size: 46.854px;
    font-size: 2.928375rem;
    letter-spacing: 4.685px;
    letter-spacing: 0.2928125rem;
  }

  .cfo-s6__list-wrap {
    flex-direction: column;
    max-width: 854px;
    width: 92.9%;
    gap: 0.65625rem;
    margin-bottom: 2.8125rem;
  }

  .cfo-s6__list-bar {
  }

  .cfo-s6__list {
    flex-direction: row;
    gap: 28.5px;
    gap: 2rem;
    width: fit-content;
    max-width: 785px;
    margin-inline: auto;
  }

  .cfo-s6__item {
    max-width: 255px;
  }
  .cfo-s6__item:nth-child(2) {
    transform: translateX(-0.125rem);
  }
  .cfo-s6__item:nth-child(1) .cfo-s6__item-ttl {
    margin-bottom: 0.625rem;
  }

  .cfo-s6__item:nth-child(2) .cfo-s6__item-ttl {
    margin-bottom: 0.75rem;
  }

  .cfo-s6__item:nth-child(3) .cfo-s6__item-ttl {
    margin-bottom: 0.5rem;
  }
  .cfo-s6__item-ttl {
    font-size: 20.9px;
    font-size: 1.30625rem;
    font-style: normal;
    line-height: 160%; /* 33.44px */
    letter-spacing: 2.926px;
    letter-spacing: 0.182875rem;
  }

  .cfo-s6__item-desc {
    font-size: 15.4px;
    font-size: 0.9625rem;
    font-style: normal;
    line-height: 160%; /* 24.64px */
    letter-spacing: 1.54px;
    letter-spacing: 0.09625rem;
    opacity: 0.8;
  }

  .cfo-s6__note {
    font-size: 9px;
    font-size: 0.5625rem;
    font-style: normal;
    line-height: 160%; /* 14.4px */
    letter-spacing: 0.9px;
    letter-spacing: 0.05625rem;
    opacity: 0.8;
    text-align: center;
    margin-bottom: 1rem;
  }

  .cfo-s6__promise {
    max-width: 570px;
  }

  .cfo-s6__promise-label {
    width: 24%;
  }

  .cfo-s6__promise-text {
  }

  .cfo-s7 {
    padding: 57.5px 0 112.4px;
    padding: 3.59375rem 0 7.025rem;
  }

  .cfo-s7__inner {
    width: 90%;
    margin-inline: auto;
  }

  .cfo-s7__ttl {
  }

  .cfo-s7__list {
    max-width: 334px;
  }

  .cfo-s7__item {
  }

  .cfo-s7__item:last-child {
  }

  .cfo-s7__item::before {
  }

  .cfo-s7__note {
    max-width: 702px;
    padding: 12px 20px 21px 15px;
    padding: 0.75rem 1.25rem 1.3125rem 0.9375rem;
  }

  .cfo-s7__note-img {
  }

  .cfo-s7__note-img-src {
  }

  .cfo-s7__note-text {
  }

  .cfo-s8 {
    padding: 53px 0 63px;
    padding: 3.3125rem 0 3.9375rem;
    border-radius: 80px 80px 0 0;
    border-radius: 5rem 5rem 0 0;
    margin-top: -65px;
    margin-top: -4.0625rem;
  }

  .cfo-s8__inner {
  }

  .cfo-s8__ttl {
    margin-bottom: 42px;
    margin-bottom: 2.625rem;
  }

  .cfo-s8__ttl-en {
  }

  .cfo-s8__list {
    width: 90%;
    max-width: 497px;
  }

  .cfo-s8__list::before {
  }

  .cfo-s8__item {
  }

  .cfo-s8__item:last-child {
  }

  .cfo-s8__item::before {
  }

  .cfo-s8__item--open {
    flex-direction: row;
    align-items: center;
    padding: 22px 24px 22px 66px;
    padding: 1.375rem 1.5rem 1.375rem 4.125rem;
    min-height: 0;
    justify-content: start;
    gap: 41px;
    gap: 2.5625rem;
  }

  .cfo-s8__item--open::before {
  }

  .cfo-s8__step {
  }

  .cfo-s8__step em {
  }

  .cfo-s8__btn {
  }

  .cfo-s8__btn-arrow {
  }

  .cfo-s9 {
    padding: 73px 0 0;
    padding: 4.5625rem 0 0;
  }

  .cfo-s9__inner {
  }

  .cfo-s9__ttl {
    font-size: 24.558px;
    font-size: 1.534875rem;
    font-style: normal;
    line-height: 160%; /* 39.293px */
    letter-spacing: 1.965px;
    letter-spacing: 0.1228125rem;
    margin-bottom: 37.81px;
    margin-bottom: 2.363125rem;
  }

  .cfo-s9__visual {
    max-width: 178.893px;
    margin-bottom: 38px;
    margin-bottom: 2.375rem;
  }

  .cfo-s9__visual-img {
  }

  .cfo-s9__sub-ttl {
    font-size: 37.867px;
    font-size: 2.3666875rem;
    font-style: normal;
    line-height: 160%; /* 60.586px */
    letter-spacing: 4.544px;
    letter-spacing: 0.284rem;
    padding-inline: 63px;
    padding-inline: 4.1375rem 3.7375rem;
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
    background-size: 100% 90%;
    background-position: center;
  }

  .cfo-s9__sub-ttl-ja {
    display: inline-block;
    transform: translateX(11px);
  }
  .cfo-s9__sub-ttl-en {
    letter-spacing: 8.331px;
    letter-spacing: 0.5206875rem;
  }

  .cfo-s9__sub-ttl-en span {
  }

  .cfo-s9__lead {
    font-size: 16.8px;
    font-size: 1.05rem;
    font-style: normal;
    line-height: 180%; /* 30.24px */
    letter-spacing: 1.344px;
    letter-spacing: 0.084rem;
    margin-bottom: 21px;
    margin-bottom: 1.3125rem;
  }

  .cfo-s9__team {
    max-width: 870px;
    width: 90%;
    margin-bottom: 38px;
    margin-bottom: 2.00625rem;
  }

  .cfo-s9__team-img {
  }

  .cfo-s9__roles {
    max-width: 876px;
    padding: 42px 0 27px;
    padding: 1.725rem 0 1.6875rem;
    margin-bottom: 122.4px;
    margin-bottom: 7.65rem;
  }

  .cfo-s9__roles::after {
    height: 41px;
    height: 2.5625rem;
  }

  .cfo-s9__roles-icon {
    width: 352.27px;
    width: 22.016875rem;
    top: -8%;
  }

  .cfo-s9__roles-icon-img {
  }

  .cfo-s9__roles-text {
    font-size: 17.4px;
    font-size: 1.0875rem;
    font-style: normal;
    line-height: 170%; /* 29.58px */
    letter-spacing: 1.392px;
    letter-spacing: 0.087rem;
  }

  .cfo-s9__catch {
    font-size: 25.2px;
    font-size: 1.575rem;
    font-style: normal;
    line-height: 160%; /* 40.32px */
    letter-spacing: 3.276px;
    letter-spacing: 0.20475rem;
    position: relative;
  }

  .cfo-s9__catch::after {
    content: "";
    background: url(../img/s9__catch-deco.webp) no-repeat;
    background-size: contain;
    width: 94.3583333333%;
    height: 6.106547619vw;
    position: absolute;
    top: -31%;
    left: 50%;
    transform: translateX(-50%);
  }

  .cfo-s9__features {
    max-width: 868px;
    position: relative;
  }

  /* PC のみ blur 表示（基本スタイル） */
  .cfo-s9__features-blur {
    display: block;
    width: 432px;
    width: 27rem;
    height: 383px;
    height: 23.9375rem;
    border-radius: 432px;
    border-radius: 27rem;
    opacity: 0.2;
    background: #8e9d9f;
    mix-blend-mode: color-dodge;
    filter: blur(77.5999984741211px);
    position: absolute;
  }
  /* 左上 — 位置調整はここで */
  .cfo-s9__features-blur--1 {
    top: 0;
    left: 0;
    transform: translate(-30%, -30%);
  }
  /* 右下 — 位置調整はここで */
  .cfo-s9__features-blur--2 {
    bottom: 0;
    right: 0;
    transform: translate(30%, 30%);
  }

  .cfo-s9__feature {
  }

  .cfo-s9__feature:nth-child(2) {
  }

  .cfo-s9__feature:nth-child(3) {
  }

  .cfo-s9__feature::after {
  }

  .cfo-s9__feature:nth-child(1)::after {
  }

  .cfo-s9__feature:nth-child(2)::after {
  }

  .cfo-s9__feature:nth-child(3)::after {
  }

  .cfo-s9__feature-ttl {
    font-size: 16.8px;
    font-size: 1.05rem;
    font-style: normal;
    line-height: 160%; /* 26.88px */
    letter-spacing: 1.344px;
    letter-spacing: 0.084rem;
    min-width: 229.4px;
    padding: 10.8px 28px 12px;
    padding: 0.675rem 1.75rem 0.75rem;
    margin-bottom: 24px;
    margin-bottom: 1.5rem;
  }
  .cfo-s9__feature:nth-child(2) .cfo-s9__feature-ttl {
    margin-bottom: 11px;
    margin-bottom: 0.6875rem;
  }

  .cfo-s9__feature:nth-child(3) .cfo-s9__feature-ttl {
    margin-bottom: 11px;
    margin-bottom: 0.6875rem;
  }
  .cfo-s9__feature-lead {
    font-size: 22.314px;
    font-size: 1.394625rem;
    font-style: normal;
    line-height: 150%; /* 33.47px */
    letter-spacing: 1.785px;
    letter-spacing: 0.1115625rem;
    margin-bottom: 9px;
    margin-bottom: 0.5625rem;
  }

  .cfo-s9__feature-desc {
    font-size: 16.8px;
    font-size: 1.05rem;
    font-style: normal;
    line-height: 160%; /* 26.88px */
    letter-spacing: 1.344px;
    letter-spacing: 0.084rem;
  }

  .cfo-s9__feature-desc em {
  }

  .cfo-s9__logo {
    background: url(../img/s9-cpass-bg-pc.webp) no-repeat;
    background-size: cover;
    padding: 91.4px 0 90.5px;
    padding: 5.7125rem 0 5.65625rem;
  }

  .cfo-s9__logo-inner {
    max-width: 250.5px;
  }

  .cfo-s9__logo-img {
  }

  .cfo-s10 {
    padding: 122px 0 50px;
    padding: 7.625rem 0 3.125rem;
  }

  .cfo-s10::before {
    top: 3.75rem;
  }

  .cfo-s10__inner {
  }

  .cfo-s10__ttl {
    margin-bottom: 47px;
    margin-bottom: 2.9375rem;
  }

  .cfo-s10__list {
    max-width: 629px;
    width: 80%;
  }

  .cfo-s10__item {
  }

  .cfo-s10__item::after {
  }

  .cfo-s10__item::before {
  }

  .cfo-s10__q {
  }

  .cfo-s10__icon {
  }

  .cfo-s10__icon::before,
  .cfo-s10__icon::after {
  }

  .cfo-s10__icon::before {
  }

  .cfo-s10__icon::after {
  }

  .cfo-s10__item.is-open .cfo-s10__icon::after {
  }

  .cfo-s10__a {
  }

  .cfo-s10__a::before {
  }

  .cfo-s10__a::after {
  }

  .s10-cta {
    display: none;
  }

  .bz-footer {
  }

  .bz-footer__nav {
  }

  .bz-footer__nav-item {
  }

  .bz-footer__nav-link {
  }

  .bz-footer__copyright {
  }

  /* ==========================================================================
   Blur orbs（アンビエントブラー）
   - 親要素には position: relative / isolation: isolate を付与済み
   - 位置は各 orb の top/left/right/bottom で自由調整可
   ========================================================================== */
  .cfo-blur {
  }

  /* s1 — deco周辺 */
  .cfo-s1__deco-blur {
    width: 748.567px;
    width: 46.7854375rem;
    height: 378.198px;
    height: 23.637375rem;
    top: 233%;
    left: 41%;
    border-radius: 748.567px;
    border-radius: 46.7854375rem;
    opacity: 0.35;
    background: #36b2c5;
    mix-blend-mode: color-dodge;
    filter: blur(95.5px);
  }

  /* s1 — 各 item デコ画像（共通） */
  .cfo-s1__item-deco {
  }

  /* 各 item 個別の位置調整（top/left/transform などを上書き） */
  .cfo-s1__item-deco--1 {
    top: 25%;
    left: -5%;
  }

  .cfo-s1__item-deco--2 {
    top: 90%;
    left: 0%;
  }

  .cfo-s1__item-deco--3 {
    top: 81%;
    left: 106%;
  }

  /* s2 — タイトル周辺 */
  .cfo-s2__ttl-blur {
    width: 713.738px;
    width: 44.608625rem;
    height: 361.658px;
    height: 22.603625rem;
    border-radius: 713.738px;
    border-radius: 44.608625rem;
    opacity: 0.2;
    background: #9a9753;
    mix-blend-mode: plus-lighter;
    filter: blur(80px);
    transform: translate(-50%, -50%) rotate(19deg);
  }

  /* s3 — タイトル周辺 */
  .cfo-s3__ttl-blur {
    width: 499.045px;
    width: 31.1903125rem;
    height: 372.95px;
    height: 23.309375rem;
    border-radius: 499.045px;
    border-radius: 31.1903125rem;
    opacity: 0.25;
    background: #36b2c5;
    mix-blend-mode: color-dodge;
    filter: blur(77px);
    top: 29%;
    left: 42%;
  }

  /* s3 — 各パートナーカード（共通） */
  .cfo-s3__partner-blur {
  }

  /* 各パートナーカード個別の位置調整（top/left/transform などを上書き） */
  .cfo-s3__partner-blur--1 {
    top: 28%;
    left: 10%;
  }

  .cfo-s3__partner-blur--2 {
    top: 38%;
    left: 43%;
  }

  .cfo-s3__partner-blur--3 {
    top: 28%;
    left: 18%;
  }

  /* s4 — タイトル周辺 */
  .cfo-s4__ttl-blur {
    width: 391.815px;
    width: 24.4884375rem;
    height: 275.228px;
    height: 17.20175rem;
    border-radius: 391.815px;
    border-radius: 24.4884375rem;
    opacity: 0.2;
    background: #bcc6c7;
    mix-blend-mode: color-dodge;
    filter: blur(117.5999984741211px);
    transform: translate(-50%, -50%) rotate(56deg);
    left: 48%;
  }

  /* s5 — 1つ目のタイトル（SPECIAL advisor） */
  .cfo-s5__ttl-blur--1 {
    width: 266.606px;
    width: 16.662875rem;
    height: 166.795px;
    height: 10.4246875rem;
    border-radius: 266.606px;
    border-radius: 16.662875rem;
    opacity: 0.1;
    background: #36c595;
    mix-blend-mode: color-dodge;
    transform: translate(-50%, -50%) rotate(57deg);
    filter: blur(45.12000274658203px);
    top: -3%;
    left: 50%;
  }

  /* s5 — 2つ目のタイトル（EXECUTIVE advisor） */
  .cfo-s5__ttl-blur--2 {
    width: 266.606px;
    width: 16.662875rem;
    height: 166.795px;
    height: 10.4246875rem;
    border-radius: 266.606px;
    border-radius: 16.662875rem;
    opacity: 0.2;
    background: #36b2c5;
    mix-blend-mode: color-dodge;
    transform: translate(-50%, -50%) rotate(57deg);
    filter: blur(45.12000274658203px);
    top: -26%;
    left: 50%;
  }

  /* s9 — セクション内の2箇所 */
  .cfo-s9__blur--1 {
    width: 443.499px;
    width: 27.7186875rem;
    height: 225.823px;
    height: 14.1139375rem;
    border-radius: 443.499px;
    border-radius: 27.7186875rem;
    opacity: 0.5;
    background: #8e9d9f;
    mix-blend-mode: color-dodge;
    filter: blur(77.5999984741211px);
    top: -23px;
    top: -1.4375rem;
    left: 47%;
    transform: translateX(-50%) rotate(31deg);
  }
  .cfo-s9__blur--2 {
    width: 720.757px;
    width: 45.0473125rem;
    height: 419.515px;
    height: 26.2196875rem;
    border-radius: 720.757px;
    border-radius: 45.0473125rem;
    opacity: 0.4;
    background: #8e9d9f;
    mix-blend-mode: color-dodge;
    filter: blur(132.0800018310547px);
    right: 28%;
    top: 19%;
    transform: rotate(23deg);
  }

  /* s10 — セクション中央に縦長 */
  .cfo-s10__blur {
    width: 556.269px;
    width: 34.7668125rem;
    height: 493.99px;
    height: 30.874375rem;
    border-radius: 556.269px;
    border-radius: 34.7668125rem;
    opacity: 0.2;
    background: #36b2c5;
    mix-blend-mode: color-dodge;
    filter: blur(117px);
    top: 20.5rem;
  }

  /* PC のみ blur 表示（基本スタイル） */
  .cfo-s10__side-blur {
    display: block;
    width: 556.269px;
    width: 34.7668125rem;
    height: 493.99px;
    height: 30.874375rem;
    border-radius: 556.269px;
    border-radius: 34.7668125rem;
    opacity: 0.2;
    background: #36b2c5;
    mix-blend-mode: color-dodge;
    filter: blur(117px);
  }
  /* 左 — 半分はみ出し（位置調整はここで） */
  .cfo-s10__side-blur--left {
    top: 17.9375rem;
    left: 0;
    transform: translate(-50%, -50%);
  }
  /* 右 — 半分はみ出し（位置調整はここで） */
  .cfo-s10__side-blur--right {
    top: 33.875rem;
    right: 0;
    transform: translate(50%, -50%);
  }
}

/* ===== cfo-s5 カードクリック → ポップアップ ===== */
.cfo-s5__special-item,
.cfo-s5__exec-item {
  cursor: pointer;
  outline: none;
}
.cfo-s5__special-item:focus-visible,
.cfo-s5__exec-item:focus-visible {
  box-shadow: 0 0 0 2px #c9a96e;
  box-shadow: 0 0 0 0.125rem #c9a96e;
}

/* スクロール固定（位置をずらさない方式） */
html.cfo-modal-open,
body.cfo-modal-open {
  overflow: hidden;
}

/* ----- SP first ベース ----- */
.cfo-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 60px 16px 24px;
  padding: 3.75rem 1rem 1.5rem;
  box-sizing: border-box;
  overflow: hidden;
}
.cfo-modal.is-open {
  display: flex;
}

/* インナーをラップする箱（×ボタンの基準＆高さ制御） */
.cfo-modal__box {
  position: relative;
  max-height: 100%;
  margin: auto;
  display: flex;
  flex-direction: column;
}

.cfo-modal__close {
  position: absolute;
  top: -40px;
  top: -2.5rem;
  right: 0;
  width: 32px;
  width: 2rem;
  height: 32px;
  height: 2rem;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 1;
}
.cfo-modal__close img {
  display: block;
  width: 100%;
  height: 100%;
}
.cfo-modal__close:hover {
  opacity: 0.7;
}

.cfo-modal__inner {
  position: relative;
  width: 100%;
  max-height: 100%;
  padding: 18px 20px 31px;
  padding: 1.125rem 1.25rem 1.9375rem;
  border-radius: 2px;
  border-radius: 0.125rem;
  box-sizing: border-box;
  text-align: center;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.cfo-modal--dark .cfo-modal__inner {
  background:
    url("../img/specal-modal-bg.webp") center/cover no-repeat,
    #1a1a1a;
  color: #fff;
  border: 1px solid rgba(158, 147, 118, 0.2);
  border: 0.0625rem solid rgba(158, 147, 118, 0.2);
  border-radius: 0;
}
.cfo-modal--light .cfo-modal__inner {
  background: #fff;
  color: #1a1a1a;
}

.cfo-modal__title {
  line-height: 1;
  width: 90.3%;
  margin-inline: auto;
}
.cfo-modal__title img {
}
/* SPECIAL は画像タイトルのみ（EXEC は従来文字スタイルを継承） */
.cfo-modal--light .cfo-modal__title {
  width: 102%;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

.cfo-modal__photo {
  margin: -48px auto 5px;
  margin: -3rem auto 0.3125rem;
  width: 103%;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.cfo-modal__photo img {
  display: block;
  width: 100%;
  height: auto;
}

.cfo-modal__role {
  color: #d9d9d9;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 14.3px;
  font-size: 0.89375rem;
  font-style: normal;
  font-weight: 400;
  line-height: 130%; /* 18.59px */
  letter-spacing: 2.145px;
  letter-spacing: 0.1340625rem;
  margin-bottom: 1px;
  margin-bottom: 0.0625rem;
  width: fit-content;
  margin-inline: auto;
}

.cfo-modal__role--special {
  padding-bottom: 7px;
  padding-bottom: 0.4375rem;
}

.cfo-modal__role--special::after {
  content: "";
  display: block;
  width: 30%;
  height: 1px;
  height: 0.0625rem;
  background-color: #d9d9d9;
  margin: 7px auto 0;
  margin: 0.6375rem auto 0;
}

.cfo-modal__advisor-title {
  color: #d9d9d9;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 14.3px;
  font-size: 0.89375rem;
  font-style: normal;
  font-weight: 400;
  line-height: 130%;
  letter-spacing: 2.145px;
  letter-spacing: 0.1340625rem;
  margin-bottom: 1px;
  margin-bottom: 0.0625rem;
}

.cfo-modal__name {
  margin-bottom: 16px;
  margin-bottom: 1rem;
  color: #d9d9d9;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 18.2px;
  font-size: 1.1375rem;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 27.3px */
  letter-spacing: 3.64px;
  letter-spacing: 0.2275rem;
}

.cfo-modal__bio {
  text-align: left;
  margin: 0 0 29px;
  margin: 0 0 1.8125rem;
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 22.4px */
  letter-spacing: 1.4px;
  letter-spacing: 0.0875rem;
  padding-inline: 19px;
  padding-inline: 1.1875rem;
  opacity: 0.8;
}

.cfo-modal--light .cfo-modal__photo {
  max-width: 100%;
}

.cfo-modal--light .cfo-modal__role,
.cfo-modal--light .cfo-modal__name {
  color: #000;
}

.cfo-modal--light .cfo-modal__bio {
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 22.4px */
  letter-spacing: 1.4px;
  letter-spacing: 0.0875rem;
  opacity: 0.8;
}

.cfo-modal__close-text {
  display: inline-block;
  background: transparent;
  border: none;
  cursor: pointer;
  color: #9e9376;
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-size: 0.9375rem;
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 24px */
  letter-spacing: 1.5px;
  letter-spacing: 0.09375rem;
}

.cfo-modal--light .cfo-modal__close-text {
}
.cfo-modal__close-text:hover {
  opacity: 0.7;
}

/* ----- PC（min-width: 768px）上書き ----- */
@media (min-width: 768px) {
  .cfo-modal {
    padding: 60px 20px 40px;
    padding: 3.75rem 1.25rem 2.5rem;
  }

  .cfo-modal--dark .cfo-modal__inner {
    background:
      url(../img/specal-modal-bg-pc.png) center/cover no-repeat,
      #1a1a1a;
  }
  .cfo-modal__close {
    top: -48px;
    top: -3rem;
    right: 0;
    width: 36px;
    width: 2.25rem;
    height: 36px;
    height: 2.25rem;
  }
  .cfo-modal__inner {
    padding: 40px 28px 32px;
    padding: 2.5rem 1.75rem 2rem;
    max-width: 717px;
  }
  .cfo-modal__title {
    margin-bottom: 24px;
    margin-bottom: 1.5rem;
    width: 50%;
  }
  .cfo-modal__title img {
  }
  .cfo-modal--light .cfo-modal__title {
    font-size: 38px;
    font-size: 2.375rem;
  }
  .cfo-modal__photo {
    width: 73%;
    left: auto;
    transform: translate(0);
    margin-top: -112px;
    margin-top: -7rem;
  }
  .cfo-modal__name {
    font-size: 20px;
    font-size: 1.25rem;
  }

  .cfo-modal__bio {
    font-size: 17.2px !important;
    font-size: 1.075rem !important;
    padding-inline: 54.2px;
    padding-inline: 3.3875rem;
  }
}

/* ===== タブレット域: 2列 + 1列に折り返し ===== */
@media (min-width: 768px) and (max-width: 1090px) {
  .cfo-s1__list {
    flex-wrap: wrap;
    justify-content: center;
    width: 78%;
    max-width: 670px;
  }
  .cfo-s1__item {
    flex: 0 0 calc(50% - 23px); /* gap 46px の半分 */
  }
  .cfo-s1__item-02,
  .cfo-s1__item-03 {
    margin-top: 0;
  }

  .cfo-s1::after {
    left: 76%;
  }
}

@media (min-width: 768px) and (max-width: 1240px) {
  .cfo-s3__strengths {
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
    gap: 2.5rem;
    width: 90%;
    max-width: 1000px;
  }
  .cfo-s3__strength {
    flex: 0 0 calc(50% - 20px); /* gap 40px の半分 */
    margin-top: 0;
  }
  .cfo-s3__strength-02 {
  }
  .cfo-s3__strength-03 {
    margin-top: 20px;
    margin-top: 1.25rem;
    flex: 0 0 calc(52% - 20px);
  }
}

/* ===== 追従ボタン ===== */
.cfo-fix-btn {
  position: fixed;
  z-index: 100;
  transition: opacity 0.3s ease;
  pointer-events: none;
  opacity: 0;
}

.cfo-fix-btn.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.cfo-fix-btn__link {
  display: block;
  line-height: 0;
}

.cfo-fix-btn__img {
  display: block;
  width: 100%;
  height: auto;
}

/* SP: 画面下中央、bottom:1% */
@media (max-width: 767px) {
  .cfo-fix-btn {
    left: 49%;
    bottom: 1%;
    transform: translateX(-50%);
    width: 22.45625rem;
  }
}

/* PC: 右下固定 */
@media (min-width: 768px) {
  .cfo-fix-btn {
    right: 0.9375rem;
    bottom: 0.9375rem;
    width: 240px;
  }
}
