@charset "UTF-8";

.s-of-hidden {
   overflow: hidden;
}

body.is-fixed {
   overflow: hidden;
}

body {
   font-family: "Noto Sans JP", sans-serif;
   font-size: 1.6rem;
   font-weight: 400;
   line-height: 1.95;
   color: #555;
   margin: 0;
}

.post,
.page {
   margin: 0;
}

@media screen and (max-width: 767px) {
   body {
      font-size: 1.4rem;
   }
}

button {
   all: unset;
   display: inline-block;
   cursor: pointer;
}

.page main h1,
.page main h2,
.page main h3,
.page main h4,
p {
   padding: 0;
   margin: 0;
}

.page main h1::before,
.page main h1::after,
.page main h2::before,
.page main h2::after,
.page main h3::before,
.page main h3::after,
.page main h4::before,
.page main h4::after,
p::before,
p::after {
   display: none;
}

.inview_re {
   opacity: 0;
   transition: 0.5s;
   transform: translateY(2rem);
}

.inview_re.is-show {
   opacity: 1;
   transform: translateY(0px);
}

.sec-space {
   padding: 11rem 0;
}

.pt {
   padding-top: 11rem;
}

.pb {
   padding-bottom: 11rem;
}

@media screen and (max-width: 768px) {
   .sec-space {
      padding: 8rem 0;
   }

   .pt {
      padding-top: 8rem;
   }

   .pb {
      padding-bottom: 8rem;
   }
}

.bg-grey {
   background-color: #F6F6F6;
}

.u-t-blue {
   color: #2aa0d0;
}

img {
   display: inline-block;
   vertical-align: middle;
   width: 100%;
   height: auto;
}

.sp {
   display: block;
}

@media screen and (min-width: 768px) {
   .sp {
      display: none;
   }
}

.tb {
   display: none;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
   .tb {
      display: block;
   }
}

.pc {
   display: none;
}

@media screen and (min-width: 768px) {
   .pc {
      display: block;
   }
}

a {
   text-decoration: none;
}

.page main .c-heading {
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
   gap: 2.2rem;
   font-family: "Noto Sans JP";
   font-weight: 400;
}

.page main .c-heading.--white {
   color: #fff;
}

.page main .c-heading.--white .c-heading__en {
   color: #fff;
}

.page main .c-heading.--white .c-heading__line {
   background: #fff;
}

.page main .c-heading.--gray .c-heading__en {
   color: #404040;
}

.page main .c-heading.--gray .c-heading__line {
   background: #404040;
}

.page main .c-heading.--orange .c-heading__en {
   color: #ff630c;
}

.page main .c-heading.--orange .c-heading__line {
   background: #ff630c;
}

.page main .c-heading__en {
   text-align: center;
   font-weight: 700;
   font-size: 1.2rem;
   color: #E3EEFF;
   text-transform: uppercase;
   margin-bottom: 0px;
   background: #2AA0D0;
   border: 1px solid #2C7CFF;
   padding: 0.3rem 1rem;
}

@media screen and (min-width: 768px) {
   .page main .c-heading {
      gap: 3.2rem;
   }

   .page main .c-heading__en {
      font-size: 1.4rem;
      padding: 0.6rem 1.8rem;
   }
}

.page main .c-heading__title {
   font-size: 2.5rem;
   font-weight: 400;
   line-height: 1.25;
   letter-spacing: 0.03em;
}

@media screen and (min-width: 768px) {
   .page main .c-heading__title {
      font-size: 3.6rem;
      margin-top: 0px;
   }
}

.page main .c-heading__title.--bk {
   color: #404040;
}

.page main .c-heading__title span {
   font-weight: 300;
   font-family: Montserrat;
}

.page main .c-heading__desc {
   font-weight: 500;
   color: #777;
   letter-spacing: 0.03em;
   padding-top: 4rem;
}

@media screen and (max-width: 767px) {
   .page main .c-heading__desc {
      text-align: justify;
      padding-top: 0;
   }
}

.page main .c-heading__line {
   display: block;
   background: #555;
   width: 4rem;
   height: 1px;
}

.c-button {
   position: relative;
   display: flex;
   width: 32.7rem;
   padding: 2.4rem 5.6rem;
   justify-content: center;
   align-items: center;
   gap: 8px;
   font-size: 1.8rem;
   font-weight: 500;
   border-radius: 4px;
   line-height: 1;
}

@media screen and (min-width: 768px) {
   .c-button {
      padding: 2.4rem 5rem;
   }

   .c-button:first-child {
      padding: 2.4rem 4rem 2.4rem 5.8rem;
   }
}

.c-button::before {
   position: absolute;
   content: "";
   top: 50%;
   right: 2.4rem;
   transform: translateY(-50%);
}

.c-button.--dl {
   background: #2aa0d0;
   color: #fff;
   border: 1px solid #fff;
}

@media screen and (min-width: 768px) {
   .c-button.--dl {
      max-width: 272px;
   }
}

.c-button.--dl::before {
   background: url(../images/page-inhouse-support/icon-dl.svg) no-repeat center center/contain;
   width: 1.6rem;
   aspect-ratio: 1/1;
}

.c-button.--dl::after {
   position: absolute;
   content: "";
   top: 50%;
   left: 1.6rem;
   transform: translateY(-50%);
   background: url(../images/page-inhouse-support/button-paper.webp) no-repeat center center/contain;
   width: 40.6rem;
   aspect-ratio: 26/38;
}

.c-button.--dl .c-button__head {
   color: #2aa0d0;
   background: #fff;
}

.c-button.--contact {
   background: #fff;
   color: #2aa0d0;
   border: 1px solid #2aa0d0;
}

@media screen and (min-width: 768px) {
   .c-button.--contact {
      max-width: 238px;
   }
}

.c-button.--contact::before {
   background-image: url("../images/page-inhouse-support/icon-arrow-right.svg");
   background-repeat: no-repeat;
   background-size: contain;
   width: 10px;
   aspect-ratio: 10/8;
}

.c-button.--contact .c-button__head {
   color: #fff;
   background: #2aa0d0;
}

.c-button.--blue {
   background: #2aa0d0;
   color: #fff;
   border: 1px solid #fff;
}

.c-button.--blue::before {
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10' fill='none'%3E%3Cpath d='M1 1L11 5L1 9' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E");
   background-repeat: no-repeat;
   background-size: contain;
   width: 10px;
   aspect-ratio: 10/8;
}

.c-button__head {
   position: absolute;
   font-size: 1.2rem;
   line-height: normal;
   font-weight: 600;
   padding: 1px 1.6rem 4px;
   border-radius: 32px;
   top: 0;
   left: 50%;
   transform: translate(-50%, -50%);
   white-space: nowrap;
}

