@charset "UTF-8";
/* ==========================================================================
  LP
========================================================================== */
.cta {
  display: flex;
  flex-direction: column;
  gap: max(1.9173333333cqw, 7.19px);
  align-items: center;
}
.cta__catch {
  font-size: max(3.7333333333cqw, 14px);
}
@media (width < 1096px) {
  .cta .button {
    width: 100%;
    min-width: max(80.5333333333cqw, 302px);
  }
}
@media (1096px <= width) {
  .cta {
    gap: 0.5rem;
  }
  .cta__catch {
    font-size: 1rem;
  }
}

.hero {
  overflow: hidden;
}
.hero .heroSuggest {
  display: flex;
  flex-direction: column;
  gap: max(2.6666666667cqw, 10px);
  align-items: center;
  padding: max(3.4666666667cqw, 13px) max(4.2666666667cqw, 16px);
  margin-block: max(3.2cqw, 12px) max(3.4666666667cqw, 13px);
  font-size: max(3.7333333333cqw, 14px);
  font-weight: 700;
  letter-spacing: -0.02em;
  background: #fff;
  border-radius: max(4.2666666667cqw, 16px);
  box-shadow: 0 0 max(2.6506666667cqw, 9.94px) 0 #cae5ff;
  width: max(81.8666666667cqw, 307px);
}
.hero .heroSuggest__worries {
  color: #4a6299;
  letter-spacing: -0.02em;
}
.hero__text {
  color: #4a6299;
}
.hero__awards {
  display: flex;
}
.hero__awards > li {
  flex: 1;
}
@media (width < 1096px) {
  .hero .container__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
  }
  .hero__catch {
    width: max(56.616cqw, 212.31px);
    margin-block: max(3.2666666667cqw, 12.25px) max(3.752cqw, 14.07px);
  }
  .hero__tagline {
    width: max(68cqw, 255px);
    margin-bottom: max(3.696cqw, 13.86px);
  }
  .hero__awards {
    gap: max(3.5066666667cqw, 13.15px);
    width: max(95.2853333333cqw, 357.32px);
    margin-block: max(4.3333333333cqw, 16.25px) max(10.6666666667cqw, 40px);
  }
  .hero__text {
    font-size: max(3.7333333333cqw, 14px);
    line-height: 1.6;
    text-align: center;
    letter-spacing: -0.02em;
  }
  .hero__cta .button {
    width: max(80.5333333333cqw, 302px);
  }
  .hero .team__title {
    margin-bottom: max(2.4cqw, 9px);
    font-size: max(4.8cqw, 18px);
    text-align: center;
  }
  .hero .team__body {
    padding-block: max(4.2666666667cqw, 16px) max(1.8666666667cqw, 7px);
    background: linear-gradient(0deg, #fff 0%, #c0d1f2 100%);
  }
  .hero .team__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: max(77.3333333333cqw, 290px);
    margin-inline: auto;
    margin-bottom: max(6.6666666667cqw, 25px);
    line-height: 1.6;
  }
  .hero .team__list > li {
    flex-shrink: 0;
  }
  .hero .team__list > li:nth-last-of-type(even) {
    border-right: max(0.2666666667cqw, 1px) solid currentColor;
  }
  .hero .team__list a {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    padding-inline: max(2.1333333333cqw, 8px);
    font-size: max(3.7333333333cqw, 14px);
  }
}
@media (1096px <= width) {
  .hero {
    padding-block: 5rem 4.0625rem;
  }
  .hero .container__inner {
    position: relative;
    z-index: 1;
    width: 61.5rem;
    aspect-ratio: 984/743;
  }
  .hero .heroSuggest {
    position: absolute;
    top: 21.25rem;
    right: 0.625rem;
    gap: 0.625rem;
    align-items: flex-start;
    justify-content: center;
    width: 15rem;
    height: 9.5rem;
    padding: 1.375rem 1.0625rem 1.25rem 1.75rem;
    border-radius: 2.25rem;
    box-shadow: 0 0 0.62125rem 0 #cae5ff;
  }
  .hero .heroSuggest__worries {
    font-size: 0.9375rem;
    line-height: 1.6;
  }
  .hero .heroSuggest__catch {
    font-size: 1.125rem;
    line-height: 1.42;
  }
  .hero__catch, .hero__tagline, .hero__cta, .hero__text, .hero__awards {
    position: absolute;
    left: 0;
    z-index: 2;
  }
  .hero__catch {
    position: absolute;
    top: 2rem;
    width: 22.75rem;
  }
  .hero__tagline {
    top: 4.5rem;
    width: 29.4375rem;
  }
  .hero__cta {
    top: 13.25rem;
  }
  .hero__text {
    top: 18rem;
    font-size: 1rem;
    letter-spacing: -0.05em;
  }
  .hero__awards {
    top: 23.875rem;
    gap: 1.25rem;
    width: 33.875rem;
  }
  .hero__image--pc {
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
  }
  .hero .team {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
  }
  .hero .team__title {
    position: relative;
    display: flex;
    gap: 1.75rem;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
  }
  .hero .team__title::before, .hero .team__title::after {
    flex: 1;
    height: 0.0625rem;
    content: "";
    background: #a3b7ce;
  }
  .hero .team__item > span {
    color: #0d1427;
  }
  .hero .team__item:hover {
    opacity: 0.7;
  }
}
@media (1464px <= width) {
  .hero .heroSuggest {
    display: none;
  }
}

@media (1096px <= width) {
  .team__list {
    display: flex;
    gap: 0.785625rem;
    justify-content: space-between;
  }
  .team__item {
    position: relative;
  }
  .team__item > span {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    width: 7rem;
    height: 3.625rem;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.2;
    color: #4a6299;
    text-align: center;
  }
  .team__item::before {
    display: block;
    width: 100%;
    aspect-ratio: 1/1;
    content: "";
    background: top center/cover no-repeat;
  }
  .team__item::after {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 0.1875rem;
    content: "";
  }
  .team__item.--team01::before {
    background-image: url("../img/team01.webp");
  }
  .team__item.--team01::after {
    background: #ff4d4d;
  }
  .team__item.--team02::before {
    background-image: url("../img/team02.webp");
  }
  .team__item.--team02::after {
    background: #ff834d;
  }
  .team__item.--team03 span {
    font-size: 0.875rem;
    line-height: 1.14;
  }
  .team__item.--team03::before {
    background-image: url("../img/team03.webp");
  }
  .team__item.--team03::after {
    background: #f5b747;
  }
  .team__item.--team04::before {
    background-image: url("../img/team04.webp");
  }
  .team__item.--team04::after {
    background: #f2f240;
  }
  .team__item.--team05::before {
    background-image: url("../img/team05.webp");
  }
  .team__item.--team05::after {
    background: #afef41;
  }
  .team__item.--team06::before {
    background-image: url("../img/team06.webp");
  }
  .team__item.--team06::after {
    background: #71e2cd;
  }
  .team__item.--team07::before {
    background-image: url("../img/team07.webp");
  }
  .team__item.--team07::after {
    background: #7390e0;
  }
  .team__item.--team08::before {
    background-image: url("../img/team08.webp");
  }
  .team__item.--team08::after {
    background: #9f73dd;
  }
}

