@charset "UTF-8";
/*
 * iro code. リセットCSS 2025（本番用・コメント軽量版）
 */
/* ボックスモデル */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* マージンリセット */
body, h1, h2, h3, h4, h5, h6, p, ul, ol, figure, blockquote, dl, dd {
  margin: 0;
  padding: 0;
}

/* HTML基本設定 */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* body基本設定 */
body {
  min-height: 100vh;
  min-height: 100dvh;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

/* リスト */
ul, ol {
  list-style: none;
}

/* 画像・メディア */
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

/* 見出し */
h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

/* 段落 */
p {
  overflow-wrap: break-word;
}

/* リンク */
a {
  text-decoration: none;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* フォーム */
input, button, textarea, select {
  font: inherit;
  color: inherit;
}

textarea {
  resize: vertical;
}

input[type=submit],
input[type=button],
label, button, select {
  cursor: pointer;
}

/* アクセシビリティ配慮 */
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
    interpolate-size: allow-keywords;
  }
}
/* 数値計算関連の関数を使うために必要 (math.divなど)*/
body {
  font-family: "Noto Sans CJK JP", "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #000000;
  overflow-x: hidden;
}

/* PCとSPの表示非表示の切り替え */
/*(md)px以上で表示*/
@media not all and (min-width: 768px) {
  .pc-only {
    display: none;
  }
}

/*モバイルのみ表示*/
@media screen and (min-width: 768px) {
  .sp-only {
    display: none;
  }
}

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

body {
  font-family: "Noto Sans JP", "Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
  color: #000000;
}

.abiz-support {
  position: relative;
  background-color: #e9f4f4;
  padding-block: 3.75rem;
  overflow: hidden;
  z-index: 2;
  margin-top: -0.125rem;
}
@media screen and (min-width: 768px) {
  .abiz-support {
    padding-block: 5rem;
  }
}

.abiz-support__bg {
  position: absolute;
  top: 6%;
  right: -5%;
  pointer-events: none;
  background: url("../images/about__treat.webp") no-repeat center center/contain;
  aspect-ratio: 654/568;
  width: min(40.875rem, 50vw);
  height: auto;
}
@media not all and (min-width: 768px) {
  .abiz-support__bg {
    transform: translateX(50%);
    width: 13.75rem;
    height: 11.875rem;
    top: 5%;
    right: 15%;
  }
}

.abiz-support__inner {
  position: relative;
  z-index: 1;
}

.abiz-support__heading-wrap {
  text-align: center;
  margin-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .abiz-support__heading-wrap {
    margin-bottom: 2.5rem;
  }
}

.abiz-support__title {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 0.75rem;
}
@media screen and (min-width: 768px) {
  .abiz-support__title {
    font-size: 2.375rem;
    margin-bottom: 1rem;
  }
}

.abiz-support__lead {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .abiz-support__lead {
    font-size: 2rem;
  }
}

.abiz-support__highlight {
  padding-inline: 0.25em;
  padding-block: 0.1em;
}
.abiz-support__highlight--yellow {
  background-color: #FFC803;
}
.abiz-support__highlight--teal {
  background-color: #2AC0BE;
  color: #fff;
  font-weight: 700;
}

.abiz-support__card {
  border-radius: 0.625rem;
  padding: 1.875rem 1.875rem 18.5rem;
  position: relative;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .abiz-support__card {
    padding: 2rem 2.625rem;
    padding-inline-end: 23rem;
  }
}
.abiz-support__card::before {
  content: "";
  position: absolute;
  background: url("../images/about__illust.webp") no-repeat center center/contain;
  aspect-ratio: 302/336;
  width: 18.875rem;
  height: 21rem;
  top: 68%;
  right: 8%;
  transform: translateY(-50%);
  pointer-events: none;
}
@media not all and (min-width: 768px) {
  .abiz-support__card::before {
    width: 14.375rem;
    height: 16.25rem;
    position: absolute;
    left: 50%;
    top: 45%;
    transform: translateX(-50%);
  }
}

.abiz-support__card-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #12889a;
  margin-bottom: 0.6875rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.abiz-support__card-title::after {
  content: "";
  flex: 0 0 3.5rem;
  height: 2px;
  background-color: #12889a;
}
@media screen and (min-width: 768px) {
  .abiz-support__card-title {
    font-size: 2rem;
    margin-bottom: 0.6875rem;
    gap: 1rem;
  }
  .abiz-support__card-title::after {
    flex: 0 0 5.6875rem;
  }
}

.abiz-support__card-text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .abiz-support__card-text {
    font-size: 1.5rem;
  }
}

.button {
  padding-block: 0.625rem;
  padding-inline: 1.4375rem;
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  background-color: #2AC0BE;
  border: 1px solid transparent;
  border-radius: 2.5rem;
  text-align: center;
  transition: color 0.3s, background-color 0.3s, border-color 0.3s;
  white-space: nowrap;
  max-width: 10.875rem;
}
@media (any-hover: hover) {
  .button:hover {
    color: #2AC0BE;
    background-color: #fff;
    border-color: #2AC0BE;
  }
  .button:hover .button__badge {
    border: 1px solid #2AC0BE;
  }
}

.button--large {
  display: flex;
  font-size: 1.5rem;
  border-radius: 3.75rem;
  max-width: 20rem;
  justify-content: center;
  gap: 2rem;
  align-items: center;
  padding-block: 0.625rem;
  padding-inline: 1.4375rem;
  box-shadow: 0px 9px 24px 0px rgba(42, 192, 190, 0.3000000119);
}
@media screen and (min-width: 768px) {
  .button--large {
    max-width: 19.625rem;
    font-size: 1.5rem;
    padding-block: 0.875rem;
    padding-inline: 2.625rem;
  }
}

.button--white {
  background-color: #fff;
  color: #2AC0BE;
  box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.08);
}
@media (any-hover: hover) {
  .button--white:hover {
    color: #fff;
    background-color: #2AC0BE;
  }
  .button--white:hover .button__badge {
    color: #2AC0BE;
    background-color: #fff;
    border: 1px solid #2AC0BE;
  }
}

.button--white .button__badge {
  color: #fff;
  background-color: #2ad0ce;
  border: 1px solid transparent;
  width: 2.75rem;
  height: 2.75rem;
  font-size: 0.875rem;
  display: grid;
  place-content: center;
}

.button__badge {
  font-size: 0.75rem;
  font-weight: 700;
  color: #2AC0BE;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 3.125rem;
  padding: 0.625rem 0.4375rem;
}
@media screen and (min-width: 768px) {
  .button__badge {
    font-size: 1rem;
    padding: 0.8125rem 0.5625rem;
  }
}

.career {
  padding-block: 6rem 3.75rem;
  background-image: url("../images/content02SP.webp");
  background-size: contain;
  background-position: bottom;
  background-repeat: no-repeat;
  position: relative;
}
@media screen and (min-width: 768px) {
  .career {
    padding-block: 6.75rem 2.625rem;
    background-image: url("../images/content02.webp");
  }
}

.career::before {
  content: "";
  position: absolute;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
  background-image: url("../images/arrow__yellow.webp");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 18rem;
  height: 6rem;
}
@media screen and (min-width: 768px) {
  .career::before {
    top: -2%;
  }
}

.career__growth {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .career__growth {
    flex-direction: row;
    align-items: flex-start;
    gap: 0.25rem;
  }
}

.career__growth-content {
  flex: 1;
}