.c-button-new {
   display: inline-flex;
   justify-content: center;
   align-items: center;
   width: 100%;
   height: 7rem;
   padding: 0;
   background-image: linear-gradient(135deg, #22A1E2, #7A78EA);
   color: #fff;
   font-weight: 700;
   font-size: 1.8rem;
   letter-spacing: 0.04em;
   line-height: 1;
   border-radius: 8px;
   position: relative;
   box-shadow: inset 0 0 4px #fff, 0 4px 4px rgba(255, 255, 255, 0.25);
}

@media screen and (min-width: 768px) {
   .c-button-new {
      width: 32.5rem;
      font-size: 2rem;
   }
}

.c-wrap {
   width: 100%;
   max-width: 100%;
   margin: 0 auto;
   padding: 0 2.4rem;
   box-sizing: border-box;
   position: relative;
}

@media screen and (min-width: 768px) {
   .c-wrap {
      max-width: 112.8rem;
   }
}

@media screen and (min-width: 1024px) {
   .c-wrap {
      padding: 0;
   }
}

.header__catch {
   display: none;
}

.header {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 9rem;
   z-index: 99;
   border-bottom: 1px solid #eee;
   background: #fff;
}

.header__inner {
   position: relative;
   padding: 1.2rem 2.4rem;
   z-index: 1;
   height: 100%;
   box-sizing: border-box;
}

@media screen and (min-width: 768px) {
   .header__inner {
      padding: 1.6rem 32px;
   }
}

.header__wrap {
   display: flex;
   align-items: center;
   justify-content: space-between;
   height: 100%;
   gap: 1.2rem;
}

.header__brand {
   display: flex;
   align-items: center;
   gap: 8px;
   position: relative;
   z-index: 10;
   min-width: 0;
   flex-shrink: 1;
}

.header__logo {
   display: block;
   width: 8rem;
   flex-shrink: 0;
}

.header__catch {
   font-size: 1.3rem;
   font-weight: 500;
   line-height: 1.35;
   color: #333;
}

@media screen and (min-width: 768px) {
   .header__catch {
      white-space: nowrap;
   }
}

.header__catch span {
   color: #2aa0d0;
}

@media screen and (min-width: 768px) {
   .header__container {
      display: flex;
      gap: 2.5rem;
   }
}

.header__nav {
   padding-top: 12.6rem;
   position: absolute;
   top: 0;
   left: 0;
   width: 100vw;
   height: 100dvh;
   background: #fff;
   display: flex;
   flex-direction: column;
   gap: 43px;
   align-items: center;
   transform: translateX(100%);
   transition: 0.5s;
}

.header__nav.is-active {
   transform: translateX(0%);
}

@media screen and (min-width: 1280px) {
   .header__nav {
      padding-top: 0;
      position: static;
      background: transparent;
      flex-direction: row;
      gap: 4rem;
      width: auto;
      height: auto;
      transform: translateX(0%);
   }
}

.header__nav-links {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 27px;
}

@media screen and (min-width: 1280px) {
   .header__nav-links {
      flex-direction: row;
      gap: 2.4rem;
   }
}

.header__nav-link {
   color: #404040;
   font-size: 1.6rem;
   font-weight: 300;
}

.header__nav-buttons {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 1.2rem;
}

@media screen and (min-width: 1280px) {
   .header__nav-buttons {
      display: none;
   }
}

.header__nav-button {
   display: flex;
   width: 263px;
   padding: 1.6rem 32px;
   justify-content: center;
   align-items: center;
   font-size: 1.6rem;
   font-weight: 500;
   border-radius: 4px;
   line-height: 1;
}

.header__nav-button.--dl {
   background: #2aa0d0;
   color: #fff;
   border: 1px solid #fff;
}

@media screen and (min-width: 768px) {
   .header__nav-button.--dl {
      max-width: 272px;
   }
}

.header__nav-button.--contact {
   background: #fff;
   color: #2aa0d0;
   border: 1px solid #2aa0d0;
}

.header__tel {
   display: flex;
   flex-direction: column;
   align-items: center;
   line-height: normal;
}

.header__tel-content {
   display: flex;
   align-items: end;
   gap: 4px;
}

.header__tel-icon {
   width: 11px;
}

.header__tel-num {
   color: #333;
   font-size: 1.8rem;
   font-weight: 400;
   letter-spacing: 0.01em;
}

.header__tel-data {
   color: #888;
   font-size: 13px;
   font-weight: 400;
}

.header__buttons {
   display: flex;
   align-items: center;
   gap: 1.2rem;
   flex-shrink: 0;
}

@media screen and (max-width: 767px) {
   .header__buttons .header__button {
      display: none;
   }
}

.header__button {
   display: flex;
   padding: 0.6rem 1.5rem;
   justify-content: center;
   align-items: center;
   border: 1px solid #2aa0d0;
   border-radius: 4px;
}

@media screen and (min-width: 768px) {
   .header__button {
      padding: 8px 1.9rem;
   }
}

.header__button.--dl {
   background: #fff;
   color: #2aa0d0;
}

.header__button.--contact {
   background: #2aa0d0;
   color: #fff;
}

.header__drawer-button {
   position: relative;
   z-index: 10;
   padding-block: 8px;
   display: flex;
   flex-direction: column;
   gap: 8px;
   width: 2.4rem;
}

@media screen and (min-width: 1280px) {
   .header__drawer-button {
      display: none;
   }
}

.header__drawer-button span {
   width: 2.4rem;
   height: 1px;
   display: block;
   background: #2aa0d0;
   transition: 0.3s;
}

.header__drawer-button.is-active span {
   width: 2.8rem;
   background: #404040;
}

.header__drawer-button.is-active span:nth-child(1) {
   transform: translateY(9px) rotate(45deg);
}

.header__drawer-button.is-active span:nth-child(2) {
   opacity: 0;
}

.header__drawer-button.is-active span:nth-child(3) {
   transform: translateY(-9px) rotate(-45deg);
}

footer {
   padding-top: 0;
}

.footer-nav__corp__img {
   width: auto;
   max-width: 100%;
}

.c-button {
   position: relative;
   display: flex;
   width: 24.7rem;
   padding: 2.4rem 5.6rem;
   justify-content: center;
   align-items: center;
   gap: 0.8rem;
   font-size: 1.6rem;
   font-weight: 500;
   border-radius: 4px;
   line-height: 1;
}

@media screen and (min-width: 768px) {
   .c-button {
      padding: 2.4rem 5rem;
   }
}

.c-button::before {
   position: absolute;
   content: "";
   top: 50%;
   right: 2.4rem;
   transform: translateY(-50%);
}

.c-button.--dl {
   background: #2aa0d0;
   color: #fff;
   border: 1px solid #fff;
}

@media screen and (min-width: 768px) {
   .c-button.--dl {
      max-width: 27.2rem;
   }
}

.c-button.--dl::before {
   background: url(../images/page-llmo/icon-dl.svg) no-repeat center center/contain;
   width: 1.6rem;
   aspect-ratio: 1/1;
}

.c-button.--dl::after {
   position: absolute;
   content: "";
   top: 50%;
   left: 1.6rem;
   transform: translateY(-50%);
   background: url(../images/page-llmo/button-paper.webp) no-repeat center center/contain;
   width: 4.6rem;
   aspect-ratio: 26/38;
}

.c-button.--dl .c-button__head {
   color: #2aa0d0;
   background: #fff;
}

.c-button.--contact {
   background: #fff;
   color: #2aa0d0;
   border: 1px solid #2aa0d0;
}

@media screen and (min-width: 768px) {
   .c-button.--contact {
      max-width: 23.8rem;
   }
}

.c-button.--contact::before {
   background-image: url("../images/page-llmo/icon-arrow-right.svg");
   background-repeat: no-repeat;
   background-size: contain;
   width: 1rem;
   aspect-ratio: 10/8;
}

.c-button.--contact .c-button__head {
   color: #fff;
   background: #2aa0d0;
}

.c-button.--blue {
   background: #2aa0d0;
   color: #fff;
   border: 1px solid #fff;
}

.c-button.--blue::before {
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10' fill='none'%3E%3Cpath d='M1 1L11 5L1 9' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E");
   background-repeat: no-repeat;
   background-size: contain;
   width: 1rem;
   aspect-ratio: 10/8;
}

.c-button__head {
   position: absolute;
   font-size: 1.2rem;
   line-height: normal;
   font-weight: 600;
   padding: 1px 1.6rem 4px;
   border-radius: 32px;
   top: 0;
   left: 50%;
   transform: translate(-50%, -50%);
   white-space: nowrap;
}

.fv {
   padding-top: 154px;
   padding-bottom: 32px;
}

@media screen and (min-width: 1280px) {
   .fv {
      padding-top: 197px;
      padding-bottom: 127px;
   }
}

.fv__wrap {
   padding-inline: 24px;
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 44px;
}

@media screen and (min-width: 1024px) {
   .fv__wrap {
      margin: 0 auto;
      flex-direction: row;
      justify-content: space-between;
      max-width: 900px;
   }
}

@media screen and (min-width: 1280px) {
   .fv__wrap {
      padding-inline: 50px 90px;
      width: 100%;
      max-width: 1288px;
   }
}

.fv__body {
   display: flex;
   flex-direction: column;
   gap: 24px;
}

@media screen and (min-width: 1280px) {
   .fv__body {
      gap: 40px;
   }
}

.fv__content {
   display: flex;
   flex-direction: column;
   gap: 12px;
}

@media screen and (min-width: 1280px) {
   .fv__content {
      gap: 30px;
   }
}

.fv__title {
   color: #111;
   font-size: 24px;
   font-weight: 700;
   line-height: 120%;
}

@media screen and (min-width: 768px) {
   .fv__title {
      font-size: 38px;
   }
}

@media screen and (min-width: 1280px) {
   .fv__title {
      font-size: 55px;
   }

   .fv .fv__title {
      margin-right: -60px;
   }
}

.fv__title span {
   font-size: 88px;
   font-weight: 500;
   font-family: Montserrat;
}

@media screen and (min-width: 1280px) {
   .fv__title span {
      font-size: 128px;
   }
}

.fv__desc {
   display: flex;
   flex-direction: column;
   gap: 10px;
}

@media screen and (min-width: 1280px) {
   .fv__desc {
      gap: 20px;
   }
}

.fv__sub-title {
   font-size: 12px;
   font-weight: 500;
   white-space: nowrap;
}

@media screen and (min-width: 768px) {
   .fv__sub-title {
      font-size: 18px;
   }
}

@media screen and (min-width: 1280px) {
   .fv__sub-title {
      font-size: 20px;
   }
}

.fv__text {
   color: #666;
   font-size: 13px;
   font-weight: 400;
   line-height: 160%;
}

@media screen and (min-width: 1280px) {
   .fv__text {
      font-size: 14px;
   }
}

.fv__buttons {
   display: flex;
   flex-direction: column;
   gap: 16px;
}

.fv__buttons .c-button {
   width: 100%;
   font-size: 18px;
   padding: 24px 50px;
}

.fv__buttons .c-button.--dl::before {
   width: 16px;
   right: 24px;
}

.fv__buttons .c-button.--dl::after {
   width: 46px;
   left: 16px;
}

.fv__buttons .c-button.--contact::before {
   width: 10px;
   right: 24px;
}

@media screen and (min-width: 768px) {
   .fv__buttons .c-button {
      max-width: 327px;
   }
}

@media screen and (min-width: 1280px) {
   .fv__buttons {
      flex-direction: row;
   }
}

.fv__image {
   position: relative;
   display: block;
   width: 311px;
}

.fv__image::after {
   position: absolute;
   content: "";
   z-index: -1;
   background: url(../images/page-llmo/fv-img-bg-sp.webp) no-repeat center center/contain;
   width: 954px;
   aspect-ratio: 1/1;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}

@media screen and (min-width: 1280px) {
   .fv__image {
      width: 445px;
   }

   .fv__image::after {
      width: 1182px;
   }
}

#issuse {
   position: relative;
}

