/* Common */

.acurePage {
  overflow: hidden;
}

.toTopButton {
  bottom: 20px;
  display: block;
  max-width: clamp(120px, 40vw, 150px);
  opacity: 0;
  position: fixed;
  right: 20px;
  visibility: hidden;
  z-index: 5;
}

.seoTitle {
  border: 0;
  clip: rect(0 0 0 0);
  height: 0.0625rem;
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 0.0625rem;
}

.top__headingGroup {
  background: #fff;
  border-radius: 40px 40px 0 0;
  margin: 0 auto;
  max-width: 413px;
  padding: 36px 0 8px;
  position: relative;
  text-align: center;
  width: 100%;
}

.top__headingGroup::before,
.top__headingGroup::after {
  background: url(../../images/acure/icon-corner_curve.svg) no-repeat center / cover;
  bottom: -1px;
  content: "";
  height: 39px;
  position: absolute;
  width: 39px;
}

.top__headingGroup::before {
  left: -35.8px;
}

.top__headingGroup::after {
  right: -35.8px;
  transform: scaleX(-1);
}

.top__lead {
  color: var(--colorPrimary);
  font-family: var(--familyPoppins);
  font-size: clamp(37.008px, 26.656px + 2.07vw, 49.008px);
  font-weight: 700;
  line-height: 1;
}

.top__title {
  color: var(--colorPrimary);
  font-weight: 700;
  line-height: 2.18;
}

.container {
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .top__headingGroup {
    max-width: 84vw;
    padding-top: 30px;
  }
  .top__title {
    font-size: var(--fontMax14Min12);
  }
  .toTopButton {
    display: none;
  }
}

/* Main Visual */

.mv {
  position: relative;
  z-index: 1;
}