.career__growth-text {
  font-size: clamp(1.125rem, 0.82rem + 1.31vw, 2rem);
  font-weight: 700;
  line-height: 1.6;
}

.career__growth-text--yellow {
  background-color: #ffc803;
}

.career__img {
  width: 14.375rem;
  margin-left: auto;
}
.career__img img {
  width: 100%;
  aspect-ratio: 395/290;
  height: auto;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .career__img {
    width: 24.6875rem;
    margin-left: 9rem;
  }
}

.career__graph-wrap {
  flex: 1;
  min-width: 0;
}

.career__graph-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #efa400;
}
@media screen and (min-width: 768px) {
  .career__graph-title {
    font-size: 1.875rem;
  }
}

.career__graph-caption {
  font-size: 0.75rem;
  margin-bottom: 0.75rem;
  opacity: 0.9;
}

.career__graph {
  margin: 0;
}
.career__graph img {
  width: 100%;
  height: auto;
  display: block;
}

.career__results-highlights {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .career__results-highlights {
    flex-direction: row;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
    margin-top: -2%;
  }
}

.career__highlight {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  border-radius: 0.625rem;
  min-height: 6.25rem;
}
@media screen and (min-width: 768px) {
  .career__highlight {
    padding: 1.5rem 1.75rem;
    gap: 1.25rem;
    min-height: 7.5rem;
  }
}

.career__highlight-icon {
  flex-shrink: 0;
  width: 3.5rem;
  height: 3.5rem;
  background-color: rgba(150, 160, 170, 0.25);
  border-radius: 0.5rem;
}
@media screen and (min-width: 768px) {
  .career__highlight-icon {
    width: 4rem;
    height: 4rem;
  }
}

.career__highlight-text {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .career__highlight-text {
    font-size: 1.125rem;
  }
}

.career__answer {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .career__answer {
    margin-top: 2.3125rem;
  }
}

.career__answer-title {
  font-size: clamp(1.25rem, 0.99rem + 1.13vw, 2rem);
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}

.challenge {
  margin-top: 1.875rem;
  position: relative;
}
@media screen and (min-width: 1200px) {
  .challenge {
    padding-bottom: 3.75rem;
    margin-top: 5rem;
  }
}

@media screen and (min-width: 768px) {
  .challenge::before {
    content: "";
    position: absolute;
    background-image: url("../images/intro__treat.webp");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom;
    z-index: -1;
    top: -24%;
    right: 0;
    width: 24.125rem;
    height: 20.625rem;
  }
}

.challenge__inner {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
@media screen and (min-width: 768px) {
  .challenge__inner {
    padding-left: 1.25rem;
    padding-right: 0;
  }
}

.challenge__heading-wrap {
  padding-top: 1.875rem;
  text-align: center;
  background-color: #e9f4f4;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .challenge__heading-wrap {
    padding: 2.5rem 2.5rem 3.75rem;
  }
}

.challenge__heading {
  font-size: 1.375rem;
  font-weight: 700;
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .challenge__heading {
    font-size: 1.875rem;
    margin-bottom: 2.5rem;
  }
}

.challenge__cards {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  position: relative;
  align-items: center;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .challenge__cards {
    flex-direction: row;
    justify-content: center;
    gap: 1.75rem;
  }
}

.challenge__card {
  display: flex;
  flex-direction: column;
  border-radius: 0.625rem;
  box-shadow: 0px 9px 24px 0px rgba(42, 192, 190, 0.3000000119);
  overflow: hidden;
  gap: 1.25rem;
  padding: 1.25rem;
  background-color: #fff;
  width: 82%;
}
@media screen and (min-width: 1200px) {
  .challenge__card {
    padding: 1.875rem 3.75rem;
    flex: 1;
    max-width: 35.375rem;
    flex-direction: row;
    width: 100%;
  }
}

.challenge__card-body {
  flex: 1;
}
@media screen and (min-width: 768px) {
  .challenge__card-body {
    min-width: 0;
  }
}

.challenge__card-header {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 0.625rem;
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 1200px) {
  .challenge__card-header {
    flex-direction: row;
    justify-content: flex-start;
    align-items: baseline;
    gap: 1.125rem;
    margin-bottom: 1.875rem;
  }
}

.challenge__card-label {
  font-size: 1rem;
  font-weight: 700;
  color: #2AC0BE;
}

.challenge__card-label-number {
  font-family: "Oswald", sans-serif;
  font-size: 1.375rem;
}
@media screen and (min-width: 768px) {
  .challenge__card-label-number {
    font-size: 1.75rem;
  }
}

.challenge__card-title {
  font-size: 1.25rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .challenge__card-title {
    font-size: 1.625rem;
  }
}

.challenge__card-list {
  list-style: none;
  padding-block: 0;
  padding-inline: 0;
  margin-block: 0;
  margin-inline: 0;
}

.challenge__card-item {
  position: relative;
  padding-inline-start: 1.375rem;
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  text-align: left;
}
.challenge__card-item:last-child {
  margin-bottom: 0;
}
.challenge__card-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5rem;
  width: 1rem;
  height: 1rem;
  background-image: url("../images/arrow.svg");
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .challenge__card-item {
    font-size: 0.9375rem;
    margin-bottom: 0.875rem;
    top: -0.875rem;
  }
}

.challenge__card-figure {
  margin-inline: auto;
  width: 10.25rem;
}
@media screen and (min-width: 768px) {
  .challenge__card-figure {
    margin-top: auto;
  }
}

.challenge__card-figure img {
  aspect-ratio: 164/170;
  width: 100%;
  object-fit: cover;
  display: block;
}

.challenge__arrow-wrap {
  margin-top: -23%;
  max-width: 62.5rem;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 550px) {
  .challenge__arrow-wrap {
    margin-top: -2.1875rem;
  }
}

.challenge__arrow-wrap::before {
  content: "";
  position: absolute;
  position: absolute;
  position: absolute;
  bottom: -43px;
  left: 50%;
  transform: translateX(-50%);
  background-image: url("../images/challenge__conclusion-arrow.webp");
  background-repeat: no-repeat;
  background-size: contain;
  width: 9rem;
  height: 2.6875rem;
}
@media screen and (min-width: 768px) {
  .challenge__arrow-wrap::before {
    width: 18rem;
    height: 5.375rem;
    bottom: -86px;
  }
}

.challenge__arrow-text {
  background-color: #006977;
  border-radius: 0.75rem;
  padding: 6.25rem 1.875rem 1.25rem;
  font-size: 1.125rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .challenge__arrow-text {
    padding-block: 2.8125rem 1.5625rem;
    font-size: 1.375rem;
  }
}

.challenge__conclusion {
  margin-top: 3.9375rem;
}
@media screen and (min-width: 768px) {
  .challenge__conclusion {
    margin-top: 5.25rem;
  }
}

.challenge__conclusion-result {
  text-align: center;
  font-size: clamp(1.125rem, 0.82rem + 1.31vw, 2rem);
  font-weight: 700;
  line-height: 1.6;
}

.challenge__conclusion-result span {
  background-color: #ffd83a;
}

.cta {
  padding-block: 1.875rem;
  background-color: #e9f4f4;
}
@media screen and (min-width: 768px) {
  .cta {
    padding-block: 2.5rem;
  }
}