#issuse .list {
   list-style: none;
   font-weight: 500;
   font-size: 1.8rem;
   letter-spacing: 0.03em;
   padding-top: 5rem;
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 2rem;
}

#issuse .list dl {
   display: grid;
   grid-template-columns: 5rem 1fr;
   align-items: center;
   gap: 2rem;
   min-height: 12rem;
   background-color: #fff;
   border: 1px solid #E3E3E3;
   box-shadow: 0 0 8px rgba(0, 0, 0, 0.06);
   margin: 0;
   padding: 0 2.5rem;
   border-radius: 0px;
}

#issuse .list dl dd {
   margin: 0;
   line-height: 150%;
}

#issuse .list dl span {
   color: #2AA0D0;
}

#issuse .arrow {
   width: 3.2rem;
   margin: 2.5rem auto 1rem auto;
}

#issuse h3 {
   font-weight: 500;
   font-size: 3.6rem;
   letter-spacing: 0.03em;
   text-align: center;
   line-height: 140%;
}

#issuse h3 span {
   background: #4BAED6;
   -webkit-background-clip: text;
   background-clip: text;
   -webkit-text-fill-color: transparent;
   color: transparent;
}

#issuse .box {
   background-color: #fff;
   border-radius: 0px;
   margin-top: 6rem;
   padding: 3.5rem 3.5rem 5.5rem;
}

#issuse .box h4 {
   font-weight: 700;
   font-size: 2.2rem;
   line-height: 1.5;
   text-align: center;
}

#issuse .box h4 small {
   font-weight: 500;
   font-size: 1.6rem;
}

#issuse .box .txt {
   font-size: 1.7rem;
   line-height: 1.95;
   letter-spacing: 0.02em;
   padding-top: 2rem;
}

@media screen and (max-width: 1023px) {
   #issuse .list {
      grid-template-columns: 1fr;
   }
}