.movie {
  color: #fff;
}
.movie__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: max(29.8666666667cqw, 112px);
  background: top center/cover no-repeat;
  background-image: url("../img/movie_header_bg-sp.webp");
}
.movie__title {
  font-size: max(4.2666666667cqw, 16px);
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  letter-spacing: 0.02em;
}
.movie__title strong {
  font-size: 1.25em;
}
.movie__body {
  background: top center/cover no-repeat;
  background-image: url("../img/movie_body_bg-sp.webp");
  padding-bottom: max(13.008cqw, 48.78px);
}
.movie__cta {
  margin-top: max(9.6826666667cqw, 36.31px);
}
@media (1096px <= width) {
  .movie .container__inner {
    width: 40rem !important;
  }
  .movie__header {
    height: 7.5rem;
    background: top center/cover no-repeat;
    background-image: url("../img/movie_header_bg-pc.webp");
  }
  .movie__title {
    font-size: 1.25rem;
  }
  .movie__body {
    background: top center/cover no-repeat;
    background-image: url("../img/movie_body_bg-pc.webp");
    padding-bottom: 2.75rem;
  }
  .movie__cta {
    margin-top: 1.5rem;
  }
}

.worries {
  position: relative;
  background: #dce6f8;
}
.worries::after {
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  display: block;
  aspect-ratio: 70/24;
  content: "";
  clip-path: polygon(50% 100%, 100% 0, 0 0);
  transform: translateX(-50%);
  height: max(6.4cqw, 24px);
  background: #dce6f8;
}
@media (width < 1096px) {
  .worries {
    padding-block: max(10.9333333333cqw, 41px) max(17.0666666667cqw, 64px);
  }
  .worries__list {
    display: flex;
    flex-direction: column;
    gap: max(5.3333333333cqw, 20px);
    padding: max(6.4cqw, 24px) max(4.2666666667cqw, 16px);
    background: #fff;
    border-radius: max(3.2cqw, 12px);
  }
  .worries__list > li {
    display: flex;
    gap: max(2.1333333333cqw, 8px);
    align-items: center;
    font-size: max(4.8cqw, 18px);
    font-weight: 700;
  }
  .worries__list > li::before {
    aspect-ratio: 1/1;
    content: "";
    background: center/contain no-repeat;
    width: max(4.2666666667cqw, 16px);
    background: top center/contain no-repeat url("../img/worries_check.svg");
  }
}
@media (1096px <= width) {
  .worries {
    padding-block: 1.5rem 2.4375rem;
  }
  .worries::after {
    height: 2rem;
  }
  .worries .container__inner {
    width: 51.5rem !important;
  }
  .worries__list {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
  }
  .worries__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 16.5rem;
    height: 5.5rem;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
    background: #fff;
    border-radius: 0.75rem;
  }
}

.about {
  padding-top: max(12.8cqw, 48px);
}
.about__header {
  text-align: center;
}
.about__header strong {
  color: #0277e2;
}
.about__tagline {
  margin-bottom: max(4.2666666667cqw, 16px);
  font-size: max(6.9333333333cqw, 26px);
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
.about__tagline strong {
  font-weight: inherit;
}
.about__catch {
  margin-bottom: max(6.4cqw, 24px);
  font-size: max(4.2666666667cqw, 16px);
  font-weight: 700;
  line-height: 1.6;
  color: #4a6299;
}
.about__list {
  display: flex;
  flex-wrap: wrap;
  gap: max(4.2666666667cqw, 16px) max(0.8cqw, 3px);
}
.about__list > li {
  flex-basis: calc((100% - max(0.8cqw, 3px)) / 2);
}
.about .aboutTeam {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: max(4.2666666667cqw, 16px) max(3.2cqw, 12px) max(4.656cqw, 17.46px);
  background: #fff;
}
.about .aboutTeam::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: max(0.8cqw, 3px);
  height: max(48.5333333333cqw, 182px);
  content: "";
}
.about .aboutTeam__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: max(10.272cqw, 38.52px);
  margin-bottom: max(2.1333333333cqw, 8px);
  font-size: max(4.8cqw, 18px);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.about .aboutTeam__list {
  display: flex;
  flex-direction: column;
  gap: max(1.8346666667cqw, 6.88px);
  font-size: max(3.7333333333cqw, 14px);
  font-weight: 400;
}
.about .aboutTeam__list > li {
  display: flex;
  gap: max(1.1333333333cqw, 4.25px);
  align-items: center;
}
.about .aboutTeam__list > li::before {
  font-size: 0.4em;
  color: #dce6f8;
  content: "■";
}
.about .aboutTeam__etc {
  margin-top: max(2.1333333333cqw, 8px);
  font-size: max(3.4666666667cqw, 13px);
  font-weight: 400;
  color: #4a6299;
}
.about .aboutTeam__num {
  position: absolute;
  top: max(2.8cqw, 10.5px);
  right: max(2.8cqw, 10.5px);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: max(8.4373333333cqw, 31.64px);
  font-weight: 700;
  letter-spacing: 0.02em;
}
.about .aboutTeam__icon {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  order: -1;
  height: max(12.8cqw, 48px);
  margin-bottom: max(2.1333333333cqw, 8px);
}
.about .aboutTeam.--team01::after {
  background: #ff4d4d;
}
.about .aboutTeam.--team01 .aboutTeam__num {
  color: #ff4d4d;
}
.about .aboutTeam.--team02::after {
  background: #ff834d;
}
.about .aboutTeam.--team02 .aboutTeam__num {
  color: #ff834d;
}
.about .aboutTeam.--team03::after {
  background: #f5b747;
}
.about .aboutTeam.--team03 .aboutTeam__num {
  color: #f5b747;
}
.about .aboutTeam.--team04::after {
  background: #f2f240;
}
.about .aboutTeam.--team04 .aboutTeam__num {
  color: #f2f240;
}
.about .aboutTeam.--team05::after {
  background: #afef41;
}
.about .aboutTeam.--team05 .aboutTeam__num {
  color: #afef41;
}
.about .aboutTeam.--team06::after {
  background: #71e2cd;
}
.about .aboutTeam.--team06 .aboutTeam__num {
  color: #71e2cd;
}
.about .aboutTeam.--team07::after {
  background: #7390e0;
}
.about .aboutTeam.--team07 .aboutTeam__num {
  color: #7390e0;
}
.about .aboutTeam.--team08::after {
  background: #9f73dd;
}
.about .aboutTeam.--team08 .aboutTeam__num {
  color: #9f73dd;
}
@media (width < 1096px) {
  .about .container__inner {
    width: max(95.7333333333cqw, 359px);
  }
  .about__lead {
    height: max(68cqw, 255px);
    overflow: hidden;
  }
  .about__body {
    padding-block: max(6.6666666667cqw, 25px) max(6.3413333333cqw, 23.78px);
    background: #dce6f8;
  }
  .about__catch2 {
    margin-bottom: max(4.2666666667cqw, 16px);
    font-size: max(3.7333333333cqw, 14px);
    text-align: center;
  }
  .about__listTitle {
    width: max(36.5333333333cqw, 137px);
    margin-inline: auto;
  }
  .about__list {
    padding-block: max(6.4cqw, 24px);
  }
  .about .aboutTeam__title span {
    font-size: max(4cqw, 15px);
  }
  .about .aboutTeam.--team03 .aboutTeam__title, .about .aboutTeam.--team07 .aboutTeam__title {
    font-size: max(4.5333333333cqw, 17px);
    letter-spacing: -0.02em;
  }
}
@media (1096px <= width) {
  .about {
    padding-block: 5rem 1.3125rem;
  }
  .about__header {
    padding-bottom: 1.0625rem;
  }
  .about__tagline {
    margin-bottom: 0.75rem;
    font-size: 2.25rem;
  }
  .about__catch {
    margin-bottom: 0;
    font-size: 1rem;
    line-height: 2;
  }
  .about__lead {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.6;
    color: #4a6299;
  }
  .about__lead strong {
    padding: 0.5rem 0.375rem;
    font-size: 1.5rem;
    font-weight: 900;
    line-height: 1.33;
    border-bottom: 0.375rem solid #cae5ff;
  }
  .about__body {
    position: relative;
    padding-block: 1rem 1.583125rem;
  }
  .about__body::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 74.8%;
    content: "";
    background: #dce6f8;
    transform: translate(-50%, -50%);
  }
  .about__list {
    position: relative;
    z-index: 2;
    gap: 1.5rem;
    width: 51rem;
  }
  .about__list > li {
    flex-basis: calc((100% - 3rem) / 3);
  }
  .about__listTitle {
    width: 11rem;
  }
  .about .aboutTeam {
    padding: 1.25rem 2.25rem 1.5rem;
    box-shadow: 0.125rem 0.125rem 0.625rem 0 rgba(161, 177, 207, 0.5);
  }
  .about .aboutTeam:has(.about__listTitle) {
    justify-content: center;
    padding: 0.25rem 1.25rem 0.5rem;
    background: #dce6f8;
    border: 0.5rem solid #fff;
  }
  .about .aboutTeam::after {
    width: 0.1875rem;
    height: 11.375rem;
  }
  .about .aboutTeam__title {
    height: 3.5rem;
    font-size: 1.25rem;
  }
  .about .aboutTeam__title span {
    font-size: 1.25rem;
  }
  .about .aboutTeam__list {
    gap: 0.625rem;
  }
  .about .aboutTeam__list > li {
    font-size: 1rem;
  }
  .about .aboutTeam__etc {
    margin-top: 0.5rem;
    font-size: 0.875rem;
  }
  .about .aboutTeam__num {
    top: 0.9375rem;
    right: 1rem;
    font-size: 2.875rem;
  }
  .about .aboutTeam__icon {
    height: 4.125rem;
    margin-bottom: 0.625rem;
  }
  .about .aboutTeam.--team04 .aboutTeam__title, .about .aboutTeam.--team05 .aboutTeam__title {
    flex-direction: row;
  }
}