.cta__wrapper {
  background-image: url("../images/cta-btnSP.webp");
  background-size: cover;
  background-position: right;
  background-repeat: no-repeat;
  border-radius: 0.625rem;
  padding: 1.875rem;
  max-width: 37.5rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .cta__wrapper {
    margin-inline: auto;
    max-width: 50rem;
    width: 63%;
    padding: 2.5rem 3.1875rem;
    background-image: url("../images/cta-btn.webp");
  }
}

.cta__content {
  display: grid;
  gap: 1.125rem;
  justify-content: center;
  grid-template-areas: "heading" "text" "image" "btn";
}
@media screen and (min-width: 1200px) {
  .cta__content {
    gap: 1.25rem;
    grid-template-areas: "heading image" "text image" "btn image";
    grid-template-columns: 1fr auto;
    align-items: start;
  }
}

.cta__heading {
  grid-area: heading;
  font-size: 1.125rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.6;
  text-shadow: 0px 4px 15px #006977;
}
@media screen and (min-width: 768px) {
  .cta__heading {
    font-size: 1.5rem;
    margin-bottom: initial;
  }
}

.cta__text {
  grid-area: text;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .cta__text {
    font-size: 1.125rem;
  }
}

.cta__button-wrap {
  grid-area: btn;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  max-width: none;
  background-color: #fff;
  color: #0d5c5a;
}
@media (any-hover: hover) {
  .cta__btn:hover {
    opacity: 0.9;
    border-color: #fff;
  }
}

.cta__figure {
  grid-area: image;
  margin: 0;
  flex-shrink: 0;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 1200px) {
  .cta__figure {
    max-width: 21.875rem;
  }
}

.cta__figure img {
  width: 100%;
  max-width: 20rem;
  height: auto;
  display: block;
  margin-inline: auto;
  object-fit: contain;
}

.curve {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 5;
}
.curve__svg {
  height: auto;
  display: block;
  vertical-align: top;
}
.curve--challenge.curve {
  position: relative;
  margin-top: -1rem;
}
@media screen and (min-width: 1200px) {
  .curve--challenge.curve {
    margin-top: -9rem;
  }
}

body.is-drawer-open {
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.drawer {
  position: fixed;
  z-index: 9998;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background: #e9f4f4;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform 0.3s ease;
}
.drawer.is-active {
  transform: translateX(0);
}
@media screen and (min-width: 1200px) {
  .drawer {
    display: none;
  }
}

.drawer__body {
  width: 100%;
  height: 100%;
  padding: 5rem 1.25rem 2.5rem;
  display: flex;
  flex-direction: column;
}

.drawer__list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-top: 2.5rem;
}

.drawer__list a {
  font-size: 1.125rem;
  font-weight: 700;
  color: #000000;
  display: block;
}

.drawer__btn {
  margin-top: 2.5rem;
}

.footer__inner.inner {
  max-width: 79.375rem;
  margin-inline: auto;
}

.footer__nav {
  padding-block: 2.5rem 1.875rem;
  border-bottom: 1px solid #e8e8e8;
}
@media screen and (min-width: 768px) {
  .footer__nav {
    padding-block: 3.75rem;
  }
}

@media screen and (min-width: 1200px) {
  .footer__nav-inner {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1.3125rem;
  }
}

.footer__nav-logo {
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 1200px) {
  .footer__nav-logo {
    margin-bottom: 0;
    margin-right: auto;
  }
}

.footer__logo-link {
  display: inline-block;
}

.footer__logo-img {
  display: block;
  width: 18.625rem;
  height: auto;
}
@media screen and (min-width: 768px) {
  .footer__logo-img {
    width: 18.8125rem;
  }
}

.footer__tagline {
  font-size: 0.8125rem;
  font-weight: 400;
  margin-top: 0.5rem;
}

.footer__nav-menu {
  margin-bottom: 1.5rem;
  justify-content: flex-start;
}
@media screen and (min-width: 1200px) {
  .footer__nav-menu {
    margin-bottom: 0;
    display: flex;
    justify-content: flex-end;
  }
}

.footer__nav-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  margin: 0;
  padding-left: 0;
  list-style: none;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .footer__nav-list {
    flex-wrap: nowrap;
    gap: 0;
    justify-content: center;
  }
}

.footer__nav-item {
  font-size: 0.875rem;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .footer__nav-item {
    font-size: 1rem;
  }
}
.footer__nav-item a {
  transition: opacity 0.3s ease;
  color: #000000;
}
@media (any-hover: hover) {
  .footer__nav-item a:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 768px) {
  .footer__nav-item + .footer__nav-item {
    padding-left: 1.5rem;
  }
}

@media screen and (min-width: 768px) {
  .footer__nav-cta {
    flex-shrink: 0;
  }
}

.footer__btn.button {
  display: block;
  width: 100%;
  max-width: none;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .footer__btn.button {
    width: auto;
    max-width: 10.875rem;
  }
}

.footer__nav-copyright-wrap {
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .footer__nav-copyright-wrap {
    margin-top: -0.5rem;
  }
}

.footer__nav-copyright {
  font-size: 0.75rem;
  font-weight: 700;
  color: #2ac0be;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer__nav-copyright {
    text-align: right;
  }
}

.footer__main {
  background-color: #e9f4f4;
  padding-block: 1.875rem;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .footer__main {
    padding-block: 4rem 3.5rem;
  }
}

.footer__grid {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .footer__grid {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    grid-template-rows: auto auto;
    align-items: start;
    gap: 2.5rem 1.1875rem;
  }
}
@media screen and (min-width: 1200px) {
  .footer__grid {
    grid-template-columns: minmax(12.5rem, 1fr) minmax(11.25rem, 0.9fr) minmax(11.25rem, 0.9fr) minmax(16.25rem, 1fr);
    grid-template-rows: auto;
  }
}

@media screen and (min-width: 768px) {
  .footer__company {
    grid-column: 1;
    grid-row: 1;
  }
}
@media screen and (min-width: 1200px) {
  .footer__company {
    grid-column: 1;
  }
}

.footer__company-list {
  margin: 0;
  display: grid;
  gap: 0.5625rem 0.625rem;
}

.footer__company-item {
  display: grid;
  grid-template-columns: 4.5rem 1fr;
  gap: 0.5rem 0.625rem;
  align-items: start;
}

.footer__company-term {
  font-size: 0.75rem;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .footer__company-term {
    font-size: 0.875rem;
  }
}

.footer__company-desc {
  font-size: 0.75rem;
  font-weight: 400;
  color: #000000;
  line-height: 1.6;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .footer__company-desc {
    font-size: 0.8125rem;
  }
}

.footer__link {
  color: #000000;
  transition: opacity 0.3s ease;
}
@media (any-hover: hover) {
  .footer__link:hover {
    opacity: 0.7;
  }
}

@media screen and (min-width: 768px) {
  .footer__block {
    grid-row: 1;
  }
}
@media screen and (min-width: 1200px) {
  .footer__block {
    grid-column: span 1;
  }
}

@media screen and (min-width: 768px) {
  .footer__block:nth-of-type(2) {
    grid-column: 2;
  }
}
@media screen and (min-width: 1200px) {
  .footer__block:nth-of-type(2) {
    grid-column: 2;
  }
}

@media screen and (min-width: 768px) {
  .footer__block:nth-of-type(3) {
    grid-column: 3;
    padding-top: 1.625rem;
  }
}
@media screen and (min-width: 1200px) {
  .footer__block:nth-of-type(3) {
    grid-column: 3;
  }
}