@media screen and (max-width: 767px) {
   #issuse .list {
      padding-top: 4rem;
      font-size: 1.6rem;
   }

   #issuse .list dl {
      display: flex;
      flex-direction: column;
      gap: 10px;
      border-radius: 2rem;
      padding: 2rem;
      font-size: 1.4rem;
   }

   #issuse .list dl dt {
      width: 5rem;
      margin: 0 auto;
   }

   #issuse .arrow {
      width: 3rem;
      margin: 2.5rem auto 1.5rem;
   }

   #issuse h3 {
      font-size: 1.7rem;
   }

   #issuse .box {
      border-radius: 1.2rem;
      margin-top: 4rem;
      padding: 3rem 2rem;
   }

   #issuse .box h4 {
      font-size: 1.8rem;
   }

   #issuse .box h4 small {
      font-size: 1.1rem;
   }

   #issuse .box .txt {
      font-size: 1.4rem;
      padding-top: 1.5rem;
   }
}

.sec02 {
   padding-block: 7rem;
}

@media screen and (min-width: 768px) {
   .sec02 {
      padding-block: 110px;
   }
}

.consulting_head {
   display: flex;
   justify-content: center;
   gap: 32px;
   padding-top: 4rem;
}

@media screen and (min-width: 768px) {
   .consulting_head {
      gap: 49px;
      padding-top: 50.6rem;
   }
}

.consulting_head dl {
   flex: 0 0 auto;
   display: flex;
   flex-direction: column;
   align-items: center;
}

@media screen and (min-width: 768px) {
   .consulting_head dl {
      width: auto;
   }
}

.consulting_head dl dt {
   font-size: 1.4rem;
   font-family: "Inter", "Noto Sans JP", sans-serif;
   font-weight: 400;
   letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
   .consulting_head dl dt {
      font-size: 2rem;
   }
}

.consulting_head dl dd {
   display: flex;
   align-items: center;
   margin: 0;
}

@media screen and (min-width: 768px) {
   .consulting_head dl dd {
      margin-top: -8px;
   }
}

.consulting_head dl dd img {
   flex: 0 0 auto;
   width: 31px;
   height: auto;
}

@media screen and (min-width: 768px) {
   .consulting_head dl dd img {
      width: 60.6rem;
   }
}

.consulting_head dl dd p {
   flex: 1 1 auto;
   padding-left: 10px;
}

@media screen and (min-width: 768px) {
   .consulting_head dl dd p {
      padding-left: 2.4rem;
   }
}

.consulting_head dl dd p .num {
   font-size: 32px;
   color: #2AA0D0;
   font-family: "Outfit", sans-serif;
   font-weight: 200;
}

@media screen and (min-width: 768px) {
   .consulting_head dl dd p .num {
      font-size: 72px;
   }
}

.consulting_head dl dd p small {
   font-family: "Inter", "Noto Sans JP", sans-serif;
   font-size: 1.4rem;
   font-weight: 400;
}

@media screen and (min-width: 768px) {
   .consulting_head dl dd p small {
      font-size: 1.6rem;
   }
}

.consulting_body {
   margin-top: 3rem;
   display: flex;
   flex-direction: column;
   gap: 1.6rem;
   color: #404040;
}

@media screen and (min-width: 768px) {
   .consulting_body {
      align-items: center;
      text-align: center;
      gap: 2.4rem;
   }
}

.consulting_title {
   margin-inline: auto;
   width: 31.2rem;
   color: #fff;
   text-align: center;
   font-size: 2.4rem;
   line-height: 1.4;
   font-weight: 500;
   background: #2aa0d0;
   letter-spacing: -0.02em;
}

@media screen and (min-width: 768px) {
   .consulting_title {
      padding: 0px 21px;
      max-width: inherit;
      width: -moz-fit-content;
      width: fit-content;
      font-size: 44px;
      font-weight: 400;
      display: flex;
      align-items: center;
   }
}

.consulting_title span {
   display: inline-block;
   font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
   .consulting_title span {
      font-size: 3.1rem;
   }
}

.consulting_catch {
   font-size: 1.8rem;
   font-weight: 400;
   line-height: 1.2;
   text-align: center;
}

@media screen and (min-width: 768px) {
   .consulting_catch {
      font-size: 2.8rem;
   }
}

.consulting_text {
   font-size: 1.4rem;
   font-weight: 400;
   line-height: 160%;
   text-align: center;
}

@media screen and (min-width: 768px) {
   .consulting_text {
      font-size: 1.6rem;
      line-height: 150%;
   }
}

.strengths__item {
   background: #ffffff;
   padding: 4.4rem 5.5rem;
   margin-top: 2.7rem;
   border: 1px solid #E3E3E3;
}

.strengths__head {
   margin-bottom: 3rem;
}

.strengths__head-inner {
   display: flex;
   gap: 1.5rem;
   align-items: center;
}

.strengths__num {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   width: 4.4rem;
   height: 4.0rem;
   background: #2aa0d0;
   flex-shrink: 0;
}

.strengths__num-text {
   color: #fff;
   font-size: 2.0rem;
   font-weight: 400;
   line-height: normal;
}

#our-strengths .strengths__head-text {
   color: #2aa0d0;
   font-size: 2.2rem;
   line-height: 1.5;
   word-break: break-all;
}

.strengths__item_body:has(.strengths__item_body__left) {
   display: flex;
   gap: 4rem;
}

.strengths__item_body__right {
   min-width: 31rem;
}

.strengths__item_body__right figure {
   margin: 0px;
}

.strengths__item_body p {
   font-size: 1.6rem;
   letter-spacing: 0.00em;
   line-height: 1.8;
}

.strengths__item_body p+p {
   margin-top: 2rem;
}

.strengths__item_body strong,
.strengths__item_body a {
   color: #2aa0d0;
}

.strengths_item_data {
   display: flex;
   gap: 3.9rem;
   margin-top: 3rem;
}

.strengths_item_data dl {
   background: #f8f9fa;
   width: 100%;
   padding: 3rem 0px;
   margin: 0px;
}

.strengths_item_data dt {
   font-size: 1.6rem;
   font-weight: 400;
   text-align: center;
   line-height: 1;
   margin-bottom: 2rem;
}

.strengths_item_data dd {
   font-size: 2.2rem;
   font-weight: 700;
   color: #2aa0d0;
   margin: 0px;
   text-align: center;
   line-height: 1;
}

.strengths_item_data dd strong {
   font-size: 4.2rem;
   font-weight: 700;
   letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
   .strengths__item {
      padding: 1.6rem 2.4rem;
   }

   .strengths__head-inner {
      flex-direction: column;
   }

   .strengths_item_data {
      flex-wrap: wrap;
      gap: 2rem;
   }

   .strengths__item_body:has(.strengths__item_body__left) {
      flex-direction: column;
   }

   .strengths__item_body__right {
      min-width: auto;
      width: 100%;
   }
}

#service {
   position: relative;
}