.services {
  padding-block: max(6.4cqw, 24px) max(19.2cqw, 72px);
  background: #dce6f8;
}
@media (width < 1096px) {
  .services .tab__note {
    display: flex;
    flex-direction: column;
    gap: max(2.1333333333cqw, 8px);
    align-items: center;
    padding: max(4.2666666667cqw, 16px);
    margin-bottom: max(5.6cqw, 21px);
    font-size: max(3.7333333333cqw, 14px);
    line-height: 1.82;
    color: #4a6299;
    text-align: center;
    border: max(0.2666666667cqw, 1px) solid #a3b7ce;
  }
  .services .tab__note::before {
    width: max(16cqw, 60px);
    aspect-ratio: 60/31;
    line-height: 1;
    content: "";
    background: top center/contain no-repeat url("../img/tab_scroll.svg");
  }
}
@media (1096px <= width) {
  .services .tab__note {
    margin-bottom: 0.5rem;
    font-size: 1rem;
    line-height: 1.6;
    color: #000;
    text-align: center;
  }
}
.services .tab__list button[role=tab] {
  cursor: pointer;
}
@media (width < 1096px) {
  .services .tab__list {
    display: flex;
    overflow-x: auto;
    white-space: nowrap;
  }
}
@media (1096px <= width) {
  .services .tab__list {
    margin-bottom: 2rem;
  }
}
.services .tab__panel {
  background: #fff;
}
@media (width < 1096px) {
  .services .team__list {
    display: flex;
  }
  .services .team__item {
    position: relative;
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: max(29.8666666667cqw, 112px);
    height: max(15.4666666667cqw, 58px);
    margin-bottom: max(1.6cqw, 6px);
    font-size: max(3.7333333333cqw, 14px);
    font-weight: 700;
    line-height: 1.2;
    color: #4a6299;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .services .team__item::after {
    position: absolute;
    top: 100%;
    left: 0;
    display: block;
    width: 100%;
    height: max(1.6cqw, 6px);
    content: "";
  }
  .services .team__item[aria-selected=true] {
    color: #0d1427;
  }
  .services .team__item[aria-selected=true]::after {
    background: #ff4d4d;
  }
  .services .team__item[aria-selected=false]::after {
    height: max(0.2666666667cqw, 1px);
    background: #a3b7ce;
  }
  .services .team__item.--team01[aria-selected=true]::after {
    background: #ff4d4d;
  }
  .services .team__item.--team02[aria-selected=true]::after {
    background: #ff834d;
  }
  .services .team__item.--team03[aria-selected=true]::after {
    background: #f5b747;
  }
  .services .team__item.--team04[aria-selected=true]::after {
    background: #f2f240;
  }
  .services .team__item.--team05[aria-selected=true]::after {
    background: #afef41;
  }
  .services .team__item.--team06[aria-selected=true]::after {
    background: #71e2cd;
  }
  .services .team__item.--team07[aria-selected=true]::after {
    background: #7390e0;
  }
  .services .team__item.--team08[aria-selected=true]::after {
    background: #9f73dd;
  }
}
@media (1096px <= width) {
  .services .team__item {
    position: relative;
  }
  .services .team__item:hover span, .services .team__item[aria-selected=true] span {
    color: #0d1427;
    font-weight: 700;
  }
  .services .team__item:hover::after, .services .team__item[aria-selected=true]::after {
    height: 0.1875rem !important;
  }
  .services .team__item[aria-selected=false]::after {
    height: 0.0625rem;
    background: #a3b7ce;
  }
  .services .team__item.--team01:hover::before, .services .team__item.--team01[aria-selected=true]::before {
    background-image: url("../img/team01.webp") !important;
  }
  .services .team__item.--team01:hover::after, .services .team__item.--team01[aria-selected=true]::after {
    background: #ff4d4d;
  }
  .services .team__item.--team01[aria-selected=false]::before {
    background-image: url("../img/team01-off.webp");
  }
  .services .team__item.--team02:hover::before, .services .team__item.--team02[aria-selected=true]::before {
    background-image: url("../img/team02.webp") !important;
  }
  .services .team__item.--team02:hover::after, .services .team__item.--team02[aria-selected=true]::after {
    background: #ff834d;
  }
  .services .team__item.--team02[aria-selected=false]::before {
    background-image: url("../img/team02-off.webp");
  }
  .services .team__item.--team03:hover::before, .services .team__item.--team03[aria-selected=true]::before {
    background-image: url("../img/team03.webp") !important;
  }
  .services .team__item.--team03:hover::after, .services .team__item.--team03[aria-selected=true]::after {
    background: #f5b747;
  }
  .services .team__item.--team03[aria-selected=false]::before {
    background-image: url("../img/team03-off.webp");
  }
  .services .team__item.--team04:hover::before, .services .team__item.--team04[aria-selected=true]::before {
    background-image: url("../img/team04.webp") !important;
  }
  .services .team__item.--team04:hover::after, .services .team__item.--team04[aria-selected=true]::after {
    background: #f2f240;
  }
  .services .team__item.--team04[aria-selected=false]::before {
    background-image: url("../img/team04-off.webp");
  }
  .services .team__item.--team05:hover::before, .services .team__item.--team05[aria-selected=true]::before {
    background-image: url("../img/team05.webp") !important;
  }
  .services .team__item.--team05:hover::after, .services .team__item.--team05[aria-selected=true]::after {
    background: #afef41;
  }
  .services .team__item.--team05[aria-selected=false]::before {
    background-image: url("../img/team05-off.webp");
  }
  .services .team__item.--team06:hover::before, .services .team__item.--team06[aria-selected=true]::before {
    background-image: url("../img/team06.webp") !important;
  }
  .services .team__item.--team06:hover::after, .services .team__item.--team06[aria-selected=true]::after {
    background: #71e2cd;
  }
  .services .team__item.--team06[aria-selected=false]::before {
    background-image: url("../img/team06-off.webp");
  }
  .services .team__item.--team07:hover::before, .services .team__item.--team07[aria-selected=true]::before {
    background-image: url("../img/team07.webp") !important;
  }
  .services .team__item.--team07:hover::after, .services .team__item.--team07[aria-selected=true]::after {
    background: #7390e0;
  }
  .services .team__item.--team07[aria-selected=false]::before {
    background-image: url("../img/team07-off.webp");
  }
  .services .team__item.--team08:hover::before, .services .team__item.--team08[aria-selected=true]::before {
    background-image: url("../img/team08.webp") !important;
  }
  .services .team__item.--team08:hover::after, .services .team__item.--team08[aria-selected=true]::after {
    background: #9f73dd;
  }
  .services .team__item.--team08[aria-selected=false]::before {
    background-image: url("../img/team08-off.webp");
  }
}
@media (1096px <= width) {
  .services {
    padding-block: 2.375rem 4.5rem;
  }
}
.services .servicesItem {
  display: flex;
  flex-direction: column;
}
.services .servicesItem__body {
  padding-inline: max(5.3333333333cqw, 20px);
}
.services .servicesItem__unit {
  display: flex;
  flex-direction: column;
}
.services .servicesItem__header {
  border-bottom: max(0.2666666667cqw, 1px) solid #a3b7ce;
}
.services .servicesItem__heading {
  display: block;
  margin-bottom: max(2.1333333333cqw, 8px);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: max(3.7333333333cqw, 14px);
  letter-spacing: 0.15em;
}
.services .servicesItem__title {
  font-size: max(6.4cqw, 24px);
  font-weight: 700;
  letter-spacing: 0.02em;
}
.services .servicesItem__summary {
  margin-block: max(6.4cqw, 24px);
  font-size: max(4.8cqw, 18px);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
.services .servicesItem__catch {
  margin-block: max(4.8cqw, 18px) max(6.4cqw, 24px);
  font-size: max(5.8666666667cqw, 22px);
  font-weight: 700;
  line-height: 1.45;
  color: #0277e2;
  letter-spacing: 0.02em;
}
.services .servicesItem__catch span {
  display: inline-block;
  font-size: max(4.2666666667cqw, 16px);
  font-weight: 500;
  line-height: 1.6;
}
.services .servicesItem__text {
  font-size: max(4.2666666667cqw, 16px);
  line-height: 1.6;
}
.services .servicesItem__text mark {
  background: #fcf87a;
}
.services .servicesItem__text p + p {
  margin-top: 2em;
}
.services .servicesItem__note {
  margin-top: max(2.1333333333cqw, 8px);
  font-size: max(3.7333333333cqw, 14px);
  font-weight: 400;
  color: #4a6299;
}
.services .servicesItem__listWrap {
  margin-block: 0 max(12.8cqw, 48px);
}
.services .servicesItem__listTitle {
  font-size: max(4.8cqw, 18px);
  font-weight: 700;
  line-height: 1.77;
  color: #0277e2;
  text-align: center;
  letter-spacing: 0.02em;
}
.services .servicesItem__list {
  border-block: max(0.8cqw, 3px) solid #0277e2;
}
.services .servicesItem__list > li {
  display: flex;
  gap: max(4.2666666667cqw, 16px);
  align-items: center;
  padding-block: max(3.7333333333cqw, 14px) max(3.4666666667cqw, 13px);
  font-size: max(4.2666666667cqw, 16px);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.02em;
  border-bottom: max(0.2666666667cqw, 1px) dotted #0277e2;
}
.services .servicesItem__list > li:last-of-type {
  border: 0;
}
.services .servicesItem__list img {
  flex-shrink: 0;
  width: max(19.2cqw, 72px);
  max-width: max(19.2cqw, 72px);
}
.services .servicesItem__list span {
  flex: 1;
}
.services .servicesItem__data {
  display: flex;
  flex-direction: column;
}
.services .servicesItem__page {
  position: absolute;
  top: max(6.4cqw, 24px);
  right: max(5.3333333333cqw, 20px);
  font-size: max(3.7333333333cqw, 14px);
  color: #4a6299;
  letter-spacing: 0.15em;
}
.services .servicesItem.--team01 .servicesItem__heading,
.services .servicesItem.--team01 .servicesItem__num {
  color: #ff4d4d;
}
.services .servicesItem.--team02 .servicesItem__heading,
.services .servicesItem.--team02 .servicesItem__num {
  color: #ff834d;
}
.services .servicesItem.--team03 .servicesItem__heading,
.services .servicesItem.--team03 .servicesItem__num {
  color: #f5b747;
}
.services .servicesItem.--team04 .servicesItem__heading,
.services .servicesItem.--team04 .servicesItem__num {
  color: #f2f240;
}
.services .servicesItem.--team05 .servicesItem__heading,
.services .servicesItem.--team05 .servicesItem__num {
  color: #afef41;
}
.services .servicesItem.--team06 .servicesItem__heading,
.services .servicesItem.--team06 .servicesItem__num {
  color: #71e2cd;
}
.services .servicesItem.--team06 .servicesItem__catch span {
  color: #4a6299;
}
.services .servicesItem.--team07 .servicesItem__heading,
.services .servicesItem.--team07 .servicesItem__num {
  color: #7390e0;
}
.services .servicesItem.--team08 .servicesItem__heading,
.services .servicesItem.--team08 .servicesItem__num {
  color: #9f73dd;
}
@media (width < 1096px) {
  .services .servicesItem {
    position: relative;
    padding-block: max(6.4cqw, 24px);
  }
  .services .servicesItem__catch {
    margin-right: max(-6.4cqw, -24px);
  }
  .services .servicesItem__image {
    margin-bottom: max(6.4cqw, 24px);
  }
  .services .servicesItem__body {
    margin-bottom: max(12.8cqw, 48px);
  }
  .services .servicesItem__list {
    width: max(79.7333333333cqw, 299px);
    margin-inline: auto;
  }
  .services .servicesItem__service, .services .servicesItem__data {
    width: max(79.7333333333cqw, 299px);
    margin-inline: auto;
  }
  .services .servicesItem__service--full, .services .servicesItem__data--full {
    width: 100%;
  }
  .services .servicesItem__service {
    margin-bottom: max(12.8cqw, 48px);
  }
  .services .servicesItem .cta {
    margin-top: max(12.8cqw, 48px);
  }
  .services .servicesItem .cta .button {
    width: max(80.5333333333cqw, 302px);
  }
  .services .servicesItem.--team01 .servicesItem__data + .servicesItem__data {
    margin-top: max(4.2666666667cqw, 16px);
  }
  .services .servicesItem.--team02 .servicesItem__listWrap {
    margin-block: max(12.8cqw, 48px) 0;
  }
  .services .servicesItem.--team03 .servicesItem__service {
    margin-bottom: 0;
  }
  .services .servicesItem.--team07 .servicesItem__list > li {
    gap: 0;
  }
}
@media (1096px <= width) {
  .services .servicesItem {
    flex-direction: row;
    padding-bottom: 2rem;
  }
  .services .servicesItem__num {
    flex-shrink: 0;
    order: 3;
    width: 6.375rem;
    padding: 1rem 1.875rem 0 1.6875rem;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 2.875rem;
    font-weight: 700;
    letter-spacing: 0.02em;
  }
  .services .servicesItem__body {
    display: flex;
    flex-direction: column;
    order: 1;
    padding: 1.5rem 2.625rem 0 2rem;
  }
  .services .servicesItem__contents {
    flex: 1;
  }
  .services .servicesItem__unit {
    flex-shrink: 0;
    gap: 1.5rem;
    order: 2;
    width: 22.5rem;
  }
  .services .servicesItem__header {
    border-width: 0.0625rem;
  }
  .services .servicesItem__heading {
    margin-bottom: 0.5rem;
    font-size: 0.875rem;
  }
  .services .servicesItem__title {
    font-size: 2.25rem;
  }
  .services .servicesItem__summary {
    margin-block: 1rem 2.5rem;
    font-size: 1.125rem;
  }
  .services .servicesItem__catch {
    margin-block: 2.5rem 1rem;
    font-size: 1.375rem;
  }
  .services .servicesItem__catch span {
    font-size: 1rem;
  }
  .services .servicesItem__text {
    font-size: 1rem;
  }
  .services .servicesItem__note {
    margin-top: 0.5rem;
    font-size: 0.875rem;
  }
  .services .servicesItem__listWrap {
    margin-block: 3.4375rem;
  }
  .services .servicesItem__listTitle {
    font-size: 1.125rem;
  }
  .services .servicesItem__list {
    border-width: 0.1875rem;
  }
  .services .servicesItem__list > li {
    gap: 1rem;
    height: 5rem;
    padding-block: 0;
    font-size: 1rem;
    border-width: 0.0625rem;
  }
  .services .servicesItem__list img {
    width: 4.5rem;
    max-width: 4.5rem;
  }
  .services .servicesItem__chart {
    margin-top: 3.5625rem;
  }
  .services .servicesItem .cta .button {
    width: 100%;
  }
  .services .servicesItem.--team02 .servicesItem__catch {
    letter-spacing: 0.015em;
  }
}

.benefits {
  padding-block: max(4.2666666667cqw, 16px) max(21.3333333333cqw, 80px);
  background: top center/cover no-repeat url("../img/benefits_bg-sp.webp");
}
.benefits__title {
  width: 100%;
  margin-inline: auto;
}
.benefits__body {
  padding-block: max(4.2666666667cqw, 16px);
  margin-inline: auto;
}
.benefits__list {
  display: flex;
  flex-direction: column;
  gap: max(12.8cqw, 48px);
  padding-top: max(7.4666666667cqw, 28px);
}
.benefits .benefitsItem {
  filter: drop-shadow(max(0.5333333333cqw, 2px) max(0.5333333333cqw, 2px) max(2.6666666667cqw, 10px) rgba(161, 177, 207, 0.5));
}
.benefits .benefitsItem__header {
  position: relative;
  padding: max(10.6666666667cqw, 40px) max(4.2666666667cqw, 16px) max(3.2cqw, 12px);
  background: #0277e2;
  border-radius: max(2.1333333333cqw, 8px) max(2.1333333333cqw, 8px) 0 0;
}
.benefits .benefitsItem__header::after {
  position: absolute;
  top: 50%;
  right: max(4.2666666667cqw, 16px);
  display: block;
  content: "";
  background: top center/contain no-repeat;
  transform: translateY(-50%);
}
.benefits .benefitsItem.--item01 .benefitsItem__header::after {
  width: max(23.664cqw, 88.74px);
  aspect-ratio: 109/94;
  background-image: url("../img/benefits_title_img01.svg");
}
.benefits .benefitsItem.--item02 .benefitsItem__header::after {
  width: max(17.656cqw, 66.21px);
  aspect-ratio: 84/96;
  background-image: url("../img/benefits_title_img02.svg");
}
.benefits .benefitsItem.--item03 .benefitsItem__header::after {
  width: max(28.8cqw, 108px);
  aspect-ratio: 121/86;
  background-image: url("../img/benefits_title_img03.svg");
}
.benefits .benefitsItem.--item04 .benefitsItem__header::after {
  width: max(15.2cqw, 57px);
  aspect-ratio: 57/71;
  background-image: url("../img/benefits_title_img04.svg");
}
.benefits .benefitsItem__num {
  position: absolute;
  top: max(-7.4666666667cqw, -28px);
  left: max(8.5333333333cqw, 32px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: max(14.9333333333cqw, 56px);
  aspect-ratio: 1/1;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: max(12.8cqw, 48px);
  font-weight: 700;
  color: #fff;
  text-align: center;
  letter-spacing: 0.02em;
  background: #0277e2;
  border-radius: 100vmax;
}
.benefits .benefitsItem__num span {
  line-height: 1;
  transform: translateY(-0.08em);
}
.benefits .benefitsItem__title {
  font-size: max(4.8cqw, 18px);
  font-weight: 700;
  line-height: 1.42;
  color: #fff;
  letter-spacing: -0.02em;
}
.benefits .benefitsItem__title span {
  font-size: max(3.7333333333cqw, 14px);
}
.benefits .benefitsItem__body {
  padding: max(3.7333333333cqw, 14px) max(4.2666666667cqw, 16px) max(6.4cqw, 24px);
  font-size: max(4.2666666667cqw, 16px);
  line-height: 1.6;
  background: #fff;
  border-radius: 0 0 max(2.1333333333cqw, 8px) max(2.1333333333cqw, 8px);
}
@media (1096px <= width) {
  .benefits {
    padding-bottom: 5rem;
    background-image: url("../img/benefits_bg-pc.webp");
  }
  .benefits__title {
    width: 34.4375rem;
  }
  .benefits__body {
    width: 51.5rem;
    padding-block: 1rem;
    opacity: 1;
    transition: opacity 0.5s;
  }
  .benefits__body.is-visible {
    opacity: 1;
  }
  .benefits__list {
    flex-flow: row wrap;
    gap: 3rem 1.5rem;
    padding-top: 2rem;
  }
  .benefits__list > li {
    flex-basis: calc((100% - 1.5rem) / 2);
  }
  .benefits .benefitsItem__header {
    padding: 3.3125rem 2rem 1rem;
    border-radius: 0.5rem 0.5rem 0 0;
    filter: drop-shadow(0.125rem 0.125rem 0.625rem 0 rgba(161, 177, 207, 0.5));
  }
  .benefits .benefitsItem__header::after {
    right: 2rem;
  }
  .benefits .benefitsItem.--item01 .benefitsItem__header::after {
    width: 6.8125rem;
  }
  .benefits .benefitsItem.--item02 .benefitsItem__header::after {
    width: 5.25rem;
  }
  .benefits .benefitsItem.--item03 .benefitsItem__header::after {
    width: 7.5625rem;
  }
  .benefits .benefitsItem.--item04 .benefitsItem__header::after {
    width: 3.5625rem;
  }
  .benefits .benefitsItem__num {
    top: -2rem;
    left: 1.75rem;
    width: 4rem;
    font-size: 3.555625rem;
  }
  .benefits .benefitsItem__title {
    font-size: 1.25rem;
    line-height: 1.6;
    letter-spacing: 0;
  }
  .benefits .benefitsItem__title span {
    font-size: 1rem;
  }
  .benefits .benefitsItem__body {
    padding: 0.875rem 2rem 1.5rem;
    font-size: 1rem;
    border-radius: 0 0 0.5rem 0.5rem;
  }
}

.comparison {
  padding-block: max(12.8cqw, 48px) max(25.808cqw, 96.78px);
  background: #e7f3ff;
}
.comparison .container__inner {
  align-items: center;
}
.comparison__title {
  margin-bottom: max(10.6666666667cqw, 40px);
  font-size: max(4.2666666667cqw, 16px);
  font-weight: 900;
  line-height: 1.6;
  text-align: center;
  letter-spacing: 0.02em;
}
.comparison__title span {
  display: block;
  margin-top: max(2.1333333333cqw, 8px);
  font-size: max(6.9333333333cqw, 26px);
}
.comparison__title strong {
  color: #0277e2;
  font-weight: 900;
}
.comparison__note {
  margin-block: max(8.5333333333cqw, 32px) max(10.6666666667cqw, 40px);
  font-size: max(3.7333333333cqw, 14px);
  line-height: 1.6;
}
@media (width < 1096px) {
  .comparison__note {
    display: flex;
    flex-direction: column;
    gap: max(4.2666666667cqw, 16px);
    width: max(80cqw, 300px);
    margin-inline: auto;
  }
  .comparison__note p {
    margin-left: 4em;
    line-height: 1.6;
    text-indent: -4em;
  }
}
@media (1096px <= width) {
  .comparison {
    padding-block: 3.25rem 4.5rem;
  }
  .comparison__chart {
    width: 38.5rem;
  }
  .comparison__title {
    margin-bottom: 2rem;
    font-size: 1.375rem;
  }
  .comparison__title span {
    margin-block: 0.5rem;
    font-size: 2.25rem;
  }
  .comparison__note {
    margin-block: 1.5rem 4rem;
    font-size: 0.875rem;
  }
}

.case {
  padding-block: max(12.8cqw, 48px) max(25.6cqw, 96px);
}
.case .container__inner {
  width: 100% !important;
  max-width: 100%;
}
@media (1464px <= width) {
  .case .container__inner {
    width: calc(100% - min(19.1666666667vw, 368px)) !important;
  }
}
.case__item {
  width: max(79.7333333333cqw, 299px);
  padding: max(4.2666666667cqw, 16px);
  margin-inline: auto;
  border: max(0.2666666667cqw, 1px) solid #0277e2;
  border-radius: max(9.6cqw, 36px);
  box-shadow: 0 max(2.1333333333cqw, 8px) 0 0 #0277e2;
}
.case__item mark {
  border-bottom: max(0.5333333333cqw, 2px) solid #0277e2;
}
.case__unit {
  display: flex;
  flex-direction: column;
}
.case__profileWrap {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: max(4.2666666667cqw, 16px);
}
.case__face {
  width: max(27.7333333333cqw, 104px);
}
.case__profile {
  display: flex;
  flex-direction: column;
  gap: max(2.1333333333cqw, 8px);
  justify-content: flex-end;
  color: #4a6299;
}
.case__company {
  font-size: max(4.2666666667cqw, 16px);
  font-weight: 700;
}
.case__name {
  font-size: max(4.2666666667cqw, 16px);
  line-height: 1.6;
}
.case__category {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding: max(1.0666666667cqw, 4px) max(2.1333333333cqw, 8px);
  font-size: max(3.2cqw, 12px);
  color: #fff;
  background: #0277e2;
}
.case__title {
  margin-bottom: max(8.8cqw, 33px);
  font-size: max(5.3333333333cqw, 20px);
  font-weight: 700;
  line-height: 1.6;
}
.case__text {
  font-size: max(4cqw, 15px);
  line-height: 1.7;
}
.case__detailsTitle {
  padding: max(2.1333333333cqw, 8px) max(4.2666666667cqw, 16px);
  margin-bottom: max(2.1333333333cqw, 8px);
  font-size: max(4.8cqw, 18px);
  font-weight: 700;
  line-height: 1;
  color: #0277e2;
  border-bottom: max(0.2666666667cqw, 1px) solid currentColor;
  border-left: max(1.0666666667cqw, 4px) solid currentColor;
}
.case__detailsText {
  font-size: max(4.2666666667cqw, 16px);
  font-weight: 400;
  line-height: 1.6;
}
.case__before {
  padding-block: max(4.2666666667cqw, 16px);
}
.case__after {
  padding-top: max(4.2666666667cqw, 16px);
  border-top: max(0.2666666667cqw, 1px) solid #0277e2;
}
.case__wrapper.is-hidden {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: all 0.5s ease;
}
.case__wrapper.is-visible {
  max-height: 9999px;
  opacity: 1;
  transition: all 0.5s ease;
}
.case__toggle {
  display: flex;
  gap: max(2.1333333333cqw, 8px);
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: max(5.6cqw, 21px) max(3.7333333333cqw, 14px);
  font-size: max(3.7333333333cqw, 14px);
  font-weight: 700;
  color: #0277e2;
  text-align: center;
  cursor: pointer;
  background: none;
  border: max(0.2666666667cqw, 1px) solid currentColor;
  border-radius: 100vmax;
  transition: all 0.3s ease;
}
.case__toggle::after {
  display: inline-block;
  width: max(4.5253333333cqw, 16.97px);
  height: max(5.8586666667cqw, 21.97px);
  content: "";
  background: center/contain no-repeat;
}
.case__toggle.is-close::after {
  background-image: url("../img/case_toggle-close.svg");
}
.case__toggle.is-open::after {
  background-image: url("../img/case_toggle-open.svg");
}
.case__link {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding-block: max(2.1333333333cqw, 8px);
  margin-inline: auto;
  font-size: max(4.2666666667cqw, 16px);
  font-weight: 700;
  border-bottom: max(0.5333333333cqw, 2px) solid #0277e2;
}
.case__link:hover, .case__link:focus {
  opacity: 0.5;
}
.case .splide__pagination {
  right: auto;
  bottom: auto;
  left: 50%;
  padding: 0;
}
.case .splide__pagination__page {
  position: relative;
  background: center/contain no-repeat;
  opacity: 1;
}
.case .splide__pagination__page.is-active {
  transform: scale(1);
}
.case .splide__pagination__page.is-active::after {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  width: 125%;
  height: 125%;
  content: "";
  border: max(0.8cqw, 3px) solid #0277e2;
  border-radius: 100vmax;
  transform: translate(-50%, -50%);
}
.case .splide__pagination__page[aria-controls=splide01-slide01] {
  background-image: url("../img/case_fase01.webp");
}
.case .splide__pagination__page[aria-controls=splide01-slide02] {
  background-image: url("../img/case_fase02.webp");
}
.case .splide__pagination__page[aria-controls=splide01-slide03] {
  background-image: url("../img/case_fase03.webp");
}
.case .splide__arrow {
  opacity: 1;
}
@media (width < 1096px) {
  .case .section__title {
    margin-bottom: max(23.7333333333cqw, 89px);
  }
  .case__profile {
    align-items: flex-end;
  }
  .case__name {
    text-align: right;
  }
  .case__contents {
    margin-bottom: max(4.2666666667cqw, 16px);
  }
  .case .splide__track {
    padding-block: max(6.4cqw, 24px) max(8.5333333333cqw, 32px);
  }
  .case .splide__pagination {
    top: max(-15.2cqw, -57px);
    gap: max(4.2666666667cqw, 16px);
    justify-content: center;
    width: 100%;
    transform: translateX(-50%);
  }
  .case .splide__pagination__page {
    width: max(10.96cqw, 41.1px);
    height: max(10.96cqw, 41.1px);
  }
  .case .splide__arrow {
    width: max(9.0506666667cqw, 33.94px);
    height: max(9.0506666667cqw, 33.94px);
    background: center/contain no-repeat;
  }
  .case .splide__arrow--prev {
    background-image: url("../img/case_prev-sp.svg");
  }
  .case .splide__arrow--next {
    background-image: url("../img/case_next-sp.svg");
  }
}
@media (1096px <= width) {
  .case {
    padding-block: 5.5rem 8rem;
  }
  .case .splide__track {
    padding-block: 1.5rem 2rem;
  }
  .case .splide__slide {
    width: 37.875rem !important;
    transform: translateY(0);
    transition: all 0.1s;
    opacity: 0.6;
  }
  .case .splide__slide.is-active {
    transform: translateY(-1.5rem);
    opacity: 1;
    transition: all 0.1s;
  }
  .case .splide__pagination {
    top: -6.4375rem;
    gap: 1.375rem;
    transform: translateX(calc(-50% + 14.5rem));
  }
  .case .splide__pagination__page {
    width: 3.5rem;
    height: 3.5rem;
  }
  .case .splide__pagination__page.is-active::after {
    border-width: 0.1875rem;
  }
  .case .splide__arrows {
    position: relative;
    width: 7.5rem;
    height: 3.5rem;
  }
  .case .splide__arrow {
    width: 3.5rem;
    height: 3.5rem;
    background: center/contain no-repeat;
  }
  .case .splide__arrow--prev {
    left: 0;
    background-image: url("../img/case_prev-pc.svg");
  }
  .case .splide__arrow--next {
    right: 0;
    background-image: url("../img/case_next-pc.svg");
  }
  .case__item {
    width: 100%;
    width: 33.875rem;
    padding: 1.5rem;
    margin-inline: auto;
    border-width: 0.0625rem;
    border-radius: 2.25rem;
    box-shadow: 0 0.5rem 0 0 #0277e2;
  }
  .case__item mark {
    border-width: 0.125rem;
  }
  .case__unit {
    flex-direction: row;
    gap: 2.5rem;
  }
  .case__profileWrap {
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1rem;
  }
  .case__face {
    width: 9rem;
  }
  .case__profile {
    gap: 0.5rem;
  }
  .case__company {
    font-size: 1rem;
  }
  .case__name {
    font-size: 1rem;
  }
  .case__category {
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
  }
  .case__title {
    margin-bottom: 2.0625rem;
    font-size: 1.25rem;
  }
  .case__text {
    font-size: 0.9375rem;
  }
  .case__detailsTitle {
    padding: 0.5rem 1rem;
    margin-bottom: 0.5rem;
    font-size: 1.125rem;
    border-bottom-width: 0.0625rem;
    border-left-width: 0.25rem;
  }
  .case__detailsText {
    font-size: 1rem;
  }
  .case__before {
    padding-bottom: 1rem;
  }
  .case__after {
    padding-top: 1rem;
    border-width: 0;
  }
  .case__toggle {
    gap: 0.5rem;
    padding: 1.25rem;
    margin-bottom: 1rem;
    font-size: 1rem;
    border-width: 0.0625rem;
  }
  .case__toggle::after {
    width: 1.060625rem;
    height: 1.373125rem;
    margin-left: 1rem;
  }
  .case__footer {
    position: absolute;
    top: 100%;
    left: 50%;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
    width: 33.875rem;
    transform: translateX(-50%);
  }
  .case__link {
    padding-block: 0.5rem;
    margin-inline: 0;
    font-size: 1rem;
    border-width: 0.125rem;
  }
}

.faq {
  padding-block: max(12.8cqw, 48px) max(25.6cqw, 96px);
  background: #e7f3ff;
}
@media (1096px <= width) {
  .faq {
    padding-block: 2.5rem 4.5rem;
  }
}
.faq__wrap {
  display: flex;
  flex-direction: column;
  gap: max(4.2666666667cqw, 16px);
}
@media (1096px <= width) {
  .faq__wrap {
    gap: 1rem;
  }
}
.faq__item {
  background: #fff;
}
.faq__q, .faq__a {
  display: flex;
  gap: max(3.7333333333cqw, 14px);
  align-items: center;
  justify-content: space-between;
  line-height: 1.6;
}
.faq__q {
  align-items: center;
  width: 100%;
  padding: max(4.2666666667cqw, 16px);
  font-size: max(4.2666666667cqw, 16px);
}
.faq__q::before {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: max(6.4cqw, 24px);
  color: #0277e2;
  content: "Q";
}
.faq__q::after {
  aspect-ratio: 1/1;
  content: "";
  background: center/contain no-repeat;
  filter: invert(28%) sepia(91%) saturate(1911%) hue-rotate(194deg) brightness(95%) contrast(99%);
  flex-shrink: 0;
  width: max(6.4cqw, 24px);
  margin-block: auto;
  background-image: url("../img/icon_faq-close.svg");
}
.faq__q__text {
  flex-grow: 1;
}
@media (1096px <= width) {
  .faq__q {
    gap: 1.5rem;
    padding: 1.6875rem 1.5rem;
    font-size: 1.125rem;
    line-height: 1;
  }
  .faq__q::before {
    font-size: 1.5rem;
  }
  .faq__q::after {
    width: 1.5rem;
  }
}
.faq__item.is-open .faq__q::after {
  background-image: url("../img/icon_faq-open.svg");
}
.faq__a {
  align-items: flex-start;
  padding: max(4.2666666667cqw, 16px);
  font-size: max(4.2666666667cqw, 16px);
  border: solid #a3b7ce;
  border-width: max(0.2666666667cqw, 1px) max(0.8cqw, 3px) 0 max(0.8cqw, 3px);
}
@media (1096px <= width) {
  .faq__a {
    padding: 1rem 4.125rem;
    font-size: 1rem;
    border-width: 0.0625rem 0.1875rem 0 0.1875rem;
  }
}
.faq__a__body {
  flex: 1;
}
.faq__a__body p {
  line-height: 1.6;
}
.faq .accordion__panel[aria-hidden=true] .faq__a {
  padding-block: 0;
}

#Contact {
  padding-block: max(12.8cqw, 48px) 0;
}
#Contact .form__wrap .form__input .wpcf7-form-control-wrap {
  background: #eff5ff;
}
#Contact .container__inner {
  max-width: 771px;
}
@media (width < 1096px) {
  #Contact .form__wrap .button {
    width: max(90.4cqw, 339px);
  }
}
@media (1096px <= width) {
  #Contact {
    padding-block: 4.5625rem 3.5rem;
  }
}