.footer__block-title {
  font-size: 0.875rem;
  margin-top: 0;
  padding-bottom: 0.3125rem;
  font-weight: 400;
}

.footer__block-list {
  position: relative;
  padding-left: 0.25rem;
  list-style: none;
}
.footer__block-list::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .footer__block-list::before {
    bottom: 52px;
  }
}
.footer__block-list::before {
  width: 1px;
  background-color: #006977;
}

@media not all and (min-width: 768px) {
  .footer__block:nth-of-type(2) .footer__block-list::before {
    bottom: calc(-1 * 2rem);
  }
}

@media not all and (min-width: 768px) {
  .footer__block:nth-of-type(3) .footer__block-list::before {
    top: -32px;
    bottom: 48px;
  }
}

.footer__block-item {
  position: relative;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.65;
  padding-left: 0.625rem;
  margin-top: 0.625rem;
}
.footer__block-item:first-child {
  margin-top: 0;
}
.footer__block-item::before {
  content: "";
  position: absolute;
  left: -0.1875rem;
  top: 0.6875rem;
  width: 0.4375rem;
  height: 1px;
  background-color: #006977;
}
@media screen and (min-width: 768px) {
  .footer__block-item {
    font-size: 0.8125rem;
  }
}

.footer__cert {
  width: 20.5rem;
}
@media screen and (min-width: 768px) {
  .footer__cert {
    width: 18.6875rem;
    margin-left: auto;
  }
}

.footer__cert img {
  aspect-ratio: 328/233;
  object-fit: contain;
  height: auto;
}

.footer__bottom {
  padding-block: 1.25rem;
  background-color: #333333;
}
@media screen and (min-width: 768px) {
  .footer__bottom {
    padding-block: 1.5rem;
  }
}

.footer__bottom-inner {
  max-width: 1330px;
  margin-inline: auto;
  padding-inline: 25px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .footer__bottom-inner {
    padding-inline: 25px;
    flex-direction: row;
    justify-content: space-between;
  }
}

.footer__links {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  padding-left: 0;
  list-style: none;
}
@media screen and (min-width: 768px) {
  .footer__links {
    gap: 1.5rem;
  }
}

.footer__links-item {
  font-size: 0.75rem;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .footer__links-item {
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 768px) {
  .footer__links-item {
    padding-left: 1.5rem;
  }
}

a {
  color: #fff;
  transition: opacity 0.3s ease;
}
@media (any-hover: hover) {
  a:hover {
    opacity: 0.7;
  }
}

.footer__copyright {
  font-size: 0.75rem;
  font-weight: 400;
  color: #fff;
  margin: 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer__copyright {
    font-size: 0.875rem;
    text-align: left;
  }
}

.fv {
  padding-top: 4.25rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .fv {
    padding-top: 8.125rem;
  }
}

.fv__inner {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
@media screen and (min-width: 768px) {
  .fv__inner {
    padding-left: 2.5rem;
    padding-right: 0;
  }
}

.fv__container {
  display: grid;
  gap: 0.8125rem;
  margin-left: auto;
  /* SP */
  grid-template-columns: 1fr;
  grid-template-areas: "logo" "image" "content";
}

/* PC */
@media screen and (min-width: 768px) {
  .fv__container {
    grid-template-columns: 1fr auto;
    align-items: center;
    max-width: 81.25rem;
    grid-template-areas: "logo image" "content image";
  }
}
/* ワイドPCのみ固定幅中央寄せ */
@media screen and (min-width: 1600px) {
  .fv__container {
    max-width: 90rem;
    margin-inline: auto;
  }
}
/* エリア指定 */
.fv__logo {
  grid-area: logo;
}

.fv__image {
  grid-area: image;
}

.fv__content {
  grid-area: content;
  display: grid;
  justify-items: center;
}
@media screen and (min-width: 768px) {
  .fv__content {
    justify-items: start;
  }
}

.fv__logo {
  width: clamp(14.9375rem, 30vw, 27.1875rem);
  margin-inline: auto;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .fv__logo {
    margin-left: initial;
  }
}

.fv__logo img {
  object-fit: contain;
  aspect-ratio: 435/143;
}

.fv__lead {
  font-size: 1.25rem;
  font-weight: 700;
  color: #000000;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .fv__lead {
    margin-top: 3.3125rem;
    font-size: 1.75rem;
  }
}

.fv__title {
  font-size: 1.75rem;
  font-weight: 700;
  color: #000000;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .fv__title {
    font-size: 2.375rem;
  }
}

.fv__title-em {
  color: #12889a;
  display: inline-block;
}

.fv__btn {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .fv__btn {
    margin-top: 2.9375rem;
  }
}

.fv__image {
  width: min(22.5rem, 100%);
  margin-left: auto;
  margin-right: calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
  .fv__image {
    width: 31.25rem;
    margin-right: 0;
    margin-left: initial;
    padding-left: 0;
  }
}
@media screen and (min-width: 1200px) {
  .fv__image {
    width: 50.125rem;
    padding-left: 2.6875rem;
  }
}

.fv__image img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 800/500;
}

.fv__introduction-container {
  margin-top: 3.75rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .fv__introduction-container {
    margin-top: 6.25rem;
  }
}

@media not all and (min-width: 768px) {
  .fv__introduction-container::before {
    content: "";
    position: absolute;
    top: -42%;
    right: 0;
    width: 8.625rem;
    height: 7.375rem;
    background-image: url("../images/intro__treat.webp");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom;
    z-index: -1;
  }
}

.fv__introduction-text {
  font-size: clamp(1.25rem, 0.86rem + 1.69vw, 2.375rem);
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  color: #000000;
}

.fv__introduction-text span {
  color: #12889A;
}

.greeting {
  padding-block: 3.75rem;
  background-color: #fff;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .greeting {
    padding-block: 6.25rem;
  }
}