.service__items {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 5rem;
   padding-top: 5rem;
}

.service__item {
   display: flex;
   flex-direction: column;
   gap: 1.5rem;
   background-color: #fff;
   border: 1px solid #E3E3E3;
   border-radius: 0px;
   padding: 3.5rem;
}

.service__item figure {
   max-width: 9.4rem;
   margin: 0;
}

#service .service__item h3 {
   font-weight: 500;
   font-size: 1.8rem;
   letter-spacing: 0;
   padding-top: 0.5rem;
}

@media screen and (max-width: 1023px) {
   .service__items {
      grid-template-columns: 1fr;
   }
}

@media screen and (max-width: 767px) {
   .service__items {
      grid-template-columns: 1fr;
      gap: 3rem;
   }

   .service__item {
      padding: 2rem;
   }

   .service__item h3 {
      font-size: 1.8rem;
   }
}

#support-output {
   position: relative;
}

#support-output .box {
   display: flex;
   justify-content: center;
   flex-wrap: wrap;
   gap: 1.2rem;
   padding-top: 7rem;
}

#support-output .box dl {
   display: grid;
   grid-template-columns: 4rem 1fr;
   align-items: center;
   gap: 2rem;
   background-color: #fff;
   border: 1px solid #E3E3E3;
   border-radius: 0px;
   width: calc(50% - 0.6rem);
   height: 9.4rem;
   margin: 0;
   padding: 0 2rem;
   box-sizing: border-box;
}

#support-output .box dl dd {
   font-weight: 500;
   font-size: 1.9rem;
   line-height: 1.7;
   margin: 0;
}

@media screen and (max-width: 1023px) {
   #support-output .box dl {
      gap: 1.5rem;
      width: 100%;
   }
}

@media screen and (max-width: 767px) {
   #support-output .box {
      gap: 10px;
      padding-top: 4rem;
   }

   #support-output .box dl {
      grid-template-columns: 3rem 1fr;
      gap: 10px;
      width: 100%;
      height: 80px;
      padding: 0 10px;
   }

   #support-output .box dl dd {
      font-size: 1.6rem;
      line-height: 1.5;
   }
}

#support-process {
   position: relative;
}

#support-process .box {
   display: flex;
   flex-wrap: wrap;
   gap: 3rem;
   padding-top: 7rem;
}

#support-process .box .item {
   width: calc(50% - 1.5rem);
   background-color: #fff;
   padding: 3.5rem;
}

#support-process .box h3 {
   display: grid;
   grid-template-columns: 9.3rem 1fr;
   align-items: center;
   gap: 1.7rem;
   font-weight: 500;
   font-size: 2rem;
   line-height: 2.8rem;
   letter-spacing: 0.03em;
   color: #2AA0D0;
}

#support-process .box h3 span {
   background-color: rgba(42, 160, 208, 0.84);
   color: #fff;
   text-align: center;
   text-transform: uppercase;
   font-weight: 700;
   font-size: 1.3rem;
   letter-spacing: 0;
}

#support-process .box ul {
   line-height: 1.95;
   list-style: none;
   margin: 0;
   padding: 2rem 0 0;
}

#support-process .box ul li {
   text-indent: -1.7rem;
   padding-left: 1.7rem;
}

#support-process .catch {
   font-weight: 500;
   font-size: 3.6rem;
   line-height: 1.48;
   text-align: center;
   padding-top: 5rem;
}

#support-process .catch span {
   color: #2AA0D0;
}

@media screen and (max-width: 1023px) {
   #support-process .box .item {
      width: 100%;
      padding: 2rem;
   }
}

@media screen and (max-width: 767px) {
   #support-process .box {
      flex-direction: column;
      padding-top: 4rem;
   }

   #support-process .box h3 {
      grid-template-columns: 1fr;
      gap: 1rem;
      font-size: 1.8rem;
      text-align: center;
   }

   #support-process .box h3 span {
      width: 7rem;
      margin: 0 auto;
   }

   #support-process .box ul {
      padding-top: 1.5rem;
   }

   #support-process .box ul li {
      text-indent: -1.5rem;
      padding-left: 1.5rem;
   }

   #support-process .catch {
      font-size: 2rem;
   }
}

#recommended-companies .txt {
   margin: 0;
   padding: 7rem 0 0;
   font-weight: 500;
   font-size: 2rem;
}

#recommended-companies .txt li {
   display: flex;
   align-items: center;
   min-height: 9.4rem;
   background: url('../images/page-inhouse-support/check-mark.webp') no-repeat center left 2.5rem / 37px auto;
   background-color: #fff;
   border: 1px solid #E3E3E3;
   padding: 1rem 2.5rem 1rem 7rem;
}

#recommended-companies .txt li:not(:last-child) {
   margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
   #recommended-companies .txt {
      padding-top: 3rem;
      font-size: 1.6rem;
      line-height: 1.5;
   }

   #recommended-companies .txt li {
      background-position: center left 1rem;
      background-size: 2.6rem auto;
      padding: 1rem 1rem 1rem 4rem;
   }
}

.media_member {
   background: #fff;
   position: relative;
   padding: 11rem 0;
}

.sec_media_member__container {
   margin-top: 7rem;
}

.media_member .c-heading__description {
   font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
   .media_member {
      padding: 8rem 0;
   }

   .sec_media_member__container {
      margin-top: 4rem;
   }

   .media_member .c-heading__description {
      font-size: 1.4rem;
   }
}

#account-policy .list {
   margin: 5rem 0 0;
   padding: 0;
   display: flex;
   flex-direction: column;
   gap: 2.4rem;
}

@media screen and (min-width: 1024px) {
   #account-policy .list {
      flex-direction: row;
      gap: 2.4rem;
   }
}

#account-policy .item {
   display: flex;
   flex-direction: column;
   align-items: center;
   padding: 2.4rem;
   background-color: #fff;
   border-width: 1px;
   border-style: solid;
   border-color: #eee;
}

@media screen and (min-width: 1024px) {
   #account-policy .item {
      padding: 2.4rem;
   }
}

#account-policy .item-icon {
   flex: 0 0 auto;
   width: 9.6rem;
}

#account-policy .item-title {
   margin-top: 1.6rem;
   font-size: 1.8rem;
   font-weight: 400;
   color: #2aa0d0;
   letter-spacing: -0.05em;
}

@media screen and (min-width: 1024px) {
   #account-policy .item-title {
      margin-top: 3.2rem;
      font-size: 1.8rem;
   }
}

#account-policy .item-text {
   margin-top: 1.6rem;
   font-size: 1.4rem;
   font-weight: 400;
   line-height: 1.5;
   letter-spacing: -0.01em;
}

@media screen and (min-width: 1024px) {
   #account-policy .item-text {
      font-size: 1.4rem;
   }
}

.achievements__img {
   padding-top: 3.5rem;
}

.case__wrap {
   padding-inline: 0;
   max-width: 100%;
}