@media (768px <= width < 1096px) {
  body {
    background: #cae5ff;
  }
}

.wrap {
  position: relative;
  z-index: 1;
}
@media (768px <= width < 1096px) {
  .wrap {
    width: calc(100% - 23rem);
    margin-right: 23rem;
  }
}
@media (1096px <= width < 1464px) {
  .wrap {
    width: 100%;
    margin-right: 0;
  }
}
@media (1464px <= width) {
  .wrap {
    width: calc(100% - 23rem);
    margin-right: 23rem;
  }
}

.fixContact {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  container-type: inline-size;
}
.fixContact__toggle {
  position: fixed;
  top: 6rem;
  right: 0;
  z-index: 888;
  width: 2.75rem;
  cursor: pointer;
  transition: all 0.5s;
}
.fixContact__body {
  position: fixed;
  top: 0;
  width: 100%;
  padding-block: max(6.6666666667vw, 25px);
  background: #4a6299;
  transition: all 0.5s;
}
.fixContact[aria-hidden=false] .fixContact__body {
  right: 0;
  opacity: 1;
}
.fixContact .container__inner {
  width: max(85.3333333333vw, 320px);
}
.fixContact .contact__title {
  margin-bottom: max(6.6666666667vw, 25px);
  font-size: max(5.8666666667vw, 22px);
  font-weight: 700;
  color: #fff;
  text-align: center;
  letter-spacing: 0.05em;
}
@media (1096px <= width) {
  .fixContact .form .screen-reader-response > p {
    margin-bottom: min(1.25vw, 24px);
  }
}
@media (1096px <= width) {
  .fixContact .form .form__wrap {
    margin-bottom: min(0.8333333333vw, 16px);
  }
}
@media (1096px <= width) {
  .fixContact .form .form__wrap .form__contents {
    margin-bottom: min(1.0416666667vw, 20px);
  }
}
@media (1096px <= width) {
  .fixContact .form .form__wrap .form__head {
    margin-bottom: min(0.4166666667vw, 8px);
    font-size: min(0.8333333333vw, 16px);
  }
}
@media (1096px <= width) {
  .fixContact .form .form__wrap .form__head.-require span::after {
    padding: min(0.1041666667vw, 2px) min(0.2083333333vw, 4px);
    margin: auto 0 auto min(0.4166666667vw, 8px);
    font-size: min(0.7291666667vw, 14px);
  }
}
.fixContact .form .form__wrap .form__head .form__text {
  color: #fff;
}
@media (1096px <= width) {
  .fixContact .form .form__wrap .form__head .form__text {
    margin-top: min(0.5208333333vw, 10px);
    font-size: min(0.625vw, 12px);
  }
}
@media (1096px <= width) {
  .fixContact .form .form__wrap .form__input {
    margin-bottom: min(0.625vw, 12px);
  }
}
@media (1096px <= width) {
  .fixContact .form .form__wrap .form__input.-half {
    gap: min(0.4166666667vw, 8px);
  }
}
@media (1096px <= width) {
  .fixContact .form .form__wrap .form__input.-half .wpcf7-form-control-wrap {
    width: calc(50% - min(0.2083333333vw, 4px));
  }
}
@media (1096px <= width) {
  .fixContact .form .form__wrap .form__input .wpcf7-not-valid-tip {
    font-size: min(0.625vw, 12px);
  }
}
@media (1096px <= width) {
  .fixContact .form .form__wrap .form__input .wpcf7-form-control-wrap {
    height: min(2.9166666667vw, 56px);
    font-size: min(0.8333333333vw, 16px);
    border-width: min(0.0520833333vw, 1px);
    border-radius: min(0.2083333333vw, 4px);
  }
}
@media (1096px <= width) {
  .fixContact .form .form__wrap .form__input .wpcf7-form-control-wrap input,
  .fixContact .form .form__wrap .form__input .wpcf7-form-control-wrap select,
  .fixContact .form .form__wrap .form__input .wpcf7-form-control-wrap textarea {
    padding: min(0.6770833333vw, 13px);
  }
}
@media (1096px <= width) {
  .fixContact .form .form__wrap .form__input.-textarea {
    height: 100%;
    min-height: 100%;
  }
}
@media (1096px <= width) {
  .fixContact .form .form__wrap .form__input.-select::after {
    right: min(0.8333333333vw, 16px);
    width: min(0.625vw, 12px);
    height: min(0.625vw, 12px);
  }
}
@media (1096px <= width) {
  .fixContact .form .form__wrap .form__input.-privacy {
    height: min(6.4583333333vw, 124px);
    padding: min(0.8333333333vw, 16px) min(1.0416666667vw, 20px) min(0.8333333333vw, 16px) min(0.625vw, 12px);
    font-size: min(0.8333333333vw, 16px);
    border-width: min(0.0520833333vw, 1px);
    border-radius: min(0.2083333333vw, 4px);
  }
}
@media (1096px <= width) {
  .fixContact .form .form__wrap .agree__wrap {
    margin: 0 0 min(0.8333333333vw, 16px);
    font-size: min(0.9375vw, 18px);
  }
}
@media (1096px <= width) {
  .fixContact .form .form__wrap .agree__wrap .agree__text {
    margin-bottom: min(0.8333333333vw, 16px);
    font-size: min(0.7291666667vw, 14px);
  }
}
@media (1096px <= width) {
  .fixContact .form .form__wrap .agree__wrap label {
    font-size: min(0.8333333333vw, 16px);
  }
}
@media (1096px <= width) {
  .fixContact .form .form__wrap .agree__wrap input[type=checkbox] {
    width: min(0.9375vw, 18px);
    height: min(0.9375vw, 18px);
    margin-right: min(0.4166666667vw, 8px);
  }
}
.fixContact .form__wrap .form__head {
  color: #fff;
}
.fixContact .form__wrap .form__head.-require span::after {
  color: #4a6299;
  background: #fcf87a;
}
.fixContact .form__wrap .form__input .wpcf7-not-valid-tip {
  color: #fcf87a;
}
.fixContact .form__wrap .agree__wrap {
  color: #fff;
}
@media (width < 768px) {
  .fixContact__toggle {
    display: none;
  }
  .fixContact__body {
    display: none;
  }
}
@media (768px <= width < 1096px) {
  .fixContact__toggle {
    display: none;
  }
  .fixContact__body {
    right: 0;
    width: 23rem;
    padding-block: 1.5625rem;
    height: 100dvh;
    overflow-y: auto;
  }
  .fixContact .contact__title {
    margin-bottom: 1.5625rem;
    font-size: 1.375rem;
  }
  .fixContact .container__inner {
    width: 20rem;
  }
  .fixContact .button {
    width: 100%;
  }
}
@media (1096px <= width) {
  .fixContact {
    z-index: 999;
  }
  .fixContact__body {
    right: -23rem;
    width: 23rem;
    padding-block: 0;
    height: 100dvh;
    padding-block: 1.5625rem;
    overflow-y: auto;
  }
  .fixContact[aria-hidden=false] .fixContact__toggle {
    right: 23rem;
  }
  .fixContact .contact__title {
    margin-bottom: 1.5625rem;
    font-size: 1.375rem;
  }
  .fixContact .container__inner {
    width: 20rem;
  }
  .fixContact .button {
    width: 100%;
    padding: min(0.0520833333vw, 1px);
    font-size: min(0.9375vw, 18px);
    border-width: min(0.0520833333vw, 1px);
  }
  .fixContact .button::after {
    right: min(1.0416666667vw, 20px);
    width: min(1.5625vw, 30px);
    height: min(1.5625vw, 30px);
  }
  .fixContact .button span {
    padding: min(0.9895833333vw, 19px) min(3.75vw, 72px) min(0.9895833333vw, 19px) min(2.6041666667vw, 50px);
    border-width: min(0.2083333333vw, 4px);
  }
  .fixContact .button .wpcf7-submit {
    padding: min(0.9895833333vw, 19px) min(3.75vw, 72px) min(0.9895833333vw, 19px) min(2.6041666667vw, 50px);
    font-size: min(0.9375vw, 18px);
    border-width: min(0.2083333333vw, 4px);
  }
}
@media (1464px <= width) {
  .fixContact__toggle {
    display: none;
  }
  .fixContact__body {
    right: 0;
  }
}