.greeting__inner {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
@media screen and (min-width: 768px) {
  .greeting__inner {
    padding-right: 1.25rem;
    padding-left: 0;
  }
}

.greeting__container {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "title" "image" "text";
  max-width: 600px;
  row-gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .greeting__container {
    grid-template-columns: 54% 1fr;
    grid-template-areas: "image title" "image text";
    max-width: 83.125rem;
    column-gap: 0.625rem;
    row-gap: 1.5rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 1200px) {
  .greeting__container {
    column-gap: 5rem;
  }
}

.greeting__figure {
  grid-area: image;
  margin-left: calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
  .greeting__figure {
    margin-left: initial;
  }
}

.greeting__header {
  grid-area: title;
}

/* ワイドPCのみ固定幅中央寄せ */
@media screen and (min-width: 1441px) {
  .greeting__container {
    max-width: 90rem;
    margin-inline: auto;
  }
}
.greeting__figure img {
  aspect-ratio: 720/528;
  height: auto;
  object-fit: cover;
}

.greeting__body {
  grid-area: text;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .greeting__body::before {
    content: "";
    position: absolute;
    background-image: url("../images/intro__treat.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    aspect-ratio: 449/393;
    z-index: -1;
    right: -13%;
    top: -30%;
    width: 28.0625rem;
    height: 24.5625rem;
  }
}

.greeting__heading {
  font-size: clamp(20px, 17.772px + 0.571vw, 26px);
  font-weight: 700;
  color: #006977;
  line-height: 1.6;
  position: relative;
  z-index: 2;
}

.greeting__text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .greeting__text {
    font-size: 1rem;
  }
}

.greeting__signature {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  margin-top: 1.4375rem;
}
@media screen and (min-width: 768px) {
  .greeting__signature {
    font-size: 1.125rem;
  }
}

.hamburger {
  position: fixed;
  z-index: 9999;
  top: 1.125rem;
  right: 1.25rem;
  width: 1.75rem;
  height: 1.25rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
  background: transparent;
  border: none;
  padding: 0;
}
@media screen and (min-width: 1200px) {
  .hamburger {
    display: none;
  }
}

.hamburger__line {
  width: 100%;
  height: 0.1875rem;
  background: #2AC0BE;
  transition: all 0.3s ease;
  position: absolute;
  right: 0;
}

.hamburger__line:nth-child(1) {
  top: 0;
  width: 1.6875rem;
}

.hamburger__line:nth-child(2) {
  top: 0.5625rem;
  width: 1.6875rem;
}

.hamburger__line:nth-child(3) {
  top: 1.125rem;
  width: 1.6875rem;
}

.hamburger.is-active .hamburger__line:nth-child(1) {
  top: 0.5625rem;
  width: 1.5rem;
  transform: rotate(-45deg);
}

.hamburger.is-active .hamburger__line:nth-child(2) {
  opacity: 0;
}

.hamburger.is-active .hamburger__line:nth-child(3) {
  top: 0.5625rem;
  width: 1.5rem;
  transform: rotate(45deg);
}

.header {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  transition: background-color 0.3s ease;
}
@media screen and (min-width: 1200px) {
  .header {
    padding: 0;
    transition: background-color 0.3s ease, padding 0.3s ease;
  }
}
.header {
  background: transparent;
}
.header.header--scrolled, .header.js-drawer-open {
  background: #fff;
}
@media screen and (min-width: 1200px) {
  .header.header--scrolled, .header.js-drawer-open {
    padding: 1rem;
  }
}

.header__inner {
  align-items: center;
  display: grid;
  grid-template-columns: 202px 1fr;
  max-width: 1330px;
  margin-inline: auto;
  padding-top: 0.9375rem;
  transition: padding-top 0.3s ease;
}
@media screen and (min-width: 1200px) {
  .header__inner {
    grid-template-columns: 216px 1fr;
    padding-top: 3.3125rem;
  }
}

.header.header--scrolled .header__inner {
  padding-top: 0.9375rem;
}

.header__wrapper {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1.3125rem;
}

.header__logo {
  display: block;
  width: 12.625rem;
  z-index: 9999;
}
@media screen and (min-width: 768px) {
  .header__logo {
    width: 13.5rem;
  }
}

.header__logo img {
  width: 100%;
  height: auto;
  aspect-ratio: 216/35;
  object-fit: contain;
}

.header__nav {
  display: none;
}
@media screen and (min-width: 1200px) {
  .header__nav {
    display: block;
  }
}

.header__list {
  display: flex;
  align-items: center;
  gap: 1.3125rem;
}

.header__item a {
  font-size: 1rem;
  font-weight: 400;
  color: #000;
  transition: color 0.3s ease;
  white-space: nowrap;
}
@media (any-hover: hover) {
  .header__item a:hover {
    color: #999;
  }
}

@media not all and (min-width: 1200px) {
  .header__btn {
    display: none;
  }
}

#business,
#merit,
#case,
#voice,
#greeting,
#cta,
#company {
  scroll-margin-top: 4.375rem;
}
@media screen and (min-width: 1200px) {
  #business,
  #merit,
  #case,
  #voice,
  #greeting,
  #cta,
  #company {
    scroll-margin-top: 6.25rem;
  }
}

.hero {
  background-image: url(../images/fv__treatSP.webp);
  background-size: contain;
  background-position: top;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .hero {
    background-image: url(../images/fv__treat.webp);
  }
}
@media screen and (min-width: 1441px) {
  .hero {
    background-size: cover;
    background-position: bottom;
  }
}

.inner {
  max-width: 600px;
  margin-inline: auto;
  padding-inline: 25px;
}
@media screen and (min-width: 768px) {
  .inner {
    padding-inline: 25px;
    max-width: 1330px;
  }
}

.market {
  padding-block: 3.75rem 1.25rem;
  background-image: url("../images/real__bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .market {
    padding-block: 6.0625rem 3.75rem;
  }
}

.market__heading {
  font-size: 1.375rem;
  font-weight: 700;
  color: #006977;
  text-align: center;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .market__heading {
    font-size: 2rem;
    margin-bottom: 1.5rem;
  }
}

.market__lead {
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  margin-bottom: 2.5rem;
}
@media screen and (min-width: 768px) {
  .market__lead {
    font-size: 2rem;
  }
}

.market__cards {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .market__cards {
    flex-direction: row;
    gap: 1.5625rem;
  }
}

.market__card {
  background-color: #fff;
  border-radius: 0.625rem;
  box-shadow: 0px 9px 24px 0px rgba(42, 192, 190, 0.3000000119);
  padding: 1.875rem;
  flex: 1;
}
@media screen and (min-width: 768px) {
  .market__card {
    padding: 2.5rem;
  }
}

.market__card-title {
  font-size: clamp(18px, 12.8px + 1.333vw, 32px);
  font-weight: 700;
  color: #12889a;
  padding-bottom: 1.5625rem;
  margin-bottom: 1.5625rem;
  border-bottom: 2px solid #2ac0be;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .market__card-title {
    padding-bottom: 1.5625rem;
    margin-bottom: 1.5625rem;
  }
}

.market__card-text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .market__card-text {
    font-size: 1rem;
  }
}