@media screen and (min-width: 768px) {
   .case__wrap {
      padding-inline: 0;
      max-width: 100%;
   }
}

@media screen and (min-width: 1080px) {
   .case__wrap {
      padding-inline: 5rem;
      max-width: 120rem;
   }
}

.case__container {
   margin-top: 4rem;
}

@media screen and (min-width: 768px) {
   .case__container {
      margin-top: 3.5rem;
   }
}

@media screen and (min-width: 1080px) {
   #case__study .swiper-wrapper {
      display: flex;
      flex-wrap: wrap;
      gap: 3.2rem 4rem;
      width: 100%;
   }
}

#case__study .swiper-slide {
   width: auto;
}

@media screen and (min-width: 1080px) {
   #case__study .swiper-slide {
      width: calc((100% - 8rem) / 3);
      height: auto;
   }
}

#case__study .swiper {
   padding-inline: 2.4rem;
   padding-bottom: 1.8rem;
}

@media screen and (min-width: 1080px) {
   #case__study .swiper {
      padding: 0;
   }
}

.case__item {
   width: 27.9rem;
   height: 100%;
   display: flex;
   flex-direction: column;
   gap: 1.4rem;
   border: 1px solid #eee;
   background: #fff;
   box-sizing: border-box;
}

.case__item:hover {
   transform: scale(1);
}

@media screen and (min-width: 1080px) {
   .case__item {
      width: 100%;
      min-height: 45.8rem;
      gap: 1.6rem;
   }
}

.case__img {
   overflow: hidden;
   aspect-ratio: 279/166;
   flex-shrink: 0;
}

@media screen and (min-width: 1080px) {
   .case__img {
      aspect-ratio: 340/191;
      width: 100%;
   }
}

.case__img img {
   -o-object-fit: cover;
   object-fit: cover;
   -o-object-position: center;
   object-position: center;
   width: 100%;
   height: 100%;
}

.case__content {
   padding-inline: 1.6rem;
   padding-bottom: 1.2rem;
   display: flex;
   flex-direction: column;
   align-items: end;
   gap: 5rem;
   height: 100%;
   justify-content: space-between;
}

@media screen and (min-width: 1080px) {
   .case__content {
      padding-inline: 2.4rem;
      gap: 0.8rem;
   }
}

.case__body {
   display: flex;
   flex-direction: column;
   align-items: start;
   gap: 1.4rem;
   width: 100%;
}

.case__head {
   display: flex;
   justify-content: space-between;
   gap: 0.3rem;
   width: 100%;
}

.case__com {
   color: #333;
   font-size: 1.6rem;
   font-weight: 700;
   line-height: normal;
}

@media screen and (min-width: 1080px) {
   .case__com {
      font-size: 1.8rem;
   }
}

.case__time {
   color: #888;
   font-size: 1.4rem;
   font-weight: 400;
}

.case__text {
   color: #000;
   font-size: 1.4rem;
   font-weight: 400;
   line-height: 150%;
}

@media screen and (min-width: 1080px) {
   .case__text {
      font-size: 1.6rem;
   }
}

.case__tag {
   padding: 4px 1.2rem;
   font-size: 1.3rem;
   font-weight: 500;
   line-height: 140%;
   border-radius: 2.4rem;
   background: rgba(42, 160, 208, 0.1);
}

.case__button {
   position: relative;
   width: 3.6rem;
   height: 3.6rem;
   aspect-ratio: 1/1;
   border: 1px solid #eee;
   background: #f8f8f8;
}

.case__button::before {
   position: absolute;
   content: "";
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='13' viewBox='0 0 6 13' fill='none'%3E%3Cpath d='M1 1L5.5 6.4L1 11.8' stroke='%232AA0D0' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
   background-repeat: no-repeat;
   background-size: contain;
   background-position: center;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   aspect-ratio: 4.5/10.8;
   width: 0.5rem;
}

.case__scrollbar {
   left: 2.4rem;
   width: calc(100% - 4.8rem);
   background: #fff;
}

.case__scrollbar .swiper-scrollbar-drag {
   background: #ccc;
}

#price {
   background-color: #EDF7FC;
}

.price__inner {
   position: relative;
   z-index: 1;
   display: flex;
   flex-direction: column;
   gap: 2rem;
}

@media screen and (min-width: 768px) {
   .price__inner {
      align-items: center;
   }
}

.price__desc {
   text-align: center;
   letter-spacing: 0.03em;
}

@media screen and (min-width: 768px) {
   .price__desc {
      padding-top: 5rem;
   }
}

.price__button {
   padding-block: 4.2rem;
   position: relative;
   border-radius: 8px;
   background: #2aa0d0;
   display: flex;
   justify-content: center;
   gap: 1.6rem;
   color: #fff;
}

@media screen and (min-width: 768px) {
   .price__button {
      padding-block: 4.9rem;
      padding-right: 2rem;
      align-items: center;
      margin-top: 2rem;
      max-width: 69.4rem;
      width: 100%;
      gap: 3.7rem;
   }
}

@media screen and (min-width: 1024px) {
   .price__button {
      max-width: 84rem;
   }
}

.price__img {
   width: 8rem;
}

@media screen and (min-width: 768px) {
   .price__img {
      width: 13.8rem;
   }
}

.price__text {
   font-size: 2.2rem;
   font-weight: 300;
   line-height: 120%;
}

@media screen and (min-width: 768px) {
   .price__text {
      font-size: 2.8rem;
   }
}

.price__text span {
   font-size: 2.8rem;
   line-height: 120%;
}

@media screen and (min-width: 768px) {
   .price__text span {
      font-size: 4.4rem;
   }
}

.price__dl-icon {
   display: none;
}

@media screen and (min-width: 768px) {
   .price__dl-icon {
      margin-left: -2rem;
      display: flex;
      align-items: center;
      width: 6.9rem;
      aspect-ratio: 1/1;
   }
}

.price__dl {
   position: absolute;
   display: flex;
   align-items: center;
   gap: 1.2rem;
   bottom: 1.6rem;
   right: 1.6rem;
}

@media screen and (min-width: 768px) {
   .price__dl {
      gap: 2.2rem;
      bottom: 2rem;
      right: 1.9rem;
   }
}

.price__dl-text {
   font-size: 1.4rem;
   font-weight: 400;
   line-height: 120%;
}

@media screen and (min-width: 768px) {
   .price__dl-text {
      font-size: 2rem;
   }
}

.price__dl-arrow {
   width: 1.2rem;
   aspect-ratio: 5/4;
}

@media screen and (min-width: 768px) {
   .price__dl-arrow {
      width: 1.9rem;
   }
}

.price__bg-text {
   position: absolute;
   color: #e3f3fa;
   font-family: Montserrat;
   font-size: 12rem;
   font-weight: 400;
   line-height: 100%;
   left: -0.6rem;
   bottom: -1.8rem;
   z-index: 0;
}