.mv--first {
  background: linear-gradient(to bottom, #fff 0%, #fff 56%, #b2f3a6 56%, #deffd8 100%);
  height: 59.7222vw;
}

.mv__bg {
  left: 50%;
  position: absolute;
  top: -1vw;
  transform: translateX(-50%);
  width: 91.18vw;
  z-index: -1;
}

.mv__contents {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.mv__column {
  padding-top: 25.3472vw;
  position: relative;
  z-index: 1;
}

.mv__people {
  position: absolute;
  z-index: -1;
}

.mv__people1 {
  left: -3.0556vw;
  top: -5.4vw;
  width: 19.0278vw;
}

.mv__people1.first {
  top: 19.6528vw;
}

.mv__people2 {
  left: 4.7917vw;
  top: 15.8333vw;
  width: 9.7222vw;
}

.mv__people2.first {
  left: 9.0278vw;
  top: 39.375vw;
}

.mv__people3 {
  left: 36.1806vw;
  top: 5vw;
  width: 4.3056vw;
}

.mv__people3.first {
  left: 60.625vw;
  top: 29.8611vw;
}

.mv__people4 {
  left: 39.2361vw;
  top: 14.4278vw;
  width: 5.5556vw;
}

.mv__people4.first {
  left: 71.5972vw;
  top: 39.6528vw;
}

.mv__people5 {
  right: 40.9722vw;
  top: 10.7361vw;
  width: 6.3889vw;
}

.mv__people6 {
  right: -13.7639vw;
  top: 1.2vw;
  width: 25vw;
}

.mv__people6.first {
  right: -5.0639vw;
  top: 25.3472vw;
}

.mv__people7 {
  left: 21.25vw;
  top: 42.2917vw;
  width: 6.4583vw;
}

.mv__people8 {
  left: 28.0556vw;
  top: 28.0556vw;
  width: 8.5417vw;
}

.mv__people9 {
  left: 80.9722vw;
  top: 39.0278vw;
  width: 14.5833vw;
}

.mv__column--blue {
  background: linear-gradient(to bottom, transparent 0%, transparent 56.2%, #a1ecfc 56.2%, #ccf6ff 100%);
}

.mv__column--green {
  background: linear-gradient(to bottom, transparent 0%, transparent 56.2%, #b2f3a6, 56.2%, #deffd8 100%);
}

.mv__display {
  display: flex;
  gap: 0.2778vw;
  justify-content: center;
  position: relative;
}

.mv__figure {
  align-items: center;
  display: grid;
  grid-template-rows: 21.6667vw auto;
  justify-items: center;
  position: relative;
  text-align: center;
  width: 16.875vw;
}

.mv__figure.firstFigure {
  left: 50%;
  position: absolute;
  top: 23.5vw;
  gap: 5vw;
  transform: translateX(-50%);
}

.mv__figcaption {
  background: #fff;
  border: 0.125rem solid #28ab84;
  border-radius: 18.75rem;
  color: #28ab84;
  font-size: clamp(12px, 1.1111vw, 1.1111vw);
  font-weight: 700;
  left: 50%;
  line-height: 1.4;
  padding: 0.9722vw 1.25vw;
  position: absolute;
  top: -9.7vw;
  transform: translateX(-50%);
  width: max-content;
}

.mv__column--blue .mv__figcaption {
  border: 0.125rem solid #3c9ce6;
  color: #3c9ce6;
}

.mv__figcaption br {
  display: none;
}

.mv__figcaption::after {
  bottom: -0.8vw;
  content: "";
  display: block;
  height: 0.9722vw;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 1.5278vw;
}

.mv__column--green .mv__figcaption::after {
  background: url(../../images/acure/icon-mv_point_green.svg) no-repeat center / cover;
}

.firstFigure .mv__figcaption::after {
  background: url(../../images/acure/icon-mv_point_green.svg) no-repeat center / cover;
  bottom: -0.9028vw;
}

.mv__column--blue .mv__figcaption::after {
  background: url(../../images/acure/icon-mv_point_blue.svg) no-repeat center / cover;
}

.mv__machine1 {
  aspect-ratio: 122 / 280;
  width: 12.8vw;
}

.mv__machine2 {
  aspect-ratio: 161 / 265;
  width: 11.1806vw;
}

.mv__machine3 {
  aspect-ratio: 151 / 280;
  width: 10.4861vw;
}

.mv__figureButtonText {
  height: calc(100% - 0.2778vw);
  width: calc(100% - 0.2778vw);
}

.mv__subtitle {
  margin: 2.7778vw auto 0;
  max-width: 41.6667vw;
}

.mv__firstSubtitle {
  bottom: 0;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 29.7222vw;
}

.mvDots--first {
  bottom: 0;
  bottom: 0;
  left: 22.9167vw;
  position: absolute;
  width: 59.7917vw;
}

@media screen and (min-width: 767px) and (max-width: 1100px) {
  .mv__figcaption {
    top: -8vw;
  }
  .mv__figcaption br {
    display: block;
  }
  .mv__figcaption:has(br) {
    top: -6.2vw;
  }
  .mv__figureButton {
    max-width: calc(100% - 26px);
    min-height: 28px;
  }
  .mv__figure {
    grid-template-rows: 24.6667vw auto;
  }
  .mv__figure.firstFigure {
    grid-template-rows: 25vw;
    grid-template-rows: 25vw auto;
    top: 22.5vw;
    gap: 3.5vw;
  }
  .mv__machine1 {
    width: 13vw;
  }
  .mv__machine2 {
    height: 80%;
    width: auto;
  }
  .mv__machine3 {
    height: 85%;
    width: auto;
  }
  .mv--first {
    background: linear-gradient(to bottom, #fff 0%, #fff 54.5%, #b2f3a6 54.5%, #deffd8 100%);
    height: 61.7222vw;
  }
  .firstFigure .mv__figcaption::after {
    bottom: -0.8333vw;
  }
}

@media screen and (max-width: 767px) {
  .mv__bg {
    position: relative;
    width: 100%;
  }
  .mv__contents {
    display: flex;
    flex-direction: column;
  }
  .mv__column {
    padding: 4.2667vw 0 5.0667vw;
  }
  .mv__column--green {
    background: linear-gradient(to bottom, #b2f3a6, 0%, #deffd8 100%);
  }
  .mv__column--blue {
    background: linear-gradient(to bottom, #a1ecfc 0%, #ccf6ff 100%);
  }
  .mv__figcaption {
    font-size: 3.4667vw;
    left: unset;
    padding: 2.1333vw 3.2vw;
    position: relative;
    top: unset;
    transform: unset;
  }
  .firstFigure .mv__figcaption {
    padding: 1.6vw 3.2vw;
  }
  .mv__column--blue .mv__display {
    display: grid;
    grid-template-columns: auto auto;
  }
  .mv__column--blue .mv__figure:first-child {
    grid-column: 2;
    grid-row: 1;
  }
  .mv__column--blue .mv__figure:last-child {
    grid-column: 1;
    grid-row: 1;
  }
  .mv__figure {
    gap: 2.6667vw;
    grid-template-rows: auto 1fr auto;
    width: 100%;
  }
  .mv__figure.firstFigure {
    top: 4.2667vw;
    gap: 4.5vw;
  }
  .mv__people:not(.first) {
    display: none;
  }
  .mv__people.first {
    z-index: 1;
  }
  .mv__machine1 {
    width: 16vw;
  }
  .mv__machine2 {
    width: 21.0667vw;
  }
  .mv__machine3 {
    width: 18.6667vw;
  }
  .mv__figureButton {
    box-shadow: 0 0.25rem 0 0.1875rem #036983;
    font-size: 3.2vw;
    height: 8.5333vw;
    max-width: 37.3333vw;
    width: 37.3333vw;
  }
  .mv__figureButton::before {
    height: 3.2vw;
    left: 2.9333vw;
    transform: translateY(-50%);
    width: 3.2vw;
  }
  .mv__figureButtonText {
    height: calc(100% - 1.0667vw);
    width: calc(100% - 1.0667vw);
  }
  .firstFigure .mv__figcaption::after,
  .mv__figcaption::after {
    bottom: -1.6vw;
    height: 1.8667vw;
    width: 2.6667vw;
  }
  .mv__subtitle {
    margin-top: 7.2667vw;
  }
  .mv__column--green .mv__subtitle {
    max-width: 39.7333vw;
  }
  .mv__column--blue .mv__subtitle {
    max-width: 88.8vw;
  }
  .mv--first {
    background: #fff;
    height: 100%;
  }
  .mv__firstContents {
    background: linear-gradient(to bottom, #b2f3a6 0%, #deffd8 100%);
    height: 82.9333vw;
    position: relative;
  }
  .mv__firstSubtitle {
    bottom: 0;
    width: 60.5333vw;
  }
  .mvDots--first {
    display: none;
  }
  .mv__people1.first {
    left: -8vw;
    top: 7.7333vw;
    width: 29.0667vw;
  }

  .mv__people2.first {
    left: 9.3333vw;
    top: 37.8667vw;
    width: 15.4667vw;
  }

  .mv__people3.first {
    left: 65.0667vw;
    top: 23.2vw;
    width: 6.6667vw;
  }

  .mv__people4.first {
    left: 77.3333vw;
    top: 38.4vw;
    width: 8.5333vw;
  }

  .mv__people6.first {
    right: -16vw;
    top: 16.2667vw;
    width: 38.1333vw;
  }

  .mv__people8.first {
    left: 24.5333vw;
    top: 21.6vw;
    width: 13.0667vw;
  }

  .mv__people7.first,
  .mv__people9.first {
    display: none;
  }
}

/* About */

.about {
  overflow: hidden;
  position: relative;
}

.about__heading {
  background: linear-gradient(to right, #deffd8 0%, #deffd8 50%, #ccf6ff 50%, #ccf6ff 100%);
  padding-top: 26px;
}

.acurePage:has(.mv--first) .about__heading {
  background: #deffd8;
}

.about__contents {
  padding: 100px 20px;
  position: relative;
  z-index: 1;
}

.about__contentsBg {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 28px);
  z-index: -1;
}

.about .container {
  display: grid;
  gap: clamp(26px, 2.7778vw, 40px);
  grid-template-columns: 1fr 1fr;
  max-width: 1080px;
}

.about .container.singleAbout {
  display: flex;
  max-width: 56.25rem;
}

.about__article {
  background: #fff;
  border: 0.25rem solid;
  border-radius: 20px;
  display: grid;
  gap: 24px;
  padding: 35.2px;
  position: relative;
}

.about__article--left {
  border-color: #c2eeba;
}

.about__article--right {
  border-color: #b0e1ec;
}

.about__title {
  margin: 0 auto;
  position: relative;
  width: 100%;
}

.about__article--left .about__title {
  max-width: 324px;
}

.about__article--right .about__title {
  max-width: 340px;
}

.about__coloredText {
  font-size: var(--fontMax14Min12);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 2;
  text-align: center;
}

.about__article--left .about__coloredText {
  color: #009769;
}

.about__article--right .about__coloredText {
  color: #156fb4;
}

.about__coloredText .for-sp {
  display: none;
}

.about__icon {
  position: absolute;
}

.about__article--left .about__icon {
  bottom: -18%;
  left: -1.25rem;
  width: 11.875rem;
}

.about__article--right .about__icon {
  bottom: -15%;
  right: -21.8%;
  width: 240px;
}

.about__line {
  display: block;
  height: 5px;
}

.about__article--left .about__line {
  background: url(../../images/acure/icon-colored_dot_line.svg) repeat-x;
  background-position: 0 0;
  background-size: 3.9375rem 0.375rem;
}

.about__article--right .about__line {
  background: url(../../images/acure/icon-colored_dot_line2.svg) repeat-x;
  background-position: 0 0;
  background-size: 3.9375rem 0.375rem;
}

.about__text {
  text-align: center;
}

.about__notice {
  display: grid;
  font-size: 0.875rem;
  font-weight: 400;
  gap: 0.125rem;
  grid-template-columns: auto 1fr;
  padding: 0 1.25rem;

  .star {
    color: #28ab84;
  }
}

@media screen and (max-width: 767px) {
  .about {
    top: -1px;
  }

  .about::before {
    content: "";
    background: #deffd8;
    width: 100vw;
    display: block;
    height: 8px;
    top: -4px;
    position: absolute;
    z-index: 1;
  }
  
  .about .container {
    gap: 40px;
    grid-template-columns: 1fr;
  }
  .about__heading {
    background: #ccf6ff;
  }
  .about__contents {
    padding: 20px;
  }
  .about__icon {
    display: none;
  }
  .about__article {
    padding: 20px;
  }
  .about__article--left .about__title {
    max-width: 223px;
  }
  .about__article--right .about__title {
    max-width: 233px;
  }
  .about__text {
    margin-top: -8px;
    text-align: start;
  }
  .about__notice {
    padding: 0 0.625rem;
    font-size: 0.75rem;
  }
  .about__coloredText {
    margin: 0 -10px;
  }
  .about__coloredText .for-sp {
    display: block;
  }
  .about__coloredText .for-pc {
    display: none;
  }
}

/* Flow */

.flow {
  background-color: #e8f9ff;
  background-image: url(../../images/acure/bk-pattern-blue.jpg);
  background-repeat: repeat;
  margin-top: 160px;
  position: relative;
}

.flow .top__headingGroup {
  background: transparent;
}

.flow .top__headingGroup::before,
.flow .top__headingGroup::after,
.qna__heading .top__headingGroup::before,
.qna__heading .top__headingGroup::after {
  background: url(../../images/acure/icon-corner_curve_blue.svg) no-repeat center / cover;
}

.flow__heading {
  background: inherit;
  border-radius: 40px 40px 0 0;
  left: 50%;
  max-width: 413px;
  position: absolute;
  top: 0;
  transform: translate(-50%, -100%);
  width: 100vw;
}

.flow__heading .top__headingGroup {
  background: transparent;
}

.flow__body {
  padding: 80px 20px 211px;
}

.flow__body .container {
  max-width: 772px;
}

.flow__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.flow__item {
  display: grid;
  gap: clamp(22px, 4.14vw, 32px);
  grid-template-columns: 140px 1fr;
}

.flow__counter {
  align-items: flex-end;
  display: flex;
  height: 140px;
  justify-content: flex-end;
  position: relative;
  width: 140px;
}

.flow__number {
  left: 0;
  position: absolute;
  top: 0;
  z-index: 1;
}

.flow__bottle {
  max-width: 42px;
  z-index: -1;
}

.flow__numberText {
  color: #fff;
  font-family: var(--familyInter);
  font-size: 8px;
  left: 50%;
  line-height: 1;
  position: absolute;
  text-align: center;
  top: 38%;
  transform: translateX(-50%);
}

.flow__numberText span {
  font-size: 19px;
}

.flow__icon {
  max-height: 120px;
  max-width: 120px;
}

.flow__contents {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.flow__title {
  color: var(--colorPrimary);
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 10px;
}

.flow__text {
  font-size: 14px;
  font-weight: 400;
}

.flow__subtitle {
  color: var(--colorPrimary);
  font-size: 14px;
  font-weight: 700;
}

.flow__subitem {
  display: grid;
  font-size: 14px;
  font-weight: 400;
  gap: 4px;
  grid-template-columns: auto 1fr;
}

.flow__subnumber {
  color: var(--colorPrimary);
}

.disclaimer {
  color: #545454;
  font-size: 12px;
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  .flow__heading {
    width: 84vw;
  }
  .flow__body {
    padding: 20px 20px 150px;
  }
  .flow__item {
    gap: 16px;
    grid-template-columns: 98px 1fr;
  }
  .flow__counter {
    height: 98px;
    width: 98px;
  }
  .flow__icon {
    height: 84px;
    width: 84px;
  }
  .flow__numberText {
    font-size: 6px;
  }
  .flow__numberText span {
    font-size: 14px;
  }
  .flow__bottle {
    max-width: 30px;
  }
  .flow__title {
    font-size: var(--fontMax18Min16);
  }
  .flow__text,
  .flow__subtitle,
  .flow__subitem,
  .disclaimer {
    font-size: var(--fontMax14Min12);
  }
}

/* News */

.news {
  background-color: #fff;
  background-image: url(../../images/acure/bk-pattern-white.jpg);
  background-repeat: repeat;
  position: relative;
}

.news__heading {
  background: inherit;
  border-radius: 40px 40px 0 0;
  left: 50%;
  max-width: 413px;
  position: absolute;
  top: 0;
  transform: translate(-50%, -100%);
  width: 100vw;
}

.news__heading .top__headingGroup {
  background: transparent;
}

.news__body {
  padding: 100px 20px 231px;
}

.news__body .container {
  max-width: 1080px;
}

.news__list {
  display: flex;
  flex-direction: column;
}

.news__item {
  border-bottom: 0.0625rem solid #dee4ee;
  display: grid;
  gap: 16px;
  grid-template-columns: 10px auto 1fr;
  padding: 24px 16px;
}

.news__dot {
  background: #53ceee;
  border-radius: 50%;
  display: block;
  height: 10px;
  margin-top: 9px;
  width: 10px;
}

.news__date {
  color: #828282;
  font-size: 14px;
  line-height: 2;
}

.news__title,
.news__link {
  letter-spacing: 0.02em;
}

.news__link {
  color: var(--colorLink);
  text-decoration: underline;
  text-underline-offset: 0.125rem;
}

.news__body .acureCta {
  margin: 40px auto 0;
}

@media screen and (max-width: 767px) {
  .news__heading {
    width: 84vw;
  }
  .news__body {
    padding: 20px 20px 170.8px;
  }
  .news__link,
  .news__title {
    grid-column: span 3;
  }
  .news__item {
    gap: 8px 10px;
  }
  .news__date {
    font-size: var(--fontMax14Min12);
  }
  .news__dot {
    margin-top: 7.5008px;
  }
}

/* Q & A */

.qna {
  background-color: #e8f9ff;
  background-image: url(../../images/acure/bk-pattern-blue.jpg);
  background-repeat: repeat;
  position: relative;
}

.qna__heading {
  background: inherit;
  border-radius: 40px 40px 0 0;
  left: 50%;
  max-width: 413px;
  position: absolute;
  top: 0;
  transform: translate(-50%, -100%);
  width: 100vw;
}

.qna__heading .top__headingGroup {
  background: transparent;
}

.qna .container {
  max-width: 800px;
}

.qna__body {
  padding: 80px 20px;
}

.qna__list {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.qna__item {
  display: flex;
  flex-direction: column;
  z-index: 1;
}

.qna__question {
  display: grid;
  gap: 21px;
  grid-template-columns: 70px 1fr;
}

.qna__answer {
  align-self: flex-end;
  display: grid;
  gap: 26px;
  grid-template-columns: 1fr 70px;
  max-width: 563px;
  place-items: flex-end;
  width: calc(100% - 60px);
}

.qna__questionBox,
.qna__answerBox {
  background: #fff;
  border: 0.1875rem solid #31bae4;
  border-radius: 16px 16px 16px 0;
  display: grid;
  gap: 10px;
  grid-template-columns: auto 1fr;
  padding: 16px 20px;
  position: relative;
  width: fit-content;
}

.qna__answerBox::after {
  background: url(../../images/acure/icon-a_tip.svg) no-repeat center / cover;
  bottom: -1px;
  content: "";
  height: 18px;
  position: absolute;
  right: -16px;
  width: 18px;
}

.qna__questionBox::before {
  background: url(../../images/acure/icon-q_tip.svg) no-repeat center / cover;
  bottom: -0.1875rem;
  content: "";
  height: 1.5rem;
  left: -1.25rem;
  position: absolute;
  width: 1.3125rem;
  z-index: 2;
}

.qna__questionBox::after {
  background: #fff;
  bottom: 0.25rem;
  content: "";
  height: 0.75rem;
  left: 0;
  position: absolute;
  width: 1rem;
  z-index: 2;
}

.qna__answerBox {
  background: #30afcf;
  border: none;
  border-radius: 16px 16px 0 16px;
  margin-top: -20px;
  padding-top: 30px;
  width: 100%;
  z-index: -1;
}

.qna__questionQ,
.qna__answerA {
  color: var(--colorPrimary);
  font-family: var(--familyInter);
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.4;
}

.qna__answerA {
  color: #fff;
}

.qna__questionText,
.qna__answerText {
  color: var(--colorPrimary);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.qna__answerText {
  color: #fff;
  font-size: 16px;
}

.qna__body .acureCta {
  margin: 40px auto 0;
}

@media screen and (max-width: 767px) {
  .qna__heading {
    width: 84vw;
  }

  .qna .container {
    padding: 0 15px;
  }
  .qna__questionIcon,
  .qna__answerIcon {
    display: none;
  }
  .qna__question,
  .qna__answer {
    display: flex;
  }
  .qna__answer {
    width: calc(100% - 48.8px);
  }
  .qna__questionBox {
    padding: 10px 20px;
  }
  .qna__questionQ,
  .qna__answerA {
    font-size: 22px;
  }
  .qna__questionText,
  .qna__answerText {
    font-size: var(--fontMax16Min14);
  }
  .qna__body {
    padding-bottom: clamp(20px, 5.21vw, 40px);
  }
}

/* Contact */

.contact {
  padding-top: 96px;
  position: relative;
}

.contact__building {
  bottom: 0;
  position: absolute;
}

.contact__building--left {
  left: 0;
  max-width: clamp(90px, 9.375vw, 135px);
}

.contact__building--right {
  max-width: clamp(100px, 10.2778vw, 148px);
  right: 0;
}

.contact__container {
  background: #0caad3;
  border-radius: 80px 80px 0 0;
  margin: 0 auto;
  max-width: clamp(600px, 61.3889vw, 884px);
  padding: 60px 20px;
  position: relative;
  text-align: center;
  width: 100%;
}

.contact__container::before,
.contact__container::after {
  background: url(../../images/acure/icon-contact_curve.svg) no-repeat center / cover;
  bottom: -2px;
  content: "";
  display: block;
  height: 78px;
  position: absolute;
  width: 78px;
}

.contact__container::before {
  left: -77px;
}

.contact__container::after {
  right: -77px;
  transform: scaleX(-1);
}

.contact__machine {
  left: 50%;
  max-width: 238px;
  position: absolute;
  top: -23%;
  transform: translateX(-50%);
}

.contact__title {
  color: #fff;
  font-size: var(--fontMax40Min28);
  font-weight: 700;
}

.contact__lead {
  color: #fff;
  font-weight: 700;
  margin-top: 10px;
}

.contact__lead .for-sp {
  display: none;
}

.contact__container .acureCta {
  margin: 24px auto 0;
  max-width: 240px;
}

@media screen and (max-width: 767px) {
  .contact__container {
    border-radius: 30px 30px 0 0;
    padding: 60px 20px 20px;
  }
  .contact__machine {
    max-width: 172px;
    top: -20%;
  }
  .contact__lead .for-sp {
    display: block;
  }
  .contact__title {
    font-size: 24px;
  }
}

.caseModal {
  height: 100%;
  left: 50%;
  opacity: 0;
  padding: clamp(32px, 4.1667vw, 60px) clamp(40px, 6.9444vw, 100px);
  pointer-events: none;
  position: fixed;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: 0.3s ease-in-out;
  visibility: hidden;
  width: 100%;
  z-index: 100;
}

.caseModal.open {
  opacity: 1;
  pointer-events: all;
  visibility: visible;
}

.caseModal__backdrop {
  background: rgba(0, 0, 0, 0.2);
  display: block;
  height: 100dvh;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

.caseModal__card {
  background: #fff;
  border: 0.25rem solid;
  border-radius: 40px;
  margin: 0 auto;
  max-width: 1240px;
  padding: 40px clamp(24px, 2.7778vw, 40px);
  position: relative;
}

.caseModal__inner {
  max-height: 68dvh;
  overflow-y: scroll;
}

.caseModal--green .caseModal__card {
  border-color: #28ab84;
}

.caseModal--blue .caseModal__card {
  border-color: #3c9ce6;
}

.caseModal__close {
  align-items: center;
  cursor: pointer;
  display: flex;
  height: clamp(60px, 5.1389vw, 74px);
  justify-content: center;
  position: absolute;
  right: 0;
  top: 0;
  width: clamp(100px, 9.7222vw, 140px);
}

.caseModal__cross {
  display: block;
  height: 20px;
  position: relative;
  transition: 0.2s;
  width: 20px;
}

.caseModal__cross::before {
  background: url(../../images/acure/icon-close.svg) no-repeat center / cover;
  content: "";
  height: 12px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
}

.caseModal__closeText {
  color: #b0b0b0;
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  transition: 0.2s;
}

.caseModal__close:hover .caseModal__closeText,
.caseModal__close:hover .caseModal__cross {
  opacity: 0.6;
}

.caseModal__hgroup {
  text-align: center;
}

.caseModal__lead {
  color: #c7c7c7;
  font-family: "Roboto", sans-serif;
  font-size: var(--fontMax20Min18);
  font-weight: 700;
  letter-spacing: 0.05em;
}

.caseModal__title {
  font-size: var(--fontMax32Min24);
  font-weight: 700;
  letter-spacing: 0.05em;
}

.caseModal--green .caseModal__title {
  color: #28ab84;
}

.caseModal--blue .caseModal__title {
  color: #3c9ce6;
}

.caseModal__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 40px auto 0;
  max-width: 970px;
  width: calc(100% - 40px);
}

.caseModal__item {
  background: #fffbf5;
  display: grid;
  gap: clamp(26px, 2.7778vw, 40px);
  padding: clamp(26px, 2.7778vw, 40px);
}

.caseModal__item:nth-child(odd) {
  grid-template-columns: 192px 1fr;
}

.caseModal__item:nth-child(even) {
  grid-template-columns: 1fr 192px;
}

.caseModal__model {
  align-self: center;
  text-align: center;
}

.caseModal__item:nth-child(odd) .caseModal__mode,
.caseModal__item:nth-child(even) .caseModal__contents {
  grid-column: 1;
  grid-row: 1;
}

.caseModal__item:nth-child(even) .caseModal__model,
.caseModal__item:nth-child(odd) .caseModal__contents {
  grid-column: 2;
  grid-row: 1;
}

.caseModal__modelImage1 {
  max-width: 122px;
}

.caseModal__modelImage2 {
  max-width: 140px;
}

.caseModal__modelImage3 {
  max-width: 161px;
}

.caseModal__modelImage4 {
  max-width: 147px;
}

.caseModal__modelImage5 {
  max-width: 152px;
}

.caseModal__subtitle {
  color: #231815;
  font-size: var(--fontMax18Min16);
  font-weight: 700;
  letter-spacing: 0.05em;
}

.caseModal__detailList {
  display: grid;
  gap: 16px;
  grid-template-columns: 100px 1fr;
  margin-top: 40px;
}

.caseModal__detailTitle {
  align-items: center;
  border-radius: 6.25rem;
  color: #fff;
  display: flex;
  font-size: 14px;
  height: 22px;
  justify-content: center;
  letter-spacing: 0.05em;
  line-height: 1.57;
  width: 100%;
}

.caseModal--green .caseModal__detailTitle {
  background: #28ab84;
}

.caseModal--blue .caseModal__detailTitle {
  background: #3c9ce6;
}

.caseModal__details {
  color: #231815;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.57;
}

@media screen and (max-width: 767px) {
  .caseModal__item {
    display: flex;
    flex-direction: column;
  }
  .caseModal__detailList {
    grid-template-columns: 1fr;
  }
  .caseModal__detailTitle:not(:first-child) {
    margin-top: 8px;
  }
  .caseModal {
    padding: 32px 20px;
  }
  .caseModal__card {
    padding: 46px 16px 40px;
  }
}