.page-top {
  position: fixed;
  right: 1.25rem;
  bottom: 1.5rem;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
.page-top.is-visible {
  opacity: 1;
  visibility: visible;
}
@media screen and (min-width: 768px) {
  .page-top {
    right: 2.5rem;
    bottom: 2.5rem;
  }
}

.page-top__link {
  display: block;
  line-height: 0;
}
@media (any-hover: hover) {
  .page-top__link:hover {
    opacity: 0.8;
    transition: opacity 0.3s;
  }
}

.page-top__image {
  display: block;
  width: 3.5rem;
  height: auto;
  object-fit: contain;
}
@media screen and (min-width: 768px) {
  .page-top__image {
    width: 5rem;
  }
}

.process-bg {
  position: relative;
  margin-top: 1.25rem;
}
@media screen and (min-width: 1200px) {
  .process-bg {
    margin-top: 3.75rem;
  }
}

.process {
  padding-top: 3.125rem;
  background-image: url("../images/process-bgSP.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: relative;
  padding-bottom: 6.25rem;
  margin-top: -0.125rem;
}
@media screen and (min-width: 768px) {
  .process {
    background-image: url("../images/process-bg.webp");
    padding-bottom: 9.6875rem;
  }
}

.process__columns::before {
  content: "";
  position: absolute;
  top: calc(100% - 3rem);
  left: 50%;
  transform: translateX(-50%);
  width: 19.9375rem;
  height: 10.875rem;
  background-image: url("../images/capabilitiesSP.webp");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .process__columns::before {
    bottom: auto;
    width: 52.6875rem;
    height: 13.6875rem;
    background-image: url("../images/capabilities.webp");
    z-index: 3;
    top: calc(100% - 1.25rem);
  }
}

.process__heading {
  padding-bottom: 2.75rem;
}

.process__columns {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding-bottom: 6.25rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .process__columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.75rem;
    padding-bottom: 0;
  }
}

.process__panel {
  flex: 1;
  background-color: #e9faf7;
  border-radius: 0.625rem;
  padding: 1.875rem 2rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .process__panel {
    padding: 1.875rem 3.75rem 2.4375rem;
    z-index: 1;
    display: grid;
    grid-template-rows: auto 1fr auto;
  }
}

.process__panel-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.process__panel.process__panel:nth-child(1)::before {
  content: "01";
  position: absolute;
  color: #2ac0be;
  font-family: "Oswald", sans-serif;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 100%;
  opacity: 0.5;
  top: 2%;
  left: 2%;
}
@media screen and (min-width: 768px) {
  .process__panel.process__panel:nth-child(1)::before {
    font-size: 4.125rem;
  }
}

.process__panel.process__panel:last-child::after {
  content: "02";
  position: absolute;
  color: #2ac0be;
  font-family: "Oswald", sans-serif;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 100%;
  opacity: 0.5;
  top: 2%;
  left: 4%;
}
@media screen and (min-width: 768px) {
  .process__panel.process__panel:last-child::after {
    font-size: 4.125rem;
  }
}

.process__panel:nth-child(2) {
  position: relative;
}
.process__panel:nth-child(2)::before {
  content: "";
  position: absolute;
  position: absolute;
  bottom: -43px;
  left: 50%;
  transform: translateX(-50%);
  width: 9rem;
  height: 2.6875rem;
  background-image: url("../images/process__arrow.webp");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (min-width: 768px) {
  .process__panel:nth-child(2)::before {
    content: none;
    display: none;
  }
}
@media screen and (min-width: 1200px) {
  .process__panel:nth-child(2)::before {
    content: none;
    display: none;
  }
}

.process__panel-title {
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  padding-bottom: 1rem;
  border-bottom: 3px solid #2AC0BE;
}
@media screen and (min-width: 768px) {
  .process__panel-title {
    font-size: 1.5rem;
    padding-bottom: 1.375rem;
    min-height: 4.5em;
  }
}

.process__panel-list {
  list-style: none;
  padding-block: 0;
  padding-inline: 0;
  margin-top: 1.375rem;
  margin-inline: 0;
}

.process__panel-item {
  position: relative;
  padding-inline-start: 1.25rem;
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
}
.process__panel-item:last-child {
  margin-bottom: 0;
}
.process__panel-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.3125rem;
  width: 0.6875rem;
  height: 0.8125rem;
  background-image: url("../images/arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (min-width: 768px) {
  .process__panel-item {
    font-size: 1rem;
    margin-bottom: 0.875rem;
  }
}

.process__panel-note {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.7;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .process__panel-note {
    font-size: 0.9375rem;
    margin-top: 1.25rem;
  }
}

.process__skill {
  margin-top: 1.5rem;
  padding: 1.125rem;
  border: 2px solid #2ac0be;
  border-radius: 0.75rem;
}
@media screen and (min-width: 768px) {
  .process__skill {
    margin-top: 1.75rem;
    padding: 0.75rem 2rem;
    min-height: 7.875rem;
  }
}

.process__skill-title {
  font-size: 0.875rem;
  font-weight: 700;
  color: #12889a;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  .process__skill-title {
    font-size: 0.875rem;
  }
}

.process__skill-list {
  list-style: none;
  padding-block: 0;
  padding-inline: 0;
  margin-block: 0;
  margin-inline: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.process__skill-list--second {
  flex-direction: column;
}

.process__skill-item {
  position: relative;
  padding-inline-start: 1.125rem;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.6;
}
.process__skill-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5rem;
  width: 0.5625rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: #2ac0be;
}
@media screen and (min-width: 768px) {
  .process__skill-item {
    font-size: 1rem;
  }
}

.process__skill-sub {
  display: block;
  font-size: 0.75rem;
  padding-inline-start: 1.125rem;
  margin-top: 0.25rem;
}
@media screen and (min-width: 768px) {
  .process__skill-sub {
    font-size: 0.8125rem;
  }
}

.result-simulation {
  padding-block: 3.75rem 5rem;
  background-color: #f2f7f6;
}
@media screen and (min-width: 768px) {
  .result-simulation {
    padding-block: 5rem 6.25rem;
  }
}

.result-simulation__wrapper {
  max-width: 75rem;
  background-color: #fff;
  box-shadow: 0px 9px 24px 0px rgba(42, 192, 190, 0.3000000119);
  border-radius: 0.625rem;
  padding: 1.875rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .result-simulation__wrapper {
    padding: 3.75rem;
  }
}

.result-simulation__heading {
  margin-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .result-simulation__heading {
    margin-bottom: 3rem;
  }
}

.result-simulation__figure {
  margin: 0;
  overflow: hidden;
}
.result-simulation__figure img {
  width: 100%;
  height: auto;
  display: block;
}

.revenue-plan {
  padding-block: 3.75rem;
  background-image: url("../images/gd-top.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .revenue-plan {
    padding-block: 4.25rem 6.875rem;
  }
}

.revenue-plan__heading {
  margin-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .revenue-plan__heading {
    margin-bottom: 1rem;
  }
}

.revenue-plan__figure img {
  width: 100%;
  height: auto;
  display: block;
}

.section {
  padding-block: 3.75rem;
}
@media screen and (min-width: 768px) {
  .section {
    padding-block: 6.25rem;
  }
}

.section-title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .section-title {
    font-size: 2.375rem;
  }
}

.section-title--white {
  color: #fff;
}

.section-title--green {
  color: #006977;
}

.sub-title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  color: #000000;
}
@media screen and (min-width: 768px) {
  .sub-title {
    font-size: 1.875rem;
  }
}

.support {
  background-image: url("../images/support-bgSP.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .support {
    padding-block: 3.75rem 3rem;
    background-image: url("../images/support-bg.webp");
  }
}
@media screen and (min-width: 1441px) {
  .support {
    background-size: cover;
  }
}

.support__inner {
  max-width: 75.625rem;
  margin-inline: auto;
}

.support__heading {
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  color: #000000;
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .support__heading {
    font-size: 2.375rem;
    margin-bottom: 2.5rem;
    text-align: left;
  }
}

.support__cards {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 1200px) {
  .support__cards {
    flex-direction: row;
    gap: 1.5625rem;
  }
}

.support__card {
  flex: 1;
  background-color: #fff;
  border-radius: 0.625rem;
  padding: 1.875rem;
}
@media screen and (min-width: 768px) {
  .support__card {
    padding: 2.5rem;
  }
}

.support__card-title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 0.75rem;
}
@media screen and (min-width: 768px) {
  .support__card-title {
    font-size: 1.125rem;
    margin-bottom: 1rem;
    text-align: left;
  }
}

.support__card-title-accent {
  color: #efa400;
  font-size: 1.25rem;
}
@media screen and (min-width: 768px) {
  .support__card-title-accent {
    font-size: 1.625rem;
  }
}

.support__card-desc {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .support__card-desc {
    font-size: 1rem;
    margin-bottom: 1.125rem;
  }
}

.support__card-line {
  border: none;
  border-top: 2px solid #efa400;
  margin-block: 0 1rem;
  margin-inline: 0;
}
@media screen and (min-width: 768px) {
  .support__card-line {
    margin-bottom: 1.125rem;
  }
}

.support__card-list {
  list-style: none;
  padding-block: 0;
  padding-inline: 0;
  margin-block: 0;
  margin-inline: 0;
}