@media screen and (min-width: 768px) {
   .price__bg-text {
      font-size: 192px;
      left: 2.5rem;
      bottom: -20.6rem;
   }
}

.price__bg-img {
   width: 92%;
   position: absolute;
   bottom: 0;
   right: 1.8%;
}

.faq__inner {
   max-width: 106.3rem;
   margin: 0 auto;
}

.faq__items {
   margin-top: 4.3rem;
   display: flex;
   flex-direction: column;
   gap: 1.5rem;
}

.faq__item {
   padding: 1.6rem;
   background: #fff;
}

@media screen and (min-width: 768px) {
   .faq__item {
      padding: 2.7rem 3rem;
   }
}

.faq__head {
   display: flex;
   justify-content: space-between;
   align-items: start;
   gap: 1.4rem;
}

.faq__head-inner {
   display: flex;
   align-items: start;
   gap: 2rem;
}

#faq .faq__head-text {
   color: #000;
   font-size: 1.4rem;
   font-weight: 400;
   line-height: 150%;
   letter-spacing: -0.01em;
}

@media screen and (min-width: 768px) {
   #faq .faq__head-text {
      padding-top: 0.6rem;
      font-size: 1.6rem;
   }
}

.faq__head-icon {
   margin-top: 1.6rem;
   width: 1.3rem;
   height: -moz-fit-content;
   height: fit-content;
   flex-shrink: 0;
   aspect-ratio: 12/8;
   display: flex;
   transition: 0.3s;
}

.faq__head-icon.is-open {
   transform: rotate(180deg);
}

.faq__num {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   width: 4rem;
   aspect-ratio: 1/1;
   background: #2aa0d0;
   flex-shrink: 0;
}

.faq__num-text {
   color: #fff;
   font-family: Montserrat;
   font-size: 2.4rem;
   font-weight: 400;
   line-height: normal;
}

.faq__body {
   padding-top: 1.6rem;
}

.faq__body-text {
   color: #666;
   font-size: 1.4rem;
   font-weight: 400;
   line-height: 150%;
}

.seminar__wrap {
   display: flex;
   flex-direction: column;
   align-items: center;
}

@media screen and (min-width: 768px) {
   .seminar__wrap {
      max-width: 113.1rem;
   }
}

.seminar__items {
   margin-top: 4.6rem;
   display: flex;
   flex-direction: column;
   gap: 3.2rem;
}

@media screen and (min-width: 768px) {
   .seminar__items {
      margin-top: 5rem;
   }
}

.seminar__item {
   display: flex;
   flex-direction: column;
   gap: 0.9rem;
}

@media screen and (min-width: 768px) {
   .seminar__item {
      flex-direction: row;
      align-items: center;
      gap: 3rem;
   }
}

.seminar__img {
   overflow: hidden;
   border-radius: 2px;
   background: #d9d9d9;
   aspect-ratio: 531/283;
   width: 100%;
}

@media screen and (min-width: 768px) {
   .seminar__img {
      width: 51.5033947624%;
      flex-shrink: 0;
   }
}

.seminar__img img {
   -o-object-fit: cover;
   object-fit: cover;
   -o-object-position: center;
   object-position: center;
   width: 100%;
   height: 100%;
}

.seminar__body {
   display: flex;
   flex-direction: column;
   gap: 0.8rem;
}

.seminar__time {
   color: #888;
   font-size: 1.4rem;
   font-weight: 400;
   line-height: normal;
}

.seminar__title {
   color: #333;
   font-size: 1.6rem;
   font-weight: 400;
   line-height: normal;
   letter-spacing: -0.01em;
}

@media screen and (min-width: 768px) {
   .seminar__title {
      font-size: 2rem;
   }
}

.seminar__button {
   margin-top: 5.6rem;
}

.m-scroll {
   margin-top: 5rem;
   padding-bottom: 0;
}

@media screen and (min-width: 768px) {
   .m-scroll {
      margin-top: 14.6rem;
   }
}

/* ========== Fixed CTA bar / header catch (グロナビ施策) ========== */
.c-fixed-cta {
   display: none;
   position: fixed;
   top: auto;
   left: 0;
   right: 0;
   bottom: 0;
   width: auto;
   max-width: none;
   z-index: 98;
   pointer-events: auto;
}

.c-fixed-cta__list {
   display: flex;
   align-items: stretch;
   flex-direction: row;
   margin: 0;
   padding: 0;
}

.c-fixed-cta__item {
   flex: 1;
   list-style: none;
}

.c-fixed-cta__button {
   display: flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   font-size: 1.5rem;
   padding: 8px;
   background: #2aa0d0;
   width: auto;
   height: 48px;
   border-radius: 0;
   text-decoration: none;
   box-sizing: border-box;
}

.c-fixed-cta__inner {
   display: flex;
   align-items: center;
   gap: 8px;
   width: auto;
   overflow: hidden;
}

.c-fixed-cta__icon {
   flex: 0 0 auto;
}

.c-fixed-cta__icon img,
.c-icon.-download {
   width: auto;
   height: 2.4rem;
   vertical-align: middle;
}

.c-fixed-cta__label {
   flex: 0 0 auto;
   white-space: nowrap;
}

.c-fixed-cta__button.-accent {
   background: #fff;
   color: #2aa0d0;
   border-top: 1px solid #2aa0d0;
}

.site-main {
   padding-bottom: 0;
}

@media (max-width: 767px) {
   .c-fixed-cta {
      display: block;
   }
}

.br-sp {
   display: block;
}

@media screen and (min-width: 1500px) {
   .br-sp {
      display: none;
   }
}