.support__card-item {
  position: relative;
  padding-inline-start: 1.125rem;
  margin-bottom: 0.625rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  padding-inline-start: 1.25rem;
  border-bottom: 1px dashed #ffc803;
  padding-bottom: 0.625rem;
}
.support__card-item:last-child {
  margin-bottom: 0;
  border-bottom: none;
}
.support__card-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5rem;
  width: 1.125rem;
  height: 1.125rem;
  background-image: url("../images/arrow-yellow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (min-width: 768px) {
  .support__card-item {
    font-size: 1rem;
    margin-bottom: 0.75rem;
    padding-inline-start: 1.625rem;
  }
}

.support__footer {
  margin-top: 0.8125rem;
}
@media screen and (min-width: 768px) {
  .support__footer {
    margin-top: 2.9375rem;
    position: relative;
  }
}

.support__footer::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 9.25rem;
  aspect-ratio: 148/179;
  height: auto;
  background-image: url("../images/support__illust.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  content: "";
}
@media not all and (min-width: 1200px) {
  .support__footer::before {
    width: 5rem;
    top: 230%;
  }
}
@media not all and (min-width: 768px) {
  .support__footer::before {
    display: none;
  }
}

.support__footer::after {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 8.375rem;
  height: auto;
  aspect-ratio: 134/198;
  background-image: url("../images/support__illust02.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  content: "";
}
@media not all and (min-width: 1200px) {
  .support__footer::after {
    width: 5rem;
    top: 230%;
  }
}
@media not all and (min-width: 768px) {
  .support__footer::after {
    display: none;
  }
}

.support__footer-text {
  font-size: clamp(1.125rem, 0.91rem + 1.07vw, 1.875rem);
  font-weight: 700;
  text-align: center;
}

.support__footer-figure {
  width: 20.25rem;
  margin-top: 0.625rem;
  margin-inline: auto;
}

.support__footer-figure img {
  aspect-ratio: 324/156;
  object-fit: contain;
  height: auto;
}

.support-overview {
  padding-block: 3.75rem;
  background-image: url("../images/gd-top.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .support-overview {
    padding-block: 6.25rem 0.75rem;
  }
}

.support-overview__heading {
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .support-overview__heading {
    margin-bottom: 1.5rem;
  }
}

.support-overview__figure {
  overflow: hidden;
}
.support-overview__figure img {
  width: 100%;
  height: auto;
  display: block;
}

.tools {
  background-image: url("../images/gd-top.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-block: 3.75rem;
}
@media screen and (min-width: 768px) {
  .tools {
    padding-block: 6rem 6.25rem;
  }
}
@media screen and (min-width: 1441px) {
  .tools {
    background-size: cover;
  }
}

.tools__heading {
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .tools__heading {
    margin-bottom: 2.5rem;
  }
}

.tools__cards {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .tools__cards {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

.tools__card {
  flex: 1;
  background-color: #fff;
  border-radius: 0.625rem;
  padding: 1.875rem;
  box-shadow: 0px 9px 24px 0px rgba(42, 192, 190, 0.3000000119);
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .tools__card {
    padding-block: 2.5rem 1.875rem;
    gap: 1.5rem;
  }
}

.tools__card-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #006977;
  line-height: 1.6;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .tools__card-title {
    font-size: 1.375rem;
  }
}

.tools__card-figure {
  margin-inline: auto;
}

.tools__card-figure--pc {
  height: auto;
}
@media screen and (min-width: 768px) {
  .tools__card-figure--pc {
    width: 27.625rem;
  }
}

.tools__card-figure--pc img {
  aspect-ratio: 270/159;
  object-fit: contain;
}
@media screen and (min-width: 768px) {
  .tools__card-figure--pc img {
    aspect-ratio: 442/160;
  }
}

.tools__card-figure--study {
  height: auto;
}
@media screen and (min-width: 768px) {
  .tools__card-figure--study {
    width: 27.625rem;
  }
}

.tools__card-figure--study img {
  aspect-ratio: 270/278;
  object-fit: contain;
}
@media screen and (min-width: 768px) {
  .tools__card-figure--study img {
    aspect-ratio: 442/160;
  }
}

.voice {
  padding-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .voice {
    padding-top: 6.625rem;
  }
}

.voice__inner {
  max-width: 79.375rem;
  margin-inline: auto;
}

.voice__heading {
  font-size: 1.25rem;
  text-align: center;
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .voice__heading {
    margin-bottom: 3.5625rem;
    font-size: 1.875rem;
  }
}

.voice__list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .voice__list {
    gap: 0rem;
    flex-direction: row;
    border-radius: 0.625rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

.voice__item {
  padding: 2.1875rem 1.875rem;
  background-color: #e9f4f4;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .voice__item {
    /* 角丸の再設計 */
    border-radius: 0;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
  }
  .voice__item:first-child {
    border-top-left-radius: 10px;
    padding: 2.5rem 1.875rem 2.5rem 2.5rem;
  }
  .voice__item:nth-child(2) {
    border-top-right-radius: 10px;
    position: relative;
    padding: 2.5rem 2.5rem 2.5rem 1.875rem;
  }
  .voice__item:nth-child(2)::before {
    content: "";
    position: absolute;
    left: 0;
    top: 40px;
    height: 88%;
    border-left: 1px dotted #2ad0ce;
  }
}

.voice__content {
  max-width: 62.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .voice__content {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
  }
}

.voice__title {
  font-size: clamp(1.125rem, 0.95rem + 0.75vw, 1.625rem);
  font-weight: 700;
  line-height: 1.6;
  color: #006977;
}

.voice__body {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .voice__body {
    gap: 1.25rem;
  }
}

.voice__profile-wrap {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  align-items: center;
}

.voice__figure img {
  width: 5rem;
  height: 5rem;
  object-fit: cover;
  border-radius: 50%;
}
@media screen and (min-width: 768px) {
  .voice__figure img {
    width: 6.5625rem;
    height: 6.5625rem;
  }
}

.voice__profile-meta {
  flex: 1;
  min-width: 0;
}

.voice__name {
  font-size: 0.875rem;
  font-weight: 700;
  color: #000000;
  margin-bottom: 0.25rem;
}
@media screen and (min-width: 768px) {
  .voice__name {
    font-size: 1.125rem;
  }
}

.voice__detail {
  font-size: 0.875rem;
  font-weight: 400;
  color: #000000;
  line-height: 1.6;
}

.voice__text {
  font-size: 0.875rem;
  font-weight: 400;
  color: #000000;
  line-height: 1.6;
}

.voice__results {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .voice__results {
    flex-direction: row;
    align-items: flex-start;
    gap: 2.5rem;
  }
}

.voice__results img {
  aspect-ratio: 270/409;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .voice__results img {
    aspect-ratio: 540/199;
  }
}

@media screen and (min-width: 768px) {
  .voice__results--with-image {
    align-items: stretch;
  }
}

.voice__group-figure {
  border-radius: 0.5rem;
  overflow: hidden;
}
@media not all and (min-width: 768px) {
  .voice__group-figure {
    max-width: 25rem;
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) {
  .voice__group-figure {
    width: calc(50% - 1.25rem);
    max-width: 25rem;
  }
}

.voice__group-figure img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.voice__stats {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .voice__stats {
    min-width: 12.5rem;
  }
}

.voice__chart-wrap {
  flex: 1;
  min-width: 0;
}

.voice__chart-title {
  font-size: 0.875rem;
  font-weight: 700;
  color: #000000;
  margin: 0 0 1rem;
}

.voice__chart {
  display: flex;
  align-items: flex-end;
  gap: 0.75rem;
  height: 10rem;
}

.voice__chart-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  position: relative;
  height: 7.5rem;
}

.voice__chart-label {
  font-size: 0.75rem;
  font-weight: 400;
  color: #000000;
  order: 3;
}

.voice__chart-bar {
  width: 100%;
  max-width: 3rem;
  height: calc(var(--h, 0) * 1%);
  min-height: 0.25rem;
  background-color: #2AC0BE;
  border-radius: 0.25rem 0.25rem 0 0;
  order: 1;
}

.voice__more {
  padding-block: 1.875rem;
  background-color: #d6f1f1;
  margin: 3.75rem calc(50% - 50vw) 0rem;
  width: 100vw;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .voice__more {
    padding: 2.5rem 3.25rem;
    margin: initial;
    border-radius: 0px 0px 10px 10px;
    width: initial;
  }
}

.voice__more-heading {
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .voice__more-heading {
    font-size: 1.625rem;
    margin-bottom: 1.875rem;
  }
}

.voice__more-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 87%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .voice__more-list {
    flex-direction: row;
    gap: 1.25rem;
    width: 100%;
  }
}

.voice__more-card {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-radius: 0.625rem;
  padding: 1.875rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .voice__more-card {
    flex: 1;
    flex-direction: row;
    align-items: center;
    gap: 1.5rem;
    padding: 1.625rem 8.75rem 1.375rem 2.5rem;
  }
}

.voice__more-cardtext {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
  flex: 1;
  min-width: 0;
}

.voice__more-cardfigure {
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (min-width: 768px) {
  .voice__more-cardfigure {
    right: 30px;
  }
}

.voice__more-cardfigure img {
  width: 4.375rem;
  height: auto;
  display: block;
  object-fit: contain;
}
@media screen and (min-width: 768px) {
  .voice__more-cardfigure img {
    width: 6.25rem;
  }
}

.work {
  background-image: url("../images/work__bgSP.webp");
  background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
  padding-block: 3.75rem;
}
@media screen and (min-width: 768px) {
  .work {
    padding-block: 6.25rem 1.25rem;
    background-image: url("../images/work__bg.webp");
  }
}
@media screen and (min-width: 1441px) {
  .work {
    background-size: cover;
  }
}

.work__heading {
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .work__heading {
    margin-bottom: 1.875rem;
  }
}

.work__lead {
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .work__lead {
    font-size: 1.5rem;
    margin-bottom: 1.875rem;
  }
}

.work__wrapper {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 0.75rem;
  background-color: #e9f4f4;
  border-radius: 10px;
  padding: 1.875rem;
  margin-bottom: 1.875rem;
}
@media screen and (min-width: 768px) {
  .work__wrapper {
    gap: 1.5rem;
    padding: 2.1875rem 3.75rem 1.875rem;
    margin-bottom: 0;
  }
}

.work__wrapper-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .work__wrapper-head {
    margin-right: auto;
    flex-direction: row;
  }
}

.work__wrapper-icon {
  flex-shrink: 0;
  display: block;
  line-height: 0;
}

.work__wrapper-icon svg {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
}
@media screen and (min-width: 768px) {
  .work__wrapper-icon svg {
    width: 3rem;
    height: 3rem;
  }
}

.work__wrapper-title {
  font-size: clamp(18px, 13.774px + 1.127vw, 30px);
  font-weight: 700;
  color: #006977;
  text-align: center;
  display: flex;
  gap: 0.75rem;
}

.work__cards {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .work__cards {
    flex-direction: row;
    gap: 1.5625rem;
  }
}

.work__card {
  flex: 1;
  background-color: #fff;
  border-radius: 0.75rem;
  padding: 1.25rem;
}
@media screen and (min-width: 768px) {
  .work__card {
    padding: 1.5rem;
  }
}

.work__card-title {
  position: relative;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: left;
  margin-bottom: 0.625rem;
  color: #006977;
  padding-inline-start: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid #006977;
  margin-bottom: 0.75rem;
}
.work__card-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5rem;
  width: 0.6875rem;
  height: 0.6875rem;
  border-radius: 50%;
  background-color: #2ad0ce;
}
@media screen and (min-width: 768px) {
  .work__card-title {
    font-size: 1.25rem;
    padding-inline-start: 1.25rem;
    padding-bottom: 1.25rem;
    margin-bottom: 1.4375rem;
  }
  .work__card-title::before {
    width: 0.75rem;
    height: 0.75rem;
  }
}

.work__card-text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .work__card-text {
    font-size: 1rem;
  }
}