.cta {
   padding: 5.6rem 0px 7.2rem;
   background-image: linear-gradient(to right, #B5E2FA, #DCDCFF);
}

.cta .c-button1 {
   position: relative;
   display: flex;
   width: 32.7rem;
   padding: 2.4rem 5.6rem;
   justify-content: center;
   align-items: center;
   gap: 0.8rem;
   font-size: 1.8rem;
   font-weight: 500;
   border-radius: 4px;
   line-height: 1;
}

.cta .c-button1:before {
   position: absolute;
   content: "";
   top: 50%;
   right: 2.4rem;
   transform: translateY(-50%);
}

.cta .c-button__head {
   position: absolute;
   font-size: 1.2rem;
   line-height: normal;
   font-weight: 600;
   padding: 1px 1.6rem 4px;
   border-radius: 32px;
   top: 0;
   left: 50%;
   transform: translate(-50%, -50%);
   white-space: nowrap;
}

.cta .c-button1.dl {
   background: #2aa0d0;
   color: #fff;
   border: 1px solid #fff;
}

.cta .c-button1.dl:before {
   background: url(../images/page-inhouse-support/icon-dl.svg) no-repeat center center/contain;
   width: 1.6rem;
   aspect-ratio: 1/1;
}

.cta .c-button1.dl:after {
   position: absolute;
   content: "";
   top: 50%;
   left: 1.6rem;
   transform: translateY(-50%);
   background: url(../images/page-inhouse-support/button-paper.webp) no-repeat center center/contain;
   width: 4.6rem;
   aspect-ratio: 26/38;
}

.cta .c-button1.dl .c-button__head {
   color: #2aa0d0;
   background: #fff;
}

.cta .c-button1.inq {
   background: #fff;
   color: #2aa0d0;
   border: 1px solid #2aa0d0;
}

.cta .c-button1.inq:before {
   background-image: url(../images/page-inhouse-support/icon-arrow-right.svg);
   background-repeat: no-repeat;
   background-size: contain;
   width: 1rem;
   aspect-ratio: 10 / 8;
}

.cta .c-button1.inq .c-button__head {
   color: #fff;
   background: #2aa0d0;
}

@media screen and (min-width: 768px) {
   .cta {
      padding: 11rem 0px;
   }
}

.cta__content {
   margin-top: 5.5rem;
   display: flex;
   flex-direction: column;
   gap: 2.5rem;
}

@media screen and (min-width: 768px) {
   .cta__content {
      margin: 5rem auto 0;
      max-width: 62.4rem;
      gap: 1.6rem;
   }
}

.cta__buttons {
   display: flex;
   flex-direction: column;
   gap: 31px;
}

@media screen and (min-width: 768px) {
   .cta__buttons {
      flex-direction: row;
      gap: 1.6rem;
   }
}

.cta .c-button {
   width: 100%;
   max-width: 100%;
}

@media screen and (min-width: 768px) {
   .cta .c-button {
      width: calc((100% - 1.6rem) / 2);
   }
}

.cta__item {
   padding: 2.1rem 0px;
   display: flex;
   flex-direction: column;
   align-items: center;
   background: #fff;
}

.cta__item-head {
   font-size: 2rem;
   font-weight: 400;
   line-height: normal;
}

.cta__item-tel {
   margin-top: 1.2rem;
   display: flex;
   align-items: center;
   gap: 1.2rem;
}

.cta__item-icon {
   width: 1.2rem;
   display: flex;
   align-items: center;
}

.cta__item-icon img {
   aspect-ratio: 12/17;
}

.cta__item-num {
   font-size: 1.8rem;
   font-weight: 400;
   line-height: normal;
}

.cta__item-data {
   margin-top: 0.5rem;
   font-size: 1.3rem;
   font-weight: 400;
   line-height: normal;
}

.award-number__list {
   display: flex;
   gap: 2rem;
   margin: 3rem 0 0;
}

.award-number__list li {
   padding: 1rem 4rem;
   position: relative;
   list-style: none;
}

.award-number__list li:before {
   background-image: url('../images/page-inhouse-support/award-number-left.svg');
   background-position: 50%;
   background-repeat: no-repeat;
   background-size: contain;
   content: "";
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   width: 4rem;
}

.award-number__list li .title {
   color: #555;
   display: block;
   font-size: 1.6rem;
   font-weight: 400;
   line-height: 1.2;
   text-align: center;
   margin-bottom: 4px;
}

.award-number__list li .number {
   color: #2aa0d0;
   display: block;
   margin: 0 auto;
   position: relative;
}

.award-number__list li .number .count {
   font-family: Inter, sans-serif;
   font-size: 4rem;
   font-weight: 700;
   left: 0;
   line-height: 1.2;
}

.award-number__list li:after {
   background-image: url(../images/page-inhouse-support/award-number-right.svg);
   background-position: 50%;
   background-repeat: no-repeat;
   background-size: contain;
   content: "";
   height: 100%;
   position: absolute;
   right: 0;
   top: 0;
   width: 4rem;
}

.award-number__list li .number .unit {
   font-size: 1.5rem;
   font-weight: 400;
   line-height: 1.2;
   margin: -2px 0 0 3px;
   font-weight: 700;
}

@media screen and (max-width: 768px) {
   .award-number__list {
      display: flex;
      gap: 1rem;
      margin: 1.5rem 0 0;
   }

   .award-number__list li {
      padding: 1rem 3.5rem;
      position: relative;
      list-style: none;
   }

   .award-number__list li:before {
      background-image: url(../images/page-inhouse-support/award-number-left.svg);
      background-position: 50%;
      background-repeat: no-repeat;
      background-size: contain;
      content: "";
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 3rem;
   }

   .award-number__list li .title {
      color: #555;
      display: block;
      font-size: 1.3rem;
      font-weight: 400;
      line-height: 1;
      text-align: center;
      margin-bottom: 4px;
   }

   .award-number__list li .number {
      color: #2aa0d0;
      display: block;
      margin: 0 auto;
      position: relative;
   }

   .award-number__list li .number .count {
      font-family: Inter, sans-serif;
      font-size: 2.6rem;
      font-weight: 700;
      left: 0;
      line-height: 1.1;
   }

   .award-number__list li:after {
      background-image: url(../images/page-inhouse-support/award-number-right.svg);
      background-position: 50%;
      background-repeat: no-repeat;
      background-size: contain;
      content: "";
      height: 100%;
      position: absolute;
      right: 0;
      top: 0;
      width: 3rem;
   }

   .award-number__list li .number .unit {
      font-size: 1.3rem;
      font-weight: 400;
      line-height: 1.1;
      margin: -2px 0 0 2px;
   }
}

#support .photo {
   max-width: 112.1rem;
   margin: 0 auto;
   padding-top: 7rem;
}

@media screen and (max-width: 767px) {
   #support .photo {
      padding-top: 4rem;
   }
}

#seo-llmo-content .strengths__link {
   margin-top: 32px;
}

#seo-llmo-content .strengths__link-button {
   position: relative;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-width: 280px;
   padding: 16px 56px 16px 40px;
   background: #2b9fd6;
   border: 1px solid #2b9fd6;
   border-radius: 4px;
   color: #fff;
   font-size: 16px;
   font-weight: 700;
   line-height: 1.5;
   letter-spacing: 0.05em;
   text-decoration: none;
   transition: background-color 0.3s, color 0.3s;
}

/* 右側の矢印（外部リンク） */
#seo-llmo-content .strengths__link-button::after {
   content: "";
   position: absolute;
   top: 50%;
   right: 24px;
   width: 8px;
   height: 8px;
   border-top: 2px solid currentColor;
   border-right: 2px solid currentColor;
   transform: translateY(-50%) rotate(45deg);
   transition: right 0.3s;
}

#seo-llmo-content .strengths__link-button:hover {
   background: #fff;
   color: #2b9fd6;
   opacity: 1;
}

#seo-llmo-content .strengths__link-button:hover::after {
   right: 20px;
}

@media screen and (max-width: 767px) {
   #seo-llmo-content .strengths__link {
      margin-top: 24px;
      text-align: center;
   }

   #seo-llmo-content .strengths__link-button {
      width: 100%;
      max-width: 320px;
      min-width: 0;
      font-size: 15px;
   }
}