.work__card-text--small {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.6;
}

.work__secondary {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-top: 1.25rem;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .work__secondary {
    flex-direction: row;
  }
}

.work__secondary-wrapper {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 1.25rem;
  background-color: #e9f4f4;
  border-radius: 10px;
  padding: 1.875rem;
  width: 100%;
}
@media screen and (min-width: 1200px) {
  .work__secondary-wrapper {
    gap: 1.5rem;
    padding: 2.1875rem 3.75rem 1.875rem;
    width: 100%;
    max-width: 39.375rem;
  }
}

.work__secondary-items {
  background: #fff;
  border-radius: 10px;
  padding: 1.125rem;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.9375rem;
  align-content: center;
  margin-inline: auto;
}
@media screen and (min-width: 1200px) {
  .work__secondary-items {
    padding: 1.5625rem 1.875rem;
    min-height: 7.125rem;
    width: 100%;
  }
}

.work__secondary-item {
  position: relative;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: left;
  color: #006977;
  padding-inline-start: 1.25rem;
}
@media screen and (min-width: 1200px) {
  .work__secondary-item {
    white-space: nowrap;
  }
}
.work__secondary-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5rem;
  width: 0.6875rem;
  height: 0.6875rem;
  border-radius: 50%;
  background-color: #2ad0ce;
}
@media screen and (min-width: 1200px) {
  .work__secondary-item {
    font-size: 1.25rem;
    padding-inline-start: 1.25rem;
  }
  .work__secondary-item::before {
    width: 0.75rem;
    height: 0.75rem;
  }
}

.work__secondary-desc {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .work__secondary-desc {
    font-size: 1rem;
  }
}

.work__summary-wrap {
  position: relative;
  overflow: hidden;
}

.work__summary-inner {
  position: relative;
  z-index: 1;
}

.work__summary-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .work__summary-content {
    flex-direction: row;
    justify-content: center;
    gap: 2rem;
  }
}

.work__summary-figure {
  order: -1;
}
.work__summary-figure img {
  width: 100%;
  max-width: 11.25rem;
  height: auto;
  display: block;
}
@media screen and (min-width: 768px) {
  .work__summary-figure {
    order: 0;
    align-self: center;
  }
  .work__summary-figure img {
    max-width: 12.9375rem;
  }
}

@media screen and (min-width: 768px) {
  .work__summary-figure--right {
    order: 2;
  }
}

.work__summary-box {
  margin-top: 1.875rem;
}

.work__summary-text {
  font-size: clamp(1.125rem, 1.02rem + 0.535vw, 1.5rem);
  font-weight: 700;
  line-height: 1.6;
  text-align: left;
  margin-bottom: 0.25rem;
}
@media screen and (min-width: 768px) {
  .work__summary-text {
    text-align: center;
  }
}

.work__summary-text--white {
  border-bottom: 4px solid #fff;
}